diff --git a/4/docu.png b/4/docu.png new file mode 100644 index 0000000000..f458149e3c Binary files /dev/null and b/4/docu.png differ diff --git a/4/图片.png b/4/图片.png new file mode 100644 index 0000000000..2e4d675f90 Binary files /dev/null and b/4/图片.png differ diff --git a/404.html b/404.html deleted file mode 100644 index b8fa1eaacf..0000000000 --- a/404.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -Page Not Found | My Site - - - - - - - - -
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - \ No newline at end of file diff --git a/__server/server.bundle.js b/__server/server.bundle.js deleted file mode 100644 index 712e2ed5d0..0000000000 --- a/__server/server.bundle.js +++ /dev/null @@ -1,32511 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 4988: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -var _g; -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } - -const SvgUndrawDocusaurusMountain = _ref => { - let { - title, - titleId, - ...props - } = _ref; - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({ - xmlns: "http://www.w3.org/2000/svg", - width: 1088, - height: 687.962, - viewBox: "0 0 1088 687.962", - "aria-labelledby": titleId - }, props), title === undefined ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("title", { - id: titleId - }, "Easy to Use") : title ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("title", { - id: titleId - }, title) : null, _g || (_g = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - "data-name": "Group 12" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - "data-name": "Group 11" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M961.81 454.442c-5.27 45.15-16.22 81.4-31.25 110.31-20 38.52-54.21 54.04-84.77 70.28a193 193 0 0 1-27.46 11.94c-55.61 19.3-117.85 14.18-166.74 3.99a657 657 0 0 0-104.09-13.16q-14.97-.675-29.97-.67c-15.42.02-293.07 5.29-360.67-131.57-16.69-33.76-28.13-75-32.24-125.27-11.63-142.12 52.29-235.46 134.74-296.47 155.97-115.41 369.76-110.57 523.43 7.88 102.36 78.9 198.2 198.31 179.02 362.74", - "data-name": "Path 83" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#f2f2f2", - d: "M930.56 564.752c-20 38.52-47.21 64.04-77.77 80.28a193 193 0 0 1-27.46 11.94c-55.61 19.3-117.85 14.18-166.74 3.99a657 657 0 0 0-104.09-13.16q-14.97-.675-29.97-.67-23.13.03-46.25 1.72c-100.17 7.36-253.82-6.43-321.42-143.29L326 177.962l62.95 161.619 20.09 51.59 55.37-75.98L493 275.962l130.2 149.27 36.8-81.27 254.78 207.919 14.21 11.59Z", - "data-name": "Path 84" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "m302 282.962 26-57 36 83-31-60Z", - "data-name": "Path 85", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M554.5 647.802q-14.97-.675-29.97-.67l-115.49-255.96Z", - "data-name": "Path 86", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M464.411 315.191 493 292.962l130 150-132-128Z", - "data-name": "Path 87", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M852.79 645.032a193 193 0 0 1-27.46 11.94L623.2 425.232Z", - "data-name": "Path 88", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 3, - cy: 3, - r: 3, - fill: "#f2f2f2", - "data-name": "Ellipse 11", - transform: "translate(479 98.962)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 3, - cy: 3, - r: 3, - fill: "#f2f2f2", - "data-name": "Ellipse 12", - transform: "translate(396 201.962)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 2, - cy: 2, - r: 2, - fill: "#f2f2f2", - "data-name": "Ellipse 13", - transform: "translate(600 220.962)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 2, - cy: 2, - r: 2, - fill: "#f2f2f2", - "data-name": "Ellipse 14", - transform: "translate(180 265.962)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 2, - cy: 2, - r: 2, - fill: "#f2f2f2", - "data-name": "Ellipse 15", - transform: "translate(612 96.962)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 2, - cy: 2, - r: 2, - fill: "#f2f2f2", - "data-name": "Ellipse 16", - transform: "translate(736 192.962)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 2, - cy: 2, - r: 2, - fill: "#f2f2f2", - "data-name": "Ellipse 17", - transform: "translate(858 344.962)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#f2f2f2", - d: "M306 121.222h-2.76v-2.76h-1.48v2.76H299v1.478h2.76v2.759h1.48V122.7H306Z", - "data-name": "Path 89" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#f2f2f2", - d: "M848 424.222h-2.76v-2.76h-1.48v2.76H841v1.478h2.76v2.759h1.48V425.7H848Z", - "data-name": "Path 90" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M1088 613.962c0 16.569-243.557 74-544 74s-544-57.431-544-74 243.557 14 544 14 544-30.568 544-14", - "data-name": "Path 91" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M1088 613.962c0 16.569-243.557 74-544 74s-544-57.431-544-74 243.557 14 544 14 544-30.568 544-14", - "data-name": "Path 92", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("ellipse", { - cx: 544, - cy: 30, - fill: "#3f3d56", - "data-name": "Ellipse 18", - rx: 544, - ry: 30, - transform: "translate(0 583.962)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#ff6584", - d: "M568 571.962c0 33.137-14.775 24-33 24s-33 9.137-33-24 33-96 33-96 33 62.863 33 96", - "data-name": "Path 93" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M550 584.641c0 15.062-6.716 10.909-15 10.909s-15 4.153-15-10.909 15-43.636 15-43.636 15 28.576 15 43.636", - "data-name": "Path 94", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 92, - height: 18, - fill: "#2f2e41", - "data-name": "Rectangle 97", - rx: 9, - transform: "translate(489 604.962)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 92, - height: 18, - fill: "#2f2e41", - "data-name": "Rectangle 98", - rx: 9, - transform: "translate(489 586.962)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M137 490.528c0 55.343 34.719 100.126 77.626 100.126", - "data-name": "Path 95" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#6c63ff", - d: "M214.626 590.654c0-55.965 38.745-101.251 86.626-101.251", - "data-name": "Path 96" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#6c63ff", - d: "M165.125 495.545c0 52.57 22.14 95.109 49.5 95.109", - "data-name": "Path 97" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M214.626 590.654c0-71.511 44.783-129.377 100.126-129.377", - "data-name": "Path 98" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#a8a8a8", - d: "M198.3 591.36s11.009-.339 14.326-2.7 16.934-5.183 17.757-1.395 16.544 18.844 4.115 18.945-28.879-1.936-32.19-3.953-4.008-10.897-4.008-10.897", - "data-name": "Path 99" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M234.716 604.89c-12.429.1-28.879-1.936-32.19-3.953-2.522-1.536-3.527-7.048-3.863-9.591l-.368.014s.7 8.879 4.009 10.9 19.761 4.053 32.19 3.953c3.588-.029 4.827-1.305 4.759-3.2-.498 1.142-1.867 1.855-4.537 1.877", - "data-name": "Path 100", - opacity: 0.2 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M721.429 527.062c0 38.029 23.857 68.8 53.341 68.8", - "data-name": "Path 101" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#6c63ff", - d: "M774.769 595.863c0-38.456 26.623-69.575 59.525-69.575", - "data-name": "Path 102" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#6c63ff", - d: "M740.755 530.509c0 36.124 15.213 65.354 34.014 65.354", - "data-name": "Path 103" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M774.769 595.863c0-49.139 30.773-88.9 68.8-88.9", - "data-name": "Path 104" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#a8a8a8", - d: "M763.548 596.348s7.565-.233 9.844-1.856 11.636-3.562 12.2-.958 11.368 12.949 2.828 13.018-19.844-1.33-22.119-2.716-2.753-7.488-2.753-7.488", - "data-name": "Path 105" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M788.574 605.645c-8.54.069-19.844-1.33-22.119-2.716-1.733-1.056-2.423-4.843-2.654-6.59l-.253.01s.479 6.1 2.755 7.487 13.579 2.785 22.119 2.716c2.465-.02 3.317-.9 3.27-2.2-.343.788-1.283 1.278-3.118 1.293", - "data-name": "Path 106", - opacity: 0.2 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#a8a8a8", - d: "M893.813 618.699s11.36-1.729 14.5-4.591 16.89-7.488 18.217-3.667 19.494 17.447 6.633 19.107-30.153 1.609-33.835-.065-5.515-10.784-5.515-10.784", - "data-name": "Path 107" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M933.228 628.154c-12.86 1.659-30.153 1.609-33.835-.065-2.8-1.275-4.535-6.858-5.2-9.45l-.379.061s1.833 9.109 5.516 10.783 20.975 1.725 33.835.065c3.712-.479 4.836-1.956 4.529-3.906-.375 1.246-1.703 2.156-4.466 2.512", - "data-name": "Path 108", - opacity: 0.2 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#a8a8a8", - d: "M614.26 617.881s9.587-1.459 12.237-3.875 14.255-6.32 15.374-3.095 16.452 14.725 5.6 16.125-25.448 1.358-28.555-.055-4.656-9.1-4.656-9.1", - "data-name": "Path 109" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M647.524 625.856c-10.853 1.4-25.448 1.358-28.555-.055-2.367-1.076-3.827-5.788-4.39-7.976l-.32.051s1.547 7.687 4.655 9.1 17.7 1.456 28.555.055c3.133-.4 4.081-1.651 3.822-3.3-.314 1.057-1.435 1.825-3.767 2.125", - "data-name": "Path 110", - opacity: 0.2 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#a8a8a8", - d: "M122.389 613.09s7.463-1.136 9.527-3.016 11.1-4.92 11.969-2.409 12.808 11.463 4.358 12.553-19.811 1.057-22.23-.043-3.624-7.085-3.624-7.085", - "data-name": "Path 111" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M148.285 619.302c-8.449 1.09-19.811 1.057-22.23-.043-1.842-.838-2.979-4.506-3.417-6.209l-.249.04s1.2 5.984 3.624 7.085 13.781 1.133 22.23.043c2.439-.315 3.177-1.285 2.976-2.566-.246.818-1.119 1.416-2.934 1.65", - "data-name": "Path 112", - opacity: 0.2 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M383.7 601.318c0 30.22-42.124 20.873-93.7 20.873s-93.074 9.347-93.074-20.873 42.118-36.793 93.694-36.793 93.08 6.573 93.08 36.793", - "data-name": "Path 113", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M383.7 593.881c0 30.22-42.124 20.873-93.7 20.873s-93.074 9.347-93.074-20.873 42.114-36.8 93.69-36.8 93.084 6.576 93.084 36.8", - "data-name": "Path 114" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#fff", - fillRule: "evenodd", - d: "M360.175 475.732h91.791v37.153h-91.791Z", - "data-name": "Path 40" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M277.126 597.026a21.83 21.83 0 0 1-18.908-10.927 21.829 21.829 0 0 0 18.908 32.782h21.855v-21.855Z", - "data-name": "Path 41" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "m375.451 481.607 76.514-4.782v-10.928a21.854 21.854 0 0 0-21.855-21.855h-98.347l-2.732-4.735a3.154 3.154 0 0 0-5.464 0l-2.732 4.732-2.732-4.732a3.154 3.154 0 0 0-5.464 0l-2.732 4.732-2.731-4.732a3.154 3.154 0 0 0-5.464 0l-2.732 4.735h-.071l-4.526-4.525a3.153 3.153 0 0 0-5.276 1.414l-1.5 5.577-5.674-1.521a3.154 3.154 0 0 0-3.863 3.864l1.52 5.679-5.575 1.494a3.155 3.155 0 0 0-1.416 5.278l4.526 4.526v.07l-4.735 2.731a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.732a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.731a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.727a3.154 3.154 0 0 0 0 5.464l4.735 2.736-4.735 2.732a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.732a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.731a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.732a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.731a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.731a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.735a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.728a3.154 3.154 0 0 0 0 5.464l4.732 2.732a21.854 21.854 0 0 0 21.858 21.855h131.13a21.854 21.854 0 0 0 21.855-21.855v-87.42l-76.514-4.782a11.632 11.632 0 0 1 0-23.219", - "data-name": "Path 42" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M408.255 618.882h32.782v-43.71h-32.782Z", - "data-name": "Path 43" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M462.893 591.563a5 5 0 0 0-.7.07c-.042-.164-.081-.329-.127-.493a5.457 5.457 0 1 0-5.4-9.372q-.181-.185-.366-.367a5.454 5.454 0 1 0-9.384-5.4c-.162-.046-.325-.084-.486-.126a5.467 5.467 0 1 0-10.788 0c-.162.042-.325.08-.486.126a5.457 5.457 0 1 0-9.384 5.4 21.843 21.843 0 1 0 36.421 21.02 5.452 5.452 0 1 0 .7-10.858", - "data-name": "Path 44" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M419.183 553.317h32.782v-21.855h-32.782Z", - "data-name": "Path 45" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M462.893 545.121a2.732 2.732 0 1 0 0-5.464 3 3 0 0 0-.349.035c-.022-.082-.04-.164-.063-.246a2.733 2.733 0 0 0-1.052-5.253 2.7 2.7 0 0 0-1.648.566q-.09-.093-.184-.184a2.7 2.7 0 0 0 .553-1.633 2.732 2.732 0 0 0-5.245-1.07 10.928 10.928 0 1 0 0 21.031 2.732 2.732 0 0 0 5.245-1.07 2.7 2.7 0 0 0-.553-1.633q.093-.09.184-.184a2.7 2.7 0 0 0 1.648.566 2.732 2.732 0 0 0 1.052-5.253q.033-.122.063-.246a3 3 0 0 0 .349.035", - "data-name": "Path 46" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M320.836 479.556a2.73 2.73 0 0 1-2.732-2.732 8.2 8.2 0 0 0-16.391 0 2.732 2.732 0 0 1-5.464 0 13.66 13.66 0 0 1 27.319 0 2.73 2.73 0 0 1-2.732 2.732", - "data-name": "Path 47" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#ffff50", - fillRule: "evenodd", - d: "M364.546 618.881h65.565a21.854 21.854 0 0 0 21.855-21.855v-76.492h-65.565a21.854 21.854 0 0 0-21.855 21.855Z", - "data-name": "Path 48" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M435.596 554.41h-54.681a1.093 1.093 0 1 1 0-2.185h54.681a1.093 1.093 0 0 1 0 2.185m0 21.855h-54.681a1.093 1.093 0 1 1 0-2.186h54.681a1.093 1.093 0 0 1 0 2.186m0 21.855h-54.681a1.093 1.093 0 1 1 0-2.185h54.681a1.093 1.093 0 0 1 0 2.185m0-54.434h-54.681a1.093 1.093 0 1 1 0-2.185h54.681a1.093 1.093 0 0 1 0 2.185m0 21.652h-54.681a1.093 1.093 0 1 1 0-2.186h54.681a1.093 1.093 0 0 1 0 2.186m0 21.855h-54.681a1.093 1.093 0 1 1 0-2.186h54.681a1.093 1.093 0 0 1 0 2.186m16.369-100.959c-.013 0-.024-.007-.037-.005-3.377.115-4.974 3.492-6.384 6.472-1.471 3.114-2.608 5.139-4.473 5.078-2.064-.074-3.244-2.406-4.494-4.874-1.436-2.835-3.075-6.049-6.516-5.929-3.329.114-4.932 3.053-6.346 5.646-1.5 2.762-2.529 4.442-4.5 4.364-2.106-.076-3.225-1.972-4.52-4.167-1.444-2.443-3.112-5.191-6.487-5.1-3.272.113-4.879 2.606-6.3 4.808-1.5 2.328-2.552 3.746-4.551 3.662-2.156-.076-3.27-1.65-4.558-3.472-1.447-2.047-3.077-4.363-6.442-4.251-3.2.109-4.807 2.153-6.224 3.954-1.346 1.709-2.4 3.062-4.621 2.977a1.094 1.094 0 0 0-.079 2.186c3.3.11 4.967-1.967 6.417-3.81 1.286-1.635 2.4-3.045 4.582-3.12 2.1-.09 3.091 1.218 4.584 3.327 1.417 2 3.026 4.277 6.263 4.394 3.391.114 5.022-2.42 6.467-4.663 1.292-2 2.406-3.734 4.535-3.807 1.959-.073 3.026 1.475 4.529 4.022 1.417 2.4 3.023 5.121 6.324 5.241 3.415.118 5.064-2.863 6.5-5.5 1.245-2.282 2.419-4.437 4.5-4.509 1.959-.046 2.981 1.743 4.492 4.732 1.412 2.79 3.013 5.95 6.365 6.071h.185c3.348 0 4.937-3.36 6.343-6.331 1.245-2.634 2.423-5.114 4.444-5.216Z", - "data-name": "Path 49" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M342.691 618.882h43.71v-43.71h-43.71Z", - "data-name": "Path 50" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - "data-name": "Group 8", - transform: "rotate(-14.98 2188.845 -1120.376)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 92.361, - height: 36.462, - fill: "#d8d8d8", - "data-name": "Rectangle 3", - rx: 2 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#4a4a4a", - "data-name": "Group 2", - transform: "translate(1.531 23.03)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 4", - rx: 1, - transform: "translate(16.797)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 5", - rx: 1, - transform: "translate(23.12)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 6", - rx: 1, - transform: "translate(29.444)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 7", - rx: 1, - transform: "translate(35.768)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 8", - rx: 1, - transform: "translate(42.091)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 9", - rx: 1, - transform: "translate(48.415)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 10", - rx: 1, - transform: "translate(54.739)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 11", - rx: 1, - transform: "translate(61.063)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 12", - rx: 1, - transform: "translate(67.386)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M1.093 0h13.425a1.093 1.093 0 0 1 1.093 1.093v3.15a1.093 1.093 0 0 1-1.093 1.093H1.093A1.093 1.093 0 0 1 0 4.243v-3.15A1.093 1.093 0 0 1 1.093 0M75 0h13.426a1.093 1.093 0 0 1 1.093 1.093v3.15a1.093 1.093 0 0 1-1.093 1.093H75a1.093 1.093 0 0 1-1.093-1.093v-3.15A1.093 1.093 0 0 1 75 0", - "data-name": "Path 51" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#4a4a4a", - "data-name": "Group 3", - transform: "translate(1.531 10.261)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M1.093 0h5.125A1.093 1.093 0 0 1 7.31 1.093v3.149a1.093 1.093 0 0 1-1.092 1.093H1.093A1.093 1.093 0 0 1 0 4.242V1.093A1.093 1.093 0 0 1 1.093 0", - "data-name": "Path 52" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 13", - rx: 1, - transform: "translate(8.299)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 14", - rx: 1, - transform: "translate(14.623)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 15", - rx: 1, - transform: "translate(20.947)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 16", - rx: 1, - transform: "translate(27.271)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 17", - rx: 1, - transform: "translate(33.594)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 18", - rx: 1, - transform: "translate(39.918)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 19", - rx: 1, - transform: "translate(46.242)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 20", - rx: 1, - transform: "translate(52.565)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 21", - rx: 1, - transform: "translate(58.888)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 22", - rx: 1, - transform: "translate(65.212)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 23", - rx: 1, - transform: "translate(71.536)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 24", - rx: 1, - transform: "translate(77.859)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 25", - rx: 1, - transform: "translate(84.183)" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#4a4a4a", - "data-name": "Group 4", - transform: "rotate(180 45.525 4.773)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M1.093 0h5.126a1.093 1.093 0 0 1 1.093 1.093v3.15a1.093 1.093 0 0 1-1.093 1.093H1.093A1.093 1.093 0 0 1 0 4.243v-3.15A1.093 1.093 0 0 1 1.093 0", - "data-name": "Path 53" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 26", - rx: 1, - transform: "translate(8.299)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 27", - rx: 1, - transform: "translate(14.623)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 28", - rx: 1, - transform: "translate(20.947)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 29", - rx: 1, - transform: "translate(27.271)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 30", - rx: 1, - transform: "translate(33.594)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 31", - rx: 1, - transform: "translate(39.918)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 32", - rx: 1, - transform: "translate(46.242)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 33", - rx: 1, - transform: "translate(52.565)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 34", - rx: 1, - transform: "translate(58.889)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 35", - rx: 1, - transform: "translate(65.213)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 36", - rx: 1, - transform: "translate(71.537)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 37", - rx: 1, - transform: "translate(77.86)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 38", - rx: 1, - transform: "translate(84.183)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 39", - rx: 1, - transform: "translate(8.299)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 40", - rx: 1, - transform: "translate(14.623)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 41", - rx: 1, - transform: "translate(20.947)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 42", - rx: 1, - transform: "translate(27.271)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 43", - rx: 1, - transform: "translate(33.594)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 44", - rx: 1, - transform: "translate(39.918)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 45", - rx: 1, - transform: "translate(46.242)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 46", - rx: 1, - transform: "translate(52.565)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 47", - rx: 1, - transform: "translate(58.889)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 48", - rx: 1, - transform: "translate(65.213)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 49", - rx: 1, - transform: "translate(71.537)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 50", - rx: 1, - transform: "translate(77.86)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 51", - rx: 1, - transform: "translate(84.183)" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#4a4a4a", - "data-name": "Group 6" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M2.624 16.584h7.3a1.093 1.093 0 0 1 1.092 1.093v3.15a1.093 1.093 0 0 1-1.093 1.093h-7.3a1.093 1.093 0 0 1-1.092-1.093v-3.149a1.093 1.093 0 0 1 1.093-1.094", - "data-name": "Path 54" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - "data-name": "Group 5", - transform: "translate(12.202 16.584)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 52", - rx: 1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 53", - rx: 1, - transform: "translate(6.324)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 54", - rx: 1, - transform: "translate(12.647)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 55", - rx: 1, - transform: "translate(18.971)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 56", - rx: 1, - transform: "translate(25.295)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 57", - rx: 1, - transform: "translate(31.619)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 58", - rx: 1, - transform: "translate(37.942)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 59", - rx: 1, - transform: "translate(44.265)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 60", - rx: 1, - transform: "translate(50.589)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 61", - rx: 1, - transform: "translate(56.912)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 62", - rx: 1, - transform: "translate(63.236)" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M83.053 16.584h6.906a1.093 1.093 0 0 1 1.091 1.093v3.15a1.093 1.093 0 0 1-1.091 1.093h-6.907a1.093 1.093 0 0 1-1.093-1.093v-3.149a1.093 1.093 0 0 1 1.093-1.094Z", - "data-name": "Path 55" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#4a4a4a", - "data-name": "Group 7", - transform: "translate(1.531 29.627)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 63", - rx: 1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 64", - rx: 1, - transform: "translate(6.324)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 65", - rx: 1, - transform: "translate(12.647)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 66", - rx: 1, - transform: "translate(18.971)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M26.387 0h30.422a1.093 1.093 0 0 1 1.093 1.093v3.151a1.093 1.093 0 0 1-1.093 1.093H26.387a1.093 1.093 0 0 1-1.093-1.093V1.093A1.093 1.093 0 0 1 26.387 0m33.594 0h3.942a1.093 1.093 0 0 1 1.093 1.093v3.151a1.093 1.093 0 0 1-1.093 1.093h-3.942a1.093 1.093 0 0 1-1.093-1.093V1.093A1.093 1.093 0 0 1 59.981 0", - "data-name": "Path 56" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 67", - rx: 1, - transform: "translate(66.003)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 68", - rx: 1, - transform: "translate(72.327)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 5.336, - height: 5.336, - "data-name": "Rectangle 69", - rx: 1, - transform: "translate(84.183)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M78.254 2.273v-1.18A1.093 1.093 0 0 1 79.347 0h3.15a1.093 1.093 0 0 1 1.093 1.093v1.18Z", - "data-name": "Path 57" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M83.591 3.063v1.18a1.093 1.093 0 0 1-1.093 1.093h-3.15a1.093 1.093 0 0 1-1.093-1.093v-1.18Z", - "data-name": "Path 58" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 88.927, - height: 2.371, - fill: "#4a4a4a", - "data-name": "Rectangle 70", - rx: 1.085, - transform: "translate(1.925 1.17)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 71", - opacity: 0.136, - rx: 0.723, - transform: "translate(4.1 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 72", - opacity: 0.136, - rx: 0.723, - transform: "translate(10.923 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 73", - opacity: 0.136, - rx: 0.723, - transform: "translate(16.173 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 74", - opacity: 0.136, - rx: 0.723, - transform: "translate(21.421 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 75", - opacity: 0.136, - rx: 0.723, - transform: "translate(26.671 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 76", - opacity: 0.136, - rx: 0.723, - transform: "translate(33.232 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 77", - opacity: 0.136, - rx: 0.723, - transform: "translate(38.48 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 78", - opacity: 0.136, - rx: 0.723, - transform: "translate(43.73 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 79", - opacity: 0.136, - rx: 0.723, - transform: "translate(48.978 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 80", - opacity: 0.136, - rx: 0.723, - transform: "translate(55.54 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 81", - opacity: 0.136, - rx: 0.723, - transform: "translate(60.788 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 82", - opacity: 0.136, - rx: 0.723, - transform: "translate(66.038 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 83", - opacity: 0.136, - rx: 0.723, - transform: "translate(72.599 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 84", - opacity: 0.136, - rx: 0.723, - transform: "translate(77.847 1.566)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 4.986, - height: 1.581, - fill: "#d8d8d8", - "data-name": "Rectangle 85", - opacity: 0.136, - rx: 0.723, - transform: "translate(83.097 1.566)" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M408.256 591.563a5.4 5.4 0 0 0-.7.07c-.042-.164-.081-.329-.127-.493a5.457 5.457 0 1 0-5.4-9.372q-.181-.185-.366-.367a5.454 5.454 0 1 0-9.384-5.4c-.162-.046-.325-.084-.486-.126a5.467 5.467 0 1 0-10.788 0c-.162.042-.325.08-.486.126a5.457 5.457 0 1 0-9.384 5.4 21.843 21.843 0 1 0 36.421 21.02 5.452 5.452 0 1 0 .7-10.858", - "data-name": "Path 59" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M342.691 553.317h43.71v-21.855h-43.71Z", - "data-name": "Path 60" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M397.328 545.121a2.732 2.732 0 1 0 0-5.464 3 3 0 0 0-.349.035c-.022-.082-.04-.164-.063-.246a2.733 2.733 0 0 0-1.052-5.253 2.7 2.7 0 0 0-1.648.566q-.09-.093-.184-.184a2.7 2.7 0 0 0 .553-1.633 2.732 2.732 0 0 0-5.245-1.07 10.928 10.928 0 1 0 0 21.031 2.732 2.732 0 0 0 5.245-1.07 2.7 2.7 0 0 0-.553-1.633q.093-.09.184-.184a2.7 2.7 0 0 0 1.648.566 2.732 2.732 0 0 0 1.052-5.253q.033-.122.063-.246a3 3 0 0 0 .349.035", - "data-name": "Path 61" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M408.256 464.531a3 3 0 0 1-.535-.055 2.8 2.8 0 0 1-.514-.153 3 3 0 0 1-.471-.251 4 4 0 0 1-.415-.339 3 3 0 0 1-.338-.415 2.7 2.7 0 0 1-.459-1.517 3 3 0 0 1 .055-.535 3 3 0 0 1 .152-.514 3 3 0 0 1 .252-.47 2.6 2.6 0 0 1 .753-.754 3 3 0 0 1 .471-.251 2.8 2.8 0 0 1 .514-.153 2.5 2.5 0 0 1 1.071 0 2.7 2.7 0 0 1 .983.4 4 4 0 0 1 .415.339 4 4 0 0 1 .339.415 3 3 0 0 1 .251.47 2.9 2.9 0 0 1 .208 1.049 2.77 2.77 0 0 1-.8 1.934 4 4 0 0 1-.415.339 2.72 2.72 0 0 1-1.519.459m21.855-1.366a2.8 2.8 0 0 1-1.935-.8 4 4 0 0 1-.338-.415 2.7 2.7 0 0 1-.459-1.519 2.8 2.8 0 0 1 .8-1.934 4 4 0 0 1 .415-.339 3 3 0 0 1 .471-.251 2.8 2.8 0 0 1 .514-.153 2.5 2.5 0 0 1 1.071 0 2.7 2.7 0 0 1 .983.4 4 4 0 0 1 .415.339 2.8 2.8 0 0 1 .8 1.934 3 3 0 0 1-.055.535 3 3 0 0 1-.153.514 4 4 0 0 1-.251.47 4 4 0 0 1-.339.415 4 4 0 0 1-.415.339 2.72 2.72 0 0 1-1.519.459", - "data-name": "Path 62" - })))); -}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgUndrawDocusaurusMountain); - -/***/ }), - -/***/ 8074: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -var _g; -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } - -const SvgUndrawDocusaurusReact = _ref => { - let { - title, - titleId, - ...props - } = _ref; - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({ - xmlns: "http://www.w3.org/2000/svg", - width: 1041.277, - height: 554.141, - viewBox: "0 0 1041.277 554.141", - "aria-labelledby": titleId - }, props), title === undefined ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("title", { - id: titleId - }, "Powered by React") : title ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("title", { - id: titleId - }, title) : null, _g || (_g = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - "data-name": "Group 24" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - "data-name": "Group 23", - transform: "translate(-.011 -.035)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#f2f2f2", - d: "M961.48 438.21q-1.74 3.75-3.47 7.4-2.7 5.67-5.33 11.12c-.78 1.61-1.56 3.19-2.32 4.77-8.6 17.57-16.63 33.11-23.45 45.89a73.21 73.21 0 0 1-63.81 38.7l-151.65 1.65h-1.6l-13 .14-11.12.12-34.1.37h-1.38l-17.36.19h-.53l-107 1.16-95.51 1-11.11.12-69 .75h-.08l-44.75.48h-.48l-141.5 1.53-42.33.46a88 88 0 0 1-10.79-.54c-1.22-.14-2.44-.3-3.65-.49a87.38 87.38 0 0 1-51.29-27.54c-18.21-20.03-31.46-43.4-40.36-68.76q-1.93-5.49-3.6-11.12c-30.81-104.15 6.75-238.52 74.35-328.44q4.25-5.64 8.64-11l.07-.08c20.79-25.52 44.1-46.84 68.93-62 44-26.91 92.75-34.49 140.7-11.9 40.57 19.12 78.45 28.11 115.17 30.55 3.71.24 7.42.42 11.11.53 84.23 2.65 163.17-27.7 255.87-47.29 3.69-.78 7.39-1.55 11.12-2.28C763 .54 836.36-6.4 923.6 8.19a189 189 0 0 1 26.76 6.4q5.77 1.86 11.12 4c41.64 16.94 64.35 48.24 74 87.46q1.37 5.46 2.37 11.11c17.11 94.34-33 228.16-76.37 321.05", - "data-name": "Path 299" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M497.02 445.61a95 95 0 0 1-1.87 11.12h93.7v-11.12Zm-78.25 62.81 11.11-.09v-27.47c-3.81-.17-7.52-.34-11.11-.52Zm-232.92-62.81v11.12h198.5v-11.12Zm849.68-339.52h-74V18.6q-5.35-2.17-11.12-4v91.49H696.87V13.67c-3.73.73-7.43 1.5-11.12 2.28v90.14H429.88V63.24c-3.69-.11-7.4-.29-11.11-.53v43.38H162.9v-62c-24.83 15.16-48.14 36.48-68.93 62h-.07v.08q-4.4 5.4-8.64 11h8.64v328.44h-83q1.66 5.63 3.6 11.12h79.39v93.62a87 87 0 0 0 12.2 2.79c1.21.19 2.43.35 3.65.49a88 88 0 0 0 10.79.54l42.33-.46v-97h255.91v94.21l11.11-.12v-94.07h255.87v91.36l11.12-.12v-91.24h253.49v4.77c.76-1.58 1.54-3.16 2.32-4.77q2.63-5.45 5.33-11.12 1.73-3.64 3.47-7.4v-321h76.42q-1.01-5.69-2.37-11.12M162.9 445.61V117.17h255.87v328.44Zm267 0V117.17h255.85v328.44Zm520.48 0H696.87V117.17h253.49Z", - "data-name": "Path 300", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#65617d", - d: "M863.09 533.65v13l-151.92 1.4-1.62.03-57.74.53-1.38.02-17.55.15h-.52l-106.98.99-175.61 1.63h-.15l-44.65.42-.48.01-198.4 1.82v-15l46.65-28 93.6-.78 2-.01.66-.01 2-.03 44.94-.37 2.01-.01.64-.01 2-.01 14.41-.12.38-.01 35.55-.3h.29l277.4-2.34 6.79-.05h.68l5.18-.05 37.65-.31 2-.03 1.85-.02h.96l11.71-.09 2.32-.03 3.11-.02 9.75-.09 15.47-.13 2-.02 3.48-.02h.65l74.71-.64Z", - "data-name": "Path 301" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M863.09 533.65v13l-151.92 1.4-1.62.03-57.74.53-1.38.02-17.55.15h-.52l-106.98.99-175.61 1.63h-.15l-44.65.42-.48.01-198.4 1.82v-15l46.65-28 93.6-.78 2-.01.66-.01 2-.03 44.94-.37 2.01-.01.64-.01 2-.01 14.41-.12.38-.01 35.55-.3h.29l277.4-2.34 6.79-.05h.68l5.18-.05 37.65-.31 2-.03 1.85-.02h.96l11.71-.09 2.32-.03 3.11-.02 9.75-.09 15.47-.13 2-.02 3.48-.02h.65l74.71-.64Z", - "data-name": "Path 302", - opacity: 0.2 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M296.1 483.66v24.49a6.13 6.13 0 0 1-3.5 5.54 6 6 0 0 1-2.5.6l-34.9.74a6 6 0 0 1-2.7-.57 6.12 6.12 0 0 1-3.57-5.57v-25.23Z", - "data-name": "Path 303" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M296.1 483.66v24.49a6.13 6.13 0 0 1-3.5 5.54 6 6 0 0 1-2.5.6l-34.9.74a6 6 0 0 1-2.7-.57 6.12 6.12 0 0 1-3.57-5.57v-25.23Z", - "data-name": "Path 304", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M298.1 483.66v24.49a6.13 6.13 0 0 1-3.5 5.54 6 6 0 0 1-2.5.6l-34.9.74a6 6 0 0 1-2.7-.57 6.12 6.12 0 0 1-3.57-5.57v-25.23Z", - "data-name": "Path 305" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M680.92 483.65h47.17v31.5h-47.17z", - "data-name": "Rectangle 137" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M680.92 483.65h47.17v31.5h-47.17z", - "data-name": "Rectangle 138", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M678.92 483.65h47.17v31.5h-47.17z", - "data-name": "Rectangle 139" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M298.09 483.65v4.97l-47.17 1.26v-6.23Z", - "data-name": "Path 306", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#65617d", - d: "M381.35 312.36v168.2a4 4 0 0 1-3.85 3.95l-191.65 5.1h-.05a4 4 0 0 1-3.95-3.95v-173.3a4 4 0 0 1 3.95-3.95h191.6a4 4 0 0 1 3.95 3.95", - "data-name": "Path 307" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M185.85 308.41v181.2h-.05a4 4 0 0 1-3.95-3.95v-173.3a4 4 0 0 1 3.95-3.95Z", - "data-name": "Path 308", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#39374d", - d: "M194.59 319.15h177.5V467.4l-177.5 4Z", - "data-name": "Path 309" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M726.09 483.65v6.41l-47.17-1.26v-5.15Z", - "data-name": "Path 310", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#65617d", - d: "M788.35 312.36v173.3a4 4 0 0 1-4 3.95l-191.69-5.1a4 4 0 0 1-3.85-3.95v-168.2a4 4 0 0 1 3.95-3.95h191.6a4 4 0 0 1 3.99 3.95", - "data-name": "Path 311" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M788.35 312.36v173.3a4 4 0 0 1-4 3.95v-181.2a4 4 0 0 1 4 3.95", - "data-name": "Path 312", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#39374d", - d: "M775.59 319.15h-177.5V467.4l177.5 4Z", - "data-name": "Path 313" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#65617d", - d: "M583.85 312.36v168.2a4 4 0 0 1-3.85 3.95l-191.65 5.1a4 4 0 0 1-4-3.95v-173.3a4 4 0 0 1 3.95-3.95h191.6a4 4 0 0 1 3.95 3.95", - "data-name": "Path 314" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#4267b2", - d: "M397.09 319.15h177.5V467.4l-177.5 4Z", - "data-name": "Path 315" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M863.09 533.65v13l-151.92 1.4-1.62.03-57.74.53-1.38.02-17.55.15h-.52l-106.98.99-175.61 1.63h-.15l-44.65.42-.48.01-198.4 1.82v-15l202.51-1.33h.48l40.99-.28h.19l283.08-1.87h.29l.17-.01h.47l4.79-.03h1.46l74.49-.5 4.4-.02.98-.01Z", - "data-name": "Path 316", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 51.33, - cy: 51.33, - r: 51.33, - fill: "#fbbebe", - "data-name": "Ellipse 111", - transform: "translate(435.93 246.82)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#fbbebe", - d: "M538.6 377.16s-99.5 12-90 0c3.44-4.34 4.39-17.2 4.2-31.85-.06-4.45-.22-9.06-.45-13.65-1.1-22-3.75-43.5-3.75-43.5s87-41 77-8.5c-4 13.13-2.69 31.57.35 48.88.89 5.05 1.92 10 3 14.7a345 345 0 0 0 9.65 33.92", - "data-name": "Path 317" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#ff6584", - d: "M506.13 373.09c11.51-2.13 23.7-6 34.53-1.54 2.85 1.17 5.47 2.88 8.39 3.86s6.12 1.22 9.16 1.91c10.68 2.42 19.34 10.55 24.9 20s8.44 20.14 11.26 30.72l6.9 25.83c6 22.45 12 45.09 13.39 68.3a2438 2438 0 0 1-250.84 1.43c5.44-10.34 11-21.31 10.54-33s-7.19-23.22-4.76-34.74c1.55-7.34 6.57-13.39 9.64-20.22 8.75-19.52 1.94-45.79 17.32-60.65 6.92-6.68 17-9.21 26.63-8.89 12.28.41 24.85 4.24 37 6.11 15.56 2.36 30.26 3.76 45.94.88", - "data-name": "Path 318" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "m637.03 484.26-.1 1.43v.1l-.17 2.3-1.33 18.51-1.61 22.3-.46 6.28-1 13.44v.17l-107 1-175.59 1.9v.84h-.14v-1.12l.45-14.36.86-28.06.74-23.79.07-2.37a10.53 10.53 0 0 1 11.42-10.17c4.72.4 10.85.89 18.18 1.41l3 .22c42.33 2.94 120.56 6.74 199.5 2 1.66-.09 3.33-.19 5-.31 12.24-.77 24.47-1.76 36.58-3a10.53 10.53 0 0 1 11.6 11.23Z", - "data-name": "Path 319", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M349.74 552.53v-.84l175.62-1.91 107-1h.3v-.17l1-13.44.43-6 1.64-22.61 1.29-17.9v-.44a10.6 10.6 0 0 0-.11-2.47.3.3 0 0 0 0-.1 10.4 10.4 0 0 0-2-4.64 10.54 10.54 0 0 0-9.42-4 937 937 0 0 1-36.58 3c-1.67.12-3.34.22-5 .31-78.94 4.69-157.17.89-199.5-2l-3-.22c-7.33-.52-13.46-1-18.18-1.41a10.54 10.54 0 0 0-11.24 8.53 11 11 0 0 0-.18 1.64l-.68 22.16-.93 28.07-.44 14.36v1.12Z", - "data-name": "Path 320" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "m637.33 491.27-1.23 15.33-1.83 22.85-.46 5.72-1 12.81-.06.64v.17l-.15 1.48.11-1.48h-.29l-107 1-175.65 1.9v-.28l.49-14.36 1-28.06.64-18.65a6.36 6.36 0 0 1 3.06-5.25 6.25 6.25 0 0 1 3.78-.9c2.1.17 4.68.37 7.69.59 4.89.36 10.92.78 17.94 1.22 13 .82 29.31 1.7 48 2.42 52 2 122.2 2.67 188.88-3.17 3-.26 6.1-.55 9.13-.84a6.26 6.26 0 0 1 3.48.66 5 5 0 0 1 .86.54 6.14 6.14 0 0 1 2 2.46 3.6 3.6 0 0 1 .25.61 6.3 6.3 0 0 1 .36 2.59", - "data-name": "Path 321", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M298.1 504.96v3.19a6.13 6.13 0 0 1-3.5 5.54l-40.1.77a6.12 6.12 0 0 1-3.57-5.57v-3Z", - "data-name": "Path 322", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "m298.59 515.57-52.25 1v-8.67l52.25-1Z", - "data-name": "Path 323" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "m298.59 515.57-52.25 1v-8.67l52.25-1Z", - "data-name": "Path 324", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "m300.59 515.57-52.25 1v-8.67l52.25-1Z", - "data-name": "Path 325" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M679.22 506.96v3.19a6.13 6.13 0 0 0 3.5 5.54l40.1.77a6.12 6.12 0 0 0 3.57-5.57v-3Z", - "data-name": "Path 326", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "m678.72 517.57 52.25 1v-8.67l-52.25-1Z", - "data-name": "Path 327", - opacity: 0.1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "m676.72 517.57 52.25 1v-8.67l-52.25-1Z", - "data-name": "Path 328" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M454.79 313.88c.08 7-3.16 13.6-5.91 20.07a163.5 163.5 0 0 0-12.66 74.71c.73 11 2.58 22 .73 32.9s-8.43 21.77-19 24.9c17.53 10.45 41.26 9.35 57.76-2.66 8.79-6.4 15.34-15.33 21.75-24.11a97.86 97.86 0 0 1-13.31 44.75 103.43 103.43 0 0 0 73.51-40.82c4.31-5.81 8.06-12.19 9.72-19.23 3.09-13-1.22-26.51-4.51-39.5a266 266 0 0 1-6.17-33c-.43-3.56-.78-7.22.1-10.7 1-4.07 3.67-7.51 5.64-11.22 5.6-10.54 5.73-23.3 2.86-34.88s-8.49-22.26-14.06-32.81c-4.46-8.46-9.3-17.31-17.46-22.28-5.1-3.1-11-4.39-16.88-5.64l-25.37-5.43c-5.55-1.19-11.26-2.38-16.87-1.51-9.47 1.48-16.14 8.32-22 15.34-4.59 5.46-15.81 15.71-16.6 22.86-.72 6.59 5.1 17.63 6.09 24.58 1.3 9 2.22 6 7.3 11.52 3.21 3.42 5.28 7.37 5.34 12.16", - "data-name": "Path 329" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#fff", - fillRule: "evenodd", - d: "M280.139 370.832h43.635v17.662h-43.635Z", - "data-name": "Path 40" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M240.66 428.493a10.38 10.38 0 0 1-8.989-5.195 10.377 10.377 0 0 0 8.988 15.584h10.391v-10.389Z", - "data-name": "Path 41" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "m287.402 373.625 36.373-2.273v-5.195a10.39 10.39 0 0 0-10.39-10.389h-46.75l-1.3-2.249a1.5 1.5 0 0 0-2.6 0l-1.3 2.249-1.3-2.249a1.5 1.5 0 0 0-2.6 0l-1.3 2.249-1.3-2.249a1.5 1.5 0 0 0-2.6 0l-1.3 2.249h-.034l-2.152-2.151a1.5 1.5 0 0 0-2.508.672l-.696 2.653-2.7-.723a1.5 1.5 0 0 0-1.836 1.837l.722 2.7-2.65.71a1.5 1.5 0 0 0-.673 2.509l2.152 2.152v.033l-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.25 1.282-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3a10.39 10.39 0 0 0 10.389 10.34h62.335a10.39 10.39 0 0 0 10.39-10.39v-41.557l-36.373-2.273a5.53 5.53 0 0 1 0-11.038", - "data-name": "Path 42" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M302.996 438.882h15.584v-20.779h-15.584Z", - "data-name": "Path 43" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M328.97 425.895a3 3 0 0 0-.332.033q-.028-.117-.06-.234a2.594 2.594 0 1 0-2.567-4.455q-.086-.088-.174-.175a2.593 2.593 0 1 0-4.461-2.569q-.115-.031-.231-.06a2.6 2.6 0 1 0-5.128 0q-.116.029-.231.06a2.594 2.594 0 1 0-4.461 2.569 10.384 10.384 0 1 0 17.314 9.992 2.592 2.592 0 1 0 .332-5.161", - "data-name": "Path 44" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M308.191 407.713h15.584v-10.389h-15.584Z", - "data-name": "Path 45" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M328.969 403.818a1.3 1.3 0 1 0 0-2.6 1 1 0 0 0-.166.017l-.03-.117a1.3 1.3 0 0 0-.5-2.5 1.3 1.3 0 0 0-.783.269l-.087-.087a1.3 1.3 0 0 0 .263-.776 1.3 1.3 0 0 0-2.493-.509 5.195 5.195 0 1 0 0 10 1.3 1.3 0 0 0 2.493-.509 1.3 1.3 0 0 0-.263-.776l.087-.087a1.3 1.3 0 0 0 .783.269 1.3 1.3 0 0 0 .5-2.5q.016-.058.03-.117a1 1 0 0 0 .166.017", - "data-name": "Path 46" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M261.439 372.65a1.3 1.3 0 0 1-1.3-1.3 3.9 3.9 0 0 0-7.792 0 1.3 1.3 0 1 1-2.6 0 6.494 6.494 0 0 1 12.987 0 1.3 1.3 0 0 1-1.3 1.3", - "data-name": "Path 47" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#ffff50", - fillRule: "evenodd", - d: "M282.217 438.882h31.168a10.39 10.39 0 0 0 10.389-10.389V392.13h-31.168a10.39 10.39 0 0 0-10.389 10.389Z", - "data-name": "Path 48" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M315.993 408.233h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m0 10.389h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m0 10.389h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m0-25.877h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m0 10.293h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m0 10.389h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m7.782-47.993h-.018c-1.605.055-2.365 1.66-3.035 3.077-.7 1.48-1.24 2.443-2.126 2.414-.981-.035-1.542-1.144-2.137-2.317-.683-1.347-1.462-2.876-3.1-2.819-1.582.054-2.344 1.451-3.017 2.684-.715 1.313-1.2 2.112-2.141 2.075-1-.036-1.533-.938-2.149-1.981-.686-1.162-1.479-2.467-3.084-2.423-1.555.053-2.319 1.239-2.994 2.286-.713 1.106-1.213 1.781-2.164 1.741-1.025-.036-1.554-.784-2.167-1.65-.688-.973-1.463-2.074-3.062-2.021a3.82 3.82 0 0 0-2.959 1.879c-.64.812-1.14 1.456-2.2 1.415a.52.52 0 0 0-.037 1.039 3.59 3.59 0 0 0 3.05-1.811c.611-.777 1.139-1.448 2.178-1.483 1-.043 1.47.579 2.179 1.582.674.953 1.438 2.033 2.977 2.089 1.612.054 2.387-1.151 3.074-2.217.614-.953 1.144-1.775 2.156-1.81.931-.035 1.438.7 2.153 1.912.674 1.141 1.437 2.434 3.006 2.491 1.623.056 2.407-1.361 3.09-2.616.592-1.085 1.15-2.109 2.14-2.143.931-.022 1.417.829 2.135 2.249.671 1.326 1.432 2.828 3.026 2.886h.088c1.592 0 2.347-1.6 3.015-3.01.592-1.252 1.152-2.431 2.113-2.479Z", - "data-name": "Path 49" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M271.828 438.882h20.779v-20.779h-20.779Z", - "data-name": "Path 50" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - "data-name": "Group 8", - transform: "rotate(-14.98 1643.944 -873.93)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 43.906, - height: 17.333, - fill: "#d8d8d8", - "data-name": "Rectangle 3", - rx: 2 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#4a4a4a", - "data-name": "Group 2", - transform: "translate(.728 10.948)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 4", - rx: 1, - transform: "translate(7.985)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 5", - rx: 1, - transform: "translate(10.991)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 6", - rx: 1, - transform: "translate(13.997)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 7", - rx: 1, - transform: "translate(17.003)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 8", - rx: 1, - transform: "translate(20.009)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 9", - rx: 1, - transform: "translate(23.015)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 10", - rx: 1, - transform: "translate(26.021)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 11", - rx: 1, - transform: "translate(29.028)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 12", - rx: 1, - transform: "translate(32.034)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M.519 0H6.9a.52.52 0 0 1 .521.52v1.5a.52.52 0 0 1-.519.519H.519A.52.52 0 0 1 0 2.017V.519A.52.52 0 0 1 .519 0m35.134 0h6.383a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519h-6.384a.52.52 0 0 1-.519-.519v-1.5A.52.52 0 0 1 35.652 0Z", - "data-name": "Path 51" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#4a4a4a", - "data-name": "Group 3", - transform: "translate(.728 4.878)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M.519 0h2.437a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519H.519A.52.52 0 0 1 0 2.017V.519A.52.52 0 0 1 .519 0", - "data-name": "Path 52" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 13", - rx: 1, - transform: "translate(3.945)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 14", - rx: 1, - transform: "translate(6.951)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 15", - rx: 1, - transform: "translate(9.958)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 16", - rx: 1, - transform: "translate(12.964)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 17", - rx: 1, - transform: "translate(15.97)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 18", - rx: 1, - transform: "translate(18.976)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 19", - rx: 1, - transform: "translate(21.982)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 20", - rx: 1, - transform: "translate(24.988)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 21", - rx: 1, - transform: "translate(27.994)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 22", - rx: 1, - transform: "translate(31)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 23", - rx: 1, - transform: "translate(34.006)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 24", - rx: 1, - transform: "translate(37.012)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 25", - rx: 1, - transform: "translate(40.018)" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#4a4a4a", - "data-name": "Group 4", - transform: "rotate(180 21.642 2.269)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M.519 0h2.437a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519H.519A.52.52 0 0 1 0 2.017V.519A.52.52 0 0 1 .519 0", - "data-name": "Path 53" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 26", - rx: 1, - transform: "translate(3.945)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 27", - rx: 1, - transform: "translate(6.951)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 28", - rx: 1, - transform: "translate(9.958)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 29", - rx: 1, - transform: "translate(12.964)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 30", - rx: 1, - transform: "translate(15.97)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 31", - rx: 1, - transform: "translate(18.976)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 32", - rx: 1, - transform: "translate(21.982)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 33", - rx: 1, - transform: "translate(24.988)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 34", - rx: 1, - transform: "translate(27.994)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 35", - rx: 1, - transform: "translate(31.001)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 36", - rx: 1, - transform: "translate(34.007)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 37", - rx: 1, - transform: "translate(37.013)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 38", - rx: 1, - transform: "translate(40.018)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 39", - rx: 1, - transform: "translate(3.945)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 40", - rx: 1, - transform: "translate(6.951)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 41", - rx: 1, - transform: "translate(9.958)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 42", - rx: 1, - transform: "translate(12.964)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 43", - rx: 1, - transform: "translate(15.97)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 44", - rx: 1, - transform: "translate(18.976)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 45", - rx: 1, - transform: "translate(21.982)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 46", - rx: 1, - transform: "translate(24.988)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 47", - rx: 1, - transform: "translate(27.994)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 48", - rx: 1, - transform: "translate(31.001)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 49", - rx: 1, - transform: "translate(34.007)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 50", - rx: 1, - transform: "translate(37.013)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 51", - rx: 1, - transform: "translate(40.018)" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#4a4a4a", - "data-name": "Group 6" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M1.247 7.883h3.47a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519h-3.47A.52.52 0 0 1 .728 9.9V8.403a.52.52 0 0 1 .519-.52", - "data-name": "Path 54" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - "data-name": "Group 5", - transform: "translate(5.801 7.883)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 52", - rx: 1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 53", - rx: 1, - transform: "translate(3.006)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 54", - rx: 1, - transform: "translate(6.012)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 55", - rx: 1, - transform: "translate(9.018)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 56", - rx: 1, - transform: "translate(12.025)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 57", - rx: 1, - transform: "translate(15.031)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 58", - rx: 1, - transform: "translate(18.037)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 59", - rx: 1, - transform: "translate(21.042)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 60", - rx: 1, - transform: "translate(24.049)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 61", - rx: 1, - transform: "translate(27.055)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 62", - rx: 1, - transform: "translate(30.061)" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M39.482 7.883h3.28a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519h-3.281a.52.52 0 0 1-.519-.521V8.403a.52.52 0 0 1 .519-.52Z", - "data-name": "Path 55" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#4a4a4a", - "data-name": "Group 7", - transform: "translate(.728 14.084)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 63", - rx: 1 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 64", - rx: 1, - transform: "translate(3.006)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 65", - rx: 1, - transform: "translate(6.012)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 66", - rx: 1, - transform: "translate(9.018)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M12.543 0h14.462a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519H12.543a.52.52 0 0 1-.519-.52V.519A.52.52 0 0 1 12.543 0m15.97 0h1.874a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519h-1.874a.52.52 0 0 1-.519-.519v-1.5A.52.52 0 0 1 28.513 0", - "data-name": "Path 56" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 67", - rx: 1, - transform: "translate(31.376)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 68", - rx: 1, - transform: "translate(34.382)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.537, - height: 2.537, - "data-name": "Rectangle 69", - rx: 1, - transform: "translate(40.018)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M37.199 1.08V.519A.52.52 0 0 1 37.718 0h1.499a.52.52 0 0 1 .519.519v.561Z", - "data-name": "Path 57" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M39.737 1.456v.561a.52.52 0 0 1-.519.519h-1.499a.52.52 0 0 1-.519-.519v-.561Z", - "data-name": "Path 58" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 42.273, - height: 1.127, - fill: "#4a4a4a", - "data-name": "Rectangle 70", - rx: 0.564, - transform: "translate(.915 .556)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 71", - opacity: 0.136, - rx: 0.376, - transform: "translate(1.949 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 72", - opacity: 0.136, - rx: 0.376, - transform: "translate(5.193 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 73", - opacity: 0.136, - rx: 0.376, - transform: "translate(7.688 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 74", - opacity: 0.136, - rx: 0.376, - transform: "translate(10.183 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 75", - opacity: 0.136, - rx: 0.376, - transform: "translate(12.679 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 76", - opacity: 0.136, - rx: 0.376, - transform: "translate(15.797 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 77", - opacity: 0.136, - rx: 0.376, - transform: "translate(18.292 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 78", - opacity: 0.136, - rx: 0.376, - transform: "translate(20.788 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 79", - opacity: 0.136, - rx: 0.376, - transform: "translate(23.283 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 80", - opacity: 0.136, - rx: 0.376, - transform: "translate(26.402 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 81", - opacity: 0.136, - rx: 0.376, - transform: "translate(28.897 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 82", - opacity: 0.136, - rx: 0.376, - transform: "translate(31.393 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 83", - opacity: 0.136, - rx: 0.376, - transform: "translate(34.512 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 84", - opacity: 0.136, - rx: 0.376, - transform: "translate(37.007 .744)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 2.37, - height: 0.752, - fill: "#d8d8d8", - "data-name": "Rectangle 85", - opacity: 0.136, - rx: 0.376, - transform: "translate(39.502 .744)" - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M302.996 425.895a3 3 0 0 0-.332.033q-.029-.117-.06-.234a2.594 2.594 0 1 0-2.567-4.455q-.086-.088-.174-.175a2.593 2.593 0 1 0-4.461-2.569q-.116-.031-.231-.06a2.6 2.6 0 1 0-5.128 0q-.115.029-.231.06a2.594 2.594 0 1 0-4.461 2.569 10.384 10.384 0 1 0 17.314 9.992 2.592 2.592 0 1 0 .332-5.161", - "data-name": "Path 59" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M271.828 407.713h20.779v-10.389h-20.779Z", - "data-name": "Path 60" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M297.801 403.818a1.3 1.3 0 1 0 0-2.6 1 1 0 0 0-.166.017l-.03-.117a1.3 1.3 0 0 0-.5-2.5 1.3 1.3 0 0 0-.783.269l-.087-.087a1.3 1.3 0 0 0 .263-.776 1.3 1.3 0 0 0-2.493-.509 5.195 5.195 0 1 0 0 10 1.3 1.3 0 0 0 2.493-.509 1.3 1.3 0 0 0-.263-.776l.087-.087a1.3 1.3 0 0 0 .783.269 1.3 1.3 0 0 0 .5-2.5q.016-.058.03-.117a1 1 0 0 0 .166.017", - "data-name": "Path 61" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M302.997 365.507a1.4 1.4 0 0 1-.255-.026 1.3 1.3 0 0 1-.244-.073 1.4 1.4 0 0 1-.224-.119 2 2 0 0 1-.2-.161 1.5 1.5 0 0 1-.161-.2 1.3 1.3 0 0 1-.218-.722 1.4 1.4 0 0 1 .026-.255 1.5 1.5 0 0 1 .072-.244 1.4 1.4 0 0 1 .12-.223 1.3 1.3 0 0 1 .358-.358 1.4 1.4 0 0 1 .224-.119 1.3 1.3 0 0 1 .244-.073 1.2 1.2 0 0 1 .509 0 1.3 1.3 0 0 1 .468.192 2 2 0 0 1 .2.161 2 2 0 0 1 .161.2 1.3 1.3 0 0 1 .12.223 1.4 1.4 0 0 1 .1.5 1.32 1.32 0 0 1-.379.919 2 2 0 0 1-.2.161 1.4 1.4 0 0 1-.223.119 1.3 1.3 0 0 1-.5.1m10.389-.649a1.33 1.33 0 0 1-.92-.379 2 2 0 0 1-.161-.2 1.3 1.3 0 0 1-.218-.722 1.33 1.33 0 0 1 .379-.919 2 2 0 0 1 .2-.161 1.4 1.4 0 0 1 .224-.119 1.3 1.3 0 0 1 .244-.073 1.2 1.2 0 0 1 .509 0 1.3 1.3 0 0 1 .468.192 2 2 0 0 1 .2.161 1.33 1.33 0 0 1 .379.919 1.5 1.5 0 0 1-.026.255 1.3 1.3 0 0 1-.073.244 2 2 0 0 1-.119.223 2 2 0 0 1-.161.2 2 2 0 0 1-.2.161 1.3 1.3 0 0 1-.722.218", - "data-name": "Path 62" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", { - fill: "#61dafb", - transform: "translate(466.3 278.56)" - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M263.668 117.179c0-5.827-7.3-11.35-18.487-14.775 2.582-11.4 1.434-20.477-3.622-23.382a7.86 7.86 0 0 0-4.016-1v4a4.15 4.15 0 0 1 2.044.466c2.439 1.4 3.5 6.724 2.672 13.574-.2 1.685-.52 3.461-.914 5.272a87 87 0 0 0-11.386-1.954 87.5 87.5 0 0 0-7.459-8.965c5.845-5.433 11.332-8.41 15.062-8.41V78c-4.931 0-11.386 3.514-17.913 9.611-6.527-6.061-12.982-9.539-17.913-9.539v4c3.712 0 9.216 2.959 15.062 8.356a85 85 0 0 0-7.405 8.947 84 84 0 0 0-11.4 1.972 54 54 0 0 1-.932-5.2c-.843-6.85.2-12.175 2.618-13.592a4 4 0 0 1 2.062-.466v-4a8 8 0 0 0-4.052 1c-5.039 2.9-6.168 11.96-3.568 23.328-11.153 3.443-18.415 8.947-18.415 14.757 0 5.828 7.3 11.35 18.487 14.775-2.582 11.4-1.434 20.477 3.622 23.382a7.9 7.9 0 0 0 4.034 1c4.931 0 11.386-3.514 17.913-9.611 6.527 6.061 12.982 9.539 17.913 9.539a8 8 0 0 0 4.052-1c5.039-2.9 6.168-11.96 3.568-23.328 11.111-3.42 18.373-8.943 18.373-14.752m-23.346-11.96a80 80 0 0 1-2.421 7.083 83 83 0 0 0-2.349-4.3 97 97 0 0 0-2.582-4.2c2.547.377 5.004.843 7.353 1.417Zm-8.212 19.1c-1.4 2.421-2.833 4.716-4.321 6.85a93 93 0 0 1-8.1.359c-2.708 0-5.415-.126-8.069-.341q-2.232-3.2-4.339-6.814-2.044-3.523-3.73-7.136a94 94 0 0 1 3.712-7.154c1.4-2.421 2.833-4.716 4.321-6.85a93 93 0 0 1 8.1-.359c2.708 0 5.415.126 8.069.341q2.232 3.2 4.339 6.814 2.044 3.523 3.73 7.136a101 101 0 0 1-3.712 7.15Zm5.792-2.331a77 77 0 0 1 2.474 7.136 80 80 0 0 1-7.387 1.434c.879-1.381 1.757-2.8 2.582-4.25a96 96 0 0 0 2.329-4.324Zm-18.182 19.128a74 74 0 0 1-4.985-5.738c1.614.072 3.263.126 4.931.126 1.685 0 3.353-.036 4.985-.126a70 70 0 0 1-4.931 5.738m-13.34-10.561c-2.546-.377-5-.843-7.352-1.417a80 80 0 0 1 2.421-7.083c.735 1.434 1.506 2.869 2.349 4.3s1.702 2.837 2.582 4.2m13.25-37.314a74 74 0 0 1 4.985 5.738 111 111 0 0 0-4.931-.126c-1.686 0-3.353.036-4.985.126a70 70 0 0 1 4.931-5.738M206.362 103.8a101 101 0 0 0-4.913 8.55 77 77 0 0 1-2.474-7.136 90 90 0 0 1 7.387-1.414m-16.227 22.449c-6.348-2.708-10.454-6.258-10.454-9.073s4.106-6.383 10.454-9.073c1.542-.663 3.228-1.255 4.967-1.811a86 86 0 0 0 4.034 10.92 85 85 0 0 0-3.981 10.866 54 54 0 0 1-5.021-1.826Zm9.647 25.623c-2.439-1.4-3.5-6.724-2.672-13.574.2-1.686.52-3.461.914-5.272a87 87 0 0 0 11.386 1.954 87.5 87.5 0 0 0 7.459 8.965c-5.845 5.433-11.332 8.41-15.062 8.41a4.3 4.3 0 0 1-2.026-.48Zm42.532-13.663c.843 6.85-.2 12.175-2.618 13.592a4 4 0 0 1-2.062.466c-3.712 0-9.216-2.959-15.062-8.356a85 85 0 0 0 7.405-8.947 84 84 0 0 0 11.4-1.972 50 50 0 0 1 .936 5.22Zm6.9-11.96c-1.542.663-3.228 1.255-4.967 1.811a86 86 0 0 0-4.034-10.92 85 85 0 0 0 3.981-10.866 57 57 0 0 1 5.039 1.829c6.348 2.708 10.454 6.258 10.454 9.073-.017 2.818-4.123 6.386-10.471 9.076Z", - "data-name": "Path 330" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M201.718 78.072", - "data-name": "Path 331" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 8.194, - cy: 8.194, - r: 8.194, - "data-name": "Ellipse 112", - transform: "translate(211.472 108.984)" - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M237.525 78.018", - "data-name": "Path 332" - }))))); -}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgUndrawDocusaurusReact); - -/***/ }), - -/***/ 1213: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -var _circle, _ellipse, _ellipse2, _path, _path2, _path3, _circle2, _circle3, _circle4, _rect, _rect2, _rect3, _rect4, _rect5, _rect6, _rect7, _path4, _ellipse3, _ellipse4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21; -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } - -const SvgUndrawDocusaurusTree = _ref => { - let { - title, - titleId, - ...props - } = _ref; - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({ - xmlns: "http://www.w3.org/2000/svg", - width: 1129, - height: 663, - viewBox: "0 0 1129 663", - "aria-labelledby": titleId - }, props), title === undefined ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("title", { - id: titleId - }, "Focus on What Matters") : title ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("title", { - id: titleId - }, title) : null, _circle || (_circle = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 321, - cy: 321, - r: 321, - fill: "#f2f2f2" - })), _ellipse || (_ellipse = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("ellipse", { - cx: 559, - cy: 635.5, - fill: "#3f3d56", - rx: 514, - ry: 27.5 - })), _ellipse2 || (_ellipse2 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("ellipse", { - cx: 558, - cy: 627, - opacity: 0.2, - rx: 460, - ry: 22 - })), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M131 152.5h840v50H131z" - })), _path2 || (_path2 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M131 608.83a21.67 21.67 0 0 0 21.67 21.67h796.66A21.67 21.67 0 0 0 971 608.83V177.5H131ZM949.33 117.5H152.67A21.67 21.67 0 0 0 131 139.17v38.33h840v-38.33a21.67 21.67 0 0 0-21.67-21.67" - })), _path3 || (_path3 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M949.33 117.5H152.67A21.67 21.67 0 0 0 131 139.17v38.33h840v-38.33a21.67 21.67 0 0 0-21.67-21.67", - opacity: 0.2 - })), _circle2 || (_circle2 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 181, - cy: 147.5, - r: 13, - fill: "#3f3d56" - })), _circle3 || (_circle3 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 217, - cy: 147.5, - r: 13, - fill: "#3f3d56" - })), _circle4 || (_circle4 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", { - cx: 253, - cy: 147.5, - r: 13, - fill: "#3f3d56" - })), _rect || (_rect = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 337, - height: 386, - x: 168, - y: 213.5, - fill: "#606060", - rx: 5.335 - })), _rect2 || (_rect2 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 284, - height: 22, - x: 603, - y: 272.5, - fill: "#2e8555", - rx: 5.476 - })), _rect3 || (_rect3 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 416, - height: 15, - x: 537, - y: 352.5, - fill: "#2e8555", - rx: 5.476 - })), _rect4 || (_rect4 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 416, - height: 15, - x: 537, - y: 396.5, - fill: "#2e8555", - rx: 5.476 - })), _rect5 || (_rect5 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 416, - height: 15, - x: 537, - y: 440.5, - fill: "#2e8555", - rx: 5.476 - })), _rect6 || (_rect6 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 416, - height: 15, - x: 537, - y: 484.5, - fill: "#2e8555", - rx: 5.476 - })), _rect7 || (_rect7 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", { - width: 88, - height: 26, - x: 865, - y: 552.5, - fill: "#3ecc5f", - rx: 7.028 - })), _path4 || (_path4 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3f3d56", - d: "M1053.103 506.116a30.1 30.1 0 0 0 3.983-15.266c0-13.797-8.544-24.98-19.083-24.98s-19.082 11.183-19.082 24.98a30.1 30.1 0 0 0 3.983 15.266 31.25 31.25 0 0 0 0 30.532 31.25 31.25 0 0 0 0 30.532 31.25 31.25 0 0 0 0 30.532 30.1 30.1 0 0 0-3.983 15.266c0 13.797 8.543 24.981 19.082 24.981s19.083-11.184 19.083-24.98a30.1 30.1 0 0 0-3.983-15.267 31.25 31.25 0 0 0 0-30.532 31.25 31.25 0 0 0 0-30.532 31.25 31.25 0 0 0 0-30.532" - })), _ellipse3 || (_ellipse3 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("ellipse", { - cx: 1038.003, - cy: 460.318, - fill: "#3f3d56", - rx: 19.083, - ry: 24.981 - })), _ellipse4 || (_ellipse4 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("ellipse", { - cx: 1038.003, - cy: 429.786, - fill: "#3f3d56", - rx: 19.083, - ry: 24.981 - })), _path5 || (_path5 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M1109.439 220.845a92 92 0 0 0 7.106-10.461l-50.14-8.235 54.228.403a91.57 91.57 0 0 0 1.746-72.426l-72.755 37.742 67.097-49.321A91.413 91.413 0 1 0 965.75 220.845a91.5 91.5 0 0 0-10.425 16.67l65.087 33.814-69.4-23.292a91.46 91.46 0 0 0 14.738 85.837 91.406 91.406 0 1 0 143.689 0 91.42 91.42 0 0 0 0-113.03" - })), _path6 || (_path6 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - d: "M946.189 277.36a91 91 0 0 0 19.56 56.514 91.406 91.406 0 1 0 143.69 0c12.25-15.553-163.25-66.774-163.25-56.515", - opacity: 0.1 - })), _path7 || (_path7 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#fff", - fillRule: "evenodd", - d: "M330.12 342.936h111.474v45.12H330.12Z" - })), _path8 || (_path8 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M229.263 490.241a26.51 26.51 0 0 1-22.963-13.27 26.51 26.51 0 0 0 22.963 39.812h26.541V490.24Z" - })), _path9 || (_path9 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "m348.672 350.07 92.922-5.807v-13.27a26.54 26.54 0 0 0-26.541-26.542H295.616l-3.318-5.746a3.83 3.83 0 0 0-6.635 0l-3.318 5.746-3.317-5.746a3.83 3.83 0 0 0-6.636 0l-3.317 5.746-3.318-5.746a3.83 3.83 0 0 0-6.635 0l-3.318 5.746c-.03 0-.056.004-.086.004l-5.497-5.495a3.83 3.83 0 0 0-6.407 1.717l-1.817 6.773-6.89-1.847a3.83 3.83 0 0 0-4.691 4.693l1.844 6.891-6.77 1.814a3.832 3.832 0 0 0-1.72 6.41l5.497 5.497q-.002.041-.004.085l-5.747 3.317a3.83 3.83 0 0 0 0 6.636l5.747 3.317-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.317a3.83 3.83 0 0 0 0 6.636l5.747 3.317-5.747 3.318a3.83 3.83 0 0 0 0 6.636l5.747 3.317-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.317a3.83 3.83 0 0 0 0 6.636l5.747 3.317-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.317a3.83 3.83 0 0 0 0 6.636l5.747 3.317-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318a26.54 26.54 0 0 0 26.541 26.542h159.249a26.54 26.54 0 0 0 26.541-26.542V384.075l-92.922-5.807a14.126 14.126 0 0 1 0-28.197" - })), _path10 || (_path10 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M388.511 516.783h39.812V463.7h-39.812Z" - })), _path11 || (_path11 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M454.865 483.606a7 7 0 0 0-.848.085q-.073-.3-.154-.599a6.627 6.627 0 1 0-6.557-11.382q-.22-.225-.445-.446a6.624 6.624 0 1 0-11.397-6.564c-.196-.055-.394-.102-.59-.152a6.64 6.64 0 1 0-13.101 0c-.197.05-.394.097-.59.152a6.628 6.628 0 1 0-11.398 6.564 26.528 26.528 0 1 0 44.232 25.528 6.621 6.621 0 1 0 .848-13.186" - })), _path12 || (_path12 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M401.782 437.158h39.812v-26.541h-39.812Z" - })), _path13 || (_path13 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M454.865 427.205a3.318 3.318 0 0 0 0-6.635 3 3 0 0 0-.424.042c-.026-.1-.049-.199-.077-.298a3.319 3.319 0 0 0-1.278-6.38 3.28 3.28 0 0 0-2 .688q-.11-.113-.224-.223a3.3 3.3 0 0 0 .672-1.983 3.318 3.318 0 0 0-6.37-1.299 13.27 13.27 0 1 0 0 25.541 3.318 3.318 0 0 0 6.37-1.3 3.3 3.3 0 0 0-.672-1.982q.114-.11.223-.223a3.28 3.28 0 0 0 2.001.688 3.318 3.318 0 0 0 1.278-6.38c.028-.098.05-.199.077-.298a3 3 0 0 0 .424.042" - })), _path14 || (_path14 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M282.345 347.581a3.32 3.32 0 0 1-3.317-3.318 9.953 9.953 0 1 0-19.906 0 3.318 3.318 0 1 1-6.636 0 16.588 16.588 0 1 1 33.177 0 3.32 3.32 0 0 1-3.318 3.318" - })), _path15 || (_path15 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#ffff50", - fillRule: "evenodd", - d: "M335.428 516.783h79.625a26.54 26.54 0 0 0 26.541-26.542v-92.895H361.97a26.54 26.54 0 0 0-26.542 26.542Z" - })), _path16 || (_path16 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M421.714 438.485h-66.406a1.327 1.327 0 0 1 0-2.654h66.406a1.327 1.327 0 0 1 0 2.654m0 26.542h-66.406a1.327 1.327 0 1 1 0-2.654h66.406a1.327 1.327 0 0 1 0 2.654m0 26.541h-66.406a1.327 1.327 0 1 1 0-2.654h66.406a1.327 1.327 0 0 1 0 2.654m0-66.106h-66.406a1.327 1.327 0 0 1 0-2.655h66.406a1.327 1.327 0 0 1 0 2.655m0 26.294h-66.406a1.327 1.327 0 0 1 0-2.654h66.406a1.327 1.327 0 0 1 0 2.654m0 26.542h-66.406a1.327 1.327 0 0 1 0-2.655h66.406a1.327 1.327 0 0 1 0 2.655m19.88-122.607c-.016 0-.03-.008-.045-.007-4.1.14-6.04 4.241-7.753 7.86-1.786 3.783-3.168 6.242-5.432 6.167-2.506-.09-3.94-2.922-5.458-5.918-1.744-3.443-3.734-7.347-7.913-7.201-4.042.138-5.99 3.708-7.706 6.857-1.828 3.355-3.071 5.394-5.47 5.3-2.557-.093-3.916-2.395-5.488-5.06-1.753-2.967-3.78-6.304-7.878-6.19-3.973.137-5.925 3.166-7.648 5.84-1.822 2.826-3.098 4.549-5.527 4.447-2.618-.093-3.97-2.004-5.535-4.216-1.757-2.486-3.737-5.3-7.823-5.163-3.886.133-5.838 2.615-7.56 4.802-1.634 2.075-2.91 3.718-5.611 3.615a1.328 1.328 0 1 0-.096 2.654c4.004.134 6.032-2.389 7.793-4.628 1.562-1.985 2.91-3.698 5.564-3.789 2.556-.108 3.754 1.48 5.567 4.041 1.721 2.434 3.675 5.195 7.606 5.337 4.118.138 6.099-2.94 7.853-5.663 1.569-2.434 2.923-4.535 5.508-4.624 2.38-.088 3.674 1.792 5.5 4.885 1.722 2.916 3.671 6.22 7.68 6.365 4.147.143 6.15-3.477 7.895-6.682 1.511-2.77 2.938-5.388 5.466-5.475 2.38-.056 3.62 2.116 5.456 5.746 1.714 3.388 3.658 7.226 7.73 7.373l.224.004c4.066 0 5.996-4.08 7.704-7.689 1.511-3.198 2.942-6.21 5.397-6.334Z" - })), _path17 || (_path17 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M308.887 516.783h53.083V463.7h-53.083Z" - })), _path18 || (_path18 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M388.511 483.606a7 7 0 0 0-.848.085c-.05-.2-.098-.4-.154-.599a6.627 6.627 0 1 0-6.557-11.382q-.22-.225-.444-.446a6.624 6.624 0 1 0-11.397-6.564c-.197-.055-.394-.102-.59-.152a6.64 6.64 0 1 0-13.102 0c-.196.05-.394.097-.59.152a6.628 6.628 0 1 0-11.397 6.564 26.528 26.528 0 1 0 44.231 25.528 6.621 6.621 0 1 0 .848-13.186" - })), _path19 || (_path19 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#3ecc5f", - fillRule: "evenodd", - d: "M308.887 437.158h53.083v-26.541h-53.083Z" - })), _path20 || (_path20 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fill: "#44d860", - fillRule: "evenodd", - d: "M375.24 427.205a3.318 3.318 0 1 0 0-6.635 3 3 0 0 0-.423.042q-.038-.15-.077-.298a3.319 3.319 0 0 0-1.278-6.38 3.28 3.28 0 0 0-2.001.688q-.11-.113-.223-.223a3.3 3.3 0 0 0 .671-1.983 3.318 3.318 0 0 0-6.37-1.299 13.27 13.27 0 1 0 0 25.541 3.318 3.318 0 0 0 6.37-1.3 3.3 3.3 0 0 0-.671-1.982q.113-.11.223-.223a3.28 3.28 0 0 0 2.001.688 3.318 3.318 0 0 0 1.278-6.38c.028-.098.05-.199.077-.298a3 3 0 0 0 .423.042" - })), _path21 || (_path21 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", { - fillRule: "evenodd", - d: "M388.511 329.334a3.6 3.6 0 0 1-.65-.067 3.3 3.3 0 0 1-.624-.185 3.5 3.5 0 0 1-.572-.306 5 5 0 0 1-.504-.411 4 4 0 0 1-.41-.504 3.28 3.28 0 0 1-.558-1.845 3.6 3.6 0 0 1 .067-.65 4 4 0 0 1 .184-.624 3.5 3.5 0 0 1 .307-.57 3.2 3.2 0 0 1 .914-.916 3.5 3.5 0 0 1 .572-.305 3.3 3.3 0 0 1 .624-.186 3.1 3.1 0 0 1 1.3 0 3.2 3.2 0 0 1 1.195.49 5 5 0 0 1 .504.412 5 5 0 0 1 .411.504 3.4 3.4 0 0 1 .306.571 3.5 3.5 0 0 1 .252 1.274 3.36 3.36 0 0 1-.969 2.349 5 5 0 0 1-.504.411 3.3 3.3 0 0 1-1.845.558m26.542-1.66a3.4 3.4 0 0 1-2.35-.968 5 5 0 0 1-.41-.504 3.28 3.28 0 0 1-.558-1.845 3.39 3.39 0 0 1 .967-2.349 5 5 0 0 1 .505-.411 3.5 3.5 0 0 1 .572-.305 3.3 3.3 0 0 1 .623-.186 3.1 3.1 0 0 1 1.3 0 3.2 3.2 0 0 1 1.195.49 5 5 0 0 1 .504.412 3.4 3.4 0 0 1 .97 2.35 4 4 0 0 1-.067.65 3.4 3.4 0 0 1-.186.623 5 5 0 0 1-.305.57 5 5 0 0 1-.412.505 5 5 0 0 1-.504.412 3.3 3.3 0 0 1-1.844.557" - }))); -}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgUndrawDocusaurusTree); - -/***/ }), - -/***/ 1831: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "in": () => (/* reexport */ BlogPostProvider), - OU: () => (/* reexport */ BlogSidebarItemList), - Ki: () => (/* reexport */ groupBlogSidebarItemsByYear), - kJ: () => (/* reexport */ useBlogListPageStructuredData), - x: () => (/* reexport */ useBlogMetadata), - e7: () => (/* reexport */ useBlogPost), - J_: () => (/* reexport */ useBlogPostStructuredData), - Gx: () => (/* reexport */ useVisibleBlogSidebarItems) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/reactUtils.js -var reactUtils = __webpack_require__(9129); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useRouteContext.js -var useRouteContext = __webpack_require__(9060); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-plugin-content-blog/lib/client/contexts.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useBlogMetadata(){const routeContext=(0,useRouteContext/* default */.A)();const blogMetadata=routeContext?.data?.blogMetadata;if(!blogMetadata){throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");}return blogMetadata;}const Context=/*#__PURE__*/react.createContext(null);/** - * Note: we don't use `PropBlogPostContent` as context value on purpose. - * Metadata is currently stored inside the MDX component, but we may want to - * change that in the future. - */function useContextValue({content,isBlogPostPage}){return (0,react.useMemo)(()=>({metadata:content.metadata,frontMatter:content.frontMatter,assets:content.assets,toc:content.toc,isBlogPostPage}),[content,isBlogPostPage]);}/** - * This is a very thin layer around the `content` received from the MDX loader. - * It provides metadata about the blog post to the children tree. - */function BlogPostProvider({children,content,isBlogPostPage=false}){const contextValue=useContextValue({content,isBlogPostPage});return/*#__PURE__*/(0,jsx_runtime.jsx)(Context.Provider,{value:contextValue,children:children});}/** - * Returns the data of the currently browsed blog post. Gives access to - * front matter, metadata, TOC, etc. - * When swizzling a low-level component (e.g. the "Edit this page" link) - * and you need some extra metadata, you don't have to drill the props - * all the way through the component tree: simply use this hook instead. - */function useBlogPost(){const blogPost=(0,react.useContext)(Context);if(blogPost===null){throw new reactUtils/* ReactContextError */.dV('BlogPostProvider');}return blogPost;} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useBaseUrl.js -var useBaseUrl = __webpack_require__(5000); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useDocusaurusContext.js -var useDocusaurusContext = __webpack_require__(1571); -;// ../packages/docusaurus-plugin-content-blog/lib/client/structuredDataUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const convertDate=dateMs=>new Date(dateMs).toISOString();function getBlogPost(blogPostContent,siteConfig,withBaseUrl){const{assets,frontMatter,metadata}=blogPostContent;const{date,title,description,lastUpdatedAt}=metadata;const image=assets.image??frontMatter.image;const keywords=frontMatter.keywords??[];const blogUrl=`${siteConfig.url}${metadata.permalink}`;const dateModified=lastUpdatedAt?convertDate(lastUpdatedAt):undefined;return{'@type':'BlogPosting','@id':blogUrl,mainEntityOfPage:blogUrl,url:blogUrl,headline:title,name:title,description,datePublished:date,...(dateModified?{dateModified}:{}),...getAuthor(metadata.authors),...getImage(image,withBaseUrl,title),...(keywords?{keywords}:{})};}function getAuthor(authors){const authorsStructuredData=authors.map(createPersonStructuredData);return{author:authorsStructuredData.length===1?authorsStructuredData[0]:authorsStructuredData};}function getImage(image,withBaseUrl,title){return image?{image:createImageStructuredData({imageUrl:withBaseUrl(image,{absolute:true}),caption:`title image for the blog post: ${title}`})}:{};}function useBlogListPageStructuredData(props){const{siteConfig}=(0,useDocusaurusContext/* default */.A)();const{withBaseUrl}=(0,useBaseUrl/* useBaseUrlUtils */.hH)();const{metadata:{blogDescription,blogTitle,permalink}}=props;const url=`${siteConfig.url}${permalink}`;// details on structured data support: https://schema.org/Blog -return{'@context':'https://schema.org','@type':'Blog','@id':url,mainEntityOfPage:url,headline:blogTitle,description:blogDescription,blogPost:props.items.map(blogItem=>getBlogPost(blogItem.content,siteConfig,withBaseUrl))};}function useBlogPostStructuredData(){const blogMetadata=useBlogMetadata();const{assets,metadata}=useBlogPost();const{siteConfig}=(0,useDocusaurusContext/* default */.A)();const{withBaseUrl}=(0,useBaseUrl/* useBaseUrlUtils */.hH)();const{date,title,description,frontMatter,lastUpdatedAt}=metadata;const image=assets.image??frontMatter.image;const keywords=frontMatter.keywords??[];const dateModified=lastUpdatedAt?convertDate(lastUpdatedAt):undefined;const url=`${siteConfig.url}${metadata.permalink}`;// details on structured data support: https://schema.org/BlogPosting -// BlogPosting is one of the structured data types that Google explicitly -// supports: https://developers.google.com/search/docs/appearance/structured-data/article#structured-data-type-definitions -return{'@context':'https://schema.org','@type':'BlogPosting','@id':url,mainEntityOfPage:url,url,headline:title,name:title,description,datePublished:date,...(dateModified?{dateModified}:{}),...getAuthor(metadata.authors),...getImage(image,withBaseUrl,title),...(keywords?{keywords}:{}),isPartOf:{'@type':'Blog','@id':`${siteConfig.url}${blogMetadata.blogBasePath}`,name:blogMetadata.blogTitle}};}/** @returns A {@link https://schema.org/Person} constructed from the {@link Author} */function createPersonStructuredData(author){return{'@type':'Person',...(author.name?{name:author.name}:{}),...(author.title?{description:author.title}:{}),...(author.url?{url:author.url}:{}),...(author.email?{email:author.email}:{}),...(author.imageURL?{image:author.imageURL}:{})};}/** @returns A {@link https://schema.org/ImageObject} */function createImageStructuredData({imageUrl,caption}){return{'@type':'ImageObject','@id':imageUrl,url:imageUrl,contentUrl:imageUrl,caption};} -// EXTERNAL MODULE: ../node_modules/react-router/esm/react-router.js -var react_router = __webpack_require__(9519); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/jsUtils.js -var jsUtils = __webpack_require__(29); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/routesUtils.js -var routesUtils = __webpack_require__(5438); -;// ../packages/docusaurus-plugin-content-blog/lib/client/sidebarUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function isVisible(item,pathname){if(item.unlisted&&!(0,routesUtils/* isSamePath */.ys)(item.permalink,pathname)){return false;}return true;}/** - * Return the visible blog sidebar items to display. - * Unlisted items are filtered. - */function useVisibleBlogSidebarItems(items){const{pathname}=(0,react_router/* useLocation */.zy)();return (0,react.useMemo)(()=>items.filter(item=>isVisible(item,pathname)),[items,pathname]);}function groupBlogSidebarItemsByYear(items){const groupedByYear=(0,jsUtils/* groupBy */.$z)(items,item=>{return`${new Date(item.date).getFullYear()}`;});// "as" is safe here -// see https://github.com/microsoft/TypeScript/pull/56805#issuecomment-2196526425 -const entries=Object.entries(groupedByYear);// We have to use entries because of https://x.com/sebastienlorber/status/1806371668614369486 -// Objects with string/number keys are automatically sorted asc... -// Even if keys are strings like "2024" -// We want descending order for years -// Alternative: using Map.groupBy (not affected by this "reordering") -entries.reverse();return entries;}function BlogSidebarItemList({items,ulClassName,liClassName,linkClassName,linkActiveClassName}){return/*#__PURE__*/(0,jsx_runtime.jsx)("ul",{className:ulClassName,children:items.map(item=>/*#__PURE__*/(0,jsx_runtime.jsx)("li",{className:liClassName,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{isNavLink:true,to:item.permalink,className:linkClassName,activeClassName:linkActiveClassName,children:item.title})},item.permalink))});} -;// ../packages/docusaurus-plugin-content-blog/lib/client/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/***/ }), - -/***/ 2375: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ VQ: () => (/* binding */ DocsPreferredVersionContextProvider), -/* harmony export */ g1: () => (/* binding */ useDocsPreferredVersion) -/* harmony export */ }); -/* unused harmony export useDocsPreferredVersionByPluginId */ -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5996); -/* harmony import */ var _docusaurus_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3170); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6963); -/* harmony import */ var _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8463); -/* harmony import */ var _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9129); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const storageKey=pluginId=>`docs-preferred-version-${pluginId}`;const DocsPreferredVersionStorage={save:(pluginId,persistence,versionName)=>{(0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_2__/* .createStorageSlot */ .Wf)(storageKey(pluginId),{persistence}).set(versionName);},read:(pluginId,persistence)=>(0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_2__/* .createStorageSlot */ .Wf)(storageKey(pluginId),{persistence}).get(),clear:(pluginId,persistence)=>{(0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_2__/* .createStorageSlot */ .Wf)(storageKey(pluginId),{persistence}).del();}};/** - * Initial state is always null as we can't read local storage from node SSR - */const getInitialState=pluginIds=>Object.fromEntries(pluginIds.map(id=>[id,{preferredVersionName:null}]));/** - * Read storage for all docs plugins, assigning each doc plugin a preferred - * version (if found) - */function readStorageState({pluginIds,versionPersistence,allDocsData}){/** - * The storage value we read might be stale, and belong to a version that does - * not exist in the site anymore. In such case, we remove the storage value to - * avoid downstream errors. - */function restorePluginState(pluginId){const preferredVersionNameUnsafe=DocsPreferredVersionStorage.read(pluginId,versionPersistence);const pluginData=allDocsData[pluginId];const versionExists=pluginData.versions.some(version=>version.name===preferredVersionNameUnsafe);if(versionExists){return{preferredVersionName:preferredVersionNameUnsafe};}DocsPreferredVersionStorage.clear(pluginId,versionPersistence);return{preferredVersionName:null};}return Object.fromEntries(pluginIds.map(id=>[id,restorePluginState(id)]));}function useVersionPersistence(){return (0,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_3__/* .useThemeConfig */ .p)().docs.versionPersistence;}const Context=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);function useContextValue(){const allDocsData=(0,_docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_4__/* .useAllDocsData */ .Gy)();const versionPersistence=useVersionPersistence();const pluginIds=(0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>Object.keys(allDocsData),[allDocsData]);// Initial state is empty, as we can't read browser storage in node/SSR -const[state,setState]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>getInitialState(pluginIds));// On mount, we set the state read from browser storage -(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{setState(readStorageState({allDocsData,versionPersistence,pluginIds}));},[allDocsData,versionPersistence,pluginIds]);// The API that we expose to consumer hooks (memo for constant object) -const api=(0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{function savePreferredVersion(pluginId,versionName){DocsPreferredVersionStorage.save(pluginId,versionPersistence,versionName);setState(s=>({...s,[pluginId]:{preferredVersionName:versionName}}));}return{savePreferredVersion};},[versionPersistence]);return[state,api];}function DocsPreferredVersionContextProviderUnsafe({children}){const value=useContextValue();return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Context.Provider,{value:value,children:children});}/** - * This is a maybe-layer. If the docs plugin is not enabled, this provider is a - * simple pass-through. - */function DocsPreferredVersionContextProvider({children}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(DocsPreferredVersionContextProviderUnsafe,{children:children});}function useDocsPreferredVersionContext(){const value=(0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context);if(!value){throw new _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_5__/* .ReactContextError */ .dV('DocsPreferredVersionContextProvider');}return value;}/** - * Returns a read-write interface to a plugin's preferred version. The - * "preferred version" is defined as the last version that the user visited. - * For example, if a user is using v3, even when v4 is later published, the user - * would still be browsing v3 docs when she opens the website next time. Note, - * the `preferredVersion` attribute will always be `null` before mount. - */function useDocsPreferredVersion(pluginId=_docusaurus_constants__WEBPACK_IMPORTED_MODULE_6__/* .DEFAULT_PLUGIN_ID */ .W){const docsData=(0,_docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_4__/* .useDocsData */ .ht)(pluginId);const[state,api]=useDocsPreferredVersionContext();const{preferredVersionName}=state[pluginId];const preferredVersion=docsData.versions.find(version=>version.name===preferredVersionName)??null;const savePreferredVersionName=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(versionName=>{api.savePreferredVersion(pluginId,versionName);},[api,pluginId]);return{preferredVersion,savePreferredVersionName};}function useDocsPreferredVersionByPluginId(){const allDocsData=useAllDocsData();const[state]=useDocsPreferredVersionContext();function getPluginIdPreferredVersion(pluginId){const docsData=allDocsData[pluginId];const{preferredVersionName}=state[pluginId];return docsData.versions.find(version=>version.name===preferredVersionName)??null;}const pluginIds=Object.keys(allDocsData);return Object.fromEntries(pluginIds.map(id=>[id,getPluginIdPreferredVersion(id)]));} - -/***/ }), - -/***/ 3770: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ V: () => (/* binding */ DocsSidebarProvider), -/* harmony export */ t: () => (/* binding */ useDocsSidebar) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9129); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Using a Symbol because null is a valid context value (a doc with no sidebar) -// Inspired by https://github.com/jamiebuilds/unstated-next/blob/master/src/unstated-next.tsx -const EmptyContext=Symbol('EmptyContext');const Context=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(EmptyContext);/** - * Provide the current sidebar to your children. - */function DocsSidebarProvider({children,name,items}){const stableValue=(0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>name&&items?{name,items}:null,[name,items]);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Context.Provider,{value:stableValue,children:children});}/** - * Gets the sidebar that's currently displayed, or `null` if there isn't one - */function useDocsSidebar(){const value=(0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context);if(value===EmptyContext){throw new _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_2__/* .ReactContextError */ .dV('DocsSidebarProvider');}return value;} - -/***/ }), - -/***/ 4271: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ $S: () => (/* binding */ useCurrentSidebarCategory), -/* harmony export */ B5: () => (/* binding */ useDocRootMetadata), -/* harmony export */ Nr: () => (/* binding */ findFirstSidebarItemLink), -/* harmony export */ OF: () => (/* binding */ useSidebarBreadcrumbs), -/* harmony export */ QB: () => (/* binding */ useLayoutDoc), -/* harmony export */ Vd: () => (/* binding */ useDocsVersionCandidates), -/* harmony export */ Y: () => (/* binding */ useVisibleSidebarItems), -/* harmony export */ a4: () => (/* binding */ useCurrentSidebarSiblings), -/* harmony export */ cC: () => (/* binding */ useDocById), -/* harmony export */ d1: () => (/* binding */ filterDocCardListItems), -/* harmony export */ fW: () => (/* binding */ useLayoutDocsSidebar), -/* harmony export */ w8: () => (/* binding */ isActiveSidebarItem) -/* harmony export */ }); -/* unused harmony exports findSidebarCategory, findFirstSidebarItemCategoryLink, isVisibleSidebarItem */ -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9519); -/* harmony import */ var _docusaurus_renderRoutes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3971); -/* harmony import */ var _docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5996); -/* harmony import */ var _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5438); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(29); -/* harmony import */ var _docsPreferredVersion__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2375); -/* harmony import */ var _docsVersion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8218); -/* harmony import */ var _docsSidebar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3770); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useDocById(id){const version=(0,_docsVersion__WEBPACK_IMPORTED_MODULE_1__/* .useDocsVersion */ .r)();if(!id){return undefined;}const doc=version.docs[id];if(!doc){throw new Error(`no version doc found by id=${id}`);}return doc;}/** - * Pure function, similar to `Array#find`, but works on the sidebar tree. - */function findSidebarCategory(sidebar,predicate){for(const item of sidebar){if(item.type==='category'){if(predicate(item)){return item;}const subItem=findSidebarCategory(item.items,predicate);if(subItem){return subItem;}}}return undefined;}/** - * Best effort to assign a link to a sidebar category. If the category doesn't - * have a link itself, we link to the first sub item with a link. - */function findFirstSidebarItemCategoryLink(item){if(item.href&&!item.linkUnlisted){return item.href;}for(const subItem of item.items){const link=findFirstSidebarItemLink(subItem);if(link){return link;}}return undefined;}/** - * Best effort to assign a link to a sidebar item. - */function findFirstSidebarItemLink(item){if(item.type==='link'&&!item.unlisted){return item.href;}if(item.type==='category'){return findFirstSidebarItemCategoryLink(item);}// Other items types, like "html" -return undefined;}/** - * Gets the category associated with the current location. Should only be used - * on category index pages. - */function useCurrentSidebarCategory(){const{pathname}=(0,_docusaurus_router__WEBPACK_IMPORTED_MODULE_2__/* .useLocation */ .zy)();const sidebar=(0,_docsSidebar__WEBPACK_IMPORTED_MODULE_3__/* .useDocsSidebar */ .t)();if(!sidebar){throw new Error('Unexpected: cant find current sidebar in context');}const categoryBreadcrumbs=getSidebarBreadcrumbs({sidebarItems:sidebar.items,pathname,onlyCategories:true});const deepestCategory=categoryBreadcrumbs.slice(-1)[0];if(!deepestCategory){throw new Error(`${pathname} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);}return deepestCategory;}/** - * Gets the category associated with the current location. Should only be used - * on category index pages. - */function useCurrentSidebarSiblings(){const{pathname}=(0,_docusaurus_router__WEBPACK_IMPORTED_MODULE_2__/* .useLocation */ .zy)();const sidebar=(0,_docsSidebar__WEBPACK_IMPORTED_MODULE_3__/* .useDocsSidebar */ .t)();if(!sidebar){throw new Error('Unexpected: cant find current sidebar in context');}const categoryBreadcrumbs=getSidebarBreadcrumbs({sidebarItems:sidebar.items,pathname,onlyCategories:true});const deepestCategory=categoryBreadcrumbs.slice(-1)[0];return deepestCategory?.items??sidebar.items;}const isActive=(testedPath,activePath)=>typeof testedPath!=='undefined'&&(0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_4__/* .isSamePath */ .ys)(testedPath,activePath);const containsActiveSidebarItem=(items,activePath)=>items.some(subItem=>isActiveSidebarItem(subItem,activePath));/** - * Checks if a sidebar item should be active, based on the active path. - */function isActiveSidebarItem(item,activePath){if(item.type==='link'){return isActive(item.href,activePath);}if(item.type==='category'){return isActive(item.href,activePath)||containsActiveSidebarItem(item.items,activePath);}return false;}function isVisibleSidebarItem(item,activePath){switch(item.type){case'category':return isActiveSidebarItem(item,activePath)||typeof item.href!=='undefined'&&!item.linkUnlisted||item.items.some(subItem=>isVisibleSidebarItem(subItem,activePath));case'link':// An unlisted item remains visible if it is active -return!item.unlisted||isActiveSidebarItem(item,activePath);default:return true;}}function useVisibleSidebarItems(items,activePath){return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>items.filter(item=>isVisibleSidebarItem(item,activePath)),[items,activePath]);}/** - * Get the sidebar the breadcrumbs for a given pathname - * Ordered from top to bottom - */function getSidebarBreadcrumbs({sidebarItems,pathname,onlyCategories=false}){const breadcrumbs=[];function extract(items){for(const item of items){if(item.type==='category'&&((0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_4__/* .isSamePath */ .ys)(item.href,pathname)||extract(item.items))||item.type==='link'&&(0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_4__/* .isSamePath */ .ys)(item.href,pathname)){const filtered=onlyCategories&&item.type!=='category';if(!filtered){breadcrumbs.unshift(item);}return true;}}return false;}extract(sidebarItems);return breadcrumbs;}/** - * Gets the breadcrumbs of the current doc page, based on its sidebar location. - * Returns `null` if there's no sidebar or breadcrumbs are disabled. - */function useSidebarBreadcrumbs(){const sidebar=(0,_docsSidebar__WEBPACK_IMPORTED_MODULE_3__/* .useDocsSidebar */ .t)();const{pathname}=(0,_docusaurus_router__WEBPACK_IMPORTED_MODULE_2__/* .useLocation */ .zy)();const breadcrumbsOption=(0,_docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_5__/* .useActivePlugin */ .vT)()?.pluginData.breadcrumbs;if(breadcrumbsOption===false||!sidebar){return null;}return getSidebarBreadcrumbs({sidebarItems:sidebar.items,pathname});}/** - * "Version candidates" are mostly useful for the layout components, which must - * be able to work on all pages. For example, if a user has `{ type: "doc", - * docId: "intro" }` as a navbar item, which version does that refer to? We - * believe that it could refer to at most three version candidates: - * - * 1. The **active version**, the one that the user is currently browsing. See - * {@link useActiveDocContext}. - * 2. The **preferred version**, the one that the user last visited. See - * {@link useDocsPreferredVersion}. - * 3. The **latest version**, the "default". See {@link useLatestVersion}. - * - * @param docsPluginId The plugin ID to get versions from. - * @returns An array of 1~3 versions with priorities defined above, guaranteed - * to be unique and non-sparse. Will be memoized, hence stable for deps array. - */function useDocsVersionCandidates(docsPluginId){const{activeVersion}=(0,_docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_5__/* .useActiveDocContext */ .zK)(docsPluginId);const{preferredVersion}=(0,_docsPreferredVersion__WEBPACK_IMPORTED_MODULE_6__/* .useDocsPreferredVersion */ .g1)(docsPluginId);const latestVersion=(0,_docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_5__/* .useLatestVersion */ .r7)(docsPluginId);return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>(0,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_7__/* .uniq */ .sb)([activeVersion,preferredVersion,latestVersion].filter(Boolean)),[activeVersion,preferredVersion,latestVersion]);}/** - * The layout components, like navbar items, must be able to work on all pages, - * even on non-doc ones where there's no version context, so a sidebar ID could - * be ambiguous. This hook would always return a sidebar to be linked to. See - * also {@link useDocsVersionCandidates} for how this selection is done. - * - * @throws This hook throws if a sidebar with said ID is not found. - */function useLayoutDocsSidebar(sidebarId,docsPluginId){const versions=useDocsVersionCandidates(docsPluginId);return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{const allSidebars=versions.flatMap(version=>version.sidebars?Object.entries(version.sidebars):[]);const sidebarEntry=allSidebars.find(sidebar=>sidebar[0]===sidebarId);if(!sidebarEntry){throw new Error(`Can't find any sidebar with id "${sidebarId}" in version${versions.length>1?'s':''} ${versions.map(version=>version.name).join(', ')}". -Available sidebar ids are: -- ${allSidebars.map(entry=>entry[0]).join('\n- ')}`);}return sidebarEntry[1];},[sidebarId,versions]);}/** - * The layout components, like navbar items, must be able to work on all pages, - * even on non-doc ones where there's no version context, so a doc ID could be - * ambiguous. This hook would always return a doc to be linked to. See also - * {@link useDocsVersionCandidates} for how this selection is done. - * - * @throws This hook throws if a doc with said ID is not found. - */function useLayoutDoc(docId,docsPluginId){const versions=useDocsVersionCandidates(docsPluginId);return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{const allDocs=versions.flatMap(version=>version.docs);const doc=allDocs.find(versionDoc=>versionDoc.id===docId);if(!doc){const isDraft=versions.flatMap(version=>version.draftIds).includes(docId);// Drafts should be silently filtered instead of throwing -if(isDraft){return null;}throw new Error(`Couldn't find any doc with id "${docId}" in version${versions.length>1?'s':''} "${versions.map(version=>version.name).join(', ')}". -Available doc ids are: -- ${(0,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_7__/* .uniq */ .sb)(allDocs.map(versionDoc=>versionDoc.id)).join('\n- ')}`);}return doc;},[docId,versions]);}// TODO later read version/route directly from context -/** - * The docs plugin creates nested routes, with the top-level route providing the - * version metadata, and the subroutes creating individual doc pages. This hook - * will match the current location against all known sub-routes. - * - * @param props The props received by `@theme/DocRoot` - * @returns The data of the relevant document at the current location, or `null` - * if no document associated with the current location can be found. - */function useDocRootMetadata({route}){const location=(0,_docusaurus_router__WEBPACK_IMPORTED_MODULE_2__/* .useLocation */ .zy)();const versionMetadata=(0,_docsVersion__WEBPACK_IMPORTED_MODULE_1__/* .useDocsVersion */ .r)();const docRoutes=route.routes;const currentDocRoute=docRoutes.find(docRoute=>(0,_docusaurus_router__WEBPACK_IMPORTED_MODULE_2__/* .matchPath */ .B6)(location.pathname,docRoute));if(!currentDocRoute){return null;}// For now, the sidebarName is added as route config: not ideal! -const sidebarName=currentDocRoute.sidebar;const sidebarItems=sidebarName?versionMetadata.docsSidebars[sidebarName]:undefined;const docElement=(0,_docusaurus_renderRoutes__WEBPACK_IMPORTED_MODULE_8__/* .renderRoutes */ .v)(docRoutes);return{docElement,sidebarName,sidebarItems};}/** - * Filter items we don't want to display on the doc card list view - * @param items - */function filterDocCardListItems(items){return items.filter(item=>{const canHaveLink=item.type==='category'||item.type==='link';if(canHaveLink){return!!findFirstSidebarItemLink(item);}return true;});} - -/***/ }), - -/***/ 8218: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ n: () => (/* binding */ DocsVersionProvider), -/* harmony export */ r: () => (/* binding */ useDocsVersion) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9129); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Context=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);/** - * Provide the current version's metadata to your children. - */function DocsVersionProvider({children,version}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Context.Provider,{value:version,children:children});}/** - * Gets the version metadata of the current doc page. - */function useDocsVersion(){const version=(0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context);if(version===null){throw new _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_2__/* .ReactContextError */ .dV('DocsVersionProvider');}return version;} - -/***/ }), - -/***/ 5996: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - zK: () => (/* binding */ useActiveDocContext), - vT: () => (/* binding */ useActivePlugin), - Gy: () => (/* binding */ useAllDocsData), - HW: () => (/* binding */ useDocVersionSuggestions), - ht: () => (/* binding */ useDocsData), - r7: () => (/* binding */ useLatestVersion), - jh: () => (/* binding */ useVersions) -}); - -// UNUSED EXPORTS: DocProvider, DocSidebarItemsExpandedStateProvider, DocsPreferredVersionContextProvider, DocsSidebarProvider, DocsVersionProvider, filterDocCardListItems, findFirstSidebarItemLink, findSidebarCategory, getDocsVersionSearchTag, isActiveSidebarItem, isVisibleSidebarItem, useActivePluginAndVersion, useActiveVersion, useBreadcrumbsStructuredData, useCurrentSidebarCategory, useCurrentSidebarSiblings, useDoc, useDocById, useDocRootMetadata, useDocSidebarItemsExpandedState, useDocsContextualSearchTags, useDocsPreferredVersion, useDocsPreferredVersionByPluginId, useDocsSidebar, useDocsVersion, useDocsVersionCandidates, useLayoutDoc, useLayoutDocsSidebar, useSidebarBreadcrumbs, useVisibleSidebarItems - -// EXTERNAL MODULE: ../node_modules/react-router/esm/react-router.js -var react_router = __webpack_require__(9519); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useDocusaurusContext.js -var useDocusaurusContext = __webpack_require__(1571); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/constants.js -var constants = __webpack_require__(3170); -;// ../packages/docusaurus/lib/client/exports/useGlobalData.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useGlobalData(){const{globalData}=(0,useDocusaurusContext/* default */.A)();return globalData;}function useAllPluginInstancesData(pluginName,options={}){const globalData=useGlobalData();const pluginGlobalData=globalData[pluginName];if(!pluginGlobalData&&options.failfast){throw new Error(`Docusaurus plugin global data not found for "${pluginName}" plugin.`);}return pluginGlobalData;}function usePluginData(pluginName,pluginId=constants/* DEFAULT_PLUGIN_ID */.W,options={}){const pluginGlobalData=useAllPluginInstancesData(pluginName);const pluginInstanceGlobalData=pluginGlobalData?.[pluginId];if(!pluginInstanceGlobalData&&options.failfast){throw new Error(`Docusaurus plugin global data not found for "${pluginName}" plugin with id "${pluginId}".`);}return pluginInstanceGlobalData;} -;// ../packages/docusaurus-plugin-content-docs/lib/client/docsClientUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// This code is not part of the api surface, not in ./theme on purpose -// get the data of the plugin that is currently "active" -// ie the docs of that plugin are currently browsed -// it is useful to support multiple docs plugin instances -function getActivePlugin(allPluginData,pathname,options={}){const activeEntry=Object.entries(allPluginData)// Route sorting: '/android/foo' should match '/android' instead of '/' -.sort((a,b)=>b[1].path.localeCompare(a[1].path)).find(([,pluginData])=>!!(0,react_router/* matchPath */.B6)(pathname,{path:pluginData.path,exact:false,strict:false}));const activePlugin=activeEntry?{pluginId:activeEntry[0],pluginData:activeEntry[1]}:undefined;if(!activePlugin&&options.failfast){throw new Error(`Can't find active docs plugin for "${pathname}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(allPluginData).map(plugin=>plugin.path).join(', ')}`);}return activePlugin;}const getLatestVersion=data=>data.versions.find(version=>version.isLast);function docsClientUtils_getActiveVersion(data,pathname){// Sort paths so that a match-all version like /docs/* is matched last -// Otherwise /docs/* would match /docs/1.0.0/* routes -// This is simplified but similar to the core sortRoutes() logic -const sortedVersions=[...data.versions].sort((a,b)=>{if(a.path===b.path){return 0;}if(a.path.includes(b.path)){return-1;}if(b.path.includes(a.path)){return 1;}return 0;});return sortedVersions.find(version=>!!(0,react_router/* matchPath */.B6)(pathname,{path:version.path,exact:false,strict:false}));}function getActiveDocContext(data,pathname){const activeVersion=docsClientUtils_getActiveVersion(data,pathname);const activeDoc=activeVersion?.docs.find(doc=>!!(0,react_router/* matchPath */.B6)(pathname,{path:doc.path,exact:true,strict:false}));function getAlternateVersionDocs(docId){const result={};data.versions.forEach(version=>{version.docs.forEach(doc=>{if(doc.id===docId){result[version.name]=doc;}});});return result;}const alternateVersionDocs=activeDoc?getAlternateVersionDocs(activeDoc.id):{};return{activeVersion,activeDoc,alternateDocVersions:alternateVersionDocs};}function getDocVersionSuggestions(data,pathname){const latestVersion=getLatestVersion(data);const activeDocContext=getActiveDocContext(data,pathname);const latestDocSuggestion=activeDocContext.alternateDocVersions[latestVersion.name];return{latestDocSuggestion,latestVersionSuggestion:latestVersion};} -;// ../packages/docusaurus-plugin-content-docs/lib/client/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Important to use a constant object to avoid React useEffect executions etc. -// see https://github.com/facebook/docusaurus/issues/5089 -const StableEmptyObject={};// In blog-only mode, docs hooks are still used by the theme. We need a fail- -// safe fallback when the docs plugin is not in use -const useAllDocsData=()=>useAllPluginInstancesData('docusaurus-plugin-content-docs')??StableEmptyObject;const useDocsData=pluginId=>{try{return usePluginData('docusaurus-plugin-content-docs',pluginId,{failfast:true});}catch(error){throw new Error(`You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled${pluginId==='Default'?'':` (pluginId=${pluginId}`}`,{cause:error});}};// TODO this feature should be provided by docusaurus core -function useActivePlugin(options={}){const data=useAllDocsData();const{pathname}=(0,react_router/* useLocation */.zy)();return getActivePlugin(data,pathname,options);}function useActivePluginAndVersion(options={}){const activePlugin=useActivePlugin(options);const{pathname}=useLocation();if(!activePlugin){return undefined;}const activeVersion=getActiveVersion(activePlugin.pluginData,pathname);return{activePlugin,activeVersion};}/** Versions are returned ordered (most recent first). */function useVersions(pluginId){const data=useDocsData(pluginId);return data.versions;}function useLatestVersion(pluginId){const data=useDocsData(pluginId);return getLatestVersion(data);}/** - * Returns `undefined` on doc-unrelated pages, because there's no version - * currently considered as active. - */function useActiveVersion(pluginId){const data=useDocsData(pluginId);const{pathname}=useLocation();return getActiveVersion(data,pathname);}function useActiveDocContext(pluginId){const data=useDocsData(pluginId);const{pathname}=(0,react_router/* useLocation */.zy)();return getActiveDocContext(data,pathname);}/** - * Useful to say "hey, you are not on the latest docs version, please switch" - */function useDocVersionSuggestions(pluginId){const data=useDocsData(pluginId);const{pathname}=(0,react_router/* useLocation */.zy)();return getDocVersionSuggestions(data,pathname);} - -/***/ }), - -/***/ 4987: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var nprogress__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7671); -/* harmony import */ var nprogress__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(nprogress__WEBPACK_IMPORTED_MODULE_0__); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */nprogress__WEBPACK_IMPORTED_MODULE_0___default().configure({showSpinner:false});const delay=200;const clientModule={onRouteUpdate({location,previousLocation}){if(previousLocation&&location.pathname!==previousLocation.pathname){const progressBarTimeout=window.setTimeout(()=>{nprogress__WEBPACK_IMPORTED_MODULE_0___default().start();},delay);return()=>window.clearTimeout(progressBarTimeout);}return undefined;},onRouteDidUpdate(){nprogress__WEBPACK_IMPORTED_MODULE_0___default().done();}};/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clientModule); - -/***/ }), - -/***/ 1283: -/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXTERNAL MODULE: ../node_modules/prism-react-renderer/dist/index.mjs -var dist = __webpack_require__(7663); -// EXTERNAL MODULE: ./.docusaurus/docusaurus.config.mjs -var docusaurus_config = __webpack_require__(4784); -;// ../packages/docusaurus-theme-classic/lib/theme/prism-include-languages.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function prismIncludeLanguages(PrismObject){const{themeConfig:{prism}}=docusaurus_config["default"];const{additionalLanguages}=prism;// Prism components work on the Prism instance on the window, while prism- -// react-renderer uses its own Prism instance. We temporarily mount the -// instance onto window, import components to enhance it, then remove it to -// avoid polluting global namespace. -// You can mutate PrismObject: registering plugins, deleting languages... As -// long as you don't re-assign it -const PrismBefore=globalThis.Prism;globalThis.Prism=PrismObject;additionalLanguages.forEach(lang=>{if(lang==='php'){// eslint-disable-next-line global-require -__webpack_require__(5968);}// eslint-disable-next-line global-require, import/no-dynamic-require -__webpack_require__(1441)(`./prism-${lang}`);});// Clean up and eventually restore former globalThis.Prism object (if any) -delete globalThis.Prism;if(typeof PrismBefore!=='undefined'){globalThis.Prism=PrismObject;}} -;// ../packages/docusaurus-theme-classic/lib/prism-include-languages.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */prismIncludeLanguages(dist/* Prism */.My); - -/***/ }), - -/***/ 4707: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ Admonition) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-common/lib/utils/admonitionUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Workaround because it's difficult in MDX v1 to provide a MDX title as props -// See https://github.com/facebook/docusaurus/pull/7152#issuecomment-1145779682 -function extractMDXAdmonitionTitle(children){const items=react.Children.toArray(children);const mdxAdmonitionTitleWrapper=items.find(item=>/*#__PURE__*/react.isValidElement(item)&&item.type==='mdxAdmonitionTitle');const rest=items.filter(item=>item!==mdxAdmonitionTitleWrapper);const mdxAdmonitionTitle=mdxAdmonitionTitleWrapper?.props.children;return{mdxAdmonitionTitle,rest:rest.length>0?/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:rest}):null};}function processAdmonitionProps(props){const{mdxAdmonitionTitle,rest}=extractMDXAdmonitionTitle(props.children);const title=props.title??mdxAdmonitionTitle;return{...props,// Do not return "title: undefined" prop -// this might create unwanted props overrides when merging props -// For example: {...default,...props} -...(title&&{title}),children:rest};} -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Admonition/Layout/styles.module.css -var styles_module = __webpack_require__(1964); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Layout/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function AdmonitionContainer({type,className,children}){return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.common.admonition,ThemeClassNames/* ThemeClassNames */.G.common.admonitionType(type),(styles_module_default()).admonition,className),children:children});}function AdmonitionHeading({icon,title}){return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(styles_module_default()).admonitionHeading,children:[/*#__PURE__*/(0,jsx_runtime.jsx)("span",{className:(styles_module_default()).admonitionIcon,children:icon}),title]});}function AdmonitionContent({children}){return children?/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(styles_module_default()).admonitionContent,children:children}):null;}function AdmonitionLayout(props){const{type,icon,title,children,className}=props;return/*#__PURE__*/(0,jsx_runtime.jsxs)(AdmonitionContainer,{type:type,className:className,children:[title||icon?/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionHeading,{title:title,icon:icon}):null,/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionContent,{children:children})]});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Icon/Note.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function AdmonitionIconNote(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 14 16",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Type/Note.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const infimaClassName='alert alert--secondary';const defaultProps={icon:/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionIconNote,{}),title:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function AdmonitionTypeNote(props){return/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionLayout,{...defaultProps,...props,className:(0,clsx/* default */.A)(infimaClassName,props.className),children:props.children});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Icon/Tip.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function AdmonitionIconTip(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 12 16",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Type/Tip.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Tip_infimaClassName='alert alert--success';const Tip_defaultProps={icon:/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionIconTip,{}),title:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function AdmonitionTypeTip(props){return/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionLayout,{...Tip_defaultProps,...props,className:(0,clsx/* default */.A)(Tip_infimaClassName,props.className),children:props.children});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Icon/Info.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function AdmonitionIconInfo(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 14 16",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Type/Info.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Info_infimaClassName='alert alert--info';const Info_defaultProps={icon:/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionIconInfo,{}),title:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function AdmonitionTypeInfo(props){return/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionLayout,{...Info_defaultProps,...props,className:(0,clsx/* default */.A)(Info_infimaClassName,props.className),children:props.children});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Icon/Warning.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function AdmonitionIconCaution(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 16 16",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Type/Warning.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Warning_infimaClassName='alert alert--warning';const Warning_defaultProps={icon:/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionIconCaution,{}),title:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function AdmonitionTypeWarning(props){return/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionLayout,{...Warning_defaultProps,...props,className:(0,clsx/* default */.A)(Warning_infimaClassName,props.className),children:props.children});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Icon/Danger.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function AdmonitionIconDanger(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 12 16",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Type/Danger.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Danger_infimaClassName='alert alert--danger';const Danger_defaultProps={icon:/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionIconDanger,{}),title:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};function AdmonitionTypeDanger(props){return/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionLayout,{...Danger_defaultProps,...props,className:(0,clsx/* default */.A)(Danger_infimaClassName,props.className),children:props.children});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Type/Caution.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Caution_infimaClassName='alert alert--warning';const Caution_defaultProps={icon:/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionIconCaution,{}),title:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};// TODO remove before v4: Caution replaced by Warning -// see https://github.com/facebook/docusaurus/issues/7558 -function AdmonitionTypeCaution(props){return/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionLayout,{...Caution_defaultProps,...props,className:(0,clsx/* default */.A)(Caution_infimaClassName,props.className),children:props.children});} -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/Types.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const admonitionTypes={note:AdmonitionTypeNote,tip:AdmonitionTypeTip,info:AdmonitionTypeInfo,warning:AdmonitionTypeWarning,danger:AdmonitionTypeDanger};// Undocumented legacy admonition type aliases -// Provide hardcoded/untranslated retrocompatible label -// See also https://github.com/facebook/docusaurus/issues/7767 -const admonitionAliases={secondary:props=>/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionTypeNote,{title:"secondary",...props}),important:props=>/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionTypeInfo,{title:"important",...props}),success:props=>/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionTypeTip,{title:"success",...props}),caution:AdmonitionTypeCaution};/* harmony default export */ const Types = ({...admonitionTypes,...admonitionAliases}); -;// ../packages/docusaurus-theme-classic/lib/theme/Admonition/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function getAdmonitionTypeComponent(type){const component=Types[type];if(component){return component;}console.warn(`No admonition component found for admonition type "${type}". Using Info as fallback.`);return Types.info;}function Admonition(unprocessedProps){const props=processAdmonitionProps(unprocessedProps);const AdmonitionTypeComponent=getAdmonitionTypeComponent(props.type);return/*#__PURE__*/(0,jsx_runtime.jsx)(AdmonitionTypeComponent,{...props});} - -/***/ }), - -/***/ 2671: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ BlogAuthor) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/Twitter/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// SVG Source: https://svgl.app/ -function Twitter(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 209",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})});}/* harmony default export */ const Socials_Twitter = (Twitter); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/GitHub/styles.module.css -var styles_module = __webpack_require__(4979); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/GitHub/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// SVG Source: https://svgl.app/ -function GitHub(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 250",preserveAspectRatio:"xMidYMid",style:{'--dark':'#000','--light':'#fff'},...props,className:(0,clsx/* default */.A)(props.className,(styles_module_default()).githubSvg),children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})});}/* harmony default export */ const Socials_GitHub = (GitHub); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/X/styles.module.css -var X_styles_module = __webpack_require__(2158); -var X_styles_module_default = /*#__PURE__*/__webpack_require__.n(X_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/X/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// SVG Source: https://svgl.app/ -function X(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",style:{'--dark':'#000','--light':'#fff'},...props,className:(0,clsx/* default */.A)(props.className,(X_styles_module_default()).xSvg),children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})});}/* harmony default export */ const Socials_X = (X); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/StackOverflow/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// SVG Source: https://svgl.app/ -function StackOverflow(props){return/*#__PURE__*/(0,jsx_runtime.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...props,children:[/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]});}/* harmony default export */ const Socials_StackOverflow = (StackOverflow); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/LinkedIn/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// SVG Source: https://svgl.app/ -function LinkedIn(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})});}/* harmony default export */ const Socials_LinkedIn = (LinkedIn); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/Default/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// SVG Source: https://tabler.io/ -function DefaultSocial(props){return/*#__PURE__*/(0,jsx_runtime.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...props,children:[/*#__PURE__*/(0,jsx_runtime.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M3.6 9h16.8"}),/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M3.6 15h16.8"}),/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]});}/* harmony default export */ const Default = (DefaultSocial); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/Bluesky/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// SVG Source: https://svgl.app/ -function Bluesky(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 226",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fill:"#1185FE",d:"M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"})});}/* harmony default export */ const Socials_Bluesky = (Bluesky); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/Instagram/styles.module.css -var Instagram_styles_module = __webpack_require__(3138); -var Instagram_styles_module_default = /*#__PURE__*/__webpack_require__.n(Instagram_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/Instagram/index.js -// SVG Source: https://svgl.app/ -function Instagram(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{'--dark':'#000','--light':'#fff'},...props,className:(0,clsx/* default */.A)(props.className,(Instagram_styles_module_default()).instagramSvg),children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M128 23.064c34.177 0 38.225.13 51.722.745 12.48.57 19.258 2.655 23.769 4.408 5.974 2.322 10.238 5.096 14.717 9.575 4.48 4.479 7.253 8.743 9.575 14.717 1.753 4.511 3.838 11.289 4.408 23.768.615 13.498.745 17.546.745 51.723 0 34.178-.13 38.226-.745 51.723-.57 12.48-2.655 19.257-4.408 23.768-2.322 5.974-5.096 10.239-9.575 14.718-4.479 4.479-8.743 7.253-14.717 9.574-4.511 1.753-11.289 3.839-23.769 4.408-13.495.616-17.543.746-51.722.746-34.18 0-38.228-.13-51.723-.746-12.48-.57-19.257-2.655-23.768-4.408-5.974-2.321-10.239-5.095-14.718-9.574-4.479-4.48-7.253-8.744-9.574-14.718-1.753-4.51-3.839-11.288-4.408-23.768-.616-13.497-.746-17.545-.746-51.723 0-34.177.13-38.225.746-51.722.57-12.48 2.655-19.258 4.408-23.769 2.321-5.974 5.095-10.238 9.574-14.717 4.48-4.48 8.744-7.253 14.718-9.575 4.51-1.753 11.288-3.838 23.768-4.408 13.497-.615 17.545-.745 51.723-.745M128 0C93.237 0 88.878.147 75.226.77c-13.625.622-22.93 2.786-31.071 5.95-8.418 3.271-15.556 7.648-22.672 14.764C14.367 28.6 9.991 35.738 6.72 44.155 3.555 52.297 1.392 61.602.77 75.226.147 88.878 0 93.237 0 128c0 34.763.147 39.122.77 52.774.622 13.625 2.785 22.93 5.95 31.071 3.27 8.417 7.647 15.556 14.763 22.672 7.116 7.116 14.254 11.492 22.672 14.763 8.142 3.165 17.446 5.328 31.07 5.95 13.653.623 18.012.77 52.775.77s39.122-.147 52.774-.77c13.624-.622 22.929-2.785 31.07-5.95 8.418-3.27 15.556-7.647 22.672-14.763 7.116-7.116 11.493-14.254 14.764-22.672 3.164-8.142 5.328-17.446 5.95-31.07.623-13.653.77-18.012.77-52.775s-.147-39.122-.77-52.774c-.622-13.624-2.786-22.929-5.95-31.07-3.271-8.418-7.648-15.556-14.764-22.672C227.4 14.368 220.262 9.99 211.845 6.72c-8.142-3.164-17.447-5.328-31.071-5.95C167.122.147 162.763 0 128 0Zm0 62.27C91.698 62.27 62.27 91.7 62.27 128c0 36.302 29.428 65.73 65.73 65.73 36.301 0 65.73-29.428 65.73-65.73 0-36.301-29.429-65.73-65.73-65.73Zm0 108.397c-23.564 0-42.667-19.103-42.667-42.667S104.436 85.333 128 85.333s42.667 19.103 42.667 42.667-19.103 42.667-42.667 42.667Zm83.686-110.994c0 8.484-6.876 15.36-15.36 15.36-8.483 0-15.36-6.876-15.36-15.36 0-8.483 6.877-15.36 15.36-15.36 8.484 0 15.36 6.877 15.36 15.36Z"})});}/* harmony default export */ const Socials_Instagram = (Instagram); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/Threads/styles.module.css -var Threads_styles_module = __webpack_require__(5717); -var Threads_styles_module_default = /*#__PURE__*/__webpack_require__.n(Threads_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/Threads/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// SVG Source: https://svgl.app/ -function Threads(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-label":"Threads",viewBox:"0 0 192 192",width:"1em",fill:"none",height:"1em",style:{'--dark':'#000','--light':'#fff'},...props,className:(0,clsx/* default */.A)(props.className,(Threads_styles_module_default()).threadsSvg),children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.229c8.249.053 14.474 2.452 18.503 7.129 2.932 3.405 4.893 8.111 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.194 47.292 9.642 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553ZM98.44 129.507c-10.44.588-21.286-4.098-21.82-14.135-.397-7.442 5.296-15.746 22.461-16.735 1.966-.114 3.895-.169 5.79-.169 6.235 0 12.068.606 17.371 1.765-1.978 24.702-13.58 28.713-23.802 29.274Z"})});}/* harmony default export */ const Socials_Threads = (Threads); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/YouTube/index.js -// SVG Source: https://svgl.app/ -function YouTube(props){return/*#__PURE__*/(0,jsx_runtime.jsxs)("svg",{viewBox:"0 0 256 180",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...props,children:[/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134Z",fill:"red"}),/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fill:"#FFF",d:"m102.421 128.06 66.328-38.418-66.328-38.418z"})]});}/* harmony default export */ const Socials_YouTube = (YouTube); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/Mastodon/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// SVG Source: https://svgl.app/ -function Mastodon(props){const gradientId=(0,react.useId)();return/*#__PURE__*/(0,jsx_runtime.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 61 65",width:"1em",height:"1em",...props,children:[/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fill:`url(#${gradientId})`,d:"M60.754 14.39C59.814 7.406 53.727 1.903 46.512.836 45.294.656 40.682 0 29.997 0h-.08C19.23 0 16.938.656 15.72.836 8.705 1.873 2.299 6.82.745 13.886c-.748 3.48-.828 7.338-.689 10.877.198 5.075.237 10.142.697 15.197a71.482 71.482 0 0 0 1.664 9.968c1.477 6.056 7.458 11.096 13.317 13.152a35.718 35.718 0 0 0 19.484 1.028 28.365 28.365 0 0 0 2.107-.576c1.572-.5 3.413-1.057 4.766-2.038a.154.154 0 0 0 .062-.118v-4.899a.146.146 0 0 0-.055-.111.145.145 0 0 0-.122-.028 54 54 0 0 1-12.644 1.478c-7.328 0-9.298-3.478-9.863-4.925a15.258 15.258 0 0 1-.857-3.882.142.142 0 0 1 .178-.145 52.976 52.976 0 0 0 12.437 1.477c1.007 0 2.012 0 3.02-.026 4.213-.119 8.654-.334 12.8-1.144.103-.02.206-.038.295-.065 6.539-1.255 12.762-5.196 13.394-15.176.024-.393.083-4.115.083-4.523.003-1.386.446-9.829-.065-15.017Z"}),/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fill:"#fff",d:"M50.394 22.237v17.35H43.52V22.749c0-3.545-1.478-5.353-4.483-5.353-3.303 0-4.958 2.139-4.958 6.364v9.217h-6.835V23.76c0-4.225-1.657-6.364-4.96-6.364-2.988 0-4.48 1.808-4.48 5.353v16.84H10.93V22.237c0-3.545.905-6.362 2.715-8.45 1.868-2.082 4.317-3.152 7.358-3.152 3.519 0 6.178 1.354 7.951 4.057l1.711 2.871 1.714-2.871c1.773-2.704 4.432-4.056 7.945-4.056 3.038 0 5.487 1.069 7.36 3.152 1.81 2.085 2.712 4.902 2.71 8.449Z"}),/*#__PURE__*/(0,jsx_runtime.jsx)("defs",{children:/*#__PURE__*/(0,jsx_runtime.jsxs)("linearGradient",{id:gradientId,x1:30.5,x2:30.5,y1:0,y2:65,gradientUnits:"userSpaceOnUse",children:[/*#__PURE__*/(0,jsx_runtime.jsx)("stop",{stopColor:"#6364FF"}),/*#__PURE__*/(0,jsx_runtime.jsx)("stop",{offset:1,stopColor:"#563ACC"})]})})]});}/* harmony default export */ const Socials_Mastodon = (Mastodon); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Socials/Twitch/index.js -// SVG Source: https://svgl.app/ -function Twitch(props){return/*#__PURE__*/(0,jsx_runtime.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 2400 2800",width:"1em",height:"1em",...props,children:[/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"m2200 1300-400 400h-400l-350 350v-350H600V200h1600z",fill:"#fff"}),/*#__PURE__*/(0,jsx_runtime.jsxs)("g",{children:[/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M500 0 0 500v1800h600v500l500-500h400l900-900V0H500zm1700 1300-400 400h-400l-350 350v-350H600V200h1600v1100z",fill:"#9146ff"}),/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M1700 550h200v600h-200zM1150 550h200v600h-200z",fill:"#9146ff"})]})]});}/* harmony default export */ const Socials_Twitch = (Twitch); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Blog/Components/Author/Socials/styles.module.css -var Socials_styles_module = __webpack_require__(3783); -var Socials_styles_module_default = /*#__PURE__*/__webpack_require__.n(Socials_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Blog/Components/Author/Socials/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const SocialPlatformConfigs={twitter:{Icon:Socials_Twitter,label:'Twitter'},github:{Icon:Socials_GitHub,label:'GitHub'},stackoverflow:{Icon:Socials_StackOverflow,label:'Stack Overflow'},linkedin:{Icon:Socials_LinkedIn,label:'LinkedIn'},x:{Icon:Socials_X,label:'X'},bluesky:{Icon:Socials_Bluesky,label:'Bluesky'},instagram:{Icon:Socials_Instagram,label:'Instagram'},threads:{Icon:Socials_Threads,label:'Threads'},mastodon:{Icon:Socials_Mastodon,label:'Mastodon'},youtube:{Icon:Socials_YouTube,label:'YouTube'},twitch:{Icon:Socials_Twitch,label:'Twitch'}};function getSocialPlatformConfig(platformKey){return SocialPlatformConfigs[platformKey]??{Icon:Default,label:platformKey};}function SocialLink({platform,link}){const{Icon,label}=getSocialPlatformConfig(platform);return/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{className:(Socials_styles_module_default()).authorSocialLink,href:link,title:label,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Icon,{className:(0,clsx/* default */.A)((Socials_styles_module_default()).authorSocialLink)})});}function BlogAuthorSocials({author}){const entries=Object.entries(author.socials??{});return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(Socials_styles_module_default()).authorSocials,children:entries.map(([platform,linkUrl])=>{return/*#__PURE__*/(0,jsx_runtime.jsx)(SocialLink,{platform:platform,link:linkUrl},platform);})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Heading/index.js -var Heading = __webpack_require__(6813); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Blog/Components/Author/styles.module.css -var Author_styles_module = __webpack_require__(2718); -var Author_styles_module_default = /*#__PURE__*/__webpack_require__.n(Author_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Blog/Components/Author/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function MaybeLink(props){if(props.href){return/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{...props});}return/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:props.children});}function AuthorTitle({title}){return/*#__PURE__*/(0,jsx_runtime.jsx)("small",{className:(Author_styles_module_default()).authorTitle,title:title,children:title});}function AuthorName({name,as}){if(!as){return/*#__PURE__*/(0,jsx_runtime.jsx)("span",{className:(Author_styles_module_default()).authorName,children:name});}else{return/*#__PURE__*/(0,jsx_runtime.jsx)(Heading/* default */.A,{as:as,className:(Author_styles_module_default()).authorName,children:name});}}function AuthorBlogPostCount({count}){return/*#__PURE__*/(0,jsx_runtime.jsx)("span",{className:(0,clsx/* default */.A)((Author_styles_module_default()).authorBlogPostCount),children:count});}// Note: in the future we might want to have multiple "BlogAuthor" components -// Creating different display modes with the "as" prop may not be the best idea -// Explainer: https://kyleshevlin.com/prefer-multiple-compositions/ -// For now, we almost use the same design for all cases, so it's good enough -function BlogAuthor({as,author,className,count}){const{name,title,url,imageURL,email,page}=author;const link=page?.permalink||url||email&&`mailto:${email}`||undefined;return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)('avatar margin-bottom--sm',className,(Author_styles_module_default())[`author-as-${as}`]),children:[imageURL&&/*#__PURE__*/(0,jsx_runtime.jsx)(MaybeLink,{href:link,className:"avatar__photo-link",children:/*#__PURE__*/(0,jsx_runtime.jsx)("img",{className:(0,clsx/* default */.A)('avatar__photo',(Author_styles_module_default()).authorImage),src:imageURL,alt:name})}),(name||title)&&/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)('avatar__intro',(Author_styles_module_default()).authorDetails),children:[/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:"avatar__name",children:[name&&/*#__PURE__*/(0,jsx_runtime.jsx)(MaybeLink,{href:link,children:/*#__PURE__*/(0,jsx_runtime.jsx)(AuthorName,{name:name,as:as})}),count!==undefined&&/*#__PURE__*/(0,jsx_runtime.jsx)(AuthorBlogPostCount,{count:count})]}),!!title&&/*#__PURE__*/(0,jsx_runtime.jsx)(AuthorTitle,{title:title}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogAuthorSocials,{author:author})]})]});} - -/***/ }), - -/***/ 2166: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ BlogAuthorsListPage) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5861); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8532); -/* harmony import */ var _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7374); -/* harmony import */ var _theme_BlogLayout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5537); -/* harmony import */ var _theme_SearchMetadata__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3308); -/* harmony import */ var _theme_Heading__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6813); -/* harmony import */ var _theme_Blog_Components_Author__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2671); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8436); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_styles_module_css__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function AuthorListItem({author}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li",{className:(_styles_module_css__WEBPACK_IMPORTED_MODULE_5___default().authorListItem),children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_theme_Blog_Components_Author__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A,{as:"h2",author:author,count:author.count})});}function AuthorsList({authors}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("section",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)('margin-vert--lg',(_styles_module_css__WEBPACK_IMPORTED_MODULE_5___default().authorsListSection)),children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("ul",{children:authors.map(author=>/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(AuthorListItem,{author:author},author.key))})});}function BlogAuthorsListPage({authors,sidebar}){const title=(0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_8__/* .translateBlogAuthorsListPageTitle */ .uz)();return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_9__/* .HtmlClassNameProvider */ .e3,{className:(0,clsx__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_10__/* .ThemeClassNames */ .G.wrapper.blogPages,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_10__/* .ThemeClassNames */ .G.page.blogAuthorsListPage),children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_9__/* .PageMetadata */ .be,{title:title}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_theme_SearchMetadata__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{tag:"blog_authors_list"}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(_theme_BlogLayout__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{sidebar:sidebar,children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_theme_Heading__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A,{as:"h1",children:title}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(AuthorsList,{authors:authors})]})]});} - -/***/ }), - -/***/ 4187: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ BlogAuthorsPostsPage) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5861); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(8532); -/* harmony import */ var _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7374); -/* harmony import */ var _docusaurus_Link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1349); -/* harmony import */ var _docusaurus_plugin_content_blog_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1831); -/* harmony import */ var _theme_BlogLayout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5537); -/* harmony import */ var _theme_BlogListPaginator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7232); -/* harmony import */ var _theme_SearchMetadata__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3308); -/* harmony import */ var _theme_BlogPostItems__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5709); -/* harmony import */ var _theme_Blog_Components_Author__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2671); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Metadata({author}){const title=(0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_9__/* .useBlogAuthorPageTitle */ .wI)(author);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_10__/* .PageMetadata */ .be,{title:title}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_theme_SearchMetadata__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A,{tag:"blog_authors_posts"})]});}function ViewAllAuthorsLink(){const{authorsListPath}=(0,_docusaurus_plugin_content_blog_client__WEBPACK_IMPORTED_MODULE_2__/* .useBlogMetadata */ .x)();return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_docusaurus_Link__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{href:authorsListPath,children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_9__/* .BlogAuthorsListViewAllLabel */ .np,{})});}function Content({author,items,sidebar,listMetadata}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(_theme_BlogLayout__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A,{sidebar:sidebar,children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("header",{className:"margin-bottom--xl",children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_theme_Blog_Components_Author__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A,{as:"h1",author:author}),author.description&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("p",{children:author.description}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(ViewAllAuthorsLink,{})]}),items.length===0?/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("p",{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_9__/* .BlogAuthorNoPostsLabel */ .Y4,{})}):/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.Fragment,{children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("hr",{}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_theme_BlogPostItems__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A,{items:items}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_theme_BlogListPaginator__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A,{metadata:listMetadata})]})]});}function BlogAuthorsPostsPage(props){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_10__/* .HtmlClassNameProvider */ .e3,{className:(0,clsx__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_12__/* .ThemeClassNames */ .G.wrapper.blogPages,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_12__/* .ThemeClassNames */ .G.page.blogAuthorsPostsPage),children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(Metadata,{...props}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(Content,{...props})]});} - -/***/ }), - -/***/ 9814: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ BlogArchive) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_Link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1349); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4709); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5861); -/* harmony import */ var _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9153); -/* harmony import */ var _theme_Layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3305); -/* harmony import */ var _theme_Heading__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6813); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Year({year,posts}){const dateTimeFormat=(0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_6__/* .useDateTimeFormat */ .i)({day:'numeric',month:'long',timeZone:'UTC'});const formatDate=lastUpdated=>dateTimeFormat.format(new Date(lastUpdated));return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment,{children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_theme_Heading__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A,{as:"h3",id:year,children:year}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("ul",{children:posts.map(post=>/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("li",{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_docusaurus_Link__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{to:post.metadata.permalink,children:[formatDate(post.metadata.date)," - ",post.metadata.title]})},post.metadata.date))})]});}function YearsSection({years}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("section",{className:"margin-vert--lg",children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div",{className:"container",children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div",{className:"row",children:years.map((_props,idx)=>/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div",{className:"col col--4 margin-vert--lg",children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(Year,{..._props})},idx))})})});}function listPostsByYears(blogPosts){const postsByYear=blogPosts.reduce((posts,post)=>{const year=post.metadata.date.split('-')[0];const yearPosts=posts.get(year)??[];return posts.set(year,[post,...yearPosts]);},new Map());return Array.from(postsByYear,([year,posts])=>({year,posts}));}function BlogArchive({archive}){const title=(0,_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_2__/* .translate */ .T)({id:'theme.blog.archive.title',message:'Archive',description:'The page & hero title of the blog archive page'});const description=(0,_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_2__/* .translate */ .T)({id:'theme.blog.archive.description',message:'Archive',description:'The page & hero description of the blog archive page'});const years=listPostsByYears(archive.blogPosts);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment,{children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_7__/* .PageMetadata */ .be,{title:title,description:description}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_theme_Layout__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A,{children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("header",{className:"hero hero--primary",children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div",{className:"container",children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_theme_Heading__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A,{as:"h1",className:"hero__title",children:title}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("p",{className:"hero__subtitle",children:description})]})}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("main",{children:years.length>0&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(YearsSection,{years:years})})]})]});} - -/***/ }), - -/***/ 5537: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ BlogLayout) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Layout/index.js + 53 modules -var Layout = __webpack_require__(3305); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/hooks/useWindowSize.js -var useWindowSize = __webpack_require__(242); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-blog/lib/client/index.js + 3 modules -var client = __webpack_require__(1831); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useThemeConfig.js -var useThemeConfig = __webpack_require__(6963); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Heading/index.js -var Heading = __webpack_require__(6813); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogSidebar/Content/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogSidebarYearGroup({year,yearGroupHeadingClassName,children}){return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{role:"group",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Heading/* default */.A,{as:"h3",className:yearGroupHeadingClassName,children:year}),children]});}function BlogSidebarContent({items,yearGroupHeadingClassName,ListComponent}){const themeConfig=(0,useThemeConfig/* useThemeConfig */.p)();if(themeConfig.blog.sidebar.groupByYear){const itemsByYear=(0,client/* groupBlogSidebarItemsByYear */.Ki)(items);return/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:itemsByYear.map(([year,yearItems])=>/*#__PURE__*/(0,jsx_runtime.jsx)(BlogSidebarYearGroup,{year:year,yearGroupHeadingClassName:yearGroupHeadingClassName,children:/*#__PURE__*/(0,jsx_runtime.jsx)(ListComponent,{items:yearItems})},year))});}else{return/*#__PURE__*/(0,jsx_runtime.jsx)(ListComponent,{items:items});}}/* harmony default export */ const Content = (/*#__PURE__*/(0,react.memo)(BlogSidebarContent)); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogSidebar/Desktop/styles.module.css -var styles_module = __webpack_require__(4718); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogSidebar/Desktop/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const ListComponent=({items})=>{return/*#__PURE__*/(0,jsx_runtime.jsx)(client/* BlogSidebarItemList */.OU,{items:items,ulClassName:(0,clsx/* default */.A)((styles_module_default()).sidebarItemList,'clean-list'),liClassName:(styles_module_default()).sidebarItem,linkClassName:(styles_module_default()).sidebarItemLink,linkActiveClassName:(styles_module_default()).sidebarItemLinkActive});};function BlogSidebarDesktop({sidebar}){const items=(0,client/* useVisibleBlogSidebarItems */.Gx)(sidebar.items);return/*#__PURE__*/(0,jsx_runtime.jsx)("aside",{className:"col col--3",children:/*#__PURE__*/(0,jsx_runtime.jsxs)("nav",{className:(0,clsx/* default */.A)((styles_module_default()).sidebar,'thin-scrollbar'),"aria-label":(0,Translate/* translate */.T)({id:'theme.blog.sidebar.navAriaLabel',message:'Blog recent posts navigation',description:'The ARIA label for recent posts in the blog sidebar'}),children:[/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)((styles_module_default()).sidebarItemTitle,'margin-bottom--md'),children:sidebar.title}),/*#__PURE__*/(0,jsx_runtime.jsx)(Content,{items:items,ListComponent:ListComponent,yearGroupHeadingClassName:(styles_module_default()).yearGroupHeading})]})});}/* harmony default export */ const Desktop = (/*#__PURE__*/(0,react.memo)(BlogSidebarDesktop)); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/navbarSecondaryMenu/content.js -var content = __webpack_require__(5105); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogSidebar/Mobile/styles.module.css -var Mobile_styles_module = __webpack_require__(4176); -var Mobile_styles_module_default = /*#__PURE__*/__webpack_require__.n(Mobile_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogSidebar/Mobile/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Mobile_ListComponent=({items})=>{return/*#__PURE__*/(0,jsx_runtime.jsx)(client/* BlogSidebarItemList */.OU,{items:items,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"});};function BlogSidebarMobileSecondaryMenu({sidebar}){const items=(0,client/* useVisibleBlogSidebarItems */.Gx)(sidebar.items);return/*#__PURE__*/(0,jsx_runtime.jsx)(Content,{items:items,ListComponent:Mobile_ListComponent,yearGroupHeadingClassName:(Mobile_styles_module_default()).yearGroupHeading});}function BlogSidebarMobile(props){return/*#__PURE__*/(0,jsx_runtime.jsx)(content/* NavbarSecondaryMenuFiller */.GX,{component:BlogSidebarMobileSecondaryMenu,props:props});}/* harmony default export */ const Mobile = (/*#__PURE__*/(0,react.memo)(BlogSidebarMobile)); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogSidebar/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogSidebar({sidebar}){const windowSize=(0,useWindowSize/* useWindowSize */.l)();if(!sidebar?.items.length){return null;}// Mobile sidebar doesn't need to be server-rendered -if(windowSize==='mobile'){return/*#__PURE__*/(0,jsx_runtime.jsx)(Mobile,{sidebar:sidebar});}return/*#__PURE__*/(0,jsx_runtime.jsx)(Desktop,{sidebar:sidebar});} -;// ../packages/docusaurus-theme-classic/lib/theme/BlogLayout/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogLayout(props){const{sidebar,toc,children,...layoutProps}=props;const hasSidebar=sidebar&&sidebar.items.length>0;return/*#__PURE__*/(0,jsx_runtime.jsx)(Layout/* default */.A,{...layoutProps,children:/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"container margin-vert--lg",children:/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:"row",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(BlogSidebar,{sidebar:sidebar}),/*#__PURE__*/(0,jsx_runtime.jsx)("main",{className:(0,clsx/* default */.A)('col',{'col--7':hasSidebar,'col--9 col--offset-1':!hasSidebar}),children:children}),toc&&/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"col col--2",children:toc})]})})});} - -/***/ }), - -/***/ 8394: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "default": () => (/* binding */ BlogListPage) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useDocusaurusContext.js -var useDocusaurusContext = __webpack_require__(1571); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/metadataUtils.js + 1 modules -var metadataUtils = __webpack_require__(5861); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogLayout/index.js + 4 modules -var BlogLayout = __webpack_require__(5537); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogListPaginator/index.js -var BlogListPaginator = __webpack_require__(7232); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/SearchMetadata/index.js -var SearchMetadata = __webpack_require__(3308); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogPostItems/index.js -var BlogPostItems = __webpack_require__(5709); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Head.js -var Head = __webpack_require__(2785); -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-blog/lib/client/index.js + 3 modules -var client = __webpack_require__(1831); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogListPage/StructuredData/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogListPageStructuredData(props){const structuredData=(0,client/* useBlogListPageStructuredData */.kJ)(props);return/*#__PURE__*/(0,jsx_runtime.jsx)(Head/* default */.A,{children:/*#__PURE__*/(0,jsx_runtime.jsx)("script",{type:"application/ld+json",children:JSON.stringify(structuredData)})});} -;// ../packages/docusaurus-theme-classic/lib/theme/BlogListPage/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogListPageMetadata(props){const{metadata}=props;const{siteConfig:{title:siteTitle}}=(0,useDocusaurusContext/* default */.A)();const{blogDescription,blogTitle,permalink}=metadata;const isBlogOnlyMode=permalink==='/';const title=isBlogOnlyMode?siteTitle:blogTitle;return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(metadataUtils/* PageMetadata */.be,{title:title,description:blogDescription}),/*#__PURE__*/(0,jsx_runtime.jsx)(SearchMetadata/* default */.A,{tag:"blog_posts_list"})]});}function BlogListPageContent(props){const{metadata,items,sidebar}=props;return/*#__PURE__*/(0,jsx_runtime.jsxs)(BlogLayout/* default */.A,{sidebar:sidebar,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostItems/* default */.A,{items:items}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogListPaginator/* default */.A,{metadata:metadata})]});}function BlogListPage(props){return/*#__PURE__*/(0,jsx_runtime.jsxs)(metadataUtils/* HtmlClassNameProvider */.e3,{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.wrapper.blogPages,ThemeClassNames/* ThemeClassNames */.G.page.blogListPage),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(BlogListPageMetadata,{...props}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogListPageStructuredData,{...props}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogListPageContent,{...props})]});} - -/***/ }), - -/***/ 7232: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ BlogListPaginator) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4709); -/* harmony import */ var _theme_PaginatorNavLink__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8705); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogListPaginator(props){const{metadata}=props;const{previousPage,nextPage}=metadata;return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("nav",{className:"pagination-nav","aria-label":(0,_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* .translate */ .T)({id:'theme.blog.paginator.navAriaLabel',message:'Blog list page navigation',description:'The ARIA label for the blog pagination'}),children:[previousPage&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_theme_PaginatorNavLink__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{permalink:previousPage,title:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),nextPage&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_theme_PaginatorNavLink__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{permalink:nextPage,title:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:true})]});} - -/***/ }), - -/***/ 6962: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ BlogPostItem) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-blog/lib/client/index.js + 3 modules -var client = __webpack_require__(1831); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Container/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogPostItemContainer({children,className}){return/*#__PURE__*/(0,jsx_runtime.jsx)("article",{className:className,children:children});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Header/Title/styles.module.css -var styles_module = __webpack_require__(1245); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Header/Title/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogPostItemHeaderTitle({className}){const{metadata,isBlogPostPage}=(0,client/* useBlogPost */.e7)();const{permalink,title}=metadata;const TitleHeading=isBlogPostPage?'h1':'h2';return/*#__PURE__*/(0,jsx_runtime.jsx)(TitleHeading,{className:(0,clsx/* default */.A)((styles_module_default()).title,className),children:isBlogPostPage?title:/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{to:permalink,children:title})});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/usePluralForm.js -var usePluralForm = __webpack_require__(7054); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/IntlUtils.js -var IntlUtils = __webpack_require__(9153); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Header/Info/styles.module.css -var Info_styles_module = __webpack_require__(3617); -var Info_styles_module_default = /*#__PURE__*/__webpack_require__.n(Info_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Header/Info/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Very simple pluralization: probably good enough for now -function useReadingTimePlural(){const{selectMessage}=(0,usePluralForm/* usePluralForm */.W)();return readingTimeFloat=>{const readingTime=Math.ceil(readingTimeFloat);return selectMessage(readingTime,(0,Translate/* translate */.T)({id:'theme.blog.post.readingTime.plurals',description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:'One min read|{readingTime} min read'},{readingTime}));};}function ReadingTime({readingTime}){const readingTimePlural=useReadingTimePlural();return/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:readingTimePlural(readingTime)});}function DateTime({date,formattedDate}){return/*#__PURE__*/(0,jsx_runtime.jsx)("time",{dateTime:date,children:formattedDate});}function Spacer(){return/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:' · '});}function BlogPostItemHeaderInfo({className}){const{metadata}=(0,client/* useBlogPost */.e7)();const{date,readingTime}=metadata;const dateTimeFormat=(0,IntlUtils/* useDateTimeFormat */.i)({day:'numeric',month:'long',year:'numeric',timeZone:'UTC'});const formatDate=blogDate=>dateTimeFormat.format(new Date(blogDate));return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)((Info_styles_module_default()).container,'margin-vert--md',className),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(DateTime,{date:date,formattedDate:formatDate(date)}),typeof readingTime!=='undefined'&&/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Spacer,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(ReadingTime,{readingTime:readingTime})]})]});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Blog/Components/Author/index.js + 13 modules -var Author = __webpack_require__(2671); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Header/Authors/styles.module.css -var Authors_styles_module = __webpack_require__(3227); -var Authors_styles_module_default = /*#__PURE__*/__webpack_require__.n(Authors_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Header/Authors/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Component responsible for the authors layout -function BlogPostItemHeaderAuthors({className}){const{metadata:{authors},assets}=(0,client/* useBlogPost */.e7)();const authorsCount=authors.length;if(authorsCount===0){return null;}const imageOnly=authors.every(({name})=>!name);const singleAuthor=authors.length===1;return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)('margin-top--md margin-bottom--sm',imageOnly?(Authors_styles_module_default()).imageOnlyAuthorRow:'row',className),children:authors.map((author,idx)=>/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)(!imageOnly&&(singleAuthor?'col col--12':'col col--6'),imageOnly?(Authors_styles_module_default()).imageOnlyAuthorCol:(Authors_styles_module_default()).authorCol),children:/*#__PURE__*/(0,jsx_runtime.jsx)(Author/* default */.A,{author:{...author,// Handle author images using relative paths -imageURL:assets.authorsImageUrls[idx]??author.imageURL}})},idx))});} -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Header/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogPostItemHeader(){return/*#__PURE__*/(0,jsx_runtime.jsxs)("header",{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostItemHeaderTitle,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostItemHeaderInfo,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostItemHeaderAuthors,{})]});} -// EXTERNAL MODULE: ../packages/docusaurus-utils-common/lib/index.js -var lib = __webpack_require__(5819); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/MDXContent/index.js + 27 modules -var MDXContent = __webpack_require__(5493); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Content/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogPostItemContent({children,className}){const{isBlogPostPage}=(0,client/* useBlogPost */.e7)();return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{// This ID is used for the feed generation to locate the main content -id:isBlogPostPage?lib/* blogPostContainerID */.LU:undefined,className:(0,clsx/* default */.A)('markdown',className),children:/*#__PURE__*/(0,jsx_runtime.jsx)(MDXContent/* default */.A,{children:children})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/EditMetaRow/index.js + 3 modules -var EditMetaRow = __webpack_require__(9738); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/TagsListInline/index.js -var TagsListInline = __webpack_require__(1029); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function ReadMoreLabel(){return/*#__PURE__*/(0,jsx_runtime.jsx)("b",{children:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})});}function BlogPostItemFooterReadMoreLink(props){const{blogPostTitle,...linkProps}=props;return/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{"aria-label":(0,Translate/* translate */.T)({message:'Read more about {title}',id:'theme.blog.post.readMoreLabel',description:'The ARIA label for the link to full blog posts from excerpts'},{title:blogPostTitle}),...linkProps,children:/*#__PURE__*/(0,jsx_runtime.jsx)(ReadMoreLabel,{})});} -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/Footer/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogPostItemFooter(){const{metadata,isBlogPostPage}=(0,client/* useBlogPost */.e7)();const{tags,title,editUrl,hasTruncateMarker,lastUpdatedBy,lastUpdatedAt}=metadata;// A post is truncated if it's in the "list view" and it has a truncate marker -const truncatedPost=!isBlogPostPage&&hasTruncateMarker;const tagsExists=tags.length>0;const renderFooter=tagsExists||truncatedPost||editUrl;if(!renderFooter){return null;}// BlogPost footer - details view -if(isBlogPostPage){const canDisplayEditMetaRow=!!(editUrl||lastUpdatedAt||lastUpdatedBy);return/*#__PURE__*/(0,jsx_runtime.jsxs)("footer",{className:"docusaurus-mt-lg",children:[tagsExists&&/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)('row','margin-top--sm',ThemeClassNames/* ThemeClassNames */.G.blog.blogFooterEditMetaRow),children:/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"col",children:/*#__PURE__*/(0,jsx_runtime.jsx)(TagsListInline/* default */.A,{tags:tags})})}),canDisplayEditMetaRow&&/*#__PURE__*/(0,jsx_runtime.jsx)(EditMetaRow/* default */.A,{className:(0,clsx/* default */.A)('margin-top--sm',ThemeClassNames/* ThemeClassNames */.G.blog.blogFooterEditMetaRow),editUrl:editUrl,lastUpdatedAt:lastUpdatedAt,lastUpdatedBy:lastUpdatedBy})]});}// BlogPost footer - list view -else{return/*#__PURE__*/(0,jsx_runtime.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[tagsExists&&/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)('col',{'col--9':truncatedPost}),children:/*#__PURE__*/(0,jsx_runtime.jsx)(TagsListInline/* default */.A,{tags:tags})}),truncatedPost&&/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)('col text--right',{'col--3':tagsExists}),children:/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostItemFooterReadMoreLink,{blogPostTitle:title,to:metadata.permalink})})]});}} -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// apply a bottom margin in list view -function useContainerClassName(){const{isBlogPostPage}=(0,client/* useBlogPost */.e7)();return!isBlogPostPage?'margin-bottom--xl':undefined;}function BlogPostItem({children,className}){const containerClassName=useContainerClassName();return/*#__PURE__*/(0,jsx_runtime.jsxs)(BlogPostItemContainer,{className:(0,clsx/* default */.A)(containerClassName,className),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostItemHeader,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostItemContent,{children:children}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostItemFooter,{})]});} - -/***/ }), - -/***/ 5709: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ BlogPostItems) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_plugin_content_blog_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1831); -/* harmony import */ var _theme_BlogPostItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6962); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogPostItems({items,component:BlogPostItemComponent=_theme_BlogPostItem__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.Fragment,{children:items.map(({content:BlogPostContent})=>/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_plugin_content_blog_client__WEBPACK_IMPORTED_MODULE_1__/* .BlogPostProvider */ ["in"],{content:BlogPostContent,children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(BlogPostItemComponent,{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(BlogPostContent,{})})},BlogPostContent.metadata.permalink))});} - -/***/ }), - -/***/ 5101: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "default": () => (/* binding */ BlogPostPage) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/metadataUtils.js + 1 modules -var metadataUtils = __webpack_require__(5861); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-blog/lib/client/index.js + 3 modules -var client = __webpack_require__(1831); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogLayout/index.js + 4 modules -var BlogLayout = __webpack_require__(5537); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogPostItem/index.js + 8 modules -var BlogPostItem = __webpack_require__(6962); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/PaginatorNavLink/index.js -var PaginatorNavLink = __webpack_require__(8705); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostPaginator/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogPostPaginator(props){const{nextItem,prevItem}=props;return/*#__PURE__*/(0,jsx_runtime.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,Translate/* translate */.T)({id:'theme.blog.post.paginator.navAriaLabel',message:'Blog post page navigation',description:'The ARIA label for the blog posts pagination'}),children:[prevItem&&/*#__PURE__*/(0,jsx_runtime.jsx)(PaginatorNavLink/* default */.A,{...prevItem,subLabel:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer post"})}),nextItem&&/*#__PURE__*/(0,jsx_runtime.jsx)(PaginatorNavLink/* default */.A,{...nextItem,subLabel:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older post"}),isNext:true})]});} -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostPage/Metadata/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogPostPageMetadata(){const{assets,metadata}=(0,client/* useBlogPost */.e7)();const{title,description,date,tags,authors,frontMatter}=metadata;const{keywords}=frontMatter;const image=assets.image??frontMatter.image;return/*#__PURE__*/(0,jsx_runtime.jsxs)(metadataUtils/* PageMetadata */.be,{title:frontMatter.title_meta??title,description:description,keywords:keywords,image:image,children:[/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"og:type",content:"article"}),/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"article:published_time",content:date}),authors.some(author=>author.url)&&/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"article:author",content:authors.map(author=>author.url).filter(Boolean).join(',')}),tags.length>0&&/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"article:tag",content:tags.map(tag=>tag.label).join(',')})]});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Head.js -var Head = __webpack_require__(2785); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostPage/StructuredData/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogPostStructuredData(){const structuredData=(0,client/* useBlogPostStructuredData */.J_)();return/*#__PURE__*/(0,jsx_runtime.jsx)(Head/* default */.A,{children:/*#__PURE__*/(0,jsx_runtime.jsx)("script",{type:"application/ld+json",children:JSON.stringify(structuredData)})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/TOC/index.js -var TOC = __webpack_require__(5277); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/ContentVisibility/index.js + 1 modules -var ContentVisibility = __webpack_require__(5088); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogPostPage/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogPostPageContent({sidebar,children}){const{metadata,toc}=(0,client/* useBlogPost */.e7)();const{nextItem,prevItem,frontMatter}=metadata;const{hide_table_of_contents:hideTableOfContents,toc_min_heading_level:tocMinHeadingLevel,toc_max_heading_level:tocMaxHeadingLevel}=frontMatter;return/*#__PURE__*/(0,jsx_runtime.jsxs)(BlogLayout/* default */.A,{sidebar:sidebar,toc:!hideTableOfContents&&toc.length>0?/*#__PURE__*/(0,jsx_runtime.jsx)(TOC/* default */.A,{toc:toc,minHeadingLevel:tocMinHeadingLevel,maxHeadingLevel:tocMaxHeadingLevel}):undefined,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(ContentVisibility/* default */.A,{metadata:metadata}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostItem/* default */.A,{children:children}),(nextItem||prevItem)&&/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostPaginator,{nextItem:nextItem,prevItem:prevItem})]});}function BlogPostPage(props){const BlogPostContent=props.content;return/*#__PURE__*/(0,jsx_runtime.jsx)(client/* BlogPostProvider */["in"],{content:props.content,isBlogPostPage:true,children:/*#__PURE__*/(0,jsx_runtime.jsxs)(metadataUtils/* HtmlClassNameProvider */.e3,{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.wrapper.blogPages,ThemeClassNames/* ThemeClassNames */.G.page.blogPostPage),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostPageMetadata,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostStructuredData,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostPageContent,{sidebar:props.sidebar,children:/*#__PURE__*/(0,jsx_runtime.jsx)(BlogPostContent,{})})]})});} - -/***/ }), - -/***/ 8807: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "default": () => (/* binding */ BlogTagsListPage) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -;// ../packages/docusaurus-theme-common/lib/utils/tagsUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const translateTagsPageTitle=()=>(0,Translate/* translate */.T)({id:'theme.tags.tagsPageTitle',message:'Tags',description:'The title of the tag list page'});function getTagLetter(tag){return tag[0].toUpperCase();}/** - * Takes a list of tags (as provided by the content plugins), and groups them by - * their initials. - */function listTagsByLetters(tags){const groups={};Object.values(tags).forEach(tag=>{const initial=getTagLetter(tag.label);groups[initial]??=[];groups[initial].push(tag);});return Object.entries(groups)// Sort letters -.sort(([letter1],[letter2])=>letter1.localeCompare(letter2)).map(([letter,letterTags])=>{// Sort tags inside a letter -const sortedTags=letterTags.sort((tag1,tag2)=>tag1.label.localeCompare(tag2.label));return{letter,tags:sortedTags};});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/metadataUtils.js + 1 modules -var metadataUtils = __webpack_require__(5861); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BlogLayout/index.js + 4 modules -var BlogLayout = __webpack_require__(5537); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Tag/index.js -var Tag = __webpack_require__(8151); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Heading/index.js -var Heading = __webpack_require__(6813); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/TagsListByLetter/styles.module.css -var styles_module = __webpack_require__(9261); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/TagsListByLetter/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function TagLetterEntryItem({letterEntry}){return/*#__PURE__*/(0,jsx_runtime.jsxs)("article",{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Heading/* default */.A,{as:"h2",id:letterEntry.letter,children:letterEntry.letter}),/*#__PURE__*/(0,jsx_runtime.jsx)("ul",{className:"padding--none",children:letterEntry.tags.map(tag=>/*#__PURE__*/(0,jsx_runtime.jsx)("li",{className:(styles_module_default()).tag,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Tag/* default */.A,{...tag})},tag.permalink))}),/*#__PURE__*/(0,jsx_runtime.jsx)("hr",{})]});}function TagsListByLetter({tags}){const letterList=listTagsByLetters(tags);return/*#__PURE__*/(0,jsx_runtime.jsx)("section",{className:"margin-vert--lg",children:letterList.map(letterEntry=>/*#__PURE__*/(0,jsx_runtime.jsx)(TagLetterEntryItem,{letterEntry:letterEntry},letterEntry.letter))});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/SearchMetadata/index.js -var SearchMetadata = __webpack_require__(3308); -;// ../packages/docusaurus-theme-classic/lib/theme/BlogTagsListPage/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogTagsListPage({tags,sidebar}){const title=translateTagsPageTitle();return/*#__PURE__*/(0,jsx_runtime.jsxs)(metadataUtils/* HtmlClassNameProvider */.e3,{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.wrapper.blogPages,ThemeClassNames/* ThemeClassNames */.G.page.blogTagsListPage),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(metadataUtils/* PageMetadata */.be,{title:title}),/*#__PURE__*/(0,jsx_runtime.jsx)(SearchMetadata/* default */.A,{tag:"blog_tags_list"}),/*#__PURE__*/(0,jsx_runtime.jsxs)(BlogLayout/* default */.A,{sidebar:sidebar,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Heading/* default */.A,{as:"h1",children:title}),/*#__PURE__*/(0,jsx_runtime.jsx)(TagsListByLetter,{tags:tags})]})]});} - -/***/ }), - -/***/ 1780: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ BlogTagsPostsPage) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4709); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(5861); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(8532); -/* harmony import */ var _docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(7374); -/* harmony import */ var _docusaurus_Link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1349); -/* harmony import */ var _theme_BlogLayout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5537); -/* harmony import */ var _theme_BlogListPaginator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7232); -/* harmony import */ var _theme_SearchMetadata__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3308); -/* harmony import */ var _theme_BlogPostItems__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5709); -/* harmony import */ var _theme_ContentVisibility_Unlisted__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9169); -/* harmony import */ var _theme_Heading__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6813); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BlogTagsPostsPageMetadata({tag}){const title=(0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_10__/* .useBlogTagsPostsPageTitle */ .ZD)(tag);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment,{children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_11__/* .PageMetadata */ .be,{title:title,description:tag.description}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_theme_SearchMetadata__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A,{tag:"blog_tags_posts"})]});}function BlogTagsPostsPageContent({tag,items,sidebar,listMetadata}){const title=(0,_docusaurus_theme_common_internal__WEBPACK_IMPORTED_MODULE_10__/* .useBlogTagsPostsPageTitle */ .ZD)(tag);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_theme_BlogLayout__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A,{sidebar:sidebar,children:[tag.unlisted&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_theme_ContentVisibility_Unlisted__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A,{}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("header",{className:"margin-bottom--xl",children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_theme_Heading__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A,{as:"h1",children:title}),tag.description&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("p",{children:tag.description}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_docusaurus_Link__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{href:tag.allTagsPath,children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_theme_BlogPostItems__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A,{items:items}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_theme_BlogListPaginator__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A,{metadata:listMetadata})]});}function BlogTagsPostsPage(props){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_11__/* .HtmlClassNameProvider */ .e3,{className:(0,clsx__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .A)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_13__/* .ThemeClassNames */ .G.wrapper.blogPages,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_13__/* .ThemeClassNames */ .G.page.blogTagPostListPage),children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(BlogTagsPostsPageMetadata,{...props}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(BlogTagsPostsPageContent,{...props})]});} - -/***/ }), - -/***/ 9169: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ Unlisted) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9137); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8532); -/* harmony import */ var _theme_Admonition__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4707); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function UnlistedBanner({className}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_theme_Admonition__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{type:"caution",title:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_3__/* .UnlistedBannerTitle */ .Rc,{}),className:(0,clsx__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(className,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_5__/* .ThemeClassNames */ .G.common.unlistedBanner),children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_3__/* .UnlistedBannerMessage */ .Uh,{})});}function Unlisted(props){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment,{children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_3__/* .UnlistedMetadata */ .AE,{}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(UnlistedBanner,{...props})]});} - -/***/ }), - -/***/ 5088: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ ContentVisibility) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/translations/contentVisibilityTranslations.js -var contentVisibilityTranslations = __webpack_require__(9137); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Admonition/index.js + 14 modules -var Admonition = __webpack_require__(4707); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/ContentVisibility/Draft/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Draft({className}){return/*#__PURE__*/(0,jsx_runtime.jsx)(Admonition/* default */.A,{type:"caution",title:/*#__PURE__*/(0,jsx_runtime.jsx)(contentVisibilityTranslations/* DraftBannerTitle */.Yh,{}),className:(0,clsx/* default */.A)(className,ThemeClassNames/* ThemeClassNames */.G.common.draftBanner),children:/*#__PURE__*/(0,jsx_runtime.jsx)(contentVisibilityTranslations/* DraftBannerMessage */.TT,{})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/ContentVisibility/Unlisted/index.js -var Unlisted = __webpack_require__(9169); -;// ../packages/docusaurus-theme-classic/lib/theme/ContentVisibility/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function ContentVisibility({metadata}){const{unlisted,frontMatter}=metadata;// Reading draft/unlisted status from frontMatter is useful to display -// the banners in dev mode (in dev, metadata.unlisted is always false) -// See https://github.com/facebook/docusaurus/issues/8285 -return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(unlisted||frontMatter.unlisted)&&/*#__PURE__*/(0,jsx_runtime.jsx)(Unlisted/* default */.A,{}),frontMatter.draft&&/*#__PURE__*/(0,jsx_runtime.jsx)(Draft,{})]});} - -/***/ }), - -/***/ 6748: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ DocBreadcrumbs) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-docs/lib/client/docsUtils.js -var docsUtils = __webpack_require__(4271); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/routesUtils.js -var routesUtils = __webpack_require__(5438); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useBaseUrl.js -var useBaseUrl = __webpack_require__(5000); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Home/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconHome(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 24 24",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocBreadcrumbs/Items/Home/styles.module.css -var styles_module = __webpack_require__(6574); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocBreadcrumbs/Items/Home/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function HomeBreadcrumbItem(){const homeHref=(0,useBaseUrl/* default */.Ay)('/');return/*#__PURE__*/(0,jsx_runtime.jsx)("li",{className:"breadcrumbs__item",children:/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{"aria-label":(0,Translate/* translate */.T)({id:'theme.docs.breadcrumbs.home',message:'Home page',description:'The ARIA label for the home page in the breadcrumbs'}),className:"breadcrumbs__link",href:homeHref,children:/*#__PURE__*/(0,jsx_runtime.jsx)(IconHome,{className:(styles_module_default()).breadcrumbHomeIcon})})});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Head.js -var Head = __webpack_require__(2785); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useDocusaurusContext.js -var useDocusaurusContext = __webpack_require__(1571); -;// ../packages/docusaurus-plugin-content-docs/lib/client/structuredDataUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useBreadcrumbsStructuredData({breadcrumbs}){const{siteConfig}=(0,useDocusaurusContext/* default */.A)();return{'@context':'https://schema.org','@type':'BreadcrumbList',itemListElement:breadcrumbs// We filter breadcrumb items without links, they are not allowed -// See also https://github.com/facebook/docusaurus/issues/9319#issuecomment-2643560845 -.filter(breadcrumb=>breadcrumb.href).map((breadcrumb,index)=>({'@type':'ListItem',position:index+1,name:breadcrumb.label,item:`${siteConfig.url}${breadcrumb.href}`}))};} -;// ../packages/docusaurus-theme-classic/lib/theme/DocBreadcrumbs/StructuredData/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocBreadcrumbsStructuredData(props){const structuredData=useBreadcrumbsStructuredData({breadcrumbs:props.breadcrumbs});return/*#__PURE__*/(0,jsx_runtime.jsx)(Head/* default */.A,{children:/*#__PURE__*/(0,jsx_runtime.jsx)("script",{type:"application/ld+json",children:JSON.stringify(structuredData)})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocBreadcrumbs/styles.module.css -var DocBreadcrumbs_styles_module = __webpack_require__(6669); -var DocBreadcrumbs_styles_module_default = /*#__PURE__*/__webpack_require__.n(DocBreadcrumbs_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocBreadcrumbs/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// TODO move to design system folder -function BreadcrumbsItemLink({children,href,isLast}){const className='breadcrumbs__link';if(isLast){return/*#__PURE__*/(0,jsx_runtime.jsx)("span",{className:className,children:children});}return href?/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{className:className,href:href,children:/*#__PURE__*/(0,jsx_runtime.jsx)("span",{children:children})}):/*#__PURE__*/(0,jsx_runtime.jsx)("span",{className:className,children:children});}// TODO move to design system folder -function BreadcrumbsItem({children,active}){return/*#__PURE__*/(0,jsx_runtime.jsx)("li",{className:(0,clsx/* default */.A)('breadcrumbs__item',{'breadcrumbs__item--active':active}),children:children});}function DocBreadcrumbs(){const breadcrumbs=(0,docsUtils/* useSidebarBreadcrumbs */.OF)();const homePageRoute=(0,routesUtils/* useHomePageRoute */.Dt)();if(!breadcrumbs){return null;}return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(DocBreadcrumbsStructuredData,{breadcrumbs:breadcrumbs}),/*#__PURE__*/(0,jsx_runtime.jsx)("nav",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.docs.docBreadcrumbs,(DocBreadcrumbs_styles_module_default()).breadcrumbsContainer),"aria-label":(0,Translate/* translate */.T)({id:'theme.docs.breadcrumbs.navAriaLabel',message:'Breadcrumbs',description:'The ARIA label for the breadcrumbs'}),children:/*#__PURE__*/(0,jsx_runtime.jsxs)("ul",{className:"breadcrumbs",children:[homePageRoute&&/*#__PURE__*/(0,jsx_runtime.jsx)(HomeBreadcrumbItem,{}),breadcrumbs.map((item,idx)=>{const isLast=idx===breadcrumbs.length-1;const href=item.type==='category'&&item.linkUnlisted?undefined:item.href;return/*#__PURE__*/(0,jsx_runtime.jsx)(BreadcrumbsItem,{active:isLast,children:/*#__PURE__*/(0,jsx_runtime.jsx)(BreadcrumbsItemLink,{href:href,isLast:isLast,children:item.label})},idx);})]})})]});} - -/***/ }), - -/***/ 2980: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "default": () => (/* binding */ DocCategoryGeneratedIndexPage) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/metadataUtils.js + 1 modules -var metadataUtils = __webpack_require__(5861); -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-docs/lib/client/docsUtils.js -var docsUtils = __webpack_require__(4271); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useBaseUrl.js -var useBaseUrl = __webpack_require__(5000); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/usePluralForm.js -var usePluralForm = __webpack_require__(7054); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/isInternalUrl.js -var isInternalUrl = __webpack_require__(73); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Heading/index.js -var Heading = __webpack_require__(6813); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocCard/styles.module.css -var styles_module = __webpack_require__(4855); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/DocCard/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useCategoryItemsPlural(){const{selectMessage}=(0,usePluralForm/* usePluralForm */.W)();return count=>selectMessage(count,(0,Translate/* translate */.T)({message:'1 item|{count} items',id:'theme.docs.DocCard.categoryDescription.plurals',description:'The default description for a category card in the generated index about how many items this category includes'},{count}));}function CardContainer({className,href,children}){return/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{href:href,className:(0,clsx/* default */.A)('card padding--lg',(styles_module_default()).cardContainer,className),children:children});}function CardLayout({className,href,icon,title,description}){return/*#__PURE__*/(0,jsx_runtime.jsxs)(CardContainer,{href:href,className:className,children:[/*#__PURE__*/(0,jsx_runtime.jsxs)(Heading/* default */.A,{as:"h2",className:(0,clsx/* default */.A)('text--truncate',(styles_module_default()).cardTitle),title:title,children:[icon," ",title]}),description&&/*#__PURE__*/(0,jsx_runtime.jsx)("p",{className:(0,clsx/* default */.A)('text--truncate',(styles_module_default()).cardDescription),title:description,children:description})]});}function CardCategory({item}){const href=(0,docsUtils/* findFirstSidebarItemLink */.Nr)(item);const categoryItemsPlural=useCategoryItemsPlural();// Unexpected: categories that don't have a link have been filtered upfront -if(!href){return null;}return/*#__PURE__*/(0,jsx_runtime.jsx)(CardLayout,{className:item.className,href:href,icon:"\uD83D\uDDC3\uFE0F",title:item.label,description:item.description??categoryItemsPlural(item.items.length)});}function CardLink({item}){const icon=(0,isInternalUrl/* default */.A)(item.href)?'📄️':'🔗';const doc=(0,docsUtils/* useDocById */.cC)(item.docId??undefined);return/*#__PURE__*/(0,jsx_runtime.jsx)(CardLayout,{className:item.className,href:item.href,icon:icon,title:item.label,description:item.description??doc?.description});}function DocCard({item}){switch(item.type){case'link':return/*#__PURE__*/(0,jsx_runtime.jsx)(CardLink,{item:item});case'category':return/*#__PURE__*/(0,jsx_runtime.jsx)(CardCategory,{item:item});default:throw new Error(`unknown item type ${JSON.stringify(item)}`);}} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocCardList/styles.module.css -var DocCardList_styles_module = __webpack_require__(9951); -var DocCardList_styles_module_default = /*#__PURE__*/__webpack_require__.n(DocCardList_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocCardList/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocCardListForCurrentSidebarCategory({className}){const items=(0,docsUtils/* useCurrentSidebarSiblings */.a4)();return/*#__PURE__*/(0,jsx_runtime.jsx)(DocCardList,{items:items,className:className});}function DocCardListItem({item}){return/*#__PURE__*/(0,jsx_runtime.jsx)("article",{className:(0,clsx/* default */.A)((DocCardList_styles_module_default()).docCardListItem,'col col--6'),children:/*#__PURE__*/(0,jsx_runtime.jsx)(DocCard,{item:item})});}function DocCardList(props){const{items,className}=props;if(!items){return/*#__PURE__*/(0,jsx_runtime.jsx)(DocCardListForCurrentSidebarCategory,{...props});}const filteredItems=(0,docsUtils/* filterDocCardListItems */.d1)(items);return/*#__PURE__*/(0,jsx_runtime.jsx)("section",{className:(0,clsx/* default */.A)('row',className),children:filteredItems.map((item,index)=>/*#__PURE__*/(0,jsx_runtime.jsx)(DocCardListItem,{item:item},index))});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocPaginator/index.js -var DocPaginator = __webpack_require__(4232); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocVersionBanner/index.js -var DocVersionBanner = __webpack_require__(913); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocVersionBadge/index.js -var DocVersionBadge = __webpack_require__(458); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocBreadcrumbs/index.js + 4 modules -var DocBreadcrumbs = __webpack_require__(6748); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css -var DocCategoryGeneratedIndexPage_styles_module = __webpack_require__(3745); -var DocCategoryGeneratedIndexPage_styles_module_default = /*#__PURE__*/__webpack_require__.n(DocCategoryGeneratedIndexPage_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocCategoryGeneratedIndexPage/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocCategoryGeneratedIndexPageMetadata({categoryGeneratedIndex}){return/*#__PURE__*/(0,jsx_runtime.jsx)(metadataUtils/* PageMetadata */.be,{title:categoryGeneratedIndex.title,description:categoryGeneratedIndex.description,keywords:categoryGeneratedIndex.keywords// TODO `require` this? -,image:(0,useBaseUrl/* default */.Ay)(categoryGeneratedIndex.image)});}function DocCategoryGeneratedIndexPageContent({categoryGeneratedIndex}){const category=(0,docsUtils/* useCurrentSidebarCategory */.$S)();return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(DocCategoryGeneratedIndexPage_styles_module_default()).generatedIndexPage,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(DocVersionBanner/* default */.A,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocBreadcrumbs/* default */.A,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocVersionBadge/* default */.A,{}),/*#__PURE__*/(0,jsx_runtime.jsxs)("header",{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Heading/* default */.A,{as:"h1",className:(DocCategoryGeneratedIndexPage_styles_module_default()).title,children:categoryGeneratedIndex.title}),categoryGeneratedIndex.description&&/*#__PURE__*/(0,jsx_runtime.jsx)("p",{children:categoryGeneratedIndex.description})]}),/*#__PURE__*/(0,jsx_runtime.jsx)("article",{className:"margin-top--lg",children:/*#__PURE__*/(0,jsx_runtime.jsx)(DocCardList,{items:category.items,className:(DocCategoryGeneratedIndexPage_styles_module_default()).list})}),/*#__PURE__*/(0,jsx_runtime.jsx)("footer",{className:"margin-top--md",children:/*#__PURE__*/(0,jsx_runtime.jsx)(DocPaginator/* default */.A,{previous:categoryGeneratedIndex.navigation.previous,next:categoryGeneratedIndex.navigation.next})})]});}function DocCategoryGeneratedIndexPage(props){return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(DocCategoryGeneratedIndexPageMetadata,{...props}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocCategoryGeneratedIndexPageContent,{...props})]});} - -/***/ }), - -/***/ 3135: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "default": () => (/* binding */ DocItem) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/metadataUtils.js + 1 modules -var metadataUtils = __webpack_require__(5861); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/reactUtils.js -var reactUtils = __webpack_require__(9129); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-plugin-content-docs/lib/client/doc.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Context=/*#__PURE__*/react.createContext(null);/** - * Note: we don't use `PropDoc` as context value on purpose. Metadata is - * currently stored inside the MDX component, but we may want to change that in - * the future. This layer is a good opportunity to decouple storage from - * consuming API, potentially allowing us to provide metadata as both props and - * route context without duplicating the chunks in the future. - */function useContextValue(content){return (0,react.useMemo)(()=>({metadata:content.metadata,frontMatter:content.frontMatter,assets:content.assets,contentTitle:content.contentTitle,toc:content.toc}),[content]);}/** - * This is a very thin layer around the `content` received from the MDX loader. - * It provides metadata about the doc to the children tree. - */function DocProvider({children,content}){const contextValue=useContextValue(content);return/*#__PURE__*/(0,jsx_runtime.jsx)(Context.Provider,{value:contextValue,children:children});}/** - * Returns the data of the currently browsed doc. Gives access to the doc's MDX - * Component, front matter, metadata, TOC, etc. When swizzling a low-level - * component (e.g. the "Edit this page" link) and you need some extra metadata, - * you don't have to drill the props all the way through the component tree: - * simply use this hook instead. - */function useDoc(){const doc=(0,react.useContext)(Context);if(doc===null){throw new reactUtils/* ReactContextError */.dV('DocProvider');}return doc;} -;// ../packages/docusaurus-theme-classic/lib/theme/DocItem/Metadata/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocItemMetadata(){const{metadata,frontMatter,assets}=useDoc();return/*#__PURE__*/(0,jsx_runtime.jsx)(metadataUtils/* PageMetadata */.be,{title:metadata.title,description:metadata.description,keywords:frontMatter.keywords,image:assets.image??frontMatter.image});} -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/hooks/useWindowSize.js -var useWindowSize = __webpack_require__(242); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocPaginator/index.js -var DocPaginator = __webpack_require__(4232); -;// ../packages/docusaurus-theme-classic/lib/theme/DocItem/Paginator/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * This extra component is needed, because should remain generic. - * DocPaginator is used in non-docs contexts too: generated-index pages... - */function DocItemPaginator(){const{metadata}=useDoc();return/*#__PURE__*/(0,jsx_runtime.jsx)(DocPaginator/* default */.A,{className:"docusaurus-mt-lg",previous:metadata.previous,next:metadata.next});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocVersionBanner/index.js -var DocVersionBanner = __webpack_require__(913); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocVersionBadge/index.js -var DocVersionBadge = __webpack_require__(458); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/TagsListInline/index.js -var TagsListInline = __webpack_require__(1029); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/EditMetaRow/index.js + 3 modules -var EditMetaRow = __webpack_require__(9738); -;// ../packages/docusaurus-theme-classic/lib/theme/DocItem/Footer/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocItemFooter(){const{metadata}=useDoc();const{editUrl,lastUpdatedAt,lastUpdatedBy,tags}=metadata;const canDisplayTagsRow=tags.length>0;const canDisplayEditMetaRow=!!(editUrl||lastUpdatedAt||lastUpdatedBy);const canDisplayFooter=canDisplayTagsRow||canDisplayEditMetaRow;if(!canDisplayFooter){return null;}return/*#__PURE__*/(0,jsx_runtime.jsxs)("footer",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.docs.docFooter,'docusaurus-mt-lg'),children:[canDisplayTagsRow&&/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)('row margin-top--sm',ThemeClassNames/* ThemeClassNames */.G.docs.docFooterTagsRow),children:/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"col",children:/*#__PURE__*/(0,jsx_runtime.jsx)(TagsListInline/* default */.A,{tags:tags})})}),canDisplayEditMetaRow&&/*#__PURE__*/(0,jsx_runtime.jsx)(EditMetaRow/* default */.A,{className:(0,clsx/* default */.A)('margin-top--sm',ThemeClassNames/* ThemeClassNames */.G.docs.docFooterEditMetaRow),editUrl:editUrl,lastUpdatedAt:lastUpdatedAt,lastUpdatedBy:lastUpdatedBy})]});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/components/Collapsible/index.js -var Collapsible = __webpack_require__(343); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/TOCItems/index.js + 3 modules -var TOCItems = __webpack_require__(1731); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/TOCCollapsible/CollapseButton/styles.module.css -var styles_module = __webpack_require__(4112); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/TOCCollapsible/CollapseButton/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function TOCCollapsibleCollapseButton({collapsed,...props}){return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{type:"button",...props,className:(0,clsx/* default */.A)('clean-btn',(styles_module_default()).tocCollapsibleButton,!collapsed&&(styles_module_default()).tocCollapsibleButtonExpanded,props.className),children:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/TOCCollapsible/styles.module.css -var TOCCollapsible_styles_module = __webpack_require__(3939); -var TOCCollapsible_styles_module_default = /*#__PURE__*/__webpack_require__.n(TOCCollapsible_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/TOCCollapsible/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function TOCCollapsible({toc,className,minHeadingLevel,maxHeadingLevel}){const{collapsed,toggleCollapsed}=(0,Collapsible/* useCollapsible */.u)({initialState:true});return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)((TOCCollapsible_styles_module_default()).tocCollapsible,!collapsed&&(TOCCollapsible_styles_module_default()).tocCollapsibleExpanded,className),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(TOCCollapsibleCollapseButton,{collapsed:collapsed,onClick:toggleCollapsed}),/*#__PURE__*/(0,jsx_runtime.jsx)(Collapsible/* Collapsible */.N,{lazy:true,className:(TOCCollapsible_styles_module_default()).tocCollapsibleContent,collapsed:collapsed,children:/*#__PURE__*/(0,jsx_runtime.jsx)(TOCItems/* default */.A,{toc:toc,minHeadingLevel:minHeadingLevel,maxHeadingLevel:maxHeadingLevel})})]});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocItem/TOC/Mobile/styles.module.css -var Mobile_styles_module = __webpack_require__(3276); -var Mobile_styles_module_default = /*#__PURE__*/__webpack_require__.n(Mobile_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocItem/TOC/Mobile/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocItemTOCMobile(){const{toc,frontMatter}=useDoc();return/*#__PURE__*/(0,jsx_runtime.jsx)(TOCCollapsible,{toc:toc,minHeadingLevel:frontMatter.toc_min_heading_level,maxHeadingLevel:frontMatter.toc_max_heading_level,className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.docs.docTocMobile,(Mobile_styles_module_default()).tocMobile)});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/TOC/index.js -var TOC = __webpack_require__(5277); -;// ../packages/docusaurus-theme-classic/lib/theme/DocItem/TOC/Desktop/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocItemTOCDesktop(){const{toc,frontMatter}=useDoc();return/*#__PURE__*/(0,jsx_runtime.jsx)(TOC/* default */.A,{toc:toc,minHeadingLevel:frontMatter.toc_min_heading_level,maxHeadingLevel:frontMatter.toc_max_heading_level,className:ThemeClassNames/* ThemeClassNames */.G.docs.docTocDesktop});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Heading/index.js -var Heading = __webpack_require__(6813); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/MDXContent/index.js + 27 modules -var MDXContent = __webpack_require__(5493); -;// ../packages/docusaurus-theme-classic/lib/theme/DocItem/Content/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - Title can be declared inside md content or declared through - front matter and added manually. To make both cases consistent, - the added title is added under the same div.markdown block - See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120 - - We render a "synthetic title" if: - - user doesn't ask to hide it with front matter - - the markdown content does not already contain a top-level h1 heading -*/function useSyntheticTitle(){const{metadata,frontMatter,contentTitle}=useDoc();const shouldRender=!frontMatter.hide_title&&typeof contentTitle==='undefined';if(!shouldRender){return null;}return metadata.title;}function DocItemContent({children}){const syntheticTitle=useSyntheticTitle();return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.docs.docMarkdown,'markdown'),children:[syntheticTitle&&/*#__PURE__*/(0,jsx_runtime.jsx)("header",{children:/*#__PURE__*/(0,jsx_runtime.jsx)(Heading/* default */.A,{as:"h1",children:syntheticTitle})}),/*#__PURE__*/(0,jsx_runtime.jsx)(MDXContent/* default */.A,{children:children})]});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocBreadcrumbs/index.js + 4 modules -var DocBreadcrumbs = __webpack_require__(6748); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/ContentVisibility/index.js + 1 modules -var ContentVisibility = __webpack_require__(5088); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocItem/Layout/styles.module.css -var Layout_styles_module = __webpack_require__(4857); -var Layout_styles_module_default = /*#__PURE__*/__webpack_require__.n(Layout_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocItem/Layout/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Decide if the toc should be rendered, on mobile or desktop viewports - */function useDocTOC(){const{frontMatter,toc}=useDoc();const windowSize=(0,useWindowSize/* useWindowSize */.l)();const hidden=frontMatter.hide_table_of_contents;const canRender=!hidden&&toc.length>0;const mobile=canRender?/*#__PURE__*/(0,jsx_runtime.jsx)(DocItemTOCMobile,{}):undefined;const desktop=canRender&&(windowSize==='desktop'||windowSize==='ssr')?/*#__PURE__*/(0,jsx_runtime.jsx)(DocItemTOCDesktop,{}):undefined;return{hidden,mobile,desktop};}function DocItemLayout({children}){const docTOC=useDocTOC();const{metadata}=useDoc();return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:"row",children:[/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)('col',!docTOC.hidden&&(Layout_styles_module_default()).docItemCol),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(ContentVisibility/* default */.A,{metadata:metadata}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocVersionBanner/* default */.A,{}),/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(Layout_styles_module_default()).docItemContainer,children:[/*#__PURE__*/(0,jsx_runtime.jsxs)("article",{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(DocBreadcrumbs/* default */.A,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocVersionBadge/* default */.A,{}),docTOC.mobile,/*#__PURE__*/(0,jsx_runtime.jsx)(DocItemContent,{children:children}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocItemFooter,{})]}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocItemPaginator,{})]})]}),docTOC.desktop&&/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"col col--3",children:docTOC.desktop})]});} -;// ../packages/docusaurus-theme-classic/lib/theme/DocItem/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocItem(props){const docHtmlClassName=`docs-doc-id-${props.content.metadata.id}`;const MDXComponent=props.content;return/*#__PURE__*/(0,jsx_runtime.jsx)(DocProvider,{content:props.content,children:/*#__PURE__*/(0,jsx_runtime.jsxs)(metadataUtils/* HtmlClassNameProvider */.e3,{className:docHtmlClassName,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(DocItemMetadata,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocItemLayout,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(MDXComponent,{})})]})});} - -/***/ }), - -/***/ 4232: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ DocPaginator) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4709); -/* harmony import */ var _theme_PaginatorNavLink__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8705); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocPaginator(props){const{className,previous,next}=props;return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("nav",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(className,'pagination-nav'),"aria-label":(0,_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* .translate */ .T)({id:'theme.docs.paginator.navAriaLabel',message:'Docs pages',description:'The ARIA label for the docs pagination'}),children:[previous&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_theme_PaginatorNavLink__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{...previous,subLabel:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),next&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_theme_PaginatorNavLink__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{...next,subLabel:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:true})]});} - -/***/ }), - -/***/ 8125: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "default": () => (/* binding */ DocRoot) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/metadataUtils.js + 1 modules -var metadataUtils = __webpack_require__(5861); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-docs/lib/client/docsUtils.js -var docsUtils = __webpack_require__(4271); -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-docs/lib/client/docsSidebar.js -var docsSidebar = __webpack_require__(3770); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/scrollUtils.js -var scrollUtils = __webpack_require__(4195); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useLocationChange.js -var useLocationChange = __webpack_require__(8701); -;// ../packages/docusaurus-theme-common/lib/hooks/useBackToTopButton.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** Wires the logic for the back to top button. */function useBackToTopButton({threshold}){const[shown,setShown]=(0,react.useState)(false);const isFocusedAnchor=(0,react.useRef)(false);const{startScroll,cancelScroll}=(0,scrollUtils/* useSmoothScrollTo */.gk)();(0,scrollUtils/* useScrollPosition */.Mq)(({scrollY:scrollTop},lastPosition)=>{const lastScrollTop=lastPosition?.scrollY;// Component is just being mounted. Not really a scroll event from the user. -// Ignore it. -if(!lastScrollTop){return;}if(isFocusedAnchor.current){// This scroll position change is triggered by navigating to an anchor. -// Ignore it. -isFocusedAnchor.current=false;}else if(scrollTop>=lastScrollTop){// The user has scrolled down to "fight against" the animation. Cancel any -// animation under progress. -cancelScroll();setShown(false);}else if(scrollTop{if(locationChangeEvent.location.hash){isFocusedAnchor.current=true;setShown(false);}});return{shown,scrollToTop:()=>startScroll(0)};} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/BackToTopButton/styles.module.css -var styles_module = __webpack_require__(4512); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/BackToTopButton/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function BackToTopButton(){const{shown,scrollToTop}=useBackToTopButton({threshold:300});return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{"aria-label":(0,Translate/* translate */.T)({id:'theme.BackToTopButton.buttonAriaLabel',message:'Scroll back to top',description:'The ARIA label for the back to top button'}),className:(0,clsx/* default */.A)('clean-btn',ThemeClassNames/* ThemeClassNames */.G.common.backToTopButton,(styles_module_default()).backToTopButton,shown&&(styles_module_default()).backToTopButtonShow),type:"button",onClick:scrollToTop});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/accessibilityUtils.js -var accessibilityUtils = __webpack_require__(644); -// EXTERNAL MODULE: ../node_modules/react-router/esm/react-router.js -var react_router = __webpack_require__(9519); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/hooks/useWindowSize.js -var useWindowSize = __webpack_require__(242); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useThemeConfig.js -var useThemeConfig = __webpack_require__(6963); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Logo/index.js -var Logo = __webpack_require__(310); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Arrow/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconArrow(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...props,children:/*#__PURE__*/(0,jsx_runtime.jsxs)("g",{fill:"#7a7a7a",children:[/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocSidebar/Desktop/CollapseButton/styles.module.css -var CollapseButton_styles_module = __webpack_require__(7792); -var CollapseButton_styles_module_default = /*#__PURE__*/__webpack_require__.n(CollapseButton_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocSidebar/Desktop/CollapseButton/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function CollapseButton({onClick}){return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{type:"button",title:(0,Translate/* translate */.T)({id:'theme.docs.sidebar.collapseButtonTitle',message:'Collapse sidebar',description:'The title attribute for collapse button of doc sidebar'}),"aria-label":(0,Translate/* translate */.T)({id:'theme.docs.sidebar.collapseButtonAriaLabel',message:'Collapse sidebar',description:'The title attribute for collapse button of doc sidebar'}),className:(0,clsx/* default */.A)('button button--secondary button--outline',(CollapseButton_styles_module_default()).collapseSidebarButton),onClick:onClick,children:/*#__PURE__*/(0,jsx_runtime.jsx)(IconArrow,{className:(CollapseButton_styles_module_default()).collapseSidebarButtonIcon})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/announcementBar.js -var announcementBar = __webpack_require__(3228); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/reactUtils.js -var reactUtils = __webpack_require__(9129); -;// ../packages/docusaurus-plugin-content-docs/lib/client/docSidebarItemsExpandedState.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const EmptyContext=Symbol('EmptyContext');const Context=/*#__PURE__*/react.createContext(EmptyContext);/** - * Should be used to wrap one sidebar category level. This provider syncs the - * expanded states of all sibling categories, and categories can choose to - * collapse itself if another one is expanded. - */function DocSidebarItemsExpandedStateProvider({children}){const[expandedItem,setExpandedItem]=(0,react.useState)(null);const contextValue=(0,react.useMemo)(()=>({expandedItem,setExpandedItem}),[expandedItem]);return/*#__PURE__*/(0,jsx_runtime.jsx)(Context.Provider,{value:contextValue,children:children});}function useDocSidebarItemsExpandedState(){const value=(0,react.useContext)(Context);if(value===EmptyContext){throw new reactUtils/* ReactContextError */.dV('DocSidebarItemsExpandedStateProvider');}return value;} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/components/Collapsible/index.js -var Collapsible = __webpack_require__(343); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/routesUtils.js -var routesUtils = __webpack_require__(5438); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useIsBrowser.js -var useIsBrowser = __webpack_require__(3754); -;// ../packages/docusaurus-theme-classic/lib/theme/DocSidebarItem/Category/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// If we navigate to a category and it becomes active, it should automatically -// expand itself -function useAutoExpandActiveCategory({isActive,collapsed,updateCollapsed}){const wasActive=(0,reactUtils/* usePrevious */.ZC)(isActive);(0,react.useEffect)(()=>{const justBecameActive=isActive&&!wasActive;if(justBecameActive&&collapsed){updateCollapsed(false);}},[isActive,wasActive,collapsed,updateCollapsed]);}/** - * When a collapsible category has no link, we still link it to its first child - * during SSR as a temporary fallback. This allows to be able to navigate inside - * the category even when JS fails to load, is delayed or simply disabled - * React hydration becomes an optional progressive enhancement - * see https://github.com/facebookincubator/infima/issues/36#issuecomment-772543188 - * see https://github.com/facebook/docusaurus/issues/3030 - */function useCategoryHrefWithSSRFallback(item){const isBrowser=(0,useIsBrowser/* default */.A)();return (0,react.useMemo)(()=>{if(item.href&&!item.linkUnlisted){return item.href;}// In these cases, it's not necessary to render a fallback -// We skip the "findFirstCategoryLink" computation -if(isBrowser||!item.collapsible){return undefined;}return (0,docsUtils/* findFirstSidebarItemLink */.Nr)(item);},[item,isBrowser]);}function Category_CollapseButton({collapsed,categoryLabel,onClick}){return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{"aria-label":collapsed?(0,Translate/* translate */.T)({id:'theme.DocSidebarItem.expandCategoryAriaLabel',message:"Expand sidebar category '{label}'",description:'The ARIA label to expand the sidebar category'},{label:categoryLabel}):(0,Translate/* translate */.T)({id:'theme.DocSidebarItem.collapseCategoryAriaLabel',message:"Collapse sidebar category '{label}'",description:'The ARIA label to collapse the sidebar category'},{label:categoryLabel}),"aria-expanded":!collapsed,type:"button",className:"clean-btn menu__caret",onClick:onClick});}function DocSidebarItemCategory({item,onItemClick,activePath,level,index,...props}){const{items,label,collapsible,className,href}=item;const{docs:{sidebar:{autoCollapseCategories}}}=(0,useThemeConfig/* useThemeConfig */.p)();const hrefWithSSRFallback=useCategoryHrefWithSSRFallback(item);const isActive=(0,docsUtils/* isActiveSidebarItem */.w8)(item,activePath);const isCurrentPage=(0,routesUtils/* isSamePath */.ys)(href,activePath);const{collapsed,setCollapsed}=(0,Collapsible/* useCollapsible */.u)({// Active categories are always initialized as expanded. The default -// (`item.collapsed`) is only used for non-active categories. -initialState:()=>{if(!collapsible){return false;}return isActive?false:item.collapsed;}});const{expandedItem,setExpandedItem}=useDocSidebarItemsExpandedState();// Use this instead of `setCollapsed`, because it is also reactive -const updateCollapsed=(toCollapsed=!collapsed)=>{setExpandedItem(toCollapsed?null:index);setCollapsed(toCollapsed);};useAutoExpandActiveCategory({isActive,collapsed,updateCollapsed});(0,react.useEffect)(()=>{if(collapsible&&expandedItem!=null&&expandedItem!==index&&autoCollapseCategories){setCollapsed(true);}},[collapsible,expandedItem,index,setCollapsed,autoCollapseCategories]);return/*#__PURE__*/(0,jsx_runtime.jsxs)("li",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.docs.docSidebarItemCategory,ThemeClassNames/* ThemeClassNames */.G.docs.docSidebarItemCategoryLevel(level),'menu__list-item',{'menu__list-item--collapsed':collapsed},className),children:[/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)('menu__list-item-collapsible',{'menu__list-item-collapsible--active':isCurrentPage}),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{className:(0,clsx/* default */.A)('menu__link',{'menu__link--sublist':collapsible,'menu__link--sublist-caret':!href&&collapsible,'menu__link--active':isActive}),onClick:collapsible?e=>{onItemClick?.(item);if(href){if(isActive){e.preventDefault();updateCollapsed();}else{// When navigating to a new category, we always expand -// see https://github.com/facebook/docusaurus/issues/10854#issuecomment-2609616182 -updateCollapsed(false);}}else{e.preventDefault();updateCollapsed();}}:()=>{onItemClick?.(item);},"aria-current":isCurrentPage?'page':undefined,role:collapsible&&!href?'button':undefined,"aria-expanded":collapsible&&!href?!collapsed:undefined,href:collapsible?hrefWithSSRFallback??'#':hrefWithSSRFallback,...props,children:label}),href&&collapsible&&/*#__PURE__*/(0,jsx_runtime.jsx)(Category_CollapseButton,{collapsed:collapsed,categoryLabel:label,onClick:e=>{e.preventDefault();updateCollapsed();}})]}),/*#__PURE__*/(0,jsx_runtime.jsx)(Collapsible/* Collapsible */.N,{lazy:true,as:"ul",className:"menu__list",collapsed:collapsed,children:/*#__PURE__*/(0,jsx_runtime.jsx)(theme_DocSidebarItems,{items:items,tabIndex:collapsed?-1:0,onItemClick:onItemClick,activePath:activePath,level:level+1})})]});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/isInternalUrl.js -var isInternalUrl = __webpack_require__(73); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Icon/ExternalLink/index.js -var ExternalLink = __webpack_require__(6414); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocSidebarItem/Link/styles.module.css -var Link_styles_module = __webpack_require__(4441); -var Link_styles_module_default = /*#__PURE__*/__webpack_require__.n(Link_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocSidebarItem/Link/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocSidebarItemLink({item,onItemClick,activePath,level,index,...props}){const{href,label,className,autoAddBaseUrl}=item;const isActive=(0,docsUtils/* isActiveSidebarItem */.w8)(item,activePath);const isInternalLink=(0,isInternalUrl/* default */.A)(href);return/*#__PURE__*/(0,jsx_runtime.jsx)("li",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.docs.docSidebarItemLink,ThemeClassNames/* ThemeClassNames */.G.docs.docSidebarItemLinkLevel(level),'menu__list-item',className),children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Link/* default */.A,{className:(0,clsx/* default */.A)('menu__link',!isInternalLink&&(Link_styles_module_default()).menuExternalLink,{'menu__link--active':isActive}),autoAddBaseUrl:autoAddBaseUrl,"aria-current":isActive?'page':undefined,to:href,...(isInternalLink&&{onClick:onItemClick?()=>onItemClick(item):undefined}),...props,children:[label,!isInternalLink&&/*#__PURE__*/(0,jsx_runtime.jsx)(ExternalLink/* default */.A,{})]})},label);} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocSidebarItem/Html/styles.module.css -var Html_styles_module = __webpack_require__(7682); -var Html_styles_module_default = /*#__PURE__*/__webpack_require__.n(Html_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocSidebarItem/Html/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocSidebarItemHtml({item,level,index}){const{value,defaultStyle,className}=item;return/*#__PURE__*/(0,jsx_runtime.jsx)("li",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.docs.docSidebarItemLink,ThemeClassNames/* ThemeClassNames */.G.docs.docSidebarItemLinkLevel(level),defaultStyle&&[(Html_styles_module_default()).menuHtmlItem,'menu__list-item'],className),// eslint-disable-next-line react/no-danger -dangerouslySetInnerHTML:{__html:value}},index);} -;// ../packages/docusaurus-theme-classic/lib/theme/DocSidebarItem/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocSidebarItem({item,...props}){switch(item.type){case'category':return/*#__PURE__*/(0,jsx_runtime.jsx)(DocSidebarItemCategory,{item:item,...props});case'html':return/*#__PURE__*/(0,jsx_runtime.jsx)(DocSidebarItemHtml,{item:item,...props});case'link':default:return/*#__PURE__*/(0,jsx_runtime.jsx)(DocSidebarItemLink,{item:item,...props});}} -;// ../packages/docusaurus-theme-classic/lib/theme/DocSidebarItems/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocSidebarItems({items,...props}){const visibleItems=(0,docsUtils/* useVisibleSidebarItems */.Y)(items,props.activePath);return/*#__PURE__*/(0,jsx_runtime.jsx)(DocSidebarItemsExpandedStateProvider,{children:visibleItems.map((item,index)=>/*#__PURE__*/(0,jsx_runtime.jsx)(DocSidebarItem,{item:item,index:index,...props},index))});}// Optimize sidebar at each "level" -/* harmony default export */ const theme_DocSidebarItems = (/*#__PURE__*/(0,react.memo)(DocSidebarItems)); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocSidebar/Desktop/Content/styles.module.css -var Content_styles_module = __webpack_require__(76); -var Content_styles_module_default = /*#__PURE__*/__webpack_require__.n(Content_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocSidebar/Desktop/Content/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useShowAnnouncementBar(){const{isActive}=(0,announcementBar/* useAnnouncementBar */.M)();const[showAnnouncementBar,setShowAnnouncementBar]=(0,react.useState)(isActive);(0,scrollUtils/* useScrollPosition */.Mq)(({scrollY})=>{if(isActive){setShowAnnouncementBar(scrollY===0);}},[isActive]);return isActive&&showAnnouncementBar;}function DocSidebarDesktopContent({path,sidebar,className}){const showAnnouncementBar=useShowAnnouncementBar();return/*#__PURE__*/(0,jsx_runtime.jsx)("nav",{"aria-label":(0,Translate/* translate */.T)({id:'theme.docs.sidebar.navAriaLabel',message:'Docs sidebar',description:'The ARIA label for the sidebar navigation'}),className:(0,clsx/* default */.A)('menu thin-scrollbar',(Content_styles_module_default()).menu,showAnnouncementBar&&(Content_styles_module_default()).menuWithAnnouncementBar,className),children:/*#__PURE__*/(0,jsx_runtime.jsx)("ul",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.docs.docSidebarMenu,'menu__list'),children:/*#__PURE__*/(0,jsx_runtime.jsx)(theme_DocSidebarItems,{items:sidebar,activePath:path,level:1})})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocSidebar/Desktop/styles.module.css -var Desktop_styles_module = __webpack_require__(5546); -var Desktop_styles_module_default = /*#__PURE__*/__webpack_require__.n(Desktop_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocSidebar/Desktop/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocSidebarDesktop({path,sidebar,onCollapse,isHidden}){const{navbar:{hideOnScroll},docs:{sidebar:{hideable}}}=(0,useThemeConfig/* useThemeConfig */.p)();return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)((Desktop_styles_module_default()).sidebar,hideOnScroll&&(Desktop_styles_module_default()).sidebarWithHideableNavbar,isHidden&&(Desktop_styles_module_default()).sidebarHidden),children:[hideOnScroll&&/*#__PURE__*/(0,jsx_runtime.jsx)(Logo/* default */.A,{tabIndex:-1,className:(Desktop_styles_module_default()).sidebarLogo}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocSidebarDesktopContent,{path:path,sidebar:sidebar}),hideable&&/*#__PURE__*/(0,jsx_runtime.jsx)(CollapseButton,{onClick:onCollapse})]});}/* harmony default export */ const Desktop = (/*#__PURE__*/react.memo(DocSidebarDesktop)); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/navbarSecondaryMenu/content.js -var content = __webpack_require__(5105); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/navbarMobileSidebar.js + 1 modules -var navbarMobileSidebar = __webpack_require__(1021); -;// ../packages/docusaurus-theme-classic/lib/theme/DocSidebar/Mobile/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// eslint-disable-next-line react/function-component-definition -const DocSidebarMobileSecondaryMenu=({sidebar,path})=>{const mobileSidebar=(0,navbarMobileSidebar/* useNavbarMobileSidebar */.M)();return/*#__PURE__*/(0,jsx_runtime.jsx)("ul",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.docs.docSidebarMenu,'menu__list'),children:/*#__PURE__*/(0,jsx_runtime.jsx)(theme_DocSidebarItems,{items:sidebar,activePath:path,onItemClick:item=>{// Mobile sidebar should only be closed if the category has a link -if(item.type==='category'&&item.href){mobileSidebar.toggle();}if(item.type==='link'){mobileSidebar.toggle();}},level:1})});};function DocSidebarMobile(props){return/*#__PURE__*/(0,jsx_runtime.jsx)(content/* NavbarSecondaryMenuFiller */.GX,{component:DocSidebarMobileSecondaryMenu,props:props});}/* harmony default export */ const Mobile = (/*#__PURE__*/react.memo(DocSidebarMobile)); -;// ../packages/docusaurus-theme-classic/lib/theme/DocSidebar/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocSidebar(props){const windowSize=(0,useWindowSize/* useWindowSize */.l)();// Desktop sidebar visible on hydration: need SSR rendering -const shouldRenderSidebarDesktop=windowSize==='desktop'||windowSize==='ssr';// Mobile sidebar not visible on hydration: can avoid SSR rendering -const shouldRenderSidebarMobile=windowSize==='mobile';return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[shouldRenderSidebarDesktop&&/*#__PURE__*/(0,jsx_runtime.jsx)(Desktop,{...props}),shouldRenderSidebarMobile&&/*#__PURE__*/(0,jsx_runtime.jsx)(Mobile,{...props})]});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocRoot/Layout/Sidebar/ExpandButton/styles.module.css -var ExpandButton_styles_module = __webpack_require__(2822); -var ExpandButton_styles_module_default = /*#__PURE__*/__webpack_require__.n(ExpandButton_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocRoot/Layout/Sidebar/ExpandButton/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocRootLayoutSidebarExpandButton({toggleSidebar}){return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(ExpandButton_styles_module_default()).expandButton,title:(0,Translate/* translate */.T)({id:'theme.docs.sidebar.expandButtonTitle',message:'Expand sidebar',description:'The ARIA label and title attribute for expand button of doc sidebar'}),"aria-label":(0,Translate/* translate */.T)({id:'theme.docs.sidebar.expandButtonAriaLabel',message:'Expand sidebar',description:'The ARIA label and title attribute for expand button of doc sidebar'}),tabIndex:0,role:"button",onKeyDown:toggleSidebar,onClick:toggleSidebar,children:/*#__PURE__*/(0,jsx_runtime.jsx)(IconArrow,{className:(ExpandButton_styles_module_default()).expandButtonIcon})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocRoot/Layout/Sidebar/styles.module.css -var Sidebar_styles_module = __webpack_require__(9359); -var Sidebar_styles_module_default = /*#__PURE__*/__webpack_require__.n(Sidebar_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocRoot/Layout/Sidebar/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Reset sidebar state when sidebar changes -// Use React key to unmount/remount the children -// See https://github.com/facebook/docusaurus/issues/3414 -function ResetOnSidebarChange({children}){const sidebar=(0,docsSidebar/* useDocsSidebar */.t)();return/*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment,{children:children},sidebar?.name??'noSidebar');}function DocRootLayoutSidebar({sidebar,hiddenSidebarContainer,setHiddenSidebarContainer}){const{pathname}=(0,react_router/* useLocation */.zy)();const[hiddenSidebar,setHiddenSidebar]=(0,react.useState)(false);const toggleSidebar=(0,react.useCallback)(()=>{if(hiddenSidebar){setHiddenSidebar(false);}// onTransitionEnd won't fire when sidebar animation is disabled -// fixes https://github.com/facebook/docusaurus/issues/8918 -if(!hiddenSidebar&&(0,accessibilityUtils/* prefersReducedMotion */.O)()){setHiddenSidebar(true);}setHiddenSidebarContainer(value=>!value);},[setHiddenSidebarContainer,hiddenSidebar]);return/*#__PURE__*/(0,jsx_runtime.jsx)("aside",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.docs.docSidebarContainer,(Sidebar_styles_module_default()).docSidebarContainer,hiddenSidebarContainer&&(Sidebar_styles_module_default()).docSidebarContainerHidden),onTransitionEnd:e=>{if(!e.currentTarget.classList.contains((Sidebar_styles_module_default()).docSidebarContainer)){return;}if(hiddenSidebarContainer){setHiddenSidebar(true);}},children:/*#__PURE__*/(0,jsx_runtime.jsx)(ResetOnSidebarChange,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)((Sidebar_styles_module_default()).sidebarViewport,hiddenSidebar&&(Sidebar_styles_module_default()).sidebarViewportHidden),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(DocSidebar,{sidebar:sidebar,path:pathname,onCollapse:toggleSidebar,isHidden:hiddenSidebar}),hiddenSidebar&&/*#__PURE__*/(0,jsx_runtime.jsx)(DocRootLayoutSidebarExpandButton,{toggleSidebar:toggleSidebar})]})})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocRoot/Layout/Main/styles.module.css -var Main_styles_module = __webpack_require__(1154); -var Main_styles_module_default = /*#__PURE__*/__webpack_require__.n(Main_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocRoot/Layout/Main/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocRootLayoutMain({hiddenSidebarContainer,children}){const sidebar=(0,docsSidebar/* useDocsSidebar */.t)();return/*#__PURE__*/(0,jsx_runtime.jsx)("main",{className:(0,clsx/* default */.A)((Main_styles_module_default()).docMainContainer,(hiddenSidebarContainer||!sidebar)&&(Main_styles_module_default()).docMainContainerEnhanced),children:/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)('container padding-top--md padding-bottom--lg',(Main_styles_module_default()).docItemWrapper,hiddenSidebarContainer&&(Main_styles_module_default()).docItemWrapperEnhanced),children:children})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/DocRoot/Layout/styles.module.css -var Layout_styles_module = __webpack_require__(2114); -var Layout_styles_module_default = /*#__PURE__*/__webpack_require__.n(Layout_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/DocRoot/Layout/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocRootLayout({children}){const sidebar=(0,docsSidebar/* useDocsSidebar */.t)();const[hiddenSidebarContainer,setHiddenSidebarContainer]=(0,react.useState)(false);return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(Layout_styles_module_default()).docsWrapper,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(BackToTopButton,{}),/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(Layout_styles_module_default()).docRoot,children:[sidebar&&/*#__PURE__*/(0,jsx_runtime.jsx)(DocRootLayoutSidebar,{sidebar:sidebar.items,hiddenSidebarContainer:hiddenSidebarContainer,setHiddenSidebarContainer:setHiddenSidebarContainer}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocRootLayoutMain,{hiddenSidebarContainer:hiddenSidebarContainer,children:children})]})]});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/NotFound/Content/index.js -var Content = __webpack_require__(1412); -;// ../packages/docusaurus-theme-classic/lib/theme/DocRoot/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocRoot(props){const currentDocRouteMetadata=(0,docsUtils/* useDocRootMetadata */.B5)(props);if(!currentDocRouteMetadata){// We only render the not found content to avoid a double layout -// see https://github.com/facebook/docusaurus/pull/7966#pullrequestreview-1077276692 -return/*#__PURE__*/(0,jsx_runtime.jsx)(Content/* default */.A,{});}const{docElement,sidebarName,sidebarItems}=currentDocRouteMetadata;return/*#__PURE__*/(0,jsx_runtime.jsx)(metadataUtils/* HtmlClassNameProvider */.e3,{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.page.docsDocPage),children:/*#__PURE__*/(0,jsx_runtime.jsx)(docsSidebar/* DocsSidebarProvider */.V,{name:sidebarName,items:sidebarItems,children:/*#__PURE__*/(0,jsx_runtime.jsx)(DocRootLayout,{children:docElement})})});} - -/***/ }), - -/***/ 458: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ DocVersionBadge) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4709); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8532); -/* harmony import */ var _docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8218); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocVersionBadge({className}){const versionMetadata=(0,_docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_3__/* .useDocsVersion */ .r)();if(versionMetadata.badge){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("span",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(className,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_5__/* .ThemeClassNames */ .G.docs.docVersionBadge,'badge badge--secondary'),children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.docs.versionBadge.label",values:{versionLabel:versionMetadata.label},children:'Version: {versionLabel}'})});}return null;} - -/***/ }), - -/***/ 913: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ DocVersionBanner) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1571); -/* harmony import */ var _docusaurus_Link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1349); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4709); -/* harmony import */ var _docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5996); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8532); -/* harmony import */ var _docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2375); -/* harmony import */ var _docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8218); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function UnreleasedVersionLabel({siteTitle,versionMetadata}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle,versionLabel:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b",{children:versionMetadata.label})},children:'This is unreleased documentation for {siteTitle} {versionLabel} version.'});}function UnmaintainedVersionLabel({siteTitle,versionMetadata}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle,versionLabel:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b",{children:versionMetadata.label})},children:'This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.'});}const BannerLabelComponents={unreleased:UnreleasedVersionLabel,unmaintained:UnmaintainedVersionLabel};function BannerLabel(props){const BannerLabelComponent=BannerLabelComponents[props.versionMetadata.banner];return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(BannerLabelComponent,{...props});}function LatestVersionSuggestionLabel({versionLabel,to,onClick}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel,latestVersionLink:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b",{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_docusaurus_Link__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{to:to,onClick:onClick,children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:'For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).'});}function DocVersionBannerEnabled({className,versionMetadata}){const{siteConfig:{title:siteTitle}}=(0,_docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)();const{pluginId}=(0,_docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_5__/* .useActivePlugin */ .vT)({failfast:true});const getVersionMainDoc=version=>version.docs.find(doc=>doc.id===version.mainDocId);const{savePreferredVersionName}=(0,_docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_6__/* .useDocsPreferredVersion */ .g1)(pluginId);const{latestDocSuggestion,latestVersionSuggestion}=(0,_docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_5__/* .useDocVersionSuggestions */ .HW)(pluginId);// Try to link to same doc in latest version (not always possible), falling -// back to main doc of latest version -const latestVersionSuggestedDoc=latestDocSuggestion??getVersionMainDoc(latestVersionSuggestion);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(className,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_8__/* .ThemeClassNames */ .G.docs.docVersionBanner,'alert alert--warning margin-bottom--md'),role:"alert",children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div",{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(BannerLabel,{siteTitle:siteTitle,versionMetadata:versionMetadata})}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div",{className:"margin-top--md",children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(LatestVersionSuggestionLabel,{versionLabel:latestVersionSuggestion.label,to:latestVersionSuggestedDoc.path,onClick:()=>savePreferredVersionName(latestVersionSuggestion.name)})})]});}function DocVersionBanner({className}){const versionMetadata=(0,_docusaurus_plugin_content_docs_client__WEBPACK_IMPORTED_MODULE_9__/* .useDocsVersion */ .r)();if(versionMetadata.banner){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(DocVersionBannerEnabled,{className:className,versionMetadata:versionMetadata});}return null;} - -/***/ }), - -/***/ 9660: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "default": () => (/* binding */ DocVersionRoot) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/metadataUtils.js + 1 modules -var metadataUtils = __webpack_require__(5861); -;// ../packages/docusaurus-plugin-content-docs/lib/client/docsSearch.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** The search tag to append as each doc's metadata. */function getDocsVersionSearchTag(pluginId,versionName){return`docs-${pluginId}-${versionName}`;}/** - * Gets the relevant docs tags to search. - * This is the logic that powers the contextual search feature. - * - * If user is browsing Android 1.4 docs, he'll get presented with: - * - Android '1.4' docs - * - iOS 'preferred | latest' docs - * - * The result is generic and not coupled to Algolia/DocSearch on purpose. - */function useDocsContextualSearchTags(){const allDocsData=useAllDocsData();const activePluginAndVersion=useActivePluginAndVersion();const docsPreferredVersionByPluginId=useDocsPreferredVersionByPluginId();// This can't use more specialized hooks because we are mapping over all -// plugin instances. -function getDocPluginTags(pluginId){const activeVersion=activePluginAndVersion?.activePlugin.pluginId===pluginId?activePluginAndVersion.activeVersion:undefined;const preferredVersion=docsPreferredVersionByPluginId[pluginId];const latestVersion=allDocsData[pluginId].versions.find(v=>v.isLast);const version=activeVersion??preferredVersion??latestVersion;return getDocsVersionSearchTag(pluginId,version.name);}return[...Object.keys(allDocsData).map(getDocPluginTags)];} -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-docs/lib/client/docsVersion.js -var docsVersion = __webpack_require__(8218); -// EXTERNAL MODULE: ../node_modules/react-router-config/esm/react-router-config.js -var react_router_config = __webpack_require__(3971); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/SearchMetadata/index.js -var SearchMetadata = __webpack_require__(3308); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/DocVersionRoot/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocVersionRootMetadata(props){const{version}=props;return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(SearchMetadata/* default */.A,{version:version.version,tag:getDocsVersionSearchTag(version.pluginId,version.version)}),/*#__PURE__*/(0,jsx_runtime.jsx)(metadataUtils/* PageMetadata */.be,{children:version.noIndex&&/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]});}function DocVersionRootContent(props){const{version,route}=props;return/*#__PURE__*/(0,jsx_runtime.jsx)(metadataUtils/* HtmlClassNameProvider */.e3,{className:version.className,children:/*#__PURE__*/(0,jsx_runtime.jsx)(docsVersion/* DocsVersionProvider */.n,{version:version,children:(0,react_router_config/* renderRoutes */.v)(route.routes)})});}function DocVersionRoot(props){return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(DocVersionRootMetadata,{...props}),/*#__PURE__*/(0,jsx_runtime.jsx)(DocVersionRootContent,{...props})]});} - -/***/ }), - -/***/ 7602: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ DocsRoot) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5861); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8532); -/* harmony import */ var _docusaurus_renderRoutes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3971); -/* harmony import */ var _theme_Layout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3305); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocsRoot(props){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_3__/* .HtmlClassNameProvider */ .e3,{className:(0,clsx__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_5__/* .ThemeClassNames */ .G.wrapper.docsPages),children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_theme_Layout__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{children:(0,_docusaurus_renderRoutes__WEBPACK_IMPORTED_MODULE_6__/* .renderRoutes */ .v)(props.route.routes)})});} - -/***/ }), - -/***/ 9738: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ EditMetaRow) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Icon/Edit/styles.module.css -var styles_module = __webpack_require__(2433); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Edit/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconEdit({className,...restProps}){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,clsx/* default */.A)((styles_module_default()).iconEdit,className),"aria-hidden":"true",...restProps,children:/*#__PURE__*/(0,jsx_runtime.jsx)("g",{children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})});} -;// ../packages/docusaurus-theme-classic/lib/theme/EditThisPage/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function EditThisPage({editUrl}){return/*#__PURE__*/(0,jsx_runtime.jsxs)(Link/* default */.A,{to:editUrl,className:ThemeClassNames/* ThemeClassNames */.G.common.editThisPage,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(IconEdit,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/IntlUtils.js -var IntlUtils = __webpack_require__(9153); -;// ../packages/docusaurus-theme-classic/lib/theme/LastUpdated/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function LastUpdatedAtDate({lastUpdatedAt}){const atDate=new Date(lastUpdatedAt);const dateTimeFormat=(0,IntlUtils/* useDateTimeFormat */.i)({day:'numeric',month:'short',year:'numeric',timeZone:'UTC'});const formattedLastUpdatedAt=dateTimeFormat.format(atDate);return/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:/*#__PURE__*/(0,jsx_runtime.jsx)("b",{children:/*#__PURE__*/(0,jsx_runtime.jsx)("time",{dateTime:atDate.toISOString(),itemProp:"dateModified",children:formattedLastUpdatedAt})})},children:' on {date}'});}function LastUpdatedByUser({lastUpdatedBy}){return/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:/*#__PURE__*/(0,jsx_runtime.jsx)("b",{children:lastUpdatedBy})},children:' by {user}'});}function LastUpdated({lastUpdatedAt,lastUpdatedBy}){return/*#__PURE__*/(0,jsx_runtime.jsxs)("span",{className:ThemeClassNames/* ThemeClassNames */.G.common.lastUpdated,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:lastUpdatedAt?/*#__PURE__*/(0,jsx_runtime.jsx)(LastUpdatedAtDate,{lastUpdatedAt:lastUpdatedAt}):'',byUser:lastUpdatedBy?/*#__PURE__*/(0,jsx_runtime.jsx)(LastUpdatedByUser,{lastUpdatedBy:lastUpdatedBy}):''},children:'Last updated{atDate}{byUser}'}), false&&/*#__PURE__*/0]});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/EditMetaRow/styles.module.css -var EditMetaRow_styles_module = __webpack_require__(466); -var EditMetaRow_styles_module_default = /*#__PURE__*/__webpack_require__.n(EditMetaRow_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/EditMetaRow/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function EditMetaRow({className,editUrl,lastUpdatedAt,lastUpdatedBy}){return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)('row',className),children:[/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"col",children:editUrl&&/*#__PURE__*/(0,jsx_runtime.jsx)(EditThisPage,{editUrl:editUrl})}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)('col',(EditMetaRow_styles_module_default()).lastUpdated),children:(lastUpdatedAt||lastUpdatedBy)&&/*#__PURE__*/(0,jsx_runtime.jsx)(LastUpdated,{lastUpdatedAt:lastUpdatedAt,lastUpdatedBy:lastUpdatedBy})})]});} - -/***/ }), - -/***/ 6813: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ Heading) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4709); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6963); -/* harmony import */ var _docusaurus_Link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1349); -/* harmony import */ var _docusaurus_useBrokenLinks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1900); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4693); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_styles_module_css__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Heading({as:As,id,...props}){const brokenLinks=(0,_docusaurus_useBrokenLinks__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)();const{navbar:{hideOnScroll}}=(0,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_6__/* .useThemeConfig */ .p)();// H1 headings do not need an id because they don't appear in the TOC. -if(As==='h1'||!id){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(As,{...props,id:undefined});}brokenLinks.collectAnchor(id);const anchorTitle=(0,_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* .translate */ .T)({id:'theme.common.headingLinkTitle',message:'Direct link to {heading}',description:'Title for link to heading'},{heading:typeof props.children==='string'?props.children:id});return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(As,{...props,className:(0,clsx__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)('anchor',hideOnScroll?(_styles_module_css__WEBPACK_IMPORTED_MODULE_4___default().anchorWithHideOnScrollNavbar):(_styles_module_css__WEBPACK_IMPORTED_MODULE_4___default().anchorWithStickyNavbar),props.className),id:id,children:[props.children,/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_docusaurus_Link__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{className:"hash-link",to:`#${id}`,"aria-label":anchorTitle,title:anchorTitle,children:"\u200B"})]});} - -/***/ }), - -/***/ 6414: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ IconExternalLink) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5708); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_module_css__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// References symbol in docusaurus-theme-classic/src/inlineSvgSprites.ts -// See why: https://github.com/facebook/docusaurus/issues/5865 -const svgSprite='#theme-svg-external-link';function IconExternalLink({width=13.5,height=13.5}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("svg",{width:width,height:height,"aria-hidden":"true",className:(_styles_module_css__WEBPACK_IMPORTED_MODULE_1___default().iconExternalLink),children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("use",{href:svgSprite})});} - -/***/ }), - -/***/ 3305: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ Layout) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/ErrorBoundary.js + 1 modules -var ErrorBoundary = __webpack_require__(5769); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/metadataUtils.js + 1 modules -var metadataUtils = __webpack_require__(5861); -// EXTERNAL MODULE: ../node_modules/react-router/esm/react-router.js -var react_router = __webpack_require__(9519); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useLocationChange.js -var useLocationChange = __webpack_require__(8701); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-common/lib/utils/skipToContentUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * The id of the element that should become focused on a page - * that does not have a
html tag. - * Focusing the Docusaurus Layout children is a reasonable fallback. - * - * __ prefix allows search crawlers (Algolia/DocSearch) to ignore anchors - * https://github.com/facebook/docusaurus/issues/8883#issuecomment-1516328368 - */const SkipToContentFallbackId='__docusaurus_skipToContent_fallback';/** - * Returns the skip to content element to focus when the link is clicked. - */function getSkipToContentTarget(){return(// Try to focus the
in priority -// Note: this will only work if JS is enabled -// See https://github.com/facebook/docusaurus/issues/6411#issuecomment-1284136069 -document.querySelector('main:first-of-type')??// Then try to focus the fallback element (usually the Layout children) -document.getElementById(SkipToContentFallbackId));}function programmaticFocus(el){el.setAttribute('tabindex','-1');el.focus();el.removeAttribute('tabindex');}/** This hook wires the logic for a skip-to-content link. */function useSkipToContent(){const containerRef=(0,react.useRef)(null);const{action}=(0,react_router/* useHistory */.W6)();const onClick=(0,react.useCallback)(e=>{e.preventDefault();const targetElement=getSkipToContentTarget();if(targetElement){programmaticFocus(targetElement);}},[]);// "Reset" focus when navigating. -// See https://github.com/facebook/docusaurus/pull/8204#issuecomment-1276547558 -(0,useLocationChange/* useLocationChange */.$)(({location})=>{if(containerRef.current&&!location.hash&&action==='PUSH'){programmaticFocus(containerRef.current);}});return{containerRef,onClick};}const DefaultSkipToContentLabel=(0,Translate/* translate */.T)({id:'theme.common.skipToMainContent',description:'The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation',message:'Skip to main content'});function SkipToContentLink(props){const linkLabel=props.children??DefaultSkipToContentLabel;const{containerRef,onClick}=useSkipToContent();return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{ref:containerRef,role:"region","aria-label":DefaultSkipToContentLabel,children:/*#__PURE__*/(0,jsx_runtime.jsx)("a",{...props,// Note this is a fallback href in case JS is disabled -// It has limitations, see https://github.com/facebook/docusaurus/issues/6411#issuecomment-1284136069 -href:`#${SkipToContentFallbackId}`,onClick:onClick,children:linkLabel})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/hooks/useKeyboardNavigation.js -var useKeyboardNavigation = __webpack_require__(4684); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/SkipToContent/styles.module.css -var styles_module = __webpack_require__(8858); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/SkipToContent/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function SkipToContent(){return/*#__PURE__*/(0,jsx_runtime.jsx)(SkipToContentLink,{className:(styles_module_default()).skipToContent});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useThemeConfig.js -var useThemeConfig = __webpack_require__(6963); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/announcementBar.js -var contexts_announcementBar = __webpack_require__(3228); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Close/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconClose({width=21,height=21,color='currentColor',strokeWidth=1.2,className,...restProps}){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 15 15",width:width,height:height,...restProps,children:/*#__PURE__*/(0,jsx_runtime.jsx)("g",{stroke:color,strokeWidth:strokeWidth,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/AnnouncementBar/CloseButton/styles.module.css -var CloseButton_styles_module = __webpack_require__(8470); -var CloseButton_styles_module_default = /*#__PURE__*/__webpack_require__.n(CloseButton_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/AnnouncementBar/CloseButton/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function AnnouncementBarCloseButton(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{type:"button","aria-label":(0,Translate/* translate */.T)({id:'theme.AnnouncementBar.closeButtonAriaLabel',message:'Close',description:'The ARIA label for close button of announcement bar'}),...props,className:(0,clsx/* default */.A)('clean-btn close',(CloseButton_styles_module_default()).closeButton,props.className),children:/*#__PURE__*/(0,jsx_runtime.jsx)(IconClose,{width:14,height:14,strokeWidth:3.1})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/AnnouncementBar/Content/styles.module.css -var Content_styles_module = __webpack_require__(6369); -var Content_styles_module_default = /*#__PURE__*/__webpack_require__.n(Content_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/AnnouncementBar/Content/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function AnnouncementBarContent(props){const{announcementBar}=(0,useThemeConfig/* useThemeConfig */.p)();const{content}=announcementBar;return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{...props,className:(0,clsx/* default */.A)((Content_styles_module_default()).content,props.className)// Developer provided the HTML, so assume it's safe. -// eslint-disable-next-line react/no-danger -,dangerouslySetInnerHTML:{__html:content}});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/AnnouncementBar/styles.module.css -var AnnouncementBar_styles_module = __webpack_require__(4459); -var AnnouncementBar_styles_module_default = /*#__PURE__*/__webpack_require__.n(AnnouncementBar_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/AnnouncementBar/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function AnnouncementBar(){const{announcementBar}=(0,useThemeConfig/* useThemeConfig */.p)();const{isActive,close}=(0,contexts_announcementBar/* useAnnouncementBar */.M)();if(!isActive){return null;}const{backgroundColor,textColor,isCloseable}=announcementBar;return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.announcementBar.container,(AnnouncementBar_styles_module_default()).announcementBar),style:{backgroundColor,color:textColor},role:"banner",children:[isCloseable&&/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(AnnouncementBar_styles_module_default()).announcementBarPlaceholder}),/*#__PURE__*/(0,jsx_runtime.jsx)(AnnouncementBarContent,{className:(AnnouncementBar_styles_module_default()).announcementBarContent}),isCloseable&&/*#__PURE__*/(0,jsx_runtime.jsx)(AnnouncementBarCloseButton,{onClick:close,className:(AnnouncementBar_styles_module_default()).announcementBarClose})]});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/navbarMobileSidebar.js + 1 modules -var navbarMobileSidebar = __webpack_require__(1021); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/scrollUtils.js -var scrollUtils = __webpack_require__(4195); -;// ../packages/docusaurus-theme-common/lib/hooks/useHideableNavbar.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Wires the imperative logic of a hideable navbar. - * @param hideOnScroll If `false`, this hook is basically a no-op. - */function useHideableNavbar(hideOnScroll){const[isNavbarVisible,setIsNavbarVisible]=(0,react.useState)(hideOnScroll);const isFocusedAnchor=(0,react.useRef)(false);const navbarHeight=(0,react.useRef)(0);const navbarRef=(0,react.useCallback)(node=>{if(node!==null){navbarHeight.current=node.getBoundingClientRect().height;}},[]);(0,scrollUtils/* useScrollPosition */.Mq)(({scrollY:scrollTop},lastPosition)=>{if(!hideOnScroll){return;}// Needed mostly for handling rubber band scrolling. -// See https://github.com/facebook/docusaurus/pull/5721 -if(scrollTop=lastScrollTop){setIsNavbarVisible(false);}else if(scrollTop+windowHeight{if(!hideOnScroll){return;}// See https://github.com/facebook/docusaurus/pull/8059#issuecomment-1239639480 -const currentHash=locationChangeEvent.location.hash;const currentHashAnchor=currentHash?document.getElementById(currentHash.substring(1)):undefined;if(currentHashAnchor){isFocusedAnchor.current=true;setIsNavbarVisible(false);return;}setIsNavbarVisible(true);});return{navbarRef,isNavbarVisible};} -;// ../packages/docusaurus-theme-common/lib/hooks/useLockBodyScroll.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Side-effect that locks the document body's scroll throughout the lifetime of - * the containing component. e.g. when the mobile sidebar is expanded. - */function useLockBodyScroll(lock=true){(0,react.useEffect)(()=>{document.body.style.overflow=lock?'hidden':'visible';return()=>{document.body.style.overflow='visible';};},[lock]);} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/reactUtils.js -var reactUtils = __webpack_require__(9129); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/navbarSecondaryMenu/content.js -var navbarSecondaryMenu_content = __webpack_require__(5105); -;// ../packages/docusaurus-theme-common/lib/contexts/navbarSecondaryMenu/display.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Context=/*#__PURE__*/react.createContext(null);function useContextValue(){const mobileSidebar=(0,navbarMobileSidebar/* useNavbarMobileSidebar */.M)();const content=(0,navbarSecondaryMenu_content/* useNavbarSecondaryMenuContent */.YL)();const[shown,setShown]=(0,react.useState)(false);const hasContent=content.component!==null;const previousHasContent=(0,reactUtils/* usePrevious */.ZC)(hasContent);// When content is become available for the first time (set in useEffect) -// we set this content to be shown! -(0,react.useEffect)(()=>{const contentBecameAvailable=hasContent&&!previousHasContent;if(contentBecameAvailable){setShown(true);}},[hasContent,previousHasContent]);// On sidebar close, secondary menu is set to be shown on next re-opening -// (if any secondary menu content available) -(0,react.useEffect)(()=>{if(!hasContent){setShown(false);return;}if(!mobileSidebar.shown){setShown(true);}},[mobileSidebar.shown,hasContent]);return (0,react.useMemo)(()=>[shown,setShown],[shown]);}/** @internal */function NavbarSecondaryMenuDisplayProvider({children}){const value=useContextValue();return/*#__PURE__*/(0,jsx_runtime.jsx)(Context.Provider,{value:value,children:children});}function renderElement(content){if(content.component){const Comp=content.component;return/*#__PURE__*/(0,jsx_runtime.jsx)(Comp,{...content.props});}return undefined;}/** Wires the logic for rendering the mobile navbar secondary menu. */function useNavbarSecondaryMenu(){const value=(0,react.useContext)(Context);if(!value){throw new reactUtils/* ReactContextError */.dV('NavbarSecondaryMenuDisplayProvider');}const[shown,setShown]=value;const hide=(0,react.useCallback)(()=>setShown(false),[setShown]);const content=(0,navbarSecondaryMenu_content/* useNavbarSecondaryMenuContent */.YL)();return (0,react.useMemo)(()=>({shown,hide,content:renderElement(content)}),[hide,content,shown]);} -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/MobileSidebar/Layout/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// TODO Docusaurus v4: remove temporary inert workaround -// See https://github.com/facebook/react/issues/17157 -// See https://github.com/radix-ui/themes/pull/509 -function inertProps(inert){const isBeforeReact19=parseInt(react.version.split('.')[0],10)<19;if(isBeforeReact19){return{inert:inert?'':undefined};}return{inert};}function NavbarMobileSidebarPanel({children,inert}){return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.layout.navbar.mobileSidebar.panel,'navbar-sidebar__item menu'),...inertProps(inert),children:children});}function NavbarMobileSidebarLayout({header,primaryMenu,secondaryMenu}){const{shown:secondaryMenuShown}=useNavbarSecondaryMenu();return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.layout.navbar.mobileSidebar.container,'navbar-sidebar'),children:[header,/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)('navbar-sidebar__items',{'navbar-sidebar__items--show-secondary':secondaryMenuShown}),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarMobileSidebarPanel,{inert:secondaryMenuShown,children:primaryMenu}),/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarMobileSidebarPanel,{inert:!secondaryMenuShown,children:secondaryMenu})]})]});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/colorMode.js -var contexts_colorMode = __webpack_require__(5407); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useIsBrowser.js -var useIsBrowser = __webpack_require__(3754); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/LightMode/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconLightMode(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/DarkMode/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconDarkMode(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/ColorModeToggle/styles.module.css -var ColorModeToggle_styles_module = __webpack_require__(6583); -var ColorModeToggle_styles_module_default = /*#__PURE__*/__webpack_require__.n(ColorModeToggle_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/ColorModeToggle/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function ColorModeToggle({className,buttonClassName,value,onChange}){const isBrowser=(0,useIsBrowser/* default */.A)();const title=(0,Translate/* translate */.T)({message:'Switch between dark and light mode (currently {mode})',id:'theme.colorToggle.ariaLabel',description:'The ARIA label for the navbar color mode toggle'},{mode:value==='dark'?(0,Translate/* translate */.T)({message:'dark mode',id:'theme.colorToggle.ariaLabel.mode.dark',description:'The name for the dark color mode'}):(0,Translate/* translate */.T)({message:'light mode',id:'theme.colorToggle.ariaLabel.mode.light',description:'The name for the light color mode'})});return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)((ColorModeToggle_styles_module_default()).toggle,className),children:/*#__PURE__*/(0,jsx_runtime.jsxs)("button",{className:(0,clsx/* default */.A)('clean-btn',(ColorModeToggle_styles_module_default()).toggleButton,!isBrowser&&(ColorModeToggle_styles_module_default()).toggleButtonDisabled,buttonClassName),type:"button",onClick:()=>onChange(value==='dark'?'light':'dark'),disabled:!isBrowser,title:title,"aria-label":title,"aria-live":"polite","aria-pressed":value==='dark'?'true':'false',children:[/*#__PURE__*/(0,jsx_runtime.jsx)(IconLightMode,{className:(0,clsx/* default */.A)((ColorModeToggle_styles_module_default()).toggleIcon,(ColorModeToggle_styles_module_default()).lightToggleIcon)}),/*#__PURE__*/(0,jsx_runtime.jsx)(IconDarkMode,{className:(0,clsx/* default */.A)((ColorModeToggle_styles_module_default()).toggleIcon,(ColorModeToggle_styles_module_default()).darkToggleIcon)})]})});}/* harmony default export */ const theme_ColorModeToggle = (/*#__PURE__*/react.memo(ColorModeToggle)); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Navbar/ColorModeToggle/styles.module.css -var Navbar_ColorModeToggle_styles_module = __webpack_require__(6746); -var Navbar_ColorModeToggle_styles_module_default = /*#__PURE__*/__webpack_require__.n(Navbar_ColorModeToggle_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/ColorModeToggle/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function NavbarColorModeToggle({className}){const navbarStyle=(0,useThemeConfig/* useThemeConfig */.p)().navbar.style;const disabled=(0,useThemeConfig/* useThemeConfig */.p)().colorMode.disableSwitch;const{colorMode,setColorMode}=(0,contexts_colorMode/* useColorMode */.G)();if(disabled){return null;}return/*#__PURE__*/(0,jsx_runtime.jsx)(theme_ColorModeToggle,{className:className,buttonClassName:navbarStyle==='dark'?(Navbar_ColorModeToggle_styles_module_default()).darkNavbarColorModeToggle:undefined,value:colorMode,onChange:setColorMode});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Logo/index.js -var Logo = __webpack_require__(310); -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/Logo/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function NavbarLogo(){return/*#__PURE__*/(0,jsx_runtime.jsx)(Logo/* default */.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"});} -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/MobileSidebar/Header/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function CloseButton(){const mobileSidebar=(0,navbarMobileSidebar/* useNavbarMobileSidebar */.M)();return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{type:"button","aria-label":(0,Translate/* translate */.T)({id:'theme.docs.sidebar.closeSidebarButtonAriaLabel',message:'Close navigation bar',description:'The ARIA label for close button of mobile sidebar'}),className:"clean-btn navbar-sidebar__close",onClick:()=>mobileSidebar.toggle(),children:/*#__PURE__*/(0,jsx_runtime.jsx)(IconClose,{color:"var(--ifm-color-emphasis-600)"})});}function NavbarMobileSidebarHeader(){return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:"navbar-sidebar__brand",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarLogo,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarColorModeToggle,{className:"margin-right--md"}),/*#__PURE__*/(0,jsx_runtime.jsx)(CloseButton,{})]});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useBaseUrl.js -var useBaseUrl = __webpack_require__(5000); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/isInternalUrl.js -var isInternalUrl = __webpack_require__(73); -;// ../packages/docusaurus-theme-common/lib/utils/regexpUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Matches a string regex (as provided from the config) against a target in a - * null-safe fashion, case insensitive and global. - */function isRegexpStringMatch(regexAsString,valueToTest){if(typeof regexAsString==='undefined'||typeof valueToTest==='undefined'){return false;}return new RegExp(regexAsString,'gi').test(valueToTest);} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Icon/ExternalLink/index.js -var ExternalLink = __webpack_require__(6414); -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/NavbarNavLink.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function NavbarNavLink({activeBasePath,activeBaseRegex,to,href,label,html,isDropdownLink,prependBaseUrlToHref,...props}){// TODO all this seems hacky -// {to: 'version'} should probably be forbidden, in favor of {to: '/version'} -const toUrl=(0,useBaseUrl/* default */.Ay)(to);const activeBaseUrl=(0,useBaseUrl/* default */.Ay)(activeBasePath);const normalizedHref=(0,useBaseUrl/* default */.Ay)(href,{forcePrependBaseUrl:true});const isExternalLink=label&&href&&!(0,isInternalUrl/* default */.A)(href);// Link content is set through html XOR label -const linkContentProps=html?{dangerouslySetInnerHTML:{__html:html}}:{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[label,isExternalLink&&/*#__PURE__*/(0,jsx_runtime.jsx)(ExternalLink/* default */.A,{...(isDropdownLink&&{width:12,height:12})})]})};if(href){return/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{href:prependBaseUrlToHref?normalizedHref:href,...props,...linkContentProps});}return/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{to:toUrl,isNavLink:true,...((activeBasePath||activeBaseRegex)&&{isActive:(_match,location)=>activeBaseRegex?isRegexpStringMatch(activeBaseRegex,location.pathname):location.pathname.startsWith(activeBaseUrl)}),...props,...linkContentProps});} -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/DefaultNavbarItem.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DefaultNavbarItemDesktop({className,isDropdownItem=false,...props}){const element=/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarNavLink,{className:(0,clsx/* default */.A)(isDropdownItem?'dropdown__link':'navbar__item navbar__link',className),isDropdownLink:isDropdownItem,...props});if(isDropdownItem){return/*#__PURE__*/(0,jsx_runtime.jsx)("li",{children:element});}return element;}function DefaultNavbarItemMobile({className,isDropdownItem,...props}){return/*#__PURE__*/(0,jsx_runtime.jsx)("li",{className:"menu__list-item",children:/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarNavLink,{className:(0,clsx/* default */.A)('menu__link',className),...props})});}function DefaultNavbarItem({mobile=false,position,// Need to destructure position from props so that it doesn't get passed on. -...props}){const Comp=mobile?DefaultNavbarItemMobile:DefaultNavbarItemDesktop;return/*#__PURE__*/(0,jsx_runtime.jsx)(Comp,{...props,activeClassName:props.activeClassName??(mobile?'menu__link--active':'navbar__link--active')});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/components/Collapsible/index.js -var Collapsible = __webpack_require__(343); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/routesUtils.js -var routesUtils = __webpack_require__(5438); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useDocusaurusContext.js -var useDocusaurusContext = __webpack_require__(1571); -;// ../packages/docusaurus-theme-common/lib/utils/useLocalPathname.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Get the pathname of current route, without the optional site baseUrl. - * - `/docs/myDoc` => `/docs/myDoc` - * - `/baseUrl/docs/myDoc` => `/docs/myDoc` - */function useLocalPathname(){const{siteConfig:{baseUrl}}=(0,useDocusaurusContext/* default */.A)();const{pathname}=(0,react_router/* useLocation */.zy)();return pathname.replace(baseUrl,'/');} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/DropdownNavbarItem/styles.module.css -var DropdownNavbarItem_styles_module = __webpack_require__(5389); -var DropdownNavbarItem_styles_module_default = /*#__PURE__*/__webpack_require__.n(DropdownNavbarItem_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/DropdownNavbarItem/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function isItemActive(item,localPathname){if((0,routesUtils/* isSamePath */.ys)(item.to,localPathname)){return true;}if(isRegexpStringMatch(item.activeBaseRegex,localPathname)){return true;}if(item.activeBasePath&&localPathname.startsWith(item.activeBasePath)){return true;}return false;}function containsActiveItems(items,localPathname){return items.some(item=>isItemActive(item,localPathname));}function DropdownNavbarItemDesktop({items,position,className,onClick,...props}){const dropdownRef=(0,react.useRef)(null);const[showDropdown,setShowDropdown]=(0,react.useState)(false);(0,react.useEffect)(()=>{const handleClickOutside=event=>{if(!dropdownRef.current||dropdownRef.current.contains(event.target)){return;}setShowDropdown(false);};document.addEventListener('mousedown',handleClickOutside);document.addEventListener('touchstart',handleClickOutside);document.addEventListener('focusin',handleClickOutside);return()=>{document.removeEventListener('mousedown',handleClickOutside);document.removeEventListener('touchstart',handleClickOutside);document.removeEventListener('focusin',handleClickOutside);};},[dropdownRef]);return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{ref:dropdownRef,className:(0,clsx/* default */.A)('navbar__item','dropdown','dropdown--hoverable',{'dropdown--right':position==='right','dropdown--show':showDropdown}),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarNavLink,{"aria-haspopup":"true","aria-expanded":showDropdown,role:"button"// # hash permits to make the tag focusable in case no link target -// See https://github.com/facebook/docusaurus/pull/6003 -// There's probably a better solution though... -,href:props.to?undefined:'#',className:(0,clsx/* default */.A)('navbar__link',className),...props,onClick:props.to?undefined:e=>e.preventDefault(),onKeyDown:e=>{if(e.key==='Enter'){e.preventDefault();setShowDropdown(!showDropdown);}},children:props.children??props.label}),/*#__PURE__*/(0,jsx_runtime.jsx)("ul",{className:"dropdown__menu",children:items.map((childItemProps,i)=>/*#__PURE__*/(0,react.createElement)(NavbarItem,{isDropdownItem:true,activeClassName:"dropdown__link--active",...childItemProps,key:i}))})]});}function DropdownNavbarItemMobile({items,className,position,// Need to destructure position from props so that it doesn't get passed on. -onClick,...props}){const localPathname=useLocalPathname();const containsActive=containsActiveItems(items,localPathname);const{collapsed,toggleCollapsed,setCollapsed}=(0,Collapsible/* useCollapsible */.u)({initialState:()=>!containsActive});// Expand/collapse if any item active after a navigation -(0,react.useEffect)(()=>{if(containsActive){setCollapsed(!containsActive);}},[localPathname,containsActive,setCollapsed]);return/*#__PURE__*/(0,jsx_runtime.jsxs)("li",{className:(0,clsx/* default */.A)('menu__list-item',{'menu__list-item--collapsed':collapsed}),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarNavLink,{role:"button",className:(0,clsx/* default */.A)((DropdownNavbarItem_styles_module_default()).dropdownNavbarItemMobile,'menu__link menu__link--sublist menu__link--sublist-caret',className)// # hash permits to make the tag focusable in case no link target -// See https://github.com/facebook/docusaurus/pull/6003 -// There's probably a better solution though... -,href:props.to?undefined:'#',...props,onClick:e=>{e.preventDefault();toggleCollapsed();},children:props.children??props.label}),/*#__PURE__*/(0,jsx_runtime.jsx)(Collapsible/* Collapsible */.N,{lazy:true,as:"ul",className:"menu__list",collapsed:collapsed,children:items.map((childItemProps,i)=>/*#__PURE__*/(0,react.createElement)(NavbarItem,{mobile:true,isDropdownItem:true,onClick:onClick,activeClassName:"menu__link--active",...childItemProps,key:i}))})]});}function DropdownNavbarItem({mobile=false,...props}){const Comp=mobile?DropdownNavbarItemMobile:DropdownNavbarItemDesktop;return/*#__PURE__*/(0,jsx_runtime.jsx)(Comp,{...props});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useAlternatePageUtils.js -var useAlternatePageUtils = __webpack_require__(5040); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Language/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconLanguage({width=20,height=20,...props}){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 24 24",width:width,height:height,"aria-hidden":true,...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css -var LocaleDropdownNavbarItem_styles_module = __webpack_require__(3403); -var LocaleDropdownNavbarItem_styles_module_default = /*#__PURE__*/__webpack_require__.n(LocaleDropdownNavbarItem_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function LocaleDropdownNavbarItem({mobile,dropdownItemsBefore,dropdownItemsAfter,queryString='',...props}){const{i18n:{currentLocale,locales,localeConfigs}}=(0,useDocusaurusContext/* default */.A)();const alternatePageUtils=(0,useAlternatePageUtils/* useAlternatePageUtils */.o)();const{search,hash}=(0,react_router/* useLocation */.zy)();const localeItems=locales.map(locale=>{const baseTo=`pathname://${alternatePageUtils.createUrl({locale,fullyQualified:false})}`;// preserve ?search#hash suffix on locale switches -const to=`${baseTo}${search}${hash}${queryString}`;return{label:localeConfigs[locale].label,lang:localeConfigs[locale].htmlLang,to,target:'_self',autoAddBaseUrl:false,className:// eslint-disable-next-line no-nested-ternary -locale===currentLocale?// Similar idea as DefaultNavbarItem: select the right Infima active -// class name. This cannot be substituted with isActive, because the -// target URLs contain `pathname://` and therefore are not NavLinks! -mobile?'menu__link--active':'dropdown__link--active':''};});const items=[...dropdownItemsBefore,...localeItems,...dropdownItemsAfter];// Mobile is handled a bit differently -const dropdownLabel=mobile?(0,Translate/* translate */.T)({message:'Languages',id:'theme.navbar.mobileLanguageDropdown.label',description:'The label for the mobile language switcher dropdown'}):localeConfigs[currentLocale].label;return/*#__PURE__*/(0,jsx_runtime.jsx)(DropdownNavbarItem,{...props,mobile:mobile,label:/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(IconLanguage,{className:(LocaleDropdownNavbarItem_styles_module_default()).iconLanguage}),dropdownLabel]}),items:items});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Noop.js -var Noop = __webpack_require__(219); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Navbar/Search/styles.module.css -var Search_styles_module = __webpack_require__(5810); -var Search_styles_module_default = /*#__PURE__*/__webpack_require__.n(Search_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/Search/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function NavbarSearch({children,className}){return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)(className,(Search_styles_module_default()).navbarSearchContainer),children:children});} -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/SearchNavbarItem.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function SearchNavbarItem({mobile,className}){if(mobile){return null;}return/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarSearch,{className:className,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Noop/* default */.A,{})});} -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/HtmlNavbarItem.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function HtmlNavbarItem({value,className,mobile=false,isDropdownItem=false}){const Comp=isDropdownItem?'li':'div';return/*#__PURE__*/(0,jsx_runtime.jsx)(Comp,{className:(0,clsx/* default */.A)({navbar__item:!mobile&&!isDropdownItem,'menu__list-item':mobile},className),dangerouslySetInnerHTML:{__html:value}});} -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-docs/lib/client/index.js + 2 modules -var client = __webpack_require__(5996); -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-docs/lib/client/docsUtils.js -var docsUtils = __webpack_require__(4271); -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/DocNavbarItem.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocNavbarItem({docId,label:staticLabel,docsPluginId,...props}){const{activeDoc}=(0,client/* useActiveDocContext */.zK)(docsPluginId);const doc=(0,docsUtils/* useLayoutDoc */.QB)(docId,docsPluginId);const pageActive=activeDoc?.path===doc?.path;// Draft and unlisted items are not displayed in the navbar. -if(doc===null||doc.unlisted&&!pageActive){return null;}return/*#__PURE__*/(0,jsx_runtime.jsx)(DefaultNavbarItem,{exact:true,...props,isActive:()=>pageActive||!!activeDoc?.sidebar&&activeDoc.sidebar===doc.sidebar,label:staticLabel??doc.id,to:doc.path});} -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/DocSidebarNavbarItem.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function DocSidebarNavbarItem({sidebarId,label,docsPluginId,...props}){const{activeDoc}=(0,client/* useActiveDocContext */.zK)(docsPluginId);const sidebarLink=(0,docsUtils/* useLayoutDocsSidebar */.fW)(sidebarId,docsPluginId).link;if(!sidebarLink){throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${sidebarId}" doesn't have anything to be linked to.`);}return/*#__PURE__*/(0,jsx_runtime.jsx)(DefaultNavbarItem,{exact:true,...props,isActive:()=>activeDoc?.sidebar===sidebarId,label:label??sidebarLink.label,to:sidebarLink.path});} -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/DocsVersionNavbarItem.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const getVersionMainDoc=version=>version.docs.find(doc=>doc.id===version.mainDocId);function DocsVersionNavbarItem({label:staticLabel,to:staticTo,docsPluginId,...props}){const version=(0,docsUtils/* useDocsVersionCandidates */.Vd)(docsPluginId)[0];const label=staticLabel??version.label;const path=staticTo??getVersionMainDoc(version).path;return/*#__PURE__*/(0,jsx_runtime.jsx)(DefaultNavbarItem,{...props,label:label,to:path});} -// EXTERNAL MODULE: ../packages/docusaurus-plugin-content-docs/lib/client/docsPreferredVersion.js -var docsPreferredVersion = __webpack_require__(2375); -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function getVersionItems(versions,configs){if(configs){// Collect all the versions we have -const versionMap=new Map(versions.map(version=>[version.name,version]));const toVersionItem=(name,config)=>{const version=versionMap.get(name);if(!version){throw new Error(`No docs version exist for name '${name}', please verify your 'docsVersionDropdown' navbar item versions config. -Available version names:\n- ${versions.map(v=>`${v.name}`).join('\n- ')}`);}return{version,label:config?.label??version.label};};if(Array.isArray(configs)){return configs.map(name=>toVersionItem(name,undefined));}else{return Object.entries(configs).map(([name,config])=>toVersionItem(name,config));}}else{return versions.map(version=>({version,label:version.label}));}}function useVersionItems({docsPluginId,configs}){const versions=(0,client/* useVersions */.jh)(docsPluginId);return getVersionItems(versions,configs);}function DocsVersionDropdownNavbarItem_getVersionMainDoc(version){return version.docs.find(doc=>doc.id===version.mainDocId);}function getVersionTargetDoc(version,activeDocContext){// We try to link to the same doc, in another version -// When not possible, fallback to the "main doc" of the version -return activeDocContext.alternateDocVersions[version.name]??DocsVersionDropdownNavbarItem_getVersionMainDoc(version);}// The version item to use for the "dropdown button" -function useDisplayedVersionItem({docsPluginId,versionItems}){// The order of the candidates matters! -const candidates=(0,docsUtils/* useDocsVersionCandidates */.Vd)(docsPluginId);const candidateItems=candidates.map(candidate=>versionItems.find(vi=>vi.version===candidate)).filter(vi=>vi!==undefined);return candidateItems[0]??versionItems[0];}function DocsVersionDropdownNavbarItem({mobile,docsPluginId,dropdownActiveClassDisabled,dropdownItemsBefore,dropdownItemsAfter,versions:configs,...props}){const{search,hash}=(0,react_router/* useLocation */.zy)();const activeDocContext=(0,client/* useActiveDocContext */.zK)(docsPluginId);const{savePreferredVersionName}=(0,docsPreferredVersion/* useDocsPreferredVersion */.g1)(docsPluginId);const versionItems=useVersionItems({docsPluginId,configs});const displayedVersionItem=useDisplayedVersionItem({docsPluginId,versionItems});function versionItemToLink({version,label}){const targetDoc=getVersionTargetDoc(version,activeDocContext);return{label,// preserve ?search#hash suffix on version switches -to:`${targetDoc.path}${search}${hash}`,isActive:()=>version===activeDocContext.activeVersion,onClick:()=>savePreferredVersionName(version.name)};}const items=[...dropdownItemsBefore,...versionItems.map(versionItemToLink),...dropdownItemsAfter];// Mobile dropdown is handled a bit differently -const dropdownLabel=mobile&&items.length>1?(0,Translate/* translate */.T)({id:'theme.navbar.mobileVersionsDropdown.label',message:'Versions',description:'The label for the navbar versions dropdown on mobile view'}):displayedVersionItem.label;const dropdownTo=mobile&&items.length>1?undefined:getVersionTargetDoc(displayedVersionItem.version,activeDocContext).path;// We don't want to render a version dropdown with 0 or 1 item. If we build -// the site with a single docs version (onlyIncludeVersions: ['1.0.0']), -// We'd rather render a button instead of a dropdown -if(items.length<=1){return/*#__PURE__*/(0,jsx_runtime.jsx)(DefaultNavbarItem,{...props,mobile:mobile,label:dropdownLabel,to:dropdownTo,isActive:dropdownActiveClassDisabled?()=>false:undefined});}return/*#__PURE__*/(0,jsx_runtime.jsx)(DropdownNavbarItem,{...props,mobile:mobile,label:dropdownLabel,to:dropdownTo,items:items,isActive:dropdownActiveClassDisabled?()=>false:undefined});} -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/ComponentTypes.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const ComponentTypes={default:DefaultNavbarItem,localeDropdown:LocaleDropdownNavbarItem,search:SearchNavbarItem,dropdown:DropdownNavbarItem,html:HtmlNavbarItem,doc:DocNavbarItem,docSidebar:DocSidebarNavbarItem,docsVersion:DocsVersionNavbarItem,docsVersionDropdown:DocsVersionDropdownNavbarItem};/* harmony default export */ const NavbarItem_ComponentTypes = (ComponentTypes); -;// ../packages/docusaurus-theme-classic/lib/theme/NavbarItem/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function normalizeComponentType(type,props){// Backward compatibility: navbar item with no type set -// but containing dropdown items should use the type "dropdown" -if(!type||type==='default'){return'items'in props?'dropdown':'default';}return type;}function NavbarItem({type,...props}){const componentType=normalizeComponentType(type,props);const NavbarItemComponent=NavbarItem_ComponentTypes[componentType];if(!NavbarItemComponent){throw new Error(`No NavbarItem component found for type "${type}".`);}return/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarItemComponent,{...props});} -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useNavbarItems(){// TODO temporary casting until ThemeConfig type is improved -return (0,useThemeConfig/* useThemeConfig */.p)().navbar.items;}// The primary menu displays the navbar items -function NavbarMobilePrimaryMenu(){const mobileSidebar=(0,navbarMobileSidebar/* useNavbarMobileSidebar */.M)();// TODO how can the order be defined for mobile? -// Should we allow providing a different list of items? -const items=useNavbarItems();return/*#__PURE__*/(0,jsx_runtime.jsx)("ul",{className:"menu__list",children:items.map((item,i)=>/*#__PURE__*/(0,react.createElement)(NavbarItem,{mobile:true,...item,onClick:()=>mobileSidebar.toggle(),key:i}))});} -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function SecondaryMenuBackButton(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{...props,type:"button",className:"clean-btn navbar-sidebar__back",children:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})});}// The secondary menu slides from the right and shows contextual information -// such as the docs sidebar -function NavbarMobileSidebarSecondaryMenu(){const isPrimaryMenuEmpty=(0,useThemeConfig/* useThemeConfig */.p)().navbar.items.length===0;const secondaryMenu=useNavbarSecondaryMenu();return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[!isPrimaryMenuEmpty&&/*#__PURE__*/(0,jsx_runtime.jsx)(SecondaryMenuBackButton,{onClick:()=>secondaryMenu.hide()}),secondaryMenu.content]});} -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/MobileSidebar/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function NavbarMobileSidebar(){const mobileSidebar=(0,navbarMobileSidebar/* useNavbarMobileSidebar */.M)();useLockBodyScroll(mobileSidebar.shown);if(!mobileSidebar.shouldRender){return null;}return/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarMobileSidebarLayout,{header:/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarMobileSidebarHeader,{}),primaryMenu:/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarMobilePrimaryMenu,{}),secondaryMenu:/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarMobileSidebarSecondaryMenu,{})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Navbar/Layout/styles.module.css -var Layout_styles_module = __webpack_require__(8476); -var Layout_styles_module_default = /*#__PURE__*/__webpack_require__.n(Layout_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/Layout/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function NavbarBackdrop(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{role:"presentation",...props,className:(0,clsx/* default */.A)('navbar-sidebar__backdrop',props.className)});}function NavbarLayout({children}){const{navbar:{hideOnScroll,style}}=(0,useThemeConfig/* useThemeConfig */.p)();const mobileSidebar=(0,navbarMobileSidebar/* useNavbarMobileSidebar */.M)();const{navbarRef,isNavbarVisible}=useHideableNavbar(hideOnScroll);return/*#__PURE__*/(0,jsx_runtime.jsxs)("nav",{ref:navbarRef,"aria-label":(0,Translate/* translate */.T)({id:'theme.NavBar.navAriaLabel',message:'Main',description:'The ARIA label for the main navigation'}),className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.layout.navbar.container,'navbar','navbar--fixed-top',hideOnScroll&&[(Layout_styles_module_default()).navbarHideable,!isNavbarVisible&&(Layout_styles_module_default()).navbarHidden],{'navbar--dark':style==='dark','navbar--primary':style==='primary','navbar-sidebar--show':mobileSidebar.shown}),children:[children,/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarBackdrop,{onClick:mobileSidebar.toggle}),/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarMobileSidebar,{})]});} -// EXTERNAL MODULE: ../packages/docusaurus-utils-common/lib/index.js -var lib = __webpack_require__(5819); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/errorBoundaryUtils.module.css -var errorBoundaryUtils_module = __webpack_require__(8474); -var errorBoundaryUtils_module_default = /*#__PURE__*/__webpack_require__.n(errorBoundaryUtils_module); -;// ../packages/docusaurus-theme-common/lib/utils/errorBoundaryUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function ErrorBoundaryTryAgainButton(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{type:"button",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})});}// A very simple reusable ErrorBoundary fallback component -function ErrorBoundaryErrorMessageFallback({error,tryAgain}){return/*#__PURE__*/_jsxs("div",{className:styles.errorBoundaryFallback,children:[/*#__PURE__*/_jsx("p",{children:error.message}),/*#__PURE__*/_jsx(ErrorBoundaryTryAgainButton,{onClick:tryAgain})]});}function ErrorBoundaryError({error}){const causalChain=(0,lib/* getErrorCausalChain */.rA)(error);const fullMessage=causalChain.map(e=>e.message).join('\n\nCause:\n');return/*#__PURE__*/(0,jsx_runtime.jsx)("p",{className:(errorBoundaryUtils_module_default()).errorBoundaryError,children:fullMessage});}/** - * This component is useful to wrap a low-level error into a more meaningful - * error with extra context, using the ES error-cause feature. - * - * new Error("extra context message",{cause: error})} - * > - * - * - */class ErrorCauseBoundary extends react.Component{componentDidCatch(error,errorInfo){throw this.props.onError(error,errorInfo);}render(){return this.props.children;}} -;// ../packages/docusaurus-theme-common/lib/utils/navbarUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const DefaultNavItemPosition='right';/** - * Split links by left/right. If position is unspecified, fallback to right. - */function splitNavbarItems(items){function isLeft(item){return(item.position??DefaultNavItemPosition)==='left';}const leftItems=items.filter(isLeft);const rightItems=items.filter(item=>!isLeft(item));return[leftItems,rightItems];}/** - * Composes multiple navbar state providers that are mutually dependent and - * hence can't be re-ordered. - */function NavbarProvider({children}){return/*#__PURE__*/(0,jsx_runtime.jsx)(navbarSecondaryMenu_content/* NavbarSecondaryMenuContentProvider */.y_,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(navbarMobileSidebar/* NavbarMobileSidebarProvider */.e,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarSecondaryMenuDisplayProvider,{children:children})})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Menu/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconMenu({width=30,height=30,className,...restProps}){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{className:className,width:width,height:height,viewBox:"0 0 30 30","aria-hidden":"true",...restProps,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/MobileSidebar/Toggle/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function MobileSidebarToggle(){const{toggle,shown}=(0,navbarMobileSidebar/* useNavbarMobileSidebar */.M)();return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{onClick:toggle,"aria-label":(0,Translate/* translate */.T)({id:'theme.docs.sidebar.toggleSidebarButtonAriaLabel',message:'Toggle navigation bar',description:'The ARIA label for hamburger menu button of mobile navigation'}),"aria-expanded":shown,className:"navbar__toggle clean-btn",type:"button",children:/*#__PURE__*/(0,jsx_runtime.jsx)(IconMenu,{})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Navbar/Content/styles.module.css -var Navbar_Content_styles_module = __webpack_require__(681); -var Navbar_Content_styles_module_default = /*#__PURE__*/__webpack_require__.n(Navbar_Content_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/Content/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Content_useNavbarItems(){// TODO temporary casting until ThemeConfig type is improved -return (0,useThemeConfig/* useThemeConfig */.p)().navbar.items;}function NavbarItems({items}){return/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:items.map((item,i)=>/*#__PURE__*/(0,jsx_runtime.jsx)(ErrorCauseBoundary,{onError:error=>new Error(`A theme navbar item failed to render. -Please double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config: -${JSON.stringify(item,null,2)}`,{cause:error}),children:/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarItem,{...item})},i))});}function NavbarContentLayout({left,right}){return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:"navbar__inner",children:[/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.layout.navbar.containerLeft,'navbar__items'),children:left}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.layout.navbar.containerRight,'navbar__items navbar__items--right'),children:right})]});}function NavbarContent(){const mobileSidebar=(0,navbarMobileSidebar/* useNavbarMobileSidebar */.M)();const items=Content_useNavbarItems();const[leftItems,rightItems]=splitNavbarItems(items);const searchBarItem=items.find(item=>item.type==='search');return/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarContentLayout,{left:/*#__PURE__*/// TODO stop hardcoding items? -(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[!mobileSidebar.disabled&&/*#__PURE__*/(0,jsx_runtime.jsx)(MobileSidebarToggle,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarLogo,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarItems,{items:leftItems})]}),right:/*#__PURE__*/// TODO stop hardcoding items? -// Ask the user to add the respective navbar items => more flexible -(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarItems,{items:rightItems}),/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarColorModeToggle,{className:(Navbar_Content_styles_module_default()).colorModeToggle}),!searchBarItem&&/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarSearch,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(Noop/* default */.A,{})})]})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Navbar/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Navbar(){return/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarLayout,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(NavbarContent,{})});} -;// ../packages/docusaurus-theme-common/lib/utils/footerUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * A rough duck-typing about whether the `footer.links` is intended to be multi- - * column. - */function isMultiColumnFooterLinks(links){return'title'in links[0];} -;// ../packages/docusaurus-theme-classic/lib/theme/Footer/LinkItem/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function FooterLinkItem({item}){const{to,href,label,prependBaseUrlToHref,className,...props}=item;const toUrl=(0,useBaseUrl/* default */.Ay)(to);const normalizedHref=(0,useBaseUrl/* default */.Ay)(href,{forcePrependBaseUrl:true});return/*#__PURE__*/(0,jsx_runtime.jsxs)(Link/* default */.A,{className:(0,clsx/* default */.A)('footer__link-item',className),...(href?{href:prependBaseUrlToHref?normalizedHref:href}:{to:toUrl}),...props,children:[label,href&&!(0,isInternalUrl/* default */.A)(href)&&/*#__PURE__*/(0,jsx_runtime.jsx)(ExternalLink/* default */.A,{})]});} -;// ../packages/docusaurus-theme-classic/lib/theme/Footer/Links/MultiColumn/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function ColumnLinkItem({item}){return item.html?/*#__PURE__*/(0,jsx_runtime.jsx)("li",{className:(0,clsx/* default */.A)('footer__item',item.className)// Developer provided the HTML, so assume it's safe. -// eslint-disable-next-line react/no-danger -,dangerouslySetInnerHTML:{__html:item.html}}):/*#__PURE__*/(0,jsx_runtime.jsx)("li",{className:"footer__item",children:/*#__PURE__*/(0,jsx_runtime.jsx)(FooterLinkItem,{item:item})},item.href??item.to);}function Column({column}){return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.layout.footer.column,'col footer__col',column.className),children:[/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"footer__title",children:column.title}),/*#__PURE__*/(0,jsx_runtime.jsx)("ul",{className:"footer__items clean-list",children:column.items.map((item,i)=>/*#__PURE__*/(0,jsx_runtime.jsx)(ColumnLinkItem,{item:item},i))})]});}function FooterLinksMultiColumn({columns}){return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"row footer__links",children:columns.map((column,i)=>/*#__PURE__*/(0,jsx_runtime.jsx)(Column,{column:column},i))});} -;// ../packages/docusaurus-theme-classic/lib/theme/Footer/Links/Simple/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Separator(){return/*#__PURE__*/(0,jsx_runtime.jsx)("span",{className:"footer__link-separator",children:"\xB7"});}function SimpleLinkItem({item}){return item.html?/*#__PURE__*/(0,jsx_runtime.jsx)("span",{className:(0,clsx/* default */.A)('footer__link-item',item.className)// Developer provided the HTML, so assume it's safe. -// eslint-disable-next-line react/no-danger -,dangerouslySetInnerHTML:{__html:item.html}}):/*#__PURE__*/(0,jsx_runtime.jsx)(FooterLinkItem,{item:item});}function FooterLinksSimple({links}){return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"footer__links text--center",children:/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"footer__links",children:links.map((item,i)=>/*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(SimpleLinkItem,{item:item}),links.length!==i+1&&/*#__PURE__*/(0,jsx_runtime.jsx)(Separator,{})]},i))})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Footer/Links/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function FooterLinks({links}){return isMultiColumnFooterLinks(links)?/*#__PURE__*/(0,jsx_runtime.jsx)(FooterLinksMultiColumn,{columns:links}):/*#__PURE__*/(0,jsx_runtime.jsx)(FooterLinksSimple,{links:links});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/ThemedImage/index.js + 1 modules -var ThemedImage = __webpack_require__(5112); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Footer/Logo/styles.module.css -var Logo_styles_module = __webpack_require__(3970); -var Logo_styles_module_default = /*#__PURE__*/__webpack_require__.n(Logo_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Footer/Logo/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function LogoImage({logo}){const{withBaseUrl}=(0,useBaseUrl/* useBaseUrlUtils */.hH)();const sources={light:withBaseUrl(logo.src),dark:withBaseUrl(logo.srcDark??logo.src)};return/*#__PURE__*/(0,jsx_runtime.jsx)(ThemedImage/* default */.A,{className:(0,clsx/* default */.A)('footer__logo',logo.className),alt:logo.alt,sources:sources,width:logo.width,height:logo.height,style:logo.style});}function FooterLogo({logo}){return logo.href?/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{href:logo.href,className:(Logo_styles_module_default()).footerLogoLink,target:logo.target,children:/*#__PURE__*/(0,jsx_runtime.jsx)(LogoImage,{logo:logo})}):/*#__PURE__*/(0,jsx_runtime.jsx)(LogoImage,{logo:logo});} -;// ../packages/docusaurus-theme-classic/lib/theme/Footer/Copyright/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function FooterCopyright({copyright}){return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"footer__copyright"// Developer provided the HTML, so assume it's safe. -// eslint-disable-next-line react/no-danger -,dangerouslySetInnerHTML:{__html:copyright}});} -;// ../packages/docusaurus-theme-classic/lib/theme/Footer/Layout/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function FooterLayout({style,links,logo,copyright}){return/*#__PURE__*/(0,jsx_runtime.jsx)("footer",{className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.layout.footer.container,'footer',{'footer--dark':style==='dark'}),children:/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:"container container-fluid",children:[links,(logo||copyright)&&/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:"footer__bottom text--center",children:[logo&&/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"margin-bottom--sm",children:logo}),copyright]})]})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Footer/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Footer(){const{footer}=(0,useThemeConfig/* useThemeConfig */.p)();if(!footer){return null;}const{copyright,links,logo,style}=footer;return/*#__PURE__*/(0,jsx_runtime.jsx)(FooterLayout,{style:style,links:links&&links.length>0&&/*#__PURE__*/(0,jsx_runtime.jsx)(FooterLinks,{links:links}),logo:logo&&/*#__PURE__*/(0,jsx_runtime.jsx)(FooterLogo,{logo:logo}),copyright:copyright&&/*#__PURE__*/(0,jsx_runtime.jsx)(FooterCopyright,{copyright:copyright})});}/* harmony default export */ const theme_Footer = (/*#__PURE__*/react.memo(Footer)); -;// ../packages/docusaurus-theme-classic/lib/theme/Layout/Provider/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Provider=(0,reactUtils/* composeProviders */.fM)([contexts_colorMode/* ColorModeProvider */.a,contexts_announcementBar/* AnnouncementBarProvider */.o,scrollUtils/* ScrollControllerProvider */.Tv,docsPreferredVersion/* DocsPreferredVersionContextProvider */.VQ,metadataUtils/* PluginHtmlClassNameProvider */.Jx,NavbarProvider]);function LayoutProvider({children}){return/*#__PURE__*/(0,jsx_runtime.jsx)(Provider,{children:children});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Heading/index.js -var Heading = __webpack_require__(6813); -;// ../packages/docusaurus-theme-classic/lib/theme/ErrorPageContent.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function ErrorPageContent({error,tryAgain}){return/*#__PURE__*/(0,jsx_runtime.jsx)("main",{className:"container margin-vert--xl",children:/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"row",children:/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:"col col--6 col--offset-3",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Heading/* default */.A,{as:"h1",className:"hero__title",children:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"margin-vert--lg",children:/*#__PURE__*/(0,jsx_runtime.jsx)(ErrorBoundaryTryAgainButton,{onClick:tryAgain,className:"button button--primary shadow--lw"})}),/*#__PURE__*/(0,jsx_runtime.jsx)("hr",{}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"margin-vert--md",children:/*#__PURE__*/(0,jsx_runtime.jsx)(ErrorBoundaryError,{error:error})})]})})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Layout/styles.module.css -var theme_Layout_styles_module = __webpack_require__(2231); -var theme_Layout_styles_module_default = /*#__PURE__*/__webpack_require__.n(theme_Layout_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Layout/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Layout(props){const{children,noFooter,wrapperClassName,// Not really layout-related, but kept for convenience/retro-compatibility -title,description}=props;(0,useKeyboardNavigation/* useKeyboardNavigation */.J)();return/*#__PURE__*/(0,jsx_runtime.jsxs)(LayoutProvider,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(metadataUtils/* PageMetadata */.be,{title:title,description:description}),/*#__PURE__*/(0,jsx_runtime.jsx)(SkipToContent,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(AnnouncementBar,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(Navbar,{}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{id:SkipToContentFallbackId,className:(0,clsx/* default */.A)(ThemeClassNames/* ThemeClassNames */.G.layout.main.container,ThemeClassNames/* ThemeClassNames */.G.wrapper.main,(theme_Layout_styles_module_default()).mainWrapper,wrapperClassName),children:/*#__PURE__*/(0,jsx_runtime.jsx)(ErrorBoundary/* default */.A,{fallback:params=>/*#__PURE__*/(0,jsx_runtime.jsx)(ErrorPageContent,{...params}),children:children})}),!noFooter&&/*#__PURE__*/(0,jsx_runtime.jsx)(theme_Footer,{})]});} - -/***/ }), - -/***/ 310: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ Logo) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_Link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1349); -/* harmony import */ var _docusaurus_useBaseUrl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5000); -/* harmony import */ var _docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1571); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6963); -/* harmony import */ var _theme_ThemedImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5112); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function LogoThemedImage({logo,alt,imageClassName}){const sources={light:(0,_docusaurus_useBaseUrl__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay)(logo.src),dark:(0,_docusaurus_useBaseUrl__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay)(logo.srcDark||logo.src)};const themedImage=/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_theme_ThemedImage__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A,{className:logo.className,sources:sources,height:logo.height,width:logo.width,alt:alt,style:logo.style});// Is this extra div really necessary? -// introduced in https://github.com/facebook/docusaurus/pull/5666 -return imageClassName?/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div",{className:imageClassName,children:themedImage}):themedImage;}function Logo(props){const{siteConfig:{title}}=(0,_docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)();const{navbar:{title:navbarTitle,logo}}=(0,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_6__/* .useThemeConfig */ .p)();const{imageClassName,titleClassName,...propsRest}=props;const logoLink=(0,_docusaurus_useBaseUrl__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay)(logo?.href||'/');// If visible title is shown, fallback alt text should be -// an empty string to mark the logo as decorative. -const fallbackAlt=navbarTitle?'':title;// Use logo alt text if provided (including empty string), -// and provide a sensible fallback otherwise. -const alt=logo?.alt??fallbackAlt;return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_docusaurus_Link__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{to:logoLink,...propsRest,...(logo?.target&&{target:logo.target}),children:[logo&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(LogoThemedImage,{logo:logo,alt:alt,imageClassName:imageClassName}),navbarTitle!=null&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("b",{className:titleClassName,children:navbarTitle})]});} - -/***/ }), - -/***/ 5493: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ MDXContent) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Head.js -var Head = __webpack_require__(2785); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useIsBrowser.js -var useIsBrowser = __webpack_require__(3754); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/colorMode.js -var contexts_colorMode = __webpack_require__(5407); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useThemeConfig.js -var useThemeConfig = __webpack_require__(6963); -;// ../packages/docusaurus-theme-common/lib/hooks/usePrismTheme.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Returns a color-mode-dependent Prism theme: whatever the user specified in - * the config. Falls back to `palenight`. - */function usePrismTheme(){const{prism}=(0,useThemeConfig/* useThemeConfig */.p)();const{colorMode}=(0,contexts_colorMode/* useColorMode */.G)();const lightModeTheme=prism.theme;const darkModeTheme=prism.darkTheme||lightModeTheme;const prismTheme=colorMode==='dark'?darkModeTheme:lightModeTheme;return prismTheme;} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/ThemeClassNames.js -var ThemeClassNames = __webpack_require__(8532); -// EXTERNAL MODULE: ../node_modules/parse-numeric-range/index.js -var parse_numeric_range = __webpack_require__(9934); -var parse_numeric_range_default = /*#__PURE__*/__webpack_require__.n(parse_numeric_range); -;// ../packages/docusaurus-theme-common/lib/utils/codeBlockUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const codeBlockTitleRegex=/title=(?["'])(?.*?)\1/;const metastringLinesRangeRegex=/\{(?<range>[\d,-]+)\}/;// Supported types of highlight comments -const popularCommentPatterns={js:{start:'\\/\\/',end:''},jsBlock:{start:'\\/\\*',end:'\\*\\/'},jsx:{start:'\\{\\s*\\/\\*',end:'\\*\\/\\s*\\}'},bash:{start:'#',end:''},html:{start:'<!--',end:'-->'}};const commentPatterns={...popularCommentPatterns,// shallow copy is sufficient -// minor comment styles -lua:{start:'--',end:''},wasm:{start:'\\;\\;',end:''},tex:{start:'%',end:''},vb:{start:"['‘’]",end:''},vbnet:{start:"(?:_\\s*)?['‘’]",end:''},// Visual Studio 2019 or later -rem:{start:'[Rr][Ee][Mm]\\b',end:''},f90:{start:'!',end:''},// Free format only -ml:{start:'\\(\\*',end:'\\*\\)'},cobol:{start:'\\*>',end:''}// Free format only -};const popularCommentTypes=Object.keys(popularCommentPatterns);function getCommentPattern(languages,magicCommentDirectives){// To be more reliable, the opening and closing comment must match -const commentPattern=languages.map(lang=>{const{start,end}=commentPatterns[lang];return`(?:${start}\\s*(${magicCommentDirectives.flatMap(d=>[d.line,d.block?.start,d.block?.end].filter(Boolean)).join('|')})\\s*${end})`;}).join('|');// White space is allowed, but otherwise it should be on it's own line -return new RegExp(`^\\s*(?:${commentPattern})\\s*$`);}/** - * Select comment styles based on language - */function getAllMagicCommentDirectiveStyles(lang,magicCommentDirectives){switch(lang){case'js':case'javascript':case'ts':case'typescript':return getCommentPattern(['js','jsBlock'],magicCommentDirectives);case'jsx':case'tsx':return getCommentPattern(['js','jsBlock','jsx'],magicCommentDirectives);case'html':return getCommentPattern(['js','jsBlock','html'],magicCommentDirectives);case'python':case'py':case'bash':return getCommentPattern(['bash'],magicCommentDirectives);case'markdown':case'md':// Text uses HTML, front matter uses bash -return getCommentPattern(['html','jsx','bash'],magicCommentDirectives);case'tex':case'latex':case'matlab':return getCommentPattern(['tex'],magicCommentDirectives);case'lua':case'haskell':return getCommentPattern(['lua'],magicCommentDirectives);case'sql':return getCommentPattern(['lua','jsBlock'],magicCommentDirectives);case'wasm':return getCommentPattern(['wasm'],magicCommentDirectives);case'vb':case'vba':case'visual-basic':return getCommentPattern(['vb','rem'],magicCommentDirectives);case'vbnet':return getCommentPattern(['vbnet','rem'],magicCommentDirectives);case'batch':return getCommentPattern(['rem'],magicCommentDirectives);case'basic':// https://github.com/PrismJS/prism/blob/master/components/prism-basic.js#L3 -return getCommentPattern(['rem','f90'],magicCommentDirectives);case'fsharp':return getCommentPattern(['js','ml'],magicCommentDirectives);case'ocaml':case'sml':return getCommentPattern(['ml'],magicCommentDirectives);case'fortran':return getCommentPattern(['f90'],magicCommentDirectives);case'cobol':return getCommentPattern(['cobol'],magicCommentDirectives);default:// All popular comment types -return getCommentPattern(popularCommentTypes,magicCommentDirectives);}}function parseCodeBlockTitle(metastring){return metastring?.match(codeBlockTitleRegex)?.groups.title??'';}function getMetaLineNumbersStart(metastring){const showLineNumbersMeta=metastring?.split(' ').find(str=>str.startsWith('showLineNumbers'));if(showLineNumbersMeta){if(showLineNumbersMeta.startsWith('showLineNumbers=')){const value=showLineNumbersMeta.replace('showLineNumbers=','');return parseInt(value,10);}return 1;}return undefined;}function getLineNumbersStart({showLineNumbers,metastring}){const defaultStart=1;if(typeof showLineNumbers==='boolean'){return showLineNumbers?defaultStart:undefined;}if(typeof showLineNumbers==='number'){return showLineNumbers;}return getMetaLineNumbersStart(metastring);}/** - * Gets the language name from the class name (set by MDX). - * e.g. `"language-javascript"` => `"javascript"`. - * Returns undefined if there is no language class name. - */function parseLanguage(className){const languageClassName=className.split(' ').find(str=>str.startsWith('language-'));return languageClassName?.replace(/language-/,'');}/** - * Parses the code content, strips away any magic comments, and returns the - * clean content and the highlighted lines marked by the comments or metastring. - * - * If the metastring contains a range, the `content` will be returned as-is - * without any parsing. The returned `lineClassNames` will be a map from that - * number range to the first magic comment config entry (which _should_ be for - * line highlight directives.) - * - * @param content The raw code with magic comments. Trailing newline will be - * trimmed upfront. - * @param options Options for parsing behavior. - */function parseLines(content,options){let code=content.replace(/\n$/,'');const{language,magicComments,metastring}=options;// Highlighted lines specified in props: don't parse the content -if(metastring&&metastringLinesRangeRegex.test(metastring)){const linesRange=metastring.match(metastringLinesRangeRegex).groups.range;if(magicComments.length===0){throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${metastring}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);}const metastringRangeClassName=magicComments[0].className;const lines=parse_numeric_range_default()(linesRange).filter(n=>n>0).map(n=>[n-1,[metastringRangeClassName]]);return{lineClassNames:Object.fromEntries(lines),code};}if(language===undefined){return{lineClassNames:{},code};}const directiveRegex=getAllMagicCommentDirectiveStyles(language,magicComments);// Go through line by line -const lines=code.split('\n');const blocks=Object.fromEntries(magicComments.map(d=>[d.className,{start:0,range:''}]));const lineToClassName=Object.fromEntries(magicComments.filter(d=>d.line).map(({className,line})=>[line,className]));const blockStartToClassName=Object.fromEntries(magicComments.filter(d=>d.block).map(({className,block})=>[block.start,className]));const blockEndToClassName=Object.fromEntries(magicComments.filter(d=>d.block).map(({className,block})=>[block.end,className]));for(let lineNumber=0;lineNumber<lines.length;){const line=lines[lineNumber];const match=line.match(directiveRegex);if(!match){// Lines without directives are unchanged -lineNumber+=1;continue;}const directive=match.slice(1).find(item=>item!==undefined);if(lineToClassName[directive]){blocks[lineToClassName[directive]].range+=`${lineNumber},`;}else if(blockStartToClassName[directive]){blocks[blockStartToClassName[directive]].start=lineNumber;}else if(blockEndToClassName[directive]){blocks[blockEndToClassName[directive]].range+=`${blocks[blockEndToClassName[directive]].start}-${lineNumber-1},`;}lines.splice(lineNumber,1);}code=lines.join('\n');const lineClassNames={};Object.entries(blocks).forEach(([className,{range}])=>{parse_numeric_range_default()(range).forEach(l=>{lineClassNames[l]??=[];lineClassNames[l].push(className);});});return{lineClassNames,code};}function getPrismCssVariables(prismTheme){const mapping={color:'--prism-color',backgroundColor:'--prism-background-color'};const properties={};Object.entries(prismTheme.plain).forEach(([key,value])=>{const varName=mapping[key];if(varName&&typeof value==='string'){properties[varName]=value;}});return properties;} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/Container/styles.module.css -var styles_module = __webpack_require__(4197); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/Container/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function CodeBlockContainer({as:As,...props}){const prismTheme=usePrismTheme();const prismCssVariables=getPrismCssVariables(prismTheme);return/*#__PURE__*/(0,jsx_runtime.jsx)(As// Polymorphic components are hard to type, without `oneOf` generics -,{...props,style:prismCssVariables,className:(0,clsx/* default */.A)(props.className,(styles_module_default()).codeBlockContainer,ThemeClassNames/* ThemeClassNames */.G.common.codeBlock)});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/Content/styles.module.css -var Content_styles_module = __webpack_require__(4799); -var Content_styles_module_default = /*#__PURE__*/__webpack_require__.n(Content_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/Content/Element.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// <pre> tags in markdown map to CodeBlocks. They may contain JSX children. When -// the children is not a simple string, we just return a styled block without -// actually highlighting. -function CodeBlockJSX({children,className}){return/*#__PURE__*/(0,jsx_runtime.jsx)(CodeBlockContainer,{as:"pre",tabIndex:0,className:(0,clsx/* default */.A)((Content_styles_module_default()).codeBlockStandalone,'thin-scrollbar',className),children:/*#__PURE__*/(0,jsx_runtime.jsx)("code",{className:(Content_styles_module_default()).codeBlockLines,children:children})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/reactUtils.js -var reactUtils = __webpack_require__(9129); -;// ../packages/docusaurus-theme-common/lib/hooks/useMutationObserver.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const DefaultOptions={attributes:true,characterData:true,childList:true,subtree:true};function useMutationObserver(target,callback,options=DefaultOptions){const stableCallback=(0,reactUtils/* useEvent */._q)(callback);// MutationObserver options are not nested much -// so this should be to memo options in 99% -// TODO handle options.attributeFilter array -const stableOptions=(0,reactUtils/* useShallowMemoObject */.Be)(options);(0,react.useEffect)(()=>{const observer=new MutationObserver(stableCallback);if(target){observer.observe(target,stableOptions);}return()=>observer.disconnect();},[target,stableCallback,stableOptions]);} -;// ../packages/docusaurus-theme-common/lib/hooks/useCodeWordWrap.js -// Callback fires when the "hidden" attribute of a tabpanel changes -// See https://github.com/facebook/docusaurus/pull/7485 -function useTabBecameVisibleCallback(codeBlockRef,callback){const[hiddenTabElement,setHiddenTabElement]=(0,react.useState)();const updateHiddenTabElement=(0,react.useCallback)(()=>{// No need to observe non-hidden tabs -// + we want to force a re-render when a tab becomes visible -setHiddenTabElement(codeBlockRef.current?.closest('[role=tabpanel][hidden]'));},[codeBlockRef,setHiddenTabElement]);(0,react.useEffect)(()=>{updateHiddenTabElement();},[updateHiddenTabElement]);useMutationObserver(hiddenTabElement,mutations=>{mutations.forEach(mutation=>{if(mutation.type==='attributes'&&mutation.attributeName==='hidden'){callback();updateHiddenTabElement();}});},{attributes:true,characterData:false,childList:false,subtree:false});}function useCodeWordWrap(){const[isEnabled,setIsEnabled]=(0,react.useState)(false);const[isCodeScrollable,setIsCodeScrollable]=(0,react.useState)(false);const codeBlockRef=(0,react.useRef)(null);const toggle=(0,react.useCallback)(()=>{const codeElement=codeBlockRef.current.querySelector('code');if(isEnabled){codeElement.removeAttribute('style');}else{codeElement.style.whiteSpace='pre-wrap';// When code wrap is enabled, we want to avoid a scrollbar in any case -// Ensure that very very long words/strings/tokens still wrap -codeElement.style.overflowWrap='anywhere';}setIsEnabled(value=>!value);},[codeBlockRef,isEnabled]);const updateCodeIsScrollable=(0,react.useCallback)(()=>{const{scrollWidth,clientWidth}=codeBlockRef.current;const isScrollable=scrollWidth>clientWidth||codeBlockRef.current.querySelector('code').hasAttribute('style');setIsCodeScrollable(isScrollable);},[codeBlockRef]);useTabBecameVisibleCallback(codeBlockRef,updateCodeIsScrollable);(0,react.useEffect)(()=>{updateCodeIsScrollable();},[isEnabled,updateCodeIsScrollable]);(0,react.useEffect)(()=>{window.addEventListener('resize',updateCodeIsScrollable,{passive:true});return()=>{window.removeEventListener('resize',updateCodeIsScrollable);};},[updateCodeIsScrollable]);return{codeBlockRef,isEnabled,isCodeScrollable,toggle};} -// EXTERNAL MODULE: ../node_modules/prism-react-renderer/dist/index.mjs -var dist = __webpack_require__(7663); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/Line/styles.module.css -var Line_styles_module = __webpack_require__(8542); -var Line_styles_module_default = /*#__PURE__*/__webpack_require__.n(Line_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/Line/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function CodeBlockLine({line,classNames,showLineNumbers,getLineProps,getTokenProps}){if(line.length===1&&line[0].content==='\n'){line[0].content='';}const lineProps=getLineProps({line,className:(0,clsx/* default */.A)(classNames,showLineNumbers&&(Line_styles_module_default()).codeLine)});const lineTokens=line.map((token,key)=>/*#__PURE__*/(0,jsx_runtime.jsx)("span",{...getTokenProps({token})},key));return/*#__PURE__*/(0,jsx_runtime.jsxs)("span",{...lineProps,children:[showLineNumbers?/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)("span",{className:(Line_styles_module_default()).codeLineNumber}),/*#__PURE__*/(0,jsx_runtime.jsx)("span",{className:(Line_styles_module_default()).codeLineContent,children:lineTokens})]}):lineTokens,/*#__PURE__*/(0,jsx_runtime.jsx)("br",{})]});} -;// ../node_modules/copy-text-to-clipboard/index.js -function copyTextToClipboard(text,{target=document.body}={}){if(typeof text!=='string'){throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof text}\`.`);}const element=document.createElement('textarea');const previouslyFocusedElement=document.activeElement;element.value=text;// Prevent keyboard from showing on mobile -element.setAttribute('readonly','');element.style.contain='strict';element.style.position='absolute';element.style.left='-9999px';element.style.fontSize='12pt';// Prevent zooming on iOS -const selection=document.getSelection();const originalRange=selection.rangeCount>0&&selection.getRangeAt(0);target.append(element);element.select();// Explicit selection workaround for iOS -element.selectionStart=0;element.selectionEnd=text.length;let isSuccess=false;try{isSuccess=document.execCommand('copy');}catch{}element.remove();if(originalRange){selection.removeAllRanges();selection.addRange(originalRange);}// Get the focus back on the previously focused element, if any -if(previouslyFocusedElement){previouslyFocusedElement.focus();}return isSuccess;} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Translate.js + 1 modules -var Translate = __webpack_require__(4709); -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Copy/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconCopy(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 24 24",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/Success/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconSuccess(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 24 24",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/CopyButton/styles.module.css -var CopyButton_styles_module = __webpack_require__(4099); -var CopyButton_styles_module_default = /*#__PURE__*/__webpack_require__.n(CopyButton_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/CopyButton/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function CopyButton({code,className}){const[isCopied,setIsCopied]=(0,react.useState)(false);const copyTimeout=(0,react.useRef)(undefined);const handleCopyCode=(0,react.useCallback)(()=>{copyTextToClipboard(code);setIsCopied(true);copyTimeout.current=window.setTimeout(()=>{setIsCopied(false);},1000);},[code]);(0,react.useEffect)(()=>()=>window.clearTimeout(copyTimeout.current),[]);return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{type:"button","aria-label":isCopied?(0,Translate/* translate */.T)({id:'theme.CodeBlock.copied',message:'Copied',description:'The copied button label on code blocks'}):(0,Translate/* translate */.T)({id:'theme.CodeBlock.copyButtonAriaLabel',message:'Copy code to clipboard',description:'The ARIA label for copy code blocks button'}),title:(0,Translate/* translate */.T)({id:'theme.CodeBlock.copy',message:'Copy',description:'The copy button label on code blocks'}),className:(0,clsx/* default */.A)('clean-btn',className,(CopyButton_styles_module_default()).copyButton,isCopied&&(CopyButton_styles_module_default()).copyButtonCopied),onClick:handleCopyCode,children:/*#__PURE__*/(0,jsx_runtime.jsxs)("span",{className:(CopyButton_styles_module_default()).copyButtonIcons,"aria-hidden":"true",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(IconCopy,{className:(CopyButton_styles_module_default()).copyButtonIcon}),/*#__PURE__*/(0,jsx_runtime.jsx)(IconSuccess,{className:(CopyButton_styles_module_default()).copyButtonSuccessIcon})]})});} -;// ../packages/docusaurus-theme-classic/lib/theme/Icon/WordWrap/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function IconWordWrap(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{viewBox:"0 0 24 24",...props,children:/*#__PURE__*/(0,jsx_runtime.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/WordWrapButton/styles.module.css -var WordWrapButton_styles_module = __webpack_require__(480); -var WordWrapButton_styles_module_default = /*#__PURE__*/__webpack_require__.n(WordWrapButton_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/WordWrapButton/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function WordWrapButton({className,onClick,isEnabled}){const title=(0,Translate/* translate */.T)({id:'theme.CodeBlock.wordWrapToggle',message:'Toggle word wrap',description:'The title attribute for toggle word wrapping button of code block lines'});return/*#__PURE__*/(0,jsx_runtime.jsx)("button",{type:"button",onClick:onClick,className:(0,clsx/* default */.A)('clean-btn',className,isEnabled&&(WordWrapButton_styles_module_default()).wordWrapButtonEnabled),"aria-label":title,title:title,children:/*#__PURE__*/(0,jsx_runtime.jsx)(IconWordWrap,{className:(WordWrapButton_styles_module_default()).wordWrapButtonIcon,"aria-hidden":"true"})});} -;// ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/Content/String.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Prism languages are always lowercase -// We want to fail-safe and allow both "php" and "PHP" -// See https://github.com/facebook/docusaurus/issues/9012 -function normalizeLanguage(language){return language?.toLowerCase();}function CodeBlockString({children,className:blockClassName='',metastring,title:titleProp,showLineNumbers:showLineNumbersProp,language:languageProp}){const{prism:{defaultLanguage,magicComments}}=(0,useThemeConfig/* useThemeConfig */.p)();const language=normalizeLanguage(languageProp??parseLanguage(blockClassName)??defaultLanguage);const prismTheme=usePrismTheme();const wordWrap=useCodeWordWrap();const isBrowser=(0,useIsBrowser/* default */.A)();// We still parse the metastring in case we want to support more syntax in the -// future. Note that MDX doesn't strip quotes when parsing metastring: -// "title=\"xyz\"" => title: "\"xyz\"" -const title=parseCodeBlockTitle(metastring)||titleProp;const{lineClassNames,code}=parseLines(children,{metastring,language,magicComments});const lineNumbersStart=getLineNumbersStart({showLineNumbers:showLineNumbersProp,metastring});return/*#__PURE__*/(0,jsx_runtime.jsxs)(CodeBlockContainer,{as:"div",className:(0,clsx/* default */.A)(blockClassName,language&&!blockClassName.includes(`language-${language}`)&&`language-${language}`),children:[title&&/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(Content_styles_module_default()).codeBlockTitle,children:title}),/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(Content_styles_module_default()).codeBlockContent,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(dist/* Highlight */.f4,{theme:prismTheme,code:code,language:language??'text',children:({className,style,tokens,getLineProps,getTokenProps})=>/*#__PURE__*/(0,jsx_runtime.jsx)("pre",{/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */tabIndex:0,ref:wordWrap.codeBlockRef,className:(0,clsx/* default */.A)(className,(Content_styles_module_default()).codeBlock,'thin-scrollbar'),style:style,children:/*#__PURE__*/(0,jsx_runtime.jsx)("code",{className:(0,clsx/* default */.A)((Content_styles_module_default()).codeBlockLines,lineNumbersStart!==undefined&&(Content_styles_module_default()).codeBlockLinesWithNumbering),style:lineNumbersStart===undefined?undefined:{counterReset:`line-count ${lineNumbersStart-1}`},children:tokens.map((line,i)=>/*#__PURE__*/(0,jsx_runtime.jsx)(CodeBlockLine,{line:line,getLineProps:getLineProps,getTokenProps:getTokenProps,classNames:lineClassNames[i],showLineNumbers:lineNumbersStart!==undefined},i))})})}),isBrowser?/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(Content_styles_module_default()).buttonGroup,children:[(wordWrap.isEnabled||wordWrap.isCodeScrollable)&&/*#__PURE__*/(0,jsx_runtime.jsx)(WordWrapButton,{className:(Content_styles_module_default()).codeButton,onClick:()=>wordWrap.toggle(),isEnabled:wordWrap.isEnabled}),/*#__PURE__*/(0,jsx_runtime.jsx)(CopyButton,{className:(Content_styles_module_default()).codeButton,code:code})]}):null]})]});} -;// ../packages/docusaurus-theme-classic/lib/theme/CodeBlock/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Best attempt to make the children a plain string so it is copyable. If there - * are react elements, we will not be able to copy the content, and it will - * return `children` as-is; otherwise, it concatenates the string children - * together. - */function maybeStringifyChildren(children){if(react.Children.toArray(children).some(el=>/*#__PURE__*/(0,react.isValidElement)(el))){return children;}// The children is now guaranteed to be one/more plain strings -return Array.isArray(children)?children.join(''):children;}function CodeBlock({children:rawChildren,...props}){// The Prism theme on SSR is always the default theme but the site theme can -// be in a different mode. React hydration doesn't update DOM styles that come -// from SSR. Hence force a re-render after mounting to apply the current -// relevant styles. -const isBrowser=(0,useIsBrowser/* default */.A)();const children=maybeStringifyChildren(rawChildren);const CodeBlockComp=typeof children==='string'?CodeBlockString:CodeBlockJSX;return/*#__PURE__*/(0,jsx_runtime.jsx)(CodeBlockComp,{...props,children:children},String(isBrowser));} -;// ../packages/docusaurus-theme-classic/lib/theme/CodeInline/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Simple component used to render inline code blocks -// its purpose is to be swizzled and customized -// MDX 1 used to have a inlineCode comp, see https://mdxjs.com/migrating/v2/ -function CodeInline(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("code",{...props});} -;// ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/Code.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function shouldBeInline(props){return(// empty code blocks have no props.children, -// see https://github.com/facebook/docusaurus/pull/9704 -typeof props.children!=='undefined'&&react.Children.toArray(props.children).every(el=>typeof el==='string'&&!el.includes('\n')));}function MDXCode(props){return shouldBeInline(props)?/*#__PURE__*/(0,jsx_runtime.jsx)(CodeInline,{...props}):/*#__PURE__*/(0,jsx_runtime.jsx)(CodeBlock,{...props});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -;// ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/A.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function MDXA(props){return/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{...props});} -;// ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/Pre.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function MDXPre(props){// With MDX 2, this element is only used for fenced code blocks -// It always receives a MDXComponents/Code as children -return/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:props.children});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useBrokenLinks.js -var useBrokenLinks = __webpack_require__(1900); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/components/Collapsible/index.js -var Collapsible = __webpack_require__(343); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/components/Details/styles.module.css -var Details_styles_module = __webpack_require__(373); -var Details_styles_module_default = /*#__PURE__*/__webpack_require__.n(Details_styles_module); -;// ../packages/docusaurus-theme-common/lib/components/Details/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function isInSummary(node){if(!node){return false;}return node.tagName==='SUMMARY'||isInSummary(node.parentElement);}function hasParent(node,parent){if(!node){return false;}return node===parent||hasParent(node.parentElement,parent);}/** - * A mostly un-styled `<details>` element with smooth collapsing. Provides some - * very lightweight styles, but you should bring your UI. - */function Details({summary,children,...props}){(0,useBrokenLinks/* default */.A)().collectAnchor(props.id);const isBrowser=(0,useIsBrowser/* default */.A)();const detailsRef=(0,react.useRef)(null);const{collapsed,setCollapsed}=(0,Collapsible/* useCollapsible */.u)({initialState:!props.open});// Use a separate state for the actual details prop, because it must be set -// only after animation completes, otherwise close animations won't work -const[open,setOpen]=(0,react.useState)(props.open);const summaryElement=/*#__PURE__*/react.isValidElement(summary)?summary:/*#__PURE__*/(0,jsx_runtime.jsx)("summary",{children:summary??'Details'});return(/*#__PURE__*/// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions -(0,jsx_runtime.jsxs)("details",{...props,ref:detailsRef,open:open,"data-collapsed":collapsed,className:(0,clsx/* default */.A)((Details_styles_module_default()).details,isBrowser&&(Details_styles_module_default()).isBrowser,props.className),onMouseDown:e=>{const target=e.target;// Prevent a double-click to highlight summary text -if(isInSummary(target)&&e.detail>1){e.preventDefault();}},onClick:e=>{e.stopPropagation();// For isolation of multiple nested details/summary -const target=e.target;const shouldToggle=isInSummary(target)&&hasParent(target,detailsRef.current);if(!shouldToggle){return;}e.preventDefault();if(collapsed){setCollapsed(false);setOpen(true);}else{setCollapsed(true);// Don't do this, it breaks close animation! -// setOpen(false); -}},children:[summaryElement,/*#__PURE__*/(0,jsx_runtime.jsx)(Collapsible/* Collapsible */.N,{lazy:false// Content might matter for SEO in this case -,collapsed:collapsed,onCollapseTransitionEnd:newCollapsed=>{setCollapsed(newCollapsed);setOpen(!newCollapsed);},children:/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(Details_styles_module_default()).collapsibleContent,children:children})})]}));} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Details/styles.module.css -var theme_Details_styles_module = __webpack_require__(1733); -var theme_Details_styles_module_default = /*#__PURE__*/__webpack_require__.n(theme_Details_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/Details/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Should we have a custom details/summary comp in Infima instead of reusing -// alert classes? -const InfimaClasses='alert alert--info';function Details_Details({...props}){return/*#__PURE__*/(0,jsx_runtime.jsx)(Details,{...props,className:(0,clsx/* default */.A)(InfimaClasses,(theme_Details_styles_module_default()).details,props.className)});} -;// ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/Details.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function MDXDetails(props){const items=react.Children.toArray(props.children);// Split summary item from the rest to pass it as a separate prop to the -// Details theme component -const summary=items.find(item=>/*#__PURE__*/react.isValidElement(item)&&item.type==='summary');const children=/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:items.filter(item=>item!==summary)});return/*#__PURE__*/(0,jsx_runtime.jsx)(Details_Details,{...props,summary:summary,children:children});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Heading/index.js -var Heading = __webpack_require__(6813); -;// ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/Heading.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function MDXHeading(props){return/*#__PURE__*/(0,jsx_runtime.jsx)(Heading/* default */.A,{...props});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/Ul/styles.module.css -var Ul_styles_module = __webpack_require__(30); -var Ul_styles_module_default = /*#__PURE__*/__webpack_require__.n(Ul_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/Ul/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function transformUlClassName(className){// Fix https://github.com/facebook/docusaurus/issues/9098 -if(typeof className==='undefined'){return undefined;}return (0,clsx/* default */.A)(className,// This class is set globally by GitHub/MDX. We keep the global class, and -// add another class to get a task list without the default ul styling -// See https://github.com/syntax-tree/mdast-util-to-hast/issues/28 -className?.includes('contains-task-list')&&(Ul_styles_module_default()).containsTaskList);}function MDXUl(props){return/*#__PURE__*/(0,jsx_runtime.jsx)("ul",{...props,className:transformUlClassName(props.className)});} -;// ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/Li.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function MDXLi(props){// MDX Footnotes have ids such as <li id="user-content-fn-1-953011"> -(0,useBrokenLinks/* default */.A)().collectAnchor(props.id);return/*#__PURE__*/(0,jsx_runtime.jsx)("li",{...props});} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/Img/styles.module.css -var Img_styles_module = __webpack_require__(5614); -var Img_styles_module_default = /*#__PURE__*/__webpack_require__.n(Img_styles_module); -;// ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/Img/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function transformImgClassName(className){return (0,clsx/* default */.A)(className,(Img_styles_module_default()).img);}function MDXImg(props){return(/*#__PURE__*/// eslint-disable-next-line jsx-a11y/alt-text -(0,jsx_runtime.jsx)("img",{decoding:"async",loading:"lazy",...props,className:transformImgClassName(props.className)}));} -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Admonition/index.js + 14 modules -var Admonition = __webpack_require__(4707); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Noop.js -var Noop = __webpack_require__(219); -;// ../packages/docusaurus-theme-classic/lib/theme/MDXComponents/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const MDXComponents={Head: Head/* default */.A,details:MDXDetails,// For MD mode support, see https://github.com/facebook/docusaurus/issues/9092#issuecomment-1602902274 -Details:MDXDetails,code:MDXCode,a:MDXA,pre:MDXPre,ul:MDXUl,li:MDXLi,img:MDXImg,h1:props=>/*#__PURE__*/(0,jsx_runtime.jsx)(MDXHeading,{as:"h1",...props}),h2:props=>/*#__PURE__*/(0,jsx_runtime.jsx)(MDXHeading,{as:"h2",...props}),h3:props=>/*#__PURE__*/(0,jsx_runtime.jsx)(MDXHeading,{as:"h3",...props}),h4:props=>/*#__PURE__*/(0,jsx_runtime.jsx)(MDXHeading,{as:"h4",...props}),h5:props=>/*#__PURE__*/(0,jsx_runtime.jsx)(MDXHeading,{as:"h5",...props}),h6:props=>/*#__PURE__*/(0,jsx_runtime.jsx)(MDXHeading,{as:"h6",...props}),admonition:Admonition/* default */.A,mermaid:Noop/* default */.A};/* harmony default export */ const theme_MDXComponents = (MDXComponents); -;// ../packages/docusaurus-theme-classic/lib/theme/MDXContent/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function MDXContent({children}){return/*#__PURE__*/(0,jsx_runtime.jsx)(lib/* MDXProvider */.x,{components:theme_MDXComponents,children:children});} - -/***/ }), - -/***/ 859: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ MDXPage) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5861); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8532); -/* harmony import */ var _theme_Layout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3305); -/* harmony import */ var _theme_MDXContent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5493); -/* harmony import */ var _theme_TOC__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5277); -/* harmony import */ var _theme_ContentVisibility__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5088); -/* harmony import */ var _theme_EditMetaRow__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9738); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7143); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_styles_module_css__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function MDXPage(props){const{content:MDXPageContent}=props;const{metadata,assets}=MDXPageContent;const{title,editUrl,description,frontMatter,lastUpdatedBy,lastUpdatedAt}=metadata;const{keywords,wrapperClassName,hide_table_of_contents:hideTableOfContents}=frontMatter;const image=assets.image??frontMatter.image;const canDisplayEditMetaRow=!!(editUrl||lastUpdatedAt||lastUpdatedBy);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_8__/* .HtmlClassNameProvider */ .e3,{className:(0,clsx__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(wrapperClassName??_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_10__/* .ThemeClassNames */ .G.wrapper.mdxPages,_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_10__/* .ThemeClassNames */ .G.page.mdxPage),children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)(_theme_Layout__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_8__/* .PageMetadata */ .be,{title:title,description:description,keywords:keywords,image:image}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("main",{className:"container container--fluid margin-vert--lg",children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)("div",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)('row',(_styles_module_css__WEBPACK_IMPORTED_MODULE_6___default().mdxPageWrapper)),children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsxs)("div",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)('col',!hideTableOfContents&&'col--8'),children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_theme_ContentVisibility__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A,{metadata:metadata}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("article",{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_theme_MDXContent__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(MDXPageContent,{})})}),canDisplayEditMetaRow&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_theme_EditMetaRow__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A,{className:(0,clsx__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)('margin-top--sm',_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_10__/* .ThemeClassNames */ .G.pages.pageFooterEditMetaRow),editUrl:editUrl,lastUpdatedAt:lastUpdatedAt,lastUpdatedBy:lastUpdatedBy})]}),!hideTableOfContents&&MDXPageContent.toc.length>0&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)("div",{className:"col col--2",children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__.jsx)(_theme_TOC__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A,{toc:MDXPageContent.toc,minHeadingLevel:frontMatter.toc_min_heading_level,maxHeadingLevel:frontMatter.toc_max_heading_level})})]})})]})});} - -/***/ }), - -/***/ 1412: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ NotFoundContent) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4709); -/* harmony import */ var _theme_Heading__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6813); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function NotFoundContent({className}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("main",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)('container margin-vert--xl',className),children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div",{className:"row",children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div",{className:"col col--6 col--offset-3",children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_theme_Heading__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{as:"h1",className:"hero__title",children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p",{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p",{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})});} - -/***/ }), - -/***/ 8714: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Index) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4709); -/* harmony import */ var _docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5861); -/* harmony import */ var _theme_Layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3305); -/* harmony import */ var _theme_NotFound_Content__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1412); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Index(){const title=(0,_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* .translate */ .T)({id:'theme.NotFound.title',message:'Page Not Found'});return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment,{children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_docusaurus_theme_common__WEBPACK_IMPORTED_MODULE_5__/* .PageMetadata */ .be,{title:title}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_theme_Layout__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_theme_NotFound_Content__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A,{})})]});} - -/***/ }), - -/***/ 8705: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ PaginatorNavLink) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_Link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1349); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function PaginatorNavLink(props){const{permalink,title,subLabel,isNext}=props;return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(_docusaurus_Link__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{className:(0,clsx__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)('pagination-nav__link',isNext?'pagination-nav__link--next':'pagination-nav__link--prev'),to:permalink,children:[subLabel&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",{className:"pagination-nav__sublabel",children:subLabel}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",{className:"pagination-nav__label",children:title})]});} - -/***/ }), - -/***/ 3308: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ SearchMetadata) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_Head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2785); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Note: we bias toward using Algolia metadata on purpose -// Not doing so leads to confusion in the community, -// as it requires to first crawl the site with the Algolia plugin enabled first -// - https://github.com/facebook/docusaurus/issues/6693 -// - https://github.com/facebook/docusaurus/issues/4555 -function SearchMetadata({locale,version,tag}){// Seems safe to consider here the locale is the language, as the existing -// docsearch:language filter is afaik a regular string-based filter -const language=locale;return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(_docusaurus_Head__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{children:[locale&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("meta",{name:"docusaurus_locale",content:locale}),version&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("meta",{name:"docusaurus_version",content:version}),tag&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("meta",{name:"docusaurus_tag",content:tag}),language&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("meta",{name:"docsearch:language",content:language}),version&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("meta",{name:"docsearch:version",content:version}),tag&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("meta",{name:"docsearch:docusaurus_tag",content:tag})]});} - -/***/ }), - -/***/ 5277: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ TOC) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1750); -/* harmony import */ var _theme_TOCItems__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1731); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5429); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_styles_module_css__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Using a custom className -// This prevents TOCInline/TOCCollapsible getting highlighted by mistake -const LINK_CLASS_NAME='table-of-contents__link toc-highlight';const LINK_ACTIVE_CLASS_NAME='table-of-contents__link--active';function TOC({className,...props}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)((_styles_module_css__WEBPACK_IMPORTED_MODULE_2___default().tableOfContents),'thin-scrollbar',className),children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_theme_TOCItems__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{...props,linkClassName:LINK_CLASS_NAME,linkActiveClassName:LINK_ACTIVE_CLASS_NAME})});} - -/***/ }), - -/***/ 1731: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ TOCItems) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useThemeConfig.js -var useThemeConfig = __webpack_require__(6963); -;// ../packages/docusaurus-theme-common/lib/utils/tocUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function treeifyTOC(flatTOC){const headings=flatTOC.map(heading=>({...heading,parentIndex:-1,children:[]}));// Keep track of which previous index would be the current heading's direct -// parent. Each entry <i> is the last index of the `headings` array at heading -// level <i>. We will modify these indices as we iterate through all headings. -// e.g. if an ### H3 was last seen at index 2, then prevIndexForLevel[3] === 2 -// indices 0 and 1 will remain unused. -const prevIndexForLevel=Array(7).fill(-1);headings.forEach((curr,currIndex)=>{// Take the last seen index for each ancestor level. the highest index will -// be the direct ancestor of the current heading. -const ancestorLevelIndexes=prevIndexForLevel.slice(2,curr.level);curr.parentIndex=Math.max(...ancestorLevelIndexes);// Mark that curr.level was last seen at the current index. -prevIndexForLevel[curr.level]=currIndex;});const rootNodes=[];// For a given parentIndex, add each Node into that parent's `children` array -headings.forEach(heading=>{const{parentIndex,...rest}=heading;if(parentIndex>=0){headings[parentIndex].children.push(rest);}else{rootNodes.push(rest);}});return rootNodes;}/** - * Takes a flat TOC list (from the MDX loader) and treeifies it into what the - * TOC components expect. Memoized for performance. - */function useTreeifiedTOC(toc){return useMemo(()=>treeifyTOC(toc),[toc]);}function filterTOC({toc,minHeadingLevel,maxHeadingLevel}){function isValid(item){return item.level>=minHeadingLevel&&item.level<=maxHeadingLevel;}return toc.flatMap(item=>{const filteredChildren=filterTOC({toc:item.children,minHeadingLevel,maxHeadingLevel});if(isValid(item)){return[{...item,children:filteredChildren}];}return filteredChildren;});}/** - * Takes a flat TOC list (from the MDX loader) and treeifies it into what the - * TOC components expect, applying the `minHeadingLevel` and `maxHeadingLevel`. - * Memoized for performance. - * - * **Important**: this is not the same as `useTreeifiedTOC(toc.filter(...))`, - * because we have to filter the TOC after it has been treeified. This is mostly - * to ensure that weird TOC structures preserve their semantics. For example, an - * h3-h2-h4 sequence should not be treeified as an "h3 > h4" hierarchy with - * min=3, max=4, but should rather be "[h3, h4]" (since the h2 heading has split - * the two headings and they are not parent-children) - */function useFilteredAndTreeifiedTOC({toc,minHeadingLevel,maxHeadingLevel}){return (0,react.useMemo)(()=>filterTOC({toc:treeifyTOC(toc),minHeadingLevel,maxHeadingLevel}),[toc,minHeadingLevel,maxHeadingLevel]);} -;// ../packages/docusaurus-theme-common/lib/hooks/useTOCHighlight.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// TODO make the hardcoded theme-classic classnames configurable (or add them -// to ThemeClassNames?) -/** - * If the anchor has no height and is just a "marker" in the DOM; we'll use the - * parent (normally the link text) rect boundaries instead - */function getVisibleBoundingClientRect(element){const rect=element.getBoundingClientRect();const hasNoHeight=rect.top===rect.bottom;if(hasNoHeight){return getVisibleBoundingClientRect(element.parentNode);}return rect;}/** - * Considering we divide viewport into 2 zones of each 50vh, this returns true - * if an element is in the first zone (i.e., appear in viewport, near the top) - */function isInViewportTopHalf(boundingRect){return boundingRect.top>0&&boundingRect.bottom<window.innerHeight/2;}function getAnchors({minHeadingLevel,maxHeadingLevel}){const selectors=[];for(let i=minHeadingLevel;i<=maxHeadingLevel;i+=1){selectors.push(`h${i}.anchor`);}return Array.from(document.querySelectorAll(selectors.join()));}function getActiveAnchor(anchors,{anchorTopOffset}){// Naming is hard: The "nextVisibleAnchor" is the first anchor that appear -// under the viewport top boundary. It does not mean this anchor is visible -// yet, but if user continues scrolling down, it will be the first to become -// visible -const nextVisibleAnchor=anchors.find(anchor=>{const boundingRect=getVisibleBoundingClientRect(anchor);return boundingRect.top>=anchorTopOffset;});if(nextVisibleAnchor){const boundingRect=getVisibleBoundingClientRect(nextVisibleAnchor);// If anchor is in the top half of the viewport: it is the one we consider -// "active" (unless it's too close to the top and and soon to be scrolled -// outside viewport) -if(isInViewportTopHalf(boundingRect)){return nextVisibleAnchor;}// If anchor is in the bottom half of the viewport, or under the viewport, -// we consider the active anchor is the previous one. This is because the -// main text appearing in the user screen mostly belong to the previous -// anchor. Returns null for the first anchor, see -// https://github.com/facebook/docusaurus/issues/5318 -return anchors[anchors.indexOf(nextVisibleAnchor)-1]??null;}// No anchor under viewport top (i.e. we are at the bottom of the page), -// highlight the last anchor found -return anchors[anchors.length-1]??null;}function getLinkAnchorValue(link){return decodeURIComponent(link.href.substring(link.href.indexOf('#')+1));}function getLinks(linkClassName){return Array.from(document.getElementsByClassName(linkClassName));}function getNavbarHeight(){// Not ideal to obtain actual height this way -// Using TS ! (not ?) because otherwise a bad selector would be un-noticed -return document.querySelector('.navbar').clientHeight;}function useAnchorTopOffsetRef(){const anchorTopOffsetRef=(0,react.useRef)(0);const{navbar:{hideOnScroll}}=(0,useThemeConfig/* useThemeConfig */.p)();(0,react.useEffect)(()=>{anchorTopOffsetRef.current=hideOnScroll?0:getNavbarHeight();},[hideOnScroll]);return anchorTopOffsetRef;}/** - * Side-effect that applies the active class name to the TOC heading that the - * user is currently viewing. Disabled when `config` is undefined. - */function useTOCHighlight(config){const lastActiveLinkRef=(0,react.useRef)(undefined);const anchorTopOffsetRef=useAnchorTopOffsetRef();(0,react.useEffect)(()=>{if(!config){// No-op, highlighting is disabled -return()=>{};}const{linkClassName,linkActiveClassName,minHeadingLevel,maxHeadingLevel}=config;function updateLinkActiveClass(link,active){if(active){if(lastActiveLinkRef.current&&lastActiveLinkRef.current!==link){lastActiveLinkRef.current.classList.remove(linkActiveClassName);}link.classList.add(linkActiveClassName);lastActiveLinkRef.current=link;// link.scrollIntoView({block: 'nearest'}); -}else{link.classList.remove(linkActiveClassName);}}function updateActiveLink(){const links=getLinks(linkClassName);const anchors=getAnchors({minHeadingLevel,maxHeadingLevel});const activeAnchor=getActiveAnchor(anchors,{anchorTopOffset:anchorTopOffsetRef.current});const activeLink=links.find(link=>activeAnchor&&activeAnchor.id===getLinkAnchorValue(link));links.forEach(link=>{updateLinkActiveClass(link,link===activeLink);});}document.addEventListener('scroll',updateActiveLink);document.addEventListener('resize',updateActiveLink);updateActiveLink();return()=>{document.removeEventListener('scroll',updateActiveLink);document.removeEventListener('resize',updateActiveLink);};},[config,anchorTopOffsetRef]);} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-classic/lib/theme/TOCItems/Tree.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Recursive component rendering the toc tree -function TOCItemTree({toc,className,linkClassName,isChild}){if(!toc.length){return null;}return/*#__PURE__*/(0,jsx_runtime.jsx)("ul",{className:isChild?undefined:className,children:toc.map(heading=>/*#__PURE__*/(0,jsx_runtime.jsxs)("li",{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{to:`#${heading.id}`,className:linkClassName??undefined// Developer provided the HTML, so assume it's safe. -,dangerouslySetInnerHTML:{__html:heading.value}}),/*#__PURE__*/(0,jsx_runtime.jsx)(TOCItemTree,{isChild:true,toc:heading.children,className:className,linkClassName:linkClassName})]},heading.id))});}// Memo only the tree root is enough -/* harmony default export */ const Tree = (/*#__PURE__*/react.memo(TOCItemTree)); -;// ../packages/docusaurus-theme-classic/lib/theme/TOCItems/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function TOCItems({toc,className='table-of-contents table-of-contents__left-border',linkClassName='table-of-contents__link',linkActiveClassName=undefined,minHeadingLevel:minHeadingLevelOption,maxHeadingLevel:maxHeadingLevelOption,...props}){const themeConfig=(0,useThemeConfig/* useThemeConfig */.p)();const minHeadingLevel=minHeadingLevelOption??themeConfig.tableOfContents.minHeadingLevel;const maxHeadingLevel=maxHeadingLevelOption??themeConfig.tableOfContents.maxHeadingLevel;const tocTree=useFilteredAndTreeifiedTOC({toc,minHeadingLevel,maxHeadingLevel});const tocHighlightConfig=(0,react.useMemo)(()=>{if(linkClassName&&linkActiveClassName){return{linkClassName,linkActiveClassName,minHeadingLevel,maxHeadingLevel};}return undefined;},[linkClassName,linkActiveClassName,minHeadingLevel,maxHeadingLevel]);useTOCHighlight(tocHighlightConfig);return/*#__PURE__*/(0,jsx_runtime.jsx)(Tree,{toc:tocTree,className:className,linkClassName:linkClassName,...props});} - -/***/ }), - -/***/ 8151: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ Tag) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_Link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1349); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8595); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_styles_module_css__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Tag({permalink,label,count,description}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(_docusaurus_Link__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{href:permalink,title:description,className:(0,clsx__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)((_styles_module_css__WEBPACK_IMPORTED_MODULE_2___default().tag),count?(_styles_module_css__WEBPACK_IMPORTED_MODULE_2___default().tagWithCount):(_styles_module_css__WEBPACK_IMPORTED_MODULE_2___default().tagRegular)),children:[label,count&&/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span",{children:count})]});} - -/***/ }), - -/***/ 1029: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ TagsListInline) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1750); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4709); -/* harmony import */ var _theme_Tag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8151); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6709); -/* harmony import */ var _styles_module_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_styles_module_css__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function TagsListInline({tags}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment,{children:[/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("b",{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("ul",{className:(0,clsx__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)((_styles_module_css__WEBPACK_IMPORTED_MODULE_3___default().tags),'padding--none','margin-left--sm'),children:tags.map(tag=>/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("li",{className:(_styles_module_css__WEBPACK_IMPORTED_MODULE_3___default().tag),children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_theme_Tag__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{...tag})},tag.permalink))})]});} - -/***/ }), - -/***/ 5112: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ ThemedImage) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useIsBrowser.js -var useIsBrowser = __webpack_require__(3754); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/colorMode.js -var contexts_colorMode = __webpack_require__(5407); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/components/ThemedComponent/styles.module.css -var styles_module = __webpack_require__(8361); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-common/lib/components/ThemedComponent/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const AllThemes=(/* unused pure expression or super */ null && (['light','dark']));/** - * Generic component to render anything themed in light/dark - * Note: it's preferable to use CSS for theming because this component - * will need to render all the variants during SSR to avoid a theme flash. - * - * Use this only when CSS customizations are not convenient or impossible. - * For example, rendering themed images or SVGs... - * - * @param className applied to all the variants - * @param children function to render a theme variant - * @constructor - */function ThemedComponent({className,children}){const isBrowser=(0,useIsBrowser/* default */.A)();const{colorMode}=(0,contexts_colorMode/* useColorMode */.G)();function getThemesToRender(){if(isBrowser){return colorMode==='dark'?['dark']:['light'];}// We need to render both components on the server / hydration to avoid: -// - a flash of wrong theme before hydration -// - React hydration mismatches -// See https://github.com/facebook/docusaurus/pull/3730 -return['light','dark'];}return/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:getThemesToRender().map(theme=>{const themedElement=children({theme,className:(0,clsx/* default */.A)(className,(styles_module_default()).themedComponent,(styles_module_default())[`themedComponent--${theme}`])});return/*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment,{children:themedElement},theme);})});} -;// ../packages/docusaurus-theme-classic/lib/theme/ThemedImage/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function ThemedImage(props){const{sources,className:parentClassName,alt,...propsRest}=props;return/*#__PURE__*/(0,jsx_runtime.jsx)(ThemedComponent,{className:parentClassName,children:({theme,className})=>/*#__PURE__*/(0,jsx_runtime.jsx)("img",{src:sources[theme],alt:alt,className:className,...propsRest})});} - -/***/ }), - -/***/ 343: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ N: () => (/* binding */ Collapsible), -/* harmony export */ u: () => (/* binding */ useCollapsible) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(610); -/* harmony import */ var _utils_accessibilityUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(644); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const DefaultAnimationEasing='ease-in-out';/** - * This hook is a very thin wrapper around a `useState`. - */function useCollapsible({initialState}){const[collapsed,setCollapsed]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialState??false);const toggleCollapsed=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{setCollapsed(expanded=>!expanded);},[]);return{collapsed,setCollapsed,toggleCollapsed};}const CollapsedStyles={display:'none',overflow:'hidden',height:'0px'};const ExpandedStyles={display:'block',overflow:'visible',height:'auto'};function applyCollapsedStyle(el,collapsed){const collapsedStyles=collapsed?CollapsedStyles:ExpandedStyles;el.style.display=collapsedStyles.display;el.style.overflow=collapsedStyles.overflow;el.style.height=collapsedStyles.height;}/* -Lex111: Dynamic transition duration is used in Material design, this technique -is good for a large number of items. -https://material.io/archive/guidelines/motion/duration-easing.html#duration-easing-dynamic-durations -https://github.com/mui-org/material-ui/blob/e724d98eba018e55e1a684236a2037e24bcf050c/packages/material-ui/src/styles/createTransitions.js#L40-L43 - */function getAutoHeightDuration(height){if((0,_utils_accessibilityUtils__WEBPACK_IMPORTED_MODULE_3__/* .prefersReducedMotion */ .O)()){// Not using 0 because it prevents onTransitionEnd to fire and bubble up :/ -// See https://github.com/facebook/docusaurus/pull/8906 -return 1;}const constant=height/36;return Math.round((4+15*constant**0.25+constant/5)*10);}function useCollapseAnimation({collapsibleRef,collapsed,animation}){const mounted=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const el=collapsibleRef.current;function getTransitionStyles(){const height=el.scrollHeight;const duration=animation?.duration??getAutoHeightDuration(height);const easing=animation?.easing??DefaultAnimationEasing;return{transition:`height ${duration}ms ${easing}`,height:`${height}px`};}function applyTransitionStyles(){const transitionStyles=getTransitionStyles();el.style.transition=transitionStyles.transition;el.style.height=transitionStyles.height;}// On mount, we just apply styles, no animated transition -if(!mounted.current){applyCollapsedStyle(el,collapsed);mounted.current=true;return undefined;}el.style.willChange='height';function startAnimation(){const animationFrame=requestAnimationFrame(()=>{// When collapsing -if(collapsed){applyTransitionStyles();requestAnimationFrame(()=>{el.style.height=CollapsedStyles.height;el.style.overflow=CollapsedStyles.overflow;});}// When expanding -else{el.style.display='block';requestAnimationFrame(()=>{applyTransitionStyles();});}});return()=>cancelAnimationFrame(animationFrame);}return startAnimation();},[collapsibleRef,collapsed,animation]);}function CollapsibleBase({as:As='div',collapsed,children,animation,onCollapseTransitionEnd,className}){const collapsibleRef=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);useCollapseAnimation({collapsibleRef,collapsed,animation});return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(As// @ts-expect-error: the "too complicated type" is produced from -// "CollapsibleElementType" being a huge union -,{ref:collapsibleRef// Refs are contravariant, which is not expressible in TS -,onTransitionEnd:e=>{if(e.propertyName!=='height'){return;}applyCollapsedStyle(collapsibleRef.current,collapsed);onCollapseTransitionEnd?.(collapsed);},className:className,children:children});}function CollapsibleLazy({collapsed,...props}){const[mounted,setMounted]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!collapsed);// Updated in effect so that first expansion transition can work -const[lazyCollapsed,setLazyCollapsed]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(collapsed);(0,_docusaurus_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(()=>{if(!collapsed){setMounted(true);}},[collapsed]);(0,_docusaurus_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(()=>{if(mounted){setLazyCollapsed(collapsed);}},[mounted,collapsed]);return mounted?/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(CollapsibleBase,{...props,collapsed:lazyCollapsed}):null;}/** - * A headless component providing smooth and uniform collapsing behavior. The - * component will be invisible (zero height) when collapsed. Doesn't provide - * interactivity by itself: collapse state is toggled through props. - */function Collapsible({lazy,...props}){const Comp=lazy?CollapsibleLazy:CollapsibleBase;return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Comp,{...props});} - -/***/ }), - -/***/ 3228: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ M: () => (/* binding */ useAnnouncementBar), -/* harmony export */ o: () => (/* binding */ AnnouncementBarProvider) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_useIsBrowser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3754); -/* harmony import */ var _utils_storageUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8463); -/* harmony import */ var _utils_reactUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9129); -/* harmony import */ var _utils_useThemeConfig__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6963); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Keep these keys in sync with the inlined script -// See packages/docusaurus-theme-classic/src/inlineScripts.ts -const AnnouncementBarDismissStorage=(0,_utils_storageUtils__WEBPACK_IMPORTED_MODULE_3__/* .createStorageSlot */ .Wf)('docusaurus.announcement.dismiss');const IdStorage=(0,_utils_storageUtils__WEBPACK_IMPORTED_MODULE_3__/* .createStorageSlot */ .Wf)('docusaurus.announcement.id');const isDismissedInStorage=()=>AnnouncementBarDismissStorage.get()==='true';const setDismissedInStorage=bool=>AnnouncementBarDismissStorage.set(String(bool));const Context=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);function useContextValue(){const{announcementBar}=(0,_utils_useThemeConfig__WEBPACK_IMPORTED_MODULE_4__/* .useThemeConfig */ .p)();const isBrowser=(0,_docusaurus_useIsBrowser__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)();const[isClosed,setClosed]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>isBrowser?// On client navigation: init with local storage value -isDismissedInStorage():// On server/hydration: always visible to prevent layout shifts (will be hidden with css if needed) -false);// Update state after hydration -(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{setClosed(isDismissedInStorage());},[]);const handleClose=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{setDismissedInStorage(true);setClosed(true);},[]);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{if(!announcementBar){return;}const{id}=announcementBar;let viewedId=IdStorage.get();// Retrocompatibility due to spelling mistake of default id -// see https://github.com/facebook/docusaurus/issues/3338 -// cSpell:ignore annoucement -if(viewedId==='annoucement-bar'){viewedId='announcement-bar';}const isNewAnnouncement=id!==viewedId;IdStorage.set(id);if(isNewAnnouncement){setDismissedInStorage(false);}if(isNewAnnouncement||!isDismissedInStorage()){setClosed(false);}},[announcementBar]);return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({isActive:!!announcementBar&&!isClosed,close:handleClose}),[announcementBar,isClosed,handleClose]);}function AnnouncementBarProvider({children}){const value=useContextValue();return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Context.Provider,{value:value,children:children});}function useAnnouncementBar(){const api=(0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context);if(!api){throw new _utils_reactUtils__WEBPACK_IMPORTED_MODULE_5__/* .ReactContextError */ .dV('AnnouncementBarProvider');}return api;} - -/***/ }), - -/***/ 5407: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ G: () => (/* binding */ useColorMode), -/* harmony export */ a: () => (/* binding */ ColorModeProvider) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_ExecutionEnvironment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4468); -/* harmony import */ var _utils_reactUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9129); -/* harmony import */ var _utils_storageUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8463); -/* harmony import */ var _utils_useThemeConfig__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6963); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Context=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(undefined);const ColorModeStorageKey='theme';const ColorModeStorage=(0,_utils_storageUtils__WEBPACK_IMPORTED_MODULE_3__/* .createStorageSlot */ .Wf)(ColorModeStorageKey);const ColorModes={light:'light',dark:'dark'};// Ensure to always return a valid colorMode even if input is invalid -const coerceToColorMode=colorMode=>colorMode===ColorModes.dark?ColorModes.dark:ColorModes.light;const ColorModeAttribute={get:()=>{return coerceToColorMode(document.documentElement.getAttribute('data-theme'));},set:colorMode=>{document.documentElement.setAttribute('data-theme',coerceToColorMode(colorMode));}};const readInitialColorMode=()=>{if(!_docusaurus_ExecutionEnvironment__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.canUseDOM){throw new Error("Can't read initial color mode on the server");}return ColorModeAttribute.get();};const storeColorMode=newColorMode=>{ColorModeStorage.set(coerceToColorMode(newColorMode));};// The color mode state is initialized in useEffect on purpose -// to avoid a React hydration mismatch errors -// The useColorMode() hook value lags behind on purpose -// This helps users avoid hydration mismatch errors in their code -// See also https://github.com/facebook/docusaurus/issues/7986 -function useColorModeState(){const{colorMode:{defaultMode}}=(0,_utils_useThemeConfig__WEBPACK_IMPORTED_MODULE_4__/* .useThemeConfig */ .p)();const[colorMode,setColorModeState]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(defaultMode);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{setColorModeState(readInitialColorMode());},[]);return[colorMode,setColorModeState];}function useContextValue(){const{colorMode:{defaultMode,disableSwitch,respectPrefersColorScheme}}=(0,_utils_useThemeConfig__WEBPACK_IMPORTED_MODULE_4__/* .useThemeConfig */ .p)();const[colorMode,setColorModeState]=useColorModeState();(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{// A site is deployed without disableSwitch -// => User visits the site and has a persisted value -// => Site later enabled disableSwitch -// => Clear the previously stored value to apply the site's setting -if(disableSwitch){ColorModeStorage.del();}},[disableSwitch]);const setColorMode=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((newColorMode,options={})=>{const{persist=true}=options;if(newColorMode){ColorModeAttribute.set(newColorMode);setColorModeState(newColorMode);if(persist){storeColorMode(newColorMode);}}else{if(respectPrefersColorScheme){const osColorMode=window.matchMedia('(prefers-color-scheme: dark)').matches?ColorModes.dark:ColorModes.light;ColorModeAttribute.set(osColorMode);setColorModeState(osColorMode);}else{ColorModeAttribute.set(defaultMode);setColorModeState(defaultMode);}ColorModeStorage.del();}},[setColorModeState,respectPrefersColorScheme,defaultMode]);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{if(disableSwitch){return undefined;}return ColorModeStorage.listen(e=>{setColorMode(coerceToColorMode(e.newValue));});},[disableSwitch,setColorMode]);// PCS is coerced to light mode when printing, which causes the color mode to -// be reset to dark when exiting print mode, disregarding user settings. When -// the listener fires only because of a print/screen switch, we don't change -// color mode. See https://github.com/facebook/docusaurus/pull/6490 -const previousMediaIsPrint=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{if(disableSwitch&&!respectPrefersColorScheme){return undefined;}const mql=window.matchMedia('(prefers-color-scheme: dark)');const onChange=()=>{if(window.matchMedia('print').matches||previousMediaIsPrint.current){previousMediaIsPrint.current=window.matchMedia('print').matches;return;}setColorMode(null);};mql.addListener(onChange);return()=>mql.removeListener(onChange);},[setColorMode,disableSwitch,respectPrefersColorScheme]);return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({colorMode,setColorMode,get isDarkTheme(){if(false){}return colorMode===ColorModes.dark;},setLightTheme(){if(false){}setColorMode(ColorModes.light);},setDarkTheme(){if(false){}setColorMode(ColorModes.dark);}}),[colorMode,setColorMode]);}function ColorModeProvider({children}){const value=useContextValue();return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Context.Provider,{value:value,children:children});}function useColorMode(){const context=(0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context);if(context==null){throw new _utils_reactUtils__WEBPACK_IMPORTED_MODULE_5__/* .ReactContextError */ .dV('ColorModeProvider','Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.');}return context;} - -/***/ }), - -/***/ 1021: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - e: () => (/* binding */ NavbarMobileSidebarProvider), - M: () => (/* binding */ useNavbarMobileSidebar) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/contexts/navbarSecondaryMenu/content.js -var content = __webpack_require__(5105); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/hooks/useWindowSize.js -var useWindowSize = __webpack_require__(242); -// EXTERNAL MODULE: ../node_modules/react-router/esm/react-router.js -var react_router = __webpack_require__(9519); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/reactUtils.js -var reactUtils = __webpack_require__(9129); -;// ../packages/docusaurus-theme-common/lib/utils/historyUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Permits to register a handler that will be called on history actions (pop, - * push, replace). If the handler returns `false`, the navigation transition - * will be blocked/cancelled. - */function useHistoryActionHandler(handler){const history=(0,react_router/* useHistory */.W6)();const stableHandler=(0,reactUtils/* useEvent */._q)(handler);(0,react.useEffect)(// See https://github.com/remix-run/history/blob/main/docs/blocking-transitions.md -()=>history.block((location,action)=>stableHandler(location,action)),[history,stableHandler]);}/** - * Permits to register a handler that will be called on history pop navigation - * (backward/forward). If the handler returns `false`, the backward/forward - * transition will be blocked. Unfortunately there's no good way to detect the - * "direction" (backward/forward) of the POP event. - */function useHistoryPopHandler(handler){useHistoryActionHandler((location,action)=>{if(action==='POP'){// Maybe block navigation if handler returns false -return handler(location,action);}// Don't block other navigation actions -return undefined;});}/** - * Permits to efficiently subscribe to a slice of the history - * See https://thisweekinreact.com/articles/useSyncExternalStore-the-underrated-react-api - * @param selector - */function useHistorySelector(selector){const history=useHistory();return useSyncExternalStore(history.listen,()=>selector(history),()=>selector(history));}/** - * Permits to efficiently subscribe to a specific querystring value - * @param key - */function useQueryStringValue(key){return useHistorySelector(history=>{if(key===null){return null;}return new URLSearchParams(history.location.search).get(key);});}function useQueryStringUpdater(key){const history=useHistory();return useCallback((newValue,options)=>{const searchParams=new URLSearchParams(history.location.search);if(newValue){searchParams.set(key,newValue);}else{searchParams.delete(key);}const updateHistory=options?.push?history.push:history.replace;updateHistory({search:searchParams.toString()});},[key,history]);}function useQueryString(key){const value=useQueryStringValue(key)??'';const update=useQueryStringUpdater(key);return[value,update];}function useQueryStringListValues(key){// Unfortunately we can't just use searchParams.getAll(key) in the selector -// It would create a new array every time and lead to an infinite loop... -// The selector has to return a primitive/string value to avoid that... -const arrayJsonString=useHistorySelector(history=>{const values=new URLSearchParams(history.location.search).getAll(key);return JSON.stringify(values);});return useMemo(()=>JSON.parse(arrayJsonString),[arrayJsonString]);}function useQueryStringListUpdater(key){const history=useHistory();const setValues=useCallback((update,options)=>{const searchParams=new URLSearchParams(history.location.search);const newValues=Array.isArray(update)?update:update(searchParams.getAll(key));searchParams.delete(key);newValues.forEach(v=>searchParams.append(key,v));const updateHistory=options?.push?history.push:history.replace;updateHistory({search:searchParams.toString()});},[history,key]);return setValues;}function useQueryStringList(key){const values=useQueryStringListValues(key);const setValues=useQueryStringListUpdater(key);return[values,setValues];}function useClearQueryString(){const history=useHistory();return useCallback(()=>{history.replace({search:undefined});},[history]);} -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useThemeConfig.js -var useThemeConfig = __webpack_require__(6963); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-common/lib/contexts/navbarMobileSidebar.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Context=/*#__PURE__*/react.createContext(undefined);function useIsNavbarMobileSidebarDisabled(){const secondaryMenuContent=(0,content/* useNavbarSecondaryMenuContent */.YL)();const{items}=(0,useThemeConfig/* useThemeConfig */.p)().navbar;return items.length===0&&!secondaryMenuContent.component;}function useContextValue(){const disabled=useIsNavbarMobileSidebarDisabled();const windowSize=(0,useWindowSize/* useWindowSize */.l)();const shouldRender=!disabled&&windowSize==='mobile';const[shown,setShown]=(0,react.useState)(false);// Close mobile sidebar on navigation pop -// Most likely firing when using the Android back button (but not only) -useHistoryPopHandler(()=>{if(shown){setShown(false);// Prevent pop navigation; seems desirable enough -// See https://github.com/facebook/docusaurus/pull/5462#issuecomment-911699846 -return false;}return undefined;});const toggle=(0,react.useCallback)(()=>{setShown(s=>!s);},[]);(0,react.useEffect)(()=>{if(windowSize==='desktop'){setShown(false);}},[windowSize]);return (0,react.useMemo)(()=>({disabled,shouldRender,toggle,shown}),[disabled,shouldRender,toggle,shown]);}function NavbarMobileSidebarProvider({children}){const value=useContextValue();return/*#__PURE__*/(0,jsx_runtime.jsx)(Context.Provider,{value:value,children:children});}function useNavbarMobileSidebar(){const context=react.useContext(Context);if(context===undefined){throw new reactUtils/* ReactContextError */.dV('NavbarMobileSidebarProvider');}return context;} - -/***/ }), - -/***/ 5105: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ GX: () => (/* binding */ NavbarSecondaryMenuFiller), -/* harmony export */ YL: () => (/* binding */ useNavbarSecondaryMenuContent), -/* harmony export */ y_: () => (/* binding */ NavbarSecondaryMenuContentProvider) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _utils_reactUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9129); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Context=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);/** @internal */function NavbarSecondaryMenuContentProvider({children}){const value=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({component:null,props:null});return(/*#__PURE__*/// @ts-expect-error: this context is hard to type -(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Context.Provider,{value:value,children:children}));}/** @internal */function useNavbarSecondaryMenuContent(){const value=(0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context);if(!value){throw new _utils_reactUtils__WEBPACK_IMPORTED_MODULE_2__/* .ReactContextError */ .dV('NavbarSecondaryMenuContentProvider');}return value[0];}/** - * This component renders nothing by itself, but it fills the placeholder in the - * generic secondary menu layout. This reduces coupling between the main layout - * and the specific page. - * - * This kind of feature is often called portal/teleport/gateway/outlet... - * Various unmaintained React libs exist. Most up-to-date one: - * https://github.com/gregberge/react-teleporter - * Not sure any of those is safe regarding concurrent mode. - */function NavbarSecondaryMenuFiller({component,props}){const context=(0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context);if(!context){throw new _utils_reactUtils__WEBPACK_IMPORTED_MODULE_2__/* .ReactContextError */ .dV('NavbarSecondaryMenuContentProvider');}const[,setContent]=context;// To avoid useless context re-renders, props are memoized shallowly -const memoizedProps=(0,_utils_reactUtils__WEBPACK_IMPORTED_MODULE_2__/* .useShallowMemoObject */ .Be)(props);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{// @ts-expect-error: this context is hard to type -setContent({component,props:memoizedProps});},[setContent,component,memoizedProps]);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>()=>setContent({component:null,props:null}),[setContent]);return null;} - -/***/ }), - -/***/ 4684: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ J: () => (/* binding */ useKeyboardNavigation), -/* harmony export */ w: () => (/* binding */ keyboardFocusedClassName) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7317); -/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_css__WEBPACK_IMPORTED_MODULE_1__); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const keyboardFocusedClassName='navigation-with-keyboard';/** - * Side-effect that adds the `keyboardFocusedClassName` to the body element when - * the keyboard has been pressed, or removes it when the mouse is clicked. - * - * The presence of this class name signals that the user may be using keyboard - * for navigation, and the theme **must** add focus outline when this class name - * is present. (And optionally not if it's absent, for design purposes) - * - * Inspired by https://hackernoon.com/removing-that-ugly-focus-ring-and-keeping-it-too-6c8727fefcd2 - */function useKeyboardNavigation(){(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{function handleOutlineStyles(e){if(e.type==='keydown'&&e.key==='Tab'){document.body.classList.add(keyboardFocusedClassName);}if(e.type==='mousedown'){document.body.classList.remove(keyboardFocusedClassName);}}document.addEventListener('keydown',handleOutlineStyles);document.addEventListener('mousedown',handleOutlineStyles);return()=>{document.body.classList.remove(keyboardFocusedClassName);document.removeEventListener('keydown',handleOutlineStyles);document.removeEventListener('mousedown',handleOutlineStyles);};},[]);} - -/***/ }), - -/***/ 242: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ l: () => (/* binding */ useWindowSize) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_ExecutionEnvironment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4468); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const windowSizes={desktop:'desktop',mobile:'mobile',ssr:'ssr'};// Note: this value is also hardcoded in Infima -// Both JS and CSS must have the same value -// Updating this JS value alone is not enough -// See https://github.com/facebook/docusaurus/issues/9603 -const DesktopBreakpoint=996;function getWindowSize(desktopBreakpoint){if(!_docusaurus_ExecutionEnvironment__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.canUseDOM){throw new Error('getWindowSize() should only be called after React hydration');}return window.innerWidth>desktopBreakpoint?windowSizes.desktop:windowSizes.mobile;}/** - * Gets the current window size as an enum value. We don't want it to return the - * actual width value, so that it only re-renders once a breakpoint is crossed. - * - * It may return `"ssr"`, which is very important to handle hydration FOUC or - * layout shifts. You have to handle it explicitly upfront. On the server, you - * may need to render BOTH the mobile/desktop elements (and hide one of them - * with mediaquery). We don't return `undefined` on purpose, to make it more - * explicit. - */function useWindowSize({desktopBreakpoint=DesktopBreakpoint}={}){const[windowSize,setWindowSize]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(()=>// super important to return a constant value to avoid hydration mismatch -// see https://github.com/facebook/docusaurus/issues/9379 -'ssr');(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{function updateWindowSize(){setWindowSize(getWindowSize(desktopBreakpoint));}updateWindowSize();window.addEventListener('resize',updateWindowSize);return()=>{window.removeEventListener('resize',updateWindowSize);};},[desktopBreakpoint]);return windowSize;} - -/***/ }), - -/***/ 7374: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Y4: () => (/* binding */ BlogAuthorNoPostsLabel), -/* harmony export */ ZD: () => (/* binding */ useBlogTagsPostsPageTitle), -/* harmony export */ np: () => (/* binding */ BlogAuthorsListViewAllLabel), -/* harmony export */ uz: () => (/* binding */ translateBlogAuthorsListPageTitle), -/* harmony export */ wI: () => (/* binding */ useBlogAuthorPageTitle) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4709); -/* harmony import */ var _utils_usePluralForm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7054); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Only used locally -function useBlogPostsPlural(){const{selectMessage}=(0,_utils_usePluralForm__WEBPACK_IMPORTED_MODULE_3__/* .usePluralForm */ .W)();return count=>selectMessage(count,(0,_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* .translate */ .T)({id:'theme.blog.post.plurals',description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:'One post|{count} posts'},{count}));}function useBlogTagsPostsPageTitle(tag){const blogPostsPlural=useBlogPostsPlural();return (0,_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* .translate */ .T)({id:'theme.blog.tagTitle',description:'The title of the page for a blog tag',message:'{nPosts} tagged with "{tagName}"'},{nPosts:blogPostsPlural(tag.count),tagName:tag.label});}function useBlogAuthorPageTitle(author){const blogPostsPlural=useBlogPostsPlural();return (0,_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* .translate */ .T)({id:'theme.blog.author.pageTitle',description:'The title of the page for a blog author',message:'{authorName} - {nPosts}'},{nPosts:blogPostsPlural(author.count),authorName:author.name||author.key});}const translateBlogAuthorsListPageTitle=()=>(0,_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* .translate */ .T)({id:'theme.blog.authorsList.pageTitle',message:'Authors',description:'The title of the authors page'});function BlogAuthorsListViewAllLabel(){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"});}function BlogAuthorNoPostsLabel(){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."});} - -/***/ }), - -/***/ 9137: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AE: () => (/* binding */ UnlistedMetadata), -/* harmony export */ Rc: () => (/* binding */ UnlistedBannerTitle), -/* harmony export */ TT: () => (/* binding */ DraftBannerMessage), -/* harmony export */ Uh: () => (/* binding */ UnlistedBannerMessage), -/* harmony export */ Yh: () => (/* binding */ DraftBannerTitle) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4709); -/* harmony import */ var _docusaurus_Head__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2785); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function UnlistedBannerTitle(){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"});}function UnlistedBannerMessage(){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."});}// TODO Docusaurus v4 breaking change (since it's v3 public theme-common API :/) -// Move this to theme/ContentVisibility/Unlisted -function UnlistedMetadata(){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Head__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,{children:/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("meta",{name:"robots",content:"noindex, nofollow"})});}function DraftBannerTitle(){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"});}function DraftBannerMessage(){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_docusaurus_Translate__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."});} - -/***/ }), - -/***/ 9153: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ i: () => (/* binding */ useDateTimeFormat) -/* harmony export */ }); -/* unused harmony export useCalendar */ -/* harmony import */ var _docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1571); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useCalendar(){const{i18n:{currentLocale,localeConfigs}}=(0,_docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)();return localeConfigs[currentLocale].calendar;}function useDateTimeFormat(options={}){const{i18n:{currentLocale}}=(0,_docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)();const calendar=useCalendar();return new Intl.DateTimeFormat(currentLocale,{calendar,...options});} - -/***/ }), - -/***/ 8532: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ G: () => (/* binding */ ThemeClassNames) -/* harmony export */ }); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Please do not modify the classnames! This is a breaking change, and annoying -// for users! -/** - * These class names are used to style page layouts in Docusaurus, meant to be - * targeted by user-provided custom CSS selectors. - */const ThemeClassNames={page:{blogListPage:'blog-list-page',blogPostPage:'blog-post-page',blogTagsListPage:'blog-tags-list-page',blogTagPostListPage:'blog-tags-post-list-page',blogAuthorsListPage:'blog-authors-list-page',blogAuthorsPostsPage:'blog-authors-posts-page',docsDocPage:'docs-doc-page',docsTagsListPage:'docs-tags-list-page',docsTagDocListPage:'docs-tags-doc-list-page',mdxPage:'mdx-page'},// TODO Docusaurus v4: remove old classes? -wrapper:{main:'main-wrapper',// replaced by theme-layout-main -// TODO these wrapper class names are now quite useless -// TODO do breaking change later in 3.0 -// we already add plugin name/id class on <html>: that's enough -blogPages:'blog-wrapper',docsPages:'docs-wrapper',mdxPages:'mdx-wrapper'},common:{editThisPage:'theme-edit-this-page',lastUpdated:'theme-last-updated',backToTopButton:'theme-back-to-top-button',codeBlock:'theme-code-block',admonition:'theme-admonition',unlistedBanner:'theme-unlisted-banner',draftBanner:'theme-draft-banner',admonitionType:type=>`theme-admonition-${type}`},announcementBar:{container:'theme-announcement-bar'},layout:{navbar:{container:'theme-layout-navbar',containerLeft:'theme-layout-navbar-left',containerRight:'theme-layout-navbar-right',mobileSidebar:{container:'theme-layout-navbar-sidebar',panel:'theme-layout-navbar-sidebar-panel'}},main:{container:'theme-layout-main'},footer:{container:'theme-layout-footer',column:'theme-layout-footer-column'}},/** - * Follows the naming convention "theme-{blog,doc,version,page}?-<suffix>" - */docs:{docVersionBanner:'theme-doc-version-banner',docVersionBadge:'theme-doc-version-badge',docBreadcrumbs:'theme-doc-breadcrumbs',docMarkdown:'theme-doc-markdown',docTocMobile:'theme-doc-toc-mobile',docTocDesktop:'theme-doc-toc-desktop',docFooter:'theme-doc-footer',docFooterTagsRow:'theme-doc-footer-tags-row',docFooterEditMetaRow:'theme-doc-footer-edit-meta-row',docSidebarContainer:'theme-doc-sidebar-container',docSidebarMenu:'theme-doc-sidebar-menu',docSidebarItemCategory:'theme-doc-sidebar-item-category',docSidebarItemLink:'theme-doc-sidebar-item-link',docSidebarItemCategoryLevel:level=>`theme-doc-sidebar-item-category-level-${level}`,docSidebarItemLinkLevel:level=>`theme-doc-sidebar-item-link-level-${level}`// TODO add other stable classNames here -},blog:{// TODO add other stable classNames here -blogFooterTagsRow:'theme-blog-footer-tags-row',blogFooterEditMetaRow:'theme-blog-footer-edit-meta-row'},pages:{pageFooterEditMetaRow:'theme-pages-footer-edit-meta-row'}}; - -/***/ }), - -/***/ 644: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ O: () => (/* binding */ prefersReducedMotion) -/* harmony export */ }); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function prefersReducedMotion(){return window.matchMedia('(prefers-reduced-motion: reduce)').matches;} - -/***/ }), - -/***/ 29: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ $z: () => (/* binding */ groupBy), -/* harmony export */ sb: () => (/* binding */ uniq) -/* harmony export */ }); -/* unused harmony export duplicates */ -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// A replacement of lodash in client code -/** - * Gets the duplicate values in an array. - * @param arr The array. - * @param comparator Compares two values and returns `true` if they are equal - * (duplicated). - * @returns Value of the elements `v` that have a preceding element `u` where - * `comparator(u, v) === true`. Values within the returned array are not - * guaranteed to be unique. - */function duplicates(arr,comparator=(a,b)=>a===b){return arr.filter((v,vIndex)=>arr.findIndex(u=>comparator(u,v))!==vIndex);}/** - * Remove duplicate array items (similar to `_.uniq`) - * @param arr The array. - * @returns An array with duplicate elements removed by reference comparison. - */function uniq(arr){// Note: had problems with [...new Set()]: https://github.com/facebook/docusaurus/issues/4972#issuecomment-863895061 -return Array.from(new Set(arr));}// TODO 2025: replace by std Object.groupBy ? -// This is a local polyfill with exact same TS signature -// see https://github.com/microsoft/TypeScript/blob/main/src/lib/esnext.object.d.ts -function groupBy(items,keySelector){const result={};let index=0;for(const item of items){const key=keySelector(item,index);result[key]??=[];result[key].push(item);index+=1;}return result;} - -/***/ }), - -/***/ 5861: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - e3: () => (/* binding */ HtmlClassNameProvider), - be: () => (/* binding */ PageMetadata), - Jx: () => (/* binding */ PluginHtmlClassNameProvider) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Head.js -var Head = __webpack_require__(2785); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useRouteContext.js -var useRouteContext = __webpack_require__(9060); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useBaseUrl.js -var useBaseUrl = __webpack_require__(5000); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useDocusaurusContext.js -var useDocusaurusContext = __webpack_require__(1571); -;// ../packages/docusaurus-theme-common/lib/utils/generalUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Formats the page's title based on relevant site config and other contexts. - */function useTitleFormatter(title){const{siteConfig}=(0,useDocusaurusContext/* default */.A)();const{title:siteTitle,titleDelimiter}=siteConfig;return title?.trim().length?`${title.trim()} ${titleDelimiter} ${siteTitle}`:siteTitle;} -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus-theme-common/lib/utils/metadataUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Helper component to manipulate page metadata and override site defaults. - * Works in the same way as Helmet. - */function PageMetadata({title,description,keywords,image,children}){const pageTitle=useTitleFormatter(title);const{withBaseUrl}=(0,useBaseUrl/* useBaseUrlUtils */.hH)();const pageImage=image?withBaseUrl(image,{absolute:true}):undefined;return/*#__PURE__*/(0,jsx_runtime.jsxs)(Head/* default */.A,{children:[title&&/*#__PURE__*/(0,jsx_runtime.jsx)("title",{children:pageTitle}),title&&/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"og:title",content:pageTitle}),description&&/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{name:"description",content:description}),description&&/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"og:description",content:description}),keywords&&/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{name:"keywords",content:// https://github.com/microsoft/TypeScript/issues/17002 -Array.isArray(keywords)?keywords.join(','):keywords}),pageImage&&/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"og:image",content:pageImage}),pageImage&&/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{name:"twitter:image",content:pageImage}),children]});}const HtmlClassNameContext=/*#__PURE__*/react.createContext(undefined);/** - * Every layer of this provider will append a class name to the HTML element. - * There's no consumer for this hook: it's side-effect-only. This wrapper is - * necessary because Helmet does not "merge" classes. - * @see https://github.com/staylor/react-helmet-async/issues/161 - */function HtmlClassNameProvider({className:classNameProp,children}){const classNameContext=react.useContext(HtmlClassNameContext);const className=(0,clsx/* default */.A)(classNameContext,classNameProp);return/*#__PURE__*/(0,jsx_runtime.jsxs)(HtmlClassNameContext.Provider,{value:className,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Head/* default */.A,{children:/*#__PURE__*/(0,jsx_runtime.jsx)("html",{className:className})}),children]});}function pluginNameToClassName(pluginName){return`plugin-${pluginName.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,'')}`;}/** - * A very thin wrapper around `HtmlClassNameProvider` that adds the plugin ID + - * name to the HTML class name. - */function PluginHtmlClassNameProvider({children}){const routeContext=(0,useRouteContext/* default */.A)();const nameClass=pluginNameToClassName(routeContext.plugin.name);const idClass=`plugin-id-${routeContext.plugin.id}`;return/*#__PURE__*/(0,jsx_runtime.jsx)(HtmlClassNameProvider,{className:(0,clsx/* default */.A)(nameClass,idClass),children:children});} - -/***/ }), - -/***/ 9129: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Be: () => (/* binding */ useShallowMemoObject), -/* harmony export */ ZC: () => (/* binding */ usePrevious), -/* harmony export */ _q: () => (/* binding */ useEvent), -/* harmony export */ dV: () => (/* binding */ ReactContextError), -/* harmony export */ fM: () => (/* binding */ composeProviders) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(610); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Temporary userland implementation until an official hook is implemented - * See RFC: https://github.com/reactjs/rfcs/pull/220 - * - * Permits to transform an unstable callback (like an arrow function provided as - * props) to a "stable" callback that is safe to use in a `useEffect` dependency - * array. Useful to avoid React stale closure problems + avoid useless effect - * re-executions. - * - * This generally works but has some potential drawbacks, such as - * https://github.com/facebook/react/issues/16956#issuecomment-536636418 - */function useEvent(callback){const ref=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(callback);(0,_docusaurus_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(()=>{ref.current=callback;},[callback]);// @ts-expect-error: TS is right that this callback may be a supertype of T, -// but good enough for our use -return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((...args)=>ref.current(...args),[]);}/** - * Gets `value` from the last render. - */function usePrevious(value){const ref=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();(0,_docusaurus_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(()=>{ref.current=value;});return ref.current;}/** - * This error is thrown when a context is consumed outside its provider. Allows - * reusing a generic error message format and reduces bundle size. The hook's - * name will be extracted from its stack, so only the provider's name is needed. - */class ReactContextError extends Error{constructor(providerName,additionalInfo){super();this.name='ReactContextError';this.message=`Hook ${this.stack?.split('\n')[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??''} is called outside the <${providerName}>. ${additionalInfo??''}`;}}/** - * Shallow-memoize an object. This means the returned object will be the same as - * the previous render if the property keys and values did not change. This - * works for simple cases: when property values are primitives or stable - * objects. - * - * @param obj - */function useShallowMemoObject(obj){const deps=Object.entries(obj);// Sort by keys to make it order-insensitive -deps.sort((a,b)=>a[0].localeCompare(b[0]));// eslint-disable-next-line react-hooks/exhaustive-deps -return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>obj,deps.flat());}/** - * Creates a single React provider from an array of existing providers - * assuming providers only take "children" as props. - * - * Prevents the annoying React element nesting - * Example here: https://getfrontend.tips/compose-multiple-react-providers/ - * - * The order matters: - * - The first provider is at the top of the tree. - * - The last provider is the most nested one - * - * @param providers array of providers to compose - */function composeProviders(providers){// Creates a single React component: it's cheaper to compose JSX elements -return({children})=>/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment,{children:providers.reduceRight((element,CurrentProvider)=>/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(CurrentProvider,{children:element}),children)});} - -/***/ }), - -/***/ 5438: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Dt: () => (/* binding */ useHomePageRoute), -/* harmony export */ ys: () => (/* binding */ isSamePath) -/* harmony export */ }); -/* unused harmony export findHomePageRoute */ -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _generated_routes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5788); -/* harmony import */ var _docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1571); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Compare the 2 paths, case insensitive and ignoring trailing slash - */function isSamePath(path1,path2){const normalize=pathname=>(!pathname||pathname.endsWith('/')?pathname:`${pathname}/`)?.toLowerCase();return normalize(path1)===normalize(path2);}/** - * Note that sites don't always have a homepage in practice, so we can't assume - * that linking to '/' is always safe. - * @see https://github.com/facebook/docusaurus/pull/6517#issuecomment-1048709116 - */function findHomePageRoute({baseUrl,routes:initialRoutes}){function isHomePageRoute(route){return route.path===baseUrl&&route.exact===true;}function isHomeParentRoute(route){return route.path===baseUrl&&!route.exact;}function doFindHomePageRoute(routes){if(routes.length===0){return undefined;}const homePage=routes.find(isHomePageRoute);if(homePage){return homePage;}const indexSubRoutes=routes.filter(isHomeParentRoute).flatMap(route=>route.routes??[]);return doFindHomePageRoute(indexSubRoutes);}return doFindHomePageRoute(initialRoutes);}/** - * Fetches the route that points to "/". Use this instead of the naive "/", - * because the homepage may not exist. - */function useHomePageRoute(){const{baseUrl}=(0,_docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)().siteConfig;return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>findHomePageRoute({routes:_generated_routes__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,baseUrl}),[baseUrl]);} - -/***/ }), - -/***/ 4195: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Mq: () => (/* binding */ useScrollPosition), -/* harmony export */ Tv: () => (/* binding */ ScrollControllerProvider), -/* harmony export */ gk: () => (/* binding */ useSmoothScrollTo) -/* harmony export */ }); -/* unused harmony exports useScrollController, useScrollPositionBlocker */ -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_ExecutionEnvironment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4468); -/* harmony import */ var _docusaurus_useIsBrowser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3754); -/* harmony import */ var _docusaurus_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(610); -/* harmony import */ var _reactUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9129); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useScrollControllerContextValue(){const scrollEventsEnabledRef=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(true);return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>({scrollEventsEnabledRef,enableScrollEvents:()=>{scrollEventsEnabledRef.current=true;},disableScrollEvents:()=>{scrollEventsEnabledRef.current=false;}}),[]);}const ScrollMonitorContext=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(undefined);function ScrollControllerProvider({children}){const value=useScrollControllerContextValue();return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(ScrollMonitorContext.Provider,{value:value,children:children});}/** - * We need a way to update the scroll position while ignoring scroll events - * so as not to toggle Navbar/BackToTop visibility. - * - * This API permits to temporarily disable/ignore scroll events. Motivated by - * https://github.com/facebook/docusaurus/pull/5618 - */function useScrollController(){const context=(0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ScrollMonitorContext);if(context==null){throw new _reactUtils__WEBPACK_IMPORTED_MODULE_5__/* .ReactContextError */ .dV('ScrollControllerProvider');}return context;}const getScrollPosition=()=>_docusaurus_ExecutionEnvironment__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;/** - * This hook fires an effect when the scroll position changes. The effect will - * be provided with the before/after scroll positions. Note that the effect may - * not be always run: if scrolling is disabled through `useScrollController`, it - * will be a no-op. - * - * @see {@link useScrollController} - */function useScrollPosition(effect,deps=[]){const{scrollEventsEnabledRef}=useScrollController();const lastPositionRef=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(getScrollPosition());const dynamicEffect=(0,_reactUtils__WEBPACK_IMPORTED_MODULE_5__/* .useEvent */ ._q)(effect);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const handleScroll=()=>{if(!scrollEventsEnabledRef.current){return;}const currentPosition=getScrollPosition();dynamicEffect(currentPosition,lastPositionRef.current);lastPositionRef.current=currentPosition;};const opts={passive:true};handleScroll();window.addEventListener('scroll',handleScroll,opts);return()=>window.removeEventListener('scroll',handleScroll,opts);// eslint-disable-next-line react-hooks/exhaustive-deps -},[dynamicEffect,scrollEventsEnabledRef,...deps]);}function useScrollPositionSaver(){const lastElementRef=useRef({elem:null,top:0});const save=useCallback(elem=>{lastElementRef.current={elem,top:elem.getBoundingClientRect().top};},[]);const restore=useCallback(()=>{const{current:{elem,top}}=lastElementRef;if(!elem){return{restored:false};}const newTop=elem.getBoundingClientRect().top;const heightDiff=newTop-top;if(heightDiff){window.scrollBy({left:0,top:heightDiff});}lastElementRef.current={elem:null,top:0};return{restored:heightDiff!==0};},[]);return useMemo(()=>({save,restore}),[restore,save]);}/** - * This hook permits to "block" the scroll position of a DOM element. - * The idea is that we should be able to update DOM content above this element - * but the screen position of this element should not change. - * - * Feature motivated by the Tabs groups: clicking on a tab may affect tabs of - * the same group upper in the tree, yet to avoid a bad UX, the clicked tab must - * remain under the user mouse. - * - * @see https://github.com/facebook/docusaurus/pull/5618 - */function useScrollPositionBlocker(){const scrollController=useScrollController();const scrollPositionSaver=useScrollPositionSaver();const nextLayoutEffectCallbackRef=useRef(undefined);const blockElementScrollPositionUntilNextRender=useCallback(el=>{scrollPositionSaver.save(el);scrollController.disableScrollEvents();nextLayoutEffectCallbackRef.current=()=>{const{restored}=scrollPositionSaver.restore();nextLayoutEffectCallbackRef.current=undefined;// Restoring the former scroll position will trigger a scroll event. We -// need to wait for next scroll event to happen before enabling the -// scrollController events again. -if(restored){const handleScrollRestoreEvent=()=>{scrollController.enableScrollEvents();window.removeEventListener('scroll',handleScrollRestoreEvent);};window.addEventListener('scroll',handleScrollRestoreEvent);}else{scrollController.enableScrollEvents();}};},[scrollController,scrollPositionSaver]);useIsomorphicLayoutEffect(()=>{// Queuing permits to restore scroll position after all useLayoutEffect -// have run, and yet preserve the sync nature of the scroll restoration -// See https://github.com/facebook/docusaurus/issues/8625 -queueMicrotask(()=>nextLayoutEffectCallbackRef.current?.());});return{blockElementScrollPositionUntilNextRender};}function smoothScrollNative(top){window.scrollTo({top,behavior:'smooth'});return()=>{// Nothing to cancel, it's natively cancelled if user tries to scroll down -};}function smoothScrollPolyfill(top){let raf=null;const isUpScroll=document.documentElement.scrollTop>top;function rafRecursion(){const currentScroll=document.documentElement.scrollTop;if(isUpScroll&¤tScroll>top||!isUpScroll&¤tScroll<top){raf=requestAnimationFrame(rafRecursion);window.scrollTo(0,Math.floor((currentScroll-top)*0.85)+top);}}rafRecursion();// Break the recursion. Prevents the user from "fighting" against that -// recursion producing a weird UX -return()=>raf&&cancelAnimationFrame(raf);}/** - * A "smart polyfill" of `window.scrollTo({ top, behavior: "smooth" })`. - * This currently always uses a polyfilled implementation unless - * `scroll-behavior: smooth` has been set in CSS, because native support - * detection for scroll behavior seems unreliable. - * - * This hook does not do anything by itself: it returns a start and a stop - * handle. You can execute either handle at any time. - */function useSmoothScrollTo(){const cancelRef=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);const isBrowser=(0,_docusaurus_useIsBrowser__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)();// Not all have support for smooth scrolling (particularly Safari mobile iOS) -// TODO proper detection is currently unreliable! -// see https://github.com/wessberg/scroll-behavior-polyfill/issues/16 -// For now, we only use native scroll behavior if smooth is already set, -// because otherwise the polyfill produces a weird UX when both CSS and JS try -// to scroll a page, and they cancel each other. -const supportsNativeSmoothScrolling=isBrowser&&getComputedStyle(document.documentElement).scrollBehavior==='smooth';return{startScroll:top=>{cancelRef.current=supportsNativeSmoothScrolling?smoothScrollNative(top):smoothScrollPolyfill(top);},cancelScroll:()=>cancelRef.current?.()};} - -/***/ }), - -/***/ 8463: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - Wf: () => (/* binding */ createStorageSlot) -}); - -// UNUSED EXPORTS: listStorageKeys, useStorageSlot - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -;// ./.docusaurus/site-storage.json -const site_storage_namespaceObject = /*#__PURE__*/JSON.parse('{"N":"localStorage","M":""}'); -;// ../packages/docusaurus-theme-common/lib/utils/storageUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const DefaultStorageType=site_storage_namespaceObject.N;function applyNamespace(storageKey){return`${storageKey}${site_storage_namespaceObject.M}`;}// window.addEventListener('storage') only works for different windows... -// so for current window we have to dispatch the event manually -// Now we can listen for both cross-window / current-window storage changes! -// see https://stackoverflow.com/a/71177640/82609 -// see https://stackoverflow.com/questions/26974084/listen-for-changes-with-localstorage-on-the-same-window -function dispatchChangeEvent({key,oldValue,newValue,storage}){// If we set multiple times the same storage value, events should not be fired -// The native events behave this way, so our manual event dispatch should -// rather behave exactly the same. Not doing so might create infinite loops. -// See https://github.com/facebook/docusaurus/issues/8594 -if(oldValue===newValue){return;}const event=document.createEvent('StorageEvent');event.initStorageEvent('storage',false,false,key,oldValue,newValue,window.location.href,storage);window.dispatchEvent(event);}/** - * Will return `null` if browser storage is unavailable (like running Docusaurus - * in an iframe). This should NOT be called in SSR. - * - * @see https://github.com/facebook/docusaurus/pull/4501 - */function getBrowserStorage(storageType=DefaultStorageType){if(typeof window==='undefined'){throw new Error('Browser storage is not available on Node.js/Docusaurus SSR process.');}if(storageType==='none'){return null;}try{return window[storageType];}catch(err){logOnceBrowserStorageNotAvailableWarning(err);return null;}}let hasLoggedBrowserStorageNotAvailableWarning=false;/** - * Poor man's memoization to avoid logging multiple times the same warning. - * Sometimes, `localStorage`/`sessionStorage` is unavailable due to browser - * policies. - */function logOnceBrowserStorageNotAvailableWarning(error){if(!hasLoggedBrowserStorageNotAvailableWarning){console.warn(`Docusaurus browser storage is not available. -Possible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.`,error);hasLoggedBrowserStorageNotAvailableWarning=true;}}const NoopStorageSlot={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};// Fail-fast, as storage APIs should not be used during the SSR process -function createServerStorageSlot(key){function throwError(){throw new Error(`Illegal storage API usage for storage key "${key}". -Docusaurus storage APIs are not supposed to be called on the server-rendering process. -Please only call storage APIs in effects and event handlers.`);}return{get:throwError,set:throwError,del:throwError,listen:throwError};}/** - * Creates an interface to work on a particular key in the storage model. - * Note that this function only initializes the interface, but doesn't allocate - * anything by itself (i.e. no side-effects). - * - * The API is fail-safe, since usage of browser storage should be considered - * unreliable. Local storage might simply be unavailable (iframe + browser - * security) or operations might fail individually. Please assume that using - * this API can be a no-op. See also https://github.com/facebook/docusaurus/issues/6036 - */function createStorageSlot(keyInput,options){const key=applyNamespace(keyInput);if(typeof window==='undefined'){return createServerStorageSlot(key);}const storage=getBrowserStorage(options?.persistence);if(storage===null){return NoopStorageSlot;}return{get:()=>{try{return storage.getItem(key);}catch(err){console.error(`Docusaurus storage error, can't get key=${key}`,err);return null;}},set:newValue=>{try{const oldValue=storage.getItem(key);storage.setItem(key,newValue);dispatchChangeEvent({key,oldValue,newValue,storage});}catch(err){console.error(`Docusaurus storage error, can't set ${key}=${newValue}`,err);}},del:()=>{try{const oldValue=storage.getItem(key);storage.removeItem(key);dispatchChangeEvent({key,oldValue,newValue:null,storage});}catch(err){console.error(`Docusaurus storage error, can't delete key=${key}`,err);}},listen:onChange=>{try{const listener=event=>{if(event.storageArea===storage&&event.key===key){onChange(event);}};window.addEventListener('storage',listener);return()=>window.removeEventListener('storage',listener);}catch(err){console.error(`Docusaurus storage error, can't listen for changes of key=${key}`,err);return()=>{};}}};}function useStorageSlot(key,options){// Not ideal but good enough: assumes storage slot config is constant -const storageSlot=useRef(()=>{if(key===null){return NoopStorageSlot;}return createStorageSlot(key,options);}).current();const listen=useCallback(onChange=>{// Do not try to add a listener during SSR -if(typeof window==='undefined'){return()=>{};}return storageSlot.listen(onChange);},[storageSlot]);const currentValue=useSyncExternalStore(listen,()=>{// react-test-renderer (deprecated) never call getServerSnapshot() :/ -if(false){}return storageSlot.get();},()=>null);return[currentValue,storageSlot];}/** - * Returns a list of all the keys currently stored in browser storage, - * or an empty list if browser storage can't be accessed. - */function listStorageKeys(storageType=DefaultStorageType){const browserStorage=getBrowserStorage(storageType);if(!browserStorage){return[];}const keys=[];for(let i=0;i<browserStorage.length;i+=1){const key=browserStorage.key(i);if(key!==null){keys.push(key);}}return keys;} - -/***/ }), - -/***/ 5040: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ o: () => (/* binding */ useAlternatePageUtils) -/* harmony export */ }); -/* harmony import */ var _docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1571); -/* harmony import */ var _docusaurus_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9519); -/* harmony import */ var _docusaurus_utils_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5819); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Permits to obtain the url of the current page in another locale, useful to - * generate hreflang meta headers etc... - * - * @see https://developers.google.com/search/docs/advanced/crawling/localized-versions - */function useAlternatePageUtils(){const{siteConfig:{baseUrl,url,trailingSlash},i18n:{defaultLocale,currentLocale}}=(0,_docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)();// TODO using useLocation().pathname is not a super idea -// See https://github.com/facebook/docusaurus/issues/9170 -const{pathname}=(0,_docusaurus_router__WEBPACK_IMPORTED_MODULE_1__/* .useLocation */ .zy)();const canonicalPathname=(0,_docusaurus_utils_common__WEBPACK_IMPORTED_MODULE_2__/* .applyTrailingSlash */ .Ks)(pathname,{trailingSlash,baseUrl});const baseUrlUnlocalized=currentLocale===defaultLocale?baseUrl:baseUrl.replace(`/${currentLocale}/`,'/');const pathnameSuffix=canonicalPathname.replace(baseUrl,'');function getLocalizedBaseUrl(locale){return locale===defaultLocale?`${baseUrlUnlocalized}`:`${baseUrlUnlocalized}${locale}/`;}// TODO support correct alternate url when localized site is deployed on -// another domain -function createUrl({locale,fullyQualified}){return`${fullyQualified?url:''}${getLocalizedBaseUrl(locale)}${pathnameSuffix}`;}return{createUrl};} - -/***/ }), - -/***/ 8701: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ $: () => (/* binding */ useLocationChange) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9519); -/* harmony import */ var _reactUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9129); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Fires an effect when the location changes (which includes hash, query, etc.). - * Importantly, doesn't fire when there's no previous location: see - * https://github.com/facebook/docusaurus/pull/6696 - */function useLocationChange(onLocationChange){const location=(0,_docusaurus_router__WEBPACK_IMPORTED_MODULE_1__/* .useLocation */ .zy)();const previousLocation=(0,_reactUtils__WEBPACK_IMPORTED_MODULE_2__/* .usePrevious */ .ZC)(location);const onLocationChangeDynamic=(0,_reactUtils__WEBPACK_IMPORTED_MODULE_2__/* .useEvent */ ._q)(onLocationChange);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{if(!previousLocation){return;}if(location!==previousLocation){onLocationChangeDynamic({location,previousLocation});}},[onLocationChangeDynamic,location,previousLocation]);} - -/***/ }), - -/***/ 7054: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ W: () => (/* binding */ usePluralForm) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1571); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// We want to ensurer a stable plural form order in all cases -// It is more convenient and natural to handle "small values" first -// See https://x.com/sebastienlorber/status/1366820663261077510 -const OrderedPluralForms=['zero','one','two','few','many','other'];function sortPluralForms(pluralForms){return OrderedPluralForms.filter(pf=>pluralForms.includes(pf));}// Hardcoded english/fallback implementation -const EnglishPluralForms={locale:'en',pluralForms:sortPluralForms(['one','other']),select:count=>count===1?'one':'other'};function createLocalePluralForms(locale){const pluralRules=new Intl.PluralRules(locale);return{locale,pluralForms:sortPluralForms(pluralRules.resolvedOptions().pluralCategories),select:count=>pluralRules.select(count)};}/** - * Poor man's `PluralSelector` implementation, using an English fallback. We - * want a lightweight, future-proof and good-enough solution. We don't want a - * perfect and heavy solution. - * - * Docusaurus classic theme has only 2 deeply nested labels requiring complex - * plural rules. We don't want to use `Intl` + `PluralRules` polyfills + full - * ICU syntax (react-intl) just for that. - * - * Notes: - * - 2021: 92+% Browsers support `Intl.PluralRules`, and support will increase - * in the future - * - NodeJS >= 13 has full ICU support by default - * - In case of "mismatch" between SSR and Browser ICU support, React keeps - * working! - */function useLocalePluralForms(){const{i18n:{currentLocale}}=(0,_docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)();return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{try{return createLocalePluralForms(currentLocale);}catch(err){console.error(`Failed to use Intl.PluralRules for locale "${currentLocale}". -Docusaurus will fallback to the default (English) implementation. -Error: ${err.message} -`);return EnglishPluralForms;}},[currentLocale]);}function selectPluralMessage(pluralMessages,count,localePluralForms){const separator='|';const parts=pluralMessages.split(separator);if(parts.length===1){return parts[0];}if(parts.length>localePluralForms.pluralForms.length){console.error(`For locale=${localePluralForms.locale}, a maximum of ${localePluralForms.pluralForms.length} plural forms are expected (${localePluralForms.pluralForms.join(',')}), but the message contains ${parts.length}: ${pluralMessages}`);}const pluralForm=localePluralForms.select(count);const pluralFormIndex=localePluralForms.pluralForms.indexOf(pluralForm);// In case of not enough plural form messages, we take the last one (other) -// instead of returning undefined -return parts[Math.min(pluralFormIndex,parts.length-1)];}/** - * Reads the current locale and returns an interface very similar to - * `Intl.PluralRules`. - */function usePluralForm(){const localePluralForm=useLocalePluralForms();return{selectMessage:(count,pluralMessages)=>selectPluralMessage(pluralMessages,count,localePluralForm)};} - -/***/ }), - -/***/ 6963: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ p: () => (/* binding */ useThemeConfig) -/* harmony export */ }); -/* harmony import */ var _docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1571); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * A convenient/more semantic way to get theme config from context. - */function useThemeConfig(){return (0,_docusaurus_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)().siteConfig.themeConfig;} - -/***/ }), - -/***/ 3834: -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */Object.defineProperty(exports, "__esModule", ({value:true}));exports.addTrailingSlash=addTrailingSlash;exports["default"]=applyTrailingSlash;exports.addLeadingSlash=addLeadingSlash;exports.removeTrailingSlash=removeTrailingSlash;const stringUtils_1=__webpack_require__(2949);function addTrailingSlash(str){return str.endsWith('/')?str:`${str}/`;}// Trailing slash handling depends in some site configuration options -function applyTrailingSlash(path,options){const{trailingSlash,baseUrl}=options;if(path.startsWith('#')){// Never apply trailing slash to an anchor link -return path;}function handleTrailingSlash(str,trailing){return trailing?addTrailingSlash(str):removeTrailingSlash(str);}// undefined = legacy retrocompatible behavior -if(typeof trailingSlash==='undefined'){return path;}// The trailing slash should be handled before the ?search#hash ! -const[pathname]=path.split(/[#?]/);// Never transform '/' to '' -// Never remove the baseUrl trailing slash! -// If baseUrl = /myBase/, we want to emit /myBase/index.html and not -// /myBase.html! See https://github.com/facebook/docusaurus/issues/5077 -const shouldNotApply=pathname==='/'||pathname===baseUrl;const newPathname=shouldNotApply?pathname:handleTrailingSlash(pathname,trailingSlash);return path.replace(pathname,newPathname);}/** Appends a leading slash to `str`, if one doesn't exist. */function addLeadingSlash(str){return(0,stringUtils_1.addPrefix)(str,'/');}/** Removes the trailing slash from `str`. */function removeTrailingSlash(str){return(0,stringUtils_1.removeSuffix)(str,'/');} - -/***/ }), - -/***/ 1832: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -Object.defineProperty(exports, "__esModule", ({value:true}));exports.getErrorCausalChain=getErrorCausalChain;function getErrorCausalChain(error){if(error.cause){return[error,...getErrorCausalChain(error.cause)];}return[error];} - -/***/ }), - -/***/ 5819: -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -var __webpack_unused_export__; -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */__webpack_unused_export__ = ({value:true});exports.rA=__webpack_unused_export__=__webpack_unused_export__=__webpack_unused_export__=__webpack_unused_export__=__webpack_unused_export__=__webpack_unused_export__=__webpack_unused_export__=exports.Ks=exports.LU=void 0;const tslib_1=__webpack_require__(4629);// __ prefix allows search crawlers (Algolia/DocSearch) to ignore anchors -// https://github.com/facebook/docusaurus/issues/8883#issuecomment-1516328368 -exports.LU='__blog-post-container';var applyTrailingSlash_1=__webpack_require__(3834);Object.defineProperty(exports, "Ks", ({enumerable:true,get:function(){return tslib_1.__importDefault(applyTrailingSlash_1).default;}}));__webpack_unused_export__ = ({enumerable:true,get:function(){return applyTrailingSlash_1.addTrailingSlash;}});__webpack_unused_export__ = ({enumerable:true,get:function(){return applyTrailingSlash_1.addLeadingSlash;}});__webpack_unused_export__ = ({enumerable:true,get:function(){return applyTrailingSlash_1.removeTrailingSlash;}});var stringUtils_1=__webpack_require__(2949);__webpack_unused_export__ = ({enumerable:true,get:function(){return stringUtils_1.addPrefix;}});__webpack_unused_export__ = ({enumerable:true,get:function(){return stringUtils_1.removeSuffix;}});__webpack_unused_export__ = ({enumerable:true,get:function(){return stringUtils_1.addSuffix;}});__webpack_unused_export__ = ({enumerable:true,get:function(){return stringUtils_1.removePrefix;}});var errorUtils_1=__webpack_require__(1832);Object.defineProperty(exports, "rA", ({enumerable:true,get:function(){return errorUtils_1.getErrorCausalChain;}})); - -/***/ }), - -/***/ 2949: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */Object.defineProperty(exports, "__esModule", ({value:true}));exports.addPrefix=addPrefix;exports.removeSuffix=removeSuffix;exports.addSuffix=addSuffix;exports.removePrefix=removePrefix;/** Adds a given string prefix to `str`. */function addPrefix(str,prefix){return str.startsWith(prefix)?str:`${prefix}${str}`;}/** Removes a given string suffix from `str`. */function removeSuffix(str,suffix){if(suffix===''){// str.slice(0, 0) is "" -return str;}return str.endsWith(suffix)?str.slice(0,-suffix.length):str;}/** Adds a given string suffix to `str`. */function addSuffix(str,suffix){return str.endsWith(suffix)?str:`${str}${suffix}`;}/** Removes a given string prefix from `str`. */function removePrefix(str,prefix){return str.startsWith(prefix)?str.slice(prefix.length):str;} - -/***/ }), - -/***/ 3054: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ $3: () => (/* binding */ createStatefulBrokenLinks), -/* harmony export */ B6: () => (/* binding */ useBrokenLinksContext), -/* harmony export */ k5: () => (/* binding */ BrokenLinksProvider) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const createStatefulBrokenLinks=()=>{// Set to dedup, as it's not useful to collect multiple times the same value -const allAnchors=new Set();const allLinks=new Set();return{collectAnchor:anchor=>{typeof anchor!=='undefined'&&allAnchors.add(anchor);},collectLink:link=>{typeof link!=='undefined'&&allLinks.add(link);},getCollectedAnchors:()=>[...allAnchors],getCollectedLinks:()=>[...allLinks]};};const Context=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext({collectAnchor:()=>{// No-op for client -},collectLink:()=>{// No-op for client -}});const useBrokenLinksContext=()=>(0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context);function BrokenLinksProvider({children,brokenLinks}){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Context.Provider,{value:brokenLinks,children:children});} - -/***/ }), - -/***/ 7820: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ o: () => (/* binding */ Context), -/* harmony export */ x: () => (/* binding */ BrowserContextProvider) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Encapsulate the logic to avoid React hydration problems -// See https://www.joshwcomeau.com/react/the-perils-of-rehydration/ -// On first client-side render, we need to render exactly as the server rendered -// isBrowser is set to true only after a successful hydration -// Note, isBrowser is not part of useDocusaurusContext() for perf reasons -// Using useDocusaurusContext() (much more common need) should not trigger -// re-rendering after a successful hydration -const Context=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(false);function BrowserContextProvider({children}){const[isBrowser,setIsBrowser]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{setIsBrowser(true);},[]);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Context.Provider,{value:isBrowser,children:children});} - -/***/ }), - -/***/ 4467: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - o: () => (/* binding */ Context), - l: () => (/* binding */ DocusaurusContextProvider) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ./.docusaurus/docusaurus.config.mjs -var docusaurus_config = __webpack_require__(4784); -;// ./.docusaurus/globalData.json -const globalData_namespaceObject = /*#__PURE__*/JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"intro","docs":[{"id":"intro","path":"/docs/intro","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/congratulations","path":"/docs/tutorial-basics/congratulations","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/create-a-blog-post","path":"/docs/tutorial-basics/create-a-blog-post","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/create-a-document","path":"/docs/tutorial-basics/create-a-document","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/create-a-page","path":"/docs/tutorial-basics/create-a-page","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/deploy-your-site","path":"/docs/tutorial-basics/deploy-your-site","sidebar":"tutorialSidebar"},{"id":"tutorial-basics/markdown-features","path":"/docs/tutorial-basics/markdown-features","sidebar":"tutorialSidebar"},{"id":"tutorial-extras/manage-docs-versions","path":"/docs/tutorial-extras/manage-docs-versions","sidebar":"tutorialSidebar"},{"id":"tutorial-extras/translate-your-site","path":"/docs/tutorial-extras/translate-your-site","sidebar":"tutorialSidebar"},{"id":"/category/tutorial---basics","path":"/docs/category/tutorial---basics","sidebar":"tutorialSidebar"},{"id":"/category/tutorial---extras","path":"/docs/category/tutorial---extras","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'); -;// ./.docusaurus/i18n.json -const i18n_namespaceObject = /*#__PURE__*/JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}'); -// EXTERNAL MODULE: ./.docusaurus/codeTranslations.json -var codeTranslations = __webpack_require__(2654); -;// ./.docusaurus/site-metadata.json -const site_metadata_namespaceObject = /*#__PURE__*/JSON.parse('{"docusaurusVersion":"3.7.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.7.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.7.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.7.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.7.0"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.7.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.7.0"}}}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus/lib/client/docusaurusContext.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Static value on purpose: don't make it dynamic! -// Using context is still useful for testability reasons. -const contextValue={siteConfig: docusaurus_config["default"],siteMetadata: site_metadata_namespaceObject,globalData: globalData_namespaceObject,i18n: i18n_namespaceObject,codeTranslations: codeTranslations};const Context=/*#__PURE__*/react.createContext(contextValue);function DocusaurusContextProvider({children}){return/*#__PURE__*/(0,jsx_runtime.jsx)(Context.Provider,{value:contextValue,children:children});} - -/***/ }), - -/***/ 5769: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ ErrorBoundary) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/ExecutionEnvironment.js -var ExecutionEnvironment = __webpack_require__(4468); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Head.js -var Head = __webpack_require__(2785); -// EXTERNAL MODULE: ../packages/docusaurus-utils-common/lib/index.js -var lib = __webpack_require__(5819); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Layout/index.js + 53 modules -var Layout = __webpack_require__(3305); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/routeContext.js -var routeContext = __webpack_require__(5015); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus/lib/client/theme-fallback/Error/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Should we translate theme-fallback? -/* eslint-disable @docusaurus/no-untranslated-text */function ErrorDisplay({error,tryAgain}){return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{style:{display:'flex',flexDirection:'column',justifyContent:'center',alignItems:'flex-start',minHeight:'100vh',width:'100%',maxWidth:'80ch',fontSize:'20px',margin:'0 auto',padding:'1rem'},children:[/*#__PURE__*/(0,jsx_runtime.jsx)("h1",{style:{fontSize:'3rem'},children:"This page crashed"}),/*#__PURE__*/(0,jsx_runtime.jsx)("button",{type:"button",onClick:tryAgain,style:{margin:'1rem 0',fontSize:'2rem',cursor:'pointer',borderRadius:20,padding:'1rem'},children:"Try again"}),/*#__PURE__*/(0,jsx_runtime.jsx)(ErrorBoundaryError,{error:error})]});}function ErrorBoundaryError({error}){const causalChain=(0,lib/* getErrorCausalChain */.rA)(error);const fullMessage=causalChain.map(e=>e.message).join('\n\nCause:\n');return/*#__PURE__*/(0,jsx_runtime.jsx)("p",{style:{whiteSpace:'pre-wrap'},children:fullMessage});}// A bit hacky: we need to add an artificial RouteContextProvider here -// The goal is to be able to render the error inside the theme layout -// Without this, our theme classic would crash due to lack of route context -// See also https://github.com/facebook/docusaurus/pull/9852 -function ErrorRouteContextProvider({children}){return/*#__PURE__*/(0,jsx_runtime.jsx)(routeContext/* RouteContextProvider */.W,{value:{plugin:{name:'docusaurus-core-error-boundary',id:'default'}},children:children});}function Error({error,tryAgain}){// We wrap the error in its own error boundary because the layout can actually -// throw too... Only the ErrorDisplay component is simple enough to be -// considered safe to never throw -return/*#__PURE__*/(0,jsx_runtime.jsx)(ErrorRouteContextProvider,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(ErrorBoundary// Note: we display the original error here, not the error that we -// captured in this extra error boundary -,{fallback:()=>/*#__PURE__*/(0,jsx_runtime.jsx)(ErrorDisplay,{error:error,tryAgain:tryAgain}),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Head/* default */.A,{children:/*#__PURE__*/(0,jsx_runtime.jsx)("title",{children:"Page Error"})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Layout/* default */.A,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(ErrorDisplay,{error:error,tryAgain:tryAgain})})]})});} -;// ../packages/docusaurus/lib/client/exports/ErrorBoundary.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// eslint-disable-next-line react/function-component-definition -const DefaultFallback=params=>/*#__PURE__*/(0,jsx_runtime.jsx)(Error,{...params});class ErrorBoundary extends react.Component{constructor(props){super(props);this.state={error:null};}componentDidCatch(error){// Catch errors in any components below and re-render with error message -if(ExecutionEnvironment/* default */.A.canUseDOM){this.setState({error});}}render(){const{children}=this.props;const{error}=this.state;if(error){const fallbackParams={error,tryAgain:()=>this.setState({error:null})};const fallback=this.props.fallback??DefaultFallback;return fallback(fallbackParams);}// See https://github.com/facebook/docusaurus/issues/6337#issuecomment-1012913647 -return children??null;}} - -/***/ }), - -/***/ 4468: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const canUseDOM=typeof window!=='undefined'&&'document'in window&&'createElement'in window.document;const ExecutionEnvironment={canUseDOM,// window.attachEvent is IE-specific; it's very likely Docusaurus won't work -// on IE anyway. -canUseEventListeners:canUseDOM&&('addEventListener'in window||'attachEvent'in window),canUseIntersectionObserver:canUseDOM&&'IntersectionObserver'in window,canUseViewport:canUseDOM&&'screen'in window};/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ExecutionEnvironment); - -/***/ }), - -/***/ 2785: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ Head) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var react_helmet_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9005); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function Head(props){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_helmet_async__WEBPACK_IMPORTED_MODULE_1__/* .Helmet */ .mg,{...props});} - -/***/ }), - -/***/ 1349: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ exports_Link) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/react-router/esm/react-router.js -var react_router = __webpack_require__(9519); -// EXTERNAL MODULE: ../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js + 1 modules -var inheritsLoose = __webpack_require__(1146); -// EXTERNAL MODULE: ../node_modules/history/esm/history.js + 1 modules -var esm_history = __webpack_require__(6941); -// EXTERNAL MODULE: ../node_modules/@babel/runtime/helpers/esm/extends.js -var esm_extends = __webpack_require__(8102); -// EXTERNAL MODULE: ../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js -var objectWithoutPropertiesLoose = __webpack_require__(9257); -// EXTERNAL MODULE: ../node_modules/tiny-invariant/dist/esm/tiny-invariant.js -var tiny_invariant = __webpack_require__(6143); -;// ../node_modules/react-router-dom/esm/react-router-dom.js - - - - - - - - - - - -/** - * The public API for a <Router> that uses HTML5 history. - */ - -var BrowserRouter = /*#__PURE__*/function (_React$Component) { - (0,inheritsLoose/* default */.A)(BrowserRouter, _React$Component); - - function BrowserRouter() { - var _this; - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; - _this.history = (0,esm_history/* createBrowserHistory */.zR)(_this.props); - return _this; - } - - var _proto = BrowserRouter.prototype; - - _proto.render = function render() { - return /*#__PURE__*/react.createElement(react_router/* Router */.Ix, { - history: this.history, - children: this.props.children - }); - }; - - return BrowserRouter; -}(react.Component); - -if (false) {} - -/** - * The public API for a <Router> that uses window.location.hash. - */ - -var HashRouter = /*#__PURE__*/function (_React$Component) { - (0,inheritsLoose/* default */.A)(HashRouter, _React$Component); - - function HashRouter() { - var _this; - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; - _this.history = (0,esm_history/* createHashHistory */.TM)(_this.props); - return _this; - } - - var _proto = HashRouter.prototype; - - _proto.render = function render() { - return /*#__PURE__*/react.createElement(react_router/* Router */.Ix, { - history: this.history, - children: this.props.children - }); - }; - - return HashRouter; -}(react.Component); - -if (false) {} - -var resolveToLocation = function resolveToLocation(to, currentLocation) { - return typeof to === "function" ? to(currentLocation) : to; -}; -var normalizeToLocation = function normalizeToLocation(to, currentLocation) { - return typeof to === "string" ? (0,esm_history/* createLocation */.yJ)(to, null, null, currentLocation) : to; -}; - -var forwardRefShim = function forwardRefShim(C) { - return C; -}; - -var forwardRef = react.forwardRef; - -if (typeof forwardRef === "undefined") { - forwardRef = forwardRefShim; -} - -function isModifiedEvent(event) { - return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey); -} - -var LinkAnchor = forwardRef(function (_ref, forwardedRef) { - var innerRef = _ref.innerRef, - navigate = _ref.navigate, - _onClick = _ref.onClick, - rest = (0,objectWithoutPropertiesLoose/* default */.A)(_ref, ["innerRef", "navigate", "onClick"]); - - var target = rest.target; - - var props = (0,esm_extends/* default */.A)({}, rest, { - onClick: function onClick(event) { - try { - if (_onClick) _onClick(event); - } catch (ex) { - event.preventDefault(); - throw ex; - } - - if (!event.defaultPrevented && // onClick prevented default - event.button === 0 && ( // ignore everything but left clicks - !target || target === "_self") && // let browser handle "target=_blank" etc. - !isModifiedEvent(event) // ignore clicks with modifier keys - ) { - event.preventDefault(); - navigate(); - } - } - }); // React 15 compat - - - if (forwardRefShim !== forwardRef) { - props.ref = forwardedRef || innerRef; - } else { - props.ref = innerRef; - } - /* eslint-disable-next-line jsx-a11y/anchor-has-content */ - - - return /*#__PURE__*/react.createElement("a", props); -}); - -if (false) {} -/** - * The public API for rendering a history-aware <a>. - */ - - -var Link = forwardRef(function (_ref2, forwardedRef) { - var _ref2$component = _ref2.component, - component = _ref2$component === void 0 ? LinkAnchor : _ref2$component, - replace = _ref2.replace, - to = _ref2.to, - innerRef = _ref2.innerRef, - rest = (0,objectWithoutPropertiesLoose/* default */.A)(_ref2, ["component", "replace", "to", "innerRef"]); - - return /*#__PURE__*/react.createElement(react_router/* __RouterContext */.XZ.Consumer, null, function (context) { - !context ? false ? 0 : (0,tiny_invariant/* default */.A)(false) : void 0; - var history = context.history; - var location = normalizeToLocation(resolveToLocation(to, context.location), context.location); - var href = location ? history.createHref(location) : ""; - - var props = (0,esm_extends/* default */.A)({}, rest, { - href: href, - navigate: function navigate() { - var location = resolveToLocation(to, context.location); - var isDuplicateNavigation = (0,esm_history/* createPath */.AO)(context.location) === (0,esm_history/* createPath */.AO)(normalizeToLocation(location)); - var method = replace || isDuplicateNavigation ? history.replace : history.push; - method(location); - } - }); // React 15 compat - - - if (forwardRefShim !== forwardRef) { - props.ref = forwardedRef || innerRef; - } else { - props.innerRef = innerRef; - } - - return /*#__PURE__*/react.createElement(component, props); - }); -}); - -if (false) { var refType, toType; } - -var forwardRefShim$1 = function forwardRefShim(C) { - return C; -}; - -var forwardRef$1 = react.forwardRef; - -if (typeof forwardRef$1 === "undefined") { - forwardRef$1 = forwardRefShim$1; -} - -function joinClassnames() { - for (var _len = arguments.length, classnames = new Array(_len), _key = 0; _key < _len; _key++) { - classnames[_key] = arguments[_key]; - } - - return classnames.filter(function (i) { - return i; - }).join(" "); -} -/** - * A <Link> wrapper that knows if it's "active" or not. - */ - - -var NavLink = forwardRef$1(function (_ref, forwardedRef) { - var _ref$ariaCurrent = _ref["aria-current"], - ariaCurrent = _ref$ariaCurrent === void 0 ? "page" : _ref$ariaCurrent, - _ref$activeClassName = _ref.activeClassName, - activeClassName = _ref$activeClassName === void 0 ? "active" : _ref$activeClassName, - activeStyle = _ref.activeStyle, - classNameProp = _ref.className, - exact = _ref.exact, - isActiveProp = _ref.isActive, - locationProp = _ref.location, - sensitive = _ref.sensitive, - strict = _ref.strict, - styleProp = _ref.style, - to = _ref.to, - innerRef = _ref.innerRef, - rest = (0,objectWithoutPropertiesLoose/* default */.A)(_ref, ["aria-current", "activeClassName", "activeStyle", "className", "exact", "isActive", "location", "sensitive", "strict", "style", "to", "innerRef"]); - - return /*#__PURE__*/react.createElement(react_router/* __RouterContext */.XZ.Consumer, null, function (context) { - !context ? false ? 0 : (0,tiny_invariant/* default */.A)(false) : void 0; - var currentLocation = locationProp || context.location; - var toLocation = normalizeToLocation(resolveToLocation(to, currentLocation), currentLocation); - var path = toLocation.pathname; // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202 - - var escapedPath = path && path.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"); - var match = escapedPath ? (0,react_router/* matchPath */.B6)(currentLocation.pathname, { - path: escapedPath, - exact: exact, - sensitive: sensitive, - strict: strict - }) : null; - var isActive = !!(isActiveProp ? isActiveProp(match, currentLocation) : match); - var className = typeof classNameProp === "function" ? classNameProp(isActive) : classNameProp; - var style = typeof styleProp === "function" ? styleProp(isActive) : styleProp; - - if (isActive) { - className = joinClassnames(className, activeClassName); - style = (0,esm_extends/* default */.A)({}, style, activeStyle); - } - - var props = (0,esm_extends/* default */.A)({ - "aria-current": isActive && ariaCurrent || null, - className: className, - style: style, - to: toLocation - }, rest); // React 15 compat - - - if (forwardRefShim$1 !== forwardRef$1) { - props.ref = forwardedRef || innerRef; - } else { - props.innerRef = innerRef; - } - - return /*#__PURE__*/react.createElement(Link, props); - }); -}); - -if (false) { var ariaCurrentType; } - - -//# sourceMappingURL=react-router-dom.js.map - -// EXTERNAL MODULE: ../packages/docusaurus-utils-common/lib/index.js -var lib = __webpack_require__(5819); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useDocusaurusContext.js -var useDocusaurusContext = __webpack_require__(1571); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/isInternalUrl.js -var isInternalUrl = __webpack_require__(73); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/ExecutionEnvironment.js -var ExecutionEnvironment = __webpack_require__(4468); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useBrokenLinks.js -var useBrokenLinks = __webpack_require__(1900); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useBaseUrl.js -var useBaseUrl = __webpack_require__(5000); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus/lib/client/exports/Link.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// TODO all this wouldn't be necessary if we used ReactRouter basename feature -// We don't automatically add base urls to all links, -// only the "safe" ones, starting with / (like /docs/introduction) -// this is because useBaseUrl() actually transforms relative links -// like "introduction" to "/baseUrl/introduction" => bad behavior to fix -const shouldAddBaseUrlAutomatically=to=>to.startsWith('/');function Link_Link({isNavLink,to,href,activeClassName,isActive,'data-noBrokenLinkCheck':noBrokenLinkCheck,autoAddBaseUrl=true,...props},forwardedRef){const{siteConfig}=(0,useDocusaurusContext/* default */.A)();const{trailingSlash,baseUrl}=siteConfig;const router=siteConfig.future.experimental_router;const{withBaseUrl}=(0,useBaseUrl/* useBaseUrlUtils */.hH)();const brokenLinks=(0,useBrokenLinks/* default */.A)();const innerRef=(0,react.useRef)(null);(0,react.useImperativeHandle)(forwardedRef,()=>innerRef.current);// IMPORTANT: using to or href should not change anything -// For example, MDX links will ALWAYS give us the href props -// Using one prop or the other should not be used to distinguish -// internal links (/docs/myDoc) from external links (https://github.com) -const targetLinkUnprefixed=to||href;function maybeAddBaseUrl(str){return autoAddBaseUrl&&shouldAddBaseUrlAutomatically(str)?withBaseUrl(str):str;}const isInternal=(0,isInternalUrl/* default */.A)(targetLinkUnprefixed);// pathname:// is a special "protocol" we use to tell Docusaurus link -// that a link is not "internal" and that we shouldn't use history.push() -// this is not ideal but a good enough escape hatch for now -// see https://github.com/facebook/docusaurus/issues/3309 -// note: we want baseUrl to be appended (see issue for details) -// TODO read routes and automatically detect internal/external links? -const targetLinkWithoutPathnameProtocol=targetLinkUnprefixed?.replace('pathname://','');// TODO we should use ReactRouter basename feature instead! -// Automatically apply base url in links that start with / -let targetLink=typeof targetLinkWithoutPathnameProtocol!=='undefined'?maybeAddBaseUrl(targetLinkWithoutPathnameProtocol):undefined;// TODO find a way to solve this problem properly -// Fix edge case when useBaseUrl is used on a link -// "./" is useful for images and other resources -// But we don't need it for <Link> -// unfortunately we can't really make the difference :/ -if(router==='hash'&&targetLink?.startsWith('./')){targetLink=targetLink?.slice(1);}if(targetLink&&isInternal){targetLink=(0,lib/* applyTrailingSlash */.Ks)(targetLink,{trailingSlash,baseUrl});}const preloaded=(0,react.useRef)(false);const LinkComponent=isNavLink?NavLink:Link;const IOSupported=ExecutionEnvironment/* default */.A.canUseIntersectionObserver;const ioRef=(0,react.useRef)();const handleRef=el=>{innerRef.current=el;if(IOSupported&&el&&isInternal){// If IO supported and element reference found, set up Observer. -ioRef.current=new window.IntersectionObserver(entries=>{entries.forEach(entry=>{if(el===entry.target){// If element is in viewport, stop observing and run callback. -// https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API -if(entry.isIntersecting||entry.intersectionRatio>0){ioRef.current.unobserve(el);ioRef.current.disconnect();if(targetLink!=null){window.docusaurus.prefetch(targetLink);}}}});});// Add element to the observer. -ioRef.current.observe(el);}};const onInteractionEnter=()=>{if(!preloaded.current&&targetLink!=null){window.docusaurus.preload(targetLink);preloaded.current=true;}};(0,react.useEffect)(()=>{// If IO is not supported. We prefetch by default (only once). -if(!IOSupported&&isInternal&&ExecutionEnvironment/* default */.A.canUseDOM){if(targetLink!=null){window.docusaurus.prefetch(targetLink);}}// When unmounting, stop intersection observer from watching. -return()=>{if(IOSupported&&ioRef.current){ioRef.current.disconnect();}};},[ioRef,targetLink,IOSupported,isInternal]);// It is simple local anchor link targeting current page? -const isAnchorLink=targetLink?.startsWith('#')??false;// See also RR logic: -// https://github.com/remix-run/react-router/blob/v5/packages/react-router-dom/modules/Link.js#L47 -const hasInternalTarget=!props.target||props.target==='_self';// Should we use a regular <a> tag instead of React-Router Link component? -const isRegularHtmlLink=!targetLink||!isInternal||!hasInternalTarget||// When using the hash router, we can't use the regular <a> link for anchors -// We need to use React Router to navigate to /#/pathname/#anchor -// And not /#anchor -// See also https://github.com/facebook/docusaurus/pull/10311 -isAnchorLink&&router!=='hash';if(!noBrokenLinkCheck&&(isAnchorLink||!isRegularHtmlLink)){brokenLinks.collectLink(targetLink);}if(props.id){brokenLinks.collectAnchor(props.id);}// These props are only added in unit tests to assert/capture the type of link -const testOnlyProps= false?0:{};return isRegularHtmlLink?/*#__PURE__*/// eslint-disable-next-line jsx-a11y/anchor-has-content, @docusaurus/no-html-links -(0,jsx_runtime.jsx)("a",{ref:innerRef,href:targetLink,...(targetLinkUnprefixed&&!isInternal&&{target:'_blank',rel:'noopener noreferrer'}),...props,...testOnlyProps}):/*#__PURE__*/(0,jsx_runtime.jsx)(LinkComponent,{...props,onMouseEnter:onInteractionEnter,onTouchStart:onInteractionEnter,innerRef:handleRef,to:targetLink// Avoid "React does not recognize the `activeClassName` prop on a DOM -// element" -,...(isNavLink&&{isActive,activeClassName}),...testOnlyProps});}/* harmony default export */ const exports_Link = (/*#__PURE__*/react.forwardRef(Link_Link)); - -/***/ }), - -/***/ 219: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (()=>null); - -/***/ }), - -/***/ 4709: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ Translate), - T: () => (/* binding */ translate) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus/lib/client/exports/Interpolate.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function interpolate(text,values){// eslint-disable-next-line prefer-named-capture-group -const segments=text.split(/(\{\w+\})/).map((seg,index)=>{// Odd indices (1, 3, 5...) of the segments are (potentially) interpolatable -if(index%2===1){const value=values?.[seg.slice(1,-1)];if(value!==undefined){return value;}// No match: add warning? There's no way to "escape" interpolation though -}return seg;});if(segments.some(seg=>/*#__PURE__*/(0,react.isValidElement)(seg))){return segments.map((seg,index)=>/*#__PURE__*/(0,react.isValidElement)(seg)?/*#__PURE__*/react.cloneElement(seg,{key:index}):seg).filter(seg=>seg!=='');}return segments.join('');}function Interpolate({children,values}){if(typeof children!=='string'){throw new Error(`The Docusaurus <Interpolate> component only accept simple string values. Received: ${/*#__PURE__*/isValidElement(children)?'React element':typeof children}`);}return/*#__PURE__*/_jsx(_Fragment,{children:interpolate(children,values)});} -// EXTERNAL MODULE: ./.docusaurus/codeTranslations.json -var codeTranslations = __webpack_require__(2654); -;// ../packages/docusaurus/lib/client/exports/Translate.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Can't read it from context, due to exposing imperative API -function getLocalizedMessage({id,message}){if(typeof id==='undefined'&&typeof message==='undefined'){throw new Error('Docusaurus translation declarations must have at least a translation id or a default translation message');}return codeTranslations[id??message]??message??id;}// Imperative translation API is useful for some edge-cases: -// - translating page titles (meta) -// - translating string props (input placeholders, image alt, aria labels...) -function translate({message,id},values){const localizedMessage=getLocalizedMessage({message,id});return interpolate(localizedMessage,values);}// Maybe we'll want to improve this component with additional features -// Like toggling a translation mode that adds a little translation button near -// the text? -function Translate({children,id,values}){if(children&&typeof children!=='string'){console.warn('Illegal <Translate> children',children);throw new Error('The Docusaurus <Translate> component only accept simple string values');}const localizedMessage=getLocalizedMessage({message:children,id});return/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:interpolate(localizedMessage,values)});} - -/***/ }), - -/***/ 3170: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ W: () => (/* binding */ DEFAULT_PLUGIN_ID) -/* harmony export */ }); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Constants used on the client-side: duplicated from server-side code -const DEFAULT_PLUGIN_ID='default'; - -/***/ }), - -/***/ 73: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ isInternalUrl), -/* harmony export */ z: () => (/* binding */ hasProtocol) -/* harmony export */ }); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function hasProtocol(url){return /^(?:\w*:|\/\/)/.test(url);}function isInternalUrl(url){return typeof url!=='undefined'&&!hasProtocol(url);} - -/***/ }), - -/***/ 5000: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Ay: () => (/* binding */ useBaseUrl), -/* harmony export */ hH: () => (/* binding */ useBaseUrlUtils) -/* harmony export */ }); -/* unused harmony export addBaseUrl */ -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _useDocusaurusContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1571); -/* harmony import */ var _isInternalUrl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function addBaseUrl({siteUrl,baseUrl,url,options:{forcePrependBaseUrl=false,absolute=false}={},router}){// It never makes sense to add base url to a local anchor url, or one with a -// protocol -if(!url||url.startsWith('#')||(0,_isInternalUrl__WEBPACK_IMPORTED_MODULE_2__/* .hasProtocol */ .z)(url)){return url;}// TODO hash router + /baseUrl/ is unlikely to work well in all situations -// This will support most cases, but not all -// See https://github.com/facebook/docusaurus/pull/9859 -if(router==='hash'){return url.startsWith('/')?`.${url}`:`./${url}`;}if(forcePrependBaseUrl){return baseUrl+url.replace(/^\//,'');}// /baseUrl -> /baseUrl/ -// https://github.com/facebook/docusaurus/issues/6315 -if(url===baseUrl.replace(/\/$/,'')){return baseUrl;}// We should avoid adding the baseurl twice if it's already there -const shouldAddBaseUrl=!url.startsWith(baseUrl);const basePath=shouldAddBaseUrl?baseUrl+url.replace(/^\//,''):url;return absolute?siteUrl+basePath:basePath;}function useBaseUrlUtils(){const{siteConfig}=(0,_useDocusaurusContext__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)();const{baseUrl,url:siteUrl}=siteConfig;const router=siteConfig.future.experimental_router;const withBaseUrl=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((url,options)=>addBaseUrl({siteUrl,baseUrl,url,options,router}),[siteUrl,baseUrl,router]);return{withBaseUrl};}function useBaseUrl(url,options={}){const{withBaseUrl}=useBaseUrlUtils();return withBaseUrl(url,options);} - -/***/ }), - -/***/ 1900: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ useBrokenLinks) -/* harmony export */ }); -/* harmony import */ var _BrokenLinksContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3054); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useBrokenLinks(){return (0,_BrokenLinksContext__WEBPACK_IMPORTED_MODULE_0__/* .useBrokenLinksContext */ .B6)();} - -/***/ }), - -/***/ 1571: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ useDocusaurusContext) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _docusaurusContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4467); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useDocusaurusContext(){return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_docusaurusContext__WEBPACK_IMPORTED_MODULE_1__/* .Context */ .o);} - -/***/ }), - -/***/ 3754: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ useIsBrowser) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _browserContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7820); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useIsBrowser(){return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_browserContext__WEBPACK_IMPORTED_MODULE_1__/* .Context */ .o);} - -/***/ }), - -/***/ 610: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _ExecutionEnvironment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4468); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * This hook is like `useLayoutEffect`, but without the SSR warning. - * It seems hacky but it's used in many React libs (Redux, Formik...). - * Also mentioned here: https://github.com/facebook/react/issues/16956 - * - * It is useful when you need to update a ref as soon as possible after a React - * render (before `useEffect`). - * - * TODO should become unnecessary in React v19? - * https://github.com/facebook/react/pull/26395 - * This was added in core with Docusaurus v3 but kept undocumented on purpose - */const useIsomorphicLayoutEffect=_ExecutionEnvironment__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.canUseDOM?react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect:react__WEBPACK_IMPORTED_MODULE_0__.useEffect;/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useIsomorphicLayoutEffect); - -/***/ }), - -/***/ 9060: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ useRouteContext) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var _routeContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5015); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function useRouteContext(){const context=react__WEBPACK_IMPORTED_MODULE_0__.useContext(_routeContext__WEBPACK_IMPORTED_MODULE_1__/* .Context */ .o);if(!context){throw new Error('Unexpected: no Docusaurus route context found');}return context;} - -/***/ }), - -/***/ 5015: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ W: () => (/* binding */ RouteContextProvider), -/* harmony export */ o: () => (/* binding */ Context) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const Context=/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);function mergeContexts({parent,value}){if(!parent){if(!value){throw new Error('Unexpected: no Docusaurus route context found');}else if(!('plugin'in value)){throw new Error('Unexpected: Docusaurus topmost route context has no `plugin` attribute');}return value;}// TODO deep merge this -const data={...parent.data,...value?.data};return{// Nested routes are not supposed to override plugin attribute -plugin:parent.plugin,data};}function RouteContextProvider({children,value}){const parent=react__WEBPACK_IMPORTED_MODULE_0__.useContext(Context);const mergedValue=(0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>mergeContexts({parent,value}),[parent,value]);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Context.Provider,{value:mergedValue,children:children});} - -/***/ }), - -/***/ 1200: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "default": () => (/* binding */ serverEntry) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -// EXTERNAL MODULE: ../node_modules/react-router/esm/react-router.js -var react_router = __webpack_require__(9519); -// EXTERNAL MODULE: ../node_modules/react-helmet-async/lib/index.module.js -var index_module = __webpack_require__(9005); -// EXTERNAL MODULE: ../node_modules/react-loadable/lib/index.js -var lib = __webpack_require__(7303); -var lib_default = /*#__PURE__*/__webpack_require__.n(lib); -// EXTERNAL MODULE: ./node_modules/react-dom/server.js -var server = __webpack_require__(7422); -;// external "node:stream" -const external_node_stream_namespaceObject = require("node:stream"); -;// external "node:stream/consumers" -const consumers_namespaceObject = require("node:stream/consumers"); -;// ../packages/docusaurus/lib/client/renderToHtml.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// See also https://github.com/facebook/react/issues/31134 -// See also https://github.com/facebook/docusaurus/issues/9985#issuecomment-2396367797 -async function renderToHtml(app){return new Promise((resolve,reject)=>{const passThrough=new external_node_stream_namespaceObject.PassThrough();const{pipe}=(0,server.renderToPipeableStream)(app,{onError(error){reject(error);},onAllReady(){pipe(passThrough);(0,consumers_namespaceObject.text)(passThrough).then(resolve,reject);}});});} -// EXTERNAL MODULE: ./.docusaurus/routes.js + 7 modules -var routes = __webpack_require__(5788); -// EXTERNAL MODULE: ../node_modules/react-router-config/esm/react-router-config.js -var react_router_config = __webpack_require__(3971); -;// ../packages/docusaurus/lib/client/preload.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *//** - * Helper function to make sure all async components for that particular route - * is preloaded before rendering. This is especially useful to avoid loading - * screens. - * - * @param pathname the route pathname, example: /docs/installation - * @returns Promise object represents whether pathname has been preloaded - */function preload(pathname){const matches=Array.from(new Set([pathname,decodeURI(pathname)])).map(p=>(0,react_router_config/* matchRoutes */.u)(routes/* default */.A,p)).flat();return Promise.all(matches.map(match=>match.route.component.preload?.()));} -;// ./.docusaurus/client-modules.js -/* harmony default export */ const client_modules = ([__webpack_require__(3300),__webpack_require__(1283),__webpack_require__(4987),__webpack_require__(7730)]); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus/lib/client/theme-fallback/Root/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Wrapper at the very top of the app, that is applied constantly -// and does not depend on current route (unlike the layout) -// -// Gives the opportunity to add stateful providers on top of the app -// and these providers won't reset state when we navigate -// -// See https://github.com/facebook/docusaurus/issues/3919 -function Root({children}){return/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:children});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Head.js -var Head = __webpack_require__(2785); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useDocusaurusContext.js -var useDocusaurusContext = __webpack_require__(1571); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useBaseUrl.js -var useBaseUrl = __webpack_require__(5000); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useThemeConfig.js -var useThemeConfig = __webpack_require__(6963); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/metadataUtils.js + 1 modules -var metadataUtils = __webpack_require__(5861); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/utils/useAlternatePageUtils.js -var useAlternatePageUtils = __webpack_require__(5040); -// EXTERNAL MODULE: ../packages/docusaurus-theme-common/lib/hooks/useKeyboardNavigation.js -var useKeyboardNavigation = __webpack_require__(4684); -;// ../packages/docusaurus-theme-common/lib/utils/searchUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const DEFAULT_SEARCH_TAG='default'; -// EXTERNAL MODULE: ../packages/docusaurus-utils-common/lib/index.js -var docusaurus_utils_common_lib = __webpack_require__(5819); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/SearchMetadata/index.js -var SearchMetadata = __webpack_require__(3308); -;// ../packages/docusaurus-theme-classic/lib/theme/SiteMetadata/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// TODO move to SiteMetadataDefaults or theme-common ? -// Useful for i18n/SEO -// See https://developers.google.com/search/docs/advanced/crawling/localized-versions -// See https://github.com/facebook/docusaurus/issues/3317 -function AlternateLangHeaders(){const{i18n:{currentLocale,defaultLocale,localeConfigs}}=(0,useDocusaurusContext/* default */.A)();const alternatePageUtils=(0,useAlternatePageUtils/* useAlternatePageUtils */.o)();const currentHtmlLang=localeConfigs[currentLocale].htmlLang;// HTML lang is a BCP 47 tag, but the Open Graph protocol requires -// using underscores instead of dashes. -// See https://ogp.me/#optional -// See https://en.wikipedia.org/wiki/IETF_language_tag) -const bcp47ToOpenGraphLocale=code=>code.replace('-','_');// Note: it is fine to use both "x-default" and "en" to target the same url -// See https://www.searchviu.com/en/multiple-hreflang-tags-one-url/ -return/*#__PURE__*/(0,jsx_runtime.jsxs)(Head/* default */.A,{children:[Object.entries(localeConfigs).map(([locale,{htmlLang}])=>/*#__PURE__*/(0,jsx_runtime.jsx)("link",{rel:"alternate",href:alternatePageUtils.createUrl({locale,fullyQualified:true}),hrefLang:htmlLang},locale)),/*#__PURE__*/(0,jsx_runtime.jsx)("link",{rel:"alternate",href:alternatePageUtils.createUrl({locale:defaultLocale,fullyQualified:true}),hrefLang:"x-default"}),/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"og:locale",content:bcp47ToOpenGraphLocale(currentHtmlLang)}),Object.values(localeConfigs).filter(config=>currentHtmlLang!==config.htmlLang).map(config=>/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"og:locale:alternate",content:bcp47ToOpenGraphLocale(config.htmlLang)},`meta-og-${config.htmlLang}`))]});}// Default canonical url inferred from current page location pathname -function useDefaultCanonicalUrl(){const{siteConfig:{url:siteUrl,baseUrl,trailingSlash}}=(0,useDocusaurusContext/* default */.A)();// TODO using useLocation().pathname is not a super idea -// See https://github.com/facebook/docusaurus/issues/9170 -const{pathname}=(0,react_router/* useLocation */.zy)();const canonicalPathname=(0,docusaurus_utils_common_lib/* applyTrailingSlash */.Ks)((0,useBaseUrl/* default */.Ay)(pathname),{trailingSlash,baseUrl});return siteUrl+canonicalPathname;}// TODO move to SiteMetadataDefaults or theme-common ? -function CanonicalUrlHeaders({permalink}){const{siteConfig:{url:siteUrl}}=(0,useDocusaurusContext/* default */.A)();const defaultCanonicalUrl=useDefaultCanonicalUrl();const canonicalUrl=permalink?`${siteUrl}${permalink}`:defaultCanonicalUrl;return/*#__PURE__*/(0,jsx_runtime.jsxs)(Head/* default */.A,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"og:url",content:canonicalUrl}),/*#__PURE__*/(0,jsx_runtime.jsx)("link",{rel:"canonical",href:canonicalUrl})]});}function SiteMetadata(){const{i18n:{currentLocale}}=(0,useDocusaurusContext/* default */.A)();// TODO maybe move these 2 themeConfig to siteConfig? -// These seems useful for other themes as well -const{metadata,image:defaultImage}=(0,useThemeConfig/* useThemeConfig */.p)();return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsxs)(Head/* default */.A,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),/*#__PURE__*/(0,jsx_runtime.jsx)("body",{className:useKeyboardNavigation/* keyboardFocusedClassName */.w})]}),defaultImage&&/*#__PURE__*/(0,jsx_runtime.jsx)(metadataUtils/* PageMetadata */.be,{image:defaultImage}),/*#__PURE__*/(0,jsx_runtime.jsx)(CanonicalUrlHeaders,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(AlternateLangHeaders,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(SearchMetadata/* default */.A,{tag:DEFAULT_SEARCH_TAG,locale:currentLocale}),/*#__PURE__*/(0,jsx_runtime.jsx)(Head/* default */.A,{children:metadata.map((metadatum,i)=>/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{...metadatum},i))})]});} -;// ../packages/docusaurus/lib/client/normalizeLocation.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Memoize previously normalized pathnames. -const pathnames=new Map();function normalizeLocation(location){if(pathnames.has(location.pathname)){return{...location,pathname:pathnames.get(location.pathname)};}// If the location was registered with an `.html` extension, we don't strip it -// away, or it will render to a 404 page. -const matchedRoutes=(0,react_router_config/* matchRoutes */.u)(routes/* default */.A,location.pathname);if(matchedRoutes.some(({route})=>route.exact===true)){pathnames.set(location.pathname,location.pathname);return location;}const pathname=location.pathname.trim().replace(/(?:\/index)?\.html$/,'')||'/';pathnames.set(location.pathname,pathname);return{...location,pathname};} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/browserContext.js -var browserContext = __webpack_require__(7820); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/docusaurusContext.js + 3 modules -var docusaurusContext = __webpack_require__(4467); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useIsomorphicLayoutEffect.js -var useIsomorphicLayoutEffect = __webpack_require__(610); -;// ../packages/docusaurus/lib/client/ClientLifecyclesDispatcher.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function dispatchLifecycleAction(lifecycleAction,...args){const callbacks=client_modules.map(clientModule=>{const lifecycleFunction=clientModule.default?.[lifecycleAction]??clientModule[lifecycleAction];return lifecycleFunction?.(...args);});return()=>callbacks.forEach(cb=>cb?.());}function scrollAfterNavigation({location,previousLocation}){if(!previousLocation){return;// no-op: use native browser feature -}const samePathname=location.pathname===previousLocation.pathname;const sameHash=location.hash===previousLocation.hash;const sameSearch=location.search===previousLocation.search;// Query-string changes: do not scroll to top/hash -if(samePathname&&sameHash&&!sameSearch){return;}const{hash}=location;if(!hash){window.scrollTo(0,0);}else{const id=decodeURIComponent(hash.substring(1));const element=document.getElementById(id);element?.scrollIntoView();}}function ClientLifecyclesDispatcher({children,location,previousLocation}){(0,useIsomorphicLayoutEffect/* default */.A)(()=>{if(previousLocation!==location){scrollAfterNavigation({location,previousLocation});dispatchLifecycleAction('onRouteDidUpdate',{previousLocation,location});}},[previousLocation,location]);return children;}/* harmony default export */ const client_ClientLifecyclesDispatcher = (ClientLifecyclesDispatcher); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/ExecutionEnvironment.js -var ExecutionEnvironment = __webpack_require__(4468); -;// ../packages/docusaurus/lib/client/PendingNavigation.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */class PendingNavigation extends react.Component{previousLocation;routeUpdateCleanupCb;constructor(props){super(props);// previousLocation doesn't affect rendering, hence not stored in state. -this.previousLocation=null;this.routeUpdateCleanupCb=ExecutionEnvironment/* default */.A.canUseDOM?dispatchLifecycleAction('onRouteUpdate',{previousLocation:null,location:this.props.location}):()=>{};this.state={nextRouteHasLoaded:true};}// Intercept location update and still show current route until next route -// is done loading. -shouldComponentUpdate(nextProps,nextState){if(nextProps.location===this.props.location){// `nextRouteHasLoaded` is false means there's a pending route transition. -// Don't update until it's done. -return nextState.nextRouteHasLoaded;}// props.location being different means the router is trying to navigate to -// a new route. We will preload the new route. -const nextLocation=nextProps.location;// Save the location first. -this.previousLocation=this.props.location;this.setState({nextRouteHasLoaded:false});this.routeUpdateCleanupCb=dispatchLifecycleAction('onRouteUpdate',{previousLocation:this.previousLocation,location:nextLocation});// Load data while the old screen remains. Force preload instead of using -// `window.docusaurus`, because we want to avoid loading screen even when -// user is on saveData -preload(nextLocation.pathname).then(()=>{this.routeUpdateCleanupCb();this.setState({nextRouteHasLoaded:true});}).catch(e=>{console.warn(e);// If chunk loading failed, it could be because the path to a chunk -// no longer exists due to a new deployment. Force refresh the page -// instead of just not navigating. -window.location.reload();});return false;}render(){const{children,location}=this.props;// Use a controlled <Route> to trick all descendants into rendering the old -// location. -return/*#__PURE__*/(0,jsx_runtime.jsx)(client_ClientLifecyclesDispatcher,{previousLocation:this.previousLocation,location:location,children:/*#__PURE__*/(0,jsx_runtime.jsx)(react_router/* Route */.qh,{location:location,render:()=>children})});}}/* harmony default export */ const client_PendingNavigation = (PendingNavigation); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/BaseUrlIssueBanner/styles.module.css -var styles_module = __webpack_require__(8851); -;// ../packages/docusaurus/lib/client/BaseUrlIssueBanner/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Double-security: critical CSS will hide the banner if CSS can load! -// __ prefix allows search crawlers (Algolia/DocSearch) to ignore anchors -// https://github.com/facebook/docusaurus/issues/8883#issuecomment-1516328368 -const BannerContainerId='__docusaurus-base-url-issue-banner-container';const BannerId='__docusaurus-base-url-issue-banner';const SuggestionContainerId='__docusaurus-base-url-issue-banner-suggestion-container';// It is important to not use React to render this banner -// otherwise Google would index it, even if it's hidden with some critical CSS! -// See https://github.com/facebook/docusaurus/issues/4028 -// - We can't SSR (or it would be indexed) -// - We can't CSR (as it means the baseurl is correct) -function createInlineHtmlBanner(baseUrl){return` -<div id="${BannerId}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;"> - <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p> - <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p> - <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${baseUrl}</span> ${baseUrl==='/'?' (default value)':''}</p> - <p>We suggest trying baseUrl = <span id="${SuggestionContainerId}" style="font-weight: bold; color: green;"></span></p> -</div> -`;}// Needs to work for older browsers! -function createInlineScript(baseUrl){/* language=js */return` -document.addEventListener('DOMContentLoaded', function maybeInsertBanner() { - var shouldInsert = typeof window['docusaurus'] === 'undefined'; - shouldInsert && insertBanner(); -}); - -function insertBanner() { - var bannerContainer = document.createElement('div'); - bannerContainer.id = '${BannerContainerId}'; - var bannerHtml = ${JSON.stringify(createInlineHtmlBanner(baseUrl))// See https://redux.js.org/recipes/server-rendering/#security-considerations -.replace(/</g,'\\\u003c')}; - bannerContainer.innerHTML = bannerHtml; - document.body.prepend(bannerContainer); - var suggestionContainer = document.getElementById('${SuggestionContainerId}'); - var actualHomePagePath = window.location.pathname; - var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/' - ? actualHomePagePath - : actualHomePagePath + '/'; - suggestionContainer.innerHTML = suggestedBaseUrl; -} -`;}function BaseUrlIssueBanner(){const{siteConfig:{baseUrl}}=(0,useDocusaurusContext/* default */.A)();return/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:!ExecutionEnvironment/* default */.A.canUseDOM&&/*#__PURE__*/// Safe to use `ExecutionEnvironment`, because `Head` is purely -// side-effect and doesn't affect hydration -(0,jsx_runtime.jsx)(Head/* default */.A,{children:/*#__PURE__*/(0,jsx_runtime.jsx)("script",{children:createInlineScript(baseUrl)})})});}/** - * We want to help the users with a bad baseUrl configuration (very common - * error). Help message is inlined, and hidden if JS or CSS is able to load. - * - * This component only inserts the base URL banner for the homepage, to avoid - * polluting every statically rendered page. - * - * Note: it might create false positives (ie network failures): not a big deal - * - * @see https://github.com/facebook/docusaurus/pull/3621 - */function MaybeBaseUrlIssueBanner(){const{siteConfig:{baseUrl,baseUrlIssueBanner}}=(0,useDocusaurusContext/* default */.A)();const{pathname}=(0,react_router/* useLocation */.zy)();const isHomePage=pathname===baseUrl;const enabled=baseUrlIssueBanner&&isHomePage;return enabled?/*#__PURE__*/(0,jsx_runtime.jsx)(BaseUrlIssueBanner,{}):null;} -;// ../packages/docusaurus/lib/client/SiteMetadataDefaults.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function SiteMetadataDefaults(){const{siteConfig:{favicon,title,noIndex},i18n:{currentLocale,localeConfigs}}=(0,useDocusaurusContext/* default */.A)();const faviconUrl=(0,useBaseUrl/* default */.Ay)(favicon);const{htmlLang,direction:htmlDir}=localeConfigs[currentLocale];return/*#__PURE__*/(0,jsx_runtime.jsxs)(Head/* default */.A,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)("html",{lang:htmlLang,dir:htmlDir}),/*#__PURE__*/(0,jsx_runtime.jsx)("title",{children:title}),/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{property:"og:title",content:title}),/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),noIndex&&/*#__PURE__*/(0,jsx_runtime.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),favicon&&/*#__PURE__*/(0,jsx_runtime.jsx)("link",{rel:"icon",href:faviconUrl})]});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/ErrorBoundary.js + 1 modules -var ErrorBoundary = __webpack_require__(5769); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useIsBrowser.js -var useIsBrowser = __webpack_require__(3754); -;// ../packages/docusaurus/lib/client/hasHydratedDataAttribute.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// See https://github.com/facebook/docusaurus/pull/9256 -// Docusaurus adds a <html data-has-hydrated="true"> after hydration -function HasHydratedDataAttribute(){const isBrowser=(0,useIsBrowser/* default */.A)();return/*#__PURE__*/(0,jsx_runtime.jsx)(Head/* default */.A,{children:/*#__PURE__*/(0,jsx_runtime.jsx)("html",{"data-has-hydrated":isBrowser})});} -;// ../packages/docusaurus/lib/client/App.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// TODO, quick fix for CSS insertion order -// eslint-disable-next-line import/order -const routesElement=(0,react_router_config/* renderRoutes */.v)(routes/* default */.A);function AppNavigation(){const location=(0,react_router/* useLocation */.zy)();const normalizedLocation=normalizeLocation(location);return/*#__PURE__*/(0,jsx_runtime.jsx)(client_PendingNavigation,{location:normalizedLocation,children:routesElement});}function App(){return/*#__PURE__*/(0,jsx_runtime.jsx)(ErrorBoundary/* default */.A,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(docusaurusContext/* DocusaurusContextProvider */.l,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(browserContext/* BrowserContextProvider */.x,{children:[/*#__PURE__*/(0,jsx_runtime.jsxs)(Root,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(SiteMetadataDefaults,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(SiteMetadata,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(MaybeBaseUrlIssueBanner,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(AppNavigation,{})]}),/*#__PURE__*/(0,jsx_runtime.jsx)(HasHydratedDataAttribute,{})]})})});} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/BrokenLinksContext.js -var BrokenLinksContext = __webpack_require__(3054); -;// ../packages/docusaurus/lib/client/serverHelmetUtils.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function getBuildMetaTags(helmet){// @ts-expect-error: see https://github.com/staylor/react-helmet-async/pull/167 -const metaElements=helmet.meta.toComponent()??[];return metaElements.map(el=>el.props);}function isNoIndexTag(tag){if(!tag.name||!tag.content){return false;}return(// meta name is not case-sensitive -tag.name.toLowerCase()==='robots'&&// Robots directives are not case-sensitive -tag.content.toLowerCase().includes('noindex'));}function toPageCollectedMetadata({helmet}){const tags=getBuildMetaTags(helmet);const noIndex=tags.some(isNoIndexTag);return{helmet,// TODO Docusaurus v4 remove -public:{noIndex},internal:{htmlAttributes:helmet.htmlAttributes.toString(),bodyAttributes:helmet.bodyAttributes.toString(),title:helmet.title.toString(),meta:helmet.meta.toString(),link:helmet.link.toString(),script:helmet.script.toString()}};} -;// ../packages/docusaurus/lib/client/serverEntry.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const render=async({pathname,v4RemoveLegacyPostBuildHeadAttribute})=>{await preload(pathname);const modules=new Set();const routerContext={};const helmetContext={};const statefulBrokenLinks=(0,BrokenLinksContext/* createStatefulBrokenLinks */.$3)();const app=/*#__PURE__*/// @ts-expect-error: we are migrating away from react-loadable anyways -(0,jsx_runtime.jsx)((lib_default()).Capture,{report:moduleName=>modules.add(moduleName),children:/*#__PURE__*/(0,jsx_runtime.jsx)(index_module/* HelmetProvider */.vd,{context:helmetContext,children:/*#__PURE__*/(0,jsx_runtime.jsx)(react_router/* StaticRouter */.kO,{location:pathname,context:routerContext,children:/*#__PURE__*/(0,jsx_runtime.jsx)(BrokenLinksContext/* BrokenLinksProvider */.k5,{brokenLinks:statefulBrokenLinks,children:/*#__PURE__*/(0,jsx_runtime.jsx)(App,{})})})})});const html=await renderToHtml(app);const{helmet}=helmetContext;const metadata=toPageCollectedMetadata({helmet});// TODO Docusaurus v4 remove with deprecated postBuild({head}) API -// the returned collectedData must be serializable to run in workers -if(v4RemoveLegacyPostBuildHeadAttribute){metadata.helmet=null;}const collectedData={metadata,anchors:statefulBrokenLinks.getCollectedAnchors(),links:statefulBrokenLinks.getCollectedLinks(),modules:Array.from(modules)};return{html,collectedData};};/* harmony default export */ const serverEntry = (render); - -/***/ }), - -/***/ 5788: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ routes) -}); - -// EXTERNAL MODULE: ./node_modules/react/index.js -var react = __webpack_require__(6540); -;// ../node_modules/@babel/runtime/helpers/esm/typeof.js -function _typeof(o) { - "@babel/helpers - typeof"; - - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { - return typeof o; - } : function (o) { - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; - }, _typeof(o); -} - -;// ../node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js - -function _getRequireWildcardCache(e) { - if ("function" != typeof WeakMap) return null; - var r = new WeakMap(), - t = new WeakMap(); - return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { - return e ? t : r; - })(e); -} -function _interopRequireWildcard(e, r) { - if (!r && e && e.__esModule) return e; - if (null === e || "object" != _typeof(e) && "function" != typeof e) return { - "default": e - }; - var t = _getRequireWildcardCache(r); - if (t && t.has(e)) return t.get(e); - var n = { - __proto__: null - }, - a = Object.defineProperty && Object.getOwnPropertyDescriptor; - for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { - var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; - i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; - } - return n["default"] = e, t && t.set(e, n), n; -} - -// EXTERNAL MODULE: ../node_modules/react-loadable/lib/index.js -var lib = __webpack_require__(7303); -var lib_default = /*#__PURE__*/__webpack_require__.n(lib); -;// ./.docusaurus/routesChunkNames.json -const routesChunkNames_namespaceObject = /*#__PURE__*/JSON.parse('{"/blog-b2f":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7661071f"},{"content":"f4f34a3a"},{"content":"8717b14a"},{"content":"925b3f96"}],"__props":"c15d9823"},"/blog/archive-182":{"__comp":"9e4087bc","__context":{"plugin":"36994c47"},"__props":"f81c1134"},"/blog/authors-0b7":{"__comp":"621db11d","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","__props":"ef8b811a"},"/blog/authors/all-sebastien-lorber-articles-4a1":{"__comp":"33fc5bb8","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"items":[{"content":"7661071f"},{"content":"f4f34a3a"},{"content":"925b3f96"}],"sidebar":"814f3328","__props":"c9c9bef8"},"/blog/authors/yangshun-a68":{"__comp":"33fc5bb8","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"items":[{"content":"7661071f"},{"content":"8717b14a"},{"content":"925b3f96"}],"sidebar":"814f3328","__props":"1dea6ca3"},"/blog/first-blog-post-89a":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"e273c56f"},"/blog/long-blog-post-9ad":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"73664a40"},"/blog/mdx-blog-post-e9f":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"59362658"},"/blog/tags-287":{"__comp":"01a85c17","__context":{"plugin":"36994c47"},"sidebar":"814f3328","__props":"3a2db09e"},"/blog/tags/docusaurus-704":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7661071f"},{"content":"f4f34a3a"},{"content":"8717b14a"},{"content":"925b3f96"}],"__props":"3217192f"},"/blog/tags/facebook-858":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7661071f"}],"__props":"e5aefb32"},"/blog/tags/hello-299":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7661071f"},{"content":"8717b14a"}],"__props":"f82cd581"},"/blog/tags/hola-00d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"925b3f96"}],"__props":"5e90a9b3"},"/blog/welcome-d2b":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"d9f32620"},"/markdown-page-3d7":{"__comp":"1f391b9e","__context":{"plugin":"a7456010"},"content":"393be207"},"/docs-733":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/docs-7e6":{"__comp":"a7bd4aaa","__props":"0058b4c6"},"/docs-ba6":{"__comp":"a94703ab"},"/docs/category/tutorial---basics-20e":{"__comp":"14eb3368","__props":"c8a4e95a"},"/docs/category/tutorial---extras-9ad":{"__comp":"14eb3368","__props":"6bb166bd"},"/docs/intro-61d":{"__comp":"17896441","content":"0e384e19"},"/docs/tutorial-basics/congratulations-458":{"__comp":"17896441","content":"822bd8ab"},"/docs/tutorial-basics/create-a-blog-post-108":{"__comp":"17896441","content":"533a09ca"},"/docs/tutorial-basics/create-a-document-8fc":{"__comp":"17896441","content":"1e4232ab"},"/docs/tutorial-basics/create-a-page-951":{"__comp":"17896441","content":"5c868d36"},"/docs/tutorial-basics/deploy-your-site-4f5":{"__comp":"17896441","content":"f55d3e7a"},"/docs/tutorial-basics/markdown-features-b05":{"__comp":"17896441","content":"18c41134"},"/docs/tutorial-extras/manage-docs-versions-978":{"__comp":"17896441","content":"dff1c289"},"/docs/tutorial-extras/translate-your-site-f9a":{"__comp":"17896441","content":"e44a2883"},"/-e5f":{"__comp":"1df93b7f","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}'); -;// ./.docusaurus/registry.js -/* harmony default export */ const registry = ({"0058b4c6":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(6164))),"@generated/docusaurus-plugin-content-docs/default/p/docs-175.json",/*require.resolve*/(6164)],"01a85c17":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(8807))),"@theme/BlogTagsListPage",/*require.resolve*/(8807)],"0e384e19":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(2863))),"@site/docs/intro.md",/*require.resolve*/(2863)],"14eb3368":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(2980))),"@theme/DocCategoryGeneratedIndexPage",/*require.resolve*/(2980)],"17896441":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(3135))),"@theme/DocItem",/*require.resolve*/(3135)],"18c41134":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(6731))),"@site/docs/tutorial-basics/markdown-features.mdx",/*require.resolve*/(6731)],"1dea6ca3":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(6067))),"@generated/docusaurus-plugin-content-blog/default/p/blog-authors-yangshun-af2.json",/*require.resolve*/(6067)],"1df93b7f":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(4134))),"@site/src/pages/index.tsx",/*require.resolve*/(4134)],"1e4232ab":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(1000))),"@site/docs/tutorial-basics/create-a-document.md",/*require.resolve*/(1000)],"1f391b9e":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(859))),"@theme/MDXPage",/*require.resolve*/(859)],"3217192f":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(8174))),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-docusaurus-f20.json",/*require.resolve*/(8174)],"33fc5bb8":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(4187))),"@theme/Blog/Pages/BlogAuthorsPostsPage",/*require.resolve*/(4187)],"36994c47":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(5516))),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",/*require.resolve*/(5516)],"393be207":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(3065))),"@site/src/pages/markdown-page.md",/*require.resolve*/(3065)],"3a2db09e":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(8070))),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-df9.json",/*require.resolve*/(8070)],"533a09ca":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(2621))),"@site/docs/tutorial-basics/create-a-blog-post.md",/*require.resolve*/(2621)],"59362658":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(4986))),"@site/blog/2021-08-01-mdx-blog-post.mdx",/*require.resolve*/(4986)],"5c868d36":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(9009))),"@site/docs/tutorial-basics/create-a-page.md",/*require.resolve*/(9009)],"5e90a9b3":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(7134))),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-hola-73f.json",/*require.resolve*/(7134)],"5e95c892":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(7602))),"@theme/DocsRoot",/*require.resolve*/(7602)],"5e9f5e1a":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(4784))),"@generated/docusaurus.config",/*require.resolve*/(4784)],"621db11d":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(2166))),"@theme/Blog/Pages/BlogAuthorsListPage",/*require.resolve*/(2166)],"6875c492":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(1780))),"@theme/BlogTagsPostsPage",/*require.resolve*/(1780)],"6bb166bd":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(3618))),"@generated/docusaurus-plugin-content-docs/default/p/docs-category-tutorial-extras-128.json",/*require.resolve*/(3618)],"73664a40":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(9655))),"@site/blog/2019-05-29-long-blog-post.md",/*require.resolve*/(9655)],"7661071f":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(2219))),"@site/blog/2021-08-26-welcome/index.md?truncated=true",/*require.resolve*/(2219)],"814f3328":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(5513))),"~blog/default/blog-post-list-prop-default.json",/*require.resolve*/(5513)],"822bd8ab":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(8423))),"@site/docs/tutorial-basics/congratulations.md",/*require.resolve*/(8423)],"8717b14a":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(2185))),"@site/blog/2019-05-29-long-blog-post.md?truncated=true",/*require.resolve*/(2185)],"925b3f96":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(1576))),"@site/blog/2019-05-28-first-blog-post.md?truncated=true",/*require.resolve*/(1576)],"9e4087bc":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(9814))),"@theme/BlogArchivePage",/*require.resolve*/(9814)],"a6aa9e1f":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(8394))),"@theme/BlogListPage",/*require.resolve*/(8394)],"a7456010":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(8552))),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",/*require.resolve*/(8552)],"a7bd4aaa":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(9660))),"@theme/DocVersionRoot",/*require.resolve*/(9660)],"a94703ab":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(8125))),"@theme/DocRoot",/*require.resolve*/(8125)],"aba21aa0":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(7093))),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",/*require.resolve*/(7093)],"acecf23e":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(1912))),"~blog/default/blogMetadata-default.json",/*require.resolve*/(1912)],"c15d9823":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(9328))),"@generated/docusaurus-plugin-content-blog/default/p/blog-bd9.json",/*require.resolve*/(9328)],"c8a4e95a":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(1549))),"@generated/docusaurus-plugin-content-docs/default/p/docs-category-tutorial-basics-ea4.json",/*require.resolve*/(1549)],"c9c9bef8":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(4971))),"@generated/docusaurus-plugin-content-blog/default/p/blog-authors-all-sebastien-lorber-articles-6eb.json",/*require.resolve*/(4971)],"ccc49370":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(5101))),"@theme/BlogPostPage",/*require.resolve*/(5101)],"d9f32620":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(8297))),"@site/blog/2021-08-26-welcome/index.md",/*require.resolve*/(8297)],"dff1c289":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(6052))),"@site/docs/tutorial-extras/manage-docs-versions.md",/*require.resolve*/(6052)],"e273c56f":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(4812))),"@site/blog/2019-05-28-first-blog-post.md",/*require.resolve*/(4812)],"e44a2883":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(9912))),"@site/docs/tutorial-extras/translate-your-site.md",/*require.resolve*/(9912)],"e5aefb32":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(8539))),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-facebook-f47.json",/*require.resolve*/(8539)],"ef8b811a":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(6600))),"@generated/docusaurus-plugin-content-blog/default/p/blog-authors-790.json",/*require.resolve*/(6600)],"f4f34a3a":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(7934))),"@site/blog/2021-08-01-mdx-blog-post.mdx?truncated=true",/*require.resolve*/(7934)],"f55d3e7a":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(9466))),"@site/docs/tutorial-basics/deploy-your-site.md",/*require.resolve*/(9466)],"f81c1134":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(7735))),"@generated/docusaurus-plugin-content-blog/default/p/blog-archive-f05.json",/*require.resolve*/(7735)],"f82cd581":[()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(4035))),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-hello-f96.json",/*require.resolve*/(4035)]}); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ../packages/docusaurus/lib/client/theme-fallback/Loading/index.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */// Should we translate theme-fallback? -/* eslint-disable @docusaurus/no-untranslated-text */function Loading({error,retry,pastDelay}){if(error){return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{style:{textAlign:'center',color:'#fff',backgroundColor:'#fa383e',borderColor:'#fa383e',borderStyle:'solid',borderRadius:'0.25rem',borderWidth:'1px',boxSizing:'border-box',display:'block',padding:'1rem',flex:'0 0 50%',marginLeft:'25%',marginRight:'25%',marginTop:'5rem',maxWidth:'50%',width:'100%'},children:[/*#__PURE__*/(0,jsx_runtime.jsx)("p",{children:String(error)}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{children:/*#__PURE__*/(0,jsx_runtime.jsx)("button",{type:"button",onClick:retry,children:"Retry"})})]});}if(pastDelay){return/*#__PURE__*/(0,jsx_runtime.jsx)("div",{style:{display:'flex',justifyContent:'center',alignItems:'center',height:'100vh'},children:/*#__PURE__*/(0,jsx_runtime.jsx)("svg",{id:"loader",style:{width:128,height:110,position:'absolute',top:'calc(100vh - 64%)'},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:/*#__PURE__*/(0,jsx_runtime.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[/*#__PURE__*/(0,jsx_runtime.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[/*#__PURE__*/(0,jsx_runtime.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),/*#__PURE__*/(0,jsx_runtime.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),/*#__PURE__*/(0,jsx_runtime.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),/*#__PURE__*/(0,jsx_runtime.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[/*#__PURE__*/(0,jsx_runtime.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),/*#__PURE__*/(0,jsx_runtime.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),/*#__PURE__*/(0,jsx_runtime.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),/*#__PURE__*/(0,jsx_runtime.jsx)("circle",{cx:"22",cy:"22",r:"8",children:/*#__PURE__*/(0,jsx_runtime.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})});}return null;} -;// ../packages/docusaurus/lib/client/flat.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */const isTree=x=>typeof x==='object'&&!!x&&Object.keys(x).length>0;/** - * Takes a tree, and flattens it into a map of keyPath -> value. - * - * ```js - * flat({ a: { b: 1 } }) === { "a.b": 1 }; - * flat({ a: [1, 2] }) === { "a.0": 1, "a.1": 2 }; - * ``` - */function flat(target){const delimiter='.';const output={};function dfs(object,prefix){Object.entries(object).forEach(([key,value])=>{const newKey=prefix?`${prefix}${delimiter}${key}`:key;if(isTree(value)){dfs(value,newKey);}else{output[newKey]=value;}});}dfs(target);return output;} -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/routeContext.js -var client_routeContext = __webpack_require__(5015); -;// ../packages/docusaurus/lib/client/exports/ComponentCreator.js -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function ComponentCreator(path,hash){// 404 page -if(path==='*'){return lib_default()({loading:Loading,loader:()=>Promise.resolve().then(()=>_interopRequireWildcard(__webpack_require__(8714))),modules:['@theme/NotFound'],webpack:()=>[/*require.resolve*/(8714)],render(loaded,props){const NotFound=loaded.default;return/*#__PURE__*/(0,jsx_runtime.jsx)(client_routeContext/* RouteContextProvider */.W// Do we want a better name than native-default? -,{value:{plugin:{name:'native',id:'default'}},children:/*#__PURE__*/(0,jsx_runtime.jsx)(NotFound,{...props})});}});}const chunkNames=routesChunkNames_namespaceObject[`${path}-${hash}`];// eslint-disable-next-line @typescript-eslint/no-explicit-any -const loader={};const modules=[];const optsWebpack=[];// A map from prop names to chunk names. -// e.g. Suppose the plugin added this as route: -// { __comp: "...", prop: { foo: "..." }, items: ["...", "..."] } -// It will become: -// { __comp: "...", "prop.foo": "...", "items.0": "...", "items.1": ... } -// Loadable.Map will _map_ over `loader` and load each key. -const flatChunkNames=flat(chunkNames);Object.entries(flatChunkNames).forEach(([keyPath,chunkName])=>{const chunkRegistry=registry[chunkName];if(chunkRegistry){// eslint-disable-next-line prefer-destructuring -loader[keyPath]=chunkRegistry[0];modules.push(chunkRegistry[1]);optsWebpack.push(chunkRegistry[2]);}});return lib_default().Map({loading:Loading,loader,modules,webpack:()=>optsWebpack,render(loaded,props){// `loaded` will be a map from key path (as returned from the flattened -// chunk names) to the modules loaded from the loaders. We now have to -// restore the chunk names' previous shape from this flat record. -// We do so by taking advantage of the existing `chunkNames` and replacing -// each chunk name with its loaded module, so we don't create another -// object from scratch. -const loadedModules=JSON.parse(JSON.stringify(chunkNames));Object.entries(loaded).forEach(([keyPath,loadedModule])=>{// JSON modules are also loaded as `{ default: ... }` (`import()` -// semantics) but we just want to pass the actual value to props. -const chunk=loadedModule.default;// One loaded chunk can only be one of two things: a module (props) or a -// component. Modules are always JSON, so `default` always exists. This -// could only happen with a user-defined component. -if(!chunk){throw new Error(`The page component at ${path} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);}// A module can be a primitive, for example, if the user stored a string -// as a prop. However, there seems to be a bug with swc-loader's CJS -// logic, in that it would load a JSON module with content "foo" as -// `{ default: "foo", 0: "f", 1: "o", 2: "o" }`. Just to be safe, we -// first make sure that the chunk is non-primitive. -if(typeof chunk==='object'||typeof chunk==='function'){Object.keys(loadedModule).filter(k=>k!=='default').forEach(nonDefaultKey=>{chunk[nonDefaultKey]=loadedModule[nonDefaultKey];});}// We now have this chunk prepared. Go down the key path and replace the -// chunk name with the actual chunk. -let val=loadedModules;const keyPaths=keyPath.split('.');keyPaths.slice(0,-1).forEach(k=>{val=val[k];});val[keyPaths[keyPaths.length-1]]=chunk;});/* eslint-disable no-underscore-dangle */const Component=loadedModules.__comp;delete loadedModules.__comp;const routeContext=loadedModules.__context;delete loadedModules.__context;const routeProps=loadedModules.__props;delete loadedModules.__props;/* eslint-enable no-underscore-dangle */// Is there any way to put this RouteContextProvider upper in the tree? -return/*#__PURE__*/(0,jsx_runtime.jsx)(client_routeContext/* RouteContextProvider */.W,{value:routeContext,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Component,{...loadedModules,...routeProps,...props})});}});} -;// ./.docusaurus/routes.js -/* harmony default export */ const routes = ([{path:'/blog',component:ComponentCreator('/blog','b2f'),exact:true},{path:'/blog/archive',component:ComponentCreator('/blog/archive','182'),exact:true},{path:'/blog/authors',component:ComponentCreator('/blog/authors','0b7'),exact:true},{path:'/blog/authors/all-sebastien-lorber-articles',component:ComponentCreator('/blog/authors/all-sebastien-lorber-articles','4a1'),exact:true},{path:'/blog/authors/yangshun',component:ComponentCreator('/blog/authors/yangshun','a68'),exact:true},{path:'/blog/first-blog-post',component:ComponentCreator('/blog/first-blog-post','89a'),exact:true},{path:'/blog/long-blog-post',component:ComponentCreator('/blog/long-blog-post','9ad'),exact:true},{path:'/blog/mdx-blog-post',component:ComponentCreator('/blog/mdx-blog-post','e9f'),exact:true},{path:'/blog/tags',component:ComponentCreator('/blog/tags','287'),exact:true},{path:'/blog/tags/docusaurus',component:ComponentCreator('/blog/tags/docusaurus','704'),exact:true},{path:'/blog/tags/facebook',component:ComponentCreator('/blog/tags/facebook','858'),exact:true},{path:'/blog/tags/hello',component:ComponentCreator('/blog/tags/hello','299'),exact:true},{path:'/blog/tags/hola',component:ComponentCreator('/blog/tags/hola','00d'),exact:true},{path:'/blog/welcome',component:ComponentCreator('/blog/welcome','d2b'),exact:true},{path:'/markdown-page',component:ComponentCreator('/markdown-page','3d7'),exact:true},{path:'/docs',component:ComponentCreator('/docs','733'),routes:[{path:'/docs',component:ComponentCreator('/docs','7e6'),routes:[{path:'/docs',component:ComponentCreator('/docs','ba6'),routes:[{path:'/docs/category/tutorial---basics',component:ComponentCreator('/docs/category/tutorial---basics','20e'),exact:true,sidebar:"tutorialSidebar"},{path:'/docs/category/tutorial---extras',component:ComponentCreator('/docs/category/tutorial---extras','9ad'),exact:true,sidebar:"tutorialSidebar"},{path:'/docs/intro',component:ComponentCreator('/docs/intro','61d'),exact:true,sidebar:"tutorialSidebar"},{path:'/docs/tutorial-basics/congratulations',component:ComponentCreator('/docs/tutorial-basics/congratulations','458'),exact:true,sidebar:"tutorialSidebar"},{path:'/docs/tutorial-basics/create-a-blog-post',component:ComponentCreator('/docs/tutorial-basics/create-a-blog-post','108'),exact:true,sidebar:"tutorialSidebar"},{path:'/docs/tutorial-basics/create-a-document',component:ComponentCreator('/docs/tutorial-basics/create-a-document','8fc'),exact:true,sidebar:"tutorialSidebar"},{path:'/docs/tutorial-basics/create-a-page',component:ComponentCreator('/docs/tutorial-basics/create-a-page','951'),exact:true,sidebar:"tutorialSidebar"},{path:'/docs/tutorial-basics/deploy-your-site',component:ComponentCreator('/docs/tutorial-basics/deploy-your-site','4f5'),exact:true,sidebar:"tutorialSidebar"},{path:'/docs/tutorial-basics/markdown-features',component:ComponentCreator('/docs/tutorial-basics/markdown-features','b05'),exact:true,sidebar:"tutorialSidebar"},{path:'/docs/tutorial-extras/manage-docs-versions',component:ComponentCreator('/docs/tutorial-extras/manage-docs-versions','978'),exact:true,sidebar:"tutorialSidebar"},{path:'/docs/tutorial-extras/translate-your-site',component:ComponentCreator('/docs/tutorial-extras/translate-your-site','f9a'),exact:true,sidebar:"tutorialSidebar"}]}]}]},{path:'/',component:ComponentCreator('/','e5f'),exact:true},{path:'*',component:ComponentCreator('*')}]); - -/***/ }), - -/***/ 4134: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "default": () => (/* binding */ Home) -}); - -// EXTERNAL MODULE: ../node_modules/clsx/dist/clsx.mjs -var clsx = __webpack_require__(1750); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/Link.js + 1 modules -var Link = __webpack_require__(1349); -// EXTERNAL MODULE: ../packages/docusaurus/lib/client/exports/useDocusaurusContext.js -var useDocusaurusContext = __webpack_require__(1571); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Layout/index.js + 53 modules -var Layout = __webpack_require__(3305); -// EXTERNAL MODULE: ../packages/docusaurus-theme-classic/lib/theme/Heading/index.js -var Heading = __webpack_require__(6813); -// EXTERNAL MODULE: ./src/components/HomepageFeatures/styles.module.css -var styles_module = __webpack_require__(6292); -var styles_module_default = /*#__PURE__*/__webpack_require__.n(styles_module); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -;// ./src/components/HomepageFeatures/index.tsx -const FeatureList=[{title:'Easy to Use',Svg:(__webpack_require__(4988)/* ["default"] */ .A),description:/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:"Docusaurus was designed from the ground up to be easily installed and used to get your website up and running quickly."})},{title:'Focus on What Matters',Svg:(__webpack_require__(1213)/* ["default"] */ .A),description:/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:["Docusaurus lets you focus on your docs, and we'll do the chores. Go ahead and move your docs into the ",/*#__PURE__*/(0,jsx_runtime.jsx)("code",{children:"docs"})," directory."]})},{title:'Powered by React',Svg:(__webpack_require__(8074)/* ["default"] */ .A),description:/*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment,{children:"Extend or customize your website layout by reusing React. Docusaurus can be extended while reusing the same header and footer."})}];function Feature({title,Svg,description}){return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:(0,clsx/* default */.A)('col col--4'),children:[/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"text--center",children:/*#__PURE__*/(0,jsx_runtime.jsx)(Svg,{className:(styles_module_default()).featureSvg,role:"img"})}),/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:"text--center padding-horiz--md",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Heading/* default */.A,{as:"h3",children:title}),/*#__PURE__*/(0,jsx_runtime.jsx)("p",{children:description})]})]});}function HomepageFeatures(){return/*#__PURE__*/(0,jsx_runtime.jsx)("section",{className:(styles_module_default()).features,children:/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"container",children:/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:"row",children:FeatureList.map((props,idx)=>/*#__PURE__*/(0,jsx_runtime.jsx)(Feature,{...props},idx))})})});} -// EXTERNAL MODULE: ./src/pages/index.module.css -var index_module = __webpack_require__(1514); -var index_module_default = /*#__PURE__*/__webpack_require__.n(index_module); -;// ./src/pages/index.tsx -function HomepageHeader(){const{siteConfig}=(0,useDocusaurusContext/* default */.A)();return/*#__PURE__*/(0,jsx_runtime.jsx)("header",{className:(0,clsx/* default */.A)('hero hero--primary',(index_module_default()).heroBanner),children:/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{className:"container",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Heading/* default */.A,{as:"h1",className:"hero__title",children:siteConfig.title}),/*#__PURE__*/(0,jsx_runtime.jsx)("p",{className:"hero__subtitle",children:siteConfig.tagline}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{className:(index_module_default()).buttons,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Link/* default */.A,{className:"button button--secondary button--lg",to:"/docs/intro",children:"Docusaurus Tutorial - 5min \u23F1\uFE0F"})})]})});}function Home(){const{siteConfig}=(0,useDocusaurusContext/* default */.A)();return/*#__PURE__*/(0,jsx_runtime.jsxs)(Layout/* default */.A,{title:`Hello from ${siteConfig.title}`,description:"Description will go into a meta tag in <head />",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(HomepageHeader,{}),/*#__PURE__*/(0,jsx_runtime.jsx)("main",{children:/*#__PURE__*/(0,jsx_runtime.jsx)(HomepageFeatures,{})})]});} - -/***/ }), - -/***/ 1964: -/***/ ((module) => { - -// Exports -module.exports = { - "admonition": `admonition_o5H7`, - "admonitionHeading": `admonitionHeading_FzoX`, - "admonitionIcon": `admonitionIcon_rXq6`, - "admonitionContent": `admonitionContent_Knsx` -}; - - -/***/ }), - -/***/ 8470: -/***/ ((module) => { - -// Exports -module.exports = { - "closeButton": `closeButton_nmpN` -}; - - -/***/ }), - -/***/ 6369: -/***/ ((module) => { - -// Exports -module.exports = { - "content": `content_ttnW` -}; - - -/***/ }), - -/***/ 4459: -/***/ ((module) => { - -// Exports -module.exports = { - "announcementBar": `announcementBar_cTOO`, - "announcementBarPlaceholder": `announcementBarPlaceholder_Lqfg`, - "announcementBarClose": `announcementBarClose_UFLi`, - "announcementBarContent": `announcementBarContent_PjqA` -}; - - -/***/ }), - -/***/ 4512: -/***/ ((module) => { - -// Exports -module.exports = { - "backToTopButton": `backToTopButton_PuQw`, - "backToTopButtonShow": `backToTopButtonShow_YSA3` -}; - - -/***/ }), - -/***/ 3783: -/***/ ((module) => { - -// Exports -module.exports = { - "authorSocials": `authorSocials_tPnL`, - "authorSocialLink": `authorSocialLink_hEWM`, - "authorSocialIcon": `authorSocialIcon_hTX6` -}; - - -/***/ }), - -/***/ 2718: -/***/ ((module) => { - -// Exports -module.exports = { - "authorImage": `authorImage_p8ow`, - "author-as-h1": `author-as-h1_Pd3R`, - "author-as-h2": `author-as-h2_UaZL`, - "authorDetails": `authorDetails_dWdF`, - "authorName": `authorName_Y8Hr`, - "authorTitle": `authorTitle_Slpj`, - "authorBlogPostCount": `authorBlogPostCount_FxU_` -}; - - -/***/ }), - -/***/ 8436: -/***/ ((module) => { - -// Exports -module.exports = { - "authorListItem": `authorListItem_Y1Zl` -}; - - -/***/ }), - -/***/ 3227: -/***/ ((module) => { - -// Exports -module.exports = { - "authorCol": `authorCol_bvyx`, - "imageOnlyAuthorRow": `imageOnlyAuthorRow_L2DM`, - "imageOnlyAuthorCol": `imageOnlyAuthorCol_oyze` -}; - - -/***/ }), - -/***/ 3617: -/***/ ((module) => { - -// Exports -module.exports = { - "container": `container_x5Un` -}; - - -/***/ }), - -/***/ 1245: -/***/ ((module) => { - -// Exports -module.exports = { - "title": `title_UBNu` -}; - - -/***/ }), - -/***/ 4718: -/***/ ((module) => { - -// Exports -module.exports = { - "sidebar": `sidebar_P3nc`, - "sidebarItemTitle": `sidebarItemTitle_VrjY`, - "sidebarItemList": `sidebarItemList_OSkG`, - "sidebarItem": `sidebarItem_WJ0y`, - "sidebarItemLink": `sidebarItemLink_Qrfg`, - "sidebarItemLinkActive": `sidebarItemLinkActive_nUeK`, - "yearGroupHeading": `yearGroupHeading_lECJ` -}; - - -/***/ }), - -/***/ 4176: -/***/ ((module) => { - -// Exports -module.exports = { - "yearGroupHeading": `yearGroupHeading_Ruz9` -}; - - -/***/ }), - -/***/ 4197: -/***/ ((module) => { - -// Exports -module.exports = { - "codeBlockContainer": `codeBlockContainer_jDV4` -}; - - -/***/ }), - -/***/ 4799: -/***/ ((module) => { - -// Exports -module.exports = { - "codeBlockContent": `codeBlockContent_vx7S`, - "codeBlockTitle": `codeBlockTitle_bdru`, - "codeBlock": `codeBlock_Gebt`, - "codeBlockStandalone": `codeBlockStandalone_i_cY`, - "codeBlockLines": `codeBlockLines_FJaf`, - "codeBlockLinesWithNumbering": `codeBlockLinesWithNumbering_FU9Q`, - "buttonGroup": `buttonGroup_cUGO` -}; - - -/***/ }), - -/***/ 4099: -/***/ ((module) => { - -// Exports -module.exports = { - "copyButtonCopied": `copyButtonCopied_OkN_`, - "copyButtonIcons": `copyButtonIcons_OqsO`, - "copyButtonIcon": `copyButtonIcon_PgCn`, - "copyButtonSuccessIcon": `copyButtonSuccessIcon_bsQG` -}; - - -/***/ }), - -/***/ 8542: -/***/ ((module) => { - -// Exports -module.exports = { - "codeLine": `codeLine_qRmp`, - "codeLineNumber": `codeLineNumber_dS_J`, - "codeLineContent": `codeLineContent_XF5l` -}; - - -/***/ }), - -/***/ 480: -/***/ ((module) => { - -// Exports -module.exports = { - "wordWrapButtonIcon": `wordWrapButtonIcon_MQXS`, - "wordWrapButtonEnabled": `wordWrapButtonEnabled_TBIH` -}; - - -/***/ }), - -/***/ 6583: -/***/ ((module) => { - -// Exports -module.exports = { - "toggle": `toggle_bT41`, - "toggleButton": `toggleButton_x9TT`, - "darkToggleIcon": `darkToggleIcon_OBbf`, - "lightToggleIcon": `lightToggleIcon_dnYY`, - "toggleButtonDisabled": `toggleButtonDisabled_Dj8q` -}; - - -/***/ }), - -/***/ 1733: -/***/ ((module) => { - -// Exports -module.exports = { - "details": `details_Cn_P` -}; - - -/***/ }), - -/***/ 6574: -/***/ ((module) => { - -// Exports -module.exports = { - "breadcrumbHomeIcon": `breadcrumbHomeIcon_uaSn` -}; - - -/***/ }), - -/***/ 6669: -/***/ ((module) => { - -// Exports -module.exports = { - "breadcrumbsContainer": `breadcrumbsContainer_Wvrh` -}; - - -/***/ }), - -/***/ 4855: -/***/ ((module) => { - -// Exports -module.exports = { - "cardContainer": `cardContainer_Uewx`, - "cardTitle": `cardTitle_dwRT`, - "cardDescription": `cardDescription_mCBT` -}; - - -/***/ }), - -/***/ 9951: -/***/ ((module) => { - -// Exports -module.exports = { - "docCardListItem": `docCardListItem_hvcp` -}; - - -/***/ }), - -/***/ 3745: -/***/ ((module) => { - -// Exports -module.exports = { - "generatedIndexPage": `generatedIndexPage_hs4p`, - "title": `title_tRie` -}; - - -/***/ }), - -/***/ 4857: -/***/ ((module) => { - -// Exports -module.exports = { - "docItemContainer": `docItemContainer_RhpI`, - "docItemCol": `docItemCol_n6xZ` -}; - - -/***/ }), - -/***/ 3276: -/***/ ((module) => { - -// Exports -module.exports = { - "tocMobile": `tocMobile_NSfz` -}; - - -/***/ }), - -/***/ 1154: -/***/ ((module) => { - -// Exports -module.exports = { - "docMainContainer": `docMainContainer_EfwR`, - "docMainContainerEnhanced": `docMainContainerEnhanced_r8nV`, - "docItemWrapperEnhanced": `docItemWrapperEnhanced_nA1F` -}; - - -/***/ }), - -/***/ 2822: -/***/ ((module) => { - -// Exports -module.exports = { - "expandButton": `expandButton_ockD`, - "expandButtonIcon": `expandButtonIcon_H1n0` -}; - - -/***/ }), - -/***/ 9359: -/***/ ((module) => { - -// Exports -module.exports = { - "docSidebarContainer": `docSidebarContainer_S51O`, - "docSidebarContainerHidden": `docSidebarContainerHidden_gbDM`, - "sidebarViewport": `sidebarViewport_K3q9` -}; - - -/***/ }), - -/***/ 2114: -/***/ ((module) => { - -// Exports -module.exports = { - "docRoot": `docRoot_kBZ6`, - "docsWrapper": `docsWrapper_lLmf` -}; - - -/***/ }), - -/***/ 7792: -/***/ ((module) => { - -// Exports -module.exports = { - "collapseSidebarButton": `collapseSidebarButton_PUyN`, - "collapseSidebarButtonIcon": `collapseSidebarButtonIcon_DI0B` -}; - - -/***/ }), - -/***/ 76: -/***/ ((module) => { - -// Exports -module.exports = { - "menu": `menu_rWGR`, - "menuWithAnnouncementBar": `menuWithAnnouncementBar_Pf08` -}; - - -/***/ }), - -/***/ 5546: -/***/ ((module) => { - -// Exports -module.exports = { - "sidebar": `sidebar_vtcw`, - "sidebarWithHideableNavbar": `sidebarWithHideableNavbar_tZ9s`, - "sidebarHidden": `sidebarHidden_PrHU`, - "sidebarLogo": `sidebarLogo_UK0N` -}; - - -/***/ }), - -/***/ 7682: -/***/ ((module) => { - -// Exports -module.exports = { - "menuHtmlItem": `menuHtmlItem_t1vY` -}; - - -/***/ }), - -/***/ 4441: -/***/ ((module) => { - -// Exports -module.exports = { - "menuExternalLink": `menuExternalLink_zaS2` -}; - - -/***/ }), - -/***/ 466: -/***/ ((module) => { - -// Exports -module.exports = { - "lastUpdated": `lastUpdated_OHCJ` -}; - - -/***/ }), - -/***/ 3970: -/***/ ((module) => { - -// Exports -module.exports = { - "footerLogoLink": `footerLogoLink_CiM_` -}; - - -/***/ }), - -/***/ 4693: -/***/ ((module) => { - -// Exports -module.exports = { - "anchorWithStickyNavbar": `anchorWithStickyNavbar_rB0w`, - "anchorWithHideOnScrollNavbar": `anchorWithHideOnScrollNavbar_SSbb` -}; - - -/***/ }), - -/***/ 2433: -/***/ ((module) => { - -// Exports -module.exports = { - "iconEdit": `iconEdit_IMw_` -}; - - -/***/ }), - -/***/ 5708: -/***/ ((module) => { - -// Exports -module.exports = { - "iconExternalLink": `iconExternalLink_Rdzz` -}; - - -/***/ }), - -/***/ 4979: -/***/ ((module) => { - -// Exports -module.exports = { - "githubSvg": `githubSvg_jqE4` -}; - - -/***/ }), - -/***/ 3138: -/***/ ((module) => { - -// Exports -module.exports = { - "instagramSvg": `instagramSvg_Svcp` -}; - - -/***/ }), - -/***/ 5717: -/***/ ((module) => { - -// Exports -module.exports = { - "threadsSvg": `threadsSvg_kngY` -}; - - -/***/ }), - -/***/ 2158: -/***/ ((module) => { - -// Exports -module.exports = { - "xSvg": `xSvg_Q0g7` -}; - - -/***/ }), - -/***/ 2231: -/***/ ((module) => { - -// Exports -module.exports = { - "mainWrapper": `mainWrapper_PEsc` -}; - - -/***/ }), - -/***/ 5614: -/***/ ((module) => { - -// Exports -module.exports = { - "img": `img_vXGZ` -}; - - -/***/ }), - -/***/ 30: -/***/ ((module) => { - -// Exports -module.exports = { - "containsTaskList": `containsTaskList_k9gM` -}; - - -/***/ }), - -/***/ 7143: -/***/ ((module) => { - -// Exports -module.exports = { - "mdxPageWrapper": `mdxPageWrapper_bWhk` -}; - - -/***/ }), - -/***/ 6746: -/***/ ((module) => { - -// Exports -module.exports = { - "darkNavbarColorModeToggle": `darkNavbarColorModeToggle_JF8j` -}; - - -/***/ }), - -/***/ 681: -/***/ ((module) => { - -// Exports -module.exports = { - "colorModeToggle": `colorModeToggle_UolE` -}; - - -/***/ }), - -/***/ 8476: -/***/ ((module) => { - -// Exports -module.exports = { - "navbarHideable": `navbarHideable_uAgx`, - "navbarHidden": `navbarHidden_QgM6` -}; - - -/***/ }), - -/***/ 5810: -/***/ ((module) => { - -// Exports -module.exports = { - "navbarSearchContainer": `navbarSearchContainer_dDCC` -}; - - -/***/ }), - -/***/ 5389: -/***/ ((module) => { - -// Exports -module.exports = { - "dropdownNavbarItemMobile": `dropdownNavbarItemMobile_A1en` -}; - - -/***/ }), - -/***/ 3403: -/***/ ((module) => { - -// Exports -module.exports = { - "iconLanguage": `iconLanguage_tqOs` -}; - - -/***/ }), - -/***/ 8858: -/***/ ((module) => { - -// Exports -module.exports = { - "skipToContent": `skipToContent_UHvc` -}; - - -/***/ }), - -/***/ 5429: -/***/ ((module) => { - -// Exports -module.exports = { - "tableOfContents": `tableOfContents_RLlU`, - "docItemContainer": `docItemContainer_oucX` -}; - - -/***/ }), - -/***/ 4112: -/***/ ((module) => { - -// Exports -module.exports = { - "tocCollapsibleButton": `tocCollapsibleButton_IbtT`, - "tocCollapsibleButtonExpanded": `tocCollapsibleButtonExpanded_Nor3` -}; - - -/***/ }), - -/***/ 3939: -/***/ ((module) => { - -// Exports -module.exports = { - "tocCollapsible": `tocCollapsible_BEWm`, - "tocCollapsibleContent": `tocCollapsibleContent_FG8F`, - "tocCollapsibleExpanded": `tocCollapsibleExpanded_FzA_` -}; - - -/***/ }), - -/***/ 8595: -/***/ ((module) => { - -// Exports -module.exports = { - "tag": `tag_Nd8t`, - "tagRegular": `tagRegular_TiLs`, - "tagWithCount": `tagWithCount_AQg7` -}; - - -/***/ }), - -/***/ 9261: -/***/ ((module) => { - -// Exports -module.exports = { - "tag": `tag_SyQ5` -}; - - -/***/ }), - -/***/ 6709: -/***/ ((module) => { - -// Exports -module.exports = { - "tags": `tags_rTaS`, - "tag": `tag_l5va` -}; - - -/***/ }), - -/***/ 373: -/***/ ((module) => { - -// Exports -module.exports = { - "details": `details_Nokh`, - "isBrowser": `isBrowser_QrB5`, - "collapsibleContent": `collapsibleContent_EoA1` -}; - - -/***/ }), - -/***/ 8361: -/***/ ((module) => { - -// Exports -module.exports = { - "themedComponent": `themedComponent_bJGS`, - "themedComponent--light": `themedComponent--light_LEkC`, - "themedComponent--dark": `themedComponent--dark_jnGk` -}; - - -/***/ }), - -/***/ 8474: -/***/ ((module) => { - -// Exports -module.exports = { - "errorBoundaryError": `errorBoundaryError_rP1m`, - "errorBoundaryFallback": `errorBoundaryFallback_heah` -}; - - -/***/ }), - -/***/ 8851: -/***/ ((module) => { - -// Exports -module.exports = { - -}; - - -/***/ }), - -/***/ 6292: -/***/ ((module) => { - -// Exports -module.exports = { - "features": `features_t9lD`, - "featureSvg": `featureSvg_GfXr` -}; - - -/***/ }), - -/***/ 1514: -/***/ ((module) => { - -// Exports -module.exports = { - "heroBanner": `heroBanner_qdFl`, - "buttons": `buttons_AeoN` -}; - - -/***/ }), - -/***/ 6941: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - zR: () => (/* binding */ createBrowserHistory), - TM: () => (/* binding */ createHashHistory), - yJ: () => (/* binding */ createLocation), - sC: () => (/* binding */ createMemoryHistory), - AO: () => (/* binding */ createPath) -}); - -// UNUSED EXPORTS: locationsAreEqual, parsePath - -// EXTERNAL MODULE: ../node_modules/@babel/runtime/helpers/esm/extends.js -var esm_extends = __webpack_require__(8102); -;// ../node_modules/resolve-pathname/esm/resolve-pathname.js -function isAbsolute(pathname) { - return pathname.charAt(0) === '/'; -} - -// About 1.5x faster than the two-arg version of Array#splice() -function spliceOne(list, index) { - for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) { - list[i] = list[k]; - } - - list.pop(); -} - -// This implementation is based heavily on node's url.parse -function resolvePathname(to, from) { - if (from === undefined) from = ''; - - var toParts = (to && to.split('/')) || []; - var fromParts = (from && from.split('/')) || []; - - var isToAbs = to && isAbsolute(to); - var isFromAbs = from && isAbsolute(from); - var mustEndAbs = isToAbs || isFromAbs; - - if (to && isAbsolute(to)) { - // to is absolute - fromParts = toParts; - } else if (toParts.length) { - // to is relative, drop the filename - fromParts.pop(); - fromParts = fromParts.concat(toParts); - } - - if (!fromParts.length) return '/'; - - var hasTrailingSlash; - if (fromParts.length) { - var last = fromParts[fromParts.length - 1]; - hasTrailingSlash = last === '.' || last === '..' || last === ''; - } else { - hasTrailingSlash = false; - } - - var up = 0; - for (var i = fromParts.length; i >= 0; i--) { - var part = fromParts[i]; - - if (part === '.') { - spliceOne(fromParts, i); - } else if (part === '..') { - spliceOne(fromParts, i); - up++; - } else if (up) { - spliceOne(fromParts, i); - up--; - } - } - - if (!mustEndAbs) for (; up--; up) fromParts.unshift('..'); - - if ( - mustEndAbs && - fromParts[0] !== '' && - (!fromParts[0] || !isAbsolute(fromParts[0])) - ) - fromParts.unshift(''); - - var result = fromParts.join('/'); - - if (hasTrailingSlash && result.substr(-1) !== '/') result += '/'; - - return result; -} - -/* harmony default export */ const resolve_pathname = (resolvePathname); - -// EXTERNAL MODULE: ../node_modules/tiny-invariant/dist/esm/tiny-invariant.js -var tiny_invariant = __webpack_require__(6143); -;// ../node_modules/history/esm/history.js - - - - - - -function addLeadingSlash(path) { - return path.charAt(0) === '/' ? path : '/' + path; -} -function stripLeadingSlash(path) { - return path.charAt(0) === '/' ? path.substr(1) : path; -} -function hasBasename(path, prefix) { - return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1; -} -function stripBasename(path, prefix) { - return hasBasename(path, prefix) ? path.substr(prefix.length) : path; -} -function stripTrailingSlash(path) { - return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path; -} -function parsePath(path) { - var pathname = path || '/'; - var search = ''; - var hash = ''; - var hashIndex = pathname.indexOf('#'); - - if (hashIndex !== -1) { - hash = pathname.substr(hashIndex); - pathname = pathname.substr(0, hashIndex); - } - - var searchIndex = pathname.indexOf('?'); - - if (searchIndex !== -1) { - search = pathname.substr(searchIndex); - pathname = pathname.substr(0, searchIndex); - } - - return { - pathname: pathname, - search: search === '?' ? '' : search, - hash: hash === '#' ? '' : hash - }; -} -function createPath(location) { - var pathname = location.pathname, - search = location.search, - hash = location.hash; - var path = pathname || '/'; - if (search && search !== '?') path += search.charAt(0) === '?' ? search : "?" + search; - if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : "#" + hash; - return path; -} - -function createLocation(path, state, key, currentLocation) { - var location; - - if (typeof path === 'string') { - // Two-arg form: push(path, state) - location = parsePath(path); - location.state = state; - } else { - // One-arg form: push(location) - location = (0,esm_extends/* default */.A)({}, path); - if (location.pathname === undefined) location.pathname = ''; - - if (location.search) { - if (location.search.charAt(0) !== '?') location.search = '?' + location.search; - } else { - location.search = ''; - } - - if (location.hash) { - if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash; - } else { - location.hash = ''; - } - - if (state !== undefined && location.state === undefined) location.state = state; - } - - try { - location.pathname = decodeURI(location.pathname); - } catch (e) { - if (e instanceof URIError) { - throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.'); - } else { - throw e; - } - } - - if (key) location.key = key; - - if (currentLocation) { - // Resolve incomplete/relative pathname relative to current location. - if (!location.pathname) { - location.pathname = currentLocation.pathname; - } else if (location.pathname.charAt(0) !== '/') { - location.pathname = resolve_pathname(location.pathname, currentLocation.pathname); - } - } else { - // When there is no prior location and pathname is empty, set it to / - if (!location.pathname) { - location.pathname = '/'; - } - } - - return location; -} -function locationsAreEqual(a, b) { - return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state); -} - -function createTransitionManager() { - var prompt = null; - - function setPrompt(nextPrompt) { - false ? 0 : void 0; - prompt = nextPrompt; - return function () { - if (prompt === nextPrompt) prompt = null; - }; - } - - function confirmTransitionTo(location, action, getUserConfirmation, callback) { - // TODO: If another transition starts while we're still confirming - // the previous one, we may end up in a weird state. Figure out the - // best way to handle this. - if (prompt != null) { - var result = typeof prompt === 'function' ? prompt(location, action) : prompt; - - if (typeof result === 'string') { - if (typeof getUserConfirmation === 'function') { - getUserConfirmation(result, callback); - } else { - false ? 0 : void 0; - callback(true); - } - } else { - // Return false from a transition hook to cancel the transition. - callback(result !== false); - } - } else { - callback(true); - } - } - - var listeners = []; - - function appendListener(fn) { - var isActive = true; - - function listener() { - if (isActive) fn.apply(void 0, arguments); - } - - listeners.push(listener); - return function () { - isActive = false; - listeners = listeners.filter(function (item) { - return item !== listener; - }); - }; - } - - function notifyListeners() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - listeners.forEach(function (listener) { - return listener.apply(void 0, args); - }); - } - - return { - setPrompt: setPrompt, - confirmTransitionTo: confirmTransitionTo, - appendListener: appendListener, - notifyListeners: notifyListeners - }; -} - -var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); -function getConfirmation(message, callback) { - callback(window.confirm(message)); // eslint-disable-line no-alert -} -/** - * Returns true if the HTML5 history API is supported. Taken from Modernizr. - * - * https://github.com/Modernizr/Modernizr/blob/master/LICENSE - * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js - * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586 - */ - -function supportsHistory() { - var ua = window.navigator.userAgent; - if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false; - return window.history && 'pushState' in window.history; -} -/** - * Returns true if browser fires popstate on hash change. - * IE10 and IE11 do not. - */ - -function supportsPopStateOnHashChange() { - return window.navigator.userAgent.indexOf('Trident') === -1; -} -/** - * Returns false if using go(n) with hash history causes a full page reload. - */ - -function supportsGoWithoutReloadUsingHash() { - return window.navigator.userAgent.indexOf('Firefox') === -1; -} -/** - * Returns true if a given popstate event is an extraneous WebKit event. - * Accounts for the fact that Chrome on iOS fires real popstate events - * containing undefined state when pressing the back button. - */ - -function isExtraneousPopstateEvent(event) { - return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1; -} - -var PopStateEvent = 'popstate'; -var HashChangeEvent = 'hashchange'; - -function getHistoryState() { - try { - return window.history.state || {}; - } catch (e) { - // IE 11 sometimes throws when accessing window.history.state - // See https://github.com/ReactTraining/history/pull/289 - return {}; - } -} -/** - * Creates a history object that uses the HTML5 history API including - * pushState, replaceState, and the popstate event. - */ - - -function createBrowserHistory(props) { - if (props === void 0) { - props = {}; - } - - !canUseDOM ? false ? 0 : (0,tiny_invariant/* default */.A)(false) : void 0; - var globalHistory = window.history; - var canUseHistory = supportsHistory(); - var needsHashChangeListener = !supportsPopStateOnHashChange(); - var _props = props, - _props$forceRefresh = _props.forceRefresh, - forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh, - _props$getUserConfirm = _props.getUserConfirmation, - getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm, - _props$keyLength = _props.keyLength, - keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength; - var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : ''; - - function getDOMLocation(historyState) { - var _ref = historyState || {}, - key = _ref.key, - state = _ref.state; - - var _window$location = window.location, - pathname = _window$location.pathname, - search = _window$location.search, - hash = _window$location.hash; - var path = pathname + search + hash; - false ? 0 : void 0; - if (basename) path = stripBasename(path, basename); - return createLocation(path, state, key); - } - - function createKey() { - return Math.random().toString(36).substr(2, keyLength); - } - - var transitionManager = createTransitionManager(); - - function setState(nextState) { - (0,esm_extends/* default */.A)(history, nextState); - - history.length = globalHistory.length; - transitionManager.notifyListeners(history.location, history.action); - } - - function handlePopState(event) { - // Ignore extraneous popstate events in WebKit. - if (isExtraneousPopstateEvent(event)) return; - handlePop(getDOMLocation(event.state)); - } - - function handleHashChange() { - handlePop(getDOMLocation(getHistoryState())); - } - - var forceNextPop = false; - - function handlePop(location) { - if (forceNextPop) { - forceNextPop = false; - setState(); - } else { - var action = 'POP'; - transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { - if (ok) { - setState({ - action: action, - location: location - }); - } else { - revertPop(location); - } - }); - } - } - - function revertPop(fromLocation) { - var toLocation = history.location; // TODO: We could probably make this more reliable by - // keeping a list of keys we've seen in sessionStorage. - // Instead, we just default to 0 for keys we don't know. - - var toIndex = allKeys.indexOf(toLocation.key); - if (toIndex === -1) toIndex = 0; - var fromIndex = allKeys.indexOf(fromLocation.key); - if (fromIndex === -1) fromIndex = 0; - var delta = toIndex - fromIndex; - - if (delta) { - forceNextPop = true; - go(delta); - } - } - - var initialLocation = getDOMLocation(getHistoryState()); - var allKeys = [initialLocation.key]; // Public interface - - function createHref(location) { - return basename + createPath(location); - } - - function push(path, state) { - false ? 0 : void 0; - var action = 'PUSH'; - var location = createLocation(path, state, createKey(), history.location); - transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { - if (!ok) return; - var href = createHref(location); - var key = location.key, - state = location.state; - - if (canUseHistory) { - globalHistory.pushState({ - key: key, - state: state - }, null, href); - - if (forceRefresh) { - window.location.href = href; - } else { - var prevIndex = allKeys.indexOf(history.location.key); - var nextKeys = allKeys.slice(0, prevIndex + 1); - nextKeys.push(location.key); - allKeys = nextKeys; - setState({ - action: action, - location: location - }); - } - } else { - false ? 0 : void 0; - window.location.href = href; - } - }); - } - - function replace(path, state) { - false ? 0 : void 0; - var action = 'REPLACE'; - var location = createLocation(path, state, createKey(), history.location); - transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { - if (!ok) return; - var href = createHref(location); - var key = location.key, - state = location.state; - - if (canUseHistory) { - globalHistory.replaceState({ - key: key, - state: state - }, null, href); - - if (forceRefresh) { - window.location.replace(href); - } else { - var prevIndex = allKeys.indexOf(history.location.key); - if (prevIndex !== -1) allKeys[prevIndex] = location.key; - setState({ - action: action, - location: location - }); - } - } else { - false ? 0 : void 0; - window.location.replace(href); - } - }); - } - - function go(n) { - globalHistory.go(n); - } - - function goBack() { - go(-1); - } - - function goForward() { - go(1); - } - - var listenerCount = 0; - - function checkDOMListeners(delta) { - listenerCount += delta; - - if (listenerCount === 1 && delta === 1) { - window.addEventListener(PopStateEvent, handlePopState); - if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange); - } else if (listenerCount === 0) { - window.removeEventListener(PopStateEvent, handlePopState); - if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange); - } - } - - var isBlocked = false; - - function block(prompt) { - if (prompt === void 0) { - prompt = false; - } - - var unblock = transitionManager.setPrompt(prompt); - - if (!isBlocked) { - checkDOMListeners(1); - isBlocked = true; - } - - return function () { - if (isBlocked) { - isBlocked = false; - checkDOMListeners(-1); - } - - return unblock(); - }; - } - - function listen(listener) { - var unlisten = transitionManager.appendListener(listener); - checkDOMListeners(1); - return function () { - checkDOMListeners(-1); - unlisten(); - }; - } - - var history = { - length: globalHistory.length, - action: 'POP', - location: initialLocation, - createHref: createHref, - push: push, - replace: replace, - go: go, - goBack: goBack, - goForward: goForward, - block: block, - listen: listen - }; - return history; -} - -var HashChangeEvent$1 = 'hashchange'; -var HashPathCoders = { - hashbang: { - encodePath: function encodePath(path) { - return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path); - }, - decodePath: function decodePath(path) { - return path.charAt(0) === '!' ? path.substr(1) : path; - } - }, - noslash: { - encodePath: stripLeadingSlash, - decodePath: addLeadingSlash - }, - slash: { - encodePath: addLeadingSlash, - decodePath: addLeadingSlash - } -}; - -function stripHash(url) { - var hashIndex = url.indexOf('#'); - return hashIndex === -1 ? url : url.slice(0, hashIndex); -} - -function getHashPath() { - // We can't use window.location.hash here because it's not - // consistent across browsers - Firefox will pre-decode it! - var href = window.location.href; - var hashIndex = href.indexOf('#'); - return hashIndex === -1 ? '' : href.substring(hashIndex + 1); -} - -function pushHashPath(path) { - window.location.hash = path; -} - -function replaceHashPath(path) { - window.location.replace(stripHash(window.location.href) + '#' + path); -} - -function createHashHistory(props) { - if (props === void 0) { - props = {}; - } - - !canUseDOM ? false ? 0 : (0,tiny_invariant/* default */.A)(false) : void 0; - var globalHistory = window.history; - var canGoWithoutReload = supportsGoWithoutReloadUsingHash(); - var _props = props, - _props$getUserConfirm = _props.getUserConfirmation, - getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm, - _props$hashType = _props.hashType, - hashType = _props$hashType === void 0 ? 'slash' : _props$hashType; - var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : ''; - var _HashPathCoders$hashT = HashPathCoders[hashType], - encodePath = _HashPathCoders$hashT.encodePath, - decodePath = _HashPathCoders$hashT.decodePath; - - function getDOMLocation() { - var path = decodePath(getHashPath()); - false ? 0 : void 0; - if (basename) path = stripBasename(path, basename); - return createLocation(path); - } - - var transitionManager = createTransitionManager(); - - function setState(nextState) { - (0,esm_extends/* default */.A)(history, nextState); - - history.length = globalHistory.length; - transitionManager.notifyListeners(history.location, history.action); - } - - var forceNextPop = false; - var ignorePath = null; - - function locationsAreEqual$$1(a, b) { - return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash; - } - - function handleHashChange() { - var path = getHashPath(); - var encodedPath = encodePath(path); - - if (path !== encodedPath) { - // Ensure we always have a properly-encoded hash. - replaceHashPath(encodedPath); - } else { - var location = getDOMLocation(); - var prevLocation = history.location; - if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change. - - if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace. - - ignorePath = null; - handlePop(location); - } - } - - function handlePop(location) { - if (forceNextPop) { - forceNextPop = false; - setState(); - } else { - var action = 'POP'; - transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { - if (ok) { - setState({ - action: action, - location: location - }); - } else { - revertPop(location); - } - }); - } - } - - function revertPop(fromLocation) { - var toLocation = history.location; // TODO: We could probably make this more reliable by - // keeping a list of paths we've seen in sessionStorage. - // Instead, we just default to 0 for paths we don't know. - - var toIndex = allPaths.lastIndexOf(createPath(toLocation)); - if (toIndex === -1) toIndex = 0; - var fromIndex = allPaths.lastIndexOf(createPath(fromLocation)); - if (fromIndex === -1) fromIndex = 0; - var delta = toIndex - fromIndex; - - if (delta) { - forceNextPop = true; - go(delta); - } - } // Ensure the hash is encoded properly before doing anything else. - - - var path = getHashPath(); - var encodedPath = encodePath(path); - if (path !== encodedPath) replaceHashPath(encodedPath); - var initialLocation = getDOMLocation(); - var allPaths = [createPath(initialLocation)]; // Public interface - - function createHref(location) { - var baseTag = document.querySelector('base'); - var href = ''; - - if (baseTag && baseTag.getAttribute('href')) { - href = stripHash(window.location.href); - } - - return href + '#' + encodePath(basename + createPath(location)); - } - - function push(path, state) { - false ? 0 : void 0; - var action = 'PUSH'; - var location = createLocation(path, undefined, undefined, history.location); - transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { - if (!ok) return; - var path = createPath(location); - var encodedPath = encodePath(basename + path); - var hashChanged = getHashPath() !== encodedPath; - - if (hashChanged) { - // We cannot tell if a hashchange was caused by a PUSH, so we'd - // rather setState here and ignore the hashchange. The caveat here - // is that other hash histories in the page will consider it a POP. - ignorePath = path; - pushHashPath(encodedPath); - var prevIndex = allPaths.lastIndexOf(createPath(history.location)); - var nextPaths = allPaths.slice(0, prevIndex + 1); - nextPaths.push(path); - allPaths = nextPaths; - setState({ - action: action, - location: location - }); - } else { - false ? 0 : void 0; - setState(); - } - }); - } - - function replace(path, state) { - false ? 0 : void 0; - var action = 'REPLACE'; - var location = createLocation(path, undefined, undefined, history.location); - transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { - if (!ok) return; - var path = createPath(location); - var encodedPath = encodePath(basename + path); - var hashChanged = getHashPath() !== encodedPath; - - if (hashChanged) { - // We cannot tell if a hashchange was caused by a REPLACE, so we'd - // rather setState here and ignore the hashchange. The caveat here - // is that other hash histories in the page will consider it a POP. - ignorePath = path; - replaceHashPath(encodedPath); - } - - var prevIndex = allPaths.indexOf(createPath(history.location)); - if (prevIndex !== -1) allPaths[prevIndex] = path; - setState({ - action: action, - location: location - }); - }); - } - - function go(n) { - false ? 0 : void 0; - globalHistory.go(n); - } - - function goBack() { - go(-1); - } - - function goForward() { - go(1); - } - - var listenerCount = 0; - - function checkDOMListeners(delta) { - listenerCount += delta; - - if (listenerCount === 1 && delta === 1) { - window.addEventListener(HashChangeEvent$1, handleHashChange); - } else if (listenerCount === 0) { - window.removeEventListener(HashChangeEvent$1, handleHashChange); - } - } - - var isBlocked = false; - - function block(prompt) { - if (prompt === void 0) { - prompt = false; - } - - var unblock = transitionManager.setPrompt(prompt); - - if (!isBlocked) { - checkDOMListeners(1); - isBlocked = true; - } - - return function () { - if (isBlocked) { - isBlocked = false; - checkDOMListeners(-1); - } - - return unblock(); - }; - } - - function listen(listener) { - var unlisten = transitionManager.appendListener(listener); - checkDOMListeners(1); - return function () { - checkDOMListeners(-1); - unlisten(); - }; - } - - var history = { - length: globalHistory.length, - action: 'POP', - location: initialLocation, - createHref: createHref, - push: push, - replace: replace, - go: go, - goBack: goBack, - goForward: goForward, - block: block, - listen: listen - }; - return history; -} - -function clamp(n, lowerBound, upperBound) { - return Math.min(Math.max(n, lowerBound), upperBound); -} -/** - * Creates a history object that stores locations in memory. - */ - - -function createMemoryHistory(props) { - if (props === void 0) { - props = {}; - } - - var _props = props, - getUserConfirmation = _props.getUserConfirmation, - _props$initialEntries = _props.initialEntries, - initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries, - _props$initialIndex = _props.initialIndex, - initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex, - _props$keyLength = _props.keyLength, - keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength; - var transitionManager = createTransitionManager(); - - function setState(nextState) { - (0,esm_extends/* default */.A)(history, nextState); - - history.length = history.entries.length; - transitionManager.notifyListeners(history.location, history.action); - } - - function createKey() { - return Math.random().toString(36).substr(2, keyLength); - } - - var index = clamp(initialIndex, 0, initialEntries.length - 1); - var entries = initialEntries.map(function (entry) { - return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey()); - }); // Public interface - - var createHref = createPath; - - function push(path, state) { - false ? 0 : void 0; - var action = 'PUSH'; - var location = createLocation(path, state, createKey(), history.location); - transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { - if (!ok) return; - var prevIndex = history.index; - var nextIndex = prevIndex + 1; - var nextEntries = history.entries.slice(0); - - if (nextEntries.length > nextIndex) { - nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location); - } else { - nextEntries.push(location); - } - - setState({ - action: action, - location: location, - index: nextIndex, - entries: nextEntries - }); - }); - } - - function replace(path, state) { - false ? 0 : void 0; - var action = 'REPLACE'; - var location = createLocation(path, state, createKey(), history.location); - transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { - if (!ok) return; - history.entries[history.index] = location; - setState({ - action: action, - location: location - }); - }); - } - - function go(n) { - var nextIndex = clamp(history.index + n, 0, history.entries.length - 1); - var action = 'POP'; - var location = history.entries[nextIndex]; - transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { - if (ok) { - setState({ - action: action, - location: location, - index: nextIndex - }); - } else { - // Mimic the behavior of DOM histories by - // causing a render after a cancelled POP. - setState(); - } - }); - } - - function goBack() { - go(-1); - } - - function goForward() { - go(1); - } - - function canGo(n) { - var nextIndex = history.index + n; - return nextIndex >= 0 && nextIndex < history.entries.length; - } - - function block(prompt) { - if (prompt === void 0) { - prompt = false; - } - - return transitionManager.setPrompt(prompt); - } - - function listen(listener) { - return transitionManager.appendListener(listener); - } - - var history = { - length: entries.length, - action: 'POP', - location: entries[index], - index: index, - entries: entries, - createHref: createHref, - push: push, - replace: replace, - go: go, - goBack: goBack, - goForward: goForward, - canGo: canGo, - block: block, - listen: listen - }; - return history; -} - - - - -/***/ }), - -/***/ 8486: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var reactIs = __webpack_require__(9360); - -/** - * Copyright 2015, Yahoo! Inc. - * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. - */ -var REACT_STATICS = { - childContextTypes: true, - contextType: true, - contextTypes: true, - defaultProps: true, - displayName: true, - getDefaultProps: true, - getDerivedStateFromError: true, - getDerivedStateFromProps: true, - mixins: true, - propTypes: true, - type: true -}; -var KNOWN_STATICS = { - name: true, - length: true, - prototype: true, - caller: true, - callee: true, - arguments: true, - arity: true -}; -var FORWARD_REF_STATICS = { - '$$typeof': true, - render: true, - defaultProps: true, - displayName: true, - propTypes: true -}; -var MEMO_STATICS = { - '$$typeof': true, - compare: true, - defaultProps: true, - displayName: true, - propTypes: true, - type: true -}; -var TYPE_STATICS = {}; -TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; -TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; - -function getStatics(component) { - // React v16.11 and below - if (reactIs.isMemo(component)) { - return MEMO_STATICS; - } // React v16.12 and above - - - return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; -} - -var defineProperty = Object.defineProperty; -var getOwnPropertyNames = Object.getOwnPropertyNames; -var getOwnPropertySymbols = Object.getOwnPropertySymbols; -var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; -var getPrototypeOf = Object.getPrototypeOf; -var objectPrototype = Object.prototype; -function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { - if (typeof sourceComponent !== 'string') { - // don't hoist over string (html) components - if (objectPrototype) { - var inheritedComponent = getPrototypeOf(sourceComponent); - - if (inheritedComponent && inheritedComponent !== objectPrototype) { - hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); - } - } - - var keys = getOwnPropertyNames(sourceComponent); - - if (getOwnPropertySymbols) { - keys = keys.concat(getOwnPropertySymbols(sourceComponent)); - } - - var targetStatics = getStatics(targetComponent); - var sourceStatics = getStatics(sourceComponent); - - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - - if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { - var descriptor = getOwnPropertyDescriptor(sourceComponent, key); - - try { - // Avoid failures from read-only properties - defineProperty(targetComponent, key, descriptor); - } catch (e) {} - } - } - } - - return targetComponent; -} - -module.exports = hoistNonReactStatics; - - -/***/ }), - -/***/ 2332: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -/** @license React v16.13.1 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b? -Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119; -function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d; -exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t}; -exports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p}; -exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z; - - -/***/ }), - -/***/ 9360: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -if (true) { - module.exports = __webpack_require__(2332); -} else {} - - -/***/ }), - -/***/ 7315: -/***/ ((module) => { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ - -var NODE_ENV = "production"; - -var invariant = function(condition, format, a, b, c, d, e, f) { - if (NODE_ENV !== 'production') { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - } - - if (!condition) { - var error; - if (format === undefined) { - error = new Error( - 'Minified exception occurred; use the non-minified dev environment ' + - 'for the full error message and additional helpful warnings.' - ); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error( - format.replace(/%s/g, function() { return args[argIndex++]; }) - ); - error.name = 'Invariant Violation'; - } - - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } -}; - -module.exports = invariant; - - -/***/ }), - -/***/ 7671: -/***/ (function(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT */ - -;(function(root, factory) { - - if (true) { - !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : - __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else {} - -})(this, function() { - var NProgress = {}; - - NProgress.version = '0.2.0'; - - var Settings = NProgress.settings = { - minimum: 0.08, - easing: 'ease', - positionUsing: '', - speed: 200, - trickle: true, - trickleRate: 0.02, - trickleSpeed: 800, - showSpinner: true, - barSelector: '[role="bar"]', - spinnerSelector: '[role="spinner"]', - parent: 'body', - template: '<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>' - }; - - /** - * Updates configuration. - * - * NProgress.configure({ - * minimum: 0.1 - * }); - */ - NProgress.configure = function(options) { - var key, value; - for (key in options) { - value = options[key]; - if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value; - } - - return this; - }; - - /** - * Last number. - */ - - NProgress.status = null; - - /** - * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`. - * - * NProgress.set(0.4); - * NProgress.set(1.0); - */ - - NProgress.set = function(n) { - var started = NProgress.isStarted(); - - n = clamp(n, Settings.minimum, 1); - NProgress.status = (n === 1 ? null : n); - - var progress = NProgress.render(!started), - bar = progress.querySelector(Settings.barSelector), - speed = Settings.speed, - ease = Settings.easing; - - progress.offsetWidth; /* Repaint */ - - queue(function(next) { - // Set positionUsing if it hasn't already been set - if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS(); - - // Add transition - css(bar, barPositionCSS(n, speed, ease)); - - if (n === 1) { - // Fade out - css(progress, { - transition: 'none', - opacity: 1 - }); - progress.offsetWidth; /* Repaint */ - - setTimeout(function() { - css(progress, { - transition: 'all ' + speed + 'ms linear', - opacity: 0 - }); - setTimeout(function() { - NProgress.remove(); - next(); - }, speed); - }, speed); - } else { - setTimeout(next, speed); - } - }); - - return this; - }; - - NProgress.isStarted = function() { - return typeof NProgress.status === 'number'; - }; - - /** - * Shows the progress bar. - * This is the same as setting the status to 0%, except that it doesn't go backwards. - * - * NProgress.start(); - * - */ - NProgress.start = function() { - if (!NProgress.status) NProgress.set(0); - - var work = function() { - setTimeout(function() { - if (!NProgress.status) return; - NProgress.trickle(); - work(); - }, Settings.trickleSpeed); - }; - - if (Settings.trickle) work(); - - return this; - }; - - /** - * Hides the progress bar. - * This is the *sort of* the same as setting the status to 100%, with the - * difference being `done()` makes some placebo effect of some realistic motion. - * - * NProgress.done(); - * - * If `true` is passed, it will show the progress bar even if its hidden. - * - * NProgress.done(true); - */ - - NProgress.done = function(force) { - if (!force && !NProgress.status) return this; - - return NProgress.inc(0.3 + 0.5 * Math.random()).set(1); - }; - - /** - * Increments by a random amount. - */ - - NProgress.inc = function(amount) { - var n = NProgress.status; - - if (!n) { - return NProgress.start(); - } else { - if (typeof amount !== 'number') { - amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95); - } - - n = clamp(n + amount, 0, 0.994); - return NProgress.set(n); - } - }; - - NProgress.trickle = function() { - return NProgress.inc(Math.random() * Settings.trickleRate); - }; - - /** - * Waits for all supplied jQuery promises and - * increases the progress as the promises resolve. - * - * @param $promise jQUery Promise - */ - (function() { - var initial = 0, current = 0; - - NProgress.promise = function($promise) { - if (!$promise || $promise.state() === "resolved") { - return this; - } - - if (current === 0) { - NProgress.start(); - } - - initial++; - current++; - - $promise.always(function() { - current--; - if (current === 0) { - initial = 0; - NProgress.done(); - } else { - NProgress.set((initial - current) / initial); - } - }); - - return this; - }; - - })(); - - /** - * (Internal) renders the progress bar markup based on the `template` - * setting. - */ - - NProgress.render = function(fromStart) { - if (NProgress.isRendered()) return document.getElementById('nprogress'); - - addClass(document.documentElement, 'nprogress-busy'); - - var progress = document.createElement('div'); - progress.id = 'nprogress'; - progress.innerHTML = Settings.template; - - var bar = progress.querySelector(Settings.barSelector), - perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0), - parent = document.querySelector(Settings.parent), - spinner; - - css(bar, { - transition: 'all 0 linear', - transform: 'translate3d(' + perc + '%,0,0)' - }); - - if (!Settings.showSpinner) { - spinner = progress.querySelector(Settings.spinnerSelector); - spinner && removeElement(spinner); - } - - if (parent != document.body) { - addClass(parent, 'nprogress-custom-parent'); - } - - parent.appendChild(progress); - return progress; - }; - - /** - * Removes the element. Opposite of render(). - */ - - NProgress.remove = function() { - removeClass(document.documentElement, 'nprogress-busy'); - removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent'); - var progress = document.getElementById('nprogress'); - progress && removeElement(progress); - }; - - /** - * Checks if the progress bar is rendered. - */ - - NProgress.isRendered = function() { - return !!document.getElementById('nprogress'); - }; - - /** - * Determine which positioning CSS rule to use. - */ - - NProgress.getPositioningCSS = function() { - // Sniff on document.body.style - var bodyStyle = document.body.style; - - // Sniff prefixes - var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' : - ('MozTransform' in bodyStyle) ? 'Moz' : - ('msTransform' in bodyStyle) ? 'ms' : - ('OTransform' in bodyStyle) ? 'O' : ''; - - if (vendorPrefix + 'Perspective' in bodyStyle) { - // Modern browsers with 3D support, e.g. Webkit, IE10 - return 'translate3d'; - } else if (vendorPrefix + 'Transform' in bodyStyle) { - // Browsers without 3D support, e.g. IE9 - return 'translate'; - } else { - // Browsers without translate() support, e.g. IE7-8 - return 'margin'; - } - }; - - /** - * Helpers - */ - - function clamp(n, min, max) { - if (n < min) return min; - if (n > max) return max; - return n; - } - - /** - * (Internal) converts a percentage (`0..1`) to a bar translateX - * percentage (`-100%..0%`). - */ - - function toBarPerc(n) { - return (-1 + n) * 100; - } - - - /** - * (Internal) returns the correct CSS for changing the bar's - * position given an n percentage, and speed and ease from Settings - */ - - function barPositionCSS(n, speed, ease) { - var barCSS; - - if (Settings.positionUsing === 'translate3d') { - barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' }; - } else if (Settings.positionUsing === 'translate') { - barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' }; - } else { - barCSS = { 'margin-left': toBarPerc(n)+'%' }; - } - - barCSS.transition = 'all '+speed+'ms '+ease; - - return barCSS; - } - - /** - * (Internal) Queues a function to be executed. - */ - - var queue = (function() { - var pending = []; - - function next() { - var fn = pending.shift(); - if (fn) { - fn(next); - } - } - - return function(fn) { - pending.push(fn); - if (pending.length == 1) next(); - }; - })(); - - /** - * (Internal) Applies css properties to an element, similar to the jQuery - * css method. - * - * While this helper does assist with vendor prefixed property names, it - * does not perform any manipulation of values prior to setting styles. - */ - - var css = (function() { - var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ], - cssProps = {}; - - function camelCase(string) { - return string.replace(/^-ms-/, 'ms-').replace(/-([\da-z])/gi, function(match, letter) { - return letter.toUpperCase(); - }); - } - - function getVendorProp(name) { - var style = document.body.style; - if (name in style) return name; - - var i = cssPrefixes.length, - capName = name.charAt(0).toUpperCase() + name.slice(1), - vendorName; - while (i--) { - vendorName = cssPrefixes[i] + capName; - if (vendorName in style) return vendorName; - } - - return name; - } - - function getStyleProp(name) { - name = camelCase(name); - return cssProps[name] || (cssProps[name] = getVendorProp(name)); - } - - function applyCss(element, prop, value) { - prop = getStyleProp(prop); - element.style[prop] = value; - } - - return function(element, properties) { - var args = arguments, - prop, - value; - - if (args.length == 2) { - for (prop in properties) { - value = properties[prop]; - if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value); - } - } else { - applyCss(element, args[1], args[2]); - } - } - })(); - - /** - * (Internal) Determines if an element or space separated list of class names contains a class name. - */ - - function hasClass(element, name) { - var list = typeof element == 'string' ? element : classList(element); - return list.indexOf(' ' + name + ' ') >= 0; - } - - /** - * (Internal) Adds a class to an element. - */ - - function addClass(element, name) { - var oldList = classList(element), - newList = oldList + name; - - if (hasClass(oldList, name)) return; - - // Trim the opening space. - element.className = newList.substring(1); - } - - /** - * (Internal) Removes a class from an element. - */ - - function removeClass(element, name) { - var oldList = classList(element), - newList; - - if (!hasClass(element, name)) return; - - // Replace the class name. - newList = oldList.replace(' ' + name + ' ', ' '); - - // Trim the opening and closing spaces. - element.className = newList.substring(1, newList.length - 1); - } - - /** - * (Internal) Gets a space separated list of the class names on the element. - * The list is wrapped with a single space on each end to facilitate finding - * matches within the list. - */ - - function classList(element) { - return (' ' + (element.className || '') + ' ').replace(/\s+/gi, ' '); - } - - /** - * (Internal) Removes an element from the DOM. - */ - - function removeElement(element) { - element && element.parentNode && element.parentNode.removeChild(element); - } - - return NProgress; -}); - - - -/***/ }), - -/***/ 3300: -/***/ (() => { - - - -/***/ }), - -/***/ 7317: -/***/ (() => { - - - -/***/ }), - -/***/ 7730: -/***/ (() => { - - - -/***/ }), - -/***/ 9934: -/***/ ((module, exports) => { - -/** - * @param {string} string The string to parse - * @returns {Array<number>} Returns an energetic array. - */ -function parsePart(string) { - let res = []; - let m; - - for (let str of string.split(",").map((str) => str.trim())) { - // just a number - if (/^-?\d+$/.test(str)) { - res.push(parseInt(str, 10)); - } else if ( - (m = str.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)) - ) { - // 1-5 or 1..5 (equivalent) or 1...5 (doesn't include 5) - let [_, lhs, sep, rhs] = m; - - if (lhs && rhs) { - lhs = parseInt(lhs); - rhs = parseInt(rhs); - const incr = lhs < rhs ? 1 : -1; - - // Make it inclusive by moving the right 'stop-point' away by one. - if (sep === "-" || sep === ".." || sep === "\u2025") rhs += incr; - - for (let i = lhs; i !== rhs; i += incr) res.push(i); - } - } - } - - return res; -} - -exports["default"] = parsePart; -module.exports = parsePart; - - -/***/ }), - -/***/ 1069: -/***/ ((module) => { - -var components = {"core":{"meta":{"path":"components/prism-core.js","option":"mandatory"},"core":"Core"},"themes":{"meta":{"path":"themes/{id}.css","link":"index.html?theme={id}","exclusive":true},"prism":{"title":"Default","option":"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{"title":"Okaidia","owner":"ocodia"},"prism-twilight":{"title":"Twilight","owner":"remybach"},"prism-coy":{"title":"Coy","owner":"tshedor"},"prism-solarizedlight":{"title":"Solarized Light","owner":"hectormatos2011 "},"prism-tomorrow":{"title":"Tomorrow Night","owner":"Rosey"}},"languages":{"meta":{"path":"components/prism-{id}","noCSS":true,"examplesPath":"examples/prism-{id}","addCheckAll":true},"markup":{"title":"Markup","alias":["html","xml","svg","mathml","ssml","atom","rss"],"aliasTitles":{"html":"HTML","xml":"XML","svg":"SVG","mathml":"MathML","ssml":"SSML","atom":"Atom","rss":"RSS"},"option":"default"},"css":{"title":"CSS","option":"default","modify":"markup"},"clike":{"title":"C-like","option":"default"},"javascript":{"title":"JavaScript","require":"clike","modify":"markup","optional":"regex","alias":"js","option":"default"},"abap":{"title":"ABAP","owner":"dellagustin"},"abnf":{"title":"ABNF","owner":"RunDevelopment"},"actionscript":{"title":"ActionScript","require":"javascript","modify":"markup","owner":"Golmote"},"ada":{"title":"Ada","owner":"Lucretia"},"agda":{"title":"Agda","owner":"xy-ren"},"al":{"title":"AL","owner":"RunDevelopment"},"antlr4":{"title":"ANTLR4","alias":"g4","owner":"RunDevelopment"},"apacheconf":{"title":"Apache Configuration","owner":"GuiTeK"},"apex":{"title":"Apex","require":["clike","sql"],"owner":"RunDevelopment"},"apl":{"title":"APL","owner":"ngn"},"applescript":{"title":"AppleScript","owner":"Golmote"},"aql":{"title":"AQL","owner":"RunDevelopment"},"arduino":{"title":"Arduino","require":"cpp","alias":"ino","owner":"dkern"},"arff":{"title":"ARFF","owner":"Golmote"},"armasm":{"title":"ARM Assembly","alias":"arm-asm","owner":"RunDevelopment"},"arturo":{"title":"Arturo","alias":"art","optional":["bash","css","javascript","markup","markdown","sql"],"owner":"drkameleon"},"asciidoc":{"alias":"adoc","title":"AsciiDoc","owner":"Golmote"},"aspnet":{"title":"ASP.NET (C#)","require":["markup","csharp"],"owner":"nauzilus"},"asm6502":{"title":"6502 Assembly","owner":"kzurawel"},"asmatmel":{"title":"Atmel AVR Assembly","owner":"cerkit"},"autohotkey":{"title":"AutoHotkey","owner":"aviaryan"},"autoit":{"title":"AutoIt","owner":"Golmote"},"avisynth":{"title":"AviSynth","alias":"avs","owner":"Zinfidel"},"avro-idl":{"title":"Avro IDL","alias":"avdl","owner":"RunDevelopment"},"awk":{"title":"AWK","alias":"gawk","aliasTitles":{"gawk":"GAWK"},"owner":"RunDevelopment"},"bash":{"title":"Bash","alias":["sh","shell"],"aliasTitles":{"sh":"Shell","shell":"Shell"},"owner":"zeitgeist87"},"basic":{"title":"BASIC","owner":"Golmote"},"batch":{"title":"Batch","owner":"Golmote"},"bbcode":{"title":"BBcode","alias":"shortcode","aliasTitles":{"shortcode":"Shortcode"},"owner":"RunDevelopment"},"bbj":{"title":"BBj","owner":"hyyan"},"bicep":{"title":"Bicep","owner":"johnnyreilly"},"birb":{"title":"Birb","require":"clike","owner":"Calamity210"},"bison":{"title":"Bison","require":"c","owner":"Golmote"},"bnf":{"title":"BNF","alias":"rbnf","aliasTitles":{"rbnf":"RBNF"},"owner":"RunDevelopment"},"bqn":{"title":"BQN","owner":"yewscion"},"brainfuck":{"title":"Brainfuck","owner":"Golmote"},"brightscript":{"title":"BrightScript","owner":"RunDevelopment"},"bro":{"title":"Bro","owner":"wayward710"},"bsl":{"title":"BSL (1C:Enterprise)","alias":"oscript","aliasTitles":{"oscript":"OneScript"},"owner":"Diversus23"},"c":{"title":"C","require":"clike","owner":"zeitgeist87"},"csharp":{"title":"C#","require":"clike","alias":["cs","dotnet"],"owner":"mvalipour"},"cpp":{"title":"C++","require":"c","owner":"zeitgeist87"},"cfscript":{"title":"CFScript","require":"clike","alias":"cfc","owner":"mjclemente"},"chaiscript":{"title":"ChaiScript","require":["clike","cpp"],"owner":"RunDevelopment"},"cil":{"title":"CIL","owner":"sbrl"},"cilkc":{"title":"Cilk/C","require":"c","alias":"cilk-c","owner":"OpenCilk"},"cilkcpp":{"title":"Cilk/C++","require":"cpp","alias":["cilk-cpp","cilk"],"owner":"OpenCilk"},"clojure":{"title":"Clojure","owner":"troglotit"},"cmake":{"title":"CMake","owner":"mjrogozinski"},"cobol":{"title":"COBOL","owner":"RunDevelopment"},"coffeescript":{"title":"CoffeeScript","require":"javascript","alias":"coffee","owner":"R-osey"},"concurnas":{"title":"Concurnas","alias":"conc","owner":"jasontatton"},"csp":{"title":"Content-Security-Policy","owner":"ScottHelme"},"cooklang":{"title":"Cooklang","owner":"ahue"},"coq":{"title":"Coq","owner":"RunDevelopment"},"crystal":{"title":"Crystal","require":"ruby","owner":"MakeNowJust"},"css-extras":{"title":"CSS Extras","require":"css","modify":"css","owner":"milesj"},"csv":{"title":"CSV","owner":"RunDevelopment"},"cue":{"title":"CUE","owner":"RunDevelopment"},"cypher":{"title":"Cypher","owner":"RunDevelopment"},"d":{"title":"D","require":"clike","owner":"Golmote"},"dart":{"title":"Dart","require":"clike","owner":"Golmote"},"dataweave":{"title":"DataWeave","owner":"machaval"},"dax":{"title":"DAX","owner":"peterbud"},"dhall":{"title":"Dhall","owner":"RunDevelopment"},"diff":{"title":"Diff","owner":"uranusjr"},"django":{"title":"Django/Jinja2","require":"markup-templating","alias":"jinja2","owner":"romanvm"},"dns-zone-file":{"title":"DNS zone file","owner":"RunDevelopment","alias":"dns-zone"},"docker":{"title":"Docker","alias":"dockerfile","owner":"JustinBeckwith"},"dot":{"title":"DOT (Graphviz)","alias":"gv","optional":"markup","owner":"RunDevelopment"},"ebnf":{"title":"EBNF","owner":"RunDevelopment"},"editorconfig":{"title":"EditorConfig","owner":"osipxd"},"eiffel":{"title":"Eiffel","owner":"Conaclos"},"ejs":{"title":"EJS","require":["javascript","markup-templating"],"owner":"RunDevelopment","alias":"eta","aliasTitles":{"eta":"Eta"}},"elixir":{"title":"Elixir","owner":"Golmote"},"elm":{"title":"Elm","owner":"zwilias"},"etlua":{"title":"Embedded Lua templating","require":["lua","markup-templating"],"owner":"RunDevelopment"},"erb":{"title":"ERB","require":["ruby","markup-templating"],"owner":"Golmote"},"erlang":{"title":"Erlang","owner":"Golmote"},"excel-formula":{"title":"Excel Formula","alias":["xlsx","xls"],"owner":"RunDevelopment"},"fsharp":{"title":"F#","require":"clike","owner":"simonreynolds7"},"factor":{"title":"Factor","owner":"catb0t"},"false":{"title":"False","owner":"edukisto"},"firestore-security-rules":{"title":"Firestore security rules","require":"clike","owner":"RunDevelopment"},"flow":{"title":"Flow","require":"javascript","owner":"Golmote"},"fortran":{"title":"Fortran","owner":"Golmote"},"ftl":{"title":"FreeMarker Template Language","require":"markup-templating","owner":"RunDevelopment"},"gml":{"title":"GameMaker Language","alias":"gamemakerlanguage","require":"clike","owner":"LiarOnce"},"gap":{"title":"GAP (CAS)","owner":"RunDevelopment"},"gcode":{"title":"G-code","owner":"RunDevelopment"},"gdscript":{"title":"GDScript","owner":"RunDevelopment"},"gedcom":{"title":"GEDCOM","owner":"Golmote"},"gettext":{"title":"gettext","alias":"po","owner":"RunDevelopment"},"gherkin":{"title":"Gherkin","owner":"hason"},"git":{"title":"Git","owner":"lgiraudel"},"glsl":{"title":"GLSL","require":"c","owner":"Golmote"},"gn":{"title":"GN","alias":"gni","owner":"RunDevelopment"},"linker-script":{"title":"GNU Linker Script","alias":"ld","owner":"RunDevelopment"},"go":{"title":"Go","require":"clike","owner":"arnehormann"},"go-module":{"title":"Go module","alias":"go-mod","owner":"RunDevelopment"},"gradle":{"title":"Gradle","require":"clike","owner":"zeabdelkhalek-badido18"},"graphql":{"title":"GraphQL","optional":"markdown","owner":"Golmote"},"groovy":{"title":"Groovy","require":"clike","owner":"robfletcher"},"haml":{"title":"Haml","require":"ruby","optional":["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],"owner":"Golmote"},"handlebars":{"title":"Handlebars","require":"markup-templating","alias":["hbs","mustache"],"aliasTitles":{"mustache":"Mustache"},"owner":"Golmote"},"haskell":{"title":"Haskell","alias":"hs","owner":"bholst"},"haxe":{"title":"Haxe","require":"clike","optional":"regex","owner":"Golmote"},"hcl":{"title":"HCL","owner":"outsideris"},"hlsl":{"title":"HLSL","require":"c","owner":"RunDevelopment"},"hoon":{"title":"Hoon","owner":"matildepark"},"http":{"title":"HTTP","optional":["csp","css","hpkp","hsts","javascript","json","markup","uri"],"owner":"danielgtaylor"},"hpkp":{"title":"HTTP Public-Key-Pins","owner":"ScottHelme"},"hsts":{"title":"HTTP Strict-Transport-Security","owner":"ScottHelme"},"ichigojam":{"title":"IchigoJam","owner":"BlueCocoa"},"icon":{"title":"Icon","owner":"Golmote"},"icu-message-format":{"title":"ICU Message Format","owner":"RunDevelopment"},"idris":{"title":"Idris","alias":"idr","owner":"KeenS","require":"haskell"},"ignore":{"title":".ignore","owner":"osipxd","alias":["gitignore","hgignore","npmignore"],"aliasTitles":{"gitignore":".gitignore","hgignore":".hgignore","npmignore":".npmignore"}},"inform7":{"title":"Inform 7","owner":"Golmote"},"ini":{"title":"Ini","owner":"aviaryan"},"io":{"title":"Io","owner":"AlesTsurko"},"j":{"title":"J","owner":"Golmote"},"java":{"title":"Java","require":"clike","owner":"sherblot"},"javadoc":{"title":"JavaDoc","require":["markup","java","javadoclike"],"modify":"java","optional":"scala","owner":"RunDevelopment"},"javadoclike":{"title":"JavaDoc-like","modify":["java","javascript","php"],"owner":"RunDevelopment"},"javastacktrace":{"title":"Java stack trace","owner":"RunDevelopment"},"jexl":{"title":"Jexl","owner":"czosel"},"jolie":{"title":"Jolie","require":"clike","owner":"thesave"},"jq":{"title":"JQ","owner":"RunDevelopment"},"jsdoc":{"title":"JSDoc","require":["javascript","javadoclike","typescript"],"modify":"javascript","optional":["actionscript","coffeescript"],"owner":"RunDevelopment"},"js-extras":{"title":"JS Extras","require":"javascript","modify":"javascript","optional":["actionscript","coffeescript","flow","n4js","typescript"],"owner":"RunDevelopment"},"json":{"title":"JSON","alias":"webmanifest","aliasTitles":{"webmanifest":"Web App Manifest"},"owner":"CupOfTea696"},"json5":{"title":"JSON5","require":"json","owner":"RunDevelopment"},"jsonp":{"title":"JSONP","require":"json","owner":"RunDevelopment"},"jsstacktrace":{"title":"JS stack trace","owner":"sbrl"},"js-templates":{"title":"JS Templates","require":"javascript","modify":"javascript","optional":["css","css-extras","graphql","markdown","markup","sql"],"owner":"RunDevelopment"},"julia":{"title":"Julia","owner":"cdagnino"},"keepalived":{"title":"Keepalived Configure","owner":"dev-itsheng"},"keyman":{"title":"Keyman","owner":"mcdurdin"},"kotlin":{"title":"Kotlin","alias":["kt","kts"],"aliasTitles":{"kts":"Kotlin Script"},"require":"clike","owner":"Golmote"},"kumir":{"title":"KuMir (КуМир)","alias":"kum","owner":"edukisto"},"kusto":{"title":"Kusto","owner":"RunDevelopment"},"latex":{"title":"LaTeX","alias":["tex","context"],"aliasTitles":{"tex":"TeX","context":"ConTeXt"},"owner":"japborst"},"latte":{"title":"Latte","require":["clike","markup-templating","php"],"owner":"nette"},"less":{"title":"Less","require":"css","optional":"css-extras","owner":"Golmote"},"lilypond":{"title":"LilyPond","require":"scheme","alias":"ly","owner":"RunDevelopment"},"liquid":{"title":"Liquid","require":"markup-templating","owner":"cinhtau"},"lisp":{"title":"Lisp","alias":["emacs","elisp","emacs-lisp"],"owner":"JuanCaicedo"},"livescript":{"title":"LiveScript","owner":"Golmote"},"llvm":{"title":"LLVM IR","owner":"porglezomp"},"log":{"title":"Log file","optional":"javastacktrace","owner":"RunDevelopment"},"lolcode":{"title":"LOLCODE","owner":"Golmote"},"lua":{"title":"Lua","owner":"Golmote"},"magma":{"title":"Magma (CAS)","owner":"RunDevelopment"},"makefile":{"title":"Makefile","owner":"Golmote"},"markdown":{"title":"Markdown","require":"markup","optional":"yaml","alias":"md","owner":"Golmote"},"markup-templating":{"title":"Markup templating","require":"markup","owner":"Golmote"},"mata":{"title":"Mata","owner":"RunDevelopment"},"matlab":{"title":"MATLAB","owner":"Golmote"},"maxscript":{"title":"MAXScript","owner":"RunDevelopment"},"mel":{"title":"MEL","owner":"Golmote"},"mermaid":{"title":"Mermaid","owner":"RunDevelopment"},"metafont":{"title":"METAFONT","owner":"LaeriExNihilo"},"mizar":{"title":"Mizar","owner":"Golmote"},"mongodb":{"title":"MongoDB","owner":"airs0urce","require":"javascript"},"monkey":{"title":"Monkey","owner":"Golmote"},"moonscript":{"title":"MoonScript","alias":"moon","owner":"RunDevelopment"},"n1ql":{"title":"N1QL","owner":"TMWilds"},"n4js":{"title":"N4JS","require":"javascript","optional":"jsdoc","alias":"n4jsd","owner":"bsmith-n4"},"nand2tetris-hdl":{"title":"Nand To Tetris HDL","owner":"stephanmax"},"naniscript":{"title":"Naninovel Script","owner":"Elringus","alias":"nani"},"nasm":{"title":"NASM","owner":"rbmj"},"neon":{"title":"NEON","owner":"nette"},"nevod":{"title":"Nevod","owner":"nezaboodka"},"nginx":{"title":"nginx","owner":"volado"},"nim":{"title":"Nim","owner":"Golmote"},"nix":{"title":"Nix","owner":"Golmote"},"nsis":{"title":"NSIS","owner":"idleberg"},"objectivec":{"title":"Objective-C","require":"c","alias":"objc","owner":"uranusjr"},"ocaml":{"title":"OCaml","owner":"Golmote"},"odin":{"title":"Odin","owner":"edukisto"},"opencl":{"title":"OpenCL","require":"c","modify":["c","cpp"],"owner":"Milania1"},"openqasm":{"title":"OpenQasm","alias":"qasm","owner":"RunDevelopment"},"oz":{"title":"Oz","owner":"Golmote"},"parigp":{"title":"PARI/GP","owner":"Golmote"},"parser":{"title":"Parser","require":"markup","owner":"Golmote"},"pascal":{"title":"Pascal","alias":"objectpascal","aliasTitles":{"objectpascal":"Object Pascal"},"owner":"Golmote"},"pascaligo":{"title":"Pascaligo","owner":"DefinitelyNotAGoat"},"psl":{"title":"PATROL Scripting Language","owner":"bertysentry"},"pcaxis":{"title":"PC-Axis","alias":"px","owner":"RunDevelopment"},"peoplecode":{"title":"PeopleCode","alias":"pcode","owner":"RunDevelopment"},"perl":{"title":"Perl","owner":"Golmote"},"php":{"title":"PHP","require":"markup-templating","owner":"milesj"},"phpdoc":{"title":"PHPDoc","require":["php","javadoclike"],"modify":"php","owner":"RunDevelopment"},"php-extras":{"title":"PHP Extras","require":"php","modify":"php","owner":"milesj"},"plant-uml":{"title":"PlantUML","alias":"plantuml","owner":"RunDevelopment"},"plsql":{"title":"PL/SQL","require":"sql","owner":"Golmote"},"powerquery":{"title":"PowerQuery","alias":["pq","mscript"],"owner":"peterbud"},"powershell":{"title":"PowerShell","owner":"nauzilus"},"processing":{"title":"Processing","require":"clike","owner":"Golmote"},"prolog":{"title":"Prolog","owner":"Golmote"},"promql":{"title":"PromQL","owner":"arendjr"},"properties":{"title":".properties","owner":"Golmote"},"protobuf":{"title":"Protocol Buffers","require":"clike","owner":"just-boris"},"pug":{"title":"Pug","require":["markup","javascript"],"optional":["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],"owner":"Golmote"},"puppet":{"title":"Puppet","owner":"Golmote"},"pure":{"title":"Pure","optional":["c","cpp","fortran"],"owner":"Golmote"},"purebasic":{"title":"PureBasic","require":"clike","alias":"pbfasm","owner":"HeX0R101"},"purescript":{"title":"PureScript","require":"haskell","alias":"purs","owner":"sriharshachilakapati"},"python":{"title":"Python","alias":"py","owner":"multipetros"},"qsharp":{"title":"Q#","require":"clike","alias":"qs","owner":"fedonman"},"q":{"title":"Q (kdb+ database)","owner":"Golmote"},"qml":{"title":"QML","require":"javascript","owner":"RunDevelopment"},"qore":{"title":"Qore","require":"clike","owner":"temnroegg"},"r":{"title":"R","owner":"Golmote"},"racket":{"title":"Racket","require":"scheme","alias":"rkt","owner":"RunDevelopment"},"cshtml":{"title":"Razor C#","alias":"razor","require":["markup","csharp"],"optional":["css","css-extras","javascript","js-extras"],"owner":"RunDevelopment"},"jsx":{"title":"React JSX","require":["markup","javascript"],"optional":["jsdoc","js-extras","js-templates"],"owner":"vkbansal"},"tsx":{"title":"React TSX","require":["jsx","typescript"]},"reason":{"title":"Reason","require":"clike","owner":"Golmote"},"regex":{"title":"Regex","owner":"RunDevelopment"},"rego":{"title":"Rego","owner":"JordanSh"},"renpy":{"title":"Ren'py","alias":"rpy","owner":"HyuchiaDiego"},"rescript":{"title":"ReScript","alias":"res","owner":"vmarcosp"},"rest":{"title":"reST (reStructuredText)","owner":"Golmote"},"rip":{"title":"Rip","owner":"ravinggenius"},"roboconf":{"title":"Roboconf","owner":"Golmote"},"robotframework":{"title":"Robot Framework","alias":"robot","owner":"RunDevelopment"},"ruby":{"title":"Ruby","require":"clike","alias":"rb","owner":"samflores"},"rust":{"title":"Rust","owner":"Golmote"},"sas":{"title":"SAS","optional":["groovy","lua","sql"],"owner":"Golmote"},"sass":{"title":"Sass (Sass)","require":"css","optional":"css-extras","owner":"Golmote"},"scss":{"title":"Sass (SCSS)","require":"css","optional":"css-extras","owner":"MoOx"},"scala":{"title":"Scala","require":"java","owner":"jozic"},"scheme":{"title":"Scheme","owner":"bacchus123"},"shell-session":{"title":"Shell session","require":"bash","alias":["sh-session","shellsession"],"owner":"RunDevelopment"},"smali":{"title":"Smali","owner":"RunDevelopment"},"smalltalk":{"title":"Smalltalk","owner":"Golmote"},"smarty":{"title":"Smarty","require":"markup-templating","optional":"php","owner":"Golmote"},"sml":{"title":"SML","alias":"smlnj","aliasTitles":{"smlnj":"SML/NJ"},"owner":"RunDevelopment"},"solidity":{"title":"Solidity (Ethereum)","alias":"sol","require":"clike","owner":"glachaud"},"solution-file":{"title":"Solution file","alias":"sln","owner":"RunDevelopment"},"soy":{"title":"Soy (Closure Template)","require":"markup-templating","owner":"Golmote"},"sparql":{"title":"SPARQL","require":"turtle","owner":"Triply-Dev","alias":"rq"},"splunk-spl":{"title":"Splunk SPL","owner":"RunDevelopment"},"sqf":{"title":"SQF: Status Quo Function (Arma 3)","require":"clike","owner":"RunDevelopment"},"sql":{"title":"SQL","owner":"multipetros"},"squirrel":{"title":"Squirrel","require":"clike","owner":"RunDevelopment"},"stan":{"title":"Stan","owner":"RunDevelopment"},"stata":{"title":"Stata Ado","require":["mata","java","python"],"owner":"RunDevelopment"},"iecst":{"title":"Structured Text (IEC 61131-3)","owner":"serhioromano"},"stylus":{"title":"Stylus","owner":"vkbansal"},"supercollider":{"title":"SuperCollider","alias":"sclang","owner":"RunDevelopment"},"swift":{"title":"Swift","owner":"chrischares"},"systemd":{"title":"Systemd configuration file","owner":"RunDevelopment"},"t4-templating":{"title":"T4 templating","owner":"RunDevelopment"},"t4-cs":{"title":"T4 Text Templates (C#)","require":["t4-templating","csharp"],"alias":"t4","owner":"RunDevelopment"},"t4-vb":{"title":"T4 Text Templates (VB)","require":["t4-templating","vbnet"],"owner":"RunDevelopment"},"tap":{"title":"TAP","owner":"isaacs","require":"yaml"},"tcl":{"title":"Tcl","owner":"PeterChaplin"},"tt2":{"title":"Template Toolkit 2","require":["clike","markup-templating"],"owner":"gflohr"},"textile":{"title":"Textile","require":"markup","optional":"css","owner":"Golmote"},"toml":{"title":"TOML","owner":"RunDevelopment"},"tremor":{"title":"Tremor","alias":["trickle","troy"],"owner":"darach","aliasTitles":{"trickle":"trickle","troy":"troy"}},"turtle":{"title":"Turtle","alias":"trig","aliasTitles":{"trig":"TriG"},"owner":"jakubklimek"},"twig":{"title":"Twig","require":"markup-templating","owner":"brandonkelly"},"typescript":{"title":"TypeScript","require":"javascript","optional":"js-templates","alias":"ts","owner":"vkbansal"},"typoscript":{"title":"TypoScript","alias":"tsconfig","aliasTitles":{"tsconfig":"TSConfig"},"owner":"dkern"},"unrealscript":{"title":"UnrealScript","alias":["uscript","uc"],"owner":"RunDevelopment"},"uorazor":{"title":"UO Razor Script","owner":"jaseowns"},"uri":{"title":"URI","alias":"url","aliasTitles":{"url":"URL"},"owner":"RunDevelopment"},"v":{"title":"V","require":"clike","owner":"taggon"},"vala":{"title":"Vala","require":"clike","optional":"regex","owner":"TemplarVolk"},"vbnet":{"title":"VB.Net","require":"basic","owner":"Bigsby"},"velocity":{"title":"Velocity","require":"markup","owner":"Golmote"},"verilog":{"title":"Verilog","owner":"a-rey"},"vhdl":{"title":"VHDL","owner":"a-rey"},"vim":{"title":"vim","owner":"westonganger"},"visual-basic":{"title":"Visual Basic","alias":["vb","vba"],"aliasTitles":{"vba":"VBA"},"owner":"Golmote"},"warpscript":{"title":"WarpScript","owner":"RunDevelopment"},"wasm":{"title":"WebAssembly","owner":"Golmote"},"web-idl":{"title":"Web IDL","alias":"webidl","owner":"RunDevelopment"},"wgsl":{"title":"WGSL","owner":"Dr4gonthree"},"wiki":{"title":"Wiki markup","require":"markup","owner":"Golmote"},"wolfram":{"title":"Wolfram language","alias":["mathematica","nb","wl"],"aliasTitles":{"mathematica":"Mathematica","nb":"Mathematica Notebook"},"owner":"msollami"},"wren":{"title":"Wren","owner":"clsource"},"xeora":{"title":"Xeora","require":"markup","alias":"xeoracube","aliasTitles":{"xeoracube":"XeoraCube"},"owner":"freakmaxi"},"xml-doc":{"title":"XML doc (.net)","require":"markup","modify":["csharp","fsharp","vbnet"],"owner":"RunDevelopment"},"xojo":{"title":"Xojo (REALbasic)","owner":"Golmote"},"xquery":{"title":"XQuery","require":"markup","owner":"Golmote"},"yaml":{"title":"YAML","alias":"yml","owner":"hason"},"yang":{"title":"YANG","owner":"RunDevelopment"},"zig":{"title":"Zig","owner":"RunDevelopment"}},"plugins":{"meta":{"path":"plugins/{id}/prism-{id}","link":"plugins/{id}/"},"line-highlight":{"title":"Line Highlight","description":"Highlights specific lines and/or line ranges."},"line-numbers":{"title":"Line Numbers","description":"Line number at the beginning of code lines.","owner":"kuba-kubula"},"show-invisibles":{"title":"Show Invisibles","description":"Show hidden characters such as tabs and line breaks.","optional":["autolinker","data-uri-highlight"]},"autolinker":{"title":"Autolinker","description":"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},"wpd":{"title":"WebPlatform Docs","description":"Makes tokens link to <a href=\"https://webplatform.github.io/docs/\">WebPlatform.org documentation</a>. The links open in a new tab."},"custom-class":{"title":"Custom Class","description":"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.","owner":"dvkndn","noCSS":true},"file-highlight":{"title":"File Highlight","description":"Fetch external files and highlight them with Prism. Used on the Prism website itself.","noCSS":true},"show-language":{"title":"Show Language","description":"Display the highlighted language in code blocks (inline code does not show the label).","owner":"nauzilus","noCSS":true,"require":"toolbar"},"jsonp-highlight":{"title":"JSONP Highlight","description":"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).","noCSS":true,"owner":"nauzilus"},"highlight-keywords":{"title":"Highlight Keywords","description":"Adds special CSS classes for each keyword for fine-grained highlighting.","owner":"vkbansal","noCSS":true},"remove-initial-line-feed":{"title":"Remove initial line feed","description":"Removes the initial line feed in code blocks.","owner":"Golmote","noCSS":true},"inline-color":{"title":"Inline color","description":"Adds a small inline preview for colors in style sheets.","require":"css-extras","owner":"RunDevelopment"},"previewers":{"title":"Previewers","description":"Previewers for angles, colors, gradients, easing and time.","require":"css-extras","owner":"Golmote"},"autoloader":{"title":"Autoloader","description":"Automatically loads the needed languages to highlight the code blocks.","owner":"Golmote","noCSS":true},"keep-markup":{"title":"Keep Markup","description":"Prevents custom markup from being dropped out during highlighting.","owner":"Golmote","optional":"normalize-whitespace","noCSS":true},"command-line":{"title":"Command Line","description":"Display a command line with a prompt and, optionally, the output/response from the commands.","owner":"chriswells0"},"unescaped-markup":{"title":"Unescaped Markup","description":"Write markup without having to escape anything."},"normalize-whitespace":{"title":"Normalize Whitespace","description":"Supports multiple operations to normalize whitespace in code blocks.","owner":"zeitgeist87","optional":"unescaped-markup","noCSS":true},"data-uri-highlight":{"title":"Data-URI Highlight","description":"Highlights data-URI contents.","owner":"Golmote","noCSS":true},"toolbar":{"title":"Toolbar","description":"Attach a toolbar for plugins to easily register buttons on the top of a code block.","owner":"mAAdhaTTah"},"copy-to-clipboard":{"title":"Copy to Clipboard Button","description":"Add a button that copies the code block to the clipboard when clicked.","owner":"mAAdhaTTah","require":"toolbar","noCSS":true},"download-button":{"title":"Download Button","description":"A button in the toolbar of a code block adding a convenient way to download a code file.","owner":"Golmote","require":"toolbar","noCSS":true},"match-braces":{"title":"Match braces","description":"Highlights matching braces.","owner":"RunDevelopment"},"diff-highlight":{"title":"Diff Highlight","description":"Highlights the code inside diff blocks.","owner":"RunDevelopment","require":"diff"},"filter-highlight-all":{"title":"Filter highlightAll","description":"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.","owner":"RunDevelopment","noCSS":true},"treeview":{"title":"Treeview","description":"A language with special styles to highlight file system tree structures.","owner":"Golmote"}}}; -if ( true && module.exports) { module.exports = components; } - -/***/ }), - -/***/ 5558: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const components = __webpack_require__(1069); -const getLoader = __webpack_require__(904); - - -/** - * The set of all languages which have been loaded using the below function. - * - * @type {Set<string>} - */ -const loadedLanguages = new Set(); - -/** - * Loads the given languages and adds them to the current Prism instance. - * - * If no languages are provided, __all__ Prism languages will be loaded. - * - * @param {string|string[]} [languages] - * @returns {void} - */ -function loadLanguages(languages) { - if (languages === undefined) { - languages = Object.keys(components.languages).filter(l => l != 'meta'); - } else if (!Array.isArray(languages)) { - languages = [languages]; - } - - // the user might have loaded languages via some other way or used `prism.js` which already includes some - // we don't need to validate the ids because `getLoader` will ignore invalid ones - const loaded = [...loadedLanguages, ...Object.keys(Prism.languages)]; - - getLoader(components, languages, loaded).load(lang => { - if (!(lang in components.languages)) { - if (!loadLanguages.silent) { - console.warn('Language does not exist: ' + lang); - } - return; - } - - const pathToLanguage = './prism-' + lang; - - // remove from require cache and from Prism - delete __webpack_require__.c[/*require.resolve*/(__webpack_require__(1441).resolve(pathToLanguage))]; - delete Prism.languages[lang]; - - __webpack_require__(1441)(pathToLanguage); - - loadedLanguages.add(lang); - }); -} - -/** - * Set this to `true` to prevent all warning messages `loadLanguages` logs. - */ -loadLanguages.silent = false; - -module.exports = loadLanguages; - - -/***/ }), - -/***/ 5968: -/***/ (() => { - -(function (Prism) { - - /** - * Returns the placeholder for the given language id and index. - * - * @param {string} language - * @param {string|number} index - * @returns {string} - */ - function getPlaceholder(language, index) { - return '___' + language.toUpperCase() + index + '___'; - } - - Object.defineProperties(Prism.languages['markup-templating'] = {}, { - buildPlaceholders: { - /** - * Tokenize all inline templating expressions matching `placeholderPattern`. - * - * If `replaceFilter` is provided, only matches of `placeholderPattern` for which `replaceFilter` returns - * `true` will be replaced. - * - * @param {object} env The environment of the `before-tokenize` hook. - * @param {string} language The language id. - * @param {RegExp} placeholderPattern The matches of this pattern will be replaced by placeholders. - * @param {(match: string) => boolean} [replaceFilter] - */ - value: function (env, language, placeholderPattern, replaceFilter) { - if (env.language !== language) { - return; - } - - var tokenStack = env.tokenStack = []; - - env.code = env.code.replace(placeholderPattern, function (match) { - if (typeof replaceFilter === 'function' && !replaceFilter(match)) { - return match; - } - var i = tokenStack.length; - var placeholder; - - // Check for existing strings - while (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1) { - ++i; - } - - // Create a sparse array - tokenStack[i] = match; - - return placeholder; - }); - - // Switch the grammar to markup - env.grammar = Prism.languages.markup; - } - }, - tokenizePlaceholders: { - /** - * Replace placeholders with proper tokens after tokenizing. - * - * @param {object} env The environment of the `after-tokenize` hook. - * @param {string} language The language id. - */ - value: function (env, language) { - if (env.language !== language || !env.tokenStack) { - return; - } - - // Switch the grammar back - env.grammar = Prism.languages[language]; - - var j = 0; - var keys = Object.keys(env.tokenStack); - - function walkTokens(tokens) { - for (var i = 0; i < tokens.length; i++) { - // all placeholders are replaced already - if (j >= keys.length) { - break; - } - - var token = tokens[i]; - if (typeof token === 'string' || (token.content && typeof token.content === 'string')) { - var k = keys[j]; - var t = env.tokenStack[k]; - var s = typeof token === 'string' ? token : token.content; - var placeholder = getPlaceholder(language, k); - - var index = s.indexOf(placeholder); - if (index > -1) { - ++j; - - var before = s.substring(0, index); - var middle = new Prism.Token(language, Prism.tokenize(t, env.grammar), 'language-' + language, t); - var after = s.substring(index + placeholder.length); - - var replacement = []; - if (before) { - replacement.push.apply(replacement, walkTokens([before])); - } - replacement.push(middle); - if (after) { - replacement.push.apply(replacement, walkTokens([after])); - } - - if (typeof token === 'string') { - tokens.splice.apply(tokens, [i, 1].concat(replacement)); - } else { - token.content = replacement; - } - } - } else if (token.content /* && typeof token.content !== 'string' */) { - walkTokens(token.content); - } - } - - return tokens; - } - - walkTokens(env.tokens); - } - } - }); - -}(Prism)); - - -/***/ }), - -/***/ 1441: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var map = { - "./": 5558 -}; - - -function webpackContext(req) { - var id = webpackContextResolve(req); - return __webpack_require__(id); -} -function webpackContextResolve(req) { - if(!__webpack_require__.o(map, req)) { - var e = new Error("Cannot find module '" + req + "'"); - e.code = 'MODULE_NOT_FOUND'; - throw e; - } - return map[req]; -} -webpackContext.keys = function webpackContextKeys() { - return Object.keys(map); -}; -webpackContext.resolve = webpackContextResolve; -module.exports = webpackContext; -webpackContext.id = 1441; - -/***/ }), - -/***/ 904: -/***/ ((module) => { - -"use strict"; - - -/** - * @typedef {Object<string, ComponentCategory>} Components - * @typedef {Object<string, ComponentEntry | string>} ComponentCategory - * - * @typedef ComponentEntry - * @property {string} [title] The title of the component. - * @property {string} [owner] The GitHub user name of the owner. - * @property {boolean} [noCSS=false] Whether the component doesn't have style sheets which should also be loaded. - * @property {string | string[]} [alias] An optional list of aliases for the id of the component. - * @property {Object<string, string>} [aliasTitles] An optional map from an alias to its title. - * - * Aliases which are not in this map will the get title of the component. - * @property {string | string[]} [optional] - * @property {string | string[]} [require] - * @property {string | string[]} [modify] - */ - -var getLoader = (function () { - - /** - * A function which does absolutely nothing. - * - * @type {any} - */ - var noop = function () { }; - - /** - * Invokes the given callback for all elements of the given value. - * - * If the given value is an array, the callback will be invokes for all elements. If the given value is `null` or - * `undefined`, the callback will not be invoked. In all other cases, the callback will be invoked with the given - * value as parameter. - * - * @param {null | undefined | T | T[]} value - * @param {(value: T, index: number) => void} callbackFn - * @returns {void} - * @template T - */ - function forEach(value, callbackFn) { - if (Array.isArray(value)) { - value.forEach(callbackFn); - } else if (value != null) { - callbackFn(value, 0); - } - } - - /** - * Returns a new set for the given string array. - * - * @param {string[]} array - * @returns {StringSet} - * - * @typedef {Object<string, true>} StringSet - */ - function toSet(array) { - /** @type {StringSet} */ - var set = {}; - for (var i = 0, l = array.length; i < l; i++) { - set[array[i]] = true; - } - return set; - } - - /** - * Creates a map of every components id to its entry. - * - * @param {Components} components - * @returns {EntryMap} - * - * @typedef {{ readonly [id: string]: Readonly<ComponentEntry> | undefined }} EntryMap - */ - function createEntryMap(components) { - /** @type {Object<string, Readonly<ComponentEntry>>} */ - var map = {}; - - for (var categoryName in components) { - var category = components[categoryName]; - for (var id in category) { - if (id != 'meta') { - /** @type {ComponentEntry | string} */ - var entry = category[id]; - map[id] = typeof entry == 'string' ? { title: entry } : entry; - } - } - } - - return map; - } - - /** - * Creates a full dependencies map which includes all types of dependencies and their transitive dependencies. - * - * @param {EntryMap} entryMap - * @returns {DependencyResolver} - * - * @typedef {(id: string) => StringSet} DependencyResolver - */ - function createDependencyResolver(entryMap) { - /** @type {Object<string, StringSet>} */ - var map = {}; - var _stackArray = []; - - /** - * Adds the dependencies of the given component to the dependency map. - * - * @param {string} id - * @param {string[]} stack - */ - function addToMap(id, stack) { - if (id in map) { - return; - } - - stack.push(id); - - // check for circular dependencies - var firstIndex = stack.indexOf(id); - if (firstIndex < stack.length - 1) { - throw new Error('Circular dependency: ' + stack.slice(firstIndex).join(' -> ')); - } - - /** @type {StringSet} */ - var dependencies = {}; - - var entry = entryMap[id]; - if (entry) { - /** - * This will add the direct dependency and all of its transitive dependencies to the set of - * dependencies of `entry`. - * - * @param {string} depId - * @returns {void} - */ - function handleDirectDependency(depId) { - if (!(depId in entryMap)) { - throw new Error(id + ' depends on an unknown component ' + depId); - } - if (depId in dependencies) { - // if the given dependency is already in the set of deps, then so are its transitive deps - return; - } - - addToMap(depId, stack); - dependencies[depId] = true; - for (var transitiveDepId in map[depId]) { - dependencies[transitiveDepId] = true; - } - } - - forEach(entry.require, handleDirectDependency); - forEach(entry.optional, handleDirectDependency); - forEach(entry.modify, handleDirectDependency); - } - - map[id] = dependencies; - - stack.pop(); - } - - return function (id) { - var deps = map[id]; - if (!deps) { - addToMap(id, _stackArray); - deps = map[id]; - } - return deps; - }; - } - - /** - * Returns a function which resolves the aliases of its given id of alias. - * - * @param {EntryMap} entryMap - * @returns {(idOrAlias: string) => string} - */ - function createAliasResolver(entryMap) { - /** @type {Object<string, string> | undefined} */ - var map; - - return function (idOrAlias) { - if (idOrAlias in entryMap) { - return idOrAlias; - } else { - // only create the alias map if necessary - if (!map) { - map = {}; - - for (var id in entryMap) { - var entry = entryMap[id]; - forEach(entry && entry.alias, function (alias) { - if (alias in map) { - throw new Error(alias + ' cannot be alias for both ' + id + ' and ' + map[alias]); - } - if (alias in entryMap) { - throw new Error(alias + ' cannot be alias of ' + id + ' because it is a component.'); - } - map[alias] = id; - }); - } - } - return map[idOrAlias] || idOrAlias; - } - }; - } - - /** - * @typedef LoadChainer - * @property {(before: T, after: () => T) => T} series - * @property {(values: T[]) => T} parallel - * @template T - */ - - /** - * Creates an implicit DAG from the given components and dependencies and call the given `loadComponent` for each - * component in topological order. - * - * @param {DependencyResolver} dependencyResolver - * @param {StringSet} ids - * @param {(id: string) => T} loadComponent - * @param {LoadChainer<T>} [chainer] - * @returns {T} - * @template T - */ - function loadComponentsInOrder(dependencyResolver, ids, loadComponent, chainer) { - var series = chainer ? chainer.series : undefined; - var parallel = chainer ? chainer.parallel : noop; - - /** @type {Object<string, T>} */ - var cache = {}; - - /** - * A set of ids of nodes which are not depended upon by any other node in the graph. - * - * @type {StringSet} - */ - var ends = {}; - - /** - * Loads the given component and its dependencies or returns the cached value. - * - * @param {string} id - * @returns {T} - */ - function handleId(id) { - if (id in cache) { - return cache[id]; - } - - // assume that it's an end - // if it isn't, it will be removed later - ends[id] = true; - - // all dependencies of the component in the given ids - var dependsOn = []; - for (var depId in dependencyResolver(id)) { - if (depId in ids) { - dependsOn.push(depId); - } - } - - /** - * The value to be returned. - * - * @type {T} - */ - var value; - - if (dependsOn.length === 0) { - value = loadComponent(id); - } else { - var depsValue = parallel(dependsOn.map(function (depId) { - var value = handleId(depId); - // none of the dependencies can be ends - delete ends[depId]; - return value; - })); - if (series) { - // the chainer will be responsibly for calling the function calling loadComponent - value = series(depsValue, function () { return loadComponent(id); }); - } else { - // we don't have a chainer, so we call loadComponent ourselves - loadComponent(id); - } - } - - // cache and return - return cache[id] = value; - } - - for (var id in ids) { - handleId(id); - } - - /** @type {T[]} */ - var endValues = []; - for (var endId in ends) { - endValues.push(cache[endId]); - } - return parallel(endValues); - } - - /** - * Returns whether the given object has any keys. - * - * @param {object} obj - */ - function hasKeys(obj) { - for (var key in obj) { - return true; - } - return false; - } - - /** - * Returns an object which provides methods to get the ids of the components which have to be loaded (`getIds`) and - * a way to efficiently load them in synchronously and asynchronous contexts (`load`). - * - * The set of ids to be loaded is a superset of `load`. If some of these ids are in `loaded`, the corresponding - * components will have to reloaded. - * - * The ids in `load` and `loaded` may be in any order and can contain duplicates. - * - * @param {Components} components - * @param {string[]} load - * @param {string[]} [loaded=[]] A list of already loaded components. - * - * If a component is in this list, then all of its requirements will also be assumed to be in the list. - * @returns {Loader} - * - * @typedef Loader - * @property {() => string[]} getIds A function to get all ids of the components to load. - * - * The returned ids will be duplicate-free, alias-free and in load order. - * @property {LoadFunction} load A functional interface to load components. - * - * @typedef {<T> (loadComponent: (id: string) => T, chainer?: LoadChainer<T>) => T} LoadFunction - * A functional interface to load components. - * - * The `loadComponent` function will be called for every component in the order in which they have to be loaded. - * - * The `chainer` is useful for asynchronous loading and its `series` and `parallel` functions can be thought of as - * `Promise#then` and `Promise.all`. - * - * @example - * load(id => { loadComponent(id); }); // returns undefined - * - * await load( - * id => loadComponentAsync(id), // returns a Promise for each id - * { - * series: async (before, after) => { - * await before; - * await after(); - * }, - * parallel: async (values) => { - * await Promise.all(values); - * } - * } - * ); - */ - function getLoader(components, load, loaded) { - var entryMap = createEntryMap(components); - var resolveAlias = createAliasResolver(entryMap); - - load = load.map(resolveAlias); - loaded = (loaded || []).map(resolveAlias); - - var loadSet = toSet(load); - var loadedSet = toSet(loaded); - - // add requirements - - load.forEach(addRequirements); - function addRequirements(id) { - var entry = entryMap[id]; - forEach(entry && entry.require, function (reqId) { - if (!(reqId in loadedSet)) { - loadSet[reqId] = true; - addRequirements(reqId); - } - }); - } - - // add components to reload - - // A component x in `loaded` has to be reloaded if - // 1) a component in `load` modifies x. - // 2) x depends on a component in `load`. - // The above two condition have to be applied until nothing changes anymore. - - var dependencyResolver = createDependencyResolver(entryMap); - - /** @type {StringSet} */ - var loadAdditions = loadSet; - /** @type {StringSet} */ - var newIds; - while (hasKeys(loadAdditions)) { - newIds = {}; - - // condition 1) - for (var loadId in loadAdditions) { - var entry = entryMap[loadId]; - forEach(entry && entry.modify, function (modId) { - if (modId in loadedSet) { - newIds[modId] = true; - } - }); - } - - // condition 2) - for (var loadedId in loadedSet) { - if (!(loadedId in loadSet)) { - for (var depId in dependencyResolver(loadedId)) { - if (depId in loadSet) { - newIds[loadedId] = true; - break; - } - } - } - } - - loadAdditions = newIds; - for (var newId in loadAdditions) { - loadSet[newId] = true; - } - } - - /** @type {Loader} */ - var loader = { - getIds: function () { - var ids = []; - loader.load(function (id) { - ids.push(id); - }); - return ids; - }, - load: function (loadComponent, chainer) { - return loadComponentsInOrder(dependencyResolver, loadSet, loadComponent, chainer); - } - }; - - return loader; - } - - return getLoader; - -}()); - -if (true) { - module.exports = getLoader; -} - - -/***/ }), - -/***/ 362: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -var ReactPropTypesSecret = __webpack_require__(6441); - -function emptyFunction() {} -function emptyFunctionWithReset() {} -emptyFunctionWithReset.resetWarningCache = emptyFunction; - -module.exports = function() { - function shim(props, propName, componentName, location, propFullName, secret) { - if (secret === ReactPropTypesSecret) { - // It is still safe when called from React. - return; - } - var err = new Error( - 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + - 'Use PropTypes.checkPropTypes() to call them. ' + - 'Read more at http://fb.me/use-check-prop-types' - ); - err.name = 'Invariant Violation'; - throw err; - }; - shim.isRequired = shim; - function getShim() { - return shim; - }; - // Important! - // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. - var ReactPropTypes = { - array: shim, - bigint: shim, - bool: shim, - func: shim, - number: shim, - object: shim, - string: shim, - symbol: shim, - - any: shim, - arrayOf: getShim, - element: shim, - elementType: shim, - instanceOf: getShim, - node: shim, - objectOf: getShim, - oneOf: getShim, - oneOfType: getShim, - shape: getShim, - exact: getShim, - - checkPropTypes: emptyFunctionWithReset, - resetWarningCache: emptyFunction - }; - - ReactPropTypes.PropTypes = ReactPropTypes; - - return ReactPropTypes; -}; - - -/***/ }), - -/***/ 2688: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -if (false) { var throwOnDirectAccess, ReactIs; } else { - // By explicitly using `prop-types` you are opting into new production behavior. - // http://fb.me/prop-types-in-prod - module.exports = __webpack_require__(362)(); -} - - -/***/ }), - -/***/ 6441: -/***/ ((module) => { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - -module.exports = ReactPropTypesSecret; - - -/***/ }), - -/***/ 7383: -/***/ ((module) => { - -/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */ - -var hasElementType = typeof Element !== 'undefined'; -var hasMap = typeof Map === 'function'; -var hasSet = typeof Set === 'function'; -var hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; - -// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js - -function equal(a, b) { - // START: fast-deep-equal es6/index.js 3.1.3 - if (a === b) return true; - - if (a && b && typeof a == 'object' && typeof b == 'object') { - if (a.constructor !== b.constructor) return false; - - var length, i, keys; - if (Array.isArray(a)) { - length = a.length; - if (length != b.length) return false; - for (i = length; i-- !== 0;) - if (!equal(a[i], b[i])) return false; - return true; - } - - // START: Modifications: - // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code - // to co-exist with es5. - // 2. Replace `for of` with es5 compliant iteration using `for`. - // Basically, take: - // - // ```js - // for (i of a.entries()) - // if (!b.has(i[0])) return false; - // ``` - // - // ... and convert to: - // - // ```js - // it = a.entries(); - // while (!(i = it.next()).done) - // if (!b.has(i.value[0])) return false; - // ``` - // - // **Note**: `i` access switches to `i.value`. - var it; - if (hasMap && (a instanceof Map) && (b instanceof Map)) { - if (a.size !== b.size) return false; - it = a.entries(); - while (!(i = it.next()).done) - if (!b.has(i.value[0])) return false; - it = a.entries(); - while (!(i = it.next()).done) - if (!equal(i.value[1], b.get(i.value[0]))) return false; - return true; - } - - if (hasSet && (a instanceof Set) && (b instanceof Set)) { - if (a.size !== b.size) return false; - it = a.entries(); - while (!(i = it.next()).done) - if (!b.has(i.value[0])) return false; - return true; - } - // END: Modifications - - if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) { - length = a.length; - if (length != b.length) return false; - for (i = length; i-- !== 0;) - if (a[i] !== b[i]) return false; - return true; - } - - if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; - // START: Modifications: - // Apply guards for `Object.create(null)` handling. See: - // - https://github.com/FormidableLabs/react-fast-compare/issues/64 - // - https://github.com/epoberezkin/fast-deep-equal/issues/49 - if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString(); - // END: Modifications - - keys = Object.keys(a); - length = keys.length; - if (length !== Object.keys(b).length) return false; - - for (i = length; i-- !== 0;) - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - // END: fast-deep-equal - - // START: react-fast-compare - // custom handling for DOM elements - if (hasElementType && a instanceof Element) return false; - - // custom handling for React/Preact - for (i = length; i-- !== 0;) { - if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) { - // React-specific: avoid traversing React elements' _owner - // Preact-specific: avoid traversing Preact elements' __v and __o - // __v = $_original / $_vnode - // __o = $_owner - // These properties contain circular references and are not needed when - // comparing the actual elements (and not their owners) - // .$$typeof and ._store on just reasonable markers of elements - - continue; - } - - // all other properties should be traversed as usual - if (!equal(a[keys[i]], b[keys[i]])) return false; - } - // END: react-fast-compare - - // START: fast-deep-equal - return true; - } - - return a !== a && b !== b; -} -// end fast-deep-equal - -module.exports = function isEqual(a, b) { - try { - return equal(a, b); - } catch (error) { - if (((error.message || '').match(/stack|recursion/i))) { - // warn on circular references, don't crash - // browsers give this different errors name and messages: - // chrome/safari: "RangeError", "Maximum call stack size exceeded" - // firefox: "InternalError", too much recursion" - // edge: "Error", "Out of stack space" - console.warn('react-fast-compare cannot handle circular refs'); - return false; - } - // some other error. we should definitely know about these - throw error; - } -}; - - -/***/ }), - -/***/ 9005: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ mg: () => (/* binding */ W), -/* harmony export */ vd: () => (/* binding */ q) -/* harmony export */ }); -/* unused harmony export HelmetData */ -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2688); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7383); -/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7315); -/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(invariant__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5317); -/* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_3__); -function a(){return a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},a.apply(this,arguments)}function s(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,c(t,e)}function c(t,e){return c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},c(t,e)}function u(t,e){if(null==t)return{};var r,n,i={},o=Object.keys(t);for(n=0;n<o.length;n++)e.indexOf(r=o[n])>=0||(i[r]=t[r]);return i}var l={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},p={rel:["amphtml","canonical","alternate"]},f={type:["application/ld+json"]},d={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},h=Object.keys(l).map(function(t){return l[t]}),m={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},y=Object.keys(m).reduce(function(t,e){return t[m[e]]=e,t},{}),T=function(t,e){for(var r=t.length-1;r>=0;r-=1){var n=t[r];if(Object.prototype.hasOwnProperty.call(n,e))return n[e]}return null},g=function(t){var e=T(t,l.TITLE),r=T(t,"titleTemplate");if(Array.isArray(e)&&(e=e.join("")),r&&e)return r.replace(/%s/g,function(){return e});var n=T(t,"defaultTitle");return e||n||void 0},b=function(t){return T(t,"onChangeClientState")||function(){}},v=function(t,e){return e.filter(function(e){return void 0!==e[t]}).map(function(e){return e[t]}).reduce(function(t,e){return a({},t,e)},{})},A=function(t,e){return e.filter(function(t){return void 0!==t[l.BASE]}).map(function(t){return t[l.BASE]}).reverse().reduce(function(e,r){if(!e.length)for(var n=Object.keys(r),i=0;i<n.length;i+=1){var o=n[i].toLowerCase();if(-1!==t.indexOf(o)&&r[o])return e.concat(r)}return e},[])},C=function(t,e,r){var n={};return r.filter(function(e){return!!Array.isArray(e[t])||(void 0!==e[t]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+t+' should be of type "Array". Instead found type "'+typeof e[t]+'"'),!1)}).map(function(e){return e[t]}).reverse().reduce(function(t,r){var i={};r.filter(function(t){for(var r,o=Object.keys(t),a=0;a<o.length;a+=1){var s=o[a],c=s.toLowerCase();-1===e.indexOf(c)||"rel"===r&&"canonical"===t[r].toLowerCase()||"rel"===c&&"stylesheet"===t[c].toLowerCase()||(r=c),-1===e.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(r=s)}if(!r||!t[r])return!1;var u=t[r].toLowerCase();return n[r]||(n[r]={}),i[r]||(i[r]={}),!n[r][u]&&(i[r][u]=!0,!0)}).reverse().forEach(function(e){return t.push(e)});for(var o=Object.keys(i),s=0;s<o.length;s+=1){var c=o[s],u=a({},n[c],i[c]);n[c]=u}return t},[]).reverse()},O=function(t,e){if(Array.isArray(t)&&t.length)for(var r=0;r<t.length;r+=1)if(t[r][e])return!0;return!1},S=function(t){return Array.isArray(t)?t.join(""):t},E=function(t,e){return Array.isArray(t)?t.reduce(function(t,r){return function(t,e){for(var r=Object.keys(t),n=0;n<r.length;n+=1)if(e[r[n]]&&e[r[n]].includes(t[r[n]]))return!0;return!1}(r,e)?t.priority.push(r):t.default.push(r),t},{priority:[],default:[]}):{default:t}},I=function(t,e){var r;return a({},t,((r={})[e]=void 0,r))},P=[l.NOSCRIPT,l.SCRIPT,l.STYLE],w=function(t,e){return void 0===e&&(e=!0),!1===e?String(t):String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},x=function(t){return Object.keys(t).reduce(function(e,r){var n=void 0!==t[r]?r+'="'+t[r]+'"':""+r;return e?e+" "+n:n},"")},L=function(t,e){return void 0===e&&(e={}),Object.keys(t).reduce(function(e,r){return e[m[r]||r]=t[r],e},e)},j=function(e,r){return r.map(function(r,n){var i,o=((i={key:n})["data-rh"]=!0,i);return Object.keys(r).forEach(function(t){var e=m[t]||t;"innerHTML"===e||"cssText"===e?o.dangerouslySetInnerHTML={__html:r.innerHTML||r.cssText}:o[e]=r[t]}),react__WEBPACK_IMPORTED_MODULE_0__.createElement(e,o)})},M=function(e,r,n){switch(e){case l.TITLE:return{toComponent:function(){return n=r.titleAttributes,(i={key:e=r.title})["data-rh"]=!0,o=L(n,i),[react__WEBPACK_IMPORTED_MODULE_0__.createElement(l.TITLE,o,e)];var e,n,i,o},toString:function(){return function(t,e,r,n){var i=x(r),o=S(e);return i?"<"+t+' data-rh="true" '+i+">"+w(o,n)+"</"+t+">":"<"+t+' data-rh="true">'+w(o,n)+"</"+t+">"}(e,r.title,r.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return L(r)},toString:function(){return x(r)}};default:return{toComponent:function(){return j(e,r)},toString:function(){return function(t,e,r){return e.reduce(function(e,n){var i=Object.keys(n).filter(function(t){return!("innerHTML"===t||"cssText"===t)}).reduce(function(t,e){var i=void 0===n[e]?e:e+'="'+w(n[e],r)+'"';return t?t+" "+i:i},""),o=n.innerHTML||n.cssText||"",a=-1===P.indexOf(t);return e+"<"+t+' data-rh="true" '+i+(a?"/>":">"+o+"</"+t+">")},"")}(e,r,n)}}}},k=function(t){var e=t.baseTag,r=t.bodyAttributes,n=t.encode,i=t.htmlAttributes,o=t.noscriptTags,a=t.styleTags,s=t.title,c=void 0===s?"":s,u=t.titleAttributes,h=t.linkTags,m=t.metaTags,y=t.scriptTags,T={toComponent:function(){},toString:function(){return""}};if(t.prioritizeSeoTags){var g=function(t){var e=t.linkTags,r=t.scriptTags,n=t.encode,i=E(t.metaTags,d),o=E(e,p),a=E(r,f);return{priorityMethods:{toComponent:function(){return[].concat(j(l.META,i.priority),j(l.LINK,o.priority),j(l.SCRIPT,a.priority))},toString:function(){return M(l.META,i.priority,n)+" "+M(l.LINK,o.priority,n)+" "+M(l.SCRIPT,a.priority,n)}},metaTags:i.default,linkTags:o.default,scriptTags:a.default}}(t);T=g.priorityMethods,h=g.linkTags,m=g.metaTags,y=g.scriptTags}return{priority:T,base:M(l.BASE,e,n),bodyAttributes:M("bodyAttributes",r,n),htmlAttributes:M("htmlAttributes",i,n),link:M(l.LINK,h,n),meta:M(l.META,m,n),noscript:M(l.NOSCRIPT,o,n),script:M(l.SCRIPT,y,n),style:M(l.STYLE,a,n),title:M(l.TITLE,{title:c,titleAttributes:u},n)}},H=[],N=function(t,e){var r=this;void 0===e&&(e="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(t){r.context.helmet=t},helmetInstances:{get:function(){return r.canUseDOM?H:r.instances},add:function(t){(r.canUseDOM?H:r.instances).push(t)},remove:function(t){var e=(r.canUseDOM?H:r.instances).indexOf(t);(r.canUseDOM?H:r.instances).splice(e,1)}}},this.context=t,this.canUseDOM=e,e||(t.helmet=k({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},R=react__WEBPACK_IMPORTED_MODULE_0__.createContext({}),D=prop_types__WEBPACK_IMPORTED_MODULE_4___default().shape({setHelmet:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),helmetInstances:prop_types__WEBPACK_IMPORTED_MODULE_4___default().shape({get:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),add:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),remove:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)})}),U="undefined"!=typeof document,q=/*#__PURE__*/function(e){function r(t){var n;return(n=e.call(this,t)||this).helmetData=new N(n.props.context,r.canUseDOM),n}return s(r,e),r.prototype.render=function(){/*#__PURE__*/return react__WEBPACK_IMPORTED_MODULE_0__.createElement(R.Provider,{value:this.helmetData.value},this.props.children)},r}(react__WEBPACK_IMPORTED_MODULE_0__.Component);q.canUseDOM=U,q.propTypes={context:prop_types__WEBPACK_IMPORTED_MODULE_4___default().shape({helmet:prop_types__WEBPACK_IMPORTED_MODULE_4___default().shape()}),children:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().node).isRequired},q.defaultProps={context:{}},q.displayName="HelmetProvider";var Y=function(t,e){var r,n=document.head||document.querySelector(l.HEAD),i=n.querySelectorAll(t+"[data-rh]"),o=[].slice.call(i),a=[];return e&&e.length&&e.forEach(function(e){var n=document.createElement(t);for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&("innerHTML"===i?n.innerHTML=e.innerHTML:"cssText"===i?n.styleSheet?n.styleSheet.cssText=e.cssText:n.appendChild(document.createTextNode(e.cssText)):n.setAttribute(i,void 0===e[i]?"":e[i]));n.setAttribute("data-rh","true"),o.some(function(t,e){return r=e,n.isEqualNode(t)})?o.splice(r,1):a.push(n)}),o.forEach(function(t){return t.parentNode.removeChild(t)}),a.forEach(function(t){return n.appendChild(t)}),{oldTags:o,newTags:a}},B=function(t,e){var r=document.getElementsByTagName(t)[0];if(r){for(var n=r.getAttribute("data-rh"),i=n?n.split(","):[],o=[].concat(i),a=Object.keys(e),s=0;s<a.length;s+=1){var c=a[s],u=e[c]||"";r.getAttribute(c)!==u&&r.setAttribute(c,u),-1===i.indexOf(c)&&i.push(c);var l=o.indexOf(c);-1!==l&&o.splice(l,1)}for(var p=o.length-1;p>=0;p-=1)r.removeAttribute(o[p]);i.length===o.length?r.removeAttribute("data-rh"):r.getAttribute("data-rh")!==a.join(",")&&r.setAttribute("data-rh",a.join(","))}},K=function(t,e){var r=t.baseTag,n=t.htmlAttributes,i=t.linkTags,o=t.metaTags,a=t.noscriptTags,s=t.onChangeClientState,c=t.scriptTags,u=t.styleTags,p=t.title,f=t.titleAttributes;B(l.BODY,t.bodyAttributes),B(l.HTML,n),function(t,e){void 0!==t&&document.title!==t&&(document.title=S(t)),B(l.TITLE,e)}(p,f);var d={baseTag:Y(l.BASE,r),linkTags:Y(l.LINK,i),metaTags:Y(l.META,o),noscriptTags:Y(l.NOSCRIPT,a),scriptTags:Y(l.SCRIPT,c),styleTags:Y(l.STYLE,u)},h={},m={};Object.keys(d).forEach(function(t){var e=d[t],r=e.newTags,n=e.oldTags;r.length&&(h[t]=r),n.length&&(m[t]=d[t].oldTags)}),e&&e(),s(t,h,m)},_=null,z=/*#__PURE__*/function(t){function e(){for(var e,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return(e=t.call.apply(t,[this].concat(n))||this).rendered=!1,e}s(e,t);var r=e.prototype;return r.shouldComponentUpdate=function(t){return!shallowequal__WEBPACK_IMPORTED_MODULE_3___default()(t,this.props)},r.componentDidUpdate=function(){this.emitChange()},r.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},r.emitChange=function(){var t,e,r=this.props.context,n=r.setHelmet,i=null,o=(t=r.helmetInstances.get().map(function(t){var e=a({},t.props);return delete e.context,e}),{baseTag:A(["href"],t),bodyAttributes:v("bodyAttributes",t),defer:T(t,"defer"),encode:T(t,"encodeSpecialCharacters"),htmlAttributes:v("htmlAttributes",t),linkTags:C(l.LINK,["rel","href"],t),metaTags:C(l.META,["name","charset","http-equiv","property","itemprop"],t),noscriptTags:C(l.NOSCRIPT,["innerHTML"],t),onChangeClientState:b(t),scriptTags:C(l.SCRIPT,["src","innerHTML"],t),styleTags:C(l.STYLE,["cssText"],t),title:g(t),titleAttributes:v("titleAttributes",t),prioritizeSeoTags:O(t,"prioritizeSeoTags")});q.canUseDOM?(e=o,_&&cancelAnimationFrame(_),e.defer?_=requestAnimationFrame(function(){K(e,function(){_=null})}):(K(e),_=null)):k&&(i=k(o)),n(i)},r.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},r.render=function(){return this.init(),null},e}(react__WEBPACK_IMPORTED_MODULE_0__.Component);z.propTypes={context:D.isRequired},z.displayName="HelmetDispatcher";var F=["children"],G=["children"],W=/*#__PURE__*/function(e){function r(){return e.apply(this,arguments)||this}s(r,e);var o=r.prototype;return o.shouldComponentUpdate=function(t){return!react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(I(this.props,"helmetData"),I(t,"helmetData"))},o.mapNestedChildrenToProps=function(t,e){if(!e)return null;switch(t.type){case l.SCRIPT:case l.NOSCRIPT:return{innerHTML:e};case l.STYLE:return{cssText:e};default:throw new Error("<"+t.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},o.flattenArrayTypeChildren=function(t){var e,r=t.child,n=t.arrayTypeChildren;return a({},n,((e={})[r.type]=[].concat(n[r.type]||[],[a({},t.newChildProps,this.mapNestedChildrenToProps(r,t.nestedChildren))]),e))},o.mapObjectTypeChildren=function(t){var e,r,n=t.child,i=t.newProps,o=t.newChildProps,s=t.nestedChildren;switch(n.type){case l.TITLE:return a({},i,((e={})[n.type]=s,e.titleAttributes=a({},o),e));case l.BODY:return a({},i,{bodyAttributes:a({},o)});case l.HTML:return a({},i,{htmlAttributes:a({},o)});default:return a({},i,((r={})[n.type]=a({},o),r))}},o.mapArrayTypeChildrenToProps=function(t,e){var r=a({},e);return Object.keys(t).forEach(function(e){var n;r=a({},r,((n={})[e]=t[e],n))}),r},o.warnOnInvalidChildren=function(t,e){return invariant__WEBPACK_IMPORTED_MODULE_2___default()(h.some(function(e){return t.type===e}),"function"==typeof t.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+h.join(", ")+" are allowed. Helmet does not support rendering <"+t.type+"> elements. Refer to our API for more information."),invariant__WEBPACK_IMPORTED_MODULE_2___default()(!e||"string"==typeof e||Array.isArray(e)&&!e.some(function(t){return"string"!=typeof t}),"Helmet expects a string as a child of <"+t.type+">. Did you forget to wrap your children in braces? ( <"+t.type+">{``}</"+t.type+"> ) Refer to our API for more information."),!0},o.mapChildrenToProps=function(e,r){var n=this,i={};return react__WEBPACK_IMPORTED_MODULE_0__.Children.forEach(e,function(t){if(t&&t.props){var e=t.props,o=e.children,a=u(e,F),s=Object.keys(a).reduce(function(t,e){return t[y[e]||e]=a[e],t},{}),c=t.type;switch("symbol"==typeof c?c=c.toString():n.warnOnInvalidChildren(t,o),c){case l.FRAGMENT:r=n.mapChildrenToProps(o,r);break;case l.LINK:case l.META:case l.NOSCRIPT:case l.SCRIPT:case l.STYLE:i=n.flattenArrayTypeChildren({child:t,arrayTypeChildren:i,newChildProps:s,nestedChildren:o});break;default:r=n.mapObjectTypeChildren({child:t,newProps:r,newChildProps:s,nestedChildren:o})}}}),this.mapArrayTypeChildrenToProps(i,r)},o.render=function(){var e=this.props,r=e.children,n=u(e,G),i=a({},n),o=n.helmetData;return r&&(i=this.mapChildrenToProps(r,i)),!o||o instanceof N||(o=new N(o.context,o.instances)),o?/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(z,a({},i,{context:o.value,helmetData:void 0})):/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(R.Consumer,null,function(e){/*#__PURE__*/return react__WEBPACK_IMPORTED_MODULE_0__.createElement(z,a({},i,{context:e}))})},r}(react__WEBPACK_IMPORTED_MODULE_0__.Component);W.propTypes={base:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),bodyAttributes:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),children:prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_4___default().node)),(prop_types__WEBPACK_IMPORTED_MODULE_4___default().node)]),defaultTitle:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),defer:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),encodeSpecialCharacters:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),htmlAttributes:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),link:prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)),meta:prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)),noscript:prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)),onChangeClientState:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),script:prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)),style:prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)),title:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),titleAttributes:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),titleTemplate:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),prioritizeSeoTags:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),helmetData:(prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)},W.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},W.displayName="Helmet"; -//# sourceMappingURL=index.module.js.map - - -/***/ }), - -/***/ 7303: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - -var React = __webpack_require__(6540); - -var ALL_INITIALIZERS = []; -var READY_INITIALIZERS = []; - -function isWebpackReady(getModuleIds) { - if (false) {} - - return getModuleIds().every(function (moduleId) { - return typeof moduleId !== "undefined" && typeof __webpack_require__.m[moduleId] !== "undefined"; - }); -} - -var LoadableCaptureContext = React.createContext(null); - -function load(loader) { - var promise = loader(); - var state = { - loading: true, - loaded: null, - error: null - }; - state.promise = promise.then(function (loaded) { - state.loading = false; - state.loaded = loaded; - return loaded; - }).catch(function (err) { - state.loading = false; - state.error = err; - throw err; - }); - return state; -} - -function loadMap(obj) { - var state = { - loading: false, - loaded: {}, - error: null - }; - var promises = []; - - try { - Object.keys(obj).forEach(function (key) { - var result = load(obj[key]); - - if (!result.loading) { - state.loaded[key] = result.loaded; - state.error = result.error; - } else { - state.loading = true; - } - - promises.push(result.promise); - result.promise.then(function (res) { - state.loaded[key] = res; - }).catch(function (err) { - state.error = err; - }); - }); - } catch (err) { - state.error = err; - } - - state.promise = Promise.all(promises).then(function (res) { - state.loading = false; - return res; - }).catch(function (err) { - state.loading = false; - throw err; - }); - return state; -} - -function resolve(obj) { - return obj && obj.__esModule ? obj.default : obj; -} - -function render(loaded, props) { - return React.createElement(resolve(loaded), props); -} - -function createLoadableComponent(loadFn, options) { - var _class, _temp; - - if (!options.loading) { - throw new Error("react-loadable requires a `loading` component"); - } - - var opts = _extends({ - loader: null, - loading: null, - delay: 200, - timeout: null, - render: render, - webpack: null, - modules: null - }, options); - - var res = null; - - function init() { - if (!res) { - res = loadFn(opts.loader); - } - - return res.promise; - } - - ALL_INITIALIZERS.push(init); - - if (typeof opts.webpack === "function") { - READY_INITIALIZERS.push(function () { - if (isWebpackReady(opts.webpack)) { - return init(); - } - }); - } - - return _temp = _class = - /*#__PURE__*/ - function (_React$Component) { - _inheritsLoose(LoadableComponent, _React$Component); - - function LoadableComponent(props) { - var _this; - - _this = _React$Component.call(this, props) || this; - - _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "retry", function () { - _this.setState({ - error: null, - loading: true, - timedOut: false - }); - - res = loadFn(opts.loader); - - _this._loadModule(); - }); - - init(); - _this.state = { - error: res.error, - pastDelay: false, - timedOut: false, - loading: res.loading, - loaded: res.loaded - }; - return _this; - } - - LoadableComponent.preload = function preload() { - return init(); - }; - - var _proto = LoadableComponent.prototype; - - _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() { - this._loadModule(); - }; - - _proto.componentDidMount = function componentDidMount() { - this._mounted = true; - }; - - _proto._loadModule = function _loadModule() { - var _this2 = this; - - if (this.context && Array.isArray(opts.modules)) { - opts.modules.forEach(function (moduleName) { - _this2.context.report(moduleName); - }); - } - - if (!res.loading) { - return; - } - - var setStateWithMountCheck = function setStateWithMountCheck(newState) { - if (!_this2._mounted) { - return; - } - - _this2.setState(newState); - }; - - if (typeof opts.delay === 'number') { - if (opts.delay === 0) { - this.setState({ - pastDelay: true - }); - } else { - this._delay = setTimeout(function () { - setStateWithMountCheck({ - pastDelay: true - }); - }, opts.delay); - } - } - - if (typeof opts.timeout === "number") { - this._timeout = setTimeout(function () { - setStateWithMountCheck({ - timedOut: true - }); - }, opts.timeout); - } - - var update = function update() { - setStateWithMountCheck({ - error: res.error, - loaded: res.loaded, - loading: res.loading - }); - - _this2._clearTimeouts(); - }; - - res.promise.then(function () { - update(); - return null; - }).catch(function (err) { - update(); - return null; - }); - }; - - _proto.componentWillUnmount = function componentWillUnmount() { - this._mounted = false; - - this._clearTimeouts(); - }; - - _proto._clearTimeouts = function _clearTimeouts() { - clearTimeout(this._delay); - clearTimeout(this._timeout); - }; - - _proto.render = function render() { - if (this.state.loading || this.state.error) { - return React.createElement(opts.loading, { - isLoading: this.state.loading, - pastDelay: this.state.pastDelay, - timedOut: this.state.timedOut, - error: this.state.error, - retry: this.retry - }); - } else if (this.state.loaded) { - return opts.render(this.state.loaded, this.props); - } else { - return null; - } - }; - - return LoadableComponent; - }(React.Component), _defineProperty(_class, "contextType", LoadableCaptureContext), _temp; -} - -function Loadable(opts) { - return createLoadableComponent(load, opts); -} - -function LoadableMap(opts) { - if (typeof opts.render !== "function") { - throw new Error("LoadableMap requires a `render(loaded, props)` function"); - } - - return createLoadableComponent(loadMap, opts); -} - -Loadable.Map = LoadableMap; - -var Capture = -/*#__PURE__*/ -function (_React$Component2) { - _inheritsLoose(Capture, _React$Component2); - - function Capture() { - return _React$Component2.apply(this, arguments) || this; - } - - var _proto2 = Capture.prototype; - - _proto2.render = function render() { - return React.createElement(LoadableCaptureContext.Provider, { - value: { - report: this.props.report - } - }, React.Children.only(this.props.children)); - }; - - return Capture; -}(React.Component); - -Loadable.Capture = Capture; - -function flushInitializers(initializers) { - var promises = []; - - while (initializers.length) { - var init = initializers.pop(); - promises.push(init()); - } - - return Promise.all(promises).then(function () { - if (initializers.length) { - return flushInitializers(initializers); - } - }); -} - -Loadable.preloadAll = function () { - return new Promise(function (resolve, reject) { - flushInitializers(ALL_INITIALIZERS).then(resolve, reject); - }); -}; - -Loadable.preloadReady = function () { - return new Promise(function (resolve, reject) { - // We always will resolve, errors should be handled within loading UIs. - flushInitializers(READY_INITIALIZERS).then(resolve, resolve); - }); -}; - -module.exports = Loadable; - -/***/ }), - -/***/ 3971: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ u: () => (/* binding */ matchRoutes), -/* harmony export */ v: () => (/* binding */ renderRoutes) -/* harmony export */ }); -/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9519); -/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8102); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); - - - - -function matchRoutes(routes, pathname, -/*not public API*/ -branch) { - if (branch === void 0) { - branch = []; - } - - routes.some(function (route) { - var match = route.path ? (0,react_router__WEBPACK_IMPORTED_MODULE_1__/* .matchPath */ .B6)(pathname, route) : branch.length ? branch[branch.length - 1].match // use parent match - : react_router__WEBPACK_IMPORTED_MODULE_1__/* .Router */ .Ix.computeRootMatch(pathname); // use default "root" match - - if (match) { - branch.push({ - route: route, - match: match - }); - - if (route.routes) { - matchRoutes(route.routes, pathname, branch); - } - } - - return match; - }); - return branch; -} - -function renderRoutes(routes, extraProps, switchProps) { - if (extraProps === void 0) { - extraProps = {}; - } - - if (switchProps === void 0) { - switchProps = {}; - } - - return routes ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_1__/* .Switch */ .dO, switchProps, routes.map(function (route, i) { - return react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_1__/* .Route */ .qh, { - key: route.key || i, - path: route.path, - exact: route.exact, - strict: route.strict, - render: function render(props) { - return route.render ? route.render((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)({}, props, {}, extraProps, { - route: route - })) : react__WEBPACK_IMPORTED_MODULE_0__.createElement(route.component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)({}, props, extraProps, { - route: route - })); - } - }); - })) : null; -} - - -//# sourceMappingURL=react-router-config.js.map - - -/***/ }), - -/***/ 9519: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ B6: () => (/* binding */ matchPath), -/* harmony export */ Ix: () => (/* binding */ Router), -/* harmony export */ W6: () => (/* binding */ useHistory), -/* harmony export */ XZ: () => (/* binding */ context), -/* harmony export */ dO: () => (/* binding */ Switch), -/* harmony export */ kO: () => (/* binding */ StaticRouter), -/* harmony export */ qh: () => (/* binding */ Route), -/* harmony export */ zy: () => (/* binding */ useLocation) -/* harmony export */ }); -/* unused harmony exports MemoryRouter, Prompt, Redirect, __HistoryContext, generatePath, useParams, useRouteMatch, withRouter */ -/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1146); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2688); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6941); -/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6143); -/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8102); -/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8853); -/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path_to_regexp__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1680); -/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(9257); -/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8486); -/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3__); - - - - - - - - - - - - -var MAX_SIGNED_31_BIT_INT = 1073741823; -var commonjsGlobal = typeof globalThis !== "undefined" // 'global proper' -? // eslint-disable-next-line no-undef -globalThis : typeof window !== "undefined" ? window // Browser -: typeof global !== "undefined" ? global // node.js -: {}; - -function getUniqueId() { - var key = "__global_unique_id__"; - return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1; -} // Inlined Object.is polyfill. -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is - - -function objectIs(x, y) { - if (x === y) { - return x !== 0 || 1 / x === 1 / y; - } else { - // eslint-disable-next-line no-self-compare - return x !== x && y !== y; - } -} - -function createEventEmitter(value) { - var handlers = []; - return { - on: function on(handler) { - handlers.push(handler); - }, - off: function off(handler) { - handlers = handlers.filter(function (h) { - return h !== handler; - }); - }, - get: function get() { - return value; - }, - set: function set(newValue, changedBits) { - value = newValue; - handlers.forEach(function (handler) { - return handler(value, changedBits); - }); - } - }; -} - -function onlyChild(children) { - return Array.isArray(children) ? children[0] : children; -} - -function createReactContext(defaultValue, calculateChangedBits) { - var _Provider$childContex, _Consumer$contextType; - - var contextProp = "__create-react-context-" + getUniqueId() + "__"; - - var Provider = /*#__PURE__*/function (_React$Component) { - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(Provider, _React$Component); - - function Provider() { - var _this; - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; - _this.emitter = createEventEmitter(_this.props.value); - return _this; - } - - var _proto = Provider.prototype; - - _proto.getChildContext = function getChildContext() { - var _ref; - - return _ref = {}, _ref[contextProp] = this.emitter, _ref; - }; - - _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { - if (this.props.value !== nextProps.value) { - var oldValue = this.props.value; - var newValue = nextProps.value; - var changedBits; - - if (objectIs(oldValue, newValue)) { - changedBits = 0; // No change - } else { - changedBits = typeof calculateChangedBits === "function" ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT; - - if (false) {} - - changedBits |= 0; - - if (changedBits !== 0) { - this.emitter.set(nextProps.value, changedBits); - } - } - } - }; - - _proto.render = function render() { - return this.props.children; - }; - - return Provider; - }(react__WEBPACK_IMPORTED_MODULE_0__.Component); - - Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object).isRequired, _Provider$childContex); - - var Consumer = /*#__PURE__*/function (_React$Component2) { - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(Consumer, _React$Component2); - - function Consumer() { - var _this2; - - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - _this2 = _React$Component2.call.apply(_React$Component2, [this].concat(args)) || this; - _this2.observedBits = void 0; - _this2.state = { - value: _this2.getValue() - }; - - _this2.onUpdate = function (newValue, changedBits) { - var observedBits = _this2.observedBits | 0; - - if ((observedBits & changedBits) !== 0) { - _this2.setState({ - value: _this2.getValue() - }); - } - }; - - return _this2; - } - - var _proto2 = Consumer.prototype; - - _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { - var observedBits = nextProps.observedBits; - this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default - : observedBits; - }; - - _proto2.componentDidMount = function componentDidMount() { - if (this.context[contextProp]) { - this.context[contextProp].on(this.onUpdate); - } - - var observedBits = this.props.observedBits; - this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default - : observedBits; - }; - - _proto2.componentWillUnmount = function componentWillUnmount() { - if (this.context[contextProp]) { - this.context[contextProp].off(this.onUpdate); - } - }; - - _proto2.getValue = function getValue() { - if (this.context[contextProp]) { - return this.context[contextProp].get(); - } else { - return defaultValue; - } - }; - - _proto2.render = function render() { - return onlyChild(this.props.children)(this.state.value); - }; - - return Consumer; - }(react__WEBPACK_IMPORTED_MODULE_0__.Component); - - Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object), _Consumer$contextType); - return { - Provider: Provider, - Consumer: Consumer - }; -} - -// MIT License -var createContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext || createReactContext; - -// TODO: Replace with React.createContext once we can assume React 16+ - -var createNamedContext = function createNamedContext(name) { - var context = createContext(); - context.displayName = name; - return context; -}; - -var historyContext = /*#__PURE__*/createNamedContext("Router-History"); - -var context = /*#__PURE__*/createNamedContext("Router"); - -/** - * The public API for putting history on context. - */ - -var Router = /*#__PURE__*/function (_React$Component) { - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(Router, _React$Component); - - Router.computeRootMatch = function computeRootMatch(pathname) { - return { - path: "/", - url: "/", - params: {}, - isExact: pathname === "/" - }; - }; - - function Router(props) { - var _this; - - _this = _React$Component.call(this, props) || this; - _this.state = { - location: props.history.location - }; // This is a bit of a hack. We have to start listening for location - // changes here in the constructor in case there are any <Redirect>s - // on the initial render. If there are, they will replace/push when - // they mount and since cDM fires in children before parents, we may - // get a new location before the <Router> is mounted. - - _this._isMounted = false; - _this._pendingLocation = null; - - if (!props.staticContext) { - _this.unlisten = props.history.listen(function (location) { - _this._pendingLocation = location; - }); - } - - return _this; - } - - var _proto = Router.prototype; - - _proto.componentDidMount = function componentDidMount() { - var _this2 = this; - - this._isMounted = true; - - if (this.unlisten) { - // Any pre-mount location changes have been captured at - // this point, so unregister the listener. - this.unlisten(); - } - - if (!this.props.staticContext) { - this.unlisten = this.props.history.listen(function (location) { - if (_this2._isMounted) { - _this2.setState({ - location: location - }); - } - }); - } - - if (this._pendingLocation) { - this.setState({ - location: this._pendingLocation - }); - } - }; - - _proto.componentWillUnmount = function componentWillUnmount() { - if (this.unlisten) { - this.unlisten(); - this._isMounted = false; - this._pendingLocation = null; - } - }; - - _proto.render = function render() { - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(context.Provider, { - value: { - history: this.props.history, - location: this.state.location, - match: Router.computeRootMatch(this.state.location.pathname), - staticContext: this.props.staticContext - } - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(historyContext.Provider, { - children: this.props.children || null, - value: this.props.history - })); - }; - - return Router; -}(react__WEBPACK_IMPORTED_MODULE_0__.Component); - -if (false) {} - -/** - * The public API for a <Router> that stores location in memory. - */ - -var MemoryRouter = /*#__PURE__*/function (_React$Component) { - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(MemoryRouter, _React$Component); - - function MemoryRouter() { - var _this; - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; - _this.history = (0,history__WEBPACK_IMPORTED_MODULE_6__/* .createMemoryHistory */ .sC)(_this.props); - return _this; - } - - var _proto = MemoryRouter.prototype; - - _proto.render = function render() { - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Router, { - history: this.history, - children: this.props.children - }); - }; - - return MemoryRouter; -}(react__WEBPACK_IMPORTED_MODULE_0__.Component); - -if (false) {} - -var Lifecycle = /*#__PURE__*/function (_React$Component) { - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(Lifecycle, _React$Component); - - function Lifecycle() { - return _React$Component.apply(this, arguments) || this; - } - - var _proto = Lifecycle.prototype; - - _proto.componentDidMount = function componentDidMount() { - if (this.props.onMount) this.props.onMount.call(this, this); - }; - - _proto.componentDidUpdate = function componentDidUpdate(prevProps) { - if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps); - }; - - _proto.componentWillUnmount = function componentWillUnmount() { - if (this.props.onUnmount) this.props.onUnmount.call(this, this); - }; - - _proto.render = function render() { - return null; - }; - - return Lifecycle; -}(react__WEBPACK_IMPORTED_MODULE_0__.Component); - -/** - * The public API for prompting the user before navigating away from a screen. - */ - -function Prompt(_ref) { - var message = _ref.message, - _ref$when = _ref.when, - when = _ref$when === void 0 ? true : _ref$when; - return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) { - !context ? false ? 0 : invariant(false) : void 0; - if (!when || context.staticContext) return null; - var method = context.history.block; - return /*#__PURE__*/React.createElement(Lifecycle, { - onMount: function onMount(self) { - self.release = method(message); - }, - onUpdate: function onUpdate(self, prevProps) { - if (prevProps.message !== message) { - self.release(); - self.release = method(message); - } - }, - onUnmount: function onUnmount(self) { - self.release(); - }, - message: message - }); - }); -} - -if (false) { var messageType; } - -var cache = {}; -var cacheLimit = 10000; -var cacheCount = 0; - -function compilePath(path) { - if (cache[path]) return cache[path]; - var generator = pathToRegexp.compile(path); - - if (cacheCount < cacheLimit) { - cache[path] = generator; - cacheCount++; - } - - return generator; -} -/** - * Public API for generating a URL pathname from a path and parameters. - */ - - -function generatePath(path, params) { - if (path === void 0) { - path = "/"; - } - - if (params === void 0) { - params = {}; - } - - return path === "/" ? path : compilePath(path)(params, { - pretty: true - }); -} - -/** - * The public API for navigating programmatically with a component. - */ - -function Redirect(_ref) { - var computedMatch = _ref.computedMatch, - to = _ref.to, - _ref$push = _ref.push, - push = _ref$push === void 0 ? false : _ref$push; - return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) { - !context ? false ? 0 : invariant(false) : void 0; - var history = context.history, - staticContext = context.staticContext; - var method = push ? history.push : history.replace; - var location = createLocation(computedMatch ? typeof to === "string" ? generatePath(to, computedMatch.params) : _extends({}, to, { - pathname: generatePath(to.pathname, computedMatch.params) - }) : to); // When rendering in a static context, - // set the new location immediately. - - if (staticContext) { - method(location); - return null; - } - - return /*#__PURE__*/React.createElement(Lifecycle, { - onMount: function onMount() { - method(location); - }, - onUpdate: function onUpdate(self, prevProps) { - var prevLocation = createLocation(prevProps.to); - - if (!locationsAreEqual(prevLocation, _extends({}, location, { - key: prevLocation.key - }))) { - method(location); - } - }, - to: to - }); - }); -} - -if (false) {} - -var cache$1 = {}; -var cacheLimit$1 = 10000; -var cacheCount$1 = 0; - -function compilePath$1(path, options) { - var cacheKey = "" + options.end + options.strict + options.sensitive; - var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {}); - if (pathCache[path]) return pathCache[path]; - var keys = []; - var regexp = path_to_regexp__WEBPACK_IMPORTED_MODULE_1___default()(path, keys, options); - var result = { - regexp: regexp, - keys: keys - }; - - if (cacheCount$1 < cacheLimit$1) { - pathCache[path] = result; - cacheCount$1++; - } - - return result; -} -/** - * Public API for matching a URL pathname to a path. - */ - - -function matchPath(pathname, options) { - if (options === void 0) { - options = {}; - } - - if (typeof options === "string" || Array.isArray(options)) { - options = { - path: options - }; - } - - var _options = options, - path = _options.path, - _options$exact = _options.exact, - exact = _options$exact === void 0 ? false : _options$exact, - _options$strict = _options.strict, - strict = _options$strict === void 0 ? false : _options$strict, - _options$sensitive = _options.sensitive, - sensitive = _options$sensitive === void 0 ? false : _options$sensitive; - var paths = [].concat(path); - return paths.reduce(function (matched, path) { - if (!path && path !== "") return null; - if (matched) return matched; - - var _compilePath = compilePath$1(path, { - end: exact, - strict: strict, - sensitive: sensitive - }), - regexp = _compilePath.regexp, - keys = _compilePath.keys; - - var match = regexp.exec(pathname); - if (!match) return null; - var url = match[0], - values = match.slice(1); - var isExact = pathname === url; - if (exact && !isExact) return null; - return { - path: path, - // the path used to match - url: path === "/" && url === "" ? "/" : url, - // the matched portion of the URL - isExact: isExact, - // whether or not we matched exactly - params: keys.reduce(function (memo, key, index) { - memo[key.name] = values[index]; - return memo; - }, {}) - }; - }, null); -} - -function isEmptyChildren(children) { - return react__WEBPACK_IMPORTED_MODULE_0__.Children.count(children) === 0; -} - -function evalChildrenDev(children, props, path) { - var value = children(props); - false ? 0 : void 0; - return value || null; -} -/** - * The public API for matching a single path and rendering. - */ - - -var Route = /*#__PURE__*/function (_React$Component) { - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(Route, _React$Component); - - function Route() { - return _React$Component.apply(this, arguments) || this; - } - - var _proto = Route.prototype; - - _proto.render = function render() { - var _this = this; - - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(context.Consumer, null, function (context$1) { - !context$1 ? false ? 0 : (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(false) : void 0; - var location = _this.props.location || context$1.location; - var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us - : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match; - - var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)({}, context$1, { - location: location, - match: match - }); - - var _this$props = _this.props, - children = _this$props.children, - component = _this$props.component, - render = _this$props.render; // Preact uses an empty array as children by - // default, so use null if that's the case. - - if (Array.isArray(children) && isEmptyChildren(children)) { - children = null; - } - - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(context.Provider, { - value: props - }, props.match ? children ? typeof children === "function" ? false ? 0 : children(props) : children : component ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(component, props) : render ? render(props) : null : typeof children === "function" ? false ? 0 : children(props) : null); - }); - }; - - return Route; -}(react__WEBPACK_IMPORTED_MODULE_0__.Component); - -if (false) {} - -function addLeadingSlash(path) { - return path.charAt(0) === "/" ? path : "/" + path; -} - -function addBasename(basename, location) { - if (!basename) return location; - return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)({}, location, { - pathname: addLeadingSlash(basename) + location.pathname - }); -} - -function stripBasename(basename, location) { - if (!basename) return location; - var base = addLeadingSlash(basename); - if (location.pathname.indexOf(base) !== 0) return location; - return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)({}, location, { - pathname: location.pathname.substr(base.length) - }); -} - -function createURL(location) { - return typeof location === "string" ? location : (0,history__WEBPACK_IMPORTED_MODULE_6__/* .createPath */ .AO)(location); -} - -function staticHandler(methodName) { - return function () { - false ? 0 : (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(false) ; - }; -} - -function noop() {} -/** - * The public top-level API for a "static" <Router>, so-called because it - * can't actually change the current location. Instead, it just records - * location changes in a context object. Useful mainly in testing and - * server-rendering scenarios. - */ - - -var StaticRouter = /*#__PURE__*/function (_React$Component) { - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(StaticRouter, _React$Component); - - function StaticRouter() { - var _this; - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; - - _this.handlePush = function (location) { - return _this.navigateTo(location, "PUSH"); - }; - - _this.handleReplace = function (location) { - return _this.navigateTo(location, "REPLACE"); - }; - - _this.handleListen = function () { - return noop; - }; - - _this.handleBlock = function () { - return noop; - }; - - return _this; - } - - var _proto = StaticRouter.prototype; - - _proto.navigateTo = function navigateTo(location, action) { - var _this$props = this.props, - _this$props$basename = _this$props.basename, - basename = _this$props$basename === void 0 ? "" : _this$props$basename, - _this$props$context = _this$props.context, - context = _this$props$context === void 0 ? {} : _this$props$context; - context.action = action; - context.location = addBasename(basename, (0,history__WEBPACK_IMPORTED_MODULE_6__/* .createLocation */ .yJ)(location)); - context.url = createURL(context.location); - }; - - _proto.render = function render() { - var _this$props2 = this.props, - _this$props2$basename = _this$props2.basename, - basename = _this$props2$basename === void 0 ? "" : _this$props2$basename, - _this$props2$context = _this$props2.context, - context = _this$props2$context === void 0 ? {} : _this$props2$context, - _this$props2$location = _this$props2.location, - location = _this$props2$location === void 0 ? "/" : _this$props2$location, - rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(_this$props2, ["basename", "context", "location"]); - - var history = { - createHref: function createHref(path) { - return addLeadingSlash(basename + createURL(path)); - }, - action: "POP", - location: stripBasename(basename, (0,history__WEBPACK_IMPORTED_MODULE_6__/* .createLocation */ .yJ)(location)), - push: this.handlePush, - replace: this.handleReplace, - go: staticHandler("go"), - goBack: staticHandler("goBack"), - goForward: staticHandler("goForward"), - listen: this.handleListen, - block: this.handleBlock - }; - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Router, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)({}, rest, { - history: history, - staticContext: context - })); - }; - - return StaticRouter; -}(react__WEBPACK_IMPORTED_MODULE_0__.Component); - -if (false) {} - -/** - * The public API for rendering the first <Route> that matches. - */ - -var Switch = /*#__PURE__*/function (_React$Component) { - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(Switch, _React$Component); - - function Switch() { - return _React$Component.apply(this, arguments) || this; - } - - var _proto = Switch.prototype; - - _proto.render = function render() { - var _this = this; - - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(context.Consumer, null, function (context) { - !context ? false ? 0 : (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(false) : void 0; - var location = _this.props.location || context.location; - var element, match; // We use React.Children.forEach instead of React.Children.toArray().find() - // here because toArray adds keys to all child elements and we do not want - // to trigger an unmount/remount for two <Route>s that render the same - // component at different URLs. - - react__WEBPACK_IMPORTED_MODULE_0__.Children.forEach(_this.props.children, function (child) { - if (match == null && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(child)) { - element = child; - var path = child.props.path || child.props.from; - match = path ? matchPath(location.pathname, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)({}, child.props, { - path: path - })) : context.match; - } - }); - return match ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(element, { - location: location, - computedMatch: match - }) : null; - }); - }; - - return Switch; -}(react__WEBPACK_IMPORTED_MODULE_0__.Component); - -if (false) {} - -/** - * A public higher-order component to access the imperative API - */ - -function withRouter(Component) { - var displayName = "withRouter(" + (Component.displayName || Component.name) + ")"; - - var C = function C(props) { - var wrappedComponentRef = props.wrappedComponentRef, - remainingProps = _objectWithoutPropertiesLoose(props, ["wrappedComponentRef"]); - - return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) { - !context ? false ? 0 : invariant(false) : void 0; - return /*#__PURE__*/React.createElement(Component, _extends({}, remainingProps, context, { - ref: wrappedComponentRef - })); - }); - }; - - C.displayName = displayName; - C.WrappedComponent = Component; - - if (false) {} - - return hoistStatics(C, Component); -} - -var useContext = react__WEBPACK_IMPORTED_MODULE_0__.useContext; -function useHistory() { - if (false) {} - - return useContext(historyContext); -} -function useLocation() { - if (false) {} - - return useContext(context).location; -} -function useParams() { - if (false) {} - - var match = useContext(context).match; - return match ? match.params : {}; -} -function useRouteMatch(path) { - if (false) {} - - var location = useLocation(); - var match = useContext(context).match; - return path ? matchPath(location.pathname, path) : match; -} - -if (false) { var secondaryBuildName, initialBuildName, buildNames, key, global$1; } - - -//# sourceMappingURL=react-router.js.map - - -/***/ }), - -/***/ 2803: -/***/ ((module) => { - -module.exports = Array.isArray || function (arr) { - return Object.prototype.toString.call(arr) == '[object Array]'; -}; - - -/***/ }), - -/***/ 8853: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var isarray = __webpack_require__(2803) - -/** - * Expose `pathToRegexp`. - */ -module.exports = pathToRegexp -module.exports.parse = parse -module.exports.compile = compile -module.exports.tokensToFunction = tokensToFunction -module.exports.tokensToRegExp = tokensToRegExp - -/** - * The main path matching regexp utility. - * - * @type {RegExp} - */ -var PATH_REGEXP = new RegExp([ - // Match escaped characters that would otherwise appear in future matches. - // This allows the user to escape special characters that won't transform. - '(\\\\.)', - // Match Express-style parameters and un-named parameters with a prefix - // and optional suffixes. Matches appear as: - // - // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined] - // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined] - // "/*" => ["/", undefined, undefined, undefined, undefined, "*"] - '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))' -].join('|'), 'g') - -/** - * Parse a string for the raw tokens. - * - * @param {string} str - * @param {Object=} options - * @return {!Array} - */ -function parse (str, options) { - var tokens = [] - var key = 0 - var index = 0 - var path = '' - var defaultDelimiter = options && options.delimiter || '/' - var res - - while ((res = PATH_REGEXP.exec(str)) != null) { - var m = res[0] - var escaped = res[1] - var offset = res.index - path += str.slice(index, offset) - index = offset + m.length - - // Ignore already escaped sequences. - if (escaped) { - path += escaped[1] - continue - } - - var next = str[index] - var prefix = res[2] - var name = res[3] - var capture = res[4] - var group = res[5] - var modifier = res[6] - var asterisk = res[7] - - // Push the current path onto the tokens. - if (path) { - tokens.push(path) - path = '' - } - - var partial = prefix != null && next != null && next !== prefix - var repeat = modifier === '+' || modifier === '*' - var optional = modifier === '?' || modifier === '*' - var delimiter = prefix || defaultDelimiter - var pattern = capture || group - var prevText = prefix || (typeof tokens[tokens.length - 1] === 'string' ? tokens[tokens.length - 1] : '') - - tokens.push({ - name: name || key++, - prefix: prefix || '', - delimiter: delimiter, - optional: optional, - repeat: repeat, - partial: partial, - asterisk: !!asterisk, - pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : restrictBacktrack(delimiter, prevText)) - }) - } - - // Match any characters still remaining. - if (index < str.length) { - path += str.substr(index) - } - - // If the path exists, push it onto the end. - if (path) { - tokens.push(path) - } - - return tokens -} - -function restrictBacktrack(delimiter, prevText) { - if (!prevText || prevText.indexOf(delimiter) > -1) { - return '[^' + escapeString(delimiter) + ']+?' - } - - return escapeString(prevText) + '|(?:(?!' + escapeString(prevText) + ')[^' + escapeString(delimiter) + '])+?' -} - -/** - * Compile a string to a template function for the path. - * - * @param {string} str - * @param {Object=} options - * @return {!function(Object=, Object=)} - */ -function compile (str, options) { - return tokensToFunction(parse(str, options), options) -} - -/** - * Prettier encoding of URI path segments. - * - * @param {string} - * @return {string} - */ -function encodeURIComponentPretty (str) { - return encodeURI(str).replace(/[\/?#]/g, function (c) { - return '%' + c.charCodeAt(0).toString(16).toUpperCase() - }) -} - -/** - * Encode the asterisk parameter. Similar to `pretty`, but allows slashes. - * - * @param {string} - * @return {string} - */ -function encodeAsterisk (str) { - return encodeURI(str).replace(/[?#]/g, function (c) { - return '%' + c.charCodeAt(0).toString(16).toUpperCase() - }) -} - -/** - * Expose a method for transforming tokens into the path function. - */ -function tokensToFunction (tokens, options) { - // Compile all the tokens into regexps. - var matches = new Array(tokens.length) - - // Compile all the patterns before compilation. - for (var i = 0; i < tokens.length; i++) { - if (typeof tokens[i] === 'object') { - matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options)) - } - } - - return function (obj, opts) { - var path = '' - var data = obj || {} - var options = opts || {} - var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent - - for (var i = 0; i < tokens.length; i++) { - var token = tokens[i] - - if (typeof token === 'string') { - path += token - - continue - } - - var value = data[token.name] - var segment - - if (value == null) { - if (token.optional) { - // Prepend partial segment prefixes. - if (token.partial) { - path += token.prefix - } - - continue - } else { - throw new TypeError('Expected "' + token.name + '" to be defined') - } - } - - if (isarray(value)) { - if (!token.repeat) { - throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`') - } - - if (value.length === 0) { - if (token.optional) { - continue - } else { - throw new TypeError('Expected "' + token.name + '" to not be empty') - } - } - - for (var j = 0; j < value.length; j++) { - segment = encode(value[j]) - - if (!matches[i].test(segment)) { - throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`') - } - - path += (j === 0 ? token.prefix : token.delimiter) + segment - } - - continue - } - - segment = token.asterisk ? encodeAsterisk(value) : encode(value) - - if (!matches[i].test(segment)) { - throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"') - } - - path += token.prefix + segment - } - - return path - } -} - -/** - * Escape a regular expression string. - * - * @param {string} str - * @return {string} - */ -function escapeString (str) { - return str.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1') -} - -/** - * Escape the capturing group by escaping special characters and meaning. - * - * @param {string} group - * @return {string} - */ -function escapeGroup (group) { - return group.replace(/([=!:$\/()])/g, '\\$1') -} - -/** - * Attach the keys as a property of the regexp. - * - * @param {!RegExp} re - * @param {Array} keys - * @return {!RegExp} - */ -function attachKeys (re, keys) { - re.keys = keys - return re -} - -/** - * Get the flags for a regexp from the options. - * - * @param {Object} options - * @return {string} - */ -function flags (options) { - return options && options.sensitive ? '' : 'i' -} - -/** - * Pull out keys from a regexp. - * - * @param {!RegExp} path - * @param {!Array} keys - * @return {!RegExp} - */ -function regexpToRegexp (path, keys) { - // Use a negative lookahead to match only capturing groups. - var groups = path.source.match(/\((?!\?)/g) - - if (groups) { - for (var i = 0; i < groups.length; i++) { - keys.push({ - name: i, - prefix: null, - delimiter: null, - optional: false, - repeat: false, - partial: false, - asterisk: false, - pattern: null - }) - } - } - - return attachKeys(path, keys) -} - -/** - * Transform an array into a regexp. - * - * @param {!Array} path - * @param {Array} keys - * @param {!Object} options - * @return {!RegExp} - */ -function arrayToRegexp (path, keys, options) { - var parts = [] - - for (var i = 0; i < path.length; i++) { - parts.push(pathToRegexp(path[i], keys, options).source) - } - - var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options)) - - return attachKeys(regexp, keys) -} - -/** - * Create a path regexp from string input. - * - * @param {string} path - * @param {!Array} keys - * @param {!Object} options - * @return {!RegExp} - */ -function stringToRegexp (path, keys, options) { - return tokensToRegExp(parse(path, options), keys, options) -} - -/** - * Expose a function for taking tokens and returning a RegExp. - * - * @param {!Array} tokens - * @param {(Array|Object)=} keys - * @param {Object=} options - * @return {!RegExp} - */ -function tokensToRegExp (tokens, keys, options) { - if (!isarray(keys)) { - options = /** @type {!Object} */ (keys || options) - keys = [] - } - - options = options || {} - - var strict = options.strict - var end = options.end !== false - var route = '' - - // Iterate over the tokens and create our regexp string. - for (var i = 0; i < tokens.length; i++) { - var token = tokens[i] - - if (typeof token === 'string') { - route += escapeString(token) - } else { - var prefix = escapeString(token.prefix) - var capture = '(?:' + token.pattern + ')' - - keys.push(token) - - if (token.repeat) { - capture += '(?:' + prefix + capture + ')*' - } - - if (token.optional) { - if (!token.partial) { - capture = '(?:' + prefix + '(' + capture + '))?' - } else { - capture = prefix + '(' + capture + ')?' - } - } else { - capture = prefix + '(' + capture + ')' - } - - route += capture - } - } - - var delimiter = escapeString(options.delimiter || '/') - var endsWithDelimiter = route.slice(-delimiter.length) === delimiter - - // In non-strict mode we allow a slash at the end of match. If the path to - // match already ends with a slash, we remove it for consistency. The slash - // is valid at the end of a path match, not in the middle. This is important - // in non-ending mode, where "/test/" shouldn't match "/test//route". - if (!strict) { - route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?' - } - - if (end) { - route += '$' - } else { - // In non-ending mode, we need the capturing groups to match as much as - // possible by using a positive lookahead to the end or next path segment. - route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)' - } - - return attachKeys(new RegExp('^' + route, flags(options)), keys) -} - -/** - * Normalize the given path string, returning a regular expression. - * - * An empty array can be passed in for the keys, which will hold the - * placeholder key descriptions. For example, using `/user/:id`, `keys` will - * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`. - * - * @param {(string|RegExp|Array)} path - * @param {(Array|Object)=} keys - * @param {Object=} options - * @return {!RegExp} - */ -function pathToRegexp (path, keys, options) { - if (!isarray(keys)) { - options = /** @type {!Object} */ (keys || options) - keys = [] - } - - options = options || {} - - if (path instanceof RegExp) { - return regexpToRegexp(path, /** @type {!Array} */ (keys)) - } - - if (isarray(path)) { - return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options) - } - - return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options) -} - - -/***/ }), - -/***/ 7788: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -var __webpack_unused_export__; -/** @license React v16.13.1 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b? -Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119; -function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}__webpack_unused_export__=l;__webpack_unused_export__=m;__webpack_unused_export__=k;__webpack_unused_export__=h;__webpack_unused_export__=c;__webpack_unused_export__=n;__webpack_unused_export__=e;__webpack_unused_export__=t;__webpack_unused_export__=r;__webpack_unused_export__=d; -__webpack_unused_export__=g;__webpack_unused_export__=f;__webpack_unused_export__=p;__webpack_unused_export__=function(a){return A(a)||z(a)===l};__webpack_unused_export__=A;__webpack_unused_export__=function(a){return z(a)===k};__webpack_unused_export__=function(a){return z(a)===h};__webpack_unused_export__=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};__webpack_unused_export__=function(a){return z(a)===n};__webpack_unused_export__=function(a){return z(a)===e};__webpack_unused_export__=function(a){return z(a)===t}; -__webpack_unused_export__=function(a){return z(a)===r};__webpack_unused_export__=function(a){return z(a)===d};__webpack_unused_export__=function(a){return z(a)===g};__webpack_unused_export__=function(a){return z(a)===f};__webpack_unused_export__=function(a){return z(a)===p}; -__webpack_unused_export__=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};__webpack_unused_export__=z; - - -/***/ }), - -/***/ 1680: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -if (true) { - /* unused reexport */ __webpack_require__(7788); -} else {} - - -/***/ }), - -/***/ 5317: -/***/ ((module) => { - -// - -module.exports = function shallowEqual(objA, objB, compare, compareContext) { - var ret = compare ? compare.call(compareContext, objA, objB) : void 0; - - if (ret !== void 0) { - return !!ret; - } - - if (objA === objB) { - return true; - } - - if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) { - return false; - } - - var keysA = Object.keys(objA); - var keysB = Object.keys(objB); - - if (keysA.length !== keysB.length) { - return false; - } - - var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); - - // Test for A's keys different from B. - for (var idx = 0; idx < keysA.length; idx++) { - var key = keysA[idx]; - - if (!bHasOwnProperty(key)) { - return false; - } - - var valueA = objA[key]; - var valueB = objB[key]; - - ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0; - - if (ret === false || (ret === void 0 && valueA !== valueB)) { - return false; - } - } - - return true; -}; - - -/***/ }), - -/***/ 9982: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + "assets/images/docusaurus-plushie-banner-a60f7593abca1e3eef26a9afa244e4fb.jpeg"); - -/***/ }), - -/***/ 1674: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + "assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png"); - -/***/ }), - -/***/ 3989: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + "assets/images/localeDropdown-f0d995e751e7656a1b0dbbc1134e49c2.png"); - -/***/ }), - -/***/ 1394: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAT3UlEQVR42u1dCVQVV5pWXNt2N0czykl33KImZ7IgKgqIghq3KCDK+qowCek2c2K0Mx3idBxakzYxJnZiq3Gf6Bg7UdN2R51MxnTSia3gew9Rwccm7oqiiIK4sPxTt1hEHo9XvPVW1fed852Dr+67UNb/1f3/+9/731atAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO8i2CxGjDUJXzMGmcSZnmoHAF7B6GMJvYPNwq5gk1AmMS/YJMbaahtkNsRLbeghmoU4d7cDAO+NCEbhQCMjrZbe5q81bhdyVOwuXbtqZdDSZ+yau9oBgNcgGeIvmzDQJkUy1ix8ZKMtsWvuagcAXsNYs/iyLSNlIgk2GebLQjKJQ6R/32+mbcWYI8KTrm6HJwR4170yCV80Y6T1I4kklH122lFNG9e2wxMC3Ao/U1KnQLPgF2SK/xeri5TiIxlikX1DBXVANpoXSy/DzGCjYfdYs2FRiFkcxWxEu/GF0RAm3fT1Bv8JJyV+LLlV08ccnNuFCQeGAdrheWkkXxaSGueruZFDurlrzfn4QSbDGRgAqJD3JK4NMcU8oo3RIz1hOB4q6AZeCzKK0aoXCIs58DBBt9Esfip5Ke3UPkN1Eg8TdB8N+5grr+JRxPAJHiLoTgaZhf97MiuqvVqTgNPxEEEPcK0qBTIyNa6rnWw1CLooJjHMUZc6KMWnNs9xDg8Q9ACLQtMMvbhfeFi7tuoLZMhBz1NczaUw2H4OFizhAYFe5l0uM+61m53wgMAWM+C7aBr425Ey2c8umPpdxmO+oxQPWz8cvnOmTGf7Gf1DDHXs25lYxMrIfmafOdnvOe4WONZsk4XhaD7nkJpAPQN96w2a/cw+c7S/QYsC6vuq46D/CHD+7zQaRvDmYsXVbG6CEWmZQ5YGWRk0+8zR/phb1bg/9pkLgvVk/twso+EViETbfPw1PyuDHrDQ36n4o6GL1eHRn7skDhlrEnZyuvbKMN/TIglKM9AzmyfLbzL2sBjZz89sniJfg2G7Nvbwad+m3qB9OrQh/z0RTschzK1yXZAu8zi/CxQ9NJL4fT6d+kwdQG27drB6q9WxXbcO1GfaAPL78wswcBfx6Y2T6ZHxv5DJfuY1acj5Kl55JHHPtOCBaOozZQC18mltUxhWlNoyobjwDQVyng/hVhyBaYbBrEKhW0aNL2Y85LO2lB37daHhX86AAemAPC4z6R5sEt9j6nWXONr8vJ3D4qhj287tIRIIxMP7PmrKd151p1vV3MjRtmt7eiT0F+QbN4z6xQ6T/eO2XdrbbP8z3y5wtyAQT+VAxAh336wcczQVhPfsKM+ANJWsYp+xRFS7Hh2b/C6LSWBIEIgnsuh73T1b1VRA3ql/dxq5d5bd74/4OlJu21TgjtktCMT9uwbdFJDXjx5TBzQ5cigRR71I/hZJ7bpbTwf3mT4QxgSBuHtbrSHcnUlAlstwxXqdgcmjmsyTIJkIgag2SGcZ8qYCckcWyAUdTpBnsBr398yWKTAoCESd07xD3rFeHMdmqxztj81uNe5v6B+CYVAQiAeD9qPiIOkP/NIVN9l//nArg/ZNeNLh/nzjn7Tqr//rw2FQEIg6M+lN7RcY/LvR3PQHupdh6S9R+LH5ZMh8i17NfoeS81bSO6fX0cfn/ps2X/wL7bzyv/TNtYP0z5KjdLw0hwrKL1DR/Rt0r+q+Plys0d/HyMtDGib4nNlx5ur+QPcZuLPQTSa9bjk0oyuM2dX9adm4Zx57jeIzk+lXliX0Ru4KSjm1hlac/S/69MKXtP3yXvrr1b/Td8WplHbzOGWV5dPZO5fo+v0Slxi4ZgTiiUw66BoD/32BPQO/zI2Ba0cgbs6kg9aMPfFbWn5mM/258H80a+CaEYi7M+ngA7JR4ERpHgFqEogbM+lgDSelv0LfFx+B1SNIBxtzWsarlH27ABavZoF4YsOUHhliEuX4AlCOwsJC2rVrF7+JwjHGuU8Em4X9MHDn+afzOzRtzGVlZbR69WqKjY2lqKgoev/996m4uNihvqqrqyklJYU6dKhf3Kq/Pel6izuKK246bYQXLlygvXv30ldffUWZmZlO9cX6CAwMpI4dO1Lbtm3pueeeo61btzrUV1ZWFj3++ONWKxseffRRMpvNLe7vzTffrClF5ONDEydOhIuldb53ZqNTxpyfn08RERFWBsiM2mQytbi/+fPn29zCnJSU1KK+ioqKyNe3poTpU089RRs3bqTt27dTQEBAvUiuXr2quL8ff/xRFgYT7e7duxGk64E/FBsdFsfhw4epR48eNTsvO3WioKAgmjRpEvXu3Vv+rHPnzvTTTz8p7u/dd9+tqXwouS/Lly+nS5cuUUlJCa1fv17ui11j7pFSTJs2Tf4O+7tu3bpV//ndu3fr3v40Y8YMRX1VVFTQkCFD5O8sW7YMmXS98MLdQofEYbFYqFu3brLBsBGEBa11KC0tpcTERPkaa8NGGXs4ePCg/HZu06YN7du3z+r6/v3769/e6enpdvvbs2dPTeHrnj1l968xLl68SN2712yR/vbbb+3299lnn8ltn3jiCbp37x4y6XphedWdFouDBbiDBw+WDWb27NlUWVlp1aaqqooiIyPlNsOHD3/IqBrj9u3bNGjQILnt4sWLbbZbuHCh3Mbf37/J31kH9rvq+mPBuS2w0Yi18fPzk4NvW2C/iwmDtd22bRsy6RAINWvM48aNq48z2L9tgblH/fv3l9suWLDAZrt58+bJbZ5++ulmhcRGpscee8yu4a9YsUJuM2zYMNk1soXy8nLq16+f3Hbnzp0227EJAtZm4MCBVv0hkw4XS8aNGzdkV4S9bZmxMMM6f/683e+lpaVR+/Y1W5A//PBDq+vr1q2Tr7E2GRkZil2nrl27Um5ubpOTBuwaa/PNN9/Y7a/u97MRgsUmjcE+Y8JgbbZs2YJMut6oZGnJ6NGjHz5bQzKYggLlWXf2BmbxA/suC+LZbNKOHTsoLi6OWrduLXPz5s2K+2P5DNYXC5rz8h6sGbt8+bI8qrFrrI3S4JuNNOw7ycnJVtfffvvtZkcjTPNqnMtOb7BrRGPGjJFnlpiRfPDBB826VbbABNGrVy/rii/t2tGqVata7OY9++yz8ve7dOkiC41NAdfNng0dOlR2x5TCaDTKfwf77tKlS2UhsJiEuXFs0oCJ+9ChQ+pYauKOPel65sT0JJckCpXmJVhgzLLZM2fOpEWLFj00ArR0oqCp/AuLj9hI0lIwkbKRrG7mqy42YVyyZIl61mJhqYnruercdtUuI2HTzZs2baK1a9fSkSPOrURm8U1droOxb9++tGHDBixWxGJFkVJLjmEFYoMcCYuxmpsBQ5Cuu+Xu8+hk2SmoQ63L3ZFJ90w8cuD6YVi9KgWCTLrHuDB3uVwep5qqoQC1CASZdM8z+sQb9P6ZTbSjcD+KNnAvEGTSUfYHAkGQDoGhcBymeUGUHkUmHdS6wG5VlmFPOgjq/gAdEMQRbCCoZYEgkw5CIMikgxAIMukgBIJMOgiBIEgHIRBM84KgegSCTDoIgSCTzvcWXbNAv7bE0/oL0fSPG1F0+k4k3aoMp4rqmUSkL8LFAus563gCbb88h4ruR+hOCKoQCIJ07/CFDAP9rWg23a+GILgVCDLp3uGSghi6WREOMXAvEGTSPcrxUpzxtTRqQAQqEQgCck9WNzFQasksCEBVAkEm3WMjB8SBIB20QbhVmOYFbXBpQazLDYjlR25XhetGIJOyXuw5JntuF2TSNVd61EAlLpytqpa4sjCWJmSLMtdcidG2QKhV67CcxHVh2WJVLVcik65zjmVZ9QyRxmcKFHpSJMkoaGqOSHGnDPTGuXj53w1pLIvSnECk+yoPzRZPh2Un/r3x/YZZEifBxdLrcpOMB6JQyt3Fc7QokOb4OoJ0vdEs0LgTLRNGHQ/cnE07JZEcLo2SXTCtC2RCdmJ8aI64MNSSOI25YMik64COiqMxPy6M0cMI0oDCGmTSdeBWuUIcYbWBe6kGZrdacM/VIafF7sikazggb2nMYU8gJZURehJIVUhO0iPIpGt29HCdOBj/qDMXS3ohfIogXctLUDJd516xaeCvb8yhMv24WGekQP2VsFNJ3TDNq1G60r2qY4IkFLWLpIX3fMojIkEm3QsV0LMFlwuEcfS/P0N+ft29ypdf/qWnBEJhFiEJmXQIRDH7RQ2uP5fcW+zbt6PHBDIhJ/EluFhwsRRxzsl4OmgeTyZTiFdZXDzVUwLJd6uLhSBdO0H63huzdRWkM9fKreJAJl07SULGjy7H6iuTbhHXI5Ou8URhGBKFHCcKEZB7fxQ5iqUm/C41QSadk8WKrhHJJ4X6crFCLeKfkEnXiavl7HL31LJZutgPUrfcPSxXmIoNU3rcMGURsGGKpw1TyKTzKZTxmWJtnkT6OSOBxhyYRX6fPW9lML0C+3k9KdgUR47s4dSWW4kF3Gy5RSbdtXTUMEaM6NG84bVuRUNSAiThSCNNlkCDk/25FAfjqFE9XVO0IVtcW1uwoTLMInyEsj86FohSllaGU7mOyv5MPR7bIyRrXmcUjoNAQFR3h0BAVHeHQEBUdwchEFR3ByEQVHdHkA6BQCCY5oVAIBBk0tUrEH//Htwm/jyZSedWIMikc55JVxFdkkmHiwWBgAjSIRAQmXQQAkEmHYRAkEkHeRDIP0ujaOG5eJqWK8j8jfQzOyQHAkEmXfcC2XA12uaOuk1F0RAIgnRtC4Qd4XyifBZZ7kRaHefMRg5722wbjySsD9YX61MLx0OH5cwNnJwX1xXTvDoTyF3JeD8pjKHncx4Y+xTp51VXYuRrrM3CJk6ybUx22u2D/mLlPuquTc4RavqrVv2e9LthOcKqgPNRP0MmXQcCqZAMdsFZ28b/unTNf1QvGpceZ1cg48xx5NPOh4Z/PsVmG79tz1Prtj5q3ZPekD/4mZLaIZOu9dpXx+1XKBl3XFlFk9BMAw1+a4Tddo8Zhqkyk95EQbz5cLG0Xsk9S3TLUQfN8ddnErRS9seMIF3rZ4FYPC+QF3IFrQjkFjLpOAvE5UwsMGhFIBZk0rV+FsgJweMC+Vilp95a34uwBpl0rdffNXtWIKzS+9Hbs2hlYSwZThnkqWA2onx+LZr7KeDGFdxDsw3jwnIS18mnSWWLd9iIEmpJfMvtU8DIpHtwBMny/Ahii/8mBe88JxRb8BJIc3tCEUG6Nt0re/zgcozqBVLrfm3GNK+aC1Ef408cjBM5Po2qhfdS6dZTppBJd2/cEWoRuRQIY8/RfdWQSbfP3LlhSoPuxSGpcb7IpMO1UsIe/n1UkUm3OxrmCsF2jTs09aU+0kO5zQwcLhYHTBe5Fgdb1HirMlwLLtbdSVkv9lSS01ha93CCzMpP4UGQzve5g+7iHzk+z7CF97JWadIvr8EDqmJZcmTSvUSzd5aWKOX8swn1y+tVLpCD001JnezHHkdE/yYe1B17IkEm3U3BeTq/o8faK9Hy0nvVn3JrET5SvAxeeii/sfGwqqSY5DVk0j3sXh3jd/Rgm7V43+Ou8F7uSyyT+P1EizjdnkC+sDPk7x+TPrcvMukemr3K5DtA532PuyP3EZojvtvc9G6mggd3LcgoLAg49PD6FQTp7li5K6hGIE3tcVejQGSRWBKn2RpBLrXgAbK2vws0zu2PaV7t7P1whnV73NUuEHZstC2B3HFwtuVIkEn8cKxRiJFGkn8NyZgbGGw07IaROzmCZKtLIGyPu6oz6fY2VkkP5R4MEwJxlCGmOG4y6ferw525l5u2BHIdhsmRQOBiOUy2gNLhGCRb/M6ZIB3U8PZaZ5haNosbgRTcjXT8XnKFqbZGkK9gmDxtjlKPOLZwNs37j1uzHbwXYWlzOwMXwTCRKFSaKJyeK8huFU8jh5K6xNaJQqGUuVU2R476aVqzOAqGiaUmSnjmXiTXy0xePZOgLN7ISxymfL06pfhID+YcjJMTgXAah7xymu9CclfuR8jFJhTcy1EHSvgYlsE41VVq1NPccX0O1wJhFVcU3UuOmNzyfeWpcb7Ih/C1YYqnfAirsnijkt8l7iz/EZ1vUJQMnJif0NvRQnBrYZw8bZriRyDbrvE9euwpnqOs1E+OsNjhogsBh17sKT2YIhgnLxunRC7WZc3OF6ic4w1SN6WRLTJP0ehxOSRrXmfn6lwZxWgYJ8r+NKywmMbhdG5DLrkYp+ReqsbnGCa7qij1pzBOVDdh3HqN7zMN/3pjttLA/D9dVt8q6suoNmNNwl9gnPreRPV76c1czbE4WKJyUo6il8euFErxcWkROD9TUqdgk2EfjJOf3IgnRfLepViqrOY37mCbtKbmKhLH1pDvU9q6pVIi29SOmS19zWxNqC3MUM25W6Vg5KhmhRlaUavWHjgoxzAHs1scBe4ZclUOl4sjJt9AxrIoboVRUhmuNCA/F2ZJnOTRs0BC0wy9gk3iamyr5ad2lquCd1alZM2VGG6PNGBJQJbnCM+ze7+sSslKr56RPj7D0K92WQrWbnEiFLYsxZG1W2zEYMszeC0herUiQv77FGTIz7EDcRSVEPUYKMUnyGgYIY0qyVIAuVN6WMdrdyZiuYqXgvixRwX5KOjxmTWLHdnORLZchfnrEdLb9+XTCZKLEiv78GfvRXA0QsykmxXhlF8eST8UR9G6i9H0q7x4Cm10H2HZQoUkhmsSj0/IFnZOyBFeDctNGNoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsI3/BxVeQNnL1kBuAAAAAElFTkSuQmCC"); - -/***/ }), - -/***/ 3065: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - assets: () => (/* binding */ assets), - contentTitle: () => (/* binding */ contentTitle), - "default": () => (/* binding */ MDXContent), - frontMatter: () => (/* binding */ frontMatter), - metadata: () => (/* reexport */ site_src_pages_markdown_page_md_393_namespaceObject), - toc: () => (/* binding */ toc) -}); - -;// ./.docusaurus/docusaurus-plugin-content-pages/default/site-src-pages-markdown-page-md-393.json -const site_src_pages_markdown_page_md_393_namespaceObject = /*#__PURE__*/JSON.parse('{"type":"mdx","permalink":"/markdown-page","source":"@site/src/pages/markdown-page.md","title":"Markdown page example","description":"You don\'t need React to write simple standalone pages.","frontMatter":{"title":"Markdown page example"},"unlisted":false}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -;// ./src/pages/markdown-page.md - - -const frontMatter = { - title: 'Markdown page example' -}; -const contentTitle = 'Markdown page example'; - -const assets = { - -}; - - - -const toc = []; -function _createMdxContent(props) { - const _components = { - h1: "h1", - header: "header", - p: "p", - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { - children: [(0,jsx_runtime.jsx)(_components.header, { - children: (0,jsx_runtime.jsx)(_components.h1, { - id: "markdown-page-example", - children: "Markdown page example" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "You don't need React to write simple standalone pages." - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return MDXLayout ? (0,jsx_runtime.jsx)(MDXLayout, { - ...props, - children: (0,jsx_runtime.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 2863: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - assets: () => (/* binding */ assets), - contentTitle: () => (/* binding */ contentTitle), - "default": () => (/* binding */ MDXContent), - frontMatter: () => (/* binding */ frontMatter), - metadata: () => (/* reexport */ site_docs_intro_md_0e3_namespaceObject), - toc: () => (/* binding */ toc) -}); - -;// ./.docusaurus/docusaurus-plugin-content-docs/default/site-docs-intro-md-0e3.json -const site_docs_intro_md_0e3_namespaceObject = /*#__PURE__*/JSON.parse('{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes.","source":"@site/docs/intro.md","sourceDirName":".","slug":"/intro","permalink":"/docs/intro","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/intro.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","next":{"title":"Tutorial - Basics","permalink":"/docs/category/tutorial---basics"}}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -;// ./docs/intro.md - - -const frontMatter = { - sidebar_position: 1 -}; -const contentTitle = 'Tutorial Intro'; - -const assets = { - -}; - - - -const toc = [{ - "value": "Getting Started", - "id": "getting-started", - "level": 2 -}, { - "value": "What you'll need", - "id": "what-youll-need", - "level": 3 -}, { - "value": "Generate a new site", - "id": "generate-a-new-site", - "level": 2 -}, { - "value": "Start your site", - "id": "start-your-site", - "level": 2 -}]; -function _createMdxContent(props) { - const _components = { - a: "a", - code: "code", - h1: "h1", - h2: "h2", - h3: "h3", - header: "header", - li: "li", - p: "p", - pre: "pre", - strong: "strong", - ul: "ul", - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { - children: [(0,jsx_runtime.jsx)(_components.header, { - children: (0,jsx_runtime.jsx)(_components.h1, { - id: "tutorial-intro", - children: "Tutorial Intro" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Let's discover ", (0,jsx_runtime.jsx)(_components.strong, { - children: "Docusaurus in less than 5 minutes" - }), "."] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "getting-started", - children: "Getting Started" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Get started by ", (0,jsx_runtime.jsx)(_components.strong, { - children: "creating a new site" - }), "."] - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Or ", (0,jsx_runtime.jsx)(_components.strong, { - children: "try Docusaurus immediately" - }), " with ", (0,jsx_runtime.jsx)(_components.strong, { - children: (0,jsx_runtime.jsx)(_components.a, { - href: "https://docusaurus.new", - children: "docusaurus.new" - }) - }), "."] - }), "\n", (0,jsx_runtime.jsx)(_components.h3, { - id: "what-youll-need", - children: "What you'll need" - }), "\n", (0,jsx_runtime.jsxs)(_components.ul, { - children: ["\n", (0,jsx_runtime.jsxs)(_components.li, { - children: [(0,jsx_runtime.jsx)(_components.a, { - href: "https://nodejs.org/en/download/", - children: "Node.js" - }), " version 18.0 or above:", "\n", (0,jsx_runtime.jsxs)(_components.ul, { - children: ["\n", (0,jsx_runtime.jsx)(_components.li, { - children: "When installing Node.js, you are recommended to check all checkboxes related to dependencies." - }), "\n"] - }), "\n"] - }), "\n"] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "generate-a-new-site", - children: "Generate a new site" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Generate a new Docusaurus site using the ", (0,jsx_runtime.jsx)(_components.strong, { - children: "classic template" - }), "."] - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "The classic template will automatically be added to your project after you run the command:" - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-bash", - children: "npm init docusaurus@latest my-website classic\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor." - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "The command also installs all necessary dependencies you need to run Docusaurus." - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "start-your-site", - children: "Start your site" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Run the development server:" - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-bash", - children: "cd my-website\nnpm run start\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["The ", (0,jsx_runtime.jsx)(_components.code, { - children: "cd" - }), " command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there."] - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["The ", (0,jsx_runtime.jsx)(_components.code, { - children: "npm run start" - }), " command builds your website locally and serves it through a development server, ready for you to view at ", (0,jsx_runtime.jsx)(_components.a, { - href: "http://localhost:3000/", - children: "http://localhost:3000/" - }), "."] - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Open ", (0,jsx_runtime.jsx)(_components.code, { - children: "docs/intro.md" - }), " (this page) and edit some lines: the site ", (0,jsx_runtime.jsx)(_components.strong, { - children: "reloads automatically" - }), " and displays your changes."] - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return MDXLayout ? (0,jsx_runtime.jsx)(MDXLayout, { - ...props, - children: (0,jsx_runtime.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 8423: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - assets: () => (/* binding */ assets), - contentTitle: () => (/* binding */ contentTitle), - "default": () => (/* binding */ MDXContent), - frontMatter: () => (/* binding */ frontMatter), - metadata: () => (/* reexport */ site_docs_tutorial_basics_congratulations_md_822_namespaceObject), - toc: () => (/* binding */ toc) -}); - -;// ./.docusaurus/docusaurus-plugin-content-docs/default/site-docs-tutorial-basics-congratulations-md-822.json -const site_docs_tutorial_basics_congratulations_md_822_namespaceObject = /*#__PURE__*/JSON.parse('{"id":"tutorial-basics/congratulations","title":"Congratulations!","description":"You have just learned the basics of Docusaurus and made some changes to the initial template.","source":"@site/docs/tutorial-basics/congratulations.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/congratulations","permalink":"/docs/tutorial-basics/congratulations","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/congratulations.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6},"sidebar":"tutorialSidebar","previous":{"title":"Deploy your site","permalink":"/docs/tutorial-basics/deploy-your-site"},"next":{"title":"Tutorial - Extras","permalink":"/docs/category/tutorial---extras"}}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -;// ./docs/tutorial-basics/congratulations.md - - -const frontMatter = { - sidebar_position: 6 -}; -const contentTitle = 'Congratulations!'; - -const assets = { - -}; - - - -const toc = [{ - "value": "What's next?", - "id": "whats-next", - "level": 2 -}]; -function _createMdxContent(props) { - const _components = { - a: "a", - code: "code", - h1: "h1", - h2: "h2", - header: "header", - li: "li", - p: "p", - strong: "strong", - ul: "ul", - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { - children: [(0,jsx_runtime.jsx)(_components.header, { - children: (0,jsx_runtime.jsx)(_components.h1, { - id: "congratulations", - children: "Congratulations!" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["You have just learned the ", (0,jsx_runtime.jsx)(_components.strong, { - children: "basics of Docusaurus" - }), " and made some changes to the ", (0,jsx_runtime.jsx)(_components.strong, { - children: "initial template" - }), "."] - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Docusaurus has ", (0,jsx_runtime.jsx)(_components.strong, { - children: "much more to offer" - }), "!"] - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Have ", (0,jsx_runtime.jsx)(_components.strong, { - children: "5 more minutes" - }), "? Take a look at ", (0,jsx_runtime.jsx)(_components.strong, { - children: (0,jsx_runtime.jsx)(_components.a, { - href: "/docs/tutorial-extras/manage-docs-versions", - children: "versioning" - }) - }), " and ", (0,jsx_runtime.jsx)(_components.strong, { - children: (0,jsx_runtime.jsx)(_components.a, { - href: "/docs/tutorial-extras/translate-your-site", - children: "i18n" - }) - }), "."] - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Anything ", (0,jsx_runtime.jsx)(_components.strong, { - children: "unclear" - }), " or ", (0,jsx_runtime.jsx)(_components.strong, { - children: "buggy" - }), " in this tutorial? ", (0,jsx_runtime.jsx)(_components.a, { - href: "https://github.com/facebook/docusaurus/discussions/4610", - children: "Please report it!" - })] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "whats-next", - children: "What's next?" - }), "\n", (0,jsx_runtime.jsxs)(_components.ul, { - children: ["\n", (0,jsx_runtime.jsxs)(_components.li, { - children: ["Read the ", (0,jsx_runtime.jsx)(_components.a, { - href: "https://docusaurus.io/", - children: "official documentation" - })] - }), "\n", (0,jsx_runtime.jsxs)(_components.li, { - children: ["Modify your site configuration with ", (0,jsx_runtime.jsx)(_components.a, { - href: "https://docusaurus.io/docs/api/docusaurus-config", - children: (0,jsx_runtime.jsx)(_components.code, { - children: "docusaurus.config.js" - }) - })] - }), "\n", (0,jsx_runtime.jsxs)(_components.li, { - children: ["Add navbar and footer items with ", (0,jsx_runtime.jsx)(_components.a, { - href: "https://docusaurus.io/docs/api/themes/configuration", - children: (0,jsx_runtime.jsx)(_components.code, { - children: "themeConfig" - }) - })] - }), "\n", (0,jsx_runtime.jsxs)(_components.li, { - children: ["Add a custom ", (0,jsx_runtime.jsx)(_components.a, { - href: "https://docusaurus.io/docs/styling-layout", - children: "Design and Layout" - })] - }), "\n", (0,jsx_runtime.jsxs)(_components.li, { - children: ["Add a ", (0,jsx_runtime.jsx)(_components.a, { - href: "https://docusaurus.io/docs/search", - children: "search bar" - })] - }), "\n", (0,jsx_runtime.jsxs)(_components.li, { - children: ["Find inspirations in the ", (0,jsx_runtime.jsx)(_components.a, { - href: "https://docusaurus.io/showcase", - children: "Docusaurus showcase" - })] - }), "\n", (0,jsx_runtime.jsxs)(_components.li, { - children: ["Get involved in the ", (0,jsx_runtime.jsx)(_components.a, { - href: "https://docusaurus.io/community/support", - children: "Docusaurus Community" - })] - }), "\n"] - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return MDXLayout ? (0,jsx_runtime.jsx)(MDXLayout, { - ...props, - children: (0,jsx_runtime.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 2621: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - assets: () => (/* binding */ assets), - contentTitle: () => (/* binding */ contentTitle), - "default": () => (/* binding */ MDXContent), - frontMatter: () => (/* binding */ frontMatter), - metadata: () => (/* reexport */ site_docs_tutorial_basics_create_a_blog_post_md_533_namespaceObject), - toc: () => (/* binding */ toc) -}); - -;// ./.docusaurus/docusaurus-plugin-content-docs/default/site-docs-tutorial-basics-create-a-blog-post-md-533.json -const site_docs_tutorial_basics_create_a_blog_post_md_533_namespaceObject = /*#__PURE__*/JSON.parse('{"id":"tutorial-basics/create-a-blog-post","title":"Create a Blog Post","description":"Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...","source":"@site/docs/tutorial-basics/create-a-blog-post.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/create-a-blog-post","permalink":"/docs/tutorial-basics/create-a-blog-post","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-blog-post.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Create a Document","permalink":"/docs/tutorial-basics/create-a-document"},"next":{"title":"Markdown Features","permalink":"/docs/tutorial-basics/markdown-features"}}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -;// ./docs/tutorial-basics/create-a-blog-post.md - - -const frontMatter = { - sidebar_position: 3 -}; -const contentTitle = 'Create a Blog Post'; - -const assets = { - -}; - - - -const toc = [{ - "value": "Create your first Post", - "id": "create-your-first-post", - "level": 2 -}]; -function _createMdxContent(props) { - const _components = { - a: "a", - code: "code", - h1: "h1", - h2: "h2", - header: "header", - p: "p", - pre: "pre", - strong: "strong", - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { - children: [(0,jsx_runtime.jsx)(_components.header, { - children: (0,jsx_runtime.jsx)(_components.h1, { - id: "create-a-blog-post", - children: "Create a Blog Post" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Docusaurus creates a ", (0,jsx_runtime.jsx)(_components.strong, { - children: "page for each blog post" - }), ", but also a ", (0,jsx_runtime.jsx)(_components.strong, { - children: "blog index page" - }), ", a ", (0,jsx_runtime.jsx)(_components.strong, { - children: "tag system" - }), ", an ", (0,jsx_runtime.jsx)(_components.strong, { - children: "RSS" - }), " feed..."] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "create-your-first-post", - children: "Create your first Post" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Create a file at ", (0,jsx_runtime.jsx)(_components.code, { - children: "blog/2021-02-28-greetings.md" - }), ":"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-md", - metastring: "title=\"blog/2021-02-28-greetings.md\"", - children: "---\nslug: greetings\ntitle: Greetings!\nauthors:\n - name: Joel Marcey\n title: Co-creator of Docusaurus 1\n url: https://github.com/JoelMarcey\n image_url: https://github.com/JoelMarcey.png\n - name: Sébastien Lorber\n title: Docusaurus maintainer\n url: https://sebastienlorber.com\n image_url: https://github.com/slorber.png\ntags: [greetings]\n---\n\nCongratulations, you have made your first post!\n\nFeel free to play around and edit this post as much as you like.\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["A new blog post is now available at ", (0,jsx_runtime.jsx)(_components.a, { - href: "http://localhost:3000/blog/greetings", - children: "http://localhost:3000/blog/greetings" - }), "."] - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return MDXLayout ? (0,jsx_runtime.jsx)(MDXLayout, { - ...props, - children: (0,jsx_runtime.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 1000: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - assets: () => (/* binding */ assets), - contentTitle: () => (/* binding */ contentTitle), - "default": () => (/* binding */ MDXContent), - frontMatter: () => (/* binding */ frontMatter), - metadata: () => (/* reexport */ site_docs_tutorial_basics_create_a_document_md_1e4_namespaceObject), - toc: () => (/* binding */ toc) -}); - -;// ./.docusaurus/docusaurus-plugin-content-docs/default/site-docs-tutorial-basics-create-a-document-md-1e4.json -const site_docs_tutorial_basics_create_a_document_md_1e4_namespaceObject = /*#__PURE__*/JSON.parse('{"id":"tutorial-basics/create-a-document","title":"Create a Document","description":"Documents are groups of pages connected through:","source":"@site/docs/tutorial-basics/create-a-document.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/create-a-document","permalink":"/docs/tutorial-basics/create-a-document","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-document.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Create a Page","permalink":"/docs/tutorial-basics/create-a-page"},"next":{"title":"Create a Blog Post","permalink":"/docs/tutorial-basics/create-a-blog-post"}}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -;// ./docs/tutorial-basics/create-a-document.md - - -const frontMatter = { - sidebar_position: 2 -}; -const contentTitle = 'Create a Document'; - -const assets = { - -}; - - - -const toc = [{ - "value": "Create your first Doc", - "id": "create-your-first-doc", - "level": 2 -}, { - "value": "Configure the Sidebar", - "id": "configure-the-sidebar", - "level": 2 -}]; -function _createMdxContent(props) { - const _components = { - a: "a", - code: "code", - h1: "h1", - h2: "h2", - header: "header", - li: "li", - p: "p", - pre: "pre", - strong: "strong", - ul: "ul", - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { - children: [(0,jsx_runtime.jsx)(_components.header, { - children: (0,jsx_runtime.jsx)(_components.h1, { - id: "create-a-document", - children: "Create a Document" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Documents are ", (0,jsx_runtime.jsx)(_components.strong, { - children: "groups of pages" - }), " connected through:"] - }), "\n", (0,jsx_runtime.jsxs)(_components.ul, { - children: ["\n", (0,jsx_runtime.jsxs)(_components.li, { - children: ["a ", (0,jsx_runtime.jsx)(_components.strong, { - children: "sidebar" - })] - }), "\n", (0,jsx_runtime.jsx)(_components.li, { - children: (0,jsx_runtime.jsx)(_components.strong, { - children: "previous/next navigation" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.li, { - children: (0,jsx_runtime.jsx)(_components.strong, { - children: "versioning" - }) - }), "\n"] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "create-your-first-doc", - children: "Create your first Doc" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Create a Markdown file at ", (0,jsx_runtime.jsx)(_components.code, { - children: "docs/hello.md" - }), ":"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-md", - metastring: "title=\"docs/hello.md\"", - children: "# Hello\n\nThis is my **first Docusaurus document**!\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["A new document is now available at ", (0,jsx_runtime.jsx)(_components.a, { - href: "http://localhost:3000/docs/hello", - children: "http://localhost:3000/docs/hello" - }), "."] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "configure-the-sidebar", - children: "Configure the Sidebar" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Docusaurus automatically ", (0,jsx_runtime.jsx)(_components.strong, { - children: "creates a sidebar" - }), " from the ", (0,jsx_runtime.jsx)(_components.code, { - children: "docs" - }), " folder."] - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Add metadata to customize the sidebar label and position:" - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-md", - metastring: "title=\"docs/hello.md\" {1-4}", - children: "---\nsidebar_label: 'Hi!'\nsidebar_position: 3\n---\n\n# Hello\n\nThis is my **first Docusaurus document**!\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["It is also possible to create your sidebar explicitly in ", (0,jsx_runtime.jsx)(_components.code, { - children: "sidebars.js" - }), ":"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-js", - metastring: "title=\"sidebars.js\"", - children: "export default {\n tutorialSidebar: [\n 'intro',\n // highlight-next-line\n 'hello',\n {\n type: 'category',\n label: 'Tutorial',\n items: ['tutorial-basics/create-a-document'],\n },\n ],\n};\n" - }) - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return MDXLayout ? (0,jsx_runtime.jsx)(MDXLayout, { - ...props, - children: (0,jsx_runtime.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 9009: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - assets: () => (/* binding */ assets), - contentTitle: () => (/* binding */ contentTitle), - "default": () => (/* binding */ MDXContent), - frontMatter: () => (/* binding */ frontMatter), - metadata: () => (/* reexport */ site_docs_tutorial_basics_create_a_page_md_5c8_namespaceObject), - toc: () => (/* binding */ toc) -}); - -;// ./.docusaurus/docusaurus-plugin-content-docs/default/site-docs-tutorial-basics-create-a-page-md-5c8.json -const site_docs_tutorial_basics_create_a_page_md_5c8_namespaceObject = /*#__PURE__*/JSON.parse('{"id":"tutorial-basics/create-a-page","title":"Create a Page","description":"Add Markdown or React files to src/pages to create a standalone page:","source":"@site/docs/tutorial-basics/create-a-page.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/create-a-page","permalink":"/docs/tutorial-basics/create-a-page","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-page.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Tutorial - Basics","permalink":"/docs/category/tutorial---basics"},"next":{"title":"Create a Document","permalink":"/docs/tutorial-basics/create-a-document"}}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -;// ./docs/tutorial-basics/create-a-page.md - - -const frontMatter = { - sidebar_position: 1 -}; -const contentTitle = 'Create a Page'; - -const assets = { - -}; - - - -const toc = [{ - "value": "Create your first React Page", - "id": "create-your-first-react-page", - "level": 2 -}, { - "value": "Create your first Markdown Page", - "id": "create-your-first-markdown-page", - "level": 2 -}]; -function _createMdxContent(props) { - const _components = { - a: "a", - code: "code", - h1: "h1", - h2: "h2", - header: "header", - li: "li", - p: "p", - pre: "pre", - strong: "strong", - ul: "ul", - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { - children: [(0,jsx_runtime.jsx)(_components.header, { - children: (0,jsx_runtime.jsx)(_components.h1, { - id: "create-a-page", - children: "Create a Page" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Add ", (0,jsx_runtime.jsx)(_components.strong, { - children: "Markdown or React" - }), " files to ", (0,jsx_runtime.jsx)(_components.code, { - children: "src/pages" - }), " to create a ", (0,jsx_runtime.jsx)(_components.strong, { - children: "standalone page" - }), ":"] - }), "\n", (0,jsx_runtime.jsxs)(_components.ul, { - children: ["\n", (0,jsx_runtime.jsxs)(_components.li, { - children: [(0,jsx_runtime.jsx)(_components.code, { - children: "src/pages/index.js" - }), " → ", (0,jsx_runtime.jsx)(_components.code, { - children: "localhost:3000/" - })] - }), "\n", (0,jsx_runtime.jsxs)(_components.li, { - children: [(0,jsx_runtime.jsx)(_components.code, { - children: "src/pages/foo.md" - }), " → ", (0,jsx_runtime.jsx)(_components.code, { - children: "localhost:3000/foo" - })] - }), "\n", (0,jsx_runtime.jsxs)(_components.li, { - children: [(0,jsx_runtime.jsx)(_components.code, { - children: "src/pages/foo/bar.js" - }), " → ", (0,jsx_runtime.jsx)(_components.code, { - children: "localhost:3000/foo/bar" - })] - }), "\n"] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "create-your-first-react-page", - children: "Create your first React Page" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Create a file at ", (0,jsx_runtime.jsx)(_components.code, { - children: "src/pages/my-react-page.js" - }), ":"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-jsx", - metastring: "title=\"src/pages/my-react-page.js\"", - children: "import React from 'react';\nimport Layout from '@theme/Layout';\n\nexport default function MyReactPage() {\n return (\n <Layout>\n <h1>My React page</h1>\n <p>This is a React page</p>\n </Layout>\n );\n}\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["A new page is now available at ", (0,jsx_runtime.jsx)(_components.a, { - href: "http://localhost:3000/my-react-page", - children: "http://localhost:3000/my-react-page" - }), "."] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "create-your-first-markdown-page", - children: "Create your first Markdown Page" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Create a file at ", (0,jsx_runtime.jsx)(_components.code, { - children: "src/pages/my-markdown-page.md" - }), ":"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-mdx", - metastring: "title=\"src/pages/my-markdown-page.md\"", - children: "# My Markdown page\n\nThis is a Markdown page\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["A new page is now available at ", (0,jsx_runtime.jsx)(_components.a, { - href: "http://localhost:3000/my-markdown-page", - children: "http://localhost:3000/my-markdown-page" - }), "."] - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return MDXLayout ? (0,jsx_runtime.jsx)(MDXLayout, { - ...props, - children: (0,jsx_runtime.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 9466: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - assets: () => (/* binding */ assets), - contentTitle: () => (/* binding */ contentTitle), - "default": () => (/* binding */ MDXContent), - frontMatter: () => (/* binding */ frontMatter), - metadata: () => (/* reexport */ site_docs_tutorial_basics_deploy_your_site_md_f55_namespaceObject), - toc: () => (/* binding */ toc) -}); - -;// ./.docusaurus/docusaurus-plugin-content-docs/default/site-docs-tutorial-basics-deploy-your-site-md-f55.json -const site_docs_tutorial_basics_deploy_your_site_md_f55_namespaceObject = /*#__PURE__*/JSON.parse('{"id":"tutorial-basics/deploy-your-site","title":"Deploy your site","description":"Docusaurus is a static-site-generator (also called Jamstack).","source":"@site/docs/tutorial-basics/deploy-your-site.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/deploy-your-site","permalink":"/docs/tutorial-basics/deploy-your-site","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/deploy-your-site.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"Markdown Features","permalink":"/docs/tutorial-basics/markdown-features"},"next":{"title":"Congratulations!","permalink":"/docs/tutorial-basics/congratulations"}}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -;// ./docs/tutorial-basics/deploy-your-site.md - - -const frontMatter = { - sidebar_position: 5 -}; -const contentTitle = 'Deploy your site'; - -const assets = { - -}; - - - -const toc = [{ - "value": "Build your site", - "id": "build-your-site", - "level": 2 -}, { - "value": "Deploy your site", - "id": "deploy-your-site-1", - "level": 2 -}]; -function _createMdxContent(props) { - const _components = { - a: "a", - code: "code", - h1: "h1", - h2: "h2", - header: "header", - p: "p", - pre: "pre", - strong: "strong", - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { - children: [(0,jsx_runtime.jsx)(_components.header, { - children: (0,jsx_runtime.jsx)(_components.h1, { - id: "deploy-your-site", - children: "Deploy your site" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Docusaurus is a ", (0,jsx_runtime.jsx)(_components.strong, { - children: "static-site-generator" - }), " (also called ", (0,jsx_runtime.jsx)(_components.strong, { - children: (0,jsx_runtime.jsx)(_components.a, { - href: "https://jamstack.org/", - children: "Jamstack" - }) - }), ")."] - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["It builds your site as simple ", (0,jsx_runtime.jsx)(_components.strong, { - children: "static HTML, JavaScript and CSS files" - }), "."] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "build-your-site", - children: "Build your site" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Build your site ", (0,jsx_runtime.jsx)(_components.strong, { - children: "for production" - }), ":"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-bash", - children: "npm run build\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["The static files are generated in the ", (0,jsx_runtime.jsx)(_components.code, { - children: "build" - }), " folder."] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "deploy-your-site-1", - children: "Deploy your site" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Test your production build locally:" - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-bash", - children: "npm run serve\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["The ", (0,jsx_runtime.jsx)(_components.code, { - children: "build" - }), " folder is now served at ", (0,jsx_runtime.jsx)(_components.a, { - href: "http://localhost:3000/", - children: "http://localhost:3000/" - }), "."] - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["You can now deploy the ", (0,jsx_runtime.jsx)(_components.code, { - children: "build" - }), " folder ", (0,jsx_runtime.jsx)(_components.strong, { - children: "almost anywhere" - }), " easily, ", (0,jsx_runtime.jsx)(_components.strong, { - children: "for free" - }), " or very small cost (read the ", (0,jsx_runtime.jsx)(_components.strong, { - children: (0,jsx_runtime.jsx)(_components.a, { - href: "https://docusaurus.io/docs/deployment", - children: "Deployment Guide" - }) - }), ")."] - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return MDXLayout ? (0,jsx_runtime.jsx)(MDXLayout, { - ...props, - children: (0,jsx_runtime.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 6731: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - Highlight: () => (/* binding */ Highlight), - assets: () => (/* binding */ assets), - contentTitle: () => (/* binding */ contentTitle), - "default": () => (/* binding */ MDXContent), - frontMatter: () => (/* binding */ frontMatter), - metadata: () => (/* reexport */ site_docs_tutorial_basics_markdown_features_mdx_18c_namespaceObject), - toc: () => (/* binding */ toc) -}); - -;// ./.docusaurus/docusaurus-plugin-content-docs/default/site-docs-tutorial-basics-markdown-features-mdx-18c.json -const site_docs_tutorial_basics_markdown_features_mdx_18c_namespaceObject = /*#__PURE__*/JSON.parse('{"id":"tutorial-basics/markdown-features","title":"Markdown Features","description":"Docusaurus supports Markdown and a few additional features.","source":"@site/docs/tutorial-basics/markdown-features.mdx","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/markdown-features","permalink":"/docs/tutorial-basics/markdown-features","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/markdown-features.mdx","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_position":4},"sidebar":"tutorialSidebar","previous":{"title":"Create a Blog Post","permalink":"/docs/tutorial-basics/create-a-blog-post"},"next":{"title":"Deploy your site","permalink":"/docs/tutorial-basics/deploy-your-site"}}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -;// ./docs/tutorial-basics/markdown-features.mdx - - -const frontMatter = { - sidebar_position: 4 -}; -const contentTitle = 'Markdown Features'; - -const assets = { - -}; - - - -const Highlight = ({children, color}) => (0,jsx_runtime.jsx)("span", { - style: { - backgroundColor: color, - borderRadius: '20px', - color: '#fff', - padding: '10px', - cursor: 'pointer' - }, - onClick: () => { - alert(`You clicked the color ${color} with label ${children}`); - }, - children: children -}); -const toc = [{ - "value": "Front Matter", - "id": "front-matter", - "level": 2 -}, { - "value": "Links", - "id": "links", - "level": 2 -}, { - "value": "Images", - "id": "images", - "level": 2 -}, { - "value": "Code Blocks", - "id": "code-blocks", - "level": 2 -}, { - "value": "Admonitions", - "id": "admonitions", - "level": 2 -}, { - "value": "MDX and React Components", - "id": "mdx-and-react-components", - "level": 2 -}]; -function _createMdxContent(props) { - const _components = { - a: "a", - admonition: "admonition", - code: "code", - h1: "h1", - h2: "h2", - header: "header", - img: "img", - p: "p", - pre: "pre", - strong: "strong", - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { - children: [(0,jsx_runtime.jsx)(_components.header, { - children: (0,jsx_runtime.jsx)(_components.h1, { - id: "markdown-features", - children: "Markdown Features" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Docusaurus supports ", (0,jsx_runtime.jsx)(_components.strong, { - children: (0,jsx_runtime.jsx)(_components.a, { - href: "https://daringfireball.net/projects/markdown/syntax", - children: "Markdown" - }) - }), " and a few ", (0,jsx_runtime.jsx)(_components.strong, { - children: "additional features" - }), "."] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "front-matter", - children: "Front Matter" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Markdown documents have metadata at the top called ", (0,jsx_runtime.jsx)(_components.a, { - href: "https://jekyllrb.com/docs/front-matter/", - children: "Front Matter" - }), ":"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-text", - metastring: "title=\"my-doc.md\"", - children: "// highlight-start\n---\nid: my-doc-id\ntitle: My document title\ndescription: My document description\nslug: /my-custom-url\n---\n// highlight-end\n\n## Markdown heading\n\nMarkdown text with [links](./hello.md)\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "links", - children: "Links" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Regular Markdown links are supported, using url paths or relative file paths." - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-md", - children: "Let's see how to [Create a page](/create-a-page).\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-md", - children: "Let's see how to [Create a page](./create-a-page.md).\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: [(0,jsx_runtime.jsx)(_components.strong, { - children: "Result:" - }), " Let's see how to ", (0,jsx_runtime.jsx)(_components.a, { - href: "/docs/tutorial-basics/create-a-page", - children: "Create a page" - }), "."] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "images", - children: "Images" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Regular Markdown images are supported." - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["You can use absolute paths to reference images in the static directory (", (0,jsx_runtime.jsx)(_components.code, { - children: "static/img/docusaurus.png" - }), "):"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-md", - children: "![Docusaurus logo](/img/docusaurus.png)\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: (0,jsx_runtime.jsx)(_components.img, { - alt: "Docusaurus logo", - src: (__webpack_require__(1394)/* ["default"] */ .A) + "", - width: "200", - height: "200" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them:" - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-md", - children: "![Docusaurus logo](./img/docusaurus.png)\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "code-blocks", - children: "Code Blocks" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Markdown code blocks are supported with Syntax highlighting." - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-md", - children: "```jsx title=\"src/components/HelloDocusaurus.js\"\nfunction HelloDocusaurus() {\n return <h1>Hello, Docusaurus!</h1>;\n}\n```\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-jsx", - metastring: "title=\"src/components/HelloDocusaurus.js\"", - children: "function HelloDocusaurus() {\n return <h1>Hello, Docusaurus!</h1>;\n}\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "admonitions", - children: "Admonitions" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Docusaurus has a special syntax to create admonitions and callouts:" - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-md", - children: ":::tip[My tip]\n\nUse this awesome feature option\n\n:::\n\n:::danger[Take care]\n\nThis action is dangerous\n\n:::\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.admonition, { - title: "My tip", - type: "tip", - children: (0,jsx_runtime.jsx)(_components.p, { - children: "Use this awesome feature option" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.admonition, { - title: "Take care", - type: "danger", - children: (0,jsx_runtime.jsx)(_components.p, { - children: "This action is dangerous" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "mdx-and-react-components", - children: "MDX and React Components" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: [(0,jsx_runtime.jsx)(_components.a, { - href: "https://mdxjs.com/", - children: "MDX" - }), " can make your documentation more ", (0,jsx_runtime.jsx)(_components.strong, { - children: "interactive" - }), " and allows using any ", (0,jsx_runtime.jsx)(_components.strong, { - children: "React components inside Markdown" - }), ":"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-jsx", - children: "export const Highlight = ({children, color}) => (\n <span\n style={{\n backgroundColor: color,\n borderRadius: '20px',\n color: '#fff',\n padding: '10px',\n cursor: 'pointer',\n }}\n onClick={() => {\n alert(`You clicked the color ${color} with label ${children}`)\n }}>\n {children}\n </span>\n);\n\nThis is <Highlight color=\"#25c2a0\">Docusaurus green</Highlight> !\n\nThis is <Highlight color=\"#1877F2\">Facebook blue</Highlight> !\n" - }) - }), "\n", "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["This is ", (0,jsx_runtime.jsx)(Highlight, { - color: "#25c2a0", - children: "Docusaurus green" - }), " !"] - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["This is ", (0,jsx_runtime.jsx)(Highlight, { - color: "#1877F2", - children: "Facebook blue" - }), " !"] - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return MDXLayout ? (0,jsx_runtime.jsx)(MDXLayout, { - ...props, - children: (0,jsx_runtime.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 6052: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - assets: () => (/* binding */ assets), - contentTitle: () => (/* binding */ contentTitle), - "default": () => (/* binding */ MDXContent), - frontMatter: () => (/* binding */ frontMatter), - metadata: () => (/* reexport */ site_docs_tutorial_extras_manage_docs_versions_md_dff_namespaceObject), - toc: () => (/* binding */ toc) -}); - -;// ./.docusaurus/docusaurus-plugin-content-docs/default/site-docs-tutorial-extras-manage-docs-versions-md-dff.json -const site_docs_tutorial_extras_manage_docs_versions_md_dff_namespaceObject = /*#__PURE__*/JSON.parse('{"id":"tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","source":"@site/docs/tutorial-extras/manage-docs-versions.md","sourceDirName":"tutorial-extras","slug":"/tutorial-extras/manage-docs-versions","permalink":"/docs/tutorial-extras/manage-docs-versions","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-extras/manage-docs-versions.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Tutorial - Extras","permalink":"/docs/category/tutorial---extras"},"next":{"title":"Translate your site","permalink":"/docs/tutorial-extras/translate-your-site"}}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -;// ./docs/tutorial-extras/manage-docs-versions.md - - -const frontMatter = { - sidebar_position: 1 -}; -const contentTitle = 'Manage Docs Versions'; - -const assets = { - -}; - - - -const toc = [{ - "value": "Create a docs version", - "id": "create-a-docs-version", - "level": 2 -}, { - "value": "Add a Version Dropdown", - "id": "add-a-version-dropdown", - "level": 2 -}, { - "value": "Update an existing version", - "id": "update-an-existing-version", - "level": 2 -}]; -function _createMdxContent(props) { - const _components = { - code: "code", - h1: "h1", - h2: "h2", - header: "header", - img: "img", - li: "li", - p: "p", - pre: "pre", - strong: "strong", - ul: "ul", - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { - children: [(0,jsx_runtime.jsx)(_components.header, { - children: (0,jsx_runtime.jsx)(_components.h1, { - id: "manage-docs-versions", - children: "Manage Docs Versions" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Docusaurus can manage multiple versions of your docs." - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "create-a-docs-version", - children: "Create a docs version" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Release a version 1.0 of your project:" - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-bash", - children: "npm run docusaurus docs:version 1.0\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["The ", (0,jsx_runtime.jsx)(_components.code, { - children: "docs" - }), " folder is copied into ", (0,jsx_runtime.jsx)(_components.code, { - children: "versioned_docs/version-1.0" - }), " and ", (0,jsx_runtime.jsx)(_components.code, { - children: "versions.json" - }), " is created."] - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Your docs now have 2 versions:" - }), "\n", (0,jsx_runtime.jsxs)(_components.ul, { - children: ["\n", (0,jsx_runtime.jsxs)(_components.li, { - children: [(0,jsx_runtime.jsx)(_components.code, { - children: "1.0" - }), " at ", (0,jsx_runtime.jsx)(_components.code, { - children: "http://localhost:3000/docs/" - }), " for the version 1.0 docs"] - }), "\n", (0,jsx_runtime.jsxs)(_components.li, { - children: [(0,jsx_runtime.jsx)(_components.code, { - children: "current" - }), " at ", (0,jsx_runtime.jsx)(_components.code, { - children: "http://localhost:3000/docs/next/" - }), " for the ", (0,jsx_runtime.jsx)(_components.strong, { - children: "upcoming, unreleased docs" - })] - }), "\n"] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "add-a-version-dropdown", - children: "Add a Version Dropdown" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "To navigate seamlessly across versions, add a version dropdown." - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Modify the ", (0,jsx_runtime.jsx)(_components.code, { - children: "docusaurus.config.js" - }), " file:"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-js", - metastring: "title=\"docusaurus.config.js\"", - children: "export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersionDropdown',\n },\n // highlight-end\n ],\n },\n },\n};\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "The docs version dropdown appears in your navbar:" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: (0,jsx_runtime.jsx)(_components.img, { - alt: "Docs Version Dropdown", - src: (__webpack_require__(1674)/* ["default"] */ .A) + "", - width: "370", - height: "302" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "update-an-existing-version", - children: "Update an existing version" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "It is possible to edit versioned docs in their respective folder:" - }), "\n", (0,jsx_runtime.jsxs)(_components.ul, { - children: ["\n", (0,jsx_runtime.jsxs)(_components.li, { - children: [(0,jsx_runtime.jsx)(_components.code, { - children: "versioned_docs/version-1.0/hello.md" - }), " updates ", (0,jsx_runtime.jsx)(_components.code, { - children: "http://localhost:3000/docs/hello" - })] - }), "\n", (0,jsx_runtime.jsxs)(_components.li, { - children: [(0,jsx_runtime.jsx)(_components.code, { - children: "docs/hello.md" - }), " updates ", (0,jsx_runtime.jsx)(_components.code, { - children: "http://localhost:3000/docs/next/hello" - })] - }), "\n"] - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return MDXLayout ? (0,jsx_runtime.jsx)(MDXLayout, { - ...props, - children: (0,jsx_runtime.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 9912: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - assets: () => (/* binding */ assets), - contentTitle: () => (/* binding */ contentTitle), - "default": () => (/* binding */ MDXContent), - frontMatter: () => (/* binding */ frontMatter), - metadata: () => (/* reexport */ site_docs_tutorial_extras_translate_your_site_md_e44_namespaceObject), - toc: () => (/* binding */ toc) -}); - -;// ./.docusaurus/docusaurus-plugin-content-docs/default/site-docs-tutorial-extras-translate-your-site-md-e44.json -const site_docs_tutorial_extras_translate_your_site_md_e44_namespaceObject = /*#__PURE__*/JSON.parse('{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","source":"@site/docs/tutorial-extras/translate-your-site.md","sourceDirName":"tutorial-extras","slug":"/tutorial-extras/translate-your-site","permalink":"/docs/tutorial-extras/translate-your-site","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-extras/translate-your-site.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Manage Docs Versions","permalink":"/docs/tutorial-extras/manage-docs-versions"}}'); -// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js -var jsx_runtime = __webpack_require__(4848); -// EXTERNAL MODULE: ../node_modules/@mdx-js/react/lib/index.js -var lib = __webpack_require__(3023); -;// ./docs/tutorial-extras/translate-your-site.md - - -const frontMatter = { - sidebar_position: 2 -}; -const contentTitle = 'Translate your site'; - -const assets = { - -}; - - - -const toc = [{ - "value": "Configure i18n", - "id": "configure-i18n", - "level": 2 -}, { - "value": "Translate a doc", - "id": "translate-a-doc", - "level": 2 -}, { - "value": "Start your localized site", - "id": "start-your-localized-site", - "level": 2 -}, { - "value": "Add a Locale Dropdown", - "id": "add-a-locale-dropdown", - "level": 2 -}, { - "value": "Build your localized site", - "id": "build-your-localized-site", - "level": 2 -}]; -function _createMdxContent(props) { - const _components = { - a: "a", - admonition: "admonition", - code: "code", - h1: "h1", - h2: "h2", - header: "header", - img: "img", - p: "p", - pre: "pre", - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { - children: [(0,jsx_runtime.jsx)(_components.header, { - children: (0,jsx_runtime.jsx)(_components.h1, { - id: "translate-your-site", - children: "Translate your site" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Let's translate ", (0,jsx_runtime.jsx)(_components.code, { - children: "docs/intro.md" - }), " to French."] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "configure-i18n", - children: "Configure i18n" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Modify ", (0,jsx_runtime.jsx)(_components.code, { - children: "docusaurus.config.js" - }), " to add support for the ", (0,jsx_runtime.jsx)(_components.code, { - children: "fr" - }), " locale:"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-js", - metastring: "title=\"docusaurus.config.js\"", - children: "export default {\n i18n: {\n defaultLocale: 'en',\n locales: ['en', 'fr'],\n },\n};\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "translate-a-doc", - children: "Translate a doc" - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Copy the ", (0,jsx_runtime.jsx)(_components.code, { - children: "docs/intro.md" - }), " file to the ", (0,jsx_runtime.jsx)(_components.code, { - children: "i18n/fr" - }), " folder:"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-bash", - children: "mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/\n\ncp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Translate ", (0,jsx_runtime.jsx)(_components.code, { - children: "i18n/fr/docusaurus-plugin-content-docs/current/intro.md" - }), " in French."] - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "start-your-localized-site", - children: "Start your localized site" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Start your site on the French locale:" - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-bash", - children: "npm run start -- --locale fr\n" - }) - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Your localized site is accessible at ", (0,jsx_runtime.jsx)(_components.a, { - href: "http://localhost:3000/fr/", - children: "http://localhost:3000/fr/" - }), " and the ", (0,jsx_runtime.jsx)(_components.code, { - children: "Getting Started" - }), " page is translated."] - }), "\n", (0,jsx_runtime.jsx)(_components.admonition, { - type: "caution", - children: (0,jsx_runtime.jsx)(_components.p, { - children: "In development, you can only use one locale at a time." - }) - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "add-a-locale-dropdown", - children: "Add a Locale Dropdown" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "To navigate seamlessly across languages, add a locale dropdown." - }), "\n", (0,jsx_runtime.jsxs)(_components.p, { - children: ["Modify the ", (0,jsx_runtime.jsx)(_components.code, { - children: "docusaurus.config.js" - }), " file:"] - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-js", - metastring: "title=\"docusaurus.config.js\"", - children: "export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'localeDropdown',\n },\n // highlight-end\n ],\n },\n },\n};\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "The locale dropdown now appears in your navbar:" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: (0,jsx_runtime.jsx)(_components.img, { - alt: "Locale Dropdown", - src: (__webpack_require__(3989)/* ["default"] */ .A) + "", - width: "370", - height: "302" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.h2, { - id: "build-your-localized-site", - children: "Build your localized site" - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Build your site for a specific locale:" - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-bash", - children: "npm run build -- --locale fr\n" - }) - }), "\n", (0,jsx_runtime.jsx)(_components.p, { - children: "Or build your site to include all the locales at once:" - }), "\n", (0,jsx_runtime.jsx)(_components.pre, { - children: (0,jsx_runtime.jsx)(_components.code, { - className: "language-bash", - children: "npm run build\n" - }) - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,lib/* useMDXComponents */.R)(), - ...props.components - }; - return MDXLayout ? (0,jsx_runtime.jsx)(MDXLayout, { - ...props, - children: (0,jsx_runtime.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 4812: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ assets: () => (/* binding */ assets), -/* harmony export */ contentTitle: () => (/* binding */ contentTitle), -/* harmony export */ "default": () => (/* binding */ MDXContent), -/* harmony export */ frontMatter: () => (/* binding */ frontMatter), -/* harmony export */ metadata: () => (/* reexport default export from named module */ _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2019_05_28_first_blog_post_md_e27_json__WEBPACK_IMPORTED_MODULE_0__), -/* harmony export */ toc: () => (/* binding */ toc) -/* harmony export */ }); -/* harmony import */ var _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2019_05_28_first_blog_post_md_e27_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2421); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/* harmony import */ var _mdx_js_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3023); - - -const frontMatter = { - slug: 'first-blog-post', - title: 'First Blog Post', - authors: [ - 'slorber', - 'yangshun' - ], - tags: [ - 'hola', - 'docusaurus' - ] -}; -const contentTitle = undefined; - -const assets = { -"authorsImageUrls": [undefined, undefined], -}; - - - -const toc = []; -function _createMdxContent(props) { - const _components = { - p: "p", - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { - children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet..." - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return MDXLayout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(MDXLayout, { - ...props, - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 1576: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ assets: () => (/* binding */ assets), -/* harmony export */ contentTitle: () => (/* binding */ contentTitle), -/* harmony export */ "default": () => (/* binding */ MDXContent), -/* harmony export */ frontMatter: () => (/* binding */ frontMatter), -/* harmony export */ metadata: () => (/* reexport default export from named module */ _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2019_05_28_first_blog_post_md_e27_json__WEBPACK_IMPORTED_MODULE_0__), -/* harmony export */ toc: () => (/* binding */ toc) -/* harmony export */ }); -/* harmony import */ var _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2019_05_28_first_blog_post_md_e27_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2421); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/* harmony import */ var _mdx_js_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3023); - - -const frontMatter = { - slug: 'first-blog-post', - title: 'First Blog Post', - authors: [ - 'slorber', - 'yangshun' - ], - tags: [ - 'hola', - 'docusaurus' - ] -}; -const contentTitle = undefined; - -const assets = { -"authorsImageUrls": [undefined, undefined], -}; - - - -const toc = []; -function _createMdxContent(props) { - const _components = { - p: "p", - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet..." - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return MDXLayout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(MDXLayout, { - ...props, - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 9655: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ assets: () => (/* binding */ assets), -/* harmony export */ contentTitle: () => (/* binding */ contentTitle), -/* harmony export */ "default": () => (/* binding */ MDXContent), -/* harmony export */ frontMatter: () => (/* binding */ frontMatter), -/* harmony export */ metadata: () => (/* reexport default export from named module */ _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2019_05_29_long_blog_post_md_736_json__WEBPACK_IMPORTED_MODULE_0__), -/* harmony export */ toc: () => (/* binding */ toc) -/* harmony export */ }); -/* harmony import */ var _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2019_05_29_long_blog_post_md_736_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5802); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/* harmony import */ var _mdx_js_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3023); - - -const frontMatter = { - slug: 'long-blog-post', - title: 'Long Blog Post', - authors: 'yangshun', - tags: [ - 'hello', - 'docusaurus' - ] -}; -const contentTitle = undefined; - -const assets = { -"authorsImageUrls": [undefined], -}; - - - -const toc = []; -function _createMdxContent(props) { - const _components = { - code: "code", - p: "p", - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { - children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "This is the summary of a very long blog post," - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.p, { - children: ["Use a ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "<!--" - }), " ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "truncate" - }), " ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "-->" - }), " comment to limit blog post size in the list view."] - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet" - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return MDXLayout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(MDXLayout, { - ...props, - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 2185: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ assets: () => (/* binding */ assets), -/* harmony export */ contentTitle: () => (/* binding */ contentTitle), -/* harmony export */ "default": () => (/* binding */ MDXContent), -/* harmony export */ frontMatter: () => (/* binding */ frontMatter), -/* harmony export */ metadata: () => (/* reexport default export from named module */ _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2019_05_29_long_blog_post_md_736_json__WEBPACK_IMPORTED_MODULE_0__), -/* harmony export */ toc: () => (/* binding */ toc) -/* harmony export */ }); -/* harmony import */ var _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2019_05_29_long_blog_post_md_736_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5802); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/* harmony import */ var _mdx_js_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3023); - - -const frontMatter = { - slug: 'long-blog-post', - title: 'Long Blog Post', - authors: 'yangshun', - tags: [ - 'hello', - 'docusaurus' - ] -}; -const contentTitle = undefined; - -const assets = { -"authorsImageUrls": [undefined], -}; - - - -const toc = []; -function _createMdxContent(props) { - const _components = { - code: "code", - p: "p", - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { - children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "This is the summary of a very long blog post," - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.p, { - children: ["Use a ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "<!--" - }), " ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "truncate" - }), " ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "-->" - }), " comment to limit blog post size in the list view."] - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return MDXLayout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(MDXLayout, { - ...props, - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 4986: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ assets: () => (/* binding */ assets), -/* harmony export */ contentTitle: () => (/* binding */ contentTitle), -/* harmony export */ "default": () => (/* binding */ MDXContent), -/* harmony export */ frontMatter: () => (/* binding */ frontMatter), -/* harmony export */ metadata: () => (/* reexport default export from named module */ _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2021_08_01_mdx_blog_post_mdx_593_json__WEBPACK_IMPORTED_MODULE_0__), -/* harmony export */ toc: () => (/* binding */ toc) -/* harmony export */ }); -/* harmony import */ var _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2021_08_01_mdx_blog_post_mdx_593_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1632); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/* harmony import */ var _mdx_js_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3023); - - -const frontMatter = { - slug: 'mdx-blog-post', - title: 'MDX Blog Post', - authors: [ - 'slorber' - ], - tags: [ - 'docusaurus' - ] -}; -const contentTitle = undefined; - -const assets = { -"authorsImageUrls": [undefined], -}; - -/*truncate*/ - - -const toc = []; -function _createMdxContent(props) { - const _components = { - a: "a", - admonition: "admonition", - code: "code", - p: "p", - pre: "pre", - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { - children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.p, { - children: ["Blog posts support ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.a, { - href: "https://docusaurus.io/docs/markdown-features", - children: "Docusaurus Markdown features" - }), ", such as ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.a, { - href: "https://mdxjs.com/", - children: "MDX" - }), "."] - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.admonition, { - type: "tip", - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Use the power of React to create interactive blog posts." - }) - }), "\n", "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "For example, use JSX to create an interactive button:" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.pre, { - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - className: "language-js", - children: "<button onClick={() => alert('button clicked!')}>Click me!</button>\n" - }) - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("button", { - onClick: () => alert('button clicked!'), - children: "Click me!" - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return MDXLayout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(MDXLayout, { - ...props, - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 7934: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ assets: () => (/* binding */ assets), -/* harmony export */ contentTitle: () => (/* binding */ contentTitle), -/* harmony export */ "default": () => (/* binding */ MDXContent), -/* harmony export */ frontMatter: () => (/* binding */ frontMatter), -/* harmony export */ metadata: () => (/* reexport default export from named module */ _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2021_08_01_mdx_blog_post_mdx_593_json__WEBPACK_IMPORTED_MODULE_0__), -/* harmony export */ toc: () => (/* binding */ toc) -/* harmony export */ }); -/* harmony import */ var _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2021_08_01_mdx_blog_post_mdx_593_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1632); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/* harmony import */ var _mdx_js_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3023); - - -const frontMatter = { - slug: 'mdx-blog-post', - title: 'MDX Blog Post', - authors: [ - 'slorber' - ], - tags: [ - 'docusaurus' - ] -}; -const contentTitle = undefined; - -const assets = { -"authorsImageUrls": [undefined], -}; - - - -const toc = []; -function _createMdxContent(props) { - const _components = { - a: "a", - admonition: "admonition", - p: "p", - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { - children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.p, { - children: ["Blog posts support ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.a, { - href: "https://docusaurus.io/docs/markdown-features", - children: "Docusaurus Markdown features" - }), ", such as ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.a, { - href: "https://mdxjs.com/", - children: "MDX" - }), "."] - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.admonition, { - type: "tip", - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Use the power of React to create interactive blog posts." - }) - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return MDXLayout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(MDXLayout, { - ...props, - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 8297: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ assets: () => (/* binding */ assets), -/* harmony export */ contentTitle: () => (/* binding */ contentTitle), -/* harmony export */ "default": () => (/* binding */ MDXContent), -/* harmony export */ frontMatter: () => (/* binding */ frontMatter), -/* harmony export */ metadata: () => (/* reexport default export from named module */ _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2021_08_26_welcome_index_md_d9f_json__WEBPACK_IMPORTED_MODULE_0__), -/* harmony export */ toc: () => (/* binding */ toc) -/* harmony export */ }); -/* harmony import */ var _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2021_08_26_welcome_index_md_d9f_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8811); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/* harmony import */ var _mdx_js_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3023); - - -const frontMatter = { - slug: 'welcome', - title: 'Welcome', - authors: [ - 'slorber', - 'yangshun' - ], - tags: [ - 'facebook', - 'hello', - 'docusaurus' - ] -}; -const contentTitle = undefined; - -const assets = { -"authorsImageUrls": [undefined, undefined], -}; - - - -const toc = []; -function _createMdxContent(props) { - const _components = { - a: "a", - code: "code", - img: "img", - li: "li", - p: "p", - strong: "strong", - ul: "ul", - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { - children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.p, { - children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.a, { - href: "https://docusaurus.io/docs/blog", - children: "Docusaurus blogging features" - }), " are powered by the ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.a, { - href: "https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog", - children: "blog plugin" - }), "."] - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Here are a few tips you might find useful." - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.p, { - children: ["Simply add Markdown files (or folders) to the ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "blog" - }), " directory."] - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.p, { - children: ["Regular blog authors can be added to ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "authors.yml" - }), "."] - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "The blog post date can be extracted from filenames, such as:" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.ul, { - children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.li, { - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "2019-05-30-welcome.md" - }) - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.li, { - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "2019-05-30-welcome/index.md" - }) - }), "\n"] - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "A blog post folder can be convenient to co-locate blog post images:" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.img, { - alt: "Docusaurus Plushie", - src: (__webpack_require__(9982)/* ["default"] */ .A) + "", - width: "1500", - height: "500" - }) - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "The blog supports tags as well!" - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.p, { - children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.strong, { - children: "And if you don't want a blog" - }), ": just delete this directory, and use ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, { - children: "blog: false" - }), " in your Docusaurus config."] - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return MDXLayout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(MDXLayout, { - ...props, - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 2219: -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ assets: () => (/* binding */ assets), -/* harmony export */ contentTitle: () => (/* binding */ contentTitle), -/* harmony export */ "default": () => (/* binding */ MDXContent), -/* harmony export */ frontMatter: () => (/* binding */ frontMatter), -/* harmony export */ metadata: () => (/* reexport default export from named module */ _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2021_08_26_welcome_index_md_d9f_json__WEBPACK_IMPORTED_MODULE_0__), -/* harmony export */ toc: () => (/* binding */ toc) -/* harmony export */ }); -/* harmony import */ var _site_docusaurus_docusaurus_plugin_content_blog_default_site_blog_2021_08_26_welcome_index_md_d9f_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8811); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848); -/* harmony import */ var _mdx_js_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3023); - - -const frontMatter = { - slug: 'welcome', - title: 'Welcome', - authors: [ - 'slorber', - 'yangshun' - ], - tags: [ - 'facebook', - 'hello', - 'docusaurus' - ] -}; -const contentTitle = undefined; - -const assets = { -"authorsImageUrls": [undefined, undefined], -}; - - - -const toc = []; -function _createMdxContent(props) { - const _components = { - a: "a", - p: "p", - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { - children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.p, { - children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.a, { - href: "https://docusaurus.io/docs/blog", - children: "Docusaurus blogging features" - }), " are powered by the ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.a, { - href: "https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog", - children: "blog plugin" - }), "."] - }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.p, { - children: "Here are a few tips you might find useful." - })] - }); -} -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = { - ...(0,_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__/* .useMDXComponents */ .R)(), - ...props.components - }; - return MDXLayout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(MDXLayout, { - ...props, - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_createMdxContent, { - ...props - }) - }) : _createMdxContent(props); -} - - - -/***/ }), - -/***/ 6845: -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -/** - * @license React - * react-dom-server-legacy.node.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/* - - - JS Implementation of MurmurHash3 (r136) (as of May 20, 2011) - - Copyright (c) 2011 Gary Court - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -*/ - -var React = __webpack_require__(6540), - ReactDOM = __webpack_require__(961), - REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_PROVIDER_TYPE = Symbol.for("react.provider"), - REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), - REACT_CONTEXT_TYPE = Symbol.for("react.context"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - REACT_SCOPE_TYPE = Symbol.for("react.scope"), - REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for("react.debug_trace_mode"), - REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"), - REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"), - REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"), - MAYBE_ITERATOR_SYMBOL = Symbol.iterator, - isArrayImpl = Array.isArray; -function murmurhash3_32_gc(key, seed) { - var remainder = key.length & 3; - var bytes = key.length - remainder; - var h1 = seed; - for (seed = 0; seed < bytes; ) { - var k1 = - (key.charCodeAt(seed) & 255) | - ((key.charCodeAt(++seed) & 255) << 8) | - ((key.charCodeAt(++seed) & 255) << 16) | - ((key.charCodeAt(++seed) & 255) << 24); - ++seed; - k1 = - (3432918353 * (k1 & 65535) + - (((3432918353 * (k1 >>> 16)) & 65535) << 16)) & - 4294967295; - k1 = (k1 << 15) | (k1 >>> 17); - k1 = - (461845907 * (k1 & 65535) + (((461845907 * (k1 >>> 16)) & 65535) << 16)) & - 4294967295; - h1 ^= k1; - h1 = (h1 << 13) | (h1 >>> 19); - h1 = (5 * (h1 & 65535) + (((5 * (h1 >>> 16)) & 65535) << 16)) & 4294967295; - h1 = (h1 & 65535) + 27492 + ((((h1 >>> 16) + 58964) & 65535) << 16); - } - k1 = 0; - switch (remainder) { - case 3: - k1 ^= (key.charCodeAt(seed + 2) & 255) << 16; - case 2: - k1 ^= (key.charCodeAt(seed + 1) & 255) << 8; - case 1: - (k1 ^= key.charCodeAt(seed) & 255), - (k1 = - (3432918353 * (k1 & 65535) + - (((3432918353 * (k1 >>> 16)) & 65535) << 16)) & - 4294967295), - (k1 = (k1 << 15) | (k1 >>> 17)), - (h1 ^= - (461845907 * (k1 & 65535) + - (((461845907 * (k1 >>> 16)) & 65535) << 16)) & - 4294967295); - } - h1 ^= key.length; - h1 ^= h1 >>> 16; - h1 = - (2246822507 * (h1 & 65535) + (((2246822507 * (h1 >>> 16)) & 65535) << 16)) & - 4294967295; - h1 ^= h1 >>> 13; - h1 = - (3266489909 * (h1 & 65535) + (((3266489909 * (h1 >>> 16)) & 65535) << 16)) & - 4294967295; - return (h1 ^ (h1 >>> 16)) >>> 0; -} -var assign = Object.assign, - hasOwnProperty = Object.prototype.hasOwnProperty, - VALID_ATTRIBUTE_NAME_REGEX = RegExp( - "^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" - ), - illegalAttributeNameCache = {}, - validatedAttributeNameCache = {}; -function isAttributeNameSafe(attributeName) { - if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) - return !0; - if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1; - if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) - return (validatedAttributeNameCache[attributeName] = !0); - illegalAttributeNameCache[attributeName] = !0; - return !1; -} -var unitlessNumbers = new Set( - "animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split( - " " - ) - ), - aliases = new Map([ - ["acceptCharset", "accept-charset"], - ["htmlFor", "for"], - ["httpEquiv", "http-equiv"], - ["crossOrigin", "crossorigin"], - ["accentHeight", "accent-height"], - ["alignmentBaseline", "alignment-baseline"], - ["arabicForm", "arabic-form"], - ["baselineShift", "baseline-shift"], - ["capHeight", "cap-height"], - ["clipPath", "clip-path"], - ["clipRule", "clip-rule"], - ["colorInterpolation", "color-interpolation"], - ["colorInterpolationFilters", "color-interpolation-filters"], - ["colorProfile", "color-profile"], - ["colorRendering", "color-rendering"], - ["dominantBaseline", "dominant-baseline"], - ["enableBackground", "enable-background"], - ["fillOpacity", "fill-opacity"], - ["fillRule", "fill-rule"], - ["floodColor", "flood-color"], - ["floodOpacity", "flood-opacity"], - ["fontFamily", "font-family"], - ["fontSize", "font-size"], - ["fontSizeAdjust", "font-size-adjust"], - ["fontStretch", "font-stretch"], - ["fontStyle", "font-style"], - ["fontVariant", "font-variant"], - ["fontWeight", "font-weight"], - ["glyphName", "glyph-name"], - ["glyphOrientationHorizontal", "glyph-orientation-horizontal"], - ["glyphOrientationVertical", "glyph-orientation-vertical"], - ["horizAdvX", "horiz-adv-x"], - ["horizOriginX", "horiz-origin-x"], - ["imageRendering", "image-rendering"], - ["letterSpacing", "letter-spacing"], - ["lightingColor", "lighting-color"], - ["markerEnd", "marker-end"], - ["markerMid", "marker-mid"], - ["markerStart", "marker-start"], - ["overlinePosition", "overline-position"], - ["overlineThickness", "overline-thickness"], - ["paintOrder", "paint-order"], - ["panose-1", "panose-1"], - ["pointerEvents", "pointer-events"], - ["renderingIntent", "rendering-intent"], - ["shapeRendering", "shape-rendering"], - ["stopColor", "stop-color"], - ["stopOpacity", "stop-opacity"], - ["strikethroughPosition", "strikethrough-position"], - ["strikethroughThickness", "strikethrough-thickness"], - ["strokeDasharray", "stroke-dasharray"], - ["strokeDashoffset", "stroke-dashoffset"], - ["strokeLinecap", "stroke-linecap"], - ["strokeLinejoin", "stroke-linejoin"], - ["strokeMiterlimit", "stroke-miterlimit"], - ["strokeOpacity", "stroke-opacity"], - ["strokeWidth", "stroke-width"], - ["textAnchor", "text-anchor"], - ["textDecoration", "text-decoration"], - ["textRendering", "text-rendering"], - ["transformOrigin", "transform-origin"], - ["underlinePosition", "underline-position"], - ["underlineThickness", "underline-thickness"], - ["unicodeBidi", "unicode-bidi"], - ["unicodeRange", "unicode-range"], - ["unitsPerEm", "units-per-em"], - ["vAlphabetic", "v-alphabetic"], - ["vHanging", "v-hanging"], - ["vIdeographic", "v-ideographic"], - ["vMathematical", "v-mathematical"], - ["vectorEffect", "vector-effect"], - ["vertAdvY", "vert-adv-y"], - ["vertOriginX", "vert-origin-x"], - ["vertOriginY", "vert-origin-y"], - ["wordSpacing", "word-spacing"], - ["writingMode", "writing-mode"], - ["xmlnsXlink", "xmlns:xlink"], - ["xHeight", "x-height"] - ]), - matchHtmlRegExp = /["'&<>]/; -function escapeTextForBrowser(text) { - if ( - "boolean" === typeof text || - "number" === typeof text || - "bigint" === typeof text - ) - return "" + text; - text = "" + text; - var match = matchHtmlRegExp.exec(text); - if (match) { - var html = "", - index, - lastIndex = 0; - for (index = match.index; index < text.length; index++) { - switch (text.charCodeAt(index)) { - case 34: - match = """; - break; - case 38: - match = "&"; - break; - case 39: - match = "'"; - break; - case 60: - match = "<"; - break; - case 62: - match = ">"; - break; - default: - continue; - } - lastIndex !== index && (html += text.slice(lastIndex, index)); - lastIndex = index + 1; - html += match; - } - text = lastIndex !== index ? html + text.slice(lastIndex, index) : html; - } - return text; -} -var uppercasePattern = /([A-Z])/g, - msPattern = /^ms-/, - isJavaScriptProtocol = - /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i; -function sanitizeURL(url) { - return isJavaScriptProtocol.test("" + url) - ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" - : url; -} -var ReactSharedInternals = - React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, - ReactDOMSharedInternals = - ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, - sharedNotPendingObject = { - pending: !1, - data: null, - method: null, - action: null - }, - previousDispatcher = ReactDOMSharedInternals.d; -ReactDOMSharedInternals.d = { - f: previousDispatcher.f, - r: previousDispatcher.r, - D: prefetchDNS, - C: preconnect, - L: preload, - m: preloadModule, - X: preinitScript, - S: preinitStyle, - M: preinitModuleScript -}; -var PRELOAD_NO_CREDS = [], - scriptRegex = /(<\/|<)(s)(cript)/gi; -function scriptReplacer(match, prefix, s, suffix) { - return "" + prefix + ("s" === s ? "\\u0073" : "\\u0053") + suffix; -} -function createResumableState( - identifierPrefix, - externalRuntimeConfig, - bootstrapScriptContent, - bootstrapScripts, - bootstrapModules -) { - return { - idPrefix: void 0 === identifierPrefix ? "" : identifierPrefix, - nextFormID: 0, - streamingFormat: 0, - bootstrapScriptContent: bootstrapScriptContent, - bootstrapScripts: bootstrapScripts, - bootstrapModules: bootstrapModules, - instructions: 0, - hasBody: !1, - hasHtml: !1, - unknownResources: {}, - dnsResources: {}, - connectResources: { default: {}, anonymous: {}, credentials: {} }, - imageResources: {}, - styleResources: {}, - scriptResources: {}, - moduleUnknownResources: {}, - moduleScriptResources: {} - }; -} -function createFormatContext(insertionMode, selectedValue, tagScope) { - return { - insertionMode: insertionMode, - selectedValue: selectedValue, - tagScope: tagScope - }; -} -function getChildFormatContext(parentContext, type, props) { - switch (type) { - case "noscript": - return createFormatContext(2, null, parentContext.tagScope | 1); - case "select": - return createFormatContext( - 2, - null != props.value ? props.value : props.defaultValue, - parentContext.tagScope - ); - case "svg": - return createFormatContext(3, null, parentContext.tagScope); - case "picture": - return createFormatContext(2, null, parentContext.tagScope | 2); - case "math": - return createFormatContext(4, null, parentContext.tagScope); - case "foreignObject": - return createFormatContext(2, null, parentContext.tagScope); - case "table": - return createFormatContext(5, null, parentContext.tagScope); - case "thead": - case "tbody": - case "tfoot": - return createFormatContext(6, null, parentContext.tagScope); - case "colgroup": - return createFormatContext(8, null, parentContext.tagScope); - case "tr": - return createFormatContext(7, null, parentContext.tagScope); - } - return 5 <= parentContext.insertionMode - ? createFormatContext(2, null, parentContext.tagScope) - : 0 === parentContext.insertionMode - ? "html" === type - ? createFormatContext(1, null, parentContext.tagScope) - : createFormatContext(2, null, parentContext.tagScope) - : 1 === parentContext.insertionMode - ? createFormatContext(2, null, parentContext.tagScope) - : parentContext; -} -var styleNameCache = new Map(); -function pushStyleAttribute(target, style) { - if ("object" !== typeof style) - throw Error( - "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." - ); - var isFirst = !0, - styleName; - for (styleName in style) - if (hasOwnProperty.call(style, styleName)) { - var styleValue = style[styleName]; - if ( - null != styleValue && - "boolean" !== typeof styleValue && - "" !== styleValue - ) { - if (0 === styleName.indexOf("--")) { - var nameChunk = escapeTextForBrowser(styleName); - styleValue = escapeTextForBrowser(("" + styleValue).trim()); - } else - (nameChunk = styleNameCache.get(styleName)), - void 0 === nameChunk && - ((nameChunk = escapeTextForBrowser( - styleName - .replace(uppercasePattern, "-$1") - .toLowerCase() - .replace(msPattern, "-ms-") - )), - styleNameCache.set(styleName, nameChunk)), - (styleValue = - "number" === typeof styleValue - ? 0 === styleValue || unitlessNumbers.has(styleName) - ? "" + styleValue - : styleValue + "px" - : escapeTextForBrowser(("" + styleValue).trim())); - isFirst - ? ((isFirst = !1), - target.push(' style="', nameChunk, ":", styleValue)) - : target.push(";", nameChunk, ":", styleValue); - } - } - isFirst || target.push('"'); -} -function pushBooleanAttribute(target, name, value) { - value && - "function" !== typeof value && - "symbol" !== typeof value && - target.push(" ", name, '=""'); -} -function pushStringAttribute(target, name, value) { - "function" !== typeof value && - "symbol" !== typeof value && - "boolean" !== typeof value && - target.push(" ", name, '="', escapeTextForBrowser(value), '"'); -} -var actionJavaScriptURL = escapeTextForBrowser( - "javascript:throw new Error('React form unexpectedly submitted.')" -); -function pushAdditionalFormField(value, key) { - this.push('<input type="hidden"'); - validateAdditionalFormField(value); - pushStringAttribute(this, "name", key); - pushStringAttribute(this, "value", value); - this.push("/>"); -} -function validateAdditionalFormField(value) { - if ("string" !== typeof value) - throw Error( - "File/Blob fields are not yet supported in progressive forms. Will fallback to client hydration." - ); -} -function getCustomFormFields(resumableState, formAction) { - if ("function" === typeof formAction.$$FORM_ACTION) { - var id = resumableState.nextFormID++; - resumableState = resumableState.idPrefix + id; - try { - var customFields = formAction.$$FORM_ACTION(resumableState); - if (customFields) { - var formData = customFields.data; - null != formData && formData.forEach(validateAdditionalFormField); - } - return customFields; - } catch (x) { - if ("object" === typeof x && null !== x && "function" === typeof x.then) - throw x; - } - } - return null; -} -function pushFormActionAttribute( - target, - resumableState, - renderState, - formAction, - formEncType, - formMethod, - formTarget, - name -) { - var formData = null; - if ("function" === typeof formAction) { - var customFields = getCustomFormFields(resumableState, formAction); - null !== customFields - ? ((name = customFields.name), - (formAction = customFields.action || ""), - (formEncType = customFields.encType), - (formMethod = customFields.method), - (formTarget = customFields.target), - (formData = customFields.data)) - : (target.push(" ", "formAction", '="', actionJavaScriptURL, '"'), - (formTarget = formMethod = formEncType = formAction = name = null), - injectFormReplayingRuntime(resumableState, renderState)); - } - null != name && pushAttribute(target, "name", name); - null != formAction && pushAttribute(target, "formAction", formAction); - null != formEncType && pushAttribute(target, "formEncType", formEncType); - null != formMethod && pushAttribute(target, "formMethod", formMethod); - null != formTarget && pushAttribute(target, "formTarget", formTarget); - return formData; -} -function pushAttribute(target, name, value) { - switch (name) { - case "className": - pushStringAttribute(target, "class", value); - break; - case "tabIndex": - pushStringAttribute(target, "tabindex", value); - break; - case "dir": - case "role": - case "viewBox": - case "width": - case "height": - pushStringAttribute(target, name, value); - break; - case "style": - pushStyleAttribute(target, value); - break; - case "src": - case "href": - if ("" === value) break; - case "action": - case "formAction": - if ( - null == value || - "function" === typeof value || - "symbol" === typeof value || - "boolean" === typeof value - ) - break; - value = sanitizeURL("" + value); - target.push(" ", name, '="', escapeTextForBrowser(value), '"'); - break; - case "defaultValue": - case "defaultChecked": - case "innerHTML": - case "suppressContentEditableWarning": - case "suppressHydrationWarning": - case "ref": - break; - case "autoFocus": - case "multiple": - case "muted": - pushBooleanAttribute(target, name.toLowerCase(), value); - break; - case "xlinkHref": - if ( - "function" === typeof value || - "symbol" === typeof value || - "boolean" === typeof value - ) - break; - value = sanitizeURL("" + value); - target.push(" ", "xlink:href", '="', escapeTextForBrowser(value), '"'); - break; - case "contentEditable": - case "spellCheck": - case "draggable": - case "value": - case "autoReverse": - case "externalResourcesRequired": - case "focusable": - case "preserveAlpha": - "function" !== typeof value && - "symbol" !== typeof value && - target.push(" ", name, '="', escapeTextForBrowser(value), '"'); - break; - case "inert": - case "allowFullScreen": - case "async": - case "autoPlay": - case "controls": - case "default": - case "defer": - case "disabled": - case "disablePictureInPicture": - case "disableRemotePlayback": - case "formNoValidate": - case "hidden": - case "loop": - case "noModule": - case "noValidate": - case "open": - case "playsInline": - case "readOnly": - case "required": - case "reversed": - case "scoped": - case "seamless": - case "itemScope": - value && - "function" !== typeof value && - "symbol" !== typeof value && - target.push(" ", name, '=""'); - break; - case "capture": - case "download": - !0 === value - ? target.push(" ", name, '=""') - : !1 !== value && - "function" !== typeof value && - "symbol" !== typeof value && - target.push(" ", name, '="', escapeTextForBrowser(value), '"'); - break; - case "cols": - case "rows": - case "size": - case "span": - "function" !== typeof value && - "symbol" !== typeof value && - !isNaN(value) && - 1 <= value && - target.push(" ", name, '="', escapeTextForBrowser(value), '"'); - break; - case "rowSpan": - case "start": - "function" === typeof value || - "symbol" === typeof value || - isNaN(value) || - target.push(" ", name, '="', escapeTextForBrowser(value), '"'); - break; - case "xlinkActuate": - pushStringAttribute(target, "xlink:actuate", value); - break; - case "xlinkArcrole": - pushStringAttribute(target, "xlink:arcrole", value); - break; - case "xlinkRole": - pushStringAttribute(target, "xlink:role", value); - break; - case "xlinkShow": - pushStringAttribute(target, "xlink:show", value); - break; - case "xlinkTitle": - pushStringAttribute(target, "xlink:title", value); - break; - case "xlinkType": - pushStringAttribute(target, "xlink:type", value); - break; - case "xmlBase": - pushStringAttribute(target, "xml:base", value); - break; - case "xmlLang": - pushStringAttribute(target, "xml:lang", value); - break; - case "xmlSpace": - pushStringAttribute(target, "xml:space", value); - break; - default: - if ( - !(2 < name.length) || - ("o" !== name[0] && "O" !== name[0]) || - ("n" !== name[1] && "N" !== name[1]) - ) - if (((name = aliases.get(name) || name), isAttributeNameSafe(name))) { - switch (typeof value) { - case "function": - case "symbol": - return; - case "boolean": - var prefix$8 = name.toLowerCase().slice(0, 5); - if ("data-" !== prefix$8 && "aria-" !== prefix$8) return; - } - target.push(" ", name, '="', escapeTextForBrowser(value), '"'); - } - } -} -function pushInnerHTML(target, innerHTML, children) { - if (null != innerHTML) { - if (null != children) - throw Error( - "Can only set one of `children` or `props.dangerouslySetInnerHTML`." - ); - if ("object" !== typeof innerHTML || !("__html" in innerHTML)) - throw Error( - "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information." - ); - innerHTML = innerHTML.__html; - null !== innerHTML && void 0 !== innerHTML && target.push("" + innerHTML); - } -} -function flattenOptionChildren(children) { - var content = ""; - React.Children.forEach(children, function (child) { - null != child && (content += child); - }); - return content; -} -function injectFormReplayingRuntime(resumableState, renderState) { - 0 === (resumableState.instructions & 16) && - ((resumableState.instructions |= 16), - renderState.bootstrapChunks.unshift( - renderState.startInlineScript, - 'addEventListener("submit",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute("formAction");null!=f&&(e=f,b=null)}"javascript:throw new Error(\'React form unexpectedly submitted.\')"===e&&(a.preventDefault(),b?(a=document.createElement("input"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});', - "\x3c/script>" - )); -} -function pushLinkImpl(target, props) { - target.push(startChunkForTag("link")); - for (var propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - case "dangerouslySetInnerHTML": - throw Error( - "link is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`." - ); - default: - pushAttribute(target, propKey, propValue); - } - } - target.push("/>"); - return null; -} -var styleRegex = /(<\/|<)(s)(tyle)/gi; -function styleReplacer(match, prefix, s, suffix) { - return "" + prefix + ("s" === s ? "\\73 " : "\\53 ") + suffix; -} -function pushSelfClosing(target, props, tag) { - target.push(startChunkForTag(tag)); - for (var propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - case "dangerouslySetInnerHTML": - throw Error( - tag + - " is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`." - ); - default: - pushAttribute(target, propKey, propValue); - } - } - target.push("/>"); - return null; -} -function pushTitleImpl(target, props) { - target.push(startChunkForTag("title")); - var children = null, - innerHTML = null, - propKey; - for (propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - children = propValue; - break; - case "dangerouslySetInnerHTML": - innerHTML = propValue; - break; - default: - pushAttribute(target, propKey, propValue); - } - } - target.push(">"); - props = Array.isArray(children) - ? 2 > children.length - ? children[0] - : null - : children; - "function" !== typeof props && - "symbol" !== typeof props && - null !== props && - void 0 !== props && - target.push(escapeTextForBrowser("" + props)); - pushInnerHTML(target, innerHTML, children); - target.push(endChunkForTag("title")); - return null; -} -function pushScriptImpl(target, props) { - target.push(startChunkForTag("script")); - var children = null, - innerHTML = null, - propKey; - for (propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - children = propValue; - break; - case "dangerouslySetInnerHTML": - innerHTML = propValue; - break; - default: - pushAttribute(target, propKey, propValue); - } - } - target.push(">"); - pushInnerHTML(target, innerHTML, children); - "string" === typeof children && - target.push(("" + children).replace(scriptRegex, scriptReplacer)); - target.push(endChunkForTag("script")); - return null; -} -function pushStartGenericElement(target, props, tag) { - target.push(startChunkForTag(tag)); - var innerHTML = (tag = null), - propKey; - for (propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - tag = propValue; - break; - case "dangerouslySetInnerHTML": - innerHTML = propValue; - break; - default: - pushAttribute(target, propKey, propValue); - } - } - target.push(">"); - pushInnerHTML(target, innerHTML, tag); - return "string" === typeof tag - ? (target.push(escapeTextForBrowser(tag)), null) - : tag; -} -var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/, - validatedTagCache = new Map(); -function startChunkForTag(tag) { - var tagStartChunk = validatedTagCache.get(tag); - if (void 0 === tagStartChunk) { - if (!VALID_TAG_REGEX.test(tag)) throw Error("Invalid tag: " + tag); - tagStartChunk = "<" + tag; - validatedTagCache.set(tag, tagStartChunk); - } - return tagStartChunk; -} -function pushStartInstance( - target$jscomp$0, - type, - props, - resumableState, - renderState, - hoistableState, - formatContext, - textEmbedded, - isFallback -) { - switch (type) { - case "div": - case "span": - case "svg": - case "path": - break; - case "a": - target$jscomp$0.push(startChunkForTag("a")); - var children = null, - innerHTML = null, - propKey; - for (propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - children = propValue; - break; - case "dangerouslySetInnerHTML": - innerHTML = propValue; - break; - case "href": - "" === propValue - ? pushStringAttribute(target$jscomp$0, "href", "") - : pushAttribute(target$jscomp$0, propKey, propValue); - break; - default: - pushAttribute(target$jscomp$0, propKey, propValue); - } - } - target$jscomp$0.push(">"); - pushInnerHTML(target$jscomp$0, innerHTML, children); - if ("string" === typeof children) { - target$jscomp$0.push(escapeTextForBrowser(children)); - var JSCompiler_inline_result = null; - } else JSCompiler_inline_result = children; - return JSCompiler_inline_result; - case "g": - case "p": - case "li": - break; - case "select": - target$jscomp$0.push(startChunkForTag("select")); - var children$jscomp$0 = null, - innerHTML$jscomp$0 = null, - propKey$jscomp$0; - for (propKey$jscomp$0 in props) - if (hasOwnProperty.call(props, propKey$jscomp$0)) { - var propValue$jscomp$0 = props[propKey$jscomp$0]; - if (null != propValue$jscomp$0) - switch (propKey$jscomp$0) { - case "children": - children$jscomp$0 = propValue$jscomp$0; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$0 = propValue$jscomp$0; - break; - case "defaultValue": - case "value": - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$0, - propValue$jscomp$0 - ); - } - } - target$jscomp$0.push(">"); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0); - return children$jscomp$0; - case "option": - var selectedValue = formatContext.selectedValue; - target$jscomp$0.push(startChunkForTag("option")); - var children$jscomp$1 = null, - value = null, - selected = null, - innerHTML$jscomp$1 = null, - propKey$jscomp$1; - for (propKey$jscomp$1 in props) - if (hasOwnProperty.call(props, propKey$jscomp$1)) { - var propValue$jscomp$1 = props[propKey$jscomp$1]; - if (null != propValue$jscomp$1) - switch (propKey$jscomp$1) { - case "children": - children$jscomp$1 = propValue$jscomp$1; - break; - case "selected": - selected = propValue$jscomp$1; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$1 = propValue$jscomp$1; - break; - case "value": - value = propValue$jscomp$1; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$1, - propValue$jscomp$1 - ); - } - } - if (null != selectedValue) { - var stringValue = - null !== value - ? "" + value - : flattenOptionChildren(children$jscomp$1); - if (isArrayImpl(selectedValue)) - for (var i = 0; i < selectedValue.length; i++) { - if ("" + selectedValue[i] === stringValue) { - target$jscomp$0.push(' selected=""'); - break; - } - } - else - "" + selectedValue === stringValue && - target$jscomp$0.push(' selected=""'); - } else selected && target$jscomp$0.push(' selected=""'); - target$jscomp$0.push(">"); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1); - return children$jscomp$1; - case "textarea": - target$jscomp$0.push(startChunkForTag("textarea")); - var value$jscomp$0 = null, - defaultValue = null, - children$jscomp$2 = null, - propKey$jscomp$2; - for (propKey$jscomp$2 in props) - if (hasOwnProperty.call(props, propKey$jscomp$2)) { - var propValue$jscomp$2 = props[propKey$jscomp$2]; - if (null != propValue$jscomp$2) - switch (propKey$jscomp$2) { - case "children": - children$jscomp$2 = propValue$jscomp$2; - break; - case "value": - value$jscomp$0 = propValue$jscomp$2; - break; - case "defaultValue": - defaultValue = propValue$jscomp$2; - break; - case "dangerouslySetInnerHTML": - throw Error( - "`dangerouslySetInnerHTML` does not make sense on <textarea>." - ); - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$2, - propValue$jscomp$2 - ); - } - } - null === value$jscomp$0 && - null !== defaultValue && - (value$jscomp$0 = defaultValue); - target$jscomp$0.push(">"); - if (null != children$jscomp$2) { - if (null != value$jscomp$0) - throw Error( - "If you supply `defaultValue` on a <textarea>, do not pass children." - ); - if (isArrayImpl(children$jscomp$2)) { - if (1 < children$jscomp$2.length) - throw Error("<textarea> can only have at most one child."); - value$jscomp$0 = "" + children$jscomp$2[0]; - } - value$jscomp$0 = "" + children$jscomp$2; - } - "string" === typeof value$jscomp$0 && - "\n" === value$jscomp$0[0] && - target$jscomp$0.push("\n"); - null !== value$jscomp$0 && - target$jscomp$0.push(escapeTextForBrowser("" + value$jscomp$0)); - return null; - case "input": - target$jscomp$0.push(startChunkForTag("input")); - var name = null, - formAction = null, - formEncType = null, - formMethod = null, - formTarget = null, - value$jscomp$1 = null, - defaultValue$jscomp$0 = null, - checked = null, - defaultChecked = null, - propKey$jscomp$3; - for (propKey$jscomp$3 in props) - if (hasOwnProperty.call(props, propKey$jscomp$3)) { - var propValue$jscomp$3 = props[propKey$jscomp$3]; - if (null != propValue$jscomp$3) - switch (propKey$jscomp$3) { - case "children": - case "dangerouslySetInnerHTML": - throw Error( - "input is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`." - ); - case "name": - name = propValue$jscomp$3; - break; - case "formAction": - formAction = propValue$jscomp$3; - break; - case "formEncType": - formEncType = propValue$jscomp$3; - break; - case "formMethod": - formMethod = propValue$jscomp$3; - break; - case "formTarget": - formTarget = propValue$jscomp$3; - break; - case "defaultChecked": - defaultChecked = propValue$jscomp$3; - break; - case "defaultValue": - defaultValue$jscomp$0 = propValue$jscomp$3; - break; - case "checked": - checked = propValue$jscomp$3; - break; - case "value": - value$jscomp$1 = propValue$jscomp$3; - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$3, - propValue$jscomp$3 - ); - } - } - var formData = pushFormActionAttribute( - target$jscomp$0, - resumableState, - renderState, - formAction, - formEncType, - formMethod, - formTarget, - name - ); - null !== checked - ? pushBooleanAttribute(target$jscomp$0, "checked", checked) - : null !== defaultChecked && - pushBooleanAttribute(target$jscomp$0, "checked", defaultChecked); - null !== value$jscomp$1 - ? pushAttribute(target$jscomp$0, "value", value$jscomp$1) - : null !== defaultValue$jscomp$0 && - pushAttribute(target$jscomp$0, "value", defaultValue$jscomp$0); - target$jscomp$0.push("/>"); - null != formData && - formData.forEach(pushAdditionalFormField, target$jscomp$0); - return null; - case "button": - target$jscomp$0.push(startChunkForTag("button")); - var children$jscomp$3 = null, - innerHTML$jscomp$2 = null, - name$jscomp$0 = null, - formAction$jscomp$0 = null, - formEncType$jscomp$0 = null, - formMethod$jscomp$0 = null, - formTarget$jscomp$0 = null, - propKey$jscomp$4; - for (propKey$jscomp$4 in props) - if (hasOwnProperty.call(props, propKey$jscomp$4)) { - var propValue$jscomp$4 = props[propKey$jscomp$4]; - if (null != propValue$jscomp$4) - switch (propKey$jscomp$4) { - case "children": - children$jscomp$3 = propValue$jscomp$4; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$2 = propValue$jscomp$4; - break; - case "name": - name$jscomp$0 = propValue$jscomp$4; - break; - case "formAction": - formAction$jscomp$0 = propValue$jscomp$4; - break; - case "formEncType": - formEncType$jscomp$0 = propValue$jscomp$4; - break; - case "formMethod": - formMethod$jscomp$0 = propValue$jscomp$4; - break; - case "formTarget": - formTarget$jscomp$0 = propValue$jscomp$4; - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$4, - propValue$jscomp$4 - ); - } - } - var formData$jscomp$0 = pushFormActionAttribute( - target$jscomp$0, - resumableState, - renderState, - formAction$jscomp$0, - formEncType$jscomp$0, - formMethod$jscomp$0, - formTarget$jscomp$0, - name$jscomp$0 - ); - target$jscomp$0.push(">"); - null != formData$jscomp$0 && - formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3); - if ("string" === typeof children$jscomp$3) { - target$jscomp$0.push(escapeTextForBrowser(children$jscomp$3)); - var JSCompiler_inline_result$jscomp$0 = null; - } else JSCompiler_inline_result$jscomp$0 = children$jscomp$3; - return JSCompiler_inline_result$jscomp$0; - case "form": - target$jscomp$0.push(startChunkForTag("form")); - var children$jscomp$4 = null, - innerHTML$jscomp$3 = null, - formAction$jscomp$1 = null, - formEncType$jscomp$1 = null, - formMethod$jscomp$1 = null, - formTarget$jscomp$1 = null, - propKey$jscomp$5; - for (propKey$jscomp$5 in props) - if (hasOwnProperty.call(props, propKey$jscomp$5)) { - var propValue$jscomp$5 = props[propKey$jscomp$5]; - if (null != propValue$jscomp$5) - switch (propKey$jscomp$5) { - case "children": - children$jscomp$4 = propValue$jscomp$5; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$3 = propValue$jscomp$5; - break; - case "action": - formAction$jscomp$1 = propValue$jscomp$5; - break; - case "encType": - formEncType$jscomp$1 = propValue$jscomp$5; - break; - case "method": - formMethod$jscomp$1 = propValue$jscomp$5; - break; - case "target": - formTarget$jscomp$1 = propValue$jscomp$5; - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$5, - propValue$jscomp$5 - ); - } - } - var formData$jscomp$1 = null, - formActionName = null; - if ("function" === typeof formAction$jscomp$1) { - var customFields = getCustomFormFields( - resumableState, - formAction$jscomp$1 - ); - null !== customFields - ? ((formAction$jscomp$1 = customFields.action || ""), - (formEncType$jscomp$1 = customFields.encType), - (formMethod$jscomp$1 = customFields.method), - (formTarget$jscomp$1 = customFields.target), - (formData$jscomp$1 = customFields.data), - (formActionName = customFields.name)) - : (target$jscomp$0.push( - " ", - "action", - '="', - actionJavaScriptURL, - '"' - ), - (formTarget$jscomp$1 = - formMethod$jscomp$1 = - formEncType$jscomp$1 = - formAction$jscomp$1 = - null), - injectFormReplayingRuntime(resumableState, renderState)); - } - null != formAction$jscomp$1 && - pushAttribute(target$jscomp$0, "action", formAction$jscomp$1); - null != formEncType$jscomp$1 && - pushAttribute(target$jscomp$0, "encType", formEncType$jscomp$1); - null != formMethod$jscomp$1 && - pushAttribute(target$jscomp$0, "method", formMethod$jscomp$1); - null != formTarget$jscomp$1 && - pushAttribute(target$jscomp$0, "target", formTarget$jscomp$1); - target$jscomp$0.push(">"); - null !== formActionName && - (target$jscomp$0.push('<input type="hidden"'), - pushStringAttribute(target$jscomp$0, "name", formActionName), - target$jscomp$0.push("/>"), - null != formData$jscomp$1 && - formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0)); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4); - if ("string" === typeof children$jscomp$4) { - target$jscomp$0.push(escapeTextForBrowser(children$jscomp$4)); - var JSCompiler_inline_result$jscomp$1 = null; - } else JSCompiler_inline_result$jscomp$1 = children$jscomp$4; - return JSCompiler_inline_result$jscomp$1; - case "menuitem": - target$jscomp$0.push(startChunkForTag("menuitem")); - for (var propKey$jscomp$6 in props) - if (hasOwnProperty.call(props, propKey$jscomp$6)) { - var propValue$jscomp$6 = props[propKey$jscomp$6]; - if (null != propValue$jscomp$6) - switch (propKey$jscomp$6) { - case "children": - case "dangerouslySetInnerHTML": - throw Error( - "menuitems cannot have `children` nor `dangerouslySetInnerHTML`." - ); - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$6, - propValue$jscomp$6 - ); - } - } - target$jscomp$0.push(">"); - return null; - case "object": - target$jscomp$0.push(startChunkForTag("object")); - var children$jscomp$5 = null, - innerHTML$jscomp$4 = null, - propKey$jscomp$7; - for (propKey$jscomp$7 in props) - if (hasOwnProperty.call(props, propKey$jscomp$7)) { - var propValue$jscomp$7 = props[propKey$jscomp$7]; - if (null != propValue$jscomp$7) - switch (propKey$jscomp$7) { - case "children": - children$jscomp$5 = propValue$jscomp$7; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$4 = propValue$jscomp$7; - break; - case "data": - var sanitizedValue = sanitizeURL("" + propValue$jscomp$7); - if ("" === sanitizedValue) break; - target$jscomp$0.push( - " ", - "data", - '="', - escapeTextForBrowser(sanitizedValue), - '"' - ); - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$7, - propValue$jscomp$7 - ); - } - } - target$jscomp$0.push(">"); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5); - if ("string" === typeof children$jscomp$5) { - target$jscomp$0.push(escapeTextForBrowser(children$jscomp$5)); - var JSCompiler_inline_result$jscomp$2 = null; - } else JSCompiler_inline_result$jscomp$2 = children$jscomp$5; - return JSCompiler_inline_result$jscomp$2; - case "title": - if ( - 3 === formatContext.insertionMode || - formatContext.tagScope & 1 || - null != props.itemProp - ) - var JSCompiler_inline_result$jscomp$3 = pushTitleImpl( - target$jscomp$0, - props - ); - else - isFallback - ? (JSCompiler_inline_result$jscomp$3 = null) - : (pushTitleImpl(renderState.hoistableChunks, props), - (JSCompiler_inline_result$jscomp$3 = void 0)); - return JSCompiler_inline_result$jscomp$3; - case "link": - var rel = props.rel, - href = props.href, - precedence = props.precedence; - if ( - 3 === formatContext.insertionMode || - formatContext.tagScope & 1 || - null != props.itemProp || - "string" !== typeof rel || - "string" !== typeof href || - "" === href - ) { - pushLinkImpl(target$jscomp$0, props); - var JSCompiler_inline_result$jscomp$4 = null; - } else if ("stylesheet" === props.rel) - if ( - "string" !== typeof precedence || - null != props.disabled || - props.onLoad || - props.onError - ) - JSCompiler_inline_result$jscomp$4 = pushLinkImpl( - target$jscomp$0, - props - ); - else { - var styleQueue = renderState.styles.get(precedence), - resourceState = resumableState.styleResources.hasOwnProperty(href) - ? resumableState.styleResources[href] - : void 0; - if (null !== resourceState) { - resumableState.styleResources[href] = null; - styleQueue || - ((styleQueue = { - precedence: escapeTextForBrowser(precedence), - rules: [], - hrefs: [], - sheets: new Map() - }), - renderState.styles.set(precedence, styleQueue)); - var resource = { - state: 0, - props: assign({}, props, { - "data-precedence": props.precedence, - precedence: null - }) - }; - if (resourceState) { - 2 === resourceState.length && - adoptPreloadCredentials(resource.props, resourceState); - var preloadResource = renderState.preloads.stylesheets.get(href); - preloadResource && 0 < preloadResource.length - ? (preloadResource.length = 0) - : (resource.state = 1); - } - styleQueue.sheets.set(href, resource); - hoistableState && hoistableState.stylesheets.add(resource); - } else if (styleQueue) { - var resource$9 = styleQueue.sheets.get(href); - resource$9 && - hoistableState && - hoistableState.stylesheets.add(resource$9); - } - textEmbedded && target$jscomp$0.push("\x3c!-- --\x3e"); - JSCompiler_inline_result$jscomp$4 = null; - } - else - props.onLoad || props.onError - ? (JSCompiler_inline_result$jscomp$4 = pushLinkImpl( - target$jscomp$0, - props - )) - : (textEmbedded && target$jscomp$0.push("\x3c!-- --\x3e"), - (JSCompiler_inline_result$jscomp$4 = isFallback - ? null - : pushLinkImpl(renderState.hoistableChunks, props))); - return JSCompiler_inline_result$jscomp$4; - case "script": - var asyncProp = props.async; - if ( - "string" !== typeof props.src || - !props.src || - !asyncProp || - "function" === typeof asyncProp || - "symbol" === typeof asyncProp || - props.onLoad || - props.onError || - 3 === formatContext.insertionMode || - formatContext.tagScope & 1 || - null != props.itemProp - ) - var JSCompiler_inline_result$jscomp$5 = pushScriptImpl( - target$jscomp$0, - props - ); - else { - var key = props.src; - if ("module" === props.type) { - var resources = resumableState.moduleScriptResources; - var preloads = renderState.preloads.moduleScripts; - } else - (resources = resumableState.scriptResources), - (preloads = renderState.preloads.scripts); - var resourceState$jscomp$0 = resources.hasOwnProperty(key) - ? resources[key] - : void 0; - if (null !== resourceState$jscomp$0) { - resources[key] = null; - var scriptProps = props; - if (resourceState$jscomp$0) { - 2 === resourceState$jscomp$0.length && - ((scriptProps = assign({}, props)), - adoptPreloadCredentials(scriptProps, resourceState$jscomp$0)); - var preloadResource$jscomp$0 = preloads.get(key); - preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0); - } - var resource$jscomp$0 = []; - renderState.scripts.add(resource$jscomp$0); - pushScriptImpl(resource$jscomp$0, scriptProps); - } - textEmbedded && target$jscomp$0.push("\x3c!-- --\x3e"); - JSCompiler_inline_result$jscomp$5 = null; - } - return JSCompiler_inline_result$jscomp$5; - case "style": - var precedence$jscomp$0 = props.precedence, - href$jscomp$0 = props.href; - if ( - 3 === formatContext.insertionMode || - formatContext.tagScope & 1 || - null != props.itemProp || - "string" !== typeof precedence$jscomp$0 || - "string" !== typeof href$jscomp$0 || - "" === href$jscomp$0 - ) { - target$jscomp$0.push(startChunkForTag("style")); - var children$jscomp$6 = null, - innerHTML$jscomp$5 = null, - propKey$jscomp$8; - for (propKey$jscomp$8 in props) - if (hasOwnProperty.call(props, propKey$jscomp$8)) { - var propValue$jscomp$8 = props[propKey$jscomp$8]; - if (null != propValue$jscomp$8) - switch (propKey$jscomp$8) { - case "children": - children$jscomp$6 = propValue$jscomp$8; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$5 = propValue$jscomp$8; - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$8, - propValue$jscomp$8 - ); - } - } - target$jscomp$0.push(">"); - var child = Array.isArray(children$jscomp$6) - ? 2 > children$jscomp$6.length - ? children$jscomp$6[0] - : null - : children$jscomp$6; - "function" !== typeof child && - "symbol" !== typeof child && - null !== child && - void 0 !== child && - target$jscomp$0.push(("" + child).replace(styleRegex, styleReplacer)); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6); - target$jscomp$0.push(endChunkForTag("style")); - var JSCompiler_inline_result$jscomp$6 = null; - } else { - var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0); - if ( - null !== - (resumableState.styleResources.hasOwnProperty(href$jscomp$0) - ? resumableState.styleResources[href$jscomp$0] - : void 0) - ) { - resumableState.styleResources[href$jscomp$0] = null; - styleQueue$jscomp$0 - ? styleQueue$jscomp$0.hrefs.push( - escapeTextForBrowser(href$jscomp$0) - ) - : ((styleQueue$jscomp$0 = { - precedence: escapeTextForBrowser(precedence$jscomp$0), - rules: [], - hrefs: [escapeTextForBrowser(href$jscomp$0)], - sheets: new Map() - }), - renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0)); - var target = styleQueue$jscomp$0.rules, - children$jscomp$7 = null, - innerHTML$jscomp$6 = null, - propKey$jscomp$9; - for (propKey$jscomp$9 in props) - if (hasOwnProperty.call(props, propKey$jscomp$9)) { - var propValue$jscomp$9 = props[propKey$jscomp$9]; - if (null != propValue$jscomp$9) - switch (propKey$jscomp$9) { - case "children": - children$jscomp$7 = propValue$jscomp$9; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$6 = propValue$jscomp$9; - } - } - var child$jscomp$0 = Array.isArray(children$jscomp$7) - ? 2 > children$jscomp$7.length - ? children$jscomp$7[0] - : null - : children$jscomp$7; - "function" !== typeof child$jscomp$0 && - "symbol" !== typeof child$jscomp$0 && - null !== child$jscomp$0 && - void 0 !== child$jscomp$0 && - target.push( - ("" + child$jscomp$0).replace(styleRegex, styleReplacer) - ); - pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7); - } - styleQueue$jscomp$0 && - hoistableState && - hoistableState.styles.add(styleQueue$jscomp$0); - textEmbedded && target$jscomp$0.push("\x3c!-- --\x3e"); - JSCompiler_inline_result$jscomp$6 = void 0; - } - return JSCompiler_inline_result$jscomp$6; - case "meta": - if ( - 3 === formatContext.insertionMode || - formatContext.tagScope & 1 || - null != props.itemProp - ) - var JSCompiler_inline_result$jscomp$7 = pushSelfClosing( - target$jscomp$0, - props, - "meta" - ); - else - textEmbedded && target$jscomp$0.push("\x3c!-- --\x3e"), - (JSCompiler_inline_result$jscomp$7 = isFallback - ? null - : "string" === typeof props.charSet - ? pushSelfClosing(renderState.charsetChunks, props, "meta") - : "viewport" === props.name - ? pushSelfClosing(renderState.viewportChunks, props, "meta") - : pushSelfClosing(renderState.hoistableChunks, props, "meta")); - return JSCompiler_inline_result$jscomp$7; - case "listing": - case "pre": - target$jscomp$0.push(startChunkForTag(type)); - var children$jscomp$8 = null, - innerHTML$jscomp$7 = null, - propKey$jscomp$10; - for (propKey$jscomp$10 in props) - if (hasOwnProperty.call(props, propKey$jscomp$10)) { - var propValue$jscomp$10 = props[propKey$jscomp$10]; - if (null != propValue$jscomp$10) - switch (propKey$jscomp$10) { - case "children": - children$jscomp$8 = propValue$jscomp$10; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$7 = propValue$jscomp$10; - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$10, - propValue$jscomp$10 - ); - } - } - target$jscomp$0.push(">"); - if (null != innerHTML$jscomp$7) { - if (null != children$jscomp$8) - throw Error( - "Can only set one of `children` or `props.dangerouslySetInnerHTML`." - ); - if ( - "object" !== typeof innerHTML$jscomp$7 || - !("__html" in innerHTML$jscomp$7) - ) - throw Error( - "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information." - ); - var html = innerHTML$jscomp$7.__html; - null !== html && - void 0 !== html && - ("string" === typeof html && 0 < html.length && "\n" === html[0] - ? target$jscomp$0.push("\n", html) - : target$jscomp$0.push("" + html)); - } - "string" === typeof children$jscomp$8 && - "\n" === children$jscomp$8[0] && - target$jscomp$0.push("\n"); - return children$jscomp$8; - case "img": - var src = props.src, - srcSet = props.srcSet; - if ( - !( - "lazy" === props.loading || - (!src && !srcSet) || - ("string" !== typeof src && null != src) || - ("string" !== typeof srcSet && null != srcSet) - ) && - "low" !== props.fetchPriority && - !1 === !!(formatContext.tagScope & 3) && - ("string" !== typeof src || - ":" !== src[4] || - ("d" !== src[0] && "D" !== src[0]) || - ("a" !== src[1] && "A" !== src[1]) || - ("t" !== src[2] && "T" !== src[2]) || - ("a" !== src[3] && "A" !== src[3])) && - ("string" !== typeof srcSet || - ":" !== srcSet[4] || - ("d" !== srcSet[0] && "D" !== srcSet[0]) || - ("a" !== srcSet[1] && "A" !== srcSet[1]) || - ("t" !== srcSet[2] && "T" !== srcSet[2]) || - ("a" !== srcSet[3] && "A" !== srcSet[3])) - ) { - var sizes = "string" === typeof props.sizes ? props.sizes : void 0, - key$jscomp$0 = srcSet ? srcSet + "\n" + (sizes || "") : src, - promotablePreloads = renderState.preloads.images, - resource$jscomp$1 = promotablePreloads.get(key$jscomp$0); - if (resource$jscomp$1) { - if ( - "high" === props.fetchPriority || - 10 > renderState.highImagePreloads.size - ) - promotablePreloads.delete(key$jscomp$0), - renderState.highImagePreloads.add(resource$jscomp$1); - } else if ( - !resumableState.imageResources.hasOwnProperty(key$jscomp$0) - ) { - resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS; - var input = props.crossOrigin; - var JSCompiler_inline_result$jscomp$8 = - "string" === typeof input - ? "use-credentials" === input - ? input - : "" - : void 0; - var headers = renderState.headers, - header; - headers && - 0 < headers.remainingCapacity && - ("high" === props.fetchPriority || - 500 > headers.highImagePreloads.length) && - ((header = getPreloadAsHeader(src, "image", { - imageSrcSet: props.srcSet, - imageSizes: props.sizes, - crossOrigin: JSCompiler_inline_result$jscomp$8, - integrity: props.integrity, - nonce: props.nonce, - type: props.type, - fetchPriority: props.fetchPriority, - referrerPolicy: props.refererPolicy - })), - 0 <= (headers.remainingCapacity -= header.length + 2)) - ? ((renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS), - headers.highImagePreloads && (headers.highImagePreloads += ", "), - (headers.highImagePreloads += header)) - : ((resource$jscomp$1 = []), - pushLinkImpl(resource$jscomp$1, { - rel: "preload", - as: "image", - href: srcSet ? void 0 : src, - imageSrcSet: srcSet, - imageSizes: sizes, - crossOrigin: JSCompiler_inline_result$jscomp$8, - integrity: props.integrity, - type: props.type, - fetchPriority: props.fetchPriority, - referrerPolicy: props.referrerPolicy - }), - "high" === props.fetchPriority || - 10 > renderState.highImagePreloads.size - ? renderState.highImagePreloads.add(resource$jscomp$1) - : (renderState.bulkPreloads.add(resource$jscomp$1), - promotablePreloads.set(key$jscomp$0, resource$jscomp$1))); - } - } - return pushSelfClosing(target$jscomp$0, props, "img"); - case "base": - case "area": - case "br": - case "col": - case "embed": - case "hr": - case "keygen": - case "param": - case "source": - case "track": - case "wbr": - return pushSelfClosing(target$jscomp$0, props, type); - case "annotation-xml": - case "color-profile": - case "font-face": - case "font-face-src": - case "font-face-uri": - case "font-face-format": - case "font-face-name": - case "missing-glyph": - break; - case "head": - if (2 > formatContext.insertionMode && null === renderState.headChunks) { - renderState.headChunks = []; - var JSCompiler_inline_result$jscomp$9 = pushStartGenericElement( - renderState.headChunks, - props, - "head" - ); - } else - JSCompiler_inline_result$jscomp$9 = pushStartGenericElement( - target$jscomp$0, - props, - "head" - ); - return JSCompiler_inline_result$jscomp$9; - case "html": - if ( - 0 === formatContext.insertionMode && - null === renderState.htmlChunks - ) { - renderState.htmlChunks = [""]; - var JSCompiler_inline_result$jscomp$10 = pushStartGenericElement( - renderState.htmlChunks, - props, - "html" - ); - } else - JSCompiler_inline_result$jscomp$10 = pushStartGenericElement( - target$jscomp$0, - props, - "html" - ); - return JSCompiler_inline_result$jscomp$10; - default: - if (-1 !== type.indexOf("-")) { - target$jscomp$0.push(startChunkForTag(type)); - var children$jscomp$9 = null, - innerHTML$jscomp$8 = null, - propKey$jscomp$11; - for (propKey$jscomp$11 in props) - if (hasOwnProperty.call(props, propKey$jscomp$11)) { - var propValue$jscomp$11 = props[propKey$jscomp$11]; - if (null != propValue$jscomp$11) { - var attributeName = propKey$jscomp$11; - switch (propKey$jscomp$11) { - case "children": - children$jscomp$9 = propValue$jscomp$11; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$8 = propValue$jscomp$11; - break; - case "style": - pushStyleAttribute(target$jscomp$0, propValue$jscomp$11); - break; - case "suppressContentEditableWarning": - case "suppressHydrationWarning": - case "ref": - break; - case "className": - attributeName = "class"; - default: - if ( - isAttributeNameSafe(propKey$jscomp$11) && - "function" !== typeof propValue$jscomp$11 && - "symbol" !== typeof propValue$jscomp$11 && - !1 !== propValue$jscomp$11 - ) { - if (!0 === propValue$jscomp$11) propValue$jscomp$11 = ""; - else if ("object" === typeof propValue$jscomp$11) continue; - target$jscomp$0.push( - " ", - attributeName, - '="', - escapeTextForBrowser(propValue$jscomp$11), - '"' - ); - } - } - } - } - target$jscomp$0.push(">"); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9); - return children$jscomp$9; - } - } - return pushStartGenericElement(target$jscomp$0, props, type); -} -var endTagCache = new Map(); -function endChunkForTag(tag) { - var chunk = endTagCache.get(tag); - void 0 === chunk && ((chunk = "</" + tag + ">"), endTagCache.set(tag, chunk)); - return chunk; -} -function writeBootstrap(destination, renderState) { - renderState = renderState.bootstrapChunks; - for (var i = 0; i < renderState.length - 1; i++) - destination.push(renderState[i]); - return i < renderState.length - ? ((i = renderState[i]), (renderState.length = 0), destination.push(i)) - : !0; -} -function writeStartPendingSuspenseBoundary(destination, renderState, id) { - destination.push('\x3c!--$?--\x3e<template id="'); - if (null === id) - throw Error( - "An ID must have been assigned before we can complete the boundary." - ); - destination.push(renderState.boundaryPrefix); - renderState = id.toString(16); - destination.push(renderState); - return destination.push('"></template>'); -} -function writeStartSegment(destination, renderState, formatContext, id) { - switch (formatContext.insertionMode) { - case 0: - case 1: - case 2: - return ( - destination.push('<div hidden id="'), - destination.push(renderState.segmentPrefix), - (renderState = id.toString(16)), - destination.push(renderState), - destination.push('">') - ); - case 3: - return ( - destination.push('<svg aria-hidden="true" style="display:none" id="'), - destination.push(renderState.segmentPrefix), - (renderState = id.toString(16)), - destination.push(renderState), - destination.push('">') - ); - case 4: - return ( - destination.push('<math aria-hidden="true" style="display:none" id="'), - destination.push(renderState.segmentPrefix), - (renderState = id.toString(16)), - destination.push(renderState), - destination.push('">') - ); - case 5: - return ( - destination.push('<table hidden id="'), - destination.push(renderState.segmentPrefix), - (renderState = id.toString(16)), - destination.push(renderState), - destination.push('">') - ); - case 6: - return ( - destination.push('<table hidden><tbody id="'), - destination.push(renderState.segmentPrefix), - (renderState = id.toString(16)), - destination.push(renderState), - destination.push('">') - ); - case 7: - return ( - destination.push('<table hidden><tr id="'), - destination.push(renderState.segmentPrefix), - (renderState = id.toString(16)), - destination.push(renderState), - destination.push('">') - ); - case 8: - return ( - destination.push('<table hidden><colgroup id="'), - destination.push(renderState.segmentPrefix), - (renderState = id.toString(16)), - destination.push(renderState), - destination.push('">') - ); - default: - throw Error("Unknown insertion mode. This is a bug in React."); - } -} -function writeEndSegment(destination, formatContext) { - switch (formatContext.insertionMode) { - case 0: - case 1: - case 2: - return destination.push("</div>"); - case 3: - return destination.push("</svg>"); - case 4: - return destination.push("</math>"); - case 5: - return destination.push("</table>"); - case 6: - return destination.push("</tbody></table>"); - case 7: - return destination.push("</tr></table>"); - case 8: - return destination.push("</colgroup></table>"); - default: - throw Error("Unknown insertion mode. This is a bug in React."); - } -} -var regexForJSStringsInInstructionScripts = /[<\u2028\u2029]/g; -function escapeJSStringsForInstructionScripts(input) { - return JSON.stringify(input).replace( - regexForJSStringsInInstructionScripts, - function (match) { - switch (match) { - case "<": - return "\\u003c"; - case "\u2028": - return "\\u2028"; - case "\u2029": - return "\\u2029"; - default: - throw Error( - "escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React" - ); - } - } - ); -} -var regexForJSStringsInScripts = /[&><\u2028\u2029]/g; -function escapeJSObjectForInstructionScripts(input) { - return JSON.stringify(input).replace( - regexForJSStringsInScripts, - function (match) { - switch (match) { - case "&": - return "\\u0026"; - case ">": - return "\\u003e"; - case "<": - return "\\u003c"; - case "\u2028": - return "\\u2028"; - case "\u2029": - return "\\u2029"; - default: - throw Error( - "escapeJSObjectForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React" - ); - } - } - ); -} -var currentlyRenderingBoundaryHasStylesToHoist = !1, - destinationHasCapacity = !0; -function flushStyleTagsLateForBoundary(styleQueue) { - var rules = styleQueue.rules, - hrefs = styleQueue.hrefs, - i = 0; - if (hrefs.length) { - this.push('<style media="not all" data-precedence="'); - this.push(styleQueue.precedence); - for (this.push('" data-href="'); i < hrefs.length - 1; i++) - this.push(hrefs[i]), this.push(" "); - this.push(hrefs[i]); - this.push('">'); - for (i = 0; i < rules.length; i++) this.push(rules[i]); - destinationHasCapacity = this.push("</style>"); - currentlyRenderingBoundaryHasStylesToHoist = !0; - rules.length = 0; - hrefs.length = 0; - } -} -function hasStylesToHoist(stylesheet) { - return 2 !== stylesheet.state - ? (currentlyRenderingBoundaryHasStylesToHoist = !0) - : !1; -} -function writeHoistablesForBoundary(destination, hoistableState, renderState) { - currentlyRenderingBoundaryHasStylesToHoist = !1; - destinationHasCapacity = !0; - hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination); - hoistableState.stylesheets.forEach(hasStylesToHoist); - currentlyRenderingBoundaryHasStylesToHoist && - (renderState.stylesToHoist = !0); - return destinationHasCapacity; -} -function flushResource(resource) { - for (var i = 0; i < resource.length; i++) this.push(resource[i]); - resource.length = 0; -} -var stylesheetFlushingQueue = []; -function flushStyleInPreamble(stylesheet) { - pushLinkImpl(stylesheetFlushingQueue, stylesheet.props); - for (var i = 0; i < stylesheetFlushingQueue.length; i++) - this.push(stylesheetFlushingQueue[i]); - stylesheetFlushingQueue.length = 0; - stylesheet.state = 2; -} -function flushStylesInPreamble(styleQueue) { - var hasStylesheets = 0 < styleQueue.sheets.size; - styleQueue.sheets.forEach(flushStyleInPreamble, this); - styleQueue.sheets.clear(); - var rules = styleQueue.rules, - hrefs = styleQueue.hrefs; - if (!hasStylesheets || hrefs.length) { - this.push('<style data-precedence="'); - this.push(styleQueue.precedence); - styleQueue = 0; - if (hrefs.length) { - for ( - this.push('" data-href="'); - styleQueue < hrefs.length - 1; - styleQueue++ - ) - this.push(hrefs[styleQueue]), this.push(" "); - this.push(hrefs[styleQueue]); - } - this.push('">'); - for (styleQueue = 0; styleQueue < rules.length; styleQueue++) - this.push(rules[styleQueue]); - this.push("</style>"); - rules.length = 0; - hrefs.length = 0; - } -} -function preloadLateStyle(stylesheet) { - if (0 === stylesheet.state) { - stylesheet.state = 1; - var props = stylesheet.props; - pushLinkImpl(stylesheetFlushingQueue, { - rel: "preload", - as: "style", - href: stylesheet.props.href, - crossOrigin: props.crossOrigin, - fetchPriority: props.fetchPriority, - integrity: props.integrity, - media: props.media, - hrefLang: props.hrefLang, - referrerPolicy: props.referrerPolicy - }); - for ( - stylesheet = 0; - stylesheet < stylesheetFlushingQueue.length; - stylesheet++ - ) - this.push(stylesheetFlushingQueue[stylesheet]); - stylesheetFlushingQueue.length = 0; - } -} -function preloadLateStyles(styleQueue) { - styleQueue.sheets.forEach(preloadLateStyle, this); - styleQueue.sheets.clear(); -} -function writeStyleResourceDependenciesInJS(destination, hoistableState) { - destination.push("["); - var nextArrayOpenBrackChunk = "["; - hoistableState.stylesheets.forEach(function (resource) { - if (2 !== resource.state) - if (3 === resource.state) - destination.push(nextArrayOpenBrackChunk), - (resource = escapeJSObjectForInstructionScripts( - "" + resource.props.href - )), - destination.push(resource), - destination.push("]"), - (nextArrayOpenBrackChunk = ",["); - else { - destination.push(nextArrayOpenBrackChunk); - var precedence = resource.props["data-precedence"], - props = resource.props, - coercedHref = sanitizeURL("" + resource.props.href); - coercedHref = escapeJSObjectForInstructionScripts(coercedHref); - destination.push(coercedHref); - precedence = "" + precedence; - destination.push(","); - precedence = escapeJSObjectForInstructionScripts(precedence); - destination.push(precedence); - for (var propKey in props) - if ( - hasOwnProperty.call(props, propKey) && - ((precedence = props[propKey]), null != precedence) - ) - switch (propKey) { - case "href": - case "rel": - case "precedence": - case "data-precedence": - break; - case "children": - case "dangerouslySetInnerHTML": - throw Error( - "link is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`." - ); - default: - writeStyleResourceAttributeInJS( - destination, - propKey, - precedence - ); - } - destination.push("]"); - nextArrayOpenBrackChunk = ",["; - resource.state = 3; - } - }); - destination.push("]"); -} -function writeStyleResourceAttributeInJS(destination, name, value) { - var attributeName = name.toLowerCase(); - switch (typeof value) { - case "function": - case "symbol": - return; - } - switch (name) { - case "innerHTML": - case "dangerouslySetInnerHTML": - case "suppressContentEditableWarning": - case "suppressHydrationWarning": - case "style": - case "ref": - return; - case "className": - attributeName = "class"; - name = "" + value; - break; - case "hidden": - if (!1 === value) return; - name = ""; - break; - case "src": - case "href": - value = sanitizeURL(value); - name = "" + value; - break; - default: - if ( - (2 < name.length && - ("o" === name[0] || "O" === name[0]) && - ("n" === name[1] || "N" === name[1])) || - !isAttributeNameSafe(name) - ) - return; - name = "" + value; - } - destination.push(","); - attributeName = escapeJSObjectForInstructionScripts(attributeName); - destination.push(attributeName); - destination.push(","); - attributeName = escapeJSObjectForInstructionScripts(name); - destination.push(attributeName); -} -function createHoistableState() { - return { styles: new Set(), stylesheets: new Set() }; -} -function prefetchDNS(href) { - var request = currentRequest ? currentRequest : null; - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if ("string" === typeof href && href) { - if (!resumableState.dnsResources.hasOwnProperty(href)) { - resumableState.dnsResources[href] = null; - resumableState = renderState.headers; - var header, JSCompiler_temp; - if ( - (JSCompiler_temp = - resumableState && 0 < resumableState.remainingCapacity) - ) - JSCompiler_temp = - ((header = - "<" + - ("" + href).replace( - regexForHrefInLinkHeaderURLContext, - escapeHrefForLinkHeaderURLContextReplacer - ) + - ">; rel=dns-prefetch"), - 0 <= (resumableState.remainingCapacity -= header.length + 2)); - JSCompiler_temp - ? ((renderState.resets.dns[href] = null), - resumableState.preconnects && (resumableState.preconnects += ", "), - (resumableState.preconnects += header)) - : ((header = []), - pushLinkImpl(header, { href: href, rel: "dns-prefetch" }), - renderState.preconnects.add(header)); - } - enqueueFlush(request); - } - } else previousDispatcher.D(href); -} -function preconnect(href, crossOrigin) { - var request = currentRequest ? currentRequest : null; - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if ("string" === typeof href && href) { - var bucket = - "use-credentials" === crossOrigin - ? "credentials" - : "string" === typeof crossOrigin - ? "anonymous" - : "default"; - if (!resumableState.connectResources[bucket].hasOwnProperty(href)) { - resumableState.connectResources[bucket][href] = null; - resumableState = renderState.headers; - var header, JSCompiler_temp; - if ( - (JSCompiler_temp = - resumableState && 0 < resumableState.remainingCapacity) - ) { - JSCompiler_temp = - "<" + - ("" + href).replace( - regexForHrefInLinkHeaderURLContext, - escapeHrefForLinkHeaderURLContextReplacer - ) + - ">; rel=preconnect"; - if ("string" === typeof crossOrigin) { - var escapedCrossOrigin = ("" + crossOrigin).replace( - regexForLinkHeaderQuotedParamValueContext, - escapeStringForLinkHeaderQuotedParamValueContextReplacer - ); - JSCompiler_temp += '; crossorigin="' + escapedCrossOrigin + '"'; - } - JSCompiler_temp = - ((header = JSCompiler_temp), - 0 <= (resumableState.remainingCapacity -= header.length + 2)); - } - JSCompiler_temp - ? ((renderState.resets.connect[bucket][href] = null), - resumableState.preconnects && (resumableState.preconnects += ", "), - (resumableState.preconnects += header)) - : ((bucket = []), - pushLinkImpl(bucket, { - rel: "preconnect", - href: href, - crossOrigin: crossOrigin - }), - renderState.preconnects.add(bucket)); - } - enqueueFlush(request); - } - } else previousDispatcher.C(href, crossOrigin); -} -function preload(href, as, options) { - var request = currentRequest ? currentRequest : null; - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if (as && href) { - switch (as) { - case "image": - if (options) { - var imageSrcSet = options.imageSrcSet; - var imageSizes = options.imageSizes; - var fetchPriority = options.fetchPriority; - } - var key = imageSrcSet - ? imageSrcSet + "\n" + (imageSizes || "") - : href; - if (resumableState.imageResources.hasOwnProperty(key)) return; - resumableState.imageResources[key] = PRELOAD_NO_CREDS; - resumableState = renderState.headers; - var header; - resumableState && - 0 < resumableState.remainingCapacity && - "high" === fetchPriority && - ((header = getPreloadAsHeader(href, as, options)), - 0 <= (resumableState.remainingCapacity -= header.length + 2)) - ? ((renderState.resets.image[key] = PRELOAD_NO_CREDS), - resumableState.highImagePreloads && - (resumableState.highImagePreloads += ", "), - (resumableState.highImagePreloads += header)) - : ((resumableState = []), - pushLinkImpl( - resumableState, - assign( - { rel: "preload", href: imageSrcSet ? void 0 : href, as: as }, - options - ) - ), - "high" === fetchPriority - ? renderState.highImagePreloads.add(resumableState) - : (renderState.bulkPreloads.add(resumableState), - renderState.preloads.images.set(key, resumableState))); - break; - case "style": - if (resumableState.styleResources.hasOwnProperty(href)) return; - imageSrcSet = []; - pushLinkImpl( - imageSrcSet, - assign({ rel: "preload", href: href, as: as }, options) - ); - resumableState.styleResources[href] = - !options || - ("string" !== typeof options.crossOrigin && - "string" !== typeof options.integrity) - ? PRELOAD_NO_CREDS - : [options.crossOrigin, options.integrity]; - renderState.preloads.stylesheets.set(href, imageSrcSet); - renderState.bulkPreloads.add(imageSrcSet); - break; - case "script": - if (resumableState.scriptResources.hasOwnProperty(href)) return; - imageSrcSet = []; - renderState.preloads.scripts.set(href, imageSrcSet); - renderState.bulkPreloads.add(imageSrcSet); - pushLinkImpl( - imageSrcSet, - assign({ rel: "preload", href: href, as: as }, options) - ); - resumableState.scriptResources[href] = - !options || - ("string" !== typeof options.crossOrigin && - "string" !== typeof options.integrity) - ? PRELOAD_NO_CREDS - : [options.crossOrigin, options.integrity]; - break; - default: - if (resumableState.unknownResources.hasOwnProperty(as)) { - if ( - ((imageSrcSet = resumableState.unknownResources[as]), - imageSrcSet.hasOwnProperty(href)) - ) - return; - } else - (imageSrcSet = {}), - (resumableState.unknownResources[as] = imageSrcSet); - imageSrcSet[href] = PRELOAD_NO_CREDS; - if ( - (resumableState = renderState.headers) && - 0 < resumableState.remainingCapacity && - "font" === as && - ((key = getPreloadAsHeader(href, as, options)), - 0 <= (resumableState.remainingCapacity -= key.length + 2)) - ) - (renderState.resets.font[href] = PRELOAD_NO_CREDS), - resumableState.fontPreloads && - (resumableState.fontPreloads += ", "), - (resumableState.fontPreloads += key); - else - switch ( - ((resumableState = []), - (href = assign({ rel: "preload", href: href, as: as }, options)), - pushLinkImpl(resumableState, href), - as) - ) { - case "font": - renderState.fontPreloads.add(resumableState); - break; - default: - renderState.bulkPreloads.add(resumableState); - } - } - enqueueFlush(request); - } - } else previousDispatcher.L(href, as, options); -} -function preloadModule(href, options) { - var request = currentRequest ? currentRequest : null; - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if (href) { - var as = - options && "string" === typeof options.as ? options.as : "script"; - switch (as) { - case "script": - if (resumableState.moduleScriptResources.hasOwnProperty(href)) return; - as = []; - resumableState.moduleScriptResources[href] = - !options || - ("string" !== typeof options.crossOrigin && - "string" !== typeof options.integrity) - ? PRELOAD_NO_CREDS - : [options.crossOrigin, options.integrity]; - renderState.preloads.moduleScripts.set(href, as); - break; - default: - if (resumableState.moduleUnknownResources.hasOwnProperty(as)) { - var resources = resumableState.unknownResources[as]; - if (resources.hasOwnProperty(href)) return; - } else - (resources = {}), - (resumableState.moduleUnknownResources[as] = resources); - as = []; - resources[href] = PRELOAD_NO_CREDS; - } - pushLinkImpl(as, assign({ rel: "modulepreload", href: href }, options)); - renderState.bulkPreloads.add(as); - enqueueFlush(request); - } - } else previousDispatcher.m(href, options); -} -function preinitStyle(href, precedence, options) { - var request = currentRequest ? currentRequest : null; - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if (href) { - precedence = precedence || "default"; - var styleQueue = renderState.styles.get(precedence), - resourceState = resumableState.styleResources.hasOwnProperty(href) - ? resumableState.styleResources[href] - : void 0; - null !== resourceState && - ((resumableState.styleResources[href] = null), - styleQueue || - ((styleQueue = { - precedence: escapeTextForBrowser(precedence), - rules: [], - hrefs: [], - sheets: new Map() - }), - renderState.styles.set(precedence, styleQueue)), - (precedence = { - state: 0, - props: assign( - { rel: "stylesheet", href: href, "data-precedence": precedence }, - options - ) - }), - resourceState && - (2 === resourceState.length && - adoptPreloadCredentials(precedence.props, resourceState), - (renderState = renderState.preloads.stylesheets.get(href)) && - 0 < renderState.length - ? (renderState.length = 0) - : (precedence.state = 1)), - styleQueue.sheets.set(href, precedence), - enqueueFlush(request)); - } - } else previousDispatcher.S(href, precedence, options); -} -function preinitScript(src, options) { - var request = currentRequest ? currentRequest : null; - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if (src) { - var resourceState = resumableState.scriptResources.hasOwnProperty(src) - ? resumableState.scriptResources[src] - : void 0; - null !== resourceState && - ((resumableState.scriptResources[src] = null), - (options = assign({ src: src, async: !0 }, options)), - resourceState && - (2 === resourceState.length && - adoptPreloadCredentials(options, resourceState), - (src = renderState.preloads.scripts.get(src))) && - (src.length = 0), - (src = []), - renderState.scripts.add(src), - pushScriptImpl(src, options), - enqueueFlush(request)); - } - } else previousDispatcher.X(src, options); -} -function preinitModuleScript(src, options) { - var request = currentRequest ? currentRequest : null; - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if (src) { - var resourceState = resumableState.moduleScriptResources.hasOwnProperty( - src - ) - ? resumableState.moduleScriptResources[src] - : void 0; - null !== resourceState && - ((resumableState.moduleScriptResources[src] = null), - (options = assign({ src: src, type: "module", async: !0 }, options)), - resourceState && - (2 === resourceState.length && - adoptPreloadCredentials(options, resourceState), - (src = renderState.preloads.moduleScripts.get(src))) && - (src.length = 0), - (src = []), - renderState.scripts.add(src), - pushScriptImpl(src, options), - enqueueFlush(request)); - } - } else previousDispatcher.M(src, options); -} -function adoptPreloadCredentials(target, preloadState) { - null == target.crossOrigin && (target.crossOrigin = preloadState[0]); - null == target.integrity && (target.integrity = preloadState[1]); -} -function getPreloadAsHeader(href, as, params) { - href = ("" + href).replace( - regexForHrefInLinkHeaderURLContext, - escapeHrefForLinkHeaderURLContextReplacer - ); - as = ("" + as).replace( - regexForLinkHeaderQuotedParamValueContext, - escapeStringForLinkHeaderQuotedParamValueContextReplacer - ); - as = "<" + href + '>; rel=preload; as="' + as + '"'; - for (var paramName in params) - hasOwnProperty.call(params, paramName) && - ((href = params[paramName]), - "string" === typeof href && - (as += - "; " + - paramName.toLowerCase() + - '="' + - ("" + href).replace( - regexForLinkHeaderQuotedParamValueContext, - escapeStringForLinkHeaderQuotedParamValueContextReplacer - ) + - '"')); - return as; -} -var regexForHrefInLinkHeaderURLContext = /[<>\r\n]/g; -function escapeHrefForLinkHeaderURLContextReplacer(match) { - switch (match) { - case "<": - return "%3C"; - case ">": - return "%3E"; - case "\n": - return "%0A"; - case "\r": - return "%0D"; - default: - throw Error( - "escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React" - ); - } -} -var regexForLinkHeaderQuotedParamValueContext = /["';,\r\n]/g; -function escapeStringForLinkHeaderQuotedParamValueContextReplacer(match) { - switch (match) { - case '"': - return "%22"; - case "'": - return "%27"; - case ";": - return "%3B"; - case ",": - return "%2C"; - case "\n": - return "%0A"; - case "\r": - return "%0D"; - default: - throw Error( - "escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React" - ); - } -} -function hoistStyleQueueDependency(styleQueue) { - this.styles.add(styleQueue); -} -function hoistStylesheetDependency(stylesheet) { - this.stylesheets.add(stylesheet); -} -function createRenderState(resumableState, generateStaticMarkup) { - var idPrefix = resumableState.idPrefix, - bootstrapChunks = [], - bootstrapScriptContent = resumableState.bootstrapScriptContent, - bootstrapScripts = resumableState.bootstrapScripts, - bootstrapModules = resumableState.bootstrapModules; - void 0 !== bootstrapScriptContent && - bootstrapChunks.push( - "<script>", - ("" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer), - "\x3c/script>" - ); - bootstrapScriptContent = idPrefix + "P:"; - var JSCompiler_object_inline_segmentPrefix_1482 = idPrefix + "S:"; - idPrefix += "B:"; - var JSCompiler_object_inline_preconnects_1496 = new Set(), - JSCompiler_object_inline_fontPreloads_1497 = new Set(), - JSCompiler_object_inline_highImagePreloads_1498 = new Set(), - JSCompiler_object_inline_styles_1499 = new Map(), - JSCompiler_object_inline_bootstrapScripts_1500 = new Set(), - JSCompiler_object_inline_scripts_1501 = new Set(), - JSCompiler_object_inline_bulkPreloads_1502 = new Set(), - JSCompiler_object_inline_preloads_1503 = { - images: new Map(), - stylesheets: new Map(), - scripts: new Map(), - moduleScripts: new Map() - }; - if (void 0 !== bootstrapScripts) - for (var i = 0; i < bootstrapScripts.length; i++) { - var scriptConfig = bootstrapScripts[i], - src, - crossOrigin = void 0, - integrity = void 0, - props = { - rel: "preload", - as: "script", - fetchPriority: "low", - nonce: void 0 - }; - "string" === typeof scriptConfig - ? (props.href = src = scriptConfig) - : ((props.href = src = scriptConfig.src), - (props.integrity = integrity = - "string" === typeof scriptConfig.integrity - ? scriptConfig.integrity - : void 0), - (props.crossOrigin = crossOrigin = - "string" === typeof scriptConfig || null == scriptConfig.crossOrigin - ? void 0 - : "use-credentials" === scriptConfig.crossOrigin - ? "use-credentials" - : "")); - scriptConfig = resumableState; - var href = src; - scriptConfig.scriptResources[href] = null; - scriptConfig.moduleScriptResources[href] = null; - scriptConfig = []; - pushLinkImpl(scriptConfig, props); - JSCompiler_object_inline_bootstrapScripts_1500.add(scriptConfig); - bootstrapChunks.push('<script src="', escapeTextForBrowser(src)); - "string" === typeof integrity && - bootstrapChunks.push('" integrity="', escapeTextForBrowser(integrity)); - "string" === typeof crossOrigin && - bootstrapChunks.push( - '" crossorigin="', - escapeTextForBrowser(crossOrigin) - ); - bootstrapChunks.push('" async="">\x3c/script>'); - } - if (void 0 !== bootstrapModules) - for ( - bootstrapScripts = 0; - bootstrapScripts < bootstrapModules.length; - bootstrapScripts++ - ) - (props = bootstrapModules[bootstrapScripts]), - (crossOrigin = src = void 0), - (integrity = { - rel: "modulepreload", - fetchPriority: "low", - nonce: void 0 - }), - "string" === typeof props - ? (integrity.href = i = props) - : ((integrity.href = i = props.src), - (integrity.integrity = crossOrigin = - "string" === typeof props.integrity ? props.integrity : void 0), - (integrity.crossOrigin = src = - "string" === typeof props || null == props.crossOrigin - ? void 0 - : "use-credentials" === props.crossOrigin - ? "use-credentials" - : "")), - (props = resumableState), - (scriptConfig = i), - (props.scriptResources[scriptConfig] = null), - (props.moduleScriptResources[scriptConfig] = null), - (props = []), - pushLinkImpl(props, integrity), - JSCompiler_object_inline_bootstrapScripts_1500.add(props), - bootstrapChunks.push( - '<script type="module" src="', - escapeTextForBrowser(i) - ), - "string" === typeof crossOrigin && - bootstrapChunks.push( - '" integrity="', - escapeTextForBrowser(crossOrigin) - ), - "string" === typeof src && - bootstrapChunks.push('" crossorigin="', escapeTextForBrowser(src)), - bootstrapChunks.push('" async="">\x3c/script>'); - return { - placeholderPrefix: bootstrapScriptContent, - segmentPrefix: JSCompiler_object_inline_segmentPrefix_1482, - boundaryPrefix: idPrefix, - startInlineScript: "<script>", - htmlChunks: null, - headChunks: null, - externalRuntimeScript: null, - bootstrapChunks: bootstrapChunks, - importMapChunks: [], - onHeaders: void 0, - headers: null, - resets: { - font: {}, - dns: {}, - connect: { default: {}, anonymous: {}, credentials: {} }, - image: {}, - style: {} - }, - charsetChunks: [], - viewportChunks: [], - hoistableChunks: [], - preconnects: JSCompiler_object_inline_preconnects_1496, - fontPreloads: JSCompiler_object_inline_fontPreloads_1497, - highImagePreloads: JSCompiler_object_inline_highImagePreloads_1498, - styles: JSCompiler_object_inline_styles_1499, - bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1500, - scripts: JSCompiler_object_inline_scripts_1501, - bulkPreloads: JSCompiler_object_inline_bulkPreloads_1502, - preloads: JSCompiler_object_inline_preloads_1503, - stylesToHoist: !1, - generateStaticMarkup: generateStaticMarkup - }; -} -function pushTextInstance(target, text, renderState, textEmbedded) { - if (renderState.generateStaticMarkup) - return target.push(escapeTextForBrowser(text)), !1; - "" === text - ? (target = textEmbedded) - : (textEmbedded && target.push("\x3c!-- --\x3e"), - target.push(escapeTextForBrowser(text)), - (target = !0)); - return target; -} -function pushSegmentFinale(target, renderState, lastPushedText, textEmbedded) { - renderState.generateStaticMarkup || - (lastPushedText && textEmbedded && target.push("\x3c!-- --\x3e")); -} -var bind = Function.prototype.bind, - REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"); -function getComponentNameFromType(type) { - if (null == type) return null; - if ("function" === typeof type) - return type.$$typeof === REACT_CLIENT_REFERENCE - ? null - : type.displayName || type.name || null; - if ("string" === typeof type) return type; - switch (type) { - case REACT_FRAGMENT_TYPE: - return "Fragment"; - case REACT_PORTAL_TYPE: - return "Portal"; - case REACT_PROFILER_TYPE: - return "Profiler"; - case REACT_STRICT_MODE_TYPE: - return "StrictMode"; - case REACT_SUSPENSE_TYPE: - return "Suspense"; - case REACT_SUSPENSE_LIST_TYPE: - return "SuspenseList"; - } - if ("object" === typeof type) - switch (type.$$typeof) { - case REACT_CONTEXT_TYPE: - return (type.displayName || "Context") + ".Provider"; - case REACT_CONSUMER_TYPE: - return (type._context.displayName || "Context") + ".Consumer"; - case REACT_FORWARD_REF_TYPE: - var innerType = type.render; - type = type.displayName; - type || - ((type = innerType.displayName || innerType.name || ""), - (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); - return type; - case REACT_MEMO_TYPE: - return ( - (innerType = type.displayName || null), - null !== innerType - ? innerType - : getComponentNameFromType(type.type) || "Memo" - ); - case REACT_LAZY_TYPE: - innerType = type._payload; - type = type._init; - try { - return getComponentNameFromType(type(innerType)); - } catch (x) {} - } - return null; -} -var emptyContextObject = {}, - currentActiveSnapshot = null; -function popToNearestCommonAncestor(prev, next) { - if (prev !== next) { - prev.context._currentValue2 = prev.parentValue; - prev = prev.parent; - var parentNext = next.parent; - if (null === prev) { - if (null !== parentNext) - throw Error( - "The stacks must reach the root at the same time. This is a bug in React." - ); - } else { - if (null === parentNext) - throw Error( - "The stacks must reach the root at the same time. This is a bug in React." - ); - popToNearestCommonAncestor(prev, parentNext); - } - next.context._currentValue2 = next.value; - } -} -function popAllPrevious(prev) { - prev.context._currentValue2 = prev.parentValue; - prev = prev.parent; - null !== prev && popAllPrevious(prev); -} -function pushAllNext(next) { - var parentNext = next.parent; - null !== parentNext && pushAllNext(parentNext); - next.context._currentValue2 = next.value; -} -function popPreviousToCommonLevel(prev, next) { - prev.context._currentValue2 = prev.parentValue; - prev = prev.parent; - if (null === prev) - throw Error( - "The depth must equal at least at zero before reaching the root. This is a bug in React." - ); - prev.depth === next.depth - ? popToNearestCommonAncestor(prev, next) - : popPreviousToCommonLevel(prev, next); -} -function popNextToCommonLevel(prev, next) { - var parentNext = next.parent; - if (null === parentNext) - throw Error( - "The depth must equal at least at zero before reaching the root. This is a bug in React." - ); - prev.depth === parentNext.depth - ? popToNearestCommonAncestor(prev, parentNext) - : popNextToCommonLevel(prev, parentNext); - next.context._currentValue2 = next.value; -} -function switchContext(newSnapshot) { - var prev = currentActiveSnapshot; - prev !== newSnapshot && - (null === prev - ? pushAllNext(newSnapshot) - : null === newSnapshot - ? popAllPrevious(prev) - : prev.depth === newSnapshot.depth - ? popToNearestCommonAncestor(prev, newSnapshot) - : prev.depth > newSnapshot.depth - ? popPreviousToCommonLevel(prev, newSnapshot) - : popNextToCommonLevel(prev, newSnapshot), - (currentActiveSnapshot = newSnapshot)); -} -var classComponentUpdater = { - isMounted: function () { - return !1; - }, - enqueueSetState: function (inst, payload) { - inst = inst._reactInternals; - null !== inst.queue && inst.queue.push(payload); - }, - enqueueReplaceState: function (inst, payload) { - inst = inst._reactInternals; - inst.replace = !0; - inst.queue = [payload]; - }, - enqueueForceUpdate: function () {} - }, - emptyTreeContext = { id: 1, overflow: "" }; -function pushTreeContext(baseContext, totalChildren, index) { - var baseIdWithLeadingBit = baseContext.id; - baseContext = baseContext.overflow; - var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1; - baseIdWithLeadingBit &= ~(1 << baseLength); - index += 1; - var length = 32 - clz32(totalChildren) + baseLength; - if (30 < length) { - var numberOfOverflowBits = baseLength - (baseLength % 5); - length = ( - baseIdWithLeadingBit & - ((1 << numberOfOverflowBits) - 1) - ).toString(32); - baseIdWithLeadingBit >>= numberOfOverflowBits; - baseLength -= numberOfOverflowBits; - return { - id: - (1 << (32 - clz32(totalChildren) + baseLength)) | - (index << baseLength) | - baseIdWithLeadingBit, - overflow: length + baseContext - }; - } - return { - id: (1 << length) | (index << baseLength) | baseIdWithLeadingBit, - overflow: baseContext - }; -} -var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, - log = Math.log, - LN2 = Math.LN2; -function clz32Fallback(x) { - x >>>= 0; - return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0; -} -var SuspenseException = Error( - "Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`" -); -function noop$2() {} -function trackUsedThenable(thenableState, thenable, index) { - index = thenableState[index]; - void 0 === index - ? thenableState.push(thenable) - : index !== thenable && (thenable.then(noop$2, noop$2), (thenable = index)); - switch (thenable.status) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - default: - "string" === typeof thenable.status - ? thenable.then(noop$2, noop$2) - : ((thenableState = thenable), - (thenableState.status = "pending"), - thenableState.then( - function (fulfilledValue) { - if ("pending" === thenable.status) { - var fulfilledThenable = thenable; - fulfilledThenable.status = "fulfilled"; - fulfilledThenable.value = fulfilledValue; - } - }, - function (error) { - if ("pending" === thenable.status) { - var rejectedThenable = thenable; - rejectedThenable.status = "rejected"; - rejectedThenable.reason = error; - } - } - )); - switch (thenable.status) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - } - suspendedThenable = thenable; - throw SuspenseException; - } -} -var suspendedThenable = null; -function getSuspendedThenable() { - if (null === suspendedThenable) - throw Error( - "Expected a suspended thenable. This is a bug in React. Please file an issue." - ); - var thenable = suspendedThenable; - suspendedThenable = null; - return thenable; -} -function is(x, y) { - return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y); -} -var objectIs = "function" === typeof Object.is ? Object.is : is, - currentlyRenderingComponent = null, - currentlyRenderingTask = null, - currentlyRenderingRequest = null, - currentlyRenderingKeyPath = null, - firstWorkInProgressHook = null, - workInProgressHook = null, - isReRender = !1, - didScheduleRenderPhaseUpdate = !1, - localIdCounter = 0, - actionStateCounter = 0, - actionStateMatchingIndex = -1, - thenableIndexCounter = 0, - thenableState = null, - renderPhaseUpdates = null, - numberOfReRenders = 0; -function resolveCurrentlyRenderingComponent() { - if (null === currentlyRenderingComponent) - throw Error( - "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." - ); - return currentlyRenderingComponent; -} -function createHook() { - if (0 < numberOfReRenders) - throw Error("Rendered more hooks than during the previous render"); - return { memoizedState: null, queue: null, next: null }; -} -function createWorkInProgressHook() { - null === workInProgressHook - ? null === firstWorkInProgressHook - ? ((isReRender = !1), - (firstWorkInProgressHook = workInProgressHook = createHook())) - : ((isReRender = !0), (workInProgressHook = firstWorkInProgressHook)) - : null === workInProgressHook.next - ? ((isReRender = !1), - (workInProgressHook = workInProgressHook.next = createHook())) - : ((isReRender = !0), (workInProgressHook = workInProgressHook.next)); - return workInProgressHook; -} -function getThenableStateAfterSuspending() { - var state = thenableState; - thenableState = null; - return state; -} -function resetHooksState() { - currentlyRenderingKeyPath = - currentlyRenderingRequest = - currentlyRenderingTask = - currentlyRenderingComponent = - null; - didScheduleRenderPhaseUpdate = !1; - firstWorkInProgressHook = null; - numberOfReRenders = 0; - workInProgressHook = renderPhaseUpdates = null; -} -function basicStateReducer(state, action) { - return "function" === typeof action ? action(state) : action; -} -function useReducer(reducer, initialArg, init) { - currentlyRenderingComponent = resolveCurrentlyRenderingComponent(); - workInProgressHook = createWorkInProgressHook(); - if (isReRender) { - var queue = workInProgressHook.queue; - initialArg = queue.dispatch; - if ( - null !== renderPhaseUpdates && - ((init = renderPhaseUpdates.get(queue)), void 0 !== init) - ) { - renderPhaseUpdates.delete(queue); - queue = workInProgressHook.memoizedState; - do (queue = reducer(queue, init.action)), (init = init.next); - while (null !== init); - workInProgressHook.memoizedState = queue; - return [queue, initialArg]; - } - return [workInProgressHook.memoizedState, initialArg]; - } - reducer = - reducer === basicStateReducer - ? "function" === typeof initialArg - ? initialArg() - : initialArg - : void 0 !== init - ? init(initialArg) - : initialArg; - workInProgressHook.memoizedState = reducer; - reducer = workInProgressHook.queue = { last: null, dispatch: null }; - reducer = reducer.dispatch = dispatchAction.bind( - null, - currentlyRenderingComponent, - reducer - ); - return [workInProgressHook.memoizedState, reducer]; -} -function useMemo(nextCreate, deps) { - currentlyRenderingComponent = resolveCurrentlyRenderingComponent(); - workInProgressHook = createWorkInProgressHook(); - deps = void 0 === deps ? null : deps; - if (null !== workInProgressHook) { - var prevState = workInProgressHook.memoizedState; - if (null !== prevState && null !== deps) { - var prevDeps = prevState[1]; - a: if (null === prevDeps) prevDeps = !1; - else { - for (var i = 0; i < prevDeps.length && i < deps.length; i++) - if (!objectIs(deps[i], prevDeps[i])) { - prevDeps = !1; - break a; - } - prevDeps = !0; - } - if (prevDeps) return prevState[0]; - } - } - nextCreate = nextCreate(); - workInProgressHook.memoizedState = [nextCreate, deps]; - return nextCreate; -} -function dispatchAction(componentIdentity, queue, action) { - if (25 <= numberOfReRenders) - throw Error( - "Too many re-renders. React limits the number of renders to prevent an infinite loop." - ); - if (componentIdentity === currentlyRenderingComponent) - if ( - ((didScheduleRenderPhaseUpdate = !0), - (componentIdentity = { action: action, next: null }), - null === renderPhaseUpdates && (renderPhaseUpdates = new Map()), - (action = renderPhaseUpdates.get(queue)), - void 0 === action) - ) - renderPhaseUpdates.set(queue, componentIdentity); - else { - for (queue = action; null !== queue.next; ) queue = queue.next; - queue.next = componentIdentity; - } -} -function unsupportedStartTransition() { - throw Error("startTransition cannot be called during server rendering."); -} -function unsupportedSetOptimisticState() { - throw Error("Cannot update optimistic state while rendering."); -} -function useActionState(action, initialState, permalink) { - resolveCurrentlyRenderingComponent(); - var actionStateHookIndex = actionStateCounter++, - request = currentlyRenderingRequest; - if ("function" === typeof action.$$FORM_ACTION) { - var nextPostbackStateKey = null, - componentKeyPath = currentlyRenderingKeyPath; - request = request.formState; - var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL; - if (null !== request && "function" === typeof isSignatureEqual) { - var postbackKey = request[1]; - isSignatureEqual.call(action, request[2], request[3]) && - ((nextPostbackStateKey = - void 0 !== permalink - ? "p" + permalink - : "k" + - murmurhash3_32_gc( - JSON.stringify([componentKeyPath, null, actionStateHookIndex]), - 0 - )), - postbackKey === nextPostbackStateKey && - ((actionStateMatchingIndex = actionStateHookIndex), - (initialState = request[0]))); - } - var boundAction = action.bind(null, initialState); - action = function (payload) { - boundAction(payload); - }; - "function" === typeof boundAction.$$FORM_ACTION && - (action.$$FORM_ACTION = function (prefix) { - prefix = boundAction.$$FORM_ACTION(prefix); - void 0 !== permalink && - ((permalink += ""), (prefix.action = permalink)); - var formData = prefix.data; - formData && - (null === nextPostbackStateKey && - (nextPostbackStateKey = - void 0 !== permalink - ? "p" + permalink - : "k" + - murmurhash3_32_gc( - JSON.stringify([ - componentKeyPath, - null, - actionStateHookIndex - ]), - 0 - )), - formData.append("$ACTION_KEY", nextPostbackStateKey)); - return prefix; - }); - return [initialState, action, !1]; - } - var boundAction$22 = action.bind(null, initialState); - return [ - initialState, - function (payload) { - boundAction$22(payload); - }, - !1 - ]; -} -function unwrapThenable(thenable) { - var index = thenableIndexCounter; - thenableIndexCounter += 1; - null === thenableState && (thenableState = []); - return trackUsedThenable(thenableState, thenable, index); -} -function unsupportedRefresh() { - throw Error("Cache cannot be refreshed during server rendering."); -} -function noop$1() {} -var HooksDispatcher = { - readContext: function (context) { - return context._currentValue2; - }, - use: function (usable) { - if (null !== usable && "object" === typeof usable) { - if ("function" === typeof usable.then) return unwrapThenable(usable); - if (usable.$$typeof === REACT_CONTEXT_TYPE) return usable._currentValue2; - } - throw Error("An unsupported type was passed to use(): " + String(usable)); - }, - useContext: function (context) { - resolveCurrentlyRenderingComponent(); - return context._currentValue2; - }, - useMemo: useMemo, - useReducer: useReducer, - useRef: function (initialValue) { - currentlyRenderingComponent = resolveCurrentlyRenderingComponent(); - workInProgressHook = createWorkInProgressHook(); - var previousRef = workInProgressHook.memoizedState; - return null === previousRef - ? ((initialValue = { current: initialValue }), - (workInProgressHook.memoizedState = initialValue)) - : previousRef; - }, - useState: function (initialState) { - return useReducer(basicStateReducer, initialState); - }, - useInsertionEffect: noop$1, - useLayoutEffect: noop$1, - useCallback: function (callback, deps) { - return useMemo(function () { - return callback; - }, deps); - }, - useImperativeHandle: noop$1, - useEffect: noop$1, - useDebugValue: noop$1, - useDeferredValue: function (value, initialValue) { - resolveCurrentlyRenderingComponent(); - return void 0 !== initialValue ? initialValue : value; - }, - useTransition: function () { - resolveCurrentlyRenderingComponent(); - return [!1, unsupportedStartTransition]; - }, - useId: function () { - var JSCompiler_inline_result = currentlyRenderingTask.treeContext; - var overflow = JSCompiler_inline_result.overflow; - JSCompiler_inline_result = JSCompiler_inline_result.id; - JSCompiler_inline_result = - ( - JSCompiler_inline_result & - ~(1 << (32 - clz32(JSCompiler_inline_result) - 1)) - ).toString(32) + overflow; - var resumableState = currentResumableState; - if (null === resumableState) - throw Error( - "Invalid hook call. Hooks can only be called inside of the body of a function component." - ); - overflow = localIdCounter++; - JSCompiler_inline_result = - ":" + resumableState.idPrefix + "R" + JSCompiler_inline_result; - 0 < overflow && (JSCompiler_inline_result += "H" + overflow.toString(32)); - return JSCompiler_inline_result + ":"; - }, - useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) { - if (void 0 === getServerSnapshot) - throw Error( - "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering." - ); - return getServerSnapshot(); - }, - useCacheRefresh: function () { - return unsupportedRefresh; - }, - useMemoCache: function (size) { - for (var data = Array(size), i = 0; i < size; i++) - data[i] = REACT_MEMO_CACHE_SENTINEL; - return data; - }, - useHostTransitionStatus: function () { - resolveCurrentlyRenderingComponent(); - return sharedNotPendingObject; - }, - useOptimistic: function (passthrough) { - resolveCurrentlyRenderingComponent(); - return [passthrough, unsupportedSetOptimisticState]; - } -}; -HooksDispatcher.useFormState = useActionState; -HooksDispatcher.useActionState = useActionState; -var currentResumableState = null, - DefaultAsyncDispatcher = { - getCacheForType: function () { - throw Error("Not implemented."); - } - }, - prefix, - suffix; -function describeBuiltInComponentFrame(name) { - if (void 0 === prefix) - try { - throw Error(); - } catch (x) { - var match = x.stack.trim().match(/\n( *(at )?)/); - prefix = (match && match[1]) || ""; - suffix = - -1 < x.stack.indexOf("\n at") - ? " (<anonymous>)" - : -1 < x.stack.indexOf("@") - ? "@unknown:0:0" - : ""; - } - return "\n" + prefix + name + suffix; -} -var reentry = !1; -function describeNativeComponentFrame(fn, construct) { - if (!fn || reentry) return ""; - reentry = !0; - var previousPrepareStackTrace = Error.prepareStackTrace; - Error.prepareStackTrace = void 0; - try { - var RunInRootFrame = { - DetermineComponentFrameRoot: function () { - try { - if (construct) { - var Fake = function () { - throw Error(); - }; - Object.defineProperty(Fake.prototype, "props", { - set: function () { - throw Error(); - } - }); - if ("object" === typeof Reflect && Reflect.construct) { - try { - Reflect.construct(Fake, []); - } catch (x) { - var control = x; - } - Reflect.construct(fn, [], Fake); - } else { - try { - Fake.call(); - } catch (x$24) { - control = x$24; - } - fn.call(Fake.prototype); - } - } else { - try { - throw Error(); - } catch (x$25) { - control = x$25; - } - (Fake = fn()) && - "function" === typeof Fake.catch && - Fake.catch(function () {}); - } - } catch (sample) { - if (sample && control && "string" === typeof sample.stack) - return [sample.stack, control.stack]; - } - return [null, null]; - } - }; - RunInRootFrame.DetermineComponentFrameRoot.displayName = - "DetermineComponentFrameRoot"; - var namePropDescriptor = Object.getOwnPropertyDescriptor( - RunInRootFrame.DetermineComponentFrameRoot, - "name" - ); - namePropDescriptor && - namePropDescriptor.configurable && - Object.defineProperty( - RunInRootFrame.DetermineComponentFrameRoot, - "name", - { value: "DetermineComponentFrameRoot" } - ); - var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), - sampleStack = _RunInRootFrame$Deter[0], - controlStack = _RunInRootFrame$Deter[1]; - if (sampleStack && controlStack) { - var sampleLines = sampleStack.split("\n"), - controlLines = controlStack.split("\n"); - for ( - namePropDescriptor = RunInRootFrame = 0; - RunInRootFrame < sampleLines.length && - !sampleLines[RunInRootFrame].includes("DetermineComponentFrameRoot"); - - ) - RunInRootFrame++; - for ( - ; - namePropDescriptor < controlLines.length && - !controlLines[namePropDescriptor].includes( - "DetermineComponentFrameRoot" - ); - - ) - namePropDescriptor++; - if ( - RunInRootFrame === sampleLines.length || - namePropDescriptor === controlLines.length - ) - for ( - RunInRootFrame = sampleLines.length - 1, - namePropDescriptor = controlLines.length - 1; - 1 <= RunInRootFrame && - 0 <= namePropDescriptor && - sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]; - - ) - namePropDescriptor--; - for ( - ; - 1 <= RunInRootFrame && 0 <= namePropDescriptor; - RunInRootFrame--, namePropDescriptor-- - ) - if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) { - if (1 !== RunInRootFrame || 1 !== namePropDescriptor) { - do - if ( - (RunInRootFrame--, - namePropDescriptor--, - 0 > namePropDescriptor || - sampleLines[RunInRootFrame] !== - controlLines[namePropDescriptor]) - ) { - var frame = - "\n" + - sampleLines[RunInRootFrame].replace(" at new ", " at "); - fn.displayName && - frame.includes("<anonymous>") && - (frame = frame.replace("<anonymous>", fn.displayName)); - return frame; - } - while (1 <= RunInRootFrame && 0 <= namePropDescriptor); - } - break; - } - } - } finally { - (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace); - } - return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : "") - ? describeBuiltInComponentFrame(previousPrepareStackTrace) - : ""; -} -function describeComponentStackByType(type) { - if ("string" === typeof type) return describeBuiltInComponentFrame(type); - if ("function" === typeof type) - return type.prototype && type.prototype.isReactComponent - ? ((type = describeNativeComponentFrame(type, !0)), type) - : describeNativeComponentFrame(type, !1); - if ("object" === typeof type && null !== type) { - switch (type.$$typeof) { - case REACT_FORWARD_REF_TYPE: - return describeNativeComponentFrame(type.render, !1); - case REACT_MEMO_TYPE: - return describeNativeComponentFrame(type.type, !1); - case REACT_LAZY_TYPE: - var lazyComponent = type, - payload = lazyComponent._payload; - lazyComponent = lazyComponent._init; - try { - type = lazyComponent(payload); - } catch (x) { - return describeBuiltInComponentFrame("Lazy"); - } - return describeComponentStackByType(type); - } - if ("string" === typeof type.name) - return ( - (payload = type.env), - describeBuiltInComponentFrame( - type.name + (payload ? " [" + payload + "]" : "") - ) - ); - } - switch (type) { - case REACT_SUSPENSE_LIST_TYPE: - return describeBuiltInComponentFrame("SuspenseList"); - case REACT_SUSPENSE_TYPE: - return describeBuiltInComponentFrame("Suspense"); - } - return ""; -} -function defaultErrorHandler(error) { - if ( - "object" === typeof error && - null !== error && - "string" === typeof error.environmentName - ) { - var JSCompiler_inline_result = error.environmentName; - error = [error].slice(0); - "string" === typeof error[0] - ? error.splice( - 0, - 1, - "[%s] " + error[0], - " " + JSCompiler_inline_result + " " - ) - : error.splice(0, 0, "[%s] ", " " + JSCompiler_inline_result + " "); - error.unshift(console); - JSCompiler_inline_result = bind.apply(console.error, error); - JSCompiler_inline_result(); - } else console.error(error); - return null; -} -function noop() {} -function RequestInstance( - resumableState, - renderState, - rootFormatContext, - progressiveChunkSize, - onError, - onAllReady, - onShellReady, - onShellError, - onFatalError, - onPostpone, - formState -) { - var abortSet = new Set(); - this.destination = null; - this.flushScheduled = !1; - this.resumableState = resumableState; - this.renderState = renderState; - this.rootFormatContext = rootFormatContext; - this.progressiveChunkSize = - void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize; - this.status = 10; - this.fatalError = null; - this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0; - this.completedRootSegment = null; - this.abortableTasks = abortSet; - this.pingedTasks = []; - this.clientRenderedBoundaries = []; - this.completedBoundaries = []; - this.partialBoundaries = []; - this.trackedPostpones = null; - this.onError = void 0 === onError ? defaultErrorHandler : onError; - this.onPostpone = void 0 === onPostpone ? noop : onPostpone; - this.onAllReady = void 0 === onAllReady ? noop : onAllReady; - this.onShellReady = void 0 === onShellReady ? noop : onShellReady; - this.onShellError = void 0 === onShellError ? noop : onShellError; - this.onFatalError = void 0 === onFatalError ? noop : onFatalError; - this.formState = void 0 === formState ? null : formState; -} -function createRequest( - children, - resumableState, - renderState, - rootFormatContext, - progressiveChunkSize, - onError, - onAllReady, - onShellReady, - onShellError, - onFatalError, - onPostpone, - formState -) { - resumableState = new RequestInstance( - resumableState, - renderState, - rootFormatContext, - progressiveChunkSize, - onError, - onAllReady, - onShellReady, - onShellError, - onFatalError, - onPostpone, - formState - ); - renderState = createPendingSegment( - resumableState, - 0, - null, - rootFormatContext, - !1, - !1 - ); - renderState.parentFlushed = !0; - children = createRenderTask( - resumableState, - null, - children, - -1, - null, - renderState, - null, - resumableState.abortableTasks, - null, - rootFormatContext, - null, - emptyTreeContext, - null, - !1 - ); - pushComponentStack(children); - resumableState.pingedTasks.push(children); - return resumableState; -} -var currentRequest = null; -function pingTask(request, task) { - request.pingedTasks.push(task); - 1 === request.pingedTasks.length && - ((request.flushScheduled = null !== request.destination), - performWork(request)); -} -function createSuspenseBoundary(request, fallbackAbortableTasks) { - return { - status: 0, - rootSegmentID: -1, - parentFlushed: !1, - pendingTasks: 0, - completedSegments: [], - byteSize: 0, - fallbackAbortableTasks: fallbackAbortableTasks, - errorDigest: null, - contentState: createHoistableState(), - fallbackState: createHoistableState(), - trackedContentKeyPath: null, - trackedFallbackNode: null - }; -} -function createRenderTask( - request, - thenableState, - node, - childIndex, - blockedBoundary, - blockedSegment, - hoistableState, - abortSet, - keyPath, - formatContext, - context, - treeContext, - componentStack, - isFallback -) { - request.allPendingTasks++; - null === blockedBoundary - ? request.pendingRootTasks++ - : blockedBoundary.pendingTasks++; - var task = { - replay: null, - node: node, - childIndex: childIndex, - ping: function () { - return pingTask(request, task); - }, - blockedBoundary: blockedBoundary, - blockedSegment: blockedSegment, - hoistableState: hoistableState, - abortSet: abortSet, - keyPath: keyPath, - formatContext: formatContext, - context: context, - treeContext: treeContext, - componentStack: componentStack, - thenableState: thenableState, - isFallback: isFallback - }; - abortSet.add(task); - return task; -} -function createReplayTask( - request, - thenableState, - replay, - node, - childIndex, - blockedBoundary, - hoistableState, - abortSet, - keyPath, - formatContext, - context, - treeContext, - componentStack, - isFallback -) { - request.allPendingTasks++; - null === blockedBoundary - ? request.pendingRootTasks++ - : blockedBoundary.pendingTasks++; - replay.pendingTasks++; - var task = { - replay: replay, - node: node, - childIndex: childIndex, - ping: function () { - return pingTask(request, task); - }, - blockedBoundary: blockedBoundary, - blockedSegment: null, - hoistableState: hoistableState, - abortSet: abortSet, - keyPath: keyPath, - formatContext: formatContext, - context: context, - treeContext: treeContext, - componentStack: componentStack, - thenableState: thenableState, - isFallback: isFallback - }; - abortSet.add(task); - return task; -} -function createPendingSegment( - request, - index, - boundary, - parentFormatContext, - lastPushedText, - textEmbedded -) { - return { - status: 0, - id: -1, - index: index, - parentFlushed: !1, - chunks: [], - children: [], - parentFormatContext: parentFormatContext, - boundary: boundary, - lastPushedText: lastPushedText, - textEmbedded: textEmbedded - }; -} -function pushComponentStack(task) { - var node = task.node; - if ("object" === typeof node && null !== node) - switch (node.$$typeof) { - case REACT_ELEMENT_TYPE: - task.componentStack = { parent: task.componentStack, type: node.type }; - } -} -function getThrownInfo(node$jscomp$0) { - var errorInfo = {}; - node$jscomp$0 && - Object.defineProperty(errorInfo, "componentStack", { - configurable: !0, - enumerable: !0, - get: function () { - try { - var info = "", - node = node$jscomp$0; - do - (info += describeComponentStackByType(node.type)), - (node = node.parent); - while (node); - var JSCompiler_inline_result = info; - } catch (x) { - JSCompiler_inline_result = - "\nError generating stack: " + x.message + "\n" + x.stack; - } - Object.defineProperty(errorInfo, "componentStack", { - value: JSCompiler_inline_result - }); - return JSCompiler_inline_result; - } - }); - return errorInfo; -} -function logRecoverableError(request, error, errorInfo) { - request = request.onError; - error = request(error, errorInfo); - if (null == error || "string" === typeof error) return error; -} -function fatalError(request, error) { - var onShellError = request.onShellError, - onFatalError = request.onFatalError; - onShellError(error); - onFatalError(error); - null !== request.destination - ? ((request.status = 14), request.destination.destroy(error)) - : ((request.status = 13), (request.fatalError = error)); -} -function renderWithHooks(request, task, keyPath, Component, props, secondArg) { - var prevThenableState = task.thenableState; - task.thenableState = null; - currentlyRenderingComponent = {}; - currentlyRenderingTask = task; - currentlyRenderingRequest = request; - currentlyRenderingKeyPath = keyPath; - actionStateCounter = localIdCounter = 0; - actionStateMatchingIndex = -1; - thenableIndexCounter = 0; - thenableState = prevThenableState; - for (request = Component(props, secondArg); didScheduleRenderPhaseUpdate; ) - (didScheduleRenderPhaseUpdate = !1), - (actionStateCounter = localIdCounter = 0), - (actionStateMatchingIndex = -1), - (thenableIndexCounter = 0), - (numberOfReRenders += 1), - (workInProgressHook = null), - (request = Component(props, secondArg)); - resetHooksState(); - return request; -} -function finishFunctionComponent( - request, - task, - keyPath, - children, - hasId, - actionStateCount, - actionStateMatchingIndex -) { - var didEmitActionStateMarkers = !1; - if (0 !== actionStateCount && null !== request.formState) { - var segment = task.blockedSegment; - if (null !== segment) { - didEmitActionStateMarkers = !0; - segment = segment.chunks; - for (var i = 0; i < actionStateCount; i++) - i === actionStateMatchingIndex - ? segment.push("\x3c!--F!--\x3e") - : segment.push("\x3c!--F--\x3e"); - } - } - actionStateCount = task.keyPath; - task.keyPath = keyPath; - hasId - ? ((keyPath = task.treeContext), - (task.treeContext = pushTreeContext(keyPath, 1, 0)), - renderNode(request, task, children, -1), - (task.treeContext = keyPath)) - : didEmitActionStateMarkers - ? renderNode(request, task, children, -1) - : renderNodeDestructive(request, task, children, -1); - task.keyPath = actionStateCount; -} -function renderElement(request, task, keyPath, type, props, ref) { - if ("function" === typeof type) - if (type.prototype && type.prototype.isReactComponent) { - var newProps = props; - if ("ref" in props) { - newProps = {}; - for (var propName in props) - "ref" !== propName && (newProps[propName] = props[propName]); - } - var defaultProps = type.defaultProps; - if (defaultProps) { - newProps === props && (newProps = assign({}, newProps, props)); - for (var propName$33 in defaultProps) - void 0 === newProps[propName$33] && - (newProps[propName$33] = defaultProps[propName$33]); - } - props = newProps; - newProps = emptyContextObject; - defaultProps = type.contextType; - "object" === typeof defaultProps && - null !== defaultProps && - (newProps = defaultProps._currentValue2); - newProps = new type(props, newProps); - var initialState = void 0 !== newProps.state ? newProps.state : null; - newProps.updater = classComponentUpdater; - newProps.props = props; - newProps.state = initialState; - defaultProps = { queue: [], replace: !1 }; - newProps._reactInternals = defaultProps; - ref = type.contextType; - newProps.context = - "object" === typeof ref && null !== ref - ? ref._currentValue2 - : emptyContextObject; - ref = type.getDerivedStateFromProps; - "function" === typeof ref && - ((ref = ref(props, initialState)), - (initialState = - null === ref || void 0 === ref - ? initialState - : assign({}, initialState, ref)), - (newProps.state = initialState)); - if ( - "function" !== typeof type.getDerivedStateFromProps && - "function" !== typeof newProps.getSnapshotBeforeUpdate && - ("function" === typeof newProps.UNSAFE_componentWillMount || - "function" === typeof newProps.componentWillMount) - ) - if ( - ((type = newProps.state), - "function" === typeof newProps.componentWillMount && - newProps.componentWillMount(), - "function" === typeof newProps.UNSAFE_componentWillMount && - newProps.UNSAFE_componentWillMount(), - type !== newProps.state && - classComponentUpdater.enqueueReplaceState( - newProps, - newProps.state, - null - ), - null !== defaultProps.queue && 0 < defaultProps.queue.length) - ) - if ( - ((type = defaultProps.queue), - (ref = defaultProps.replace), - (defaultProps.queue = null), - (defaultProps.replace = !1), - ref && 1 === type.length) - ) - newProps.state = type[0]; - else { - defaultProps = ref ? type[0] : newProps.state; - initialState = !0; - for (ref = ref ? 1 : 0; ref < type.length; ref++) - (propName$33 = type[ref]), - (propName$33 = - "function" === typeof propName$33 - ? propName$33.call(newProps, defaultProps, props, void 0) - : propName$33), - null != propName$33 && - (initialState - ? ((initialState = !1), - (defaultProps = assign({}, defaultProps, propName$33))) - : assign(defaultProps, propName$33)); - newProps.state = defaultProps; - } - else defaultProps.queue = null; - type = newProps.render(); - if (12 === request.status) throw null; - props = task.keyPath; - task.keyPath = keyPath; - renderNodeDestructive(request, task, type, -1); - task.keyPath = props; - } else { - type = renderWithHooks(request, task, keyPath, type, props, void 0); - if (12 === request.status) throw null; - finishFunctionComponent( - request, - task, - keyPath, - type, - 0 !== localIdCounter, - actionStateCounter, - actionStateMatchingIndex - ); - } - else if ("string" === typeof type) - if (((newProps = task.blockedSegment), null === newProps)) - (newProps = props.children), - (defaultProps = task.formatContext), - (initialState = task.keyPath), - (task.formatContext = getChildFormatContext(defaultProps, type, props)), - (task.keyPath = keyPath), - renderNode(request, task, newProps, -1), - (task.formatContext = defaultProps), - (task.keyPath = initialState); - else { - initialState = pushStartInstance( - newProps.chunks, - type, - props, - request.resumableState, - request.renderState, - task.hoistableState, - task.formatContext, - newProps.lastPushedText, - task.isFallback - ); - newProps.lastPushedText = !1; - defaultProps = task.formatContext; - ref = task.keyPath; - task.formatContext = getChildFormatContext(defaultProps, type, props); - task.keyPath = keyPath; - renderNode(request, task, initialState, -1); - task.formatContext = defaultProps; - task.keyPath = ref; - a: { - task = newProps.chunks; - request = request.resumableState; - switch (type) { - case "title": - case "style": - case "script": - case "area": - case "base": - case "br": - case "col": - case "embed": - case "hr": - case "img": - case "input": - case "keygen": - case "link": - case "meta": - case "param": - case "source": - case "track": - case "wbr": - break a; - case "body": - if (1 >= defaultProps.insertionMode) { - request.hasBody = !0; - break a; - } - break; - case "html": - if (0 === defaultProps.insertionMode) { - request.hasHtml = !0; - break a; - } - } - task.push(endChunkForTag(type)); - } - newProps.lastPushedText = !1; - } - else { - switch (type) { - case REACT_LEGACY_HIDDEN_TYPE: - case REACT_DEBUG_TRACING_MODE_TYPE: - case REACT_STRICT_MODE_TYPE: - case REACT_PROFILER_TYPE: - case REACT_FRAGMENT_TYPE: - type = task.keyPath; - task.keyPath = keyPath; - renderNodeDestructive(request, task, props.children, -1); - task.keyPath = type; - return; - case REACT_OFFSCREEN_TYPE: - "hidden" !== props.mode && - ((type = task.keyPath), - (task.keyPath = keyPath), - renderNodeDestructive(request, task, props.children, -1), - (task.keyPath = type)); - return; - case REACT_SUSPENSE_LIST_TYPE: - type = task.keyPath; - task.keyPath = keyPath; - renderNodeDestructive(request, task, props.children, -1); - task.keyPath = type; - return; - case REACT_SCOPE_TYPE: - throw Error("ReactDOMServer does not yet support scope components."); - case REACT_SUSPENSE_TYPE: - a: if (null !== task.replay) { - type = task.keyPath; - task.keyPath = keyPath; - keyPath = props.children; - try { - renderNode(request, task, keyPath, -1); - } finally { - task.keyPath = type; - } - } else { - type = task.keyPath; - var parentBoundary = task.blockedBoundary, - parentHoistableState = task.hoistableState; - ref = task.blockedSegment; - propName$33 = props.fallback; - props = props.children; - var fallbackAbortSet = new Set(); - propName = createSuspenseBoundary(request, fallbackAbortSet); - null !== request.trackedPostpones && - (propName.trackedContentKeyPath = keyPath); - var boundarySegment = createPendingSegment( - request, - ref.chunks.length, - propName, - task.formatContext, - !1, - !1 - ); - ref.children.push(boundarySegment); - ref.lastPushedText = !1; - var contentRootSegment = createPendingSegment( - request, - 0, - null, - task.formatContext, - !1, - !1 - ); - contentRootSegment.parentFlushed = !0; - if (null !== request.trackedPostpones) { - newProps = [keyPath[0], "Suspense Fallback", keyPath[2]]; - defaultProps = [newProps[1], newProps[2], [], null]; - request.trackedPostpones.workingMap.set(newProps, defaultProps); - propName.trackedFallbackNode = defaultProps; - task.blockedSegment = boundarySegment; - task.keyPath = newProps; - boundarySegment.status = 6; - try { - renderNode(request, task, propName$33, -1), - pushSegmentFinale( - boundarySegment.chunks, - request.renderState, - boundarySegment.lastPushedText, - boundarySegment.textEmbedded - ), - (boundarySegment.status = 1); - } catch (thrownValue) { - throw ( - ((boundarySegment.status = 12 === request.status ? 3 : 4), - thrownValue) - ); - } finally { - (task.blockedSegment = ref), (task.keyPath = type); - } - task = createRenderTask( - request, - null, - props, - -1, - propName, - contentRootSegment, - propName.contentState, - task.abortSet, - keyPath, - task.formatContext, - task.context, - task.treeContext, - task.componentStack, - task.isFallback - ); - pushComponentStack(task); - request.pingedTasks.push(task); - } else { - task.blockedBoundary = propName; - task.hoistableState = propName.contentState; - task.blockedSegment = contentRootSegment; - task.keyPath = keyPath; - contentRootSegment.status = 6; - try { - if ( - (renderNode(request, task, props, -1), - pushSegmentFinale( - contentRootSegment.chunks, - request.renderState, - contentRootSegment.lastPushedText, - contentRootSegment.textEmbedded - ), - (contentRootSegment.status = 1), - queueCompletedSegment(propName, contentRootSegment), - 0 === propName.pendingTasks && 0 === propName.status) - ) { - propName.status = 1; - break a; - } - } catch (thrownValue$28) { - (propName.status = 4), - 12 === request.status - ? ((contentRootSegment.status = 3), - (newProps = request.fatalError)) - : ((contentRootSegment.status = 4), - (newProps = thrownValue$28)), - (defaultProps = getThrownInfo(task.componentStack)), - (initialState = logRecoverableError( - request, - newProps, - defaultProps - )), - (propName.errorDigest = initialState), - untrackBoundary(request, propName); - } finally { - (task.blockedBoundary = parentBoundary), - (task.hoistableState = parentHoistableState), - (task.blockedSegment = ref), - (task.keyPath = type); - } - task = createRenderTask( - request, - null, - propName$33, - -1, - parentBoundary, - boundarySegment, - propName.fallbackState, - fallbackAbortSet, - [keyPath[0], "Suspense Fallback", keyPath[2]], - task.formatContext, - task.context, - task.treeContext, - task.componentStack, - !0 - ); - pushComponentStack(task); - request.pingedTasks.push(task); - } - } - return; - } - if ("object" === typeof type && null !== type) - switch (type.$$typeof) { - case REACT_FORWARD_REF_TYPE: - if ("ref" in props) - for (boundarySegment in ((newProps = {}), props)) - "ref" !== boundarySegment && - (newProps[boundarySegment] = props[boundarySegment]); - else newProps = props; - type = renderWithHooks( - request, - task, - keyPath, - type.render, - newProps, - ref - ); - finishFunctionComponent( - request, - task, - keyPath, - type, - 0 !== localIdCounter, - actionStateCounter, - actionStateMatchingIndex - ); - return; - case REACT_MEMO_TYPE: - renderElement(request, task, keyPath, type.type, props, ref); - return; - case REACT_PROVIDER_TYPE: - case REACT_CONTEXT_TYPE: - defaultProps = props.children; - newProps = task.keyPath; - props = props.value; - initialState = type._currentValue2; - type._currentValue2 = props; - ref = currentActiveSnapshot; - currentActiveSnapshot = type = { - parent: ref, - depth: null === ref ? 0 : ref.depth + 1, - context: type, - parentValue: initialState, - value: props - }; - task.context = type; - task.keyPath = keyPath; - renderNodeDestructive(request, task, defaultProps, -1); - request = currentActiveSnapshot; - if (null === request) - throw Error( - "Tried to pop a Context at the root of the app. This is a bug in React." - ); - request.context._currentValue2 = request.parentValue; - request = currentActiveSnapshot = request.parent; - task.context = request; - task.keyPath = newProps; - return; - case REACT_CONSUMER_TYPE: - props = props.children; - type = props(type._context._currentValue2); - props = task.keyPath; - task.keyPath = keyPath; - renderNodeDestructive(request, task, type, -1); - task.keyPath = props; - return; - case REACT_LAZY_TYPE: - newProps = type._init; - type = newProps(type._payload); - if (12 === request.status) throw null; - renderElement(request, task, keyPath, type, props, ref); - return; - } - throw Error( - "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + - ((null == type ? type : typeof type) + ".") - ); - } -} -function resumeNode(request, task, segmentId, node, childIndex) { - var prevReplay = task.replay, - blockedBoundary = task.blockedBoundary, - resumedSegment = createPendingSegment( - request, - 0, - null, - task.formatContext, - !1, - !1 - ); - resumedSegment.id = segmentId; - resumedSegment.parentFlushed = !0; - try { - (task.replay = null), - (task.blockedSegment = resumedSegment), - renderNode(request, task, node, childIndex), - (resumedSegment.status = 1), - null === blockedBoundary - ? (request.completedRootSegment = resumedSegment) - : (queueCompletedSegment(blockedBoundary, resumedSegment), - blockedBoundary.parentFlushed && - request.partialBoundaries.push(blockedBoundary)); - } finally { - (task.replay = prevReplay), (task.blockedSegment = null); - } -} -function renderNodeDestructive(request, task, node, childIndex) { - null !== task.replay && "number" === typeof task.replay.slots - ? resumeNode(request, task, task.replay.slots, node, childIndex) - : ((task.node = node), - (task.childIndex = childIndex), - (node = task.componentStack), - pushComponentStack(task), - retryNode(request, task), - (task.componentStack = node)); -} -function retryNode(request, task) { - var node = task.node, - childIndex = task.childIndex; - if (null !== node) { - if ("object" === typeof node) { - switch (node.$$typeof) { - case REACT_ELEMENT_TYPE: - var type = node.type, - key = node.key, - props = node.props; - node = props.ref; - var ref = void 0 !== node ? node : null, - name = getComponentNameFromType(type), - keyOrIndex = - null == key ? (-1 === childIndex ? 0 : childIndex) : key; - key = [task.keyPath, name, keyOrIndex]; - if (null !== task.replay) - a: { - var replay = task.replay; - childIndex = replay.nodes; - for (node = 0; node < childIndex.length; node++) { - var node$jscomp$0 = childIndex[node]; - if (keyOrIndex === node$jscomp$0[1]) { - if (4 === node$jscomp$0.length) { - if (null !== name && name !== node$jscomp$0[0]) - throw Error( - "Expected the resume to render <" + - node$jscomp$0[0] + - "> in this slot but instead it rendered <" + - name + - ">. The tree doesn't match so React will fallback to client rendering." - ); - var childNodes = node$jscomp$0[2]; - name = node$jscomp$0[3]; - keyOrIndex = task.node; - task.replay = { - nodes: childNodes, - slots: name, - pendingTasks: 1 - }; - try { - renderElement(request, task, key, type, props, ref); - if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length - ) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - } catch (x) { - if ( - "object" === typeof x && - null !== x && - (x === SuspenseException || - "function" === typeof x.then) - ) - throw ( - (task.node === keyOrIndex && (task.replay = replay), - x) - ); - task.replay.pendingTasks--; - props = getThrownInfo(task.componentStack); - key = task.blockedBoundary; - type = x; - props = logRecoverableError(request, type, props); - abortRemainingReplayNodes( - request, - key, - childNodes, - name, - type, - props - ); - } - task.replay = replay; - } else { - if (type !== REACT_SUSPENSE_TYPE) - throw Error( - "Expected the resume to render <Suspense> in this slot but instead it rendered <" + - (getComponentNameFromType(type) || "Unknown") + - ">. The tree doesn't match so React will fallback to client rendering." - ); - b: { - replay = void 0; - type = node$jscomp$0[5]; - ref = node$jscomp$0[2]; - name = node$jscomp$0[3]; - keyOrIndex = - null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2]; - node$jscomp$0 = - null === node$jscomp$0[4] ? null : node$jscomp$0[4][3]; - var prevKeyPath = task.keyPath, - previousReplaySet = task.replay, - parentBoundary = task.blockedBoundary, - parentHoistableState = task.hoistableState, - content = props.children; - props = props.fallback; - var fallbackAbortSet = new Set(), - resumedBoundary = createSuspenseBoundary( - request, - fallbackAbortSet - ); - resumedBoundary.parentFlushed = !0; - resumedBoundary.rootSegmentID = type; - task.blockedBoundary = resumedBoundary; - task.hoistableState = resumedBoundary.contentState; - task.keyPath = key; - task.replay = { - nodes: ref, - slots: name, - pendingTasks: 1 - }; - try { - renderNode(request, task, content, -1); - if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length - ) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - if ( - 0 === resumedBoundary.pendingTasks && - 0 === resumedBoundary.status - ) { - resumedBoundary.status = 1; - request.completedBoundaries.push(resumedBoundary); - break b; - } - } catch (error) { - (resumedBoundary.status = 4), - (childNodes = getThrownInfo(task.componentStack)), - (replay = logRecoverableError( - request, - error, - childNodes - )), - (resumedBoundary.errorDigest = replay), - task.replay.pendingTasks--, - request.clientRenderedBoundaries.push( - resumedBoundary - ); - } finally { - (task.blockedBoundary = parentBoundary), - (task.hoistableState = parentHoistableState), - (task.replay = previousReplaySet), - (task.keyPath = prevKeyPath); - } - task = createReplayTask( - request, - null, - { - nodes: keyOrIndex, - slots: node$jscomp$0, - pendingTasks: 0 - }, - props, - -1, - parentBoundary, - resumedBoundary.fallbackState, - fallbackAbortSet, - [key[0], "Suspense Fallback", key[2]], - task.formatContext, - task.context, - task.treeContext, - task.componentStack, - !0 - ); - pushComponentStack(task); - request.pingedTasks.push(task); - } - } - childIndex.splice(node, 1); - break a; - } - } - } - else renderElement(request, task, key, type, props, ref); - return; - case REACT_PORTAL_TYPE: - throw Error( - "Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render." - ); - case REACT_LAZY_TYPE: - childNodes = node._init; - node = childNodes(node._payload); - if (12 === request.status) throw null; - renderNodeDestructive(request, task, node, childIndex); - return; - } - if (isArrayImpl(node)) { - renderChildrenArray(request, task, node, childIndex); - return; - } - null === node || "object" !== typeof node - ? (childNodes = null) - : ((childNodes = - (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) || - node["@@iterator"]), - (childNodes = "function" === typeof childNodes ? childNodes : null)); - if (childNodes && (childNodes = childNodes.call(node))) { - node = childNodes.next(); - if (!node.done) { - props = []; - do props.push(node.value), (node = childNodes.next()); - while (!node.done); - renderChildrenArray(request, task, props, childIndex); - } - return; - } - if ("function" === typeof node.then) - return ( - (task.thenableState = null), - renderNodeDestructive(request, task, unwrapThenable(node), childIndex) - ); - if (node.$$typeof === REACT_CONTEXT_TYPE) - return renderNodeDestructive( - request, - task, - node._currentValue2, - childIndex - ); - childIndex = Object.prototype.toString.call(node); - throw Error( - "Objects are not valid as a React child (found: " + - ("[object Object]" === childIndex - ? "object with keys {" + Object.keys(node).join(", ") + "}" - : childIndex) + - "). If you meant to render a collection of children, use an array instead." - ); - } - if ("string" === typeof node) - (childIndex = task.blockedSegment), - null !== childIndex && - (childIndex.lastPushedText = pushTextInstance( - childIndex.chunks, - node, - request.renderState, - childIndex.lastPushedText - )); - else if ("number" === typeof node || "bigint" === typeof node) - (childIndex = task.blockedSegment), - null !== childIndex && - (childIndex.lastPushedText = pushTextInstance( - childIndex.chunks, - "" + node, - request.renderState, - childIndex.lastPushedText - )); - } -} -function renderChildrenArray(request, task, children, childIndex) { - var prevKeyPath = task.keyPath; - if ( - -1 !== childIndex && - ((task.keyPath = [task.keyPath, "Fragment", childIndex]), - null !== task.replay) - ) { - for ( - var replay = task.replay, replayNodes = replay.nodes, j = 0; - j < replayNodes.length; - j++ - ) { - var node = replayNodes[j]; - if (node[1] === childIndex) { - childIndex = node[2]; - node = node[3]; - task.replay = { nodes: childIndex, slots: node, pendingTasks: 1 }; - try { - renderChildrenArray(request, task, children, -1); - if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - } catch (x) { - if ( - "object" === typeof x && - null !== x && - (x === SuspenseException || "function" === typeof x.then) - ) - throw x; - task.replay.pendingTasks--; - children = getThrownInfo(task.componentStack); - var boundary = task.blockedBoundary, - error = x; - children = logRecoverableError(request, error, children); - abortRemainingReplayNodes( - request, - boundary, - childIndex, - node, - error, - children - ); - } - task.replay = replay; - replayNodes.splice(j, 1); - break; - } - } - task.keyPath = prevKeyPath; - return; - } - replay = task.treeContext; - replayNodes = children.length; - if ( - null !== task.replay && - ((j = task.replay.slots), null !== j && "object" === typeof j) - ) { - for (childIndex = 0; childIndex < replayNodes; childIndex++) - (node = children[childIndex]), - (task.treeContext = pushTreeContext(replay, replayNodes, childIndex)), - (boundary = j[childIndex]), - "number" === typeof boundary - ? (resumeNode(request, task, boundary, node, childIndex), - delete j[childIndex]) - : renderNode(request, task, node, childIndex); - task.treeContext = replay; - task.keyPath = prevKeyPath; - return; - } - for (j = 0; j < replayNodes; j++) - (childIndex = children[j]), - (task.treeContext = pushTreeContext(replay, replayNodes, j)), - renderNode(request, task, childIndex, j); - task.treeContext = replay; - task.keyPath = prevKeyPath; -} -function untrackBoundary(request, boundary) { - request = request.trackedPostpones; - null !== request && - ((boundary = boundary.trackedContentKeyPath), - null !== boundary && - ((boundary = request.workingMap.get(boundary)), - void 0 !== boundary && - ((boundary.length = 4), (boundary[2] = []), (boundary[3] = null)))); -} -function spawnNewSuspendedReplayTask(request, task, thenableState) { - return createReplayTask( - request, - thenableState, - task.replay, - task.node, - task.childIndex, - task.blockedBoundary, - task.hoistableState, - task.abortSet, - task.keyPath, - task.formatContext, - task.context, - task.treeContext, - task.componentStack, - task.isFallback - ); -} -function spawnNewSuspendedRenderTask(request, task, thenableState) { - var segment = task.blockedSegment, - newSegment = createPendingSegment( - request, - segment.chunks.length, - null, - task.formatContext, - segment.lastPushedText, - !0 - ); - segment.children.push(newSegment); - segment.lastPushedText = !1; - return createRenderTask( - request, - thenableState, - task.node, - task.childIndex, - task.blockedBoundary, - newSegment, - task.hoistableState, - task.abortSet, - task.keyPath, - task.formatContext, - task.context, - task.treeContext, - task.componentStack, - task.isFallback - ); -} -function renderNode(request, task, node, childIndex) { - var previousFormatContext = task.formatContext, - previousContext = task.context, - previousKeyPath = task.keyPath, - previousTreeContext = task.treeContext, - previousComponentStack = task.componentStack, - segment = task.blockedSegment; - if (null === segment) - try { - return renderNodeDestructive(request, task, node, childIndex); - } catch (thrownValue) { - if ( - (resetHooksState(), - (node = - thrownValue === SuspenseException - ? getSuspendedThenable() - : thrownValue), - "object" === typeof node && null !== node) - ) { - if ("function" === typeof node.then) { - childIndex = getThenableStateAfterSuspending(); - request = spawnNewSuspendedReplayTask(request, task, childIndex).ping; - node.then(request, request); - task.formatContext = previousFormatContext; - task.context = previousContext; - task.keyPath = previousKeyPath; - task.treeContext = previousTreeContext; - task.componentStack = previousComponentStack; - switchContext(previousContext); - return; - } - if ("Maximum call stack size exceeded" === node.message) { - node = getThenableStateAfterSuspending(); - node = spawnNewSuspendedReplayTask(request, task, node); - request.pingedTasks.push(node); - task.formatContext = previousFormatContext; - task.context = previousContext; - task.keyPath = previousKeyPath; - task.treeContext = previousTreeContext; - task.componentStack = previousComponentStack; - switchContext(previousContext); - return; - } - } - } - else { - var childrenLength = segment.children.length, - chunkLength = segment.chunks.length; - try { - return renderNodeDestructive(request, task, node, childIndex); - } catch (thrownValue$48) { - if ( - (resetHooksState(), - (segment.children.length = childrenLength), - (segment.chunks.length = chunkLength), - (node = - thrownValue$48 === SuspenseException - ? getSuspendedThenable() - : thrownValue$48), - "object" === typeof node && null !== node) - ) { - if ("function" === typeof node.then) { - childIndex = getThenableStateAfterSuspending(); - request = spawnNewSuspendedRenderTask(request, task, childIndex).ping; - node.then(request, request); - task.formatContext = previousFormatContext; - task.context = previousContext; - task.keyPath = previousKeyPath; - task.treeContext = previousTreeContext; - task.componentStack = previousComponentStack; - switchContext(previousContext); - return; - } - if ("Maximum call stack size exceeded" === node.message) { - node = getThenableStateAfterSuspending(); - node = spawnNewSuspendedRenderTask(request, task, node); - request.pingedTasks.push(node); - task.formatContext = previousFormatContext; - task.context = previousContext; - task.keyPath = previousKeyPath; - task.treeContext = previousTreeContext; - task.componentStack = previousComponentStack; - switchContext(previousContext); - return; - } - } - } - } - task.formatContext = previousFormatContext; - task.context = previousContext; - task.keyPath = previousKeyPath; - task.treeContext = previousTreeContext; - switchContext(previousContext); - throw node; -} -function abortTaskSoft(task) { - var boundary = task.blockedBoundary; - task = task.blockedSegment; - null !== task && ((task.status = 3), finishedTask(this, boundary, task)); -} -function abortRemainingReplayNodes( - request$jscomp$0, - boundary, - nodes, - slots, - error, - errorDigest$jscomp$0 -) { - for (var i = 0; i < nodes.length; i++) { - var node = nodes[i]; - if (4 === node.length) - abortRemainingReplayNodes( - request$jscomp$0, - boundary, - node[2], - node[3], - error, - errorDigest$jscomp$0 - ); - else { - node = node[5]; - var request = request$jscomp$0, - errorDigest = errorDigest$jscomp$0, - resumedBoundary = createSuspenseBoundary(request, new Set()); - resumedBoundary.parentFlushed = !0; - resumedBoundary.rootSegmentID = node; - resumedBoundary.status = 4; - resumedBoundary.errorDigest = errorDigest; - resumedBoundary.parentFlushed && - request.clientRenderedBoundaries.push(resumedBoundary); - } - } - nodes.length = 0; - if (null !== slots) { - if (null === boundary) - throw Error( - "We should not have any resumable nodes in the shell. This is a bug in React." - ); - 4 !== boundary.status && - ((boundary.status = 4), - (boundary.errorDigest = errorDigest$jscomp$0), - boundary.parentFlushed && - request$jscomp$0.clientRenderedBoundaries.push(boundary)); - if ("object" === typeof slots) for (var index in slots) delete slots[index]; - } -} -function abortTask(task, request, error) { - var boundary = task.blockedBoundary, - segment = task.blockedSegment; - if (null !== segment) { - if (6 === segment.status) return; - segment.status = 3; - } - segment = getThrownInfo(task.componentStack); - if (null === boundary) { - if (13 !== request.status && 14 !== request.status) { - boundary = task.replay; - if (null === boundary) { - logRecoverableError(request, error, segment); - fatalError(request, error); - return; - } - boundary.pendingTasks--; - 0 === boundary.pendingTasks && - 0 < boundary.nodes.length && - ((task = logRecoverableError(request, error, segment)), - abortRemainingReplayNodes( - request, - null, - boundary.nodes, - boundary.slots, - error, - task - )); - request.pendingRootTasks--; - 0 === request.pendingRootTasks && completeShell(request); - } - } else - boundary.pendingTasks--, - 4 !== boundary.status && - ((boundary.status = 4), - (task = logRecoverableError(request, error, segment)), - (boundary.status = 4), - (boundary.errorDigest = task), - untrackBoundary(request, boundary), - boundary.parentFlushed && - request.clientRenderedBoundaries.push(boundary)), - boundary.fallbackAbortableTasks.forEach(function (fallbackTask) { - return abortTask(fallbackTask, request, error); - }), - boundary.fallbackAbortableTasks.clear(); - request.allPendingTasks--; - 0 === request.allPendingTasks && completeAll(request); -} -function safelyEmitEarlyPreloads(request, shellComplete) { - try { - var renderState = request.renderState, - onHeaders = renderState.onHeaders; - if (onHeaders) { - var headers = renderState.headers; - if (headers) { - renderState.headers = null; - var linkHeader = headers.preconnects; - headers.fontPreloads && - (linkHeader && (linkHeader += ", "), - (linkHeader += headers.fontPreloads)); - headers.highImagePreloads && - (linkHeader && (linkHeader += ", "), - (linkHeader += headers.highImagePreloads)); - if (!shellComplete) { - var queueIter = renderState.styles.values(), - queueStep = queueIter.next(); - b: for ( - ; - 0 < headers.remainingCapacity && !queueStep.done; - queueStep = queueIter.next() - ) - for ( - var sheetIter = queueStep.value.sheets.values(), - sheetStep = sheetIter.next(); - 0 < headers.remainingCapacity && !sheetStep.done; - sheetStep = sheetIter.next() - ) { - var sheet = sheetStep.value, - props = sheet.props, - key = props.href, - props$jscomp$0 = sheet.props, - header = getPreloadAsHeader(props$jscomp$0.href, "style", { - crossOrigin: props$jscomp$0.crossOrigin, - integrity: props$jscomp$0.integrity, - nonce: props$jscomp$0.nonce, - type: props$jscomp$0.type, - fetchPriority: props$jscomp$0.fetchPriority, - referrerPolicy: props$jscomp$0.referrerPolicy, - media: props$jscomp$0.media - }); - if (0 <= (headers.remainingCapacity -= header.length + 2)) - (renderState.resets.style[key] = PRELOAD_NO_CREDS), - linkHeader && (linkHeader += ", "), - (linkHeader += header), - (renderState.resets.style[key] = - "string" === typeof props.crossOrigin || - "string" === typeof props.integrity - ? [props.crossOrigin, props.integrity] - : PRELOAD_NO_CREDS); - else break b; - } - } - linkHeader ? onHeaders({ Link: linkHeader }) : onHeaders({}); - } - } - } catch (error) { - logRecoverableError(request, error, {}); - } -} -function completeShell(request) { - null === request.trackedPostpones && safelyEmitEarlyPreloads(request, !0); - request.onShellError = noop; - request = request.onShellReady; - request(); -} -function completeAll(request) { - safelyEmitEarlyPreloads( - request, - null === request.trackedPostpones - ? !0 - : null === request.completedRootSegment || - 5 !== request.completedRootSegment.status - ); - request = request.onAllReady; - request(); -} -function queueCompletedSegment(boundary, segment) { - if ( - 0 === segment.chunks.length && - 1 === segment.children.length && - null === segment.children[0].boundary && - -1 === segment.children[0].id - ) { - var childSegment = segment.children[0]; - childSegment.id = segment.id; - childSegment.parentFlushed = !0; - 1 === childSegment.status && queueCompletedSegment(boundary, childSegment); - } else boundary.completedSegments.push(segment); -} -function finishedTask(request, boundary, segment) { - if (null === boundary) { - if (null !== segment && segment.parentFlushed) { - if (null !== request.completedRootSegment) - throw Error( - "There can only be one root segment. This is a bug in React." - ); - request.completedRootSegment = segment; - } - request.pendingRootTasks--; - 0 === request.pendingRootTasks && completeShell(request); - } else - boundary.pendingTasks--, - 4 !== boundary.status && - (0 === boundary.pendingTasks - ? (0 === boundary.status && (boundary.status = 1), - null !== segment && - segment.parentFlushed && - 1 === segment.status && - queueCompletedSegment(boundary, segment), - boundary.parentFlushed && - request.completedBoundaries.push(boundary), - 1 === boundary.status && - (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request), - boundary.fallbackAbortableTasks.clear())) - : null !== segment && - segment.parentFlushed && - 1 === segment.status && - (queueCompletedSegment(boundary, segment), - 1 === boundary.completedSegments.length && - boundary.parentFlushed && - request.partialBoundaries.push(boundary))); - request.allPendingTasks--; - 0 === request.allPendingTasks && completeAll(request); -} -function performWork(request$jscomp$2) { - if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) { - var prevContext = currentActiveSnapshot, - prevDispatcher = ReactSharedInternals.H; - ReactSharedInternals.H = HooksDispatcher; - var prevAsyncDispatcher = ReactSharedInternals.A; - ReactSharedInternals.A = DefaultAsyncDispatcher; - var prevRequest = currentRequest; - currentRequest = request$jscomp$2; - var prevResumableState = currentResumableState; - currentResumableState = request$jscomp$2.resumableState; - try { - var pingedTasks = request$jscomp$2.pingedTasks, - i; - for (i = 0; i < pingedTasks.length; i++) { - var task = pingedTasks[i], - request = request$jscomp$2, - segment = task.blockedSegment; - if (null === segment) { - var request$jscomp$0 = request; - if (0 !== task.replay.pendingTasks) { - switchContext(task.context); - try { - "number" === typeof task.replay.slots - ? resumeNode( - request$jscomp$0, - task, - task.replay.slots, - task.node, - task.childIndex - ) - : retryNode(request$jscomp$0, task); - if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length - ) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - task.abortSet.delete(task); - finishedTask(request$jscomp$0, task.blockedBoundary, null); - } catch (thrownValue) { - resetHooksState(); - var x = - thrownValue === SuspenseException - ? getSuspendedThenable() - : thrownValue; - if ( - "object" === typeof x && - null !== x && - "function" === typeof x.then - ) { - var ping = task.ping; - x.then(ping, ping); - task.thenableState = getThenableStateAfterSuspending(); - } else { - task.replay.pendingTasks--; - task.abortSet.delete(task); - var errorInfo = getThrownInfo(task.componentStack); - request = void 0; - var request$jscomp$1 = request$jscomp$0, - boundary = task.blockedBoundary, - error$jscomp$0 = - 12 === request$jscomp$0.status - ? request$jscomp$0.fatalError - : x, - replayNodes = task.replay.nodes, - resumeSlots = task.replay.slots; - request = logRecoverableError( - request$jscomp$1, - error$jscomp$0, - errorInfo - ); - abortRemainingReplayNodes( - request$jscomp$1, - boundary, - replayNodes, - resumeSlots, - error$jscomp$0, - request - ); - request$jscomp$0.pendingRootTasks--; - 0 === request$jscomp$0.pendingRootTasks && - completeShell(request$jscomp$0); - request$jscomp$0.allPendingTasks--; - 0 === request$jscomp$0.allPendingTasks && - completeAll(request$jscomp$0); - } - } finally { - } - } - } else if ( - ((request$jscomp$0 = void 0), - (request$jscomp$1 = segment), - 0 === request$jscomp$1.status) - ) { - request$jscomp$1.status = 6; - switchContext(task.context); - var childrenLength = request$jscomp$1.children.length, - chunkLength = request$jscomp$1.chunks.length; - try { - retryNode(request, task), - pushSegmentFinale( - request$jscomp$1.chunks, - request.renderState, - request$jscomp$1.lastPushedText, - request$jscomp$1.textEmbedded - ), - task.abortSet.delete(task), - (request$jscomp$1.status = 1), - finishedTask(request, task.blockedBoundary, request$jscomp$1); - } catch (thrownValue) { - resetHooksState(); - request$jscomp$1.children.length = childrenLength; - request$jscomp$1.chunks.length = chunkLength; - var x$jscomp$0 = - thrownValue === SuspenseException - ? getSuspendedThenable() - : 12 === request.status - ? request.fatalError - : thrownValue; - if ( - "object" === typeof x$jscomp$0 && - null !== x$jscomp$0 && - "function" === typeof x$jscomp$0.then - ) { - request$jscomp$1.status = 0; - task.thenableState = getThenableStateAfterSuspending(); - var ping$jscomp$0 = task.ping; - x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0); - } else { - var errorInfo$jscomp$0 = getThrownInfo(task.componentStack); - task.abortSet.delete(task); - request$jscomp$1.status = 4; - var boundary$jscomp$0 = task.blockedBoundary; - request$jscomp$0 = logRecoverableError( - request, - x$jscomp$0, - errorInfo$jscomp$0 - ); - null === boundary$jscomp$0 - ? fatalError(request, x$jscomp$0) - : (boundary$jscomp$0.pendingTasks--, - 4 !== boundary$jscomp$0.status && - ((boundary$jscomp$0.status = 4), - (boundary$jscomp$0.errorDigest = request$jscomp$0), - untrackBoundary(request, boundary$jscomp$0), - boundary$jscomp$0.parentFlushed && - request.clientRenderedBoundaries.push( - boundary$jscomp$0 - ))); - request.allPendingTasks--; - 0 === request.allPendingTasks && completeAll(request); - } - } finally { - } - } - } - pingedTasks.splice(0, i); - null !== request$jscomp$2.destination && - flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination); - } catch (error) { - logRecoverableError(request$jscomp$2, error, {}), - fatalError(request$jscomp$2, error); - } finally { - (currentResumableState = prevResumableState), - (ReactSharedInternals.H = prevDispatcher), - (ReactSharedInternals.A = prevAsyncDispatcher), - prevDispatcher === HooksDispatcher && switchContext(prevContext), - (currentRequest = prevRequest); - } - } -} -function flushSubtree(request, destination, segment, hoistableState) { - segment.parentFlushed = !0; - switch (segment.status) { - case 0: - segment.id = request.nextSegmentId++; - case 5: - return ( - (hoistableState = segment.id), - (segment.lastPushedText = !1), - (segment.textEmbedded = !1), - (request = request.renderState), - destination.push('<template id="'), - destination.push(request.placeholderPrefix), - (request = hoistableState.toString(16)), - destination.push(request), - destination.push('"></template>') - ); - case 1: - segment.status = 2; - var r = !0, - chunks = segment.chunks, - chunkIdx = 0; - segment = segment.children; - for (var childIdx = 0; childIdx < segment.length; childIdx++) { - for (r = segment[childIdx]; chunkIdx < r.index; chunkIdx++) - destination.push(chunks[chunkIdx]); - r = flushSegment(request, destination, r, hoistableState); - } - for (; chunkIdx < chunks.length - 1; chunkIdx++) - destination.push(chunks[chunkIdx]); - chunkIdx < chunks.length && (r = destination.push(chunks[chunkIdx])); - return r; - default: - throw Error( - "Aborted, errored or already flushed boundaries should not be flushed again. This is a bug in React." - ); - } -} -function flushSegment(request, destination, segment, hoistableState) { - var boundary = segment.boundary; - if (null === boundary) - return flushSubtree(request, destination, segment, hoistableState); - boundary.parentFlushed = !0; - if (4 === boundary.status) - return ( - request.renderState.generateStaticMarkup || - ((boundary = boundary.errorDigest), - destination.push("\x3c!--$!--\x3e"), - destination.push("<template"), - boundary && - (destination.push(' data-dgst="'), - (boundary = escapeTextForBrowser(boundary)), - destination.push(boundary), - destination.push('"')), - destination.push("></template>")), - flushSubtree(request, destination, segment, hoistableState), - (request = request.renderState.generateStaticMarkup - ? !0 - : destination.push("\x3c!--/$--\x3e")), - request - ); - if (1 !== boundary.status) - return ( - 0 === boundary.status && - (boundary.rootSegmentID = request.nextSegmentId++), - 0 < boundary.completedSegments.length && - request.partialBoundaries.push(boundary), - writeStartPendingSuspenseBoundary( - destination, - request.renderState, - boundary.rootSegmentID - ), - hoistableState && - ((boundary = boundary.fallbackState), - boundary.styles.forEach(hoistStyleQueueDependency, hoistableState), - boundary.stylesheets.forEach( - hoistStylesheetDependency, - hoistableState - )), - flushSubtree(request, destination, segment, hoistableState), - destination.push("\x3c!--/$--\x3e") - ); - if (boundary.byteSize > request.progressiveChunkSize) - return ( - (boundary.rootSegmentID = request.nextSegmentId++), - request.completedBoundaries.push(boundary), - writeStartPendingSuspenseBoundary( - destination, - request.renderState, - boundary.rootSegmentID - ), - flushSubtree(request, destination, segment, hoistableState), - destination.push("\x3c!--/$--\x3e") - ); - hoistableState && - ((segment = boundary.contentState), - segment.styles.forEach(hoistStyleQueueDependency, hoistableState), - segment.stylesheets.forEach(hoistStylesheetDependency, hoistableState)); - request.renderState.generateStaticMarkup || - destination.push("\x3c!--$--\x3e"); - segment = boundary.completedSegments; - if (1 !== segment.length) - throw Error( - "A previously unvisited boundary must have exactly one root segment. This is a bug in React." - ); - flushSegment(request, destination, segment[0], hoistableState); - request = request.renderState.generateStaticMarkup - ? !0 - : destination.push("\x3c!--/$--\x3e"); - return request; -} -function flushSegmentContainer(request, destination, segment, hoistableState) { - writeStartSegment( - destination, - request.renderState, - segment.parentFormatContext, - segment.id - ); - flushSegment(request, destination, segment, hoistableState); - return writeEndSegment(destination, segment.parentFormatContext); -} -function flushCompletedBoundary(request, destination, boundary) { - for ( - var completedSegments = boundary.completedSegments, i = 0; - i < completedSegments.length; - i++ - ) - flushPartiallyCompletedSegment( - request, - destination, - boundary, - completedSegments[i] - ); - completedSegments.length = 0; - writeHoistablesForBoundary( - destination, - boundary.contentState, - request.renderState - ); - completedSegments = request.resumableState; - request = request.renderState; - i = boundary.rootSegmentID; - boundary = boundary.contentState; - var requiresStyleInsertion = request.stylesToHoist; - request.stylesToHoist = !1; - destination.push(request.startInlineScript); - requiresStyleInsertion - ? 0 === (completedSegments.instructions & 2) - ? ((completedSegments.instructions |= 10), - destination.push( - '$RC=function(b,c,e){c=document.getElementById(c);c.parentNode.removeChild(c);var a=document.getElementById(b);if(a){b=a.previousSibling;if(e)b.data="$!",a.setAttribute("data-dgst",e);else{e=b.parentNode;a=b.nextSibling;var f=0;do{if(a&&8===a.nodeType){var d=a.data;if("/$"===d)if(0===f)break;else f--;else"$"!==d&&"$?"!==d&&"$!"!==d||f++}d=a.nextSibling;e.removeChild(a);a=d}while(a);for(;c.firstChild;)e.insertBefore(c.firstChild,a);b.data="$"}b._reactRetry&&b._reactRetry()}};$RM=new Map;\n$RR=function(t,u,y){function v(n){this._p=null;n()}for(var w=$RC,p=$RM,q=new Map,r=document,g,b,h=r.querySelectorAll("link[data-precedence],style[data-precedence]"),x=[],k=0;b=h[k++];)"not all"===b.getAttribute("media")?x.push(b):("LINK"===b.tagName&&p.set(b.getAttribute("href"),b),q.set(b.dataset.precedence,g=b));b=0;h=[];var l,a;for(k=!0;;){if(k){var e=y[b++];if(!e){k=!1;b=0;continue}var c=!1,m=0;var d=e[m++];if(a=p.get(d)){var f=a._p;c=!0}else{a=r.createElement("link");a.href=\nd;a.rel="stylesheet";for(a.dataset.precedence=l=e[m++];f=e[m++];)a.setAttribute(f,e[m++]);f=a._p=new Promise(function(n,z){a.onload=v.bind(a,n);a.onerror=v.bind(a,z)});p.set(d,a)}d=a.getAttribute("media");!f||d&&!matchMedia(d).matches||h.push(f);if(c)continue}else{a=x[b++];if(!a)break;l=a.getAttribute("data-precedence");a.removeAttribute("media")}c=q.get(l)||g;c===g&&(g=a);q.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=r.head,c.insertBefore(a,c.firstChild))}Promise.all(h).then(w.bind(null,\nt,u,""),w.bind(null,t,u,"Resource failed to load"))};$RR("' - )) - : 0 === (completedSegments.instructions & 8) - ? ((completedSegments.instructions |= 8), - destination.push( - '$RM=new Map;\n$RR=function(t,u,y){function v(n){this._p=null;n()}for(var w=$RC,p=$RM,q=new Map,r=document,g,b,h=r.querySelectorAll("link[data-precedence],style[data-precedence]"),x=[],k=0;b=h[k++];)"not all"===b.getAttribute("media")?x.push(b):("LINK"===b.tagName&&p.set(b.getAttribute("href"),b),q.set(b.dataset.precedence,g=b));b=0;h=[];var l,a;for(k=!0;;){if(k){var e=y[b++];if(!e){k=!1;b=0;continue}var c=!1,m=0;var d=e[m++];if(a=p.get(d)){var f=a._p;c=!0}else{a=r.createElement("link");a.href=\nd;a.rel="stylesheet";for(a.dataset.precedence=l=e[m++];f=e[m++];)a.setAttribute(f,e[m++]);f=a._p=new Promise(function(n,z){a.onload=v.bind(a,n);a.onerror=v.bind(a,z)});p.set(d,a)}d=a.getAttribute("media");!f||d&&!matchMedia(d).matches||h.push(f);if(c)continue}else{a=x[b++];if(!a)break;l=a.getAttribute("data-precedence");a.removeAttribute("media")}c=q.get(l)||g;c===g&&(g=a);q.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=r.head,c.insertBefore(a,c.firstChild))}Promise.all(h).then(w.bind(null,\nt,u,""),w.bind(null,t,u,"Resource failed to load"))};$RR("' - )) - : destination.push('$RR("') - : 0 === (completedSegments.instructions & 2) - ? ((completedSegments.instructions |= 2), - destination.push( - '$RC=function(b,c,e){c=document.getElementById(c);c.parentNode.removeChild(c);var a=document.getElementById(b);if(a){b=a.previousSibling;if(e)b.data="$!",a.setAttribute("data-dgst",e);else{e=b.parentNode;a=b.nextSibling;var f=0;do{if(a&&8===a.nodeType){var d=a.data;if("/$"===d)if(0===f)break;else f--;else"$"!==d&&"$?"!==d&&"$!"!==d||f++}d=a.nextSibling;e.removeChild(a);a=d}while(a);for(;c.firstChild;)e.insertBefore(c.firstChild,a);b.data="$"}b._reactRetry&&b._reactRetry()}};$RC("' - )) - : destination.push('$RC("'); - completedSegments = i.toString(16); - destination.push(request.boundaryPrefix); - destination.push(completedSegments); - destination.push('","'); - destination.push(request.segmentPrefix); - destination.push(completedSegments); - requiresStyleInsertion - ? (destination.push('",'), - writeStyleResourceDependenciesInJS(destination, boundary)) - : destination.push('"'); - boundary = destination.push(")\x3c/script>"); - return writeBootstrap(destination, request) && boundary; -} -function flushPartiallyCompletedSegment( - request, - destination, - boundary, - segment -) { - if (2 === segment.status) return !0; - var hoistableState = boundary.contentState, - segmentID = segment.id; - if (-1 === segmentID) { - if (-1 === (segment.id = boundary.rootSegmentID)) - throw Error( - "A root segment ID must have been assigned by now. This is a bug in React." - ); - return flushSegmentContainer(request, destination, segment, hoistableState); - } - if (segmentID === boundary.rootSegmentID) - return flushSegmentContainer(request, destination, segment, hoistableState); - flushSegmentContainer(request, destination, segment, hoistableState); - boundary = request.resumableState; - request = request.renderState; - destination.push(request.startInlineScript); - 0 === (boundary.instructions & 1) - ? ((boundary.instructions |= 1), - destination.push( - '$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("' - )) - : destination.push('$RS("'); - destination.push(request.segmentPrefix); - segmentID = segmentID.toString(16); - destination.push(segmentID); - destination.push('","'); - destination.push(request.placeholderPrefix); - destination.push(segmentID); - destination = destination.push('")\x3c/script>'); - return destination; -} -function flushCompletedQueues(request, destination) { - try { - if (!(0 < request.pendingRootTasks)) { - var i, - completedRootSegment = request.completedRootSegment; - if (null !== completedRootSegment) { - if (5 === completedRootSegment.status) return; - var renderState = request.renderState, - htmlChunks = renderState.htmlChunks, - headChunks = renderState.headChunks, - i$jscomp$0; - if (htmlChunks) { - for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++) - destination.push(htmlChunks[i$jscomp$0]); - if (headChunks) - for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++) - destination.push(headChunks[i$jscomp$0]); - else { - var chunk = startChunkForTag("head"); - destination.push(chunk); - destination.push(">"); - } - } else if (headChunks) - for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++) - destination.push(headChunks[i$jscomp$0]); - var charsetChunks = renderState.charsetChunks; - for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++) - destination.push(charsetChunks[i$jscomp$0]); - charsetChunks.length = 0; - renderState.preconnects.forEach(flushResource, destination); - renderState.preconnects.clear(); - var viewportChunks = renderState.viewportChunks; - for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++) - destination.push(viewportChunks[i$jscomp$0]); - viewportChunks.length = 0; - renderState.fontPreloads.forEach(flushResource, destination); - renderState.fontPreloads.clear(); - renderState.highImagePreloads.forEach(flushResource, destination); - renderState.highImagePreloads.clear(); - renderState.styles.forEach(flushStylesInPreamble, destination); - var importMapChunks = renderState.importMapChunks; - for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++) - destination.push(importMapChunks[i$jscomp$0]); - importMapChunks.length = 0; - renderState.bootstrapScripts.forEach(flushResource, destination); - renderState.scripts.forEach(flushResource, destination); - renderState.scripts.clear(); - renderState.bulkPreloads.forEach(flushResource, destination); - renderState.bulkPreloads.clear(); - var hoistableChunks = renderState.hoistableChunks; - for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++) - destination.push(hoistableChunks[i$jscomp$0]); - hoistableChunks.length = 0; - if (htmlChunks && null === headChunks) { - var chunk$jscomp$0 = endChunkForTag("head"); - destination.push(chunk$jscomp$0); - } - flushSegment(request, destination, completedRootSegment, null); - request.completedRootSegment = null; - writeBootstrap(destination, request.renderState); - } - var renderState$jscomp$0 = request.renderState; - completedRootSegment = 0; - var viewportChunks$jscomp$0 = renderState$jscomp$0.viewportChunks; - for ( - completedRootSegment = 0; - completedRootSegment < viewportChunks$jscomp$0.length; - completedRootSegment++ - ) - destination.push(viewportChunks$jscomp$0[completedRootSegment]); - viewportChunks$jscomp$0.length = 0; - renderState$jscomp$0.preconnects.forEach(flushResource, destination); - renderState$jscomp$0.preconnects.clear(); - renderState$jscomp$0.fontPreloads.forEach(flushResource, destination); - renderState$jscomp$0.fontPreloads.clear(); - renderState$jscomp$0.highImagePreloads.forEach( - flushResource, - destination - ); - renderState$jscomp$0.highImagePreloads.clear(); - renderState$jscomp$0.styles.forEach(preloadLateStyles, destination); - renderState$jscomp$0.scripts.forEach(flushResource, destination); - renderState$jscomp$0.scripts.clear(); - renderState$jscomp$0.bulkPreloads.forEach(flushResource, destination); - renderState$jscomp$0.bulkPreloads.clear(); - var hoistableChunks$jscomp$0 = renderState$jscomp$0.hoistableChunks; - for ( - completedRootSegment = 0; - completedRootSegment < hoistableChunks$jscomp$0.length; - completedRootSegment++ - ) - destination.push(hoistableChunks$jscomp$0[completedRootSegment]); - hoistableChunks$jscomp$0.length = 0; - var clientRenderedBoundaries = request.clientRenderedBoundaries; - for (i = 0; i < clientRenderedBoundaries.length; i++) { - var boundary = clientRenderedBoundaries[i]; - renderState$jscomp$0 = destination; - var resumableState = request.resumableState, - renderState$jscomp$1 = request.renderState, - id = boundary.rootSegmentID, - errorDigest = boundary.errorDigest; - renderState$jscomp$0.push(renderState$jscomp$1.startInlineScript); - 0 === (resumableState.instructions & 4) - ? ((resumableState.instructions |= 4), - renderState$jscomp$0.push( - '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX("' - )) - : renderState$jscomp$0.push('$RX("'); - renderState$jscomp$0.push(renderState$jscomp$1.boundaryPrefix); - var chunk$jscomp$1 = id.toString(16); - renderState$jscomp$0.push(chunk$jscomp$1); - renderState$jscomp$0.push('"'); - if (errorDigest) { - renderState$jscomp$0.push(","); - var chunk$jscomp$2 = escapeJSStringsForInstructionScripts( - errorDigest || "" - ); - renderState$jscomp$0.push(chunk$jscomp$2); - } - var JSCompiler_inline_result = - renderState$jscomp$0.push(")\x3c/script>"); - if (!JSCompiler_inline_result) { - request.destination = null; - i++; - clientRenderedBoundaries.splice(0, i); - return; - } - } - clientRenderedBoundaries.splice(0, i); - var completedBoundaries = request.completedBoundaries; - for (i = 0; i < completedBoundaries.length; i++) - if ( - !flushCompletedBoundary(request, destination, completedBoundaries[i]) - ) { - request.destination = null; - i++; - completedBoundaries.splice(0, i); - return; - } - completedBoundaries.splice(0, i); - var partialBoundaries = request.partialBoundaries; - for (i = 0; i < partialBoundaries.length; i++) { - var boundary$51 = partialBoundaries[i]; - a: { - clientRenderedBoundaries = request; - boundary = destination; - var completedSegments = boundary$51.completedSegments; - for ( - JSCompiler_inline_result = 0; - JSCompiler_inline_result < completedSegments.length; - JSCompiler_inline_result++ - ) - if ( - !flushPartiallyCompletedSegment( - clientRenderedBoundaries, - boundary, - boundary$51, - completedSegments[JSCompiler_inline_result] - ) - ) { - JSCompiler_inline_result++; - completedSegments.splice(0, JSCompiler_inline_result); - var JSCompiler_inline_result$jscomp$0 = !1; - break a; - } - completedSegments.splice(0, JSCompiler_inline_result); - JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary( - boundary, - boundary$51.contentState, - clientRenderedBoundaries.renderState - ); - } - if (!JSCompiler_inline_result$jscomp$0) { - request.destination = null; - i++; - partialBoundaries.splice(0, i); - return; - } - } - partialBoundaries.splice(0, i); - var largeBoundaries = request.completedBoundaries; - for (i = 0; i < largeBoundaries.length; i++) - if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) { - request.destination = null; - i++; - largeBoundaries.splice(0, i); - return; - } - largeBoundaries.splice(0, i); - } - } finally { - 0 === request.allPendingTasks && - 0 === request.pingedTasks.length && - 0 === request.clientRenderedBoundaries.length && - 0 === request.completedBoundaries.length && - ((request.flushScheduled = !1), - (i = request.resumableState), - i.hasBody && - ((partialBoundaries = endChunkForTag("body")), - destination.push(partialBoundaries)), - i.hasHtml && ((i = endChunkForTag("html")), destination.push(i)), - (request.status = 14), - destination.push(null), - (request.destination = null)); - } -} -function enqueueFlush(request) { - if ( - !1 === request.flushScheduled && - 0 === request.pingedTasks.length && - null !== request.destination - ) { - request.flushScheduled = !0; - var destination = request.destination; - destination - ? flushCompletedQueues(request, destination) - : (request.flushScheduled = !1); - } -} -function startFlowing(request, destination) { - if (13 === request.status) - (request.status = 14), destination.destroy(request.fatalError); - else if (14 !== request.status && null === request.destination) { - request.destination = destination; - try { - flushCompletedQueues(request, destination); - } catch (error) { - logRecoverableError(request, error, {}), fatalError(request, error); - } - } -} -function abort(request, reason) { - if (11 === request.status || 10 === request.status) request.status = 12; - try { - var abortableTasks = request.abortableTasks; - if (0 < abortableTasks.size) { - var error = - void 0 === reason - ? Error("The render was aborted by the server without a reason.") - : "object" === typeof reason && - null !== reason && - "function" === typeof reason.then - ? Error("The render was aborted by the server with a promise.") - : reason; - request.fatalError = error; - abortableTasks.forEach(function (task) { - return abortTask(task, request, error); - }); - abortableTasks.clear(); - } - null !== request.destination && - flushCompletedQueues(request, request.destination); - } catch (error$53) { - logRecoverableError(request, error$53, {}), fatalError(request, error$53); - } -} -function onError() {} -function renderToStringImpl( - children, - options, - generateStaticMarkup, - abortReason -) { - var didFatal = !1, - fatalError = null, - result = "", - readyToStream = !1; - options = createResumableState(options ? options.identifierPrefix : void 0); - children = createRequest( - children, - options, - createRenderState(options, generateStaticMarkup), - createFormatContext(0, null, 0), - Infinity, - onError, - void 0, - function () { - readyToStream = !0; - }, - void 0, - void 0, - void 0 - ); - children.flushScheduled = null !== children.destination; - performWork(children); - 10 === children.status && (children.status = 11); - null === children.trackedPostpones && - safelyEmitEarlyPreloads(children, 0 === children.pendingRootTasks); - abort(children, abortReason); - startFlowing(children, { - push: function (chunk) { - null !== chunk && (result += chunk); - return !0; - }, - destroy: function (error) { - didFatal = !0; - fatalError = error; - } - }); - if (didFatal && fatalError !== abortReason) throw fatalError; - if (!readyToStream) - throw Error( - "A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition." - ); - return result; -} -exports.renderToStaticMarkup = function (children, options) { - return renderToStringImpl( - children, - options, - !0, - 'The server used "renderToStaticMarkup" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server' - ); -}; -exports.renderToString = function (children, options) { - return renderToStringImpl( - children, - options, - !1, - 'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server' - ); -}; -exports.version = "19.0.0"; - - -/***/ }), - -/***/ 3839: -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -/** - * @license React - * react-dom-server.node.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - -var util = __webpack_require__(9023), - crypto = __webpack_require__(6982), - async_hooks = __webpack_require__(290), - React = __webpack_require__(6540), - ReactDOM = __webpack_require__(961), - stream = __webpack_require__(2203), - REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_PROVIDER_TYPE = Symbol.for("react.provider"), - REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), - REACT_CONTEXT_TYPE = Symbol.for("react.context"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - REACT_SCOPE_TYPE = Symbol.for("react.scope"), - REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for("react.debug_trace_mode"), - REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"), - REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"), - REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"), - MAYBE_ITERATOR_SYMBOL = Symbol.iterator, - isArrayImpl = Array.isArray, - scheduleMicrotask = queueMicrotask; -function flushBuffered(destination) { - "function" === typeof destination.flush && destination.flush(); -} -var currentView = null, - writtenBytes = 0, - destinationHasCapacity$1 = !0; -function writeChunk(destination, chunk) { - if ("string" === typeof chunk) { - if (0 !== chunk.length) - if (2048 < 3 * chunk.length) - 0 < writtenBytes && - (writeToDestination( - destination, - currentView.subarray(0, writtenBytes) - ), - (currentView = new Uint8Array(2048)), - (writtenBytes = 0)), - writeToDestination(destination, chunk); - else { - var target = currentView; - 0 < writtenBytes && (target = currentView.subarray(writtenBytes)); - target = textEncoder.encodeInto(chunk, target); - var read = target.read; - writtenBytes += target.written; - read < chunk.length && - (writeToDestination( - destination, - currentView.subarray(0, writtenBytes) - ), - (currentView = new Uint8Array(2048)), - (writtenBytes = textEncoder.encodeInto( - chunk.slice(read), - currentView - ).written)); - 2048 === writtenBytes && - (writeToDestination(destination, currentView), - (currentView = new Uint8Array(2048)), - (writtenBytes = 0)); - } - } else - 0 !== chunk.byteLength && - (2048 < chunk.byteLength - ? (0 < writtenBytes && - (writeToDestination( - destination, - currentView.subarray(0, writtenBytes) - ), - (currentView = new Uint8Array(2048)), - (writtenBytes = 0)), - writeToDestination(destination, chunk)) - : ((target = currentView.length - writtenBytes), - target < chunk.byteLength && - (0 === target - ? writeToDestination(destination, currentView) - : (currentView.set(chunk.subarray(0, target), writtenBytes), - (writtenBytes += target), - writeToDestination(destination, currentView), - (chunk = chunk.subarray(target))), - (currentView = new Uint8Array(2048)), - (writtenBytes = 0)), - currentView.set(chunk, writtenBytes), - (writtenBytes += chunk.byteLength), - 2048 === writtenBytes && - (writeToDestination(destination, currentView), - (currentView = new Uint8Array(2048)), - (writtenBytes = 0)))); -} -function writeToDestination(destination, view) { - destination = destination.write(view); - destinationHasCapacity$1 = destinationHasCapacity$1 && destination; -} -function writeChunkAndReturn(destination, chunk) { - writeChunk(destination, chunk); - return destinationHasCapacity$1; -} -function completeWriting(destination) { - currentView && - 0 < writtenBytes && - destination.write(currentView.subarray(0, writtenBytes)); - currentView = null; - writtenBytes = 0; - destinationHasCapacity$1 = !0; -} -var textEncoder = new util.TextEncoder(); -function stringToPrecomputedChunk(content) { - return textEncoder.encode(content); -} -var assign = Object.assign, - hasOwnProperty = Object.prototype.hasOwnProperty, - VALID_ATTRIBUTE_NAME_REGEX = RegExp( - "^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" - ), - illegalAttributeNameCache = {}, - validatedAttributeNameCache = {}; -function isAttributeNameSafe(attributeName) { - if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) - return !0; - if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1; - if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) - return (validatedAttributeNameCache[attributeName] = !0); - illegalAttributeNameCache[attributeName] = !0; - return !1; -} -var unitlessNumbers = new Set( - "animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split( - " " - ) - ), - aliases = new Map([ - ["acceptCharset", "accept-charset"], - ["htmlFor", "for"], - ["httpEquiv", "http-equiv"], - ["crossOrigin", "crossorigin"], - ["accentHeight", "accent-height"], - ["alignmentBaseline", "alignment-baseline"], - ["arabicForm", "arabic-form"], - ["baselineShift", "baseline-shift"], - ["capHeight", "cap-height"], - ["clipPath", "clip-path"], - ["clipRule", "clip-rule"], - ["colorInterpolation", "color-interpolation"], - ["colorInterpolationFilters", "color-interpolation-filters"], - ["colorProfile", "color-profile"], - ["colorRendering", "color-rendering"], - ["dominantBaseline", "dominant-baseline"], - ["enableBackground", "enable-background"], - ["fillOpacity", "fill-opacity"], - ["fillRule", "fill-rule"], - ["floodColor", "flood-color"], - ["floodOpacity", "flood-opacity"], - ["fontFamily", "font-family"], - ["fontSize", "font-size"], - ["fontSizeAdjust", "font-size-adjust"], - ["fontStretch", "font-stretch"], - ["fontStyle", "font-style"], - ["fontVariant", "font-variant"], - ["fontWeight", "font-weight"], - ["glyphName", "glyph-name"], - ["glyphOrientationHorizontal", "glyph-orientation-horizontal"], - ["glyphOrientationVertical", "glyph-orientation-vertical"], - ["horizAdvX", "horiz-adv-x"], - ["horizOriginX", "horiz-origin-x"], - ["imageRendering", "image-rendering"], - ["letterSpacing", "letter-spacing"], - ["lightingColor", "lighting-color"], - ["markerEnd", "marker-end"], - ["markerMid", "marker-mid"], - ["markerStart", "marker-start"], - ["overlinePosition", "overline-position"], - ["overlineThickness", "overline-thickness"], - ["paintOrder", "paint-order"], - ["panose-1", "panose-1"], - ["pointerEvents", "pointer-events"], - ["renderingIntent", "rendering-intent"], - ["shapeRendering", "shape-rendering"], - ["stopColor", "stop-color"], - ["stopOpacity", "stop-opacity"], - ["strikethroughPosition", "strikethrough-position"], - ["strikethroughThickness", "strikethrough-thickness"], - ["strokeDasharray", "stroke-dasharray"], - ["strokeDashoffset", "stroke-dashoffset"], - ["strokeLinecap", "stroke-linecap"], - ["strokeLinejoin", "stroke-linejoin"], - ["strokeMiterlimit", "stroke-miterlimit"], - ["strokeOpacity", "stroke-opacity"], - ["strokeWidth", "stroke-width"], - ["textAnchor", "text-anchor"], - ["textDecoration", "text-decoration"], - ["textRendering", "text-rendering"], - ["transformOrigin", "transform-origin"], - ["underlinePosition", "underline-position"], - ["underlineThickness", "underline-thickness"], - ["unicodeBidi", "unicode-bidi"], - ["unicodeRange", "unicode-range"], - ["unitsPerEm", "units-per-em"], - ["vAlphabetic", "v-alphabetic"], - ["vHanging", "v-hanging"], - ["vIdeographic", "v-ideographic"], - ["vMathematical", "v-mathematical"], - ["vectorEffect", "vector-effect"], - ["vertAdvY", "vert-adv-y"], - ["vertOriginX", "vert-origin-x"], - ["vertOriginY", "vert-origin-y"], - ["wordSpacing", "word-spacing"], - ["writingMode", "writing-mode"], - ["xmlnsXlink", "xmlns:xlink"], - ["xHeight", "x-height"] - ]), - matchHtmlRegExp = /["'&<>]/; -function escapeTextForBrowser(text) { - if ( - "boolean" === typeof text || - "number" === typeof text || - "bigint" === typeof text - ) - return "" + text; - text = "" + text; - var match = matchHtmlRegExp.exec(text); - if (match) { - var html = "", - index, - lastIndex = 0; - for (index = match.index; index < text.length; index++) { - switch (text.charCodeAt(index)) { - case 34: - match = """; - break; - case 38: - match = "&"; - break; - case 39: - match = "'"; - break; - case 60: - match = "<"; - break; - case 62: - match = ">"; - break; - default: - continue; - } - lastIndex !== index && (html += text.slice(lastIndex, index)); - lastIndex = index + 1; - html += match; - } - text = lastIndex !== index ? html + text.slice(lastIndex, index) : html; - } - return text; -} -var uppercasePattern = /([A-Z])/g, - msPattern = /^ms-/, - isJavaScriptProtocol = - /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i; -function sanitizeURL(url) { - return isJavaScriptProtocol.test("" + url) - ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" - : url; -} -var ReactSharedInternals = - React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, - ReactDOMSharedInternals = - ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, - sharedNotPendingObject = { - pending: !1, - data: null, - method: null, - action: null - }, - previousDispatcher = ReactDOMSharedInternals.d; -ReactDOMSharedInternals.d = { - f: previousDispatcher.f, - r: previousDispatcher.r, - D: prefetchDNS, - C: preconnect, - L: preload, - m: preloadModule, - X: preinitScript, - S: preinitStyle, - M: preinitModuleScript -}; -var PRELOAD_NO_CREDS = []; -stringToPrecomputedChunk('"></template>'); -var startInlineScript = stringToPrecomputedChunk("<script>"), - endInlineScript = stringToPrecomputedChunk("\x3c/script>"), - startScriptSrc = stringToPrecomputedChunk('<script src="'), - startModuleSrc = stringToPrecomputedChunk('<script type="module" src="'), - scriptNonce = stringToPrecomputedChunk('" nonce="'), - scriptIntegirty = stringToPrecomputedChunk('" integrity="'), - scriptCrossOrigin = stringToPrecomputedChunk('" crossorigin="'), - endAsyncScript = stringToPrecomputedChunk('" async="">\x3c/script>'), - scriptRegex = /(<\/|<)(s)(cript)/gi; -function scriptReplacer(match, prefix, s, suffix) { - return "" + prefix + ("s" === s ? "\\u0073" : "\\u0053") + suffix; -} -var importMapScriptStart = stringToPrecomputedChunk( - '<script type="importmap">' - ), - importMapScriptEnd = stringToPrecomputedChunk("\x3c/script>"); -function createRenderState( - resumableState, - nonce, - externalRuntimeConfig, - importMap, - onHeaders, - maxHeadersLength -) { - var inlineScriptWithNonce = - void 0 === nonce - ? startInlineScript - : stringToPrecomputedChunk( - '<script nonce="' + escapeTextForBrowser(nonce) + '">' - ), - idPrefix = resumableState.idPrefix; - externalRuntimeConfig = []; - var bootstrapScriptContent = resumableState.bootstrapScriptContent, - bootstrapScripts = resumableState.bootstrapScripts, - bootstrapModules = resumableState.bootstrapModules; - void 0 !== bootstrapScriptContent && - externalRuntimeConfig.push( - inlineScriptWithNonce, - ("" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer), - endInlineScript - ); - bootstrapScriptContent = []; - void 0 !== importMap && - (bootstrapScriptContent.push(importMapScriptStart), - bootstrapScriptContent.push( - ("" + JSON.stringify(importMap)).replace(scriptRegex, scriptReplacer) - ), - bootstrapScriptContent.push(importMapScriptEnd)); - importMap = onHeaders - ? { - preconnects: "", - fontPreloads: "", - highImagePreloads: "", - remainingCapacity: - 2 + ("number" === typeof maxHeadersLength ? maxHeadersLength : 2e3) - } - : null; - onHeaders = { - placeholderPrefix: stringToPrecomputedChunk(idPrefix + "P:"), - segmentPrefix: stringToPrecomputedChunk(idPrefix + "S:"), - boundaryPrefix: stringToPrecomputedChunk(idPrefix + "B:"), - startInlineScript: inlineScriptWithNonce, - htmlChunks: null, - headChunks: null, - externalRuntimeScript: null, - bootstrapChunks: externalRuntimeConfig, - importMapChunks: bootstrapScriptContent, - onHeaders: onHeaders, - headers: importMap, - resets: { - font: {}, - dns: {}, - connect: { default: {}, anonymous: {}, credentials: {} }, - image: {}, - style: {} - }, - charsetChunks: [], - viewportChunks: [], - hoistableChunks: [], - preconnects: new Set(), - fontPreloads: new Set(), - highImagePreloads: new Set(), - styles: new Map(), - bootstrapScripts: new Set(), - scripts: new Set(), - bulkPreloads: new Set(), - preloads: { - images: new Map(), - stylesheets: new Map(), - scripts: new Map(), - moduleScripts: new Map() - }, - nonce: nonce, - hoistableState: null, - stylesToHoist: !1 - }; - if (void 0 !== bootstrapScripts) - for (importMap = 0; importMap < bootstrapScripts.length; importMap++) { - var scriptConfig = bootstrapScripts[importMap]; - idPrefix = inlineScriptWithNonce = void 0; - bootstrapScriptContent = { - rel: "preload", - as: "script", - fetchPriority: "low", - nonce: nonce - }; - "string" === typeof scriptConfig - ? (bootstrapScriptContent.href = maxHeadersLength = scriptConfig) - : ((bootstrapScriptContent.href = maxHeadersLength = scriptConfig.src), - (bootstrapScriptContent.integrity = idPrefix = - "string" === typeof scriptConfig.integrity - ? scriptConfig.integrity - : void 0), - (bootstrapScriptContent.crossOrigin = inlineScriptWithNonce = - "string" === typeof scriptConfig || null == scriptConfig.crossOrigin - ? void 0 - : "use-credentials" === scriptConfig.crossOrigin - ? "use-credentials" - : "")); - scriptConfig = resumableState; - var href = maxHeadersLength; - scriptConfig.scriptResources[href] = null; - scriptConfig.moduleScriptResources[href] = null; - scriptConfig = []; - pushLinkImpl(scriptConfig, bootstrapScriptContent); - onHeaders.bootstrapScripts.add(scriptConfig); - externalRuntimeConfig.push( - startScriptSrc, - escapeTextForBrowser(maxHeadersLength) - ); - nonce && - externalRuntimeConfig.push(scriptNonce, escapeTextForBrowser(nonce)); - "string" === typeof idPrefix && - externalRuntimeConfig.push( - scriptIntegirty, - escapeTextForBrowser(idPrefix) - ); - "string" === typeof inlineScriptWithNonce && - externalRuntimeConfig.push( - scriptCrossOrigin, - escapeTextForBrowser(inlineScriptWithNonce) - ); - externalRuntimeConfig.push(endAsyncScript); - } - if (void 0 !== bootstrapModules) - for ( - bootstrapScripts = 0; - bootstrapScripts < bootstrapModules.length; - bootstrapScripts++ - ) - (bootstrapScriptContent = bootstrapModules[bootstrapScripts]), - (inlineScriptWithNonce = maxHeadersLength = void 0), - (idPrefix = { - rel: "modulepreload", - fetchPriority: "low", - nonce: nonce - }), - "string" === typeof bootstrapScriptContent - ? (idPrefix.href = importMap = bootstrapScriptContent) - : ((idPrefix.href = importMap = bootstrapScriptContent.src), - (idPrefix.integrity = inlineScriptWithNonce = - "string" === typeof bootstrapScriptContent.integrity - ? bootstrapScriptContent.integrity - : void 0), - (idPrefix.crossOrigin = maxHeadersLength = - "string" === typeof bootstrapScriptContent || - null == bootstrapScriptContent.crossOrigin - ? void 0 - : "use-credentials" === bootstrapScriptContent.crossOrigin - ? "use-credentials" - : "")), - (bootstrapScriptContent = resumableState), - (scriptConfig = importMap), - (bootstrapScriptContent.scriptResources[scriptConfig] = null), - (bootstrapScriptContent.moduleScriptResources[scriptConfig] = null), - (bootstrapScriptContent = []), - pushLinkImpl(bootstrapScriptContent, idPrefix), - onHeaders.bootstrapScripts.add(bootstrapScriptContent), - externalRuntimeConfig.push( - startModuleSrc, - escapeTextForBrowser(importMap) - ), - nonce && - externalRuntimeConfig.push(scriptNonce, escapeTextForBrowser(nonce)), - "string" === typeof inlineScriptWithNonce && - externalRuntimeConfig.push( - scriptIntegirty, - escapeTextForBrowser(inlineScriptWithNonce) - ), - "string" === typeof maxHeadersLength && - externalRuntimeConfig.push( - scriptCrossOrigin, - escapeTextForBrowser(maxHeadersLength) - ), - externalRuntimeConfig.push(endAsyncScript); - return onHeaders; -} -function createResumableState( - identifierPrefix, - externalRuntimeConfig, - bootstrapScriptContent, - bootstrapScripts, - bootstrapModules -) { - return { - idPrefix: void 0 === identifierPrefix ? "" : identifierPrefix, - nextFormID: 0, - streamingFormat: 0, - bootstrapScriptContent: bootstrapScriptContent, - bootstrapScripts: bootstrapScripts, - bootstrapModules: bootstrapModules, - instructions: 0, - hasBody: !1, - hasHtml: !1, - unknownResources: {}, - dnsResources: {}, - connectResources: { default: {}, anonymous: {}, credentials: {} }, - imageResources: {}, - styleResources: {}, - scriptResources: {}, - moduleUnknownResources: {}, - moduleScriptResources: {} - }; -} -function createFormatContext(insertionMode, selectedValue, tagScope) { - return { - insertionMode: insertionMode, - selectedValue: selectedValue, - tagScope: tagScope - }; -} -function createRootFormatContext(namespaceURI) { - return createFormatContext( - "http://www.w3.org/2000/svg" === namespaceURI - ? 3 - : "http://www.w3.org/1998/Math/MathML" === namespaceURI - ? 4 - : 0, - null, - 0 - ); -} -function getChildFormatContext(parentContext, type, props) { - switch (type) { - case "noscript": - return createFormatContext(2, null, parentContext.tagScope | 1); - case "select": - return createFormatContext( - 2, - null != props.value ? props.value : props.defaultValue, - parentContext.tagScope - ); - case "svg": - return createFormatContext(3, null, parentContext.tagScope); - case "picture": - return createFormatContext(2, null, parentContext.tagScope | 2); - case "math": - return createFormatContext(4, null, parentContext.tagScope); - case "foreignObject": - return createFormatContext(2, null, parentContext.tagScope); - case "table": - return createFormatContext(5, null, parentContext.tagScope); - case "thead": - case "tbody": - case "tfoot": - return createFormatContext(6, null, parentContext.tagScope); - case "colgroup": - return createFormatContext(8, null, parentContext.tagScope); - case "tr": - return createFormatContext(7, null, parentContext.tagScope); - } - return 5 <= parentContext.insertionMode - ? createFormatContext(2, null, parentContext.tagScope) - : 0 === parentContext.insertionMode - ? "html" === type - ? createFormatContext(1, null, parentContext.tagScope) - : createFormatContext(2, null, parentContext.tagScope) - : 1 === parentContext.insertionMode - ? createFormatContext(2, null, parentContext.tagScope) - : parentContext; -} -var textSeparator = stringToPrecomputedChunk("\x3c!-- --\x3e"); -function pushTextInstance(target, text, renderState, textEmbedded) { - if ("" === text) return textEmbedded; - textEmbedded && target.push(textSeparator); - target.push(escapeTextForBrowser(text)); - return !0; -} -var styleNameCache = new Map(), - styleAttributeStart = stringToPrecomputedChunk(' style="'), - styleAssign = stringToPrecomputedChunk(":"), - styleSeparator = stringToPrecomputedChunk(";"); -function pushStyleAttribute(target, style) { - if ("object" !== typeof style) - throw Error( - "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." - ); - var isFirst = !0, - styleName; - for (styleName in style) - if (hasOwnProperty.call(style, styleName)) { - var styleValue = style[styleName]; - if ( - null != styleValue && - "boolean" !== typeof styleValue && - "" !== styleValue - ) { - if (0 === styleName.indexOf("--")) { - var nameChunk = escapeTextForBrowser(styleName); - styleValue = escapeTextForBrowser(("" + styleValue).trim()); - } else - (nameChunk = styleNameCache.get(styleName)), - void 0 === nameChunk && - ((nameChunk = stringToPrecomputedChunk( - escapeTextForBrowser( - styleName - .replace(uppercasePattern, "-$1") - .toLowerCase() - .replace(msPattern, "-ms-") - ) - )), - styleNameCache.set(styleName, nameChunk)), - (styleValue = - "number" === typeof styleValue - ? 0 === styleValue || unitlessNumbers.has(styleName) - ? "" + styleValue - : styleValue + "px" - : escapeTextForBrowser(("" + styleValue).trim())); - isFirst - ? ((isFirst = !1), - target.push( - styleAttributeStart, - nameChunk, - styleAssign, - styleValue - )) - : target.push(styleSeparator, nameChunk, styleAssign, styleValue); - } - } - isFirst || target.push(attributeEnd); -} -var attributeSeparator = stringToPrecomputedChunk(" "), - attributeAssign = stringToPrecomputedChunk('="'), - attributeEnd = stringToPrecomputedChunk('"'), - attributeEmptyString = stringToPrecomputedChunk('=""'); -function pushBooleanAttribute(target, name, value) { - value && - "function" !== typeof value && - "symbol" !== typeof value && - target.push(attributeSeparator, name, attributeEmptyString); -} -function pushStringAttribute(target, name, value) { - "function" !== typeof value && - "symbol" !== typeof value && - "boolean" !== typeof value && - target.push( - attributeSeparator, - name, - attributeAssign, - escapeTextForBrowser(value), - attributeEnd - ); -} -var actionJavaScriptURL = stringToPrecomputedChunk( - escapeTextForBrowser( - "javascript:throw new Error('React form unexpectedly submitted.')" - ) - ), - startHiddenInputChunk = stringToPrecomputedChunk('<input type="hidden"'); -function pushAdditionalFormField(value, key) { - this.push(startHiddenInputChunk); - validateAdditionalFormField(value); - pushStringAttribute(this, "name", key); - pushStringAttribute(this, "value", value); - this.push(endOfStartTagSelfClosing); -} -function validateAdditionalFormField(value) { - if ("string" !== typeof value) - throw Error( - "File/Blob fields are not yet supported in progressive forms. Will fallback to client hydration." - ); -} -function getCustomFormFields(resumableState, formAction) { - if ("function" === typeof formAction.$$FORM_ACTION) { - var id = resumableState.nextFormID++; - resumableState = resumableState.idPrefix + id; - try { - var customFields = formAction.$$FORM_ACTION(resumableState); - if (customFields) { - var formData = customFields.data; - null != formData && formData.forEach(validateAdditionalFormField); - } - return customFields; - } catch (x) { - if ("object" === typeof x && null !== x && "function" === typeof x.then) - throw x; - } - } - return null; -} -function pushFormActionAttribute( - target, - resumableState, - renderState, - formAction, - formEncType, - formMethod, - formTarget, - name -) { - var formData = null; - if ("function" === typeof formAction) { - var customFields = getCustomFormFields(resumableState, formAction); - null !== customFields - ? ((name = customFields.name), - (formAction = customFields.action || ""), - (formEncType = customFields.encType), - (formMethod = customFields.method), - (formTarget = customFields.target), - (formData = customFields.data)) - : (target.push( - attributeSeparator, - "formAction", - attributeAssign, - actionJavaScriptURL, - attributeEnd - ), - (formTarget = formMethod = formEncType = formAction = name = null), - injectFormReplayingRuntime(resumableState, renderState)); - } - null != name && pushAttribute(target, "name", name); - null != formAction && pushAttribute(target, "formAction", formAction); - null != formEncType && pushAttribute(target, "formEncType", formEncType); - null != formMethod && pushAttribute(target, "formMethod", formMethod); - null != formTarget && pushAttribute(target, "formTarget", formTarget); - return formData; -} -function pushAttribute(target, name, value) { - switch (name) { - case "className": - pushStringAttribute(target, "class", value); - break; - case "tabIndex": - pushStringAttribute(target, "tabindex", value); - break; - case "dir": - case "role": - case "viewBox": - case "width": - case "height": - pushStringAttribute(target, name, value); - break; - case "style": - pushStyleAttribute(target, value); - break; - case "src": - case "href": - if ("" === value) break; - case "action": - case "formAction": - if ( - null == value || - "function" === typeof value || - "symbol" === typeof value || - "boolean" === typeof value - ) - break; - value = sanitizeURL("" + value); - target.push( - attributeSeparator, - name, - attributeAssign, - escapeTextForBrowser(value), - attributeEnd - ); - break; - case "defaultValue": - case "defaultChecked": - case "innerHTML": - case "suppressContentEditableWarning": - case "suppressHydrationWarning": - case "ref": - break; - case "autoFocus": - case "multiple": - case "muted": - pushBooleanAttribute(target, name.toLowerCase(), value); - break; - case "xlinkHref": - if ( - "function" === typeof value || - "symbol" === typeof value || - "boolean" === typeof value - ) - break; - value = sanitizeURL("" + value); - target.push( - attributeSeparator, - "xlink:href", - attributeAssign, - escapeTextForBrowser(value), - attributeEnd - ); - break; - case "contentEditable": - case "spellCheck": - case "draggable": - case "value": - case "autoReverse": - case "externalResourcesRequired": - case "focusable": - case "preserveAlpha": - "function" !== typeof value && - "symbol" !== typeof value && - target.push( - attributeSeparator, - name, - attributeAssign, - escapeTextForBrowser(value), - attributeEnd - ); - break; - case "inert": - case "allowFullScreen": - case "async": - case "autoPlay": - case "controls": - case "default": - case "defer": - case "disabled": - case "disablePictureInPicture": - case "disableRemotePlayback": - case "formNoValidate": - case "hidden": - case "loop": - case "noModule": - case "noValidate": - case "open": - case "playsInline": - case "readOnly": - case "required": - case "reversed": - case "scoped": - case "seamless": - case "itemScope": - value && - "function" !== typeof value && - "symbol" !== typeof value && - target.push(attributeSeparator, name, attributeEmptyString); - break; - case "capture": - case "download": - !0 === value - ? target.push(attributeSeparator, name, attributeEmptyString) - : !1 !== value && - "function" !== typeof value && - "symbol" !== typeof value && - target.push( - attributeSeparator, - name, - attributeAssign, - escapeTextForBrowser(value), - attributeEnd - ); - break; - case "cols": - case "rows": - case "size": - case "span": - "function" !== typeof value && - "symbol" !== typeof value && - !isNaN(value) && - 1 <= value && - target.push( - attributeSeparator, - name, - attributeAssign, - escapeTextForBrowser(value), - attributeEnd - ); - break; - case "rowSpan": - case "start": - "function" === typeof value || - "symbol" === typeof value || - isNaN(value) || - target.push( - attributeSeparator, - name, - attributeAssign, - escapeTextForBrowser(value), - attributeEnd - ); - break; - case "xlinkActuate": - pushStringAttribute(target, "xlink:actuate", value); - break; - case "xlinkArcrole": - pushStringAttribute(target, "xlink:arcrole", value); - break; - case "xlinkRole": - pushStringAttribute(target, "xlink:role", value); - break; - case "xlinkShow": - pushStringAttribute(target, "xlink:show", value); - break; - case "xlinkTitle": - pushStringAttribute(target, "xlink:title", value); - break; - case "xlinkType": - pushStringAttribute(target, "xlink:type", value); - break; - case "xmlBase": - pushStringAttribute(target, "xml:base", value); - break; - case "xmlLang": - pushStringAttribute(target, "xml:lang", value); - break; - case "xmlSpace": - pushStringAttribute(target, "xml:space", value); - break; - default: - if ( - !(2 < name.length) || - ("o" !== name[0] && "O" !== name[0]) || - ("n" !== name[1] && "N" !== name[1]) - ) - if (((name = aliases.get(name) || name), isAttributeNameSafe(name))) { - switch (typeof value) { - case "function": - case "symbol": - return; - case "boolean": - var prefix$8 = name.toLowerCase().slice(0, 5); - if ("data-" !== prefix$8 && "aria-" !== prefix$8) return; - } - target.push( - attributeSeparator, - name, - attributeAssign, - escapeTextForBrowser(value), - attributeEnd - ); - } - } -} -var endOfStartTag = stringToPrecomputedChunk(">"), - endOfStartTagSelfClosing = stringToPrecomputedChunk("/>"); -function pushInnerHTML(target, innerHTML, children) { - if (null != innerHTML) { - if (null != children) - throw Error( - "Can only set one of `children` or `props.dangerouslySetInnerHTML`." - ); - if ("object" !== typeof innerHTML || !("__html" in innerHTML)) - throw Error( - "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information." - ); - innerHTML = innerHTML.__html; - null !== innerHTML && void 0 !== innerHTML && target.push("" + innerHTML); - } -} -function flattenOptionChildren(children) { - var content = ""; - React.Children.forEach(children, function (child) { - null != child && (content += child); - }); - return content; -} -var selectedMarkerAttribute = stringToPrecomputedChunk(' selected=""'), - formReplayingRuntimeScript = stringToPrecomputedChunk( - 'addEventListener("submit",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute("formAction");null!=f&&(e=f,b=null)}"javascript:throw new Error(\'React form unexpectedly submitted.\')"===e&&(a.preventDefault(),b?(a=document.createElement("input"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});' - ); -function injectFormReplayingRuntime(resumableState, renderState) { - 0 === (resumableState.instructions & 16) && - ((resumableState.instructions |= 16), - renderState.bootstrapChunks.unshift( - renderState.startInlineScript, - formReplayingRuntimeScript, - endInlineScript - )); -} -var formStateMarkerIsMatching = stringToPrecomputedChunk("\x3c!--F!--\x3e"), - formStateMarkerIsNotMatching = stringToPrecomputedChunk("\x3c!--F--\x3e"); -function pushLinkImpl(target, props) { - target.push(startChunkForTag("link")); - for (var propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - case "dangerouslySetInnerHTML": - throw Error( - "link is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`." - ); - default: - pushAttribute(target, propKey, propValue); - } - } - target.push(endOfStartTagSelfClosing); - return null; -} -var styleRegex = /(<\/|<)(s)(tyle)/gi; -function styleReplacer(match, prefix, s, suffix) { - return "" + prefix + ("s" === s ? "\\73 " : "\\53 ") + suffix; -} -function pushSelfClosing(target, props, tag) { - target.push(startChunkForTag(tag)); - for (var propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - case "dangerouslySetInnerHTML": - throw Error( - tag + - " is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`." - ); - default: - pushAttribute(target, propKey, propValue); - } - } - target.push(endOfStartTagSelfClosing); - return null; -} -function pushTitleImpl(target, props) { - target.push(startChunkForTag("title")); - var children = null, - innerHTML = null, - propKey; - for (propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - children = propValue; - break; - case "dangerouslySetInnerHTML": - innerHTML = propValue; - break; - default: - pushAttribute(target, propKey, propValue); - } - } - target.push(endOfStartTag); - props = Array.isArray(children) - ? 2 > children.length - ? children[0] - : null - : children; - "function" !== typeof props && - "symbol" !== typeof props && - null !== props && - void 0 !== props && - target.push(escapeTextForBrowser("" + props)); - pushInnerHTML(target, innerHTML, children); - target.push(endChunkForTag("title")); - return null; -} -function pushScriptImpl(target, props) { - target.push(startChunkForTag("script")); - var children = null, - innerHTML = null, - propKey; - for (propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - children = propValue; - break; - case "dangerouslySetInnerHTML": - innerHTML = propValue; - break; - default: - pushAttribute(target, propKey, propValue); - } - } - target.push(endOfStartTag); - pushInnerHTML(target, innerHTML, children); - "string" === typeof children && - target.push(("" + children).replace(scriptRegex, scriptReplacer)); - target.push(endChunkForTag("script")); - return null; -} -function pushStartGenericElement(target, props, tag) { - target.push(startChunkForTag(tag)); - var innerHTML = (tag = null), - propKey; - for (propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - tag = propValue; - break; - case "dangerouslySetInnerHTML": - innerHTML = propValue; - break; - default: - pushAttribute(target, propKey, propValue); - } - } - target.push(endOfStartTag); - pushInnerHTML(target, innerHTML, tag); - return "string" === typeof tag - ? (target.push(escapeTextForBrowser(tag)), null) - : tag; -} -var leadingNewline = stringToPrecomputedChunk("\n"), - VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/, - validatedTagCache = new Map(); -function startChunkForTag(tag) { - var tagStartChunk = validatedTagCache.get(tag); - if (void 0 === tagStartChunk) { - if (!VALID_TAG_REGEX.test(tag)) throw Error("Invalid tag: " + tag); - tagStartChunk = stringToPrecomputedChunk("<" + tag); - validatedTagCache.set(tag, tagStartChunk); - } - return tagStartChunk; -} -var doctypeChunk = stringToPrecomputedChunk("<!DOCTYPE html>"); -function pushStartInstance( - target$jscomp$0, - type, - props, - resumableState, - renderState, - hoistableState, - formatContext, - textEmbedded, - isFallback -) { - switch (type) { - case "div": - case "span": - case "svg": - case "path": - break; - case "a": - target$jscomp$0.push(startChunkForTag("a")); - var children = null, - innerHTML = null, - propKey; - for (propKey in props) - if (hasOwnProperty.call(props, propKey)) { - var propValue = props[propKey]; - if (null != propValue) - switch (propKey) { - case "children": - children = propValue; - break; - case "dangerouslySetInnerHTML": - innerHTML = propValue; - break; - case "href": - "" === propValue - ? pushStringAttribute(target$jscomp$0, "href", "") - : pushAttribute(target$jscomp$0, propKey, propValue); - break; - default: - pushAttribute(target$jscomp$0, propKey, propValue); - } - } - target$jscomp$0.push(endOfStartTag); - pushInnerHTML(target$jscomp$0, innerHTML, children); - if ("string" === typeof children) { - target$jscomp$0.push(escapeTextForBrowser(children)); - var JSCompiler_inline_result = null; - } else JSCompiler_inline_result = children; - return JSCompiler_inline_result; - case "g": - case "p": - case "li": - break; - case "select": - target$jscomp$0.push(startChunkForTag("select")); - var children$jscomp$0 = null, - innerHTML$jscomp$0 = null, - propKey$jscomp$0; - for (propKey$jscomp$0 in props) - if (hasOwnProperty.call(props, propKey$jscomp$0)) { - var propValue$jscomp$0 = props[propKey$jscomp$0]; - if (null != propValue$jscomp$0) - switch (propKey$jscomp$0) { - case "children": - children$jscomp$0 = propValue$jscomp$0; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$0 = propValue$jscomp$0; - break; - case "defaultValue": - case "value": - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$0, - propValue$jscomp$0 - ); - } - } - target$jscomp$0.push(endOfStartTag); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0); - return children$jscomp$0; - case "option": - var selectedValue = formatContext.selectedValue; - target$jscomp$0.push(startChunkForTag("option")); - var children$jscomp$1 = null, - value = null, - selected = null, - innerHTML$jscomp$1 = null, - propKey$jscomp$1; - for (propKey$jscomp$1 in props) - if (hasOwnProperty.call(props, propKey$jscomp$1)) { - var propValue$jscomp$1 = props[propKey$jscomp$1]; - if (null != propValue$jscomp$1) - switch (propKey$jscomp$1) { - case "children": - children$jscomp$1 = propValue$jscomp$1; - break; - case "selected": - selected = propValue$jscomp$1; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$1 = propValue$jscomp$1; - break; - case "value": - value = propValue$jscomp$1; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$1, - propValue$jscomp$1 - ); - } - } - if (null != selectedValue) { - var stringValue = - null !== value - ? "" + value - : flattenOptionChildren(children$jscomp$1); - if (isArrayImpl(selectedValue)) - for (var i = 0; i < selectedValue.length; i++) { - if ("" + selectedValue[i] === stringValue) { - target$jscomp$0.push(selectedMarkerAttribute); - break; - } - } - else - "" + selectedValue === stringValue && - target$jscomp$0.push(selectedMarkerAttribute); - } else selected && target$jscomp$0.push(selectedMarkerAttribute); - target$jscomp$0.push(endOfStartTag); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1); - return children$jscomp$1; - case "textarea": - target$jscomp$0.push(startChunkForTag("textarea")); - var value$jscomp$0 = null, - defaultValue = null, - children$jscomp$2 = null, - propKey$jscomp$2; - for (propKey$jscomp$2 in props) - if (hasOwnProperty.call(props, propKey$jscomp$2)) { - var propValue$jscomp$2 = props[propKey$jscomp$2]; - if (null != propValue$jscomp$2) - switch (propKey$jscomp$2) { - case "children": - children$jscomp$2 = propValue$jscomp$2; - break; - case "value": - value$jscomp$0 = propValue$jscomp$2; - break; - case "defaultValue": - defaultValue = propValue$jscomp$2; - break; - case "dangerouslySetInnerHTML": - throw Error( - "`dangerouslySetInnerHTML` does not make sense on <textarea>." - ); - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$2, - propValue$jscomp$2 - ); - } - } - null === value$jscomp$0 && - null !== defaultValue && - (value$jscomp$0 = defaultValue); - target$jscomp$0.push(endOfStartTag); - if (null != children$jscomp$2) { - if (null != value$jscomp$0) - throw Error( - "If you supply `defaultValue` on a <textarea>, do not pass children." - ); - if (isArrayImpl(children$jscomp$2)) { - if (1 < children$jscomp$2.length) - throw Error("<textarea> can only have at most one child."); - value$jscomp$0 = "" + children$jscomp$2[0]; - } - value$jscomp$0 = "" + children$jscomp$2; - } - "string" === typeof value$jscomp$0 && - "\n" === value$jscomp$0[0] && - target$jscomp$0.push(leadingNewline); - null !== value$jscomp$0 && - target$jscomp$0.push(escapeTextForBrowser("" + value$jscomp$0)); - return null; - case "input": - target$jscomp$0.push(startChunkForTag("input")); - var name = null, - formAction = null, - formEncType = null, - formMethod = null, - formTarget = null, - value$jscomp$1 = null, - defaultValue$jscomp$0 = null, - checked = null, - defaultChecked = null, - propKey$jscomp$3; - for (propKey$jscomp$3 in props) - if (hasOwnProperty.call(props, propKey$jscomp$3)) { - var propValue$jscomp$3 = props[propKey$jscomp$3]; - if (null != propValue$jscomp$3) - switch (propKey$jscomp$3) { - case "children": - case "dangerouslySetInnerHTML": - throw Error( - "input is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`." - ); - case "name": - name = propValue$jscomp$3; - break; - case "formAction": - formAction = propValue$jscomp$3; - break; - case "formEncType": - formEncType = propValue$jscomp$3; - break; - case "formMethod": - formMethod = propValue$jscomp$3; - break; - case "formTarget": - formTarget = propValue$jscomp$3; - break; - case "defaultChecked": - defaultChecked = propValue$jscomp$3; - break; - case "defaultValue": - defaultValue$jscomp$0 = propValue$jscomp$3; - break; - case "checked": - checked = propValue$jscomp$3; - break; - case "value": - value$jscomp$1 = propValue$jscomp$3; - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$3, - propValue$jscomp$3 - ); - } - } - var formData = pushFormActionAttribute( - target$jscomp$0, - resumableState, - renderState, - formAction, - formEncType, - formMethod, - formTarget, - name - ); - null !== checked - ? pushBooleanAttribute(target$jscomp$0, "checked", checked) - : null !== defaultChecked && - pushBooleanAttribute(target$jscomp$0, "checked", defaultChecked); - null !== value$jscomp$1 - ? pushAttribute(target$jscomp$0, "value", value$jscomp$1) - : null !== defaultValue$jscomp$0 && - pushAttribute(target$jscomp$0, "value", defaultValue$jscomp$0); - target$jscomp$0.push(endOfStartTagSelfClosing); - null != formData && - formData.forEach(pushAdditionalFormField, target$jscomp$0); - return null; - case "button": - target$jscomp$0.push(startChunkForTag("button")); - var children$jscomp$3 = null, - innerHTML$jscomp$2 = null, - name$jscomp$0 = null, - formAction$jscomp$0 = null, - formEncType$jscomp$0 = null, - formMethod$jscomp$0 = null, - formTarget$jscomp$0 = null, - propKey$jscomp$4; - for (propKey$jscomp$4 in props) - if (hasOwnProperty.call(props, propKey$jscomp$4)) { - var propValue$jscomp$4 = props[propKey$jscomp$4]; - if (null != propValue$jscomp$4) - switch (propKey$jscomp$4) { - case "children": - children$jscomp$3 = propValue$jscomp$4; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$2 = propValue$jscomp$4; - break; - case "name": - name$jscomp$0 = propValue$jscomp$4; - break; - case "formAction": - formAction$jscomp$0 = propValue$jscomp$4; - break; - case "formEncType": - formEncType$jscomp$0 = propValue$jscomp$4; - break; - case "formMethod": - formMethod$jscomp$0 = propValue$jscomp$4; - break; - case "formTarget": - formTarget$jscomp$0 = propValue$jscomp$4; - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$4, - propValue$jscomp$4 - ); - } - } - var formData$jscomp$0 = pushFormActionAttribute( - target$jscomp$0, - resumableState, - renderState, - formAction$jscomp$0, - formEncType$jscomp$0, - formMethod$jscomp$0, - formTarget$jscomp$0, - name$jscomp$0 - ); - target$jscomp$0.push(endOfStartTag); - null != formData$jscomp$0 && - formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3); - if ("string" === typeof children$jscomp$3) { - target$jscomp$0.push(escapeTextForBrowser(children$jscomp$3)); - var JSCompiler_inline_result$jscomp$0 = null; - } else JSCompiler_inline_result$jscomp$0 = children$jscomp$3; - return JSCompiler_inline_result$jscomp$0; - case "form": - target$jscomp$0.push(startChunkForTag("form")); - var children$jscomp$4 = null, - innerHTML$jscomp$3 = null, - formAction$jscomp$1 = null, - formEncType$jscomp$1 = null, - formMethod$jscomp$1 = null, - formTarget$jscomp$1 = null, - propKey$jscomp$5; - for (propKey$jscomp$5 in props) - if (hasOwnProperty.call(props, propKey$jscomp$5)) { - var propValue$jscomp$5 = props[propKey$jscomp$5]; - if (null != propValue$jscomp$5) - switch (propKey$jscomp$5) { - case "children": - children$jscomp$4 = propValue$jscomp$5; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$3 = propValue$jscomp$5; - break; - case "action": - formAction$jscomp$1 = propValue$jscomp$5; - break; - case "encType": - formEncType$jscomp$1 = propValue$jscomp$5; - break; - case "method": - formMethod$jscomp$1 = propValue$jscomp$5; - break; - case "target": - formTarget$jscomp$1 = propValue$jscomp$5; - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$5, - propValue$jscomp$5 - ); - } - } - var formData$jscomp$1 = null, - formActionName = null; - if ("function" === typeof formAction$jscomp$1) { - var customFields = getCustomFormFields( - resumableState, - formAction$jscomp$1 - ); - null !== customFields - ? ((formAction$jscomp$1 = customFields.action || ""), - (formEncType$jscomp$1 = customFields.encType), - (formMethod$jscomp$1 = customFields.method), - (formTarget$jscomp$1 = customFields.target), - (formData$jscomp$1 = customFields.data), - (formActionName = customFields.name)) - : (target$jscomp$0.push( - attributeSeparator, - "action", - attributeAssign, - actionJavaScriptURL, - attributeEnd - ), - (formTarget$jscomp$1 = - formMethod$jscomp$1 = - formEncType$jscomp$1 = - formAction$jscomp$1 = - null), - injectFormReplayingRuntime(resumableState, renderState)); - } - null != formAction$jscomp$1 && - pushAttribute(target$jscomp$0, "action", formAction$jscomp$1); - null != formEncType$jscomp$1 && - pushAttribute(target$jscomp$0, "encType", formEncType$jscomp$1); - null != formMethod$jscomp$1 && - pushAttribute(target$jscomp$0, "method", formMethod$jscomp$1); - null != formTarget$jscomp$1 && - pushAttribute(target$jscomp$0, "target", formTarget$jscomp$1); - target$jscomp$0.push(endOfStartTag); - null !== formActionName && - (target$jscomp$0.push(startHiddenInputChunk), - pushStringAttribute(target$jscomp$0, "name", formActionName), - target$jscomp$0.push(endOfStartTagSelfClosing), - null != formData$jscomp$1 && - formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0)); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4); - if ("string" === typeof children$jscomp$4) { - target$jscomp$0.push(escapeTextForBrowser(children$jscomp$4)); - var JSCompiler_inline_result$jscomp$1 = null; - } else JSCompiler_inline_result$jscomp$1 = children$jscomp$4; - return JSCompiler_inline_result$jscomp$1; - case "menuitem": - target$jscomp$0.push(startChunkForTag("menuitem")); - for (var propKey$jscomp$6 in props) - if (hasOwnProperty.call(props, propKey$jscomp$6)) { - var propValue$jscomp$6 = props[propKey$jscomp$6]; - if (null != propValue$jscomp$6) - switch (propKey$jscomp$6) { - case "children": - case "dangerouslySetInnerHTML": - throw Error( - "menuitems cannot have `children` nor `dangerouslySetInnerHTML`." - ); - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$6, - propValue$jscomp$6 - ); - } - } - target$jscomp$0.push(endOfStartTag); - return null; - case "object": - target$jscomp$0.push(startChunkForTag("object")); - var children$jscomp$5 = null, - innerHTML$jscomp$4 = null, - propKey$jscomp$7; - for (propKey$jscomp$7 in props) - if (hasOwnProperty.call(props, propKey$jscomp$7)) { - var propValue$jscomp$7 = props[propKey$jscomp$7]; - if (null != propValue$jscomp$7) - switch (propKey$jscomp$7) { - case "children": - children$jscomp$5 = propValue$jscomp$7; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$4 = propValue$jscomp$7; - break; - case "data": - var sanitizedValue = sanitizeURL("" + propValue$jscomp$7); - if ("" === sanitizedValue) break; - target$jscomp$0.push( - attributeSeparator, - "data", - attributeAssign, - escapeTextForBrowser(sanitizedValue), - attributeEnd - ); - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$7, - propValue$jscomp$7 - ); - } - } - target$jscomp$0.push(endOfStartTag); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5); - if ("string" === typeof children$jscomp$5) { - target$jscomp$0.push(escapeTextForBrowser(children$jscomp$5)); - var JSCompiler_inline_result$jscomp$2 = null; - } else JSCompiler_inline_result$jscomp$2 = children$jscomp$5; - return JSCompiler_inline_result$jscomp$2; - case "title": - if ( - 3 === formatContext.insertionMode || - formatContext.tagScope & 1 || - null != props.itemProp - ) - var JSCompiler_inline_result$jscomp$3 = pushTitleImpl( - target$jscomp$0, - props - ); - else - isFallback - ? (JSCompiler_inline_result$jscomp$3 = null) - : (pushTitleImpl(renderState.hoistableChunks, props), - (JSCompiler_inline_result$jscomp$3 = void 0)); - return JSCompiler_inline_result$jscomp$3; - case "link": - var rel = props.rel, - href = props.href, - precedence = props.precedence; - if ( - 3 === formatContext.insertionMode || - formatContext.tagScope & 1 || - null != props.itemProp || - "string" !== typeof rel || - "string" !== typeof href || - "" === href - ) { - pushLinkImpl(target$jscomp$0, props); - var JSCompiler_inline_result$jscomp$4 = null; - } else if ("stylesheet" === props.rel) - if ( - "string" !== typeof precedence || - null != props.disabled || - props.onLoad || - props.onError - ) - JSCompiler_inline_result$jscomp$4 = pushLinkImpl( - target$jscomp$0, - props - ); - else { - var styleQueue = renderState.styles.get(precedence), - resourceState = resumableState.styleResources.hasOwnProperty(href) - ? resumableState.styleResources[href] - : void 0; - if (null !== resourceState) { - resumableState.styleResources[href] = null; - styleQueue || - ((styleQueue = { - precedence: escapeTextForBrowser(precedence), - rules: [], - hrefs: [], - sheets: new Map() - }), - renderState.styles.set(precedence, styleQueue)); - var resource = { - state: 0, - props: assign({}, props, { - "data-precedence": props.precedence, - precedence: null - }) - }; - if (resourceState) { - 2 === resourceState.length && - adoptPreloadCredentials(resource.props, resourceState); - var preloadResource = renderState.preloads.stylesheets.get(href); - preloadResource && 0 < preloadResource.length - ? (preloadResource.length = 0) - : (resource.state = 1); - } - styleQueue.sheets.set(href, resource); - hoistableState && hoistableState.stylesheets.add(resource); - } else if (styleQueue) { - var resource$9 = styleQueue.sheets.get(href); - resource$9 && - hoistableState && - hoistableState.stylesheets.add(resource$9); - } - textEmbedded && target$jscomp$0.push(textSeparator); - JSCompiler_inline_result$jscomp$4 = null; - } - else - props.onLoad || props.onError - ? (JSCompiler_inline_result$jscomp$4 = pushLinkImpl( - target$jscomp$0, - props - )) - : (textEmbedded && target$jscomp$0.push(textSeparator), - (JSCompiler_inline_result$jscomp$4 = isFallback - ? null - : pushLinkImpl(renderState.hoistableChunks, props))); - return JSCompiler_inline_result$jscomp$4; - case "script": - var asyncProp = props.async; - if ( - "string" !== typeof props.src || - !props.src || - !asyncProp || - "function" === typeof asyncProp || - "symbol" === typeof asyncProp || - props.onLoad || - props.onError || - 3 === formatContext.insertionMode || - formatContext.tagScope & 1 || - null != props.itemProp - ) - var JSCompiler_inline_result$jscomp$5 = pushScriptImpl( - target$jscomp$0, - props - ); - else { - var key = props.src; - if ("module" === props.type) { - var resources = resumableState.moduleScriptResources; - var preloads = renderState.preloads.moduleScripts; - } else - (resources = resumableState.scriptResources), - (preloads = renderState.preloads.scripts); - var resourceState$jscomp$0 = resources.hasOwnProperty(key) - ? resources[key] - : void 0; - if (null !== resourceState$jscomp$0) { - resources[key] = null; - var scriptProps = props; - if (resourceState$jscomp$0) { - 2 === resourceState$jscomp$0.length && - ((scriptProps = assign({}, props)), - adoptPreloadCredentials(scriptProps, resourceState$jscomp$0)); - var preloadResource$jscomp$0 = preloads.get(key); - preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0); - } - var resource$jscomp$0 = []; - renderState.scripts.add(resource$jscomp$0); - pushScriptImpl(resource$jscomp$0, scriptProps); - } - textEmbedded && target$jscomp$0.push(textSeparator); - JSCompiler_inline_result$jscomp$5 = null; - } - return JSCompiler_inline_result$jscomp$5; - case "style": - var precedence$jscomp$0 = props.precedence, - href$jscomp$0 = props.href; - if ( - 3 === formatContext.insertionMode || - formatContext.tagScope & 1 || - null != props.itemProp || - "string" !== typeof precedence$jscomp$0 || - "string" !== typeof href$jscomp$0 || - "" === href$jscomp$0 - ) { - target$jscomp$0.push(startChunkForTag("style")); - var children$jscomp$6 = null, - innerHTML$jscomp$5 = null, - propKey$jscomp$8; - for (propKey$jscomp$8 in props) - if (hasOwnProperty.call(props, propKey$jscomp$8)) { - var propValue$jscomp$8 = props[propKey$jscomp$8]; - if (null != propValue$jscomp$8) - switch (propKey$jscomp$8) { - case "children": - children$jscomp$6 = propValue$jscomp$8; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$5 = propValue$jscomp$8; - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$8, - propValue$jscomp$8 - ); - } - } - target$jscomp$0.push(endOfStartTag); - var child = Array.isArray(children$jscomp$6) - ? 2 > children$jscomp$6.length - ? children$jscomp$6[0] - : null - : children$jscomp$6; - "function" !== typeof child && - "symbol" !== typeof child && - null !== child && - void 0 !== child && - target$jscomp$0.push(("" + child).replace(styleRegex, styleReplacer)); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6); - target$jscomp$0.push(endChunkForTag("style")); - var JSCompiler_inline_result$jscomp$6 = null; - } else { - var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0); - if ( - null !== - (resumableState.styleResources.hasOwnProperty(href$jscomp$0) - ? resumableState.styleResources[href$jscomp$0] - : void 0) - ) { - resumableState.styleResources[href$jscomp$0] = null; - styleQueue$jscomp$0 - ? styleQueue$jscomp$0.hrefs.push( - escapeTextForBrowser(href$jscomp$0) - ) - : ((styleQueue$jscomp$0 = { - precedence: escapeTextForBrowser(precedence$jscomp$0), - rules: [], - hrefs: [escapeTextForBrowser(href$jscomp$0)], - sheets: new Map() - }), - renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0)); - var target = styleQueue$jscomp$0.rules, - children$jscomp$7 = null, - innerHTML$jscomp$6 = null, - propKey$jscomp$9; - for (propKey$jscomp$9 in props) - if (hasOwnProperty.call(props, propKey$jscomp$9)) { - var propValue$jscomp$9 = props[propKey$jscomp$9]; - if (null != propValue$jscomp$9) - switch (propKey$jscomp$9) { - case "children": - children$jscomp$7 = propValue$jscomp$9; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$6 = propValue$jscomp$9; - } - } - var child$jscomp$0 = Array.isArray(children$jscomp$7) - ? 2 > children$jscomp$7.length - ? children$jscomp$7[0] - : null - : children$jscomp$7; - "function" !== typeof child$jscomp$0 && - "symbol" !== typeof child$jscomp$0 && - null !== child$jscomp$0 && - void 0 !== child$jscomp$0 && - target.push( - ("" + child$jscomp$0).replace(styleRegex, styleReplacer) - ); - pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7); - } - styleQueue$jscomp$0 && - hoistableState && - hoistableState.styles.add(styleQueue$jscomp$0); - textEmbedded && target$jscomp$0.push(textSeparator); - JSCompiler_inline_result$jscomp$6 = void 0; - } - return JSCompiler_inline_result$jscomp$6; - case "meta": - if ( - 3 === formatContext.insertionMode || - formatContext.tagScope & 1 || - null != props.itemProp - ) - var JSCompiler_inline_result$jscomp$7 = pushSelfClosing( - target$jscomp$0, - props, - "meta" - ); - else - textEmbedded && target$jscomp$0.push(textSeparator), - (JSCompiler_inline_result$jscomp$7 = isFallback - ? null - : "string" === typeof props.charSet - ? pushSelfClosing(renderState.charsetChunks, props, "meta") - : "viewport" === props.name - ? pushSelfClosing(renderState.viewportChunks, props, "meta") - : pushSelfClosing(renderState.hoistableChunks, props, "meta")); - return JSCompiler_inline_result$jscomp$7; - case "listing": - case "pre": - target$jscomp$0.push(startChunkForTag(type)); - var children$jscomp$8 = null, - innerHTML$jscomp$7 = null, - propKey$jscomp$10; - for (propKey$jscomp$10 in props) - if (hasOwnProperty.call(props, propKey$jscomp$10)) { - var propValue$jscomp$10 = props[propKey$jscomp$10]; - if (null != propValue$jscomp$10) - switch (propKey$jscomp$10) { - case "children": - children$jscomp$8 = propValue$jscomp$10; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$7 = propValue$jscomp$10; - break; - default: - pushAttribute( - target$jscomp$0, - propKey$jscomp$10, - propValue$jscomp$10 - ); - } - } - target$jscomp$0.push(endOfStartTag); - if (null != innerHTML$jscomp$7) { - if (null != children$jscomp$8) - throw Error( - "Can only set one of `children` or `props.dangerouslySetInnerHTML`." - ); - if ( - "object" !== typeof innerHTML$jscomp$7 || - !("__html" in innerHTML$jscomp$7) - ) - throw Error( - "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information." - ); - var html = innerHTML$jscomp$7.__html; - null !== html && - void 0 !== html && - ("string" === typeof html && 0 < html.length && "\n" === html[0] - ? target$jscomp$0.push(leadingNewline, html) - : target$jscomp$0.push("" + html)); - } - "string" === typeof children$jscomp$8 && - "\n" === children$jscomp$8[0] && - target$jscomp$0.push(leadingNewline); - return children$jscomp$8; - case "img": - var src = props.src, - srcSet = props.srcSet; - if ( - !( - "lazy" === props.loading || - (!src && !srcSet) || - ("string" !== typeof src && null != src) || - ("string" !== typeof srcSet && null != srcSet) - ) && - "low" !== props.fetchPriority && - !1 === !!(formatContext.tagScope & 3) && - ("string" !== typeof src || - ":" !== src[4] || - ("d" !== src[0] && "D" !== src[0]) || - ("a" !== src[1] && "A" !== src[1]) || - ("t" !== src[2] && "T" !== src[2]) || - ("a" !== src[3] && "A" !== src[3])) && - ("string" !== typeof srcSet || - ":" !== srcSet[4] || - ("d" !== srcSet[0] && "D" !== srcSet[0]) || - ("a" !== srcSet[1] && "A" !== srcSet[1]) || - ("t" !== srcSet[2] && "T" !== srcSet[2]) || - ("a" !== srcSet[3] && "A" !== srcSet[3])) - ) { - var sizes = "string" === typeof props.sizes ? props.sizes : void 0, - key$jscomp$0 = srcSet ? srcSet + "\n" + (sizes || "") : src, - promotablePreloads = renderState.preloads.images, - resource$jscomp$1 = promotablePreloads.get(key$jscomp$0); - if (resource$jscomp$1) { - if ( - "high" === props.fetchPriority || - 10 > renderState.highImagePreloads.size - ) - promotablePreloads.delete(key$jscomp$0), - renderState.highImagePreloads.add(resource$jscomp$1); - } else if ( - !resumableState.imageResources.hasOwnProperty(key$jscomp$0) - ) { - resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS; - var input = props.crossOrigin; - var JSCompiler_inline_result$jscomp$8 = - "string" === typeof input - ? "use-credentials" === input - ? input - : "" - : void 0; - var headers = renderState.headers, - header; - headers && - 0 < headers.remainingCapacity && - ("high" === props.fetchPriority || - 500 > headers.highImagePreloads.length) && - ((header = getPreloadAsHeader(src, "image", { - imageSrcSet: props.srcSet, - imageSizes: props.sizes, - crossOrigin: JSCompiler_inline_result$jscomp$8, - integrity: props.integrity, - nonce: props.nonce, - type: props.type, - fetchPriority: props.fetchPriority, - referrerPolicy: props.refererPolicy - })), - 0 <= (headers.remainingCapacity -= header.length + 2)) - ? ((renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS), - headers.highImagePreloads && (headers.highImagePreloads += ", "), - (headers.highImagePreloads += header)) - : ((resource$jscomp$1 = []), - pushLinkImpl(resource$jscomp$1, { - rel: "preload", - as: "image", - href: srcSet ? void 0 : src, - imageSrcSet: srcSet, - imageSizes: sizes, - crossOrigin: JSCompiler_inline_result$jscomp$8, - integrity: props.integrity, - type: props.type, - fetchPriority: props.fetchPriority, - referrerPolicy: props.referrerPolicy - }), - "high" === props.fetchPriority || - 10 > renderState.highImagePreloads.size - ? renderState.highImagePreloads.add(resource$jscomp$1) - : (renderState.bulkPreloads.add(resource$jscomp$1), - promotablePreloads.set(key$jscomp$0, resource$jscomp$1))); - } - } - return pushSelfClosing(target$jscomp$0, props, "img"); - case "base": - case "area": - case "br": - case "col": - case "embed": - case "hr": - case "keygen": - case "param": - case "source": - case "track": - case "wbr": - return pushSelfClosing(target$jscomp$0, props, type); - case "annotation-xml": - case "color-profile": - case "font-face": - case "font-face-src": - case "font-face-uri": - case "font-face-format": - case "font-face-name": - case "missing-glyph": - break; - case "head": - if (2 > formatContext.insertionMode && null === renderState.headChunks) { - renderState.headChunks = []; - var JSCompiler_inline_result$jscomp$9 = pushStartGenericElement( - renderState.headChunks, - props, - "head" - ); - } else - JSCompiler_inline_result$jscomp$9 = pushStartGenericElement( - target$jscomp$0, - props, - "head" - ); - return JSCompiler_inline_result$jscomp$9; - case "html": - if ( - 0 === formatContext.insertionMode && - null === renderState.htmlChunks - ) { - renderState.htmlChunks = [doctypeChunk]; - var JSCompiler_inline_result$jscomp$10 = pushStartGenericElement( - renderState.htmlChunks, - props, - "html" - ); - } else - JSCompiler_inline_result$jscomp$10 = pushStartGenericElement( - target$jscomp$0, - props, - "html" - ); - return JSCompiler_inline_result$jscomp$10; - default: - if (-1 !== type.indexOf("-")) { - target$jscomp$0.push(startChunkForTag(type)); - var children$jscomp$9 = null, - innerHTML$jscomp$8 = null, - propKey$jscomp$11; - for (propKey$jscomp$11 in props) - if (hasOwnProperty.call(props, propKey$jscomp$11)) { - var propValue$jscomp$11 = props[propKey$jscomp$11]; - if (null != propValue$jscomp$11) { - var attributeName = propKey$jscomp$11; - switch (propKey$jscomp$11) { - case "children": - children$jscomp$9 = propValue$jscomp$11; - break; - case "dangerouslySetInnerHTML": - innerHTML$jscomp$8 = propValue$jscomp$11; - break; - case "style": - pushStyleAttribute(target$jscomp$0, propValue$jscomp$11); - break; - case "suppressContentEditableWarning": - case "suppressHydrationWarning": - case "ref": - break; - case "className": - attributeName = "class"; - default: - if ( - isAttributeNameSafe(propKey$jscomp$11) && - "function" !== typeof propValue$jscomp$11 && - "symbol" !== typeof propValue$jscomp$11 && - !1 !== propValue$jscomp$11 - ) { - if (!0 === propValue$jscomp$11) propValue$jscomp$11 = ""; - else if ("object" === typeof propValue$jscomp$11) continue; - target$jscomp$0.push( - attributeSeparator, - attributeName, - attributeAssign, - escapeTextForBrowser(propValue$jscomp$11), - attributeEnd - ); - } - } - } - } - target$jscomp$0.push(endOfStartTag); - pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9); - return children$jscomp$9; - } - } - return pushStartGenericElement(target$jscomp$0, props, type); -} -var endTagCache = new Map(); -function endChunkForTag(tag) { - var chunk = endTagCache.get(tag); - void 0 === chunk && - ((chunk = stringToPrecomputedChunk("</" + tag + ">")), - endTagCache.set(tag, chunk)); - return chunk; -} -function writeBootstrap(destination, renderState) { - renderState = renderState.bootstrapChunks; - for (var i = 0; i < renderState.length - 1; i++) - writeChunk(destination, renderState[i]); - return i < renderState.length - ? ((i = renderState[i]), - (renderState.length = 0), - writeChunkAndReturn(destination, i)) - : !0; -} -var placeholder1 = stringToPrecomputedChunk('<template id="'), - placeholder2 = stringToPrecomputedChunk('"></template>'), - startCompletedSuspenseBoundary = stringToPrecomputedChunk("\x3c!--$--\x3e"), - startPendingSuspenseBoundary1 = stringToPrecomputedChunk( - '\x3c!--$?--\x3e<template id="' - ), - startPendingSuspenseBoundary2 = stringToPrecomputedChunk('"></template>'), - startClientRenderedSuspenseBoundary = - stringToPrecomputedChunk("\x3c!--$!--\x3e"), - endSuspenseBoundary = stringToPrecomputedChunk("\x3c!--/$--\x3e"), - clientRenderedSuspenseBoundaryError1 = stringToPrecomputedChunk("<template"), - clientRenderedSuspenseBoundaryErrorAttrInterstitial = - stringToPrecomputedChunk('"'), - clientRenderedSuspenseBoundaryError1A = - stringToPrecomputedChunk(' data-dgst="'); -stringToPrecomputedChunk(' data-msg="'); -stringToPrecomputedChunk(' data-stck="'); -stringToPrecomputedChunk(' data-cstck="'); -var clientRenderedSuspenseBoundaryError2 = - stringToPrecomputedChunk("></template>"); -function writeStartPendingSuspenseBoundary(destination, renderState, id) { - writeChunk(destination, startPendingSuspenseBoundary1); - if (null === id) - throw Error( - "An ID must have been assigned before we can complete the boundary." - ); - writeChunk(destination, renderState.boundaryPrefix); - writeChunk(destination, id.toString(16)); - return writeChunkAndReturn(destination, startPendingSuspenseBoundary2); -} -var startSegmentHTML = stringToPrecomputedChunk('<div hidden id="'), - startSegmentHTML2 = stringToPrecomputedChunk('">'), - endSegmentHTML = stringToPrecomputedChunk("</div>"), - startSegmentSVG = stringToPrecomputedChunk( - '<svg aria-hidden="true" style="display:none" id="' - ), - startSegmentSVG2 = stringToPrecomputedChunk('">'), - endSegmentSVG = stringToPrecomputedChunk("</svg>"), - startSegmentMathML = stringToPrecomputedChunk( - '<math aria-hidden="true" style="display:none" id="' - ), - startSegmentMathML2 = stringToPrecomputedChunk('">'), - endSegmentMathML = stringToPrecomputedChunk("</math>"), - startSegmentTable = stringToPrecomputedChunk('<table hidden id="'), - startSegmentTable2 = stringToPrecomputedChunk('">'), - endSegmentTable = stringToPrecomputedChunk("</table>"), - startSegmentTableBody = stringToPrecomputedChunk('<table hidden><tbody id="'), - startSegmentTableBody2 = stringToPrecomputedChunk('">'), - endSegmentTableBody = stringToPrecomputedChunk("</tbody></table>"), - startSegmentTableRow = stringToPrecomputedChunk('<table hidden><tr id="'), - startSegmentTableRow2 = stringToPrecomputedChunk('">'), - endSegmentTableRow = stringToPrecomputedChunk("</tr></table>"), - startSegmentColGroup = stringToPrecomputedChunk( - '<table hidden><colgroup id="' - ), - startSegmentColGroup2 = stringToPrecomputedChunk('">'), - endSegmentColGroup = stringToPrecomputedChunk("</colgroup></table>"); -function writeStartSegment(destination, renderState, formatContext, id) { - switch (formatContext.insertionMode) { - case 0: - case 1: - case 2: - return ( - writeChunk(destination, startSegmentHTML), - writeChunk(destination, renderState.segmentPrefix), - writeChunk(destination, id.toString(16)), - writeChunkAndReturn(destination, startSegmentHTML2) - ); - case 3: - return ( - writeChunk(destination, startSegmentSVG), - writeChunk(destination, renderState.segmentPrefix), - writeChunk(destination, id.toString(16)), - writeChunkAndReturn(destination, startSegmentSVG2) - ); - case 4: - return ( - writeChunk(destination, startSegmentMathML), - writeChunk(destination, renderState.segmentPrefix), - writeChunk(destination, id.toString(16)), - writeChunkAndReturn(destination, startSegmentMathML2) - ); - case 5: - return ( - writeChunk(destination, startSegmentTable), - writeChunk(destination, renderState.segmentPrefix), - writeChunk(destination, id.toString(16)), - writeChunkAndReturn(destination, startSegmentTable2) - ); - case 6: - return ( - writeChunk(destination, startSegmentTableBody), - writeChunk(destination, renderState.segmentPrefix), - writeChunk(destination, id.toString(16)), - writeChunkAndReturn(destination, startSegmentTableBody2) - ); - case 7: - return ( - writeChunk(destination, startSegmentTableRow), - writeChunk(destination, renderState.segmentPrefix), - writeChunk(destination, id.toString(16)), - writeChunkAndReturn(destination, startSegmentTableRow2) - ); - case 8: - return ( - writeChunk(destination, startSegmentColGroup), - writeChunk(destination, renderState.segmentPrefix), - writeChunk(destination, id.toString(16)), - writeChunkAndReturn(destination, startSegmentColGroup2) - ); - default: - throw Error("Unknown insertion mode. This is a bug in React."); - } -} -function writeEndSegment(destination, formatContext) { - switch (formatContext.insertionMode) { - case 0: - case 1: - case 2: - return writeChunkAndReturn(destination, endSegmentHTML); - case 3: - return writeChunkAndReturn(destination, endSegmentSVG); - case 4: - return writeChunkAndReturn(destination, endSegmentMathML); - case 5: - return writeChunkAndReturn(destination, endSegmentTable); - case 6: - return writeChunkAndReturn(destination, endSegmentTableBody); - case 7: - return writeChunkAndReturn(destination, endSegmentTableRow); - case 8: - return writeChunkAndReturn(destination, endSegmentColGroup); - default: - throw Error("Unknown insertion mode. This is a bug in React."); - } -} -var completeSegmentScript1Full = stringToPrecomputedChunk( - '$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("' - ), - completeSegmentScript1Partial = stringToPrecomputedChunk('$RS("'), - completeSegmentScript2 = stringToPrecomputedChunk('","'), - completeSegmentScriptEnd = stringToPrecomputedChunk('")\x3c/script>'); -stringToPrecomputedChunk('<template data-rsi="" data-sid="'); -stringToPrecomputedChunk('" data-pid="'); -var completeBoundaryScript1Full = stringToPrecomputedChunk( - '$RC=function(b,c,e){c=document.getElementById(c);c.parentNode.removeChild(c);var a=document.getElementById(b);if(a){b=a.previousSibling;if(e)b.data="$!",a.setAttribute("data-dgst",e);else{e=b.parentNode;a=b.nextSibling;var f=0;do{if(a&&8===a.nodeType){var d=a.data;if("/$"===d)if(0===f)break;else f--;else"$"!==d&&"$?"!==d&&"$!"!==d||f++}d=a.nextSibling;e.removeChild(a);a=d}while(a);for(;c.firstChild;)e.insertBefore(c.firstChild,a);b.data="$"}b._reactRetry&&b._reactRetry()}};$RC("' - ), - completeBoundaryScript1Partial = stringToPrecomputedChunk('$RC("'), - completeBoundaryWithStylesScript1FullBoth = stringToPrecomputedChunk( - '$RC=function(b,c,e){c=document.getElementById(c);c.parentNode.removeChild(c);var a=document.getElementById(b);if(a){b=a.previousSibling;if(e)b.data="$!",a.setAttribute("data-dgst",e);else{e=b.parentNode;a=b.nextSibling;var f=0;do{if(a&&8===a.nodeType){var d=a.data;if("/$"===d)if(0===f)break;else f--;else"$"!==d&&"$?"!==d&&"$!"!==d||f++}d=a.nextSibling;e.removeChild(a);a=d}while(a);for(;c.firstChild;)e.insertBefore(c.firstChild,a);b.data="$"}b._reactRetry&&b._reactRetry()}};$RM=new Map;\n$RR=function(t,u,y){function v(n){this._p=null;n()}for(var w=$RC,p=$RM,q=new Map,r=document,g,b,h=r.querySelectorAll("link[data-precedence],style[data-precedence]"),x=[],k=0;b=h[k++];)"not all"===b.getAttribute("media")?x.push(b):("LINK"===b.tagName&&p.set(b.getAttribute("href"),b),q.set(b.dataset.precedence,g=b));b=0;h=[];var l,a;for(k=!0;;){if(k){var e=y[b++];if(!e){k=!1;b=0;continue}var c=!1,m=0;var d=e[m++];if(a=p.get(d)){var f=a._p;c=!0}else{a=r.createElement("link");a.href=\nd;a.rel="stylesheet";for(a.dataset.precedence=l=e[m++];f=e[m++];)a.setAttribute(f,e[m++]);f=a._p=new Promise(function(n,z){a.onload=v.bind(a,n);a.onerror=v.bind(a,z)});p.set(d,a)}d=a.getAttribute("media");!f||d&&!matchMedia(d).matches||h.push(f);if(c)continue}else{a=x[b++];if(!a)break;l=a.getAttribute("data-precedence");a.removeAttribute("media")}c=q.get(l)||g;c===g&&(g=a);q.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=r.head,c.insertBefore(a,c.firstChild))}Promise.all(h).then(w.bind(null,\nt,u,""),w.bind(null,t,u,"Resource failed to load"))};$RR("' - ), - completeBoundaryWithStylesScript1FullPartial = stringToPrecomputedChunk( - '$RM=new Map;\n$RR=function(t,u,y){function v(n){this._p=null;n()}for(var w=$RC,p=$RM,q=new Map,r=document,g,b,h=r.querySelectorAll("link[data-precedence],style[data-precedence]"),x=[],k=0;b=h[k++];)"not all"===b.getAttribute("media")?x.push(b):("LINK"===b.tagName&&p.set(b.getAttribute("href"),b),q.set(b.dataset.precedence,g=b));b=0;h=[];var l,a;for(k=!0;;){if(k){var e=y[b++];if(!e){k=!1;b=0;continue}var c=!1,m=0;var d=e[m++];if(a=p.get(d)){var f=a._p;c=!0}else{a=r.createElement("link");a.href=\nd;a.rel="stylesheet";for(a.dataset.precedence=l=e[m++];f=e[m++];)a.setAttribute(f,e[m++]);f=a._p=new Promise(function(n,z){a.onload=v.bind(a,n);a.onerror=v.bind(a,z)});p.set(d,a)}d=a.getAttribute("media");!f||d&&!matchMedia(d).matches||h.push(f);if(c)continue}else{a=x[b++];if(!a)break;l=a.getAttribute("data-precedence");a.removeAttribute("media")}c=q.get(l)||g;c===g&&(g=a);q.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=r.head,c.insertBefore(a,c.firstChild))}Promise.all(h).then(w.bind(null,\nt,u,""),w.bind(null,t,u,"Resource failed to load"))};$RR("' - ), - completeBoundaryWithStylesScript1Partial = stringToPrecomputedChunk('$RR("'), - completeBoundaryScript2 = stringToPrecomputedChunk('","'), - completeBoundaryScript3a = stringToPrecomputedChunk('",'), - completeBoundaryScript3b = stringToPrecomputedChunk('"'), - completeBoundaryScriptEnd = stringToPrecomputedChunk(")\x3c/script>"); -stringToPrecomputedChunk('<template data-rci="" data-bid="'); -stringToPrecomputedChunk('<template data-rri="" data-bid="'); -stringToPrecomputedChunk('" data-sid="'); -stringToPrecomputedChunk('" data-sty="'); -var clientRenderScript1Full = stringToPrecomputedChunk( - '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX("' - ), - clientRenderScript1Partial = stringToPrecomputedChunk('$RX("'), - clientRenderScript1A = stringToPrecomputedChunk('"'), - clientRenderErrorScriptArgInterstitial = stringToPrecomputedChunk(","), - clientRenderScriptEnd = stringToPrecomputedChunk(")\x3c/script>"); -stringToPrecomputedChunk('<template data-rxi="" data-bid="'); -stringToPrecomputedChunk('" data-dgst="'); -stringToPrecomputedChunk('" data-msg="'); -stringToPrecomputedChunk('" data-stck="'); -stringToPrecomputedChunk('" data-cstck="'); -var regexForJSStringsInInstructionScripts = /[<\u2028\u2029]/g; -function escapeJSStringsForInstructionScripts(input) { - return JSON.stringify(input).replace( - regexForJSStringsInInstructionScripts, - function (match) { - switch (match) { - case "<": - return "\\u003c"; - case "\u2028": - return "\\u2028"; - case "\u2029": - return "\\u2029"; - default: - throw Error( - "escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React" - ); - } - } - ); -} -var regexForJSStringsInScripts = /[&><\u2028\u2029]/g; -function escapeJSObjectForInstructionScripts(input) { - return JSON.stringify(input).replace( - regexForJSStringsInScripts, - function (match) { - switch (match) { - case "&": - return "\\u0026"; - case ">": - return "\\u003e"; - case "<": - return "\\u003c"; - case "\u2028": - return "\\u2028"; - case "\u2029": - return "\\u2029"; - default: - throw Error( - "escapeJSObjectForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React" - ); - } - } - ); -} -var lateStyleTagResourceOpen1 = stringToPrecomputedChunk( - '<style media="not all" data-precedence="' - ), - lateStyleTagResourceOpen2 = stringToPrecomputedChunk('" data-href="'), - lateStyleTagResourceOpen3 = stringToPrecomputedChunk('">'), - lateStyleTagTemplateClose = stringToPrecomputedChunk("</style>"), - currentlyRenderingBoundaryHasStylesToHoist = !1, - destinationHasCapacity = !0; -function flushStyleTagsLateForBoundary(styleQueue) { - var rules = styleQueue.rules, - hrefs = styleQueue.hrefs, - i = 0; - if (hrefs.length) { - writeChunk(this, lateStyleTagResourceOpen1); - writeChunk(this, styleQueue.precedence); - for (writeChunk(this, lateStyleTagResourceOpen2); i < hrefs.length - 1; i++) - writeChunk(this, hrefs[i]), writeChunk(this, spaceSeparator); - writeChunk(this, hrefs[i]); - writeChunk(this, lateStyleTagResourceOpen3); - for (i = 0; i < rules.length; i++) writeChunk(this, rules[i]); - destinationHasCapacity = writeChunkAndReturn( - this, - lateStyleTagTemplateClose - ); - currentlyRenderingBoundaryHasStylesToHoist = !0; - rules.length = 0; - hrefs.length = 0; - } -} -function hasStylesToHoist(stylesheet) { - return 2 !== stylesheet.state - ? (currentlyRenderingBoundaryHasStylesToHoist = !0) - : !1; -} -function writeHoistablesForBoundary(destination, hoistableState, renderState) { - currentlyRenderingBoundaryHasStylesToHoist = !1; - destinationHasCapacity = !0; - hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination); - hoistableState.stylesheets.forEach(hasStylesToHoist); - currentlyRenderingBoundaryHasStylesToHoist && - (renderState.stylesToHoist = !0); - return destinationHasCapacity; -} -function flushResource(resource) { - for (var i = 0; i < resource.length; i++) writeChunk(this, resource[i]); - resource.length = 0; -} -var stylesheetFlushingQueue = []; -function flushStyleInPreamble(stylesheet) { - pushLinkImpl(stylesheetFlushingQueue, stylesheet.props); - for (var i = 0; i < stylesheetFlushingQueue.length; i++) - writeChunk(this, stylesheetFlushingQueue[i]); - stylesheetFlushingQueue.length = 0; - stylesheet.state = 2; -} -var styleTagResourceOpen1 = stringToPrecomputedChunk( - '<style data-precedence="' - ), - styleTagResourceOpen2 = stringToPrecomputedChunk('" data-href="'), - spaceSeparator = stringToPrecomputedChunk(" "), - styleTagResourceOpen3 = stringToPrecomputedChunk('">'), - styleTagResourceClose = stringToPrecomputedChunk("</style>"); -function flushStylesInPreamble(styleQueue) { - var hasStylesheets = 0 < styleQueue.sheets.size; - styleQueue.sheets.forEach(flushStyleInPreamble, this); - styleQueue.sheets.clear(); - var rules = styleQueue.rules, - hrefs = styleQueue.hrefs; - if (!hasStylesheets || hrefs.length) { - writeChunk(this, styleTagResourceOpen1); - writeChunk(this, styleQueue.precedence); - styleQueue = 0; - if (hrefs.length) { - for ( - writeChunk(this, styleTagResourceOpen2); - styleQueue < hrefs.length - 1; - styleQueue++ - ) - writeChunk(this, hrefs[styleQueue]), writeChunk(this, spaceSeparator); - writeChunk(this, hrefs[styleQueue]); - } - writeChunk(this, styleTagResourceOpen3); - for (styleQueue = 0; styleQueue < rules.length; styleQueue++) - writeChunk(this, rules[styleQueue]); - writeChunk(this, styleTagResourceClose); - rules.length = 0; - hrefs.length = 0; - } -} -function preloadLateStyle(stylesheet) { - if (0 === stylesheet.state) { - stylesheet.state = 1; - var props = stylesheet.props; - pushLinkImpl(stylesheetFlushingQueue, { - rel: "preload", - as: "style", - href: stylesheet.props.href, - crossOrigin: props.crossOrigin, - fetchPriority: props.fetchPriority, - integrity: props.integrity, - media: props.media, - hrefLang: props.hrefLang, - referrerPolicy: props.referrerPolicy - }); - for ( - stylesheet = 0; - stylesheet < stylesheetFlushingQueue.length; - stylesheet++ - ) - writeChunk(this, stylesheetFlushingQueue[stylesheet]); - stylesheetFlushingQueue.length = 0; - } -} -function preloadLateStyles(styleQueue) { - styleQueue.sheets.forEach(preloadLateStyle, this); - styleQueue.sheets.clear(); -} -var arrayFirstOpenBracket = stringToPrecomputedChunk("["), - arraySubsequentOpenBracket = stringToPrecomputedChunk(",["), - arrayInterstitial = stringToPrecomputedChunk(","), - arrayCloseBracket = stringToPrecomputedChunk("]"); -function writeStyleResourceDependenciesInJS(destination, hoistableState) { - writeChunk(destination, arrayFirstOpenBracket); - var nextArrayOpenBrackChunk = arrayFirstOpenBracket; - hoistableState.stylesheets.forEach(function (resource) { - if (2 !== resource.state) - if (3 === resource.state) - writeChunk(destination, nextArrayOpenBrackChunk), - writeChunk( - destination, - escapeJSObjectForInstructionScripts("" + resource.props.href) - ), - writeChunk(destination, arrayCloseBracket), - (nextArrayOpenBrackChunk = arraySubsequentOpenBracket); - else { - writeChunk(destination, nextArrayOpenBrackChunk); - var precedence = resource.props["data-precedence"], - props = resource.props, - coercedHref = sanitizeURL("" + resource.props.href); - writeChunk( - destination, - escapeJSObjectForInstructionScripts(coercedHref) - ); - precedence = "" + precedence; - writeChunk(destination, arrayInterstitial); - writeChunk( - destination, - escapeJSObjectForInstructionScripts(precedence) - ); - for (var propKey in props) - if ( - hasOwnProperty.call(props, propKey) && - ((precedence = props[propKey]), null != precedence) - ) - switch (propKey) { - case "href": - case "rel": - case "precedence": - case "data-precedence": - break; - case "children": - case "dangerouslySetInnerHTML": - throw Error( - "link is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`." - ); - default: - writeStyleResourceAttributeInJS( - destination, - propKey, - precedence - ); - } - writeChunk(destination, arrayCloseBracket); - nextArrayOpenBrackChunk = arraySubsequentOpenBracket; - resource.state = 3; - } - }); - writeChunk(destination, arrayCloseBracket); -} -function writeStyleResourceAttributeInJS(destination, name, value) { - var attributeName = name.toLowerCase(); - switch (typeof value) { - case "function": - case "symbol": - return; - } - switch (name) { - case "innerHTML": - case "dangerouslySetInnerHTML": - case "suppressContentEditableWarning": - case "suppressHydrationWarning": - case "style": - case "ref": - return; - case "className": - attributeName = "class"; - name = "" + value; - break; - case "hidden": - if (!1 === value) return; - name = ""; - break; - case "src": - case "href": - value = sanitizeURL(value); - name = "" + value; - break; - default: - if ( - (2 < name.length && - ("o" === name[0] || "O" === name[0]) && - ("n" === name[1] || "N" === name[1])) || - !isAttributeNameSafe(name) - ) - return; - name = "" + value; - } - writeChunk(destination, arrayInterstitial); - writeChunk(destination, escapeJSObjectForInstructionScripts(attributeName)); - writeChunk(destination, arrayInterstitial); - writeChunk(destination, escapeJSObjectForInstructionScripts(name)); -} -function createHoistableState() { - return { styles: new Set(), stylesheets: new Set() }; -} -function prefetchDNS(href) { - var request = resolveRequest(); - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if ("string" === typeof href && href) { - if (!resumableState.dnsResources.hasOwnProperty(href)) { - resumableState.dnsResources[href] = null; - resumableState = renderState.headers; - var header, JSCompiler_temp; - if ( - (JSCompiler_temp = - resumableState && 0 < resumableState.remainingCapacity) - ) - JSCompiler_temp = - ((header = - "<" + - ("" + href).replace( - regexForHrefInLinkHeaderURLContext, - escapeHrefForLinkHeaderURLContextReplacer - ) + - ">; rel=dns-prefetch"), - 0 <= (resumableState.remainingCapacity -= header.length + 2)); - JSCompiler_temp - ? ((renderState.resets.dns[href] = null), - resumableState.preconnects && (resumableState.preconnects += ", "), - (resumableState.preconnects += header)) - : ((header = []), - pushLinkImpl(header, { href: href, rel: "dns-prefetch" }), - renderState.preconnects.add(header)); - } - enqueueFlush(request); - } - } else previousDispatcher.D(href); -} -function preconnect(href, crossOrigin) { - var request = resolveRequest(); - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if ("string" === typeof href && href) { - var bucket = - "use-credentials" === crossOrigin - ? "credentials" - : "string" === typeof crossOrigin - ? "anonymous" - : "default"; - if (!resumableState.connectResources[bucket].hasOwnProperty(href)) { - resumableState.connectResources[bucket][href] = null; - resumableState = renderState.headers; - var header, JSCompiler_temp; - if ( - (JSCompiler_temp = - resumableState && 0 < resumableState.remainingCapacity) - ) { - JSCompiler_temp = - "<" + - ("" + href).replace( - regexForHrefInLinkHeaderURLContext, - escapeHrefForLinkHeaderURLContextReplacer - ) + - ">; rel=preconnect"; - if ("string" === typeof crossOrigin) { - var escapedCrossOrigin = ("" + crossOrigin).replace( - regexForLinkHeaderQuotedParamValueContext, - escapeStringForLinkHeaderQuotedParamValueContextReplacer - ); - JSCompiler_temp += '; crossorigin="' + escapedCrossOrigin + '"'; - } - JSCompiler_temp = - ((header = JSCompiler_temp), - 0 <= (resumableState.remainingCapacity -= header.length + 2)); - } - JSCompiler_temp - ? ((renderState.resets.connect[bucket][href] = null), - resumableState.preconnects && (resumableState.preconnects += ", "), - (resumableState.preconnects += header)) - : ((bucket = []), - pushLinkImpl(bucket, { - rel: "preconnect", - href: href, - crossOrigin: crossOrigin - }), - renderState.preconnects.add(bucket)); - } - enqueueFlush(request); - } - } else previousDispatcher.C(href, crossOrigin); -} -function preload(href, as, options) { - var request = resolveRequest(); - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if (as && href) { - switch (as) { - case "image": - if (options) { - var imageSrcSet = options.imageSrcSet; - var imageSizes = options.imageSizes; - var fetchPriority = options.fetchPriority; - } - var key = imageSrcSet - ? imageSrcSet + "\n" + (imageSizes || "") - : href; - if (resumableState.imageResources.hasOwnProperty(key)) return; - resumableState.imageResources[key] = PRELOAD_NO_CREDS; - resumableState = renderState.headers; - var header; - resumableState && - 0 < resumableState.remainingCapacity && - "high" === fetchPriority && - ((header = getPreloadAsHeader(href, as, options)), - 0 <= (resumableState.remainingCapacity -= header.length + 2)) - ? ((renderState.resets.image[key] = PRELOAD_NO_CREDS), - resumableState.highImagePreloads && - (resumableState.highImagePreloads += ", "), - (resumableState.highImagePreloads += header)) - : ((resumableState = []), - pushLinkImpl( - resumableState, - assign( - { rel: "preload", href: imageSrcSet ? void 0 : href, as: as }, - options - ) - ), - "high" === fetchPriority - ? renderState.highImagePreloads.add(resumableState) - : (renderState.bulkPreloads.add(resumableState), - renderState.preloads.images.set(key, resumableState))); - break; - case "style": - if (resumableState.styleResources.hasOwnProperty(href)) return; - imageSrcSet = []; - pushLinkImpl( - imageSrcSet, - assign({ rel: "preload", href: href, as: as }, options) - ); - resumableState.styleResources[href] = - !options || - ("string" !== typeof options.crossOrigin && - "string" !== typeof options.integrity) - ? PRELOAD_NO_CREDS - : [options.crossOrigin, options.integrity]; - renderState.preloads.stylesheets.set(href, imageSrcSet); - renderState.bulkPreloads.add(imageSrcSet); - break; - case "script": - if (resumableState.scriptResources.hasOwnProperty(href)) return; - imageSrcSet = []; - renderState.preloads.scripts.set(href, imageSrcSet); - renderState.bulkPreloads.add(imageSrcSet); - pushLinkImpl( - imageSrcSet, - assign({ rel: "preload", href: href, as: as }, options) - ); - resumableState.scriptResources[href] = - !options || - ("string" !== typeof options.crossOrigin && - "string" !== typeof options.integrity) - ? PRELOAD_NO_CREDS - : [options.crossOrigin, options.integrity]; - break; - default: - if (resumableState.unknownResources.hasOwnProperty(as)) { - if ( - ((imageSrcSet = resumableState.unknownResources[as]), - imageSrcSet.hasOwnProperty(href)) - ) - return; - } else - (imageSrcSet = {}), - (resumableState.unknownResources[as] = imageSrcSet); - imageSrcSet[href] = PRELOAD_NO_CREDS; - if ( - (resumableState = renderState.headers) && - 0 < resumableState.remainingCapacity && - "font" === as && - ((key = getPreloadAsHeader(href, as, options)), - 0 <= (resumableState.remainingCapacity -= key.length + 2)) - ) - (renderState.resets.font[href] = PRELOAD_NO_CREDS), - resumableState.fontPreloads && - (resumableState.fontPreloads += ", "), - (resumableState.fontPreloads += key); - else - switch ( - ((resumableState = []), - (href = assign({ rel: "preload", href: href, as: as }, options)), - pushLinkImpl(resumableState, href), - as) - ) { - case "font": - renderState.fontPreloads.add(resumableState); - break; - default: - renderState.bulkPreloads.add(resumableState); - } - } - enqueueFlush(request); - } - } else previousDispatcher.L(href, as, options); -} -function preloadModule(href, options) { - var request = resolveRequest(); - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if (href) { - var as = - options && "string" === typeof options.as ? options.as : "script"; - switch (as) { - case "script": - if (resumableState.moduleScriptResources.hasOwnProperty(href)) return; - as = []; - resumableState.moduleScriptResources[href] = - !options || - ("string" !== typeof options.crossOrigin && - "string" !== typeof options.integrity) - ? PRELOAD_NO_CREDS - : [options.crossOrigin, options.integrity]; - renderState.preloads.moduleScripts.set(href, as); - break; - default: - if (resumableState.moduleUnknownResources.hasOwnProperty(as)) { - var resources = resumableState.unknownResources[as]; - if (resources.hasOwnProperty(href)) return; - } else - (resources = {}), - (resumableState.moduleUnknownResources[as] = resources); - as = []; - resources[href] = PRELOAD_NO_CREDS; - } - pushLinkImpl(as, assign({ rel: "modulepreload", href: href }, options)); - renderState.bulkPreloads.add(as); - enqueueFlush(request); - } - } else previousDispatcher.m(href, options); -} -function preinitStyle(href, precedence, options) { - var request = resolveRequest(); - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if (href) { - precedence = precedence || "default"; - var styleQueue = renderState.styles.get(precedence), - resourceState = resumableState.styleResources.hasOwnProperty(href) - ? resumableState.styleResources[href] - : void 0; - null !== resourceState && - ((resumableState.styleResources[href] = null), - styleQueue || - ((styleQueue = { - precedence: escapeTextForBrowser(precedence), - rules: [], - hrefs: [], - sheets: new Map() - }), - renderState.styles.set(precedence, styleQueue)), - (precedence = { - state: 0, - props: assign( - { rel: "stylesheet", href: href, "data-precedence": precedence }, - options - ) - }), - resourceState && - (2 === resourceState.length && - adoptPreloadCredentials(precedence.props, resourceState), - (renderState = renderState.preloads.stylesheets.get(href)) && - 0 < renderState.length - ? (renderState.length = 0) - : (precedence.state = 1)), - styleQueue.sheets.set(href, precedence), - enqueueFlush(request)); - } - } else previousDispatcher.S(href, precedence, options); -} -function preinitScript(src, options) { - var request = resolveRequest(); - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if (src) { - var resourceState = resumableState.scriptResources.hasOwnProperty(src) - ? resumableState.scriptResources[src] - : void 0; - null !== resourceState && - ((resumableState.scriptResources[src] = null), - (options = assign({ src: src, async: !0 }, options)), - resourceState && - (2 === resourceState.length && - adoptPreloadCredentials(options, resourceState), - (src = renderState.preloads.scripts.get(src))) && - (src.length = 0), - (src = []), - renderState.scripts.add(src), - pushScriptImpl(src, options), - enqueueFlush(request)); - } - } else previousDispatcher.X(src, options); -} -function preinitModuleScript(src, options) { - var request = resolveRequest(); - if (request) { - var resumableState = request.resumableState, - renderState = request.renderState; - if (src) { - var resourceState = resumableState.moduleScriptResources.hasOwnProperty( - src - ) - ? resumableState.moduleScriptResources[src] - : void 0; - null !== resourceState && - ((resumableState.moduleScriptResources[src] = null), - (options = assign({ src: src, type: "module", async: !0 }, options)), - resourceState && - (2 === resourceState.length && - adoptPreloadCredentials(options, resourceState), - (src = renderState.preloads.moduleScripts.get(src))) && - (src.length = 0), - (src = []), - renderState.scripts.add(src), - pushScriptImpl(src, options), - enqueueFlush(request)); - } - } else previousDispatcher.M(src, options); -} -function adoptPreloadCredentials(target, preloadState) { - null == target.crossOrigin && (target.crossOrigin = preloadState[0]); - null == target.integrity && (target.integrity = preloadState[1]); -} -function getPreloadAsHeader(href, as, params) { - href = ("" + href).replace( - regexForHrefInLinkHeaderURLContext, - escapeHrefForLinkHeaderURLContextReplacer - ); - as = ("" + as).replace( - regexForLinkHeaderQuotedParamValueContext, - escapeStringForLinkHeaderQuotedParamValueContextReplacer - ); - as = "<" + href + '>; rel=preload; as="' + as + '"'; - for (var paramName in params) - hasOwnProperty.call(params, paramName) && - ((href = params[paramName]), - "string" === typeof href && - (as += - "; " + - paramName.toLowerCase() + - '="' + - ("" + href).replace( - regexForLinkHeaderQuotedParamValueContext, - escapeStringForLinkHeaderQuotedParamValueContextReplacer - ) + - '"')); - return as; -} -var regexForHrefInLinkHeaderURLContext = /[<>\r\n]/g; -function escapeHrefForLinkHeaderURLContextReplacer(match) { - switch (match) { - case "<": - return "%3C"; - case ">": - return "%3E"; - case "\n": - return "%0A"; - case "\r": - return "%0D"; - default: - throw Error( - "escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React" - ); - } -} -var regexForLinkHeaderQuotedParamValueContext = /["';,\r\n]/g; -function escapeStringForLinkHeaderQuotedParamValueContextReplacer(match) { - switch (match) { - case '"': - return "%22"; - case "'": - return "%27"; - case ";": - return "%3B"; - case ",": - return "%2C"; - case "\n": - return "%0A"; - case "\r": - return "%0D"; - default: - throw Error( - "escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React" - ); - } -} -function hoistStyleQueueDependency(styleQueue) { - this.styles.add(styleQueue); -} -function hoistStylesheetDependency(stylesheet) { - this.stylesheets.add(stylesheet); -} -var bind = Function.prototype.bind, - requestStorage = new async_hooks.AsyncLocalStorage(), - REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"); -function getComponentNameFromType(type) { - if (null == type) return null; - if ("function" === typeof type) - return type.$$typeof === REACT_CLIENT_REFERENCE - ? null - : type.displayName || type.name || null; - if ("string" === typeof type) return type; - switch (type) { - case REACT_FRAGMENT_TYPE: - return "Fragment"; - case REACT_PORTAL_TYPE: - return "Portal"; - case REACT_PROFILER_TYPE: - return "Profiler"; - case REACT_STRICT_MODE_TYPE: - return "StrictMode"; - case REACT_SUSPENSE_TYPE: - return "Suspense"; - case REACT_SUSPENSE_LIST_TYPE: - return "SuspenseList"; - } - if ("object" === typeof type) - switch (type.$$typeof) { - case REACT_CONTEXT_TYPE: - return (type.displayName || "Context") + ".Provider"; - case REACT_CONSUMER_TYPE: - return (type._context.displayName || "Context") + ".Consumer"; - case REACT_FORWARD_REF_TYPE: - var innerType = type.render; - type = type.displayName; - type || - ((type = innerType.displayName || innerType.name || ""), - (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef")); - return type; - case REACT_MEMO_TYPE: - return ( - (innerType = type.displayName || null), - null !== innerType - ? innerType - : getComponentNameFromType(type.type) || "Memo" - ); - case REACT_LAZY_TYPE: - innerType = type._payload; - type = type._init; - try { - return getComponentNameFromType(type(innerType)); - } catch (x) {} - } - return null; -} -var emptyContextObject = {}, - currentActiveSnapshot = null; -function popToNearestCommonAncestor(prev, next) { - if (prev !== next) { - prev.context._currentValue = prev.parentValue; - prev = prev.parent; - var parentNext = next.parent; - if (null === prev) { - if (null !== parentNext) - throw Error( - "The stacks must reach the root at the same time. This is a bug in React." - ); - } else { - if (null === parentNext) - throw Error( - "The stacks must reach the root at the same time. This is a bug in React." - ); - popToNearestCommonAncestor(prev, parentNext); - } - next.context._currentValue = next.value; - } -} -function popAllPrevious(prev) { - prev.context._currentValue = prev.parentValue; - prev = prev.parent; - null !== prev && popAllPrevious(prev); -} -function pushAllNext(next) { - var parentNext = next.parent; - null !== parentNext && pushAllNext(parentNext); - next.context._currentValue = next.value; -} -function popPreviousToCommonLevel(prev, next) { - prev.context._currentValue = prev.parentValue; - prev = prev.parent; - if (null === prev) - throw Error( - "The depth must equal at least at zero before reaching the root. This is a bug in React." - ); - prev.depth === next.depth - ? popToNearestCommonAncestor(prev, next) - : popPreviousToCommonLevel(prev, next); -} -function popNextToCommonLevel(prev, next) { - var parentNext = next.parent; - if (null === parentNext) - throw Error( - "The depth must equal at least at zero before reaching the root. This is a bug in React." - ); - prev.depth === parentNext.depth - ? popToNearestCommonAncestor(prev, parentNext) - : popNextToCommonLevel(prev, parentNext); - next.context._currentValue = next.value; -} -function switchContext(newSnapshot) { - var prev = currentActiveSnapshot; - prev !== newSnapshot && - (null === prev - ? pushAllNext(newSnapshot) - : null === newSnapshot - ? popAllPrevious(prev) - : prev.depth === newSnapshot.depth - ? popToNearestCommonAncestor(prev, newSnapshot) - : prev.depth > newSnapshot.depth - ? popPreviousToCommonLevel(prev, newSnapshot) - : popNextToCommonLevel(prev, newSnapshot), - (currentActiveSnapshot = newSnapshot)); -} -var classComponentUpdater = { - isMounted: function () { - return !1; - }, - enqueueSetState: function (inst, payload) { - inst = inst._reactInternals; - null !== inst.queue && inst.queue.push(payload); - }, - enqueueReplaceState: function (inst, payload) { - inst = inst._reactInternals; - inst.replace = !0; - inst.queue = [payload]; - }, - enqueueForceUpdate: function () {} - }, - emptyTreeContext = { id: 1, overflow: "" }; -function pushTreeContext(baseContext, totalChildren, index) { - var baseIdWithLeadingBit = baseContext.id; - baseContext = baseContext.overflow; - var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1; - baseIdWithLeadingBit &= ~(1 << baseLength); - index += 1; - var length = 32 - clz32(totalChildren) + baseLength; - if (30 < length) { - var numberOfOverflowBits = baseLength - (baseLength % 5); - length = ( - baseIdWithLeadingBit & - ((1 << numberOfOverflowBits) - 1) - ).toString(32); - baseIdWithLeadingBit >>= numberOfOverflowBits; - baseLength -= numberOfOverflowBits; - return { - id: - (1 << (32 - clz32(totalChildren) + baseLength)) | - (index << baseLength) | - baseIdWithLeadingBit, - overflow: length + baseContext - }; - } - return { - id: (1 << length) | (index << baseLength) | baseIdWithLeadingBit, - overflow: baseContext - }; -} -var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, - log = Math.log, - LN2 = Math.LN2; -function clz32Fallback(x) { - x >>>= 0; - return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0; -} -var SuspenseException = Error( - "Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`" -); -function noop$2() {} -function trackUsedThenable(thenableState, thenable, index) { - index = thenableState[index]; - void 0 === index - ? thenableState.push(thenable) - : index !== thenable && (thenable.then(noop$2, noop$2), (thenable = index)); - switch (thenable.status) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - default: - "string" === typeof thenable.status - ? thenable.then(noop$2, noop$2) - : ((thenableState = thenable), - (thenableState.status = "pending"), - thenableState.then( - function (fulfilledValue) { - if ("pending" === thenable.status) { - var fulfilledThenable = thenable; - fulfilledThenable.status = "fulfilled"; - fulfilledThenable.value = fulfilledValue; - } - }, - function (error) { - if ("pending" === thenable.status) { - var rejectedThenable = thenable; - rejectedThenable.status = "rejected"; - rejectedThenable.reason = error; - } - } - )); - switch (thenable.status) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - } - suspendedThenable = thenable; - throw SuspenseException; - } -} -var suspendedThenable = null; -function getSuspendedThenable() { - if (null === suspendedThenable) - throw Error( - "Expected a suspended thenable. This is a bug in React. Please file an issue." - ); - var thenable = suspendedThenable; - suspendedThenable = null; - return thenable; -} -function is(x, y) { - return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y); -} -var objectIs = "function" === typeof Object.is ? Object.is : is, - currentlyRenderingComponent = null, - currentlyRenderingTask = null, - currentlyRenderingRequest = null, - currentlyRenderingKeyPath = null, - firstWorkInProgressHook = null, - workInProgressHook = null, - isReRender = !1, - didScheduleRenderPhaseUpdate = !1, - localIdCounter = 0, - actionStateCounter = 0, - actionStateMatchingIndex = -1, - thenableIndexCounter = 0, - thenableState = null, - renderPhaseUpdates = null, - numberOfReRenders = 0; -function resolveCurrentlyRenderingComponent() { - if (null === currentlyRenderingComponent) - throw Error( - "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." - ); - return currentlyRenderingComponent; -} -function createHook() { - if (0 < numberOfReRenders) - throw Error("Rendered more hooks than during the previous render"); - return { memoizedState: null, queue: null, next: null }; -} -function createWorkInProgressHook() { - null === workInProgressHook - ? null === firstWorkInProgressHook - ? ((isReRender = !1), - (firstWorkInProgressHook = workInProgressHook = createHook())) - : ((isReRender = !0), (workInProgressHook = firstWorkInProgressHook)) - : null === workInProgressHook.next - ? ((isReRender = !1), - (workInProgressHook = workInProgressHook.next = createHook())) - : ((isReRender = !0), (workInProgressHook = workInProgressHook.next)); - return workInProgressHook; -} -function getThenableStateAfterSuspending() { - var state = thenableState; - thenableState = null; - return state; -} -function resetHooksState() { - currentlyRenderingKeyPath = - currentlyRenderingRequest = - currentlyRenderingTask = - currentlyRenderingComponent = - null; - didScheduleRenderPhaseUpdate = !1; - firstWorkInProgressHook = null; - numberOfReRenders = 0; - workInProgressHook = renderPhaseUpdates = null; -} -function basicStateReducer(state, action) { - return "function" === typeof action ? action(state) : action; -} -function useReducer(reducer, initialArg, init) { - currentlyRenderingComponent = resolveCurrentlyRenderingComponent(); - workInProgressHook = createWorkInProgressHook(); - if (isReRender) { - var queue = workInProgressHook.queue; - initialArg = queue.dispatch; - if ( - null !== renderPhaseUpdates && - ((init = renderPhaseUpdates.get(queue)), void 0 !== init) - ) { - renderPhaseUpdates.delete(queue); - queue = workInProgressHook.memoizedState; - do (queue = reducer(queue, init.action)), (init = init.next); - while (null !== init); - workInProgressHook.memoizedState = queue; - return [queue, initialArg]; - } - return [workInProgressHook.memoizedState, initialArg]; - } - reducer = - reducer === basicStateReducer - ? "function" === typeof initialArg - ? initialArg() - : initialArg - : void 0 !== init - ? init(initialArg) - : initialArg; - workInProgressHook.memoizedState = reducer; - reducer = workInProgressHook.queue = { last: null, dispatch: null }; - reducer = reducer.dispatch = dispatchAction.bind( - null, - currentlyRenderingComponent, - reducer - ); - return [workInProgressHook.memoizedState, reducer]; -} -function useMemo(nextCreate, deps) { - currentlyRenderingComponent = resolveCurrentlyRenderingComponent(); - workInProgressHook = createWorkInProgressHook(); - deps = void 0 === deps ? null : deps; - if (null !== workInProgressHook) { - var prevState = workInProgressHook.memoizedState; - if (null !== prevState && null !== deps) { - var prevDeps = prevState[1]; - a: if (null === prevDeps) prevDeps = !1; - else { - for (var i = 0; i < prevDeps.length && i < deps.length; i++) - if (!objectIs(deps[i], prevDeps[i])) { - prevDeps = !1; - break a; - } - prevDeps = !0; - } - if (prevDeps) return prevState[0]; - } - } - nextCreate = nextCreate(); - workInProgressHook.memoizedState = [nextCreate, deps]; - return nextCreate; -} -function dispatchAction(componentIdentity, queue, action) { - if (25 <= numberOfReRenders) - throw Error( - "Too many re-renders. React limits the number of renders to prevent an infinite loop." - ); - if (componentIdentity === currentlyRenderingComponent) - if ( - ((didScheduleRenderPhaseUpdate = !0), - (componentIdentity = { action: action, next: null }), - null === renderPhaseUpdates && (renderPhaseUpdates = new Map()), - (action = renderPhaseUpdates.get(queue)), - void 0 === action) - ) - renderPhaseUpdates.set(queue, componentIdentity); - else { - for (queue = action; null !== queue.next; ) queue = queue.next; - queue.next = componentIdentity; - } -} -function unsupportedStartTransition() { - throw Error("startTransition cannot be called during server rendering."); -} -function unsupportedSetOptimisticState() { - throw Error("Cannot update optimistic state while rendering."); -} -function createPostbackActionStateKey(permalink, componentKeyPath, hookIndex) { - if (void 0 !== permalink) return "p" + permalink; - permalink = JSON.stringify([componentKeyPath, null, hookIndex]); - componentKeyPath = crypto.createHash("md5"); - componentKeyPath.update(permalink); - return "k" + componentKeyPath.digest("hex"); -} -function useActionState(action, initialState, permalink) { - resolveCurrentlyRenderingComponent(); - var actionStateHookIndex = actionStateCounter++, - request = currentlyRenderingRequest; - if ("function" === typeof action.$$FORM_ACTION) { - var nextPostbackStateKey = null, - componentKeyPath = currentlyRenderingKeyPath; - request = request.formState; - var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL; - if (null !== request && "function" === typeof isSignatureEqual) { - var postbackKey = request[1]; - isSignatureEqual.call(action, request[2], request[3]) && - ((nextPostbackStateKey = createPostbackActionStateKey( - permalink, - componentKeyPath, - actionStateHookIndex - )), - postbackKey === nextPostbackStateKey && - ((actionStateMatchingIndex = actionStateHookIndex), - (initialState = request[0]))); - } - var boundAction = action.bind(null, initialState); - action = function (payload) { - boundAction(payload); - }; - "function" === typeof boundAction.$$FORM_ACTION && - (action.$$FORM_ACTION = function (prefix) { - prefix = boundAction.$$FORM_ACTION(prefix); - void 0 !== permalink && - ((permalink += ""), (prefix.action = permalink)); - var formData = prefix.data; - formData && - (null === nextPostbackStateKey && - (nextPostbackStateKey = createPostbackActionStateKey( - permalink, - componentKeyPath, - actionStateHookIndex - )), - formData.append("$ACTION_KEY", nextPostbackStateKey)); - return prefix; - }); - return [initialState, action, !1]; - } - var boundAction$22 = action.bind(null, initialState); - return [ - initialState, - function (payload) { - boundAction$22(payload); - }, - !1 - ]; -} -function unwrapThenable(thenable) { - var index = thenableIndexCounter; - thenableIndexCounter += 1; - null === thenableState && (thenableState = []); - return trackUsedThenable(thenableState, thenable, index); -} -function unsupportedRefresh() { - throw Error("Cache cannot be refreshed during server rendering."); -} -function noop$1() {} -var HooksDispatcher = { - readContext: function (context) { - return context._currentValue; - }, - use: function (usable) { - if (null !== usable && "object" === typeof usable) { - if ("function" === typeof usable.then) return unwrapThenable(usable); - if (usable.$$typeof === REACT_CONTEXT_TYPE) return usable._currentValue; - } - throw Error("An unsupported type was passed to use(): " + String(usable)); - }, - useContext: function (context) { - resolveCurrentlyRenderingComponent(); - return context._currentValue; - }, - useMemo: useMemo, - useReducer: useReducer, - useRef: function (initialValue) { - currentlyRenderingComponent = resolveCurrentlyRenderingComponent(); - workInProgressHook = createWorkInProgressHook(); - var previousRef = workInProgressHook.memoizedState; - return null === previousRef - ? ((initialValue = { current: initialValue }), - (workInProgressHook.memoizedState = initialValue)) - : previousRef; - }, - useState: function (initialState) { - return useReducer(basicStateReducer, initialState); - }, - useInsertionEffect: noop$1, - useLayoutEffect: noop$1, - useCallback: function (callback, deps) { - return useMemo(function () { - return callback; - }, deps); - }, - useImperativeHandle: noop$1, - useEffect: noop$1, - useDebugValue: noop$1, - useDeferredValue: function (value, initialValue) { - resolveCurrentlyRenderingComponent(); - return void 0 !== initialValue ? initialValue : value; - }, - useTransition: function () { - resolveCurrentlyRenderingComponent(); - return [!1, unsupportedStartTransition]; - }, - useId: function () { - var JSCompiler_inline_result = currentlyRenderingTask.treeContext; - var overflow = JSCompiler_inline_result.overflow; - JSCompiler_inline_result = JSCompiler_inline_result.id; - JSCompiler_inline_result = - ( - JSCompiler_inline_result & - ~(1 << (32 - clz32(JSCompiler_inline_result) - 1)) - ).toString(32) + overflow; - var resumableState = currentResumableState; - if (null === resumableState) - throw Error( - "Invalid hook call. Hooks can only be called inside of the body of a function component." - ); - overflow = localIdCounter++; - JSCompiler_inline_result = - ":" + resumableState.idPrefix + "R" + JSCompiler_inline_result; - 0 < overflow && (JSCompiler_inline_result += "H" + overflow.toString(32)); - return JSCompiler_inline_result + ":"; - }, - useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) { - if (void 0 === getServerSnapshot) - throw Error( - "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering." - ); - return getServerSnapshot(); - }, - useCacheRefresh: function () { - return unsupportedRefresh; - }, - useMemoCache: function (size) { - for (var data = Array(size), i = 0; i < size; i++) - data[i] = REACT_MEMO_CACHE_SENTINEL; - return data; - }, - useHostTransitionStatus: function () { - resolveCurrentlyRenderingComponent(); - return sharedNotPendingObject; - }, - useOptimistic: function (passthrough) { - resolveCurrentlyRenderingComponent(); - return [passthrough, unsupportedSetOptimisticState]; - } -}; -HooksDispatcher.useFormState = useActionState; -HooksDispatcher.useActionState = useActionState; -var currentResumableState = null, - DefaultAsyncDispatcher = { - getCacheForType: function () { - throw Error("Not implemented."); - } - }; -function prepareStackTrace(error, structuredStackTrace) { - error = (error.name || "Error") + ": " + (error.message || ""); - for (var i = 0; i < structuredStackTrace.length; i++) - error += "\n at " + structuredStackTrace[i].toString(); - return error; -} -var prefix, suffix; -function describeBuiltInComponentFrame(name) { - if (void 0 === prefix) - try { - throw Error(); - } catch (x) { - var match = x.stack.trim().match(/\n( *(at )?)/); - prefix = (match && match[1]) || ""; - suffix = - -1 < x.stack.indexOf("\n at") - ? " (<anonymous>)" - : -1 < x.stack.indexOf("@") - ? "@unknown:0:0" - : ""; - } - return "\n" + prefix + name + suffix; -} -var reentry = !1; -function describeNativeComponentFrame(fn, construct) { - if (!fn || reentry) return ""; - reentry = !0; - var previousPrepareStackTrace = Error.prepareStackTrace; - Error.prepareStackTrace = prepareStackTrace; - try { - var RunInRootFrame = { - DetermineComponentFrameRoot: function () { - try { - if (construct) { - var Fake = function () { - throw Error(); - }; - Object.defineProperty(Fake.prototype, "props", { - set: function () { - throw Error(); - } - }); - if ("object" === typeof Reflect && Reflect.construct) { - try { - Reflect.construct(Fake, []); - } catch (x) { - var control = x; - } - Reflect.construct(fn, [], Fake); - } else { - try { - Fake.call(); - } catch (x$24) { - control = x$24; - } - fn.call(Fake.prototype); - } - } else { - try { - throw Error(); - } catch (x$25) { - control = x$25; - } - (Fake = fn()) && - "function" === typeof Fake.catch && - Fake.catch(function () {}); - } - } catch (sample) { - if (sample && control && "string" === typeof sample.stack) - return [sample.stack, control.stack]; - } - return [null, null]; - } - }; - RunInRootFrame.DetermineComponentFrameRoot.displayName = - "DetermineComponentFrameRoot"; - var namePropDescriptor = Object.getOwnPropertyDescriptor( - RunInRootFrame.DetermineComponentFrameRoot, - "name" - ); - namePropDescriptor && - namePropDescriptor.configurable && - Object.defineProperty( - RunInRootFrame.DetermineComponentFrameRoot, - "name", - { value: "DetermineComponentFrameRoot" } - ); - var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), - sampleStack = _RunInRootFrame$Deter[0], - controlStack = _RunInRootFrame$Deter[1]; - if (sampleStack && controlStack) { - var sampleLines = sampleStack.split("\n"), - controlLines = controlStack.split("\n"); - for ( - namePropDescriptor = RunInRootFrame = 0; - RunInRootFrame < sampleLines.length && - !sampleLines[RunInRootFrame].includes("DetermineComponentFrameRoot"); - - ) - RunInRootFrame++; - for ( - ; - namePropDescriptor < controlLines.length && - !controlLines[namePropDescriptor].includes( - "DetermineComponentFrameRoot" - ); - - ) - namePropDescriptor++; - if ( - RunInRootFrame === sampleLines.length || - namePropDescriptor === controlLines.length - ) - for ( - RunInRootFrame = sampleLines.length - 1, - namePropDescriptor = controlLines.length - 1; - 1 <= RunInRootFrame && - 0 <= namePropDescriptor && - sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]; - - ) - namePropDescriptor--; - for ( - ; - 1 <= RunInRootFrame && 0 <= namePropDescriptor; - RunInRootFrame--, namePropDescriptor-- - ) - if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) { - if (1 !== RunInRootFrame || 1 !== namePropDescriptor) { - do - if ( - (RunInRootFrame--, - namePropDescriptor--, - 0 > namePropDescriptor || - sampleLines[RunInRootFrame] !== - controlLines[namePropDescriptor]) - ) { - var frame = - "\n" + - sampleLines[RunInRootFrame].replace(" at new ", " at "); - fn.displayName && - frame.includes("<anonymous>") && - (frame = frame.replace("<anonymous>", fn.displayName)); - return frame; - } - while (1 <= RunInRootFrame && 0 <= namePropDescriptor); - } - break; - } - } - } finally { - (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace); - } - return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : "") - ? describeBuiltInComponentFrame(previousPrepareStackTrace) - : ""; -} -function describeComponentStackByType(type) { - if ("string" === typeof type) return describeBuiltInComponentFrame(type); - if ("function" === typeof type) - return type.prototype && type.prototype.isReactComponent - ? ((type = describeNativeComponentFrame(type, !0)), type) - : describeNativeComponentFrame(type, !1); - if ("object" === typeof type && null !== type) { - switch (type.$$typeof) { - case REACT_FORWARD_REF_TYPE: - return describeNativeComponentFrame(type.render, !1); - case REACT_MEMO_TYPE: - return describeNativeComponentFrame(type.type, !1); - case REACT_LAZY_TYPE: - var lazyComponent = type, - payload = lazyComponent._payload; - lazyComponent = lazyComponent._init; - try { - type = lazyComponent(payload); - } catch (x) { - return describeBuiltInComponentFrame("Lazy"); - } - return describeComponentStackByType(type); - } - if ("string" === typeof type.name) - return ( - (payload = type.env), - describeBuiltInComponentFrame( - type.name + (payload ? " [" + payload + "]" : "") - ) - ); - } - switch (type) { - case REACT_SUSPENSE_LIST_TYPE: - return describeBuiltInComponentFrame("SuspenseList"); - case REACT_SUSPENSE_TYPE: - return describeBuiltInComponentFrame("Suspense"); - } - return ""; -} -function defaultErrorHandler(error) { - if ( - "object" === typeof error && - null !== error && - "string" === typeof error.environmentName - ) { - var JSCompiler_inline_result = error.environmentName; - error = [error].slice(0); - "string" === typeof error[0] - ? error.splice( - 0, - 1, - "\u001b[0m\u001b[7m%c%s\u001b[0m%c " + error[0], - "background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px", - " " + JSCompiler_inline_result + " ", - "" - ) - : error.splice( - 0, - 0, - "\u001b[0m\u001b[7m%c%s\u001b[0m%c ", - "background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px", - " " + JSCompiler_inline_result + " ", - "" - ); - error.unshift(console); - JSCompiler_inline_result = bind.apply(console.error, error); - JSCompiler_inline_result(); - } else console.error(error); - return null; -} -function noop() {} -function RequestInstance( - resumableState, - renderState, - rootFormatContext, - progressiveChunkSize, - onError, - onAllReady, - onShellReady, - onShellError, - onFatalError, - onPostpone, - formState -) { - var abortSet = new Set(); - this.destination = null; - this.flushScheduled = !1; - this.resumableState = resumableState; - this.renderState = renderState; - this.rootFormatContext = rootFormatContext; - this.progressiveChunkSize = - void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize; - this.status = 10; - this.fatalError = null; - this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0; - this.completedRootSegment = null; - this.abortableTasks = abortSet; - this.pingedTasks = []; - this.clientRenderedBoundaries = []; - this.completedBoundaries = []; - this.partialBoundaries = []; - this.trackedPostpones = null; - this.onError = void 0 === onError ? defaultErrorHandler : onError; - this.onPostpone = void 0 === onPostpone ? noop : onPostpone; - this.onAllReady = void 0 === onAllReady ? noop : onAllReady; - this.onShellReady = void 0 === onShellReady ? noop : onShellReady; - this.onShellError = void 0 === onShellError ? noop : onShellError; - this.onFatalError = void 0 === onFatalError ? noop : onFatalError; - this.formState = void 0 === formState ? null : formState; -} -function createRequest( - children, - resumableState, - renderState, - rootFormatContext, - progressiveChunkSize, - onError, - onAllReady, - onShellReady, - onShellError, - onFatalError, - onPostpone, - formState -) { - resumableState = new RequestInstance( - resumableState, - renderState, - rootFormatContext, - progressiveChunkSize, - onError, - onAllReady, - onShellReady, - onShellError, - onFatalError, - onPostpone, - formState - ); - renderState = createPendingSegment( - resumableState, - 0, - null, - rootFormatContext, - !1, - !1 - ); - renderState.parentFlushed = !0; - children = createRenderTask( - resumableState, - null, - children, - -1, - null, - renderState, - null, - resumableState.abortableTasks, - null, - rootFormatContext, - null, - emptyTreeContext, - null, - !1 - ); - pushComponentStack(children); - resumableState.pingedTasks.push(children); - return resumableState; -} -function createPrerenderRequest( - children, - resumableState, - renderState, - rootFormatContext, - progressiveChunkSize, - onError, - onAllReady, - onShellReady, - onShellError, - onFatalError, - onPostpone -) { - children = createRequest( - children, - resumableState, - renderState, - rootFormatContext, - progressiveChunkSize, - onError, - onAllReady, - onShellReady, - onShellError, - onFatalError, - onPostpone, - void 0 - ); - children.trackedPostpones = { - workingMap: new Map(), - rootNodes: [], - rootSlots: null - }; - return children; -} -var currentRequest = null; -function resolveRequest() { - if (currentRequest) return currentRequest; - var store = requestStorage.getStore(); - return store ? store : null; -} -function pingTask(request, task) { - request.pingedTasks.push(task); - 1 === request.pingedTasks.length && - ((request.flushScheduled = null !== request.destination), - null !== request.trackedPostpones || 10 === request.status - ? scheduleMicrotask(function () { - return performWork(request); - }) - : setImmediate(function () { - return performWork(request); - })); -} -function createSuspenseBoundary(request, fallbackAbortableTasks) { - return { - status: 0, - rootSegmentID: -1, - parentFlushed: !1, - pendingTasks: 0, - completedSegments: [], - byteSize: 0, - fallbackAbortableTasks: fallbackAbortableTasks, - errorDigest: null, - contentState: createHoistableState(), - fallbackState: createHoistableState(), - trackedContentKeyPath: null, - trackedFallbackNode: null - }; -} -function createRenderTask( - request, - thenableState, - node, - childIndex, - blockedBoundary, - blockedSegment, - hoistableState, - abortSet, - keyPath, - formatContext, - context, - treeContext, - componentStack, - isFallback -) { - request.allPendingTasks++; - null === blockedBoundary - ? request.pendingRootTasks++ - : blockedBoundary.pendingTasks++; - var task = { - replay: null, - node: node, - childIndex: childIndex, - ping: function () { - return pingTask(request, task); - }, - blockedBoundary: blockedBoundary, - blockedSegment: blockedSegment, - hoistableState: hoistableState, - abortSet: abortSet, - keyPath: keyPath, - formatContext: formatContext, - context: context, - treeContext: treeContext, - componentStack: componentStack, - thenableState: thenableState, - isFallback: isFallback - }; - abortSet.add(task); - return task; -} -function createReplayTask( - request, - thenableState, - replay, - node, - childIndex, - blockedBoundary, - hoistableState, - abortSet, - keyPath, - formatContext, - context, - treeContext, - componentStack, - isFallback -) { - request.allPendingTasks++; - null === blockedBoundary - ? request.pendingRootTasks++ - : blockedBoundary.pendingTasks++; - replay.pendingTasks++; - var task = { - replay: replay, - node: node, - childIndex: childIndex, - ping: function () { - return pingTask(request, task); - }, - blockedBoundary: blockedBoundary, - blockedSegment: null, - hoistableState: hoistableState, - abortSet: abortSet, - keyPath: keyPath, - formatContext: formatContext, - context: context, - treeContext: treeContext, - componentStack: componentStack, - thenableState: thenableState, - isFallback: isFallback - }; - abortSet.add(task); - return task; -} -function createPendingSegment( - request, - index, - boundary, - parentFormatContext, - lastPushedText, - textEmbedded -) { - return { - status: 0, - id: -1, - index: index, - parentFlushed: !1, - chunks: [], - children: [], - parentFormatContext: parentFormatContext, - boundary: boundary, - lastPushedText: lastPushedText, - textEmbedded: textEmbedded - }; -} -function pushComponentStack(task) { - var node = task.node; - if ("object" === typeof node && null !== node) - switch (node.$$typeof) { - case REACT_ELEMENT_TYPE: - task.componentStack = { parent: task.componentStack, type: node.type }; - } -} -function getThrownInfo(node$jscomp$0) { - var errorInfo = {}; - node$jscomp$0 && - Object.defineProperty(errorInfo, "componentStack", { - configurable: !0, - enumerable: !0, - get: function () { - try { - var info = "", - node = node$jscomp$0; - do - (info += describeComponentStackByType(node.type)), - (node = node.parent); - while (node); - var JSCompiler_inline_result = info; - } catch (x) { - JSCompiler_inline_result = - "\nError generating stack: " + x.message + "\n" + x.stack; - } - Object.defineProperty(errorInfo, "componentStack", { - value: JSCompiler_inline_result - }); - return JSCompiler_inline_result; - } - }); - return errorInfo; -} -function logRecoverableError(request, error, errorInfo) { - request = request.onError; - error = request(error, errorInfo); - if (null == error || "string" === typeof error) return error; -} -function fatalError(request, error) { - var onShellError = request.onShellError, - onFatalError = request.onFatalError; - onShellError(error); - onFatalError(error); - null !== request.destination - ? ((request.status = 14), request.destination.destroy(error)) - : ((request.status = 13), (request.fatalError = error)); -} -function renderWithHooks(request, task, keyPath, Component, props, secondArg) { - var prevThenableState = task.thenableState; - task.thenableState = null; - currentlyRenderingComponent = {}; - currentlyRenderingTask = task; - currentlyRenderingRequest = request; - currentlyRenderingKeyPath = keyPath; - actionStateCounter = localIdCounter = 0; - actionStateMatchingIndex = -1; - thenableIndexCounter = 0; - thenableState = prevThenableState; - for (request = Component(props, secondArg); didScheduleRenderPhaseUpdate; ) - (didScheduleRenderPhaseUpdate = !1), - (actionStateCounter = localIdCounter = 0), - (actionStateMatchingIndex = -1), - (thenableIndexCounter = 0), - (numberOfReRenders += 1), - (workInProgressHook = null), - (request = Component(props, secondArg)); - resetHooksState(); - return request; -} -function finishFunctionComponent( - request, - task, - keyPath, - children, - hasId, - actionStateCount, - actionStateMatchingIndex -) { - var didEmitActionStateMarkers = !1; - if (0 !== actionStateCount && null !== request.formState) { - var segment = task.blockedSegment; - if (null !== segment) { - didEmitActionStateMarkers = !0; - segment = segment.chunks; - for (var i = 0; i < actionStateCount; i++) - i === actionStateMatchingIndex - ? segment.push(formStateMarkerIsMatching) - : segment.push(formStateMarkerIsNotMatching); - } - } - actionStateCount = task.keyPath; - task.keyPath = keyPath; - hasId - ? ((keyPath = task.treeContext), - (task.treeContext = pushTreeContext(keyPath, 1, 0)), - renderNode(request, task, children, -1), - (task.treeContext = keyPath)) - : didEmitActionStateMarkers - ? renderNode(request, task, children, -1) - : renderNodeDestructive(request, task, children, -1); - task.keyPath = actionStateCount; -} -function renderElement(request, task, keyPath, type, props, ref) { - if ("function" === typeof type) - if (type.prototype && type.prototype.isReactComponent) { - var newProps = props; - if ("ref" in props) { - newProps = {}; - for (var propName in props) - "ref" !== propName && (newProps[propName] = props[propName]); - } - var defaultProps = type.defaultProps; - if (defaultProps) { - newProps === props && (newProps = assign({}, newProps, props)); - for (var propName$33 in defaultProps) - void 0 === newProps[propName$33] && - (newProps[propName$33] = defaultProps[propName$33]); - } - props = newProps; - newProps = emptyContextObject; - defaultProps = type.contextType; - "object" === typeof defaultProps && - null !== defaultProps && - (newProps = defaultProps._currentValue); - newProps = new type(props, newProps); - var initialState = void 0 !== newProps.state ? newProps.state : null; - newProps.updater = classComponentUpdater; - newProps.props = props; - newProps.state = initialState; - defaultProps = { queue: [], replace: !1 }; - newProps._reactInternals = defaultProps; - ref = type.contextType; - newProps.context = - "object" === typeof ref && null !== ref - ? ref._currentValue - : emptyContextObject; - ref = type.getDerivedStateFromProps; - "function" === typeof ref && - ((ref = ref(props, initialState)), - (initialState = - null === ref || void 0 === ref - ? initialState - : assign({}, initialState, ref)), - (newProps.state = initialState)); - if ( - "function" !== typeof type.getDerivedStateFromProps && - "function" !== typeof newProps.getSnapshotBeforeUpdate && - ("function" === typeof newProps.UNSAFE_componentWillMount || - "function" === typeof newProps.componentWillMount) - ) - if ( - ((type = newProps.state), - "function" === typeof newProps.componentWillMount && - newProps.componentWillMount(), - "function" === typeof newProps.UNSAFE_componentWillMount && - newProps.UNSAFE_componentWillMount(), - type !== newProps.state && - classComponentUpdater.enqueueReplaceState( - newProps, - newProps.state, - null - ), - null !== defaultProps.queue && 0 < defaultProps.queue.length) - ) - if ( - ((type = defaultProps.queue), - (ref = defaultProps.replace), - (defaultProps.queue = null), - (defaultProps.replace = !1), - ref && 1 === type.length) - ) - newProps.state = type[0]; - else { - defaultProps = ref ? type[0] : newProps.state; - initialState = !0; - for (ref = ref ? 1 : 0; ref < type.length; ref++) - (propName$33 = type[ref]), - (propName$33 = - "function" === typeof propName$33 - ? propName$33.call(newProps, defaultProps, props, void 0) - : propName$33), - null != propName$33 && - (initialState - ? ((initialState = !1), - (defaultProps = assign({}, defaultProps, propName$33))) - : assign(defaultProps, propName$33)); - newProps.state = defaultProps; - } - else defaultProps.queue = null; - type = newProps.render(); - if (12 === request.status) throw null; - props = task.keyPath; - task.keyPath = keyPath; - renderNodeDestructive(request, task, type, -1); - task.keyPath = props; - } else { - type = renderWithHooks(request, task, keyPath, type, props, void 0); - if (12 === request.status) throw null; - finishFunctionComponent( - request, - task, - keyPath, - type, - 0 !== localIdCounter, - actionStateCounter, - actionStateMatchingIndex - ); - } - else if ("string" === typeof type) - if (((newProps = task.blockedSegment), null === newProps)) - (newProps = props.children), - (defaultProps = task.formatContext), - (initialState = task.keyPath), - (task.formatContext = getChildFormatContext(defaultProps, type, props)), - (task.keyPath = keyPath), - renderNode(request, task, newProps, -1), - (task.formatContext = defaultProps), - (task.keyPath = initialState); - else { - initialState = pushStartInstance( - newProps.chunks, - type, - props, - request.resumableState, - request.renderState, - task.hoistableState, - task.formatContext, - newProps.lastPushedText, - task.isFallback - ); - newProps.lastPushedText = !1; - defaultProps = task.formatContext; - ref = task.keyPath; - task.formatContext = getChildFormatContext(defaultProps, type, props); - task.keyPath = keyPath; - renderNode(request, task, initialState, -1); - task.formatContext = defaultProps; - task.keyPath = ref; - a: { - task = newProps.chunks; - request = request.resumableState; - switch (type) { - case "title": - case "style": - case "script": - case "area": - case "base": - case "br": - case "col": - case "embed": - case "hr": - case "img": - case "input": - case "keygen": - case "link": - case "meta": - case "param": - case "source": - case "track": - case "wbr": - break a; - case "body": - if (1 >= defaultProps.insertionMode) { - request.hasBody = !0; - break a; - } - break; - case "html": - if (0 === defaultProps.insertionMode) { - request.hasHtml = !0; - break a; - } - } - task.push(endChunkForTag(type)); - } - newProps.lastPushedText = !1; - } - else { - switch (type) { - case REACT_LEGACY_HIDDEN_TYPE: - case REACT_DEBUG_TRACING_MODE_TYPE: - case REACT_STRICT_MODE_TYPE: - case REACT_PROFILER_TYPE: - case REACT_FRAGMENT_TYPE: - type = task.keyPath; - task.keyPath = keyPath; - renderNodeDestructive(request, task, props.children, -1); - task.keyPath = type; - return; - case REACT_OFFSCREEN_TYPE: - "hidden" !== props.mode && - ((type = task.keyPath), - (task.keyPath = keyPath), - renderNodeDestructive(request, task, props.children, -1), - (task.keyPath = type)); - return; - case REACT_SUSPENSE_LIST_TYPE: - type = task.keyPath; - task.keyPath = keyPath; - renderNodeDestructive(request, task, props.children, -1); - task.keyPath = type; - return; - case REACT_SCOPE_TYPE: - throw Error("ReactDOMServer does not yet support scope components."); - case REACT_SUSPENSE_TYPE: - a: if (null !== task.replay) { - type = task.keyPath; - task.keyPath = keyPath; - keyPath = props.children; - try { - renderNode(request, task, keyPath, -1); - } finally { - task.keyPath = type; - } - } else { - type = task.keyPath; - var parentBoundary = task.blockedBoundary, - parentHoistableState = task.hoistableState; - ref = task.blockedSegment; - propName$33 = props.fallback; - props = props.children; - var fallbackAbortSet = new Set(); - propName = createSuspenseBoundary(request, fallbackAbortSet); - null !== request.trackedPostpones && - (propName.trackedContentKeyPath = keyPath); - var boundarySegment = createPendingSegment( - request, - ref.chunks.length, - propName, - task.formatContext, - !1, - !1 - ); - ref.children.push(boundarySegment); - ref.lastPushedText = !1; - var contentRootSegment = createPendingSegment( - request, - 0, - null, - task.formatContext, - !1, - !1 - ); - contentRootSegment.parentFlushed = !0; - if (null !== request.trackedPostpones) { - newProps = [keyPath[0], "Suspense Fallback", keyPath[2]]; - defaultProps = [newProps[1], newProps[2], [], null]; - request.trackedPostpones.workingMap.set(newProps, defaultProps); - propName.trackedFallbackNode = defaultProps; - task.blockedSegment = boundarySegment; - task.keyPath = newProps; - boundarySegment.status = 6; - try { - renderNode(request, task, propName$33, -1), - boundarySegment.lastPushedText && - boundarySegment.textEmbedded && - boundarySegment.chunks.push(textSeparator), - (boundarySegment.status = 1); - } catch (thrownValue) { - throw ( - ((boundarySegment.status = 12 === request.status ? 3 : 4), - thrownValue) - ); - } finally { - (task.blockedSegment = ref), (task.keyPath = type); - } - task = createRenderTask( - request, - null, - props, - -1, - propName, - contentRootSegment, - propName.contentState, - task.abortSet, - keyPath, - task.formatContext, - task.context, - task.treeContext, - task.componentStack, - task.isFallback - ); - pushComponentStack(task); - request.pingedTasks.push(task); - } else { - task.blockedBoundary = propName; - task.hoistableState = propName.contentState; - task.blockedSegment = contentRootSegment; - task.keyPath = keyPath; - contentRootSegment.status = 6; - try { - if ( - (renderNode(request, task, props, -1), - contentRootSegment.lastPushedText && - contentRootSegment.textEmbedded && - contentRootSegment.chunks.push(textSeparator), - (contentRootSegment.status = 1), - queueCompletedSegment(propName, contentRootSegment), - 0 === propName.pendingTasks && 0 === propName.status) - ) { - propName.status = 1; - break a; - } - } catch (thrownValue$28) { - (propName.status = 4), - 12 === request.status - ? ((contentRootSegment.status = 3), - (newProps = request.fatalError)) - : ((contentRootSegment.status = 4), - (newProps = thrownValue$28)), - (defaultProps = getThrownInfo(task.componentStack)), - (initialState = logRecoverableError( - request, - newProps, - defaultProps - )), - (propName.errorDigest = initialState), - untrackBoundary(request, propName); - } finally { - (task.blockedBoundary = parentBoundary), - (task.hoistableState = parentHoistableState), - (task.blockedSegment = ref), - (task.keyPath = type); - } - task = createRenderTask( - request, - null, - propName$33, - -1, - parentBoundary, - boundarySegment, - propName.fallbackState, - fallbackAbortSet, - [keyPath[0], "Suspense Fallback", keyPath[2]], - task.formatContext, - task.context, - task.treeContext, - task.componentStack, - !0 - ); - pushComponentStack(task); - request.pingedTasks.push(task); - } - } - return; - } - if ("object" === typeof type && null !== type) - switch (type.$$typeof) { - case REACT_FORWARD_REF_TYPE: - if ("ref" in props) - for (boundarySegment in ((newProps = {}), props)) - "ref" !== boundarySegment && - (newProps[boundarySegment] = props[boundarySegment]); - else newProps = props; - type = renderWithHooks( - request, - task, - keyPath, - type.render, - newProps, - ref - ); - finishFunctionComponent( - request, - task, - keyPath, - type, - 0 !== localIdCounter, - actionStateCounter, - actionStateMatchingIndex - ); - return; - case REACT_MEMO_TYPE: - renderElement(request, task, keyPath, type.type, props, ref); - return; - case REACT_PROVIDER_TYPE: - case REACT_CONTEXT_TYPE: - defaultProps = props.children; - newProps = task.keyPath; - props = props.value; - initialState = type._currentValue; - type._currentValue = props; - ref = currentActiveSnapshot; - currentActiveSnapshot = type = { - parent: ref, - depth: null === ref ? 0 : ref.depth + 1, - context: type, - parentValue: initialState, - value: props - }; - task.context = type; - task.keyPath = keyPath; - renderNodeDestructive(request, task, defaultProps, -1); - request = currentActiveSnapshot; - if (null === request) - throw Error( - "Tried to pop a Context at the root of the app. This is a bug in React." - ); - request.context._currentValue = request.parentValue; - request = currentActiveSnapshot = request.parent; - task.context = request; - task.keyPath = newProps; - return; - case REACT_CONSUMER_TYPE: - props = props.children; - type = props(type._context._currentValue); - props = task.keyPath; - task.keyPath = keyPath; - renderNodeDestructive(request, task, type, -1); - task.keyPath = props; - return; - case REACT_LAZY_TYPE: - newProps = type._init; - type = newProps(type._payload); - if (12 === request.status) throw null; - renderElement(request, task, keyPath, type, props, ref); - return; - } - throw Error( - "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + - ((null == type ? type : typeof type) + ".") - ); - } -} -function resumeNode(request, task, segmentId, node, childIndex) { - var prevReplay = task.replay, - blockedBoundary = task.blockedBoundary, - resumedSegment = createPendingSegment( - request, - 0, - null, - task.formatContext, - !1, - !1 - ); - resumedSegment.id = segmentId; - resumedSegment.parentFlushed = !0; - try { - (task.replay = null), - (task.blockedSegment = resumedSegment), - renderNode(request, task, node, childIndex), - (resumedSegment.status = 1), - null === blockedBoundary - ? (request.completedRootSegment = resumedSegment) - : (queueCompletedSegment(blockedBoundary, resumedSegment), - blockedBoundary.parentFlushed && - request.partialBoundaries.push(blockedBoundary)); - } finally { - (task.replay = prevReplay), (task.blockedSegment = null); - } -} -function renderNodeDestructive(request, task, node, childIndex) { - null !== task.replay && "number" === typeof task.replay.slots - ? resumeNode(request, task, task.replay.slots, node, childIndex) - : ((task.node = node), - (task.childIndex = childIndex), - (node = task.componentStack), - pushComponentStack(task), - retryNode(request, task), - (task.componentStack = node)); -} -function retryNode(request, task) { - var node = task.node, - childIndex = task.childIndex; - if (null !== node) { - if ("object" === typeof node) { - switch (node.$$typeof) { - case REACT_ELEMENT_TYPE: - var type = node.type, - key = node.key, - props = node.props; - node = props.ref; - var ref = void 0 !== node ? node : null, - name = getComponentNameFromType(type), - keyOrIndex = - null == key ? (-1 === childIndex ? 0 : childIndex) : key; - key = [task.keyPath, name, keyOrIndex]; - if (null !== task.replay) - a: { - var replay = task.replay; - childIndex = replay.nodes; - for (node = 0; node < childIndex.length; node++) { - var node$jscomp$0 = childIndex[node]; - if (keyOrIndex === node$jscomp$0[1]) { - if (4 === node$jscomp$0.length) { - if (null !== name && name !== node$jscomp$0[0]) - throw Error( - "Expected the resume to render <" + - node$jscomp$0[0] + - "> in this slot but instead it rendered <" + - name + - ">. The tree doesn't match so React will fallback to client rendering." - ); - var childNodes = node$jscomp$0[2]; - name = node$jscomp$0[3]; - keyOrIndex = task.node; - task.replay = { - nodes: childNodes, - slots: name, - pendingTasks: 1 - }; - try { - renderElement(request, task, key, type, props, ref); - if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length - ) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - } catch (x) { - if ( - "object" === typeof x && - null !== x && - (x === SuspenseException || - "function" === typeof x.then) - ) - throw ( - (task.node === keyOrIndex && (task.replay = replay), - x) - ); - task.replay.pendingTasks--; - props = getThrownInfo(task.componentStack); - key = task.blockedBoundary; - type = x; - props = logRecoverableError(request, type, props); - abortRemainingReplayNodes( - request, - key, - childNodes, - name, - type, - props - ); - } - task.replay = replay; - } else { - if (type !== REACT_SUSPENSE_TYPE) - throw Error( - "Expected the resume to render <Suspense> in this slot but instead it rendered <" + - (getComponentNameFromType(type) || "Unknown") + - ">. The tree doesn't match so React will fallback to client rendering." - ); - b: { - replay = void 0; - type = node$jscomp$0[5]; - ref = node$jscomp$0[2]; - name = node$jscomp$0[3]; - keyOrIndex = - null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2]; - node$jscomp$0 = - null === node$jscomp$0[4] ? null : node$jscomp$0[4][3]; - var prevKeyPath = task.keyPath, - previousReplaySet = task.replay, - parentBoundary = task.blockedBoundary, - parentHoistableState = task.hoistableState, - content = props.children; - props = props.fallback; - var fallbackAbortSet = new Set(), - resumedBoundary = createSuspenseBoundary( - request, - fallbackAbortSet - ); - resumedBoundary.parentFlushed = !0; - resumedBoundary.rootSegmentID = type; - task.blockedBoundary = resumedBoundary; - task.hoistableState = resumedBoundary.contentState; - task.keyPath = key; - task.replay = { - nodes: ref, - slots: name, - pendingTasks: 1 - }; - try { - renderNode(request, task, content, -1); - if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length - ) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - if ( - 0 === resumedBoundary.pendingTasks && - 0 === resumedBoundary.status - ) { - resumedBoundary.status = 1; - request.completedBoundaries.push(resumedBoundary); - break b; - } - } catch (error) { - (resumedBoundary.status = 4), - (childNodes = getThrownInfo(task.componentStack)), - (replay = logRecoverableError( - request, - error, - childNodes - )), - (resumedBoundary.errorDigest = replay), - task.replay.pendingTasks--, - request.clientRenderedBoundaries.push( - resumedBoundary - ); - } finally { - (task.blockedBoundary = parentBoundary), - (task.hoistableState = parentHoistableState), - (task.replay = previousReplaySet), - (task.keyPath = prevKeyPath); - } - task = createReplayTask( - request, - null, - { - nodes: keyOrIndex, - slots: node$jscomp$0, - pendingTasks: 0 - }, - props, - -1, - parentBoundary, - resumedBoundary.fallbackState, - fallbackAbortSet, - [key[0], "Suspense Fallback", key[2]], - task.formatContext, - task.context, - task.treeContext, - task.componentStack, - !0 - ); - pushComponentStack(task); - request.pingedTasks.push(task); - } - } - childIndex.splice(node, 1); - break a; - } - } - } - else renderElement(request, task, key, type, props, ref); - return; - case REACT_PORTAL_TYPE: - throw Error( - "Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render." - ); - case REACT_LAZY_TYPE: - childNodes = node._init; - node = childNodes(node._payload); - if (12 === request.status) throw null; - renderNodeDestructive(request, task, node, childIndex); - return; - } - if (isArrayImpl(node)) { - renderChildrenArray(request, task, node, childIndex); - return; - } - null === node || "object" !== typeof node - ? (childNodes = null) - : ((childNodes = - (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) || - node["@@iterator"]), - (childNodes = "function" === typeof childNodes ? childNodes : null)); - if (childNodes && (childNodes = childNodes.call(node))) { - node = childNodes.next(); - if (!node.done) { - props = []; - do props.push(node.value), (node = childNodes.next()); - while (!node.done); - renderChildrenArray(request, task, props, childIndex); - } - return; - } - if ("function" === typeof node.then) - return ( - (task.thenableState = null), - renderNodeDestructive(request, task, unwrapThenable(node), childIndex) - ); - if (node.$$typeof === REACT_CONTEXT_TYPE) - return renderNodeDestructive( - request, - task, - node._currentValue, - childIndex - ); - childIndex = Object.prototype.toString.call(node); - throw Error( - "Objects are not valid as a React child (found: " + - ("[object Object]" === childIndex - ? "object with keys {" + Object.keys(node).join(", ") + "}" - : childIndex) + - "). If you meant to render a collection of children, use an array instead." - ); - } - if ("string" === typeof node) - (childIndex = task.blockedSegment), - null !== childIndex && - (childIndex.lastPushedText = pushTextInstance( - childIndex.chunks, - node, - request.renderState, - childIndex.lastPushedText - )); - else if ("number" === typeof node || "bigint" === typeof node) - (childIndex = task.blockedSegment), - null !== childIndex && - (childIndex.lastPushedText = pushTextInstance( - childIndex.chunks, - "" + node, - request.renderState, - childIndex.lastPushedText - )); - } -} -function renderChildrenArray(request, task, children, childIndex) { - var prevKeyPath = task.keyPath; - if ( - -1 !== childIndex && - ((task.keyPath = [task.keyPath, "Fragment", childIndex]), - null !== task.replay) - ) { - for ( - var replay = task.replay, replayNodes = replay.nodes, j = 0; - j < replayNodes.length; - j++ - ) { - var node = replayNodes[j]; - if (node[1] === childIndex) { - childIndex = node[2]; - node = node[3]; - task.replay = { nodes: childIndex, slots: node, pendingTasks: 1 }; - try { - renderChildrenArray(request, task, children, -1); - if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - } catch (x) { - if ( - "object" === typeof x && - null !== x && - (x === SuspenseException || "function" === typeof x.then) - ) - throw x; - task.replay.pendingTasks--; - children = getThrownInfo(task.componentStack); - var boundary = task.blockedBoundary, - error = x; - children = logRecoverableError(request, error, children); - abortRemainingReplayNodes( - request, - boundary, - childIndex, - node, - error, - children - ); - } - task.replay = replay; - replayNodes.splice(j, 1); - break; - } - } - task.keyPath = prevKeyPath; - return; - } - replay = task.treeContext; - replayNodes = children.length; - if ( - null !== task.replay && - ((j = task.replay.slots), null !== j && "object" === typeof j) - ) { - for (childIndex = 0; childIndex < replayNodes; childIndex++) - (node = children[childIndex]), - (task.treeContext = pushTreeContext(replay, replayNodes, childIndex)), - (boundary = j[childIndex]), - "number" === typeof boundary - ? (resumeNode(request, task, boundary, node, childIndex), - delete j[childIndex]) - : renderNode(request, task, node, childIndex); - task.treeContext = replay; - task.keyPath = prevKeyPath; - return; - } - for (j = 0; j < replayNodes; j++) - (childIndex = children[j]), - (task.treeContext = pushTreeContext(replay, replayNodes, j)), - renderNode(request, task, childIndex, j); - task.treeContext = replay; - task.keyPath = prevKeyPath; -} -function untrackBoundary(request, boundary) { - request = request.trackedPostpones; - null !== request && - ((boundary = boundary.trackedContentKeyPath), - null !== boundary && - ((boundary = request.workingMap.get(boundary)), - void 0 !== boundary && - ((boundary.length = 4), (boundary[2] = []), (boundary[3] = null)))); -} -function spawnNewSuspendedReplayTask(request, task, thenableState) { - return createReplayTask( - request, - thenableState, - task.replay, - task.node, - task.childIndex, - task.blockedBoundary, - task.hoistableState, - task.abortSet, - task.keyPath, - task.formatContext, - task.context, - task.treeContext, - task.componentStack, - task.isFallback - ); -} -function spawnNewSuspendedRenderTask(request, task, thenableState) { - var segment = task.blockedSegment, - newSegment = createPendingSegment( - request, - segment.chunks.length, - null, - task.formatContext, - segment.lastPushedText, - !0 - ); - segment.children.push(newSegment); - segment.lastPushedText = !1; - return createRenderTask( - request, - thenableState, - task.node, - task.childIndex, - task.blockedBoundary, - newSegment, - task.hoistableState, - task.abortSet, - task.keyPath, - task.formatContext, - task.context, - task.treeContext, - task.componentStack, - task.isFallback - ); -} -function renderNode(request, task, node, childIndex) { - var previousFormatContext = task.formatContext, - previousContext = task.context, - previousKeyPath = task.keyPath, - previousTreeContext = task.treeContext, - previousComponentStack = task.componentStack, - segment = task.blockedSegment; - if (null === segment) - try { - return renderNodeDestructive(request, task, node, childIndex); - } catch (thrownValue) { - if ( - (resetHooksState(), - (node = - thrownValue === SuspenseException - ? getSuspendedThenable() - : thrownValue), - "object" === typeof node && null !== node) - ) { - if ("function" === typeof node.then) { - childIndex = getThenableStateAfterSuspending(); - request = spawnNewSuspendedReplayTask(request, task, childIndex).ping; - node.then(request, request); - task.formatContext = previousFormatContext; - task.context = previousContext; - task.keyPath = previousKeyPath; - task.treeContext = previousTreeContext; - task.componentStack = previousComponentStack; - switchContext(previousContext); - return; - } - if ("Maximum call stack size exceeded" === node.message) { - node = getThenableStateAfterSuspending(); - node = spawnNewSuspendedReplayTask(request, task, node); - request.pingedTasks.push(node); - task.formatContext = previousFormatContext; - task.context = previousContext; - task.keyPath = previousKeyPath; - task.treeContext = previousTreeContext; - task.componentStack = previousComponentStack; - switchContext(previousContext); - return; - } - } - } - else { - var childrenLength = segment.children.length, - chunkLength = segment.chunks.length; - try { - return renderNodeDestructive(request, task, node, childIndex); - } catch (thrownValue$48) { - if ( - (resetHooksState(), - (segment.children.length = childrenLength), - (segment.chunks.length = chunkLength), - (node = - thrownValue$48 === SuspenseException - ? getSuspendedThenable() - : thrownValue$48), - "object" === typeof node && null !== node) - ) { - if ("function" === typeof node.then) { - childIndex = getThenableStateAfterSuspending(); - request = spawnNewSuspendedRenderTask(request, task, childIndex).ping; - node.then(request, request); - task.formatContext = previousFormatContext; - task.context = previousContext; - task.keyPath = previousKeyPath; - task.treeContext = previousTreeContext; - task.componentStack = previousComponentStack; - switchContext(previousContext); - return; - } - if ("Maximum call stack size exceeded" === node.message) { - node = getThenableStateAfterSuspending(); - node = spawnNewSuspendedRenderTask(request, task, node); - request.pingedTasks.push(node); - task.formatContext = previousFormatContext; - task.context = previousContext; - task.keyPath = previousKeyPath; - task.treeContext = previousTreeContext; - task.componentStack = previousComponentStack; - switchContext(previousContext); - return; - } - } - } - } - task.formatContext = previousFormatContext; - task.context = previousContext; - task.keyPath = previousKeyPath; - task.treeContext = previousTreeContext; - switchContext(previousContext); - throw node; -} -function abortTaskSoft(task) { - var boundary = task.blockedBoundary; - task = task.blockedSegment; - null !== task && ((task.status = 3), finishedTask(this, boundary, task)); -} -function abortRemainingReplayNodes( - request$jscomp$0, - boundary, - nodes, - slots, - error, - errorDigest$jscomp$0 -) { - for (var i = 0; i < nodes.length; i++) { - var node = nodes[i]; - if (4 === node.length) - abortRemainingReplayNodes( - request$jscomp$0, - boundary, - node[2], - node[3], - error, - errorDigest$jscomp$0 - ); - else { - node = node[5]; - var request = request$jscomp$0, - errorDigest = errorDigest$jscomp$0, - resumedBoundary = createSuspenseBoundary(request, new Set()); - resumedBoundary.parentFlushed = !0; - resumedBoundary.rootSegmentID = node; - resumedBoundary.status = 4; - resumedBoundary.errorDigest = errorDigest; - resumedBoundary.parentFlushed && - request.clientRenderedBoundaries.push(resumedBoundary); - } - } - nodes.length = 0; - if (null !== slots) { - if (null === boundary) - throw Error( - "We should not have any resumable nodes in the shell. This is a bug in React." - ); - 4 !== boundary.status && - ((boundary.status = 4), - (boundary.errorDigest = errorDigest$jscomp$0), - boundary.parentFlushed && - request$jscomp$0.clientRenderedBoundaries.push(boundary)); - if ("object" === typeof slots) for (var index in slots) delete slots[index]; - } -} -function abortTask(task, request, error) { - var boundary = task.blockedBoundary, - segment = task.blockedSegment; - if (null !== segment) { - if (6 === segment.status) return; - segment.status = 3; - } - segment = getThrownInfo(task.componentStack); - if (null === boundary) { - if (13 !== request.status && 14 !== request.status) { - boundary = task.replay; - if (null === boundary) { - logRecoverableError(request, error, segment); - fatalError(request, error); - return; - } - boundary.pendingTasks--; - 0 === boundary.pendingTasks && - 0 < boundary.nodes.length && - ((task = logRecoverableError(request, error, segment)), - abortRemainingReplayNodes( - request, - null, - boundary.nodes, - boundary.slots, - error, - task - )); - request.pendingRootTasks--; - 0 === request.pendingRootTasks && completeShell(request); - } - } else - boundary.pendingTasks--, - 4 !== boundary.status && - ((boundary.status = 4), - (task = logRecoverableError(request, error, segment)), - (boundary.status = 4), - (boundary.errorDigest = task), - untrackBoundary(request, boundary), - boundary.parentFlushed && - request.clientRenderedBoundaries.push(boundary)), - boundary.fallbackAbortableTasks.forEach(function (fallbackTask) { - return abortTask(fallbackTask, request, error); - }), - boundary.fallbackAbortableTasks.clear(); - request.allPendingTasks--; - 0 === request.allPendingTasks && completeAll(request); -} -function safelyEmitEarlyPreloads(request, shellComplete) { - try { - var renderState = request.renderState, - onHeaders = renderState.onHeaders; - if (onHeaders) { - var headers = renderState.headers; - if (headers) { - renderState.headers = null; - var linkHeader = headers.preconnects; - headers.fontPreloads && - (linkHeader && (linkHeader += ", "), - (linkHeader += headers.fontPreloads)); - headers.highImagePreloads && - (linkHeader && (linkHeader += ", "), - (linkHeader += headers.highImagePreloads)); - if (!shellComplete) { - var queueIter = renderState.styles.values(), - queueStep = queueIter.next(); - b: for ( - ; - 0 < headers.remainingCapacity && !queueStep.done; - queueStep = queueIter.next() - ) - for ( - var sheetIter = queueStep.value.sheets.values(), - sheetStep = sheetIter.next(); - 0 < headers.remainingCapacity && !sheetStep.done; - sheetStep = sheetIter.next() - ) { - var sheet = sheetStep.value, - props = sheet.props, - key = props.href, - props$jscomp$0 = sheet.props, - header = getPreloadAsHeader(props$jscomp$0.href, "style", { - crossOrigin: props$jscomp$0.crossOrigin, - integrity: props$jscomp$0.integrity, - nonce: props$jscomp$0.nonce, - type: props$jscomp$0.type, - fetchPriority: props$jscomp$0.fetchPriority, - referrerPolicy: props$jscomp$0.referrerPolicy, - media: props$jscomp$0.media - }); - if (0 <= (headers.remainingCapacity -= header.length + 2)) - (renderState.resets.style[key] = PRELOAD_NO_CREDS), - linkHeader && (linkHeader += ", "), - (linkHeader += header), - (renderState.resets.style[key] = - "string" === typeof props.crossOrigin || - "string" === typeof props.integrity - ? [props.crossOrigin, props.integrity] - : PRELOAD_NO_CREDS); - else break b; - } - } - linkHeader ? onHeaders({ Link: linkHeader }) : onHeaders({}); - } - } - } catch (error) { - logRecoverableError(request, error, {}); - } -} -function completeShell(request) { - null === request.trackedPostpones && safelyEmitEarlyPreloads(request, !0); - request.onShellError = noop; - request = request.onShellReady; - request(); -} -function completeAll(request) { - safelyEmitEarlyPreloads( - request, - null === request.trackedPostpones - ? !0 - : null === request.completedRootSegment || - 5 !== request.completedRootSegment.status - ); - request = request.onAllReady; - request(); -} -function queueCompletedSegment(boundary, segment) { - if ( - 0 === segment.chunks.length && - 1 === segment.children.length && - null === segment.children[0].boundary && - -1 === segment.children[0].id - ) { - var childSegment = segment.children[0]; - childSegment.id = segment.id; - childSegment.parentFlushed = !0; - 1 === childSegment.status && queueCompletedSegment(boundary, childSegment); - } else boundary.completedSegments.push(segment); -} -function finishedTask(request, boundary, segment) { - if (null === boundary) { - if (null !== segment && segment.parentFlushed) { - if (null !== request.completedRootSegment) - throw Error( - "There can only be one root segment. This is a bug in React." - ); - request.completedRootSegment = segment; - } - request.pendingRootTasks--; - 0 === request.pendingRootTasks && completeShell(request); - } else - boundary.pendingTasks--, - 4 !== boundary.status && - (0 === boundary.pendingTasks - ? (0 === boundary.status && (boundary.status = 1), - null !== segment && - segment.parentFlushed && - 1 === segment.status && - queueCompletedSegment(boundary, segment), - boundary.parentFlushed && - request.completedBoundaries.push(boundary), - 1 === boundary.status && - (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request), - boundary.fallbackAbortableTasks.clear())) - : null !== segment && - segment.parentFlushed && - 1 === segment.status && - (queueCompletedSegment(boundary, segment), - 1 === boundary.completedSegments.length && - boundary.parentFlushed && - request.partialBoundaries.push(boundary))); - request.allPendingTasks--; - 0 === request.allPendingTasks && completeAll(request); -} -function performWork(request$jscomp$2) { - if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) { - var prevContext = currentActiveSnapshot, - prevDispatcher = ReactSharedInternals.H; - ReactSharedInternals.H = HooksDispatcher; - var prevAsyncDispatcher = ReactSharedInternals.A; - ReactSharedInternals.A = DefaultAsyncDispatcher; - var prevRequest = currentRequest; - currentRequest = request$jscomp$2; - var prevResumableState = currentResumableState; - currentResumableState = request$jscomp$2.resumableState; - try { - var pingedTasks = request$jscomp$2.pingedTasks, - i; - for (i = 0; i < pingedTasks.length; i++) { - var task = pingedTasks[i], - request = request$jscomp$2, - segment = task.blockedSegment; - if (null === segment) { - var request$jscomp$0 = request; - if (0 !== task.replay.pendingTasks) { - switchContext(task.context); - try { - "number" === typeof task.replay.slots - ? resumeNode( - request$jscomp$0, - task, - task.replay.slots, - task.node, - task.childIndex - ) - : retryNode(request$jscomp$0, task); - if ( - 1 === task.replay.pendingTasks && - 0 < task.replay.nodes.length - ) - throw Error( - "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering." - ); - task.replay.pendingTasks--; - task.abortSet.delete(task); - finishedTask(request$jscomp$0, task.blockedBoundary, null); - } catch (thrownValue) { - resetHooksState(); - var x = - thrownValue === SuspenseException - ? getSuspendedThenable() - : thrownValue; - if ( - "object" === typeof x && - null !== x && - "function" === typeof x.then - ) { - var ping = task.ping; - x.then(ping, ping); - task.thenableState = getThenableStateAfterSuspending(); - } else { - task.replay.pendingTasks--; - task.abortSet.delete(task); - var errorInfo = getThrownInfo(task.componentStack); - request = void 0; - var request$jscomp$1 = request$jscomp$0, - boundary = task.blockedBoundary, - error$jscomp$0 = - 12 === request$jscomp$0.status - ? request$jscomp$0.fatalError - : x, - replayNodes = task.replay.nodes, - resumeSlots = task.replay.slots; - request = logRecoverableError( - request$jscomp$1, - error$jscomp$0, - errorInfo - ); - abortRemainingReplayNodes( - request$jscomp$1, - boundary, - replayNodes, - resumeSlots, - error$jscomp$0, - request - ); - request$jscomp$0.pendingRootTasks--; - 0 === request$jscomp$0.pendingRootTasks && - completeShell(request$jscomp$0); - request$jscomp$0.allPendingTasks--; - 0 === request$jscomp$0.allPendingTasks && - completeAll(request$jscomp$0); - } - } finally { - } - } - } else if ( - ((request$jscomp$0 = void 0), - (request$jscomp$1 = segment), - 0 === request$jscomp$1.status) - ) { - request$jscomp$1.status = 6; - switchContext(task.context); - var childrenLength = request$jscomp$1.children.length, - chunkLength = request$jscomp$1.chunks.length; - try { - retryNode(request, task), - request$jscomp$1.lastPushedText && - request$jscomp$1.textEmbedded && - request$jscomp$1.chunks.push(textSeparator), - task.abortSet.delete(task), - (request$jscomp$1.status = 1), - finishedTask(request, task.blockedBoundary, request$jscomp$1); - } catch (thrownValue) { - resetHooksState(); - request$jscomp$1.children.length = childrenLength; - request$jscomp$1.chunks.length = chunkLength; - var x$jscomp$0 = - thrownValue === SuspenseException - ? getSuspendedThenable() - : 12 === request.status - ? request.fatalError - : thrownValue; - if ( - "object" === typeof x$jscomp$0 && - null !== x$jscomp$0 && - "function" === typeof x$jscomp$0.then - ) { - request$jscomp$1.status = 0; - task.thenableState = getThenableStateAfterSuspending(); - var ping$jscomp$0 = task.ping; - x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0); - } else { - var errorInfo$jscomp$0 = getThrownInfo(task.componentStack); - task.abortSet.delete(task); - request$jscomp$1.status = 4; - var boundary$jscomp$0 = task.blockedBoundary; - request$jscomp$0 = logRecoverableError( - request, - x$jscomp$0, - errorInfo$jscomp$0 - ); - null === boundary$jscomp$0 - ? fatalError(request, x$jscomp$0) - : (boundary$jscomp$0.pendingTasks--, - 4 !== boundary$jscomp$0.status && - ((boundary$jscomp$0.status = 4), - (boundary$jscomp$0.errorDigest = request$jscomp$0), - untrackBoundary(request, boundary$jscomp$0), - boundary$jscomp$0.parentFlushed && - request.clientRenderedBoundaries.push( - boundary$jscomp$0 - ))); - request.allPendingTasks--; - 0 === request.allPendingTasks && completeAll(request); - } - } finally { - } - } - } - pingedTasks.splice(0, i); - null !== request$jscomp$2.destination && - flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination); - } catch (error) { - logRecoverableError(request$jscomp$2, error, {}), - fatalError(request$jscomp$2, error); - } finally { - (currentResumableState = prevResumableState), - (ReactSharedInternals.H = prevDispatcher), - (ReactSharedInternals.A = prevAsyncDispatcher), - prevDispatcher === HooksDispatcher && switchContext(prevContext), - (currentRequest = prevRequest); - } - } -} -function flushSubtree(request, destination, segment, hoistableState) { - segment.parentFlushed = !0; - switch (segment.status) { - case 0: - segment.id = request.nextSegmentId++; - case 5: - return ( - (hoistableState = segment.id), - (segment.lastPushedText = !1), - (segment.textEmbedded = !1), - (request = request.renderState), - writeChunk(destination, placeholder1), - writeChunk(destination, request.placeholderPrefix), - (request = hoistableState.toString(16)), - writeChunk(destination, request), - writeChunkAndReturn(destination, placeholder2) - ); - case 1: - segment.status = 2; - var r = !0, - chunks = segment.chunks, - chunkIdx = 0; - segment = segment.children; - for (var childIdx = 0; childIdx < segment.length; childIdx++) { - for (r = segment[childIdx]; chunkIdx < r.index; chunkIdx++) - writeChunk(destination, chunks[chunkIdx]); - r = flushSegment(request, destination, r, hoistableState); - } - for (; chunkIdx < chunks.length - 1; chunkIdx++) - writeChunk(destination, chunks[chunkIdx]); - chunkIdx < chunks.length && - (r = writeChunkAndReturn(destination, chunks[chunkIdx])); - return r; - default: - throw Error( - "Aborted, errored or already flushed boundaries should not be flushed again. This is a bug in React." - ); - } -} -function flushSegment(request, destination, segment, hoistableState) { - var boundary = segment.boundary; - if (null === boundary) - return flushSubtree(request, destination, segment, hoistableState); - boundary.parentFlushed = !0; - if (4 === boundary.status) - (boundary = boundary.errorDigest), - writeChunkAndReturn(destination, startClientRenderedSuspenseBoundary), - writeChunk(destination, clientRenderedSuspenseBoundaryError1), - boundary && - (writeChunk(destination, clientRenderedSuspenseBoundaryError1A), - writeChunk(destination, escapeTextForBrowser(boundary)), - writeChunk( - destination, - clientRenderedSuspenseBoundaryErrorAttrInterstitial - )), - writeChunkAndReturn(destination, clientRenderedSuspenseBoundaryError2), - flushSubtree(request, destination, segment, hoistableState); - else if (1 !== boundary.status) - 0 === boundary.status && (boundary.rootSegmentID = request.nextSegmentId++), - 0 < boundary.completedSegments.length && - request.partialBoundaries.push(boundary), - writeStartPendingSuspenseBoundary( - destination, - request.renderState, - boundary.rootSegmentID - ), - hoistableState && - ((boundary = boundary.fallbackState), - boundary.styles.forEach(hoistStyleQueueDependency, hoistableState), - boundary.stylesheets.forEach( - hoistStylesheetDependency, - hoistableState - )), - flushSubtree(request, destination, segment, hoistableState); - else if (boundary.byteSize > request.progressiveChunkSize) - (boundary.rootSegmentID = request.nextSegmentId++), - request.completedBoundaries.push(boundary), - writeStartPendingSuspenseBoundary( - destination, - request.renderState, - boundary.rootSegmentID - ), - flushSubtree(request, destination, segment, hoistableState); - else { - hoistableState && - ((segment = boundary.contentState), - segment.styles.forEach(hoistStyleQueueDependency, hoistableState), - segment.stylesheets.forEach(hoistStylesheetDependency, hoistableState)); - writeChunkAndReturn(destination, startCompletedSuspenseBoundary); - segment = boundary.completedSegments; - if (1 !== segment.length) - throw Error( - "A previously unvisited boundary must have exactly one root segment. This is a bug in React." - ); - flushSegment(request, destination, segment[0], hoistableState); - } - return writeChunkAndReturn(destination, endSuspenseBoundary); -} -function flushSegmentContainer(request, destination, segment, hoistableState) { - writeStartSegment( - destination, - request.renderState, - segment.parentFormatContext, - segment.id - ); - flushSegment(request, destination, segment, hoistableState); - return writeEndSegment(destination, segment.parentFormatContext); -} -function flushCompletedBoundary(request, destination, boundary) { - for ( - var completedSegments = boundary.completedSegments, i = 0; - i < completedSegments.length; - i++ - ) - flushPartiallyCompletedSegment( - request, - destination, - boundary, - completedSegments[i] - ); - completedSegments.length = 0; - writeHoistablesForBoundary( - destination, - boundary.contentState, - request.renderState - ); - completedSegments = request.resumableState; - request = request.renderState; - i = boundary.rootSegmentID; - boundary = boundary.contentState; - var requiresStyleInsertion = request.stylesToHoist; - request.stylesToHoist = !1; - writeChunk(destination, request.startInlineScript); - requiresStyleInsertion - ? 0 === (completedSegments.instructions & 2) - ? ((completedSegments.instructions |= 10), - writeChunk(destination, completeBoundaryWithStylesScript1FullBoth)) - : 0 === (completedSegments.instructions & 8) - ? ((completedSegments.instructions |= 8), - writeChunk(destination, completeBoundaryWithStylesScript1FullPartial)) - : writeChunk(destination, completeBoundaryWithStylesScript1Partial) - : 0 === (completedSegments.instructions & 2) - ? ((completedSegments.instructions |= 2), - writeChunk(destination, completeBoundaryScript1Full)) - : writeChunk(destination, completeBoundaryScript1Partial); - completedSegments = i.toString(16); - writeChunk(destination, request.boundaryPrefix); - writeChunk(destination, completedSegments); - writeChunk(destination, completeBoundaryScript2); - writeChunk(destination, request.segmentPrefix); - writeChunk(destination, completedSegments); - requiresStyleInsertion - ? (writeChunk(destination, completeBoundaryScript3a), - writeStyleResourceDependenciesInJS(destination, boundary)) - : writeChunk(destination, completeBoundaryScript3b); - boundary = writeChunkAndReturn(destination, completeBoundaryScriptEnd); - return writeBootstrap(destination, request) && boundary; -} -function flushPartiallyCompletedSegment( - request, - destination, - boundary, - segment -) { - if (2 === segment.status) return !0; - var hoistableState = boundary.contentState, - segmentID = segment.id; - if (-1 === segmentID) { - if (-1 === (segment.id = boundary.rootSegmentID)) - throw Error( - "A root segment ID must have been assigned by now. This is a bug in React." - ); - return flushSegmentContainer(request, destination, segment, hoistableState); - } - if (segmentID === boundary.rootSegmentID) - return flushSegmentContainer(request, destination, segment, hoistableState); - flushSegmentContainer(request, destination, segment, hoistableState); - boundary = request.resumableState; - request = request.renderState; - writeChunk(destination, request.startInlineScript); - 0 === (boundary.instructions & 1) - ? ((boundary.instructions |= 1), - writeChunk(destination, completeSegmentScript1Full)) - : writeChunk(destination, completeSegmentScript1Partial); - writeChunk(destination, request.segmentPrefix); - segmentID = segmentID.toString(16); - writeChunk(destination, segmentID); - writeChunk(destination, completeSegmentScript2); - writeChunk(destination, request.placeholderPrefix); - writeChunk(destination, segmentID); - destination = writeChunkAndReturn(destination, completeSegmentScriptEnd); - return destination; -} -function flushCompletedQueues(request, destination) { - currentView = new Uint8Array(2048); - writtenBytes = 0; - destinationHasCapacity$1 = !0; - try { - if (!(0 < request.pendingRootTasks)) { - var i, - completedRootSegment = request.completedRootSegment; - if (null !== completedRootSegment) { - if (5 === completedRootSegment.status) return; - var renderState = request.renderState, - htmlChunks = renderState.htmlChunks, - headChunks = renderState.headChunks, - i$jscomp$0; - if (htmlChunks) { - for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++) - writeChunk(destination, htmlChunks[i$jscomp$0]); - if (headChunks) - for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++) - writeChunk(destination, headChunks[i$jscomp$0]); - else - writeChunk(destination, startChunkForTag("head")), - writeChunk(destination, endOfStartTag); - } else if (headChunks) - for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++) - writeChunk(destination, headChunks[i$jscomp$0]); - var charsetChunks = renderState.charsetChunks; - for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++) - writeChunk(destination, charsetChunks[i$jscomp$0]); - charsetChunks.length = 0; - renderState.preconnects.forEach(flushResource, destination); - renderState.preconnects.clear(); - var viewportChunks = renderState.viewportChunks; - for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++) - writeChunk(destination, viewportChunks[i$jscomp$0]); - viewportChunks.length = 0; - renderState.fontPreloads.forEach(flushResource, destination); - renderState.fontPreloads.clear(); - renderState.highImagePreloads.forEach(flushResource, destination); - renderState.highImagePreloads.clear(); - renderState.styles.forEach(flushStylesInPreamble, destination); - var importMapChunks = renderState.importMapChunks; - for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++) - writeChunk(destination, importMapChunks[i$jscomp$0]); - importMapChunks.length = 0; - renderState.bootstrapScripts.forEach(flushResource, destination); - renderState.scripts.forEach(flushResource, destination); - renderState.scripts.clear(); - renderState.bulkPreloads.forEach(flushResource, destination); - renderState.bulkPreloads.clear(); - var hoistableChunks = renderState.hoistableChunks; - for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++) - writeChunk(destination, hoistableChunks[i$jscomp$0]); - hoistableChunks.length = 0; - htmlChunks && - null === headChunks && - writeChunk(destination, endChunkForTag("head")); - flushSegment(request, destination, completedRootSegment, null); - request.completedRootSegment = null; - writeBootstrap(destination, request.renderState); - } - var renderState$jscomp$0 = request.renderState; - completedRootSegment = 0; - var viewportChunks$jscomp$0 = renderState$jscomp$0.viewportChunks; - for ( - completedRootSegment = 0; - completedRootSegment < viewportChunks$jscomp$0.length; - completedRootSegment++ - ) - writeChunk(destination, viewportChunks$jscomp$0[completedRootSegment]); - viewportChunks$jscomp$0.length = 0; - renderState$jscomp$0.preconnects.forEach(flushResource, destination); - renderState$jscomp$0.preconnects.clear(); - renderState$jscomp$0.fontPreloads.forEach(flushResource, destination); - renderState$jscomp$0.fontPreloads.clear(); - renderState$jscomp$0.highImagePreloads.forEach( - flushResource, - destination - ); - renderState$jscomp$0.highImagePreloads.clear(); - renderState$jscomp$0.styles.forEach(preloadLateStyles, destination); - renderState$jscomp$0.scripts.forEach(flushResource, destination); - renderState$jscomp$0.scripts.clear(); - renderState$jscomp$0.bulkPreloads.forEach(flushResource, destination); - renderState$jscomp$0.bulkPreloads.clear(); - var hoistableChunks$jscomp$0 = renderState$jscomp$0.hoistableChunks; - for ( - completedRootSegment = 0; - completedRootSegment < hoistableChunks$jscomp$0.length; - completedRootSegment++ - ) - writeChunk(destination, hoistableChunks$jscomp$0[completedRootSegment]); - hoistableChunks$jscomp$0.length = 0; - var clientRenderedBoundaries = request.clientRenderedBoundaries; - for (i = 0; i < clientRenderedBoundaries.length; i++) { - var boundary = clientRenderedBoundaries[i]; - renderState$jscomp$0 = destination; - var resumableState = request.resumableState, - renderState$jscomp$1 = request.renderState, - id = boundary.rootSegmentID, - errorDigest = boundary.errorDigest; - writeChunk( - renderState$jscomp$0, - renderState$jscomp$1.startInlineScript - ); - 0 === (resumableState.instructions & 4) - ? ((resumableState.instructions |= 4), - writeChunk(renderState$jscomp$0, clientRenderScript1Full)) - : writeChunk(renderState$jscomp$0, clientRenderScript1Partial); - writeChunk(renderState$jscomp$0, renderState$jscomp$1.boundaryPrefix); - writeChunk(renderState$jscomp$0, id.toString(16)); - writeChunk(renderState$jscomp$0, clientRenderScript1A); - errorDigest && - (writeChunk( - renderState$jscomp$0, - clientRenderErrorScriptArgInterstitial - ), - writeChunk( - renderState$jscomp$0, - escapeJSStringsForInstructionScripts(errorDigest || "") - )); - var JSCompiler_inline_result = writeChunkAndReturn( - renderState$jscomp$0, - clientRenderScriptEnd - ); - if (!JSCompiler_inline_result) { - request.destination = null; - i++; - clientRenderedBoundaries.splice(0, i); - return; - } - } - clientRenderedBoundaries.splice(0, i); - var completedBoundaries = request.completedBoundaries; - for (i = 0; i < completedBoundaries.length; i++) - if ( - !flushCompletedBoundary(request, destination, completedBoundaries[i]) - ) { - request.destination = null; - i++; - completedBoundaries.splice(0, i); - return; - } - completedBoundaries.splice(0, i); - completeWriting(destination); - currentView = new Uint8Array(2048); - writtenBytes = 0; - destinationHasCapacity$1 = !0; - var partialBoundaries = request.partialBoundaries; - for (i = 0; i < partialBoundaries.length; i++) { - var boundary$51 = partialBoundaries[i]; - a: { - clientRenderedBoundaries = request; - boundary = destination; - var completedSegments = boundary$51.completedSegments; - for ( - JSCompiler_inline_result = 0; - JSCompiler_inline_result < completedSegments.length; - JSCompiler_inline_result++ - ) - if ( - !flushPartiallyCompletedSegment( - clientRenderedBoundaries, - boundary, - boundary$51, - completedSegments[JSCompiler_inline_result] - ) - ) { - JSCompiler_inline_result++; - completedSegments.splice(0, JSCompiler_inline_result); - var JSCompiler_inline_result$jscomp$0 = !1; - break a; - } - completedSegments.splice(0, JSCompiler_inline_result); - JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary( - boundary, - boundary$51.contentState, - clientRenderedBoundaries.renderState - ); - } - if (!JSCompiler_inline_result$jscomp$0) { - request.destination = null; - i++; - partialBoundaries.splice(0, i); - return; - } - } - partialBoundaries.splice(0, i); - var largeBoundaries = request.completedBoundaries; - for (i = 0; i < largeBoundaries.length; i++) - if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) { - request.destination = null; - i++; - largeBoundaries.splice(0, i); - return; - } - largeBoundaries.splice(0, i); - } - } finally { - 0 === request.allPendingTasks && - 0 === request.pingedTasks.length && - 0 === request.clientRenderedBoundaries.length && - 0 === request.completedBoundaries.length - ? ((request.flushScheduled = !1), - (i = request.resumableState), - i.hasBody && writeChunk(destination, endChunkForTag("body")), - i.hasHtml && writeChunk(destination, endChunkForTag("html")), - completeWriting(destination), - flushBuffered(destination), - (request.status = 14), - destination.end(), - (request.destination = null)) - : (completeWriting(destination), flushBuffered(destination)); - } -} -function startWork(request) { - request.flushScheduled = null !== request.destination; - scheduleMicrotask(function () { - return requestStorage.run(request, performWork, request); - }); - setImmediate(function () { - 10 === request.status && (request.status = 11); - null === request.trackedPostpones && - requestStorage.run( - request, - enqueueEarlyPreloadsAfterInitialWork, - request - ); - }); -} -function enqueueEarlyPreloadsAfterInitialWork(request) { - safelyEmitEarlyPreloads(request, 0 === request.pendingRootTasks); -} -function enqueueFlush(request) { - !1 === request.flushScheduled && - 0 === request.pingedTasks.length && - null !== request.destination && - ((request.flushScheduled = !0), - setImmediate(function () { - var destination = request.destination; - destination - ? flushCompletedQueues(request, destination) - : (request.flushScheduled = !1); - })); -} -function startFlowing(request, destination) { - if (13 === request.status) - (request.status = 14), destination.destroy(request.fatalError); - else if (14 !== request.status && null === request.destination) { - request.destination = destination; - try { - flushCompletedQueues(request, destination); - } catch (error) { - logRecoverableError(request, error, {}), fatalError(request, error); - } - } -} -function abort(request, reason) { - if (11 === request.status || 10 === request.status) request.status = 12; - try { - var abortableTasks = request.abortableTasks; - if (0 < abortableTasks.size) { - var error = - void 0 === reason - ? Error("The render was aborted by the server without a reason.") - : "object" === typeof reason && - null !== reason && - "function" === typeof reason.then - ? Error("The render was aborted by the server with a promise.") - : reason; - request.fatalError = error; - abortableTasks.forEach(function (task) { - return abortTask(task, request, error); - }); - abortableTasks.clear(); - } - null !== request.destination && - flushCompletedQueues(request, request.destination); - } catch (error$53) { - logRecoverableError(request, error$53, {}), fatalError(request, error$53); - } -} -function ensureCorrectIsomorphicReactVersion() { - var isomorphicReactPackageVersion = React.version; - if ("19.0.0" !== isomorphicReactPackageVersion) - throw Error( - 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + - (isomorphicReactPackageVersion + - "\n - react-dom: 19.0.0\nLearn more: https://react.dev/warnings/version-mismatch") - ); -} -ensureCorrectIsomorphicReactVersion(); -function createDrainHandler(destination, request) { - return function () { - return startFlowing(request, destination); - }; -} -function createCancelHandler(request, reason) { - return function () { - request.destination = null; - abort(request, Error(reason)); - }; -} -function createRequestImpl(children, options) { - var resumableState = createResumableState( - options ? options.identifierPrefix : void 0, - options ? options.unstable_externalRuntimeSrc : void 0, - options ? options.bootstrapScriptContent : void 0, - options ? options.bootstrapScripts : void 0, - options ? options.bootstrapModules : void 0 - ); - return createRequest( - children, - resumableState, - createRenderState( - resumableState, - options ? options.nonce : void 0, - options ? options.unstable_externalRuntimeSrc : void 0, - options ? options.importMap : void 0, - options ? options.onHeaders : void 0, - options ? options.maxHeadersLength : void 0 - ), - createRootFormatContext(options ? options.namespaceURI : void 0), - options ? options.progressiveChunkSize : void 0, - options ? options.onError : void 0, - options ? options.onAllReady : void 0, - options ? options.onShellReady : void 0, - options ? options.onShellError : void 0, - void 0, - options ? options.onPostpone : void 0, - options ? options.formState : void 0 - ); -} -ensureCorrectIsomorphicReactVersion(); -function createFakeWritable(readable) { - return { - write: function (chunk) { - return readable.push(chunk); - }, - end: function () { - readable.push(null); - }, - destroy: function (error) { - readable.destroy(error); - } - }; -} -exports.prerenderToNodeStream = function (children, options) { - return new Promise(function (resolve, reject) { - var resumableState = createResumableState( - options ? options.identifierPrefix : void 0, - options ? options.unstable_externalRuntimeSrc : void 0, - options ? options.bootstrapScriptContent : void 0, - options ? options.bootstrapScripts : void 0, - options ? options.bootstrapModules : void 0 - ), - request = createPrerenderRequest( - children, - resumableState, - createRenderState( - resumableState, - void 0, - options ? options.unstable_externalRuntimeSrc : void 0, - options ? options.importMap : void 0, - options ? options.onHeaders : void 0, - options ? options.maxHeadersLength : void 0 - ), - createRootFormatContext(options ? options.namespaceURI : void 0), - options ? options.progressiveChunkSize : void 0, - options ? options.onError : void 0, - function () { - var readable = new stream.Readable({ - read: function () { - startFlowing(request, writable); - } - }), - writable = createFakeWritable(readable); - resolve({ prelude: readable }); - }, - void 0, - void 0, - reject, - options ? options.onPostpone : void 0 - ); - if (options && options.signal) { - var signal = options.signal; - if (signal.aborted) abort(request, signal.reason); - else { - var listener = function () { - abort(request, signal.reason); - signal.removeEventListener("abort", listener); - }; - signal.addEventListener("abort", listener); - } - } - startWork(request); - }); -}; -exports.renderToPipeableStream = function (children, options) { - var request = createRequestImpl(children, options), - hasStartedFlowing = !1; - startWork(request); - return { - pipe: function (destination) { - if (hasStartedFlowing) - throw Error( - "React currently only supports piping to one writable stream." - ); - hasStartedFlowing = !0; - safelyEmitEarlyPreloads( - request, - null === request.trackedPostpones - ? 0 === request.pendingRootTasks - : null === request.completedRootSegment - ? 0 === request.pendingRootTasks - : 5 !== request.completedRootSegment.status - ); - startFlowing(request, destination); - destination.on("drain", createDrainHandler(destination, request)); - destination.on( - "error", - createCancelHandler( - request, - "The destination stream errored while writing data." - ) - ); - destination.on( - "close", - createCancelHandler(request, "The destination stream closed early.") - ); - return destination; - }, - abort: function (reason) { - abort(request, reason); - } - }; -}; -exports.version = "19.0.0"; - - -/***/ }), - -/***/ 6221: -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - -var React = __webpack_require__(6540); -function formatProdErrorMessage(code) { - var url = "https://react.dev/errors/" + code; - if (1 < arguments.length) { - url += "?args[]=" + encodeURIComponent(arguments[1]); - for (var i = 2; i < arguments.length; i++) - url += "&args[]=" + encodeURIComponent(arguments[i]); - } - return ( - "Minified React error #" + - code + - "; visit " + - url + - " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." - ); -} -function noop() {} -var Internals = { - d: { - f: noop, - r: function () { - throw Error(formatProdErrorMessage(522)); - }, - D: noop, - C: noop, - L: noop, - m: noop, - X: noop, - S: noop, - M: noop - }, - p: 0, - findDOMNode: null - }, - REACT_PORTAL_TYPE = Symbol.for("react.portal"); -function createPortal$1(children, containerInfo, implementation) { - var key = - 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; - return { - $$typeof: REACT_PORTAL_TYPE, - key: null == key ? null : "" + key, - children: children, - containerInfo: containerInfo, - implementation: implementation - }; -} -var ReactSharedInternals = - React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; -function getCrossOriginStringAs(as, input) { - if ("font" === as) return ""; - if ("string" === typeof input) - return "use-credentials" === input ? input : ""; -} -exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = - Internals; -exports.createPortal = function (children, container) { - var key = - 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null; - if ( - !container || - (1 !== container.nodeType && - 9 !== container.nodeType && - 11 !== container.nodeType) - ) - throw Error(formatProdErrorMessage(299)); - return createPortal$1(children, container, null, key); -}; -exports.flushSync = function (fn) { - var previousTransition = ReactSharedInternals.T, - previousUpdatePriority = Internals.p; - try { - if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn(); - } finally { - (ReactSharedInternals.T = previousTransition), - (Internals.p = previousUpdatePriority), - Internals.d.f(); - } -}; -exports.preconnect = function (href, options) { - "string" === typeof href && - (options - ? ((options = options.crossOrigin), - (options = - "string" === typeof options - ? "use-credentials" === options - ? options - : "" - : void 0)) - : (options = null), - Internals.d.C(href, options)); -}; -exports.prefetchDNS = function (href) { - "string" === typeof href && Internals.d.D(href); -}; -exports.preinit = function (href, options) { - if ("string" === typeof href && options && "string" === typeof options.as) { - var as = options.as, - crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), - integrity = - "string" === typeof options.integrity ? options.integrity : void 0, - fetchPriority = - "string" === typeof options.fetchPriority - ? options.fetchPriority - : void 0; - "style" === as - ? Internals.d.S( - href, - "string" === typeof options.precedence ? options.precedence : void 0, - { - crossOrigin: crossOrigin, - integrity: integrity, - fetchPriority: fetchPriority - } - ) - : "script" === as && - Internals.d.X(href, { - crossOrigin: crossOrigin, - integrity: integrity, - fetchPriority: fetchPriority, - nonce: "string" === typeof options.nonce ? options.nonce : void 0 - }); - } -}; -exports.preinitModule = function (href, options) { - if ("string" === typeof href) - if ("object" === typeof options && null !== options) { - if (null == options.as || "script" === options.as) { - var crossOrigin = getCrossOriginStringAs( - options.as, - options.crossOrigin - ); - Internals.d.M(href, { - crossOrigin: crossOrigin, - integrity: - "string" === typeof options.integrity ? options.integrity : void 0, - nonce: "string" === typeof options.nonce ? options.nonce : void 0 - }); - } - } else null == options && Internals.d.M(href); -}; -exports.preload = function (href, options) { - if ( - "string" === typeof href && - "object" === typeof options && - null !== options && - "string" === typeof options.as - ) { - var as = options.as, - crossOrigin = getCrossOriginStringAs(as, options.crossOrigin); - Internals.d.L(href, as, { - crossOrigin: crossOrigin, - integrity: - "string" === typeof options.integrity ? options.integrity : void 0, - nonce: "string" === typeof options.nonce ? options.nonce : void 0, - type: "string" === typeof options.type ? options.type : void 0, - fetchPriority: - "string" === typeof options.fetchPriority - ? options.fetchPriority - : void 0, - referrerPolicy: - "string" === typeof options.referrerPolicy - ? options.referrerPolicy - : void 0, - imageSrcSet: - "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0, - imageSizes: - "string" === typeof options.imageSizes ? options.imageSizes : void 0, - media: "string" === typeof options.media ? options.media : void 0 - }); - } -}; -exports.preloadModule = function (href, options) { - if ("string" === typeof href) - if (options) { - var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin); - Internals.d.m(href, { - as: - "string" === typeof options.as && "script" !== options.as - ? options.as - : void 0, - crossOrigin: crossOrigin, - integrity: - "string" === typeof options.integrity ? options.integrity : void 0 - }); - } else Internals.d.m(href); -}; -exports.requestFormReset = function (form) { - Internals.d.r(form); -}; -exports.unstable_batchedUpdates = function (fn, a) { - return fn(a); -}; -exports.useFormState = function (action, initialState, permalink) { - return ReactSharedInternals.H.useFormState(action, initialState, permalink); -}; -exports.useFormStatus = function () { - return ReactSharedInternals.H.useHostTransitionStatus(); -}; -exports.version = "19.0.0"; - - -/***/ }), - -/***/ 961: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -function checkDCE() { - /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ - if ( - typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || - typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function' - ) { - return; - } - if (false) {} - try { - // Verify that the code above has been dead code eliminated (DCE'd). - __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE); - } catch (err) { - // DevTools shouldn't crash React, no matter what. - // We should still report in case we break this code. - console.error(err); - } -} - -if (true) { - // DCE check should happen before ReactDOM bundle executes so that - // DevTools can report bad minification during injection. - checkDCE(); - module.exports = __webpack_require__(6221); -} else {} - - -/***/ }), - -/***/ 7422: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -module.exports = __webpack_require__(4362); - - -/***/ }), - -/***/ 4362: -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -var __webpack_unused_export__; - - -var l, s; -if (true) { - l = __webpack_require__(6845); - s = __webpack_require__(3839); -} else {} - -__webpack_unused_export__ = l.version; -__webpack_unused_export__ = l.renderToString; -__webpack_unused_export__ = l.renderToStaticMarkup; -exports.renderToPipeableStream = s.renderToPipeableStream; -if (s.resumeToPipeableStream) { - __webpack_unused_export__ = s.resumeToPipeableStream; -} - - -/***/ }), - -/***/ 9698: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - -var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); -function jsxProd(type, config, maybeKey) { - var key = null; - void 0 !== maybeKey && (key = "" + maybeKey); - void 0 !== config.key && (key = "" + config.key); - if ("key" in config) { - maybeKey = {}; - for (var propName in config) - "key" !== propName && (maybeKey[propName] = config[propName]); - } else maybeKey = config; - config = maybeKey.ref; - return { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - ref: void 0 !== config ? config : null, - props: maybeKey - }; -} -exports.Fragment = REACT_FRAGMENT_TYPE; -exports.jsx = jsxProd; -exports.jsxs = jsxProd; - - -/***/ }), - -/***/ 9869: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - -var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), - REACT_PORTAL_TYPE = Symbol.for("react.portal"), - REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), - REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), - REACT_PROFILER_TYPE = Symbol.for("react.profiler"), - REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), - REACT_CONTEXT_TYPE = Symbol.for("react.context"), - REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), - REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), - REACT_MEMO_TYPE = Symbol.for("react.memo"), - REACT_LAZY_TYPE = Symbol.for("react.lazy"), - MAYBE_ITERATOR_SYMBOL = Symbol.iterator; -function getIteratorFn(maybeIterable) { - if (null === maybeIterable || "object" !== typeof maybeIterable) return null; - maybeIterable = - (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) || - maybeIterable["@@iterator"]; - return "function" === typeof maybeIterable ? maybeIterable : null; -} -var ReactNoopUpdateQueue = { - isMounted: function () { - return !1; - }, - enqueueForceUpdate: function () {}, - enqueueReplaceState: function () {}, - enqueueSetState: function () {} - }, - assign = Object.assign, - emptyObject = {}; -function Component(props, context, updater) { - this.props = props; - this.context = context; - this.refs = emptyObject; - this.updater = updater || ReactNoopUpdateQueue; -} -Component.prototype.isReactComponent = {}; -Component.prototype.setState = function (partialState, callback) { - if ( - "object" !== typeof partialState && - "function" !== typeof partialState && - null != partialState - ) - throw Error( - "takes an object of state variables to update or a function which returns an object of state variables." - ); - this.updater.enqueueSetState(this, partialState, callback, "setState"); -}; -Component.prototype.forceUpdate = function (callback) { - this.updater.enqueueForceUpdate(this, callback, "forceUpdate"); -}; -function ComponentDummy() {} -ComponentDummy.prototype = Component.prototype; -function PureComponent(props, context, updater) { - this.props = props; - this.context = context; - this.refs = emptyObject; - this.updater = updater || ReactNoopUpdateQueue; -} -var pureComponentPrototype = (PureComponent.prototype = new ComponentDummy()); -pureComponentPrototype.constructor = PureComponent; -assign(pureComponentPrototype, Component.prototype); -pureComponentPrototype.isPureReactComponent = !0; -var isArrayImpl = Array.isArray, - ReactSharedInternals = { H: null, A: null, T: null, S: null }, - hasOwnProperty = Object.prototype.hasOwnProperty; -function ReactElement(type, key, self, source, owner, props) { - self = props.ref; - return { - $$typeof: REACT_ELEMENT_TYPE, - type: type, - key: key, - ref: void 0 !== self ? self : null, - props: props - }; -} -function cloneAndReplaceKey(oldElement, newKey) { - return ReactElement( - oldElement.type, - newKey, - void 0, - void 0, - void 0, - oldElement.props - ); -} -function isValidElement(object) { - return ( - "object" === typeof object && - null !== object && - object.$$typeof === REACT_ELEMENT_TYPE - ); -} -function escape(key) { - var escaperLookup = { "=": "=0", ":": "=2" }; - return ( - "$" + - key.replace(/[=:]/g, function (match) { - return escaperLookup[match]; - }) - ); -} -var userProvidedKeyEscapeRegex = /\/+/g; -function getElementKey(element, index) { - return "object" === typeof element && null !== element && null != element.key - ? escape("" + element.key) - : index.toString(36); -} -function noop$1() {} -function resolveThenable(thenable) { - switch (thenable.status) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - default: - switch ( - ("string" === typeof thenable.status - ? thenable.then(noop$1, noop$1) - : ((thenable.status = "pending"), - thenable.then( - function (fulfilledValue) { - "pending" === thenable.status && - ((thenable.status = "fulfilled"), - (thenable.value = fulfilledValue)); - }, - function (error) { - "pending" === thenable.status && - ((thenable.status = "rejected"), (thenable.reason = error)); - } - )), - thenable.status) - ) { - case "fulfilled": - return thenable.value; - case "rejected": - throw thenable.reason; - } - } - throw thenable; -} -function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { - var type = typeof children; - if ("undefined" === type || "boolean" === type) children = null; - var invokeCallback = !1; - if (null === children) invokeCallback = !0; - else - switch (type) { - case "bigint": - case "string": - case "number": - invokeCallback = !0; - break; - case "object": - switch (children.$$typeof) { - case REACT_ELEMENT_TYPE: - case REACT_PORTAL_TYPE: - invokeCallback = !0; - break; - case REACT_LAZY_TYPE: - return ( - (invokeCallback = children._init), - mapIntoArray( - invokeCallback(children._payload), - array, - escapedPrefix, - nameSoFar, - callback - ) - ); - } - } - if (invokeCallback) - return ( - (callback = callback(children)), - (invokeCallback = - "" === nameSoFar ? "." + getElementKey(children, 0) : nameSoFar), - isArrayImpl(callback) - ? ((escapedPrefix = ""), - null != invokeCallback && - (escapedPrefix = - invokeCallback.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), - mapIntoArray(callback, array, escapedPrefix, "", function (c) { - return c; - })) - : null != callback && - (isValidElement(callback) && - (callback = cloneAndReplaceKey( - callback, - escapedPrefix + - (null == callback.key || - (children && children.key === callback.key) - ? "" - : ("" + callback.key).replace( - userProvidedKeyEscapeRegex, - "$&/" - ) + "/") + - invokeCallback - )), - array.push(callback)), - 1 - ); - invokeCallback = 0; - var nextNamePrefix = "" === nameSoFar ? "." : nameSoFar + ":"; - if (isArrayImpl(children)) - for (var i = 0; i < children.length; i++) - (nameSoFar = children[i]), - (type = nextNamePrefix + getElementKey(nameSoFar, i)), - (invokeCallback += mapIntoArray( - nameSoFar, - array, - escapedPrefix, - type, - callback - )); - else if (((i = getIteratorFn(children)), "function" === typeof i)) - for ( - children = i.call(children), i = 0; - !(nameSoFar = children.next()).done; - - ) - (nameSoFar = nameSoFar.value), - (type = nextNamePrefix + getElementKey(nameSoFar, i++)), - (invokeCallback += mapIntoArray( - nameSoFar, - array, - escapedPrefix, - type, - callback - )); - else if ("object" === type) { - if ("function" === typeof children.then) - return mapIntoArray( - resolveThenable(children), - array, - escapedPrefix, - nameSoFar, - callback - ); - array = String(children); - throw Error( - "Objects are not valid as a React child (found: " + - ("[object Object]" === array - ? "object with keys {" + Object.keys(children).join(", ") + "}" - : array) + - "). If you meant to render a collection of children, use an array instead." - ); - } - return invokeCallback; -} -function mapChildren(children, func, context) { - if (null == children) return children; - var result = [], - count = 0; - mapIntoArray(children, result, "", "", function (child) { - return func.call(context, child, count++); - }); - return result; -} -function lazyInitializer(payload) { - if (-1 === payload._status) { - var ctor = payload._result; - ctor = ctor(); - ctor.then( - function (moduleObject) { - if (0 === payload._status || -1 === payload._status) - (payload._status = 1), (payload._result = moduleObject); - }, - function (error) { - if (0 === payload._status || -1 === payload._status) - (payload._status = 2), (payload._result = error); - } - ); - -1 === payload._status && ((payload._status = 0), (payload._result = ctor)); - } - if (1 === payload._status) return payload._result.default; - throw payload._result; -} -var reportGlobalError = - "function" === typeof reportError - ? reportError - : function (error) { - if ( - "object" === typeof window && - "function" === typeof window.ErrorEvent - ) { - var event = new window.ErrorEvent("error", { - bubbles: !0, - cancelable: !0, - message: - "object" === typeof error && - null !== error && - "string" === typeof error.message - ? String(error.message) - : String(error), - error: error - }); - if (!window.dispatchEvent(event)) return; - } else if ( - "object" === typeof process && - "function" === typeof process.emit - ) { - process.emit("uncaughtException", error); - return; - } - console.error(error); - }; -function noop() {} -exports.Children = { - map: mapChildren, - forEach: function (children, forEachFunc, forEachContext) { - mapChildren( - children, - function () { - forEachFunc.apply(this, arguments); - }, - forEachContext - ); - }, - count: function (children) { - var n = 0; - mapChildren(children, function () { - n++; - }); - return n; - }, - toArray: function (children) { - return ( - mapChildren(children, function (child) { - return child; - }) || [] - ); - }, - only: function (children) { - if (!isValidElement(children)) - throw Error( - "React.Children.only expected to receive a single React element child." - ); - return children; - } -}; -exports.Component = Component; -exports.Fragment = REACT_FRAGMENT_TYPE; -exports.Profiler = REACT_PROFILER_TYPE; -exports.PureComponent = PureComponent; -exports.StrictMode = REACT_STRICT_MODE_TYPE; -exports.Suspense = REACT_SUSPENSE_TYPE; -exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = - ReactSharedInternals; -exports.act = function () { - throw Error("act(...) is not supported in production builds of React."); -}; -exports.cache = function (fn) { - return function () { - return fn.apply(null, arguments); - }; -}; -exports.cloneElement = function (element, config, children) { - if (null === element || void 0 === element) - throw Error( - "The argument must be a React element, but you passed " + element + "." - ); - var props = assign({}, element.props), - key = element.key, - owner = void 0; - if (null != config) - for (propName in (void 0 !== config.ref && (owner = void 0), - void 0 !== config.key && (key = "" + config.key), - config)) - !hasOwnProperty.call(config, propName) || - "key" === propName || - "__self" === propName || - "__source" === propName || - ("ref" === propName && void 0 === config.ref) || - (props[propName] = config[propName]); - var propName = arguments.length - 2; - if (1 === propName) props.children = children; - else if (1 < propName) { - for (var childArray = Array(propName), i = 0; i < propName; i++) - childArray[i] = arguments[i + 2]; - props.children = childArray; - } - return ReactElement(element.type, key, void 0, void 0, owner, props); -}; -exports.createContext = function (defaultValue) { - defaultValue = { - $$typeof: REACT_CONTEXT_TYPE, - _currentValue: defaultValue, - _currentValue2: defaultValue, - _threadCount: 0, - Provider: null, - Consumer: null - }; - defaultValue.Provider = defaultValue; - defaultValue.Consumer = { - $$typeof: REACT_CONSUMER_TYPE, - _context: defaultValue - }; - return defaultValue; -}; -exports.createElement = function (type, config, children) { - var propName, - props = {}, - key = null; - if (null != config) - for (propName in (void 0 !== config.key && (key = "" + config.key), config)) - hasOwnProperty.call(config, propName) && - "key" !== propName && - "__self" !== propName && - "__source" !== propName && - (props[propName] = config[propName]); - var childrenLength = arguments.length - 2; - if (1 === childrenLength) props.children = children; - else if (1 < childrenLength) { - for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++) - childArray[i] = arguments[i + 2]; - props.children = childArray; - } - if (type && type.defaultProps) - for (propName in ((childrenLength = type.defaultProps), childrenLength)) - void 0 === props[propName] && - (props[propName] = childrenLength[propName]); - return ReactElement(type, key, void 0, void 0, null, props); -}; -exports.createRef = function () { - return { current: null }; -}; -exports.forwardRef = function (render) { - return { $$typeof: REACT_FORWARD_REF_TYPE, render: render }; -}; -exports.isValidElement = isValidElement; -exports.lazy = function (ctor) { - return { - $$typeof: REACT_LAZY_TYPE, - _payload: { _status: -1, _result: ctor }, - _init: lazyInitializer - }; -}; -exports.memo = function (type, compare) { - return { - $$typeof: REACT_MEMO_TYPE, - type: type, - compare: void 0 === compare ? null : compare - }; -}; -exports.startTransition = function (scope) { - var prevTransition = ReactSharedInternals.T, - currentTransition = {}; - ReactSharedInternals.T = currentTransition; - try { - var returnValue = scope(), - onStartTransitionFinish = ReactSharedInternals.S; - null !== onStartTransitionFinish && - onStartTransitionFinish(currentTransition, returnValue); - "object" === typeof returnValue && - null !== returnValue && - "function" === typeof returnValue.then && - returnValue.then(noop, reportGlobalError); - } catch (error) { - reportGlobalError(error); - } finally { - ReactSharedInternals.T = prevTransition; - } -}; -exports.unstable_useCacheRefresh = function () { - return ReactSharedInternals.H.useCacheRefresh(); -}; -exports.use = function (usable) { - return ReactSharedInternals.H.use(usable); -}; -exports.useActionState = function (action, initialState, permalink) { - return ReactSharedInternals.H.useActionState(action, initialState, permalink); -}; -exports.useCallback = function (callback, deps) { - return ReactSharedInternals.H.useCallback(callback, deps); -}; -exports.useContext = function (Context) { - return ReactSharedInternals.H.useContext(Context); -}; -exports.useDebugValue = function () {}; -exports.useDeferredValue = function (value, initialValue) { - return ReactSharedInternals.H.useDeferredValue(value, initialValue); -}; -exports.useEffect = function (create, deps) { - return ReactSharedInternals.H.useEffect(create, deps); -}; -exports.useId = function () { - return ReactSharedInternals.H.useId(); -}; -exports.useImperativeHandle = function (ref, create, deps) { - return ReactSharedInternals.H.useImperativeHandle(ref, create, deps); -}; -exports.useInsertionEffect = function (create, deps) { - return ReactSharedInternals.H.useInsertionEffect(create, deps); -}; -exports.useLayoutEffect = function (create, deps) { - return ReactSharedInternals.H.useLayoutEffect(create, deps); -}; -exports.useMemo = function (create, deps) { - return ReactSharedInternals.H.useMemo(create, deps); -}; -exports.useOptimistic = function (passthrough, reducer) { - return ReactSharedInternals.H.useOptimistic(passthrough, reducer); -}; -exports.useReducer = function (reducer, initialArg, init) { - return ReactSharedInternals.H.useReducer(reducer, initialArg, init); -}; -exports.useRef = function (initialValue) { - return ReactSharedInternals.H.useRef(initialValue); -}; -exports.useState = function (initialState) { - return ReactSharedInternals.H.useState(initialState); -}; -exports.useSyncExternalStore = function ( - subscribe, - getSnapshot, - getServerSnapshot -) { - return ReactSharedInternals.H.useSyncExternalStore( - subscribe, - getSnapshot, - getServerSnapshot - ); -}; -exports.useTransition = function () { - return ReactSharedInternals.H.useTransition(); -}; -exports.version = "19.0.0"; - - -/***/ }), - -/***/ 6540: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -if (true) { - module.exports = __webpack_require__(9869); -} else {} - - -/***/ }), - -/***/ 4848: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -if (true) { - module.exports = __webpack_require__(9698); -} else {} - - -/***/ }), - -/***/ 290: -/***/ ((module) => { - -"use strict"; -module.exports = require("async_hooks"); - -/***/ }), - -/***/ 6982: -/***/ ((module) => { - -"use strict"; -module.exports = require("crypto"); - -/***/ }), - -/***/ 2203: -/***/ ((module) => { - -"use strict"; -module.exports = require("stream"); - -/***/ }), - -/***/ 9023: -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ 8102: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ _extends) -/* harmony export */ }); -function _extends() { - return _extends = Object.assign ? Object.assign.bind() : function (n) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e]; - for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); - } - return n; - }, _extends.apply(null, arguments); -} - - -/***/ }), - -/***/ 1146: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - A: () => (/* binding */ _inheritsLoose) -}); - -;// ../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js -function _setPrototypeOf(t, e) { - return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { - return t.__proto__ = e, t; - }, _setPrototypeOf(t, e); -} - -;// ../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js - -function _inheritsLoose(t, o) { - t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); -} - - -/***/ }), - -/***/ 9257: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ _objectWithoutPropertiesLoose) -/* harmony export */ }); -function _objectWithoutPropertiesLoose(r, e) { - if (null == r) return {}; - var t = {}; - for (var n in r) if ({}.hasOwnProperty.call(r, n)) { - if (e.includes(n)) continue; - t[n] = r[n]; - } - return t; -} - - -/***/ }), - -/***/ 3023: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ R: () => (/* binding */ useMDXComponents), -/* harmony export */ x: () => (/* binding */ MDXProvider) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/** - * @import {MDXComponents} from 'mdx/types.js' - * @import {Component, ReactElement, ReactNode} from 'react' - */ - -/** - * @callback MergeComponents - * Custom merge function. - * @param {Readonly<MDXComponents>} currentComponents - * Current components from the context. - * @returns {MDXComponents} - * Additional components. - * - * @typedef Props - * Configuration for `MDXProvider`. - * @property {ReactNode | null | undefined} [children] - * Children (optional). - * @property {Readonly<MDXComponents> | MergeComponents | null | undefined} [components] - * Additional components to use or a function that creates them (optional). - * @property {boolean | null | undefined} [disableParentContext=false] - * Turn off outer component context (default: `false`). - */ - - - -/** @type {Readonly<MDXComponents>} */ -const emptyComponents = {} - -const MDXContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext(emptyComponents) - -/** - * Get current components from the MDX Context. - * - * @param {Readonly<MDXComponents> | MergeComponents | null | undefined} [components] - * Additional components to use or a function that creates them (optional). - * @returns {MDXComponents} - * Current components. - */ -function useMDXComponents(components) { - const contextComponents = react__WEBPACK_IMPORTED_MODULE_0__.useContext(MDXContext) - - // Memoize to avoid unnecessary top-level context changes - return react__WEBPACK_IMPORTED_MODULE_0__.useMemo( - function () { - // Custom merge via a function prop - if (typeof components === 'function') { - return components(contextComponents) - } - - return {...contextComponents, ...components} - }, - [contextComponents, components] - ) -} - -/** - * Provider for MDX context. - * - * @param {Readonly<Props>} properties - * Properties. - * @returns {ReactElement} - * Element. - * @satisfies {Component} - */ -function MDXProvider(properties) { - /** @type {Readonly<MDXComponents>} */ - let allComponents - - if (properties.disableParentContext) { - allComponents = - typeof properties.components === 'function' - ? properties.components(emptyComponents) - : properties.components || emptyComponents - } else { - allComponents = useMDXComponents(properties.components) - } - - return react__WEBPACK_IMPORTED_MODULE_0__.createElement( - MDXContext.Provider, - {value: allComponents}, - properties.children - ) -} - - -/***/ }), - -/***/ 1750: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* unused harmony export clsx */ -function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f)}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clsx); - -/***/ }), - -/***/ 7663: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ My: () => (/* binding */ Prism), -/* harmony export */ f4: () => (/* binding */ Highlight2) -/* harmony export */ }); -/* unused harmony exports normalizeTokens, themes, useTokenize */ -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1750); -var __create = Object.create; -var __defProp = Object.defineProperty; -var __defProps = Object.defineProperties; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropDescs = Object.getOwnPropertyDescriptors; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getOwnPropSymbols = Object.getOwnPropertySymbols; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __propIsEnum = Object.prototype.propertyIsEnumerable; -var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; -var __spreadValues = (a, b) => { - for (var prop in b || (b = {})) - if (__hasOwnProp.call(b, prop)) - __defNormalProp(a, prop, b[prop]); - if (__getOwnPropSymbols) - for (var prop of __getOwnPropSymbols(b)) { - if (__propIsEnum.call(b, prop)) - __defNormalProp(a, prop, b[prop]); - } - return a; -}; -var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); -var __objRest = (source, exclude) => { - var target = {}; - for (var prop in source) - if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) - target[prop] = source[prop]; - if (source != null && __getOwnPropSymbols) - for (var prop of __getOwnPropSymbols(source)) { - if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) - target[prop] = source[prop]; - } - return target; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); - -// ../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js -var require_prism = __commonJS({ - "../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(exports, module) { - var Prism2 = function() { - var lang = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i; - var uniqueId = 0; - var plainTextGrammar = {}; - var _ = { - /** - * A namespace for utility methods. - * - * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may - * change or disappear at any time. - * - * @namespace - * @memberof Prism - */ - util: { - encode: function encode(tokens) { - if (tokens instanceof Token) { - return new Token(tokens.type, encode(tokens.content), tokens.alias); - } else if (Array.isArray(tokens)) { - return tokens.map(encode); - } else { - return tokens.replace(/&/g, "&").replace(/</g, "<").replace(/\u00a0/g, " "); - } - }, - /** - * Returns the name of the type of the given value. - * - * @param {any} o - * @returns {string} - * @example - * type(null) === 'Null' - * type(undefined) === 'Undefined' - * type(123) === 'Number' - * type('foo') === 'String' - * type(true) === 'Boolean' - * type([1, 2]) === 'Array' - * type({}) === 'Object' - * type(String) === 'Function' - * type(/abc+/) === 'RegExp' - */ - type: function(o) { - return Object.prototype.toString.call(o).slice(8, -1); - }, - /** - * Returns a unique number for the given object. Later calls will still return the same number. - * - * @param {Object} obj - * @returns {number} - */ - objId: function(obj) { - if (!obj["__id"]) { - Object.defineProperty(obj, "__id", { value: ++uniqueId }); - } - return obj["__id"]; - }, - /** - * Creates a deep clone of the given object. - * - * The main intended use of this function is to clone language definitions. - * - * @param {T} o - * @param {Record<number, any>} [visited] - * @returns {T} - * @template T - */ - clone: function deepClone(o, visited) { - visited = visited || {}; - var clone; - var id; - switch (_.util.type(o)) { - case "Object": - id = _.util.objId(o); - if (visited[id]) { - return visited[id]; - } - clone = /** @type {Record<string, any>} */ - {}; - visited[id] = clone; - for (var key in o) { - if (o.hasOwnProperty(key)) { - clone[key] = deepClone(o[key], visited); - } - } - return ( - /** @type {any} */ - clone - ); - case "Array": - id = _.util.objId(o); - if (visited[id]) { - return visited[id]; - } - clone = []; - visited[id] = clone; - /** @type {Array} */ - /** @type {any} */ - o.forEach(function(v, i) { - clone[i] = deepClone(v, visited); - }); - return ( - /** @type {any} */ - clone - ); - default: - return o; - } - }, - /** - * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class. - * - * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned. - * - * @param {Element} element - * @returns {string} - */ - getLanguage: function(element) { - while (element) { - var m = lang.exec(element.className); - if (m) { - return m[1].toLowerCase(); - } - element = element.parentElement; - } - return "none"; - }, - /** - * Sets the Prism `language-xxxx` class of the given element. - * - * @param {Element} element - * @param {string} language - * @returns {void} - */ - setLanguage: function(element, language) { - element.className = element.className.replace(RegExp(lang, "gi"), ""); - element.classList.add("language-" + language); - }, - /** - * Returns whether a given class is active for `element`. - * - * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated - * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the - * given class is just the given class with a `no-` prefix. - * - * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is - * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its - * ancestors have the given class or the negated version of it, then the default activation will be returned. - * - * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated - * version of it, the class is considered active. - * - * @param {Element} element - * @param {string} className - * @param {boolean} [defaultActivation=false] - * @returns {boolean} - */ - isActive: function(element, className, defaultActivation) { - var no = "no-" + className; - while (element) { - var classList = element.classList; - if (classList.contains(className)) { - return true; - } - if (classList.contains(no)) { - return false; - } - element = element.parentElement; - } - return !!defaultActivation; - } - }, - /** - * This namespace contains all currently loaded languages and the some helper functions to create and modify languages. - * - * @namespace - * @memberof Prism - * @public - */ - languages: { - /** - * The grammar for plain, unformatted text. - */ - plain: plainTextGrammar, - plaintext: plainTextGrammar, - text: plainTextGrammar, - txt: plainTextGrammar, - /** - * Creates a deep copy of the language with the given id and appends the given tokens. - * - * If a token in `redef` also appears in the copied language, then the existing token in the copied language - * will be overwritten at its original position. - * - * ## Best practices - * - * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language) - * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to - * understand the language definition because, normally, the order of tokens matters in Prism grammars. - * - * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens. - * Furthermore, all non-overwriting tokens should be placed after the overwriting ones. - * - * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`. - * @param {Grammar} redef The new tokens to append. - * @returns {Grammar} The new language created. - * @public - * @example - * Prism.languages['css-with-colors'] = Prism.languages.extend('css', { - * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token - * // at its original position - * 'comment': { ... }, - * // CSS doesn't have a 'color' token, so this token will be appended - * 'color': /\b(?:red|green|blue)\b/ - * }); - */ - extend: function(id, redef) { - var lang2 = _.util.clone(_.languages[id]); - for (var key in redef) { - lang2[key] = redef[key]; - } - return lang2; - }, - /** - * Inserts tokens _before_ another token in a language definition or any other grammar. - * - * ## Usage - * - * This helper method makes it easy to modify existing languages. For example, the CSS language definition - * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded - * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the - * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do - * this: - * - * ```js - * Prism.languages.markup.style = { - * // token - * }; - * ``` - * - * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens - * before existing tokens. For the CSS example above, you would use it like this: - * - * ```js - * Prism.languages.insertBefore('markup', 'cdata', { - * 'style': { - * // token - * } - * }); - * ``` - * - * ## Special cases - * - * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar - * will be ignored. - * - * This behavior can be used to insert tokens after `before`: - * - * ```js - * Prism.languages.insertBefore('markup', 'comment', { - * 'comment': Prism.languages.markup.comment, - * // tokens after 'comment' - * }); - * ``` - * - * ## Limitations - * - * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object - * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave - * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily - * deleting properties which is necessary to insert at arbitrary positions. - * - * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object. - * Instead, it will create a new object and replace all references to the target object with the new one. This - * can be done without temporarily deleting properties, so the iteration order is well-defined. - * - * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if - * you hold the target object in a variable, then the value of the variable will not change. - * - * ```js - * var oldMarkup = Prism.languages.markup; - * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... }); - * - * assert(oldMarkup !== Prism.languages.markup); - * assert(newMarkup === Prism.languages.markup); - * ``` - * - * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the - * object to be modified. - * @param {string} before The key to insert before. - * @param {Grammar} insert An object containing the key-value pairs to be inserted. - * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the - * object to be modified. - * - * Defaults to `Prism.languages`. - * @returns {Grammar} The new grammar object. - * @public - */ - insertBefore: function(inside, before, insert, root) { - root = root || /** @type {any} */ - _.languages; - var grammar = root[inside]; - var ret = {}; - for (var token in grammar) { - if (grammar.hasOwnProperty(token)) { - if (token == before) { - for (var newToken in insert) { - if (insert.hasOwnProperty(newToken)) { - ret[newToken] = insert[newToken]; - } - } - } - if (!insert.hasOwnProperty(token)) { - ret[token] = grammar[token]; - } - } - } - var old = root[inside]; - root[inside] = ret; - _.languages.DFS(_.languages, function(key, value) { - if (value === old && key != inside) { - this[key] = ret; - } - }); - return ret; - }, - // Traverse a language definition with Depth First Search - DFS: function DFS(o, callback, type, visited) { - visited = visited || {}; - var objId = _.util.objId; - for (var i in o) { - if (o.hasOwnProperty(i)) { - callback.call(o, i, o[i], type || i); - var property = o[i]; - var propertyType = _.util.type(property); - if (propertyType === "Object" && !visited[objId(property)]) { - visited[objId(property)] = true; - DFS(property, callback, null, visited); - } else if (propertyType === "Array" && !visited[objId(property)]) { - visited[objId(property)] = true; - DFS(property, callback, i, visited); - } - } - } - } - }, - plugins: {}, - /** - * Low-level function, only use if you know what you’re doing. It accepts a string of text as input - * and the language definitions to use, and returns a string with the HTML produced. - * - * The following hooks will be run: - * 1. `before-tokenize` - * 2. `after-tokenize` - * 3. `wrap`: On each {@link Token}. - * - * @param {string} text A string with the code to be highlighted. - * @param {Grammar} grammar An object containing the tokens to use. - * - * Usually a language definition like `Prism.languages.markup`. - * @param {string} language The name of the language definition passed to `grammar`. - * @returns {string} The highlighted HTML. - * @memberof Prism - * @public - * @example - * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript'); - */ - highlight: function(text, grammar, language) { - var env = { - code: text, - grammar, - language - }; - _.hooks.run("before-tokenize", env); - if (!env.grammar) { - throw new Error('The language "' + env.language + '" has no grammar.'); - } - env.tokens = _.tokenize(env.code, env.grammar); - _.hooks.run("after-tokenize", env); - return Token.stringify(_.util.encode(env.tokens), env.language); - }, - /** - * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input - * and the language definitions to use, and returns an array with the tokenized code. - * - * When the language definition includes nested tokens, the function is called recursively on each of these tokens. - * - * This method could be useful in other contexts as well, as a very crude parser. - * - * @param {string} text A string with the code to be highlighted. - * @param {Grammar} grammar An object containing the tokens to use. - * - * Usually a language definition like `Prism.languages.markup`. - * @returns {TokenStream} An array of strings and tokens, a token stream. - * @memberof Prism - * @public - * @example - * let code = `var foo = 0;`; - * let tokens = Prism.tokenize(code, Prism.languages.javascript); - * tokens.forEach(token => { - * if (token instanceof Prism.Token && token.type === 'number') { - * console.log(`Found numeric literal: ${token.content}`); - * } - * }); - */ - tokenize: function(text, grammar) { - var rest = grammar.rest; - if (rest) { - for (var token in rest) { - grammar[token] = rest[token]; - } - delete grammar.rest; - } - var tokenList = new LinkedList(); - addAfter(tokenList, tokenList.head, text); - matchGrammar(text, tokenList, grammar, tokenList.head, 0); - return toArray(tokenList); - }, - /** - * @namespace - * @memberof Prism - * @public - */ - hooks: { - all: {}, - /** - * Adds the given callback to the list of callbacks for the given hook. - * - * The callback will be invoked when the hook it is registered for is run. - * Hooks are usually directly run by a highlight function but you can also run hooks yourself. - * - * One callback function can be registered to multiple hooks and the same hook multiple times. - * - * @param {string} name The name of the hook. - * @param {HookCallback} callback The callback function which is given environment variables. - * @public - */ - add: function(name, callback) { - var hooks2 = _.hooks.all; - hooks2[name] = hooks2[name] || []; - hooks2[name].push(callback); - }, - /** - * Runs a hook invoking all registered callbacks with the given environment variables. - * - * Callbacks will be invoked synchronously and in the order in which they were registered. - * - * @param {string} name The name of the hook. - * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered. - * @public - */ - run: function(name, env) { - var callbacks = _.hooks.all[name]; - if (!callbacks || !callbacks.length) { - return; - } - for (var i = 0, callback; callback = callbacks[i++]; ) { - callback(env); - } - } - }, - Token - }; - function Token(type, content, alias, matchedStr) { - this.type = type; - this.content = content; - this.alias = alias; - this.length = (matchedStr || "").length | 0; - } - Token.stringify = function stringify(o, language) { - if (typeof o == "string") { - return o; - } - if (Array.isArray(o)) { - var s = ""; - o.forEach(function(e) { - s += stringify(e, language); - }); - return s; - } - var env = { - type: o.type, - content: stringify(o.content, language), - tag: "span", - classes: ["token", o.type], - attributes: {}, - language - }; - var aliases = o.alias; - if (aliases) { - if (Array.isArray(aliases)) { - Array.prototype.push.apply(env.classes, aliases); - } else { - env.classes.push(aliases); - } - } - _.hooks.run("wrap", env); - var attributes = ""; - for (var name in env.attributes) { - attributes += " " + name + '="' + (env.attributes[name] || "").replace(/"/g, """) + '"'; - } - return "<" + env.tag + ' class="' + env.classes.join(" ") + '"' + attributes + ">" + env.content + "</" + env.tag + ">"; - }; - function matchPattern(pattern, pos, text, lookbehind) { - pattern.lastIndex = pos; - var match = pattern.exec(text); - if (match && lookbehind && match[1]) { - var lookbehindLength = match[1].length; - match.index += lookbehindLength; - match[0] = match[0].slice(lookbehindLength); - } - return match; - } - function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) { - for (var token in grammar) { - if (!grammar.hasOwnProperty(token) || !grammar[token]) { - continue; - } - var patterns = grammar[token]; - patterns = Array.isArray(patterns) ? patterns : [patterns]; - for (var j = 0; j < patterns.length; ++j) { - if (rematch && rematch.cause == token + "," + j) { - return; - } - var patternObj = patterns[j]; - var inside = patternObj.inside; - var lookbehind = !!patternObj.lookbehind; - var greedy = !!patternObj.greedy; - var alias = patternObj.alias; - if (greedy && !patternObj.pattern.global) { - var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0]; - patternObj.pattern = RegExp(patternObj.pattern.source, flags + "g"); - } - var pattern = patternObj.pattern || patternObj; - for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) { - if (rematch && pos >= rematch.reach) { - break; - } - var str = currentNode.value; - if (tokenList.length > text.length) { - return; - } - if (str instanceof Token) { - continue; - } - var removeCount = 1; - var match; - if (greedy) { - match = matchPattern(pattern, pos, text, lookbehind); - if (!match || match.index >= text.length) { - break; - } - var from = match.index; - var to = match.index + match[0].length; - var p = pos; - p += currentNode.value.length; - while (from >= p) { - currentNode = currentNode.next; - p += currentNode.value.length; - } - p -= currentNode.value.length; - pos = p; - if (currentNode.value instanceof Token) { - continue; - } - for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === "string"); k = k.next) { - removeCount++; - p += k.value.length; - } - removeCount--; - str = text.slice(pos, p); - match.index -= pos; - } else { - match = matchPattern(pattern, 0, str, lookbehind); - if (!match) { - continue; - } - } - var from = match.index; - var matchStr = match[0]; - var before = str.slice(0, from); - var after = str.slice(from + matchStr.length); - var reach = pos + str.length; - if (rematch && reach > rematch.reach) { - rematch.reach = reach; - } - var removeFrom = currentNode.prev; - if (before) { - removeFrom = addAfter(tokenList, removeFrom, before); - pos += before.length; - } - removeRange(tokenList, removeFrom, removeCount); - var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr); - currentNode = addAfter(tokenList, removeFrom, wrapped); - if (after) { - addAfter(tokenList, currentNode, after); - } - if (removeCount > 1) { - var nestedRematch = { - cause: token + "," + j, - reach - }; - matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch); - if (rematch && nestedRematch.reach > rematch.reach) { - rematch.reach = nestedRematch.reach; - } - } - } - } - } - } - function LinkedList() { - var head = { value: null, prev: null, next: null }; - var tail = { value: null, prev: head, next: null }; - head.next = tail; - this.head = head; - this.tail = tail; - this.length = 0; - } - function addAfter(list, node, value) { - var next = node.next; - var newNode = { value, prev: node, next }; - node.next = newNode; - next.prev = newNode; - list.length++; - return newNode; - } - function removeRange(list, node, count) { - var next = node.next; - for (var i = 0; i < count && next !== list.tail; i++) { - next = next.next; - } - node.next = next; - next.prev = node; - list.length -= i; - } - function toArray(list) { - var array = []; - var node = list.head.next; - while (node !== list.tail) { - array.push(node.value); - node = node.next; - } - return array; - } - return _; - }(); - module.exports = Prism2; - Prism2.default = Prism2; - } -}); - -// src/prism-langs.ts -var Prism = __toESM(require_prism()); -Prism.languages.markup = { comment: { pattern: /<!--(?:(?!<!--)[\s\S])*?-->/, greedy: true }, prolog: { pattern: /<\?[\s\S]+?\?>/, greedy: true }, doctype: { pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i, greedy: true, inside: { "internal-subset": { pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/, lookbehind: true, greedy: true, inside: null }, string: { pattern: /"[^"]*"|'[^']*'/, greedy: true }, punctuation: /^<!|>$|[[\]]/, "doctype-tag": /^DOCTYPE/i, name: /[^\s<>'"]+/ } }, cdata: { pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i, greedy: true }, tag: { pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/, greedy: true, inside: { tag: { pattern: /^<\/?[^\s>\/]+/, inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } }, "special-attr": [], "attr-value": { pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: "attr-equals" }, { pattern: /^(\s*)["']|["']$/, lookbehind: true }] } }, punctuation: /\/?>/, "attr-name": { pattern: /[^\s>\/]+/, inside: { namespace: /^[^\s>\/:]+:/ } } } }, entity: [{ pattern: /&[\da-z]{1,8};/i, alias: "named-entity" }, /&#x?[\da-f]{1,8};/i] }, Prism.languages.markup.tag.inside["attr-value"].inside.entity = Prism.languages.markup.entity, Prism.languages.markup.doctype.inside["internal-subset"].inside = Prism.languages.markup, Prism.hooks.add("wrap", function(e) { - "entity" === e.type && (e.attributes.title = e.content.replace(/&/, "&")); -}), Object.defineProperty(Prism.languages.markup.tag, "addInlined", { value: function(e, n) { - var t = {}, t = (t["language-" + n] = { pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i, lookbehind: true, inside: Prism.languages[n] }, t.cdata = /^<!\[CDATA\[|\]\]>$/i, { "included-cdata": { pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i, inside: t } }), n = (t["language-" + n] = { pattern: /[\s\S]+/, inside: Prism.languages[n] }, {}); - n[e] = { pattern: RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g, function() { - return e; - }), "i"), lookbehind: true, greedy: true, inside: t }, Prism.languages.insertBefore("markup", "cdata", n); -} }), Object.defineProperty(Prism.languages.markup.tag, "addAttribute", { value: function(e, n) { - Prism.languages.markup.tag.inside["special-attr"].push({ pattern: RegExp(/(^|["'\s])/.source + "(?:" + e + ")" + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source, "i"), lookbehind: true, inside: { "attr-name": /^[^\s=]+/, "attr-value": { pattern: /=[\s\S]+/, inside: { value: { pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/, lookbehind: true, alias: [n, "language-" + n], inside: Prism.languages[n] }, punctuation: [{ pattern: /^=/, alias: "attr-equals" }, /"|'/] } } } }); -} }), Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup, Prism.languages.xml = Prism.languages.extend("markup", {}), Prism.languages.ssml = Prism.languages.xml, Prism.languages.atom = Prism.languages.xml, Prism.languages.rss = Prism.languages.xml, function(e) { - var n = { pattern: /\\[\\(){}[\]^$+*?|.]/, alias: "escape" }, t = /\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/, a = "(?:[^\\\\-]|" + t.source + ")", a = RegExp(a + "-" + a), r = { pattern: /(<|')[^<>']+(?=[>']$)/, lookbehind: true, alias: "variable" }; - e.languages.regex = { "char-class": { pattern: /((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/, lookbehind: true, inside: { "char-class-negation": { pattern: /(^\[)\^/, lookbehind: true, alias: "operator" }, "char-class-punctuation": { pattern: /^\[|\]$/, alias: "punctuation" }, range: { pattern: a, inside: { escape: t, "range-punctuation": { pattern: /-/, alias: "operator" } } }, "special-escape": n, "char-set": { pattern: /\\[wsd]|\\p\{[^{}]+\}/i, alias: "class-name" }, escape: t } }, "special-escape": n, "char-set": { pattern: /\.|\\[wsd]|\\p\{[^{}]+\}/i, alias: "class-name" }, backreference: [{ pattern: /\\(?![123][0-7]{2})[1-9]/, alias: "keyword" }, { pattern: /\\k<[^<>']+>/, alias: "keyword", inside: { "group-name": r } }], anchor: { pattern: /[$^]|\\[ABbGZz]/, alias: "function" }, escape: t, group: [{ pattern: /\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/, alias: "punctuation", inside: { "group-name": r } }, { pattern: /\)/, alias: "punctuation" }], quantifier: { pattern: /(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/, alias: "number" }, alternation: { pattern: /\|/, alias: "keyword" } }; -}(Prism), Prism.languages.clike = { comment: [{ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: true, greedy: true }, { pattern: /(^|[^\\:])\/\/.*/, lookbehind: true, greedy: true }], string: { pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: true }, "class-name": { pattern: /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i, lookbehind: true, inside: { punctuation: /[.\\]/ } }, keyword: /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/, boolean: /\b(?:false|true)\b/, function: /\b\w+(?=\()/, number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i, operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/, punctuation: /[{}[\];(),.:]/ }, Prism.languages.javascript = Prism.languages.extend("clike", { "class-name": [Prism.languages.clike["class-name"], { pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/, lookbehind: true }], keyword: [{ pattern: /((?:^|\})\s*)catch\b/, lookbehind: true }, { pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, lookbehind: true }], function: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, number: { pattern: RegExp(/(^|[^\w$])/.source + "(?:" + /NaN|Infinity/.source + "|" + /0[bB][01]+(?:_[01]+)*n?/.source + "|" + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + "|" + /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + "|" + /\d+(?:_\d+)*n/.source + "|" + /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source + ")" + /(?![\w$])/.source), lookbehind: true }, operator: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/ }), Prism.languages.javascript["class-name"][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/, Prism.languages.insertBefore("javascript", "keyword", { regex: { pattern: RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source + /\//.source + "(?:" + /(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source + "|" + /(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ")" + /(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source), lookbehind: true, greedy: true, inside: { "regex-source": { pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/, lookbehind: true, alias: "language-regex", inside: Prism.languages.regex }, "regex-delimiter": /^\/|\/$/, "regex-flags": /^[a-z]+$/ } }, "function-variable": { pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/, alias: "function" }, parameter: [{ pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/, lookbehind: true, inside: Prism.languages.javascript }, { pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/, lookbehind: true, inside: Prism.languages.javascript }], constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ }), Prism.languages.insertBefore("javascript", "string", { hashbang: { pattern: /^#!.*/, greedy: true, alias: "comment" }, "template-string": { pattern: /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/, greedy: true, inside: { "template-punctuation": { pattern: /^`|`$/, alias: "string" }, interpolation: { pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/, lookbehind: true, inside: { "interpolation-punctuation": { pattern: /^\$\{|\}$/, alias: "punctuation" }, rest: Prism.languages.javascript } }, string: /[\s\S]+/ } }, "string-property": { pattern: /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m, lookbehind: true, greedy: true, alias: "property" } }), Prism.languages.insertBefore("javascript", "operator", { "literal-property": { pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m, lookbehind: true, alias: "property" } }), Prism.languages.markup && (Prism.languages.markup.tag.addInlined("script", "javascript"), Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, "javascript")), Prism.languages.js = Prism.languages.javascript, Prism.languages.actionscript = Prism.languages.extend("javascript", { keyword: /\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/, operator: /\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/ }), Prism.languages.actionscript["class-name"].alias = "function", delete Prism.languages.actionscript.parameter, delete Prism.languages.actionscript["literal-property"], Prism.languages.markup && Prism.languages.insertBefore("actionscript", "string", { xml: { pattern: /(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/, lookbehind: true, inside: Prism.languages.markup } }), function(e) { - var n = /#(?!\{).+/, t = { pattern: /#\{[^}]+\}/, alias: "variable" }; - e.languages.coffeescript = e.languages.extend("javascript", { comment: n, string: [{ pattern: /'(?:\\[\s\S]|[^\\'])*'/, greedy: true }, { pattern: /"(?:\\[\s\S]|[^\\"])*"/, greedy: true, inside: { interpolation: t } }], keyword: /\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/, "class-member": { pattern: /@(?!\d)\w+/, alias: "variable" } }), e.languages.insertBefore("coffeescript", "comment", { "multiline-comment": { pattern: /###[\s\S]+?###/, alias: "comment" }, "block-regex": { pattern: /\/{3}[\s\S]*?\/{3}/, alias: "regex", inside: { comment: n, interpolation: t } } }), e.languages.insertBefore("coffeescript", "string", { "inline-javascript": { pattern: /`(?:\\[\s\S]|[^\\`])*`/, inside: { delimiter: { pattern: /^`|`$/, alias: "punctuation" }, script: { pattern: /[\s\S]+/, alias: "language-javascript", inside: e.languages.javascript } } }, "multiline-string": [{ pattern: /'''[\s\S]*?'''/, greedy: true, alias: "string" }, { pattern: /"""[\s\S]*?"""/, greedy: true, alias: "string", inside: { interpolation: t } }] }), e.languages.insertBefore("coffeescript", "keyword", { property: /(?!\d)\w+(?=\s*:(?!:))/ }), delete e.languages.coffeescript["template-string"], e.languages.coffee = e.languages.coffeescript; -}(Prism), function(l) { - var e = l.languages.javadoclike = { parameter: { pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m, lookbehind: true }, keyword: { pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m, lookbehind: true }, punctuation: /[{}]/ }; - Object.defineProperty(e, "addSupport", { value: function(e2, o) { - (e2 = "string" == typeof e2 ? [e2] : e2).forEach(function(e3) { - var n = function(e4) { - e4.inside || (e4.inside = {}), e4.inside.rest = o; - }, t = "doc-comment"; - if (a = l.languages[e3]) { - var a, r = a[t]; - if ((r = r ? r : (a = l.languages.insertBefore(e3, "comment", { "doc-comment": { pattern: /(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/, lookbehind: true, alias: "comment" } }))[t]) instanceof RegExp && (r = a[t] = { pattern: r }), Array.isArray(r)) - for (var s = 0, i = r.length; s < i; s++) - r[s] instanceof RegExp && (r[s] = { pattern: r[s] }), n(r[s]); - else - n(r); - } - }); - } }), e.addSupport(["java", "javascript", "php"], e); -}(Prism), function(e) { - var n = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/, n = (e.languages.css = { comment: /\/\*[\s\S]*?\*\//, atrule: { pattern: RegExp("@[\\w-](?:" + /[^;{\s"']|\s+(?!\s)/.source + "|" + n.source + ")*?" + /(?:;|(?=\s*\{))/.source), inside: { rule: /^@[\w-]+/, "selector-function-argument": { pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/, lookbehind: true, alias: "selector" }, keyword: { pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/, lookbehind: true } } }, url: { pattern: RegExp("\\burl\\((?:" + n.source + "|" + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ")\\)", "i"), greedy: true, inside: { function: /^url/i, punctuation: /^\(|\)$/, string: { pattern: RegExp("^" + n.source + "$"), alias: "url" } } }, selector: { pattern: RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|` + n.source + ")*(?=\\s*\\{)"), lookbehind: true }, string: { pattern: n, greedy: true }, property: { pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i, lookbehind: true }, important: /!important\b/i, function: { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i, lookbehind: true }, punctuation: /[(){};:,]/ }, e.languages.css.atrule.inside.rest = e.languages.css, e.languages.markup); - n && (n.tag.addInlined("style", "css"), n.tag.addAttribute("style", "css")); -}(Prism), function(e) { - var n = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, n = (e.languages.css.selector = { pattern: e.languages.css.selector.pattern, lookbehind: true, inside: n = { "pseudo-element": /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/, "pseudo-class": /:[-\w]+/, class: /\.[-\w]+/, id: /#[-\w]+/, attribute: { pattern: RegExp(`\\[(?:[^[\\]"']|` + n.source + ")*\\]"), greedy: true, inside: { punctuation: /^\[|\]$/, "case-sensitivity": { pattern: /(\s)[si]$/i, lookbehind: true, alias: "keyword" }, namespace: { pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/, lookbehind: true, inside: { punctuation: /\|$/ } }, "attr-name": { pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/, lookbehind: true }, "attr-value": [n, { pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/, lookbehind: true }], operator: /[|~*^$]?=/ } }, "n-th": [{ pattern: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/, lookbehind: true, inside: { number: /[\dn]+/, operator: /[+-]/ } }, { pattern: /(\(\s*)(?:even|odd)(?=\s*\))/i, lookbehind: true }], combinator: />|\+|~|\|\|/, punctuation: /[(),]/ } }, e.languages.css.atrule.inside["selector-function-argument"].inside = n, e.languages.insertBefore("css", "property", { variable: { pattern: /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i, lookbehind: true } }), { pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/, lookbehind: true }), t = { pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/, lookbehind: true }; - e.languages.insertBefore("css", "function", { operator: { pattern: /(\s)[+\-*\/](?=\s)/, lookbehind: true }, hexcode: { pattern: /\B#[\da-f]{3,8}\b/i, alias: "color" }, color: [{ pattern: /(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i, lookbehind: true }, { pattern: /\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i, inside: { unit: n, number: t, function: /[\w-]+(?=\()/, punctuation: /[(),]/ } }], entity: /\\[\da-f]{1,8}/i, unit: n, number: t }); -}(Prism), function(e) { - var n = /[*&][^\s[\]{},]+/, t = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, a = "(?:" + t.source + "(?:[ ]+" + n.source + ")?|" + n.source + "(?:[ ]+" + t.source + ")?)", r = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() { - return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source; - }), s = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source; - function i(e2, n2) { - n2 = (n2 || "").replace(/m/g, "") + "m"; - var t2 = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() { - return a; - }).replace(/<<value>>/g, function() { - return e2; - }); - return RegExp(t2, n2); - } - e.languages.yaml = { scalar: { pattern: RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g, function() { - return a; - })), lookbehind: true, alias: "string" }, comment: /#.*/, key: { pattern: RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g, function() { - return a; - }).replace(/<<key>>/g, function() { - return "(?:" + r + "|" + s + ")"; - })), lookbehind: true, greedy: true, alias: "atrule" }, directive: { pattern: /(^[ \t]*)%.+/m, lookbehind: true, alias: "important" }, datetime: { pattern: i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source), lookbehind: true, alias: "number" }, boolean: { pattern: i(/false|true/.source, "i"), lookbehind: true, alias: "important" }, null: { pattern: i(/null|~/.source, "i"), lookbehind: true, alias: "important" }, string: { pattern: i(s), lookbehind: true, greedy: true }, number: { pattern: i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source, "i"), lookbehind: true }, tag: t, important: n, punctuation: /---|[:[\]{}\-,|>?]|\.\.\./ }, e.languages.yml = e.languages.yaml; -}(Prism), function(o) { - var n = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source; - function e(e2) { - return e2 = e2.replace(/<inner>/g, function() { - return n; - }), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + e2 + ")"); - } - var t = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, a = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g, function() { - return t; - }), r = /\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source, l = (o.languages.markdown = o.languages.extend("markup", {}), o.languages.insertBefore("markdown", "prolog", { "front-matter-block": { pattern: /(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/, lookbehind: true, greedy: true, inside: { punctuation: /^---|---$/, "front-matter": { pattern: /\S+(?:\s+\S+)*/, alias: ["yaml", "language-yaml"], inside: o.languages.yaml } } }, blockquote: { pattern: /^>(?:[\t ]*>)*/m, alias: "punctuation" }, table: { pattern: RegExp("^" + a + r + "(?:" + a + ")*", "m"), inside: { "table-data-rows": { pattern: RegExp("^(" + a + r + ")(?:" + a + ")*$"), lookbehind: true, inside: { "table-data": { pattern: RegExp(t), inside: o.languages.markdown }, punctuation: /\|/ } }, "table-line": { pattern: RegExp("^(" + a + ")" + r + "$"), lookbehind: true, inside: { punctuation: /\||:?-{3,}:?/ } }, "table-header-row": { pattern: RegExp("^" + a + "$"), inside: { "table-header": { pattern: RegExp(t), alias: "important", inside: o.languages.markdown }, punctuation: /\|/ } } } }, code: [{ pattern: /((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/, lookbehind: true, alias: "keyword" }, { pattern: /^```[\s\S]*?^```$/m, greedy: true, inside: { "code-block": { pattern: /^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m, lookbehind: true }, "code-language": { pattern: /^(```).+/, lookbehind: true }, punctuation: /```/ } }], title: [{ pattern: /\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m, alias: "important", inside: { punctuation: /==+$|--+$/ } }, { pattern: /(^\s*)#.+/m, lookbehind: true, alias: "important", inside: { punctuation: /^#+|#+$/ } }], hr: { pattern: /(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m, lookbehind: true, alias: "punctuation" }, list: { pattern: /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m, lookbehind: true, alias: "punctuation" }, "url-reference": { pattern: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/, inside: { variable: { pattern: /^(!?\[)[^\]]+/, lookbehind: true }, string: /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/, punctuation: /^[\[\]!:]|[<>]/ }, alias: "url" }, bold: { pattern: e(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^..)[\s\S]+(?=..$)/, lookbehind: true, inside: {} }, punctuation: /\*\*|__/ } }, italic: { pattern: e(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^.)[\s\S]+(?=.$)/, lookbehind: true, inside: {} }, punctuation: /[*_]/ } }, strike: { pattern: e(/(~~?)(?:(?!~)<inner>)+\2/.source), lookbehind: true, greedy: true, inside: { content: { pattern: /(^~~?)[\s\S]+(?=\1$)/, lookbehind: true, inside: {} }, punctuation: /~~?/ } }, "code-snippet": { pattern: /(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/, lookbehind: true, greedy: true, alias: ["code", "keyword"] }, url: { pattern: e(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source), lookbehind: true, greedy: true, inside: { operator: /^!/, content: { pattern: /(^\[)[^\]]+(?=\])/, lookbehind: true, inside: {} }, variable: { pattern: /(^\][ \t]?\[)[^\]]+(?=\]$)/, lookbehind: true }, url: { pattern: /(^\]\()[^\s)]+/, lookbehind: true }, string: { pattern: /(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/, lookbehind: true } } } }), ["url", "bold", "italic", "strike"].forEach(function(n2) { - ["url", "bold", "italic", "strike", "code-snippet"].forEach(function(e2) { - n2 !== e2 && (o.languages.markdown[n2].inside.content.inside[e2] = o.languages.markdown[e2]); - }); - }), o.hooks.add("after-tokenize", function(e2) { - "markdown" !== e2.language && "md" !== e2.language || !function e3(n2) { - if (n2 && "string" != typeof n2) - for (var t2 = 0, a2 = n2.length; t2 < a2; t2++) { - var r2, s = n2[t2]; - "code" !== s.type ? e3(s.content) : (r2 = s.content[1], s = s.content[3], r2 && s && "code-language" === r2.type && "code-block" === s.type && "string" == typeof r2.content && (r2 = r2.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp"), r2 = "language-" + (r2 = (/[a-z][\w-]*/i.exec(r2) || [""])[0].toLowerCase()), s.alias ? "string" == typeof s.alias ? s.alias = [s.alias, r2] : s.alias.push(r2) : s.alias = [r2])); - } - }(e2.tokens); - }), o.hooks.add("wrap", function(e2) { - if ("code-block" === e2.type) { - for (var n2 = "", t2 = 0, a2 = e2.classes.length; t2 < a2; t2++) { - var r2 = e2.classes[t2], r2 = /language-(.+)/.exec(r2); - if (r2) { - n2 = r2[1]; - break; - } - } - var s, i = o.languages[n2]; - i ? e2.content = o.highlight(function(e3) { - e3 = e3.replace(l, ""); - return e3 = e3.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(e4, n3) { - var t3; - return "#" === (n3 = n3.toLowerCase())[0] ? (t3 = "x" === n3[1] ? parseInt(n3.slice(2), 16) : Number(n3.slice(1)), c(t3)) : u[n3] || e4; - }); - }(e2.content), i, n2) : n2 && "none" !== n2 && o.plugins.autoloader && (s = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(1e16 * Math.random()), e2.attributes.id = s, o.plugins.autoloader.loadLanguages(n2, function() { - var e3 = document.getElementById(s); - e3 && (e3.innerHTML = o.highlight(e3.textContent, o.languages[n2], n2)); - })); - } - }), RegExp(o.languages.markup.tag.pattern.source, "gi")), u = { amp: "&", lt: "<", gt: ">", quot: '"' }, c = String.fromCodePoint || String.fromCharCode; - o.languages.md = o.languages.markdown; -}(Prism), Prism.languages.graphql = { comment: /#.*/, description: { pattern: /(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i, greedy: true, alias: "string", inside: { "language-markdown": { pattern: /(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/, lookbehind: true, inside: Prism.languages.markdown } } }, string: { pattern: /"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/, greedy: true }, number: /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, boolean: /\b(?:false|true)\b/, variable: /\$[a-z_]\w*/i, directive: { pattern: /@[a-z_]\w*/i, alias: "function" }, "attr-name": { pattern: /\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i, greedy: true }, "atom-input": { pattern: /\b[A-Z]\w*Input\b/, alias: "class-name" }, scalar: /\b(?:Boolean|Float|ID|Int|String)\b/, constant: /\b[A-Z][A-Z_\d]*\b/, "class-name": { pattern: /(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/, lookbehind: true }, fragment: { pattern: /(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/, lookbehind: true, alias: "function" }, "definition-mutation": { pattern: /(\bmutation\s+)[a-zA-Z_]\w*/, lookbehind: true, alias: "function" }, "definition-query": { pattern: /(\bquery\s+)[a-zA-Z_]\w*/, lookbehind: true, alias: "function" }, keyword: /\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/, operator: /[!=|&]|\.{3}/, "property-query": /\w+(?=\s*\()/, object: /\w+(?=\s*\{)/, punctuation: /[!(){}\[\]:=,]/, property: /\w+/ }, Prism.hooks.add("after-tokenize", function(e) { - if ("graphql" === e.language) - for (var i = e.tokens.filter(function(e2) { - return "string" != typeof e2 && "comment" !== e2.type && "scalar" !== e2.type; - }), o = 0; o < i.length; ) { - var n = i[o++]; - if ("keyword" === n.type && "mutation" === n.content) { - var t = []; - if (p(["definition-mutation", "punctuation"]) && "(" === c(1).content) { - o += 2; - var a = d(/^\($/, /^\)$/); - if (-1 === a) - continue; - for (; o < a; o++) { - var r = c(0); - "variable" === r.type && (g(r, "variable-input"), t.push(r.content)); - } - o = a + 1; - } - if (p(["punctuation", "property-query"]) && "{" === c(0).content && (o++, g(c(0), "property-mutation"), 0 < t.length)) { - var s = d(/^\{$/, /^\}$/); - if (-1 !== s) - for (var l = o; l < s; l++) { - var u = i[l]; - "variable" === u.type && 0 <= t.indexOf(u.content) && g(u, "variable-input"); - } - } - } - } - function c(e2) { - return i[o + e2]; - } - function p(e2, n2) { - n2 = n2 || 0; - for (var t2 = 0; t2 < e2.length; t2++) { - var a2 = c(t2 + n2); - if (!a2 || a2.type !== e2[t2]) - return; - } - return 1; - } - function d(e2, n2) { - for (var t2 = 1, a2 = o; a2 < i.length; a2++) { - var r2 = i[a2], s2 = r2.content; - if ("punctuation" === r2.type && "string" == typeof s2) { - if (e2.test(s2)) - t2++; - else if (n2.test(s2) && 0 === --t2) - return a2; - } - } - return -1; - } - function g(e2, n2) { - var t2 = e2.alias; - t2 ? Array.isArray(t2) || (e2.alias = t2 = [t2]) : e2.alias = t2 = [], t2.push(n2); - } -}), Prism.languages.sql = { comment: { pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/, lookbehind: true }, variable: [{ pattern: /@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/, greedy: true }, /@[\w.$]+/], string: { pattern: /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/, greedy: true, lookbehind: true }, identifier: { pattern: /(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/, greedy: true, lookbehind: true, inside: { punctuation: /^`|`$/ } }, function: /\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i, keyword: /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i, boolean: /\b(?:FALSE|NULL|TRUE)\b/i, number: /\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i, operator: /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i, punctuation: /[;[\]()`,.]/ }, function(b) { - var e = b.languages.javascript["template-string"], t = e.pattern.source, m = e.inside.interpolation, f = m.inside["interpolation-punctuation"], s = m.pattern.source; - function n(e2, n2) { - if (b.languages[e2]) - return { pattern: RegExp("((?:" + n2 + ")\\s*)" + t), lookbehind: true, greedy: true, inside: { "template-punctuation": { pattern: /^`|`$/, alias: "string" }, "embedded-code": { pattern: /[\s\S]+/, alias: e2 } } }; - } - function h(e2, n2, t2) { - e2 = { code: e2, grammar: n2, language: t2 }; - return b.hooks.run("before-tokenize", e2), e2.tokens = b.tokenize(e2.code, e2.grammar), b.hooks.run("after-tokenize", e2), e2.tokens; - } - function l(a2, e2, r) { - var n2 = b.tokenize(a2, { interpolation: { pattern: RegExp(s), lookbehind: true } }), p = 0, d = {}, n2 = h(n2.map(function(e3) { - if ("string" == typeof e3) - return e3; - for (var n3, t2, e3 = e3.content; -1 !== a2.indexOf((t2 = p++, n3 = "___" + r.toUpperCase() + "_" + t2 + "___")); ) - ; - return d[n3] = e3, n3; - }).join(""), e2, r), g = Object.keys(d); - return p = 0, function e3(n3) { - for (var t2 = 0; t2 < n3.length; t2++) { - if (p >= g.length) - return; - var a3, r2, s2, i, o, l2, u2, c = n3[t2]; - "string" == typeof c || "string" == typeof c.content ? (a3 = g[p], -1 !== (u2 = (l2 = "string" == typeof c ? c : c.content).indexOf(a3)) && (++p, r2 = l2.substring(0, u2), o = d[a3], s2 = void 0, (i = {})["interpolation-punctuation"] = f, 3 === (i = b.tokenize(o, i)).length && ((s2 = [1, 1]).push.apply(s2, h(i[1], b.languages.javascript, "javascript")), i.splice.apply(i, s2)), s2 = new b.Token("interpolation", i, m.alias, o), i = l2.substring(u2 + a3.length), o = [], r2 && o.push(r2), o.push(s2), i && (e3(l2 = [i]), o.push.apply(o, l2)), "string" == typeof c ? (n3.splice.apply(n3, [t2, 1].concat(o)), t2 += o.length - 1) : c.content = o)) : (u2 = c.content, Array.isArray(u2) ? e3(u2) : e3([u2])); - } - }(n2), new b.Token(r, n2, "language-" + r, a2); - } - b.languages.javascript["template-string"] = [n("css", /\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source), n("html", /\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source), n("svg", /\bsvg/.source), n("markdown", /\b(?:markdown|md)/.source), n("graphql", /\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source), n("sql", /\bsql/.source), e].filter(Boolean); - var a = { javascript: true, js: true, typescript: true, ts: true, jsx: true, tsx: true }; - function u(e2) { - return "string" == typeof e2 ? e2 : Array.isArray(e2) ? e2.map(u).join("") : u(e2.content); - } - b.hooks.add("after-tokenize", function(e2) { - e2.language in a && !function e3(n2) { - for (var t2 = 0, a2 = n2.length; t2 < a2; t2++) { - var r, s2, i, o = n2[t2]; - "string" != typeof o && (r = o.content, Array.isArray(r) ? "template-string" === o.type ? (o = r[1], 3 === r.length && "string" != typeof o && "embedded-code" === o.type && (s2 = u(o), o = o.alias, o = Array.isArray(o) ? o[0] : o, i = b.languages[o]) && (r[1] = l(s2, i, o))) : e3(r) : "string" != typeof r && e3([r])); - } - }(e2.tokens); - }); -}(Prism), function(e) { - e.languages.typescript = e.languages.extend("javascript", { "class-name": { pattern: /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/, lookbehind: true, greedy: true, inside: null }, builtin: /\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/ }), e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/, /\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/, /\btype\b(?=\s*(?:[\{*]|$))/), delete e.languages.typescript.parameter, delete e.languages.typescript["literal-property"]; - var n = e.languages.extend("typescript", {}); - delete n["class-name"], e.languages.typescript["class-name"].inside = n, e.languages.insertBefore("typescript", "function", { decorator: { pattern: /@[$\w\xA0-\uFFFF]+/, inside: { at: { pattern: /^@/, alias: "operator" }, function: /^[\s\S]+/ } }, "generic-function": { pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/, greedy: true, inside: { function: /^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/, generic: { pattern: /<[\s\S]+/, alias: "class-name", inside: n } } } }), e.languages.ts = e.languages.typescript; -}(Prism), function(e) { - var n = e.languages.javascript, t = /\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source, a = "(@(?:arg|argument|param|property)\\s+(?:" + t + "\\s+)?)"; - e.languages.jsdoc = e.languages.extend("javadoclike", { parameter: { pattern: RegExp(a + /(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source), lookbehind: true, inside: { punctuation: /\./ } } }), e.languages.insertBefore("jsdoc", "keyword", { "optional-parameter": { pattern: RegExp(a + /\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source), lookbehind: true, inside: { parameter: { pattern: /(^\[)[$\w\xA0-\uFFFF\.]+/, lookbehind: true, inside: { punctuation: /\./ } }, code: { pattern: /(=)[\s\S]*(?=\]$)/, lookbehind: true, inside: n, alias: "language-javascript" }, punctuation: /[=[\]]/ } }, "class-name": [{ pattern: RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g, function() { - return t; - })), lookbehind: true, inside: { punctuation: /\./ } }, { pattern: RegExp("(@[a-z]+\\s+)" + t), lookbehind: true, inside: { string: n.string, number: n.number, boolean: n.boolean, keyword: e.languages.typescript.keyword, operator: /=>|\.\.\.|[&|?:*]/, punctuation: /[.,;=<>{}()[\]]/ } }], example: { pattern: /(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/, lookbehind: true, inside: { code: { pattern: /^([\t ]*(?:\*\s*)?)\S.*$/m, lookbehind: true, inside: n, alias: "language-javascript" } } } }), e.languages.javadoclike.addSupport("javascript", e.languages.jsdoc); -}(Prism), function(e) { - e.languages.flow = e.languages.extend("javascript", {}), e.languages.insertBefore("flow", "keyword", { type: [{ pattern: /\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/, alias: "class-name" }] }), e.languages.flow["function-variable"].pattern = /(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore("flow", "operator", { "flow-punctuation": { pattern: /\{\||\|\}/, alias: "punctuation" } }), Array.isArray(e.languages.flow.keyword) || (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({ pattern: /(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/, lookbehind: true }, { pattern: /(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/, lookbehind: true }); -}(Prism), Prism.languages.n4js = Prism.languages.extend("javascript", { keyword: /\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ }), Prism.languages.insertBefore("n4js", "constant", { annotation: { pattern: /@+\w+/, alias: "operator" } }), Prism.languages.n4jsd = Prism.languages.n4js, function(e) { - function n(e2, n2) { - return RegExp(e2.replace(/<ID>/g, function() { - return /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source; - }), n2); - } - e.languages.insertBefore("javascript", "function-variable", { "method-variable": { pattern: RegExp("(\\.\\s*)" + e.languages.javascript["function-variable"].pattern.source), lookbehind: true, alias: ["function-variable", "method", "function", "property-access"] } }), e.languages.insertBefore("javascript", "function", { method: { pattern: RegExp("(\\.\\s*)" + e.languages.javascript.function.source), lookbehind: true, alias: ["function", "property-access"] } }), e.languages.insertBefore("javascript", "constant", { "known-class-name": [{ pattern: /\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/, alias: "class-name" }, { pattern: /\b(?:[A-Z]\w*)Error\b/, alias: "class-name" }] }), e.languages.insertBefore("javascript", "keyword", { imports: { pattern: n(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source), lookbehind: true, inside: e.languages.javascript }, exports: { pattern: n(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source), lookbehind: true, inside: e.languages.javascript } }), e.languages.javascript.keyword.unshift({ pattern: /\b(?:as|default|export|from|import)\b/, alias: "module" }, { pattern: /\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/, alias: "control-flow" }, { pattern: /\bnull\b/, alias: ["null", "nil"] }, { pattern: /\bundefined\b/, alias: "nil" }), e.languages.insertBefore("javascript", "operator", { spread: { pattern: /\.{3}/, alias: "operator" }, arrow: { pattern: /=>/, alias: "operator" } }), e.languages.insertBefore("javascript", "punctuation", { "property-access": { pattern: n(/(\.\s*)#?<ID>/.source), lookbehind: true }, "maybe-class-name": { pattern: /(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/, lookbehind: true }, dom: { pattern: /\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/, alias: "variable" }, console: { pattern: /\bconsole(?=\s*\.)/, alias: "class-name" } }); - for (var t = ["function", "function-variable", "method", "method-variable", "property-access"], a = 0; a < t.length; a++) { - var r = t[a], s = e.languages.javascript[r], r = (s = "RegExp" === e.util.type(s) ? e.languages.javascript[r] = { pattern: s } : s).inside || {}; - (s.inside = r)["maybe-class-name"] = /^[A-Z][\s\S]*/; - } -}(Prism), function(s) { - var e = s.util.clone(s.languages.javascript), t = /(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source, a = /(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source, r = /(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source; - function n(e2, n2) { - return e2 = e2.replace(/<S>/g, function() { - return t; - }).replace(/<BRACES>/g, function() { - return a; - }).replace(/<SPREAD>/g, function() { - return r; - }), RegExp(e2, n2); - } - r = n(r).source, s.languages.jsx = s.languages.extend("markup", e), s.languages.jsx.tag.pattern = n(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source), s.languages.jsx.tag.inside.tag.pattern = /^<\/?[^\s>\/]*/, s.languages.jsx.tag.inside["attr-value"].pattern = /=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/, s.languages.jsx.tag.inside.tag.inside["class-name"] = /^[A-Z]\w*(?:\.[A-Z]\w*)*$/, s.languages.jsx.tag.inside.comment = e.comment, s.languages.insertBefore("inside", "attr-name", { spread: { pattern: n(/<SPREAD>/.source), inside: s.languages.jsx } }, s.languages.jsx.tag), s.languages.insertBefore("inside", "special-attr", { script: { pattern: n(/=<BRACES>/.source), alias: "language-javascript", inside: { "script-punctuation": { pattern: /^=(?=\{)/, alias: "punctuation" }, rest: s.languages.jsx } } }, s.languages.jsx.tag); - function i(e2) { - for (var n2 = [], t2 = 0; t2 < e2.length; t2++) { - var a2 = e2[t2], r2 = false; - "string" != typeof a2 && ("tag" === a2.type && a2.content[0] && "tag" === a2.content[0].type ? "</" === a2.content[0].content[0].content ? 0 < n2.length && n2[n2.length - 1].tagName === o(a2.content[0].content[1]) && n2.pop() : "/>" !== a2.content[a2.content.length - 1].content && n2.push({ tagName: o(a2.content[0].content[1]), openedBraces: 0 }) : 0 < n2.length && "punctuation" === a2.type && "{" === a2.content ? n2[n2.length - 1].openedBraces++ : 0 < n2.length && 0 < n2[n2.length - 1].openedBraces && "punctuation" === a2.type && "}" === a2.content ? n2[n2.length - 1].openedBraces-- : r2 = true), (r2 || "string" == typeof a2) && 0 < n2.length && 0 === n2[n2.length - 1].openedBraces && (r2 = o(a2), t2 < e2.length - 1 && ("string" == typeof e2[t2 + 1] || "plain-text" === e2[t2 + 1].type) && (r2 += o(e2[t2 + 1]), e2.splice(t2 + 1, 1)), 0 < t2 && ("string" == typeof e2[t2 - 1] || "plain-text" === e2[t2 - 1].type) && (r2 = o(e2[t2 - 1]) + r2, e2.splice(t2 - 1, 1), t2--), e2[t2] = new s.Token("plain-text", r2, null, r2)), a2.content && "string" != typeof a2.content && i(a2.content); - } - } - var o = function(e2) { - return e2 ? "string" == typeof e2 ? e2 : "string" == typeof e2.content ? e2.content : e2.content.map(o).join("") : ""; - }; - s.hooks.add("after-tokenize", function(e2) { - "jsx" !== e2.language && "tsx" !== e2.language || i(e2.tokens); - }); -}(Prism), function(e) { - var n = e.util.clone(e.languages.typescript), n = (e.languages.tsx = e.languages.extend("jsx", n), delete e.languages.tsx.parameter, delete e.languages.tsx["literal-property"], e.languages.tsx.tag); - n.pattern = RegExp(/(^|[^\w$]|(?=<\/))/.source + "(?:" + n.pattern.source + ")", n.pattern.flags), n.lookbehind = true; -}(Prism), Prism.languages.swift = { comment: { pattern: /(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/, lookbehind: true, greedy: true }, "string-literal": [{ pattern: RegExp(/(^|[^"#])/.source + "(?:" + /"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source + "|" + /"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source + ")" + /(?!["#])/.source), lookbehind: true, greedy: true, inside: { interpolation: { pattern: /(\\\()(?:[^()]|\([^()]*\))*(?=\))/, lookbehind: true, inside: null }, "interpolation-punctuation": { pattern: /^\)|\\\($/, alias: "punctuation" }, punctuation: /\\(?=[\r\n])/, string: /[\s\S]+/ } }, { pattern: RegExp(/(^|[^"#])(#+)/.source + "(?:" + /"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source + "|" + /"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source + ")\\2"), lookbehind: true, greedy: true, inside: { interpolation: { pattern: /(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/, lookbehind: true, inside: null }, "interpolation-punctuation": { pattern: /^\)|\\#+\($/, alias: "punctuation" }, string: /[\s\S]+/ } }], directive: { pattern: RegExp(/#/.source + "(?:" + /(?:elseif|if)\b/.source + "(?:[ ]*" + /(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source + ")+|" + /(?:else|endif)\b/.source + ")"), alias: "property", inside: { "directive-name": /^#\w+/, boolean: /\b(?:false|true)\b/, number: /\b\d+(?:\.\d+)*\b/, operator: /!|&&|\|\||[<>]=?/, punctuation: /[(),]/ } }, literal: { pattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/, alias: "constant" }, "other-directive": { pattern: /#\w+\b/, alias: "property" }, attribute: { pattern: /@\w+/, alias: "atrule" }, "function-definition": { pattern: /(\bfunc\s+)\w+/, lookbehind: true, alias: "function" }, label: { pattern: /\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/, lookbehind: true, alias: "important" }, keyword: /\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/, boolean: /\b(?:false|true)\b/, nil: { pattern: /\bnil\b/, alias: "constant" }, "short-argument": /\$\d+\b/, omit: { pattern: /\b_\b/, alias: "keyword" }, number: /\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i, "class-name": /\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/, function: /\b[a-z_]\w*(?=\s*\()/i, constant: /\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/, operator: /[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/, punctuation: /[{}[\]();,.:\\]/ }, Prism.languages.swift["string-literal"].forEach(function(e) { - e.inside.interpolation.inside = Prism.languages.swift; -}), function(e) { - e.languages.kotlin = e.languages.extend("clike", { keyword: { pattern: /(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/, lookbehind: true }, function: [{ pattern: /(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/, greedy: true }, { pattern: /(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/, lookbehind: true, greedy: true }], number: /\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/, operator: /\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ }), delete e.languages.kotlin["class-name"]; - var n = { "interpolation-punctuation": { pattern: /^\$\{?|\}$/, alias: "punctuation" }, expression: { pattern: /[\s\S]+/, inside: e.languages.kotlin } }; - e.languages.insertBefore("kotlin", "string", { "string-literal": [{ pattern: /"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/, alias: "multiline", inside: { interpolation: { pattern: /\$(?:[a-z_]\w*|\{[^{}]*\})/i, inside: n }, string: /[\s\S]+/ } }, { pattern: /"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/, alias: "singleline", inside: { interpolation: { pattern: /((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i, lookbehind: true, inside: n }, string: /[\s\S]+/ } }], char: { pattern: /'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/, greedy: true } }), delete e.languages.kotlin.string, e.languages.insertBefore("kotlin", "keyword", { annotation: { pattern: /\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/, alias: "builtin" } }), e.languages.insertBefore("kotlin", "function", { label: { pattern: /\b\w+@|@\w+\b/, alias: "symbol" } }), e.languages.kt = e.languages.kotlin, e.languages.kts = e.languages.kotlin; -}(Prism), Prism.languages.c = Prism.languages.extend("clike", { comment: { pattern: /\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/, greedy: true }, string: { pattern: /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, greedy: true }, "class-name": { pattern: /(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/, lookbehind: true }, keyword: /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/, function: /\b[a-z_]\w*(?=\s*\()/i, number: /(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i, operator: />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/ }), Prism.languages.insertBefore("c", "string", { char: { pattern: /'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/, greedy: true } }), Prism.languages.insertBefore("c", "string", { macro: { pattern: /(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im, lookbehind: true, greedy: true, alias: "property", inside: { string: [{ pattern: /^(#\s*include\s*)<[^>]+>/, lookbehind: true }, Prism.languages.c.string], char: Prism.languages.c.char, comment: Prism.languages.c.comment, "macro-name": [{ pattern: /(^#\s*define\s+)\w+\b(?!\()/i, lookbehind: true }, { pattern: /(^#\s*define\s+)\w+\b(?=\()/i, lookbehind: true, alias: "function" }], directive: { pattern: /^(#\s*)[a-z]+/, lookbehind: true, alias: "keyword" }, "directive-hash": /^#/, punctuation: /##|\\(?=[\r\n])/, expression: { pattern: /\S[\s\S]*/, inside: Prism.languages.c } } } }), Prism.languages.insertBefore("c", "function", { constant: /\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/ }), delete Prism.languages.c.boolean, Prism.languages.objectivec = Prism.languages.extend("c", { string: { pattern: /@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, greedy: true }, keyword: /\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/, operator: /-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/ }), delete Prism.languages.objectivec["class-name"], Prism.languages.objc = Prism.languages.objectivec, Prism.languages.reason = Prism.languages.extend("clike", { string: { pattern: /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/, greedy: true }, "class-name": /\b[A-Z]\w*/, keyword: /\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/, operator: /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/ }), Prism.languages.insertBefore("reason", "class-name", { char: { pattern: /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/, greedy: true }, constructor: /\b[A-Z]\w*\b(?!\s*\.)/, label: { pattern: /\b[a-z]\w*(?=::)/, alias: "symbol" } }), delete Prism.languages.reason.function, function(e) { - for (var n = /\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source, t = 0; t < 2; t++) - n = n.replace(/<self>/g, function() { - return n; - }); - n = n.replace(/<self>/g, function() { - return /[^\s\S]/.source; - }), e.languages.rust = { comment: [{ pattern: RegExp(/(^|[^\\])/.source + n), lookbehind: true, greedy: true }, { pattern: /(^|[^\\:])\/\/.*/, lookbehind: true, greedy: true }], string: { pattern: /b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/, greedy: true }, char: { pattern: /b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/, greedy: true }, attribute: { pattern: /#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/, greedy: true, alias: "attr-name", inside: { string: null } }, "closure-params": { pattern: /([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/, lookbehind: true, greedy: true, inside: { "closure-punctuation": { pattern: /^\||\|$/, alias: "punctuation" }, rest: null } }, "lifetime-annotation": { pattern: /'\w+/, alias: "symbol" }, "fragment-specifier": { pattern: /(\$\w+:)[a-z]+/, lookbehind: true, alias: "punctuation" }, variable: /\$\w+/, "function-definition": { pattern: /(\bfn\s+)\w+/, lookbehind: true, alias: "function" }, "type-definition": { pattern: /(\b(?:enum|struct|trait|type|union)\s+)\w+/, lookbehind: true, alias: "class-name" }, "module-declaration": [{ pattern: /(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/, lookbehind: true, alias: "namespace" }, { pattern: /(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/, lookbehind: true, alias: "namespace", inside: { punctuation: /::/ } }], keyword: [/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/, /\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/], function: /\b[a-z_]\w*(?=\s*(?:::\s*<|\())/, macro: { pattern: /\b\w+!/, alias: "property" }, constant: /\b[A-Z_][A-Z_\d]+\b/, "class-name": /\b[A-Z]\w*\b/, namespace: { pattern: /(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/, inside: { punctuation: /::/ } }, number: /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/, boolean: /\b(?:false|true)\b/, punctuation: /->|\.\.=|\.{1,3}|::|[{}[\];(),:]/, operator: /[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/ }, e.languages.rust["closure-params"].inside.rest = e.languages.rust, e.languages.rust.attribute.inside.string = e.languages.rust.string; -}(Prism), Prism.languages.go = Prism.languages.extend("clike", { string: { pattern: /(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/, lookbehind: true, greedy: true }, keyword: /\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/, boolean: /\b(?:_|false|iota|nil|true)\b/, number: [/\b0(?:b[01_]+|o[0-7_]+)i?\b/i, /\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i, /(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i], operator: /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./, builtin: /\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/ }), Prism.languages.insertBefore("go", "string", { char: { pattern: /'(?:\\.|[^'\\\r\n]){0,10}'/, greedy: true } }), delete Prism.languages.go["class-name"], function(e) { - var n = /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, t = /\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g, function() { - return n.source; - }); - e.languages.cpp = e.languages.extend("c", { "class-name": [{ pattern: RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g, function() { - return n.source; - })), lookbehind: true }, /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, /\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i, /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/], keyword: n, number: { pattern: /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i, greedy: true }, operator: />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/, boolean: /\b(?:false|true)\b/ }), e.languages.insertBefore("cpp", "string", { module: { pattern: RegExp(/(\b(?:import|module)\s+)/.source + "(?:" + /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source + "|" + /<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g, function() { - return t; - }) + ")"), lookbehind: true, greedy: true, inside: { string: /^[<"][\s\S]+/, operator: /:/, punctuation: /\./ } }, "raw-string": { pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/, alias: "string", greedy: true } }), e.languages.insertBefore("cpp", "keyword", { "generic-function": { pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i, inside: { function: /^\w+/, generic: { pattern: /<[\s\S]+/, alias: "class-name", inside: e.languages.cpp } } } }), e.languages.insertBefore("cpp", "operator", { "double-colon": { pattern: /::/, alias: "punctuation" } }), e.languages.insertBefore("cpp", "class-name", { "base-clause": { pattern: /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/, lookbehind: true, greedy: true, inside: e.languages.extend("cpp", {}) } }), e.languages.insertBefore("inside", "double-colon", { "class-name": /\b[a-z_]\w*\b(?!\s*::)/i }, e.languages.cpp["base-clause"]); -}(Prism), Prism.languages.python = { comment: { pattern: /(^|[^\\])#.*/, lookbehind: true, greedy: true }, "string-interpolation": { pattern: /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i, greedy: true, inside: { interpolation: { pattern: /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/, lookbehind: true, inside: { "format-spec": { pattern: /(:)[^:(){}]+(?=\}$)/, lookbehind: true }, "conversion-option": { pattern: /![sra](?=[:}]$)/, alias: "punctuation" }, rest: null } }, string: /[\s\S]+/ } }, "triple-quoted-string": { pattern: /(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i, greedy: true, alias: "string" }, string: { pattern: /(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i, greedy: true }, function: { pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g, lookbehind: true }, "class-name": { pattern: /(\bclass\s+)\w+/i, lookbehind: true }, decorator: { pattern: /(^[\t ]*)@\w+(?:\.\w+)*/m, lookbehind: true, alias: ["annotation", "punctuation"], inside: { punctuation: /\./ } }, keyword: /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/, builtin: /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/, boolean: /\b(?:False|None|True)\b/, number: /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i, operator: /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/, punctuation: /[{}[\];(),.:]/ }, Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python, Prism.languages.json = { property: { pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/, lookbehind: true, greedy: true }, string: { pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, lookbehind: true, greedy: true }, comment: { pattern: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/, greedy: true }, number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, punctuation: /[{}[\],]/, operator: /:/, boolean: /\b(?:false|true)\b/, null: { pattern: /\bnull\b/, alias: "keyword" } }, Prism.languages.webmanifest = Prism.languages.json; - -// src/themes/index.ts -var themes_exports = {}; -__export(themes_exports, { - dracula: () => dracula_default, - duotoneDark: () => duotoneDark_default, - duotoneLight: () => duotoneLight_default, - github: () => github_default, - gruvboxMaterialDark: () => gruvboxMaterialDark_default, - gruvboxMaterialLight: () => gruvboxMaterialLight_default, - jettwaveDark: () => jettwaveDark_default, - jettwaveLight: () => jettwaveLight_default, - nightOwl: () => nightOwl_default, - nightOwlLight: () => nightOwlLight_default, - oceanicNext: () => oceanicNext_default, - okaidia: () => okaidia_default, - oneDark: () => oneDark_default, - oneLight: () => oneLight_default, - palenight: () => palenight_default, - shadesOfPurple: () => shadesOfPurple_default, - synthwave84: () => synthwave84_default, - ultramin: () => ultramin_default, - vsDark: () => vsDark_default, - vsLight: () => vsLight_default -}); - -// src/themes/dracula.ts -var theme = { - plain: { - color: "#F8F8F2", - backgroundColor: "#282A36" - }, - styles: [ - { - types: ["prolog", "constant", "builtin"], - style: { - color: "rgb(189, 147, 249)" - } - }, - { - types: ["inserted", "function"], - style: { - color: "rgb(80, 250, 123)" - } - }, - { - types: ["deleted"], - style: { - color: "rgb(255, 85, 85)" - } - }, - { - types: ["changed"], - style: { - color: "rgb(255, 184, 108)" - } - }, - { - types: ["punctuation", "symbol"], - style: { - color: "rgb(248, 248, 242)" - } - }, - { - types: ["string", "char", "tag", "selector"], - style: { - color: "rgb(255, 121, 198)" - } - }, - { - types: ["keyword", "variable"], - style: { - color: "rgb(189, 147, 249)", - fontStyle: "italic" - } - }, - { - types: ["comment"], - style: { - color: "rgb(98, 114, 164)" - } - }, - { - types: ["attr-name"], - style: { - color: "rgb(241, 250, 140)" - } - } - ] -}; -var dracula_default = theme; - -// src/themes/duotoneDark.ts -var theme2 = { - plain: { - backgroundColor: "#2a2734", - color: "#9a86fd" - }, - styles: [ - { - types: ["comment", "prolog", "doctype", "cdata", "punctuation"], - style: { - color: "#6c6783" - } - }, - { - types: ["namespace"], - style: { - opacity: 0.7 - } - }, - { - types: ["tag", "operator", "number"], - style: { - color: "#e09142" - } - }, - { - types: ["property", "function"], - style: { - color: "#9a86fd" - } - }, - { - types: ["tag-id", "selector", "atrule-id"], - style: { - color: "#eeebff" - } - }, - { - types: ["attr-name"], - style: { - color: "#c4b9fe" - } - }, - { - types: [ - "boolean", - "string", - "entity", - "url", - "attr-value", - "keyword", - "control", - "directive", - "unit", - "statement", - "regex", - "atrule", - "placeholder", - "variable" - ], - style: { - color: "#ffcc99" - } - }, - { - types: ["deleted"], - style: { - textDecorationLine: "line-through" - } - }, - { - types: ["inserted"], - style: { - textDecorationLine: "underline" - } - }, - { - types: ["italic"], - style: { - fontStyle: "italic" - } - }, - { - types: ["important", "bold"], - style: { - fontWeight: "bold" - } - }, - { - types: ["important"], - style: { - color: "#c4b9fe" - } - } - ] -}; -var duotoneDark_default = theme2; - -// src/themes/duotoneLight.ts -var theme3 = { - plain: { - backgroundColor: "#faf8f5", - color: "#728fcb" - }, - styles: [ - { - types: ["comment", "prolog", "doctype", "cdata", "punctuation"], - style: { - color: "#b6ad9a" - } - }, - { - types: ["namespace"], - style: { - opacity: 0.7 - } - }, - { - types: ["tag", "operator", "number"], - style: { - color: "#063289" - } - }, - { - types: ["property", "function"], - style: { - color: "#b29762" - } - }, - { - types: ["tag-id", "selector", "atrule-id"], - style: { - color: "#2d2006" - } - }, - { - types: ["attr-name"], - style: { - color: "#896724" - } - }, - { - types: [ - "boolean", - "string", - "entity", - "url", - "attr-value", - "keyword", - "control", - "directive", - "unit", - "statement", - "regex", - "atrule" - ], - style: { - color: "#728fcb" - } - }, - { - types: ["placeholder", "variable"], - style: { - color: "#93abdc" - } - }, - { - types: ["deleted"], - style: { - textDecorationLine: "line-through" - } - }, - { - types: ["inserted"], - style: { - textDecorationLine: "underline" - } - }, - { - types: ["italic"], - style: { - fontStyle: "italic" - } - }, - { - types: ["important", "bold"], - style: { - fontWeight: "bold" - } - }, - { - types: ["important"], - style: { - color: "#896724" - } - } - ] -}; -var duotoneLight_default = theme3; - -// src/themes/github.ts -var theme4 = { - plain: { - color: "#393A34", - backgroundColor: "#f6f8fa" - }, - styles: [ - { - types: ["comment", "prolog", "doctype", "cdata"], - style: { - color: "#999988", - fontStyle: "italic" - } - }, - { - types: ["namespace"], - style: { - opacity: 0.7 - } - }, - { - types: ["string", "attr-value"], - style: { - color: "#e3116c" - } - }, - { - types: ["punctuation", "operator"], - style: { - color: "#393A34" - } - }, - { - types: [ - "entity", - "url", - "symbol", - "number", - "boolean", - "variable", - "constant", - "property", - "regex", - "inserted" - ], - style: { - color: "#36acaa" - } - }, - { - types: ["atrule", "keyword", "attr-name", "selector"], - style: { - color: "#00a4db" - } - }, - { - types: ["function", "deleted", "tag"], - style: { - color: "#d73a49" - } - }, - { - types: ["function-variable"], - style: { - color: "#6f42c1" - } - }, - { - types: ["tag", "selector", "keyword"], - style: { - color: "#00009f" - } - } - ] -}; -var github_default = theme4; - -// src/themes/nightOwl.ts -var theme5 = { - plain: { - color: "#d6deeb", - backgroundColor: "#011627" - }, - styles: [ - { - types: ["changed"], - style: { - color: "rgb(162, 191, 252)", - fontStyle: "italic" - } - }, - { - types: ["deleted"], - style: { - color: "rgba(239, 83, 80, 0.56)", - fontStyle: "italic" - } - }, - { - types: ["inserted", "attr-name"], - style: { - color: "rgb(173, 219, 103)", - fontStyle: "italic" - } - }, - { - types: ["comment"], - style: { - color: "rgb(99, 119, 119)", - fontStyle: "italic" - } - }, - { - types: ["string", "url"], - style: { - color: "rgb(173, 219, 103)" - } - }, - { - types: ["variable"], - style: { - color: "rgb(214, 222, 235)" - } - }, - { - types: ["number"], - style: { - color: "rgb(247, 140, 108)" - } - }, - { - types: ["builtin", "char", "constant", "function"], - style: { - color: "rgb(130, 170, 255)" - } - }, - { - // This was manually added after the auto-generation - // so that punctuations are not italicised - types: ["punctuation"], - style: { - color: "rgb(199, 146, 234)" - } - }, - { - types: ["selector", "doctype"], - style: { - color: "rgb(199, 146, 234)", - fontStyle: "italic" - } - }, - { - types: ["class-name"], - style: { - color: "rgb(255, 203, 139)" - } - }, - { - types: ["tag", "operator", "keyword"], - style: { - color: "rgb(127, 219, 202)" - } - }, - { - types: ["boolean"], - style: { - color: "rgb(255, 88, 116)" - } - }, - { - types: ["property"], - style: { - color: "rgb(128, 203, 196)" - } - }, - { - types: ["namespace"], - style: { - color: "rgb(178, 204, 214)" - } - } - ] -}; -var nightOwl_default = theme5; - -// src/themes/nightOwlLight.ts -var theme6 = { - plain: { - color: "#403f53", - backgroundColor: "#FBFBFB" - }, - styles: [ - { - types: ["changed"], - style: { - color: "rgb(162, 191, 252)", - fontStyle: "italic" - } - }, - { - types: ["deleted"], - style: { - color: "rgba(239, 83, 80, 0.56)", - fontStyle: "italic" - } - }, - { - types: ["inserted", "attr-name"], - style: { - color: "rgb(72, 118, 214)", - fontStyle: "italic" - } - }, - { - types: ["comment"], - style: { - color: "rgb(152, 159, 177)", - fontStyle: "italic" - } - }, - { - types: ["string", "builtin", "char", "constant", "url"], - style: { - color: "rgb(72, 118, 214)" - } - }, - { - types: ["variable"], - style: { - color: "rgb(201, 103, 101)" - } - }, - { - types: ["number"], - style: { - color: "rgb(170, 9, 130)" - } - }, - { - // This was manually added after the auto-generation - // so that punctuations are not italicised - types: ["punctuation"], - style: { - color: "rgb(153, 76, 195)" - } - }, - { - types: ["function", "selector", "doctype"], - style: { - color: "rgb(153, 76, 195)", - fontStyle: "italic" - } - }, - { - types: ["class-name"], - style: { - color: "rgb(17, 17, 17)" - } - }, - { - types: ["tag"], - style: { - color: "rgb(153, 76, 195)" - } - }, - { - types: ["operator", "property", "keyword", "namespace"], - style: { - color: "rgb(12, 150, 155)" - } - }, - { - types: ["boolean"], - style: { - color: "rgb(188, 84, 84)" - } - } - ] -}; -var nightOwlLight_default = theme6; - -// src/themes/oceanicNext.ts -var colors = { - char: "#D8DEE9", - comment: "#999999", - keyword: "#c5a5c5", - primitive: "#5a9bcf", - string: "#8dc891", - variable: "#d7deea", - boolean: "#ff8b50", - punctuation: "#5FB3B3", - tag: "#fc929e", - function: "#79b6f2", - className: "#FAC863", - method: "#6699CC", - operator: "#fc929e" -}; -var theme7 = { - plain: { - backgroundColor: "#282c34", - color: "#ffffff" - }, - styles: [ - { - types: ["attr-name"], - style: { - color: colors.keyword - } - }, - { - types: ["attr-value"], - style: { - color: colors.string - } - }, - { - types: [ - "comment", - "block-comment", - "prolog", - "doctype", - "cdata", - "shebang" - ], - style: { - color: colors.comment - } - }, - { - types: [ - "property", - "number", - "function-name", - "constant", - "symbol", - "deleted" - ], - style: { - color: colors.primitive - } - }, - { - types: ["boolean"], - style: { - color: colors.boolean - } - }, - { - types: ["tag"], - style: { - color: colors.tag - } - }, - { - types: ["string"], - style: { - color: colors.string - } - }, - { - types: ["punctuation"], - style: { - color: colors.string - } - }, - { - types: ["selector", "char", "builtin", "inserted"], - style: { - color: colors.char - } - }, - { - types: ["function"], - style: { - color: colors.function - } - }, - { - types: ["operator", "entity", "url", "variable"], - style: { - color: colors.variable - } - }, - { - types: ["keyword"], - style: { - color: colors.keyword - } - }, - { - types: ["atrule", "class-name"], - style: { - color: colors.className - } - }, - { - types: ["important"], - style: { - fontWeight: "400" - } - }, - { - types: ["bold"], - style: { - fontWeight: "bold" - } - }, - { - types: ["italic"], - style: { - fontStyle: "italic" - } - }, - { - types: ["namespace"], - style: { - opacity: 0.7 - } - } - ] -}; -var oceanicNext_default = theme7; - -// src/themes/okaidia.ts -var theme8 = { - plain: { - color: "#f8f8f2", - backgroundColor: "#272822" - }, - styles: [ - { - types: ["changed"], - style: { - color: "rgb(162, 191, 252)", - fontStyle: "italic" - } - }, - { - types: ["deleted"], - style: { - color: "#f92672", - fontStyle: "italic" - } - }, - { - types: ["inserted"], - style: { - color: "rgb(173, 219, 103)", - fontStyle: "italic" - } - }, - { - types: ["comment"], - style: { - color: "#8292a2", - fontStyle: "italic" - } - }, - { - types: ["string", "url"], - style: { - color: "#a6e22e" - } - }, - { - types: ["variable"], - style: { - color: "#f8f8f2" - } - }, - { - types: ["number"], - style: { - color: "#ae81ff" - } - }, - { - types: ["builtin", "char", "constant", "function", "class-name"], - style: { - color: "#e6db74" - } - }, - { - types: ["punctuation"], - style: { - color: "#f8f8f2" - } - }, - { - types: ["selector", "doctype"], - style: { - color: "#a6e22e", - fontStyle: "italic" - } - }, - { - types: ["tag", "operator", "keyword"], - style: { - color: "#66d9ef" - } - }, - { - types: ["boolean"], - style: { - color: "#ae81ff" - } - }, - { - types: ["namespace"], - style: { - color: "rgb(178, 204, 214)", - opacity: 0.7 - } - }, - { - types: ["tag", "property"], - style: { - color: "#f92672" - } - }, - { - types: ["attr-name"], - style: { - color: "#a6e22e !important" - } - }, - { - types: ["doctype"], - style: { - color: "#8292a2" - } - }, - { - types: ["rule"], - style: { - color: "#e6db74" - } - } - ] -}; -var okaidia_default = theme8; - -// src/themes/palenight.ts -var theme9 = { - plain: { - color: "#bfc7d5", - backgroundColor: "#292d3e" - }, - styles: [ - { - types: ["comment"], - style: { - color: "rgb(105, 112, 152)", - fontStyle: "italic" - } - }, - { - types: ["string", "inserted"], - style: { - color: "rgb(195, 232, 141)" - } - }, - { - types: ["number"], - style: { - color: "rgb(247, 140, 108)" - } - }, - { - types: ["builtin", "char", "constant", "function"], - style: { - color: "rgb(130, 170, 255)" - } - }, - { - types: ["punctuation", "selector"], - style: { - color: "rgb(199, 146, 234)" - } - }, - { - types: ["variable"], - style: { - color: "rgb(191, 199, 213)" - } - }, - { - types: ["class-name", "attr-name"], - style: { - color: "rgb(255, 203, 107)" - } - }, - { - types: ["tag", "deleted"], - style: { - color: "rgb(255, 85, 114)" - } - }, - { - types: ["operator"], - style: { - color: "rgb(137, 221, 255)" - } - }, - { - types: ["boolean"], - style: { - color: "rgb(255, 88, 116)" - } - }, - { - types: ["keyword"], - style: { - fontStyle: "italic" - } - }, - { - types: ["doctype"], - style: { - color: "rgb(199, 146, 234)", - fontStyle: "italic" - } - }, - { - types: ["namespace"], - style: { - color: "rgb(178, 204, 214)" - } - }, - { - types: ["url"], - style: { - color: "rgb(221, 221, 221)" - } - } - ] -}; -var palenight_default = theme9; - -// src/themes/shadesOfPurple.ts -var theme10 = { - plain: { - color: "#9EFEFF", - backgroundColor: "#2D2A55" - }, - styles: [ - { - types: ["changed"], - style: { - color: "rgb(255, 238, 128)" - } - }, - { - types: ["deleted"], - style: { - color: "rgba(239, 83, 80, 0.56)" - } - }, - { - types: ["inserted"], - style: { - color: "rgb(173, 219, 103)" - } - }, - { - types: ["comment"], - style: { - color: "rgb(179, 98, 255)", - fontStyle: "italic" - } - }, - { - types: ["punctuation"], - style: { - color: "rgb(255, 255, 255)" - } - }, - { - types: ["constant"], - style: { - color: "rgb(255, 98, 140)" - } - }, - { - types: ["string", "url"], - style: { - color: "rgb(165, 255, 144)" - } - }, - { - types: ["variable"], - style: { - color: "rgb(255, 238, 128)" - } - }, - { - types: ["number", "boolean"], - style: { - color: "rgb(255, 98, 140)" - } - }, - { - types: ["attr-name"], - style: { - color: "rgb(255, 180, 84)" - } - }, - { - types: [ - "keyword", - "operator", - "property", - "namespace", - "tag", - "selector", - "doctype" - ], - style: { - color: "rgb(255, 157, 0)" - } - }, - { - types: ["builtin", "char", "constant", "function", "class-name"], - style: { - color: "rgb(250, 208, 0)" - } - } - ] -}; -var shadesOfPurple_default = theme10; - -// src/themes/synthwave84.ts -var theme11 = { - plain: { - backgroundColor: "linear-gradient(to bottom, #2a2139 75%, #34294f)", - backgroundImage: "#34294f", - color: "#f92aad", - textShadow: "0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3" - }, - styles: [ - { - types: ["comment", "block-comment", "prolog", "doctype", "cdata"], - style: { - color: "#495495", - fontStyle: "italic" - } - }, - { - types: ["punctuation"], - style: { - color: "#ccc" - } - }, - { - types: [ - "tag", - "attr-name", - "namespace", - "number", - "unit", - "hexcode", - "deleted" - ], - style: { - color: "#e2777a" - } - }, - { - types: ["property", "selector"], - style: { - color: "#72f1b8", - textShadow: "0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475" - } - }, - { - types: ["function-name"], - style: { - color: "#6196cc" - } - }, - { - types: ["boolean", "selector-id", "function"], - style: { - color: "#fdfdfd", - textShadow: "0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975" - } - }, - { - types: ["class-name", "maybe-class-name", "builtin"], - style: { - color: "#fff5f6", - textShadow: "0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75" - } - }, - { - types: ["constant", "symbol"], - style: { - color: "#f92aad", - textShadow: "0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3" - } - }, - { - types: ["important", "atrule", "keyword", "selector-class"], - style: { - color: "#f4eee4", - textShadow: "0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575" - } - }, - { - types: ["string", "char", "attr-value", "regex", "variable"], - style: { - color: "#f87c32" - } - }, - { - types: ["parameter"], - style: { - fontStyle: "italic" - } - }, - { - types: ["entity", "url"], - style: { - color: "#67cdcc" - } - }, - { - types: ["operator"], - style: { - color: "ffffffee" - } - }, - { - types: ["important", "bold"], - style: { - fontWeight: "bold" - } - }, - { - types: ["italic"], - style: { - fontStyle: "italic" - } - }, - { - types: ["entity"], - style: { - cursor: "help" - } - }, - { - types: ["inserted"], - style: { - color: "green" - } - } - ] -}; -var synthwave84_default = theme11; - -// src/themes/ultramin.ts -var theme12 = { - plain: { - color: "#282a2e", - backgroundColor: "#ffffff" - }, - styles: [ - { - types: ["comment"], - style: { - color: "rgb(197, 200, 198)" - } - }, - { - types: ["string", "number", "builtin", "variable"], - style: { - color: "rgb(150, 152, 150)" - } - }, - { - types: ["class-name", "function", "tag", "attr-name"], - style: { - color: "rgb(40, 42, 46)" - } - } - ] -}; -var ultramin_default = theme12; - -// src/themes/vsDark.ts -var theme13 = { - plain: { - color: "#9CDCFE", - backgroundColor: "#1E1E1E" - }, - styles: [ - { - types: ["prolog"], - style: { - color: "rgb(0, 0, 128)" - } - }, - { - types: ["comment"], - style: { - color: "rgb(106, 153, 85)" - } - }, - { - types: ["builtin", "changed", "keyword", "interpolation-punctuation"], - style: { - color: "rgb(86, 156, 214)" - } - }, - { - types: ["number", "inserted"], - style: { - color: "rgb(181, 206, 168)" - } - }, - { - types: ["constant"], - style: { - color: "rgb(100, 102, 149)" - } - }, - { - types: ["attr-name", "variable"], - style: { - color: "rgb(156, 220, 254)" - } - }, - { - types: ["deleted", "string", "attr-value", "template-punctuation"], - style: { - color: "rgb(206, 145, 120)" - } - }, - { - types: ["selector"], - style: { - color: "rgb(215, 186, 125)" - } - }, - { - // Fix tag color - types: ["tag"], - style: { - color: "rgb(78, 201, 176)" - } - }, - { - // Fix tag color for HTML - types: ["tag"], - languages: ["markup"], - style: { - color: "rgb(86, 156, 214)" - } - }, - { - types: ["punctuation", "operator"], - style: { - color: "rgb(212, 212, 212)" - } - }, - { - // Fix punctuation color for HTML - types: ["punctuation"], - languages: ["markup"], - style: { - color: "#808080" - } - }, - { - types: ["function"], - style: { - color: "rgb(220, 220, 170)" - } - }, - { - types: ["class-name"], - style: { - color: "rgb(78, 201, 176)" - } - }, - { - types: ["char"], - style: { - color: "rgb(209, 105, 105)" - } - } - ] -}; -var vsDark_default = theme13; - -// src/themes/vsLight.ts -var theme14 = { - plain: { - color: "#000000", - backgroundColor: "#ffffff" - }, - styles: [ - { - types: ["comment"], - style: { - color: "rgb(0, 128, 0)" - } - }, - { - types: ["builtin"], - style: { - color: "rgb(0, 112, 193)" - } - }, - { - types: ["number", "variable", "inserted"], - style: { - color: "rgb(9, 134, 88)" - } - }, - { - types: ["operator"], - style: { - color: "rgb(0, 0, 0)" - } - }, - { - types: ["constant", "char"], - style: { - color: "rgb(129, 31, 63)" - } - }, - { - types: ["tag"], - style: { - color: "rgb(128, 0, 0)" - } - }, - { - types: ["attr-name"], - style: { - color: "rgb(255, 0, 0)" - } - }, - { - types: ["deleted", "string"], - style: { - color: "rgb(163, 21, 21)" - } - }, - { - types: ["changed", "punctuation"], - style: { - color: "rgb(4, 81, 165)" - } - }, - { - types: ["function", "keyword"], - style: { - color: "rgb(0, 0, 255)" - } - }, - { - types: ["class-name"], - style: { - color: "rgb(38, 127, 153)" - } - } - ] -}; -var vsLight_default = theme14; - -// src/themes/jettwaveDark.ts -var theme15 = { - plain: { - color: "#f8fafc", - backgroundColor: "#011627" - }, - styles: [ - { - types: ["prolog"], - style: { - color: "#000080" - } - }, - { - types: ["comment"], - style: { - color: "#6A9955" - } - }, - { - types: ["builtin", "changed", "keyword", "interpolation-punctuation"], - style: { - color: "#569CD6" - } - }, - { - types: ["number", "inserted"], - style: { - color: "#B5CEA8" - } - }, - { - types: ["constant"], - style: { - color: "#f8fafc" - } - }, - { - types: ["attr-name", "variable"], - style: { - color: "#9CDCFE" - } - }, - { - types: ["deleted", "string", "attr-value", "template-punctuation"], - style: { - color: "#cbd5e1" - } - }, - { - types: ["selector"], - style: { - color: "#D7BA7D" - } - }, - { - types: ["tag"], - style: { - color: "#0ea5e9" - } - }, - { - types: ["tag"], - languages: ["markup"], - style: { - color: "#0ea5e9" - } - }, - { - types: ["punctuation", "operator"], - style: { - color: "#D4D4D4" - } - }, - { - types: ["punctuation"], - languages: ["markup"], - style: { - color: "#808080" - } - }, - { - types: ["function"], - style: { - color: "#7dd3fc" - } - }, - { - types: ["class-name"], - style: { - color: "#0ea5e9" - } - }, - { - types: ["char"], - style: { - color: "#D16969" - } - } - ] -}; -var jettwaveDark_default = theme15; - -// src/themes/jettwaveLight.ts -var theme16 = { - plain: { - color: "#0f172a", - backgroundColor: "#f1f5f9" - }, - styles: [ - { - types: ["prolog"], - style: { - color: "#000080" - } - }, - { - types: ["comment"], - style: { - color: "#6A9955" - } - }, - { - types: ["builtin", "changed", "keyword", "interpolation-punctuation"], - style: { - color: "#0c4a6e" - } - }, - { - types: ["number", "inserted"], - style: { - color: "#B5CEA8" - } - }, - { - types: ["constant"], - style: { - color: "#0f172a" - } - }, - { - types: ["attr-name", "variable"], - style: { - color: "#0c4a6e" - } - }, - { - types: ["deleted", "string", "attr-value", "template-punctuation"], - style: { - color: "#64748b" - } - }, - { - types: ["selector"], - style: { - color: "#D7BA7D" - } - }, - { - types: ["tag"], - style: { - color: "#0ea5e9" - } - }, - { - types: ["tag"], - languages: ["markup"], - style: { - color: "#0ea5e9" - } - }, - { - types: ["punctuation", "operator"], - style: { - color: "#475569" - } - }, - { - types: ["punctuation"], - languages: ["markup"], - style: { - color: "#808080" - } - }, - { - types: ["function"], - style: { - color: "#0e7490" - } - }, - { - types: ["class-name"], - style: { - color: "#0ea5e9" - } - }, - { - types: ["char"], - style: { - color: "#D16969" - } - } - ] -}; -var jettwaveLight_default = theme16; - -// src/themes/oneDark.ts -var theme17 = { - plain: { - backgroundColor: "hsl(220, 13%, 18%)", - color: "hsl(220, 14%, 71%)", - textShadow: "0 1px rgba(0, 0, 0, 0.3)" - }, - styles: [ - { - types: ["comment", "prolog", "cdata"], - style: { - color: "hsl(220, 10%, 40%)" - } - }, - { - types: ["doctype", "punctuation", "entity"], - style: { - color: "hsl(220, 14%, 71%)" - } - }, - { - types: [ - "attr-name", - "class-name", - "maybe-class-name", - "boolean", - "constant", - "number", - "atrule" - ], - style: { color: "hsl(29, 54%, 61%)" } - }, - { - types: ["keyword"], - style: { color: "hsl(286, 60%, 67%)" } - }, - { - types: ["property", "tag", "symbol", "deleted", "important"], - style: { - color: "hsl(355, 65%, 65%)" - } - }, - { - types: [ - "selector", - "string", - "char", - "builtin", - "inserted", - "regex", - "attr-value" - ], - style: { - color: "hsl(95, 38%, 62%)" - } - }, - { - types: ["variable", "operator", "function"], - style: { - color: "hsl(207, 82%, 66%)" - } - }, - { - types: ["url"], - style: { - color: "hsl(187, 47%, 55%)" - } - }, - { - types: ["deleted"], - style: { - textDecorationLine: "line-through" - } - }, - { - types: ["inserted"], - style: { - textDecorationLine: "underline" - } - }, - { - types: ["italic"], - style: { - fontStyle: "italic" - } - }, - { - types: ["important", "bold"], - style: { - fontWeight: "bold" - } - }, - { - types: ["important"], - style: { - color: "hsl(220, 14%, 71%)" - } - } - ] -}; -var oneDark_default = theme17; - -// src/themes/oneLight.ts -var theme18 = { - plain: { - backgroundColor: "hsl(230, 1%, 98%)", - color: "hsl(230, 8%, 24%)" - }, - styles: [ - { - types: ["comment", "prolog", "cdata"], - style: { - color: "hsl(230, 4%, 64%)" - } - }, - { - types: ["doctype", "punctuation", "entity"], - style: { - color: "hsl(230, 8%, 24%)" - } - }, - { - types: [ - "attr-name", - "class-name", - "boolean", - "constant", - "number", - "atrule" - ], - style: { - color: "hsl(35, 99%, 36%)" - } - }, - { - types: ["keyword"], - style: { - color: "hsl(301, 63%, 40%)" - } - }, - { - types: ["property", "tag", "symbol", "deleted", "important"], - style: { - color: "hsl(5, 74%, 59%)" - } - }, - { - types: [ - "selector", - "string", - "char", - "builtin", - "inserted", - "regex", - "attr-value", - "punctuation" - ], - style: { - color: "hsl(119, 34%, 47%)" - } - }, - { - types: ["variable", "operator", "function"], - style: { - color: "hsl(221, 87%, 60%)" - } - }, - { - types: ["url"], - style: { - color: "hsl(198, 99%, 37%)" - } - }, - { - types: ["deleted"], - style: { - textDecorationLine: "line-through" - } - }, - { - types: ["inserted"], - style: { - textDecorationLine: "underline" - } - }, - { - types: ["italic"], - style: { - fontStyle: "italic" - } - }, - { - types: ["important", "bold"], - style: { - fontWeight: "bold" - } - }, - { - types: ["important"], - style: { - color: "hsl(230, 8%, 24%)" - } - } - ] -}; -var oneLight_default = theme18; - -// src/themes/gruvboxMaterialDark.ts -var theme19 = { - plain: { - color: "#ebdbb2", - backgroundColor: "#292828" - }, - styles: [ - { - types: [ - "imports", - "class-name", - "maybe-class-name", - "constant", - "doctype", - "builtin", - "function" - ], - style: { - color: "#d8a657" - } - }, - { - types: ["property-access"], - style: { - color: "#7daea3" - } - }, - { - types: ["tag"], - style: { - color: "#e78a4e" - } - }, - { - types: ["attr-name", "char", "url", "regex"], - style: { - color: "#a9b665" - } - }, - { - types: ["attr-value", "string"], - style: { - color: "#89b482" - } - }, - { - types: ["comment", "prolog", "cdata", "operator", "inserted"], - style: { - color: "#a89984" - } - }, - { - types: [ - "delimiter", - "boolean", - "keyword", - "selector", - "important", - "atrule", - "property", - "variable", - "deleted" - ], - style: { - color: "#ea6962" - } - }, - { - types: ["entity", "number", "symbol"], - style: { - color: "#d3869b" - } - } - ] -}; -var gruvboxMaterialDark_default = theme19; - -// src/themes/gruvboxMaterialLight.ts -var theme20 = { - plain: { - color: "#654735", - backgroundColor: "#f9f5d7" - }, - styles: [ - { - types: [ - "delimiter", - "boolean", - "keyword", - "selector", - "important", - "atrule", - "property", - "variable", - "deleted" - ], - style: { - color: "#af2528" - } - }, - { - types: [ - "imports", - "class-name", - "maybe-class-name", - "constant", - "doctype", - "builtin" - ], - style: { - color: "#b4730e" - } - }, - { - types: ["string", "attr-value"], - style: { - color: "#477a5b" - } - }, - { - types: ["property-access"], - style: { - color: "#266b79" - } - }, - { - types: ["function", "attr-name", "char", "url"], - style: { - color: "#72761e" - } - }, - { - types: ["tag"], - style: { - color: "#b94c07" - } - }, - { - types: ["comment", "prolog", "cdata", "operator", "inserted"], - style: { - color: "#a89984" - } - }, - { - types: ["entity", "number", "symbol"], - style: { - color: "#924f79" - } - } - ] -}; -var gruvboxMaterialLight_default = theme20; - -// src/index.ts - - -// src/components/useThemeDictionary.ts - - -// src/utils/themeToDict.ts -var themeToDict = (theme21, language) => { - const { plain } = theme21; - const themeDict = theme21.styles.reduce((acc, themeEntry) => { - const { languages: languages2, style } = themeEntry; - if (languages2 && !languages2.includes(language)) { - return acc; - } - themeEntry.types.forEach((type) => { - const accStyle = __spreadValues(__spreadValues({}, acc[type]), style); - acc[type] = accStyle; - }); - return acc; - }, {}); - themeDict.root = plain; - themeDict.plain = __spreadProps(__spreadValues({}, plain), { backgroundColor: void 0 }); - return themeDict; -}; -var themeToDict_default = themeToDict; - -// src/components/useThemeDictionary.ts -var useThemeDictionary = (language, theme21) => { - const [themeDictionary, setThemeDictionary] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)( - themeToDict_default(theme21, language) - ); - const previousTheme = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(); - const previousLanguage = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(); - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { - if (theme21 !== previousTheme.current || language !== previousLanguage.current) { - previousTheme.current = theme21; - previousLanguage.current = language; - setThemeDictionary(themeToDict_default(theme21, language)); - } - }, [language, theme21]); - return themeDictionary; -}; - -// src/components/useGetLineProps.ts - - -var useGetLineProps = (themeDictionary) => (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)( - (_a) => { - var _b = _a, { className, style, line } = _b, rest = __objRest(_b, ["className", "style", "line"]); - const output = __spreadProps(__spreadValues({}, rest), { - className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)("token-line", className) - }); - if (typeof themeDictionary === "object" && "plain" in themeDictionary) - output.style = themeDictionary.plain; - if (typeof style === "object") - output.style = __spreadValues(__spreadValues({}, output.style || {}), style); - return output; - }, - [themeDictionary] -); - -// src/components/useGetTokenProps.ts - - -var useGetTokenProps = (themeDictionary) => { - const styleForToken = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)( - ({ types, empty }) => { - if (themeDictionary == null) - return void 0; - else if (types.length === 1 && types[0] === "plain") { - return empty != null ? { display: "inline-block" } : void 0; - } else if (types.length === 1 && empty != null) { - return themeDictionary[types[0]]; - } - return Object.assign( - empty != null ? { display: "inline-block" } : {}, - ...types.map((type) => themeDictionary[type]) - ); - }, - [themeDictionary] - ); - return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)( - (_a) => { - var _b = _a, { token, className, style } = _b, rest = __objRest(_b, ["token", "className", "style"]); - const output = __spreadProps(__spreadValues({}, rest), { - className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)("token", ...token.types, className), - children: token.content, - style: styleForToken(token) - }); - if (style != null) { - output.style = __spreadValues(__spreadValues({}, output.style || {}), style); - } - return output; - }, - [styleForToken] - ); -}; - -// src/utils/normalizeTokens.ts -var newlineRe = /\r\n|\r|\n/; -var normalizeEmptyLines = (line) => { - if (line.length === 0) { - line.push({ - types: ["plain"], - content: "\n", - empty: true - }); - } else if (line.length === 1 && line[0].content === "") { - line[0].content = "\n"; - line[0].empty = true; - } -}; -var appendTypes = (types, add) => { - const typesSize = types.length; - if (typesSize > 0 && types[typesSize - 1] === add) { - return types; - } - return types.concat(add); -}; -var normalizeTokens = (tokens) => { - const typeArrStack = [[]]; - const tokenArrStack = [tokens]; - const tokenArrIndexStack = [0]; - const tokenArrSizeStack = [tokens.length]; - let i = 0; - let stackIndex = 0; - let currentLine = []; - const acc = [currentLine]; - while (stackIndex > -1) { - while ((i = tokenArrIndexStack[stackIndex]++) < tokenArrSizeStack[stackIndex]) { - let content; - let types = typeArrStack[stackIndex]; - const tokenArr = tokenArrStack[stackIndex]; - const token = tokenArr[i]; - if (typeof token === "string") { - types = stackIndex > 0 ? types : ["plain"]; - content = token; - } else { - types = appendTypes(types, token.type); - if (token.alias) { - types = appendTypes(types, token.alias); - } - content = token.content; - } - if (typeof content !== "string") { - stackIndex++; - typeArrStack.push(types); - tokenArrStack.push(content); - tokenArrIndexStack.push(0); - tokenArrSizeStack.push(content.length); - continue; - } - const splitByNewlines = content.split(newlineRe); - const newlineCount = splitByNewlines.length; - currentLine.push({ - types, - content: splitByNewlines[0] - }); - for (let i2 = 1; i2 < newlineCount; i2++) { - normalizeEmptyLines(currentLine); - acc.push(currentLine = []); - currentLine.push({ - types, - content: splitByNewlines[i2] - }); - } - } - stackIndex--; - typeArrStack.pop(); - tokenArrStack.pop(); - tokenArrIndexStack.pop(); - tokenArrSizeStack.pop(); - } - normalizeEmptyLines(currentLine); - return acc; -}; -var normalizeTokens_default = normalizeTokens; - -// src/components/useTokenize.ts - -var useTokenize = ({ prism, code, grammar, language }) => { - const prismRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(prism); - return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => { - if (grammar == null) - return normalizeTokens_default([code]); - const prismConfig = { - code, - grammar, - language, - tokens: [] - }; - prismRef.current.hooks.run("before-tokenize", prismConfig); - prismConfig.tokens = prismRef.current.tokenize(code, grammar); - prismRef.current.hooks.run("after-tokenize", prismConfig); - return normalizeTokens_default(prismConfig.tokens); - }, [code, grammar, language]); -}; - -// src/components/highlight.ts -var Highlight = ({ - children, - language: _language, - code, - theme: theme21, - prism -}) => { - const language = _language.toLowerCase(); - const themeDictionary = useThemeDictionary(language, theme21); - const getLineProps = useGetLineProps(themeDictionary); - const getTokenProps = useGetTokenProps(themeDictionary); - const grammar = prism.languages[language]; - const tokens = useTokenize({ prism, language, code, grammar }); - return children({ - tokens, - className: `prism-code language-${language}`, - style: themeDictionary != null ? themeDictionary.root : {}, - getLineProps, - getTokenProps - }); -}; - -// src/index.ts -var Highlight2 = (props) => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(Highlight, __spreadProps(__spreadValues({}, props), { - prism: props.prism || Prism, - theme: props.theme || vsDark_default, - code: props.code, - language: props.language -})); - -/*! Bundled license information: - -prismjs/prism.js: - (** - * Prism: Lightweight, robust, elegant syntax highlighting - * - * @license MIT <https://opensource.org/licenses/MIT> - * @author Lea Verou <https://lea.verou.me> - * @namespace - * @public - *) -*/ -//# sourceMappingURL=index.mjs.map - -/***/ }), - -/***/ 6143: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ A: () => (/* binding */ invariant) -/* harmony export */ }); -var isProduction = "production" === 'production'; -var prefix = 'Invariant failed'; -function invariant(condition, message) { - if (condition) { - return; - } - if (isProduction) { - throw new Error(prefix); - } - var provided = typeof message === 'function' ? message() : message; - var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix; - throw new Error(value); -} - - - - -/***/ }), - -/***/ 4629: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ __addDisposableResource: () => (/* binding */ __addDisposableResource), -/* harmony export */ __assign: () => (/* binding */ __assign), -/* harmony export */ __asyncDelegator: () => (/* binding */ __asyncDelegator), -/* harmony export */ __asyncGenerator: () => (/* binding */ __asyncGenerator), -/* harmony export */ __asyncValues: () => (/* binding */ __asyncValues), -/* harmony export */ __await: () => (/* binding */ __await), -/* harmony export */ __awaiter: () => (/* binding */ __awaiter), -/* harmony export */ __classPrivateFieldGet: () => (/* binding */ __classPrivateFieldGet), -/* harmony export */ __classPrivateFieldIn: () => (/* binding */ __classPrivateFieldIn), -/* harmony export */ __classPrivateFieldSet: () => (/* binding */ __classPrivateFieldSet), -/* harmony export */ __createBinding: () => (/* binding */ __createBinding), -/* harmony export */ __decorate: () => (/* binding */ __decorate), -/* harmony export */ __disposeResources: () => (/* binding */ __disposeResources), -/* harmony export */ __esDecorate: () => (/* binding */ __esDecorate), -/* harmony export */ __exportStar: () => (/* binding */ __exportStar), -/* harmony export */ __extends: () => (/* binding */ __extends), -/* harmony export */ __generator: () => (/* binding */ __generator), -/* harmony export */ __importDefault: () => (/* binding */ __importDefault), -/* harmony export */ __importStar: () => (/* binding */ __importStar), -/* harmony export */ __makeTemplateObject: () => (/* binding */ __makeTemplateObject), -/* harmony export */ __metadata: () => (/* binding */ __metadata), -/* harmony export */ __param: () => (/* binding */ __param), -/* harmony export */ __propKey: () => (/* binding */ __propKey), -/* harmony export */ __read: () => (/* binding */ __read), -/* harmony export */ __rest: () => (/* binding */ __rest), -/* harmony export */ __rewriteRelativeImportExtension: () => (/* binding */ __rewriteRelativeImportExtension), -/* harmony export */ __runInitializers: () => (/* binding */ __runInitializers), -/* harmony export */ __setFunctionName: () => (/* binding */ __setFunctionName), -/* harmony export */ __spread: () => (/* binding */ __spread), -/* harmony export */ __spreadArray: () => (/* binding */ __spreadArray), -/* harmony export */ __spreadArrays: () => (/* binding */ __spreadArrays), -/* harmony export */ __values: () => (/* binding */ __values), -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { - function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } - var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; - var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; - var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); - var _, done = false; - for (var i = decorators.length - 1; i >= 0; i--) { - var context = {}; - for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; - for (var p in contextIn.access) context.access[p] = contextIn.access[p]; - context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; - var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); - if (kind === "accessor") { - if (result === void 0) continue; - if (result === null || typeof result !== "object") throw new TypeError("Object expected"); - if (_ = accept(result.get)) descriptor.get = _; - if (_ = accept(result.set)) descriptor.set = _; - if (_ = accept(result.init)) initializers.unshift(_); - } - else if (_ = accept(result)) { - if (kind === "field") initializers.unshift(_); - else descriptor[key] = _; - } - } - if (target) Object.defineProperty(target, contextIn.name, descriptor); - done = true; -}; - -function __runInitializers(thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; - -function __propKey(x) { - return typeof x === "symbol" ? x : "".concat(x); -}; - -function __setFunctionName(f, name, prefix) { - if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; - return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); -}; - -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} - -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); - return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -var __createBinding = Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -}); - -function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} - -function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} - -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -/** @deprecated */ -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} - -function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} - -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; - function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } - function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } -} - -function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -var __setModuleDefault = Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}; - -function __importStar(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -} - -function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - -function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} - -function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; -} - -function __classPrivateFieldIn(state, receiver) { - if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -function __addDisposableResource(env, value, async) { - if (value !== null && value !== void 0) { - if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose, inner; - if (async) { - if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); - dispose = value[Symbol.asyncDispose]; - } - if (dispose === void 0) { - if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); - dispose = value[Symbol.dispose]; - if (async) inner = dispose; - } - if (typeof dispose !== "function") throw new TypeError("Object not disposable."); - if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; - env.stack.push({ value: value, dispose: dispose, async: async }); - } - else if (async) { - env.stack.push({ async: true }); - } - return value; -} - -var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; - -function __disposeResources(env) { - function fail(e) { - env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; - env.hasError = true; - } - var r, s = 0; - function next() { - while (r = env.stack.pop()) { - try { - if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); - if (r.dispose) { - var result = r.dispose.call(r.value); - if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); - } - else s |= 1; - } - catch (e) { - fail(e); - } - } - if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); - if (env.hasError) throw env.error; - } - return next(); -} - -function __rewriteRelativeImportExtension(path, preserveJsx) { - if (typeof path === "string" && /^\.\.?\//.test(path)) { - return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { - return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); - }); - } - return path; -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - __extends, - __assign, - __rest, - __decorate, - __param, - __esDecorate, - __runInitializers, - __propKey, - __setFunctionName, - __metadata, - __awaiter, - __generator, - __createBinding, - __exportStar, - __values, - __read, - __spread, - __spreadArrays, - __spreadArray, - __await, - __asyncGenerator, - __asyncDelegator, - __asyncValues, - __makeTemplateObject, - __importStar, - __importDefault, - __classPrivateFieldGet, - __classPrivateFieldSet, - __classPrivateFieldIn, - __addDisposableResource, - __disposeResources, - __rewriteRelativeImportExtension, -}); - - -/***/ }), - -/***/ 4784: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* - * AUTOGENERATED - DON'T EDIT - * Your edits in this file will be overwritten in the next build! - * Modify the docusaurus.config.js file at your site's root instead. - */ -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - "title": "My Site", - "tagline": "Dinosaurs are cool", - "favicon": "img/favicon.ico", - "future": { - "v4": { - "removeLegacyPostBuildHeadAttribute": true - }, - "experimental_faster": { - "swcJsLoader": false, - "swcJsMinimizer": false, - "swcHtmlMinimizer": false, - "lightningCssMinimizer": false, - "mdxCrossCompilerCache": false, - "rspackBundler": false, - "rspackPersistentCache": false, - "ssgWorkerThreads": false - }, - "experimental_storage": { - "type": "localStorage", - "namespace": false - }, - "experimental_router": "browser" - }, - "url": "https://your-docusaurus-site.example.com", - "baseUrl": "/", - "organizationName": "facebook", - "projectName": "docusaurus", - "onBrokenLinks": "throw", - "onBrokenMarkdownLinks": "warn", - "i18n": { - "defaultLocale": "en", - "locales": [ - "en" - ], - "path": "i18n", - "localeConfigs": {} - }, - "presets": [ - [ - "classic", - { - "docs": { - "sidebarPath": "./sidebars.ts", - "editUrl": "https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/" - }, - "blog": { - "showReadingTime": true, - "feedOptions": { - "type": [ - "rss", - "atom" - ], - "xslt": true - }, - "editUrl": "https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/", - "onInlineTags": "warn", - "onInlineAuthors": "warn", - "onUntruncatedBlogPosts": "warn" - }, - "theme": { - "customCss": "./src/css/custom.css" - } - } - ] - ], - "themeConfig": { - "image": "img/docusaurus-social-card.jpg", - "navbar": { - "title": "My Site", - "logo": { - "alt": "My Site Logo", - "src": "img/logo.svg" - }, - "items": [ - { - "type": "docSidebar", - "sidebarId": "tutorialSidebar", - "position": "left", - "label": "Tutorial" - }, - { - "to": "/blog", - "label": "Blog", - "position": "left" - }, - { - "href": "https://github.com/facebook/docusaurus", - "label": "GitHub", - "position": "right" - } - ], - "hideOnScroll": false - }, - "footer": { - "style": "dark", - "links": [ - { - "title": "Docs", - "items": [ - { - "label": "Tutorial", - "to": "/docs/intro" - } - ] - }, - { - "title": "Community", - "items": [ - { - "label": "Stack Overflow", - "href": "https://stackoverflow.com/questions/tagged/docusaurus" - }, - { - "label": "Discord", - "href": "https://discordapp.com/invite/docusaurus" - }, - { - "label": "X", - "href": "https://x.com/docusaurus" - } - ] - }, - { - "title": "More", - "items": [ - { - "label": "Blog", - "to": "/blog" - }, - { - "label": "GitHub", - "href": "https://github.com/facebook/docusaurus" - } - ] - } - ], - "copyright": "Copyright © 2025 My Project, Inc. Built with Docusaurus." - }, - "prism": { - "theme": { - "plain": { - "color": "#393A34", - "backgroundColor": "#f6f8fa" - }, - "styles": [ - { - "types": [ - "comment", - "prolog", - "doctype", - "cdata" - ], - "style": { - "color": "#999988", - "fontStyle": "italic" - } - }, - { - "types": [ - "namespace" - ], - "style": { - "opacity": 0.7 - } - }, - { - "types": [ - "string", - "attr-value" - ], - "style": { - "color": "#e3116c" - } - }, - { - "types": [ - "punctuation", - "operator" - ], - "style": { - "color": "#393A34" - } - }, - { - "types": [ - "entity", - "url", - "symbol", - "number", - "boolean", - "variable", - "constant", - "property", - "regex", - "inserted" - ], - "style": { - "color": "#36acaa" - } - }, - { - "types": [ - "atrule", - "keyword", - "attr-name", - "selector" - ], - "style": { - "color": "#00a4db" - } - }, - { - "types": [ - "function", - "deleted", - "tag" - ], - "style": { - "color": "#d73a49" - } - }, - { - "types": [ - "function-variable" - ], - "style": { - "color": "#6f42c1" - } - }, - { - "types": [ - "tag", - "selector", - "keyword" - ], - "style": { - "color": "#00009f" - } - } - ] - }, - "darkTheme": { - "plain": { - "color": "#F8F8F2", - "backgroundColor": "#282A36" - }, - "styles": [ - { - "types": [ - "prolog", - "constant", - "builtin" - ], - "style": { - "color": "rgb(189, 147, 249)" - } - }, - { - "types": [ - "inserted", - "function" - ], - "style": { - "color": "rgb(80, 250, 123)" - } - }, - { - "types": [ - "deleted" - ], - "style": { - "color": "rgb(255, 85, 85)" - } - }, - { - "types": [ - "changed" - ], - "style": { - "color": "rgb(255, 184, 108)" - } - }, - { - "types": [ - "punctuation", - "symbol" - ], - "style": { - "color": "rgb(248, 248, 242)" - } - }, - { - "types": [ - "string", - "char", - "tag", - "selector" - ], - "style": { - "color": "rgb(255, 121, 198)" - } - }, - { - "types": [ - "keyword", - "variable" - ], - "style": { - "color": "rgb(189, 147, 249)", - "fontStyle": "italic" - } - }, - { - "types": [ - "comment" - ], - "style": { - "color": "rgb(98, 114, 164)" - } - }, - { - "types": [ - "attr-name" - ], - "style": { - "color": "rgb(241, 250, 140)" - } - } - ] - }, - "additionalLanguages": [], - "magicComments": [ - { - "className": "theme-code-block-highlighted-line", - "line": "highlight-next-line", - "block": { - "start": "highlight-start", - "end": "highlight-end" - } - } - ] - }, - "colorMode": { - "defaultMode": "light", - "disableSwitch": false, - "respectPrefersColorScheme": false - }, - "docs": { - "versionPersistence": "localStorage", - "sidebar": { - "hideable": false, - "autoCollapseCategories": false - } - }, - "blog": { - "sidebar": { - "groupByYear": true - } - }, - "metadata": [], - "tableOfContents": { - "minHeadingLevel": 2, - "maxHeadingLevel": 3 - } - }, - "baseUrlIssueBanner": true, - "onBrokenAnchors": "warn", - "onDuplicateRoutes": "warn", - "staticDirectories": [ - "static" - ], - "customFields": {}, - "plugins": [], - "themes": [], - "scripts": [], - "headTags": [], - "stylesheets": [], - "clientModules": [], - "titleDelimiter": "|", - "noIndex": false, - "markdown": { - "format": "mdx", - "mermaid": false, - "mdx1Compat": { - "comments": true, - "admonitions": true, - "headingIds": true - }, - "anchors": { - "maintainCase": false - } - } -}); - - -/***/ }), - -/***/ 2654: -/***/ ((module) => { - -"use strict"; -module.exports = {}; - -/***/ }), - -/***/ 5516: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}'); - -/***/ }), - -/***/ 5513: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"title":"Recent posts","items":[{"title":"Welcome","permalink":"/blog/welcome","unlisted":false,"date":"2021-08-26T00:00:00.000Z"},{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post","unlisted":false,"date":"2021-08-01T00:00:00.000Z"},{"title":"Long Blog Post","permalink":"/blog/long-blog-post","unlisted":false,"date":"2019-05-29T00:00:00.000Z"},{"title":"First Blog Post","permalink":"/blog/first-blog-post","unlisted":false,"date":"2019-05-28T00:00:00.000Z"}]}'); - -/***/ }), - -/***/ 1912: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"blogBasePath":"/blog","blogTitle":"Blog","authorsListPath":"/blog/authors"}'); - -/***/ }), - -/***/ 7735: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"archive":{"blogPosts":[{"id":"welcome","metadata":{"permalink":"/blog/welcome","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2021-08-26-welcome/index.md","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome","description":"Docusaurus blogging features are powered by the blog plugin.","date":"2021-08-26T00:00:00.000Z","tags":[{"inline":false,"label":"Facebook","permalink":"/blog/tags/facebook","description":"Facebook tag description"},{"inline":false,"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.465,"hasTruncateMarker":true,"authors":[{"name":"Sébastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":["slorber","yangshun"],"tags":["facebook","hello","docusaurus"]},"unlisted":false,"nextItem":{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post"}},"content":"[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).\\n\\nHere are a few tips you might find useful.\\n\\n<!-- truncate -->\\n\\nSimply add Markdown files (or folders) to the `blog` directory.\\n\\nRegular blog authors can be added to `authors.yml`.\\n\\nThe blog post date can be extracted from filenames, such as:\\n\\n- `2019-05-30-welcome.md`\\n- `2019-05-30-welcome/index.md`\\n\\nA blog post folder can be convenient to co-locate blog post images:\\n\\n![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)\\n\\nThe blog supports tags as well!\\n\\n**And if you don\'t want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config."},{"id":"mdx-blog-post","metadata":{"permalink":"/blog/mdx-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2021-08-01-mdx-blog-post.mdx","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.235,"hasTruncateMarker":true,"authors":[{"name":"Sébastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"prevItem":{"title":"Welcome","permalink":"/blog/welcome"},"nextItem":{"title":"Long Blog Post","permalink":"/blog/long-blog-post"}},"content":"Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).\\n\\n:::tip\\n\\nUse the power of React to create interactive blog posts.\\n\\n:::\\n\\n{/* truncate */}\\n\\nFor example, use JSX to create an interactive button:\\n\\n```js\\n<button onClick={() => alert(\'button clicked!\')}>Click me!</button>\\n```\\n\\n<button onClick={() => alert(\'button clicked!\')}>Click me!</button>"},{"id":"long-blog-post","metadata":{"permalink":"/blog/long-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2019-05-29-long-blog-post.md","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","tags":[{"inline":false,"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":2.06,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"yangshun","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/blog/first-blog-post"}},"content":"This is the summary of a very long blog post,\\n\\nUse a `<!--` `truncate` `-->` comment to limit blog post size in the list view.\\n\\n<!-- truncate -->\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet\\n\\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"},{"id":"first-blog-post","metadata":{"permalink":"/blog/first-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2019-05-28-first-blog-post.md","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet...","date":"2019-05-28T00:00:00.000Z","tags":[{"inline":false,"label":"Hola","permalink":"/blog/tags/hola","description":"Hola tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.135,"hasTruncateMarker":true,"authors":[{"name":"Sébastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":["slorber","yangshun"],"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/blog/long-blog-post"}},"content":"Lorem ipsum dolor sit amet...\\n\\n<!-- truncate -->\\n\\n...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}]}}'); - -/***/ }), - -/***/ 6600: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"authors":[{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun","count":3},{"name":"Sébastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber","count":3}]}'); - -/***/ }), - -/***/ 4971: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"author":{"name":"Sébastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber","count":3},"listMetadata":{"permalink":"/blog/authors/all-sebastien-lorber-articles","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}'); - -/***/ }), - -/***/ 6067: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"author":{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun","count":3},"listMetadata":{"permalink":"/blog/authors/yangshun","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}'); - -/***/ }), - -/***/ 9328: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"metadata":{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":4,"blogDescription":"Blog","blogTitle":"Blog"}}'); - -/***/ }), - -/***/ 8070: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"tags":[{"label":"Facebook","permalink":"/blog/tags/facebook","description":"Facebook tag description","count":1},{"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description","count":2},{"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description","count":4},{"label":"Hola","permalink":"/blog/tags/hola","description":"Hola tag description","count":1}]}'); - -/***/ }), - -/***/ 8174: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"tag":{"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description","allTagsPath":"/blog/tags","count":4,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/docusaurus","page":1,"postsPerPage":10,"totalPages":1,"totalCount":4,"blogDescription":"Blog","blogTitle":"Blog"}}'); - -/***/ }), - -/***/ 8539: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"tag":{"label":"Facebook","permalink":"/blog/tags/facebook","description":"Facebook tag description","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/facebook","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}'); - -/***/ }), - -/***/ 4035: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"tag":{"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description","allTagsPath":"/blog/tags","count":2,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/hello","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}}'); - -/***/ }), - -/***/ 7134: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"tag":{"label":"Hola","permalink":"/blog/tags/hola","description":"Hola tag description","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/hola","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}'); - -/***/ }), - -/***/ 2421: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"permalink":"/blog/first-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2019-05-28-first-blog-post.md","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet...","date":"2019-05-28T00:00:00.000Z","tags":[{"inline":false,"label":"Hola","permalink":"/blog/tags/hola","description":"Hola tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.135,"hasTruncateMarker":true,"authors":[{"name":"Sébastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":["slorber","yangshun"],"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/blog/long-blog-post"}}'); - -/***/ }), - -/***/ 5802: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"permalink":"/blog/long-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2019-05-29-long-blog-post.md","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","tags":[{"inline":false,"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":2.06,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"yangshun","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/blog/first-blog-post"}}'); - -/***/ }), - -/***/ 1632: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"permalink":"/blog/mdx-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2021-08-01-mdx-blog-post.mdx","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.235,"hasTruncateMarker":true,"authors":[{"name":"Sébastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"prevItem":{"title":"Welcome","permalink":"/blog/welcome"},"nextItem":{"title":"Long Blog Post","permalink":"/blog/long-blog-post"}}'); - -/***/ }), - -/***/ 8811: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"permalink":"/blog/welcome","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2021-08-26-welcome/index.md","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome","description":"Docusaurus blogging features are powered by the blog plugin.","date":"2021-08-26T00:00:00.000Z","tags":[{"inline":false,"label":"Facebook","permalink":"/blog/tags/facebook","description":"Facebook tag description"},{"inline":false,"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.465,"hasTruncateMarker":true,"authors":[{"name":"Sébastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":["slorber","yangshun"],"tags":["facebook","hello","docusaurus"]},"unlisted":false,"nextItem":{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post"}}'); - -/***/ }), - -/***/ 7093: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}'); - -/***/ }), - -/***/ 6164: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Tutorial Intro","href":"/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Tutorial - Basics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create a Page","href":"/docs/tutorial-basics/create-a-page","docId":"tutorial-basics/create-a-page","unlisted":false},{"type":"link","label":"Create a Document","href":"/docs/tutorial-basics/create-a-document","docId":"tutorial-basics/create-a-document","unlisted":false},{"type":"link","label":"Create a Blog Post","href":"/docs/tutorial-basics/create-a-blog-post","docId":"tutorial-basics/create-a-blog-post","unlisted":false},{"type":"link","label":"Markdown Features","href":"/docs/tutorial-basics/markdown-features","docId":"tutorial-basics/markdown-features","unlisted":false},{"type":"link","label":"Deploy your site","href":"/docs/tutorial-basics/deploy-your-site","docId":"tutorial-basics/deploy-your-site","unlisted":false},{"type":"link","label":"Congratulations!","href":"/docs/tutorial-basics/congratulations","docId":"tutorial-basics/congratulations","unlisted":false}],"href":"/docs/category/tutorial---basics"},{"type":"category","label":"Tutorial - Extras","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manage Docs Versions","href":"/docs/tutorial-extras/manage-docs-versions","docId":"tutorial-extras/manage-docs-versions","unlisted":false},{"type":"link","label":"Translate your site","href":"/docs/tutorial-extras/translate-your-site","docId":"tutorial-extras/translate-your-site","unlisted":false}],"href":"/docs/category/tutorial---extras"}]},"docs":{"intro":{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes.","sidebar":"tutorialSidebar"},"tutorial-basics/congratulations":{"id":"tutorial-basics/congratulations","title":"Congratulations!","description":"You have just learned the basics of Docusaurus and made some changes to the initial template.","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-blog-post":{"id":"tutorial-basics/create-a-blog-post","title":"Create a Blog Post","description":"Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-document":{"id":"tutorial-basics/create-a-document","title":"Create a Document","description":"Documents are groups of pages connected through:","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-page":{"id":"tutorial-basics/create-a-page","title":"Create a Page","description":"Add Markdown or React files to src/pages to create a standalone page:","sidebar":"tutorialSidebar"},"tutorial-basics/deploy-your-site":{"id":"tutorial-basics/deploy-your-site","title":"Deploy your site","description":"Docusaurus is a static-site-generator (also called Jamstack).","sidebar":"tutorialSidebar"},"tutorial-basics/markdown-features":{"id":"tutorial-basics/markdown-features","title":"Markdown Features","description":"Docusaurus supports Markdown and a few additional features.","sidebar":"tutorialSidebar"},"tutorial-extras/manage-docs-versions":{"id":"tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","sidebar":"tutorialSidebar"},"tutorial-extras/translate-your-site":{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","sidebar":"tutorialSidebar"}}}}'); - -/***/ }), - -/***/ 1549: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"categoryGeneratedIndex":{"title":"Tutorial - Basics","description":"5 minutes to learn the most important Docusaurus concepts.","slug":"/category/tutorial---basics","permalink":"/docs/category/tutorial---basics","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Tutorial Intro","permalink":"/docs/intro"},"next":{"title":"Create a Page","permalink":"/docs/tutorial-basics/create-a-page"}}}}'); - -/***/ }), - -/***/ 3618: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"categoryGeneratedIndex":{"title":"Tutorial - Extras","slug":"/category/tutorial---extras","permalink":"/docs/category/tutorial---extras","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Congratulations!","permalink":"/docs/tutorial-basics/congratulations"},"next":{"title":"Manage Docs Versions","permalink":"/docs/tutorial-extras/manage-docs-versions"}}}}'); - -/***/ }), - -/***/ 8552: -/***/ ((module) => { - -"use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}'); - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ loaded: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = __webpack_module_cache__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ __webpack_require__.p = "/"; -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ // module factories are used so entry inlining is disabled -/******/ // startup -/******/ // Load entry module and return exports -/******/ var __webpack_exports__ = __webpack_require__(1200); -/******/ module.exports = __webpack_exports__; -/******/ -/******/ })() -; \ No newline at end of file diff --git a/_headers b/_headers new file mode 100644 index 0000000000..59b3f98c31 --- /dev/null +++ b/_headers @@ -0,0 +1,28 @@ + +# /assets folder contain Webpack processed assets with a file hash +# They are safe for immutable caching, as filename change when content change + +/assets/* + Cache-Control: public + Cache-Control: max-age=365000000 + Cache-Control: immutable + +/fr/assets/* + Cache-Control: public + Cache-Control: max-age=365000000 + Cache-Control: immutable + +/pt-BR/assets/* + Cache-Control: public + Cache-Control: max-age=365000000 + Cache-Control: immutable + +/ko/assets/* + Cache-Control: public + Cache-Control: max-age=365000000 + Cache-Control: immutable + +/zh-CN/assets/* + Cache-Control: public + Cache-Control: max-age=365000000 + Cache-Control: immutable diff --git a/_redirects b/_redirects new file mode 100644 index 0000000000..c30d7176c2 --- /dev/null +++ b/_redirects @@ -0,0 +1,59 @@ +# Server redirects for Netlify + + +# Renamed doc routes +/docs/docusaurus.config.js /docs/api/docusaurus-config +/docs/next/docusaurus.config.js /docs/next/api/docusaurus-config +/docs/lifecycle-apis /docs/api/plugin-methods/ +/docs/next/lifecycle-apis /docs/next/api/plugin-methods/ +/docs/using-themes /docs/swizzling +/docs/next/using-themes /docs/next/swizzling +/docs/advanced/swizzling /docs/swizzling +/docs/next/advanced/swizzling /docs/next/swizzling +/docs/markdown-features/inline-toc /docs/markdown-features/toc +/docs/next/markdown-features/inline-toc /docs/next/markdown-features/toc +/docs/markdown-features/headings /docs/markdown-features/toc +/docs/next/markdown-features/headings /docs/next/markdown-features/toc + + +# v2.docusaurus.io domain redirect after we put v2 on docusaurus.io +https://v2.docusaurus.io/* https://docusaurus.io/:splat 301! + + +# Redirect older Docusaurus v1 links that do not exist anymore in v2 +https://docusaurus.io/docs/en/* https://v1.docusaurus.io/docs/en/:splat +https://docusaurus.io/docs/fr/* https://v1.docusaurus.io/docs/fr/:splat +https://docusaurus.io/docs/ko/* https://v1.docusaurus.io/docs/ko/:splat +https://docusaurus.io/docs/ro/* https://v1.docusaurus.io/docs/ro/:splat +https://docusaurus.io/docs/ru/* https://v1.docusaurus.io/docs/ru/:splat +https://docusaurus.io/docs/pt-br/* https://v1.docusaurus.io/docs/pt-br/:splat +https://docusaurus.io/docs/zh-cn/* https://v1.docusaurus.io/docs/zh-cn/:splat + + + +# Redirect Docusaurus v1 blog RSS feed +/blog/feed.xml /blog/rss.xml + + +# Feature requests redirects +/feedback/* /feature-requests/:splat 301! +/fr/feedback/* /fr/feature-requests/:splat 301! +/pt-BR/feedback/* /pt-BR/feature-requests/:splat 301! +/ko/feedback/* /ko/feature-requests/:splat 301! +/zh-CN/feedback/* /zh-CN/feature-requests/:splat 301! +/feature-requests/* /feature-requests 200 +/fr/feature-requests/* /fr/feature-requests 200 +/pt-BR/feature-requests/* /pt-BR/feature-requests 200 +/ko/feature-requests/* /ko/feature-requests 200 +/zh-CN/feature-requests/* /zh-CN/feature-requests 200 + + +# FALLBACK: PUT THIS LAST (rules above are more important) +# Redirect each country sub-path to appropriate localized 404 file +# Note: the 404 won't be served if the path match an existing static file +# Note: useless for /* => Netlify already serve /404.html +# See https://docs.netlify.com/routing/redirects/redirect-options/#custom-404-page-handling +/fr/* /fr/404 404 +/pt-BR/* /pt-BR/404 404 +/ko/* /ko/404 404 +/zh-CN/* /zh-CN/404 404 diff --git a/assets/css/styles.0593531b.css b/assets/css/styles.0593531b.css new file mode 100644 index 0000000000..944b22572c --- /dev/null +++ b/assets/css/styles.0593531b.css @@ -0,0 +1 @@ +:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-500:var(--ifm-color-gray-500);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:.2s;--ifm-transition-slow:.4s;--ifm-transition-timing-default:cubic-bezier(.08,.52,.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:.1rem;--ifm-code-padding-vertical:.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:.875rem;--ifm-h6-font-size:.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:.8rem;--ifm-breadcrumb-padding-vertical:.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 256 256\"><g><g><polygon points=\"79.093,0 48.907,30.187 146.72,128 48.907,225.813 79.093,256 207.093,128\"/></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg>");--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-color:var(--ifm-font-color-base-inverse);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:.5rem;--ifm-toc-padding-horizontal:.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:.75rem;--ifm-menu-link-padding-vertical:.375rem;--ifm-menu-link-sublist-icon:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 24 24\"><path fill=\"rgba(0,0,0,0.5)\" d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\"></path></svg>");--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:.75rem;--ifm-navbar-item-padding-vertical:.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-hover-color:var(--ifm-color-primary);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url("data:image/svg+xml;utf8,<svg fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" height=\"16px\" width=\"16px\"><path d=\"M6.02945,10.20327a4.17382,4.17382,0,1,1,4.17382-4.17382A4.15609,4.15609,0,0,1,6.02945,10.20327Zm9.69195,4.2199L10.8989,9.59979A5.88021,5.88021,0,0,0,12.058,6.02856,6.00467,6.00467,0,1,0,9.59979,10.8989l4.82338,4.82338a.89729.89729,0,0,0,1.29912,0,.89749.89749,0,0,0-.00087-1.29909Z\" /></svg>");--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}*{box-sizing:border-box}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base)var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{word-wrap:break-word;margin:0}iframe{color-scheme:normal;border:0}.container{max-width:var(--ifm-container-width);padding:0 var(--ifm-spacing-horizontal);width:100%;margin:0 auto}.container--fluid{max-width:inherit}.row{margin:0 calc(var(--ifm-spacing-horizontal)*-1);flex-wrap:wrap;display:flex}.row--no-gutters{margin-left:0;margin-right:0}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;max-width:var(--ifm-col-width);padding:0 var(--ifm-spacing-horizontal);flex:1 0;width:100%;margin-left:0}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:calc(1/12*100%)}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:calc(2/12*100%)}.col--offset-2{margin-left:16.6667%}.col--3{--ifm-col-width:calc(3/12*100%)}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:calc(4/12*100%)}.col--offset-4{margin-left:33.3333%}.col--5{--ifm-col-width:calc(5/12*100%)}.col--offset-5{margin-left:41.6667%}.col--6{--ifm-col-width:calc(6/12*100%)}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:calc(7/12*100%)}.col--offset-7{margin-left:58.3333%}.col--8{--ifm-col-width:calc(8/12*100%)}.col--offset-8{margin-left:66.6667%}.col--9{--ifm-col-width:calc(9/12*100%)}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:calc(10/12*100%)}.col--offset-10{margin-left:83.3333%}.col--11{--ifm-col-width:calc(11/12*100%)}.col--offset-11{margin-left:91.6667%}.col--12{--ifm-col-width:calc(12/12*100%)}.col--offset-12{margin-left:100%}.margin--none{margin:0!important}.margin-top--none{margin-top:0!important}.margin-left--none{margin-left:0!important}.margin-bottom--none{margin-bottom:0!important}.margin-right--none{margin-right:0!important}.margin-vert--none{margin-top:0!important;margin-bottom:0!important}.margin-horiz--none{margin-left:0!important;margin-right:0!important}.margin--xs{margin:.25rem!important}.margin-top--xs{margin-top:.25rem!important}.margin-left--xs{margin-left:.25rem!important}.margin-bottom--xs{margin-bottom:.25rem!important}.margin-right--xs{margin-right:.25rem!important}.margin-vert--xs{margin-top:.25rem!important;margin-bottom:.25rem!important}.margin-horiz--xs{margin-left:.25rem!important;margin-right:.25rem!important}.margin--sm{margin:.5rem!important}.margin-top--sm{margin-top:.5rem!important}.margin-left--sm{margin-left:.5rem!important}.margin-bottom--sm{margin-bottom:.5rem!important}.margin-right--sm{margin-right:.5rem!important}.margin-vert--sm{margin-top:.5rem!important;margin-bottom:.5rem!important}.margin-horiz--sm{margin-left:.5rem!important;margin-right:.5rem!important}.margin--md{margin:1rem!important}.margin-top--md{margin-top:1rem!important}.margin-left--md{margin-left:1rem!important}.margin-bottom--md{margin-bottom:1rem!important}.margin-right--md{margin-right:1rem!important}.margin-vert--md{margin-top:1rem!important;margin-bottom:1rem!important}.margin-horiz--md{margin-left:1rem!important;margin-right:1rem!important}.margin--lg{margin:2rem!important}.margin-top--lg{margin-top:2rem!important}.margin-left--lg{margin-left:2rem!important}.margin-bottom--lg{margin-bottom:2rem!important}.margin-right--lg{margin-right:2rem!important}.margin-vert--lg{margin-top:2rem!important;margin-bottom:2rem!important}.margin-horiz--lg{margin-left:2rem!important;margin-right:2rem!important}.margin--xl{margin:5rem!important}.margin-top--xl{margin-top:5rem!important}.margin-left--xl{margin-left:5rem!important}.margin-bottom--xl{margin-bottom:5rem!important}.margin-right--xl{margin-right:5rem!important}.margin-vert--xl{margin-top:5rem!important;margin-bottom:5rem!important}.margin-horiz--xl{margin-left:5rem!important;margin-right:5rem!important}.padding--none{padding:0!important}.padding-top--none{padding-top:0!important}.padding-left--none{padding-left:0!important}.padding-bottom--none{padding-bottom:0!important}.padding-right--none{padding-right:0!important}.padding-vert--none{padding-top:0!important;padding-bottom:0!important}.padding-horiz--none{padding-left:0!important;padding-right:0!important}.padding--xs{padding:.25rem!important}.padding-top--xs{padding-top:.25rem!important}.padding-left--xs{padding-left:.25rem!important}.padding-bottom--xs{padding-bottom:.25rem!important}.padding-right--xs{padding-right:.25rem!important}.padding-vert--xs{padding-top:.25rem!important;padding-bottom:.25rem!important}.padding-horiz--xs{padding-left:.25rem!important;padding-right:.25rem!important}.padding--sm{padding:.5rem!important}.padding-top--sm{padding-top:.5rem!important}.padding-left--sm{padding-left:.5rem!important}.padding-bottom--sm{padding-bottom:.5rem!important}.padding-right--sm{padding-right:.5rem!important}.padding-vert--sm{padding-top:.5rem!important;padding-bottom:.5rem!important}.padding-horiz--sm{padding-left:.5rem!important;padding-right:.5rem!important}.padding--md{padding:1rem!important}.padding-top--md{padding-top:1rem!important}.padding-left--md{padding-left:1rem!important}.padding-bottom--md{padding-bottom:1rem!important}.padding-right--md{padding-right:1rem!important}.padding-vert--md{padding-top:1rem!important;padding-bottom:1rem!important}.padding-horiz--md{padding-left:1rem!important;padding-right:1rem!important}.padding--lg{padding:2rem!important}.padding-top--lg{padding-top:2rem!important}.padding-left--lg{padding-left:2rem!important}.padding-bottom--lg{padding-bottom:2rem!important}.padding-right--lg{padding-right:2rem!important}.padding-vert--lg{padding-top:2rem!important;padding-bottom:2rem!important}.padding-horiz--lg{padding-left:2rem!important;padding-right:2rem!important}.padding--xl{padding:5rem!important}.padding-top--xl{padding-top:5rem!important}.padding-left--xl{padding-left:5rem!important}.padding-bottom--xl{padding-bottom:5rem!important}.padding-right--xl{padding-right:5rem!important}.padding-vert--xl{padding-top:5rem!important;padding-bottom:5rem!important}.padding-horiz--xl{padding-left:5rem!important;padding-right:5rem!important}code{background-color:var(--ifm-code-background);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical)var(--ifm-code-padding-horizontal);vertical-align:middle;border:.1rem solid rgba(0,0,0,.1)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height)var(--ifm-font-family-monospace);margin:0 0 var(--ifm-spacing-vertical);padding:var(--ifm-pre-padding);overflow:auto}pre code{font-size:100%;line-height:inherit;background-color:transparent;border:none;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);border-radius:.2rem;padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top)0 var(--ifm-heading-margin-bottom)0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:before{content:"";display:table}.markdown:after{clear:both;content:"";display:table}.markdown>:last-child{margin-bottom:0!important}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>pre,.markdown>ul,.markdown>p{margin-bottom:var(--ifm-leading)}.markdown li{word-wrap:break-word}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ul,ol{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ul ul,ul ol,ol ol,ol ul{margin:0}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}table{border-collapse:collapse;margin-bottom:var(--ifm-spacing-vertical);display:block;overflow:auto}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead{background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width)solid var(--ifm-table-border-color)}table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table th,table td{border:var(--ifm-table-border-width)solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);-webkit-text-decoration:var(--ifm-link-decoration);text-decoration:var(--ifm-link-decoration);transition:color var(--ifm-transition-fast)var(--ifm-transition-timing-default)}a:hover{color:var(--ifm-link-hover-color);-webkit-text-decoration:var(--ifm-link-hover-decoration);text-decoration:var(--ifm-link-hover-decoration)}a:not([href]){-webkit-text-decoration:none;text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width)solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);margin:0 0 var(--ifm-spacing-vertical);padding:var(--ifm-blockquote-padding-vertical)var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical)0;border:0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text--break{word-wrap:break-word!important;word-break:break-word!important}.text--no-decoration,.text--no-decoration:hover{-webkit-text-decoration:none;text-decoration:none}.clean-btn{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.clean-list{padding-left:0;list-style:none}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width)solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);color:var(--ifm-alert-foreground-color);padding:var(--ifm-alert-padding-vertical)var(--ifm-alert-padding-horizontal)}.alert__heading{font:bold var(--ifm-h5-font-size)/var(--ifm-heading-line-height)var(--ifm-heading-font-family);text-transform:uppercase;align-items:center;margin-bottom:.5rem;display:flex}.alert__icon{margin-right:.4em;display:inline-flex}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{color:var(--ifm-alert-foreground-color);margin:calc(var(--ifm-alert-padding-vertical)*-1)calc(var(--ifm-alert-padding-horizontal)*-1)0 0;opacity:.75}.alert .close:hover,.alert .close:focus{opacity:1}.alert a{-webkit-text-decoration-color:var(--ifm-alert-border-color);text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{-moz-column-gap:var(--ifm-avatar-intro-margin);column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size);border-radius:50%;display:block;overflow:hidden}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{text-align:var(--ifm-avatar-intro-alignment);flex-direction:column;flex:1;justify-content:center;display:flex}.avatar__name{font:bold var(--ifm-h4-font-size)/var(--ifm-heading-line-height)var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:.5rem;flex-direction:column;align-items:center}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width)solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);padding:var(--ifm-badge-padding-vertical)var(--ifm-badge-padding-horizontal);line-height:1;display:inline-block}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);--ifm-badge-border-color:var(--ifm-badge-background-color);color:var(--ifm-color-black)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger);--ifm-badge-border-color:var(--ifm-badge-background-color)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item{display:inline-block}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator)center;content:" ";filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));display:inline-block}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);color:var(--ifm-font-color-base);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier))calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-property:background,color;transition-duration:var(--ifm-transition-fast);transition-timing-function:var(--ifm-transition-timing-default);display:inline-block}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width)solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);color:var(--ifm-button-color);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier))calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;transition-property:color,background,border-color;transition-duration:var(--ifm-button-transition-duration);transition-timing-function:var(--ifm-transition-timing-default);line-height:1.5;display:inline-block}.button:hover{color:var(--ifm-button-color);-webkit-text-decoration:none;text-decoration:none}.button--outline{--ifm-button-background-color:transparent;--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--outline:hover,.button--outline:active,.button--outline.button--active{--ifm-button-color:var(--ifm-font-color-base-inverse)}.button--link{--ifm-button-background-color:transparent;--ifm-button-border-color:transparent;color:var(--ifm-link-color);-webkit-text-decoration:var(--ifm-link-decoration);text-decoration:var(--ifm-link-decoration)}.button--link:hover,.button--link:active,.button--link.button--active{color:var(--ifm-link-hover-color);-webkit-text-decoration:var(--ifm-link-hover-decoration);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{width:100%;display:block}.button.button--secondary{color:var(--ifm-color-gray-900)}.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary:active,.button--primary.button--active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary:active,.button--secondary.button--active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success:active,.button--success.button--active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info:active,.button--info.button--active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning:active,.button--warning.button--active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger:active,.button--danger.button--active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{gap:var(--ifm-button-group-spacing);display:inline-flex}.button-group>.button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.button-group>.button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.button-group--block{justify-content:stretch;display:flex}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);flex-direction:column;display:flex;overflow:hidden}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__header,.card__body,.card__footer{padding:var(--ifm-card-vertical-spacing)var(--ifm-card-horizontal-spacing)}.card__header:not(:last-child),.card__body:not(:last-child),.card__footer:not(:last-child){padding-bottom:0}.card__header>:last-child,.card__body>:last-child,.card__footer>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{padding:var(--ifm-toc-padding-vertical)0;margin-bottom:0;font-size:.8rem}.table-of-contents,.table-of-contents ul{padding-left:var(--ifm-toc-padding-horizontal);list-style:none}.table-of-contents li{margin:var(--ifm-toc-padding-vertical)var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link:hover,.table-of-contents__link:hover code,.table-of-contents__link--active,.table-of-contents__link--active code{color:var(--ifm-color-primary);-webkit-text-decoration:none;text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);opacity:.5;transition:opacity var(--ifm-transition-fast)var(--ifm-transition-timing-default);padding:1rem;line-height:1}.close:hover{opacity:.7}.close:focus{opacity:.8}.dropdown{font-weight:var(--ifm-dropdown-font-weight);vertical-align:top;display:inline-flex;position:relative}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;visibility:visible;transform:translateY(-1px)}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);opacity:0;pointer-events:none;min-width:10rem;max-height:80vh;left:0;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);visibility:hidden;z-index:var(--ifm-z-index-dropdown);transition-property:opacity,transform,visibility;transition-duration:var(--ifm-transition-fast);transition-timing-function:var(--ifm-transition-timing-default);padding:.5rem;list-style:none;position:absolute;overflow-y:auto;transform:translateY(-.625rem)}.dropdown__link{color:var(--ifm-dropdown-link-color);white-space:nowrap;border-radius:.25rem;margin-top:.2rem;padding:.25rem .5rem;font-size:.875rem;display:block}.dropdown__link:hover,.dropdown__link--active{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);-webkit-text-decoration:none;text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{content:"";border:.4em solid transparent;border-top-color:currentColor;border-bottom:0 solid;margin-left:.3em;display:inline-block;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical)var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{max-width:var(--ifm-footer-logo-max-width);margin-top:1rem}.footer__title{color:var(--ifm-footer-title-color);font:bold var(--ifm-h4-font-size)/var(--ifm-heading-line-height)var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.footer__item{margin-top:0}.footer__items{margin-bottom:0}[type=checkbox]{padding:0}.hero{background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);align-items:center;padding:4rem 2rem;display:flex}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu{font-weight:var(--ifm-font-weight-semibold);overflow-x:hidden}.menu__list{margin:0;padding-left:0;list-style:none}.menu__list .menu__list{padding-left:var(--ifm-menu-link-padding-horizontal);flex:0 0 100%;margin-top:.25rem}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.menu__list-item--collapsed .menu__link--sublist:after,.menu__list-item--collapsed .menu__caret:before{transform:rotate(90deg)}.menu__list-item-collapsible{transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.25rem;flex-wrap:wrap;display:flex;position:relative}.menu__list-item-collapsible:hover,.menu__list-item-collapsible--active{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link:hover,.menu__list-item-collapsible .menu__link--active{background:0 0!important}.menu__link,.menu__caret{transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.25rem;align-items:center;display:flex}.menu__link:hover,.menu__caret:hover{background:var(--ifm-menu-color-background-hover)}.menu__link{color:var(--ifm-menu-color);padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);transition:color var(--ifm-transition-fast)var(--ifm-transition-timing-default);-webkit-text-decoration:none;text-decoration:none}.menu__link--sublist-caret:after{content:"";background:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem;min-width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast)linear;margin-left:auto;transform:rotate(180deg)}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret{padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal)}.menu__caret:before{content:"";background:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast)linear;transform:rotate(180deg)}html[data-theme=dark],.navbar--dark{--ifm-menu-link-sublist-icon-filter:invert(100%)sepia(94%)saturate(17%)hue-rotate(223deg)brightness(104%)contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical)var(--ifm-navbar-padding-horizontal);display:flex}.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{z-index:var(--ifm-z-index-fixed);position:sticky;top:0}.navbar__inner{flex-wrap:wrap;justify-content:space-between;width:100%;display:flex}.navbar__brand{color:var(--ifm-navbar-link-color);align-items:center;min-width:0;margin-right:1rem;display:flex}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);-webkit-text-decoration:none;text-decoration:none}.navbar__title{flex:auto}.navbar__toggle{margin-right:.5rem;display:none}.navbar__logo{flex:none;height:2rem;margin-right:.5rem}.navbar__logo img{height:100%}.navbar__items{flex:1;align-items:center;min-width:0;display:flex}.navbar__items--center{flex:none}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:none;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{padding:var(--ifm-navbar-item-padding-vertical)var(--ifm-navbar-item-padding-horizontal);display:inline-block}.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link{color:var(--ifm-navbar-link-color);font-weight:var(--ifm-font-weight-semibold)}.navbar__link:hover,.navbar__link--active{color:var(--ifm-navbar-link-hover-color);-webkit-text-decoration:none;text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:rgba(255,255,255,.1);--ifm-navbar-search-input-placeholder-color:rgba(255,255,255,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-navbar-link-hover-color:var(--ifm-color-primary);--ifm-menu-color-background-active:rgba(255,255,255,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color)var(--ifm-navbar-search-input-icon)no-repeat .75rem center/1rem 1rem;color:var(--ifm-navbar-search-input-color);cursor:text;border:none;border-radius:2rem;width:12.5rem;height:2rem;padding:0 .5rem 0 2.25rem;font-size:1rem;display:inline-block}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);opacity:0;visibility:hidden;width:var(--ifm-navbar-sidebar-width);transition-property:opacity,visibility,transform;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;transform:translate(-100%)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar--show .navbar-sidebar{transform:translate(0,0)}.navbar-sidebar__backdrop{opacity:0;visibility:hidden;transition-property:opacity,visibility;transition-duration:var(--ifm-transition-fast);background-color:rgba(0,0,0,.6);transition-timing-function:ease-in-out;position:fixed;inset:0}.navbar-sidebar__brand{box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical)var(--ifm-navbar-padding-horizontal);flex:1;align-items:center;display:flex}.navbar-sidebar__items{height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast)ease-in-out;display:flex;transform:translateZ(0)}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{width:calc(var(--ifm-navbar-sidebar-width));flex-shrink:0;padding:.5rem}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);text-align:left;width:calc(100% + 1rem);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;top:-.5rem}.navbar-sidebar__close{margin-left:auto;display:flex}.pagination{-moz-column-gap:var(--ifm-pagination-page-spacing);column-gap:var(--ifm-pagination-page-spacing);font-size:var(--ifm-pagination-font-size);padding-left:0;display:flex}.pagination--sm{--ifm-pagination-font-size:.8rem;--ifm-pagination-padding-horizontal:.8rem;--ifm-pagination-padding-vertical:.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{background:var(--ifm-pagination-item-active-background);color:var(--ifm-pagination-color-active)}.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);padding:var(--ifm-pagination-padding-vertical)var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);display:inline-block}.pagination__link:hover{-webkit-text-decoration:none;text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr);display:grid}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast)var(--ifm-transition-timing-default);display:block}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);-webkit-text-decoration:none;text-decoration:none}.pagination-nav__link--next{text-align:right;grid-column:2/3}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills{gap:var(--ifm-pills-spacing);padding-left:0;display:flex}.pills__item{cursor:pointer;font-weight:var(--ifm-font-weight-bold);transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.5rem;padding:.25rem 1rem;display:inline-block}.pills__item--active{background:var(--ifm-pills-color-background-active);color:var(--ifm-pills-color-active)}.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{text-align:center;flex-grow:1}.tabs{color:var(--ifm-tabs-color);font-weight:var(--ifm-font-weight-bold);margin-bottom:0;padding-left:0;display:flex;overflow-x:auto}.tabs__item{border-radius:var(--ifm-global-radius);cursor:pointer;padding:var(--ifm-tabs-padding-vertical)var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-bottom:3px solid transparent;display:inline-flex}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);color:var(--ifm-tabs-color-active);border-bottom-right-radius:0;border-bottom-left-radius:0}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-500:var(--ifm-color-gray-500);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:rgba(255,255,255,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%)sepia(11%)saturate(0%)hue-rotate(149deg)brightness(99%)contrast(95%);--ifm-code-background:rgba(255,255,255,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:rgba(255,255,255,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.footer__link-separator{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{width:max-content;display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__item{display:none}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0s;--ifm-transition-slow:0s}}@media print{.table-of-contents,.footer,.menu,.navbar,.pagination-nav{display:none}.tabs{page-break-inside:avoid}}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary)}#nprogress{pointer-events:none}#nprogress .bar{background:var(--docusaurus-progress-bar-color);z-index:1031;width:100%;height:2px;position:fixed;top:0;left:0}#nprogress .peg{width:100px;height:100%;box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);opacity:1;position:absolute;right:0;transform:rotate(3deg)translateY(-4px)}[data-rmiz-ghost]{pointer-events:none;position:absolute}[data-rmiz-btn-zoom],[data-rmiz-btn-unzoom]{color:#fff;outline-offset:2px;touch-action:manipulation;appearance:none;background-color:rgba(0,0,0,.7);border:none;border-radius:50%;width:40px;height:40px;margin:0;padding:9px;box-shadow:0 0 1px rgba(255,255,255,.5)}[data-rmiz-btn-zoom]:not(:focus):not(:active){clip:rect(0 0 0 0);clip-path:inset(50%);pointer-events:none;white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-rmiz-btn-zoom]{cursor:zoom-in;position:absolute;inset:10px 10px auto auto}[data-rmiz-btn-unzoom]{cursor:zoom-out;z-index:1;position:absolute;inset:20px 20px auto auto}[data-rmiz-content=found] img,[data-rmiz-content=found] svg,[data-rmiz-content=found] [role=img],[data-rmiz-content=found] [data-zoom]{cursor:zoom-in}[data-rmiz-modal]::backdrop{display:none}[data-rmiz-modal][open]{background:0 0;border:0;width:100dvw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;overflow:hidden}[data-rmiz-modal-overlay]{transition:background-color .3s;position:absolute;inset:0}[data-rmiz-modal-overlay=hidden]{background-color:rgba(255,255,255,0)}[data-rmiz-modal-content]{width:100%;height:100%;position:relative}[data-rmiz-modal-img]{cursor:zoom-out;image-rendering:high-quality;transform-origin:0 0;transition:transform .3s;position:absolute}@media (prefers-reduced-motion:reduce){[data-rmiz-modal-overlay],[data-rmiz-modal-img]{transition-duration:.01ms!important}}:root{--site-primary-hue-saturation:167 68%;--site-primary-hue-saturation-light:167 56%;--site-color-feedback-background:#f0f8ff;--docusaurus-highlighted-code-line-bg:rgba(0,0,0,.1);--ifm-breadcrumb-color-active:var(--ifm-color-primary-darker)!important;--ifm-menu-color-active:var(--ifm-color-primary-darker)!important}html[data-theme=dark]{--site-color-feedback-background:#2a2929;--docusaurus-highlighted-code-line-bg:rgba(66,66,66,.35)}[data-theme=light]{--ifm-color-primary:hsl(var(--site-primary-hue-saturation)30%);--ifm-color-primary-dark:hsl(var(--site-primary-hue-saturation)26%);--ifm-color-primary-darker:hsl(var(--site-primary-hue-saturation)23%);--ifm-color-primary-darkest:hsl(var(--site-primary-hue-saturation)17%);--ifm-color-primary-light:hsl(var(--site-primary-hue-saturation-light)39%);--ifm-color-primary-lighter:hsl(var(--site-primary-hue-saturation-light)47%);--ifm-color-primary-lightest:hsl(var(--site-primary-hue-saturation-light)58%)}[data-theme=dark]{--ifm-color-primary:hsl(var(--site-primary-hue-saturation)45%);--ifm-color-primary-dark:hsl(var(--site-primary-hue-saturation)41%);--ifm-color-primary-darker:hsl(var(--site-primary-hue-saturation)38%);--ifm-color-primary-darkest:hsl(var(--site-primary-hue-saturation)32%);--ifm-color-primary-light:hsl(var(--site-primary-hue-saturation-light)54%);--ifm-color-primary-lighter:hsl(var(--site-primary-hue-saturation-light)62%);--ifm-color-primary-lightest:hsl(var(--site-primary-hue-saturation-light)73%)}.header-github-link:before{content:"";background-color:var(--ifm-navbar-link-color);width:24px;height:24px;transition:background-color var(--ifm-transition-fast)var(--ifm-transition-timing-default);display:flex;-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.header-github-link:hover:before{background-color:var(--ifm-navbar-link-hover-color)}.footer--dark{--ifm-footer-background-color:#2b3137}.unique-tabs .tabs__item{margin-right:8px;line-height:16px}.unique-tabs .tabs__item--active{color:#fff;border-radius:var(--ifm-global-radius);background-color:var(--ifm-tabs-color-active);border:0}[data-theme=light] .themedDocusaurus [fill=\#FFFF50]{fill:#adff2f}[data-theme=dark] .themedDocusaurus [fill=\#FFFF50]{fill:#2e8b57}[data-theme=light] .DocSearch{--docsearch-muted-color:var(--ifm-color-emphasis-700);--docsearch-container-background:rgba(94,100,112,.7);--docsearch-modal-background:var(--ifm-color-secondary-lighter);--docsearch-searchbox-background:var(--ifm-color-secondary);--docsearch-searchbox-focus-background:var(--ifm-color-white);--docsearch-hit-color:var(--ifm-font-color-base);--docsearch-hit-active-color:var(--ifm-color-white);--docsearch-hit-background:var(--ifm-color-white);--docsearch-footer-background:var(--ifm-color-white)}[data-theme=dark] .DocSearch{--docsearch-text-color:var(--ifm-font-color-base);--docsearch-muted-color:var(--ifm-color-secondary-darkest);--docsearch-container-background:rgba(47,55,69,.7);--docsearch-modal-background:var(--ifm-background-color);--docsearch-searchbox-background:var(--ifm-background-color);--docsearch-searchbox-focus-background:var(--ifm-color-black);--docsearch-hit-color:var(--ifm-font-color-base);--docsearch-hit-active-color:var(--ifm-color-white);--docsearch-hit-background:var(--ifm-color-emphasis-100);--docsearch-footer-background:var(--ifm-background-surface-color);--docsearch-key-gradient:linear-gradient(-26.5deg,var(--ifm-color-emphasis-200)0%,var(--ifm-color-emphasis-100)100%)}div[class^=announcementBar_]{--site-announcement-bar-stripe-color1:#e8d7ff;--site-announcement-bar-stripe-color2:#ffe9d1;background:repeating-linear-gradient(35deg,var(--site-announcement-bar-stripe-color1),var(--site-announcement-bar-stripe-color1)20px,var(--site-announcement-bar-stripe-color2)10px,var(--site-announcement-bar-stripe-color2)40px);font-size:20px;font-weight:700}.screen-reader-only{clip:rect(0 0 0 0);clip-path:polygon(0 0,0 0,0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-theme=light] img[src$=\#gh-dark-mode-only],[data-theme=dark] img[src$=\#gh-light-mode-only]{display:none}.test-marker-site-custom-css-unique-rule{content:"site-custom-css-unique-rule"}.video-container{width:100%;max-width:560px;margin:0 auto;position:relative;overflow:hidden}.yt-lite>.lty-playbtn{cursor:pointer;border:0}.dropdown-separator{margin:.3rem 0}.dropdown-archived-versions{padding:.2rem .5rem;font-size:.875rem}.code-block-error-line{margin:0 calc(-1*var(--ifm-pre-padding));padding:0 var(--ifm-pre-padding);background-color:rgba(255,0,0,.125);border-left:3px solid rgba(255,0,0,.5);display:block}[data-rmiz-modal-overlay=visible]{background-color:rgba(255,255,255,.95)}[data-theme=dark] [data-rmiz-modal-overlay=visible]{background-color:rgba(0,0,0,.95)}html[data-navbar=false] .navbar{display:none}html[data-red-border] div#__docusaurus{border:thick solid red}@media screen and (min-width:1px){html.plugin-docs.plugin-id-docs-tests .red>a{color:red}:is(html.plugin-docs.plugin-id-docs-tests .red>a):after{content:" ";background-image:url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMSAxIj4KICA8cGF0aCBkPSJNMCwwaDF2MUgwIiBmaWxsPSIjZjAwIi8+Cjwvc3ZnPgo=);background-size:contain;width:1rem;height:1rem;margin-left:.5rem}html.plugin-docs.plugin-id-docs-tests .navbar{border-bottom:thin solid #0ff}.theme-doc-sidebar-item-link:is(html.plugin-docs.plugin-id-docs-tests .dogfood_sidebar_class_name_test)>a{color:#0ff}.theme-doc-sidebar-item-category:is(html.plugin-docs.plugin-id-docs-tests .dogfood_sidebar_class_name_test)>div>a{color:#0ff}.card:is(html.plugin-docs.plugin-id-docs-tests .dogfood_sidebar_class_name_test){border:thin solid #0ff}html.plugin-blog.plugin-id-blog-tests .navbar{border-bottom:thin solid #0f0}html.plugin-pages.plugin-id-pages-tests .navbar{border-bottom:thin solid #ff0}html:has(#navbar-dropdown-tests) .navbar__item.dropdown~a{display:none}}#z-index-test{z-index:100}.test-marker-site-client-module{content:"site-client-module"}body:not(.navigation-with-keyboard) :not(input):focus{outline:none}#__docusaurus-base-url-issue-banner-container{display:none}.skipToContent_UHvc{z-index:calc(var(--ifm-z-index-fixed) + 1);padding:calc(var(--ifm-global-spacing)/2)var(--ifm-global-spacing);color:var(--ifm-color-emphasis-900);background-color:var(--ifm-background-surface-color);position:fixed;top:1rem;left:100%}.skipToContent_UHvc:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_nmpN{padding:0;line-height:0}.content_ttnW{text-align:center;padding:5px 0;font-size:85%}.content_ttnW a{color:inherit;-webkit-text-decoration:underline;text-decoration:underline}:root{--docusaurus-announcement-bar-height:auto}.announcementBar_cTOO{height:var(--docusaurus-announcement-bar-height);background-color:var(--ifm-color-white);color:var(--ifm-color-black);border-bottom:1px solid var(--ifm-color-emphasis-100);align-items:center;display:flex}html[data-announcement-bar-initially-dismissed=true] .announcementBar_cTOO{display:none}.announcementBarPlaceholder_Lqfg{flex:0 0 10px}.announcementBarClose_UFLi{flex:0 0 30px;align-self:stretch}.announcementBarContent_PjqA{flex:auto}@media print{.announcementBar_cTOO{display:none}}@media (min-width:997px){:root{--docusaurus-announcement-bar-height:30px}.announcementBarPlaceholder_Lqfg,.announcementBarClose_UFLi{flex-basis:50px}}.toggle_bT41{width:2rem;height:2rem}.toggleButton_x9TT{-webkit-tap-highlight-color:transparent;width:100%;height:100%;transition:background var(--ifm-transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.toggleButton_x9TT:hover{background:var(--ifm-color-emphasis-200)}[data-theme=light] .darkToggleIcon_OBbf,[data-theme=dark] .lightToggleIcon_dnYY{display:none}.toggleButtonDisabled_Dj8q{cursor:not-allowed}.darkNavbarColorModeToggle_JF8j:hover{background:var(--ifm-color-gray-800)}.themedComponent_bJGS{display:none}[data-theme=light] .themedComponent--light_LEkC,[data-theme=dark] .themedComponent--dark_jnGk,html:not([data-theme]) .themedComponent--light_LEkC{display:initial}.iconExternalLink_Rdzz{margin-left:.3rem}.dropdownNavbarItemMobile_A1en{cursor:pointer}.iconLanguage_tqOs{vertical-align:text-bottom;margin-right:5px}.navbarSearchContainer_dDCC:empty{display:none}@media (max-width:996px){.navbarSearchContainer_dDCC{right:var(--ifm-navbar-padding-horizontal);position:absolute}}@media (min-width:997px){.navbarSearchContainer_dDCC{padding:var(--ifm-navbar-item-padding-vertical)var(--ifm-navbar-item-padding-horizontal)}}.navbarHideable_uAgx{transition:transform var(--ifm-transition-fast)ease}.navbarHidden_QgM6{transform:translateY(calc(-100% - 2px))}@media (max-width:996px){.colorModeToggle_UolE{display:none}}.errorBoundaryError_rP1m{white-space:pre-wrap;color:red}.errorBoundaryFallback_heah{color:red;padding:.55rem}.footerLogoLink_CiM_{opacity:.5;transition:opacity var(--ifm-transition-fast)var(--ifm-transition-timing-default)}.footerLogoLink_CiM_:hover{opacity:1}.anchorWithStickyNavbar_rB0w{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_SSbb{scroll-margin-top:.5rem}.hash-link{opacity:0;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none;padding-left:.5rem}.hash-link:before{content:"#"}.hash-link:focus,:hover>.hash-link{opacity:1}html,body{height:100%}.mainWrapper_PEsc{flex-direction:column;flex:1 0 auto;display:flex}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{flex-direction:column;min-height:100%;display:flex}.test-marker-theme-layout_zWhB{content:"theme-layout"}.sidebar_P3nc{max-height:calc(100vh - (var(--ifm-navbar-height) + 2rem));top:calc(var(--ifm-navbar-height) + 2rem);position:sticky;overflow-y:auto}.sidebarItemTitle_VrjY{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.sidebarItemList_OSkG{font-size:.9rem}.sidebarItem_WJ0y{margin-top:.7rem}.sidebarItemLink_Qrfg{color:var(--ifm-font-color-base);display:block}.sidebarItemLink_Qrfg:hover{-webkit-text-decoration:none;text-decoration:none}.sidebarItemLinkActive_nUeK{color:var(--ifm-color-primary)!important}@media (max-width:996px){.sidebar_P3nc{display:none}}.yearGroupHeading_lECJ{margin-top:1.6rem;margin-bottom:.4rem}.yearGroupHeading_Ruz9{margin:1rem .75rem .5rem}.title_UBNu{font-size:3rem}@media (max-width:576px){.title_UBNu{font-size:2rem}}.container_x5Un{font-size:.9rem}.dogfood-image-test-css{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAABSCAYAAAC7QwouAAAACXBIWXMAAAsSAAALEgHS3X78AAASKklEQVR42u1dPXbbuhL+mJPeuisQswJTKzDdPhVWSlVmiqfWzApMr8BKqyZy81RGLlSHXoGkFYRewZVXwFdoEI0hAARJ/VHGdw5Prq+IHwKYDzODAeDleY5jozuYtADEAO4BPAOIZ6N+BgcHh73COzYBdAeTCMAQwIX00wOA4WzUX7lucnA4MwLoDiYhCf6l4bU30gbGrqscHM6AALqDiU+Cf1Mi2QuAZDbqp67LHBwaSADMzo8V6r7AM4DQ8PsTEYHzDzg47ACfDmjnL7B28l1oZvgvs1G/B8AnQVfhFsCiO5gkruscHE5cAyA7PwFwpXnlFUCkUu27g0lApoIpbTwb9aeuGx0cTogASN0f0oytwhvWHv7EIq8e5dU2+Afi2ai/cN3p4HBkAiD1PC6w4+Oyy3v7ytfBwRHAbgR/7zM1rSAkBZpFMhv1h65rHRwOQADHsNXr+BYcHBx2QABk5ycA7kx2PvYYzUerC0mB1hG5ZUMHhx0SQHcwiUnwjr5eL+0j0OEH1cf5BxwcqhIAqd5jw4y7JHX/4Kq3RYShCys+LoYAAvrvGOu4kKYhogckB+MPQQBNEi6LPQZHIykNfDaobJA0dKyl2PhsrunvpiFhmuZDg/vCjgAs1euT3LVn2GUocCrbjkMAv8v0mSMARwC7wqcCAcoMwv+MdfjuSdrWpI34ZP+rcAMKKyaic3BwPgALFXpnS2zeHAGpvwHeL+ktyUac5h3UXj4kE2YM87JhciQThmsAL/T3OcJpAKdMAIcMsvHmKBLILcLJO/UHjIUT8xjbjh0BOAI4Gj5bbtPdyTKaN0dR7IAKbQC/vfnaZs87qGyzk2D7hrDiKwC/u4NJ08KKAwCyGZPRYwOfHllgy6QpUx7PI6B/F/TYtnkLm1UF2zqryJejTPlngU+w26Yb70D4hU/hrmIWNwD+eHMkRCR1/AMJircdZxTleMoYA8gBzEmL4M8fEoigQAAW9K6cPtfMcLo0NuVxwkopzS8Aj5THv2R+tgoEf0zvynVeWc7KCb0rp/+X8q46vhJqt5zy95tAAG2N2v11NuqHdb3k3hyhN8cCwE8NySwBfAPwT96Bl3fgAfhK5KPCPYCMCKUOCaxmo34EoKMp66LGQDgUigbYFQma6jt6NOgvS5RXlObKkgQeDebfnWEmb9FvOjP1gsbHuIA07w3a7q2hzYrahjvMowoa0VEIQMbDbNT368bue3P43hxTw4B5A/At7yDIOxjnnY3qlXcwzTsIyVZ81XT0T2+O1JvXs5lno/5iNuqHRDpvDdPgplivxjxQ/a/p+cG+5QLbcQYtSUieKd0/RIgij9SQ5oHe9+jfJ1aezdh5pjr/A+AL5SdwCXVsxJiNpVeaOL5Qnb+xb77VaAIxI483KrNDeXylyUiUX2b8+4q2acQ5Fd5//vu/XBIIr6bgW4fmcqEvyNMq9LiOfwAAuoNJKs1M1wdwCIbYjxMwpplWlW9EGlmZMnl+TxoB5e33VRIC/tt3UvVNZbxKGk5Apo4QXl9hrxe9s2JjSOWIbJF509a8k0DtBFwwYmqUI3enR4KRWr4wCP8LgC95B7Gt8JNGMIR5Tf8WwGIX/oETcOalhqeMT2JRoK4K2K7q2KQZGhxsNnUbslm8LRFAJL230uT7zDSRnlT/C6Z9qIh9JX1Dz6Jd+JL5m2Wa8yIAb47AmyOlWUXnU7jOOwirztJ5B6u8g7jAZr8nIug1lAAuaJbUPbsiN9+SKGRyKkqTad5HReLyNfmZtLJUkyaw/Oa0xDf08N6pHaJhqwifdyD8PbJ/LjR2fkIz+E6Qd7AAEFK5qgNI2gB+eXN8yzuN26zxVjA4VwqVNVQM7iKhvtQIbRE51dE6bMFNhZAJpC0BLDQCHFZIf1VAojH7+zsauMHpc03hDwzC/wSUU/VLEsEUwNSbI4F6Tf+nNwcaRgKLEvZjBPNeh9c91vMYt8lcnFhf3UpjvZGnUNU1AaaKjnkB0Mk7iPYl/BIRJNCv6Q8p6vDc4GN7WfUFGy82oI92dHCorwHQzCsPsh9kpx8URDQR80PwWSMB6sUMnCB4Gz/T960k1Vdel94lHizeyc5cdp6wcSyK2IHxhyEAhVA9H0P4JSIY0yrAI1fVvHn9JcITA7dtVR7xBfkH7g3mQZv5EcpqasmetRuVPf7CbPLAYG/7GhJaSOlTi/TLAoKLsI5kBE08Nv6X5psAFHzTNsxKthAxA1NquJwaNqVB5lcggaHC/u3hfFFlwGUaMjHhpUKauuSWVahzqGmbRc30OhOYL02nQLOWoav6AELF7J+VFPyEOvUR6zj/S2a7XtHs9QfVYrOHBfU9J1QRxqlBk7NJE++pzgHer6kvNOUnhnHV06SZShOCb2FepZbm2JKZnNOPQAB1ZiERz22Kx+a4JaKoEwRzbgd+LAqEMSqwR6dS+8ZSG7UUQqJKoxPAIlv4kd7xJeEfa8oTfy/ZJDFVpE/ZmHqStIYVm62FoIaS6j/F+1BjW5s+xCaA6QoNWhH4dODyhPBflkx3gfKRcOcMPsBumNmUkhmlC8ji6vSDJJD/MjPsX7JtIynNNylNzspdsXS3FubbLWl4K3rm0uyvI7Y39t1/qF5y+qUmfYL38f5iB2FGed2w8suYjSvp/Ts0xPF8aAIYK4RfbMq4xnpjSQfroIpXBQlMz3A2rwJZGIXZdMVmrweYnVgJvcM3QMl94yv675uURpTLtbnXgn7im7wuFGlD6EN9Q2wvd8rLobr0K/rtRRpXbUX5ZX0rqUSqwyZMWJ8PWFaI7VOFl4rOEp7UIQ24W6mzY5zBSSzS916zAVqGTFOaeVrSQEyZ2mzy8ifUziqbONXYwGN6eooBnkHvCedmRkrlyXksLGzoBaUJFb6dqYXgChIQebRKlD9mbZJp2jOVynIEoLFVTUzPVb6WRBzRmRHACtWPx8oK7M2FZfnjCmVPUc7htdhBHjYEVaY+iwrtnVnUqzE4pAlwoxBuG4aUbam28wU4ODSLAELF7G/LlCtstnjq8nNwcDhxDUBWpcqqaxzOEejg0GACcHBw+MAE4Jd8P1CYBQ4ODg0hANneb5ew4+VVAJVJ4ODgcOIagOzIKzr/XWAs/f2GZt4q4+DwoQlAXq++RPHuqbFi9h+ecX/49H0ZNhdMiCfDOv7BOUDX2uOYTMFc8aTY3t/gcGQCSBVawCUb2AETgoj+v3wBxOsZE0BEps0d1HH8bdClKDjv7c027fSbxoZuM9kV1nsVfCfiZnw+QueleB9zLk7zLTq9RmzQOEcHYA/vTzJ6xTpCTnxri9pOxM3/wnrPxEfzhYSKdhpjs6zs0xMSYTpf0YkRgIjDlkkAFsIfnmmHyjfu6C7dSEj7EVrR9APOcLxdngs0ITf7H9AECCqQwA/L959hPgLKpj6rEx/UQpV9gX4b6Yp+43viow82XrlQF5mCmRPv/WkAU0llv/Hm8EucCrTC2kkjdqKJ3WhtbE6CETsCq3RkrPA/NGFWs/FvDJkarDp8Q1wVvsLmbMBQIkWbXXNCO5F3ChbtmJPLB1PLeT7jCn17JdVjFyZFKI3LaUG9Qotx5bNvVV05HjKS4uZLwPqnqK6ifNOV5vJuy4zSZLUIIO9g4c3fHSwJJsxlkFG6nTn26B7BtoKwTlX9vyxZzykjgBsNQVyRfSzMBtlZdk/ahsmnksB8qGisqa8of0l5xFBfsHGP9dkC4xptV1WzC6juKmfrI5lhsSb/33y4GUhdtJ3qDkKRh7hENGF9+YLt48uGmrreY/sORUEWY+gPhfkhJsk6JoDccTfe/LjHItPdhI/S/3464ROBOTu/lNCelhbmVxv6K9nFbJoatAwu/Euq3yvL+xfMwVyX9I7pdp2fJc3HF81MXLbNU5hPTKp6RXgVTXUuEbkvfeMvFJ/uJAv/b5bmFdt3RtyJSbcyAdCFHPKJM7d0ZXdwYMH3iXx+Sj+94bTPDvAr+ilW0kxowgPW11979Fxjc6LPpcJcCrC57+4N69WGgKnw3w2TgApLbE58usb2NexltMZUIqkqPhB+mc2zom1eDW2za8gnIT1J43Us+cJ4XUV9E8PE/J2ZX4HU93cAwrpOwEjqTDGzzL353zP69yn4LbqgZIHtmAFgfTVZ1hACWFQkABPZfsXm9GUuRJHGByH7T2JFvYZsJm4XCPBXql+CzQEeU2nQlpnJ+e3BF0T44kbfwHK8tpk20VO0TU/6/n1rAU8kmD7eH+YaSLN4TzHbpxIp9qTvGyre5/0b1SIAcVGnggSEGpWRgO5D+HvYXEWuUnObeDmoLRaWGsDKMAtyLaClEciphfkXVCi/qgNPrCAtpVn0jlTpDOZoSZsrzuUrxsM992WkMcV6JTUtuS/Ghr7/29e1lwEZCWiv7PbmyHZ1ZTe7ilxnG4mryM9V+PdBIoHkOxDtuLKwO4Mj1DvA2oG4VPg9RLRkVCAgaYW2OZZ2mFqmCQ2+AU6igvzbOwkEYld2R8TAuiu7XwBEVdRyMieGGlVf2KtD8k2cO/w95RsoZtui944Vbz/G5m6BHgn8pWQeyDNh29LnkmLjBA0a2sememeirXYaCUh3803JzlBd2X0F4I83xw8Aie3twYYrwLkdFR/iNuI9olVxcKQVy+N35anqIM7NP3Vk2Cwlh/TvJVPzp6gXCNbUDUWPNi9tmQDdwSSpSQIrmoUDqK/sBtlsGa3ZmwQ/9ObIDHb+C6n7ta8i7w4mvSOwfXpEVfMcd8qleO+TusDH3jhVCJUGcN8dTCIA8WzUn9YgggzrK7vHEitz/8AjkUACIM07yEjVD6EPIBH2abILO787mATYBK8cY/aqovLtIiLOL6iP7nYdlU15ShDHnN/VUKVbJ/x9tvhuMzY+A1sRfX9t9u5g8gIgmo36WQ0iSAEE5B9QRaWJgBV488Ls3oS6t4MZ38ansDoAAYj2b9NgLWrrQBLS1Z4I6RLNPXhlZZg42owYMos2PtYGtIwRfRVtbWHTf5/oY+Urot7Z7N3BZEgCU8s/QI3+UDGLZwBB3rH3HRiEP4H6vAHuU/Bno/4hOt/m1luOWJO27Ax3pTFFlhW1kib4U/h3hob0vR34WOpiYVnXKt+3IYDZqL+ajfpWNnt3MIlrkoDwD3zB9uEgOizJzu/VDerpDiZhdzAp9CnMRv1oNuofSvXj69G3MEe3RYy03lC8h6JlQSLPhkEUN0Sw5XciDUmOJbJV5Rfi/SWlqUIzNAlZa0f+nFQiJJtvl699L0zj5Xm+JSQam52rUdFs1K/NjBQyHFGDXUlCvwAwzTv1N/J0BxOfOt/oU5iN+uMjDewE72Pvn6i+C6aSRpLG8l1DACn7zjdslssW2ESb8bLkzSo+vcuv2R7i/c4+ERocQL1D7UqTNxec34x0bWc44S+aYrOrLWX1CvF+GfqloH5iw1KKzc7HhH27qo15enFC1YqVL48xVRtwofMKSEBVVzEmAmqDaUGaqUROYjxFWwTAhEZns/OZI67jH9g3yGxJmENIhQcAwwPO+DqMDSaJykSJLAZN1XwibO+r0OEfyebeJwGUaSPdITIywe2jbd5Y/nUIQGxcMtVVbj/b7wOAb9pIQJoNTTb7DfkHkrr+gT0Jf0TseGcgsC+zUT85AeEXA+sbtq9FlzWVr7DfBPOs8e0A6y2hkUHQrmG+XvyNhOSQfT+F3a7JJyYIKueabzB3xXX1prb5Yeif79jd0qMpylZgVfL7OHFkWg1AoUIPod5/LhotPqIKXcaEWVJdU5wuhJrms4GQwc4jrZqBhbreQvEhElDMmOJZsefYx7OFkr0t6lTm21qsncV3pRXaJYPdzcF1wMuDZZkt1u+cEFOtD8BCuMbQ708+mnA1iaT2DBsV3MGhPAEwYYslZ4lKBUsO4R8g8yOG+VThH1Sfj3ClmCMAh/0SABO8xGBj/w3a2ZfgkZ2fGDSS2oFMjgAcHAGYhbAolPYVNcOKNaZIUlBmdOJ2viMAh+YTABNK0+GFYjaO60TXkZ2fwBy+m8xG/eEH7lNHAA6HJwAmpAkstu6WNQv2la+DgyOA3dvmVod3UAjy0TULBwdHAHtAHVv9GL4FBwdHAPshggiW3vpdag8ODg4nQADMLIgL7PhnrCO8jh5f4ODgCGA/RODDHLGn0xCSD7qs5+BwPgQg+QdMMftC3f8I4bsODh+LACT/gGrb8als03VwcARwIP/APRpwzoCDw7ng/++z7FyTnp4xAAAAAElFTkSuQmCC);background-size:contain}[data-theme=dark] .githubSvg_jqE4{fill:var(--light)}[data-theme=light] .githubSvg_jqE4{fill:var(--dark)}[data-theme=dark] .xSvg_Q0g7{fill:var(--light)}[data-theme=light] .xSvg_Q0g7{fill:var(--dark)}[data-theme=dark] .instagramSvg_Svcp{fill:var(--light)}[data-theme=light] .instagramSvg_Svcp{fill:var(--dark)}[data-theme=dark] .threadsSvg_kngY{fill:var(--light)}[data-theme=light] .threadsSvg_kngY{fill:var(--dark)}:root{--docusaurus-blog-social-icon-size:1rem}.authorSocials_tPnL{height:var(--docusaurus-blog-social-icon-size);line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;flex-wrap:wrap;align-items:center;line-height:0;display:flex;overflow:hidden}.authorSocialLink_hEWM{height:var(--docusaurus-blog-social-icon-size);width:var(--docusaurus-blog-social-icon-size);margin-right:.4rem;line-height:0}.authorSocialIcon_hTX6{width:var(--docusaurus-blog-social-icon-size);height:var(--docusaurus-blog-social-icon-size)}.authorImage_p8ow{--ifm-avatar-photo-size:3.6rem}.author-as-h1_Pd3R .authorImage_p8ow{--ifm-avatar-photo-size:7rem}.author-as-h2_UaZL .authorImage_p8ow{--ifm-avatar-photo-size:5.4rem}.authorDetails_dWdF{flex-direction:column;justify-content:space-around;align-items:flex-start;display:flex}.authorName_Y8Hr{flex-direction:row;font-size:1.1rem;line-height:1.1rem;display:flex}.author-as-h1_Pd3R .authorName_Y8Hr{font-size:2.4rem;line-height:2.4rem;display:inline}.author-as-h2_UaZL .authorName_Y8Hr{font-size:1.4rem;line-height:1.4rem;display:inline}.authorTitle_Slpj{line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.8rem;line-height:1rem;display:-webkit-box;overflow:hidden}.author-as-h1_Pd3R .authorTitle_Slpj{font-size:1.2rem;line-height:1.6rem}.author-as-h2_UaZL .authorTitle_Slpj{font-size:1rem;line-height:1.3rem}.authorBlogPostCount_FxU_{background:var(--ifm-color-secondary);color:var(--ifm-color-black);border-radius:var(--ifm-global-radius);margin-left:.3rem;padding:.1rem .4rem;font-size:.8rem;line-height:1.2}.authorCol_bvyx{max-width:inherit!important}.imageOnlyAuthorRow_L2DM{flex-flow:wrap;display:flex}.imageOnlyAuthorCol_oyze{margin-left:.3rem;margin-right:.3rem}.searchQueryInput_S_pS,.searchVersionInput_RZ74{border-radius:var(--ifm-global-radius);border:2px solid var(--ifm-toc-border-color);font:var(--ifm-font-size-base)var(--ifm-font-family-base);background:var(--docsearch-searchbox-focus-background);width:100%;color:var(--docsearch-text-color);transition:border var(--ifm-transition-fast)ease;margin-bottom:.5rem;padding:.8rem}.searchQueryInput_S_pS:focus,.searchVersionInput_RZ74:focus{border-color:var(--docsearch-primary-color);outline:none}.searchQueryInput_S_pS::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_dGxU{font-size:.9rem;font-weight:700}.algoliaLogo_nq6Q{max-width:150px}.algoliaLogoPathFill_IWVH{fill:var(--ifm-font-color-base)}.searchResultItem_jZK3{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_Nbvf{margin-bottom:0;font-weight:400}.searchResultItemPath_wcJo{color:var(--ifm-color-content-secondary);--ifm-breadcrumb-separator-size-multiplier:1;font-size:.8rem}.searchResultItemSummary_HbIg{margin:.5rem 0 0;font-style:italic}@media only screen and (max-width:996px){.searchQueryColumn_ourN{max-width:60%!important}.searchVersionColumn_n2Lb{max-width:40%!important}.searchResultsColumn_dGxU{max-width:60%!important}.searchLogoColumn_v5Xz{max-width:40%!important;padding-left:0!important}}@media screen and (max-width:576px){.searchQueryColumn_ourN{max-width:100%!important}.searchVersionColumn_n2Lb{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}.loadingSpinner_Jw0H{border:.4em solid #eee;border-top-color:var(--ifm-color-primary);border-radius:50%;width:3rem;height:3rem;margin:0 auto;animation:1s linear infinite loading-spin_vmq3}@keyframes loading-spin_vmq3{to{transform:rotate(360deg)}}.loader_rYmk{margin-top:2rem}.search-result-match{color:var(--docsearch-hit-color);background:rgba(255,215,142,.25);padding:.09em 0}.tweet_x2tn{font-size:15px}.tweetMeta_fAxr{color:var(--ifm-color-emphasis-700)}.tweetMeta_fAxr strong{color:var(--ifm-font-color-base)}.section_rC2D{padding:40px 0}.sectionAlt_XiGz{background-color:var(--ifm-color-emphasis-100)}.sectionInner_Y4r1{margin:0 auto}.featureImage_yA8i{width:auto;max-height:128px;margin:0 auto}.featureHeading_TLGJ{font-size:var(--ifm-h3-font-size);padding-top:1rem}.announcement_FsS0{text-align:center;margin:0 auto;padding:48px;font-size:24px;font-weight:700}.announcementDark_tzC4{color:#fff;--ifm-link-color:var(--ifm-color-primary);background-color:#20232a}.announcementInner_RsrQ{max-width:768px;margin:0 auto}.topBanner_JYZy{text-align:center;flex-direction:column;align-items:center;max-width:900px;margin:0 auto;padding:30px 20px;font-size:20px;display:flex}.topBannerTitle_nAZL{margin-bottom:.4rem;font-size:54px;font-weight:700}@media only screen and (max-width:768px){.topBannerTitle_nAZL{font-size:40px}}.topBannerTitleText_Ferb{background:linear-gradient(90deg,#833ab4 0%,#fd1d1d 50%,#fcb045 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.topBannerTitleText_Ferb:hover{border-color:#9800ff;border-bottom-style:solid;border-bottom-width:2px}html[data-theme=dark] .topBannerTitleText_Ferb{background:linear-gradient(90deg,#9800ff 0%,#f62929 50%,#ffa908 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.topBannerDescription_fLgs{font-size:20px}@media only screen and (max-width:768px){.topBannerDescription_fLgs{white-space:normal;font-size:16px}}.hero_syme{background-color:#2b3137;padding:48px}.heroInner_VWeJ{max-width:1100px;margin:0 auto;padding:0 20px}.heroProjectTagline_EkV5{color:#fff;margin:0;font-size:60px}.heroTitleTextHtml_zYwv b{color:var(--ifm-color-primary)}@keyframes jack-in-the-box_cF72{0%{opacity:0;transform-origin:bottom;transform:scale(.1)rotate(30deg)}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}.heroLogo_jM6J{float:right;height:auto;margin-top:20px;padding:0 20px 20px;animation-name:jack-in-the-box_cF72;animation-duration:2s}.indexCtas_hUA_{--ifm-button-size-multiplier:1.6;flex-wrap:wrap;align-items:center;margin-top:24px;display:flex}.indexCtas_hUA_ a,.indexCtas_hUA_ a:hover{color:#000}.indexCtas_hUA_ a:last-of-type{margin:20px 36px}.indexCtasGitHubButtonWrapper_AOht{display:flex}.indexCtasGitHubButton_sMIS{overflow:hidden}.indexCtaTryNowButton_wlFR:hover{color:var(--ifm-color-primary)}@media only screen and (max-width:768px){.hero_syme{padding-left:20px;padding-right:20px}.heroInner_VWeJ{padding:0}.heroProjectTagline_EkV5{text-align:center;font-size:36px}.heroLogo_jM6J{float:none;margin:0 auto;display:block}.indexCtas_hUA_{justify-content:center}.indexCtas_hUA_ a{margin:20px 36px}.indexCtasGitHubButton_sMIS{display:none}}.tweetsSection_Fqsy>.col>*{margin-bottom:2rem}@media (max-width:996px){.tweetsSection_Fqsy>.col:last-child>:last-child{margin-bottom:0}}@media (min-width:997px){.tweetsSection_Fqsy>.col>:last-child{margin-bottom:0}}.test-marker-site-index-page_LJ7R{content:"site-index-page"}.yt-lite{contain:content;cursor:pointer;background-color:#000;background-position:50%;background-size:cover;display:block;position:relative}.yt-lite.lyt-activated:before{content:"";box-sizing:content-box;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);background-position:top;background-repeat:repeat-x;width:100%;height:60px;padding-bottom:50px;transition:all .2s cubic-bezier(0,0,.2,1);display:block;position:absolute;top:0}.yt-lite:after{content:"";padding-bottom:var(--aspect-ratio);display:block}.yt-lite>iframe{width:100%;height:100%;position:absolute;top:0;left:0}.yt-lite>.lty-playbtn{z-index:1;opacity:.8;background-color:#212121;border-radius:14%;width:70px;height:46px;transition:all .2s cubic-bezier(0,0,.2,1)}.yt-lite:hover>.lty-playbtn{opacity:1;background-color:red}.yt-lite>.lty-playbtn:before{content:"";border:11px solid transparent;border-left:19px solid #fff;border-right-width:0}.yt-lite>.lty-playbtn,.yt-lite>.lty-playbtn:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.yt-lite.lyt-activated{cursor:unset}.yt-lite.lyt-activated:before,.yt-lite.lyt-activated>.lty-playbtn{opacity:0;pointer-events:none}.container_tECh{color:#fff;background-color:#18191a;min-height:100vh;padding:80px 20px 20px;overflow-x:hidden}.container_tECh code{color:#fff;background-color:#444950}.nav_sWk6{z-index:1;background-color:#242526;justify-content:space-evenly;align-items:center;width:100%;height:3.75rem;display:flex;position:fixed}.navlink__gTJ{color:#fff;text-align:center;border-radius:4px;padding:6px;font-size:clamp(12px,4vw,16px);font-weight:500}.navlink__gTJ:hover{background-color:#292a2b;-webkit-text-decoration:none;text-decoration:none}.active_Uuwz{background-color:#363739}@media screen and (min-width:800px){.nav_sWk6{float:left;background-color:#18191a;border-right:1px solid #606770;flex-direction:column;justify-content:flex-start;align-items:center;width:200px;height:100vh;padding-top:20px}.navlink__gTJ{text-align:left;width:80%;margin-top:20px}.container_tECh{float:right;width:calc(100% - 200px);padding-top:40px}}.containerParaiso_TYa3{cursor:default;background-color:#292a2b;border-radius:4px;margin-top:10px;padding:10px;font-family:monospace;font-size:13px;position:relative}.basicElementParaiso_DqvR{color:#fff;border-left:1px solid #4f424c;padding:3px 5px 3px 20px}.labelParaiso_l3ql{color:#e7e9db;letter-spacing:.5px;margin-right:3px}.nullValueParaiso_Ey4X{color:#fec418;text-transform:uppercase;background-color:#4f424c;border-radius:3px;padding:1px 2px;font-size:11px;font-weight:700;display:inline-block}.undefinedValueParaiso__T3e{color:#8d8687}.stringValueParaiso_T6i7{color:#f99b15}.booleanValueParaiso__TSh{color:#815ba4}.numberValueParaiso_JGW0{color:#e96ba8}.otherValueParaiso_nnwW,.punctuationParaiso_knwc{color:#fff}.expandIconParaiso_fAkX{color:#815ba4;vertical-align:baseline;margin-right:3px;font-size:22px;line-height:10px;display:inline-block}.collapseIconParaiso_MWEp:after{content:"▾"}.collapseIconParaiso_MWEp{color:#06b6ef;vertical-align:baseline;margin-right:3px;font-size:22px;line-height:10px;display:inline-block}.expandIconParaiso_fAkX:after{content:"▸"}.collapseContentParaiso_KH36{color:#f99b15;cursor:pointer;font-size:18px;line-height:10px}.collapseContentParaiso_KH36:after{content:"..."}.childFieldsContainerParaiso_HB7R{margin:0;padding:0}.main_LiBd{padding:var(--ifm-spacing-horizontal);background:var(--site-color-feedback-background);border-radius:4px;min-height:500px}.authorListItem_Y1Zl{margin-bottom:2rem;list-style-type:none}.listItem_lSSi{background-color:#242526;border-radius:4px;margin-bottom:20px;padding:10px}.sectionTitle_T1wU{margin-top:20px}.listItem_Bobk{background-color:#242526;border-radius:4px;margin-bottom:20px;padding:10px}.version_gVgE{float:right}.name_C0v7{color:#e06b6b;font-weight:800}.searchBar_E3wW{margin-left:auto}.searchBar_E3wW input{border:1px solid gray;border-radius:15px;height:30px;padding:10px}.svg_d33c{-webkit-user-select:none;user-select:none;color:#e9669e;fill:currentColor;width:1em;height:1em;display:inline-block}.small_xkoK{font-size:1rem}.medium_J4if{font-size:1.25rem}.large_G4cM{font-size:1.8rem}.showcaseCardImage_wjKy{border-bottom:2px solid var(--ifm-color-emphasis-200);height:150px;overflow:hidden}.showcaseCardHeader_H8b9{align-items:center;margin-bottom:12px;display:flex}.showcaseCardTitle_ZxTI{flex:auto;margin-bottom:0}.showcaseCardTitle_ZxTI a{background:linear-gradient(var(--ifm-color-primary),var(--ifm-color-primary))0% 100%/0% 1px no-repeat;-webkit-text-decoration:none;text-decoration:none;transition:background-size .2s ease-out}.showcaseCardTitle_ZxTI a:not(:focus):hover{background-size:100% 1px}.showcaseCardTitle_ZxTI,.showcaseCardHeader_H8b9{margin-right:.25rem}.showcaseCardSrcBtn_F6t0{border:none;margin-left:6px;padding-left:12px;padding-right:12px}.showcaseCardSrcBtn_F6t0:focus-visible{background-color:var(--ifm-color-secondary-dark)}[data-theme=dark] .showcaseCardSrcBtn_F6t0{color:inherit;background-color:var(--ifm-color-emphasis-200)!important}[data-theme=dark] .showcaseCardSrcBtn_F6t0:hover{background-color:var(--ifm-color-emphasis-300)!important}.showcaseCardBody_bvOP{font-size:smaller;line-height:1.66}.cardFooter_Xq1d{flex-wrap:wrap;display:flex}.tag_jo6t{border:1px solid var(--ifm-color-secondary-darkest);cursor:default;border-radius:12px;align-items:center;margin-right:6px;font-size:.675rem;display:inline-flex;margin-bottom:6px!important}.tag_jo6t .textLabel_lQex{margin-left:8px}.tag_jo6t .colorLabel_D_Fl{border-radius:50%;width:7px;height:7px;margin-left:6px;margin-right:6px}.cardList_kMxr{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.showcaseFavorite_LFys{background-color:#f6fdfd;padding-top:2rem;padding-bottom:2rem}html[data-theme=dark] .showcaseFavorite_LFys{background-color:#232525}.headingFavorites_LTro{align-items:center;display:flex}.checkboxLabel_vxMa:hover{opacity:1;box-shadow:0 0 2px 1px var(--ifm-color-secondary-darkest)}input[type=checkbox]+.checkboxLabel_vxMa{cursor:pointer;opacity:.85;border:2px solid var(--ifm-color-secondary-darkest);border-radius:4px;align-items:center;padding:.275rem .8rem;line-height:1.5;transition:opacity .2s ease-out;display:flex}input:focus-visible+.checkboxLabel_vxMa{outline:2px solid}input:checked+.checkboxLabel_vxMa{opacity:.9;border:2px solid var(--ifm-color-primary-darkest);background-color:rgba(148,225,208,.25)}input:checked+.checkboxLabel_vxMa:hover{opacity:.75;box-shadow:0 0 2px 1px var(--ifm-color-primary-dark)}html[data-theme=dark] input:checked+.checkboxLabel_vxMa{background-color:rgba(148,225,208,.1)}.checkboxLabel_DiOL{--height:25px;--width:80px;--border:2px;width:var(--width);height:var(--height);border-radius:var(--height);border:var(--border)solid var(--ifm-color-primary-darkest);cursor:pointer;opacity:.75;transition:opacity var(--ifm-transition-fast)var(--ifm-transition-timing-default);box-shadow:var(--ifm-global-shadow-md);justify-content:space-around;display:flex;position:relative}.checkboxLabel_DiOL:hover{opacity:1;box-shadow:var(--ifm-global-shadow-md),0 0 2px 1px var(--ifm-color-primary-dark)}.checkboxLabel_DiOL:after{content:"";width:calc(var(--width)/2);border-radius:var(--height);background-color:var(--ifm-color-primary-darkest);height:100%;transition:transform var(--ifm-transition-fast)var(--ifm-transition-timing-default);transform:translateX(calc(var(--width)/2 - var(--border)));position:absolute;inset:0}input:focus-visible~.checkboxLabel_DiOL:after{outline:2px solid}.checkboxLabel_DiOL>*{color:inherit;font-size:.8rem;transition:opacity .15s ease-in 50ms}input:checked~.checkboxLabel_DiOL:after{transform:translateX(calc(-1*var(--border)))}.headingRow_DGKw{justify-content:space-between;align-items:center;display:flex}.headingText_iR0x{align-items:baseline;display:flex}.headingText_iR0x>h2{margin-bottom:0}.headingText_iR0x>span{margin-left:8px}.headingButtons_DX79{align-items:center;display:flex}.headingButtons_DX79>*{margin-left:8px}.tagList_Ku_M{flex-wrap:wrap;align-items:center;display:flex}.tagListItem_aQcS{-webkit-user-select:none;user-select:none;white-space:nowrap;height:32px;margin-top:.5rem;margin-right:.5rem;font-size:.8rem}.tagListItem_aQcS:last-child{margin-right:0}.listItem_zpSX{background-color:#242526;border-radius:4px;margin-bottom:20px;padding:10px}.route_X3At{margin-bottom:10px}.routeName_j49z{color:#e06b6b}.backToTopButton_PuQw{background-color:var(--ifm-color-emphasis-200);width:3rem;height:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1);box-shadow:var(--ifm-global-shadow-lw);transition:all var(--ifm-transition-fast)var(--ifm-transition-timing-default);opacity:0;visibility:hidden;border-radius:50%;position:fixed;bottom:1.3rem;right:1.3rem;transform:scale(0)}.backToTopButton_PuQw:after{content:" ";-webkit-mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;-webkit-mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;background-color:var(--ifm-color-emphasis-1000);width:100%;height:100%;display:inline-block}@media (hover:hover){.backToTopButton_PuQw:hover{background-color:var(--ifm-color-emphasis-300)}}.backToTopButtonShow_YSA3{opacity:1;visibility:visible;transform:scale(1)}:root{--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1)}[data-theme=dark]:root{--docusaurus-collapse-button-bg:rgba(255,255,255,.05);--docusaurus-collapse-button-bg-hover:rgba(255,255,255,.1)}@media (min-width:997px){.collapseSidebarButton_PUyN{background-color:var(--docusaurus-collapse-button-bg);border:1px solid var(--ifm-toc-border-color);border-radius:0;height:40px;position:sticky;bottom:0;display:block!important}.collapseSidebarButtonIcon_DI0B{margin-top:4px;transform:rotate(180deg)}[dir=rtl] .collapseSidebarButtonIcon_DI0B{transform:rotate(0)}.collapseSidebarButton_PUyN:hover,.collapseSidebarButton_PUyN:focus{background-color:var(--docusaurus-collapse-button-bg-hover)}}.collapseSidebarButton_PUyN{margin:0;display:none}.menuExternalLink_zaS2{align-items:center}@media (min-width:997px){.menuHtmlItem_t1vY{padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal)}.menu_rWGR{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_rWGR{scrollbar-gutter:stable;padding:.5rem 0 .5rem .5rem}}.menuWithAnnouncementBar_Pf08{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_vtcw{height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width);flex-direction:column;display:flex}.sidebarWithHideableNavbar_tZ9s{padding-top:0}.sidebarHidden_PrHU{opacity:0;visibility:hidden}.sidebarLogo_UK0N{margin:0 var(--ifm-navbar-padding-horizontal);min-height:var(--ifm-navbar-height);max-height:var(--ifm-navbar-height);align-items:center;color:inherit!important;-webkit-text-decoration:none!important;text-decoration:none!important;display:flex!important}.sidebarLogo_UK0N img{height:2rem;margin-right:.5rem}}.sidebarLogo_UK0N{display:none}@media (min-width:997px){.expandButton_ockD{width:100%;height:100%;transition:background-color var(--ifm-transition-fast)ease;background-color:var(--docusaurus-collapse-button-bg);justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.expandButton_ockD:hover,.expandButton_ockD:focus{background-color:var(--docusaurus-collapse-button-bg-hover)}.expandButtonIcon_H1n0{transform:rotate(0)}[dir=rtl] .expandButtonIcon_H1n0{transform:rotate(180deg)}}:root{--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.docSidebarContainer_S51O{display:none}@media (min-width:997px){.docSidebarContainer_S51O{width:var(--doc-sidebar-width);margin-top:calc(-1*var(--ifm-navbar-height));border-right:1px solid var(--ifm-toc-border-color);will-change:width;transition:width var(--ifm-transition-fast)ease;clip-path:inset(0);display:block}.docSidebarContainerHidden_gbDM{width:var(--doc-sidebar-hidden-width);cursor:pointer}.sidebarViewport_K3q9{height:100%;max-height:100vh;position:sticky;top:0}}.docMainContainer_EfwR{width:100%;display:flex}@media (min-width:997px){.docMainContainer_EfwR{max-width:calc(100% - var(--doc-sidebar-width));flex-grow:1}.docMainContainerEnhanced_r8nV{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_nA1F{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}.docRoot_kBZ6{width:100%;display:flex}.docsWrapper_lLmf{flex:1 0 auto;display:flex}:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 rgba(255,255,255,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{background:var(--docsearch-searchbox-background);color:var(--docsearch-muted-color);cursor:pointer;-webkit-user-select:none;user-select:none;border:0;border-radius:40px;justify-content:space-between;align-items:center;height:36px;margin:0 0 0 16px;padding:0 8px;font-weight:500;display:flex}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6px}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{padding:0 12px 0 6px;font-size:1rem}.DocSearch-Button-Keys{min-width:calc(40px + .8em);display:flex}.DocSearch-Button-Key{background:var(--docsearch-key-gradient);box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);border:0;border-radius:3px;justify-content:center;align-items:center;width:20px;height:18px;margin-right:.4em;padding:0 0 2px;transition-property:all;transition-duration:.1s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex;position:relative;top:-1px}@media (prefers-reduced-motion){.DocSearch-Button-Key{transition:none}}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translateY(1px)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);z-index:200;width:100vw;height:100vh;position:fixed;top:0;left:0}.DocSearch-Container a{-webkit-text-decoration:none;text-decoration:none}.DocSearch-Link{appearance:none;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;background:0 0;border:0;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);box-shadow:var(--docsearch-modal-shadow);max-width:var(--docsearch-modal-width);border-radius:6px;flex-direction:column;margin:60px auto auto;position:relative}.DocSearch-SearchBar{padding:var(--docsearch-spacing)var(--docsearch-spacing)0;display:flex}.DocSearch-Form{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);height:var(--docsearch-searchbox-height);padding:0 var(--docsearch-spacing);border-radius:4px;align-items:center;width:100%;margin:0;display:flex;position:relative}.DocSearch-Input{appearance:none;color:var(--docsearch-text-color);font:inherit;background:0 0;border:0;outline:none;flex:1;width:80%;height:100%;padding:0 0 0 8px;font-size:1.2em}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button{display:none}.DocSearch-Input::-webkit-search-decoration{display:none}.DocSearch-Input::-webkit-search-results-button{display:none}.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{color:var(--docsearch-highlight-color);justify-content:center;align-items:center;display:flex}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{color:var(--docsearch-highlight-color);justify-content:center;align-items:center;display:flex}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{appearance:none;color:var(--docsearch-icon-color);cursor:pointer;stroke-width:var(--docsearch-icon-stroke-width);background:0 0;border:0;border-radius:50%;animation:none;right:0}}.DocSearch-Reset{appearance:none;color:var(--docsearch-icon-color);cursor:pointer;stroke-width:var(--docsearch-icon-stroke-width);background:0 0;border:0;border-radius:50%;padding:2px;animation:.1s ease-in forwards fade-in;right:0}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{width:24px;height:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color)var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:0 0}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{margin:0;padding:0;list-style:none}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{-webkit-user-select:none;user-select:none;margin:0;font-size:.9em}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{color:var(--docsearch-highlight-color);background:0 0}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing);justify-content:center;font-size:.85em;display:flex}.DocSearch-HitsFooter a{color:inherit;border-bottom:1px solid}.DocSearch-Hit{border-radius:4px;padding-bottom:4px;scroll-margin-top:40px;display:flex;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform-origin:top;transition:all .25s linear .25s;transform:scale(0)}.DocSearch-Hit a{background:var(--docsearch-hit-background);box-shadow:var(--docsearch-hit-shadow);padding-left:var(--docsearch-spacing);border-radius:4px;width:100%;display:block}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);z-index:10;margin:0 -4px;padding:8px 4px 0;font-size:.85em;font-weight:600;line-height:32px;position:sticky;top:0}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{-webkit-text-decoration:underline;text-decoration:underline}.DocSearch-Hit-Container{color:var(--docsearch-hit-color);height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing)0 0;flex-direction:row;align-items:center;display:flex}.DocSearch-Hit-icon{width:20px;height:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;width:22px;height:22px;display:flex}.DocSearch-Hit-action svg{width:18px;height:18px;display:block}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{text-overflow:ellipsis;white-space:nowrap;flex-direction:column;flex:auto;justify-content:center;width:80%;margin:0 8px;font-weight:500;line-height:1.2em;display:flex;position:relative;overflow-x:hidden}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{text-align:center;width:80%;margin:0 auto;padding:36px 0;font-size:.9em}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{text-align:left;padding-bottom:24px;display:inline-block}.DocSearch-NoResults-Prefill-List ul{padding:8px 0 0;display:inline-block}.DocSearch-NoResults-Prefill-List li{list-style-type:"» ";list-style-position:inside}.DocSearch-Prefill{appearance:none;color:var(--docsearch-highlight-color);cursor:pointer;background:0 0;border:0;border-radius:1em;padding:0;font-size:1em;font-weight:700;display:inline-block}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;-webkit-text-decoration:underline;text-decoration:underline}.DocSearch-Footer{background:var(--docsearch-footer-background);box-shadow:var(--docsearch-footer-shadow);height:var(--docsearch-footer-height);padding:0 var(--docsearch-spacing);-webkit-user-select:none;user-select:none;z-index:300;border-radius:0 0 8px 8px;flex-direction:row-reverse;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.DocSearch-Commands{color:var(--docsearch-muted-color);margin:0;padding:0;list-style:none;display:flex}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);border:0;border-radius:2px;justify-content:center;align-items:center;width:20px;height:18px;margin-right:.4em;padding:0 0 1px;display:flex}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;position:absolute;bottom:0}.DocSearch-Hit-content-wrapper{width:80%;display:flex;position:relative}.DocSearch-Modal{box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);border-radius:0;width:100%;max-width:100%;margin:0}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{appearance:none;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin-left:var(--docsearch-spacing);-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:0;outline:none;flex:none;padding:0;font-size:1em;font-weight:500;display:inline-block;overflow:hidden}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}:root{--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base)}.DocSearch-Button{transition:all var(--ifm-transition-fast)var(--ifm-transition-timing-default);margin:0}.DocSearch-Container{z-index:calc(var(--ifm-z-index-fixed) + 1)}.apiTable_e8hp{font-size:small}.apiTable_e8hp tbody tr{transition:box-shadow .2s}.apiTable_e8hp tbody tr:focus,.apiTable_e8hp tbody tr:hover{box-shadow:0 0 7px 0 inset var(--ifm-color-warning);cursor:pointer;outline:none;transition:box-shadow .2s}.apiTable_e8hp code{cursor:text}.cardContainer_Uewx{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);transition:all var(--ifm-transition-fast)ease;transition-property:border,box-shadow;box-shadow:0 1.5px 3px rgba(0,0,0,.15)}.cardContainer_Uewx:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px rgba(0,0,0,.2)}.cardContainer_Uewx :last-child{margin-bottom:0}.cardTitle_dwRT{font-size:1.2rem}.cardDescription_mCBT{font-size:.8rem}.docCardListItem_hvcp{margin-bottom:2rem}.docCardListItem_hvcp>*{height:100%}.tabList_Qoir{margin-bottom:var(--ifm-leading)}.tabItem_AQgk{margin-top:0!important}.tabItem_pnkT>:last-child{margin-bottom:0}.browserWindow_my1Q{border:3px solid var(--ifm-color-emphasis-200);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.browserWindowHeader_jXSR{background:var(--ifm-color-emphasis-200);align-items:center;padding:.5rem 1rem;display:flex}.row_KZDM:after{content:"";clear:both;display:table}.buttons_uHc7{white-space:nowrap}.right_oyze{align-self:center;width:10%}[data-theme=light]{--ifm-background-color:#fff}.browserWindowAddressBar_Pd8y{background-color:var(--ifm-background-color);color:var(--ifm-color-gray-800);-webkit-user-select:none;user-select:none;border-radius:12.5px;flex:1 0;margin:0 1rem 0 .5rem;padding:5px 15px;font:400 13px Arial,sans-serif}[data-theme=dark] .browserWindowAddressBar_Pd8y{color:var(--ifm-color-gray-300)}.dot_giz1{background-color:#bbb;border-radius:50%;width:12px;height:12px;margin-top:4px;margin-right:6px;display:inline-block}.browserWindowMenuIcon_Vhuh{margin-left:auto}.bar_rrRL{background-color:#aaa;width:17px;height:3px;margin:3px 0;display:block}.browserWindowBody_Idgs{background-color:var(--ifm-background-color);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:1rem}.browserWindowBody_Idgs>:last-child{margin-bottom:0}.red_FE5X{color:red}.red_FE5X[aria-selected=true]{border-bottom-color:red}.orange_kp8w{color:orange}.orange_kp8w[aria-selected=true]{border-bottom-color:orange}.yellow_uGry{color:#ff0}.yellow_uGry[aria-selected=true]{border-bottom-color:#ff0}.cssCarousel_jWvs{position:relative}.cssCarouselSlider_nIAN{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow:scroll hidden}.cssCarouselItem_GXZ2{scroll-snap-align:start;flex-shrink:0;width:100%;height:100%}.cssCarouselContent_dGP2{width:100%;height:100%;position:relative}.navButton_qSul{color:#fff;width:2.6rem;height:2.6rem;transition:all var(--ifm-transition-fast)var(--ifm-transition-timing-default);background-color:rgba(0,0,0,.3);border:0;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.navButton_qSul:hover{background-color:rgba(0,0,0,.45)}.navButton_qSul.navButtonNext_yu77{right:.1rem}.navButton_qSul.navButtonPrev_SxeT{left:.1rem}.siteSlide_AwQk{position:relative}.siteLink_IglZ{--ifm-link-color:var(--ifm-color-gray-400);transition:all var(--ifm-transition-fast)var(--ifm-transition-timing-default);background-color:rgba(0,0,0,.3);border-radius:6px;padding:0 12px;font-size:16px;position:absolute;bottom:2px;right:2px}.siteLink_IglZ:hover{--ifm-link-color:var(--ifm-color-gray-200);--ifm-link-hover-color:var(--ifm-color-gray-200);--ifm-link-hover-decoration:none;background-color:rgba(0,0,0,.45)}@media only screen and (max-width:768px){.siteLink_IglZ{padding:0 8px;font-size:12px}}.wrappingBlock_S4U4{vertical-align:top;width:50%;padding:5px;display:inline-block}.wrappingBlock_S4U4 code[class^=codeBlockLines]{white-space:pre-wrap}.tableOfContentsInline_2sru ul{font-size:initial;padding-top:0;list-style-type:disc}.tocCollapsibleButton_IbtT{font-size:inherit;justify-content:space-between;align-items:center;width:100%;padding:.4rem .8rem;display:flex}.tocCollapsibleButton_IbtT:after{content:"";background:var(--ifm-menu-link-sublist-icon)50% 50%/2rem 2rem no-repeat;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast);transform:rotate(180deg)}.tocCollapsibleButtonExpanded_Nor3:after{transform:none}.tocCollapsible_BEWm{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_FG8F>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);padding:.2rem 0;font-size:15px}.tocCollapsibleContent_FG8F ul li{margin:.4rem .8rem}.tocCollapsibleContent_FG8F a{display:block}.tocCollapsibleExpanded_FzA_{transform:none}.playgroundContainer_6Ior{margin-bottom:var(--ifm-leading);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-lw);overflow:hidden}.playgroundHeader_Tvsk{letter-spacing:.08rem;text-transform:uppercase;background:var(--ifm-color-emphasis-200);color:var(--ifm-color-content);font-weight:700;font-size:var(--ifm-code-font-size);padding:.75rem}.playgroundHeader_Tvsk:first-of-type{background:var(--ifm-color-emphasis-600);color:var(--ifm-color-content-inverse)}.playgroundEditor_TySg{direction:ltr;font:var(--ifm-code-font-size)/var(--ifm-pre-line-height)var(--ifm-font-family-monospace)!important}.playgroundEditor_TySg pre{border-radius:0}.playgroundPreview_mApW{background-color:var(--ifm-pre-background);padding:1rem}.codeBlockContainer_jDV4{background:var(--prism-background-color);color:var(--prism-color);margin-bottom:var(--ifm-leading);box-shadow:var(--ifm-global-shadow-lw);border-radius:var(--ifm-code-border-radius)}.codeBlockContent_vx7S{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_bdru{border-bottom:1px solid var(--ifm-color-emphasis-300);font-size:var(--ifm-code-font-size);padding:.75rem var(--ifm-pre-padding);border-top-left-radius:inherit;border-top-right-radius:inherit;font-weight:500}.codeBlock_Gebt{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_bdru+.codeBlockContent_vx7S .codeBlock_Gebt{border-top-left-radius:0;border-top-right-radius:0}.codeBlockStandalone_i_cY{padding:0}.codeBlockLines_FJaf{font:inherit;float:left;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_FU9Q{padding:var(--ifm-pre-padding)0;display:table}@media print{.codeBlockLines_FJaf{white-space:pre-wrap}}.buttonGroup_cUGO{-moz-column-gap:.2rem;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2);column-gap:.2rem;display:flex;position:absolute}.buttonGroup_cUGO button{background:var(--prism-background-color);color:var(--prism-color);border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);transition:opacity var(--ifm-transition-fast)ease-in-out;opacity:0;align-items:center;padding:.4rem;line-height:0;display:flex}.buttonGroup_cUGO button:hover{opacity:1!important}.buttonGroup_cUGO button:focus-visible{opacity:1!important}.theme-code-block:hover .buttonGroup_cUGO button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);margin:0 calc(-1*var(--ifm-pre-padding));padding:0 var(--ifm-pre-padding);display:block}.codeLine_qRmp{counter-increment:line-count;display:table-row}.codeLineNumber_dS_J{text-align:right;width:1%;padding:0 var(--ifm-pre-padding);background:var(--ifm-pre-background);overflow-wrap:normal;display:table-cell;position:sticky;left:0}.codeLineNumber_dS_J:before{content:counter(line-count);opacity:.4}.theme-code-block-highlighted-line .codeLineNumber_dS_J:before{opacity:.8}.codeLineContent_XF5l{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_OkN_{opacity:1!important}.copyButtonIcons_OqsO{width:1.125rem;height:1.125rem;position:relative}.copyButtonIcon_PgCn,.copyButtonSuccessIcon_bsQG{fill:currentColor;opacity:inherit;width:inherit;height:inherit;transition:all var(--ifm-transition-fast)ease;position:absolute;top:0;left:0}.copyButtonSuccessIcon_bsQG{opacity:0;color:#00d600;top:50%;left:50%;transform:translate(-50%,-50%)scale(.33)}.copyButtonCopied_OkN_ .copyButtonIcon_PgCn{opacity:0;transform:scale(.33)}.copyButtonCopied_OkN_ .copyButtonSuccessIcon_bsQG{opacity:1;transition-delay:75ms;transform:translate(-50%,-50%)scale(1)}:root{--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.tag_Nd8t{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_Nd8t:hover{--docusaurus-tag-list-border:var(--ifm-link-color);-webkit-text-decoration:none;text-decoration:none}.tagRegular_TiLs{border-radius:var(--ifm-global-radius);padding:.2rem .5rem .3rem;font-size:90%}.tagWithCount_AQg7{border-left:0;align-items:center;padding:0 .5rem 0 1rem;display:flex;position:relative}.tagWithCount_AQg7:before,.tagWithCount_AQg7:after{content:"";border:1px solid var(--docusaurus-tag-list-border);transition:inherit;position:absolute;top:50%}.tagWithCount_AQg7:before{border-bottom:0;border-right:0;width:1.18rem;height:1.18rem;right:100%;transform:translate(50%,-50%)rotate(-45deg)}.tagWithCount_AQg7:after{border-radius:50%;width:.5rem;height:.5rem;left:0;transform:translateY(-50%)}.tagWithCount_AQg7 span{background:var(--ifm-color-secondary);color:var(--ifm-color-black);border-radius:var(--ifm-global-radius);margin-left:.3rem;padding:.1rem .4rem;font-size:.7rem;line-height:1.2}.tag_SyQ5{margin:.5rem .5rem 0 1rem;display:inline-block}.wordWrapButtonIcon_MQXS{width:1.2rem;height:1.2rem}.wordWrapButtonEnabled_TBIH .wordWrapButtonIcon_MQXS{color:var(--ifm-color-primary)}.details_Nokh{--docusaurus-details-summary-arrow-size:.38rem;--docusaurus-details-transition:transform .2s ease;--docusaurus-details-decoration-color:grey}.details_Nokh>summary{cursor:pointer;padding-left:1rem;list-style:none;position:relative}.details_Nokh>summary::-webkit-details-marker{display:none}.details_Nokh>summary:before{content:"";border-width:var(--docusaurus-details-summary-arrow-size);border-style:solid;border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);transition:var(--docusaurus-details-transition);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2)50%;position:absolute;top:.45rem;left:0;transform:rotate(0)}.details_Nokh[open]:not(.isBrowser_QrB5)>summary:before,.details_Nokh[data-collapsed=false].isBrowser_QrB5>summary:before{transform:rotate(90deg)}.collapsibleContent_EoA1{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.collapsibleContent_EoA1 p:last-child,.details_Nokh>summary>p:last-child{margin-bottom:0}.details_Cn_P{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast)ease;margin:0 0 var(--ifm-spacing-vertical);border:1px solid var(--ifm-alert-border-color)}.tags_rTaS{display:inline}.tag_l5va{margin:0 .4rem .5rem 0;display:inline-block}.iconEdit_IMw_{vertical-align:sub;margin-right:.3em}.image_oRbT{object-fit:cover;width:100%;height:100%}.containsTaskList_k9gM{list-style:none}:not(.containsTaskList_k9gM>li)>.containsTaskList_k9gM{padding-left:0}.authorCol_mDBc{max-width:inherit!important;flex-grow:1!important}.imageOnlyAuthorRow_WiD6{flex-flow:wrap;display:flex}.imageOnlyAuthorCol_uiac{margin-left:.3rem;margin-right:.3rem}.imageOnlyAuthorCol_uiac [class^=image]{background-color:var(--ifm-color-emphasis-100)}.toggleButton_WvRg{width:var(--ifm-avatar-photo-size);height:var(--ifm-avatar-photo-size);background-color:var(--ifm-color-emphasis-100);border-radius:50%;margin-left:.3rem;margin-right:.3rem}.toggleButtonIconExpanded_ERxv{transform:rotate(180deg)}.img_vXGZ{height:auto}.changelogItemTitleList_sueG{font-size:2rem}.admonition_o5H7{margin-bottom:1em}.admonitionHeading_FzoX{font:var(--ifm-heading-font-weight)var(--ifm-h5-font-size)/var(--ifm-heading-line-height)var(--ifm-heading-font-family);text-transform:uppercase}.admonitionHeading_FzoX:not(:last-child){margin-bottom:.3rem}.admonitionHeading_FzoX code{text-transform:none}.admonitionIcon_rXq6{vertical-align:middle;margin-right:.4em;display:inline-block}.admonitionIcon_rXq6 svg{width:1.6em;height:1.6em;fill:var(--ifm-alert-foreground-color);display:inline-block}.admonitionContent_Knsx>:last-child{margin-bottom:0}.color_mVUL{vertical-align:middle;border-radius:.5rem;width:2rem;height:2rem;display:inline-block}.input_HUC3{border-color:var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);border-style:solid;border-width:var(--ifm-global-border-width);font-size:var(--ifm-font-size-base);padding:.5rem}.colorInput_C1YB{border-color:var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);border-style:solid;border-width:var(--ifm-global-border-width);height:2.25rem;position:relative;top:7px}.colorTable_Js7s{font-size:small}.container_RUsj,.container_RUsj>svg{max-width:100%}.lastUpdated_OHCJ{margin-top:.2rem;font-size:smaller;font-style:italic}@media (min-width:997px){.lastUpdated_OHCJ{text-align:right}.tocMobile_NSfz{display:none}}@media print{.tocMobile_NSfz{display:none}}.tweetQuote_h8Rz{--ifm-link-color:var(--ifm-color-emphasis-900);--ifm-link-hover-color:var(--ifm-color-emphasis-900);margin:3rem 1rem;padding:0}.tweetQuote_h8Rz blockquote{text-align:center;border:none;margin-bottom:.6rem;font-size:1.2rem;font-weight:200;line-height:1.4;position:relative}.tweetQuote_h8Rz .avatar__subtitle{margin-top:0}.tweetQuote_h8Rz blockquote:before,.tweetQuote_h8Rz blockquote:after{color:#f1efe6;width:3rem;height:3rem;font-family:cursive;font-size:6rem;line-height:1;position:absolute}.tweetQuote_h8Rz blockquote:before{content:"“";top:-1.1rem;left:-2.4rem}.tweetQuote_h8Rz blockquote:after{content:"”";bottom:-1.1rem;right:-1.6rem}[data-theme=dark] .tweetQuote_h8Rz blockquote:before,[data-theme=dark] .tweetQuote_h8Rz blockquote:after{color:#3b3b3b}.tweetQuote_h8Rz p{display:inline}.tweetQuote_h8Rz .avatarImg_b51M{width:42px;height:42px}.changelogItemContainer_jeDt{margin-bottom:1rem}.tableOfContents_RLlU{max-height:calc(100vh - (var(--ifm-navbar-height) + 2rem));top:calc(var(--ifm-navbar-height) + 1rem);position:sticky;overflow-y:auto}@media (max-width:996px){.tableOfContents_RLlU{display:none}.docItemContainer_oucX{padding:0 .3rem}}.rss_fOa_,.rss_fOa_:hover{color:#f26522}.x_RTSd,.x_RTSd:hover{color:#1da1f2}.breadcrumbHomeIcon_uaSn{vertical-align:top;width:1.1rem;height:1.1rem;position:relative;top:1px}.breadcrumbsContainer_Wvrh{--ifm-breadcrumb-size-multiplier:.8;margin-bottom:.8rem}@media (min-width:997px){.generatedIndexPage_hs4p{max-width:75%!important}}.title_tRie{--ifm-h1-font-size:3rem;margin-bottom:calc(1.25*var(--ifm-leading))}.footerTip_UBUV{margin-top:var(--ifm-paragraph-margin-bottom);font-size:.8rem}.docItemContainer_RhpI header+*,.docItemContainer_RhpI article>:first-child{margin-top:0}@media (min-width:997px){.docItemCol_n6xZ{max-width:75%!important}}.mdxPageWrapper_bWhk{justify-content:center} \ No newline at end of file diff --git a/assets/css/styles.ed840bfb.css b/assets/css/styles.ed840bfb.css deleted file mode 100644 index eb3147aafa..0000000000 --- a/assets/css/styles.ed840bfb.css +++ /dev/null @@ -1 +0,0 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_x9TT,html{-webkit-tap-highlight-color:transparent}.authorSocials_tPnL,.authorTitle_Slpj{-webkit-box-orient:vertical;overflow:hidden}.clean-list,.containsTaskList_k9gM,.details_Nokh>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 256 256"><g><g><polygon points="79.093,0 48.907,30.187 146.72,128 48.907,225.813 79.093,256 207.093,128"/></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg>');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 24 24"><path fill="rgba(0,0,0,0.5)" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" height="16px" width="16px"><path d="M6.02945,10.20327a4.17382,4.17382,0,1,1,4.17382-4.17382A4.15609,4.15609,0,0,1,6.02945,10.20327Zm9.69195,4.2199L10.8989,9.59979A5.88021,5.88021,0,0,0,12.058,6.02856,6.00467,6.00467,0,1,0,9.59979,10.8989l4.82338,4.82338a.89729.89729,0,0,0,1.29912,0,.89749.89749,0,0,0-.00087-1.29909Z" /></svg>');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#2e8555;--ifm-color-primary-dark:#29784c;--ifm-color-primary-darker:#277148;--ifm-color-primary-darkest:#205d3b;--ifm-color-primary-light:#33925d;--ifm-color-primary-lighter:#359962;--ifm-color-primary-lightest:#3cad6e;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-blog-social-icon-size:1rem;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}*{box-sizing:border-box}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_zaS2,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){-webkit-text-decoration:none;text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_TBIH .wordWrapButtonIcon_MQXS{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_FzoX,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.dropdown__link--active,.dropdown__link:hover,.menu__link:hover,.navbar__brand:hover,.navbar__link--active,.navbar__link:hover,.pagination-nav__link:hover,.pagination__link:hover,.sidebarItemLink_Qrfg:hover,.tag_Nd8t:hover{-webkit-text-decoration:none;text-decoration:none}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);-webkit-text-decoration:none;text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_dS_J:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.sidebar_P3nc,.tableOfContents_RLlU{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color)}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_RhpI article>:first-child,.docItemContainer_RhpI header+*,.footer__item{margin-top:0}.admonitionContent_Knsx>:last-child,.cardContainer_Uewx :last-child,.collapsibleContent_EoA1 p:last-child,.details_Nokh>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_i_cY,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_UBNu{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_Nokh[data-collapsed=false].isBrowser_QrB5>summary:before,.details_Nokh[open]:not(.isBrowser_QrB5)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color)}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color)}.announcementBarContent_PjqA,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.docCardListItem_hvcp>*,.navbar__logo img,body,html{height:100%}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color)}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover)}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.sidebarItemTitle_VrjY,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_k9gM>li)>.containsTaskList_k9gM{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-color-primary:#25c2a0;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#29d5b0;--ifm-color-primary-lighter:#32d8b4;--ifm-color-primary-lightest:#4fddbf;--docusaurus-highlighted-code-line-bg:#0000004d}.backToTopButton_PuQw{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_PuQw:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_YSA3{opacity:1;transform:scale(1);visibility:visible}.skipToContent_UHvc{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_UHvc:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_nmpN{line-height:0;padding:0}.content_ttnW{font-size:85%;padding:5px 0;text-align:center}.content_ttnW a{color:inherit;-webkit-text-decoration:underline;text-decoration:underline}.announcementBar_cTOO{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_S51O,.navbarSearchContainer_dDCC:empty,.sidebarLogo_UK0N,.themedComponent_bJGS,[data-theme=dark] .lightToggleIcon_dnYY,[data-theme=light] .darkToggleIcon_OBbf,html[data-announcement-bar-initially-dismissed=true] .announcementBar_cTOO{display:none}.announcementBarPlaceholder_Lqfg{flex:0 0 10px}.announcementBarClose_UFLi{align-self:stretch;flex:0 0 30px}.toggle_bT41{height:2rem;width:2rem}.toggleButton_x9TT{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_x9TT:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_Dj8q{cursor:not-allowed}.darkNavbarColorModeToggle_JF8j:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_jnGk,[data-theme=light] .themedComponent--light_LEkC,html:not([data-theme]) .themedComponent--light_LEkC{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PUyN{display:none;margin:0}.iconExternalLink_Rdzz{margin-left:.3rem}.docMainContainer_EfwR,.docRoot_kBZ6{display:flex;width:100%}.docsWrapper_lLmf{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_A1en{cursor:pointer}.iconLanguage_tqOs{margin-right:5px;vertical-align:text-bottom}.navbarHideable_uAgx{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_QgM6{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_rP1m{color:red;white-space:pre-wrap}.errorBoundaryFallback_heah{color:red;padding:.55rem}.footerLogoLink_CiM_{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_CiM_:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.anchorWithStickyNavbar_rB0w{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_SSbb{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_PEsc{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_P3nc{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_VrjY{font-size:var(--ifm-h3-font-size)}.container_x5Un,.sidebarItemList_OSkG{font-size:.9rem}.sidebarItem_WJ0y{margin-top:.7rem}.sidebarItemLink_Qrfg{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_nUeK{color:var(--ifm-color-primary)!important}.yearGroupHeading_lECJ{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_Ruz9{margin:1rem .75rem .5rem}.cardContainer_Uewx{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 #00000026;transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_Uewx:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 #0003}.cardTitle_dwRT{font-size:1.2rem}.cardDescription_mCBT{font-size:.8rem}.docCardListItem_hvcp{margin-bottom:2rem}.features_t9lD{align-items:center;display:flex;padding:2rem 0;width:100%}.featureSvg_GfXr{height:200px;width:200px}.authorSocialIcon_hTX6,.authorSocialLink_hEWM,.authorSocials_tPnL{height:var(--docusaurus-blog-social-icon-size)}.authorSocialIcon_hTX6,.authorSocialLink_hEWM{width:var(--docusaurus-blog-social-icon-size)}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.buttons_AeoN{align-items:center;display:flex;justify-content:center}[data-theme=dark] .githubSvg_jqE4,[data-theme=dark] .instagramSvg_Svcp,[data-theme=dark] .threadsSvg_kngY,[data-theme=dark] .xSvg_Q0g7{fill:var(--light)}[data-theme=light] .githubSvg_jqE4,[data-theme=light] .instagramSvg_Svcp,[data-theme=light] .threadsSvg_kngY,[data-theme=light] .xSvg_Q0g7{fill:var(--dark)}.authorSocials_tPnL{align-items:center;display:flex;flex-wrap:wrap;line-clamp:1;-webkit-line-clamp:1}.authorSocialLink_hEWM,.authorSocials_tPnL{line-height:0}.authorSocialLink_hEWM{margin-right:.4rem}.authorImage_p8ow{--ifm-avatar-photo-size:3.6rem}.author-as-h1_Pd3R .authorImage_p8ow{--ifm-avatar-photo-size:7rem}.author-as-h2_UaZL .authorImage_p8ow{--ifm-avatar-photo-size:5.4rem}.authorDetails_dWdF{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_Y8Hr{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_Pd3R .authorName_Y8Hr{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_UaZL .authorName_Y8Hr{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_Slpj{display:-webkit-box;font-size:.8rem;line-height:1rem;line-clamp:1;-webkit-line-clamp:1}.author-as-h1_Pd3R .authorTitle_Slpj{font-size:1.2rem;line-height:1.6rem}.author-as-h2_UaZL .authorTitle_Slpj{font-size:1rem;line-height:1.3rem}.authorBlogPostCount_FxU_{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.buttonGroup_cUGO button,.codeBlockContainer_jDV4{background:var(--prism-background-color);color:var(--prism-color)}.authorCol_bvyx{max-width:inherit!important}.imageOnlyAuthorRow_L2DM{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_oyze{margin-left:.3rem;margin-right:.3rem}.authorListItem_Y1Zl{list-style-type:none;margin-bottom:2rem}.codeBlockContainer_jDV4{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_vx7S{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_bdru{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_Gebt{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_bdru+.codeBlockContent_vx7S .codeBlock_Gebt{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_FJaf{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_FU9Q{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_cUGO{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_cUGO button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_cUGO button:focus-visible,.buttonGroup_cUGO button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_cUGO button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_qRmp{counter-increment:a;display:table-row}.codeLineNumber_dS_J{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_dS_J:before{content:counter(a);opacity:.4}.codeLineContent_XF5l{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_OkN_{opacity:1!important}.copyButtonIcons_OqsO{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_PgCn,.copyButtonSuccessIcon_bsQG{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_bsQG{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_OkN_ .copyButtonIcon_PgCn{opacity:0;transform:scale(.33)}.copyButtonCopied_OkN_ .copyButtonSuccessIcon_bsQG{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tag_Nd8t{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_Nd8t:hover{--docusaurus-tag-list-border:var(--ifm-link-color)}.tagRegular_TiLs{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_AQg7{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_AQg7:after,.tagWithCount_AQg7:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_AQg7:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_AQg7:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_AQg7 span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_SyQ5{display:inline-block;margin:.5rem .5rem 0 1rem}.wordWrapButtonIcon_MQXS{height:1.2rem;width:1.2rem}.tags_rTaS{display:inline}.tag_l5va{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_IMw_{margin-right:.3em;vertical-align:sub}.details_Nokh{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_Nokh>summary{cursor:pointer;padding-left:1rem;position:relative}.details_Nokh>summary::-webkit-details-marker{display:none}.details_Nokh>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_EoA1{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.lastUpdated_OHCJ{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_IbtT{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_IbtT:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_Nor3:after,.tocCollapsibleExpanded_FzA_{transform:none}.tocCollapsible_BEWm{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_FG8F>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_FG8F ul li{margin:.4rem .8rem}.tocCollapsibleContent_FG8F a{display:block}.details_Cn_P{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_vXGZ{height:auto}.tableOfContents_RLlU{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_o5H7{margin-bottom:1em}.admonitionHeading_FzoX{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_FzoX:not(:last-child){margin-bottom:.3rem}.admonitionHeading_FzoX code{text-transform:none}.admonitionIcon_rXq6{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_rXq6 svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_uaSn{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Wvrh{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_tRie{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}.mdxPageWrapper_bWhk{justify-content:center}@media (min-width:997px){.collapseSidebarButton_PUyN,.expandButton_ockD{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_UFLi,.announcementBarPlaceholder_Lqfg{flex-basis:50px}.collapseSidebarButton_PUyN{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_DI0B{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_H1n0,[dir=rtl] .collapseSidebarButtonIcon_DI0B{transform:rotate(0)}.collapseSidebarButton_PUyN:focus,.collapseSidebarButton_PUyN:hover,.expandButton_ockD:focus,.expandButton_ockD:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_t1vY{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_rWGR{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_rWGR{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_Pf08{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_vtcw{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_tZ9s{padding-top:0}.sidebarHidden_PrHU{opacity:0;visibility:hidden}.sidebarLogo_UK0N{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);-webkit-text-decoration:none!important;text-decoration:none!important}.sidebarLogo_UK0N img{height:2rem;margin-right:.5rem}.expandButton_ockD{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_H1n0{transform:rotate(180deg)}.docSidebarContainer_S51O{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_gbDM{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_K3q9{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_EfwR{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_r8nV{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_nA1F{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_dDCC{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_OHCJ{text-align:right}.tocMobile_NSfz{display:none}.docItemCol_n6xZ,.generatedIndexPage_hs4p{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_UolE,.footer__link-separator,.navbar__item,.sidebar_P3nc,.tableOfContents_RLlU{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block;width:max-content}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_dDCC{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_oucX{padding:0 .3rem}}@media screen and (max-width:996px){.heroBanner_qdFl{padding:2rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_UBNu{font-size:2rem}}@media (hover:hover){.backToTopButton_PuQw:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_cTOO,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_NSfz{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_FJaf{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/files/_script-505c7abc900c36ef533a0383a80d96a4.js b/assets/files/_script-505c7abc900c36ef533a0383a80d96a4.js new file mode 100644 index 0000000000..e152b57dd5 --- /dev/null +++ b/assets/files/_script-505c7abc900c36ef533a0383a80d96a4.js @@ -0,0 +1 @@ +export default 1; \ No newline at end of file diff --git a/assets/files/data-4e0ce03654809ab2cf0049cf88b37a04.json b/assets/files/data-4e0ce03654809ab2cf0049cf88b37a04.json new file mode 100644 index 0000000000..f2a886f39d --- /dev/null +++ b/assets/files/data-4e0ce03654809ab2cf0049cf88b37a04.json @@ -0,0 +1,3 @@ +{ + "hello": "world" +} diff --git a/assets/files/docusaurus-asset-example-93ea653de6d8636f7254aecab1adbcce.docx b/assets/files/docusaurus-asset-example-93ea653de6d8636f7254aecab1adbcce.docx new file mode 100644 index 0000000000..3c51aea4e7 Binary files /dev/null and b/assets/files/docusaurus-asset-example-93ea653de6d8636f7254aecab1adbcce.docx differ diff --git a/assets/files/image with spaces-e8e4adf44ac06f25e961f7a71a6d0f90.png b/assets/files/image with spaces-e8e4adf44ac06f25e961f7a71a6d0f90.png new file mode 100644 index 0000000000..f458149e3c Binary files /dev/null and b/assets/files/image with spaces-e8e4adf44ac06f25e961f7a71a6d0f90.png differ diff --git a/assets/files/someFile-aef54daa5b1fe3359942dac7ade1daae.pdf b/assets/files/someFile-aef54daa5b1fe3359942dac7ade1daae.pdf new file mode 100644 index 0000000000..188262276a Binary files /dev/null and b/assets/files/someFile-aef54daa5b1fe3359942dac7ade1daae.pdf differ diff --git a/assets/files/someFile-aef54daa5b1fe3359942dac7ade1daae.xyz b/assets/files/someFile-aef54daa5b1fe3359942dac7ade1daae.xyz new file mode 100644 index 0000000000..188262276a Binary files /dev/null and b/assets/files/someFile-aef54daa5b1fe3359942dac7ade1daae.xyz differ diff --git a/assets/ideal-img/30-days-swa.5998a43.640.png b/assets/ideal-img/30-days-swa.5998a43.640.png new file mode 100644 index 0000000000..c7293f6a62 Binary files /dev/null and b/assets/ideal-img/30-days-swa.5998a43.640.png differ diff --git a/assets/ideal-img/404lab-wiki.a798790.640.png b/assets/ideal-img/404lab-wiki.a798790.640.png new file mode 100644 index 0000000000..d30947a35c Binary files /dev/null and b/assets/ideal-img/404lab-wiki.a798790.640.png differ diff --git a/assets/ideal-img/SeaORM.3689cfe.640.png b/assets/ideal-img/SeaORM.3689cfe.640.png new file mode 100644 index 0000000000..b9066959aa Binary files /dev/null and b/assets/ideal-img/SeaORM.3689cfe.640.png differ diff --git a/assets/ideal-img/SeaQL-blog.87b75ae.640.png b/assets/ideal-img/SeaQL-blog.87b75ae.640.png new file mode 100644 index 0000000000..1f2ae782f9 Binary files /dev/null and b/assets/ideal-img/SeaQL-blog.87b75ae.640.png differ diff --git a/assets/ideal-img/Seaography.e83e618.1030.png b/assets/ideal-img/Seaography.e83e618.1030.png new file mode 100644 index 0000000000..03069b2d84 Binary files /dev/null and b/assets/ideal-img/Seaography.e83e618.1030.png differ diff --git a/assets/ideal-img/Seaography.f559a33.640.png b/assets/ideal-img/Seaography.f559a33.640.png new file mode 100644 index 0000000000..63694876a3 Binary files /dev/null and b/assets/ideal-img/Seaography.f559a33.640.png differ diff --git a/assets/ideal-img/aispeaker.9b3a67d.640.png b/assets/ideal-img/aispeaker.9b3a67d.640.png new file mode 100644 index 0000000000..7f48ca686f Binary files /dev/null and b/assets/ideal-img/aispeaker.9b3a67d.640.png differ diff --git a/assets/ideal-img/akara-blog.fa4aeef.640.png b/assets/ideal-img/akara-blog.fa4aeef.640.png new file mode 100644 index 0000000000..fb25456d4e Binary files /dev/null and b/assets/ideal-img/akara-blog.fa4aeef.640.png differ diff --git a/assets/ideal-img/algolia.1026fe5.640.png b/assets/ideal-img/algolia.1026fe5.640.png new file mode 100644 index 0000000000..3d45f9f218 Binary files /dev/null and b/assets/ideal-img/algolia.1026fe5.640.png differ diff --git a/assets/ideal-img/apache-apisix.4cfaaa0.640.png b/assets/ideal-img/apache-apisix.4cfaaa0.640.png new file mode 100644 index 0000000000..53b4706f3f Binary files /dev/null and b/assets/ideal-img/apache-apisix.4cfaaa0.640.png differ diff --git a/assets/ideal-img/apexfp.30f2810.640.png b/assets/ideal-img/apexfp.30f2810.640.png new file mode 100644 index 0000000000..8683022b28 Binary files /dev/null and b/assets/ideal-img/apexfp.30f2810.640.png differ diff --git a/assets/ideal-img/astronomer.518c296.640.png b/assets/ideal-img/astronomer.518c296.640.png new file mode 100644 index 0000000000..11f95f0375 Binary files /dev/null and b/assets/ideal-img/astronomer.518c296.640.png differ diff --git a/assets/ideal-img/aventus.2558333.640.png b/assets/ideal-img/aventus.2558333.640.png new file mode 100644 index 0000000000..1036ee8ec0 Binary files /dev/null and b/assets/ideal-img/aventus.2558333.640.png differ diff --git a/assets/ideal-img/awe-framework.ebbe093.640.png b/assets/ideal-img/awe-framework.ebbe093.640.png new file mode 100644 index 0000000000..d20708109e Binary files /dev/null and b/assets/ideal-img/awe-framework.ebbe093.640.png differ diff --git a/assets/ideal-img/babel.3669cfa.1030.png b/assets/ideal-img/babel.3669cfa.1030.png new file mode 100644 index 0000000000..e7b908bd37 Binary files /dev/null and b/assets/ideal-img/babel.3669cfa.1030.png differ diff --git a/assets/ideal-img/babel.cbc364a.640.png b/assets/ideal-img/babel.cbc364a.640.png new file mode 100644 index 0000000000..cf0faed2d9 Binary files /dev/null and b/assets/ideal-img/babel.cbc364a.640.png differ diff --git a/assets/ideal-img/bandwidth.3bba8de.640.png b/assets/ideal-img/bandwidth.3bba8de.640.png new file mode 100644 index 0000000000..6497ef5680 Binary files /dev/null and b/assets/ideal-img/bandwidth.3bba8de.640.png differ diff --git a/assets/ideal-img/blogasaurus.131d869.640.png b/assets/ideal-img/blogasaurus.131d869.640.png new file mode 100644 index 0000000000..240ef3ac76 Binary files /dev/null and b/assets/ideal-img/blogasaurus.131d869.640.png differ diff --git a/assets/ideal-img/blogmatheusbrunelli.25df20d.640.png b/assets/ideal-img/blogmatheusbrunelli.25df20d.640.png new file mode 100644 index 0000000000..8cdb65989a Binary files /dev/null and b/assets/ideal-img/blogmatheusbrunelli.25df20d.640.png differ diff --git a/assets/ideal-img/botonic.490cc23.640.png b/assets/ideal-img/botonic.490cc23.640.png new file mode 100644 index 0000000000..70aa00fa2d Binary files /dev/null and b/assets/ideal-img/botonic.490cc23.640.png differ diff --git a/assets/ideal-img/boxyhq.47f65c6.640.png b/assets/ideal-img/boxyhq.47f65c6.640.png new file mode 100644 index 0000000000..90cd3d958f Binary files /dev/null and b/assets/ideal-img/boxyhq.47f65c6.640.png differ diff --git a/assets/ideal-img/brainboard.dc2f0ef.640.png b/assets/ideal-img/brainboard.dc2f0ef.640.png new file mode 100644 index 0000000000..dd3aa08ec7 Binary files /dev/null and b/assets/ideal-img/brainboard.dc2f0ef.640.png differ diff --git a/assets/ideal-img/bruce-wiki.7c81c24.640.png b/assets/ideal-img/bruce-wiki.7c81c24.640.png new file mode 100644 index 0000000000..76e15fa1ea Binary files /dev/null and b/assets/ideal-img/bruce-wiki.7c81c24.640.png differ diff --git a/assets/ideal-img/build-tracker.a2c891b.640.png b/assets/ideal-img/build-tracker.a2c891b.640.png new file mode 100644 index 0000000000..04834f1ae6 Binary files /dev/null and b/assets/ideal-img/build-tracker.a2c891b.640.png differ diff --git a/assets/ideal-img/chaos-mesh.ce27e61.640.png b/assets/ideal-img/chaos-mesh.ce27e61.640.png new file mode 100644 index 0000000000..53e10e055e Binary files /dev/null and b/assets/ideal-img/chaos-mesh.ce27e61.640.png differ diff --git a/assets/ideal-img/chatkitty.8b63ca4.640.png b/assets/ideal-img/chatkitty.8b63ca4.640.png new file mode 100644 index 0000000000..0cb30653f0 Binary files /dev/null and b/assets/ideal-img/chatkitty.8b63ca4.640.png differ diff --git a/assets/ideal-img/christopher-chedeau.a975949.200.jpg b/assets/ideal-img/christopher-chedeau.a975949.200.jpg new file mode 100644 index 0000000000..1ae4a22cb1 Binary files /dev/null and b/assets/ideal-img/christopher-chedeau.a975949.200.jpg differ diff --git a/assets/ideal-img/claritychallenge.a97961e.640.png b/assets/ideal-img/claritychallenge.a97961e.640.png new file mode 100644 index 0000000000..ab80b081a4 Binary files /dev/null and b/assets/ideal-img/claritychallenge.a97961e.640.png differ diff --git a/assets/ideal-img/clutch.5ea7b21.640.png b/assets/ideal-img/clutch.5ea7b21.640.png new file mode 100644 index 0000000000..194a759ab9 Binary files /dev/null and b/assets/ideal-img/clutch.5ea7b21.640.png differ diff --git a/assets/ideal-img/codesandbox.36984ff.1030.png b/assets/ideal-img/codesandbox.36984ff.1030.png new file mode 100644 index 0000000000..38f0b4fcb1 Binary files /dev/null and b/assets/ideal-img/codesandbox.36984ff.1030.png differ diff --git a/assets/ideal-img/codesandbox.7906bc4.640.png b/assets/ideal-img/codesandbox.7906bc4.640.png new file mode 100644 index 0000000000..09991f1d1d Binary files /dev/null and b/assets/ideal-img/codesandbox.7906bc4.640.png differ diff --git a/assets/ideal-img/componentkit.e9c410d.640.png b/assets/ideal-img/componentkit.e9c410d.640.png new file mode 100644 index 0000000000..62cca5e20c Binary files /dev/null and b/assets/ideal-img/componentkit.e9c410d.640.png differ diff --git a/assets/ideal-img/configcat.b032f10.640.png b/assets/ideal-img/configcat.b032f10.640.png new file mode 100644 index 0000000000..a735ff2345 Binary files /dev/null and b/assets/ideal-img/configcat.b032f10.640.png differ diff --git a/assets/ideal-img/console-table.e6c02bc.640.png b/assets/ideal-img/console-table.e6c02bc.640.png new file mode 100644 index 0000000000..d543f2d7e5 Binary files /dev/null and b/assets/ideal-img/console-table.e6c02bc.640.png differ diff --git a/assets/ideal-img/countrystatecity.17c80b9.640.png b/assets/ideal-img/countrystatecity.17c80b9.640.png new file mode 100644 index 0000000000..8635c2559d Binary files /dev/null and b/assets/ideal-img/countrystatecity.17c80b9.640.png differ diff --git a/assets/ideal-img/courier.e9b71f4.640.png b/assets/ideal-img/courier.e9b71f4.640.png new file mode 100644 index 0000000000..40a471a45a Binary files /dev/null and b/assets/ideal-img/courier.e9b71f4.640.png differ diff --git a/assets/ideal-img/courier.f8addf0.1030.png b/assets/ideal-img/courier.f8addf0.1030.png new file mode 100644 index 0000000000..cc197c4de7 Binary files /dev/null and b/assets/ideal-img/courier.f8addf0.1030.png differ diff --git a/assets/ideal-img/create-react-app.fef9db2.640.png b/assets/ideal-img/create-react-app.fef9db2.640.png new file mode 100644 index 0000000000..379ec77011 Binary files /dev/null and b/assets/ideal-img/create-react-app.fef9db2.640.png differ diff --git a/assets/ideal-img/daily-digest-covid-19-in-france.c4b02fa.640.png b/assets/ideal-img/daily-digest-covid-19-in-france.c4b02fa.640.png new file mode 100644 index 0000000000..a000e99efb Binary files /dev/null and b/assets/ideal-img/daily-digest-covid-19-in-france.c4b02fa.640.png differ diff --git a/assets/ideal-img/dart-code-metrics.743ae99.640.png b/assets/ideal-img/dart-code-metrics.743ae99.640.png new file mode 100644 index 0000000000..55af113169 Binary files /dev/null and b/assets/ideal-img/dart-code-metrics.743ae99.640.png differ diff --git a/assets/ideal-img/datagit.66c812e.640.png b/assets/ideal-img/datagit.66c812e.640.png new file mode 100644 index 0000000000..c42475496f Binary files /dev/null and b/assets/ideal-img/datagit.66c812e.640.png differ diff --git a/assets/ideal-img/datagit.98630dd.640.png b/assets/ideal-img/datagit.98630dd.640.png new file mode 100644 index 0000000000..6eac7a0a7e Binary files /dev/null and b/assets/ideal-img/datagit.98630dd.640.png differ diff --git a/assets/ideal-img/datagit.afeea1f.1030.png b/assets/ideal-img/datagit.afeea1f.1030.png new file mode 100644 index 0000000000..2a61346bba Binary files /dev/null and b/assets/ideal-img/datagit.afeea1f.1030.png differ diff --git a/assets/ideal-img/devspace.2172f32.640.png b/assets/ideal-img/devspace.2172f32.640.png new file mode 100644 index 0000000000..e337ee56d2 Binary files /dev/null and b/assets/ideal-img/devspace.2172f32.640.png differ diff --git a/assets/ideal-img/difranca-technotes.d372d00.640.png b/assets/ideal-img/difranca-technotes.d372d00.640.png new file mode 100644 index 0000000000..fe45ac40b3 Binary files /dev/null and b/assets/ideal-img/difranca-technotes.d372d00.640.png differ diff --git a/assets/ideal-img/digitalsupportservices.8bec178.640.png b/assets/ideal-img/digitalsupportservices.8bec178.640.png new file mode 100644 index 0000000000..431ac67f4a Binary files /dev/null and b/assets/ideal-img/digitalsupportservices.8bec178.640.png differ diff --git a/assets/ideal-img/discordresources.139806f.640.png b/assets/ideal-img/discordresources.139806f.640.png new file mode 100644 index 0000000000..f61d004258 Binary files /dev/null and b/assets/ideal-img/discordresources.139806f.640.png differ diff --git a/assets/ideal-img/divine-wsf.1383446.640.png b/assets/ideal-img/divine-wsf.1383446.640.png new file mode 100644 index 0000000000..4e8e21793b Binary files /dev/null and b/assets/ideal-img/divine-wsf.1383446.640.png differ diff --git a/assets/ideal-img/djamaile.ce89e41.640.png b/assets/ideal-img/djamaile.ce89e41.640.png new file mode 100644 index 0000000000..521714bf6d Binary files /dev/null and b/assets/ideal-img/djamaile.ce89e41.640.png differ diff --git a/assets/ideal-img/docs-taro-zone.4128894.640.png b/assets/ideal-img/docs-taro-zone.4128894.640.png new file mode 100644 index 0000000000..85260c8add Binary files /dev/null and b/assets/ideal-img/docs-taro-zone.4128894.640.png differ diff --git a/assets/ideal-img/docusaurus.2ad1782.640.png b/assets/ideal-img/docusaurus.2ad1782.640.png new file mode 100644 index 0000000000..c0fe6f4d03 Binary files /dev/null and b/assets/ideal-img/docusaurus.2ad1782.640.png differ diff --git a/assets/ideal-img/docusaurus.30c6ff4.200.png b/assets/ideal-img/docusaurus.30c6ff4.200.png new file mode 100644 index 0000000000..a2fd538428 Binary files /dev/null and b/assets/ideal-img/docusaurus.30c6ff4.200.png differ diff --git a/assets/ideal-img/docusaurus.ba4280f.1030.png b/assets/ideal-img/docusaurus.ba4280f.1030.png new file mode 100644 index 0000000000..d08860b5b3 Binary files /dev/null and b/assets/ideal-img/docusaurus.ba4280f.1030.png differ diff --git a/assets/ideal-img/draftjs.fa1fa2c.640.png b/assets/ideal-img/draftjs.fa1fa2c.640.png new file mode 100644 index 0000000000..d7fab55351 Binary files /dev/null and b/assets/ideal-img/draftjs.fa1fa2c.640.png differ diff --git a/assets/ideal-img/drayman.2a10050.640.png b/assets/ideal-img/drayman.2a10050.640.png new file mode 100644 index 0000000000..1f04e4b35f Binary files /dev/null and b/assets/ideal-img/drayman.2a10050.640.png differ diff --git a/assets/ideal-img/dyte.9d967ec.1030.png b/assets/ideal-img/dyte.9d967ec.1030.png new file mode 100644 index 0000000000..ba5152f809 Binary files /dev/null and b/assets/ideal-img/dyte.9d967ec.1030.png differ diff --git a/assets/ideal-img/dyte.b411d0a.640.png b/assets/ideal-img/dyte.b411d0a.640.png new file mode 100644 index 0000000000..ab7d12a550 Binary files /dev/null and b/assets/ideal-img/dyte.b411d0a.640.png differ diff --git a/assets/ideal-img/dyte.e38fb86.640.png b/assets/ideal-img/dyte.e38fb86.640.png new file mode 100644 index 0000000000..091b65bf96 Binary files /dev/null and b/assets/ideal-img/dyte.e38fb86.640.png differ diff --git a/assets/ideal-img/easy-dates.0e365a3.640.png b/assets/ideal-img/easy-dates.0e365a3.640.png new file mode 100644 index 0000000000..3c9dc370d7 Binary files /dev/null and b/assets/ideal-img/easy-dates.0e365a3.640.png differ diff --git a/assets/ideal-img/easypanel.8a82942.640.png b/assets/ideal-img/easypanel.8a82942.640.png new file mode 100644 index 0000000000..cce1defbdf Binary files /dev/null and b/assets/ideal-img/easypanel.8a82942.640.png differ diff --git a/assets/ideal-img/eightshift-docs.f62c92a.640.png b/assets/ideal-img/eightshift-docs.f62c92a.640.png new file mode 100644 index 0000000000..2760b1e9b3 Binary files /dev/null and b/assets/ideal-img/eightshift-docs.f62c92a.640.png differ diff --git a/assets/ideal-img/enarx.00b80ef.640.png b/assets/ideal-img/enarx.00b80ef.640.png new file mode 100644 index 0000000000..fa135240f9 Binary files /dev/null and b/assets/ideal-img/enarx.00b80ef.640.png differ diff --git a/assets/ideal-img/eta.d4ad230.640.png b/assets/ideal-img/eta.d4ad230.640.png new file mode 100644 index 0000000000..ebcf516243 Binary files /dev/null and b/assets/ideal-img/eta.d4ad230.640.png differ diff --git a/assets/ideal-img/evantay.860ee52.640.png b/assets/ideal-img/evantay.860ee52.640.png new file mode 100644 index 0000000000..94639a536a Binary files /dev/null and b/assets/ideal-img/evantay.860ee52.640.png differ diff --git a/assets/ideal-img/evershop.8191c3b.640.png b/assets/ideal-img/evershop.8191c3b.640.png new file mode 100644 index 0000000000..f54e3b182d Binary files /dev/null and b/assets/ideal-img/evershop.8191c3b.640.png differ diff --git a/assets/ideal-img/fast.0ae7f4a.640.png b/assets/ideal-img/fast.0ae7f4a.640.png new file mode 100644 index 0000000000..51a596e48d Binary files /dev/null and b/assets/ideal-img/fast.0ae7f4a.640.png differ diff --git a/assets/ideal-img/fbt.bd0bb42.640.png b/assets/ideal-img/fbt.bd0bb42.640.png new file mode 100644 index 0000000000..284e2e771f Binary files /dev/null and b/assets/ideal-img/fbt.bd0bb42.640.png differ diff --git a/assets/ideal-img/figma.4b79b06.1030.png b/assets/ideal-img/figma.4b79b06.1030.png new file mode 100644 index 0000000000..174b9ad0ce Binary files /dev/null and b/assets/ideal-img/figma.4b79b06.1030.png differ diff --git a/assets/ideal-img/figma.e023b25.640.png b/assets/ideal-img/figma.e023b25.640.png new file mode 100644 index 0000000000..ca25350f8d Binary files /dev/null and b/assets/ideal-img/figma.e023b25.640.png differ diff --git a/assets/ideal-img/files-gallery.2a1b0a5.640.png b/assets/ideal-img/files-gallery.2a1b0a5.640.png new file mode 100644 index 0000000000..8231add004 Binary files /dev/null and b/assets/ideal-img/files-gallery.2a1b0a5.640.png differ diff --git a/assets/ideal-img/firecms.397a0b4.640.png b/assets/ideal-img/firecms.397a0b4.640.png new file mode 100644 index 0000000000..eccb12b24f Binary files /dev/null and b/assets/ideal-img/firecms.397a0b4.640.png differ diff --git a/assets/ideal-img/firelordjs.6aeb4bb.640.png b/assets/ideal-img/firelordjs.6aeb4bb.640.png new file mode 100644 index 0000000000..e00735feda Binary files /dev/null and b/assets/ideal-img/firelordjs.6aeb4bb.640.png differ diff --git a/assets/ideal-img/flagsmith.7352c6f.640.png b/assets/ideal-img/flagsmith.7352c6f.640.png new file mode 100644 index 0000000000..2f58d845b6 Binary files /dev/null and b/assets/ideal-img/flagsmith.7352c6f.640.png differ diff --git a/assets/ideal-img/flarum.9df1dfc.640.png b/assets/ideal-img/flarum.9df1dfc.640.png new file mode 100644 index 0000000000..ae303df66c Binary files /dev/null and b/assets/ideal-img/flarum.9df1dfc.640.png differ diff --git a/assets/ideal-img/flatifycss.59a8c4b.640.png b/assets/ideal-img/flatifycss.59a8c4b.640.png new file mode 100644 index 0000000000..e6bae5a4b3 Binary files /dev/null and b/assets/ideal-img/flatifycss.59a8c4b.640.png differ diff --git a/assets/ideal-img/flexit.2ce7ee4.640.png b/assets/ideal-img/flexit.2ce7ee4.640.png new file mode 100644 index 0000000000..09fa79c031 Binary files /dev/null and b/assets/ideal-img/flexit.2ce7ee4.640.png differ diff --git a/assets/ideal-img/flipper.d76f593.640.png b/assets/ideal-img/flipper.d76f593.640.png new file mode 100644 index 0000000000..5c718bee5b Binary files /dev/null and b/assets/ideal-img/flipper.d76f593.640.png differ diff --git a/assets/ideal-img/foal.b78c0b5.640.png b/assets/ideal-img/foal.b78c0b5.640.png new file mode 100644 index 0000000000..1e1302a84a Binary files /dev/null and b/assets/ideal-img/foal.b78c0b5.640.png differ diff --git a/assets/ideal-img/formatjs.8b177b4.640.png b/assets/ideal-img/formatjs.8b177b4.640.png new file mode 100644 index 0000000000..cfd026221f Binary files /dev/null and b/assets/ideal-img/formatjs.8b177b4.640.png differ diff --git a/assets/ideal-img/froggit.98d3eb5.640.png b/assets/ideal-img/froggit.98d3eb5.640.png new file mode 100644 index 0000000000..9153188239 Binary files /dev/null and b/assets/ideal-img/froggit.98d3eb5.640.png differ diff --git a/assets/ideal-img/fullstackchronicles.8555d28.640.png b/assets/ideal-img/fullstackchronicles.8555d28.640.png new file mode 100644 index 0000000000..6e5a013cd4 Binary files /dev/null and b/assets/ideal-img/fullstackchronicles.8555d28.640.png differ diff --git a/assets/ideal-img/geekyweb.1fb2ba5.640.png b/assets/ideal-img/geekyweb.1fb2ba5.640.png new file mode 100644 index 0000000000..749eff47b8 Binary files /dev/null and b/assets/ideal-img/geekyweb.1fb2ba5.640.png differ diff --git a/assets/ideal-img/ghostly.3483a80.640.png b/assets/ideal-img/ghostly.3483a80.640.png new file mode 100644 index 0000000000..0bbac749ba Binary files /dev/null and b/assets/ideal-img/ghostly.3483a80.640.png differ diff --git a/assets/ideal-img/gladys-assistant.3a2f16d.640.png b/assets/ideal-img/gladys-assistant.3a2f16d.640.png new file mode 100644 index 0000000000..d8095e1656 Binary files /dev/null and b/assets/ideal-img/gladys-assistant.3a2f16d.640.png differ diff --git a/assets/ideal-img/gotenberg.8438a59.640.png b/assets/ideal-img/gotenberg.8438a59.640.png new file mode 100644 index 0000000000..fc4073b2d3 Binary files /dev/null and b/assets/ideal-img/gotenberg.8438a59.640.png differ diff --git a/assets/ideal-img/gtfs-to-html.30b9720.640.png b/assets/ideal-img/gtfs-to-html.30b9720.640.png new file mode 100644 index 0000000000..9e5520e92b Binary files /dev/null and b/assets/ideal-img/gtfs-to-html.30b9720.640.png differ diff --git a/assets/ideal-img/gulp.271084d.640.png b/assets/ideal-img/gulp.271084d.640.png new file mode 100644 index 0000000000..a47d43ddda Binary files /dev/null and b/assets/ideal-img/gulp.271084d.640.png differ diff --git a/assets/ideal-img/gulp.645374a.640.png b/assets/ideal-img/gulp.645374a.640.png new file mode 100644 index 0000000000..3f04c1b07a Binary files /dev/null and b/assets/ideal-img/gulp.645374a.640.png differ diff --git a/assets/ideal-img/gulp.f298c97.1030.png b/assets/ideal-img/gulp.f298c97.1030.png new file mode 100644 index 0000000000..677ae4b7a7 Binary files /dev/null and b/assets/ideal-img/gulp.f298c97.1030.png differ diff --git a/assets/ideal-img/haochen.9457bda.640.png b/assets/ideal-img/haochen.9457bda.640.png new file mode 100644 index 0000000000..a37939cefe Binary files /dev/null and b/assets/ideal-img/haochen.9457bda.640.png differ diff --git a/assets/ideal-img/hasura.226d6d3.1030.png b/assets/ideal-img/hasura.226d6d3.1030.png new file mode 100644 index 0000000000..bc05bfd591 Binary files /dev/null and b/assets/ideal-img/hasura.226d6d3.1030.png differ diff --git a/assets/ideal-img/hasura.c70224c.640.png b/assets/ideal-img/hasura.c70224c.640.png new file mode 100644 index 0000000000..cb54342366 Binary files /dev/null and b/assets/ideal-img/hasura.c70224c.640.png differ diff --git a/assets/ideal-img/hasura.e4f3ebd.640.png b/assets/ideal-img/hasura.e4f3ebd.640.png new file mode 100644 index 0000000000..2a26bc65a1 Binary files /dev/null and b/assets/ideal-img/hasura.e4f3ebd.640.png differ diff --git a/assets/ideal-img/hcaptcha.7920b6e.640.png b/assets/ideal-img/hcaptcha.7920b6e.640.png new file mode 100644 index 0000000000..4d8d4d6a10 Binary files /dev/null and b/assets/ideal-img/hcaptcha.7920b6e.640.png differ diff --git a/assets/ideal-img/hector-ramos.957d17a.200.jpg b/assets/ideal-img/hector-ramos.957d17a.200.jpg new file mode 100644 index 0000000000..c2e3704683 Binary files /dev/null and b/assets/ideal-img/hector-ramos.957d17a.200.jpg differ diff --git a/assets/ideal-img/home-assistant.788cbed.640.png b/assets/ideal-img/home-assistant.788cbed.640.png new file mode 100644 index 0000000000..1d4b8f0d9f Binary files /dev/null and b/assets/ideal-img/home-assistant.788cbed.640.png differ diff --git a/assets/ideal-img/httpin.f5bb102.640.png b/assets/ideal-img/httpin.f5bb102.640.png new file mode 100644 index 0000000000..dc930cb575 Binary files /dev/null and b/assets/ideal-img/httpin.f5bb102.640.png differ diff --git a/assets/ideal-img/iammassoud.c9bc935.640.png b/assets/ideal-img/iammassoud.c9bc935.640.png new file mode 100644 index 0000000000..9224ce10dc Binary files /dev/null and b/assets/ideal-img/iammassoud.c9bc935.640.png differ diff --git a/assets/ideal-img/icodex.7bc16f0.640.png b/assets/ideal-img/icodex.7bc16f0.640.png new file mode 100644 index 0000000000..967182f83d Binary files /dev/null and b/assets/ideal-img/icodex.7bc16f0.640.png differ diff --git a/assets/ideal-img/idb.f15a346.640.png b/assets/ideal-img/idb.f15a346.640.png new file mode 100644 index 0000000000..c345bc927c Binary files /dev/null and b/assets/ideal-img/idb.f15a346.640.png differ diff --git a/assets/ideal-img/indent.03ca0e4.640.png b/assets/ideal-img/indent.03ca0e4.640.png new file mode 100644 index 0000000000..63ac6506fa Binary files /dev/null and b/assets/ideal-img/indent.03ca0e4.640.png differ diff --git a/assets/ideal-img/intelagent.23a4185.640.png b/assets/ideal-img/intelagent.23a4185.640.png new file mode 100644 index 0000000000..383696aa5c Binary files /dev/null and b/assets/ideal-img/intelagent.23a4185.640.png differ diff --git a/assets/ideal-img/ionic.2d0c265.640.png b/assets/ideal-img/ionic.2d0c265.640.png new file mode 100644 index 0000000000..af632f6f3a Binary files /dev/null and b/assets/ideal-img/ionic.2d0c265.640.png differ diff --git a/assets/ideal-img/ionic.7f10b53.640.png b/assets/ideal-img/ionic.7f10b53.640.png new file mode 100644 index 0000000000..4e2d4250d0 Binary files /dev/null and b/assets/ideal-img/ionic.7f10b53.640.png differ diff --git a/assets/ideal-img/ionic.cd19b49.1030.png b/assets/ideal-img/ionic.cd19b49.1030.png new file mode 100644 index 0000000000..d26b7a8a92 Binary files /dev/null and b/assets/ideal-img/ionic.cd19b49.1030.png differ diff --git a/assets/ideal-img/iota-wiki.e8059ba.640.png b/assets/ideal-img/iota-wiki.e8059ba.640.png new file mode 100644 index 0000000000..9c07da195d Binary files /dev/null and b/assets/ideal-img/iota-wiki.e8059ba.640.png differ diff --git a/assets/ideal-img/iota.117672c.1030.png b/assets/ideal-img/iota.117672c.1030.png new file mode 100644 index 0000000000..1c42009260 Binary files /dev/null and b/assets/ideal-img/iota.117672c.1030.png differ diff --git a/assets/ideal-img/iota.95754da.640.png b/assets/ideal-img/iota.95754da.640.png new file mode 100644 index 0000000000..e2d6387d18 Binary files /dev/null and b/assets/ideal-img/iota.95754da.640.png differ diff --git a/assets/ideal-img/jest.1b37285.640.png b/assets/ideal-img/jest.1b37285.640.png new file mode 100644 index 0000000000..93a485691c Binary files /dev/null and b/assets/ideal-img/jest.1b37285.640.png differ diff --git a/assets/ideal-img/johnnyreilly.804510e.640.png b/assets/ideal-img/johnnyreilly.804510e.640.png new file mode 100644 index 0000000000..0a838500f9 Binary files /dev/null and b/assets/ideal-img/johnnyreilly.804510e.640.png differ diff --git a/assets/ideal-img/juffalow.5b729a2.640.png b/assets/ideal-img/juffalow.5b729a2.640.png new file mode 100644 index 0000000000..5e82d66f4f Binary files /dev/null and b/assets/ideal-img/juffalow.5b729a2.640.png differ diff --git a/assets/ideal-img/junjie.2d467cb.640.png b/assets/ideal-img/junjie.2d467cb.640.png new file mode 100644 index 0000000000..a92d7aca0f Binary files /dev/null and b/assets/ideal-img/junjie.2d467cb.640.png differ diff --git a/assets/ideal-img/katex.2b3ecc9.640.png b/assets/ideal-img/katex.2b3ecc9.640.png new file mode 100644 index 0000000000..b269148a11 Binary files /dev/null and b/assets/ideal-img/katex.2b3ecc9.640.png differ diff --git a/assets/ideal-img/katex.91ac937.1030.png b/assets/ideal-img/katex.91ac937.1030.png new file mode 100644 index 0000000000..71f33068ab Binary files /dev/null and b/assets/ideal-img/katex.91ac937.1030.png differ diff --git a/assets/ideal-img/kosko.5ef7dee.640.png b/assets/ideal-img/kosko.5ef7dee.640.png new file mode 100644 index 0000000000..474c9cf93e Binary files /dev/null and b/assets/ideal-img/kosko.5ef7dee.640.png differ diff --git a/assets/ideal-img/kotest.8fc12e6.640.png b/assets/ideal-img/kotest.8fc12e6.640.png new file mode 100644 index 0000000000..0dd78348ab Binary files /dev/null and b/assets/ideal-img/kotest.8fc12e6.640.png differ diff --git a/assets/ideal-img/kube-green.8703c7e.640.png b/assets/ideal-img/kube-green.8703c7e.640.png new file mode 100644 index 0000000000..a2df2be6e0 Binary files /dev/null and b/assets/ideal-img/kube-green.8703c7e.640.png differ diff --git a/assets/ideal-img/kubevela.92a4a07.640.png b/assets/ideal-img/kubevela.92a4a07.640.png new file mode 100644 index 0000000000..3faca97137 Binary files /dev/null and b/assets/ideal-img/kubevela.92a4a07.640.png differ diff --git a/assets/ideal-img/kuizuo.9ead77a.640.png b/assets/ideal-img/kuizuo.9ead77a.640.png new file mode 100644 index 0000000000..507dc1b06e Binary files /dev/null and b/assets/ideal-img/kuizuo.9ead77a.640.png differ diff --git a/assets/ideal-img/kwatch.f5025fd.640.png b/assets/ideal-img/kwatch.f5025fd.640.png new file mode 100644 index 0000000000..a7957f77ac Binary files /dev/null and b/assets/ideal-img/kwatch.f5025fd.640.png differ diff --git a/assets/ideal-img/labviewbook.09efd5c.640.png b/assets/ideal-img/labviewbook.09efd5c.640.png new file mode 100644 index 0000000000..6245a9b385 Binary files /dev/null and b/assets/ideal-img/labviewbook.09efd5c.640.png differ diff --git a/assets/ideal-img/lacework.33303f9.1030.png b/assets/ideal-img/lacework.33303f9.1030.png new file mode 100644 index 0000000000..2d7f9650cd Binary files /dev/null and b/assets/ideal-img/lacework.33303f9.1030.png differ diff --git a/assets/ideal-img/lacework.dfc8aa5.640.png b/assets/ideal-img/lacework.dfc8aa5.640.png new file mode 100644 index 0000000000..3f846e303a Binary files /dev/null and b/assets/ideal-img/lacework.dfc8aa5.640.png differ diff --git a/assets/ideal-img/leedom.c24f772.640.png b/assets/ideal-img/leedom.c24f772.640.png new file mode 100644 index 0000000000..0754a78956 Binary files /dev/null and b/assets/ideal-img/leedom.c24f772.640.png differ diff --git a/assets/ideal-img/leon.e9f7ad7.640.png b/assets/ideal-img/leon.e9f7ad7.640.png new file mode 100644 index 0000000000..ae9519ef8a Binary files /dev/null and b/assets/ideal-img/leon.e9f7ad7.640.png differ diff --git a/assets/ideal-img/lerna.bac875c.640.png b/assets/ideal-img/lerna.bac875c.640.png new file mode 100644 index 0000000000..4a51360d88 Binary files /dev/null and b/assets/ideal-img/lerna.bac875c.640.png differ diff --git a/assets/ideal-img/liqvid.62ea992.640.png b/assets/ideal-img/liqvid.62ea992.640.png new file mode 100644 index 0000000000..97bd30112a Binary files /dev/null and b/assets/ideal-img/liqvid.62ea992.640.png differ diff --git a/assets/ideal-img/mailgo.6622027.640.png b/assets/ideal-img/mailgo.6622027.640.png new file mode 100644 index 0000000000..3b0ddabcdd Binary files /dev/null and b/assets/ideal-img/mailgo.6622027.640.png differ diff --git a/assets/ideal-img/mapillaryjs.c920a4d.640.png b/assets/ideal-img/mapillaryjs.c920a4d.640.png new file mode 100644 index 0000000000..bd0e6e0978 Binary files /dev/null and b/assets/ideal-img/mapillaryjs.c920a4d.640.png differ diff --git a/assets/ideal-img/metro.819d4d9.640.png b/assets/ideal-img/metro.819d4d9.640.png new file mode 100644 index 0000000000..234952dc48 Binary files /dev/null and b/assets/ideal-img/metro.819d4d9.640.png differ diff --git a/assets/ideal-img/mia-platform.07f67c9.640.png b/assets/ideal-img/mia-platform.07f67c9.640.png new file mode 100644 index 0000000000..e4758095d9 Binary files /dev/null and b/assets/ideal-img/mia-platform.07f67c9.640.png differ diff --git a/assets/ideal-img/mikro-orm.076e48f.640.png b/assets/ideal-img/mikro-orm.076e48f.640.png new file mode 100644 index 0000000000..063cd65187 Binary files /dev/null and b/assets/ideal-img/mikro-orm.076e48f.640.png differ diff --git a/assets/ideal-img/mintmetrics.110e4fb.640.png b/assets/ideal-img/mintmetrics.110e4fb.640.png new file mode 100644 index 0000000000..63ead1fe99 Binary files /dev/null and b/assets/ideal-img/mintmetrics.110e4fb.640.png differ diff --git a/assets/ideal-img/mixcore.104f89c.640.png b/assets/ideal-img/mixcore.104f89c.640.png new file mode 100644 index 0000000000..f0bf1d504a Binary files /dev/null and b/assets/ideal-img/mixcore.104f89c.640.png differ diff --git a/assets/ideal-img/mojaglobal.f352329.640.png b/assets/ideal-img/mojaglobal.f352329.640.png new file mode 100644 index 0000000000..2d607002c6 Binary files /dev/null and b/assets/ideal-img/mojaglobal.f352329.640.png differ diff --git a/assets/ideal-img/molecule-home.d6f656f.640.png b/assets/ideal-img/molecule-home.d6f656f.640.png new file mode 100644 index 0000000000..38dc15d4dd Binary files /dev/null and b/assets/ideal-img/molecule-home.d6f656f.640.png differ diff --git a/assets/ideal-img/nanos-world.c07a3c3.640.png b/assets/ideal-img/nanos-world.c07a3c3.640.png new file mode 100644 index 0000000000..519c296dd3 Binary files /dev/null and b/assets/ideal-img/nanos-world.c07a3c3.640.png differ diff --git a/assets/ideal-img/netbootxyz.99f29c3.640.png b/assets/ideal-img/netbootxyz.99f29c3.640.png new file mode 100644 index 0000000000..9e9047944d Binary files /dev/null and b/assets/ideal-img/netbootxyz.99f29c3.640.png differ diff --git a/assets/ideal-img/netdata.26ed367.640.png b/assets/ideal-img/netdata.26ed367.640.png new file mode 100644 index 0000000000..96042822d7 Binary files /dev/null and b/assets/ideal-img/netdata.26ed367.640.png differ diff --git a/assets/ideal-img/nextauthjs.1839cd2.640.png b/assets/ideal-img/nextauthjs.1839cd2.640.png new file mode 100644 index 0000000000..4809889c06 Binary files /dev/null and b/assets/ideal-img/nextauthjs.1839cd2.640.png differ diff --git a/assets/ideal-img/nocalhost.08648cc.640.png b/assets/ideal-img/nocalhost.08648cc.640.png new file mode 100644 index 0000000000..da0f0fc169 Binary files /dev/null and b/assets/ideal-img/nocalhost.08648cc.640.png differ diff --git a/assets/ideal-img/node-serialport.7e5ad57.640.png b/assets/ideal-img/node-serialport.7e5ad57.640.png new file mode 100644 index 0000000000..d4c09d3196 Binary files /dev/null and b/assets/ideal-img/node-serialport.7e5ad57.640.png differ diff --git a/assets/ideal-img/orbitjs.47a9e4b.640.png b/assets/ideal-img/orbitjs.47a9e4b.640.png new file mode 100644 index 0000000000..54695649ba Binary files /dev/null and b/assets/ideal-img/orbitjs.47a9e4b.640.png differ diff --git a/assets/ideal-img/ory.88aed7d.640.png b/assets/ideal-img/ory.88aed7d.640.png new file mode 100644 index 0000000000..e20244586c Binary files /dev/null and b/assets/ideal-img/ory.88aed7d.640.png differ diff --git a/assets/ideal-img/ossinsight.2bc0207.640.png b/assets/ideal-img/ossinsight.2bc0207.640.png new file mode 100644 index 0000000000..6981a14c5e Binary files /dev/null and b/assets/ideal-img/ossinsight.2bc0207.640.png differ diff --git a/assets/ideal-img/outerbounds.17abaf6.1030.png b/assets/ideal-img/outerbounds.17abaf6.1030.png new file mode 100644 index 0000000000..e90ace5da9 Binary files /dev/null and b/assets/ideal-img/outerbounds.17abaf6.1030.png differ diff --git a/assets/ideal-img/outerbounds.7fa8be7.640.png b/assets/ideal-img/outerbounds.7fa8be7.640.png new file mode 100644 index 0000000000..6fc471ea92 Binary files /dev/null and b/assets/ideal-img/outerbounds.7fa8be7.640.png differ diff --git a/assets/ideal-img/oxidizer.fdb3527.640.png b/assets/ideal-img/oxidizer.fdb3527.640.png new file mode 100644 index 0000000000..c65e81b7ad Binary files /dev/null and b/assets/ideal-img/oxidizer.fdb3527.640.png differ diff --git a/assets/ideal-img/paubox.6ed886c.640.png b/assets/ideal-img/paubox.6ed886c.640.png new file mode 100644 index 0000000000..1968065f48 Binary files /dev/null and b/assets/ideal-img/paubox.6ed886c.640.png differ diff --git a/assets/ideal-img/pcapplusplus.e7e5e36.640.png b/assets/ideal-img/pcapplusplus.e7e5e36.640.png new file mode 100644 index 0000000000..fcf8e885f3 Binary files /dev/null and b/assets/ideal-img/pcapplusplus.e7e5e36.640.png differ diff --git a/assets/ideal-img/pcc-archive.95bb6a8.640.png b/assets/ideal-img/pcc-archive.95bb6a8.640.png new file mode 100644 index 0000000000..978b68e7d1 Binary files /dev/null and b/assets/ideal-img/pcc-archive.95bb6a8.640.png differ diff --git a/assets/ideal-img/pdfme.5401819.640.png b/assets/ideal-img/pdfme.5401819.640.png new file mode 100644 index 0000000000..fceb5cdca2 Binary files /dev/null and b/assets/ideal-img/pdfme.5401819.640.png differ diff --git a/assets/ideal-img/pearl-ui.d9a8f9a.640.png b/assets/ideal-img/pearl-ui.d9a8f9a.640.png new file mode 100644 index 0000000000..cfb233bb6c Binary files /dev/null and b/assets/ideal-img/pearl-ui.d9a8f9a.640.png differ diff --git a/assets/ideal-img/pglet.6bda7f2.640.png b/assets/ideal-img/pglet.6bda7f2.640.png new file mode 100644 index 0000000000..8958f9633d Binary files /dev/null and b/assets/ideal-img/pglet.6bda7f2.640.png differ diff --git a/assets/ideal-img/piano-analytics.3fec018.640.png b/assets/ideal-img/piano-analytics.3fec018.640.png new file mode 100644 index 0000000000..24b01cb547 Binary files /dev/null and b/assets/ideal-img/piano-analytics.3fec018.640.png differ diff --git a/assets/ideal-img/plausible.7cf9cc1.640.png b/assets/ideal-img/plausible.7cf9cc1.640.png new file mode 100644 index 0000000000..9ce732d870 Binary files /dev/null and b/assets/ideal-img/plausible.7cf9cc1.640.png differ diff --git a/assets/ideal-img/pnpm.03bd84d.640.png b/assets/ideal-img/pnpm.03bd84d.640.png new file mode 100644 index 0000000000..b57e1d14bf Binary files /dev/null and b/assets/ideal-img/pnpm.03bd84d.640.png differ diff --git a/assets/ideal-img/postgres-ai.58fb7f3.640.png b/assets/ideal-img/postgres-ai.58fb7f3.640.png new file mode 100644 index 0000000000..2dc9ad53f3 Binary files /dev/null and b/assets/ideal-img/postgres-ai.58fb7f3.640.png differ diff --git a/assets/ideal-img/pptxgenjs.0e9d4a9.640.png b/assets/ideal-img/pptxgenjs.0e9d4a9.640.png new file mode 100644 index 0000000000..41ec7234ee Binary files /dev/null and b/assets/ideal-img/pptxgenjs.0e9d4a9.640.png differ diff --git a/assets/ideal-img/prefs.52dfad3.640.png b/assets/ideal-img/prefs.52dfad3.640.png new file mode 100644 index 0000000000..55fe03daf3 Binary files /dev/null and b/assets/ideal-img/prefs.52dfad3.640.png differ diff --git a/assets/ideal-img/prettier.0987194.640.png b/assets/ideal-img/prettier.0987194.640.png new file mode 100644 index 0000000000..cc5575300d Binary files /dev/null and b/assets/ideal-img/prettier.0987194.640.png differ diff --git a/assets/ideal-img/prettier.ac62bde.1030.png b/assets/ideal-img/prettier.ac62bde.1030.png new file mode 100644 index 0000000000..7552bcdd32 Binary files /dev/null and b/assets/ideal-img/prettier.ac62bde.1030.png differ diff --git a/assets/ideal-img/prismatic.94c6eb2.640.png b/assets/ideal-img/prismatic.94c6eb2.640.png new file mode 100644 index 0000000000..e7b4d49a63 Binary files /dev/null and b/assets/ideal-img/prismatic.94c6eb2.640.png differ diff --git a/assets/ideal-img/pyre.dbf3985.640.png b/assets/ideal-img/pyre.dbf3985.640.png new file mode 100644 index 0000000000..f44e395870 Binary files /dev/null and b/assets/ideal-img/pyre.dbf3985.640.png differ diff --git a/assets/ideal-img/qa-board.e69f237.640.png b/assets/ideal-img/qa-board.e69f237.640.png new file mode 100644 index 0000000000..3530e10b17 Binary files /dev/null and b/assets/ideal-img/qa-board.e69f237.640.png differ diff --git a/assets/ideal-img/quickwit.6c3662e.640.png b/assets/ideal-img/quickwit.6c3662e.640.png new file mode 100644 index 0000000000..953887312d Binary files /dev/null and b/assets/ideal-img/quickwit.6c3662e.640.png differ diff --git a/assets/ideal-img/quickwit.aae4257.640.png b/assets/ideal-img/quickwit.aae4257.640.png new file mode 100644 index 0000000000..a350c76360 Binary files /dev/null and b/assets/ideal-img/quickwit.aae4257.640.png differ diff --git a/assets/ideal-img/quickwit.e851c05.1030.png b/assets/ideal-img/quickwit.e851c05.1030.png new file mode 100644 index 0000000000..cf9c349df7 Binary files /dev/null and b/assets/ideal-img/quickwit.e851c05.1030.png differ diff --git a/assets/ideal-img/raspisuite.eef0654.640.png b/assets/ideal-img/raspisuite.eef0654.640.png new file mode 100644 index 0000000000..492cd03c58 Binary files /dev/null and b/assets/ideal-img/raspisuite.eef0654.640.png differ diff --git a/assets/ideal-img/react-chat-elements.a3cbd16.640.png b/assets/ideal-img/react-chat-elements.a3cbd16.640.png new file mode 100644 index 0000000000..0842e65bbf Binary files /dev/null and b/assets/ideal-img/react-chat-elements.a3cbd16.640.png differ diff --git a/assets/ideal-img/react-complex-tree.855e860.640.png b/assets/ideal-img/react-complex-tree.855e860.640.png new file mode 100644 index 0000000000..8518ffa3ad Binary files /dev/null and b/assets/ideal-img/react-complex-tree.855e860.640.png differ diff --git a/assets/ideal-img/react-leaflet.b34b28a.640.png b/assets/ideal-img/react-leaflet.b34b28a.640.png new file mode 100644 index 0000000000..173a0a5420 Binary files /dev/null and b/assets/ideal-img/react-leaflet.b34b28a.640.png differ diff --git a/assets/ideal-img/react-native-elements.e0e5730.640.png b/assets/ideal-img/react-native-elements.e0e5730.640.png new file mode 100644 index 0000000000..e450729428 Binary files /dev/null and b/assets/ideal-img/react-native-elements.e0e5730.640.png differ diff --git a/assets/ideal-img/react-native-ios-kit.826c0be.640.png b/assets/ideal-img/react-native-ios-kit.826c0be.640.png new file mode 100644 index 0000000000..dba0ab5b95 Binary files /dev/null and b/assets/ideal-img/react-native-ios-kit.826c0be.640.png differ diff --git a/assets/ideal-img/react-native-reanimated.9a05caf.640.png b/assets/ideal-img/react-native-reanimated.9a05caf.640.png new file mode 100644 index 0000000000..05edf63d12 Binary files /dev/null and b/assets/ideal-img/react-native-reanimated.9a05caf.640.png differ diff --git a/assets/ideal-img/react-native.02f5343.1030.png b/assets/ideal-img/react-native.02f5343.1030.png new file mode 100644 index 0000000000..1922df06f6 Binary files /dev/null and b/assets/ideal-img/react-native.02f5343.1030.png differ diff --git a/assets/ideal-img/react-native.8cebf9a.1030.png b/assets/ideal-img/react-native.8cebf9a.1030.png new file mode 100644 index 0000000000..f0533d578e Binary files /dev/null and b/assets/ideal-img/react-native.8cebf9a.1030.png differ diff --git a/assets/ideal-img/react-native.9ad7a23.640.png b/assets/ideal-img/react-native.9ad7a23.640.png new file mode 100644 index 0000000000..4d144ffbc6 Binary files /dev/null and b/assets/ideal-img/react-native.9ad7a23.640.png differ diff --git a/assets/ideal-img/react-native.e8025ec.640.png b/assets/ideal-img/react-native.e8025ec.640.png new file mode 100644 index 0000000000..f9d07e3b83 Binary files /dev/null and b/assets/ideal-img/react-native.e8025ec.640.png differ diff --git a/assets/ideal-img/react-navigation.1b40364.640.png b/assets/ideal-img/react-navigation.1b40364.640.png new file mode 100644 index 0000000000..2a32563537 Binary files /dev/null and b/assets/ideal-img/react-navigation.1b40364.640.png differ diff --git a/assets/ideal-img/react-navigation.2b1912f.640.png b/assets/ideal-img/react-navigation.2b1912f.640.png new file mode 100644 index 0000000000..7bc299ecf6 Binary files /dev/null and b/assets/ideal-img/react-navigation.2b1912f.640.png differ diff --git a/assets/ideal-img/react-navigation.a6b28c6.1030.png b/assets/ideal-img/react-navigation.a6b28c6.1030.png new file mode 100644 index 0000000000..a1ca7746ad Binary files /dev/null and b/assets/ideal-img/react-navigation.a6b28c6.1030.png differ diff --git a/assets/ideal-img/react-redux.8e65759.640.png b/assets/ideal-img/react-redux.8e65759.640.png new file mode 100644 index 0000000000..e5cd46d793 Binary files /dev/null and b/assets/ideal-img/react-redux.8e65759.640.png differ diff --git a/assets/ideal-img/reactive-button.8f3a6b5.640.png b/assets/ideal-img/reactive-button.8f3a6b5.640.png new file mode 100644 index 0000000000..b507c8888e Binary files /dev/null and b/assets/ideal-img/reactive-button.8f3a6b5.640.png differ diff --git a/assets/ideal-img/reactnative-aria.814ffad.640.png b/assets/ideal-img/reactnative-aria.814ffad.640.png new file mode 100644 index 0000000000..30160bc3aa Binary files /dev/null and b/assets/ideal-img/reactnative-aria.814ffad.640.png differ diff --git a/assets/ideal-img/reactnative.c4784cb.640.png b/assets/ideal-img/reactnative.c4784cb.640.png new file mode 100644 index 0000000000..7917adf38b Binary files /dev/null and b/assets/ideal-img/reactnative.c4784cb.640.png differ diff --git a/assets/ideal-img/reactnativeboilerplate.ac124af.640.png b/assets/ideal-img/reactnativeboilerplate.ac124af.640.png new file mode 100644 index 0000000000..97c4ae9ae7 Binary files /dev/null and b/assets/ideal-img/reactnativeboilerplate.ac124af.640.png differ diff --git a/assets/ideal-img/realtime-apps-workshop.beb2c0c.640.png b/assets/ideal-img/realtime-apps-workshop.beb2c0c.640.png new file mode 100644 index 0000000000..754eea3dde Binary files /dev/null and b/assets/ideal-img/realtime-apps-workshop.beb2c0c.640.png differ diff --git a/assets/ideal-img/reddit-image-fetcher.acb4fa2.640.png b/assets/ideal-img/reddit-image-fetcher.acb4fa2.640.png new file mode 100644 index 0000000000..fd23ad0480 Binary files /dev/null and b/assets/ideal-img/reddit-image-fetcher.acb4fa2.640.png differ diff --git a/assets/ideal-img/redux-cool.f4b970d.640.png b/assets/ideal-img/redux-cool.f4b970d.640.png new file mode 100644 index 0000000000..bf0636e901 Binary files /dev/null and b/assets/ideal-img/redux-cool.f4b970d.640.png differ diff --git a/assets/ideal-img/redux.63d3e7f.640.png b/assets/ideal-img/redux.63d3e7f.640.png new file mode 100644 index 0000000000..bb84e2441f Binary files /dev/null and b/assets/ideal-img/redux.63d3e7f.640.png differ diff --git a/assets/ideal-img/refine.6f01e66.640.png b/assets/ideal-img/refine.6f01e66.640.png new file mode 100644 index 0000000000..0f6fb31d65 Binary files /dev/null and b/assets/ideal-img/refine.6f01e66.640.png differ diff --git a/assets/ideal-img/registry.stackql.io.0ceddfa.640.png b/assets/ideal-img/registry.stackql.io.0ceddfa.640.png new file mode 100644 index 0000000000..715f0f0ea2 Binary files /dev/null and b/assets/ideal-img/registry.stackql.io.0ceddfa.640.png differ diff --git a/assets/ideal-img/relay.ed1a4d7.640.png b/assets/ideal-img/relay.ed1a4d7.640.png new file mode 100644 index 0000000000..9015c67477 Binary files /dev/null and b/assets/ideal-img/relay.ed1a4d7.640.png differ diff --git a/assets/ideal-img/rematch.f308579.640.png b/assets/ideal-img/rematch.f308579.640.png new file mode 100644 index 0000000000..c0064c66db Binary files /dev/null and b/assets/ideal-img/rematch.f308579.640.png differ diff --git a/assets/ideal-img/remirror.1e68e59.640.png b/assets/ideal-img/remirror.1e68e59.640.png new file mode 100644 index 0000000000..b5ed46c962 Binary files /dev/null and b/assets/ideal-img/remirror.1e68e59.640.png differ diff --git a/assets/ideal-img/remotion.4430418.640.png b/assets/ideal-img/remotion.4430418.640.png new file mode 100644 index 0000000000..0f1c9b65af Binary files /dev/null and b/assets/ideal-img/remotion.4430418.640.png differ diff --git a/assets/ideal-img/repeaterjs.fdf3046.640.png b/assets/ideal-img/repeaterjs.fdf3046.640.png new file mode 100644 index 0000000000..20ba2c7715 Binary files /dev/null and b/assets/ideal-img/repeaterjs.fdf3046.640.png differ diff --git a/assets/ideal-img/replicad.17d9469.640.png b/assets/ideal-img/replicad.17d9469.640.png new file mode 100644 index 0000000000..f52391030a Binary files /dev/null and b/assets/ideal-img/replicad.17d9469.640.png differ diff --git a/assets/ideal-img/ricky-vetter.b237586.200.jpg b/assets/ideal-img/ricky-vetter.b237586.200.jpg new file mode 100644 index 0000000000..b5ebc2d0cd Binary files /dev/null and b/assets/ideal-img/ricky-vetter.b237586.200.jpg differ diff --git a/assets/ideal-img/rnrh.a9db614.640.png b/assets/ideal-img/rnrh.a9db614.640.png new file mode 100644 index 0000000000..be51ea5c7e Binary files /dev/null and b/assets/ideal-img/rnrh.a9db614.640.png differ diff --git a/assets/ideal-img/rsocket.cbdcb4f.640.png b/assets/ideal-img/rsocket.cbdcb4f.640.png new file mode 100644 index 0000000000..a37f11820b Binary files /dev/null and b/assets/ideal-img/rsocket.cbdcb4f.640.png differ diff --git a/assets/ideal-img/runiac.84cf7a9.640.png b/assets/ideal-img/runiac.84cf7a9.640.png new file mode 100644 index 0000000000..972fa4c9ef Binary files /dev/null and b/assets/ideal-img/runiac.84cf7a9.640.png differ diff --git a/assets/ideal-img/sado0823.8ffd51b.640.png b/assets/ideal-img/sado0823.8ffd51b.640.png new file mode 100644 index 0000000000..a2bf75a7d8 Binary files /dev/null and b/assets/ideal-img/sado0823.8ffd51b.640.png differ diff --git a/assets/ideal-img/saleor.aad1f80.640.png b/assets/ideal-img/saleor.aad1f80.640.png new file mode 100644 index 0000000000..c6964c0343 Binary files /dev/null and b/assets/ideal-img/saleor.aad1f80.640.png differ diff --git a/assets/ideal-img/sap-cloud.312bf29.1030.png b/assets/ideal-img/sap-cloud.312bf29.1030.png new file mode 100644 index 0000000000..73b31cb8e0 Binary files /dev/null and b/assets/ideal-img/sap-cloud.312bf29.1030.png differ diff --git a/assets/ideal-img/sap-cloud.f57d7fa.640.png b/assets/ideal-img/sap-cloud.f57d7fa.640.png new file mode 100644 index 0000000000..13e14a4157 Binary files /dev/null and b/assets/ideal-img/sap-cloud.f57d7fa.640.png differ diff --git a/assets/ideal-img/sapcloudsdk.73844f2.640.png b/assets/ideal-img/sapcloudsdk.73844f2.640.png new file mode 100644 index 0000000000..f6eb60782e Binary files /dev/null and b/assets/ideal-img/sapcloudsdk.73844f2.640.png differ diff --git a/assets/ideal-img/sapphire.6ff97ea.640.png b/assets/ideal-img/sapphire.6ff97ea.640.png new file mode 100644 index 0000000000..20d6c8dc74 Binary files /dev/null and b/assets/ideal-img/sapphire.6ff97ea.640.png differ diff --git a/assets/ideal-img/sass-fairy.2a6be61.640.png b/assets/ideal-img/sass-fairy.2a6be61.640.png new file mode 100644 index 0000000000..eeb241ccc6 Binary files /dev/null and b/assets/ideal-img/sass-fairy.2a6be61.640.png differ diff --git a/assets/ideal-img/sciwp.79c702e.640.png b/assets/ideal-img/sciwp.79c702e.640.png new file mode 100644 index 0000000000..08fff06a7f Binary files /dev/null and b/assets/ideal-img/sciwp.79c702e.640.png differ diff --git a/assets/ideal-img/sequence.fe52fcc.640.png b/assets/ideal-img/sequence.fe52fcc.640.png new file mode 100644 index 0000000000..d924144ac5 Binary files /dev/null and b/assets/ideal-img/sequence.fe52fcc.640.png differ diff --git a/assets/ideal-img/seven-innovation-base.e4e18d9.640.png b/assets/ideal-img/seven-innovation-base.e4e18d9.640.png new file mode 100644 index 0000000000..4b64c2feb8 Binary files /dev/null and b/assets/ideal-img/seven-innovation-base.e4e18d9.640.png differ diff --git a/assets/ideal-img/shotstack.c5e5673.640.png b/assets/ideal-img/shotstack.c5e5673.640.png new file mode 100644 index 0000000000..0a195f711e Binary files /dev/null and b/assets/ideal-img/shotstack.c5e5673.640.png differ diff --git a/assets/ideal-img/sicope-model.f8e7d36.640.png b/assets/ideal-img/sicope-model.f8e7d36.640.png new file mode 100644 index 0000000000..9b49460be2 Binary files /dev/null and b/assets/ideal-img/sicope-model.f8e7d36.640.png differ diff --git a/assets/ideal-img/single-spa.df96d08.640.png b/assets/ideal-img/single-spa.df96d08.640.png new file mode 100644 index 0000000000..b753036936 Binary files /dev/null and b/assets/ideal-img/single-spa.df96d08.640.png differ diff --git a/assets/ideal-img/smart-docs.506f55b.640.png b/assets/ideal-img/smart-docs.506f55b.640.png new file mode 100644 index 0000000000..d0e2aac2a4 Binary files /dev/null and b/assets/ideal-img/smart-docs.506f55b.640.png differ diff --git a/assets/ideal-img/smartcookieweb.0152918.640.png b/assets/ideal-img/smartcookieweb.0152918.640.png new file mode 100644 index 0000000000..1db09fc9a8 Binary files /dev/null and b/assets/ideal-img/smartcookieweb.0152918.640.png differ diff --git a/assets/ideal-img/smashgg.52a89b7.640.png b/assets/ideal-img/smashgg.52a89b7.640.png new file mode 100644 index 0000000000..95357bf7cc Binary files /dev/null and b/assets/ideal-img/smashgg.52a89b7.640.png differ diff --git a/assets/ideal-img/snapchat.39e00a7.1030.png b/assets/ideal-img/snapchat.39e00a7.1030.png new file mode 100644 index 0000000000..53f6aae622 Binary files /dev/null and b/assets/ideal-img/snapchat.39e00a7.1030.png differ diff --git a/assets/ideal-img/snapchat.5f28663.640.png b/assets/ideal-img/snapchat.5f28663.640.png new file mode 100644 index 0000000000..28a6811b85 Binary files /dev/null and b/assets/ideal-img/snapchat.5f28663.640.png differ diff --git a/assets/ideal-img/social-embed.7be8039.640.png b/assets/ideal-img/social-embed.7be8039.640.png new file mode 100644 index 0000000000..fb214531f6 Binary files /dev/null and b/assets/ideal-img/social-embed.7be8039.640.png differ diff --git a/assets/ideal-img/sodaforsparc.c1ad414.640.png b/assets/ideal-img/sodaforsparc.c1ad414.640.png new file mode 100644 index 0000000000..58892c73e8 Binary files /dev/null and b/assets/ideal-img/sodaforsparc.c1ad414.640.png differ diff --git a/assets/ideal-img/solana.8bcac78.640.png b/assets/ideal-img/solana.8bcac78.640.png new file mode 100644 index 0000000000..a6a4a86fa3 Binary files /dev/null and b/assets/ideal-img/solana.8bcac78.640.png differ diff --git a/assets/ideal-img/solana.e7c1e4f.1030.png b/assets/ideal-img/solana.e7c1e4f.1030.png new file mode 100644 index 0000000000..5a97f107b1 Binary files /dev/null and b/assets/ideal-img/solana.e7c1e4f.1030.png differ diff --git a/assets/ideal-img/spicetify.2c762c1.640.png b/assets/ideal-img/spicetify.2c762c1.640.png new file mode 100644 index 0000000000..ef68495754 Binary files /dev/null and b/assets/ideal-img/spicetify.2c762c1.640.png differ diff --git a/assets/ideal-img/spotifyapi-net.ecc794b.640.png b/assets/ideal-img/spotifyapi-net.ecc794b.640.png new file mode 100644 index 0000000000..07bd67d65c Binary files /dev/null and b/assets/ideal-img/spotifyapi-net.ecc794b.640.png differ diff --git a/assets/ideal-img/sqlframes_docusaurus.5ad9414.640.png b/assets/ideal-img/sqlframes_docusaurus.5ad9414.640.png new file mode 100644 index 0000000000..179640b7c3 Binary files /dev/null and b/assets/ideal-img/sqlframes_docusaurus.5ad9414.640.png differ diff --git a/assets/ideal-img/stackblitz.3a585ac.640.png b/assets/ideal-img/stackblitz.3a585ac.640.png new file mode 100644 index 0000000000..9159f8640e Binary files /dev/null and b/assets/ideal-img/stackblitz.3a585ac.640.png differ diff --git a/assets/ideal-img/stackblitz.4ee9b70.640.png b/assets/ideal-img/stackblitz.4ee9b70.640.png new file mode 100644 index 0000000000..f42fda3de8 Binary files /dev/null and b/assets/ideal-img/stackblitz.4ee9b70.640.png differ diff --git a/assets/ideal-img/stackblitz.786829d.1030.png b/assets/ideal-img/stackblitz.786829d.1030.png new file mode 100644 index 0000000000..0c11449b26 Binary files /dev/null and b/assets/ideal-img/stackblitz.786829d.1030.png differ diff --git a/assets/ideal-img/stackblitz.8ebfdbb.1030.png b/assets/ideal-img/stackblitz.8ebfdbb.1030.png new file mode 100644 index 0000000000..c9c489e980 Binary files /dev/null and b/assets/ideal-img/stackblitz.8ebfdbb.1030.png differ diff --git a/assets/ideal-img/stackql.0fd8c39.640.png b/assets/ideal-img/stackql.0fd8c39.640.png new file mode 100644 index 0000000000..00b2093a43 Binary files /dev/null and b/assets/ideal-img/stackql.0fd8c39.640.png differ diff --git a/assets/ideal-img/stryker-mutator.076515b.640.png b/assets/ideal-img/stryker-mutator.076515b.640.png new file mode 100644 index 0000000000..e3435bb703 Binary files /dev/null and b/assets/ideal-img/stryker-mutator.076515b.640.png differ diff --git a/assets/ideal-img/stylable.2db45c1.640.png b/assets/ideal-img/stylable.2db45c1.640.png new file mode 100644 index 0000000000..7b5a38e702 Binary files /dev/null and b/assets/ideal-img/stylable.2db45c1.640.png differ diff --git a/assets/ideal-img/supabase.e96fd5f.640.png b/assets/ideal-img/supabase.e96fd5f.640.png new file mode 100644 index 0000000000..1a85d99ac9 Binary files /dev/null and b/assets/ideal-img/supabase.e96fd5f.640.png differ diff --git a/assets/ideal-img/supabase.f37ca60.1030.png b/assets/ideal-img/supabase.f37ca60.1030.png new file mode 100644 index 0000000000..5c1bde7f3e Binary files /dev/null and b/assets/ideal-img/supabase.f37ca60.1030.png differ diff --git a/assets/ideal-img/svix.ee9fa1d.640.png b/assets/ideal-img/svix.ee9fa1d.640.png new file mode 100644 index 0000000000..125b10245a Binary files /dev/null and b/assets/ideal-img/svix.ee9fa1d.640.png differ diff --git a/assets/ideal-img/sweetcode.a0f7999.640.png b/assets/ideal-img/sweetcode.a0f7999.640.png new file mode 100644 index 0000000000..aab5b3fc40 Binary files /dev/null and b/assets/ideal-img/sweetcode.a0f7999.640.png differ diff --git a/assets/ideal-img/synergies.e793ef2.640.png b/assets/ideal-img/synergies.e793ef2.640.png new file mode 100644 index 0000000000..0ddccbbf28 Binary files /dev/null and b/assets/ideal-img/synergies.e793ef2.640.png differ diff --git a/assets/ideal-img/talentbrick.fe9375b.640.png b/assets/ideal-img/talentbrick.fe9375b.640.png new file mode 100644 index 0000000000..3428a1dbe6 Binary files /dev/null and b/assets/ideal-img/talentbrick.fe9375b.640.png differ diff --git a/assets/ideal-img/tamalwebsite.162d49f.640.png b/assets/ideal-img/tamalwebsite.162d49f.640.png new file mode 100644 index 0000000000..ba71a3fbab Binary files /dev/null and b/assets/ideal-img/tamalwebsite.162d49f.640.png differ diff --git a/assets/ideal-img/tauri.4852075.1030.png b/assets/ideal-img/tauri.4852075.1030.png new file mode 100644 index 0000000000..99deaa1272 Binary files /dev/null and b/assets/ideal-img/tauri.4852075.1030.png differ diff --git a/assets/ideal-img/tauri.7d284be.640.png b/assets/ideal-img/tauri.7d284be.640.png new file mode 100644 index 0000000000..5f6a8ebd99 Binary files /dev/null and b/assets/ideal-img/tauri.7d284be.640.png differ diff --git a/assets/ideal-img/tauri.f75a32b.640.png b/assets/ideal-img/tauri.f75a32b.640.png new file mode 100644 index 0000000000..35bf66bf89 Binary files /dev/null and b/assets/ideal-img/tauri.f75a32b.640.png differ diff --git a/assets/ideal-img/techharvesting.aa52d87.640.png b/assets/ideal-img/techharvesting.aa52d87.640.png new file mode 100644 index 0000000000..9efa9da79f Binary files /dev/null and b/assets/ideal-img/techharvesting.aa52d87.640.png differ diff --git a/assets/ideal-img/testing-library.4d8a910.640.png b/assets/ideal-img/testing-library.4d8a910.640.png new file mode 100644 index 0000000000..ee9b8b8669 Binary files /dev/null and b/assets/ideal-img/testing-library.4d8a910.640.png differ diff --git a/assets/ideal-img/the-diff.5f422f2.640.png b/assets/ideal-img/the-diff.5f422f2.640.png new file mode 100644 index 0000000000..4694aea661 Binary files /dev/null and b/assets/ideal-img/the-diff.5f422f2.640.png differ diff --git a/assets/ideal-img/tidb-community-book.ecdb78a.640.png b/assets/ideal-img/tidb-community-book.ecdb78a.640.png new file mode 100644 index 0000000000..9ba8c34162 Binary files /dev/null and b/assets/ideal-img/tidb-community-book.ecdb78a.640.png differ diff --git a/assets/ideal-img/tinaeldevresse.3131a0e.640.png b/assets/ideal-img/tinaeldevresse.3131a0e.640.png new file mode 100644 index 0000000000..cd1b1944cd Binary files /dev/null and b/assets/ideal-img/tinaeldevresse.3131a0e.640.png differ diff --git a/assets/ideal-img/tooljet.4da0cf2.640.png b/assets/ideal-img/tooljet.4da0cf2.640.png new file mode 100644 index 0000000000..6acab8dac2 Binary files /dev/null and b/assets/ideal-img/tooljet.4da0cf2.640.png differ diff --git a/assets/ideal-img/tremor.19ae6ad.640.png b/assets/ideal-img/tremor.19ae6ad.640.png new file mode 100644 index 0000000000..7c8710d6f4 Binary files /dev/null and b/assets/ideal-img/tremor.19ae6ad.640.png differ diff --git a/assets/ideal-img/trpgengine.1b12f8c.640.png b/assets/ideal-img/trpgengine.1b12f8c.640.png new file mode 100644 index 0000000000..d3344f6790 Binary files /dev/null and b/assets/ideal-img/trpgengine.1b12f8c.640.png differ diff --git a/assets/ideal-img/uniforms.4f92da2.640.png b/assets/ideal-img/uniforms.4f92da2.640.png new file mode 100644 index 0000000000..86ff34dc43 Binary files /dev/null and b/assets/ideal-img/uniforms.4f92da2.640.png differ diff --git a/assets/ideal-img/unleash.07f0ea2.640.png b/assets/ideal-img/unleash.07f0ea2.640.png new file mode 100644 index 0000000000..1d82b4b09b Binary files /dev/null and b/assets/ideal-img/unleash.07f0ea2.640.png differ diff --git a/assets/ideal-img/unmand.9ae332a.640.png b/assets/ideal-img/unmand.9ae332a.640.png new file mode 100644 index 0000000000..7b3d70b946 Binary files /dev/null and b/assets/ideal-img/unmand.9ae332a.640.png differ diff --git a/assets/ideal-img/verdaccio.665e238.640.png b/assets/ideal-img/verdaccio.665e238.640.png new file mode 100644 index 0000000000..0d9f54b420 Binary files /dev/null and b/assets/ideal-img/verdaccio.665e238.640.png differ diff --git a/assets/ideal-img/verida-developers.c53d911.640.png b/assets/ideal-img/verida-developers.c53d911.640.png new file mode 100644 index 0000000000..d5d97c3fde Binary files /dev/null and b/assets/ideal-img/verida-developers.c53d911.640.png differ diff --git a/assets/ideal-img/virtual-photography-kit.a01ffbe.640.png b/assets/ideal-img/virtual-photography-kit.a01ffbe.640.png new file mode 100644 index 0000000000..f824d1a4a4 Binary files /dev/null and b/assets/ideal-img/virtual-photography-kit.a01ffbe.640.png differ diff --git a/assets/ideal-img/vue-nodegui.59a0e1d.640.png b/assets/ideal-img/vue-nodegui.59a0e1d.640.png new file mode 100644 index 0000000000..435d6619ad Binary files /dev/null and b/assets/ideal-img/vue-nodegui.59a0e1d.640.png differ diff --git a/assets/ideal-img/warrant.0301ca4.640.png b/assets/ideal-img/warrant.0301ca4.640.png new file mode 100644 index 0000000000..9c1418bb45 Binary files /dev/null and b/assets/ideal-img/warrant.0301ca4.640.png differ diff --git a/assets/ideal-img/wasp.0a4f647.640.png b/assets/ideal-img/wasp.0a4f647.640.png new file mode 100644 index 0000000000..8be43caabc Binary files /dev/null and b/assets/ideal-img/wasp.0a4f647.640.png differ diff --git a/assets/ideal-img/webdriverio.c829300.640.png b/assets/ideal-img/webdriverio.c829300.640.png new file mode 100644 index 0000000000..6cbc64ff2b Binary files /dev/null and b/assets/ideal-img/webdriverio.c829300.640.png differ diff --git a/assets/ideal-img/woodpecker.81c8f5a.640.png b/assets/ideal-img/woodpecker.81c8f5a.640.png new file mode 100644 index 0000000000..7dac45358c Binary files /dev/null and b/assets/ideal-img/woodpecker.81c8f5a.640.png differ diff --git a/assets/ideal-img/yeecord.166597d.640.png b/assets/ideal-img/yeecord.166597d.640.png new file mode 100644 index 0000000000..4420bbe2d3 Binary files /dev/null and b/assets/ideal-img/yeecord.166597d.640.png differ diff --git a/assets/ideal-img/zowe.5b36a1b.640.png b/assets/ideal-img/zowe.5b36a1b.640.png new file mode 100644 index 0000000000..3efd9df250 Binary files /dev/null and b/assets/ideal-img/zowe.5b36a1b.640.png differ diff --git a/assets/ideal-img/zxuqian.2c50d0f.640.png b/assets/ideal-img/zxuqian.2c50d0f.640.png new file mode 100644 index 0000000000..2b80991f98 Binary files /dev/null and b/assets/ideal-img/zxuqian.2c50d0f.640.png differ diff --git a/assets/images/30-days-swa-33190f7c1ad234fa30425afdb7a7cc18.png b/assets/images/30-days-swa-33190f7c1ad234fa30425afdb7a7cc18.png new file mode 100644 index 0000000000..06c294bce4 Binary files /dev/null and b/assets/images/30-days-swa-33190f7c1ad234fa30425afdb7a7cc18.png differ diff --git a/assets/images/404lab-wiki-882ad88bf32dcd4d8aff406aaf2fa287.png b/assets/images/404lab-wiki-882ad88bf32dcd4d8aff406aaf2fa287.png new file mode 100644 index 0000000000..64f0f2b3eb Binary files /dev/null and b/assets/images/404lab-wiki-882ad88bf32dcd4d8aff406aaf2fa287.png differ diff --git a/assets/images/SeaORM-3e87a0392ff6ae011abfcdfdbb913ba6.png b/assets/images/SeaORM-3e87a0392ff6ae011abfcdfdbb913ba6.png new file mode 100644 index 0000000000..4afe4e5bd2 Binary files /dev/null and b/assets/images/SeaORM-3e87a0392ff6ae011abfcdfdbb913ba6.png differ diff --git a/assets/images/SeaQL-blog-72fb6e4efdefff425536cce42830e881.png b/assets/images/SeaQL-blog-72fb6e4efdefff425536cce42830e881.png new file mode 100644 index 0000000000..5cc46ac3ab Binary files /dev/null and b/assets/images/SeaQL-blog-72fb6e4efdefff425536cce42830e881.png differ diff --git a/assets/images/Seaography-c06aeb6ba31d780a213d5ec31a9c4128.png b/assets/images/Seaography-c06aeb6ba31d780a213d5ec31a9c4128.png new file mode 100644 index 0000000000..ad3fbfc615 Binary files /dev/null and b/assets/images/Seaography-c06aeb6ba31d780a213d5ec31a9c4128.png differ diff --git a/assets/images/aispeaker-8b3d588a17938e200ed2eecfd6f2468f.png b/assets/images/aispeaker-8b3d588a17938e200ed2eecfd6f2468f.png new file mode 100644 index 0000000000..a7f89e1b43 Binary files /dev/null and b/assets/images/aispeaker-8b3d588a17938e200ed2eecfd6f2468f.png differ diff --git a/assets/images/akara-blog-69953dfbab78d0eed5126ba32daf9cbb.png b/assets/images/akara-blog-69953dfbab78d0eed5126ba32daf9cbb.png new file mode 100644 index 0000000000..0b5ad67d26 Binary files /dev/null and b/assets/images/akara-blog-69953dfbab78d0eed5126ba32daf9cbb.png differ diff --git a/assets/images/algolia-08ad93d9138dd941c51c22aebe687d8f.png b/assets/images/algolia-08ad93d9138dd941c51c22aebe687d8f.png new file mode 100644 index 0000000000..20265a9b09 Binary files /dev/null and b/assets/images/algolia-08ad93d9138dd941c51c22aebe687d8f.png differ diff --git a/assets/images/apache-apisix-b4e830ec3f185abc3a55f579bab5f9ca.png b/assets/images/apache-apisix-b4e830ec3f185abc3a55f579bab5f9ca.png new file mode 100644 index 0000000000..0be78033ba Binary files /dev/null and b/assets/images/apache-apisix-b4e830ec3f185abc3a55f579bab5f9ca.png differ diff --git a/assets/images/apexfp-6f1d7796a75be57e2d3cef7127e5c699.png b/assets/images/apexfp-6f1d7796a75be57e2d3cef7127e5c699.png new file mode 100644 index 0000000000..bbe6fbc707 Binary files /dev/null and b/assets/images/apexfp-6f1d7796a75be57e2d3cef7127e5c699.png differ diff --git a/assets/images/architecture-5b7220912f5cfdff40a7728233abb902.png b/assets/images/architecture-5b7220912f5cfdff40a7728233abb902.png new file mode 100644 index 0000000000..8896e75673 Binary files /dev/null and b/assets/images/architecture-5b7220912f5cfdff40a7728233abb902.png differ diff --git a/assets/images/argos-github-comment-8b62a1561b13881608d5c9f8a8f833a5.png b/assets/images/argos-github-comment-8b62a1561b13881608d5c9f8a8f833a5.png new file mode 100644 index 0000000000..1f1a0523b5 Binary files /dev/null and b/assets/images/argos-github-comment-8b62a1561b13881608d5c9f8a8f833a5.png differ diff --git a/assets/images/argos-github-status-05e8264c59fa4f8a21292f59665edf3d.png b/assets/images/argos-github-status-05e8264c59fa4f8a21292f59665edf3d.png new file mode 100644 index 0000000000..a9ea8225c1 Binary files /dev/null and b/assets/images/argos-github-status-05e8264c59fa4f8a21292f59665edf3d.png differ diff --git a/assets/images/argos-react-native-regression-216ace77baedfaf873a770112ec817ac.png b/assets/images/argos-react-native-regression-216ace77baedfaf873a770112ec817ac.png new file mode 100644 index 0000000000..3dd81704c9 Binary files /dev/null and b/assets/images/argos-react-native-regression-216ace77baedfaf873a770112ec817ac.png differ diff --git a/assets/images/astronomer-ec1d5eee119a7852320213802aaa70a4.png b/assets/images/astronomer-ec1d5eee119a7852320213802aaa70a4.png new file mode 100644 index 0000000000..1cff505bbb Binary files /dev/null and b/assets/images/astronomer-ec1d5eee119a7852320213802aaa70a4.png differ diff --git a/assets/images/author-index-4abd3b8b777b2c1b3958768559896262.png b/assets/images/author-index-4abd3b8b777b2c1b3958768559896262.png new file mode 100644 index 0000000000..1f79084025 Binary files /dev/null and b/assets/images/author-index-4abd3b8b777b2c1b3958768559896262.png differ diff --git a/assets/images/author-page-4a9753641b116ddfeecc46ed1dcee907.png b/assets/images/author-page-4a9753641b116ddfeecc46ed1dcee907.png new file mode 100644 index 0000000000..864b287bab Binary files /dev/null and b/assets/images/author-page-4a9753641b116ddfeecc46ed1dcee907.png differ diff --git a/assets/images/author-socials-93483e664b2d095b137cf10c4769c100.png b/assets/images/author-socials-93483e664b2d095b137cf10c4769c100.png new file mode 100644 index 0000000000..7c2b011e44 Binary files /dev/null and b/assets/images/author-socials-93483e664b2d095b137cf10c4769c100.png differ diff --git a/assets/images/awe-framework-54b97d5981ae2bea64df45945b6f0e11.png b/assets/images/awe-framework-54b97d5981ae2bea64df45945b6f0e11.png new file mode 100644 index 0000000000..b34fbd77d2 Binary files /dev/null and b/assets/images/awe-framework-54b97d5981ae2bea64df45945b6f0e11.png differ diff --git a/assets/images/babel-509aacfdc070e475b4f673083b2e6e74.png b/assets/images/babel-509aacfdc070e475b4f673083b2e6e74.png new file mode 100644 index 0000000000..d5ab96c86c Binary files /dev/null and b/assets/images/babel-509aacfdc070e475b4f673083b2e6e74.png differ diff --git a/assets/images/bandwidth-039d57f34a279b32748a2d994cfe8c12.png b/assets/images/bandwidth-039d57f34a279b32748a2d994cfe8c12.png new file mode 100644 index 0000000000..09a36f3ccf Binary files /dev/null and b/assets/images/bandwidth-039d57f34a279b32748a2d994cfe8c12.png differ diff --git a/assets/images/baseUrlIssueBanner-3292a9164bf77c06a723e8d3ddfe66c0.png b/assets/images/baseUrlIssueBanner-3292a9164bf77c06a723e8d3ddfe66c0.png new file mode 100644 index 0000000000..1a372e2144 Binary files /dev/null and b/assets/images/baseUrlIssueBanner-3292a9164bf77c06a723e8d3ddfe66c0.png differ diff --git a/assets/images/blog-feed-xslt-22194c2a971aba7f3bbf6115d3aa1d49.png b/assets/images/blog-feed-xslt-22194c2a971aba7f3bbf6115d3aa1d49.png new file mode 100644 index 0000000000..9ed5c6e644 Binary files /dev/null and b/assets/images/blog-feed-xslt-22194c2a971aba7f3bbf6115d3aa1d49.png differ diff --git a/assets/images/blog-sidebar-years-1d0be02836d9a3307386c365b9969a37.png b/assets/images/blog-sidebar-years-1d0be02836d9a3307386c365b9969a37.png new file mode 100644 index 0000000000..f94c4a7fdc Binary files /dev/null and b/assets/images/blog-sidebar-years-1d0be02836d9a3307386c365b9969a37.png differ diff --git a/assets/images/blogasaurus-a6ca1e228a12ae11d3cf2f2abb57d5c7.png b/assets/images/blogasaurus-a6ca1e228a12ae11d3cf2f2abb57d5c7.png new file mode 100644 index 0000000000..b08022f490 Binary files /dev/null and b/assets/images/blogasaurus-a6ca1e228a12ae11d3cf2f2abb57d5c7.png differ diff --git a/assets/images/blogmatheusbrunelli-461a018ed6a0076b7113a17d6d7a212d.png b/assets/images/blogmatheusbrunelli-461a018ed6a0076b7113a17d6d7a212d.png new file mode 100644 index 0000000000..66e932e165 Binary files /dev/null and b/assets/images/blogmatheusbrunelli-461a018ed6a0076b7113a17d6d7a212d.png differ diff --git a/assets/images/botonic-406a39eecb51d4cc44ffa3a74924d4b5.png b/assets/images/botonic-406a39eecb51d4cc44ffa3a74924d4b5.png new file mode 100644 index 0000000000..138e67acbd Binary files /dev/null and b/assets/images/botonic-406a39eecb51d4cc44ffa3a74924d4b5.png differ diff --git a/assets/images/boxyhq-50e9b89431c646ae0091e7d7f83bd650.png b/assets/images/boxyhq-50e9b89431c646ae0091e7d7f83bd650.png new file mode 100644 index 0000000000..b4cc500ff1 Binary files /dev/null and b/assets/images/boxyhq-50e9b89431c646ae0091e7d7f83bd650.png differ diff --git a/assets/images/brainboard-4959f0edd62f974fd0bce9d6f1cd4887.png b/assets/images/brainboard-4959f0edd62f974fd0bce9d6f1cd4887.png new file mode 100644 index 0000000000..8dabed5f8d Binary files /dev/null and b/assets/images/brainboard-4959f0edd62f974fd0bce9d6f1cd4887.png differ diff --git a/assets/images/broken-anchor-4191e5dd94aef9e8c5e3524880670f0f.jpg b/assets/images/broken-anchor-4191e5dd94aef9e8c5e3524880670f0f.jpg new file mode 100644 index 0000000000..c015a407a2 Binary files /dev/null and b/assets/images/broken-anchor-4191e5dd94aef9e8c5e3524880670f0f.jpg differ diff --git a/assets/images/bruce-wiki-ceca161425a90f278383a0398427aff4.png b/assets/images/bruce-wiki-ceca161425a90f278383a0398427aff4.png new file mode 100644 index 0000000000..323c40780a Binary files /dev/null and b/assets/images/bruce-wiki-ceca161425a90f278383a0398427aff4.png differ diff --git a/assets/images/build-tracker-b2df263a3614bcac48f8eb31a9d8dba4.png b/assets/images/build-tracker-b2df263a3614bcac48f8eb31a9d8dba4.png new file mode 100644 index 0000000000..c2e970397d Binary files /dev/null and b/assets/images/build-tracker-b2df263a3614bcac48f8eb31a9d8dba4.png differ diff --git a/assets/images/chaos-mesh-5072bf5cf6237a68add5bfd951e2180b.png b/assets/images/chaos-mesh-5072bf5cf6237a68add5bfd951e2180b.png new file mode 100644 index 0000000000..de2213f9ff Binary files /dev/null and b/assets/images/chaos-mesh-5072bf5cf6237a68add5bfd951e2180b.png differ diff --git a/assets/images/chatkitty-f031f34db242a0cc1c7af7260e035d90.png b/assets/images/chatkitty-f031f34db242a0cc1c7af7260e035d90.png new file mode 100644 index 0000000000..07020c514b Binary files /dev/null and b/assets/images/chatkitty-f031f34db242a0cc1c7af7260e035d90.png differ diff --git a/assets/images/claritychallenge-108b7f845c124611acdb85af6ea4d35f.png b/assets/images/claritychallenge-108b7f845c124611acdb85af6ea4d35f.png new file mode 100644 index 0000000000..258e9e6bad Binary files /dev/null and b/assets/images/claritychallenge-108b7f845c124611acdb85af6ea4d35f.png differ diff --git a/assets/images/clutch-b055c6bffb878093fe446a1cdd461b84.png b/assets/images/clutch-b055c6bffb878093fe446a1cdd461b84.png new file mode 100644 index 0000000000..dd84085ca0 Binary files /dev/null and b/assets/images/clutch-b055c6bffb878093fe446a1cdd461b84.png differ diff --git a/assets/images/codesandbox-7cc31f5edeaa0f55d18baff8c264ab41.png b/assets/images/codesandbox-7cc31f5edeaa0f55d18baff8c264ab41.png new file mode 100644 index 0000000000..b4a2a1dcac Binary files /dev/null and b/assets/images/codesandbox-7cc31f5edeaa0f55d18baff8c264ab41.png differ diff --git a/assets/images/componentkit-d3ef2d1fcafe86d7aa5c5a8a3a57752c.png b/assets/images/componentkit-d3ef2d1fcafe86d7aa5c5a8a3a57752c.png new file mode 100644 index 0000000000..2bb36ce94a Binary files /dev/null and b/assets/images/componentkit-d3ef2d1fcafe86d7aa5c5a8a3a57752c.png differ diff --git a/assets/images/configcat-2eff8eff12a99d8f3d1a0b30c2643628.png b/assets/images/configcat-2eff8eff12a99d8f3d1a0b30c2643628.png new file mode 100644 index 0000000000..4608dc9aad Binary files /dev/null and b/assets/images/configcat-2eff8eff12a99d8f3d1a0b30c2643628.png differ diff --git a/assets/images/console-table-7acef5eed9056bf9a0dbae7a57113d0f.png b/assets/images/console-table-7acef5eed9056bf9a0dbae7a57113d0f.png new file mode 100644 index 0000000000..8cbc8235e8 Binary files /dev/null and b/assets/images/console-table-7acef5eed9056bf9a0dbae7a57113d0f.png differ diff --git a/assets/images/countrystatecity-060c64c5a7e717d8f70ee4e07f22c7f7.png b/assets/images/countrystatecity-060c64c5a7e717d8f70ee4e07f22c7f7.png new file mode 100644 index 0000000000..0542714c03 Binary files /dev/null and b/assets/images/countrystatecity-060c64c5a7e717d8f70ee4e07f22c7f7.png differ diff --git a/assets/images/courier-11d42951bbaf823db5f0efd6bcbdc95f.png b/assets/images/courier-11d42951bbaf823db5f0efd6bcbdc95f.png new file mode 100644 index 0000000000..4d5aa7ab99 Binary files /dev/null and b/assets/images/courier-11d42951bbaf823db5f0efd6bcbdc95f.png differ diff --git a/assets/images/courier-624bbae7cbef3b4e7533d1976e35f842.png b/assets/images/courier-624bbae7cbef3b4e7533d1976e35f842.png new file mode 100644 index 0000000000..727cfb07b4 Binary files /dev/null and b/assets/images/courier-624bbae7cbef3b4e7533d1976e35f842.png differ diff --git a/assets/images/crawler-overview-6224cc4c7b20511010652f3f4ed5904e.png b/assets/images/crawler-overview-6224cc4c7b20511010652f3f4ed5904e.png new file mode 100644 index 0000000000..a4ed60dc26 Binary files /dev/null and b/assets/images/crawler-overview-6224cc4c7b20511010652f3f4ed5904e.png differ diff --git a/assets/images/create-react-app-9511de378d817b4e149bdaec2deb49ec.png b/assets/images/create-react-app-9511de378d817b4e149bdaec2deb49ec.png new file mode 100644 index 0000000000..2aaa4582e1 Binary files /dev/null and b/assets/images/create-react-app-9511de378d817b4e149bdaec2deb49ec.png differ diff --git a/assets/images/crowdin-create-project-2fe25e5974adc027f7ac2c36f1717de1.png b/assets/images/crowdin-create-project-2fe25e5974adc027f7ac2c36f1717de1.png new file mode 100644 index 0000000000..ca7f03acf7 Binary files /dev/null and b/assets/images/crowdin-create-project-2fe25e5974adc027f7ac2c36f1717de1.png differ diff --git a/assets/images/crowdin-download-translations-warning-cb747bdcfc38beabea491f63781b9b40.png b/assets/images/crowdin-download-translations-warning-cb747bdcfc38beabea491f63781b9b40.png new file mode 100644 index 0000000000..9a4478d966 Binary files /dev/null and b/assets/images/crowdin-download-translations-warning-cb747bdcfc38beabea491f63781b9b40.png differ diff --git a/assets/images/crowdin-files-rename-5ff9bf66f6123800006cf38ead6b66ae.png b/assets/images/crowdin-files-rename-5ff9bf66f6123800006cf38ead6b66ae.png new file mode 100644 index 0000000000..92dbe882f6 Binary files /dev/null and b/assets/images/crowdin-files-rename-5ff9bf66f6123800006cf38ead6b66ae.png differ diff --git a/assets/images/crowdin-french-translations-4f252e7f63a781628378eeb3a9fefb39.png b/assets/images/crowdin-french-translations-4f252e7f63a781628378eeb3a9fefb39.png new file mode 100644 index 0000000000..9bae3f735a Binary files /dev/null and b/assets/images/crowdin-french-translations-4f252e7f63a781628378eeb3a9fefb39.png differ diff --git a/assets/images/crowdin-hide-string-5e470a33a42e044379bf6860ff534b50.png b/assets/images/crowdin-hide-string-5e470a33a42e044379bf6860ff534b50.png new file mode 100644 index 0000000000..a59573748d Binary files /dev/null and b/assets/images/crowdin-hide-string-5e470a33a42e044379bf6860ff534b50.png differ diff --git a/assets/images/crowdin-settings-duplicate-strings-6943e2e4cab8910625a0b6c285052726.png b/assets/images/crowdin-settings-duplicate-strings-6943e2e4cab8910625a0b6c285052726.png new file mode 100644 index 0000000000..ba86adce43 Binary files /dev/null and b/assets/images/crowdin-settings-duplicate-strings-6943e2e4cab8910625a0b6c285052726.png differ diff --git a/assets/images/crowdin-source-files-0ba8c0433421141418462c3bf6de22ed.png b/assets/images/crowdin-source-files-0ba8c0433421141418462c3bf6de22ed.png new file mode 100644 index 0000000000..72ccd15c9f Binary files /dev/null and b/assets/images/crowdin-source-files-0ba8c0433421141418462c3bf6de22ed.png differ diff --git a/assets/images/crowdin-translate-json-39a6b98aa60a84eba22b2f5834cbb97d.png b/assets/images/crowdin-translate-json-39a6b98aa60a84eba22b2f5834cbb97d.png new file mode 100644 index 0000000000..a21be180a4 Binary files /dev/null and b/assets/images/crowdin-translate-json-39a6b98aa60a84eba22b2f5834cbb97d.png differ diff --git a/assets/images/crowdin-translate-markdown-0651cd22b5f07f0e9b3031ffaebbc5b6.png b/assets/images/crowdin-translate-markdown-0651cd22b5f07f0e9b3031ffaebbc5b6.png new file mode 100644 index 0000000000..dfb8e43b92 Binary files /dev/null and b/assets/images/crowdin-translate-markdown-0651cd22b5f07f0e9b3031ffaebbc5b6.png differ diff --git a/assets/images/crowdin-upload-sources-cli-5758c2f4d4256ac05d21b637d1d517bb.png b/assets/images/crowdin-upload-sources-cli-5758c2f4d4256ac05d21b637d1d517bb.png new file mode 100644 index 0000000000..e333dc87d9 Binary files /dev/null and b/assets/images/crowdin-upload-sources-cli-5758c2f4d4256ac05d21b637d1d517bb.png differ diff --git a/assets/images/daily-digest-covid-19-in-france-a3ddfc37b63650dcd98c72d6626d0025.png b/assets/images/daily-digest-covid-19-in-france-a3ddfc37b63650dcd98c72d6626d0025.png new file mode 100644 index 0000000000..4bd90728bf Binary files /dev/null and b/assets/images/daily-digest-covid-19-in-france-a3ddfc37b63650dcd98c72d6626d0025.png differ diff --git a/assets/images/dart-code-metrics-2e48f03e468f117f107b13cf5c09c39d.png b/assets/images/dart-code-metrics-2e48f03e468f117f107b13cf5c09c39d.png new file mode 100644 index 0000000000..bae1593464 Binary files /dev/null and b/assets/images/dart-code-metrics-2e48f03e468f117f107b13cf5c09c39d.png differ diff --git a/assets/images/datagit-31574c085024a19c7c82e817d2338e45.png b/assets/images/datagit-31574c085024a19c7c82e817d2338e45.png new file mode 100644 index 0000000000..81689cc4df Binary files /dev/null and b/assets/images/datagit-31574c085024a19c7c82e817d2338e45.png differ diff --git a/assets/images/datagit-66c812e9cc4cd666c9b083f92e898951.png b/assets/images/datagit-66c812e9cc4cd666c9b083f92e898951.png new file mode 100644 index 0000000000..c42475496f Binary files /dev/null and b/assets/images/datagit-66c812e9cc4cd666c9b083f92e898951.png differ diff --git a/assets/images/datagit-9cff7b631eaa43b00d9e1373359abfb1.png b/assets/images/datagit-9cff7b631eaa43b00d9e1373359abfb1.png new file mode 100644 index 0000000000..4a0ed09c6e Binary files /dev/null and b/assets/images/datagit-9cff7b631eaa43b00d9e1373359abfb1.png differ diff --git a/assets/images/datagit-rtl-screenshot-0def4b4e4d5f458ea864774e78b0bf8f.png b/assets/images/datagit-rtl-screenshot-0def4b4e4d5f458ea864774e78b0bf8f.png new file mode 100644 index 0000000000..fb7204f188 Binary files /dev/null and b/assets/images/datagit-rtl-screenshot-0def4b4e4d5f458ea864774e78b0bf8f.png differ diff --git a/assets/images/demo-0e309a1a631b58ebe6d5f2d8014351e8.png b/assets/images/demo-0e309a1a631b58ebe6d5f2d8014351e8.png new file mode 100644 index 0000000000..f387755210 Binary files /dev/null and b/assets/images/demo-0e309a1a631b58ebe6d5f2d8014351e8.png differ diff --git a/assets/images/devspace-c53ce0b4c55d98742b4352ff7730ee91.png b/assets/images/devspace-c53ce0b4c55d98742b4352ff7730ee91.png new file mode 100644 index 0000000000..b918361374 Binary files /dev/null and b/assets/images/devspace-c53ce0b4c55d98742b4352ff7730ee91.png differ diff --git a/assets/images/difranca-technotes-b2c0837057bbf1d10840f32ed2cc1f3f.png b/assets/images/difranca-technotes-b2c0837057bbf1d10840f32ed2cc1f3f.png new file mode 100644 index 0000000000..0e42fdfe4f Binary files /dev/null and b/assets/images/difranca-technotes-b2c0837057bbf1d10840f32ed2cc1f3f.png differ diff --git a/assets/images/digitalsupportservices-a2a7b7598235f325ded5e9f592268a87.png b/assets/images/digitalsupportservices-a2a7b7598235f325ded5e9f592268a87.png new file mode 100644 index 0000000000..1378475a9a Binary files /dev/null and b/assets/images/digitalsupportservices-a2a7b7598235f325ded5e9f592268a87.png differ diff --git a/assets/images/discordresources-3f28f1f92275c7cf71be8756e7d50bf2.png b/assets/images/discordresources-3f28f1f92275c7cf71be8756e7d50bf2.png new file mode 100644 index 0000000000..238a2d8e1f Binary files /dev/null and b/assets/images/discordresources-3f28f1f92275c7cf71be8756e7d50bf2.png differ diff --git a/assets/images/divine-wsf-d54ba6918bdc391ef230a3de6c393bab.png b/assets/images/divine-wsf-d54ba6918bdc391ef230a3de6c393bab.png new file mode 100644 index 0000000000..a807ae6a53 Binary files /dev/null and b/assets/images/divine-wsf-d54ba6918bdc391ef230a3de6c393bab.png differ diff --git a/assets/images/djamaile-61447aa22e1ebbe55085c19b43d09665.png b/assets/images/djamaile-61447aa22e1ebbe55085c19b43d09665.png new file mode 100644 index 0000000000..ef2a05ec75 Binary files /dev/null and b/assets/images/djamaile-61447aa22e1ebbe55085c19b43d09665.png differ diff --git a/assets/images/doc-card-list-e52d727eadceb3d21cfc0f851f09aa93.png b/assets/images/doc-card-list-e52d727eadceb3d21cfc0f851f09aa93.png new file mode 100644 index 0000000000..f8ba6b4408 Binary files /dev/null and b/assets/images/doc-card-list-e52d727eadceb3d21cfc0f851f09aa93.png differ diff --git a/assets/images/docs-taro-zone-7932bfb0f465e7dc81e398c95381b1d6.png b/assets/images/docs-taro-zone-7932bfb0f465e7dc81e398c95381b1d6.png new file mode 100644 index 0000000000..e7184279da Binary files /dev/null and b/assets/images/docs-taro-zone-7932bfb0f465e7dc81e398c95381b1d6.png differ diff --git a/assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png b/assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png deleted file mode 100644 index 97e4164618..0000000000 Binary files a/assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png and /dev/null differ diff --git a/assets/images/docsearch-troubleshoot-index-facets-4c0d9816a72c457e3e8352bc0fceccb6.jpg b/assets/images/docsearch-troubleshoot-index-facets-4c0d9816a72c457e3e8352bc0fceccb6.jpg new file mode 100644 index 0000000000..e4a4906a88 Binary files /dev/null and b/assets/images/docsearch-troubleshoot-index-facets-4c0d9816a72c457e3e8352bc0fceccb6.jpg differ diff --git a/assets/images/docusaurus-1f34354c7579c3ba7e82539b2098257d.png b/assets/images/docusaurus-1f34354c7579c3ba7e82539b2098257d.png new file mode 100644 index 0000000000..7f2010bde0 Binary files /dev/null and b/assets/images/docusaurus-1f34354c7579c3ba7e82539b2098257d.png differ diff --git a/assets/images/docusaurus-argos-example-repo-screenshot-a56583e16aa02c7fa96c592f1339928f.png b/assets/images/docusaurus-argos-example-repo-screenshot-a56583e16aa02c7fa96c592f1339928f.png new file mode 100644 index 0000000000..47eb3d02eb Binary files /dev/null and b/assets/images/docusaurus-argos-example-repo-screenshot-a56583e16aa02c7fa96c592f1339928f.png differ diff --git a/assets/images/docusaurus-asset-example-banner-63decf1180b7949f4c3d0f7b7ecfd162.png b/assets/images/docusaurus-asset-example-banner-63decf1180b7949f4c3d0f7b7ecfd162.png new file mode 100644 index 0000000000..ebe95f5ec8 Binary files /dev/null and b/assets/images/docusaurus-asset-example-banner-63decf1180b7949f4c3d0f7b7ecfd162.png differ diff --git a/assets/images/docusaurus-npm-trends-3c618d573fc9ca319e54667383ea1e01.png b/assets/images/docusaurus-npm-trends-3c618d573fc9ca319e54667383ea1e01.png new file mode 100644 index 0000000000..51457bc8a1 Binary files /dev/null and b/assets/images/docusaurus-npm-trends-3c618d573fc9ca319e54667383ea1e01.png differ diff --git a/assets/images/docusaurus-slash-first-birthday-71e4f41412bd9df66b30df131ce8dc67.svg b/assets/images/docusaurus-slash-first-birthday-71e4f41412bd9df66b30df131ce8dc67.svg new file mode 100644 index 0000000000..561a0d4bde --- /dev/null +++ b/assets/images/docusaurus-slash-first-birthday-71e4f41412bd9df66b30df131ce8dc67.svg @@ -0,0 +1 @@ +<svg width="1805" height="741" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><filter x="-3.2%" y="-29.6%" width="106.3%" height="169.9%" filterUnits="objectBoundingBox" id="b"><feOffset dy="5" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.164799345 0" in="shadowBlurOuter1"/></filter><filter x="-3.8%" y="-29.6%" width="107.5%" height="169.9%" filterUnits="objectBoundingBox" id="d"><feOffset dy="5" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.164799345 0" in="shadowBlurOuter1"/></filter><filter x="-10.5%" y="-74.3%" width="121.2%" height="275.7%" filterUnits="objectBoundingBox" id="f"><feOffset dy="5" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.164799345 0" in="shadowBlurOuter1"/></filter><text id="c" font-family="ArialRoundedMTBold, Arial Rounded MT Bold" font-size="80" font-weight="normal" fill="#FFF"><tspan x="390" y="119">Docusaurus makes 1 year!</tspan></text><text id="e" font-family="ArialRoundedMTBold, Arial Rounded MT Bold" font-size="80" font-weight="normal" fill="#FFF"><tspan x="471" y="675">Happy Birthday Slash!</tspan></text><text id="g" font-family="ArialRoundedMTBold, Arial Rounded MT Bold" font-size="32" font-weight="normal" fill="#FFF"><tspan x="1472" y="614">From your friends at</tspan></text><linearGradient x1="50%" y1="60.357%" x2="50%" y2="120.795%" id="a"><stop stop-color="#41A4FF" offset="0%"/><stop stop-color="#5348C8" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path stroke="#979797" fill="url(#a)" d="M.5.5h1804v741H.5z"/><g transform="translate(491 171)"><path fill="#FFF" d="M204 54h195v114H204z"/><path d="M44.5 323c-16.46 0-30.8-8.86-38.5-22-3.793 6.477-6 13.977-6 22 0 24.301 19.923 44 44.5 44H89v-44H44.5z" fill="#3ECC5F"/><path d="M399 79.198V57.06c0-24.454-19.88-44.277-44.398-44.277h-199.79l-5.55-9.586c-2.468-4.261-8.633-4.261-11.099 0l-5.55 9.586-5.55-9.586c-2.468-4.261-8.633-4.261-11.099 0l-5.55 9.586-5.55-9.586c-2.468-4.261-8.633-4.261-11.099 0l-5.55 9.586c-.032 0-3.145-3.053-9.339-9.16-3.487-3.479-9.44-1.89-10.72 2.864l-3.036 11.3-11.528-3.082c-4.766-1.273-9.126 3.075-7.847 7.828l3.087 11.497-11.328 3.026c-4.766 1.275-6.362 7.215-2.874 10.693l9.192 9.17c0 .03-3.206 1.923-9.619 5.676-4.27 2.46-4.27 8.61 0 11.07l9.615 5.534-9.615 5.535c-4.27 2.46-4.27 8.61 0 11.07l9.615 5.534-9.615 5.534c-4.27 2.46-4.27 8.61 0 11.07l9.615 5.534-9.615 5.535c-4.27 2.46-4.27 8.61 0 11.07l9.615 5.534-9.615 5.535c-4.27 2.46-4.27 8.61 0 11.069l9.615 5.535-9.615 5.534c-4.27 2.46-4.27 8.61 0 11.07l9.615 5.534-9.615 5.535c-4.27 2.46-4.27 8.61 0 11.07l9.615 5.534-9.615 5.534c-4.27 2.46-4.27 8.61 0 11.07l9.615 5.534-9.615 5.535c-4.27 2.46-4.27 8.61 0 11.07l9.615 5.534-9.615 5.535c-4.27 2.46-4.27 8.61 0 11.069l9.615 5.535-9.615 5.534c-4.27 2.46-4.27 8.61 0 11.07l9.615 5.534-9.615 5.535c-4.27 2.46-4.27 8.61 0 11.07l9.615 5.534c0 24.454 19.877 44.277 44.397 44.277h266.387C379.121 367 399 347.177 399 322.723v-177.11l-155.437-9.687c-12.453-.777-22.154-11.076-22.154-23.52 0-12.444 9.7-22.743 22.154-23.52L399 79.198z" fill="#3ECC5F"/><path fill="#3ECC5F" d="M311 367h66v-89h-66z"/><path d="M421.889 311.444c-.487 0-.951.083-1.42.143-.085-.334-.165-.67-.258-1.003 4.013-1.675 6.833-5.63 6.833-10.25 0-6.138-4.973-11.112-11.11-11.112-2.53 0-4.834.88-6.703 2.302-.247-.25-.493-.5-.744-.746 1.393-1.858 2.246-4.138 2.246-6.638 0-6.138-4.973-11.111-11.11-11.111-4.59 0-8.527 2.784-10.22 6.758-.33-.094-.66-.171-.99-.256.06-.469.143-.933.143-1.42 0-6.138-4.974-11.111-11.112-11.111-6.137 0-11.11 4.973-11.11 11.111 0 .487.082.951.142 1.42-.33.085-.66.162-.99.256-1.693-3.974-5.63-6.758-10.22-6.758-6.137 0-11.11 4.973-11.11 11.111 0 2.5.853 4.78 2.246 6.638-8.26 8.07-13.402 19.318-13.402 31.778C333 347.102 352.898 367 377.444 367c20.754 0 38.134-14.244 43.025-33.476.469.06.933.143 1.42.143 6.138 0 11.111-4.974 11.111-11.111 0-6.138-4.973-11.112-11.111-11.112" fill="#44D860"/><path fill="#3ECC5F" d="M333 233h66v-44h-66z"/><path d="M421.444 217.996c3.07 0 5.556-2.46 5.556-5.496 0-3.036-2.487-5.496-5.556-5.496-.242 0-.475.042-.708.07-.045-.165-.083-.33-.13-.495 2.005-.828 3.416-2.787 3.416-5.071 0-3.037-2.486-5.497-5.555-5.497a5.533 5.533 0 00-3.351 1.14 14.707 14.707 0 00-.374-.37 5.4 5.4 0 001.125-3.285c0-3.034-2.487-5.496-5.556-5.496a5.557 5.557 0 00-5.111 3.344 22.417 22.417 0 00-5.978-.829c-12.27 0-22.222 9.845-22.222 21.985 0 12.14 9.951 21.985 22.222 21.985 2.076 0 4.074-.303 5.978-.829a5.557 5.557 0 005.111 3.344c3.069 0 5.556-2.462 5.556-5.496a5.4 5.4 0 00-1.125-3.285c.127-.12.251-.244.374-.37a5.533 5.533 0 003.35 1.14c3.07 0 5.556-2.46 5.556-5.497 0-2.284-1.41-4.243-3.415-5.071.046-.163.084-.33.129-.495.233.028.466.07.708.07" fill="#44D860"/><path d="M134.4 84c-3.093 0-5.6-2.462-5.6-5.5 0-9.1-7.535-16.5-16.8-16.5s-16.8 7.4-16.8 16.5c0 3.038-2.507 5.5-5.6 5.5-3.093 0-5.6-2.462-5.6-5.5C84 63.335 96.56 51 112 51s28 12.335 28 27.5c0 3.038-2.507 5.5-5.6 5.5" fill="#000"/><path d="M222 367h133.5c24.577 0 44.5-19.798 44.5-44.222V168H266.5c-24.577 0-44.5 19.798-44.5 44.222V367z" fill="#FFFF50"/><path d="M366.77 236H255.23c-1.234 0-2.23-.894-2.23-2 0-1.106.996-2 2.23-2h111.54c1.234 0 2.23.894 2.23 2 0 1.106-.996 2-2.23 2m0 44H255.23c-1.234 0-2.23-.894-2.23-2 0-1.106.996-2 2.23-2h111.54c1.234 0 2.23.894 2.23 2 0 1.106-.996 2-2.23 2m0 44H255.23c-1.234 0-2.23-.894-2.23-2 0-1.106.996-2 2.23-2h111.54c1.234 0 2.23.894 2.23 2 0 1.106-.996 2-2.23 2m0-110H255.23c-1.234 0-2.23-.896-2.23-2 0-1.106.996-2 2.23-2h111.54c1.234 0 2.23.894 2.23 2 0 1.104-.996 2-2.23 2m0 44H255.23c-1.234 0-2.23-.894-2.23-2 0-1.106.996-2 2.23-2h111.54c1.234 0 2.23.894 2.23 2 0 1.106-.996 2-2.23 2m0 44H255.23c-1.234 0-2.23-.894-2.23-2 0-1.106.996-2 2.23-2h111.54c1.234 0 2.23.894 2.23 2 0 1.106-.996 2-2.23 2M399 98.011c-.027 0-.049-.013-.075-.01-6.833.233-10.066 7.117-12.918 13.19-2.977 6.346-5.279 10.475-9.051 10.35-4.177-.151-6.565-4.904-9.095-9.935-2.906-5.775-6.223-12.327-13.186-12.082-6.736.231-9.98 6.222-12.84 11.507-3.046 5.63-5.118 9.054-9.114 8.896-4.26-.156-6.525-4.02-9.145-8.493-2.922-4.98-6.298-10.579-13.127-10.387-6.62.23-9.873 5.312-12.743 9.8-3.036 4.743-5.163 7.634-9.21 7.463-4.363-.158-6.616-3.363-9.223-7.076-2.928-4.171-6.227-8.893-13.036-8.664-6.474.223-9.727 4.386-12.595 8.058-2.725 3.483-4.852 6.24-9.352 6.067-1.22-.049-2.244.915-2.288 2.147a2.222 2.222 0 002.13 2.307c6.67.225 10.05-4.01 12.984-7.766 2.602-3.332 4.849-6.207 9.272-6.358 4.258-.183 6.255 2.483 9.276 6.781 2.868 4.085 6.123 8.717 12.673 8.956 6.861.231 10.163-4.933 13.086-9.504 2.614-4.084 4.87-7.61 9.177-7.759 3.965-.15 6.123 3.007 9.166 8.198 2.868 4.893 6.116 10.437 12.796 10.682 6.91.24 10.247-5.838 13.155-11.214 2.519-4.65 4.896-9.045 9.108-9.19 3.965-.093 6.033 3.553 9.09 9.644 2.858 5.686 6.097 12.127 12.882 12.374.126.005.25.007.373.007 6.776 0 9.99-6.848 12.837-12.904 2.518-5.368 4.902-10.425 8.993-10.63V98.01z" fill="#000"/><path fill="#3ECC5F" d="M178 367h89v-89h-89z"/><path d="M310.889 311.444c-.487 0-.951.083-1.42.143-.085-.334-.165-.67-.258-1.003 4.013-1.675 6.833-5.63 6.833-10.25 0-6.138-4.973-11.112-11.11-11.112-2.53 0-4.834.88-6.703 2.302-.247-.25-.493-.5-.744-.746 1.393-1.858 2.246-4.138 2.246-6.638 0-6.138-4.973-11.111-11.11-11.111-4.59 0-8.527 2.784-10.22 6.758-.33-.094-.66-.171-.99-.256.06-.469.143-.933.143-1.42 0-6.138-4.974-11.111-11.112-11.111-6.137 0-11.11 4.973-11.11 11.111 0 .487.082.951.142 1.42-.33.085-.66.162-.99.256-1.693-3.974-5.63-6.758-10.22-6.758-6.137 0-11.11 4.973-11.11 11.111 0 2.5.853 4.78 2.246 6.638-8.26 8.07-13.402 19.318-13.402 31.778C222 347.102 241.898 367 266.444 367c20.754 0 38.134-14.244 43.025-33.476.469.06.933.143 1.42.143 6.138 0 11.111-4.974 11.111-11.111 0-6.138-4.973-11.112-11.111-11.112" fill="#44D860"/><path fill="#3ECC5F" d="M178 232h89v-43h-89z"/><path d="M291.444 215.996c3.07 0 5.556-2.46 5.556-5.496 0-3.036-2.487-5.496-5.556-5.496-.242 0-.475.042-.708.07-.045-.165-.083-.33-.13-.495 2.005-.828 3.416-2.787 3.416-5.071 0-3.037-2.486-5.497-5.555-5.497a5.533 5.533 0 00-3.351 1.14 14.707 14.707 0 00-.374-.37 5.4 5.4 0 001.125-3.285c0-3.034-2.487-5.496-5.556-5.496a5.557 5.557 0 00-5.111 3.344 22.417 22.417 0 00-5.978-.829c-12.27 0-22.222 9.845-22.222 21.985 0 12.14 9.951 21.985 22.222 21.985 2.076 0 4.074-.303 5.978-.829a5.557 5.557 0 005.111 3.344c3.069 0 5.556-2.462 5.556-5.496a5.4 5.4 0 00-1.125-3.285c.127-.12.251-.244.374-.37a5.533 5.533 0 003.35 1.14c3.07 0 5.556-2.46 5.556-5.497 0-2.284-1.41-4.243-3.415-5.071.046-.163.084-.33.129-.495.233.028.466.07.708.07" fill="#44D860"/><path d="M310.5 54c-.352 0-.726-.044-1.078-.11a5.545 5.545 0 01-1.034-.308 5.713 5.713 0 01-.948-.506 8.332 8.332 0 01-.836-.681c-.24-.264-.482-.528-.68-.836a5.779 5.779 0 01-.508-.945 5.756 5.756 0 01-.416-2.111c0-.352.044-.726.11-1.078a6.34 6.34 0 01.306-1.033c.134-.33.31-.638.508-.946.198-.286.44-.571.68-.835a8.31 8.31 0 01.836-.682c.31-.198.618-.374.948-.506a5.545 5.545 0 011.034-.308 5.09 5.09 0 012.156 0c.35.066.704.176 1.034.308.328.132.638.308.946.506.286.198.57.44.836.682.242.264.484.55.682.835.198.308.374.616.506.946.132.352.242.681.308 1.033.064.352.11.726.11 1.078 0 1.451-.596 2.88-1.606 3.892-.266.242-.55.484-.836.681a5.694 5.694 0 01-.946.506 5.64 5.64 0 01-1.034.308c-.352.066-.726.11-1.078.11m44-3a5.617 5.617 0 01-3.896-1.605 8.362 8.362 0 01-.68-.836 5.779 5.779 0 01-.508-.945 5.756 5.756 0 01-.416-2.111 5.61 5.61 0 011.604-3.892 8.31 8.31 0 01.836-.682c.31-.198.618-.374.948-.506a5.545 5.545 0 011.034-.308 5.09 5.09 0 012.156 0c.35.066.704.176 1.034.308.328.132.638.308.946.506.286.198.57.44.836.682A5.612 5.612 0 01360 45.503c0 .352-.046.725-.11 1.077a5.588 5.588 0 01-.308 1.034c-.154.33-.308.637-.506.945-.198.286-.44.572-.682.836-.266.242-.55.484-.836.681a5.694 5.694 0 01-.946.506 5.64 5.64 0 01-1.034.308c-.352.066-.726.11-1.078.11" fill="#000"/><path d="M397.746 59.164c-8.263-.662-16.538-2.786-24.788-1.987-46.195 4.475-23.044 9.142-55.485 7.04-11.825-.768-33.295-.768-64.41 0-14.883 2.594-25.22 7.217-31.014 13.867-4.342 4.985-12.33 15.79-15.388 21.114-9.625 16.755-15.227 41.548 5.269 54.425 11.493 7.22 30.769 6.01 40.927 5.957 20.201-.102 56.513 3.293 95.068.116s45.406 4.511 51.202 1.655c2.252-1.11 1.285-14.913 1.063-15.465-3-7.44-161.12-9.935-162.376-17.857-1.607-10.137-2.654-20.666-.886-30.776 1.046-5.982 159.191-11.59 161.778-17.086 1.527-3.243 2.711-6.708 3.242-10.253.271-1.808-.596-3.608-.894-5.412l-3.308-5.338z" fill="#FF9C9C"/><g transform="translate(497 239)"><ellipse stroke="#979797" fill="#FFF" cx="163" cy="64" rx="163" ry="64"/><ellipse stroke="#D9D9D9" stroke-width="2" cx="163" cy="64" rx="95" ry="37"/></g><g transform="translate(603 99)"><path stroke="#EDE66C" fill="#FFF9A9" d="M99.773 226L3 193.227V62.477L99.773 94z"/><path d="M3 62.477V192.5" stroke="#FF9C9C" stroke-width="6" stroke-linecap="round" stroke-linejoin="bevel"/><path stroke="#FF9C9C" stroke-width="6" fill="#FFB5B5" stroke-linecap="round" stroke-linejoin="round" d="M3 62.477l95.773-7.739V95z"/><path d="M99.362 148.602c-.016-.004-.027-.015-.043-.017-4.103-.801-6.97 2.826-9.498 6.027-2.64 3.344-4.576 5.47-6.806 4.878-2.468-.664-3.242-3.805-4.062-7.129-.942-3.816-2.024-8.148-6.206-8.961-4.045-.79-6.796 2.308-9.222 5.041-2.583 2.912-4.285 4.652-6.644 4.01-2.518-.68-3.34-3.277-4.29-6.283-1.06-3.348-2.307-7.124-6.401-7.95-3.976-.775-6.608 1.784-8.931 4.044-2.457 2.389-4.12 3.806-6.507 3.148-2.577-.693-3.482-2.9-4.528-5.454-1.175-2.87-2.496-6.118-6.584-6.918-3.888-.76-6.394 1.256-8.604 3.034-2.1 1.686-3.743 3.024-6.4 2.303a1.353 1.353 0 00-.703 2.613c3.943 1.05 6.535-.99 8.796-2.808 2.006-1.613 3.737-3.005 6.393-2.487 2.562.478 3.387 2.33 4.6 5.288 1.151 2.811 2.458 6 6.327 7.041 4.057 1.081 6.73-1.52 9.095-3.822 2.115-2.057 3.94-3.832 6.527-3.328 2.383.457 3.238 2.621 4.341 6.11 1.04 3.29 2.22 7.016 6.166 8.08 4.084 1.093 6.902-2.044 9.369-4.824 2.136-2.405 4.152-4.678 6.682-4.184 2.375.49 3.108 2.931 4.099 6.956.925 3.756 1.976 8.012 5.984 9.092.074.02.148.038.222.055 4.036.932 6.887-2.677 9.41-5.868 2.233-2.83 4.344-5.493 6.81-5.052l.608-2.635z" fill="#FF9C9C"/><path d="M99.362 150.602c-.016-.004-.027-.015-.043-.017-4.103-.801-6.97 2.826-9.498 6.027-2.64 3.344-4.576 5.47-6.806 4.878-2.468-.664-3.242-3.805-4.062-7.129-.942-3.816-2.024-8.148-6.206-8.961-4.045-.79-6.796 2.308-9.222 5.041-2.583 2.912-4.285 4.652-6.644 4.01-2.518-.68-3.34-3.277-4.29-6.283-1.06-3.348-2.307-7.124-6.401-7.95-3.976-.775-6.608 1.784-8.931 4.044-2.457 2.389-4.12 3.806-6.507 3.148-2.577-.693-3.482-2.9-4.528-5.454-1.175-2.87-2.496-6.118-6.584-6.918-3.888-.76-6.394 1.256-8.604 3.034-2.1 1.686-3.743 3.024-6.4 2.303a1.353 1.353 0 00-.703 2.613c3.943 1.05 6.535-.99 8.796-2.808 2.006-1.613 3.737-3.005 6.393-2.487 2.562.478 3.387 2.33 4.6 5.288 1.151 2.811 2.458 6 6.327 7.041 4.057 1.081 6.73-1.52 9.095-3.822 2.115-2.057 3.94-3.832 6.527-3.328 2.383.457 3.238 2.621 4.341 6.11 1.04 3.29 2.22 7.016 6.166 8.08 4.084 1.093 6.902-2.044 9.369-4.824 2.136-2.405 4.152-4.678 6.682-4.184 2.375.49 3.108 2.931 4.099 6.956.925 3.756 1.976 8.012 5.984 9.092.074.02.148.038.222.055 4.036.932 6.887-2.677 9.41-5.868 2.233-2.83 4.344-5.493 6.81-5.052l.608-2.635z" fill="#FF9C9C"/><path d="M99.362 152.602c-.016-.004-.027-.015-.043-.017-4.103-.801-6.97 2.826-9.498 6.027-2.64 3.344-4.576 5.47-6.806 4.878-2.468-.664-3.242-3.805-4.062-7.129-.942-3.816-2.024-8.148-6.206-8.961-4.045-.79-6.796 2.308-9.222 5.041-2.583 2.912-4.285 4.652-6.644 4.01-2.518-.68-3.34-3.277-4.29-6.283-1.06-3.348-2.307-7.124-6.401-7.95-3.976-.775-6.608 1.784-8.931 4.044-2.457 2.389-4.12 3.806-6.507 3.148-2.577-.693-3.482-2.9-4.528-5.454-1.175-2.87-2.496-6.118-6.584-6.918-3.888-.76-6.394 1.256-8.604 3.034-2.1 1.686-3.743 3.024-6.4 2.303a1.353 1.353 0 00-.703 2.613c3.943 1.05 6.535-.99 8.796-2.808 2.006-1.613 3.737-3.005 6.393-2.487 2.562.478 3.387 2.33 4.6 5.288 1.151 2.811 2.458 6 6.327 7.041 4.057 1.081 6.73-1.52 9.095-3.822 2.115-2.057 3.94-3.832 6.527-3.328 2.383.457 3.238 2.621 4.341 6.11 1.04 3.29 2.22 7.016 6.166 8.08 4.084 1.093 6.902-2.044 9.369-4.824 2.136-2.405 4.152-4.678 6.682-4.184 2.375.49 3.108 2.931 4.099 6.956.925 3.756 1.976 8.012 5.984 9.092.074.02.148.038.222.055 4.036.932 6.887-2.677 9.41-5.868 2.233-2.83 4.344-5.493 6.81-5.052l.608-2.635z" fill="#FF9C9C"/><path d="M97.362 152.602c-.016-.004-.027-.015-.043-.017-4.103-.801-6.97 2.826-9.498 6.027-2.64 3.344-4.576 5.47-6.806 4.878-2.468-.664-3.242-3.805-4.062-7.129-.942-3.816-2.024-8.148-6.206-8.961-4.045-.79-6.796 2.308-9.222 5.041-2.583 2.912-4.285 4.652-6.644 4.01-2.518-.68-3.34-3.277-4.29-6.283-1.06-3.348-2.307-7.124-6.401-7.95-3.976-.775-6.608 1.784-8.931 4.044-2.457 2.389-4.12 3.806-6.507 3.148-2.577-.693-3.482-2.9-4.528-5.454-1.175-2.87-2.496-6.118-6.584-6.918-3.888-.76-6.394 1.256-8.604 3.034-2.1 1.686-3.743 3.024-6.4 2.303a1.353 1.353 0 00-.703 2.613c3.943 1.05 6.535-.99 8.796-2.808 2.006-1.613 3.737-3.005 6.393-2.487 2.562.478 3.387 2.33 4.6 5.288 1.151 2.811 2.458 6 6.327 7.041 4.057 1.081 6.73-1.52 9.095-3.822 2.115-2.057 3.94-3.832 6.527-3.328 2.383.457 3.238 2.621 4.341 6.11 1.04 3.29 2.22 7.016 6.166 8.08 4.084 1.093 6.902-2.044 9.369-4.824 2.136-2.405 4.152-4.678 6.682-4.184 2.375.49 3.108 2.931 4.099 6.956.925 3.756 1.976 8.012 5.984 9.092.074.02.148.038.222.055 4.036.932 6.887-2.677 9.41-5.868 2.233-2.83 4.344-5.493 6.81-5.052l.608-2.635z" fill="#FF9C9C"/><path d="M97.362 152.602c-.016-.004-.027-.015-.043-.017-4.103-.801-6.97 2.826-9.498 6.027-2.64 3.344-4.576 5.47-6.806 4.878-2.468-.664-3.242-3.805-4.062-7.129-.942-3.816-2.024-8.148-6.206-8.961-4.045-.79-6.796 2.308-9.222 5.041-2.583 2.912-4.285 4.652-6.644 4.01-2.518-.68-3.34-3.277-4.29-6.283-1.06-3.348-2.307-7.124-6.401-7.95-3.976-.775-6.608 1.784-8.931 4.044-2.457 2.389-4.12 3.806-6.507 3.148-2.577-.693-3.482-2.9-4.528-5.454-1.175-2.87-2.496-6.118-6.584-6.918-3.888-.76-6.394 1.256-8.604 3.034-2.1 1.686-3.743 3.024-6.4 2.303a1.353 1.353 0 00-.703 2.613c3.943 1.05 6.535-.99 8.796-2.808 2.006-1.613 3.737-3.005 6.393-2.487 2.562.478 3.387 2.33 4.6 5.288 1.151 2.811 2.458 6 6.327 7.041 4.057 1.081 6.73-1.52 9.095-3.822 2.115-2.057 3.94-3.832 6.527-3.328 2.383.457 3.238 2.621 4.341 6.11 1.04 3.29 2.22 7.016 6.166 8.08 4.084 1.093 6.902-2.044 9.369-4.824 2.136-2.405 4.152-4.678 6.682-4.184 2.375.49 3.108 2.931 4.099 6.956.925 3.756 1.976 8.012 5.984 9.092.074.02.148.038.222.055 4.036.932 6.887-2.677 9.41-5.868 2.233-2.83 4.344-5.493 6.81-5.052l.608-2.635z" fill="#FF9C9C"/><ellipse fill="#F2E864" cx="86.5" cy="110.5" rx="2.5" ry="3.5"/><ellipse fill="#F2E864" cx="48.5" cy="117.5" rx="2.5" ry="3.5"/><ellipse fill="#F2E864" cx="31.5" cy="93.5" rx="2.5" ry="3.5"/><path d="M50.997 66.895a.879.879 0 01-.097-.395.85.85 0 01.065-.323l-1.98-43.772h17.583v43.869a.831.831 0 010 .452v.228h-.097C65.8 68.118 62.599 69 58.75 69s-7.05-.882-7.72-2.046H51l-.003-.06z" fill="#D0021B"/><ellipse fill="#EA364C" cx="57.75" cy="22.5" rx="8.75" ry="2.5"/><path d="M58.669 22.334c-3.29-3.382-2.296-1.265-.472-6.665" stroke="#7D7D7D"/><path d="M58.13 18.67c-1.936-.072-3.422-.837-3.257-6.226.11-3.593 1.374-7.41 3.796-11.454-.345 1.89.086 4.013 1.292 6.37 1.808 3.534 3.579 3.002 3.061 6.202-.518 3.2-2.957 5.178-4.892 5.107z" fill="#F8E71C"/><ellipse fill="#F2E864" cx="71.5" cy="189.5" rx="2.5" ry="3.5"/></g><path stroke="#FF9C9C" fill="#D8D8D8" d="M660.5 242.5h1v6h-1z"/><circle fill="#FFF9A9" cx="714" cy="311" r="3"/><circle fill="#FFF9A9" cx="613" cy="324" r="3"/><circle fill="#FFF9A9" cx="597" cy="315" r="3"/><circle fill="#FFF9A9" cx="622" cy="306" r="3"/><circle fill="#FFF9A9" cx="638" cy="320" r="3"/><path d="M408.78 197.66a4.501 4.501 0 011.72-8.66 4.5 4.5 0 013.545 7.272c.751.268 1.468.727 2.136 1.351.823-.997 2.005-1.623 3.319-1.623 2.485 0 4.5 2.239 4.5 5 0 2.459-1.598 4.503-3.702 4.922.256 1.144.448 2.356.566 3.618.641-.944 1.584-1.54 2.636-1.54 1.933 0 3.5 2.015 3.5 4.5s-1.567 4.5-3.5 4.5c-1.052 0-1.995-.596-2.636-1.54a28.68 28.68 0 01-.608 3.8c2.177.666 3.744 2.537 3.744 4.74 0 2.761-2.462 5-5.5 5a5.856 5.856 0 01-3.187-.925c-.88.6-1.827.925-2.813.925-4.694 0-8.5-7.387-8.5-16.5 0-6.523 1.95-12.162 4.78-14.84zM410.5 237c-2.485 0-4.5-1.79-4.5-4s2.015-4 4.5-4 4.5 1.79 4.5 4-2.015 4-4.5 4zm-66.971 149.51c4.07 1.402 6.471 3.126 6.471 4.99 0 4.694-15.222 8.5-34 8.5s-34-3.806-34-8.5c0-4.064 11.41-7.462 26.658-8.301-7.366-1.346-11.658-2.962-11.658-4.699 0-4.694 31.34-8.5 70-8.5s70 3.806 70 8.5-31.34 8.5-70 8.5a546.99 546.99 0 01-23.471-.49zM459.5 375c-15.188 0-27.5-3.358-27.5-7.5 0-4.142 12.312-7.5 27.5-7.5s27.5 3.358 27.5 7.5c0 4.142-12.312 7.5-27.5 7.5z" fill="#FF9C9C"/><path d="M267 190.148c4.067.487 6.498-.022 8.018-.087 2.868-.123 2.868-4.715 7.856-2.42 3.326 1.531 3.8 4.19 1.421 7.976 2.826-.563 4.898-.637 6.217-.22 5.337 1.686 5.472 5.125.403 10.316 4.057.532 6.085 2.145 6.085 4.839 0 2.693-2.292 4.67-6.875 5.932 3.637 2.864 4.58 5.618 2.83 8.263-1.75 2.644-4.623 2.988-8.621 1.03 2.023 5 1.278 7.96-2.233 8.88-3.512.919-5.55-.008-6.116-2.781" stroke="#FF9C9C" stroke-width="3"/><ellipse fill="#FF9C9C" cx="541.5" cy="380" rx="52.5" ry="9"/></g><g fill="#FFF"><use filter="url(#b)" xlink:href="#c"/><use xlink:href="#c"/></g><g fill="#FFF"><use filter="url(#d)" xlink:href="#e"/><use xlink:href="#e"/></g><g fill="#FFF"><use filter="url(#f)" xlink:href="#g"/><use xlink:href="#g"/></g><path fill="#000" d="M1450 742h355V631h-355z"/><path fill="#FFF" d="M1594.857 682.227v-23.381h11.795v2.457h-8.785v8.146h8.05v2.456h-8.05v10.322zm23.87-7.337c-.98-.316-2.87-.738-4.62-.738-2.345 0-2.94 1.123-2.94 3.054 0 2.142.7 3.16 2.73 3.16 2.1 0 3.85-.807 4.83-1.475v-4.001zm2.94 7.337h-2.484l-.176-1.44c-.98.773-3.36 1.79-5.529 1.79-3.71 0-5.18-2.176-5.18-5.44 0-3.441 1.714-5.232 5.39-5.232 2.17 0 4.094.562 5.039.983v-2.668c0-2.246-.7-3.194-3.29-3.194-1.54 0-3.079.21-4.62.667l-.454-2.423c1.504-.49 3.605-.806 5.39-.806 4.025 0 5.915 1.755 5.915 5.58v12.183zm14.98-17.027l-.385 2.282c-.945-.316-2.484-.632-3.675-.632-3.92 0-4.234 2.563-4.234 6.67 0 4.108.314 6.67 4.234 6.67 1.19 0 2.73-.316 3.675-.631l.385 2.281c-.98.386-2.59.737-4.13.737-5.669 0-7.105-3.686-7.105-9.057 0-5.37 1.436-9.057 7.105-9.057 1.54 0 3.15.35 4.13.737m5.671 7.302h7.873v-.631c0-3.23-1.014-5.196-3.885-5.196-3.254 0-3.954 2.35-3.988 5.827zm0 2.318c.174 3.685 1.084 5.44 4.619 5.44 1.855 0 3.78-.455 5.11-.983l.455 2.247c-1.435.598-3.71 1.054-5.6 1.054-6.265 0-7.525-4.283-7.525-9.163 0-5.02 1.645-8.952 6.965-8.952 4.725 0 6.684 3.335 6.684 7.513v2.844h-10.708zm17.777 3.65c1.331 1.16 2.766 1.72 4.095 1.72 3.326 0 3.956-2.598 3.956-6.634 0-3.862-.735-6.74-4.096-6.74-1.784 0-2.904.702-3.955 1.544v10.11zm4.55 4.107c-1.96 0-3.815-.947-4.76-2.105l-.244 1.755h-2.485V657.44h2.94v8.778c.84-.878 2.52-1.791 4.34-1.791 4.899 0 6.65 3.65 6.65 9.092 0 5.091-1.47 9.057-6.44 9.057zm16.765-15.727c-3.638 0-4.373 2.985-4.373 6.67 0 3.686.735 6.671 4.374 6.671 3.64 0 4.374-2.985 4.374-6.67 0-3.686-.734-6.671-4.374-6.671m0 15.728c-5.04 0-7.315-3.792-7.315-9.057 0-5.267 2.276-9.058 7.315-9.058 5.04 0 7.315 3.791 7.315 9.058 0 5.265-2.275 9.057-7.315 9.057m17.569-15.728c-3.639 0-4.373 2.985-4.373 6.67 0 3.686.734 6.671 4.373 6.671 3.64 0 4.375-2.985 4.375-6.67 0-3.686-.735-6.671-4.375-6.671m0 15.728c-5.039 0-7.314-3.792-7.314-9.057 0-5.267 2.275-9.058 7.314-9.058 5.04 0 7.316 3.791 7.316 9.058 0 5.265-2.276 9.057-7.316 9.057m11.41-.351V657.44h2.94v15.412l6.055-8.039h3.43l-6.65 8.6 6.93 8.813h-3.465l-6.3-8.25v8.25zM1602.492 694.3c-4.97 0-6.02 3.756-6.02 9.654s1.05 9.654 6.02 9.654 6.02-3.756 6.02-9.654-1.05-9.654-6.02-9.654m-9.03 9.654c0-7.092 2.345-12.112 9.03-12.112 6.686 0 9.03 5.02 9.03 12.112 0 7.092-2.344 12.112-9.03 12.112-6.685 0-9.03-5.02-9.03-12.112m25.375 8.32a6.395 6.395 0 003.92 1.369c3.396 0 4.13-2.668 4.13-6.74 0-4.073-.63-6.635-3.92-6.635-1.75 0-3.15.842-4.13 1.72v10.286zm4.34 3.756c-1.82 0-3.499-.737-4.34-1.439v7.372h-2.94v-23.732h2.486l.244 1.755c.806-1.123 2.696-2.105 4.76-2.105 5.11 0 6.44 4.142 6.44 9.056 0 5.478-1.82 9.093-6.65 9.093zm12.53-10.11h7.874v-.632c0-3.23-1.015-5.195-3.884-5.195-3.255 0-3.955 2.35-3.99 5.827zm0 2.317c.174 3.686 1.084 5.441 4.62 5.441 1.855 0 3.779-.456 5.109-.983l.455 2.246c-1.436.598-3.709 1.054-5.6 1.054-6.264 0-7.525-4.283-7.525-9.162 0-5.02 1.646-8.952 6.965-8.952 4.724 0 6.686 3.335 6.686 7.512v2.844h-10.71zm25.059 7.407V702.97c0-1.579-.665-2.386-2.38-2.386-1.819 0-3.64.596-4.9 1.159v13.901h-2.94v-17.412h2.381l.245 1.544c1.4-.947 3.605-1.895 5.949-1.895 2.975 0 4.585 1.684 4.585 4.773v12.99h-2.94zm21.105.421c-1.96 0-4.934-.491-6.44-1.228l.491-2.423c1.54.633 3.64 1.229 5.844 1.229 3.255 0 4.796-1.158 4.796-3.826 0-2.773-1.261-3.687-4.865-4.775-4.271-1.299-6.44-2.703-6.44-6.74 0-4.39 2.274-6.46 7.28-6.46 2.134 0 4.13.386 5.635 1.018l-.492 2.352c-1.399-.492-3.253-.947-5.039-.947-3.464 0-4.41 1.192-4.41 3.861 0 2.739.874 3.125 4.165 4.248 4.34 1.474 7.14 2.563 7.14 7.056 0 4.529-3.045 6.635-7.665 6.635m17.849-15.798c-3.638 0-4.373 2.985-4.373 6.671 0 3.686.735 6.67 4.374 6.67 3.64 0 4.374-2.984 4.374-6.67s-.734-6.67-4.374-6.67m0 15.727c-5.04 0-7.315-3.792-7.315-9.057 0-5.266 2.276-9.057 7.315-9.057 5.04 0 7.315 3.79 7.315 9.057 0 5.265-2.275 9.057-7.315 9.057m14.175-17.763v12.673c0 1.58.664 2.387 2.38 2.387 1.749 0 3.534-.597 4.76-1.16v-13.9h2.94v17.412h-2.38l-.246-1.544c-1.364.947-3.535 1.895-5.81 1.895-2.975 0-4.585-1.685-4.585-4.774v-12.99h2.941zm23.694 2.458c-1.96.384-3.956 1.052-5.425 1.825v13.13h-2.94v-17.413h2.414l.316 2.035c1.05-1.053 2.975-2.07 5.25-2.281l.385 2.703zm12.914-2.072l-.385 2.281c-.944-.316-2.484-.632-3.674-.632-3.92 0-4.234 2.563-4.234 6.67 0 4.108.313 6.67 4.234 6.67 1.19 0 2.73-.315 3.674-.631l.385 2.281c-.98.387-2.589.737-4.13.737-5.668 0-7.104-3.685-7.104-9.057 0-5.37 1.436-9.056 7.104-9.056 1.541 0 3.15.35 4.13.737m5.671 7.302h7.874v-.632c0-3.23-1.015-5.195-3.886-5.195-3.253 0-3.955 2.35-3.988 5.827zm0 2.317c.174 3.686 1.084 5.441 4.619 5.441 1.856 0 3.78-.456 5.11-.983l.455 2.246c-1.436.598-3.71 1.054-5.6 1.054-6.265 0-7.525-4.283-7.525-9.162 0-5.02 1.646-8.952 6.965-8.952 4.724 0 6.684 3.335 6.684 7.512v2.844h-10.708z"/><path d="M1494.148 707.414l34.384 19.914 34.385-19.913v-39.829l-34.385-19.914-34.384 19.914v39.828zm34.384 24.582l-38.415-22.248v-44.496l38.415-22.248 38.416 22.249v44.495l-38.416 22.248z" fill="#4265A6"/><path d="M1528.531 665.652c-1.235 0-2.41.27-3.22.74l-13.383 7.75c-1.717.994-3.222 3.609-3.222 5.596v15.502c0 1.988 1.505 4.603 3.222 5.596l13.382 7.752c1.623.94 4.82.94 6.443 0l13.382-7.75c1.716-.995 3.221-3.61 3.221-5.597V679.74c0-1.987-1.505-4.603-3.22-5.596l-13.383-7.752c-.812-.47-1.986-.739-3.222-.739m0 47.718c-1.95 0-3.81-.455-5.236-1.28l-13.383-7.752c-2.937-1.7-5.236-5.696-5.236-9.098v-15.502c0-3.4 2.3-7.397 5.236-9.098l13.383-7.75c1.427-.826 3.287-1.28 5.236-1.28 1.95 0 3.81.454 5.236 1.28l13.384 7.752c2.937 1.7 5.236 5.696 5.236 9.097v15.502c0 3.4-2.3 7.397-5.236 9.098l-13.384 7.75c-1.426.826-3.286 1.281-5.236 1.281" fill="#00CEFF"/><path d="M1528.532 680.935c-3.616 0-6.56 2.95-6.56 6.58 0 3.626 2.944 6.578 6.56 6.578 3.616 0 6.56-2.952 6.56-6.579 0-3.628-2.944-6.58-6.56-6.58m0 17.202c-5.839 0-10.59-4.765-10.59-10.622 0-5.858 4.751-10.622 10.59-10.622 5.838 0 10.59 4.764 10.59 10.622 0 5.857-4.752 10.622-10.59 10.622" fill="#FFF"/><text font-family="ArialRoundedMTBold, Arial Rounded MT Bold" font-size="22" fill="#FFF" fill-opacity=".528"><tspan x="749.945" y="716">Learn more at </tspan> <tspan x="904.031" y="716" text-decoration="underline">docusaurus.io</tspan></text><path d="M823.288 353.588c-11.129.433-17.44 12.78-17.622 18.525-.181 5.746 13.328 5.878 15.291 14.764 1.963 8.886-12.728 14.409-7.143 22.115 5.586 7.707 17.973-6.23 25.756 3.567 10.814 13.61-21.275 54.116 18.944 48.634 5.007-.682 10.966-7.184 13.224-9.974 13.69-16.92-3.428-18.799 1.932-31.393 3.079-7.234 15.379-30.972 11.818-39.056-3.56-8.084-9.49-2.956-12.83-6.368-5.254-5.366 10.71-15.533 1.012-24.315-9.697-8.783-22.1-6.22-31.58-3.368-9.479 2.851-7.673 6.436-18.802 6.869z" fill="#FF9C9C"/><path d="M833.51 430.427c-6.218 8.13-16.68-.936-12.585-9.846 9.15-11.067 19.97.187 12.584 9.846z" fill="#FF9C9C"/></g></svg> \ No newline at end of file diff --git a/assets/images/draftjs-9e8a6d2255f98acfe176fda0849cf71e.png b/assets/images/draftjs-9e8a6d2255f98acfe176fda0849cf71e.png new file mode 100644 index 0000000000..1b4bd7aa77 Binary files /dev/null and b/assets/images/draftjs-9e8a6d2255f98acfe176fda0849cf71e.png differ diff --git a/assets/images/drayman-8db14fbb4d4e74e76bda56606fe3327b.png b/assets/images/drayman-8db14fbb4d4e74e76bda56606fe3327b.png new file mode 100644 index 0000000000..82af9d87ad Binary files /dev/null and b/assets/images/drayman-8db14fbb4d4e74e76bda56606fe3327b.png differ diff --git a/assets/images/dyte-d03fa5d0bbac1ac1f1e971313b990f81.png b/assets/images/dyte-d03fa5d0bbac1ac1f1e971313b990f81.png new file mode 100644 index 0000000000..8a385945d6 Binary files /dev/null and b/assets/images/dyte-d03fa5d0bbac1ac1f1e971313b990f81.png differ diff --git a/assets/images/dyte-dark-b9748e4bcb4281880ff1856519d58b38.png b/assets/images/dyte-dark-b9748e4bcb4281880ff1856519d58b38.png new file mode 100644 index 0000000000..e8cacb7065 Binary files /dev/null and b/assets/images/dyte-dark-b9748e4bcb4281880ff1856519d58b38.png differ diff --git a/assets/images/dyte-f8d1e3817485787e9a26ec3c8c279126.png b/assets/images/dyte-f8d1e3817485787e9a26ec3c8c279126.png new file mode 100644 index 0000000000..ba4d3b09d7 Binary files /dev/null and b/assets/images/dyte-f8d1e3817485787e9a26ec3c8c279126.png differ diff --git a/assets/images/dyte-light-24caa76f96400453386185ae6bc06b8a.png b/assets/images/dyte-light-24caa76f96400453386185ae6bc06b8a.png new file mode 100644 index 0000000000..38f0a0fffb Binary files /dev/null and b/assets/images/dyte-light-24caa76f96400453386185ae6bc06b8a.png differ diff --git a/assets/images/easy-dates-da2832c14e89d0618e305579c22b959f.png b/assets/images/easy-dates-da2832c14e89d0618e305579c22b959f.png new file mode 100644 index 0000000000..cd33387dc2 Binary files /dev/null and b/assets/images/easy-dates-da2832c14e89d0618e305579c22b959f.png differ diff --git a/assets/images/easypanel-66b8119b4545a0c4dccc65c91d3f6849.png b/assets/images/easypanel-66b8119b4545a0c4dccc65c91d3f6849.png new file mode 100644 index 0000000000..400975b3d6 Binary files /dev/null and b/assets/images/easypanel-66b8119b4545a0c4dccc65c91d3f6849.png differ diff --git a/assets/images/editor-823e50dbed8e508bd5a69c708bab8928.png b/assets/images/editor-823e50dbed8e508bd5a69c708bab8928.png new file mode 100644 index 0000000000..90feb7abee Binary files /dev/null and b/assets/images/editor-823e50dbed8e508bd5a69c708bab8928.png differ diff --git a/assets/images/eightshift-docs-548747ddde278e8a29e0fb4a87d520ee.png b/assets/images/eightshift-docs-548747ddde278e8a29e0fb4a87d520ee.png new file mode 100644 index 0000000000..7de00705b5 Binary files /dev/null and b/assets/images/eightshift-docs-548747ddde278e8a29e0fb4a87d520ee.png differ diff --git a/assets/images/enarx-ff6526c1bbc90dd3b3b2bc92abb36a56.png b/assets/images/enarx-ff6526c1bbc90dd3b3b2bc92abb36a56.png new file mode 100644 index 0000000000..cd339d4d9b Binary files /dev/null and b/assets/images/enarx-ff6526c1bbc90dd3b3b2bc92abb36a56.png differ diff --git a/assets/images/endi-f942c4eafb5f650832b4327bfbadae4f.jpg b/assets/images/endi-f942c4eafb5f650832b4327bfbadae4f.jpg new file mode 100644 index 0000000000..b31ee596ff Binary files /dev/null and b/assets/images/endi-f942c4eafb5f650832b4327bfbadae4f.jpg differ diff --git a/assets/images/eta-beba707df244c24e3f238d29fc6dbc0c.png b/assets/images/eta-beba707df244c24e3f238d29fc6dbc0c.png new file mode 100644 index 0000000000..ccaefa897a Binary files /dev/null and b/assets/images/eta-beba707df244c24e3f238d29fc6dbc0c.png differ diff --git a/assets/images/evantay-967b4654e7d633c54ba25be6995a3b5a.png b/assets/images/evantay-967b4654e7d633c54ba25be6995a3b5a.png new file mode 100644 index 0000000000..7656d0dc35 Binary files /dev/null and b/assets/images/evantay-967b4654e7d633c54ba25be6995a3b5a.png differ diff --git a/assets/images/evershop-8979b0fe723ca184037ccf04ea6a4e5e.png b/assets/images/evershop-8979b0fe723ca184037ccf04ea6a4e5e.png new file mode 100644 index 0000000000..e132fbf7ae Binary files /dev/null and b/assets/images/evershop-8979b0fe723ca184037ccf04ea6a4e5e.png differ diff --git a/assets/images/fast-3625a8ab63a438fe333ac43a2fbf267c.png b/assets/images/fast-3625a8ab63a438fe333ac43a2fbf267c.png new file mode 100644 index 0000000000..c69425f766 Binary files /dev/null and b/assets/images/fast-3625a8ab63a438fe333ac43a2fbf267c.png differ diff --git a/assets/images/favorites-7220082695a33eba77188ba7223c165c.png b/assets/images/favorites-7220082695a33eba77188ba7223c165c.png new file mode 100644 index 0000000000..bc0bc60630 Binary files /dev/null and b/assets/images/favorites-7220082695a33eba77188ba7223c165c.png differ diff --git a/assets/images/fbt-23d3a0658ee4a07b4b3691ad07cbe9d8.png b/assets/images/fbt-23d3a0658ee4a07b4b3691ad07cbe9d8.png new file mode 100644 index 0000000000..91e18105bb Binary files /dev/null and b/assets/images/fbt-23d3a0658ee4a07b4b3691ad07cbe9d8.png differ diff --git a/assets/images/figma-8cf6076a3c5482b115f14805a1d8c977.png b/assets/images/figma-8cf6076a3c5482b115f14805a1d8c977.png new file mode 100644 index 0000000000..0b88b9f6a0 Binary files /dev/null and b/assets/images/figma-8cf6076a3c5482b115f14805a1d8c977.png differ diff --git a/assets/images/files-gallery-9010bf288799f09712411c875544f040.png b/assets/images/files-gallery-9010bf288799f09712411c875544f040.png new file mode 100644 index 0000000000..ad7d4dd158 Binary files /dev/null and b/assets/images/files-gallery-9010bf288799f09712411c875544f040.png differ diff --git a/assets/images/firecms-e5e06ac20d82e64357ea21e70d81a429.png b/assets/images/firecms-e5e06ac20d82e64357ea21e70d81a429.png new file mode 100644 index 0000000000..f4bf6b8164 Binary files /dev/null and b/assets/images/firecms-e5e06ac20d82e64357ea21e70d81a429.png differ diff --git a/assets/images/firelordjs-b8067ff7594d915dedcbdb35688bf828.png b/assets/images/firelordjs-b8067ff7594d915dedcbdb35688bf828.png new file mode 100644 index 0000000000..4824ddd1a1 Binary files /dev/null and b/assets/images/firelordjs-b8067ff7594d915dedcbdb35688bf828.png differ diff --git a/assets/images/flagsmith-a00ad356eee3eec8de1c554ce40b3c29.png b/assets/images/flagsmith-a00ad356eee3eec8de1c554ce40b3c29.png new file mode 100644 index 0000000000..a94592b042 Binary files /dev/null and b/assets/images/flagsmith-a00ad356eee3eec8de1c554ce40b3c29.png differ diff --git a/assets/images/flarum-e49af2f0db6f9f09d2cdffb0906b4d72.png b/assets/images/flarum-e49af2f0db6f9f09d2cdffb0906b4d72.png new file mode 100644 index 0000000000..65ffc338d3 Binary files /dev/null and b/assets/images/flarum-e49af2f0db6f9f09d2cdffb0906b4d72.png differ diff --git a/assets/images/flatifycss-5ceb8ade9fcc3ee7c0eb50757f19f0af.png b/assets/images/flatifycss-5ceb8ade9fcc3ee7c0eb50757f19f0af.png new file mode 100644 index 0000000000..a66d2c48ba Binary files /dev/null and b/assets/images/flatifycss-5ceb8ade9fcc3ee7c0eb50757f19f0af.png differ diff --git a/assets/images/flexit-d2e9d40f620bf5e3964a866e97195771.png b/assets/images/flexit-d2e9d40f620bf5e3964a866e97195771.png new file mode 100644 index 0000000000..4f6b1f2629 Binary files /dev/null and b/assets/images/flexit-d2e9d40f620bf5e3964a866e97195771.png differ diff --git a/assets/images/flipper-a94b8f31a1453c1b678b693eaf054304.png b/assets/images/flipper-a94b8f31a1453c1b678b693eaf054304.png new file mode 100644 index 0000000000..968a590367 Binary files /dev/null and b/assets/images/flipper-a94b8f31a1453c1b678b693eaf054304.png differ diff --git a/assets/images/foal-5d8b88ba45110336565e6b3f40beec25.png b/assets/images/foal-5d8b88ba45110336565e6b3f40beec25.png new file mode 100644 index 0000000000..362883cb83 Binary files /dev/null and b/assets/images/foal-5d8b88ba45110336565e6b3f40beec25.png differ diff --git a/assets/images/formatjs-f589f0b1fa5fddec117bcb52cbd80aed.png b/assets/images/formatjs-f589f0b1fa5fddec117bcb52cbd80aed.png new file mode 100644 index 0000000000..850bc4d415 Binary files /dev/null and b/assets/images/formatjs-f589f0b1fa5fddec117bcb52cbd80aed.png differ diff --git a/assets/images/froggit-e850adec4bcd46d5771e9894b189b0a8.png b/assets/images/froggit-e850adec4bcd46d5771e9894b189b0a8.png new file mode 100644 index 0000000000..c49f464635 Binary files /dev/null and b/assets/images/froggit-e850adec4bcd46d5771e9894b189b0a8.png differ diff --git a/assets/images/fullstackchronicles-e178c420cede1c9312a6d213cef43b92.png b/assets/images/fullstackchronicles-e178c420cede1c9312a6d213cef43b92.png new file mode 100644 index 0000000000..ceb830ff7e Binary files /dev/null and b/assets/images/fullstackchronicles-e178c420cede1c9312a6d213cef43b92.png differ diff --git a/assets/images/geekyweb-7fdcff51f644d364fa00d598aad94c51.png b/assets/images/geekyweb-7fdcff51f644d364fa00d598aad94c51.png new file mode 100644 index 0000000000..283bdf4a22 Binary files /dev/null and b/assets/images/geekyweb-7fdcff51f644d364fa00d598aad94c51.png differ diff --git a/assets/images/ghostly-ffe6ec76a4189e682d81decb7627cdc1.png b/assets/images/ghostly-ffe6ec76a4189e682d81decb7627cdc1.png new file mode 100644 index 0000000000..74f4662dec Binary files /dev/null and b/assets/images/ghostly-ffe6ec76a4189e682d81decb7627cdc1.png differ diff --git a/assets/images/gladys-assistant-244b5293677e66e4c5de9c725640e4ea.png b/assets/images/gladys-assistant-244b5293677e66e4c5de9c725640e4ea.png new file mode 100644 index 0000000000..10a03faf2c Binary files /dev/null and b/assets/images/gladys-assistant-244b5293677e66e4c5de9c725640e4ea.png differ diff --git a/assets/images/gotenberg-6764f133f36603528dc73e1e47841d7a.png b/assets/images/gotenberg-6764f133f36603528dc73e1e47841d7a.png new file mode 100644 index 0000000000..1b8b9f3bff Binary files /dev/null and b/assets/images/gotenberg-6764f133f36603528dc73e1e47841d7a.png differ diff --git a/assets/images/gtfs-to-html-16d770dd8f73a30cfda7b127440f0023.png b/assets/images/gtfs-to-html-16d770dd8f73a30cfda7b127440f0023.png new file mode 100644 index 0000000000..7861a2da14 Binary files /dev/null and b/assets/images/gtfs-to-html-16d770dd8f73a30cfda7b127440f0023.png differ diff --git a/assets/images/gulp-0b294d1ba9747b6b03ac35f0b6c9e82e.png b/assets/images/gulp-0b294d1ba9747b6b03ac35f0b6c9e82e.png new file mode 100644 index 0000000000..5a98bf95ba Binary files /dev/null and b/assets/images/gulp-0b294d1ba9747b6b03ac35f0b6c9e82e.png differ diff --git a/assets/images/gulp-e5414077cf70a0d7dccf21b8ba99f930.png b/assets/images/gulp-e5414077cf70a0d7dccf21b8ba99f930.png new file mode 100644 index 0000000000..a6dbfd6fdc Binary files /dev/null and b/assets/images/gulp-e5414077cf70a0d7dccf21b8ba99f930.png differ diff --git a/assets/images/haochen-f1754b3004cb222f39cf74fa3838d2db.png b/assets/images/haochen-f1754b3004cb222f39cf74fa3838d2db.png new file mode 100644 index 0000000000..4042a6dc14 Binary files /dev/null and b/assets/images/haochen-f1754b3004cb222f39cf74fa3838d2db.png differ diff --git a/assets/images/hash-96c9ef1044dc1febfe3eefdc9350e2a0.png b/assets/images/hash-96c9ef1044dc1febfe3eefdc9350e2a0.png new file mode 100644 index 0000000000..53f70658df Binary files /dev/null and b/assets/images/hash-96c9ef1044dc1febfe3eefdc9350e2a0.png differ diff --git a/assets/images/hasura-8db3b5011aa771598f1709cecff57d15.png b/assets/images/hasura-8db3b5011aa771598f1709cecff57d15.png new file mode 100644 index 0000000000..1e70106d42 Binary files /dev/null and b/assets/images/hasura-8db3b5011aa771598f1709cecff57d15.png differ diff --git a/assets/images/hasura-db25f3cf2fc7c618b39e78b8edfc24d8.png b/assets/images/hasura-db25f3cf2fc7c618b39e78b8edfc24d8.png new file mode 100644 index 0000000000..196e8d5cc2 Binary files /dev/null and b/assets/images/hasura-db25f3cf2fc7c618b39e78b8edfc24d8.png differ diff --git a/assets/images/hcaptcha-dbd3c526c80bc8518ee9f0eadac71355.png b/assets/images/hcaptcha-dbd3c526c80bc8518ee9f0eadac71355.png new file mode 100644 index 0000000000..1e702af6d3 Binary files /dev/null and b/assets/images/hcaptcha-dbd3c526c80bc8518ee9f0eadac71355.png differ diff --git a/assets/images/hector-ramos-df4b4600bf3a9c706bf91d5bfa9a4e9d.jpg b/assets/images/hector-ramos-df4b4600bf3a9c706bf91d5bfa9a4e9d.jpg new file mode 100644 index 0000000000..f60cd3f391 Binary files /dev/null and b/assets/images/hector-ramos-df4b4600bf3a9c706bf91d5bfa9a4e9d.jpg differ diff --git a/assets/images/home-assistant-efeeea05a876b615f4e90185d3a4982c.png b/assets/images/home-assistant-efeeea05a876b615f4e90185d3a4982c.png new file mode 100644 index 0000000000..8fb5a4c152 Binary files /dev/null and b/assets/images/home-assistant-efeeea05a876b615f4e90185d3a4982c.png differ diff --git a/assets/images/httpin-5d90ac166b4df77b0330ca1a903d5802.png b/assets/images/httpin-5d90ac166b4df77b0330ca1a903d5802.png new file mode 100644 index 0000000000..97cc4c84e2 Binary files /dev/null and b/assets/images/httpin-5d90ac166b4df77b0330ca1a903d5802.png differ diff --git a/assets/images/iammassoud-4a7ec5ba9dc1051b798b44b82a64dd48.png b/assets/images/iammassoud-4a7ec5ba9dc1051b798b44b82a64dd48.png new file mode 100644 index 0000000000..e31b3126ed Binary files /dev/null and b/assets/images/iammassoud-4a7ec5ba9dc1051b798b44b82a64dd48.png differ diff --git a/assets/images/icodex-a20601149b0dfcc8bd5dfb8028971b87.png b/assets/images/icodex-a20601149b0dfcc8bd5dfb8028971b87.png new file mode 100644 index 0000000000..1e51f644df Binary files /dev/null and b/assets/images/icodex-a20601149b0dfcc8bd5dfb8028971b87.png differ diff --git a/assets/images/idb-cdb19c085d71bec2e6531d707fe580b5.png b/assets/images/idb-cdb19c085d71bec2e6531d707fe580b5.png new file mode 100644 index 0000000000..a782088b19 Binary files /dev/null and b/assets/images/idb-cdb19c085d71bec2e6531d707fe580b5.png differ diff --git a/assets/images/image_cropped-2744c01b1fc0b451dbdb65a1d568fbff.png b/assets/images/image_cropped-2744c01b1fc0b451dbdb65a1d568fbff.png new file mode 100644 index 0000000000..b1d0a9c947 Binary files /dev/null and b/assets/images/image_cropped-2744c01b1fc0b451dbdb65a1d568fbff.png differ diff --git a/assets/images/indent-a94ecee4c569fe38b80f8e3de28bf868.png b/assets/images/indent-a94ecee4c569fe38b80f8e3de28bf868.png new file mode 100644 index 0000000000..498a257a9b Binary files /dev/null and b/assets/images/indent-a94ecee4c569fe38b80f8e3de28bf868.png differ diff --git a/assets/images/index-analytics-f9c27da3900de6206e949736b1cd8101.png b/assets/images/index-analytics-f9c27da3900de6206e949736b1cd8101.png new file mode 100644 index 0000000000..63837e3bfe Binary files /dev/null and b/assets/images/index-analytics-f9c27da3900de6206e949736b1cd8101.png differ diff --git a/assets/images/index-overview-ca216346e6eee6881443644b6d7d8fe8.png b/assets/images/index-overview-ca216346e6eee6881443644b6d7d8fe8.png new file mode 100644 index 0000000000..cf7c151e05 Binary files /dev/null and b/assets/images/index-overview-ca216346e6eee6881443644b6d7d8fe8.png differ diff --git a/assets/images/intelagent-0ec267dfc4d2a943fe0079fbb913b049.png b/assets/images/intelagent-0ec267dfc4d2a943fe0079fbb913b049.png new file mode 100644 index 0000000000..7fd2d2785d Binary files /dev/null and b/assets/images/intelagent-0ec267dfc4d2a943fe0079fbb913b049.png differ diff --git a/assets/images/ionic-dark-17086f816052f02e84054fe002256ed9.png b/assets/images/ionic-dark-17086f816052f02e84054fe002256ed9.png new file mode 100644 index 0000000000..eab6e02f55 Binary files /dev/null and b/assets/images/ionic-dark-17086f816052f02e84054fe002256ed9.png differ diff --git a/assets/images/ionic-dc7a3bc3af18da3d488ac73e19586295.png b/assets/images/ionic-dc7a3bc3af18da3d488ac73e19586295.png new file mode 100644 index 0000000000..6f5209588c Binary files /dev/null and b/assets/images/ionic-dc7a3bc3af18da3d488ac73e19586295.png differ diff --git a/assets/images/ionic-ec7bc51600dcf36ba98f866b86408448.png b/assets/images/ionic-ec7bc51600dcf36ba98f866b86408448.png new file mode 100644 index 0000000000..946e0657ad Binary files /dev/null and b/assets/images/ionic-ec7bc51600dcf36ba98f866b86408448.png differ diff --git a/assets/images/ionic-light-b8a9c77c71a99f4c71a16584dac8ccf3.png b/assets/images/ionic-light-b8a9c77c71a99f4c71a16584dac8ccf3.png new file mode 100644 index 0000000000..b449ecfc9e Binary files /dev/null and b/assets/images/ionic-light-b8a9c77c71a99f4c71a16584dac8ccf3.png differ diff --git a/assets/images/iota-dark-986d9518ba0e03583d734212ba93539d.png b/assets/images/iota-dark-986d9518ba0e03583d734212ba93539d.png new file mode 100644 index 0000000000..2b0e66ff80 Binary files /dev/null and b/assets/images/iota-dark-986d9518ba0e03583d734212ba93539d.png differ diff --git a/assets/images/iota-e93cc26d8bf834f81e425ed2e6536a00.png b/assets/images/iota-e93cc26d8bf834f81e425ed2e6536a00.png new file mode 100644 index 0000000000..db52d1ec3f Binary files /dev/null and b/assets/images/iota-e93cc26d8bf834f81e425ed2e6536a00.png differ diff --git a/assets/images/iota-light-d899be0c1eb939a5ad13e2ecca4eb951.png b/assets/images/iota-light-d899be0c1eb939a5ad13e2ecca4eb951.png new file mode 100644 index 0000000000..ba96d018d4 Binary files /dev/null and b/assets/images/iota-light-d899be0c1eb939a5ad13e2ecca4eb951.png differ diff --git a/assets/images/iota-wiki-8d44ace54724e2e02c2c9388dca2cac9.png b/assets/images/iota-wiki-8d44ace54724e2e02c2c9388dca2cac9.png new file mode 100644 index 0000000000..8524acc59e Binary files /dev/null and b/assets/images/iota-wiki-8d44ace54724e2e02c2c9388dca2cac9.png differ diff --git a/assets/images/jest-59f159eb97ecd87655cf47ec5cc00d47.png b/assets/images/jest-59f159eb97ecd87655cf47ec5cc00d47.png new file mode 100644 index 0000000000..bcb903a7fb Binary files /dev/null and b/assets/images/jest-59f159eb97ecd87655cf47ec5cc00d47.png differ diff --git a/assets/images/jest-605c882a85ed412427cf1eda363186a0.png b/assets/images/jest-605c882a85ed412427cf1eda363186a0.png new file mode 100644 index 0000000000..e7542227d9 Binary files /dev/null and b/assets/images/jest-605c882a85ed412427cf1eda363186a0.png differ diff --git a/assets/images/jest-screenshot-fa8ba3dd1b0ebbf923ed56274f0e4f5e.png b/assets/images/jest-screenshot-fa8ba3dd1b0ebbf923ed56274f0e4f5e.png new file mode 100644 index 0000000000..bccdca273a Binary files /dev/null and b/assets/images/jest-screenshot-fa8ba3dd1b0ebbf923ed56274f0e4f5e.png differ diff --git a/assets/images/johnnyreilly-0664c0055f08ba409bc719b000dfa915.png b/assets/images/johnnyreilly-0664c0055f08ba409bc719b000dfa915.png new file mode 100644 index 0000000000..8a7b164352 Binary files /dev/null and b/assets/images/johnnyreilly-0664c0055f08ba409bc719b000dfa915.png differ diff --git a/assets/images/juffalow-cad9113f0061e751aa02da8d9f24bac6.png b/assets/images/juffalow-cad9113f0061e751aa02da8d9f24bac6.png new file mode 100644 index 0000000000..a616edcc08 Binary files /dev/null and b/assets/images/juffalow-cad9113f0061e751aa02da8d9f24bac6.png differ diff --git a/assets/images/junjie-404e8e8d7a44d260776df8cecb3122d3.png b/assets/images/junjie-404e8e8d7a44d260776df8cecb3122d3.png new file mode 100644 index 0000000000..a4cd5abdfa Binary files /dev/null and b/assets/images/junjie-404e8e8d7a44d260776df8cecb3122d3.png differ diff --git a/assets/images/katex-54f4eb61a62b5f7c6f38c229aa150a7e.png b/assets/images/katex-54f4eb61a62b5f7c6f38c229aa150a7e.png new file mode 100644 index 0000000000..4e5658d7c8 Binary files /dev/null and b/assets/images/katex-54f4eb61a62b5f7c6f38c229aa150a7e.png differ diff --git a/assets/images/kosko-32cdde7ba1a4b0f10433fc3c0bc10516.png b/assets/images/kosko-32cdde7ba1a4b0f10433fc3c0bc10516.png new file mode 100644 index 0000000000..2196b54a3a Binary files /dev/null and b/assets/images/kosko-32cdde7ba1a4b0f10433fc3c0bc10516.png differ diff --git a/assets/images/kotest-bc9727b00448d60b277f7fa624b3e861.png b/assets/images/kotest-bc9727b00448d60b277f7fa624b3e861.png new file mode 100644 index 0000000000..2951caa20a Binary files /dev/null and b/assets/images/kotest-bc9727b00448d60b277f7fa624b3e861.png differ diff --git a/assets/images/kube-green-64534cc4c6e0e95ac80ad29bcc3f508a.png b/assets/images/kube-green-64534cc4c6e0e95ac80ad29bcc3f508a.png new file mode 100644 index 0000000000..e6d353cfbf Binary files /dev/null and b/assets/images/kube-green-64534cc4c6e0e95ac80ad29bcc3f508a.png differ diff --git a/assets/images/kubevela-c67ef3b5e22525cae9381371098c6de8.png b/assets/images/kubevela-c67ef3b5e22525cae9381371098c6de8.png new file mode 100644 index 0000000000..c88d362924 Binary files /dev/null and b/assets/images/kubevela-c67ef3b5e22525cae9381371098c6de8.png differ diff --git a/assets/images/kuizuo-d392df45978747b5421d32fcfae07f1e.png b/assets/images/kuizuo-d392df45978747b5421d32fcfae07f1e.png new file mode 100644 index 0000000000..bc37efdc13 Binary files /dev/null and b/assets/images/kuizuo-d392df45978747b5421d32fcfae07f1e.png differ diff --git a/assets/images/kwatch-cbaf4edefad9336c8cbf31fd98caffd3.png b/assets/images/kwatch-cbaf4edefad9336c8cbf31fd98caffd3.png new file mode 100644 index 0000000000..568683d276 Binary files /dev/null and b/assets/images/kwatch-cbaf4edefad9336c8cbf31fd98caffd3.png differ diff --git a/assets/images/labviewbook-ffa00735774d6d6f4645b60169c5f138.png b/assets/images/labviewbook-ffa00735774d6d6f4645b60169c5f138.png new file mode 100644 index 0000000000..6769a9eb57 Binary files /dev/null and b/assets/images/labviewbook-ffa00735774d6d6f4645b60169c5f138.png differ diff --git a/assets/images/lacework-672771c767674a3f3db7acd20145df36.png b/assets/images/lacework-672771c767674a3f3db7acd20145df36.png new file mode 100644 index 0000000000..1938bf606c Binary files /dev/null and b/assets/images/lacework-672771c767674a3f3db7acd20145df36.png differ diff --git a/assets/images/leedom-33513c46bedd2076e9be19b0f287928f.png b/assets/images/leedom-33513c46bedd2076e9be19b0f287928f.png new file mode 100644 index 0000000000..a443a57a52 Binary files /dev/null and b/assets/images/leedom-33513c46bedd2076e9be19b0f287928f.png differ diff --git a/assets/images/leon-b83894bcf1018b73c6e62610c522c9f8.png b/assets/images/leon-b83894bcf1018b73c6e62610c522c9f8.png new file mode 100644 index 0000000000..2bdd8b6ce7 Binary files /dev/null and b/assets/images/leon-b83894bcf1018b73c6e62610c522c9f8.png differ diff --git a/assets/images/lerna-5bc9bfd774d3e319635a279bf5b325c3.png b/assets/images/lerna-5bc9bfd774d3e319635a279bf5b325c3.png new file mode 100644 index 0000000000..263d66f043 Binary files /dev/null and b/assets/images/lerna-5bc9bfd774d3e319635a279bf5b325c3.png differ diff --git a/assets/images/liqvid-e32b9be036c56e76edc297a89a11c630.png b/assets/images/liqvid-e32b9be036c56e76edc297a89a11c630.png new file mode 100644 index 0000000000..54e37c13a3 Binary files /dev/null and b/assets/images/liqvid-e32b9be036c56e76edc297a89a11c630.png differ diff --git a/assets/images/local-image-05286ebd44ab198d038adbeee9544858.png b/assets/images/local-image-05286ebd44ab198d038adbeee9544858.png new file mode 100644 index 0000000000..0b1e98a2f0 Binary files /dev/null and b/assets/images/local-image-05286ebd44ab198d038adbeee9544858.png differ diff --git a/assets/images/localeDropdown-f0d995e751e7656a1b0dbbc1134e49c2.png b/assets/images/localeDropdown-f0d995e751e7656a1b0dbbc1134e49c2.png deleted file mode 100644 index e257edc1f9..0000000000 Binary files a/assets/images/localeDropdown-f0d995e751e7656a1b0dbbc1134e49c2.png and /dev/null differ diff --git a/assets/images/mailgo-0d4b6aa86b0e0d555ef53804bd3c8fa5.png b/assets/images/mailgo-0d4b6aa86b0e0d555ef53804bd3c8fa5.png new file mode 100644 index 0000000000..f43069fef9 Binary files /dev/null and b/assets/images/mailgo-0d4b6aa86b0e0d555ef53804bd3c8fa5.png differ diff --git a/assets/images/mapillaryjs-3d63fbde322165042c24040240a8f296.png b/assets/images/mapillaryjs-3d63fbde322165042c24040240a8f296.png new file mode 100644 index 0000000000..e367eeea3f Binary files /dev/null and b/assets/images/mapillaryjs-3d63fbde322165042c24040240a8f296.png differ diff --git a/assets/images/mdx-checker-output-0f96cc19fd3ed4d55901ca90ad657c14.png b/assets/images/mdx-checker-output-0f96cc19fd3ed4d55901ca90ad657c14.png new file mode 100644 index 0000000000..327c791f78 Binary files /dev/null and b/assets/images/mdx-checker-output-0f96cc19fd3ed4d55901ca90ad657c14.png differ diff --git a/assets/images/mdx2-playground-options-eab88e8328a6902759c4236ffc93d9c6.png b/assets/images/mdx2-playground-options-eab88e8328a6902759c4236ffc93d9c6.png new file mode 100644 index 0000000000..f209996f6b Binary files /dev/null and b/assets/images/mdx2-playground-options-eab88e8328a6902759c4236ffc93d9c6.png differ diff --git a/assets/images/metro-c54c07dbba72af28ee8812e952690bf6.png b/assets/images/metro-c54c07dbba72af28ee8812e952690bf6.png new file mode 100644 index 0000000000..76d996096d Binary files /dev/null and b/assets/images/metro-c54c07dbba72af28ee8812e952690bf6.png differ diff --git a/assets/images/mia-platform-d8ea57c0a8fce0f336c9a9a4aafbd4e5.png b/assets/images/mia-platform-d8ea57c0a8fce0f336c9a9a4aafbd4e5.png new file mode 100644 index 0000000000..3279f412e5 Binary files /dev/null and b/assets/images/mia-platform-d8ea57c0a8fce0f336c9a9a4aafbd4e5.png differ diff --git a/assets/images/mikro-orm-c53a351d3382bbd09e107f7d43e5d503.png b/assets/images/mikro-orm-c53a351d3382bbd09e107f7d43e5d503.png new file mode 100644 index 0000000000..8968ea968c Binary files /dev/null and b/assets/images/mikro-orm-c53a351d3382bbd09e107f7d43e5d503.png differ diff --git a/assets/images/mintmetrics-11234d7260758b0a34b41ca89f6daaaa.png b/assets/images/mintmetrics-11234d7260758b0a34b41ca89f6daaaa.png new file mode 100644 index 0000000000..33f7370806 Binary files /dev/null and b/assets/images/mintmetrics-11234d7260758b0a34b41ca89f6daaaa.png differ diff --git a/assets/images/mixcore-4b5f61859375be073e50f8b4d443668d.png b/assets/images/mixcore-4b5f61859375be073e50f8b4d443668d.png new file mode 100644 index 0000000000..f18eaa7981 Binary files /dev/null and b/assets/images/mixcore-4b5f61859375be073e50f8b4d443668d.png differ diff --git a/assets/images/mojaglobal-d4dffa5657f4e3a36d758b24cbc8715c.png b/assets/images/mojaglobal-d4dffa5657f4e3a36d758b24cbc8715c.png new file mode 100644 index 0000000000..724038c7d6 Binary files /dev/null and b/assets/images/mojaglobal-d4dffa5657f4e3a36d758b24cbc8715c.png differ diff --git a/assets/images/molecule-home-1a3ed72ca203cb5ce3252517ae391b83.png b/assets/images/molecule-home-1a3ed72ca203cb5ce3252517ae391b83.png new file mode 100644 index 0000000000..e5aaeaf4a2 Binary files /dev/null and b/assets/images/molecule-home-1a3ed72ca203cb5ce3252517ae391b83.png differ diff --git a/assets/images/nanos-world-848ea262f7d1fd4647bdb5f56010f9e6.png b/assets/images/nanos-world-848ea262f7d1fd4647bdb5f56010f9e6.png new file mode 100644 index 0000000000..734b772813 Binary files /dev/null and b/assets/images/nanos-world-848ea262f7d1fd4647bdb5f56010f9e6.png differ diff --git a/assets/images/navbar-error-15eefab8e8d77aa4d605939956987164.jpg b/assets/images/navbar-error-15eefab8e8d77aa4d605939956987164.jpg new file mode 100644 index 0000000000..4ee8ebf195 Binary files /dev/null and b/assets/images/navbar-error-15eefab8e8d77aa4d605939956987164.jpg differ diff --git a/assets/images/netbootxyz-a64e25a02c1b461e2359d7eef5bbd62a.png b/assets/images/netbootxyz-a64e25a02c1b461e2359d7eef5bbd62a.png new file mode 100644 index 0000000000..01c93dc929 Binary files /dev/null and b/assets/images/netbootxyz-a64e25a02c1b461e2359d7eef5bbd62a.png differ diff --git a/assets/images/netdata-ff3806c4eb51d9fcd5b81a04cfb0874c.png b/assets/images/netdata-ff3806c4eb51d9fcd5b81a04cfb0874c.png new file mode 100644 index 0000000000..eafd12ccc2 Binary files /dev/null and b/assets/images/netdata-ff3806c4eb51d9fcd5b81a04cfb0874c.png differ diff --git a/assets/images/nextauthjs-9a91a904661eb9fb0ff9479eb0a50bdc.png b/assets/images/nextauthjs-9a91a904661eb9fb0ff9479eb0a50bdc.png new file mode 100644 index 0000000000..470fe3513d Binary files /dev/null and b/assets/images/nextauthjs-9a91a904661eb9fb0ff9479eb0a50bdc.png differ diff --git a/assets/images/nocalhost-f352700eb06b7cc087f54d6b18ec9bac.png b/assets/images/nocalhost-f352700eb06b7cc087f54d6b18ec9bac.png new file mode 100644 index 0000000000..2c254b3ad0 Binary files /dev/null and b/assets/images/nocalhost-f352700eb06b7cc087f54d6b18ec9bac.png differ diff --git a/assets/images/npm-downloads-f9d754a81ff372a5bae83c8751195e2b.png b/assets/images/npm-downloads-f9d754a81ff372a5bae83c8751195e2b.png new file mode 100644 index 0000000000..1ab76046ff Binary files /dev/null and b/assets/images/npm-downloads-f9d754a81ff372a5bae83c8751195e2b.png differ diff --git a/assets/images/npm-trend-1e69b5c9e35be8bd6d9ac6fbaaf313d7.png b/assets/images/npm-trend-1e69b5c9e35be8bd6d9ac6fbaaf313d7.png new file mode 100644 index 0000000000..2b8589afc8 Binary files /dev/null and b/assets/images/npm-trend-1e69b5c9e35be8bd6d9ac6fbaaf313d7.png differ diff --git a/assets/images/orbitjs-c4d020eabba799d2274914cafdd87911.png b/assets/images/orbitjs-c4d020eabba799d2274914cafdd87911.png new file mode 100644 index 0000000000..442c5cff26 Binary files /dev/null and b/assets/images/orbitjs-c4d020eabba799d2274914cafdd87911.png differ diff --git a/assets/images/ory-29e792b8488428b75de2a2bdeb5f5be1.png b/assets/images/ory-29e792b8488428b75de2a2bdeb5f5be1.png new file mode 100644 index 0000000000..c3264f8d64 Binary files /dev/null and b/assets/images/ory-29e792b8488428b75de2a2bdeb5f5be1.png differ diff --git a/assets/images/oss_logo-25c7e8934a28d0f23722c77adb6e7da4.png b/assets/images/oss_logo-25c7e8934a28d0f23722c77adb6e7da4.png new file mode 100644 index 0000000000..81923fc562 Binary files /dev/null and b/assets/images/oss_logo-25c7e8934a28d0f23722c77adb6e7da4.png differ diff --git a/assets/images/ossinsight-27fdf73f649e5c44d0d655f901ceb4b4.png b/assets/images/ossinsight-27fdf73f649e5c44d0d655f901ceb4b4.png new file mode 100644 index 0000000000..63880f1c3d Binary files /dev/null and b/assets/images/ossinsight-27fdf73f649e5c44d0d655f901ceb4b4.png differ diff --git a/assets/images/outerbounds-7646b147b11520f295267f3637fa7a3b.png b/assets/images/outerbounds-7646b147b11520f295267f3637fa7a3b.png new file mode 100644 index 0000000000..13ef038051 Binary files /dev/null and b/assets/images/outerbounds-7646b147b11520f295267f3637fa7a3b.png differ diff --git a/assets/images/oxidizer-132ca8df52c58ff8e53721925a1ac6e3.png b/assets/images/oxidizer-132ca8df52c58ff8e53721925a1ac6e3.png new file mode 100644 index 0000000000..6c1e0471a4 Binary files /dev/null and b/assets/images/oxidizer-132ca8df52c58ff8e53721925a1ac6e3.png differ diff --git a/assets/images/paubox-13ff68aa3f19aa44fbbb9a9640ac87e0.png b/assets/images/paubox-13ff68aa3f19aa44fbbb9a9640ac87e0.png new file mode 100644 index 0000000000..2af9a13a19 Binary files /dev/null and b/assets/images/paubox-13ff68aa3f19aa44fbbb9a9640ac87e0.png differ diff --git a/assets/images/pcapplusplus-4304373194f8bf79cd755c01711de871.png b/assets/images/pcapplusplus-4304373194f8bf79cd755c01711de871.png new file mode 100644 index 0000000000..818020ecd5 Binary files /dev/null and b/assets/images/pcapplusplus-4304373194f8bf79cd755c01711de871.png differ diff --git a/assets/images/pcc-archive-eb6db480e8bd657778af020445d01fed.png b/assets/images/pcc-archive-eb6db480e8bd657778af020445d01fed.png new file mode 100644 index 0000000000..adb50feb73 Binary files /dev/null and b/assets/images/pcc-archive-eb6db480e8bd657778af020445d01fed.png differ diff --git a/assets/images/pdfme-b768a03502951ee8d36042854f9b1efa.png b/assets/images/pdfme-b768a03502951ee8d36042854f9b1efa.png new file mode 100644 index 0000000000..e273ad914d Binary files /dev/null and b/assets/images/pdfme-b768a03502951ee8d36042854f9b1efa.png differ diff --git a/assets/images/pearl-ui-b357477384f3a1bb5a5509d3af50cfb6.png b/assets/images/pearl-ui-b357477384f3a1bb5a5509d3af50cfb6.png new file mode 100644 index 0000000000..aa9a495fbf Binary files /dev/null and b/assets/images/pearl-ui-b357477384f3a1bb5a5509d3af50cfb6.png differ diff --git a/assets/images/pglet-faf34af6fd6173177b681349c15c0f7e.png b/assets/images/pglet-faf34af6fd6173177b681349c15c0f7e.png new file mode 100644 index 0000000000..440dae8d28 Binary files /dev/null and b/assets/images/pglet-faf34af6fd6173177b681349c15c0f7e.png differ diff --git a/assets/images/piano-analytics-1763fe333bd7fa1b8aaf66d659f73324.png b/assets/images/piano-analytics-1763fe333bd7fa1b8aaf66d659f73324.png new file mode 100644 index 0000000000..ff4ca5619b Binary files /dev/null and b/assets/images/piano-analytics-1763fe333bd7fa1b8aaf66d659f73324.png differ diff --git a/assets/images/plausible-bba4fd4f5446758c103bd53b19139fe2.png b/assets/images/plausible-bba4fd4f5446758c103bd53b19139fe2.png new file mode 100644 index 0000000000..02d2102049 Binary files /dev/null and b/assets/images/plausible-bba4fd4f5446758c103bd53b19139fe2.png differ diff --git a/assets/images/pnpm-40ef1fb54fa919b97edd86c9474c19cc.png b/assets/images/pnpm-40ef1fb54fa919b97edd86c9474c19cc.png new file mode 100644 index 0000000000..4d19caba5e Binary files /dev/null and b/assets/images/pnpm-40ef1fb54fa919b97edd86c9474c19cc.png differ diff --git a/assets/images/postgres-ai-62eeee5eb2a6f8e0b3bacab5697cff4c.png b/assets/images/postgres-ai-62eeee5eb2a6f8e0b3bacab5697cff4c.png new file mode 100644 index 0000000000..b782caab22 Binary files /dev/null and b/assets/images/postgres-ai-62eeee5eb2a6f8e0b3bacab5697cff4c.png differ diff --git a/assets/images/pptxgenjs-32938b5f799229da13792a58c1aafb84.png b/assets/images/pptxgenjs-32938b5f799229da13792a58c1aafb84.png new file mode 100644 index 0000000000..af998d6abb Binary files /dev/null and b/assets/images/pptxgenjs-32938b5f799229da13792a58c1aafb84.png differ diff --git a/assets/images/prefs-21ae3094b7ad541f7109f2678709c84a.png b/assets/images/prefs-21ae3094b7ad541f7109f2678709c84a.png new file mode 100644 index 0000000000..e55db9818c Binary files /dev/null and b/assets/images/prefs-21ae3094b7ad541f7109f2678709c84a.png differ diff --git a/assets/images/prettier-46853da19cfeb69c196d6e62210c9fe8.png b/assets/images/prettier-46853da19cfeb69c196d6e62210c9fe8.png new file mode 100644 index 0000000000..2309f6cf1e Binary files /dev/null and b/assets/images/prettier-46853da19cfeb69c196d6e62210c9fe8.png differ diff --git a/assets/images/prismatic-94c6eb2a7fdf31f03d8783db4bee0409.png b/assets/images/prismatic-94c6eb2a7fdf31f03d8783db4bee0409.png new file mode 100644 index 0000000000..e7b4d49a63 Binary files /dev/null and b/assets/images/prismatic-94c6eb2a7fdf31f03d8783db4bee0409.png differ diff --git a/assets/images/profilo_blog_post_android_ios-695990a01bf8fa0ea8b6c2d26946cd94.png b/assets/images/profilo_blog_post_android_ios-695990a01bf8fa0ea8b6c2d26946cd94.png new file mode 100644 index 0000000000..73061e3a85 Binary files /dev/null and b/assets/images/profilo_blog_post_android_ios-695990a01bf8fa0ea8b6c2d26946cd94.png differ diff --git a/assets/images/profilo_blog_post_palette_website_color_picker-7fe21bbbee9aa484750e889471957135.png b/assets/images/profilo_blog_post_palette_website_color_picker-7fe21bbbee9aa484750e889471957135.png new file mode 100644 index 0000000000..48c97edaf1 Binary files /dev/null and b/assets/images/profilo_blog_post_palette_website_color_picker-7fe21bbbee9aa484750e889471957135.png differ diff --git a/assets/images/profilo_blog_post_photoshop_color_picker-86628cde93ca147d5ed36f0e0dfa046b.png b/assets/images/profilo_blog_post_photoshop_color_picker-86628cde93ca147d5ed36f0e0dfa046b.png new file mode 100644 index 0000000000..ed5273bfce Binary files /dev/null and b/assets/images/profilo_blog_post_photoshop_color_picker-86628cde93ca147d5ed36f0e0dfa046b.png differ diff --git a/assets/images/profilo_blog_post_website_final-41123bbb4a337d3415d6a8f826362713.png b/assets/images/profilo_blog_post_website_final-41123bbb4a337d3415d6a8f826362713.png new file mode 100644 index 0000000000..3546300eba Binary files /dev/null and b/assets/images/profilo_blog_post_website_final-41123bbb4a337d3415d6a8f826362713.png differ diff --git a/assets/images/profilo_blog_post_website_final_docs-4efd3319b5bc1a33a4dde7dd785cb6a5.png b/assets/images/profilo_blog_post_website_final_docs-4efd3319b5bc1a33a4dde7dd785cb6a5.png new file mode 100644 index 0000000000..3411447e38 Binary files /dev/null and b/assets/images/profilo_blog_post_website_final_docs-4efd3319b5bc1a33a4dde7dd785cb6a5.png differ diff --git a/assets/images/profilo_blog_post_website_initial-2b55252c641e418f02b8bb6a5234b219.png b/assets/images/profilo_blog_post_website_initial-2b55252c641e418f02b8bb6a5234b219.png new file mode 100644 index 0000000000..88e297e217 Binary files /dev/null and b/assets/images/profilo_blog_post_website_initial-2b55252c641e418f02b8bb6a5234b219.png differ diff --git a/assets/images/pwa_install-169e763a3e99bb01e41be11c1a4af51f.gif b/assets/images/pwa_install-169e763a3e99bb01e41be11c1a4af51f.gif new file mode 100644 index 0000000000..d44c6198fa Binary files /dev/null and b/assets/images/pwa_install-169e763a3e99bb01e41be11c1a4af51f.gif differ diff --git a/assets/images/pwa_reload-6af462b35d0ed752c44ad0899559bedf.gif b/assets/images/pwa_reload-6af462b35d0ed752c44ad0899559bedf.gif new file mode 100644 index 0000000000..683a9ca55a Binary files /dev/null and b/assets/images/pwa_reload-6af462b35d0ed752c44ad0899559bedf.gif differ diff --git a/assets/images/pyre-557a96574bd9b4fbc250fba9055abbf0.png b/assets/images/pyre-557a96574bd9b4fbc250fba9055abbf0.png new file mode 100644 index 0000000000..e120a27352 Binary files /dev/null and b/assets/images/pyre-557a96574bd9b4fbc250fba9055abbf0.png differ diff --git a/assets/images/qa-board-156dfd0f786318d503da4fe6e4efb6d3.png b/assets/images/qa-board-156dfd0f786318d503da4fe6e4efb6d3.png new file mode 100644 index 0000000000..3f9f09e682 Binary files /dev/null and b/assets/images/qa-board-156dfd0f786318d503da4fe6e4efb6d3.png differ diff --git a/assets/images/quickwit-2667dc4e9b7db24094069fc38a231a53.png b/assets/images/quickwit-2667dc4e9b7db24094069fc38a231a53.png new file mode 100644 index 0000000000..c2432affb7 Binary files /dev/null and b/assets/images/quickwit-2667dc4e9b7db24094069fc38a231a53.png differ diff --git a/assets/images/quickwit-39a0d73e3a8684da7c2ed546e587f919.png b/assets/images/quickwit-39a0d73e3a8684da7c2ed546e587f919.png new file mode 100644 index 0000000000..5f7bae001a Binary files /dev/null and b/assets/images/quickwit-39a0d73e3a8684da7c2ed546e587f919.png differ diff --git a/assets/images/raspisuite-df5b41d040c9b81367e5a674aef5e97b.png b/assets/images/raspisuite-df5b41d040c9b81367e5a674aef5e97b.png new file mode 100644 index 0000000000..3c9385403c Binary files /dev/null and b/assets/images/raspisuite-df5b41d040c9b81367e5a674aef5e97b.png differ diff --git a/assets/images/react-chat-elements-7df4a41317c9034210d9904daffec051.png b/assets/images/react-chat-elements-7df4a41317c9034210d9904daffec051.png new file mode 100644 index 0000000000..2affcd00f4 Binary files /dev/null and b/assets/images/react-chat-elements-7df4a41317c9034210d9904daffec051.png differ diff --git a/assets/images/react-complex-tree-647440410604aceff487f74319bb1ed5.png b/assets/images/react-complex-tree-647440410604aceff487f74319bb1ed5.png new file mode 100644 index 0000000000..7e5750cc57 Binary files /dev/null and b/assets/images/react-complex-tree-647440410604aceff487f74319bb1ed5.png differ diff --git a/assets/images/react-leaflet-d24b5e7ed7955e2e90c12b3c1c01f831.png b/assets/images/react-leaflet-d24b5e7ed7955e2e90c12b3c1c01f831.png new file mode 100644 index 0000000000..6ea39f2a2a Binary files /dev/null and b/assets/images/react-leaflet-d24b5e7ed7955e2e90c12b3c1c01f831.png differ diff --git a/assets/images/react-native-0ff608d6a6df9df802441209007884ef.png b/assets/images/react-native-0ff608d6a6df9df802441209007884ef.png new file mode 100644 index 0000000000..1743cc74fe Binary files /dev/null and b/assets/images/react-native-0ff608d6a6df9df802441209007884ef.png differ diff --git a/assets/images/react-native-8ad8e938da0b07450993aa99d2faab6a.png b/assets/images/react-native-8ad8e938da0b07450993aa99d2faab6a.png new file mode 100644 index 0000000000..d903f10234 Binary files /dev/null and b/assets/images/react-native-8ad8e938da0b07450993aa99d2faab6a.png differ diff --git a/assets/images/react-native-elements-7f03216e4f2b74940c255829df5b0cb5.png b/assets/images/react-native-elements-7f03216e4f2b74940c255829df5b0cb5.png new file mode 100644 index 0000000000..9f14bbb58b Binary files /dev/null and b/assets/images/react-native-elements-7f03216e4f2b74940c255829df5b0cb5.png differ diff --git a/assets/images/react-native-ios-kit-2de2abfaeb8e439755e88659262f676a.png b/assets/images/react-native-ios-kit-2de2abfaeb8e439755e88659262f676a.png new file mode 100644 index 0000000000..6c306ae206 Binary files /dev/null and b/assets/images/react-native-ios-kit-2de2abfaeb8e439755e88659262f676a.png differ diff --git a/assets/images/react-native-reanimated-7e6c907fb7849ce0b1cbe5088ec6e7da.png b/assets/images/react-native-reanimated-7e6c907fb7849ce0b1cbe5088ec6e7da.png new file mode 100644 index 0000000000..c090953f18 Binary files /dev/null and b/assets/images/react-native-reanimated-7e6c907fb7849ce0b1cbe5088ec6e7da.png differ diff --git a/assets/images/react-native-screenshot-d5ace12ce89fe59dc14ac25859685b01.png b/assets/images/react-native-screenshot-d5ace12ce89fe59dc14ac25859685b01.png new file mode 100644 index 0000000000..1932b8dd43 Binary files /dev/null and b/assets/images/react-native-screenshot-d5ace12ce89fe59dc14ac25859685b01.png differ diff --git a/assets/images/react-navigation-d65fb79941df2ef11ff6e15e8a79a49c.png b/assets/images/react-navigation-d65fb79941df2ef11ff6e15e8a79a49c.png new file mode 100644 index 0000000000..217b1e2340 Binary files /dev/null and b/assets/images/react-navigation-d65fb79941df2ef11ff6e15e8a79a49c.png differ diff --git a/assets/images/react-navigation-dfac2d90822bad7e092f848322b50da6.png b/assets/images/react-navigation-dfac2d90822bad7e092f848322b50da6.png new file mode 100644 index 0000000000..1c6e3998e0 Binary files /dev/null and b/assets/images/react-navigation-dfac2d90822bad7e092f848322b50da6.png differ diff --git a/assets/images/react-redux-621afc1ae6fb98889ec3d2e5b1b30386.png b/assets/images/react-redux-621afc1ae6fb98889ec3d2e5b1b30386.png new file mode 100644 index 0000000000..661b1b45c0 Binary files /dev/null and b/assets/images/react-redux-621afc1ae6fb98889ec3d2e5b1b30386.png differ diff --git a/assets/images/reactnative-496b7bf0251a82f21adfa730dec8178d.png b/assets/images/reactnative-496b7bf0251a82f21adfa730dec8178d.png new file mode 100644 index 0000000000..e4ddcc0742 Binary files /dev/null and b/assets/images/reactnative-496b7bf0251a82f21adfa730dec8178d.png differ diff --git a/assets/images/reactnative-aria-c5ffe66ddb8b0b937fa5672b17258444.png b/assets/images/reactnative-aria-c5ffe66ddb8b0b937fa5672b17258444.png new file mode 100644 index 0000000000..954b94a342 Binary files /dev/null and b/assets/images/reactnative-aria-c5ffe66ddb8b0b937fa5672b17258444.png differ diff --git a/assets/images/reactnativeboilerplate-4f4bc9381d8bcf3fd21fab2c61033693.png b/assets/images/reactnativeboilerplate-4f4bc9381d8bcf3fd21fab2c61033693.png new file mode 100644 index 0000000000..ce93a1f61f Binary files /dev/null and b/assets/images/reactnativeboilerplate-4f4bc9381d8bcf3fd21fab2c61033693.png differ diff --git a/assets/images/realtime-apps-workshop-f2c599f726604e5a45ad5dad61a056b8.png b/assets/images/realtime-apps-workshop-f2c599f726604e5a45ad5dad61a056b8.png new file mode 100644 index 0000000000..4326dbe568 Binary files /dev/null and b/assets/images/realtime-apps-workshop-f2c599f726604e5a45ad5dad61a056b8.png differ diff --git a/assets/images/reddit-image-fetcher-c3078aeaa8dc2606f25e23140d7853c4.png b/assets/images/reddit-image-fetcher-c3078aeaa8dc2606f25e23140d7853c4.png new file mode 100644 index 0000000000..01bd1e5b67 Binary files /dev/null and b/assets/images/reddit-image-fetcher-c3078aeaa8dc2606f25e23140d7853c4.png differ diff --git a/assets/images/redocusaurus-5cf08a76be6f85090544417b82986cfb.png b/assets/images/redocusaurus-5cf08a76be6f85090544417b82986cfb.png new file mode 100644 index 0000000000..b74e35197b Binary files /dev/null and b/assets/images/redocusaurus-5cf08a76be6f85090544417b82986cfb.png differ diff --git a/assets/images/redux-cool-191fc671da752fe4d7732b4ee07cc26d.png b/assets/images/redux-cool-191fc671da752fe4d7732b4ee07cc26d.png new file mode 100644 index 0000000000..2f7f26aefb Binary files /dev/null and b/assets/images/redux-cool-191fc671da752fe4d7732b4ee07cc26d.png differ diff --git a/assets/images/redux-de07d44cea8a2046a5d4896e362cd122.png b/assets/images/redux-de07d44cea8a2046a5d4896e362cd122.png new file mode 100644 index 0000000000..c851a9f3d2 Binary files /dev/null and b/assets/images/redux-de07d44cea8a2046a5d4896e362cd122.png differ diff --git a/assets/images/redwood-c3155187911b62428e0cc1e8b662de76.png b/assets/images/redwood-c3155187911b62428e0cc1e8b662de76.png new file mode 100644 index 0000000000..a1a2a2a1fe Binary files /dev/null and b/assets/images/redwood-c3155187911b62428e0cc1e8b662de76.png differ diff --git a/assets/images/refine-3c43b51804bfa5fb95fffacf22ea032e.png b/assets/images/refine-3c43b51804bfa5fb95fffacf22ea032e.png new file mode 100644 index 0000000000..4ce53b5490 Binary files /dev/null and b/assets/images/refine-3c43b51804bfa5fb95fffacf22ea032e.png differ diff --git a/assets/images/registry.stackql.io-18521b3de70bccbf132c9e013acc147b.png b/assets/images/registry.stackql.io-18521b3de70bccbf132c9e013acc147b.png new file mode 100644 index 0000000000..793a94a741 Binary files /dev/null and b/assets/images/registry.stackql.io-18521b3de70bccbf132c9e013acc147b.png differ diff --git a/assets/images/relay-e78bfc34d66471737d24a2c07d2afc7c.png b/assets/images/relay-e78bfc34d66471737d24a2c07d2afc7c.png new file mode 100644 index 0000000000..aade055392 Binary files /dev/null and b/assets/images/relay-e78bfc34d66471737d24a2c07d2afc7c.png differ diff --git a/assets/images/rematch-54259ce6777659338d16e722e04bc833.png b/assets/images/rematch-54259ce6777659338d16e722e04bc833.png new file mode 100644 index 0000000000..0bcab9c03f Binary files /dev/null and b/assets/images/rematch-54259ce6777659338d16e722e04bc833.png differ diff --git a/assets/images/remirror-9738e84d977f986daccff3a332b03244.png b/assets/images/remirror-9738e84d977f986daccff3a332b03244.png new file mode 100644 index 0000000000..d9fda2dd9e Binary files /dev/null and b/assets/images/remirror-9738e84d977f986daccff3a332b03244.png differ diff --git a/assets/images/remotion-0918d7c0bcd84657c38e3569fc2ff4a7.png b/assets/images/remotion-0918d7c0bcd84657c38e3569fc2ff4a7.png new file mode 100644 index 0000000000..9785806bb0 Binary files /dev/null and b/assets/images/remotion-0918d7c0bcd84657c38e3569fc2ff4a7.png differ diff --git a/assets/images/repeaterjs-41892c33996d6ec919704baec6f61649.png b/assets/images/repeaterjs-41892c33996d6ec919704baec6f61649.png new file mode 100644 index 0000000000..6b27a7b81b Binary files /dev/null and b/assets/images/repeaterjs-41892c33996d6ec919704baec6f61649.png differ diff --git a/assets/images/replicad-23f2fcbfeab2b56235784f38c21f08bd.png b/assets/images/replicad-23f2fcbfeab2b56235784f38c21f08bd.png new file mode 100644 index 0000000000..4cfbd7e67e Binary files /dev/null and b/assets/images/replicad-23f2fcbfeab2b56235784f38c21f08bd.png differ diff --git a/assets/images/rising-stars-56326450d25b95f221f56db3b352c724.png b/assets/images/rising-stars-56326450d25b95f221f56db3b352c724.png new file mode 100644 index 0000000000..f7fe13660d Binary files /dev/null and b/assets/images/rising-stars-56326450d25b95f221f56db3b352c724.png differ diff --git a/assets/images/rnrh-9c3d6208718ace8c44e0fc7f1d1bf62d.png b/assets/images/rnrh-9c3d6208718ace8c44e0fc7f1d1bf62d.png new file mode 100644 index 0000000000..1fd9891154 Binary files /dev/null and b/assets/images/rnrh-9c3d6208718ace8c44e0fc7f1d1bf62d.png differ diff --git a/assets/images/rsdoctor-36963a4eaca95f83538208463e62eae2.jpg b/assets/images/rsdoctor-36963a4eaca95f83538208463e62eae2.jpg new file mode 100644 index 0000000000..bde6e6dba8 Binary files /dev/null and b/assets/images/rsdoctor-36963a4eaca95f83538208463e62eae2.jpg differ diff --git a/assets/images/rsocket-0f5d35731269c25f4e44e18c7bedeb9d.png b/assets/images/rsocket-0f5d35731269c25f4e44e18c7bedeb9d.png new file mode 100644 index 0000000000..5d4fc965af Binary files /dev/null and b/assets/images/rsocket-0f5d35731269c25f4e44e18c7bedeb9d.png differ diff --git a/assets/images/runiac-bf47ea65a9ea2ba58dfd5a99e6dd2eea.png b/assets/images/runiac-bf47ea65a9ea2ba58dfd5a99e6dd2eea.png new file mode 100644 index 0000000000..65e292920f Binary files /dev/null and b/assets/images/runiac-bf47ea65a9ea2ba58dfd5a99e6dd2eea.png differ diff --git a/assets/images/sado0823-0afdc16bb0cb84b06e118583f12608ff.png b/assets/images/sado0823-0afdc16bb0cb84b06e118583f12608ff.png new file mode 100644 index 0000000000..b4e62a2a22 Binary files /dev/null and b/assets/images/sado0823-0afdc16bb0cb84b06e118583f12608ff.png differ diff --git a/assets/images/saleor-b6fb358e4d4113c46c58cf537d392d0c.png b/assets/images/saleor-b6fb358e4d4113c46c58cf537d392d0c.png new file mode 100644 index 0000000000..982f9fe4f6 Binary files /dev/null and b/assets/images/saleor-b6fb358e4d4113c46c58cf537d392d0c.png differ diff --git a/assets/images/sap-cloud-aa7a46561ca47765dfeefbed7b5e8c4e.png b/assets/images/sap-cloud-aa7a46561ca47765dfeefbed7b5e8c4e.png new file mode 100644 index 0000000000..5160e4d022 Binary files /dev/null and b/assets/images/sap-cloud-aa7a46561ca47765dfeefbed7b5e8c4e.png differ diff --git a/assets/images/sapcloudsdk-e2712b3e22fb99796c966d43064f4a31.png b/assets/images/sapcloudsdk-e2712b3e22fb99796c966d43064f4a31.png new file mode 100644 index 0000000000..deffc7ad1b Binary files /dev/null and b/assets/images/sapcloudsdk-e2712b3e22fb99796c966d43064f4a31.png differ diff --git a/assets/images/sapphire-13f70835b2e57d3cec0b5742b123fc6a.png b/assets/images/sapphire-13f70835b2e57d3cec0b5742b123fc6a.png new file mode 100644 index 0000000000..5b1930d41e Binary files /dev/null and b/assets/images/sapphire-13f70835b2e57d3cec0b5742b123fc6a.png differ diff --git a/assets/images/sass-fairy-0ef83bdb7cd5fcd992272f4fa4eaab96.png b/assets/images/sass-fairy-0ef83bdb7cd5fcd992272f4fa4eaab96.png new file mode 100644 index 0000000000..22ada6eea8 Binary files /dev/null and b/assets/images/sass-fairy-0ef83bdb7cd5fcd992272f4fa4eaab96.png differ diff --git a/assets/images/sciwp-42b422510e1fcb176fd90b5ff6dce921.png b/assets/images/sciwp-42b422510e1fcb176fd90b5ff6dce921.png new file mode 100644 index 0000000000..78137b29b4 Binary files /dev/null and b/assets/images/sciwp-42b422510e1fcb176fd90b5ff6dce921.png differ diff --git a/assets/images/search-848f1f1b9eb0d1b710e1d1dec50fb84a.png b/assets/images/search-848f1f1b9eb0d1b710e1d1dec50fb84a.png new file mode 100644 index 0000000000..af6732db8a Binary files /dev/null and b/assets/images/search-848f1f1b9eb0d1b710e1d1dec50fb84a.png differ diff --git a/assets/images/sequence-0f77ed55c6ff3789e71720e0f9021cef.png b/assets/images/sequence-0f77ed55c6ff3789e71720e0f9021cef.png new file mode 100644 index 0000000000..b676a2450e Binary files /dev/null and b/assets/images/sequence-0f77ed55c6ff3789e71720e0f9021cef.png differ diff --git a/assets/images/seven-innovation-base-9dcd026498d069c401ad1cd5782e65ad.png b/assets/images/seven-innovation-base-9dcd026498d069c401ad1cd5782e65ad.png new file mode 100644 index 0000000000..9e5b1120a2 Binary files /dev/null and b/assets/images/seven-innovation-base-9dcd026498d069c401ad1cd5782e65ad.png differ diff --git a/assets/images/shiki-twoslash-b74271684fa819a0175595409b2f323b.png b/assets/images/shiki-twoslash-b74271684fa819a0175595409b2f323b.png new file mode 100644 index 0000000000..42f4c456c6 Binary files /dev/null and b/assets/images/shiki-twoslash-b74271684fa819a0175595409b2f323b.png differ diff --git a/assets/images/shotstack-ee6e9c8c3835e6a7258ce9bf286050fe.png b/assets/images/shotstack-ee6e9c8c3835e6a7258ce9bf286050fe.png new file mode 100644 index 0000000000..bfda4556a8 Binary files /dev/null and b/assets/images/shotstack-ee6e9c8c3835e6a7258ce9bf286050fe.png differ diff --git a/assets/images/sicope-model-35900076ed6255f96ff4ed39be632f87.png b/assets/images/sicope-model-35900076ed6255f96ff4ed39be632f87.png new file mode 100644 index 0000000000..affe3914d7 Binary files /dev/null and b/assets/images/sicope-model-35900076ed6255f96ff4ed39be632f87.png differ diff --git a/assets/images/sidebar-item-description-f38981b17f486bc09fb811c6992ef668.jpg b/assets/images/sidebar-item-description-f38981b17f486bc09fb811c6992ef668.jpg new file mode 100644 index 0000000000..444903b728 Binary files /dev/null and b/assets/images/sidebar-item-description-f38981b17f486bc09fb811c6992ef668.jpg differ diff --git a/assets/images/single-spa-e274c21435f19c8949701726e48cce43.png b/assets/images/single-spa-e274c21435f19c8949701726e48cce43.png new file mode 100644 index 0000000000..19918c5721 Binary files /dev/null and b/assets/images/single-spa-e274c21435f19c8949701726e48cce43.png differ diff --git a/assets/images/slash-introducing-411a16dd05086935b8e9ddae38ae9b45.svg b/assets/images/slash-introducing-411a16dd05086935b8e9ddae38ae9b45.svg new file mode 100644 index 0000000000..bb1be35ef3 --- /dev/null +++ b/assets/images/slash-introducing-411a16dd05086935b8e9ddae38ae9b45.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="760" height="160" style="background:#4b4b4b"><style>.N{fill:#d8d8d8}.O{stroke:#979797}.P{fill:#00adff}.Q{stroke-width:1}.R{stroke-width:2}.S{stroke:#f9e900}.U{fill:#44d860}.V{fill:#3ecc5f}.W{fill:#806e6e}.X{fill-rule:nonzero}</style><defs><path id="A" d="M0 47h45V25h11v22h47v7H0z"/><path id="B" d="M47 6h7v20h-7z"/></defs><g fill="none" fill-rule="evenodd"><g opacity=".274"><path d="M189 0h192v149H189z" class="W"/><path d="M199 2h84v19h-84z" class="N"/><path d="M269 11h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M208 8l7.517 7.517M212.667 8l7.517 7.517M222 8l7.517 7.517M217.333 8l7.517 7.517" class="O Q"/><path d="M199 23h84v19h-84z" class="N"/><path d="M269 32h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M208 29l7.517 7.517M212.667 29l7.517 7.517M222 29l7.517 7.517M217.333 29l7.517 7.517" class="O Q"/><path d="M199 44h84v19h-84z" class="N"/><path d="M269 53h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M208 50l7.517 7.517M212.667 50l7.517 7.517M222 50l7.517 7.517M217.333 50l7.517 7.517" class="O Q"/><path d="M199 65h84v19h-84z" class="N"/><path d="M269 74h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M208 71l7.517 7.517M212.667 71l7.517 7.517M222 71l7.517 7.517M217.333 71l7.517 7.517" class="O Q"/><path d="M199 86h84v19h-84z" class="N"/><path d="M269 95h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M208 92l7.517 7.517M212.667 92l7.517 7.517M222 92l7.517 7.517M217.333 92l7.517 7.517" class="O Q"/><path d="M199 107h84v19h-84z" class="N"/><path d="M269 116h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M208 113l7.517 7.517m-2.85-7.517l7.517 7.517M222 113l7.517 7.517M217.333 113l7.517 7.517" class="O Q"/><path d="M199 128h84v19h-84z" class="N"/><path d="M269 137h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M208 134l7.517 7.517m-2.85-7.517l7.517 7.517M222 134l7.517 7.517M217.333 134l7.517 7.517" class="O Q"/><g class="R"><path d="M192 0v149m0-136h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7" class="R S"/><path d="M195 0v149m0-140h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6"/></g><path d="M294 2h84v19h-84z" class="N"/><path d="M364 11h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M303 8l7.517 7.517M307.667 8l7.517 7.517M317 8l7.517 7.517M312.333 8l7.517 7.517" class="O Q"/><path d="M294 23h84v19h-84z" class="N"/><path d="M364 32h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M303 29l7.517 7.517M307.667 29l7.517 7.517M317 29l7.517 7.517M312.333 29l7.517 7.517" class="O Q"/><path d="M294 44h84v19h-84z" class="N"/><path d="M364 53h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M303 50l7.517 7.517M307.667 50l7.517 7.517M317 50l7.517 7.517M312.333 50l7.517 7.517" class="O Q"/><path d="M294 65h84v19h-84z" class="N"/><path d="M364 74h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M303 71l7.517 7.517M307.667 71l7.517 7.517M317 71l7.517 7.517M312.333 71l7.517 7.517" class="O Q"/><path d="M294 86h84v19h-84z" class="N"/><path d="M364 95h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M303 92l7.517 7.517M307.667 92l7.517 7.517M317 92l7.517 7.517M312.333 92l7.517 7.517" class="O Q"/><path d="M294 107h84v19h-84z" class="N"/><path d="M364 116h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M303 113l7.517 7.517m-2.85-7.517l7.517 7.517M317 113l7.517 7.517M312.333 113l7.517 7.517" class="O Q"/><path d="M294 128h84v19h-84z" class="N"/><path d="M364 137h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M303 134l7.517 7.517m-2.85-7.517l7.517 7.517M317 134l7.517 7.517M312.333 134l7.517 7.517" class="O Q"/><g class="R"><path d="M287 0v149m0-136h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7" class="R S"/><path d="M290 0v149m0-140h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6"/></g></g><g opacity=".274"><path d="M378 0h192v149H378z" class="W"/><path d="M388 2h84v19h-84z" class="N"/><path d="M458 11h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M397 8l7.517 7.517M401.667 8l7.517 7.517M411 8l7.517 7.517M406.333 8l7.517 7.517" class="O Q"/><path d="M388 23h84v19h-84z" class="N"/><path d="M458 32h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M397 29l7.517 7.517M401.667 29l7.517 7.517M411 29l7.517 7.517M406.333 29l7.517 7.517" class="O Q"/><path d="M388 44h84v19h-84z" class="N"/><path d="M458 53h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M397 50l7.517 7.517M401.667 50l7.517 7.517M411 50l7.517 7.517M406.333 50l7.517 7.517" class="O Q"/><path d="M388 65h84v19h-84z" class="N"/><path d="M458 74h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M397 71l7.517 7.517M401.667 71l7.517 7.517M411 71l7.517 7.517M406.333 71l7.517 7.517" class="O Q"/><path d="M388 86h84v19h-84z" class="N"/><path d="M458 95h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M397 92l7.517 7.517M401.667 92l7.517 7.517M411 92l7.517 7.517M406.333 92l7.517 7.517" class="O Q"/><path d="M388 107h84v19h-84z" class="N"/><path d="M458 116h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M397 113l7.517 7.517m-2.85-7.517l7.517 7.517M411 113l7.517 7.517M406.333 113l7.517 7.517" class="O Q"/><path d="M388 128h84v19h-84z" class="N"/><path d="M458 137h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M397 134l7.517 7.517m-2.85-7.517l7.517 7.517M411 134l7.517 7.517M406.333 134l7.517 7.517" class="O Q"/><g class="R"><path d="M381 0v149m0-136h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7" class="R S"/><path d="M384 0v149m0-140h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6"/></g><path d="M483 2h84v19h-84z" class="N"/><path d="M553 11h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M492 8l7.517 7.517M496.667 8l7.517 7.517M506 8l7.517 7.517M501.333 8l7.517 7.517" class="O Q"/><path d="M483 23h84v19h-84z" class="N"/><path d="M553 32h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M492 29l7.517 7.517M496.667 29l7.517 7.517M506 29l7.517 7.517M501.333 29l7.517 7.517" class="O Q"/><path d="M483 44h84v19h-84z" class="N"/><path d="M553 53h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M492 50l7.517 7.517M496.667 50l7.517 7.517M506 50l7.517 7.517M501.333 50l7.517 7.517" class="O Q"/><path d="M483 65h84v19h-84z" class="N"/><path d="M553 74h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M492 71l7.517 7.517M496.667 71l7.517 7.517M506 71l7.517 7.517M501.333 71l7.517 7.517" class="O Q"/><path d="M483 86h84v19h-84z" class="N"/><path d="M553 95h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M492 92l7.517 7.517M496.667 92l7.517 7.517M506 92l7.517 7.517M501.333 92l7.517 7.517" class="O Q"/><path d="M483 107h84v19h-84z" class="N"/><path d="M553 116h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M492 113l7.517 7.517m-2.85-7.517l7.517 7.517M506 113l7.517 7.517M501.333 113l7.517 7.517" class="O Q"/><path d="M483 128h84v19h-84z" class="N"/><path d="M553 137h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M492 134l7.517 7.517m-2.85-7.517l7.517 7.517M506 134l7.517 7.517M501.333 134l7.517 7.517" class="O Q"/><g class="R"><path d="M476 0v149m0-136h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7" class="R S"/><path d="M479 0v149m0-140h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6"/></g></g><path d="M0 0h192v149H0z" class="W"/><path d="M10 2h84v19H10z" class="N"/><path d="M80 11h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M19 8l7.517 7.517M23.667 8l7.517 7.517M33 8l7.517 7.517M28.333 8l7.517 7.517" class="O Q"/><path d="M10 23h84v19H10z" class="N"/><path d="M80 32h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M19 29l7.517 7.517M23.667 29l7.517 7.517M33 29l7.517 7.517M28.333 29l7.517 7.517" class="O Q"/><path d="M10 44h84v19H10z" class="N"/><path d="M80 53h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M19 50l7.517 7.517M23.667 50l7.517 7.517M33 50l7.517 7.517M28.333 50l7.517 7.517" class="O Q"/><path d="M10 65h84v19H10z" class="N"/><path d="M80 74h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M19 71l7.517 7.517M23.667 71l7.517 7.517M33 71l7.517 7.517M28.333 71l7.517 7.517" class="O Q"/><path d="M10 86h84v19H10z" class="N"/><path d="M80 95h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M19 92l7.517 7.517M23.667 92l7.517 7.517M33 92l7.517 7.517M28.333 92l7.517 7.517" class="O Q"/><path d="M10 107h84v19H10z" class="N"/><path d="M80 116h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M19 113l7.517 7.517M23.667 113l7.517 7.517M33 113l7.517 7.517M28.333 113l7.517 7.517" class="O Q"/><path d="M10 128h84v19H10z" class="N"/><path d="M80 137h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M19 134l7.517 7.517M23.667 134l7.517 7.517M33 134l7.517 7.517M28.333 134l7.517 7.517" class="O Q"/><g class="R"><path d="M3 0v149M3 13h7M3 34h7M3 55h7M3 76h7M3 97h7m-7 21h7m-7 21h7" class="R S"/><path d="M6 0v149M6 9h6M6 30h6M6 51h6M6 72h6M6 93h6m-6 21h6m-6 21h6"/></g><path d="M105 2h84v19h-84z" class="N"/><path d="M175 11h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M114 8l7.517 7.517M118.667 8l7.517 7.517M128 8l7.517 7.517M123.333 8l7.517 7.517" class="O Q"/><path d="M105 23h84v19h-84z" class="N"/><path d="M175 32h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M114 29l7.517 7.517M118.667 29l7.517 7.517M128 29l7.517 7.517M123.333 29l7.517 7.517" class="O Q"/><path d="M105 44h84v19h-84z" class="N"/><path d="M175 53h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M114 50l7.517 7.517M118.667 50l7.517 7.517M128 50l7.517 7.517M123.333 50l7.517 7.517" class="O Q"/><path d="M105 65h84v19h-84z" class="N"/><path d="M175 74h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M114 71l7.517 7.517M118.667 71l7.517 7.517M128 71l7.517 7.517M123.333 71l7.517 7.517" class="O Q"/><path d="M105 86h84v19h-84z" class="N"/><path d="M175 95h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M114 92l7.517 7.517M118.667 92l7.517 7.517M128 92l7.517 7.517M123.333 92l7.517 7.517" class="O Q"/><path d="M105 107h84v19h-84z" class="N"/><path d="M175 116h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M114 113l7.517 7.517m-2.85-7.517l7.517 7.517M128 113l7.517 7.517M123.333 113l7.517 7.517" class="O Q"/><path d="M105 128h84v19h-84z" class="N"/><path d="M175 137h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M114 134l7.517 7.517m-2.85-7.517l7.517 7.517M128 134l7.517 7.517M123.333 134l7.517 7.517" class="O Q"/><g class="R"><path d="M98 0v149m0-136h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7" class="R S"/><path d="M101 0v149m0-140h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6"/></g><path d="M568 0h192v149H568z" class="W"/><path d="M578 2h84v19h-84z" class="N"/><path d="M648 11h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M587 8l7.517 7.517M591.667 8l7.517 7.517M601 8l7.517 7.517M596.333 8l7.517 7.517" class="O Q"/><path d="M578 23h84v19h-84z" class="N"/><path d="M648 32h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M587 29l7.517 7.517M591.667 29l7.517 7.517M601 29l7.517 7.517M596.333 29l7.517 7.517" class="O Q"/><path d="M578 44h84v19h-84z" class="N"/><path d="M648 53h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M587 50l7.517 7.517M591.667 50l7.517 7.517M601 50l7.517 7.517M596.333 50l7.517 7.517" class="O Q"/><path d="M578 65h84v19h-84z" class="N"/><path d="M648 74h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M587 71l7.517 7.517M591.667 71l7.517 7.517M601 71l7.517 7.517M596.333 71l7.517 7.517" class="O Q"/><path d="M578 86h84v19h-84z" class="N"/><path d="M648 95h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M587 92l7.517 7.517M591.667 92l7.517 7.517M601 92l7.517 7.517M596.333 92l7.517 7.517" class="O Q"/><path d="M578 107h84v19h-84z" class="N"/><path d="M648 116h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M587 113l7.517 7.517m-2.85-7.517l7.517 7.517M601 113l7.517 7.517M596.333 113l7.517 7.517" class="O Q"/><path d="M578 128h84v19h-84z" class="N"/><path d="M648 137h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M587 134l7.517 7.517m-2.85-7.517l7.517 7.517M601 134l7.517 7.517M596.333 134l7.517 7.517" class="O Q"/><g class="R"><path d="M571 0v149m0-136h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7" class="R S"/><path d="M574 0v149m0-140h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6"/></g><path d="M673 2h84v19h-84z" class="N"/><path d="M743 11h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M682 8l7.517 7.517M686.667 8l7.517 7.517M696 8l7.517 7.517M691.333 8l7.517 7.517" class="O Q"/><path d="M673 23h84v19h-84z" class="N"/><path d="M743 32h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M682 29l7.517 7.517M686.667 29l7.517 7.517M696 29l7.517 7.517M691.333 29l7.517 7.517" class="O Q"/><path d="M673 44h84v19h-84z" class="N"/><path d="M743 53h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M682 50l7.517 7.517M686.667 50l7.517 7.517M696 50l7.517 7.517M691.333 50l7.517 7.517" class="O Q"/><path d="M673 65h84v19h-84z" class="N"/><path d="M743 74h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M682 71l7.517 7.517M686.667 71l7.517 7.517M696 71l7.517 7.517M691.333 71l7.517 7.517" class="O Q"/><path d="M673 86h84v19h-84z" class="N"/><path d="M743 95h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M682 92l7.517 7.517M686.667 92l7.517 7.517M696 92l7.517 7.517M691.333 92l7.517 7.517" class="O Q"/><path d="M673 107h84v19h-84z" class="N"/><path d="M743 116h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M682 113l7.517 7.517m-2.85-7.517l7.517 7.517M696 113l7.517 7.517M691.333 113l7.517 7.517" class="O Q"/><path d="M673 128h84v19h-84z" class="N"/><path d="M743 137h4v3h-4zm6 0h4v3h-4z" class="P"/><path d="M682 134l7.517 7.517m-2.85-7.517l7.517 7.517M696 134l7.517 7.517M691.333 134l7.517 7.517" class="O Q"/><g class="R"><path d="M666 0v149m0-136h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7m-7 21h7" class="R S"/><path d="M669 0v149m0-140h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6m-6 21h6"/></g><g class="X"><path d="M338 57h59v24h-59z" fill="#fff"/><g class="V"><path d="M285 135c-5.179 0-9.69-2.819-12.112-7a13.92 13.92 0 00-1.888 7c0 7.732 6.268 14 14 14h14v-14h-14z"/><path d="M348.004 60.337L397 57.249v-7.058c0-7.796-6.266-14.116-13.995-14.116h-62.977l-1.749-3.056a2.011 2.011 0 00-3.499 0l-1.749 3.056-1.749-3.056a2.011 2.011 0 00-3.499 0l-1.749 3.056-1.749-3.056a2.011 2.011 0 00-3.499 0l-1.749 3.056-.045.002-2.898-2.923c-1.099-1.109-2.975-.602-3.378.913l-.958 3.602-3.633-.982c-1.503-.406-2.877.98-2.474 2.496l.973 3.665-3.57.965c-1.503.406-2.006 2.3-.907 3.409l2.898 2.923-.002.045-3.03 1.764a2.05 2.05 0 000 3.529l3.03 1.765-3.03 1.764a2.05 2.05 0 000 3.529l3.03 1.764-3.03 1.765a2.05 2.05 0 000 3.529l3.03 1.764-3.03 1.764a2.05 2.05 0 000 3.529l3.03 1.764-3.03 1.764a2.05 2.05 0 000 3.529l3.03 1.764-3.03 1.764a2.05 2.05 0 000 3.529l3.03 1.765-3.03 1.764a2.05 2.05 0 000 3.529l3.03 1.764-3.03 1.765a2.05 2.05 0 000 3.529l3.03 1.764-3.03 1.764a2.05 2.05 0 000 3.529l3.03 1.764-3.03 1.764a2.05 2.05 0 000 3.529l3.03 1.764-3.03 1.764a2.05 2.05 0 000 3.529l3.03 1.765-3.03 1.764a2.05 2.05 0 000 3.529l3.03 1.764c0 7.796 6.266 14.116 13.995 14.116h83.97c7.729 0 13.995-6.32 13.995-14.116V78.422l-48.996-3.088c-3.925-.248-6.983-3.531-6.983-7.498s3.058-7.25 6.983-7.498"/><path d="M369 149h21v-28h-21z"/></g><path d="M404.444 131.222c-.156 0-.304.026-.454.046l-.082-.321a3.557 3.557 0 00-1.369-6.836 3.53 3.53 0 00-2.145.737l-.238-.239a3.522 3.522 0 00.719-2.124 3.556 3.556 0 00-6.826-1.393l-.316-.082c.019-.15.046-.299.046-.454a3.556 3.556 0 10-7.112 0c0 .156.026.304.046.454l-.316.082a3.554 3.554 0 00-6.826 1.393c0 .8.273 1.53.719 2.124a14.175 14.175 0 00-4.289 10.169c0 7.855 6.367 14.222 14.222 14.222 6.641 0 12.203-4.558 13.768-10.712.15.019.299.045.454.045a3.556 3.556 0 100-7.111" class="U"/><path d="M376 107h21V93h-21z" class="V"/><path d="M404.222 101.795c.982 0 1.778-.803 1.778-1.795s-.796-1.795-1.778-1.795c-.078 0-.152.013-.227.023l-.041-.162a1.8 1.8 0 001.055-2.008 1.783 1.783 0 00-1.74-1.443c-.405 0-.774.141-1.072.372l-.119-.121c.223-.299.36-.668.36-1.073a1.79 1.79 0 00-1.422-1.758 1.775 1.775 0 00-1.991 1.055 7.033 7.033 0 00-1.913-.271c-3.927 0-7.111 3.215-7.111 7.179s3.184 7.179 7.111 7.179c.664 0 1.303-.099 1.913-.271a1.774 1.774 0 001.991 1.055 1.79 1.79 0 001.422-1.758c0-.404-.137-.773-.36-1.073l.119-.121c.299.23.668.372 1.072.372.847 0 1.577-.604 1.743-1.442a1.8 1.8 0 00-1.058-2.009l.041-.162c.075.01.149.023.227.023" class="U"/><path d="M313.2 60c-.994 0-1.8-.821-1.8-1.833 0-3.033-2.422-5.5-5.4-5.5s-5.4 2.467-5.4 5.5c0 1.012-.806 1.833-1.8 1.833s-1.8-.821-1.8-1.833c0-5.055 4.037-9.167 9-9.167s9 4.112 9 9.167c0 1.012-.806 1.833-1.8 1.833" fill="#000"/><path d="M341 149h42c7.732 0 14-6.268 14-14V86h-42c-7.732 0-14 6.268-14 14v49z" fill="#FFFF50"/><path d="M387.451 106.873h-35.239a.704.704 0 110-1.406h35.239a.704.704 0 110 1.406zm0 14.063h-35.239a.704.704 0 110-1.406h35.239a.704.704 0 110 1.406zm0 14.063h-35.239a.704.704 0 110-1.406h35.239a.704.704 0 110 1.406zm0-35.028h-35.239a.704.704 0 110-1.406h35.239a.704.704 0 110 1.406zm0 13.933h-35.239a.704.704 0 110-1.406h35.239a.704.704 0 110 1.406zm0 14.063h-35.239a.704.704 0 110-1.406h35.239a.704.704 0 110 1.406zM398 63.004c-.008 0-.016-.004-.024-.004-2.176.074-3.206 2.247-4.114 4.165-.948 2.004-1.681 3.307-2.882 3.268-1.33-.048-2.091-1.548-2.896-3.136-.925-1.824-1.982-3.893-4.199-3.815-2.145.073-3.178 1.965-4.089 3.633-.97 1.778-1.63 2.858-2.902 2.809-1.357-.049-2.078-1.269-2.913-2.681-.93-1.572-2.006-3.34-4.18-3.28-2.108.073-3.144 1.677-4.058 3.094-.967 1.498-1.644 2.41-2.933 2.356-1.389-.049-2.107-1.062-2.937-2.234-.932-1.317-1.983-2.808-4.151-2.735-2.062.07-3.098 1.385-4.011 2.544-.868 1.1-1.545 1.97-2.978 1.915a.705.705 0 10-.051 1.407c2.125.071 3.201-1.266 4.135-2.452.829-1.052 1.544-1.96 2.953-2.008 1.356-.058 1.992.784 2.954 2.141.913 1.29 1.95 2.752 4.036 2.827 2.185.073 3.237-1.558 4.168-3 .832-1.29 1.551-2.403 2.923-2.45 1.263-.047 1.95.949 2.919 2.588.913 1.545 1.948 3.295 4.075 3.372 2.201.076 3.263-1.842 4.189-3.541.802-1.468 1.559-2.855 2.901-2.901 1.263-.03 1.921 1.122 2.895 3.045.91 1.795 1.942 3.829 4.102 3.907l.119.002c2.158 0 3.182-2.162 4.088-4.074.802-1.695 1.561-3.291 2.864-3.356v-1.406z" fill="#000"/><path d="M327 149h28v-28h-28z" class="V"/><path d="M369.444 131.222c-.156 0-.304.026-.454.046l-.082-.321a3.557 3.557 0 00-1.369-6.836 3.53 3.53 0 00-2.145.737l-.238-.239a3.522 3.522 0 00.719-2.124 3.556 3.556 0 00-6.826-1.393l-.316-.082c.019-.15.046-.299.046-.454a3.556 3.556 0 10-7.112 0c0 .156.026.304.046.454l-.316.082a3.554 3.554 0 00-6.826 1.393c0 .8.273 1.53.719 2.124a14.175 14.175 0 00-4.289 10.169c0 7.855 6.367 14.222 14.222 14.222 6.641 0 12.203-4.558 13.768-10.712.15.019.299.045.454.045a3.556 3.556 0 100-7.111" class="U"/><path d="M327 107h28V93h-28z" class="V"/><path d="M362.222 101.795c.982 0 1.778-.803 1.778-1.795s-.796-1.795-1.778-1.795c-.078 0-.152.013-.227.023l-.041-.162a1.8 1.8 0 001.055-2.008 1.783 1.783 0 00-1.74-1.443c-.405 0-.774.141-1.072.372l-.119-.121c.223-.299.36-.668.36-1.073a1.79 1.79 0 00-1.422-1.758 1.775 1.775 0 00-1.991 1.055 7.033 7.033 0 00-1.913-.271c-3.927 0-7.111 3.215-7.111 7.179s3.184 7.179 7.111 7.179c.664 0 1.303-.099 1.913-.271a1.774 1.774 0 001.991 1.055 1.79 1.79 0 001.422-1.758c0-.404-.137-.773-.36-1.073l.119-.121c.299.23.668.372 1.072.372.847 0 1.577-.604 1.743-1.442a1.8 1.8 0 00-1.058-2.009l.041-.162c.075.01.149.023.227.023" class="U"/><path d="M369.8 49a2.18 2.18 0 01-.353-.032 1.99 1.99 0 01-.338-.09 1.95 1.95 0 01-.31-.147 2.67 2.67 0 01-.274-.198c-.078-.077-.158-.154-.222-.243a1.62 1.62 0 01-.166-.275 1.511 1.511 0 01-.136-.614 1.55 1.55 0 01.036-.313 1.7 1.7 0 01.1-.301 1.63 1.63 0 01.166-.275c.065-.083.144-.167.222-.243a2.67 2.67 0 01.274-.198 1.95 1.95 0 01.31-.147 2 2 0 01.338-.09c.23-.045.468-.045.706 0a2.04 2.04 0 01.338.09 1.94 1.94 0 01.31.147c.094.057.186.128.274.198.079.077.158.16.223.243a1.58 1.58 0 01.166.275 1.526 1.526 0 01.137.614c0 .422-.195.838-.526 1.132-.087.07-.18.141-.274.198a1.94 1.94 0 01-.31.147 2.05 2.05 0 01-.691.122m14.4-.8c-.475 0-.936-.173-1.275-.467a2.54 2.54 0 01-.222-.243 1.635 1.635 0 01-.166-.275 1.511 1.511 0 01-.136-.614c0-.422.194-.832.525-1.133.087-.07.18-.141.274-.198a1.97 1.97 0 01.31-.147 1.98 1.98 0 01.338-.089c.23-.045.475-.045.706 0 .115.019.23.051.338.089s.209.09.31.147c.094.058.186.128.274.198.33.301.526.71.526 1.133a1.48 1.48 0 01-.137.614c-.05.096-.101.186-.166.275a2.44 2.44 0 01-.223.243 1.866 1.866 0 01-.584.345 2.068 2.068 0 01-.691.122" fill="#000"/></g><path d="M339.62 92.27L396.61 77l5.694 21.25-56.99 15.27z" fill="#C5C5C5"/><path d="M340.504 92.768l5.462-1.463.404 1.508-5.462 1.463zm6.16-1.65l2.899-.777.517 1.932-2.897.777zm3.851-1.032l2.898-.776.517 1.931-2.897.777zm3.851-1.032l2.898-.776.518 1.932-2.898.776zm3.85-1.031l2.898-.777.518 1.932-2.898.776zm3.852-1.032l2.897-.777.518 1.932-2.898.776zm3.85-1.032l2.897-.776.518 1.931-2.898.777zm3.85-1.032l2.899-.776.517 1.931-2.898.777zm3.851-1.032l2.898-.776.517 1.932-2.897.776zm3.851-1.032l2.898-.776.518 1.932-2.898.776zm3.85-1.031l2.898-.777.518 1.932-2.898.777zm3.852-1.032l2.897-.777.518 1.932-2.898.777zm3.85-1.032l2.897-.776.518 1.932-2.898.776zm3.85-1.032l2.899-.776.517 1.932-2.898.776zm-51.817 16.089l2.898-.777.776 2.898-2.897.777zm3.85-1.032l2.898-.776.777 2.898-2.898.776zm3.852-1.032l2.897-.776.777 2.898-2.898.776zm3.85-1.031l2.898-.777.776 2.898-2.898.777zm3.85-1.032l2.899-.777.776 2.898-2.898.777zm3.851-1.032l2.898-.776.776 2.897-2.897.777zm3.851-1.032l2.898-.776.776 2.898-2.897.776zm3.85-1.031l2.898-.777.777 2.898-2.898.776zm3.852-1.032l2.897-.777.777 2.898-2.898.776zm3.85-1.032l2.897-.776.777 2.897-2.898.777zm3.85-1.032l2.899-.776.776 2.897-2.898.777zm3.851-1.032l2.898-.776.776 2.898-2.897.776zm3.851-1.031l2.898-.777.776 2.898-2.897.776zm3.78-1.013l5.462-1.464.845 3.154-5.461 1.463zm-48.996 17.095l5.796-1.553.776 2.898-5.796 1.553zm6.02-1.613l2.898-.776.777 2.897-2.898.777zm3.852-1.032l2.898-.776.776 2.898-2.898.776zm3.85-1.031l2.898-.777.776 2.898-2.898.776zm3.851-1.032l2.898-.777.776 2.898-2.897.776zm3.85-1.032l2.898-.776.777 2.897-2.898.777zm3.851-1.032l2.898-.776.777 2.897-2.898.777zm3.85-1.032l2.898-.776.777 2.898-2.898.776zm3.852-1.031l2.898-.777.776 2.898-2.898.776zm3.85-1.032l2.898-.777.776 2.898-2.898.777zm3.851-1.032l2.898-.776.776 2.897-2.897.777zm3.85-1.032l2.898-.776.777 2.898-2.898.776zm3.851-1.032l2.898-.776.777 2.898-2.898.776zm3.85-1.031l2.898-.777.777 2.898-2.898.777zm-51.236 17.697l6.762-1.812.776 2.898-6.761 1.812zm49.428-13.245l5.796-1.552.776 2.897-5.795 1.553zm-42.427 11.369l2.898-.777.776 2.898-2.897.777zm3.85-1.032l2.898-.776.777 2.898-2.898.776zm3.851-1.032l2.898-.776.777 2.898-2.898.776zm3.85-1.031l2.898-.777.777 2.898-2.898.776zm3.852-1.032l2.898-.777.776 2.898-2.898.776zm3.85-1.032l2.898-.776.776 2.897-2.898.777zm3.851-1.032l2.898-.776.776 2.897-2.897.777zm3.85-1.031l2.898-.777.777 2.898-2.898.776zm3.851-1.032l2.898-.777.777 2.898-2.898.776zm3.85-1.032l2.898-.777.777 2.898-2.898.777zm3.852-1.032l2.898-.776.776 2.897-2.898.777zM344.03 105.93l8.693-2.33.777 2.899-8.694 2.329zm47.468-12.719l7.728-2.07.776 2.897-7.727 2.07zm-38.506 10.318l2.898-.777.776 2.898-2.898.777zm3.85-1.032l2.898-.776.776 2.898-2.898.776zm3.851-1.032l2.898-.776.776 2.898-2.897.776zm3.85-1.031l2.898-.777.776 2.898-2.897.776zm3.851-1.032l2.898-.777.777 2.898-2.898.777zm3.85-1.032l2.898-.776.777 2.897-2.898.777zm3.852-1.032l2.897-.776.777 2.898-2.898.776zm3.85-1.031l2.898-.777.776 2.898-2.898.776zm3.851-1.032l2.898-.777.776 2.898-2.898.776zm3.85-1.032l2.898-.776.776 2.897-2.897.777zm-26.242 10.999l19.318-5.177.777 2.898-19.319 5.177zm-16.383 4.39l2.897-.777.777 2.898-2.898.776zm3.85-1.032l2.898-.776.776 2.897-2.898.777zm3.851-1.032l2.898-.776.776 2.897-2.898.777zm3.85-1.032l3.864-1.035.776 2.898-3.863 1.035zm24.435-6.547l3.864-1.035.776 2.898-3.863 1.035zm4.621-1.238l2.898-.777.776 2.898-2.897.777zm3.71-.994l2.897-.776.777 2.897-2.898.777zm7.7-2.064l2.898-.776.777 2.898-2.898.776zm-3.85 1.032l2.898-.776.26.966-2.899.776zm.478 1.782l2.898-.776.259.966-2.898.776z" fill="#4A4A4A"/><g class="X"><path d="M327 107h28V93h-28z" class="V"/><path d="M362.222 101.795c.982 0 1.778-.803 1.778-1.795s-.796-1.795-1.778-1.795c-.078 0-.152.013-.227.023l-.041-.162a1.8 1.8 0 001.055-2.008 1.783 1.783 0 00-1.74-1.443c-.405 0-.774.141-1.072.372l-.119-.121c.223-.299.36-.668.36-1.073a1.79 1.79 0 00-1.422-1.758 1.775 1.775 0 00-1.991 1.055 7.033 7.033 0 00-1.913-.271c-3.927 0-7.111 3.215-7.111 7.179s3.184 7.179 7.111 7.179c.664 0 1.303-.099 1.913-.271a1.774 1.774 0 001.991 1.055 1.79 1.79 0 001.422-1.758c0-.404-.137-.773-.36-1.073l.119-.121c.299.23.668.372 1.072.372.847 0 1.577-.604 1.743-1.442a1.8 1.8 0 00-1.058-2.009l.041-.162c.075.01.149.023.227.023" class="U"/></g><path d="M0 149h760v11H0z" class="N"/><g transform="translate(419 29)"><path d="M3 74h12v3H3z" class="N"/><path d="M7 75h1v1H7z" fill="#22EC00"/><path d="M5 75h1v1H5z" fill="red"/><g transform="translate(0 66)"><use xlink:href="#A" class="N"/><path d="M.5 47.5v6h102v-6h-47v-22h-10v22H.5z" class="O"/><use xlink:href="#B" class="N"/><path d="M47.5 6.5h6v19h-6z" class="O"/><path d="M0 0h103v8H0z" fill="#ECECEC"/></g><path d="M15 52h13v14H15z" fill="#fff"/><circle cx="15.5" cy="59.5" r="3.5" stroke="#fff" class="R"/><g fill="#39579A" class="X"><path d="M25.649 59.904l-.229.073.144.198a.53.53 0 01.064.5.504.504 0 01-.38.317l-.23.04.11.216a.53.53 0 01-.008.491.495.495 0 01-.403.26h-2.883a1.05 1.05 0 01-.613-.231.635.635 0 00-.16-.108L21 61.631v-2.753l.3-.266 1.014-1.943a.878.878 0 00.119-.514l-.081-1.09a.45.45 0 01.23-.064c.438 0 .813.723.813 1.315a1.72 1.72 0 01-.018.245l-.177 1.181h2.2a.53.53 0 01.381.166.514.514 0 01-.054.762l-.204.16.223.131a.52.52 0 01.251.505.514.514 0 01-.348.439z"/><path d="M18.014 59c-.007 0-.013.004-.014.01v3.98c0 .006.007.01.014.01h2.972c.007 0 .014-.004.015-.01v-3.98c-.001-.006-.007-.01-.015-.01h-2.972z"/></g><path d="M46 65h32.016L57 27" stroke="#D8D8D8" stroke-width="3"/><path d="M56.539.849l5.977.523-5.055 57.779-5.977-.523z" class="N"/></g></g></svg> \ No newline at end of file diff --git a/assets/images/slash-plushies-71b7a47477442dfcf890627669aba97d.jpg b/assets/images/slash-plushies-71b7a47477442dfcf890627669aba97d.jpg new file mode 100644 index 0000000000..b16fa190be Binary files /dev/null and b/assets/images/slash-plushies-71b7a47477442dfcf890627669aba97d.jpg differ diff --git a/assets/images/slash-up-and-running-1c1f83f3064dcd56be41632c51be62ac.png b/assets/images/slash-up-and-running-1c1f83f3064dcd56be41632c51be62ac.png new file mode 100644 index 0000000000..783bb9ba60 Binary files /dev/null and b/assets/images/slash-up-and-running-1c1f83f3064dcd56be41632c51be62ac.png differ diff --git a/assets/images/slorber-ec4d8481627a744baf012e1c00f93e32.png b/assets/images/slorber-ec4d8481627a744baf012e1c00f93e32.png new file mode 100644 index 0000000000..a2959a335c Binary files /dev/null and b/assets/images/slorber-ec4d8481627a744baf012e1c00f93e32.png differ diff --git a/assets/images/smart-docs-91b0d0ab64803422bb0afc8ee67bc19a.png b/assets/images/smart-docs-91b0d0ab64803422bb0afc8ee67bc19a.png new file mode 100644 index 0000000000..a8672f0826 Binary files /dev/null and b/assets/images/smart-docs-91b0d0ab64803422bb0afc8ee67bc19a.png differ diff --git a/assets/images/smartcookieweb-22333d1f3972f2e52dc778981b4cb66a.png b/assets/images/smartcookieweb-22333d1f3972f2e52dc778981b4cb66a.png new file mode 100644 index 0000000000..b1c80e3c38 Binary files /dev/null and b/assets/images/smartcookieweb-22333d1f3972f2e52dc778981b4cb66a.png differ diff --git a/assets/images/smashgg-028ab1ea8e006054c550a852565f5045.png b/assets/images/smashgg-028ab1ea8e006054c550a852565f5045.png new file mode 100644 index 0000000000..9b34191146 Binary files /dev/null and b/assets/images/smashgg-028ab1ea8e006054c550a852565f5045.png differ diff --git a/assets/images/snapchat-1f1b7e180be3c3a597c755f80b26de44.png b/assets/images/snapchat-1f1b7e180be3c3a597c755f80b26de44.png new file mode 100644 index 0000000000..b928460575 Binary files /dev/null and b/assets/images/snapchat-1f1b7e180be3c3a597c755f80b26de44.png differ diff --git a/assets/images/social-card-0662a6f419d0032829f99915ccf8918b.png b/assets/images/social-card-0662a6f419d0032829f99915ccf8918b.png new file mode 100644 index 0000000000..11fc5d33ec Binary files /dev/null and b/assets/images/social-card-0662a6f419d0032829f99915ccf8918b.png differ diff --git a/assets/images/social-card-105335e6b4ebb3f62aa9b04e33a76dea.png b/assets/images/social-card-105335e6b4ebb3f62aa9b04e33a76dea.png new file mode 100644 index 0000000000..770c6efbc6 Binary files /dev/null and b/assets/images/social-card-105335e6b4ebb3f62aa9b04e33a76dea.png differ diff --git a/assets/images/social-card-1c688c53b51bdaa6e15ae532bf756276.png b/assets/images/social-card-1c688c53b51bdaa6e15ae532bf756276.png new file mode 100644 index 0000000000..2acffa6931 Binary files /dev/null and b/assets/images/social-card-1c688c53b51bdaa6e15ae532bf756276.png differ diff --git a/assets/images/social-card-3239a62bb56c9529ff255bc2c72e94f6.png b/assets/images/social-card-3239a62bb56c9529ff255bc2c72e94f6.png new file mode 100644 index 0000000000..1f319accdc Binary files /dev/null and b/assets/images/social-card-3239a62bb56c9529ff255bc2c72e94f6.png differ diff --git a/assets/images/social-card-402517ac2205718a22585e627fe1351c.png b/assets/images/social-card-402517ac2205718a22585e627fe1351c.png new file mode 100644 index 0000000000..c10ee36663 Binary files /dev/null and b/assets/images/social-card-402517ac2205718a22585e627fe1351c.png differ diff --git a/assets/images/social-card-414bbe5147ecc177bbe8d858616709c5.png b/assets/images/social-card-414bbe5147ecc177bbe8d858616709c5.png new file mode 100644 index 0000000000..b9280b0866 Binary files /dev/null and b/assets/images/social-card-414bbe5147ecc177bbe8d858616709c5.png differ diff --git a/assets/images/social-card-5214adcb56c496fa6afc571fb4d378f6.png b/assets/images/social-card-5214adcb56c496fa6afc571fb4d378f6.png new file mode 100644 index 0000000000..46d29bf4b0 Binary files /dev/null and b/assets/images/social-card-5214adcb56c496fa6afc571fb4d378f6.png differ diff --git a/assets/images/social-card-66116702bb73f0bf68a095ddaecc0fe4.png b/assets/images/social-card-66116702bb73f0bf68a095ddaecc0fe4.png new file mode 100644 index 0000000000..0988c5618b Binary files /dev/null and b/assets/images/social-card-66116702bb73f0bf68a095ddaecc0fe4.png differ diff --git a/assets/images/social-card-736cfe55fc7bba07204176852d67c0d5.png b/assets/images/social-card-736cfe55fc7bba07204176852d67c0d5.png new file mode 100644 index 0000000000..88bfbed242 Binary files /dev/null and b/assets/images/social-card-736cfe55fc7bba07204176852d67c0d5.png differ diff --git a/assets/images/social-card-73a479db9ad439c10153f05dc03fdc91.png b/assets/images/social-card-73a479db9ad439c10153f05dc03fdc91.png new file mode 100644 index 0000000000..59905b0873 Binary files /dev/null and b/assets/images/social-card-73a479db9ad439c10153f05dc03fdc91.png differ diff --git a/assets/images/social-card-75819f68ecbb579fe176843bb2e3df82.png b/assets/images/social-card-75819f68ecbb579fe176843bb2e3df82.png new file mode 100644 index 0000000000..7294d62f68 Binary files /dev/null and b/assets/images/social-card-75819f68ecbb579fe176843bb2e3df82.png differ diff --git a/assets/images/social-card-7b2ed059f27fc8b64f3f20025ebb382f.png b/assets/images/social-card-7b2ed059f27fc8b64f3f20025ebb382f.png new file mode 100644 index 0000000000..fa5bd91569 Binary files /dev/null and b/assets/images/social-card-7b2ed059f27fc8b64f3f20025ebb382f.png differ diff --git a/assets/images/social-card-7e038d19ea67c686e90e1f599f7256d0.png b/assets/images/social-card-7e038d19ea67c686e90e1f599f7256d0.png new file mode 100644 index 0000000000..d19772fe3c Binary files /dev/null and b/assets/images/social-card-7e038d19ea67c686e90e1f599f7256d0.png differ diff --git a/assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png b/assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png new file mode 100644 index 0000000000..5d4d489716 Binary files /dev/null and b/assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png differ diff --git a/assets/images/social-card-8dc2413b4f9e86328bf77575e91171d7.png b/assets/images/social-card-8dc2413b4f9e86328bf77575e91171d7.png new file mode 100644 index 0000000000..f8ca79fb1b Binary files /dev/null and b/assets/images/social-card-8dc2413b4f9e86328bf77575e91171d7.png differ diff --git a/assets/images/social-card-99fd18bd61fee0f631b8c820ef873dd5.png b/assets/images/social-card-99fd18bd61fee0f631b8c820ef873dd5.png new file mode 100644 index 0000000000..72b6c681f6 Binary files /dev/null and b/assets/images/social-card-99fd18bd61fee0f631b8c820ef873dd5.png differ diff --git a/assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png b/assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png new file mode 100644 index 0000000000..01b4239e79 Binary files /dev/null and b/assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png differ diff --git a/assets/images/social-embed-3fe56565340aa4f51cbff3e26b6a054e.png b/assets/images/social-embed-3fe56565340aa4f51cbff3e26b6a054e.png new file mode 100644 index 0000000000..2ba88adf85 Binary files /dev/null and b/assets/images/social-embed-3fe56565340aa4f51cbff3e26b6a054e.png differ diff --git a/assets/images/sodaforsparc-28010777385591077f37694ec7eeebb8.png b/assets/images/sodaforsparc-28010777385591077f37694ec7eeebb8.png new file mode 100644 index 0000000000..0a9d57cb54 Binary files /dev/null and b/assets/images/sodaforsparc-28010777385591077f37694ec7eeebb8.png differ diff --git a/assets/images/solana-9cd1c0b40cf349f85612e9d9d25d724b.png b/assets/images/solana-9cd1c0b40cf349f85612e9d9d25d724b.png new file mode 100644 index 0000000000..ecaa75e4cb Binary files /dev/null and b/assets/images/solana-9cd1c0b40cf349f85612e9d9d25d724b.png differ diff --git a/assets/images/spicetify-c2a1450fb9fa6a71ca6de3c097edda4d.png b/assets/images/spicetify-c2a1450fb9fa6a71ca6de3c097edda4d.png new file mode 100644 index 0000000000..521e376416 Binary files /dev/null and b/assets/images/spicetify-c2a1450fb9fa6a71ca6de3c097edda4d.png differ diff --git a/assets/images/spotifyapi-net-f425a4c62750b6bf09b03cf4b77e9d3d.png b/assets/images/spotifyapi-net-f425a4c62750b6bf09b03cf4b77e9d3d.png new file mode 100644 index 0000000000..ee87aa2a4c Binary files /dev/null and b/assets/images/spotifyapi-net-f425a4c62750b6bf09b03cf4b77e9d3d.png differ diff --git a/assets/images/sqlframes_docusaurus-e018ff7f1e38d38e84e79869db992344.png b/assets/images/sqlframes_docusaurus-e018ff7f1e38d38e84e79869db992344.png new file mode 100644 index 0000000000..9b296168d5 Binary files /dev/null and b/assets/images/sqlframes_docusaurus-e018ff7f1e38d38e84e79869db992344.png differ diff --git a/assets/images/stackblitz-9793041c6a300ef757b0656aadb9df67.png b/assets/images/stackblitz-9793041c6a300ef757b0656aadb9df67.png new file mode 100644 index 0000000000..34faed73de Binary files /dev/null and b/assets/images/stackblitz-9793041c6a300ef757b0656aadb9df67.png differ diff --git a/assets/images/stackblitz-b66b6f6647fa6f0af38e9923fb2eb422.png b/assets/images/stackblitz-b66b6f6647fa6f0af38e9923fb2eb422.png new file mode 100644 index 0000000000..8195f9d330 Binary files /dev/null and b/assets/images/stackblitz-b66b6f6647fa6f0af38e9923fb2eb422.png differ diff --git a/assets/images/stackql-013249abe4d6518fc01545c9be6419ed.png b/assets/images/stackql-013249abe4d6518fc01545c9be6419ed.png new file mode 100644 index 0000000000..e248b76339 Binary files /dev/null and b/assets/images/stackql-013249abe4d6518fc01545c9be6419ed.png differ diff --git a/assets/images/star-history-72ae014f60d05445753e9f690e41d347.png b/assets/images/star-history-72ae014f60d05445753e9f690e41d347.png new file mode 100644 index 0000000000..7eadba2754 Binary files /dev/null and b/assets/images/star-history-72ae014f60d05445753e9f690e41d347.png differ diff --git a/assets/images/star-history-c7ba492b822fed1336d08fe449f87840.png b/assets/images/star-history-c7ba492b822fed1336d08fe449f87840.png new file mode 100644 index 0000000000..17d5951fc1 Binary files /dev/null and b/assets/images/star-history-c7ba492b822fed1336d08fe449f87840.png differ diff --git a/assets/images/stryker-mutator-148105c0a7f5487eaf3e22c332a2d24d.png b/assets/images/stryker-mutator-148105c0a7f5487eaf3e22c332a2d24d.png new file mode 100644 index 0000000000..38e38fb314 Binary files /dev/null and b/assets/images/stryker-mutator-148105c0a7f5487eaf3e22c332a2d24d.png differ diff --git a/assets/images/stylable-a0a7f786abbf6e114a91b0084c78733d.png b/assets/images/stylable-a0a7f786abbf6e114a91b0084c78733d.png new file mode 100644 index 0000000000..156c4fdca7 Binary files /dev/null and b/assets/images/stylable-a0a7f786abbf6e114a91b0084c78733d.png differ diff --git a/assets/images/supabase-8f064f9083725077882d3ce18d61d52c.png b/assets/images/supabase-8f064f9083725077882d3ce18d61d52c.png new file mode 100644 index 0000000000..bb81ccc01c Binary files /dev/null and b/assets/images/supabase-8f064f9083725077882d3ce18d61d52c.png differ diff --git a/assets/images/svix-934c92fe3bfce3acac594b1b58b5f6d0.png b/assets/images/svix-934c92fe3bfce3acac594b1b58b5f6d0.png new file mode 100644 index 0000000000..170c6f0e4f Binary files /dev/null and b/assets/images/svix-934c92fe3bfce3acac594b1b58b5f6d0.png differ diff --git a/assets/images/sweetcode-7abd771cee7847ea1f45a6cf47ded1fe.png b/assets/images/sweetcode-7abd771cee7847ea1f45a6cf47ded1fe.png new file mode 100644 index 0000000000..d5a8bd0e7d Binary files /dev/null and b/assets/images/sweetcode-7abd771cee7847ea1f45a6cf47ded1fe.png differ diff --git a/assets/images/synergies-62b15424f661b0e0649afb3c75092703.png b/assets/images/synergies-62b15424f661b0e0649afb3c75092703.png new file mode 100644 index 0000000000..ecf2cad351 Binary files /dev/null and b/assets/images/synergies-62b15424f661b0e0649afb3c75092703.png differ diff --git a/assets/images/talentbrick-36480459fa84bc1d9401417b357ff2ec.png b/assets/images/talentbrick-36480459fa84bc1d9401417b357ff2ec.png new file mode 100644 index 0000000000..fd200e335a Binary files /dev/null and b/assets/images/talentbrick-36480459fa84bc1d9401417b357ff2ec.png differ diff --git a/assets/images/tamalwebsite-45a6f8c87f587141910d97f1598f3cbc.png b/assets/images/tamalwebsite-45a6f8c87f587141910d97f1598f3cbc.png new file mode 100644 index 0000000000..18370efaf2 Binary files /dev/null and b/assets/images/tamalwebsite-45a6f8c87f587141910d97f1598f3cbc.png differ diff --git a/assets/images/tauri-10c3458b9d3fd5bf464d0f9cea0842bf.png b/assets/images/tauri-10c3458b9d3fd5bf464d0f9cea0842bf.png new file mode 100644 index 0000000000..5f18116b6d Binary files /dev/null and b/assets/images/tauri-10c3458b9d3fd5bf464d0f9cea0842bf.png differ diff --git a/assets/images/tauri-5132174b86954b9f0a73225ba01ee1df.png b/assets/images/tauri-5132174b86954b9f0a73225ba01ee1df.png new file mode 100644 index 0000000000..1bbaa32faa Binary files /dev/null and b/assets/images/tauri-5132174b86954b9f0a73225ba01ee1df.png differ diff --git a/assets/images/techharvesting-bd0feb0fb9bc76242c7d548b0c970fb8.png b/assets/images/techharvesting-bd0feb0fb9bc76242c7d548b0c970fb8.png new file mode 100644 index 0000000000..861e865e81 Binary files /dev/null and b/assets/images/techharvesting-bd0feb0fb9bc76242c7d548b0c970fb8.png differ diff --git a/assets/images/testing-library-404b89880d6af98a81ca2877f35a628d.png b/assets/images/testing-library-404b89880d6af98a81ca2877f35a628d.png new file mode 100644 index 0000000000..1b3f037154 Binary files /dev/null and b/assets/images/testing-library-404b89880d6af98a81ca2877f35a628d.png differ diff --git a/assets/images/the-diff-4ba6bfd274dccc6773fb4760069809c5.png b/assets/images/the-diff-4ba6bfd274dccc6773fb4760069809c5.png new file mode 100644 index 0000000000..9a98b15615 Binary files /dev/null and b/assets/images/the-diff-4ba6bfd274dccc6773fb4760069809c5.png differ diff --git a/assets/images/thumbnail-dbb46fec970f4431a6846603224dd2fe.png b/assets/images/thumbnail-dbb46fec970f4431a6846603224dd2fe.png new file mode 100644 index 0000000000..bcc169479a Binary files /dev/null and b/assets/images/thumbnail-dbb46fec970f4431a6846603224dd2fe.png differ diff --git a/assets/images/tidb-community-book-94db820c651d010ac92cb8850a3db0c4.png b/assets/images/tidb-community-book-94db820c651d010ac92cb8850a3db0c4.png new file mode 100644 index 0000000000..79e54d96d2 Binary files /dev/null and b/assets/images/tidb-community-book-94db820c651d010ac92cb8850a3db0c4.png differ diff --git a/assets/images/tinaeldevresse-3ff103efb34064554d15abc4480be1ed.png b/assets/images/tinaeldevresse-3ff103efb34064554d15abc4480be1ed.png new file mode 100644 index 0000000000..5c601c7477 Binary files /dev/null and b/assets/images/tinaeldevresse-3ff103efb34064554d15abc4480be1ed.png differ diff --git a/assets/images/tooljet-7dfcac00aa867e747272aa2a236e7c95.png b/assets/images/tooljet-7dfcac00aa867e747272aa2a236e7c95.png new file mode 100644 index 0000000000..fd3b7277c6 Binary files /dev/null and b/assets/images/tooljet-7dfcac00aa867e747272aa2a236e7c95.png differ diff --git a/assets/images/tremor-ed91b8cf126482731f01a12a474a96c4.png b/assets/images/tremor-ed91b8cf126482731f01a12a474a96c4.png new file mode 100644 index 0000000000..032168693b Binary files /dev/null and b/assets/images/tremor-ed91b8cf126482731f01a12a474a96c4.png differ diff --git a/assets/images/trend-2735e446f67fbcaa0811d103588e9b82.png b/assets/images/trend-2735e446f67fbcaa0811d103588e9b82.png new file mode 100644 index 0000000000..68d6531d7f Binary files /dev/null and b/assets/images/trend-2735e446f67fbcaa0811d103588e9b82.png differ diff --git a/assets/images/trpgengine-92b0322bd80d87fac3d9b51916cd4acb.png b/assets/images/trpgengine-92b0322bd80d87fac3d9b51916cd4acb.png new file mode 100644 index 0000000000..88bcac47ea Binary files /dev/null and b/assets/images/trpgengine-92b0322bd80d87fac3d9b51916cd4acb.png differ diff --git a/assets/images/uniforms-f411ddb301d0e53b8663421ee5bc6f0c.png b/assets/images/uniforms-f411ddb301d0e53b8663421ee5bc6f0c.png new file mode 100644 index 0000000000..a993ba9aa0 Binary files /dev/null and b/assets/images/uniforms-f411ddb301d0e53b8663421ee5bc6f0c.png differ diff --git a/assets/images/unleash-745ff545c0eb37ae7db8b0e23ef38e35.png b/assets/images/unleash-745ff545c0eb37ae7db8b0e23ef38e35.png new file mode 100644 index 0000000000..dbdf21c445 Binary files /dev/null and b/assets/images/unleash-745ff545c0eb37ae7db8b0e23ef38e35.png differ diff --git a/assets/images/unmand-70f3f61a911ce5f5f2b031095de23763.png b/assets/images/unmand-70f3f61a911ce5f5f2b031095de23763.png new file mode 100644 index 0000000000..216527c5a6 Binary files /dev/null and b/assets/images/unmand-70f3f61a911ce5f5f2b031095de23763.png differ diff --git a/assets/images/verdaccio-2d1fe5ff04df891b4859f750c4b414aa.png b/assets/images/verdaccio-2d1fe5ff04df891b4859f750c4b414aa.png new file mode 100644 index 0000000000..bc9bdfdf8e Binary files /dev/null and b/assets/images/verdaccio-2d1fe5ff04df891b4859f750c4b414aa.png differ diff --git a/assets/images/verida-developers-de3bcd387b596a788f91837ad6fb29ea.png b/assets/images/verida-developers-de3bcd387b596a788f91837ad6fb29ea.png new file mode 100644 index 0000000000..2c73ddf384 Binary files /dev/null and b/assets/images/verida-developers-de3bcd387b596a788f91837ad6fb29ea.png differ diff --git a/assets/images/virtual-photography-kit-1300776fd8ee190bc07ee1c375091d17.png b/assets/images/virtual-photography-kit-1300776fd8ee190bc07ee1c375091d17.png new file mode 100644 index 0000000000..85c908f940 Binary files /dev/null and b/assets/images/virtual-photography-kit-1300776fd8ee190bc07ee1c375091d17.png differ diff --git a/assets/images/vue-nodegui-55334a3195ffe6875e53f48ccef37a43.png b/assets/images/vue-nodegui-55334a3195ffe6875e53f48ccef37a43.png new file mode 100644 index 0000000000..bd10c63fee Binary files /dev/null and b/assets/images/vue-nodegui-55334a3195ffe6875e53f48ccef37a43.png differ diff --git a/assets/images/warrant-3a9c703456eb126062cf73767ad1bc89.png b/assets/images/warrant-3a9c703456eb126062cf73767ad1bc89.png new file mode 100644 index 0000000000..dcee123538 Binary files /dev/null and b/assets/images/warrant-3a9c703456eb126062cf73767ad1bc89.png differ diff --git a/assets/images/wasp-3f2c633044555e7d4093a8c91fc3cba6.png b/assets/images/wasp-3f2c633044555e7d4093a8c91fc3cba6.png new file mode 100644 index 0000000000..aab9dac60b Binary files /dev/null and b/assets/images/wasp-3f2c633044555e7d4093a8c91fc3cba6.png differ diff --git a/assets/images/webdriverio-97a558409647cf182936d22a25d3c9ba.png b/assets/images/webdriverio-97a558409647cf182936d22a25d3c9ba.png new file mode 100644 index 0000000000..146c26621f Binary files /dev/null and b/assets/images/webdriverio-97a558409647cf182936d22a25d3c9ba.png differ diff --git a/assets/images/woodpecker-826cbf901906356f6c8d4ca956e79de7.png b/assets/images/woodpecker-826cbf901906356f6c8d4ca956e79de7.png new file mode 100644 index 0000000000..0e4871fce2 Binary files /dev/null and b/assets/images/woodpecker-826cbf901906356f6c8d4ca956e79de7.png differ diff --git a/assets/images/yeecord-422b5ca83d8da85688cc49e8d18dbcfe.png b/assets/images/yeecord-422b5ca83d8da85688cc49e8d18dbcfe.png new file mode 100644 index 0000000000..52553796b7 Binary files /dev/null and b/assets/images/yeecord-422b5ca83d8da85688cc49e8d18dbcfe.png differ diff --git a/assets/images/zowe-6280912723c23fae74c35bf25e057dfe.png b/assets/images/zowe-6280912723c23fae74c35bf25e057dfe.png new file mode 100644 index 0000000000..f659aa3edd Binary files /dev/null and b/assets/images/zowe-6280912723c23fae74c35bf25e057dfe.png differ diff --git a/assets/images/zxuqian-5775d0e563b7a80f3659a6f8ade564d2.png b/assets/images/zxuqian-5775d0e563b7a80f3659a6f8ade564d2.png new file mode 100644 index 0000000000..ed1b8a98b1 Binary files /dev/null and b/assets/images/zxuqian-5775d0e563b7a80f3659a6f8ade564d2.png differ diff --git a/assets/images/图片-c3c014b00b204c4fec2ad5e402e5521d.png b/assets/images/图片-c3c014b00b204c4fec2ad5e402e5521d.png new file mode 100644 index 0000000000..2e4d675f90 Binary files /dev/null and b/assets/images/图片-c3c014b00b204c4fec2ad5e402e5521d.png differ diff --git a/assets/js/0058b4c6.3071f10c.js b/assets/js/0058b4c6.3071f10c.js deleted file mode 100644 index 868f4ea709..0000000000 --- a/assets/js/0058b4c6.3071f10c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[849],{6164:a=>{a.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Tutorial Intro","href":"/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Tutorial - Basics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create a Page","href":"/docs/tutorial-basics/create-a-page","docId":"tutorial-basics/create-a-page","unlisted":false},{"type":"link","label":"Create a Document","href":"/docs/tutorial-basics/create-a-document","docId":"tutorial-basics/create-a-document","unlisted":false},{"type":"link","label":"Create a Blog Post","href":"/docs/tutorial-basics/create-a-blog-post","docId":"tutorial-basics/create-a-blog-post","unlisted":false},{"type":"link","label":"Markdown Features","href":"/docs/tutorial-basics/markdown-features","docId":"tutorial-basics/markdown-features","unlisted":false},{"type":"link","label":"Deploy your site","href":"/docs/tutorial-basics/deploy-your-site","docId":"tutorial-basics/deploy-your-site","unlisted":false},{"type":"link","label":"Congratulations!","href":"/docs/tutorial-basics/congratulations","docId":"tutorial-basics/congratulations","unlisted":false}],"href":"/docs/category/tutorial---basics"},{"type":"category","label":"Tutorial - Extras","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manage Docs Versions","href":"/docs/tutorial-extras/manage-docs-versions","docId":"tutorial-extras/manage-docs-versions","unlisted":false},{"type":"link","label":"Translate your site","href":"/docs/tutorial-extras/translate-your-site","docId":"tutorial-extras/translate-your-site","unlisted":false}],"href":"/docs/category/tutorial---extras"}]},"docs":{"intro":{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes.","sidebar":"tutorialSidebar"},"tutorial-basics/congratulations":{"id":"tutorial-basics/congratulations","title":"Congratulations!","description":"You have just learned the basics of Docusaurus and made some changes to the initial template.","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-blog-post":{"id":"tutorial-basics/create-a-blog-post","title":"Create a Blog Post","description":"Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-document":{"id":"tutorial-basics/create-a-document","title":"Create a Document","description":"Documents are groups of pages connected through:","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-page":{"id":"tutorial-basics/create-a-page","title":"Create a Page","description":"Add Markdown or React files to src/pages to create a standalone page:","sidebar":"tutorialSidebar"},"tutorial-basics/deploy-your-site":{"id":"tutorial-basics/deploy-your-site","title":"Deploy your site","description":"Docusaurus is a static-site-generator (also called Jamstack).","sidebar":"tutorialSidebar"},"tutorial-basics/markdown-features":{"id":"tutorial-basics/markdown-features","title":"Markdown Features","description":"Docusaurus supports Markdown and a few additional features.","sidebar":"tutorialSidebar"},"tutorial-extras/manage-docs-versions":{"id":"tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","sidebar":"tutorialSidebar"},"tutorial-extras/translate-your-site":{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/0058b4c6.5d72369f.js b/assets/js/0058b4c6.5d72369f.js new file mode 100644 index 0000000000..46908ae460 --- /dev/null +++ b/assets/js/0058b4c6.5d72369f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["11489"],{67136:function(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Canary \uD83D\uDEA7","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Introduction","href":"/docs/","docId":"introduction","unlisted":false},{"type":"category","label":"Getting Started","collapsed":false,"items":[{"type":"link","label":"Installation","href":"/docs/installation","docId":"installation","unlisted":false},{"type":"link","label":"Configuration","href":"/docs/configuration","docId":"configuration","unlisted":false},{"type":"link","label":"Playground","href":"/docs/playground","docId":"playground","unlisted":false},{"type":"link","label":"TypeScript Support","href":"/docs/typescript-support","docId":"typescript-support","unlisted":false}],"collapsible":true,"href":"/docs/category/getting-started"},{"type":"category","label":"Guides","items":[{"type":"link","label":"Pages","href":"/docs/creating-pages","docId":"guides/creating-pages","unlisted":false},{"type":"category","label":"Docs","items":[{"type":"link","label":"Create a doc","href":"/docs/create-doc","docId":"guides/docs/create-doc","unlisted":false},{"type":"category","label":"Sidebar","items":[{"type":"link","label":"Sidebar items","href":"/docs/sidebar/items","docId":"guides/docs/sidebar/items","unlisted":false},{"type":"link","label":"Autogenerated","href":"/docs/sidebar/autogenerated","docId":"guides/docs/sidebar/autogenerated","unlisted":false},{"type":"link","label":"Using multiple sidebars","href":"/docs/sidebar/multiple-sidebars","docId":"guides/docs/sidebar/multiple-sidebars","unlisted":false}],"collapsed":true,"collapsible":true,"href":"/docs/sidebar"},{"type":"link","label":"Versioning","href":"/docs/versioning","docId":"guides/docs/versioning","unlisted":false},{"type":"link","label":"Docs Multi-instance","href":"/docs/docs-multi-instance","docId":"guides/docs/multi-instance","unlisted":false}],"collapsed":true,"collapsible":true,"href":"/docs/docs-introduction"},{"type":"link","label":"Blog","href":"/docs/blog","docId":"blog","unlisted":false},{"type":"category","label":"Markdown Features","items":[{"type":"link","label":"MDX and React","href":"/docs/markdown-features/react","docId":"guides/markdown-features/react","unlisted":false},{"type":"link","label":"Tabs","href":"/docs/markdown-features/tabs","docId":"guides/markdown-features/tabs","unlisted":false},{"type":"link","label":"Code blocks","href":"/docs/markdown-features/code-blocks","docId":"guides/markdown-features/code-blocks","unlisted":false},{"type":"link","label":"Admonitions","href":"/docs/markdown-features/admonitions","docId":"guides/markdown-features/admonitions","unlisted":false},{"type":"link","label":"Headings and Table of contents","href":"/docs/markdown-features/toc","docId":"guides/markdown-features/toc","unlisted":false},{"type":"link","label":"Assets","href":"/docs/markdown-features/assets","docId":"guides/markdown-features/assets","unlisted":false},{"type":"link","label":"Markdown links","href":"/docs/markdown-features/links","docId":"guides/markdown-features/links","unlisted":false},{"type":"link","label":"MDX Plugins","href":"/docs/markdown-features/plugins","docId":"guides/markdown-features/plugins","unlisted":false},{"type":"link","label":"Math Equations","href":"/docs/markdown-features/math-equations","docId":"guides/markdown-features/math-equations","unlisted":false},{"type":"link","label":"Diagrams","href":"/docs/markdown-features/diagrams","docId":"guides/markdown-features/diagrams","unlisted":false},{"type":"link","label":"Head metadata","href":"/docs/markdown-features/head-metadata","docId":"guides/markdown-features/head-metadata","unlisted":false}],"collapsed":true,"collapsible":true,"href":"/docs/markdown-features"},{"type":"link","label":"Styling and Layout","href":"/docs/styling-layout","docId":"styling-layout","unlisted":false},{"type":"link","label":"Swizzling","href":"/docs/swizzling","docId":"swizzling","unlisted":false},{"type":"link","label":"Static Assets","href":"/docs/static-assets","docId":"static-assets","unlisted":false},{"type":"link","label":"Search","href":"/docs/search","docId":"search","unlisted":false},{"type":"link","label":"Browser support","href":"/docs/browser-support","docId":"browser-support","unlisted":false},{"type":"link","label":"SEO","href":"/docs/seo","docId":"seo","unlisted":false},{"type":"link","label":"Using Plugins","href":"/docs/using-plugins","docId":"using-plugins","unlisted":false},{"type":"link","label":"Deployment","href":"/docs/deployment","docId":"deployment","unlisted":false},{"type":"category","label":"Internationalization","items":[{"type":"link","label":"Tutorial","href":"/docs/i18n/tutorial","docId":"i18n/tutorial","unlisted":false},{"type":"link","label":"Using Git","href":"/docs/i18n/git","docId":"i18n/git","unlisted":false},{"type":"link","label":"Using Crowdin","href":"/docs/i18n/crowdin","docId":"i18n/crowdin","unlisted":false}],"collapsed":true,"collapsible":true,"href":"/docs/i18n/introduction"},{"type":"link","label":"What\'s next?","href":"/docs/guides/whats-next","docId":"guides/whats-next","unlisted":false}],"collapsed":true,"collapsible":true,"href":"/docs/category/guides"},{"type":"category","label":"Advanced Guides","items":[{"type":"link","label":"Architecture","href":"/docs/advanced/architecture","docId":"advanced/architecture","unlisted":false},{"type":"link","label":"Plugins","href":"/docs/advanced/plugins","docId":"advanced/plugins","unlisted":false},{"type":"link","label":"Routing","href":"/docs/advanced/routing","docId":"advanced/routing","unlisted":false},{"type":"link","label":"Static site generation","href":"/docs/advanced/ssg","docId":"advanced/ssg","unlisted":false},{"type":"link","label":"Client architecture","href":"/docs/advanced/client","docId":"advanced/client","unlisted":false}],"collapsed":true,"collapsible":true,"href":"/docs/advanced/"},{"type":"category","label":"Upgrading","items":[{"type":"link","label":"To Docusaurus v3","href":"/docs/migration/v3","docId":"migration/v3","unlisted":false},{"type":"category","label":"To Docusaurus v2","items":[{"type":"link","label":"Overview","href":"/docs/migration/v2","docId":"migration/v2/migration-overview","unlisted":false},{"type":"link","label":"Automated migration","href":"/docs/migration/v2/automated","docId":"migration/v2/migration-automated","unlisted":false},{"type":"link","label":"Manual migration","href":"/docs/migration/v2/manual","docId":"migration/v2/migration-manual","unlisted":false},{"type":"link","label":"Versioned sites","href":"/docs/migration/v2/versioned-sites","docId":"migration/v2/migration-versioned-sites","unlisted":false},{"type":"link","label":"Translated sites","href":"/docs/migration/v2/translated-sites","docId":"migration/v2/migration-translated-sites","unlisted":false}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true,"href":"/docs/migration"}],"api":[{"type":"link","label":"CLI","href":"/docs/cli","docId":"cli","unlisted":false},{"type":"link","label":"Client API","href":"/docs/docusaurus-core","docId":"docusaurus-core","unlisted":false},{"type":"link","label":"docusaurus.config.js","href":"/docs/api/docusaurus-config","docId":"api/docusaurus.config.js","unlisted":false},{"type":"category","label":"Plugin method references","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Lifecycle APIs","href":"/docs/api/plugin-methods/lifecycle-apis","docId":"api/plugin-methods/lifecycle-apis","unlisted":false},{"type":"link","label":"Extending infrastructure","href":"/docs/api/plugin-methods/extend-infrastructure","docId":"api/plugin-methods/extend-infrastructure","unlisted":false},{"type":"link","label":"I18n lifecycles","href":"/docs/api/plugin-methods/i18n-lifecycles","docId":"api/plugin-methods/i18n-lifecycles","unlisted":false},{"type":"link","label":"Static methods","href":"/docs/api/plugin-methods/static-methods","docId":"api/plugin-methods/static-methods","unlisted":false}],"href":"/docs/api/plugin-methods/"},{"type":"category","label":"Plugins","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\uD83D\uDCE6 plugin-content-docs","href":"/docs/api/plugins/@docusaurus/plugin-content-docs","docId":"api/plugins/plugin-content-docs","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-content-blog","href":"/docs/api/plugins/@docusaurus/plugin-content-blog","docId":"api/plugins/plugin-content-blog","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-content-pages","href":"/docs/api/plugins/@docusaurus/plugin-content-pages","docId":"api/plugins/plugin-content-pages","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-client-redirects","href":"/docs/api/plugins/@docusaurus/plugin-client-redirects","docId":"api/plugins/plugin-client-redirects","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-debug","href":"/docs/api/plugins/@docusaurus/plugin-debug","docId":"api/plugins/plugin-debug","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-google-analytics","href":"/docs/api/plugins/@docusaurus/plugin-google-analytics","docId":"api/plugins/plugin-google-analytics","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-google-gtag","href":"/docs/api/plugins/@docusaurus/plugin-google-gtag","docId":"api/plugins/plugin-google-gtag","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-rsdoctor","href":"/docs/api/plugins/@docusaurus/plugin-rsdoctor","docId":"api/plugins/plugin-rsdoctor","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-svgr","href":"/docs/api/plugins/@docusaurus/plugin-svgr","docId":"api/plugins/plugin-svgr","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-google-tag-manager","href":"/docs/api/plugins/@docusaurus/plugin-google-tag-manager","docId":"api/plugins/plugin-google-tag-manager","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-ideal-image","href":"/docs/api/plugins/@docusaurus/plugin-ideal-image","docId":"api/plugins/plugin-ideal-image","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-pwa","href":"/docs/api/plugins/@docusaurus/plugin-pwa","docId":"api/plugins/plugin-pwa","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-sitemap","href":"/docs/api/plugins/@docusaurus/plugin-sitemap","docId":"api/plugins/plugin-sitemap","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 plugin-vercel-analytics","href":"/docs/api/plugins/@docusaurus/plugin-vercel-analytics","docId":"api/plugins/plugin-vercel-analytics","unlisted":false}],"href":"/docs/api/plugins"},{"type":"category","label":"Themes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/docs/api/themes/configuration","docId":"api/themes/theme-configuration","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 theme-classic","href":"/docs/api/themes/@docusaurus/theme-classic","docId":"api/themes/theme-classic","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 theme-live-codeblock","href":"/docs/api/themes/@docusaurus/theme-live-codeblock","docId":"api/themes/theme-live-codeblock","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 theme-search-algolia","href":"/docs/api/themes/@docusaurus/theme-search-algolia","docId":"api/themes/theme-search-algolia","unlisted":false},{"type":"link","label":"\uD83D\uDCE6 theme-mermaid","href":"/docs/api/themes/@docusaurus/theme-mermaid","docId":"api/themes/theme-mermaid","unlisted":false}],"href":"/docs/api/themes"},{"type":"category","label":"Miscellaneous","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\uD83D\uDCE6 create-docusaurus","href":"/docs/api/misc/create-docusaurus","docId":"api/misc/create-docusaurus","unlisted":false},{"type":"category","label":"\uD83D\uDCE6 eslint-plugin","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"no-html-links","href":"/docs/api/misc/@docusaurus/eslint-plugin/no-html-links","docId":"api/misc/eslint-plugin/no-html-links","unlisted":false},{"type":"link","label":"no-untranslated-text","href":"/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text","docId":"api/misc/eslint-plugin/no-untranslated-text","unlisted":false},{"type":"link","label":"prefer-docusaurus-heading","href":"/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading","docId":"api/misc/eslint-plugin/prefer-docusaurus-heading","unlisted":false},{"type":"link","label":"string-literal-i18n-messages","href":"/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages","docId":"api/misc/eslint-plugin/string-literal-i18n-messages","unlisted":false}],"href":"/docs/api/misc/@docusaurus/eslint-plugin"},{"type":"link","label":"\uD83D\uDCE6 logger","href":"/docs/api/misc/@docusaurus/logger","docId":"api/misc/logger/logger","unlisted":false}]}]},"docs":{"advanced/architecture":{"id":"advanced/architecture","title":"Architecture","description":"How Docusaurus works to build your app","sidebar":"docs"},"advanced/client":{"id":"advanced/client","title":"Client architecture","description":"How the Docusaurus client is structured","sidebar":"docs"},"advanced/index":{"id":"advanced/index","title":"Advanced Tutorials","description":"This section is not going to be very structured, but we will cover the following topics:","sidebar":"docs"},"advanced/plugins":{"id":"advanced/plugins","title":"Plugins","description":"Plugins are the building blocks of features in a Docusaurus site. Each plugin handles its own individual feature. Plugins may work and be distributed as part of a bundle via presets.","sidebar":"docs"},"advanced/routing":{"id":"advanced/routing","title":"Routing","description":"Docusaurus\' routing system follows single-page application conventions: one route, one component.","sidebar":"docs"},"advanced/ssg":{"id":"advanced/ssg","title":"Static site generation (SSG)","description":"Docusaurus statically renders your React code into HTML, allowing faster load speed and better SEO.","sidebar":"docs"},"api/docusaurus.config.js":{"id":"api/docusaurus.config.js","title":"docusaurus.config.js","description":"API reference for Docusaurus configuration file.","sidebar":"api"},"api/misc/create-docusaurus":{"id":"api/misc/create-docusaurus","title":"\uD83D\uDCE6 create-docusaurus","description":"A scaffolding utility to help you instantly set up a functional Docusaurus app.","sidebar":"api"},"api/misc/eslint-plugin/no-html-links":{"id":"api/misc/eslint-plugin/no-html-links","title":"no-html-links","description":"Ensure that the Docusaurus ` component is used instead of ` tags.","sidebar":"api"},"api/misc/eslint-plugin/no-untranslated-text":{"id":"api/misc/eslint-plugin/no-untranslated-text","title":"no-untranslated-text","description":"Enforce text labels in JSX to be wrapped by translate calls.","sidebar":"api"},"api/misc/eslint-plugin/prefer-docusaurus-heading":{"id":"api/misc/eslint-plugin/prefer-docusaurus-heading","title":"prefer-docusaurus-heading","description":"Ensures that the @theme/Heading theme component provided by Docusaurus theme-classic is used instead of `` tags for headings.","sidebar":"api"},"api/misc/eslint-plugin/README":{"id":"api/misc/eslint-plugin/README","title":"\uD83D\uDCE6 eslint-plugin","description":"ESLint is a tool that statically analyzes your code and reports problems or suggests best practices through editor hints and command line. Docusaurus provides an ESLint plugin to enforce best Docusaurus practices.","sidebar":"api"},"api/misc/eslint-plugin/string-literal-i18n-messages":{"id":"api/misc/eslint-plugin/string-literal-i18n-messages","title":"string-literal-i18n-messages","description":"Enforce translate APIs to be called on plain text labels.","sidebar":"api"},"api/misc/logger/logger":{"id":"api/misc/logger/logger","title":"\uD83D\uDCE6 logger","description":"An encapsulated logger for semantically formatting console messages.","sidebar":"api"},"api/plugin-methods/extend-infrastructure":{"id":"api/plugin-methods/extend-infrastructure","title":"Extending infrastructure","description":"Docusaurus has some infrastructure like hot reloading, CLI, and swizzling, that can be extended by external plugins.","sidebar":"api"},"api/plugin-methods/i18n-lifecycles":{"id":"api/plugin-methods/i18n-lifecycles","title":"I18n lifecycles","description":"Plugins use these lifecycles to load i18n-related data.","sidebar":"api"},"api/plugin-methods/lifecycle-apis":{"id":"api/plugin-methods/lifecycle-apis","title":"Lifecycle APIs","description":"During the build, plugins are loaded in parallel to fetch their own contents and render them to routes. Plugins may also configure webpack or post-process the generated files.","sidebar":"api"},"api/plugin-methods/README":{"id":"api/plugin-methods/README","title":"Plugin Method References","description":"This section is a work in progress. Anchor links or even URLs are not guaranteed to be stable.","sidebar":"api"},"api/plugin-methods/static-methods":{"id":"api/plugin-methods/static-methods","title":"Static methods","description":"Static methods are not part of the plugin instance\u2014they are attached to the constructor function. These methods are used to validate and normalize the plugin options and theme config, which are then used as constructor parameters to initialize the plugin instance.","sidebar":"api"},"api/plugins/plugin-client-redirects":{"id":"api/plugins/plugin-client-redirects","title":"\uD83D\uDCE6 plugin-client-redirects","description":"Docusaurus Plugin to generate client-side redirects.","sidebar":"api"},"api/plugins/plugin-content-blog":{"id":"api/plugins/plugin-content-blog","title":"\uD83D\uDCE6 plugin-content-blog","description":"Provides the Blog feature and is the default blog plugin for Docusaurus.","sidebar":"api"},"api/plugins/plugin-content-docs":{"id":"api/plugins/plugin-content-docs","title":"\uD83D\uDCE6 plugin-content-docs","description":"Provides the Docs functionality and is the default docs plugin for Docusaurus.","sidebar":"api"},"api/plugins/plugin-content-pages":{"id":"api/plugins/plugin-content-pages","title":"\uD83D\uDCE6 plugin-content-pages","description":"The default pages plugin for Docusaurus. The classic template ships with this plugin with default configurations. This plugin provides creating pages functionality.","sidebar":"api"},"api/plugins/plugin-debug":{"id":"api/plugins/plugin-debug","title":"\uD83D\uDCE6 plugin-debug","description":"The debug plugin will display useful debug information at http3000/docusaurus/debug.","sidebar":"api"},"api/plugins/plugin-google-analytics":{"id":"api/plugins/plugin-google-analytics","title":"\uD83D\uDCE6 plugin-google-analytics","description":"The default Google Analytics plugin. It is a JavaScript library for measuring how users interact with your website in the production build. If you are using Google Analytics 4 you might need to consider using plugin-google-gtag instead.","sidebar":"api"},"api/plugins/plugin-google-gtag":{"id":"api/plugins/plugin-google-gtag","title":"\uD83D\uDCE6 plugin-google-gtag","description":"The default Global Site Tag (gtag.js) plugin. It is a JavaScript tagging framework and API that allows you to send event data to Google Analytics, Google Ads, and Google Marketing Platform. This section describes how to configure a Docusaurus site to enable global site tag for Google Analytics.","sidebar":"api"},"api/plugins/plugin-google-tag-manager":{"id":"api/plugins/plugin-google-tag-manager","title":"\uD83D\uDCE6 plugin-google-tag-manager","description":"A plugin for adding Google Tag Manager (gtm.js) to a Docusaurus site. Use this plugin in conjunction with the standard gtag plugin for in-depth analysis of how users are using your site.","sidebar":"api"},"api/plugins/plugin-ideal-image":{"id":"api/plugins/plugin-ideal-image","title":"\uD83D\uDCE6 plugin-ideal-image","description":"Docusaurus Plugin to generate an almost ideal image (responsive, lazy-loading, and low quality placeholder).","sidebar":"api"},"api/plugins/plugin-pwa":{"id":"api/plugins/plugin-pwa","title":"\uD83D\uDCE6 plugin-pwa","description":"Docusaurus Plugin to add PWA support using Workbox. This plugin generates a Service Worker in production build only, and allows you to create fully PWA-compliant documentation site with offline and installation support.","sidebar":"api"},"api/plugins/plugin-rsdoctor":{"id":"api/plugins/plugin-rsdoctor","title":"\uD83D\uDCE6 plugin-rsdoctor","description":"A Rsdoctor plugin can help you troubleshoot the bundling phase of your Docusaurus site, supporting both Webpack and Rspack.","sidebar":"api"},"api/plugins/plugin-sitemap":{"id":"api/plugins/plugin-sitemap","title":"\uD83D\uDCE6 plugin-sitemap","description":"This plugin creates sitemaps for your site so that search engine crawlers can crawl your site more accurately.","sidebar":"api"},"api/plugins/plugin-svgr":{"id":"api/plugins/plugin-svgr","title":"\uD83D\uDCE6 plugin-svgr","description":"An SVGR plugin to transform SVG files into React components automatically at build time.","sidebar":"api"},"api/plugins/plugin-vercel-analytics":{"id":"api/plugins/plugin-vercel-analytics","title":"\uD83D\uDCE6 plugin-vercel-analytics","description":"Vercel Analytics provides comprehensive insights into your website\'s visitors, tracking top pages, referrers, and demographics like location, operating systems, and browser info.","sidebar":"api"},"api/plugins/plugins-overview":{"id":"api/plugins/plugins-overview","title":"Docusaurus plugins","description":"We provide official Docusaurus plugins.","sidebar":"api"},"api/themes/theme-classic":{"id":"api/themes/theme-classic","title":"\uD83D\uDCE6 theme-classic","description":"The classic theme for Docusaurus.","sidebar":"api"},"api/themes/theme-configuration":{"id":"api/themes/theme-configuration","title":"Theme configuration","description":"This configuration applies to all main themes.","sidebar":"api"},"api/themes/theme-live-codeblock":{"id":"api/themes/theme-live-codeblock","title":"\uD83D\uDCE6 theme-live-codeblock","description":"This theme provides a @theme/CodeBlock component that is powered by react-live. You can read more on interactive code editor documentation.","sidebar":"api"},"api/themes/theme-mermaid":{"id":"api/themes/theme-mermaid","title":"\uD83D\uDCE6 theme-mermaid","description":"This theme provides a @theme/Mermaid component that is powered by mermaid. You can read more on diagrams documentation.","sidebar":"api"},"api/themes/theme-search-algolia":{"id":"api/themes/theme-search-algolia","title":"\uD83D\uDCE6 theme-search-algolia","description":"This theme provides a @theme/SearchBar component that integrates with Algolia DocSearch easily. Combined with @docusaurus/theme-classic, it provides a very easy search integration. You can read more on search documentation.","sidebar":"api"},"api/themes/themes-overview":{"id":"api/themes/themes-overview","title":"Docusaurus themes","description":"We provide official Docusaurus themes.","sidebar":"api"},"blog":{"id":"blog","title":"Blog","description":"Deploy a full-featured blog in no time with Docusaurus.","sidebar":"docs"},"browser-support":{"id":"browser-support","title":"Browser support","description":"How to keep a reasonable bundle size while ensuring sufficient browser support.","sidebar":"docs"},"cli":{"id":"cli","title":"CLI","description":"Docusaurus provides a set of scripts to help you generate, serve, and deploy your website.","sidebar":"api"},"configuration":{"id":"configuration","title":"Configuration","description":"Configuring your site\'s behavior through docusaurus.config.js and more.","sidebar":"docs"},"deployment":{"id":"deployment","title":"Deployment","description":"Deploy your Docusaurus app for production on a range of static site hosting services.","sidebar":"docs"},"docusaurus-core":{"id":"docusaurus-core","title":"Docusaurus Client API","description":"Docusaurus provides some APIs on the clients that can be helpful to you when building your site.","sidebar":"api"},"guides/creating-pages":{"id":"guides/creating-pages","title":"Creating Pages","description":"In this section, we will learn about creating pages in Docusaurus.","sidebar":"docs"},"guides/docs/create-doc":{"id":"guides/docs/create-doc","title":"Create a doc","description":"Create a Markdown Document","sidebar":"docs"},"guides/docs/introduction":{"id":"guides/docs/introduction","title":"Docs Introduction","description":"The docs feature provides users with a way to organize Markdown files in a hierarchical format.","sidebar":"docs"},"guides/docs/multi-instance":{"id":"guides/docs/multi-instance","title":"Docs Multi-instance","description":"Use multiple docs plugin instances on a single Docusaurus site.","sidebar":"docs"},"guides/docs/sidebar/autogenerated":{"id":"guides/docs/sidebar/autogenerated","title":"Autogenerated","description":"Docusaurus can create a sidebar automatically from your filesystem structure: each folder creates a sidebar category, and each file creates a doc link.","sidebar":"docs"},"guides/docs/sidebar/index":{"id":"guides/docs/sidebar/index","title":"Sidebar","description":"Creating a sidebar is useful to:","sidebar":"docs"},"guides/docs/sidebar/items":{"id":"guides/docs/sidebar/items","title":"Sidebar items","description":"We have introduced three types of item types in the example in the previous section autogenerated, which we will explain in detail later.","sidebar":"docs"},"guides/docs/sidebar/multiple-sidebars":{"id":"guides/docs/sidebar/multiple-sidebars","title":"Using multiple sidebars","description":"You can create a sidebar for each set of Markdown files that you want to group together.","sidebar":"docs"},"guides/docs/versioning":{"id":"guides/docs/versioning","title":"Versioning","description":"You can use the versioning CLI to create a new documentation version based on the latest content in the docs directory. That specific set of documentation will then be preserved and accessible even as the documentation in the docs directory continues to evolve.","sidebar":"docs"},"guides/markdown-features/admonitions":{"id":"guides/markdown-features/admonitions","title":"Admonitions","description":"Handling admonitions/callouts in Docusaurus Markdown","sidebar":"docs"},"guides/markdown-features/assets":{"id":"guides/markdown-features/assets","title":"Assets","description":"Handling assets in Docusaurus Markdown","sidebar":"docs"},"guides/markdown-features/code-blocks":{"id":"guides/markdown-features/code-blocks","title":"Code blocks","description":"Handling code blocks in Docusaurus Markdown","sidebar":"docs"},"guides/markdown-features/diagrams":{"id":"guides/markdown-features/diagrams","title":"Diagrams","description":"Writing diagrams with Mermaid","sidebar":"docs"},"guides/markdown-features/head-metadata":{"id":"guides/markdown-features/head-metadata","title":"Head metadata","description":"Declaring page-specific head metadata through MDX","sidebar":"docs"},"guides/markdown-features/introduction":{"id":"guides/markdown-features/introduction","title":"Markdown Features","description":"Docusaurus uses MDX. Find out more about Docusaurus-specific features when writing Markdown.","sidebar":"docs"},"guides/markdown-features/links":{"id":"guides/markdown-features/links","title":"Markdown links","description":"Links to other pages in Markdown","sidebar":"docs"},"guides/markdown-features/math-equations":{"id":"guides/markdown-features/math-equations","title":"Math Equations","description":"Writing LaTeX Math Equations","sidebar":"docs"},"guides/markdown-features/plugins":{"id":"guides/markdown-features/plugins","title":"MDX Plugins","description":"Using MDX plugins to expand Docusaurus Markdown functionalities","sidebar":"docs"},"guides/markdown-features/react":{"id":"guides/markdown-features/react","title":"MDX and React","description":"Using the power of React in Docusaurus Markdown documents, thanks to MDX","sidebar":"docs"},"guides/markdown-features/tabs":{"id":"guides/markdown-features/tabs","title":"Tabs","description":"Using tabs inside Docusaurus Markdown","sidebar":"docs"},"guides/markdown-features/toc":{"id":"guides/markdown-features/toc","title":"Headings and Table of contents","description":"Customizing headings and table-of-contents in Markdown","sidebar":"docs"},"guides/whats-next":{"id":"guides/whats-next","title":"What\'s next?","description":"Congratulations! You have understood most core features of Docusaurus now. You have:","sidebar":"docs"},"i18n/crowdin":{"id":"i18n/crowdin","title":"i18n - Using Crowdin","description":"The i18n system of Docusaurus is decoupled from any translation software.","sidebar":"docs"},"i18n/git":{"id":"i18n/git","title":"i18n - Using git","description":"A possible translation strategy is to version control the translation files with Git (or any other VCS).","sidebar":"docs"},"i18n/introduction":{"id":"i18n/introduction","title":"i18n - Introduction","description":"It is easy to translate a Docusaurus website with its internationalization (i18n) support.","sidebar":"docs"},"i18n/tutorial":{"id":"i18n/tutorial","title":"i18n - Tutorial","description":"This tutorial will walk you through the basics of the Docusaurus i18n system.","sidebar":"docs"},"installation":{"id":"installation","title":"Installation","description":"How to install Docusaurus locally, and start a Docusaurus site in no time.","sidebar":"docs"},"introduction":{"id":"introduction","title":"Introduction","description":"Docusaurus was designed from the ground up to be easily installed and used to get your website up and running quickly.","sidebar":"docs"},"migration/index":{"id":"migration/index","title":"Upgrading Docusaurus","description":"Docusaurus versioning is based on the major.minor.patch scheme and respects Semantic Versioning.","sidebar":"docs"},"migration/v2/migration-automated":{"id":"migration/v2/migration-automated","title":"Automated migration","description":"The migration CLI automatically migrates your v1 website to a v2 website.","sidebar":"docs"},"migration/v2/migration-manual":{"id":"migration/v2/migration-manual","title":"Manual migration","description":"This manual migration process should be run after the automated migration process, to complete the missing parts, or debug issues in the migration CLI output.","sidebar":"docs"},"migration/v2/migration-overview":{"id":"migration/v2/migration-overview","title":"Overview","description":"This doc guides you through migrating an existing Docusaurus 1 site to Docusaurus 2.","sidebar":"docs"},"migration/v2/migration-translated-sites":{"id":"migration/v2/migration-translated-sites","title":"Translated sites","description":"This page explains how migrate a translated Docusaurus v1 site to Docusaurus v2.","sidebar":"docs"},"migration/v2/migration-versioned-sites":{"id":"migration/v2/migration-versioned-sites","title":"Versioned sites","description":"Read up https://docusaurus.io/blog/2018/09/11/Towards-Docusaurus-2#versioning first for problems in v1\'s approach.","sidebar":"docs"},"migration/v3":{"id":"migration/v3","title":"Upgrading to Docusaurus v3","description":"This documentation will help you upgrade your site from Docusaurus v2 to Docusaurus v3.","sidebar":"docs"},"playground":{"id":"playground","title":"Playground","description":"Playgrounds allow you to run Docusaurus in your browser, without installing anything!","sidebar":"docs"},"search":{"id":"search","title":"Search","description":"There are a few options you can use to add search to your website:","sidebar":"docs"},"seo":{"id":"seo","title":"Search engine optimization (SEO)","description":"How to make your Docusaurus site maximally search-engine-friendly.","sidebar":"docs"},"static-assets":{"id":"static-assets","title":"Static Assets","description":"Static assets are the non-code files that are directly copied to the build output. Learn about how they are handled and what the best practices of using static assets are.","sidebar":"docs"},"styling-layout":{"id":"styling-layout","title":"Styling and Layout","description":"A Docusaurus site is a pre-rendered single-page React application. You can style it the way you style React apps.","sidebar":"docs"},"swizzling":{"id":"swizzling","title":"Swizzling","description":"Customize your site\'s appearance through creating your own theme components","sidebar":"docs"},"typescript-support":{"id":"typescript-support","title":"TypeScript Support","description":"Docusaurus is written in TypeScript and provides first-class TypeScript support.","sidebar":"docs"},"using-plugins":{"id":"using-plugins","title":"Using Plugins","description":"The Docusaurus core doesn\'t provide any feature of its own. All features are delegated to individual plugins: the docs feature provided by the docs plugin; the blog feature provided by the blog plugin; or individual pages provided by the pages plugin. If there are no plugins installed, the site won\'t contain any routes.","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/010225af.f2e2c261.js b/assets/js/010225af.f2e2c261.js new file mode 100644 index 0000000000..2ff9cd9c32 --- /dev/null +++ b/assets/js/010225af.f2e2c261.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["8223"],{15798:function(e,n,t){t.r(n),t.d(n,{default:()=>c});var l=t(85893),r=t(67294),i=t(35363),s=t(88408);function c(){let e=(0,r.useRef)(null);return(0,l.jsx)(s.Z,{children:(0,l.jsxs)("main",{className:"container margin-vert--xl",children:[(0,l.jsx)(i.Z,{ref:e,to:"/",children:"A little link"}),(0,l.jsx)("button",{type:"button",onClick:()=>{e.current.style.backgroundColor="red"},children:"Change the link"})]})})}}}]); \ No newline at end of file diff --git a/assets/js/010c8a3a.d39dbb40.js b/assets/js/010c8a3a.d39dbb40.js new file mode 100644 index 0000000000..7f9bb2451a --- /dev/null +++ b/assets/js/010c8a3a.d39dbb40.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["57233"],{41650:function(e){e.exports=JSON.parse('{"version":{"pluginId":"docs-tests","version":"current","label":"Next","banner":null,"badge":false,"noIndex":true,"className":"docs-version-current","isLast":true,"docsSidebars":{"sidebar":[{"type":"link","label":"Docs tests","href":"/tests/docs/","className":"red","docId":"index","unlisted":true},{"type":"link","label":"Doc without sidebar","href":"/tests/docs/doc-without-sidebar","docId":"doc-without-sidebar","unlisted":false},{"type":"link","label":"Doc with another sidebar","href":"/tests/docs/doc-with-another-sidebar","docId":"doc-with-another-sidebar","unlisted":false},{"type":"link","label":"Doc With Last Update Front Matter","href":"/tests/docs/doc-with-last-update","docId":"doc-with-last-update","unlisted":false},{"type":"category","label":"Tests","items":[{"type":"link","label":"Case-Sensitive doc","href":"/tests/docs/tests/Case-Sentitive-Doc","docId":"tests/Case-Sentitive-Doc","unlisted":false},{"type":"link","label":"Admonitions tests","href":"/tests/docs/tests/admonitions","docId":"tests/admonitions","unlisted":false},{"type":"category","label":"ascii","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"folder","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\xe6\xf8\xe5","href":"/tests/docs/tests/ascii/folder/\xe6\xf8\xe5","docId":"tests/ascii/folder/\xe6\xf8\xe5","unlisted":false}]},{"type":"link","label":"index","href":"/tests/docs/tests/ascii/\xe6\xf8\xe5/","docId":"tests/ascii/\xe6\xf8\xe5/index","unlisted":false}]},{"type":"category","label":"Category Links","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Introduction","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sample doc","href":"/tests/docs/tests/category-links/custom-index-convention/sample-doc","docId":"tests/category-links/custom-index-convention/sample-doc","unlisted":false}],"href":"/tests/docs/tests/category-links/custom-index-convention/intro"},{"type":"category","label":"no-index-doc","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Index","href":"/tests/docs/tests/category-links/no-index-doc/","docId":"tests/category-links/no-index-doc/index","unlisted":false},{"type":"link","label":"Sample doc","href":"/tests/docs/tests/category-links/no-index-doc/sample-doc","docId":"tests/category-links/no-index-doc/sample-doc","unlisted":false}]},{"type":"link","label":"No sub-docs","href":"/tests/docs/tests/category-links/no-subdoc/","docId":"tests/category-links/no-subdoc/index","unlisted":false},{"type":"link","label":"Readme","href":"/tests/docs/tests/category-links/","docId":"tests/category-links/readme","unlisted":false},{"type":"category","label":"regular-category","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sample doc","href":"/tests/docs/tests/category-links/regular-category/sample-doc","docId":"tests/category-links/regular-category/sample-doc","unlisted":false}]},{"type":"category","label":"Category with a doc of category\'s name","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sample doc","href":"/tests/docs/tests/category-links/with-category-name-doc/sample-doc","docId":"tests/category-links/with-category-name-doc/sample-doc","unlisted":false}],"href":"/tests/docs/tests/category-links/with-category-name-doc/"},{"type":"category","label":"Category with index.md doc","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sample doc","href":"/tests/docs/tests/category-links/with-index-doc/sample-doc","docId":"tests/category-links/with-index-doc/sample-doc","unlisted":false}],"href":"/tests/docs/tests/category-links/with-index-doc/"},{"type":"category","label":"Category with readme.md doc","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sample doc","href":"/tests/docs/tests/category-links/with-readme-doc/sample-doc","docId":"tests/category-links/with-readme-doc/sample-doc","unlisted":false}],"href":"/tests/docs/tests/category-links/with-readme-doc/"}],"description":"Category Links - Custom Description","href":"/tests/docs/category-links-generated-index-slug"},{"type":"link","label":"Image Tests","href":"/tests/docs/tests/images/","docId":"tests/images/index","unlisted":false},{"type":"link","label":"Import Bad Package","href":"/tests/docs/tests/import-bad-package","docId":"tests/import-bad-package","unlisted":false},{"type":"category","label":"links","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Broken Anchors tests","href":"/tests/docs/tests/links/broken-anchors-tests","docId":"tests/links/broken-anchors-tests","unlisted":false},{"type":"link","label":"Target doc","href":"/tests/docs/tests/links/target-doc-slug","docId":"tests/links/target","unlisted":false},{"type":"link","label":"Test links","href":"/tests/docs/tests/links/test-markdown-links","docId":"tests/links/test-markdown-links","unlisted":false}]},{"type":"category","label":"Sidebar Front Matter Tests","collapsible":true,"collapsed":true,"className":"dogfood_sidebar_class_name_test","items":[{"type":"link","label":"Doc With Sidebar Class Name","href":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-className","className":"dogfood_sidebar_class_name_test","docId":"tests/sidebar-frontmatter/doc-with-sidebar-className","unlisted":false},{"type":"link","label":"Doc With Custom Props","href":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-custom-props","customProps":{"prop":"custom","number":1,"boolean":true},"docId":"tests/sidebar-frontmatter/doc-with-sidebar-custom-props","unlisted":false},{"type":"link","label":"Doc With Sidebar Label","href":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-label","docId":"tests/sidebar-frontmatter/doc-with-sidebar-label","unlisted":false},{"type":"link","label":"Doc Without","href":"/tests/docs/tests/sidebar-frontmatter/doc-without","docId":"tests/sidebar-frontmatter/doc-without","unlisted":false}],"href":"/tests/docs/tests/sidebar-frontmatter/"},{"type":"link","label":"TOC partial test","href":"/tests/docs/tests/toc-partials/","docId":"tests/toc-partials/index","unlisted":false},{"type":"category","label":"Visibility","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"force_unlisted_parseFrontMatter_test","href":"/tests/docs/tests/visibility/force-unlisted","docId":"tests/visibility/force-unlisted","unlisted":true},{"type":"category","label":"only-unlisteds","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Only Unlisteds - Subcategory index unlisted","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Only Unlisteds - Unlisted 3","href":"/tests/docs/tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3","docId":"tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3","unlisted":true}],"href":"/tests/docs/tests/visibility/only-unlisteds/unlisted-subcategory/","linkUnlisted":true},{"type":"link","label":"Only Unlisteds - Unlisted 1","href":"/tests/docs/tests/visibility/only-unlisteds/unlisted1","docId":"tests/visibility/only-unlisteds/unlisted1","unlisted":true},{"type":"link","label":"Only Unlisteds - Unlisted 2","href":"/tests/docs/tests/visibility/only-unlisteds/unlisted2","docId":"tests/visibility/only-unlisteds/unlisted2","unlisted":true}]},{"type":"category","label":"some-drafts","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"draft-subcategory","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Some Drafts - Listed 1","href":"/tests/docs/tests/visibility/some-drafts/draft-subcategory/listed1","docId":"tests/visibility/some-drafts/draft-subcategory/listed1","unlisted":false}]}]},{"type":"category","label":"some-unlisteds","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Subcategory index listed","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Unlisted 1","href":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1","docId":"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1","unlisted":true},{"type":"link","label":"Unlisted 2","href":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2","docId":"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2","unlisted":true}],"href":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/"},{"type":"category","label":"Subcategory index unlisted","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Some Unlisteds - Listed 1","href":"/tests/docs/tests/visibility/some-unlisteds/unlisted-subcategory/listed1","docId":"tests/visibility/some-unlisteds/unlisted-subcategory/listed1","unlisted":false},{"type":"link","label":"Some Unlisteds - Unlisted 3","href":"/tests/docs/tests/visibility/some-unlisteds/unlisted-subcategory/unlisted3","docId":"tests/visibility/some-unlisteds/unlisted-subcategory/unlisted3","unlisted":true}],"href":"/tests/docs/tests/visibility/some-unlisteds/unlisted-subcategory/","linkUnlisted":true},{"type":"link","label":"Some Unlisteds - Unlisted 1","href":"/tests/docs/tests/visibility/some-unlisteds/unlisted1","docId":"tests/visibility/some-unlisteds/unlisted1","unlisted":true},{"type":"link","label":"Some Unlisteds - Unlisted 2","href":"/tests/docs/tests/visibility/some-unlisteds/unlisted2","docId":"tests/visibility/some-unlisteds/unlisted2","unlisted":true}]}],"href":"/tests/docs/tests/visibility/"},{"type":"link","label":"External Link test","href":"https://docusaurus.io"},{"type":"category","label":"Sidebar item description tests","description":"Some custom category description","items":[{"type":"link","label":"Link without description","href":"https://docusaurus.io"},{"type":"link","label":"Link with description","href":"https://docusaurus.io","description":"Some link description"},{"type":"category","label":"Category without description","items":[{"type":"link","label":"Link ","href":"https://docusaurus.io"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category with description","description":"Some category description","items":[{"type":"link","label":"Link ","href":"https://docusaurus.io"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true,"href":"/tests/docs/category/sidebar-item-description-tests"}],"collapsed":true,"collapsible":true,"href":"/tests/docs/category/tests"},{"type":"category","label":"Another category with index","collapsible":false,"items":[{"type":"link","label":"Another test page","href":"/tests/docs/more-test","docId":"more-test","unlisted":false}],"collapsed":false,"href":"/tests/docs/category/another-category-with-index"},{"type":"category","label":"Huge sidebar category","items":[{"type":"link","href":"/","label":"Test Test test test test test test"},{"type":"link","href":"/","label":"Link 0 (level 1)"},{"type":"link","href":"/","label":"Link 1 (level 1)"},{"type":"link","href":"/","label":"Link 2 (level 1)"},{"type":"link","href":"/","label":"Link 3 (level 1)"},{"type":"link","href":"/","label":"Link 4 (level 1)"},{"type":"link","href":"/","label":"Link 5 (level 1)"},{"type":"link","href":"/","label":"Link 6 (level 1)"},{"type":"link","href":"/","label":"Link 7 (level 1)"},{"type":"category","label":"Category 0 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Link tests","className":"red","items":[{"type":"link","label":"External link absolute","href":"https://github.com/facebook/docusaurus"},{"type":"link","label":"pathname:/// link","href":"pathname:///some/local/path"},{"type":"link","label":"pathname:/// link (no baseUrl)","href":"pathname:///some/local/path","autoAddBaseUrl":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"TOC tests","className":"red","items":[{"type":"link","label":"toc-2-2","href":"/tests/docs/toc/toc-2-2","docId":"toc/toc-2-2","unlisted":false},{"type":"link","label":"toc-2-3","href":"/tests/docs/toc/toc-2-3","docId":"toc/toc-2-3","unlisted":false},{"type":"link","label":"toc-2-4","href":"/tests/docs/toc/toc-2-4","docId":"toc/toc-2-4","unlisted":false},{"type":"link","label":"toc-2-5","href":"/tests/docs/toc/toc-2-5","docId":"toc/toc-2-5","unlisted":false},{"type":"link","label":"toc-3-5","href":"/tests/docs/toc/toc-3-5","docId":"toc/toc-3-5","unlisted":false},{"type":"link","label":"toc-3-_","href":"/tests/docs/toc/toc-3-_","docId":"toc/toc-3-_","unlisted":false},{"type":"link","label":"toc-4-5","href":"/tests/docs/toc/toc-4-5","docId":"toc/toc-4-5","unlisted":false},{"type":"link","label":"toc-5-5","href":"/tests/docs/toc/toc-5-5","docId":"toc/toc-5-5","unlisted":false},{"type":"link","label":"toc-_-5","href":"/tests/docs/toc/toc-_-5","docId":"toc/toc-_-5","unlisted":false},{"type":"link","label":"toc-_-_","href":"/tests/docs/toc/toc-_-_","docId":"toc/toc-_-_","unlisted":false},{"type":"link","label":"toc-test-bad","href":"/tests/docs/toc/toc-test-bad","docId":"toc/toc-test-bad","unlisted":false},{"type":"link","label":"toc-test-good","href":"/tests/docs/toc/toc-test-good","docId":"toc/toc-test-good","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"HTML items tests","collapsed":false,"collapsible":false,"items":[{"type":"html","value":"Some Text","defaultStyle":true},{"type":"html","value":"<span style=\\"border-top: 1px solid var(--ifm-color-gray-500); display: block;margin: 0.5rem 0 0.25rem 1rem;\\" ></span>"},{"type":"html","defaultStyle":true,"value":"\\n <span style=\\"font-size: 0.5rem; color: lightgrey;\\">Powered by</span>\\n <img style=\\"width: 100px; height: 100px; display: block;\\" src=\\"/img/docusaurus.png\\" alt=\\"Docusaurus Logo\\" />\\n "}]}],"anotherSidebar":[{"type":"link","label":"Just a dummy page","href":"/tests/docs/dummy.html","docId":"dummy","unlisted":false}]},"docs":{"beginner\'s guide":{"id":"beginner\'s guide","title":"Beginner\'s guide","description":"#9160"},"doc-with-another-sidebar":{"id":"doc-with-another-sidebar","title":"Doc with another sidebar","description":"My link appears in a sidebar, but I want to display another sidebar...","sidebar":"anotherSidebar"},"doc-with-last-update":{"id":"doc-with-last-update","title":"Doc With Last Update Front Matter","description":"","sidebar":"sidebar"},"doc-without-sidebar":{"id":"doc-without-sidebar","title":"Doc without sidebar","description":"My link appears in a sidebar, but I don\'t want to display that..."},"dummy":{"id":"dummy","title":"Just a dummy page","description":"","sidebar":"anotherSidebar"},"folder with space/doc 1":{"id":"folder with space/doc 1","title":"Doc 1","description":"Inside folder with space"},"folder with space/doc 2":{"id":"folder with space/doc 2","title":"Doc 2","description":"Inside folder with space"},"index":{"id":"index","title":"Docs tests","description":"This Docusaurus docs plugin instance is meant to test fancy edge-cases that regular unit tests don\'t really cover.","sidebar":"sidebar"},"more-test":{"id":"more-test","title":"Another test page","description":"Test link","sidebar":"sidebar"},"standalone":{"id":"standalone","title":"Standalone doc","description":"This doc is not in any sidebar, on purpose, to measure the build size impact of the huge sidebar"},"tests/admonitions":{"id":"tests/admonitions","title":"Admonitions tests","description":"Empty content","sidebar":"sidebar"},"tests/ascii/\xe6\xf8\xe5/index":{"id":"tests/ascii/\xe6\xf8\xe5/index","title":"index","description":"Dogfood test for https://github.com/facebook/docusaurus/pull/8137","sidebar":"sidebar"},"tests/ascii/folder/\xe6\xf8\xe5":{"id":"tests/ascii/folder/\xe6\xf8\xe5","title":"\xe6\xf8\xe5","description":"Dogfood test for https://github.com/facebook/docusaurus/pull/8137","sidebar":"sidebar"},"tests/Case-Sentitive-Doc":{"id":"tests/Case-Sentitive-Doc","title":"Case-Sensitive doc","description":"This doc has uppercase and lowercase chars in its filename, and thus in its path / slug.","sidebar":"sidebar"},"tests/category-links/custom-index-convention/intro":{"id":"tests/category-links/custom-index-convention/intro","title":"Introduction","description":"This file is called intro.md. Typically, it won\'t be selected by the convention; however, it is in this case, because we have used a custom one.","sidebar":"sidebar"},"tests/category-links/custom-index-convention/sample-doc":{"id":"tests/category-links/custom-index-convention/sample-doc","title":"Sample doc","description":"Lorem Ipsum","sidebar":"sidebar"},"tests/category-links/no-index-doc/index":{"id":"tests/category-links/no-index-doc/index","title":"Index","description":"This file (index.md) is supposed to be a category index, but it isn\'t because we have set link: null in the category.json.","sidebar":"sidebar"},"tests/category-links/no-index-doc/sample-doc":{"id":"tests/category-links/no-index-doc/sample-doc","title":"Sample doc","description":"Lorem Ipsum","sidebar":"sidebar"},"tests/category-links/no-subdoc/index":{"id":"tests/category-links/no-subdoc/index","title":"No sub-docs","description":"The only doc of this category is the index page. It should show up as a regular doc link.","sidebar":"sidebar"},"tests/category-links/readme":{"id":"tests/category-links/readme","title":"Readme","description":"This readme.md should not be used as the category index due to the category.json link","sidebar":"sidebar"},"tests/category-links/regular-category/sample-doc":{"id":"tests/category-links/regular-category/sample-doc","title":"Sample doc","description":"Lorem Ipsum","sidebar":"sidebar"},"tests/category-links/with-category-name-doc/sample-doc":{"id":"tests/category-links/with-category-name-doc/sample-doc","title":"Sample doc","description":"Lorem Ipsum","sidebar":"sidebar"},"tests/category-links/with-category-name-doc/with-category-name-doc":{"id":"tests/category-links/with-category-name-doc/with-category-name-doc","title":"Category with a doc of category\'s name","description":"You should be able to click on the category and browse this /.md doc","sidebar":"sidebar"},"tests/category-links/with-index-doc/index":{"id":"tests/category-links/with-index-doc/index","title":"Category with index.md doc","description":"You should be able to click on the category and browse this index.md doc","sidebar":"sidebar"},"tests/category-links/with-index-doc/sample-doc":{"id":"tests/category-links/with-index-doc/sample-doc","title":"Sample doc","description":"Lorem Ipsum","sidebar":"sidebar"},"tests/category-links/with-readme-doc/README":{"id":"tests/category-links/with-readme-doc/README","title":"Category with readme.md doc","description":"You should be able to click on the category and browse this readme.md doc","sidebar":"sidebar"},"tests/category-links/with-readme-doc/sample-doc":{"id":"tests/category-links/with-readme-doc/sample-doc","title":"Sample doc","description":"Lorem Ipsum","sidebar":"sidebar"},"tests/images/index":{"id":"tests/images/index","title":"Image Tests","description":"URL encoded image","sidebar":"sidebar"},"tests/import-bad-package":{"id":"tests/import-bad-package","title":"Import Bad Package","description":"We are importing MDX content from a file that is in a package that has a bad React version.","sidebar":"sidebar"},"tests/links/broken-anchors-tests":{"id":"tests/links/broken-anchors-tests","title":"Broken Anchors tests","description":"Markdown link to above anchor","sidebar":"sidebar"},"tests/links/target":{"id":"tests/links/target","title":"Target doc","description":"This is just a doc meant to be linked to by other docs.","sidebar":"sidebar"},"tests/links/test-markdown-links":{"id":"tests/links/test-markdown-links","title":"Test links","description":"These are dogfood tests showing that Markdown links with md/mdx file references are resolved correctly.","sidebar":"sidebar"},"tests/sidebar-frontmatter/doc-with-sidebar-className":{"id":"tests/sidebar-frontmatter/doc-with-sidebar-className","title":"Doc With Sidebar Class Name","description":"This doc has sidebar_label front matter","sidebar":"sidebar"},"tests/sidebar-frontmatter/doc-with-sidebar-custom-props":{"id":"tests/sidebar-frontmatter/doc-with-sidebar-custom-props","title":"Doc With Custom Props","description":"This doc has sidebarcustomprops front matter.","sidebar":"sidebar"},"tests/sidebar-frontmatter/doc-with-sidebar-label":{"id":"tests/sidebar-frontmatter/doc-with-sidebar-label","title":"Doc with sidebar_label","description":"This doc has sidebar_label front matter","sidebar":"sidebar"},"tests/sidebar-frontmatter/doc-without":{"id":"tests/sidebar-frontmatter/doc-without","title":"Doc Without","description":"This doc doesn\'t have any sidebar_ front matter","sidebar":"sidebar"},"tests/sidebar-frontmatter/index":{"id":"tests/sidebar-frontmatter/index","title":"Sidebar front matter","description":"","sidebar":"sidebar"},"tests/toc-partials/index":{"id":"tests/toc-partials/index","title":"TOC partial test","description":"This page tests that MDX-imported content appears correctly in the table-of-contents","sidebar":"sidebar"},"tests/visibility/force-unlisted":{"id":"tests/visibility/force-unlisted","title":"force_unlisted_parseFrontMatter_test","description":"This doc is hidden despite unlisted: false","sidebar":"sidebar"},"tests/visibility/index":{"id":"tests/visibility/index","title":"Visibility","description":"A category to play with draft/unlisted front matter.","sidebar":"sidebar"},"tests/visibility/only-unlisteds/unlisted-subcategory/index":{"id":"tests/visibility/only-unlisteds/unlisted-subcategory/index","title":"Only Unlisteds - Subcategory index unlisted","description":"Doc with unlisted front matter","sidebar":"sidebar"},"tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3":{"id":"tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3","title":"Only Unlisteds - Unlisted 3","description":"Doc with unlisted front matter","sidebar":"sidebar"},"tests/visibility/only-unlisteds/unlisted1":{"id":"tests/visibility/only-unlisteds/unlisted1","title":"Only Unlisteds - Unlisted 1","description":"Doc with unlisted front matter","sidebar":"sidebar"},"tests/visibility/only-unlisteds/unlisted2":{"id":"tests/visibility/only-unlisteds/unlisted2","title":"Only Unlisteds - Unlisted 2","description":"Doc with unlisted front matter","sidebar":"sidebar"},"tests/visibility/some-drafts/draft-subcategory/listed1":{"id":"tests/visibility/some-drafts/draft-subcategory/listed1","title":"Some Drafts - Listed 1","description":"Regular doc","sidebar":"sidebar"},"tests/visibility/some-unlisteds/subcategory-with-listed-index/index":{"id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/index","title":"Subcategory index listed","description":"Doc index, listed, but all the other category items are unlisted","sidebar":"sidebar"},"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1":{"id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1","title":"Unlisted 1","description":"Doc with unlisted front matter","sidebar":"sidebar"},"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2":{"id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2","title":"Unlisted 2","description":"Doc with unlisted front matter","sidebar":"sidebar"},"tests/visibility/some-unlisteds/unlisted-subcategory/index":{"id":"tests/visibility/some-unlisteds/unlisted-subcategory/index","title":"Subcategory index unlisted","description":"Doc with unlisted front matter","sidebar":"sidebar"},"tests/visibility/some-unlisteds/unlisted-subcategory/listed1":{"id":"tests/visibility/some-unlisteds/unlisted-subcategory/listed1","title":"Some Unlisteds - Listed 1","description":"Regular doc","sidebar":"sidebar"},"tests/visibility/some-unlisteds/unlisted-subcategory/unlisted3":{"id":"tests/visibility/some-unlisteds/unlisted-subcategory/unlisted3","title":"Some Unlisteds - Unlisted 3","description":"Doc with unlisted front matter","sidebar":"sidebar"},"tests/visibility/some-unlisteds/unlisted1":{"id":"tests/visibility/some-unlisteds/unlisted1","title":"Some Unlisteds - Unlisted 1","description":"Doc with unlisted front matter","sidebar":"sidebar"},"tests/visibility/some-unlisteds/unlisted2":{"id":"tests/visibility/some-unlisteds/unlisted2","title":"Some Unlisteds - Unlisted 2","description":"Doc with unlisted front matter","sidebar":"sidebar"},"toc/toc-_-_":{"id":"toc/toc-_-_","title":"toc-_-_","description":"","sidebar":"sidebar"},"toc/toc-_-5":{"id":"toc/toc-_-5","title":"toc-_-5","description":"","sidebar":"sidebar"},"toc/toc-2-2":{"id":"toc/toc-2-2","title":"toc-2-2","description":"","sidebar":"sidebar"},"toc/toc-2-3":{"id":"toc/toc-2-3","title":"toc-2-3","description":"","sidebar":"sidebar"},"toc/toc-2-4":{"id":"toc/toc-2-4","title":"toc-2-4","description":"","sidebar":"sidebar"},"toc/toc-2-5":{"id":"toc/toc-2-5","title":"toc-2-5","description":"","sidebar":"sidebar"},"toc/toc-3-_":{"id":"toc/toc-3-_","title":"toc-3-_","description":"","sidebar":"sidebar"},"toc/toc-3-5":{"id":"toc/toc-3-5","title":"toc-3-5","description":"","sidebar":"sidebar"},"toc/toc-4-5":{"id":"toc/toc-4-5","title":"toc-4-5","description":"","sidebar":"sidebar"},"toc/toc-5-5":{"id":"toc/toc-5-5","title":"toc-5-5","description":"","sidebar":"sidebar"},"toc/toc-test-bad":{"id":"toc/toc-test-bad","title":"toc-test-bad","description":"Test the TOC behavior of a real-world MD doc with invalid headings","sidebar":"sidebar"},"toc/toc-test-good":{"id":"toc/toc-test-good","title":"toc-test-good","description":"Test the TOC behavior of a real-world MD doc with valid headings","sidebar":"sidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/014bb441.7686b2dd.js b/assets/js/014bb441.7686b2dd.js new file mode 100644 index 0000000000..e75e51e1a5 --- /dev/null +++ b/assets/js/014bb441.7686b2dd.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["81438"],{5666:function(e,t,n){n.d(t,{CS:()=>x,iZ:()=>p,ci:()=>Z,Ne:()=>_,cH:()=>k,nO:()=>u,wj:()=>s,n4:()=>c});var r=n(85893),l=n(67294),a=n(50923),i=n(3564);function s(){let e=(0,i.Z)(),t=e?.data?.blogMetadata;if(!t)throw Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}let o=l.createContext(null);function c(e){let{children:t,content:n,isBlogPostPage:a=!1}=e,i=function(e){let{content:t,isBlogPostPage:n}=e;return(0,l.useMemo)(()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:n}),[t,n])}({content:n,isBlogPostPage:a});return(0,r.jsx)(o.Provider,{value:i,children:t})}function u(){let e=(0,l.useContext)(o);if(null===e)throw new a.i6("BlogPostProvider");return e}var d=n(83631),m=n(8156);let h=e=>new Date(e).toISOString();function f(e){let t=e.map(j);return{author:1===t.length?t[0]:t}}function g(e,t,n){return e?{image:function(e){let{imageUrl:t,caption:n}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:n}}({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${n}`})}:{}}function x(e){let{siteConfig:t}=(0,m.Z)(),{withBaseUrl:n}=(0,d.Cg)(),{metadata:{blogDescription:r,blogTitle:l,permalink:a}}=e,i=`${t.url}${a}`;return{"@context":"https://schema.org","@type":"Blog","@id":i,mainEntityOfPage:i,headline:l,description:r,blogPost:e.items.map(e=>(function(e,t,n){let{assets:r,frontMatter:l,metadata:a}=e,{date:i,title:s,description:o,lastUpdatedAt:c}=a,u=r.image??l.image,d=l.keywords??[],m=`${t.url}${a.permalink}`,x=c?h(c):void 0;return{"@type":"BlogPosting","@id":m,mainEntityOfPage:m,url:m,headline:s,name:s,description:o,datePublished:i,...x?{dateModified:x}:{},...f(a.authors),...g(u,n,s),...d?{keywords:d}:{}}})(e.content,t,n))}}function p(){let e=s(),{assets:t,metadata:n}=u(),{siteConfig:r}=(0,m.Z)(),{withBaseUrl:l}=(0,d.Cg)(),{date:a,title:i,description:o,frontMatter:c,lastUpdatedAt:x}=n,p=t.image??c.image,j=c.keywords??[],v=x?h(x):void 0,b=`${r.url}${n.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":b,mainEntityOfPage:b,url:b,headline:i,name:i,description:o,datePublished:a,...v?{dateModified:v}:{},...f(n.authors),...g(p,l,i),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${r.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}var v=n(3620),b=n(35363),N=n(32263),y=n(71208);function k(e){let{pathname:t}=(0,v.TH)();return(0,l.useMemo)(()=>e.filter(e=>!e.unlisted||!!(0,y.Mg)(e.permalink,t)),[e,t])}function Z(e){let t=Object.entries((0,N.vM)(e,e=>`${new Date(e.date).getFullYear()}`));return t.reverse(),t}function _(e){let{items:t,ulClassName:n,liClassName:l,linkClassName:a,linkActiveClassName:i}=e;return(0,r.jsx)("ul",{className:n,children:t.map(e=>(0,r.jsx)("li",{className:l,children:(0,r.jsx)(b.Z,{isNavLink:!0,to:e.permalink,className:a,activeClassName:i,children:e.title})},e.permalink))})}},37796:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);function l(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}n(67294)},49356:function(e,t,n){n.d(t,{Z:()=>w});var r=n(85893),l=n(67294),a=n(90496),i=n(77827),s=n(55951);let o={admonition:"admonition_o5H7",admonitionHeading:"admonitionHeading_FzoX",admonitionIcon:"admonitionIcon_rXq6",admonitionContent:"admonitionContent_Knsx"};function c(e){let{type:t,className:n,children:l}=e;return(0,r.jsx)("div",{className:(0,a.Z)(s.k.common.admonition,s.k.common.admonitionType(t),o.admonition,n),children:l})}function u(e){let{icon:t,title:n}=e;return(0,r.jsxs)("div",{className:o.admonitionHeading,children:[(0,r.jsx)("span",{className:o.admonitionIcon,children:t}),n]})}function d(e){let{children:t}=e;return t?(0,r.jsx)("div",{className:o.admonitionContent,children:t}):null}function m(e){let{type:t,icon:n,title:l,children:a,className:i}=e;return(0,r.jsxs)(c,{type:t,className:i,children:[l||n?(0,r.jsx)(u,{title:l,icon:n}):null,(0,r.jsx)(d,{children:a})]})}let h={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function f(e){return(0,r.jsx)(m,{...h,...e,className:(0,a.Z)("alert alert--secondary",e.className),children:e.children})}let g={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function x(e){return(0,r.jsx)(m,{...g,...e,className:(0,a.Z)("alert alert--success",e.className),children:e.children})}var p=n(37796);let j={icon:(0,r.jsx)(p.Z,{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function v(e){return(0,r.jsx)(m,{...j,...e,className:(0,a.Z)("alert alert--info",e.className),children:e.children})}function b(e){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let N={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},y={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},k={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};var Z=n(57922);let _={note:f,tip:x,info:v,warning:function(e){return(0,r.jsx)(m,{...N,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,r.jsx)(m,{...y,...e,className:(0,a.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,r.jsx)(f,{title:"secondary",...e}),important:e=>(0,r.jsx)(v,{title:"important",...e}),success:e=>(0,r.jsx)(x,{title:"success",...e}),caution:function(e){return(0,r.jsx)(m,{...k,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})},"my-custom-admonition":function(e){return(0,r.jsxs)("div",{style:{border:"solid red",padding:10},children:[(0,r.jsx)(Z.Z,{as:"h5",style:{color:"blue",fontSize:30},children:e.title}),(0,r.jsx)("div",{children:e.children})]})}};function w(e){let t=function(e){let{mdxAdmonitionTitle:t,rest:n}=function(e){let t=l.Children.toArray(e),n=t.find(e=>l.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),a=t.filter(e=>e!==n);return{mdxAdmonitionTitle:n?.props.children,rest:a.length>0?(0,r.jsx)(r.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}(e),n=function(e){let t=_[e];return t||(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),_.info)}(t.type);return(0,r.jsx)(n,{...t})}},9942:function(e,t,n){n.d(t,{Z:()=>N});var r=n(85893),l=n(67294),a=n(90496),i=n(88408),s=n(28115),o=n(77827),c=n(5666),u=n(26378),d=n(57922);function m(e){let{year:t,yearGroupHeadingClassName:n,children:l}=e;return(0,r.jsxs)("div",{role:"group",children:[(0,r.jsx)(d.Z,{as:"h3",className:n,children:t}),l]})}let h=(0,l.memo)(function(e){let{items:t,yearGroupHeadingClassName:n,ListComponent:l}=e;if(!(0,u.L)().blog.sidebar.groupByYear)return(0,r.jsx)(l,{items:t});{let e=(0,c.ci)(t);return(0,r.jsx)(r.Fragment,{children:e.map(e=>{let[t,a]=e;return(0,r.jsx)(m,{year:t,yearGroupHeadingClassName:n,children:(0,r.jsx)(l,{items:a})},t)})})}}),f=e=>{let{items:t}=e;return(0,r.jsx)(c.Ne,{items:t,ulClassName:(0,a.Z)("sidebarItemList_OSkG","clean-list"),liClassName:"sidebarItem_WJ0y",linkClassName:"sidebarItemLink_Qrfg",linkActiveClassName:"sidebarItemLinkActive_nUeK"})},g=(0,l.memo)(function(e){let{sidebar:t}=e,n=(0,c.cH)(t.items);return(0,r.jsx)("aside",{className:"col col--3",children:(0,r.jsxs)("nav",{className:(0,a.Z)("sidebar_P3nc","thin-scrollbar"),"aria-label":(0,o.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,r.jsx)("div",{className:(0,a.Z)("sidebarItemTitle_VrjY","margin-bottom--md"),children:t.title}),(0,r.jsx)(h,{items:n,ListComponent:f,yearGroupHeadingClassName:"yearGroupHeading_lECJ"})]})})});var x=n(44160);let p=e=>{let{items:t}=e;return(0,r.jsx)(c.Ne,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function j(e){let{sidebar:t}=e,n=(0,c.cH)(t.items);return(0,r.jsx)(h,{items:n,ListComponent:p,yearGroupHeadingClassName:"yearGroupHeading_Ruz9"})}let v=(0,l.memo)(function(e){return(0,r.jsx)(x.Zo,{component:j,props:e})});function b(e){let{sidebar:t}=e,n=(0,s.i)();return t?.items.length?"mobile"===n?(0,r.jsx)(v,{sidebar:t}):(0,r.jsx)(g,{sidebar:t}):null}function N(e){let{sidebar:t,toc:n,children:l,...s}=e,o=t&&t.items.length>0;return(0,r.jsx)(i.Z,{...s,children:(0,r.jsx)("div",{className:"container margin-vert--lg",children:(0,r.jsxs)("div",{className:"row",children:[(0,r.jsx)(b,{sidebar:t}),(0,r.jsx)("main",{className:(0,a.Z)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:l}),n&&(0,r.jsx)("div",{className:"col col--2",children:n})]})})})}},76460:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);function l(e){let{children:t,className:n}=e;return(0,r.jsx)("article",{className:n,children:t})}n(67294)},90437:function(e,t,n){n.d(t,{Z:()=>o});var r=n(85893);n(67294);var l=n(90496),a=n(59699),i=n(5666),s=n(84015);function o(e){let{children:t,className:n}=e,{isBlogPostPage:o}=(0,i.nO)();return(0,r.jsx)("div",{id:o?a.blogPostContainerID:void 0,className:(0,l.Z)("markdown",n),children:(0,r.jsx)(s.Z,{children:t})})}},54505:function(e,t,n){n.d(t,{Z:()=>m});var r=n(85893);n(67294);var l=n(90496),a=n(77827),i=n(11660),s=n(90177),o=n(5666);function c(e){let{readingTime:t}=e,n=function(){let{selectMessage:e}=(0,i.c)();return t=>{let n=Math.ceil(t);return e(n,(0,a.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:n(t)})}function u(e){let{date:t,formattedDate:n}=e;return(0,r.jsx)("time",{dateTime:t,children:n})}function d(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function m(e){let{className:t}=e,{metadata:n}=(0,o.nO)(),{date:a,readingTime:i}=n,m=(0,s.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,l.Z)("container_x5Un","margin-vert--md",t),children:[(0,r.jsx)(u,{date:a,formattedDate:m.format(new Date(a))}),void 0!==i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d,{}),(0,r.jsx)(c,{readingTime:i})]})]})}},37147:function(e,t,n){n.d(t,{Z:()=>s});var r=n(85893);n(67294);var l=n(90496),a=n(35363),i=n(5666);function s(e){let{className:t}=e,{metadata:n,isBlogPostPage:s}=(0,i.nO)(),{permalink:o,title:c}=n;return(0,r.jsx)(s?"h1":"h2",{className:(0,l.Z)("title_UBNu",t),children:s?c:(0,r.jsx)(a.Z,{to:o,children:c})})}},81061:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var l=n(57335),a=n(5666);function i(){let{assets:e,metadata:t}=(0,a.nO)(),{title:n,description:i,date:s,tags:o,authors:c,frontMatter:u}=t,{keywords:d}=u,m=e.image??u.image;return(0,r.jsxs)(l.d,{title:u.title_meta??n,description:i,keywords:d,image:m,children:[(0,r.jsx)("meta",{property:"og:type",content:"article"}),(0,r.jsx)("meta",{property:"article:published_time",content:s}),c.some(e=>e.url)&&(0,r.jsx)("meta",{property:"article:author",content:c.map(e=>e.url).filter(Boolean).join(",")}),o.length>0&&(0,r.jsx)("meta",{property:"article:tag",content:o.map(e=>e.label).join(",")})]})}},2769:function(e,t,n){n.d(t,{Z:()=>m});var r=n(85893),l=n(67294),a=n(90496),i=n(96700),s=n(71607),o=n(97812);let c={details:"details_Nokh",isBrowser:"isBrowser_QrB5",collapsibleContent:"collapsibleContent_EoA1"};function u(e){return!!e&&("SUMMARY"===e.tagName||u(e.parentElement))}function d(e){let{summary:t,children:n,...d}=e;(0,i.Z)().collectAnchor(d.id);let m=(0,s.Z)(),h=(0,l.useRef)(null),{collapsed:f,setCollapsed:g}=(0,o.u)({initialState:!d.open}),[x,p]=(0,l.useState)(d.open),j=l.isValidElement(t)?t:(0,r.jsx)("summary",{children:t??"Details"});return(0,r.jsxs)("details",{...d,ref:h,open:x,"data-collapsed":f,className:(0,a.Z)(c.details,m&&c.isBrowser,d.className),onMouseDown:e=>{u(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;u(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,h.current)&&(e.preventDefault(),f?(g(!1),p(!0)):g(!0))},children:[j,(0,r.jsx)(o.z,{lazy:!1,collapsed:f,onCollapseTransitionEnd:e=>{g(e),p(!e)},children:(0,r.jsx)("div",{className:c.collapsibleContent,children:n})})]})}function m(e){let{...t}=e;return(0,r.jsx)(d,{...t,className:(0,a.Z)("alert alert--info","details_Cn_P",t.className)})}},84015:function(e,t,n){n.d(t,{Z:()=>B});var r=n(85893),l=n(67294),a=n(80980),i=n(53327),s=n(95998);function o(e){return(0,r.jsx)("code",{...e})}function c(e){return void 0!==e.children&&l.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,r.jsx)(o,{...e}):(0,r.jsx)(s.Z,{...e})}var u=n(35363),d=n(2769);function m(e){let t=l.Children.toArray(e.children),n=t.find(e=>l.isValidElement(e)&&"summary"===e.type),a=(0,r.jsx)(r.Fragment,{children:t.filter(e=>e!==n)});return(0,r.jsx)(d.Z,{...e,summary:n,children:a})}var h=n(57922);function f(e){return(0,r.jsx)(h.Z,{...e})}var g=n(90496);let x={containsTaskList:"containsTaskList_k9gM"};var p=n(96700),j=n(49356),v=n(67490),b=n(85108),N=n(26378),y=n(45245),k=n(57396);async function Z(e){let{id:t,text:n,config:r}=e;k.Z.mermaidAPI.initialize(r);try{return await k.Z.render(t,n)}catch(e){throw document.querySelector(`#d${t}`)?.remove(),e}}function _(e){let{renderResult:t}=e,n=(0,l.useRef)(null);return(0,l.useEffect)(()=>{let e=n.current;t.bindFunctions?.(e)},[t]),(0,r.jsx)("div",{ref:n,className:"docusaurus-mermaid-container container_RUsj",dangerouslySetInnerHTML:{__html:t.svg}})}function w(e){let{value:t}=e,n=function(e){let{text:t,config:n}=e,[r,a]=(0,l.useState)(null),i=(0,l.useRef)(`mermaid-svg-${Math.round(1e7*Math.random())}`).current,s=function(){let{colorMode:e}=(0,y.I)(),t=(0,N.L)().mermaid,n=t.theme[e],{options:r}=t;return(0,l.useMemo)(()=>({startOnLoad:!1,...r,theme:n}),[n,r])}(),o=n??s;return(0,l.useEffect)(()=>{Z({id:i,text:t,config:o}).then(a).catch(e=>{a(()=>{throw e})})},[i,t,o]),r}({text:t});return null===n?null:(0,r.jsx)(_,{renderResult:n})}let C={Head:i.Z,details:m,Details:m,code:c,a:function(e){return(0,r.jsx)(u.Z,{...e})},pre:function(e){return(0,r.jsx)(r.Fragment,{children:e.children})},ul:function(e){return(0,r.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,g.Z)(e,e?.includes("contains-task-list")&&x.containsTaskList)}(e.className)})},li:function(e){return(0,p.Z)().collectAnchor(e.id),(0,r.jsx)("li",{...e})},img:function(e){var t;return(0,r.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,g.Z)(t,"img_vXGZ"))})},h1:e=>(0,r.jsx)(f,{as:"h1",...e}),h2:e=>(0,r.jsx)(f,{as:"h2",...e}),h3:e=>(0,r.jsx)(f,{as:"h3",...e}),h4:e=>(0,r.jsx)(f,{as:"h4",...e}),h5:e=>(0,r.jsx)(f,{as:"h5",...e}),h6:e=>(0,r.jsx)(f,{as:"h6",...e}),admonition:j.Z,mermaid:function(e){return(0,r.jsx)(v.Z,{fallback:e=>(0,r.jsx)(b.Ac,{...e}),children:(0,r.jsx)(w,{...e})})},Code:c,Highlight:function(e){let{children:t,color:n}=e;return(0,r.jsx)("span",{style:{backgroundColor:n,borderRadius:"2px",color:"#fff",padding:"0.2rem"},children:t})},TweetQuote:function(e){let{url:t,handle:n,name:l,job:a,children:i}=e,s=`https://unavatar.io/x/${n}`,o=`https://x.com/${n}`;return(0,r.jsxs)("figure",{className:"tweetQuote_h8Rz",children:[(0,r.jsx)("blockquote",{children:(0,r.jsx)(u.Z,{to:t,children:i})}),(0,r.jsx)("figcaption",{children:(0,r.jsx)(u.Z,{to:o,rel:"nofollow",children:(0,r.jsxs)("div",{className:"avatar",children:[(0,r.jsx)("img",{alt:l,className:(0,g.Z)("avatar__photo","avatarImg_b51M"),src:s}),(0,r.jsxs)("div",{className:(0,g.Z)("avatar__intro"),children:[(0,r.jsx)("strong",{className:"avatar__name",children:(0,r.jsx)("cite",{children:l})}),(0,r.jsx)("small",{className:"avatar__subtitle",itemProp:"description",children:a})]})]})})})]})}};function B(e){let{children:t}=e;return(0,r.jsx)(a.Z,{components:C,children:t})}},65773:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var l=n(90496),a=n(35363);function i(e){let{permalink:t,title:n,subLabel:i,isNext:s}=e;return(0,r.jsxs)(a.Z,{className:(0,l.Z)("pagination-nav__link",s?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[i&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:i}),(0,r.jsx)("div",{className:"pagination-nav__label",children:n})]})}},4458:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var l=n(90496),a=n(89477);function i(e){let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,l.Z)("tableOfContents_RLlU","thin-scrollbar",t),children:(0,r.jsx)(a.Z,{...n,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},89477:function(e,t,n){n.d(t,{Z:()=>c});var r=n(85893),l=n(67294),a=n(26378);function i(e){let t=e.getBoundingClientRect();return t.top===t.bottom?i(e.parentNode):t}var s=n(35363);let o=l.memo(function e(t){let{toc:n,className:l,linkClassName:a,isChild:i}=t;return n.length?(0,r.jsx)("ul",{className:i?void 0:l,children:n.map(t=>(0,r.jsxs)("li",{children:[(0,r.jsx)(s.Z,{to:`#${t.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:t.value}}),(0,r.jsx)(e,{isChild:!0,toc:t.children,className:l,linkClassName:a})]},t.id))}):null});function c(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:s="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:u,maxHeadingLevel:d,...m}=e,h=(0,a.L)(),f=u??h.tableOfContents.minHeadingLevel,g=d??h.tableOfContents.maxHeadingLevel,x=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:r}=e;return(0,l.useMemo)(()=>(function e(t){let{toc:n,minHeadingLevel:r,maxHeadingLevel:l}=t;return n.flatMap(t=>{let n=e({toc:t.children,minHeadingLevel:r,maxHeadingLevel:l});return t.level>=r&&t.level<=l?[{...t,children:n}]:n})})({toc:function(e){let t=e.map(e=>({...e,parentIndex:-1,children:[]})),n=Array(7).fill(-1);t.forEach((e,t)=>{let r=n.slice(2,e.level);e.parentIndex=Math.max(...r),n[e.level]=t});let r=[];return t.forEach(e=>{let{parentIndex:n,...l}=e;n>=0?t[n].children.push(l):r.push(l)}),r}(t),minHeadingLevel:n,maxHeadingLevel:r}),[t,n,r])}({toc:t,minHeadingLevel:f,maxHeadingLevel:g});return!function(e){let t=(0,l.useRef)(void 0),n=function(){let e=(0,l.useRef)(0),{navbar:{hideOnScroll:t}}=(0,a.L)();return(0,l.useEffect)(()=>{e.current=t?0:document.querySelector(".navbar").clientHeight},[t]),e}();(0,l.useEffect)(()=>{if(!e)return()=>{};let{linkClassName:r,linkActiveClassName:l,minHeadingLevel:a,maxHeadingLevel:s}=e;function o(){let e=Array.from(document.getElementsByClassName(r)),o=function(e,t){let{anchorTopOffset:n}=t,r=e.find(e=>i(e).top>=n);if(r){var l;return(l=i(r)).top>0&&l.bottom<window.innerHeight/2?r:e[e.indexOf(r)-1]??null}return e[e.length-1]??null}(function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e,r=[];for(let e=t;e<=n;e+=1)r.push(`h${e}.anchor`);return Array.from(document.querySelectorAll(r.join()))}({minHeadingLevel:a,maxHeadingLevel:s}),{anchorTopOffset:n.current}),c=e.find(e=>o&&o.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));e.forEach(e=>{e===c?(t.current&&t.current!==e&&t.current.classList.remove(l),e.classList.add(l),t.current=e):e.classList.remove(l)})}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}},[e,n])}((0,l.useMemo)(()=>{if(s&&c)return{linkClassName:s,linkActiveClassName:c,minHeadingLevel:f,maxHeadingLevel:g}},[s,c,f,g])),(0,r.jsx)(o,{toc:x,className:n,linkClassName:s,...m})}},90177:function(e,t,n){n.d(t,{P:()=>l});var r=n(8156);function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{i18n:{currentLocale:t}}=(0,r.Z)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,r.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},11660:function(e,t,n){n.d(t,{c:()=>o});var r=n(67294),l=n(8156);let a=["zero","one","two","few","many","other"];function i(e){return a.filter(t=>e.includes(t))}let s={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,l.Z)();return(0,r.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),s}},[e])}();return{selectMessage:(t,n)=>(function(e,t,n){let r=e.split("|");if(1===r.length)return r[0];r.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${r.length}: ${e}`);let l=n.select(t);return r[Math.min(n.pluralForms.indexOf(l),r.length-1)]})(n,t,e)}}},56497:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var l=n(71607);function a(e){let{children:t,fallback:n}=e;return(0,l.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}},61420:function(e,t,n){n.d(t,{Z:()=>b});var r=n(85893),l=n(67294),a=n(5666),i=n(37147),s=n(54505),o=n(90496),c=n(35363);let u={image:"image_oRbT"};function d(e){let{author:t,className:n}=e,{name:l,url:a,imageURL:i}=t;return(0,r.jsx)("div",{className:(0,o.Z)("avatar margin-bottom--sm",n),children:i&&(0,r.jsx)(c.Z,{className:"avatar__photo-link avatar__photo",href:a,children:(0,r.jsx)("img",{className:u.image,src:i,alt:l,onError:e=>{e.currentTarget.src='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="600" height="600" fill="none" stroke="%2325c2a0" stroke-width="30" version="1.1"><circle cx="300" cy="230" r="115"/><path stroke-linecap="butt" d="M106.81863443903,481.4 a205,205 1 0,1 386.36273112194,0"/></svg>'}})})})}function m(e){let{expanded:t,...n}=e;return t?(0,r.jsx)("svg",{viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor",...n,children:(0,r.jsx)("path",{d:"M783.915092 1009.031953l-271.898251-277.615587-271.930737 277.550617a49.214558 49.214558 0 0 1-70.752018 0 51.780862 51.780862 0 0 1 0-72.246322l307.274261-313.706262a49.279528 49.279528 0 0 1 70.784503 0l307.33923 313.706262a51.975771 51.975771 0 0 1 0 72.311292 49.409467 49.409467 0 0 1-70.816988 0z m-307.306745-608.05155L169.269117 87.274141A51.975771 51.975771 0 0 1 169.269117 14.96285a49.409467 49.409467 0 0 1 70.816987 0l271.930737 277.615586L783.850122 14.96285a49.409467 49.409467 0 0 1 70.816988 0 51.975771 51.975771 0 0 1 0 72.311291l-307.33923 313.706262a49.376982 49.376982 0 0 1-70.719533 0z"})}):(0,r.jsx)("svg",{viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor",...n,children:(0,r.jsx)("path",{d:"M476.612887 1009.12034L169.240699 695.380437a51.981345 51.981345 0 0 1 0-72.319045 49.382277 49.382277 0 0 1 70.824582 0l271.959897 277.645356 271.862433-277.645356a49.382277 49.382277 0 0 1 70.824582 0 51.981345 51.981345 0 0 1 0 72.319045l-307.307212 313.739903a49.447254 49.447254 0 0 1-70.792094 0z m307.274724-608.116755L511.99269 123.455693l-271.959897 277.645357a49.382277 49.382277 0 0 1-70.824582 0 51.981345 51.981345 0 0 1 0-72.319045L476.580399 15.042102a49.382277 49.382277 0 0 1 70.727117 0l307.372188 313.739903a51.981345 51.981345 0 0 1 0 72.319045 49.414766 49.414766 0 0 1-70.824582 0z"})})}let h={imageOnlyAuthorRow:"imageOnlyAuthorRow_WiD6",imageOnlyAuthorCol:"imageOnlyAuthorCol_uiac",toggleButton:"toggleButton_WvRg"};function f(e){let{className:t}=e,{metadata:{authors:n},assets:i}=(0,a.nO)(),[s,c]=(0,l.useState)(!1);if(0===n.length)return null;let u=n.slice(0,s?n.length:10);return(0,r.jsxs)("div",{className:(0,o.Z)("margin-top--md margin-bottom--sm",h.imageOnlyAuthorRow,t),children:[u.map((e,t)=>(0,r.jsx)("div",{className:h.imageOnlyAuthorCol,children:(0,r.jsx)(d,{author:{...e,imageURL:i.authorsImageUrls[t]??e.imageURL}})},t)),n.length>10&&(0,r.jsx)("button",{className:(0,o.Z)("clean-btn",h.toggleButton),type:"button",onClick:()=>c(e=>!e),"aria-label":"expand",children:(0,r.jsx)(m,{expanded:s})})]})}let g={changelogItemTitleList:"changelogItemTitleList_sueG"};function x(){let{isBlogPostPage:e}=(0,a.nO)();return(0,r.jsx)(i.Z,{className:e?void 0:g.changelogItemTitleList})}function p(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(x,{}),(0,r.jsx)(s.Z,{}),(0,r.jsx)(f,{})]})}var j=n(76460),v=n(90437);function b(e){let{children:t}=e;return(0,r.jsxs)(j.Z,{className:"changelogItemContainer_jeDt",children:[(0,r.jsx)(p,{}),(0,r.jsx)(v.Z,{children:t})]})}},70944:function(e,t,n){n.r(t),n.d(t,{default:()=>j});var r=n(85893);n(67294);var l=n(90496),a=n(77827),i=n(35363),s=n(57335),o=n(55951),c=n(5666),u=n(81061),d=n(9942),m=n(61420),h=n(65773);function f(e){let{nextItem:t,prevItem:n}=e;return(0,r.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,a.I)({id:"theme.changelog.post.paginator.navAriaLabel",message:"Changelog item navigation",description:"The ARIA label for the changelog pagination"}),children:[n&&(0,r.jsx)(h.Z,{...n,subLabel:(0,r.jsx)(a.Z,{id:"theme.changelog.post.paginator.newerRelease",description:"The changelog button label to navigate to the newer release",children:"Newer release"})}),t&&(0,r.jsx)(h.Z,{...t,subLabel:(0,r.jsx)(a.Z,{id:"theme.changelog.post.paginator.olderRelease",description:"The changelog button label to navigate to the older release",children:"Older release"}),isNext:!0})]})}var g=n(4458);function x(){let{metadata:e}=(0,c.nO)(),{listPageLink:t}=e;return(0,r.jsx)(i.Z,{to:t,children:(0,r.jsx)(a.Z,{id:"changelog.backLink",children:"\u2190 Back to index page"})})}function p(e){let{sidebar:t,children:n}=e,{metadata:l,toc:a}=(0,c.nO)(),{nextItem:i,prevItem:s,frontMatter:o}=l,{hide_table_of_contents:u,toc_min_heading_level:h,toc_max_heading_level:p}=o;return(0,r.jsxs)(d.Z,{sidebar:t,toc:!u&&a.length>0?(0,r.jsx)(g.Z,{toc:a,minHeadingLevel:h,maxHeadingLevel:p}):void 0,children:[(0,r.jsx)(x,{}),(0,r.jsx)(m.Z,{children:n}),(i||s)&&(0,r.jsx)(f,{nextItem:i,prevItem:s})]})}function j(e){let t=e.content;return(0,r.jsx)(c.n4,{content:e.content,isBlogPostPage:!0,children:(0,r.jsxs)(s.FG,{className:(0,l.Z)(o.k.wrapper.blogPages,o.k.page.blogPostPage),children:[(0,r.jsx)(u.Z,{}),(0,r.jsx)(p,{sidebar:e.sidebar,children:(0,r.jsx)(t,{})})]})})}},95998:function(e,t,n){n.d(t,{Z:()=>et});var r,l={};n.r(l),n.d(l,{ButtonExample:()=>w});var a=n(85893),i=n(67294),s=n(90496),o=n(71607),c=n(10075),u=n(77827),d=n(8156),m=n(56497),h=n(85108),f=n(45245),g=n(26378);function x(){let{prism:e}=(0,g.L)(),{colorMode:t}=(0,f.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var p=n(67490);function j(e){let{children:t}=e;return(0,a.jsx)("div",{className:(0,s.Z)("playgroundHeader_Tvsk"),children:t})}function v(){return(0,a.jsx)("div",{children:"Loading..."})}function b(){return(0,a.jsx)(m.Z,{fallback:(0,a.jsx)(v,{}),children:()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.Z,{fallback:e=>(0,a.jsx)(h.Ac,{...e}),children:(0,a.jsx)(c.i5,{})}),(0,a.jsx)(c.IF,{})]})})}function N(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{children:(0,a.jsx)(u.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,a.jsx)("div",{className:"playgroundPreview_mApW",children:(0,a.jsx)(b,{})})]})}function y(){let e=(0,o.Z)();return(0,a.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function k(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{children:(0,a.jsx)(u.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,a.jsx)(y,{})]})}let Z=e=>`${e};`;function _(e){let{children:t,transformCode:n,...r}=e,{siteConfig:{themeConfig:l}}=(0,d.Z)(),{liveCodeBlock:{playgroundPosition:i}}=l,s=x(),o=r.metastring?.includes("noInline")??!1;return(0,a.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,a.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:o,transformCode:n??Z,theme:s,...r,children:"top"===i?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N,{}),(0,a.jsx)(k,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k,{}),(0,a.jsx)(N,{})]})})})}function w(e){return(0,a.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let C={React:i,...i,...l};var B=n(55951),L=n(6324),I=n.n(L);let E=/title=(?<quote>["'])(?<title>.*?)\1/,T=/\{(?<range>[\d,-]+)\}/,A={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},M={...A,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},O=Object.keys(A);function H(e,t){let n=e.map(e=>{let{start:n,end:r}=M[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function R(e){let{as:t,...n}=e,r=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,l]=e,a=t[r];a&&"string"==typeof l&&(n[a]=l)}),n}(x());return(0,a.jsx)(t,{...n,style:r,className:(0,s.Z)(n.className,"codeBlockContainer_jDV4",B.k.common.codeBlock)})}let $={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function z(e){let{children:t,className:n}=e;return(0,a.jsx)(R,{as:"pre",tabIndex:0,className:(0,s.Z)($.codeBlockStandalone,"thin-scrollbar",n),children:(0,a.jsx)("code",{className:$.codeBlockLines,children:t})})}var P=n(50923);let S={attributes:!0,characterData:!0,childList:!0,subtree:!0};var F=n(7316);let D={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function U(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:l,getTokenProps:i}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let o=l({line:t,className:(0,s.Z)(n,r&&D.codeLine)}),c=t.map((e,t)=>(0,a.jsx)("span",{...i({token:e})},t));return(0,a.jsxs)("span",{...o,children:[r?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:D.codeLineNumber}),(0,a.jsx)("span",{className:D.codeLineContent,children:c})]}):c,(0,a.jsx)("br",{})]})}var W=n(44771);function V(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function G(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let q={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function Q(e){let{code:t,className:n}=e,[r,l]=(0,i.useState)(!1),o=(0,i.useRef)(void 0),c=(0,i.useCallback)(()=>{(0,W.Z)(t),l(!0),o.current=window.setTimeout(()=>{l(!1)},1e3)},[t]);return(0,i.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,a.jsx)("button",{type:"button","aria-label":r?(0,u.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,u.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,u.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,s.Z)("clean-btn",n,q.copyButton,r&&q.copyButtonCopied),onClick:c,children:(0,a.jsxs)("span",{className:q.copyButtonIcons,"aria-hidden":"true",children:[(0,a.jsx)(V,{className:q.copyButtonIcon}),(0,a.jsx)(G,{className:q.copyButtonSuccessIcon})]})})}function X(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let Y={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function J(e){let{className:t,onClick:n,isEnabled:r}=e,l=(0,u.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,a.jsx)("button",{type:"button",onClick:n,className:(0,s.Z)("clean-btn",t,r&&Y.wordWrapButtonEnabled),"aria-label":l,title:l,children:(0,a.jsx)(X,{className:Y.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:r="",metastring:l,title:c,showLineNumbers:u,language:d}=e,{prism:{defaultLanguage:m,magicComments:h}}=(0,g.L)(),f=(t=d??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(r)??m,t?.toLowerCase()),p=x(),j=function(){let[e,t]=(0,i.useState)(!1),[n,r]=(0,i.useState)(!1),l=(0,i.useRef)(null),a=(0,i.useCallback)(()=>{let n=l.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[l,e]),s=(0,i.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=l.current;r(e>t||l.current.querySelector("code").hasAttribute("style"))},[l]);return!function(e,t){let[n,r]=(0,i.useState)(),l=(0,i.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,i.useEffect)(()=>{l()},[l]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:S,r=(0,P.zX)(t),l=(0,P.Ql)(n);(0,i.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,l),()=>t.disconnect()},[e,r,l])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),l())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(l,s),(0,i.useEffect)(()=>{s()},[e,s]),(0,i.useEffect)(()=>(window.addEventListener("resize",s,{passive:!0}),()=>{window.removeEventListener("resize",s)}),[s]),{codeBlockRef:l,isEnabled:e,isCodeScrollable:n,toggle:a}}(),v=(0,o.Z)(),b=(l?.match(E)?.groups.title??"")||c,{lineClassNames:N,code:y}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:l,metastring:a}=t;if(a&&T.test(a)){let e=a.match(T).groups.range;if(0===l.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=l[0].className;return{lineClassNames:Object.fromEntries(I()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return H(["js","jsBlock"],t);case"jsx":case"tsx":return H(["js","jsBlock","jsx"],t);case"html":return H(["js","jsBlock","html"],t);case"python":case"py":case"bash":return H(["bash"],t);case"markdown":case"md":return H(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return H(["tex"],t);case"lua":case"haskell":return H(["lua"],t);case"sql":return H(["lua","jsBlock"],t);case"wasm":return H(["wasm"],t);case"vb":case"vba":case"visual-basic":return H(["vb","rem"],t);case"vbnet":return H(["vbnet","rem"],t);case"batch":return H(["rem"],t);case"basic":return H(["rem","f90"],t);case"fsharp":return H(["js","ml"],t);case"ocaml":case"sml":return H(["ml"],t);case"fortran":return H(["f90"],t);case"cobol":return H(["cobol"],t);default:return H(O,t)}}(r,l),s=n.split("\n"),o=Object.fromEntries(l.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(l.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),u=Object.fromEntries(l.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),d=Object.fromEntries(l.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<s.length;){let t=s[e].match(i);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?o[c[n]].range+=`${e},`:u[n]?o[u[n]].start=e:d[n]&&(o[d[n]].range+=`${o[d[n]].start}-${e-1},`),s.splice(e,1)}n=s.join("\n");let m={};return Object.entries(o).forEach(e=>{let[t,{range:n}]=e;I()(n).forEach(e=>{m[e]??=[],m[e].push(t)})}),{lineClassNames:m,code:n}}(n,{metastring:l,language:f,magicComments:h}),k=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:u,metastring:l});return(0,a.jsxs)(R,{as:"div",className:(0,s.Z)(r,f&&!r.includes(`language-${f}`)&&`language-${f}`),children:[b&&(0,a.jsx)("div",{className:$.codeBlockTitle,children:b}),(0,a.jsxs)("div",{className:$.codeBlockContent,children:[(0,a.jsx)(F.y$,{theme:p,code:y,language:f??"text",children:e=>{let{className:t,style:n,tokens:r,getLineProps:l,getTokenProps:i}=e;return(0,a.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,s.Z)(t,$.codeBlock,"thin-scrollbar"),style:n,children:(0,a.jsx)("code",{className:(0,s.Z)($.codeBlockLines,void 0!==k&&$.codeBlockLinesWithNumbering),style:void 0===k?void 0:{counterReset:`line-count ${k-1}`},children:r.map((e,t)=>(0,a.jsx)(U,{line:e,getLineProps:l,getTokenProps:i,classNames:N[t],showLineNumbers:void 0!==k},t))})})}}),v?(0,a.jsxs)("div",{className:$.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,a.jsx)(J,{className:$.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,a.jsx)(Q,{className:$.codeButton,code:y})]}):null]})]})}let ee=(r=function(e){let{children:t,...n}=e,r=(0,o.Z)(),l=i.Children.toArray(t).some(e=>(0,i.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,a.jsx)("string"==typeof l?K:z,{...n,children:l},String(r))},function(e){return e.live?(0,a.jsx)(_,{scope:C,...e}):(0,a.jsx)(r,{...e})});function et(e){return(0,a.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/01657c2b.6a477291.js b/assets/js/01657c2b.6a477291.js new file mode 100644 index 0000000000..0c152d2f40 --- /dev/null +++ b/assets/js/01657c2b.6a477291.js @@ -0,0 +1 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["8623"],{64027:function(e,s,t){"use strict";t.d(s,{Z:()=>a});let a=t.p+"assets/images/oss_logo-25c7e8934a28d0f23722c77adb6e7da4.png"},65945:function(e,s,t){"use strict";t.d(s,{Z:()=>a});let a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAABSCAYAAAC7QwouAAAACXBIWXMAAAsSAAALEgHS3X78AAASKklEQVR42u1dPXbbuhL+mJPeuisQswJTKzDdPhVWSlVmiqfWzApMr8BKqyZy81RGLlSHXoGkFYRewZVXwFdoEI0hAARJ/VHGdw5Prq+IHwKYDzODAeDleY5jozuYtADEAO4BPAOIZ6N+BgcHh73COzYBdAeTCMAQwIX00wOA4WzUX7lucnA4MwLoDiYhCf6l4bU30gbGrqscHM6AALqDiU+Cf1Mi2QuAZDbqp67LHBwaSADMzo8V6r7AM4DQ8PsTEYHzDzg47ACfDmjnL7B28l1oZvgvs1G/B8AnQVfhFsCiO5gkruscHE5cAyA7PwFwpXnlFUCkUu27g0lApoIpbTwb9aeuGx0cTogASN0f0oytwhvWHv7EIq8e5dU2+Afi2ai/cN3p4HBkAiD1PC6w4+Oyy3v7ytfBwRHAbgR/7zM1rSAkBZpFMhv1h65rHRwOQADHsNXr+BYcHBx2QABk5ycA7kx2PvYYzUerC0mB1hG5ZUMHhx0SQHcwiUnwjr5eL+0j0OEH1cf5BxwcqhIAqd5jw4y7JHX/4Kq3RYShCys+LoYAAvrvGOu4kKYhogckB+MPQQBNEi6LPQZHIykNfDaobJA0dKyl2PhsrunvpiFhmuZDg/vCjgAs1euT3LVn2GUocCrbjkMAv8v0mSMARwC7wqcCAcoMwv+MdfjuSdrWpI34ZP+rcAMKKyaic3BwPgALFXpnS2zeHAGpvwHeL+ktyUac5h3UXj4kE2YM87JhciQThmsAL/T3OcJpAKdMAIcMsvHmKBLILcLJO/UHjIUT8xjbjh0BOAI4Gj5bbtPdyTKaN0dR7IAKbQC/vfnaZs87qGyzk2D7hrDiKwC/u4NJ08KKAwCyGZPRYwOfHllgy6QpUx7PI6B/F/TYtnkLm1UF2zqryJejTPlngU+w26Yb70D4hU/hrmIWNwD+eHMkRCR1/AMJircdZxTleMoYA8gBzEmL4M8fEoigQAAW9K6cPtfMcLo0NuVxwkopzS8Aj5THv2R+tgoEf0zvynVeWc7KCb0rp/+X8q46vhJqt5zy95tAAG2N2v11NuqHdb3k3hyhN8cCwE8NySwBfAPwT96Bl3fgAfhK5KPCPYCMCKUOCaxmo34EoKMp66LGQDgUigbYFQma6jt6NOgvS5RXlObKkgQeDebfnWEmb9FvOjP1gsbHuIA07w3a7q2hzYrahjvMowoa0VEIQMbDbNT368bue3P43hxTw4B5A/At7yDIOxjnnY3qlXcwzTsIyVZ81XT0T2+O1JvXs5lno/5iNuqHRDpvDdPgplivxjxQ/a/p+cG+5QLbcQYtSUieKd0/RIgij9SQ5oHe9+jfJ1aezdh5pjr/A+AL5SdwCXVsxJiNpVeaOL5Qnb+xb77VaAIxI483KrNDeXylyUiUX2b8+4q2acQ5Fd5//vu/XBIIr6bgW4fmcqEvyNMq9LiOfwAAuoNJKs1M1wdwCIbYjxMwpplWlW9EGlmZMnl+TxoB5e33VRIC/tt3UvVNZbxKGk5Apo4QXl9hrxe9s2JjSOWIbJF509a8k0DtBFwwYmqUI3enR4KRWr4wCP8LgC95B7Gt8JNGMIR5Tf8WwGIX/oETcOalhqeMT2JRoK4K2K7q2KQZGhxsNnUbslm8LRFAJL230uT7zDSRnlT/C6Z9qIh9JX1Dz6Jd+JL5m2Wa8yIAb47AmyOlWUXnU7jOOwirztJ5B6u8g7jAZr8nIug1lAAuaJbUPbsiN9+SKGRyKkqTad5HReLyNfmZtLJUkyaw/Oa0xDf08N6pHaJhqwifdyD8PbJ/LjR2fkIz+E6Qd7AAEFK5qgNI2gB+eXN8yzuN26zxVjA4VwqVNVQM7iKhvtQIbRE51dE6bMFNhZAJpC0BLDQCHFZIf1VAojH7+zsauMHpc03hDwzC/wSUU/VLEsEUwNSbI4F6Tf+nNwcaRgKLEvZjBPNeh9c91vMYt8lcnFhf3UpjvZGnUNU1AaaKjnkB0Mk7iPYl/BIRJNCv6Q8p6vDc4GN7WfUFGy82oI92dHCorwHQzCsPsh9kpx8URDQR80PwWSMB6sUMnCB4Gz/T960k1Vdel94lHizeyc5cdp6wcSyK2IHxhyEAhVA9H0P4JSIY0yrAI1fVvHn9JcITA7dtVR7xBfkH7g3mQZv5EcpqasmetRuVPf7CbPLAYG/7GhJaSOlTi/TLAoKLsI5kBE08Nv6X5psAFHzTNsxKthAxA1NquJwaNqVB5lcggaHC/u3hfFFlwGUaMjHhpUKauuSWVahzqGmbRc30OhOYL02nQLOWoav6AELF7J+VFPyEOvUR6zj/S2a7XtHs9QfVYrOHBfU9J1QRxqlBk7NJE++pzgHer6kvNOUnhnHV06SZShOCb2FepZbm2JKZnNOPQAB1ZiERz22Kx+a4JaKoEwRzbgd+LAqEMSqwR6dS+8ZSG7UUQqJKoxPAIlv4kd7xJeEfa8oTfy/ZJDFVpE/ZmHqStIYVm62FoIaS6j/F+1BjW5s+xCaA6QoNWhH4dODyhPBflkx3gfKRcOcMPsBumNmUkhmlC8ji6vSDJJD/MjPsX7JtIynNNylNzspdsXS3FubbLWl4K3rm0uyvI7Y39t1/qF5y+qUmfYL38f5iB2FGed2w8suYjSvp/Ts0xPF8aAIYK4RfbMq4xnpjSQfroIpXBQlMz3A2rwJZGIXZdMVmrweYnVgJvcM3QMl94yv675uURpTLtbnXgn7im7wuFGlD6EN9Q2wvd8rLobr0K/rtRRpXbUX5ZX0rqUSqwyZMWJ8PWFaI7VOFl4rOEp7UIQ24W6mzY5zBSSzS916zAVqGTFOaeVrSQEyZ2mzy8ifUziqbONXYwGN6eooBnkHvCedmRkrlyXksLGzoBaUJFb6dqYXgChIQebRKlD9mbZJp2jOVynIEoLFVTUzPVb6WRBzRmRHACtWPx8oK7M2FZfnjCmVPUc7htdhBHjYEVaY+iwrtnVnUqzE4pAlwoxBuG4aUbam28wU4ODSLAELF7G/LlCtstnjq8nNwcDhxDUBWpcqqaxzOEejg0GACcHBw+MAE4Jd8P1CYBQ4ODg0hANneb5ew4+VVAJVJ4ODgcOIagOzIKzr/XWAs/f2GZt4q4+DwoQlAXq++RPHuqbFi9h+ecX/49H0ZNhdMiCfDOv7BOUDX2uOYTMFc8aTY3t/gcGQCSBVawCUb2AETgoj+v3wBxOsZE0BEps0d1HH8bdClKDjv7c027fSbxoZuM9kV1nsVfCfiZnw+QueleB9zLk7zLTq9RmzQOEcHYA/vTzJ6xTpCTnxri9pOxM3/wnrPxEfzhYSKdhpjs6zs0xMSYTpf0YkRgIjDlkkAFsIfnmmHyjfu6C7dSEj7EVrR9APOcLxdngs0ITf7H9AECCqQwA/L959hPgLKpj6rEx/UQpV9gX4b6Yp+43viow82XrlQF5mCmRPv/WkAU0llv/Hm8EucCrTC2kkjdqKJ3WhtbE6CETsCq3RkrPA/NGFWs/FvDJkarDp8Q1wVvsLmbMBQIkWbXXNCO5F3ChbtmJPLB1PLeT7jCn17JdVjFyZFKI3LaUG9Qotx5bNvVV05HjKS4uZLwPqnqK6ifNOV5vJuy4zSZLUIIO9g4c3fHSwJJsxlkFG6nTn26B7BtoKwTlX9vyxZzykjgBsNQVyRfSzMBtlZdk/ahsmnksB8qGisqa8of0l5xFBfsHGP9dkC4xptV1WzC6juKmfrI5lhsSb/33y4GUhdtJ3qDkKRh7hENGF9+YLt48uGmrreY/sORUEWY+gPhfkhJsk6JoDccTfe/LjHItPdhI/S/3464ROBOTu/lNCelhbmVxv6K9nFbJoatAwu/Euq3yvL+xfMwVyX9I7pdp2fJc3HF81MXLbNU5hPTKp6RXgVTXUuEbkvfeMvFJ/uJAv/b5bmFdt3RtyJSbcyAdCFHPKJM7d0ZXdwYMH3iXx+Sj+94bTPDvAr+ilW0kxowgPW11979Fxjc6LPpcJcCrC57+4N69WGgKnw3w2TgApLbE58usb2NexltMZUIqkqPhB+mc2zom1eDW2za8gnIT1J43Us+cJ4XUV9E8PE/J2ZX4HU93cAwrpOwEjqTDGzzL353zP69yn4LbqgZIHtmAFgfTVZ1hACWFQkABPZfsXm9GUuRJHGByH7T2JFvYZsJm4XCPBXql+CzQEeU2nQlpnJ+e3BF0T44kbfwHK8tpk20VO0TU/6/n1rAU8kmD7eH+YaSLN4TzHbpxIp9qTvGyre5/0b1SIAcVGnggSEGpWRgO5D+HvYXEWuUnObeDmoLRaWGsDKMAtyLaClEciphfkXVCi/qgNPrCAtpVn0jlTpDOZoSZsrzuUrxsM992WkMcV6JTUtuS/Ghr7/29e1lwEZCWiv7PbmyHZ1ZTe7ilxnG4mryM9V+PdBIoHkOxDtuLKwO4Mj1DvA2oG4VPg9RLRkVCAgaYW2OZZ2mFqmCQ2+AU6igvzbOwkEYld2R8TAuiu7XwBEVdRyMieGGlVf2KtD8k2cO/w95RsoZtui944Vbz/G5m6BHgn8pWQeyDNh29LnkmLjBA0a2sememeirXYaCUh3803JzlBd2X0F4I83xw8Aie3twYYrwLkdFR/iNuI9olVxcKQVy+N35anqIM7NP3Vk2Cwlh/TvJVPzp6gXCNbUDUWPNi9tmQDdwSSpSQIrmoUDqK/sBtlsGa3ZmwQ/9ObIDHb+C6n7ta8i7w4mvSOwfXpEVfMcd8qleO+TusDH3jhVCJUGcN8dTCIA8WzUn9YgggzrK7vHEitz/8AjkUACIM07yEjVD6EPIBH2abILO787mATYBK8cY/aqovLtIiLOL6iP7nYdlU15ShDHnN/VUKVbJ/x9tvhuMzY+A1sRfX9t9u5g8gIgmo36WQ0iSAEE5B9QRaWJgBV488Ls3oS6t4MZ38ansDoAAYj2b9NgLWrrQBLS1Z4I6RLNPXhlZZg42owYMos2PtYGtIwRfRVtbWHTf5/oY+Urot7Z7N3BZEgCU8s/QI3+UDGLZwBB3rH3HRiEP4H6vAHuU/Bno/4hOt/m1luOWJO27Ax3pTFFlhW1kib4U/h3hob0vR34WOpiYVnXKt+3IYDZqL+ajfpWNnt3MIlrkoDwD3zB9uEgOizJzu/VDerpDiZhdzAp9CnMRv1oNuofSvXj69G3MEe3RYy03lC8h6JlQSLPhkEUN0Sw5XciDUmOJbJV5Rfi/SWlqUIzNAlZa0f+nFQiJJtvl699L0zj5Xm+JSQam52rUdFs1K/NjBQyHFGDXUlCvwAwzTv1N/J0BxOfOt/oU5iN+uMjDewE72Pvn6i+C6aSRpLG8l1DACn7zjdslssW2ESb8bLkzSo+vcuv2R7i/c4+ERocQL1D7UqTNxec34x0bWc44S+aYrOrLWX1CvF+GfqloH5iw1KKzc7HhH27qo15enFC1YqVL48xVRtwofMKSEBVVzEmAmqDaUGaqUROYjxFWwTAhEZns/OZI67jH9g3yGxJmENIhQcAwwPO+DqMDSaJykSJLAZN1XwibO+r0OEfyebeJwGUaSPdITIywe2jbd5Y/nUIQGxcMtVVbj/b7wOAb9pIQJoNTTb7DfkHkrr+gT0Jf0TseGcgsC+zUT85AeEXA+sbtq9FlzWVr7DfBPOs8e0A6y2hkUHQrmG+XvyNhOSQfT+F3a7JJyYIKueabzB3xXX1prb5Yeif79jd0qMpylZgVfL7OHFkWg1AoUIPod5/LhotPqIKXcaEWVJdU5wuhJrms4GQwc4jrZqBhbreQvEhElDMmOJZsefYx7OFkr0t6lTm21qsncV3pRXaJYPdzcF1wMuDZZkt1u+cEFOtD8BCuMbQ708+mnA1iaT2DBsV3MGhPAEwYYslZ4lKBUsO4R8g8yOG+VThH1Sfj3ClmCMAh/0SABO8xGBj/w3a2ZfgkZ2fGDSS2oFMjgAcHAGYhbAolPYVNcOKNaZIUlBmdOJ2viMAh+YTABNK0+GFYjaO60TXkZ2fwBy+m8xG/eEH7lNHAA6HJwAmpAkstu6WNQv2la+DgyOA3dvmVod3UAjy0TULBwdHAHtAHVv9GL4FBwdHAPshggiW3vpdag8ODg4nQADMLIgL7PhnrCO8jh5f4ODgCGA/RODDHLGn0xCSD7qs5+BwPgQg+QdMMftC3f8I4bsODh+LACT/gGrb8als03VwcARwIP/APRpwzoCDw7ng/++z7FyTnp4xAAAAAElFTkSuQmCC"},9939:function(e,s,t){"use strict";t.r(s),t.d(s,{frontMatter:()=>l,default:()=>u,contentTitle:()=>d,assets:()=>g,docusaurusRequire:()=>c,toc:()=>m,metadata:()=>a});var a=JSON.parse('{"id":"tests/images/index","title":"Image Tests","description":"URL encoded image","source":"@site/_dogfooding/_docs tests/tests/images/index.mdx","sourceDirName":"tests/images","slug":"/tests/images/","permalink":"/tests/docs/tests/images/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"image":"./img/oss_logo.png"},"sidebar":"sidebar","previous":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/with-readme-doc/sample-doc"},"next":{"title":"Import Bad Package","permalink":"/tests/docs/tests/import-bad-package"}}'),i=t(85893),n=t(80980),r=t(21811),o=t(41949),A=t.n(o);let l={image:"./img/oss_logo.png"},d="Image Tests",g={image:t(64027).Z},c=t(41949),m=[{value:"Regular images",id:"regular-images",level:2},{value:"Ideal images",id:"ideal-images",level:2},{value:"CSS Image",id:"css-image",level:2}];function h(e){let s={h1:"h1",h2:"h2",header:"header",img:"img",p:"p",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"image-tests",children:"Image Tests"})}),"\n","\n","\n","\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"URL encoded image",src:t(65945).Z+"",width:"256",height:"82"})}),"\n",(0,i.jsx)(s.h2,{id:"regular-images",children:"Regular images"}),"\n",(0,i.jsx)(s.p,{children:"Those only render in DEV when IdealImage plugin is disabled."}),"\n",(0,i.jsx)("img",{src:A()}),"\n",(0,i.jsx)("img",{src:c.default}),"\n",(0,i.jsx)(s.h2,{id:"ideal-images",children:"Ideal images"}),"\n",(0,i.jsx)(r.Z,{img:A()}),"\n",(0,i.jsx)(r.Z,{img:c}),"\n",(0,i.jsx)(s.h2,{id:"css-image",children:"CSS Image"}),"\n","\n",(0,i.jsx)(s.p,{children:"This should display a div with have a background image"}),"\n",(0,i.jsx)("div",{className:"dogfood-image-test-css",style:{border:"solid",height:"10rem"}})]})}function u(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}u.displayName="MDXContent(_dogfooding/_docs tests/tests/images/index.mdx)"},41949:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/docusaurus.30c6ff4.200.png 200w",images:[{path:t.p+"assets/ideal-img/docusaurus.30c6ff4.200.png",width:200,height:200}],src:t.p+"assets/ideal-img/docusaurus.30c6ff4.200.png",toString:function(){return t.p+"assets/ideal-img/docusaurus.30c6ff4.200.png"},placeholder:void 0,width:200,height:200},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAABm0lEQVR4nEXNP0hbQQDH8aM0RQoudlNwdZLg00IaffdCCDpoqlhSGzV3xxOz6FRq5w6BQkcVJIJYCFg6CILQQqGkgkjiu5fEf0QjBlETmyJaEKSm5n7yunT4bh9+P0IIIe2y73GgFG3u3h1rMJLGw6iMu6KIu+KQLgAPHENCu6FHdJOtepPhGz0VOaa2kB5rJNORemW3/RjcaV3rX27JP68ngfxEI7X5b/d8D559G1K+/BjC+28xeRBTbw4+4N3x7N/3p3NuErDNRn2TXfm2TOgWq1HJ1VLxq5KHhZp1WMB2oVgtnlbcxOtAya6MjIAhmfJaHHzPxMzZuFqoTCJx/vouUZrSiCfLmv7BrAC1uNItjhd7EXwsD+Ki5K9d3/Uh9nN4+v9iVkC3uPLbHJ/LIXzJdSO1ruOs0oscwj2ky+KdVPJLI2dCl0L5MgIjBYbh/VGspAO1i8texH5FZgmV7BOV3Lm9pZJVnbp2RDV4JKr2efBP+bof4ydskTxNR55402aHviE0J/+G0DxSaDOllxow0P79dtRNkrzuHtwg5HIaPwQEAAAAAElFTkSuQmCC"}},21811:function(e,s,t){"use strict";t.d(s,{Z:()=>o});var a=t(85893);t(67294);var i=t(66222),n=t(77827);function r(e,s){switch(e){case"noicon":case"loaded":return null;case"loading":return(0,n.I)({id:"theme.IdealImageMessage.loading",message:"Loading...",description:"When the full-scale image is loading"});case"load":{let{pickedSrc:e}=s,{size:t}=e,a=t?` (${function(e){let s=["B","KB","MB","GB","TB"];if(0===e)return"n/a";let t=Math.floor(Math.log(e)/Math.log(1024));return 0===t?`${e} ${s[t]}`:`${(e/1024**t).toFixed(1)} ${s[t]}`}(t)})`:"";return(0,n.I)({id:"theme.IdealImageMessage.load",message:"Click to load{sizeMessage}",description:"To prompt users to load the full image. sizeMessage is a parenthesized size figure."},{sizeMessage:a})}case"offline":return(0,n.I)({id:"theme.IdealImageMessage.offline",message:"Your browser is offline. Image not loaded",description:"When the user is viewing an offline document"});case"error":{let{loadInfo:e}=s;if(404===e)return(0,n.I)({id:"theme.IdealImageMessage.404error",message:"404. Image not found",description:"When the image is not found"});return(0,n.I)({id:"theme.IdealImageMessage.error",message:"Error. Click to reload",description:"When the image fails to load for unknown error"})}default:throw Error(`Wrong icon: ${e}`)}}function o(e){let{img:s,...t}=e;return"string"==typeof s||"default"in s?(0,a.jsx)("img",{src:"string"==typeof s?s:s.default,...t}):(0,a.jsx)(i.default,{...t,height:s.src.height??100,width:s.src.width??100,placeholder:{lqip:s.preSrc},src:s.src.src,srcSet:s.src.images.map(e=>({...e,src:e.path})),getMessage:r})}},80980:function(e,s,t){"use strict";t.d(s,{Z:()=>o,a:()=>r});var a=t(67294);let i={},n=a.createContext(i);function r(e){let s=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/016c1251.c01c2fa4.js b/assets/js/016c1251.c01c2fa4.js new file mode 100644 index 0000000000..c165fde2a1 --- /dev/null +++ b/assets/js/016c1251.c01c2fa4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["72466"],{24452:function(e,t,o){o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>n,toc:()=>f});var n=o(50701),s=o(85893),r=o(80980);let a={title:"First post with footnote to test posts with same footnote reference."},i=void 0,c={authorsImageUrls:[]},f=[];function l(e){let t={a:"a",h2:"h2",li:"li",ol:"ol",p:"p",section:"section",sup:"sup",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["foo",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-1-0a1759",id:"user-content-fnref-1-0a1759","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"1"})})]}),"\n",(0,s.jsxs)(t.p,{children:["bar",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-2-0a1759",id:"user-content-fnref-2-0a1759","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"2"})})]}),"\n",(0,s.jsxs)(t.p,{children:["baz",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-3-0a1759",id:"user-content-fnref-3-0a1759","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"3"})})]}),"\n","\n",(0,s.jsxs)(t.section,{"data-footnotes":!0,className:"footnotes",children:[(0,s.jsx)(t.h2,{className:"sr-only",id:"footnote-label",children:"Footnotes"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{id:"user-content-fn-1-0a1759",children:["\n",(0,s.jsxs)(t.p,{children:["foo ",(0,s.jsx)(t.a,{href:"#user-content-fnref-1-0a1759","data-footnote-backref":"","aria-label":"Back to reference 1",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{id:"user-content-fn-2-0a1759",children:["\n",(0,s.jsxs)(t.p,{children:["bar ",(0,s.jsx)(t.a,{href:"#user-content-fnref-2-0a1759","data-footnote-backref":"","aria-label":"Back to reference 2",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{id:"user-content-fn-3-0a1759",children:["\n",(0,s.jsxs)(t.p,{children:["baz ",(0,s.jsx)(t.a,{href:"#user-content-fnref-3-0a1759","data-footnote-backref":"","aria-label":"Back to reference 3",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n"]}),"\n"]})]})}function d(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},80980:function(e,t,o){o.d(t,{Z:()=>i,a:()=>a});var n=o(67294);let s={},r=n.createContext(s);function a(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(r.Provider,{value:t},e.children)}},50701:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2022/04/20/dup-footnote","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-04-20-dup-footnote.mdx","source":"@site/_dogfooding/_blog tests/2022-04-20-dup-footnote.mdx","title":"First post with footnote to test posts with same footnote reference.","description":"foo","date":"2022-04-20T00:00:00.000Z","tags":[],"readingTime":1.8,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"First post with footnote to test posts with same footnote reference."},"unlisted":false,"prevItem":{"title":"A post with html slug","permalink":"/tests/blog/x/y/z.html"},"nextItem":{"title":"Second post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/22/dup-footnote"}}')}}]); \ No newline at end of file diff --git a/assets/js/017f8056.7336cefa.js b/assets/js/017f8056.7336cefa.js new file mode 100644 index 0000000000..1ec9dfdc16 --- /dev/null +++ b/assets/js/017f8056.7336cefa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["7500"],{4685:function(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>r});var o=t(54567),a=t(85893),i=t(80980);let s={mdx:{format:"md"},date:"2019-07-14T19:00"},l="2.0.0-alpha.20",c={authorsImageUrls:[]},r=[];function d(e){let n={code:"code",li:"li",ul:"ul",...(0,i.a)(),...e.components};return(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Add copy codeblock button"}),"\n",(0,a.jsx)(n.li,{children:"Add Google analytics and Google gtag plugins."}),"\n",(0,a.jsxs)(n.li,{children:["Move source components to ",(0,a.jsx)(n.code,{children:"/src"}),". Please create a ",(0,a.jsx)(n.code,{children:"website/src"})," directory and move your ",(0,a.jsx)(n.code,{children:"/pages"})," and ",(0,a.jsx)(n.code,{children:"/theme"})," code into it. This is to make it easier to integrate your website with external build/static analysis tooling (you can now just pass in ",(0,a.jsx)(n.code,{children:"src/**/*.js"})," as the path to process)."]}),"\n",(0,a.jsx)(n.li,{children:"Adde more documentation thanks to @wgao19."}),"\n",(0,a.jsx)(n.li,{children:"Deprecate the current docs plugin. The docs plugin as of 2.0.0-alpha.19 is heavily based on V1 specifications and we intend to create a better one that fixes some of the inconsistencies in V1. If you have swizzled any doc components, you will have to update their names. You are highly encourages to not swizzle the legacy doc components until we have completed the new docs plugin."}),"\n",(0,a.jsx)(n.li,{children:"Separate v2 init command to new package @docusaurus/init"}),"\n",(0,a.jsx)(n.li,{children:"Render 404.html page"}),"\n",(0,a.jsx)(n.li,{children:"Improve SEO"}),"\n",(0,a.jsx)(n.li,{children:"Clicking on the logo in the mobile sliding navigation will now bring you to the homepage."}),"\n",(0,a.jsxs)(n.li,{children:["Performance\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Disable webpack output pathinfo. Webpack has the ability to generate path info in the output bundle. However, this puts garbage collection pressure on projects that bundle thousands of modules. Not very useful for our case"}),"\n",(0,a.jsx)(n.li,{children:"Drop cache-loader in CI and test environment because it has an initial overhead. We always start from scratch in vm instance like CI so cache-loader is useless"}),"\n",(0,a.jsx)(n.li,{children:"Better splitchunks and babel default webpack config"}),"\n"]}),"\n"]}),"\n"]})}function h(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},80980:function(e,n,t){t.d(n,{Z:()=>l,a:()=>s});var o=t(67294);let a={},i=o.createContext(a);function s(e){let n=o.useContext(i);return o.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(i.Provider,{value:n},e.children)}},54567:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.20","source":"@site/changelog/source/2.0.0-alpha.20.md","title":"2.0.0-alpha.20","description":"- Add copy codeblock button","date":"2019-07-14T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-07-14T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.21","permalink":"/changelog/2.0.0-alpha.21"},"nextItem":{"title":"2.0.0-alpha.19","permalink":"/changelog/2.0.0-alpha.19"},"listPageLink":"/changelog/page/6"}')}}]); \ No newline at end of file diff --git a/assets/js/018e63c4.f6b78297.js b/assets/js/018e63c4.f6b78297.js new file mode 100644 index 0000000000..1011da42d2 --- /dev/null +++ b/assets/js/018e63c4.f6b78297.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["91608"],{50362:function(e){e.exports=JSON.parse('{"metadata":{"permalink":"/changelog/page/6","page":6,"postsPerPage":20,"totalPages":6,"totalCount":105,"previousPage":"/changelog/page/5","blogDescription":"Keep yourself up-to-date about new features in every release","blogTitle":"Docusaurus changelog"}}')}}]); \ No newline at end of file diff --git a/assets/js/01a85c17.1c9ad8ec.js b/assets/js/01a85c17.1c9ad8ec.js new file mode 100644 index 0000000000..90da9fcbf5 --- /dev/null +++ b/assets/js/01a85c17.1c9ad8ec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["40565"],{5666:function(e,t,a){a.d(t,{CS:()=>f,iZ:()=>b,ci:()=>Z,Ne:()=>_,cH:()=>k,nO:()=>u,wj:()=>s,n4:()=>c});var n=a(85893),l=a(67294),r=a(50923),i=a(3564);function s(){let e=(0,i.Z)(),t=e?.data?.blogMetadata;if(!t)throw Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}let o=l.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:r=!1}=e,i=function(e){let{content:t,isBlogPostPage:a}=e;return(0,l.useMemo)(()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a}),[t,a])}({content:a,isBlogPostPage:r});return(0,n.jsx)(o.Provider,{value:i,children:t})}function u(){let e=(0,l.useContext)(o);if(null===e)throw new r.i6("BlogPostProvider");return e}var m=a(83631),d=a(8156);let g=e=>new Date(e).toISOString();function h(e){let t=e.map(j);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:function(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function f(e){let{siteConfig:t}=(0,d.Z)(),{withBaseUrl:a}=(0,m.Cg)(),{metadata:{blogDescription:n,blogTitle:l,permalink:r}}=e,i=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":i,mainEntityOfPage:i,headline:l,description:n,blogPost:e.items.map(e=>(function(e,t,a){let{assets:n,frontMatter:l,metadata:r}=e,{date:i,title:s,description:o,lastUpdatedAt:c}=r,u=n.image??l.image,m=l.keywords??[],d=`${t.url}${r.permalink}`,f=c?g(c):void 0;return{"@type":"BlogPosting","@id":d,mainEntityOfPage:d,url:d,headline:s,name:s,description:o,datePublished:i,...f?{dateModified:f}:{},...h(r.authors),...p(u,a,s),...m?{keywords:m}:{}}})(e.content,t,a))}}function b(){let e=s(),{assets:t,metadata:a}=u(),{siteConfig:n}=(0,d.Z)(),{withBaseUrl:l}=(0,m.Cg)(),{date:r,title:i,description:o,frontMatter:c,lastUpdatedAt:f}=a,b=t.image??c.image,j=c.keywords??[],x=f?g(f):void 0,v=`${n.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":v,mainEntityOfPage:v,url:v,headline:i,name:i,description:o,datePublished:r,...x?{dateModified:x}:{},...h(a.authors),...p(b,l,i),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${n.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}var x=a(3620),v=a(35363),N=a(32263),C=a(71208);function k(e){let{pathname:t}=(0,x.TH)();return(0,l.useMemo)(()=>e.filter(e=>!e.unlisted||!!(0,C.Mg)(e.permalink,t)),[e,t])}function Z(e){let t=Object.entries((0,N.vM)(e,e=>`${new Date(e.date).getFullYear()}`));return t.reverse(),t}function _(e){let{items:t,ulClassName:a,liClassName:l,linkClassName:r,linkActiveClassName:i}=e;return(0,n.jsx)("ul",{className:a,children:t.map(e=>(0,n.jsx)("li",{className:l,children:(0,n.jsx)(v.Z,{isNavLink:!0,to:e.permalink,className:r,activeClassName:i,children:e.title})},e.permalink))})}},9942:function(e,t,a){a.d(t,{Z:()=>N});var n=a(85893),l=a(67294),r=a(90496),i=a(88408),s=a(28115),o=a(77827),c=a(5666),u=a(26378),m=a(57922);function d(e){let{year:t,yearGroupHeadingClassName:a,children:l}=e;return(0,n.jsxs)("div",{role:"group",children:[(0,n.jsx)(m.Z,{as:"h3",className:a,children:t}),l]})}let g=(0,l.memo)(function(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:l}=e;if(!(0,u.L)().blog.sidebar.groupByYear)return(0,n.jsx)(l,{items:t});{let e=(0,c.ci)(t);return(0,n.jsx)(n.Fragment,{children:e.map(e=>{let[t,r]=e;return(0,n.jsx)(d,{year:t,yearGroupHeadingClassName:a,children:(0,n.jsx)(l,{items:r})},t)})})}}),h=e=>{let{items:t}=e;return(0,n.jsx)(c.Ne,{items:t,ulClassName:(0,r.Z)("sidebarItemList_OSkG","clean-list"),liClassName:"sidebarItem_WJ0y",linkClassName:"sidebarItemLink_Qrfg",linkActiveClassName:"sidebarItemLinkActive_nUeK"})},p=(0,l.memo)(function(e){let{sidebar:t}=e,a=(0,c.cH)(t.items);return(0,n.jsx)("aside",{className:"col col--3",children:(0,n.jsxs)("nav",{className:(0,r.Z)("sidebar_P3nc","thin-scrollbar"),"aria-label":(0,o.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,n.jsx)("div",{className:(0,r.Z)("sidebarItemTitle_VrjY","margin-bottom--md"),children:t.title}),(0,n.jsx)(g,{items:a,ListComponent:h,yearGroupHeadingClassName:"yearGroupHeading_lECJ"})]})})});var f=a(44160);let b=e=>{let{items:t}=e;return(0,n.jsx)(c.Ne,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function j(e){let{sidebar:t}=e,a=(0,c.cH)(t.items);return(0,n.jsx)(g,{items:a,ListComponent:b,yearGroupHeadingClassName:"yearGroupHeading_Ruz9"})}let x=(0,l.memo)(function(e){return(0,n.jsx)(f.Zo,{component:j,props:e})});function v(e){let{sidebar:t}=e,a=(0,s.i)();return t?.items.length?"mobile"===a?(0,n.jsx)(x,{sidebar:t}):(0,n.jsx)(p,{sidebar:t}):null}function N(e){let{sidebar:t,toc:a,children:l,...s}=e,o=t&&t.items.length>0;return(0,n.jsx)(i.Z,{...s,children:(0,n.jsx)("div",{className:"container margin-vert--lg",children:(0,n.jsxs)("div",{className:"row",children:[(0,n.jsx)(v,{sidebar:t}),(0,n.jsx)("main",{className:(0,r.Z)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:l}),a&&(0,n.jsx)("div",{className:"col col--2",children:a})]})})})}},91981:function(e,t,a){a.r(t),a.d(t,{default:()=>d});var n=a(85893);a(67294);var l=a(90496),r=a(88715),i=a(57335),s=a(55951),o=a(9942),c=a(69086),u=a(69879),m=a(57922);function d(e){let{tags:t,sidebar:a}=e,d=(0,r.M)();return(0,n.jsxs)(i.FG,{className:(0,l.Z)(s.k.wrapper.blogPages,s.k.page.blogTagsListPage),children:[(0,n.jsx)(i.d,{title:d}),(0,n.jsx)(u.Z,{tag:"blog_tags_list"}),(0,n.jsxs)(o.Z,{sidebar:a,children:[(0,n.jsx)(m.Z,{as:"h1",children:d}),(0,n.jsx)(c.Z,{tags:t})]})]})}},63479:function(e,t,a){a.d(t,{Z:()=>s});var n=a(85893);a(67294);var l=a(90496),r=a(35363);let i={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};function s(e){let{permalink:t,label:a,count:s,description:o}=e;return(0,n.jsxs)(r.Z,{href:t,title:o,className:(0,l.Z)(i.tag,s?i.tagWithCount:i.tagRegular),children:[a,s&&(0,n.jsx)("span",{children:s})]})}},69086:function(e,t,a){a.d(t,{Z:()=>o});var n=a(85893);a(67294);var l=a(88715),r=a(63479),i=a(57922);function s(e){let{letterEntry:t}=e;return(0,n.jsxs)("article",{children:[(0,n.jsx)(i.Z,{as:"h2",id:t.letter,children:t.letter}),(0,n.jsx)("ul",{className:"padding--none",children:t.tags.map(e=>(0,n.jsx)("li",{className:"tag_SyQ5",children:(0,n.jsx)(r.Z,{...e})},e.permalink))}),(0,n.jsx)("hr",{})]})}function o(e){let{tags:t}=e,a=(0,l.P)(t);return(0,n.jsx)("section",{className:"margin-vert--lg",children:a.map(e=>(0,n.jsx)(s,{letterEntry:e},e.letter))})}},88715:function(e,t,a){a.d(t,{M:()=>l,P:()=>r});var n=a(77827);let l=()=>(0,n.I)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});function r(e){let t={};return Object.values(e).forEach(e=>{let a=e.label[0].toUpperCase();t[a]??=[],t[a].push(e)}),Object.entries(t).sort((e,t)=>{let[a]=e,[n]=t;return a.localeCompare(n)}).map(e=>{let[t,a]=e;return{letter:t,tags:a.sort((e,t)=>e.label.localeCompare(t.label))}})}}}]); \ No newline at end of file diff --git a/assets/js/01a85c17.5dbffa2a.js b/assets/js/01a85c17.5dbffa2a.js deleted file mode 100644 index 7a0760d185..0000000000 --- a/assets/js/01a85c17.5dbffa2a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[8209],{1831:(e,t,a)=>{a.d(t,{in:()=>c,OU:()=>_,Ki:()=>y,kJ:()=>b,x:()=>l,e7:()=>m,J_:()=>f,Gx:()=>A});var s=a(6540),n=a(9129),i=a(9060),r=a(4848);function l(){const e=(0,i.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=s.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:n=!1}=e;const i=function(e){let{content:t,isBlogPostPage:a}=e;return(0,s.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:n});return(0,r.jsx)(o.Provider,{value:i,children:t})}function m(){const e=(0,s.useContext)(o);if(null===e)throw new n.dV("BlogPostProvider");return e}var d=a(5e3),u=a(1571);const g=e=>new Date(e).toISOString();function h(e){const t=e.map(x);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:j({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function b(e){const{siteConfig:t}=(0,u.A)(),{withBaseUrl:a}=(0,d.hH)(),{metadata:{blogDescription:s,blogTitle:n,permalink:i}}=e,r=`${t.url}${i}`;return{"@context":"https://schema.org","@type":"Blog","@id":r,mainEntityOfPage:r,headline:n,description:s,blogPost:e.items.map((e=>function(e,t,a){const{assets:s,frontMatter:n,metadata:i}=e,{date:r,title:l,description:o,lastUpdatedAt:c}=i,m=s.image??n.image,d=n.keywords??[],u=`${t.url}${i.permalink}`,b=c?g(c):void 0;return{"@type":"BlogPosting","@id":u,mainEntityOfPage:u,url:u,headline:l,name:l,description:o,datePublished:r,...b?{dateModified:b}:{},...h(i.authors),...p(m,a,l),...d?{keywords:d}:{}}}(e.content,t,a)))}}function f(){const e=l(),{assets:t,metadata:a}=m(),{siteConfig:s}=(0,u.A)(),{withBaseUrl:n}=(0,d.hH)(),{date:i,title:r,description:o,frontMatter:c,lastUpdatedAt:b}=a,f=t.image??c.image,x=c.keywords??[],j=b?g(b):void 0,N=`${s.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":N,mainEntityOfPage:N,url:N,headline:r,name:r,description:o,datePublished:i,...j?{dateModified:j}:{},...h(a.authors),...p(f,n,r),...x?{keywords:x}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function x(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function j(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var N=a(9519),v=a(5739),C=a(29),k=a(5438);function A(e){const{pathname:t}=(0,N.zy)();return(0,s.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.ys)(e.permalink,t))}(e,t)))),[e,t])}function y(e){const t=(0,C.$z)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function _(e){let{items:t,ulClassName:a,liClassName:s,linkClassName:n,linkActiveClassName:i}=e;return(0,r.jsx)("ul",{className:a,children:t.map((e=>(0,r.jsx)("li",{className:s,children:(0,r.jsx)(v.A,{isNavLink:!0,to:e.permalink,className:n,activeClassName:i,children:e.title})},e.permalink)))})}},8079:(e,t,a)=>{a.d(t,{A:()=>O});var s=a(6540),n=a(1750),i=a(7374),r=a(242),l=a(4709),o=a(1831),c=a(6963),m=a(2409),d=a(4848);function u(e){let{year:t,yearGroupHeadingClassName:a,children:s}=e;return(0,d.jsxs)("div",{role:"group",children:[(0,d.jsx)(m.A,{as:"h3",className:a,children:t}),s]})}function g(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:s}=e;if((0,c.p)().blog.sidebar.groupByYear){const e=(0,o.Ki)(t);return(0,d.jsx)(d.Fragment,{children:e.map((e=>{let[t,n]=e;return(0,d.jsx)(u,{year:t,yearGroupHeadingClassName:a,children:(0,d.jsx)(s,{items:n})},t)}))})}return(0,d.jsx)(s,{items:t})}const h=(0,s.memo)(g),p="sidebar_P3nc",b="sidebarItemTitle_VrjY",f="sidebarItemList_OSkG",x="sidebarItem_WJ0y",j="sidebarItemLink_Qrfg",N="sidebarItemLinkActive_nUeK",v="yearGroupHeading_lECJ",C=e=>{let{items:t}=e;return(0,d.jsx)(o.OU,{items:t,ulClassName:(0,n.A)(f,"clean-list"),liClassName:x,linkClassName:j,linkActiveClassName:N})};function k(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,d.jsx)("aside",{className:"col col--3",children:(0,d.jsxs)("nav",{className:(0,n.A)(p,"thin-scrollbar"),"aria-label":(0,l.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,d.jsx)("div",{className:(0,n.A)(b,"margin-bottom--md"),children:t.title}),(0,d.jsx)(h,{items:a,ListComponent:C,yearGroupHeadingClassName:v})]})})}const A=(0,s.memo)(k);var y=a(5105);const _="yearGroupHeading_Ruz9",P=e=>{let{items:t}=e;return(0,d.jsx)(o.OU,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function w(e){let{sidebar:t}=e;const a=(0,o.Gx)(t.items);return(0,d.jsx)(h,{items:a,ListComponent:P,yearGroupHeadingClassName:_})}function B(e){return(0,d.jsx)(y.GX,{component:w,props:e})}const G=(0,s.memo)(B);function U(e){let{sidebar:t}=e;const a=(0,r.l)();return t?.items.length?"mobile"===a?(0,d.jsx)(G,{sidebar:t}):(0,d.jsx)(A,{sidebar:t}):null}function O(e){const{sidebar:t,toc:a,children:s,...r}=e,l=t&&t.items.length>0;return(0,d.jsx)(i.A,{...r,children:(0,d.jsx)("div",{className:"container margin-vert--lg",children:(0,d.jsxs)("div",{className:"row",children:[(0,d.jsx)(U,{sidebar:t}),(0,d.jsx)("main",{className:(0,n.A)("col",{"col--7":l,"col--9 col--offset-1":!l}),children:s}),a&&(0,d.jsx)("div",{className:"col col--2",children:a})]})})})}},1728:(e,t,a)=>{a.r(t),a.d(t,{default:()=>b});a(6540);var s=a(1750),n=a(4709);const i=()=>(0,n.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var r=a(5861),l=a(8532),o=a(8079),c=a(5475),m=a(2409);const d={tag:"tag_SyQ5"};var u=a(4848);function g(e){let{letterEntry:t}=e;return(0,u.jsxs)("article",{children:[(0,u.jsx)(m.A,{as:"h2",id:t.letter,children:t.letter}),(0,u.jsx)("ul",{className:"padding--none",children:t.tags.map((e=>(0,u.jsx)("li",{className:d.tag,children:(0,u.jsx)(c.A,{...e})},e.permalink)))}),(0,u.jsx)("hr",{})]})}function h(e){let{tags:t}=e;const a=function(e){const t={};return Object.values(e).forEach((e=>{const a=function(e){return e[0].toUpperCase()}(e.label);t[a]??=[],t[a].push(e)})),Object.entries(t).sort(((e,t)=>{let[a]=e,[s]=t;return a.localeCompare(s)})).map((e=>{let[t,a]=e;return{letter:t,tags:a.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}(t);return(0,u.jsx)("section",{className:"margin-vert--lg",children:a.map((e=>(0,u.jsx)(g,{letterEntry:e},e.letter)))})}var p=a(3308);function b(e){let{tags:t,sidebar:a}=e;const n=i();return(0,u.jsxs)(r.e3,{className:(0,s.A)(l.G.wrapper.blogPages,l.G.page.blogTagsListPage),children:[(0,u.jsx)(r.be,{title:n}),(0,u.jsx)(p.A,{tag:"blog_tags_list"}),(0,u.jsxs)(o.A,{sidebar:a,children:[(0,u.jsx)(m.A,{as:"h1",children:n}),(0,u.jsx)(h,{tags:t})]})]})}},5475:(e,t,a)=>{a.d(t,{A:()=>l});a(6540);var s=a(1750),n=a(5739);const i={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};var r=a(4848);function l(e){let{permalink:t,label:a,count:l,description:o}=e;return(0,r.jsxs)(n.A,{href:t,title:o,className:(0,s.A)(i.tag,l?i.tagWithCount:i.tagRegular),children:[a,l&&(0,r.jsx)("span",{children:l})]})}}}]); \ No newline at end of file diff --git a/assets/js/028951d7.1e19929e.js b/assets/js/028951d7.1e19929e.js new file mode 100644 index 0000000000..76e42c5630 --- /dev/null +++ b/assets/js/028951d7.1e19929e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["23008"],{23491:function(e,s,t){t.d(s,{Z:()=>n});let n=t.p+"assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png"},99203:function(e,s,t){t.d(s,{Z:()=>n});let n=t.p+"assets/images/broken-anchor-4191e5dd94aef9e8c5e3524880670f0f.jpg"},34873:function(e,s,t){t.d(s,{Z:()=>n});let n=t.p+"assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png"},93e3:function(e,s,t){t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>n,toc:()=>l});var n=t(70694),r=t(85893),o=t(80980);t(14522),t(51118),t(39468);let a={title:"Docusaurus 3.1",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-01-05T00:00:00.000Z")},i=void 0,c={image:t(23491).Z,authorsImageUrls:[void 0]},l=[{value:"Highlights",id:"highlights",level:2},{value:"Broken anchors checker",id:"broken-anchors-checker",level:3},{value:"<code>parseFrontMatter</code> hook",id:"parsefrontmatter-hook",level:3},{value:"Other changes",id:"other-changes",level:2}];function d(e){let s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s.p,{children:["We are happy to announce ",(0,r.jsx)(s.strong,{children:"Docusaurus 3.1"}),"."]}),"\n",(0,r.jsxs)(s.p,{children:["The upgrade should be easy: as explained in our ",(0,r.jsx)(s.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,r.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.img,{alt:"Docusaurus blog post social card",src:t(34873).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,r.jsx)(s.h2,{id:"highlights",children:"Highlights"}),"\n",(0,r.jsx)(s.h3,{id:"broken-anchors-checker",children:"Broken anchors checker"}),"\n",(0,r.jsxs)(s.p,{children:["In ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9528",children:"#9528"}),", we improved the built-in broken links checker to also detect broken anchors."]}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.img,{alt:"Docusaurus blog post social card",src:t(99203).Z+"",width:"1920",height:"896"})}),"\n",(0,r.jsxs)(s.admonition,{title:"Make it fail fast",type:"tip",children:[(0,r.jsxs)(s.p,{children:["The new ",(0,r.jsx)(s.a,{href:"/docs/api/docusaurus-config#onBrokenAnchors",children:(0,r.jsx)(s.code,{children:"onBrokenAnchors"})})," option has value ",(0,r.jsx)(s.code,{children:"warn"})," by default, for retro-compatibility reasons."]}),(0,r.jsxs)(s.p,{children:["We recommend to turn it to ",(0,r.jsx)(s.code,{children:"throw"})," and fail your CI builds instead of deploying broken anchors to productions."]})]}),"\n",(0,r.jsxs)(s.admonition,{type:"note",children:[(0,r.jsxs)(s.p,{children:["For users and plugin authors implementing custom ",(0,r.jsx)(s.code,{children:"<Heading>"})," and ",(0,r.jsx)(s.code,{children:"<Link>"})," components, we provide a new ",(0,r.jsx)(s.a,{href:"/docs/docusaurus-core#useBrokenLinks",children:(0,r.jsx)(s.code,{children:"useBrokenLinks"})})," React hook API."]}),(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"Most Docusaurus users don't need to care about it"}),", built-in components (",(0,r.jsx)(s.code,{children:"docusaurus/Link"})," and ",(0,r.jsx)(s.code,{children:"@theme/Heading"}),") already use it internally."]})]}),"\n",(0,r.jsxs)(s.h3,{id:"parsefrontmatter-hook",children:[(0,r.jsx)(s.code,{children:"parseFrontMatter"})," hook"]}),"\n",(0,r.jsxs)(s.p,{children:["In ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9624",children:"#9624"}),", we added a new ",(0,r.jsxs)(s.a,{href:"/docs/api/docusaurus-config#markdown",children:[(0,r.jsx)(s.code,{children:"siteConfig.markdown.parseFrontMatter"})," function hook"]}),"."]}),"\n",(0,r.jsx)(s.p,{children:"This makes it possible to implement convenient front matter transformations, shortcuts, or to integrate with external systems using front matter that Docusaurus plugins do not support."}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n markdown: {\n // highlight-start\n parseFrontMatter: async (params) => {\n // Reuse the default parser\n const result = await params.defaultParseFrontMatter(params);\n\n // Process front matter description placeholders\n result.frontMatter.description =\n result.frontMatter.description?.replaceAll('{{MY_VAR}}', 'MY_VALUE');\n\n // Create your own front matter shortcut\n if (result.frontMatter.i_do_not_want_docs_pagination) {\n result.frontMatter.pagination_prev = null;\n result.frontMatter.pagination_next = null;\n }\n\n // Rename an unsupported front matter coming from another system\n if (result.frontMatter.cms_seo_summary) {\n result.frontMatter.description = result.frontMatter.cms_seo_summary;\n delete result.frontMatter.cms_seo_summary;\n }\n\n return result;\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,r.jsxs)(s.p,{children:["Read the ",(0,r.jsx)(s.a,{href:"/docs/markdown-features#front-matter",children:"front matter guide"})," and the ",(0,r.jsxs)(s.a,{href:"/docs/api/docusaurus-config#markdown",children:[(0,r.jsx)(s.code,{children:"parseFrontMatter"})," API ref"]})," for details."]}),"\n",(0,r.jsx)(s.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,r.jsx)(s.p,{children:"Other notable changes include:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9674",children:"#9674"}),": add ",(0,r.jsx)(s.code,{children:"siteConfig.markdown.remarkRehypeOptions"})," to pass options to ",(0,r.jsx)(s.code,{children:"remark-rehype"}),", letting you customize things such as MDX footnote label"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9671",children:"#9671"}),": add code block MagicComments support for (Visual) Basic/Batch/Fortran/COBOL/ML"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9610",children:"#9610"}),": enable CLI port configuration via ",(0,r.jsx)(s.code,{children:"PORT"})," environment variable"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9477",children:"#9477"}),": complete Brazilian Portuguese (pt-BR) translations"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Check the ",(0,r.jsx)(s.strong,{children:(0,r.jsx)(s.a,{href:"/changelog/3.1.0",children:"3.1.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function u(e={}){let{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},51118:function(e,s,t){t.d(s,{Z:()=>o});var n=t(85893);t(67294);var r=t(14522);function o(e){let{url:s}=e;return(0,n.jsx)("div",{style:{padding:10},children:(0,n.jsx)(r.Z,{url:s,style:{minWidth:"min(100%,45vw)",width:800,maxWidth:"100%",overflow:"hidden"},bodyStyle:{padding:0},children:(0,n.jsx)("iframe",{src:s,title:s,style:{display:"block",width:"100%",height:300}})})})}},14522:function(e,s,t){t.d(s,{Z:()=>i});var n=t(85893);t(67294);var r=t(90496);let o="dot_giz1",a="bar_rrRL";function i(e){let{children:s,minHeight:t,url:i="http://localhost:3000",style:c,bodyStyle:l}=e;return(0,n.jsxs)("div",{className:"browserWindow_my1Q",style:{...c,minHeight:t},children:[(0,n.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,n.jsxs)("div",{className:"buttons_uHc7",children:[(0,n.jsx)("span",{className:o,style:{background:"#f25f58"}}),(0,n.jsx)("span",{className:o,style:{background:"#fbbe3c"}}),(0,n.jsx)("span",{className:o,style:{background:"#58cb42"}})]}),(0,n.jsx)("div",{className:(0,r.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:i}),(0,n.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:a}),(0,n.jsx)("span",{className:a}),(0,n.jsx)("span",{className:a})]})})]}),(0,n.jsx)("div",{className:"browserWindowBody_Idgs",style:l,children:s})]})}},39468:function(e,s,t){t.d(s,{Z:()=>o});var n=t(85893),r=t(67294);function o(e){let{children:s="Boom!",message:t="Boom!\nSomething bad happened, but you can try again!",cause:o}=e,[a,i]=(0,r.useState)(!1);if(a)throw Error(t,{cause:o?Error(o):void 0});return(0,n.jsx)("button",{className:"button button--danger",type:"button",onClick:()=>i(!0),children:s})}},80980:function(e,s,t){t.d(s,{Z:()=>i,a:()=>a});var n=t(67294);let r={},o=n.createContext(r);function a(e){let s=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:s},e.children)}},70694:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.1","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.1/index.mdx","source":"@site/blog/releases/3.1/index.mdx","title":"Docusaurus 3.1","description":"We are happy to announce Docusaurus 3.1.","date":"2024-01-05T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":1.665,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.1","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-01-05T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.2","permalink":"/blog/releases/3.2"},"nextItem":{"title":"Announcing Docusaurus 3.0","permalink":"/blog/releases/3.0"}}')}}]); \ No newline at end of file diff --git a/assets/js/02c96a3c.cd7b1949.js b/assets/js/02c96a3c.cd7b1949.js new file mode 100644 index 0000000000..e1092a1ccb --- /dev/null +++ b/assets/js/02c96a3c.cd7b1949.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["50777"],{87542:function(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>i});var r=n(25861),a=n(85893),o=n(80980);let s={mdx:{format:"md"},date:"2024-05-03T19:00"},c="3.3.1",l={authorsImageUrls:[]},i=[];function u(e){let t={p:"p",...(0,o.a)(),...e.components};return(0,a.jsx)(t.p,{children:"Failed release"})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>c,a:()=>s});var r=n(67294);let a={},o=r.createContext(a);function s(e){let t=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(o.Provider,{value:t},e.children)}},25861:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.3.1","source":"@site/changelog/source/3.3.1.md","title":"3.3.1","description":"Failed release","date":"2024-05-03T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2024-05-03T19:00"},"unlisted":false,"prevItem":{"title":"3.3.2","permalink":"/changelog/3.3.2"},"nextItem":{"title":"3.3.0","permalink":"/changelog/3.3.0"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/02e1f9a9.d3f3fddf.js b/assets/js/02e1f9a9.d3f3fddf.js new file mode 100644 index 0000000000..a13f7d913a --- /dev/null +++ b/assets/js/02e1f9a9.d3f3fddf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["49880"],{52057:function(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>i});var a=t(10695),r=t(85893),o=t(80980);let s={mdx:{format:"md"},date:"2019-10-21T20:00"},l="2.0.0-alpha.29",c={authorsImageUrls:[]},i=[];function p(e){let n={code:"code",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"HOTFIX for 2.0.0-alpha.28"}),"."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Fix missing ",(0,r.jsx)(n.code,{children:"core-js"})," dependencies on ",(0,r.jsx)(n.code,{children:"@docusaurus/core"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Fix wrong ",(0,r.jsx)(n.code,{children:"@babel/env"})," preset configuration that causes build compilation error."]}),"\n",(0,r.jsx)(n.li,{children:"New UI for webpack compilation progress bar."}),"\n"]})]})}function u(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},80980:function(e,n,t){t.d(n,{Z:()=>l,a:()=>s});var a=t(67294);let r={},o=a.createContext(r);function s(e){let n=a.useContext(o);return a.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),a.createElement(o.Provider,{value:n},e.children)}},10695:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.29","source":"@site/changelog/source/2.0.0-alpha.29.md","title":"2.0.0-alpha.29","description":"HOTFIX for 2.0.0-alpha.28.","date":"2019-10-21T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-21T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.30","permalink":"/changelog/2.0.0-alpha.30"},"nextItem":{"title":"2.0.0-alpha.28","permalink":"/changelog/2.0.0-alpha.28"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/0398899e.6532096b.js b/assets/js/0398899e.6532096b.js new file mode 100644 index 0000000000..095a6078bf --- /dev/null +++ b/assets/js/0398899e.6532096b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["47810"],{67931:function(e,s,o){o.r(s),o.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>a,frontMatter:()=>i,metadata:()=>n,toc:()=>h});var n=o(27759),r=o(85893),t=o(80980);let i={mdx:{format:"md"},date:"2024-05-31T20:00",authors:["Arsero","CodeDoctorDE","homotechsual","ilmedova","namnguyenthanhwork","ncoughlin","OzakIOne","PetarMc1","revi","slorber","tats-u"]},c="3.4.0",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},h=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83E\uDD16 Dependencies",id:"robot-dependencies",level:2},{value:"Committers: 11",id:"committers-11",level:2}];function u(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10137",children:"#10137"})," feat(docs, blog): add support for ",(0,r.jsx)(s.code,{children:"tags.yml"}),", predefined list of tags (",(0,r.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10151",children:"#10151"})," feat(theme-translations): Added Turkmen (tk) default theme translations (",(0,r.jsx)(s.a,{href:"https://github.com/ilmedova",children:"@ilmedova"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10111",children:"#10111"})," feat(theme-translations): Add Bulgarian default theme translations (bg) (",(0,r.jsx)(s.a,{href:"https://github.com/PetarMc1",children:"@PetarMc1"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9859",children:"#9859"})," feat(core): hash router option - browse site offline (experimental) (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10121",children:"#10121"})," feat(core): site storage config options (experimental) (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10185",children:"#10185"})," fix(docs, blog): Markdown link resolution does not support hot reload (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10178",children:"#10178"})," fix(theme): SearchPage should respect ",(0,r.jsx)(s.code,{children:"contextualSearch: false"})," setting (",(0,r.jsx)(s.a,{href:"https://github.com/ncoughlin",children:"@ncoughlin"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10164",children:"#10164"})," fix(search): fix algolia search container bug (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10168",children:"#10168"})," fix(mdx-loader): resolve Markdown/MDX links with Remark instead of RegExp (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10165",children:"#10165"})," fix(theme-translation): add missing Korean (ko) theme translations (",(0,r.jsx)(s.a,{href:"https://github.com/revi",children:"@revi"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10157",children:"#10157"})," fix(theme-translations): complete Vietnamese theme translations (",(0,r.jsx)(s.a,{href:"https://github.com/namnguyenthanhwork",children:"@namnguyenthanhwork"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10145",children:"#10145"})," fix(core): fix serve workaround regexp (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10142",children:"#10142"})," fix(core): fix ",(0,r.jsx)(s.code,{children:"docusaurus serve"})," broken for assets when using trailingSlash (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10130",children:"#10130"})," fix(core): the broken anchor checker should not be sensitive pathname trailing slashes (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10144",children:"#10144"})," fix(theme): fix announcement bar layout shift due to missing storage key namespace (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10132",children:"#10132"})," fix(core): ",(0,r.jsx)(s.code,{children:"configurePostCss()"})," should run after ",(0,r.jsx)(s.code,{children:"configureWebpack()"})," (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10131",children:"#10131"})," fix(core): codegen should generate unique route prop filenames (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10118",children:"#10118"})," fix(theme-translations): fix missing pluralization for label DocCard.categoryDescription.plurals (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10176",children:"#10176"})," docs: add community plugin docusaurus-graph (",(0,r.jsx)(s.a,{href:"https://github.com/Arsero",children:"@Arsero"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10173",children:"#10173"})," docs: improve how to use ",(0,r.jsx)(s.code,{children:"<details>"})," (",(0,r.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10167",children:"#10167"})," docs: suggest using ",(0,r.jsx)(s.code,{children:"{<...>...</...>}"})," if don't use Markdown in migra\u2026 (",(0,r.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10143",children:"#10143"})," docs: recommend users to remove hast-util-is-element in migration to v3 (",(0,r.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10124",children:"#10124"})," docs: v3 prepare your site blog post should point users to the upgrade guide (",(0,r.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"robot-dependencies",children:"\uD83E\uDD16 Dependencies"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10155",children:"#10155"})," chore(deps): bump peaceiris/actions-gh-pages from 3 to 4 (",(0,r.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10154",children:"#10154"})," chore(deps): bump github/codeql-action from 2.13.4 to 3.25.6 (",(0,r.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10112",children:"#10112"})," chore(deps): bump actions/dependency-review-action from 4.3.1 to 4.3.2 (",(0,r.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"committers-11",children:"Committers: 11"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Azzedine E. (",(0,r.jsx)(s.a,{href:"https://github.com/Arsero",children:"@Arsero"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["CodeDoctor (",(0,r.jsx)(s.a,{href:"https://github.com/CodeDoctorDE",children:"@CodeDoctorDE"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Mahri Ilmedova (",(0,r.jsx)(s.a,{href:"https://github.com/ilmedova",children:"@ilmedova"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Mikey O'Toole (",(0,r.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Nguy\u1EC5n Th\xe0nh Nam (",(0,r.jsx)(s.a,{href:"https://github.com/namnguyenthanhwork",children:"@namnguyenthanhwork"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Nick Coughlin (",(0,r.jsx)(s.a,{href:"https://github.com/ncoughlin",children:"@ncoughlin"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Petar_mc (",(0,r.jsx)(s.a,{href:"https://github.com/PetarMc1",children:"@PetarMc1"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Tatsunori Uchino (",(0,r.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Yongmin (",(0,r.jsx)(s.a,{href:"https://github.com/revi",children:"@revi"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["ozaki (",(0,r.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]})]})}function a(e={}){let{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,s,o){o.d(s,{Z:()=>c,a:()=>i});var n=o(67294);let r={},t=n.createContext(r);function i(e){let s=n.useContext(t);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(t.Provider,{value:s},e.children)}},27759:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.4.0","source":"@site/changelog/source/3.4.0.md","title":"3.4.0","description":"New Feature","date":"2024-05-31T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Azzedine E.","alias":"Arsero","url":"https://github.com/Arsero","imageURL":"https://github.com/Arsero.png","key":"Arsero","page":null},{"name":"CodeDoctor","alias":"CodeDoctorDE","url":"https://github.com/CodeDoctorDE","imageURL":"https://github.com/CodeDoctorDE.png","key":"CodeDoctorDE","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Mahri Ilmedova","alias":"ilmedova","url":"https://github.com/ilmedova","imageURL":"https://github.com/ilmedova.png","key":"ilmedova","page":null},{"name":"Nguy\u1EC5n Th\xe0nh Nam","alias":"namnguyenthanhwork","url":"https://github.com/namnguyenthanhwork","imageURL":"https://github.com/namnguyenthanhwork.png","key":"namnguyenthanhwork","page":null},{"name":"Nick Coughlin","alias":"ncoughlin","url":"https://github.com/ncoughlin","imageURL":"https://github.com/ncoughlin.png","key":"ncoughlin","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Petar_mc","alias":"PetarMc1","url":"https://github.com/PetarMc1","imageURL":"https://github.com/PetarMc1.png","key":"PetarMc1","page":null},{"name":"Yongmin Hong","alias":"revi","url":"https://github.com/revi","imageURL":"https://github.com/revi.png","key":"revi","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tatsunori Uchino","alias":"tats-u","url":"https://github.com/tats-u","imageURL":"https://github.com/tats-u.png","key":"tats-u","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-05-31T20:00","authors":["Arsero","CodeDoctorDE","homotechsual","ilmedova","namnguyenthanhwork","ncoughlin","OzakIOne","PetarMc1","revi","slorber","tats-u"]},"unlisted":false,"prevItem":{"title":"3.5.0","permalink":"/changelog/3.5.0"},"nextItem":{"title":"3.3.2","permalink":"/changelog/3.3.2"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/03a06760.6febc06f.js b/assets/js/03a06760.6febc06f.js new file mode 100644 index 0000000000..8f492b4bc6 --- /dev/null +++ b/assets/js/03a06760.6febc06f.js @@ -0,0 +1,22 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["37874"],{97199:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>u,default:()=>m,contentTitle:()=>d,assets:()=>h,toc:()=>p,metadata:()=>r});var r=JSON.parse('{"id":"api/plugins/plugin-google-analytics","title":"\uD83D\uDCE6 plugin-google-analytics","description":"The default Google Analytics plugin. It is a JavaScript library for measuring how users interact with your website in the production build. If you are using Google Analytics 4 you might need to consider using plugin-google-gtag instead.","source":"@site/docs/api/plugins/plugin-google-analytics.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-google-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-google-analytics","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-google-analytics.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":6,"frontMatter":{"sidebar_position":6,"slug":"/api/plugins/@docusaurus/plugin-google-analytics"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-debug","permalink":"/docs/api/plugins/@docusaurus/plugin-debug"},"next":{"title":"\uD83D\uDCE6 plugin-google-gtag","permalink":"/docs/api/plugins/@docusaurus/plugin-google-gtag"}}'),s=n(85893),l=n(80980),o=n(15398),a=n(58636),i=n(32240),c=n(66359);let u={sidebar_position:6,slug:"/api/plugins/@docusaurus/plugin-google-analytics"},d="\uD83D\uDCE6 plugin-google-analytics",h={},p=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Example configuration",id:"ex-config",level:3}];function g(e){let t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"-plugin-google-analytics",children:"\uD83D\uDCE6 plugin-google-analytics"})}),"\n","\n",(0,s.jsxs)(t.p,{children:["The default ",(0,s.jsx)(t.a,{href:"https://developers.google.com/analytics/devguides/collection/analyticsjs/",children:"Google Analytics"})," plugin. It is a JavaScript library for measuring how users interact with your website ",(0,s.jsx)(t.strong,{children:"in the production build"}),". If you are using Google Analytics 4 you might need to consider using ",(0,s.jsx)(t.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-gtag",children:"plugin-google-gtag"})," instead."]}),"\n",(0,s.jsxs)(t.admonition,{title:"Deprecated",type:"danger",children:[(0,s.jsxs)(t.p,{children:["This plugin is ",(0,s.jsx)(t.strong,{children:"deprecated"})," and became useless on July 1, 2023."]}),(0,s.jsxs)(t.p,{children:["Google is ",(0,s.jsx)(t.a,{href:"https://blog.google/products/marketingplatform/analytics/prepare-for-future-with-google-analytics-4/",children:"moving away from Universal Analytics"}),"."]}),(0,s.jsxs)(t.p,{children:["If you are still using this plugin with a ",(0,s.jsx)(t.code,{children:"UA-*"})," tracking id, you should create a Google Analytics 4 account as soon as possible, and use ",(0,s.jsx)(t.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-gtag",children:(0,s.jsx)(t.code,{children:"@docusaurus/plugin-google-gtag"})})," instead of this plugin. More details ",(0,s.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/7221",children:"here"}),"."]})]}),"\n",(0,s.jsx)(t.admonition,{title:"production only",type:"warning",children:(0,s.jsxs)(t.p,{children:["This plugin is always inactive in development and ",(0,s.jsx)(t.strong,{children:"only active in production"})," to avoid polluting the analytics statistics."]})}),"\n",(0,s.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,s.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,s.jsx)(a.Z,{value:"npm",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-google-analytics\n"})})}),(0,s.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-google-analytics\n"})})}),(0,s.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-google-analytics\n"})})})]}),"\n",(0,s.jsxs)(t.admonition,{type:"tip",children:[(0,s.jsxs)(t.p,{children:["If you use the preset ",(0,s.jsx)(t.code,{children:"@docusaurus/preset-classic"}),", you don't need to install this plugin as a dependency."]}),(0,s.jsxs)(t.p,{children:["You can configure this plugin through the ",(0,s.jsx)(t.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),"."]})]}),"\n",(0,s.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,s.jsx)(t.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(i.Z,{children:(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Default"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"trackingID"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Required"})}),(0,s.jsx)(t.td,{children:"The tracking ID of your analytics service."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"anonymizeIP"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"boolean"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"false"})}),(0,s.jsx)(t.td,{children:"Whether the IP should be anonymized when sending requests."})]})]})]})}),"\n",(0,s.jsx)(t.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,s.jsx)(t.p,{children:"You can configure this plugin through preset options or plugin options."}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"Most Docusaurus users configure this plugin through the preset options."})}),"\n","\n",(0,s.jsx)(c.Z,{pluginName:"@docusaurus/plugin-google-analytics",presetOptionName:"googleAnalytics",code:"{\n trackingID: 'UA-141789564-1',\n anonymizeIP: true,\n}"})]})}function m(e={}){let{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(g,{...e})}):g(e)}},58636:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(90496);function l(e){let{children:t,hidden:n,className:l}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,s.Z)("tabItem_pnkT",l),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>j});var r=n(85893),s=n(67294),l=n(90496),o=n(54947),a=n(3620),i=n(844),c=n(97486),u=n(32263),d=n(16971);function h(e){return s.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||s.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var g=n(71607);function m(e){let{className:t,block:n,selectedValue:s,selectValue:a,tabValues:i}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,o.o5)(),d=e=>{let t=e.currentTarget,n=i[c.indexOf(t)].value;n!==s&&(u(t),a(n))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{let n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1]}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":n},t),children:i.map(e=>{let{value:t,label:n,attributes:o}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>{c.push(e)},onKeyDown:h,onClick:d,...o,className:(0,l.Z)("tabs__item","tabItem_AQgk",o?.className,{"tabs__item--active":s===t}),children:n??t},t)})})}function f(e){let{lazy:t,children:n,selectedValue:o}=e,a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=a.find(e=>e.props.value===o);return e?(0,s.cloneElement)(e,{className:(0,l.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:a.map((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==o}))})}function b(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:r}=e,l=function(e){let{values:t,children:n}=e;return(0,s.useMemo)(()=>{let e=t??h(n).map(e=>{let{props:{value:t,label:n,attributes:r,default:s}}=e;return{value:t,label:n,attributes:r,default:s}});return!function(e){let t=(0,u.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[o,g]=(0,s.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!p({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:l})),[m,f]=function(e){let{queryString:t=!1,groupId:n}=e,r=(0,a.k6)(),l=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(l),(0,s.useCallback)(e=>{if(!l)return;let t=new URLSearchParams(r.location.search);t.set(l,e),r.replace({...r.location,search:t.toString()})},[l,r])]}({queryString:n,groupId:r}),[b,j]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[r,l]=(0,d.Nk)(n);return[r,(0,s.useCallback)(e=>{n&&l.set(e)},[n,l])]}({groupId:r}),x=(()=>{let e=m??b;return p({value:e,tabValues:l})?e:null})();return(0,i.Z)(()=>{x&&g(x)},[x]),{selectedValue:o,selectValue:(0,s.useCallback)(e=>{if(!p({value:e,tabValues:l}))throw Error(`Can't select invalid tab value=${e}`);g(e),f(e),j(e)},[f,j,l]),tabValues:l}}(e);return(0,r.jsxs)("div",{className:(0,l.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(m,{...t,...e}),(0,r.jsx)(f,{...t,...e})]})}function j(e){let t=(0,g.Z)();return(0,r.jsx)(b,{...e,children:h(e.children)},String(t))}},56497:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(71607);function l(e){let{children:t,fallback:n}=e;return(0,s.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}},32240:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893),s=n(67294),l=n(96700),o=n(3620);let a=s.forwardRef(function(e,t){let{name:n,children:a}=e,i=function(e){let t=e;for(;(0,s.isValidElement)(t);)[t]=s.Children.toArray(t.props.children);if("string"!=typeof t)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return t}(a),c=n?`${n}-${i}`:i,u=`#${c}`,d=(0,o.k6)();return(0,l.Z)().collectAnchor(c),(0,r.jsx)("tr",{id:c,tabIndex:0,ref:d.location.hash===u?t:void 0,onClick:e=>{let t="TD"===e.target.tagName.toUpperCase(),n=!!window.getSelection()?.toString();t&&!n&&d.push(u)},onKeyDown:e=>{"Enter"===e.key&&d.push(u)},children:a.props.children})});function i(e){let{children:t,name:n}=e;if("table"!==t.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[l,o]=s.Children.toArray(t.props.children),i=(0,s.useRef)(null);(0,s.useEffect)(()=>{i.current?.focus()},[i]);let c=s.Children.map(o.props.children,e=>(0,r.jsx)(a,{name:n,ref:i,children:e}));return(0,r.jsxs)("table",{className:"apiTable_e8hp",children:[l,(0,r.jsx)("tbody",{children:c})]})}},66359:function(e,t,n){n.d(t,{Z:()=>d});var r=n(85893);n(67294);var s=n(35363),l=n(90158),o=n(77827),a=n(15398),i=n(58636),c=n(95998);let u=void 0;function d(e){let{code:t,pluginName:n,presetOptionName:d}=e,h=(0,l.zu)(u).path;return(0,r.jsxs)(a.Z,{groupId:"api-config-ex",children:[(0,r.jsxs)(i.Z,{value:"preset",label:(0,o.I)({message:"Preset options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(o.Z,{id:"apiDocs.configTabs.presetOptions.description",values:{presetLink:(0,r.jsx)(s.Z,{to:`${h}/using-plugins#docusauruspreset-classic`,children:(0,r.jsx)(o.Z,{children:"preset options"})})},children:"If you use a preset, configure this plugin through the {presetLink}:"})}),(0,r.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + presets: [ + [ + '@docusaurus/preset-classic', + { + // highlight-start + ${d}: ${t.replace(/\n/g,"\n ")}, + // highlight-end + }, + ], + ], +};`})]}),(0,r.jsxs)(i.Z,{value:"plugin",label:(0,o.I)({message:"Plugin options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(o.Z,{children:"If you are using a standalone plugin, provide options directly to the plugin:"})}),(0,r.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + plugins: [ + [ + '${n}', + // highlight-start + ${t.replace(/\n/g,"\n ")}, + // highlight-end + ], + ], +};`})]})]})}},95998:function(e,t,n){n.d(t,{Z:()=>et});var r,s={};n.r(s),n.d(s,{ButtonExample:()=>I});var l=n(85893),o=n(67294),a=n(90496),i=n(71607),c=n(10075),u=n(77827),d=n(8156),h=n(56497),p=n(85108),g=n(45245),m=n(26378);function f(){let{prism:e}=(0,m.L)(),{colorMode:t}=(0,g.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var b=n(67490);function j(e){let{children:t}=e;return(0,l.jsx)("div",{className:(0,a.Z)("playgroundHeader_Tvsk"),children:t})}function x(){return(0,l.jsx)("div",{children:"Loading..."})}function y(){return(0,l.jsx)(h.Z,{fallback:(0,l.jsx)(x,{}),children:()=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(b.Z,{fallback:e=>(0,l.jsx)(p.Ac,{...e}),children:(0,l.jsx)(c.i5,{})}),(0,l.jsx)(c.IF,{})]})})}function v(){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(j,{children:(0,l.jsx)(u.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,l.jsx)("div",{className:"playgroundPreview_mApW",children:(0,l.jsx)(y,{})})]})}function k(){let e=(0,i.Z)();return(0,l.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function w(){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(j,{children:(0,l.jsx)(u.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,l.jsx)(k,{})]})}let N=e=>`${e};`;function B(e){let{children:t,transformCode:n,...r}=e,{siteConfig:{themeConfig:s}}=(0,d.Z)(),{liveCodeBlock:{playgroundPosition:o}}=s,a=f(),i=r.metastring?.includes("noInline")??!1;return(0,l.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,l.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:i,transformCode:n??N,theme:a,...r,children:"top"===o?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{}),(0,l.jsx)(w,{})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(w,{}),(0,l.jsx)(v,{})]})})})}function I(e){return(0,l.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let C={React:o,...o,...s};var Z=n(55951),E=n(6324),T=n.n(E);let L=/title=(?<quote>["'])(?<title>.*?)\1/,A=/\{(?<range>[\d,-]+)\}/,_={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},S={..._,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},$=Object.keys(_);function D(e,t){let n=e.map(e=>{let{start:n,end:r}=S[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function O(e){let{as:t,...n}=e,r=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,l=t[r];l&&"string"==typeof s&&(n[l]=s)}),n}(f());return(0,l.jsx)(t,{...n,style:r,className:(0,a.Z)(n.className,"codeBlockContainer_jDV4",Z.k.common.codeBlock)})}let M={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function R(e){let{children:t,className:n}=e;return(0,l.jsx)(O,{as:"pre",tabIndex:0,className:(0,a.Z)(M.codeBlockStandalone,"thin-scrollbar",n),children:(0,l.jsx)("code",{className:M.codeBlockLines,children:t})})}var W=n(50923);let P={attributes:!0,characterData:!0,childList:!0,subtree:!0};var V=n(7316);let q={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function z(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:s,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let i=s({line:t,className:(0,a.Z)(n,r&&q.codeLine)}),c=t.map((e,t)=>(0,l.jsx)("span",{...o({token:e})},t));return(0,l.jsxs)("span",{...i,children:[r?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:q.codeLineNumber}),(0,l.jsx)("span",{className:q.codeLineContent,children:c})]}):c,(0,l.jsx)("br",{})]})}var H=n(44771);function F(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function G(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let U={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function J(e){let{code:t,className:n}=e,[r,s]=(0,o.useState)(!1),i=(0,o.useRef)(void 0),c=(0,o.useCallback)(()=>{(0,H.Z)(t),s(!0),i.current=window.setTimeout(()=>{s(!1)},1e3)},[t]);return(0,o.useEffect)(()=>()=>window.clearTimeout(i.current),[]),(0,l.jsx)("button",{type:"button","aria-label":r?(0,u.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,u.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,u.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.Z)("clean-btn",n,U.copyButton,r&&U.copyButtonCopied),onClick:c,children:(0,l.jsxs)("span",{className:U.copyButtonIcons,"aria-hidden":"true",children:[(0,l.jsx)(F,{className:U.copyButtonIcon}),(0,l.jsx)(G,{className:U.copyButtonSuccessIcon})]})})}function Q(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let X={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function Y(e){let{className:t,onClick:n,isEnabled:r}=e,s=(0,u.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,l.jsx)("button",{type:"button",onClick:n,className:(0,a.Z)("clean-btn",t,r&&X.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,l.jsx)(Q,{className:X.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:r="",metastring:s,title:c,showLineNumbers:u,language:d}=e,{prism:{defaultLanguage:h,magicComments:p}}=(0,m.L)(),g=(t=d??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(r)??h,t?.toLowerCase()),b=f(),j=function(){let[e,t]=(0,o.useState)(!1),[n,r]=(0,o.useState)(!1),s=(0,o.useRef)(null),l=(0,o.useCallback)(()=>{let n=s.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[s,e]),a=(0,o.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=s.current;r(e>t||s.current.querySelector("code").hasAttribute("style"))},[s]);return!function(e,t){let[n,r]=(0,o.useState)(),s=(0,o.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,o.useEffect)(()=>{s()},[s]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:P,r=(0,W.zX)(t),s=(0,W.Ql)(n);(0,o.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,s),()=>t.disconnect()},[e,r,s])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),s())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(s,a),(0,o.useEffect)(()=>{a()},[e,a]),(0,o.useEffect)(()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)}),[a]),{codeBlockRef:s,isEnabled:e,isCodeScrollable:n,toggle:l}}(),x=(0,i.Z)(),y=(s?.match(L)?.groups.title??"")||c,{lineClassNames:v,code:k}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:l}=t;if(l&&A.test(l)){let e=l.match(A).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${l}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=s[0].className;return{lineClassNames:Object.fromEntries(T()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let o=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return D(["js","jsBlock"],t);case"jsx":case"tsx":return D(["js","jsBlock","jsx"],t);case"html":return D(["js","jsBlock","html"],t);case"python":case"py":case"bash":return D(["bash"],t);case"markdown":case"md":return D(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return D(["tex"],t);case"lua":case"haskell":return D(["lua"],t);case"sql":return D(["lua","jsBlock"],t);case"wasm":return D(["wasm"],t);case"vb":case"vba":case"visual-basic":return D(["vb","rem"],t);case"vbnet":return D(["vbnet","rem"],t);case"batch":return D(["rem"],t);case"basic":return D(["rem","f90"],t);case"fsharp":return D(["js","ml"],t);case"ocaml":case"sml":return D(["ml"],t);case"fortran":return D(["f90"],t);case"cobol":return D(["cobol"],t);default:return D($,t)}}(r,s),a=n.split("\n"),i=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<a.length;){let t=a[e].match(o);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?i[c[n]].range+=`${e},`:u[n]?i[u[n]].start=e:d[n]&&(i[d[n]].range+=`${i[d[n]].start}-${e-1},`),a.splice(e,1)}n=a.join("\n");let h={};return Object.entries(i).forEach(e=>{let[t,{range:n}]=e;T()(n).forEach(e=>{h[e]??=[],h[e].push(t)})}),{lineClassNames:h,code:n}}(n,{metastring:s,language:g,magicComments:p}),w=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:u,metastring:s});return(0,l.jsxs)(O,{as:"div",className:(0,a.Z)(r,g&&!r.includes(`language-${g}`)&&`language-${g}`),children:[y&&(0,l.jsx)("div",{className:M.codeBlockTitle,children:y}),(0,l.jsxs)("div",{className:M.codeBlockContent,children:[(0,l.jsx)(V.y$,{theme:b,code:k,language:g??"text",children:e=>{let{className:t,style:n,tokens:r,getLineProps:s,getTokenProps:o}=e;return(0,l.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,a.Z)(t,M.codeBlock,"thin-scrollbar"),style:n,children:(0,l.jsx)("code",{className:(0,a.Z)(M.codeBlockLines,void 0!==w&&M.codeBlockLinesWithNumbering),style:void 0===w?void 0:{counterReset:`line-count ${w-1}`},children:r.map((e,t)=>(0,l.jsx)(z,{line:e,getLineProps:s,getTokenProps:o,classNames:v[t],showLineNumbers:void 0!==w},t))})})}}),x?(0,l.jsxs)("div",{className:M.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,l.jsx)(Y,{className:M.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,l.jsx)(J,{className:M.codeButton,code:k})]}):null]})]})}let ee=(r=function(e){let{children:t,...n}=e,r=(0,i.Z)(),s=o.Children.toArray(t).some(e=>(0,o.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,l.jsx)("string"==typeof s?K:R,{...n,children:s},String(r))},function(e){return e.live?(0,l.jsx)(B,{scope:C,...e}):(0,l.jsx)(r,{...e})});function et(e){return(0,l.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/03e1b3c8.5d7f6895.js b/assets/js/03e1b3c8.5d7f6895.js new file mode 100644 index 0000000000..88f140ea00 --- /dev/null +++ b/assets/js/03e1b3c8.5d7f6895.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["89801"],{96604:function(t){t.exports=JSON.parse('{"tag":{"label":"Tribute","permalink":"/blog/tags/tribute","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/tribute","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/03f86864.6ab1beb1.js b/assets/js/03f86864.6ab1beb1.js new file mode 100644 index 0000000000..b976743838 --- /dev/null +++ b/assets/js/03f86864.6ab1beb1.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["99131"],{63029:function(e,n,i){i.r(n),i.d(n,{frontMatter:()=>l,default:()=>x,contentTitle:()=>c,assets:()=>h,toc:()=>o,metadata:()=>d});var d=JSON.parse('{"id":"api/themes/theme-configuration","title":"Theme configuration","description":"This configuration applies to all main themes.","source":"@site/docs/api/themes/theme-configuration.mdx","sourceDirName":"api/themes","slug":"/api/themes/configuration","permalink":"/docs/api/themes/configuration","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/theme-configuration.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":1,"frontMatter":{"sidebar_position":1,"sidebar_label":"Configuration","slug":"/api/themes/configuration","toc_max_heading_level":4},"sidebar":"api","previous":{"title":"Themes overview","permalink":"/docs/api/themes"},"next":{"title":"\uD83D\uDCE6 theme-classic","permalink":"/docs/api/themes/@docusaurus/theme-classic"}}'),s=i(85893),t=i(80980),r=i(32240);let l={sidebar_position:1,sidebar_label:"Configuration",slug:"/api/themes/configuration",toc_max_heading_level:4},c="Theme configuration",h={},o=[{value:"Common",id:"common",level:2},{value:"Color mode",id:"color-mode---dark-mode",level:3},{value:"Meta image",id:"meta-image",level:3},{value:"Metadata",id:"metadata",level:3},{value:"Announcement bar",id:"announcement-bar",level:3},{value:"Plugins",id:"plugins",level:2},{value:"Docs",id:"docs",level:3},{value:"Blog",id:"blog",level:3},{value:"Navbar",id:"navbar",level:2},{value:"Navbar logo",id:"navbar-logo",level:3},{value:"Navbar items",id:"navbar-items",level:3},{value:"Navbar link",id:"navbar-link",level:4},{value:"Navbar dropdown",id:"navbar-dropdown",level:4},{value:"Navbar doc link",id:"navbar-doc-link",level:4},{value:"Navbar linked to a sidebar",id:"navbar-doc-sidebar",level:4},{value:"Navbar docs version dropdown",id:"navbar-docs-version-dropdown",level:4},{value:"Navbar docs version",id:"navbar-docs-version",level:4},{value:"Navbar locale dropdown",id:"navbar-locale-dropdown",level:4},{value:"Navbar search",id:"navbar-search",level:4},{value:"Navbar with custom HTML",id:"navbar-with-custom-html",level:4},{value:"Auto-hide sticky navbar",id:"auto-hide-sticky-navbar",level:3},{value:"Navbar style",id:"navbar-style",level:3},{value:"CodeBlock",id:"codeblock",level:2},{value:"Theme",id:"theme",level:3},{value:"Default language",id:"default-language",level:3},{value:"Footer",id:"footer-1",level:2},{value:"Footer Links",id:"footer-links",level:3},{value:"Table of Contents",id:"table-of-contents",level:2},{value:"Hooks",id:"hooks",level:2},{value:"<code>useColorMode</code>",id:"use-color-mode",level:3},{value:"i18n",id:"i18n",level:2},{value:"Translation files location",id:"translation-files-location",level:3},{value:"Example file-system structure",id:"example-file-system-structure",level:3}];function a(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"theme-configuration",children:"Theme configuration"})}),"\n","\n",(0,s.jsxs)(n.p,{children:["This configuration applies to all ",(0,s.jsx)(n.a,{href:"/docs/api/themes",children:"main themes"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"common",children:"Common"}),"\n",(0,s.jsx)(n.h3,{id:"color-mode---dark-mode",children:"Color mode"}),"\n",(0,s.jsx)(n.p,{children:"The classic theme provides by default light and dark mode support, with a navbar switch for the user."}),"\n",(0,s.jsxs)(n.p,{children:["It is possible to customize the color mode support within the ",(0,s.jsx)(n.code,{children:"colorMode"})," object."]}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"defaultMode"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'light' | 'dark'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'light'"})}),(0,s.jsx)(n.td,{children:"The color mode when user first visits the site."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"disableSwitch"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Hides the switch in the navbar. Useful if you want to support a single color mode."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"respectPrefersColorScheme"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Whether to use the ",(0,s.jsx)(n.code,{children:"prefers-color-scheme"})," media-query, using user system preferences, instead of the hardcoded ",(0,s.jsx)(n.code,{children:"defaultMode"}),"."]})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n colorMode: {\n defaultMode: 'light',\n disableSwitch: false,\n respectPrefersColorScheme: false,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,s.jsxs)(n.admonition,{type:"warning",children:[(0,s.jsxs)(n.p,{children:["With ",(0,s.jsx)(n.code,{children:"respectPrefersColorScheme: true"}),", the ",(0,s.jsx)(n.code,{children:"defaultMode"})," is overridden by user system preferences."]}),(0,s.jsx)(n.p,{children:"If you only want to support one color mode, you likely want to ignore user system preferences."})]}),"\n",(0,s.jsx)(n.h3,{id:"meta-image",children:"Meta image"}),"\n",(0,s.jsxs)(n.p,{children:["You can configure a default image that will be used for your meta tag, in particular ",(0,s.jsx)(n.code,{children:"og:image"})," and ",(0,s.jsx)(n.code,{children:"twitter:image"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"image"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:'The meta image URL for the site. Relative to your site\'s "static" directory. Cannot be SVGs. Can be external URLs too.'})]})})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-next-line\n image: 'img/docusaurus.png',\n },\n};\n"})}),"\n",(0,s.jsx)(n.h3,{id:"metadata",children:"Metadata"}),"\n",(0,s.jsx)(n.p,{children:"You can configure additional HTML metadata (and override existing ones)."}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"metadata"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Metadata[]"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"[]"})}),(0,s.jsxs)(n.td,{children:["Any field will be directly passed to the ",(0,s.jsx)(n.code,{children:"<meta />"})," tag. Possible fields include ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"property"}),", ",(0,s.jsx)(n.code,{children:"content"}),", ",(0,s.jsx)(n.code,{children:"itemprop"}),", etc."]})]})})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-next-line\n metadata: [{name: 'twitter:card', content: 'summary'}],\n },\n};\n"})}),"\n",(0,s.jsx)(n.h3,{id:"announcement-bar",children:"Announcement bar"}),"\n",(0,s.jsxs)(n.p,{children:["Sometimes you want to announce something in your website. Just for such a case, you can add an announcement bar. This is a non-fixed and optionally dismissible panel above the navbar. All configuration are in the ",(0,s.jsx)(n.code,{children:"announcementBar"})," object."]}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"announcement-bar",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"id"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'announcement-bar'"})}),(0,s.jsx)(n.td,{children:"Any value that will identify this message."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"content"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"''"})}),(0,s.jsx)(n.td,{children:"The text content of the announcement. HTML will be interpolated."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"backgroundColor"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'#fff'"})}),(0,s.jsx)(n.td,{children:"Background color of the entire bar."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"textColor"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'#000'"})}),(0,s.jsx)(n.td,{children:"Announcement text color."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"isCloseable"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsx)(n.td,{children:"Whether this announcement can be dismissed with a '\xd7' button."})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n announcementBar: {\n id: 'support_us',\n content:\n 'We are looking to revamp our docs, please fill <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"#\">this survey</a>',\n backgroundColor: '#fafbfc',\n textColor: '#091E42',\n isCloseable: false,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,s.jsx)(n.h2,{id:"plugins",children:"Plugins"}),"\n",(0,s.jsxs)(n.p,{children:["Our ",(0,s.jsx)(n.a,{href:"/docs/api/themes",children:"main themes"})," offer additional theme configuration options for Docusaurus core content plugins."]}),"\n",(0,s.jsx)(n.h3,{id:"docs",children:"Docs"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-overview",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"versionPersistence"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'localStorage' | 'none'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:"Defines the browser persistence of the preferred docs version."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"sidebar.hideable"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Show a hide button at the bottom of the sidebar."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"sidebar.autoCollapseCategories"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Automatically collapse all sibling categories of the one you navigate to."})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n docs: {\n // highlight-start\n versionPersistence: 'localStorage',\n sidebar: {\n hideable: false,\n autoCollapseCategories: false,\n },\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h3,{id:"blog",children:"Blog"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-overview",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"sidebar.groupByYear"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"true"})}),(0,s.jsx)(n.td,{children:"Group sidebar blog posts by years."})]})})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n blog: {\n // highlight-start\n sidebar: {\n groupByYear: true,\n },\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h2,{id:"navbar",children:"Navbar"}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-overview",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"title"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:"Title for the navbar."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"logo"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"See below"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:"Customization of the logo object."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"items"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"NavbarItem[]"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"[]"})}),(0,s.jsx)(n.td,{children:"A list of navbar items. See specification below."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"hideOnScroll"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Whether the navbar is hidden when the user scrolls down."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"style"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'primary' | 'dark'"})}),(0,s.jsx)(n.td,{children:"Same as theme"}),(0,s.jsx)(n.td,{children:"Sets the navbar style, ignoring the dark/light theme."})]})]})]})}),"\n",(0,s.jsx)(n.h3,{id:"navbar-logo",children:"Navbar logo"}),"\n",(0,s.jsxs)(n.p,{children:["The logo can be placed in ",(0,s.jsx)(n.a,{href:"/docs/static-assets",children:"static folder"}),". Logo URL is set to base URL of your site by default. Although you can specify your own URL for the logo, if it is an external link, it will open in a new tab. In addition, you can override a value for the target attribute of logo link, it can come in handy if you are hosting docs website in a subdirectory of your main website, and in which case you probably do not need a link in the logo to the main website will open in a new tab."]}),"\n",(0,s.jsx)(n.p,{children:"To improve dark mode support, you can also set a different logo for this mode."}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-logo",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"alt"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:"Alt tag for the logo image."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"src"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"URL to the logo image. Base URL is appended by default."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"srcDark"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"logo.src"})}),(0,s.jsx)(n.td,{children:"An alternative image URL to use in dark mode."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"href"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"siteConfig.baseUrl"})}),(0,s.jsx)(n.td,{children:"Link to navigate to when the logo is clicked."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"width"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"string | number"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsxs)(n.td,{children:["Specifies the ",(0,s.jsx)(n.code,{children:"width"})," attribute."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"height"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"string | number"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsxs)(n.td,{children:["Specifies the ",(0,s.jsx)(n.code,{children:"height"})," attribute."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"target"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsxs)(n.td,{children:["Calculated based on ",(0,s.jsx)(n.code,{children:"href"})," (external links will open in a new tab, all others in the current one)."]}),(0,s.jsxs)(n.td,{children:["The ",(0,s.jsx)(n.code,{children:"target"})," attribute of the link; controls whether the link is opened in a new tab, the current one, or otherwise."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"className"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:"CSS class applied to the image."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"style"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"object"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:"CSS inline style object. React/JSX flavor, using camelCase properties."})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n title: 'Site Title',\n // highlight-start\n logo: {\n alt: 'Site Logo',\n src: 'img/logo.svg',\n srcDark: 'img/logo_dark.svg',\n href: 'https://docusaurus.io/',\n target: '_self',\n width: 32,\n height: 32,\n className: 'custom-navbar-logo-class',\n style: {border: 'solid red'},\n },\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h3,{id:"navbar-items",children:"Navbar items"}),"\n",(0,s.jsxs)(n.p,{children:["You can add items to the navbar via ",(0,s.jsx)(n.code,{children:"themeConfig.navbar.items"}),"."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n // highlight-start\n items: [\n {\n type: 'doc',\n position: 'left',\n docId: 'introduction',\n label: 'Docs',\n },\n {to: 'blog', label: 'Blog', position: 'left'},\n {\n type: 'docsVersionDropdown',\n position: 'right',\n },\n {\n type: 'localeDropdown',\n position: 'right',\n },\n {\n href: 'https://github.com/facebook/docusaurus',\n position: 'right',\n className: 'header-github-link',\n 'aria-label': 'GitHub repository',\n },\n ],\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,s.jsxs)(n.p,{children:["The items can have different behaviors based on the ",(0,s.jsx)(n.code,{children:"type"})," field. The sections below will introduce you to all the types of navbar items available."]}),"\n",(0,s.jsx)(n.h4,{id:"navbar-link",children:"Navbar link"}),"\n",(0,s.jsx)(n.p,{children:"By default, Navbar items are regular links (internal or external)."}),"\n",(0,s.jsxs)(n.p,{children:["React Router should automatically apply active link styling to links, but you can use ",(0,s.jsx)(n.code,{children:"activeBasePath"})," in edge cases. For cases in which a link should be active on several different paths (such as when you have multiple doc folders under the same sidebar), you can use ",(0,s.jsx)(n.code,{children:"activeBaseRegex"}),". ",(0,s.jsx)(n.code,{children:"activeBaseRegex"})," is a more flexible alternative to ",(0,s.jsx)(n.code,{children:"activeBasePath"})," and takes precedence over it -- Docusaurus parses it into a regular expression that is tested against the current URL."]}),"\n",(0,s.jsxs)(n.p,{children:["Outbound (external) links automatically get ",(0,s.jsx)(n.code,{children:'target="_blank" rel="noopener noreferrer"'})," attributes."]}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-link",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"type"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'default'"})}),(0,s.jsx)(n.td,{children:"Optional"}),(0,s.jsx)(n.td,{children:"Sets the type of this item to a link."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"label"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"html"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Optional"}),(0,s.jsxs)(n.td,{children:["Same as ",(0,s.jsx)(n.code,{children:"label"}),", but renders pure HTML instead of text content."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"to"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"Client-side routing, used for navigating within the website. The baseUrl will be automatically prepended to this value."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"href"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsxs)(n.td,{children:["A full-page navigation, used for navigating outside of the website. ",(0,s.jsxs)(n.strong,{children:["Only one of ",(0,s.jsx)(n.code,{children:"to"})," or ",(0,s.jsx)(n.code,{children:"href"})," should be used."]})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"prependBaseUrlToHref"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsxs)(n.td,{children:["Prepends the baseUrl to ",(0,s.jsx)(n.code,{children:"href"})," values."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"position"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'left' | 'right'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'left'"})}),(0,s.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"activeBasePath"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"to"})," / ",(0,s.jsx)(n.code,{children:"href"})]}),(0,s.jsx)(n.td,{children:"To apply the active class styling on all routes starting with this path. This usually isn't necessary."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"activeBaseRegex"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsxs)(n.td,{children:["Alternative to ",(0,s.jsx)(n.code,{children:"activeBasePath"})," if required."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"className"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"''"})}),(0,s.jsx)(n.td,{children:"Custom CSS class (for styling any item)."})]})]})]})}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsx)(n.p,{children:"In addition to the fields above, you can specify other arbitrary attributes that can be applied to a HTML link."})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n to: 'docs/introduction',\n // Only one of \"to\" or \"href\" should be used\n // href: 'https://www.facebook.com',\n label: 'Introduction',\n // Only one of \"label\" or \"html\" should be used\n // html: '<b>Introduction</b>'\n position: 'left',\n activeBaseRegex: 'docs/(next|v8)',\n target: '_blank',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h4,{id:"navbar-dropdown",children:"Navbar dropdown"}),"\n",(0,s.jsxs)(n.p,{children:["Navbar items of the type ",(0,s.jsx)(n.code,{children:"dropdown"})," has the additional ",(0,s.jsx)(n.code,{children:"items"})," field, an inner array of navbar items."]}),"\n",(0,s.jsxs)(n.p,{children:["Navbar dropdown items only accept the following ",(0,s.jsx)(n.strong,{children:'"link-like" item types'}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#navbar-link",children:"Navbar link"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#navbar-doc-link",children:"Navbar doc link"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#navbar-docs-version",children:"Navbar docs version"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#navbar-doc-sidebar",children:"Navbar doc sidebar"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"#navbar-with-custom-html",children:"Navbar with custom HTML"})}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Note that the dropdown base item is a clickable link as well, so this item can receive any of the props of a ",(0,s.jsx)(n.a,{href:"#navbar-link",children:"plain navbar link"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-dropdown",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"type"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'dropdown'"})}),(0,s.jsx)(n.td,{children:"Optional"}),(0,s.jsx)(n.td,{children:"Sets the type of this item to a dropdown."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"label"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"items"})}),(0,s.jsx)(n.td,{children:(0,s.jsxs)("code",{children:[(0,s.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"The items to be contained in the dropdown."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"position"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'left' | 'right'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'left'"})}),(0,s.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'dropdown',\n label: 'Community',\n position: 'left',\n items: [\n {\n label: 'Facebook',\n href: 'https://www.facebook.com',\n },\n {\n type: 'doc',\n label: 'Social',\n docId: 'social',\n },\n // ... more items\n ],\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h4,{id:"navbar-doc-link",children:"Navbar doc link"}),"\n",(0,s.jsxs)(n.p,{children:["If you want to link to a specific doc, this special navbar item type will render the link to the doc of the provided ",(0,s.jsx)(n.code,{children:"docId"}),". It will get the class ",(0,s.jsx)(n.code,{children:"navbar__link--active"})," as long as you browse a doc of the same sidebar."]}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-doc-link",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"type"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'doc'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"Sets the type of this item to a doc link."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"docId"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"The ID of the doc that this item links to."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"label"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"docId"})}),(0,s.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"position"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'left' | 'right'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'left'"})}),(0,s.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"docsPluginId"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'default'"})}),(0,s.jsx)(n.td,{children:"The ID of the docs plugin that the doc belongs to."})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'doc',\n position: 'left',\n docId: 'introduction',\n label: 'Docs',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h4,{id:"navbar-doc-sidebar",children:"Navbar linked to a sidebar"}),"\n",(0,s.jsx)(n.p,{children:"You can link a navbar item to the first document link (which can be a doc link or a generated category index) of a given sidebar without having to hardcode a doc ID."}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-doc-sidebar",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"type"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'docSidebar'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"Sets the type of this navbar item to a sidebar's first document."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"sidebarId"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"The ID of the sidebar that this item is linked to."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"label"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"First document link's sidebar label"}),(0,s.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"position"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'left' | 'right'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'left'"})}),(0,s.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"docsPluginId"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'default'"})}),(0,s.jsx)(n.td,{children:"The ID of the docs plugin that the sidebar belongs to."})]})]})]})}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsx)(n.p,{children:"Use this navbar item type if your sidebar is updated often and the order is not stable."})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docSidebar',\n position: 'left',\n sidebarId: 'api',\n label: 'API',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n tutorial: [\n {\n type: 'autogenerated',\n dirName: 'guides',\n },\n ],\n api: [\n // highlight-next-line\n 'cli', // The navbar item will be linking to this doc\n 'docusaurus-core',\n {\n type: 'autogenerated',\n dirName: 'api',\n },\n ],\n};\n"})}),"\n",(0,s.jsx)(n.h4,{id:"navbar-docs-version-dropdown",children:"Navbar docs version dropdown"}),"\n",(0,s.jsx)(n.p,{children:"If you use docs with versioning, this special navbar item type that will render a dropdown with all your site's available versions."}),"\n",(0,s.jsx)(n.p,{children:"The user will be able to switch from one version to another, while staying on the same doc (as long as the doc ID is constant across versions)."}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-docs-version-dropdown",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"type"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'docsVersionDropdown'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"Sets the type of this item to a docs version dropdown."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"position"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'left' | 'right'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'left'"})}),(0,s.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"dropdownItemsBefore"})}),(0,s.jsx)(n.td,{children:(0,s.jsxs)("code",{children:[(0,s.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"[]"})}),(0,s.jsx)(n.td,{children:"Add additional dropdown items at the beginning of the dropdown."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"dropdownItemsAfter"})}),(0,s.jsx)(n.td,{children:(0,s.jsxs)("code",{children:[(0,s.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"[]"})}),(0,s.jsx)(n.td,{children:"Add additional dropdown items at the end of the dropdown."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"docsPluginId"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'default'"})}),(0,s.jsx)(n.td,{children:"The ID of the docs plugin that the doc versioning belongs to."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"dropdownActiveClassDisabled"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"false"})}),(0,s.jsx)(n.td,{children:"Do not add the link active class when browsing docs."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"versions"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"DropdownVersions"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsxs)(n.td,{children:["Specify a custom list of versions to include in the dropdown. See ",(0,s.jsx)(n.a,{href:"/docs/versioning#docsVersionDropdown",children:"the versioning guide"})," for details."]})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Types:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",children:"type DropdownVersion = {\n /** Allows you to provide a custom display label for each version. */\n label?: string;\n};\n\ntype DropdownVersions = string[] | {[versionName: string]: DropdownVersion};\n"})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersionDropdown',\n position: 'left',\n dropdownItemsAfter: [{to: '/versions', label: 'All versions'}],\n dropdownActiveClassDisabled: true,\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h4,{id:"navbar-docs-version",children:"Navbar docs version"}),"\n",(0,s.jsx)(n.p,{children:"If you use docs with versioning, this special navbar item type will link to the active/browsed version of your doc (depends on the current URL), and fallback to the latest version."}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-docs-version",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"type"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'docsVersion'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"Sets the type of this item to a doc version link."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"label"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The active/latest version label."}),(0,s.jsx)(n.td,{children:"The name to be shown for this item."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"to"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The active/latest version."}),(0,s.jsx)(n.td,{children:"The internal link that this item points to."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"position"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'left' | 'right'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'left'"})}),(0,s.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"docsPluginId"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'default'"})}),(0,s.jsx)(n.td,{children:"The ID of the docs plugin that the doc versioning belongs to."})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersion',\n position: 'left',\n to: '/path',\n label: 'label',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h4,{id:"navbar-locale-dropdown",children:"Navbar locale dropdown"}),"\n",(0,s.jsxs)(n.p,{children:["If you use the ",(0,s.jsx)(n.a,{href:"/docs/i18n/introduction",children:"i18n feature"}),", this special navbar item type will render a dropdown with all your site's available locales."]}),"\n",(0,s.jsx)(n.p,{children:"The user will be able to switch from one locale to another, while staying on the same page."}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"navbar-locale-dropdown",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"type"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'localeDropdown'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"Sets the type of this item to a locale dropdown."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"position"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'left' | 'right'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'left'"})}),(0,s.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"dropdownItemsBefore"})}),(0,s.jsx)(n.td,{children:(0,s.jsxs)("code",{children:[(0,s.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"[]"})}),(0,s.jsx)(n.td,{children:"Add additional dropdown items at the beginning of the dropdown."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"dropdownItemsAfter"})}),(0,s.jsx)(n.td,{children:(0,s.jsxs)("code",{children:[(0,s.jsx)(n.a,{href:"#navbar-dropdown",children:"LinkLikeItem"}),"[]"]})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"[]"})}),(0,s.jsx)(n.td,{children:"Add additional dropdown items at the end of the dropdown."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"queryString"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:"The query string to be appended to the URL."})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'localeDropdown',\n position: 'left',\n dropdownItemsAfter: [\n {\n to: 'https://my-site.com/help-us-translate',\n label: 'Help us translate',\n },\n ],\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h4,{id:"navbar-search",children:"Navbar search"}),"\n",(0,s.jsxs)(n.p,{children:["If you use the ",(0,s.jsx)(n.a,{href:"/docs/search",children:"search"}),", the search bar will be the rightmost element in the navbar."]}),"\n",(0,s.jsx)(n.p,{children:"However, with this special navbar item type, you can change the default location."}),"\n",(0,s.jsx)(r.Z,{name:"navbar-search",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"type"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'search'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"Sets the type of this item to a search bar."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"position"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'left' | 'right'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'left'"})}),(0,s.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"className"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"/"}),(0,s.jsx)(n.td,{children:"Custom CSS class for this navbar item."})]})]})]})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'search',\n position: 'right',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h4,{id:"navbar-with-custom-html",children:"Navbar with custom HTML"}),"\n",(0,s.jsx)(n.p,{children:"You can also render your own HTML markup inside a navbar item using this navbar item type."}),"\n",(0,s.jsx)(r.Z,{name:"navbar-html",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"type"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'html'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"Sets the type of this item to a HTML element."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"position"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'left' | 'right'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'left'"})}),(0,s.jsx)(n.td,{children:"The side of the navbar this item should appear on."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"className"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"''"})}),(0,s.jsx)(n.td,{children:"Custom CSS class for this navbar item."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"value"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"''"})}),(0,s.jsx)(n.td,{children:"Custom HTML to be rendered inside this navbar item."})]})]})]})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'html',\n position: 'right',\n value: '<button>Give feedback</button>',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h3,{id:"auto-hide-sticky-navbar",children:"Auto-hide sticky navbar"}),"\n",(0,s.jsx)(n.p,{children:"You can enable this cool UI feature that automatically hides the navbar when a user starts scrolling down the page, and show it again when the user scrolls up."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n // highlight-next-line\n hideOnScroll: true,\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h3,{id:"navbar-style",children:"Navbar style"}),"\n",(0,s.jsx)(n.p,{children:"You can set the static Navbar style without disabling the theme switching ability. The selected style will always apply no matter which theme user have selected."}),"\n",(0,s.jsxs)(n.p,{children:["Currently, there are two possible style options: ",(0,s.jsx)(n.code,{children:"dark"})," and ",(0,s.jsx)(n.code,{children:"primary"})," (based on the ",(0,s.jsx)(n.code,{children:"--ifm-color-primary"})," color). You can see the styles preview in the ",(0,s.jsx)(n.a,{href:"https://infima.dev/docs/components/navbar/",children:"Infima documentation"}),"."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n // highlight-next-line\n style: 'primary',\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h2,{id:"codeblock",children:"CodeBlock"}),"\n",(0,s.jsxs)(n.p,{children:["Docusaurus uses ",(0,s.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer",children:"Prism React Renderer"})," to highlight code blocks. All configuration are in the ",(0,s.jsx)(n.code,{children:"prism"})," object."]}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"codeblock",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"theme"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"PrismTheme"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"palenight"})}),(0,s.jsx)(n.td,{children:"The Prism theme to use for light-theme code blocks."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"darkTheme"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"PrismTheme"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"palenight"})}),(0,s.jsx)(n.td,{children:"The Prism theme to use for dark-theme code blocks."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"defaultLanguage"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:"The default language to use for code blocks not declaring any explicit language."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"magicComments"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"MagicCommentConfig[]"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"see below"})}),(0,s.jsxs)(n.td,{children:["The list of ",(0,s.jsx)(n.a,{href:"/docs/markdown-features/code-blocks#custom-magic-comments",children:"magic comments"}),"."]})]})]})]})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ts",children:"type MagicCommentConfig = {\n className: string;\n line?: string;\n block?: {start: string; end: string};\n};\n"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",children:"const defaultMagicComments = [\n {\n className: 'theme-code-block-highlighted-line',\n line: 'highlight-next-line',\n block: {start: 'highlight-start', end: 'highlight-end'},\n },\n];\n"})}),"\n",(0,s.jsx)(n.h3,{id:"theme",children:"Theme"}),"\n",(0,s.jsxs)(n.p,{children:["By default, we use ",(0,s.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/blob/master/packages/prism-react-renderer/src/themes/palenight.ts",children:"Palenight"})," as syntax highlighting theme. You can specify a custom theme from the ",(0,s.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/tree/master/packages/prism-react-renderer/src/themes",children:"list of available themes"}),". You may also use a different syntax highlighting theme when the site is in dark mode."]}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"import {themes as prismThemes} from 'prism-react-renderer';\n\nexport default {\n themeConfig: {\n prism: {\n // highlight-start\n theme: prismThemes.github,\n darkTheme: prismThemes.dracula,\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsxs)(n.p,{children:["If you use the line highlighting Markdown syntax, you might need to specify a different highlight background color for the dark mode syntax highlighting theme. Refer to the ",(0,s.jsx)(n.a,{href:"/docs/markdown-features/code-blocks#line-highlighting",children:"docs for guidance"}),"."]})}),"\n",(0,s.jsx)(n.h3,{id:"default-language",children:"Default language"}),"\n",(0,s.jsxs)(n.p,{children:["You can set a default language for code blocks if no language is added after the opening triple backticks (i.e. ```). Note that a valid ",(0,s.jsx)(n.a,{href:"https://prismjs.com/#supported-languages",children:"language name"})," must be passed."]}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n prism: {\n // highlight-next-line\n defaultLanguage: 'javascript',\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.h2,{id:"footer-1",children:"Footer"}),"\n",(0,s.jsxs)(n.p,{children:["You can add logo and a copyright to the footer via ",(0,s.jsx)(n.code,{children:"themeConfig.footer"}),". Logo can be placed in ",(0,s.jsx)(n.a,{href:"/docs/static-assets",children:"static folder"}),". Logo URL works in the same way of the navbar logo."]}),"\n",(0,s.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(r.Z,{name:"footer",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"logo"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Logo"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsxs)(n.td,{children:["Customization of the logo object. See ",(0,s.jsx)(n.a,{href:"#navbar-logo",children:"Navbar logo"})," for details."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"copyright"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:"The copyright message to be displayed at the bottom, also supports custom HTML."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"style"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"'dark' | 'light'"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"'light'"})}),(0,s.jsx)(n.td,{children:"The color theme of the footer component."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"links"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)("code",{children:"(Column | FooterLink)[]"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"[]"})}),(0,s.jsx)(n.td,{children:"The link groups to be present."})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n footer: {\n logo: {\n alt: 'Meta Open Source Logo',\n src: 'img/meta_oss_logo.png',\n href: 'https://opensource.fb.com',\n width: 160,\n height: 51,\n },\n copyright: `Copyright \xa9 ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,s.jsx)(n.h3,{id:"footer-links",children:"Footer Links"}),"\n",(0,s.jsxs)(n.p,{children:["You can add links to the footer via ",(0,s.jsx)(n.code,{children:"themeConfig.footer.links"}),". There are two types of footer configurations: ",(0,s.jsx)(n.strong,{children:"multi-column footers"})," and ",(0,s.jsx)(n.strong,{children:"simple footers"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["Multi-column footer links have a ",(0,s.jsx)(n.code,{children:"title"})," and a list of ",(0,s.jsx)(n.code,{children:"FooterItem"}),"s for each column."]}),"\n",(0,s.jsx)(r.Z,{name:"footer-links",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"title"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsx)(n.td,{children:"Label of the section of these links."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"items"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"FooterItem[]"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"[]"})}),(0,s.jsx)(n.td,{children:"Links in this section."})]})]})]})}),"\n",(0,s.jsxs)(n.p,{children:["Accepted fields of each ",(0,s.jsx)(n.code,{children:"FooterItem"}),":"]}),"\n",(0,s.jsx)(r.Z,{name:"footer-items",children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"label"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"Text to be displayed for this link."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"to"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsx)(n.td,{children:"Client-side routing, used for navigating within the website. The baseUrl will be automatically prepended to this value."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"href"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Required"})}),(0,s.jsxs)(n.td,{children:["A full-page navigation, used for navigating outside of the website. ",(0,s.jsxs)(n.strong,{children:["Only one of ",(0,s.jsx)(n.code,{children:"to"})," or ",(0,s.jsx)(n.code,{children:"href"})," should be used."]})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"html"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"undefined"})}),(0,s.jsxs)(n.td,{children:["Renders the HTML pass-through instead of a simple link. In case ",(0,s.jsx)(n.code,{children:"html"})," is used, no other options should be provided."]})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example multi-column configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n footer: {\n // highlight-start\n links: [\n {\n title: 'Docs',\n items: [\n {\n label: 'Style Guide',\n to: 'docs/',\n },\n {\n label: 'Second Doc',\n to: 'docs/doc2/',\n },\n ],\n },\n {\n title: 'Community',\n items: [\n {\n label: 'Stack Overflow',\n href: 'https://stackoverflow.com/questions/tagged/docusaurus',\n },\n {\n label: 'Discord',\n href: 'https://discordapp.com/invite/docusaurus',\n },\n {\n label: 'X',\n href: 'https://x.com/docusaurus',\n },\n {\n html: `\n <a href=\"https://www.netlify.com\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Deploys by Netlify\">\n <img src=\"https://www.netlify.com/img/global/badges/netlify-color-accent.svg\" alt=\"Deploys by Netlify\" width=\"114\" height=\"51\" />\n </a>\n `,\n },\n ],\n },\n ],\n // highlight-end\n },\n};\n"})}),"\n",(0,s.jsxs)(n.p,{children:["A simple footer just has a list of ",(0,s.jsx)(n.code,{children:"FooterItem"}),"s displayed in a row."]}),"\n",(0,s.jsx)(n.p,{children:"Example simple configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:'export default {\n footer: {\n // highlight-start\n links: [\n {\n label: \'Stack Overflow\',\n href: \'https://stackoverflow.com/questions/tagged/docusaurus\',\n },\n {\n label: \'Discord\',\n href: \'https://discordapp.com/invite/docusaurus\',\n },\n {\n label: \'X\',\n href: \'https://x.com/docusaurus\',\n },\n {\n html: `\n <a href="https://www.netlify.com" target="_blank" rel="noreferrer noopener" aria-label="Deploys by Netlify">\n <img src="https://www.netlify.com/img/global/badges/netlify-color-accent.svg" alt="Deploys by Netlify" width="114" height="51" />\n </a>\n `,\n },\n ],\n // highlight-end\n },\n};\n'})}),"\n",(0,s.jsx)(n.h2,{id:"table-of-contents",children:"Table of Contents"}),"\n",(0,s.jsxs)(n.p,{children:["You can adjust the default table of contents via ",(0,s.jsx)(n.code,{children:"themeConfig.tableOfContents"}),"."]}),"\n",(0,s.jsx)(r.Z,{children:(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Default"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"minHeadingLevel"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"number"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"2"})}),(0,s.jsx)(n.td,{children:"The minimum heading level shown in the table of contents. Must be between 2 and 6 and lower or equal to the max value."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"maxHeadingLevel"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"number"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"3"})}),(0,s.jsx)(n.td,{children:"Max heading level displayed in the TOC. Should be an integer between 2 and 6."})]})]})]})}),"\n",(0,s.jsx)(n.p,{children:"Example configuration:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // highlight-start\n tableOfContents: {\n minHeadingLevel: 2,\n maxHeadingLevel: 5,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,s.jsx)(n.h2,{id:"hooks",children:"Hooks"}),"\n",(0,s.jsx)(n.h3,{id:"use-color-mode",children:(0,s.jsx)(n.code,{children:"useColorMode"})}),"\n",(0,s.jsx)(n.p,{children:"A React hook to access the color context. This context contains functions for setting light and dark mode and exposes boolean variable, indicating which mode is currently in use."}),"\n",(0,s.jsx)(n.p,{children:"Usage example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\n// highlight-next-line\nimport {useColorMode} from '@docusaurus/theme-common';\n\nconst Example = () => {\n // highlight-next-line\n const {colorMode, setColorMode} = useColorMode();\n\n return <h1>Dark mode is now {colorMode === 'dark' ? 'on' : 'off'}</h1>;\n};\n"})}),"\n",(0,s.jsxs)(n.admonition,{type:"note",children:[(0,s.jsxs)(n.p,{children:["The component calling ",(0,s.jsx)(n.code,{children:"useColorMode"})," must be a child of the ",(0,s.jsx)(n.code,{children:"Layout"})," component."]}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"function ExamplePage() {\n return (\n <Layout>\n <Example />\n </Layout>\n );\n}\n"})})]}),"\n",(0,s.jsx)(n.h2,{id:"i18n",children:"i18n"}),"\n",(0,s.jsxs)(n.p,{children:["Read the ",(0,s.jsx)(n.a,{href:"/docs/i18n/introduction",children:"i18n introduction"})," first."]}),"\n",(0,s.jsx)(n.h3,{id:"translation-files-location",children:"Translation files location"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Base path"}),": ",(0,s.jsx)(n.code,{children:"website/i18n/[locale]/docusaurus-theme-[themeName]"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Multi-instance path"}),": N/A"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"JSON files"}),": extracted with ",(0,s.jsx)(n.a,{href:"/docs/cli#docusaurus-write-translations-sitedir",children:(0,s.jsx)(n.code,{children:"docusaurus write-translations"})})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Markdown files"}),": N/A"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"example-file-system-structure",children:"Example file-system structure"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"website/i18n/[locale]/docusaurus-theme-classic\n\u2502\n\u2502 # translations for the theme\n\u251C\u2500\u2500 navbar.json\n\u2514\u2500\u2500 footer.json\n"})})]})}function x(e={}){let{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},32240:function(e,n,i){i.d(n,{Z:()=>c});var d=i(85893),s=i(67294),t=i(96700),r=i(3620);let l=s.forwardRef(function(e,n){let{name:i,children:l}=e,c=function(e){let n=e;for(;(0,s.isValidElement)(n);)[n]=s.Children.toArray(n.props.children);if("string"!=typeof n)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return n}(l),h=i?`${i}-${c}`:c,o=`#${h}`,a=(0,r.k6)();return(0,t.Z)().collectAnchor(h),(0,d.jsx)("tr",{id:h,tabIndex:0,ref:a.location.hash===o?n:void 0,onClick:e=>{let n="TD"===e.target.tagName.toUpperCase(),i=!!window.getSelection()?.toString();n&&!i&&a.push(o)},onKeyDown:e=>{"Enter"===e.key&&a.push(o)},children:l.props.children})});function c(e){let{children:n,name:i}=e;if("table"!==n.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[t,r]=s.Children.toArray(n.props.children),c=(0,s.useRef)(null);(0,s.useEffect)(()=>{c.current?.focus()},[c]);let h=s.Children.map(r.props.children,e=>(0,d.jsx)(l,{name:i,ref:c,children:e}));return(0,d.jsxs)("table",{className:"apiTable_e8hp",children:[t,(0,d.jsx)("tbody",{children:h})]})}},80980:function(e,n,i){i.d(n,{Z:()=>l,a:()=>r});var d=i(67294);let s={},t=d.createContext(s);function r(e){let n=d.useContext(t);return d.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),d.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/048b0d50.68fb455e.js b/assets/js/048b0d50.68fb455e.js new file mode 100644 index 0000000000..066bb264f4 --- /dev/null +++ b/assets/js/048b0d50.68fb455e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["30992"],{83119:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>l,default:()=>h,contentTitle:()=>c,assets:()=>d,toc:()=>u,metadata:()=>a});var a=JSON.parse('{"type":"mdx","permalink":"/tests/pages/diagrams","source":"@site/_dogfooding/_pages tests/diagrams.mdx","title":"Diagram Examples","description":"Invalid Diagrams","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/diagrams.mdx","unlisted":false}'),i=t(85893),r=t(80980),s=t(15398),o=t(58636);let l={},c="Diagram Examples",d={},u=[{value:"Invalid Diagrams",id:"invalid-diagrams",level:2},{value:"Invalid type",id:"invalid-type",level:3},{value:"Invalid content",id:"invalid-content",level:3},{value:"Sequence Diagram",id:"sequence-diagram",level:2},{value:"Sequence Diagram (forest theme directive)",id:"sequence-diagram-forest-theme-directive",level:2},{value:"Gantt Chart",id:"gantt-chart",level:2},{value:"Flow Chart",id:"flow-chart",level:2},{value:"With Markdown:",id:"with-markdown",level:3},{value:"Class Diagram",id:"class-diagram",level:2},{value:"State Diagram",id:"state-diagram",level:2},{value:"Entity Relationship Diagram",id:"entity-relationship-diagram",level:2},{value:"User Journey",id:"user-journey",level:2},{value:"Pie Chart",id:"pie-chart",level:2},{value:"Requirement Diagram",id:"requirement-diagram",level:2},{value:"Gitgraph (Git) Diagram",id:"gitgraph-git-diagram",level:2},{value:"Mermaid in tabs",id:"mermaid-in-tabs",level:2},{value:"Mindmap",id:"mindmap",level:2},{value:"Quadrant Chart",id:"quadrant-chart",level:2},{value:"Architecture Diagram",id:"architecture-diagram",level:2}];function m(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",mermaid:"mermaid",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"diagram-examples",children:"Diagram Examples"})}),"\n",(0,i.jsx)(n.h2,{id:"invalid-diagrams",children:"Invalid Diagrams"}),"\n",(0,i.jsx)(n.p,{children:"Those errors should not crash the whole page"}),"\n",(0,i.jsx)(n.h3,{id:"invalid-type",children:"Invalid type"}),"\n",(0,i.jsx)(n.mermaid,{value:"badType\n participant Alice\n participant Bob"}),"\n",(0,i.jsx)(n.h3,{id:"invalid-content",children:"Invalid content"}),"\n",(0,i.jsx)(n.mermaid,{value:"sequenceDiagram\n badInstruction Alice\n participant Bob"}),"\n",(0,i.jsx)(n.h2,{id:"sequence-diagram",children:"Sequence Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:"sequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts <br/>prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!"}),"\n",(0,i.jsx)(n.h2,{id:"sequence-diagram-forest-theme-directive",children:"Sequence Diagram (forest theme directive)"}),"\n",(0,i.jsx)(n.p,{children:"It is possible to override default config locally with Mermaid text directives such as:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:'%%{init: { "theme": "forest" } }%%\n'})}),"\n",(0,i.jsx)(n.mermaid,{value:'%%{init: { "theme": "forest" } }%%\n\nsequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts <br/>prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!'}),"\n",(0,i.jsx)(n.h2,{id:"gantt-chart",children:"Gantt Chart"}),"\n",(0,i.jsx)(n.mermaid,{value:"gantt\ndateFormat YYYY-MM-DD\ntitle Adding GANTT diagram to mermaid\nexcludes weekdays 2014-01-10\n\nsection A section\nCompleted task :done, des1, 2014-01-06,2014-01-08\nActive task :active, des2, 2014-01-09, 3d\nFuture task : des3, after des2, 5d\nFuture task2 : des4, after des3, 5d"}),"\n",(0,i.jsx)(n.h2,{id:"flow-chart",children:"Flow Chart"}),"\n",(0,i.jsx)(n.mermaid,{value:"flowchart TD\n A[Start] --\x3e B{Is it?}\n B --\x3e|Yes| C[OK]\n C --\x3e D[Rethink]\n D --\x3e B\n B ----\x3e|No| E[End]"}),"\n",(0,i.jsx)(n.h3,{id:"with-markdown",children:"With Markdown:"}),"\n",(0,i.jsx)(n.mermaid,{value:'flowchart LR\n markdown["`This **is** _Markdown_`"]\n newLines["`Line1\n Line 2\n Line 3`"]\n markdown --\x3e newLines'}),"\n",(0,i.jsx)(n.h2,{id:"class-diagram",children:"Class Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:" classDiagram\n Animal <|-- Duck\n Animal <|-- Fish\n Animal <|-- Zebra\n Animal : +int age\n Animal : +String gender\n Animal: +isMammal()\n Animal: +mate()\n class Duck{\n +String beakColor\n +swim()\n +quack()\n }\n class Fish{\n -int sizeInFeet\n -canEat()\n }\n class Zebra{\n +bool is_wild\n +run()\n }"}),"\n",(0,i.jsx)(n.h2,{id:"state-diagram",children:"State Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:"stateDiagram-v2\n [*] --\x3e Active\n\n state Active {\n [*] --\x3e NumLockOff\n NumLockOff --\x3e NumLockOn : EvNumLockPressed\n NumLockOn --\x3e NumLockOff : EvNumLockPressed\n --\n [*] --\x3e CapsLockOff\n CapsLockOff --\x3e CapsLockOn : EvCapsLockPressed\n CapsLockOn --\x3e CapsLockOff : EvCapsLockPressed\n --\n [*] --\x3e ScrollLockOff\n ScrollLockOff --\x3e ScrollLockOn : EvScrollLockPressed\n ScrollLockOn --\x3e ScrollLockOff : EvScrollLockPressed\n }"}),"\n",(0,i.jsx)(n.h2,{id:"entity-relationship-diagram",children:"Entity Relationship Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:"erDiagram\n CAR ||--o{ NAMED-DRIVER : allows\n CAR {\n string registrationNumber\n string make\n string model\n }\n PERSON ||--o{ NAMED-DRIVER : is\n PERSON {\n string firstName\n string lastName\n int age\n }"}),"\n",(0,i.jsx)(n.h2,{id:"user-journey",children:"User Journey"}),"\n",(0,i.jsx)(n.mermaid,{value:"journey\n title My working day\n section Go to work\n Make tea: 5: Me\n Go upstairs: 3: Me\n Do work: 1: Me, Cat\n section Go home\n Go downstairs: 5: Me\n Sit down: 5: Me"}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["If there's too much space above it's due to a ",(0,i.jsx)(n.a,{href:"https://github.com/mermaid-js/mermaid/issues/3501",children:"Mermaid bug"})]})}),"\n",(0,i.jsx)(n.h2,{id:"pie-chart",children:"Pie Chart"}),"\n",(0,i.jsx)(n.mermaid,{value:'pie showData\n title Key elements in Product X\n "Calcium" : 42.96\n "Potassium" : 50.05\n "Magnesium" : 10.01\n "Iron" : 5'}),"\n",(0,i.jsx)(n.h2,{id:"requirement-diagram",children:"Requirement Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:' requirementDiagram\n\n requirement test_req {\n id: 1\n text: the test text.\n risk: high\n verifymethod: test\n }\n\n functionalRequirement test_req2 {\n id: 1.1\n text: the second test text.\n risk: low\n verifymethod: inspection\n }\n\n performanceRequirement test_req3 {\n id: 1.2\n text: the third test text.\n risk: medium\n verifymethod: demonstration\n }\n\n interfaceRequirement test_req4 {\n id: 1.2.1\n text: the fourth test text.\n risk: medium\n verifymethod: analysis\n }\n\n physicalRequirement test_req5 {\n id: 1.2.2\n text: the fifth test text.\n risk: medium\n verifymethod: analysis\n }\n\n designConstraint test_req6 {\n id: 1.2.3\n text: the sixth test text.\n risk: medium\n verifymethod: analysis\n }\n\n element test_entity {\n type: simulation\n }\n\n element test_entity2 {\n type: word doc\n docRef: reqs/test_entity\n }\n\n element test_entity3 {\n type: "test suite"\n docRef: github.com/all_the_tests\n }\n\n\n test_entity - satisfies -> test_req2\n test_req - traces -> test_req2\n test_req - contains -> test_req3\n test_req3 - contains -> test_req4\n test_req4 - derives -> test_req5\n test_req5 - refines -> test_req6\n test_entity3 - verifies -> test_req5\n test_req <- copies - test_entity2'}),"\n",(0,i.jsx)(n.h2,{id:"gitgraph-git-diagram",children:"Gitgraph (Git) Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:"%%{init: { 'logLevel': 'debug', 'theme': 'base' } }%%\n gitGraph\n commit\n branch hotfix\n checkout hotfix\n commit\n branch develop\n checkout develop\n commit id:\"ash\" tag:\"abc\"\n branch featureB\n checkout featureB\n commit type:HIGHLIGHT\n checkout main\n checkout hotfix\n commit type:NORMAL\n checkout develop\n commit type:REVERSE\n checkout featureB\n commit\n checkout main\n merge hotfix\n checkout featureB\n commit\n checkout develop\n branch featureA\n commit\n checkout develop\n merge hotfix\n checkout featureA\n commit\n checkout featureB\n commit\n checkout develop\n merge featureA\n branch release\n checkout release\n commit\n checkout main\n commit\n checkout release\n merge main\n checkout develop\n merge release"}),"\n",(0,i.jsx)(n.h2,{id:"mermaid-in-tabs",children:"Mermaid in tabs"}),"\n","\n",(0,i.jsxs)(s.Z,{children:[(0,i.jsxs)(o.Z,{value:"tab-a",children:[(0,i.jsx)(n.p,{children:"The following mermaid diagram is shown:"}),(0,i.jsx)(n.mermaid,{value:"graph LR\n a ---\x3e c(10)\n b ---\x3e c(10)"})]}),(0,i.jsxs)(o.Z,{value:"tab-b",children:[(0,i.jsx)(n.p,{children:"This mermaid diagram is not displayed:"}),(0,i.jsx)(n.mermaid,{value:"graph LR\n d ---\x3e z(42)\n e ---\x3e z(42)"})]})]}),"\n",(0,i.jsx)(n.h2,{id:"mindmap",children:"Mindmap"}),"\n",(0,i.jsx)(n.mermaid,{value:"mindmap\n root((conda-forge))\n (Repos)\n (Package building)\n [*-feedstock]\n [staged-recipes]\n [cdt-builds]\n [msys2-recipes]\n (Maintenance)\n [admin-requests]\n [repodata-patches]\n (Configuration)\n [.github]\n [.cirun]\n [conda-forge-pinning]\n [conda-forge-ci-setup]\n [docker-images]\n [conda-smithy]\n (Automations)\n [admin-migrations]\n [artifact-validation]\n [regro/cf-scripts]\n [conda-forge-webservices]\n [regro/cf-graph-countyfair]\n [regro/libcfgraph + regro/libcflib]\n [feedstock-outputs]\n (Communications)\n [conda-forge.github.io]\n [blog]\n [status]\n [by-the-numbers]\n [conda-forge-status-monitor]\n [feedstocks]\n (Bots & apps)\n [conda-forge-admin]\n [conda-forge-bot]\n [conda-forge-coordinator]\n [conda-forge-daemon]\n [conda-forge-linter]\n [conda-forge-manager]\n [conda-forge-status]\n [regro-cf-autotick-bot]\n [conda-forge-curator]\n [conda-forge-webservices]\n (Delivery)\n [anaconda.org]\n [ghcr.io]\n [quay.io]\n (Installers)\n Miniforge\n Mambaforge\n (CI for builds)\n Azure Pipelines\n Travis CI\n cirun.io\n (Infra)\n Heroku\n Github Actions\n Circle CI"}),"\n",(0,i.jsx)(n.h2,{id:"quadrant-chart",children:"Quadrant Chart"}),"\n",(0,i.jsx)(n.mermaid,{value:"quadrantChart\n title Reach and engagement of campaigns\n x-axis Low Reach --\x3e High Reach\n y-axis Low Engagement --\x3e High Engagement\n quadrant-1 We should expand\n quadrant-2 Need to promote\n quadrant-3 Re-evaluate\n quadrant-4 May be improved\n Campaign A: [0.3, 0.6]\n Campaign B: [0.45, 0.23]\n Campaign C: [0.57, 0.69]\n Campaign D: [0.78, 0.34]\n Campaign E: [0.40, 0.34]\n Campaign F: [0.35, 0.78]"}),"\n",(0,i.jsx)(n.h2,{id:"architecture-diagram",children:"Architecture Diagram"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["See ",(0,i.jsx)(n.a,{href:"https://mermaid.js.org/syntax/architecture",children:"https://mermaid.js.org/syntax/architecture"})]}),"\n",(0,i.jsxs)(n.li,{children:["See ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/10508",children:"https://github.com/facebook/docusaurus/discussions/10508"})]}),"\n"]}),"\n",(0,i.jsx)(n.mermaid,{value:"architecture-beta\n group api(cloud)[API]\n\n service db(database)[Database] in api\n service disk1(disk)[Storage] in api\n service disk2(disk)[Storage] in api\n service server(server)[Server] in api\n\n db:L -- R:server\n disk1:T -- B:server\n disk2:T -- B:db"})]})}function h(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(m,{...e})}):m(e)}},58636:function(e,n,t){t.d(n,{Z:()=>r});var a=t(85893);t(67294);var i=t(90496);function r(e){let{children:n,hidden:t,className:r}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,i.Z)("tabItem_pnkT",r),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>b});var a=t(85893),i=t(67294),r=t(90496),s=t(54947),o=t(3620),l=t(844),c=t(97486),d=t(32263),u=t(16971);function m(e){return i.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||i.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var g=t(71607);function p(e){let{className:n,block:t,selectedValue:i,selectValue:o,tabValues:l}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,s.o5)(),u=e=>{let n=e.currentTarget,t=l[c.indexOf(n)].value;t!==i&&(d(n),o(t))},m=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{let t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1]}}n?.focus()};return(0,a.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":t},n),children:l.map(e=>{let{value:n,label:t,attributes:s}=e;return(0,a.jsx)("li",{role:"tab",tabIndex:i===n?0:-1,"aria-selected":i===n,ref:e=>{c.push(e)},onKeyDown:m,onClick:u,...s,className:(0,r.Z)("tabs__item","tabItem_AQgk",s?.className,{"tabs__item--active":i===n}),children:t??n},n)})})}function f(e){let{lazy:n,children:t,selectedValue:s}=e,o=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=o.find(e=>e.props.value===s);return e?(0,i.cloneElement)(e,{className:(0,r.Z)("margin-top--md",e.props.className)}):null}return(0,a.jsx)("div",{className:"margin-top--md",children:o.map((e,n)=>(0,i.cloneElement)(e,{key:n,hidden:e.props.value!==s}))})}function v(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:a}=e,r=function(e){let{values:n,children:t}=e;return(0,i.useMemo)(()=>{let e=n??m(t).map(e=>{let{props:{value:n,label:t,attributes:a,default:i}}=e;return{value:n,label:t,attributes:a,default:i}});return!function(e){let n=(0,d.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[s,g]=(0,i.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!h({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let a=t.find(e=>e.default)??t[0];if(!a)throw Error("Unexpected error: 0 tabValues");return a.value})({defaultValue:n,tabValues:r})),[p,f]=function(e){let{queryString:n=!1,groupId:t}=e,a=(0,o.k6)(),r=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,c._X)(r),(0,i.useCallback)(e=>{if(!r)return;let n=new URLSearchParams(a.location.search);n.set(r,e),a.replace({...a.location,search:n.toString()})},[r,a])]}({queryString:t,groupId:a}),[v,b]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[a,r]=(0,u.Nk)(t);return[a,(0,i.useCallback)(e=>{t&&r.set(e)},[t,r])]}({groupId:a}),x=(()=>{let e=p??v;return h({value:e,tabValues:r})?e:null})();return(0,l.Z)(()=>{x&&g(x)},[x]),{selectedValue:s,selectValue:(0,i.useCallback)(e=>{if(!h({value:e,tabValues:r}))throw Error(`Can't select invalid tab value=${e}`);g(e),f(e),b(e)},[f,b,r]),tabValues:r}}(e);return(0,a.jsxs)("div",{className:(0,r.Z)("tabs-container","tabList_Qoir"),children:[(0,a.jsx)(p,{...n,...e}),(0,a.jsx)(f,{...n,...e})]})}function b(e){let n=(0,g.Z)();return(0,a.jsx)(v,{...e,children:m(e.children)},String(n))}},80980:function(e,n,t){t.d(n,{Z:()=>o,a:()=>s});var a=t(67294);let i={},r=a.createContext(i);function s(e){let n=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/060daea9.400380e6.js b/assets/js/060daea9.400380e6.js new file mode 100644 index 0000000000..446de4c1d7 --- /dev/null +++ b/assets/js/060daea9.400380e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["12371"],{98171:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png"},93837:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png"},10517:function(e,t,s){s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var a=s(3813),r=s(85893),n=s(80980);let o={title:"Docusaurus 3.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-03-29T00:00:00.000Z")},i=void 0,c={image:s(98171).Z,authorsImageUrls:[void 0]},l=[];function u(e){let t={a:"a",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["We are happy to announce ",(0,r.jsx)(t.strong,{children:"Docusaurus 3.2"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["The upgrade should be easy: as explained in our ",(0,r.jsx)(t.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,r.jsx)(t.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Docusaurus blog post social card",src:s(93837).Z+"",width:"1200",height:"600"})})]})}function p(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>o});var a=s(67294);let r={},n=a.createContext(r);function o(e){let t=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(n.Provider,{value:t},e.children)}},3813:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.2","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.2/index.mdx","source":"@site/blog/releases/3.2/index.mdx","title":"Docusaurus 3.2","description":"We are happy to announce Docusaurus 3.2.","date":"2024-03-29T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.475,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.2","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-03-29T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.3","permalink":"/blog/releases/3.3"},"nextItem":{"title":"Docusaurus 3.1","permalink":"/blog/releases/3.1"}}')}}]); \ No newline at end of file diff --git a/assets/js/06957730.21278dd1.js b/assets/js/06957730.21278dd1.js new file mode 100644 index 0000000000..88a613d1a0 --- /dev/null +++ b/assets/js/06957730.21278dd1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["97469"],{91082:function(s){s.exports=JSON.parse('{"tag":{"label":"C","permalink":"/tests/docs/tags/permalink-for-tag-c","allTagsPath":"/tests/docs/tags","count":1,"items":[{"id":"index","title":"Docs tests","description":"This Docusaurus docs plugin instance is meant to test fancy edge-cases that regular unit tests don\'t really cover.","permalink":"/tests/docs/"}],"unlisted":true}}')}}]); \ No newline at end of file diff --git a/assets/js/06c6ffc3.e6d008c7.js b/assets/js/06c6ffc3.e6d008c7.js new file mode 100644 index 0000000000..ba07a39b2e --- /dev/null +++ b/assets/js/06c6ffc3.e6d008c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["79557"],{26933:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>a,default:()=>p,contentTitle:()=>c,assets:()=>d,toc:()=>h,metadata:()=>i});var i=JSON.parse('{"id":"deployment","title":"Deployment","description":"Deploy your Docusaurus app for production on a range of static site hosting services.","source":"@site/docs/deployment.mdx","sourceDirName":".","slug":"/deployment","permalink":"/docs/deployment","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/deployment.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Deploy your Docusaurus app for production on a range of static site hosting services."},"sidebar":"docs","previous":{"title":"Using Plugins","permalink":"/docs/using-plugins"},"next":{"title":"i18n - Introduction","permalink":"/docs/i18n/introduction"}}'),t=s(85893),o=s(80980),r=s(15398),l=s(58636);let a={description:"Deploy your Docusaurus app for production on a range of static site hosting services."},c="Deployment",d={},h=[{value:"Configuration",id:"configuration",level:2},{value:"Testing your Build Locally",id:"testing-build-locally",level:2},{value:"Trailing slash configuration",id:"trailing-slashes",level:2},{value:"Using environment variables",id:"using-environment-variables",level:2},{value:"Choosing a hosting provider",id:"choosing-a-hosting-provider",level:2},{value:"Self-Hosting",id:"self-hosting",level:2},{value:"Deploying to Netlify",id:"deploying-to-netlify",level:2},{value:"Deploying to Vercel",id:"deploying-to-vercel",level:2},{value:"Deploying to GitHub Pages",id:"deploying-to-github-pages",level:2},{value:"Overview",id:"github-pages-overview",level:3},{value:"<code>docusaurus.config.js</code> settings",id:"docusaurusconfigjs-settings",level:3},{value:"Environment settings",id:"environment-settings",level:3},{value:"Deploy",id:"deploy",level:3},{value:"Triggering deployment with GitHub Actions",id:"triggering-deployment-with-github-actions",level:3},{value:"Triggering deployment with Travis CI",id:"triggering-deployment-with-travis-ci",level:3},{value:"Triggering deployment with Buddy",id:"triggering-deployment-with-buddy",level:3},{value:"Using Azure Pipelines",id:"using-azure-pipelines",level:3},{value:"Using Drone",id:"using-drone",level:3},{value:"Deploying to Flightcontrol",id:"deploying-to-flightcontrol",level:2},{value:"Deploying to Koyeb",id:"deploying-to-koyeb",level:2},{value:"Deploying to Render",id:"deploying-to-render",level:2},{value:"Deploying to Qovery",id:"deploying-to-qovery",level:2},{value:"Deploying to Hostman",id:"deploying-to-hostman",level:2},{value:"Deploying to Surge",id:"deploying-to-surge",level:2},{value:"Using your domain",id:"using-your-domain",level:3},{value:"Setting up CNAME file",id:"setting-up-cname-file",level:3},{value:"Deploying to Stormkit",id:"deploying-to-stormkit",level:2},{value:"Deploying to QuantCDN",id:"deploying-to-quantcdn",level:2},{value:"Deploying to Layer0",id:"deploying-to-layer0",level:2},{value:"Deploying to Cloudflare Pages",id:"deploying-to-cloudflare-pages",level:2},{value:"Deploying to Azure Static Web Apps",id:"deploying-to-azure-static-web-apps",level:2},{value:"Deploying to Kinsta",id:"deploying-to-kinsta",level:2}];function u(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components},{Details:s}=n;return s||function(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"deployment",children:"Deployment"})}),"\n",(0,t.jsx)(n.p,{children:"To build the static files of your website for production, run:"}),"\n",(0,t.jsxs)(r.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(l.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})}),(0,t.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn build\n"})})}),(0,t.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run build\n"})})})]}),"\n",(0,t.jsxs)(n.p,{children:["Once it finishes, the static files will be generated within the ",(0,t.jsx)(n.code,{children:"build"})," directory."]}),"\n",(0,t.jsxs)(n.admonition,{type:"note",children:[(0,t.jsxs)(n.p,{children:["The only responsibility of Docusaurus is to build your site and emit static files in ",(0,t.jsx)(n.code,{children:"build"}),"."]}),(0,t.jsx)(n.p,{children:"It is now up to you to choose how to host those static files."})]}),"\n",(0,t.jsxs)(n.p,{children:["You can deploy your site to static site hosting services such as ",(0,t.jsx)(n.a,{href:"https://vercel.com/",children:"Vercel"}),", ",(0,t.jsx)(n.a,{href:"https://pages.github.com/",children:"GitHub Pages"}),", ",(0,t.jsx)(n.a,{href:"https://www.netlify.com/",children:"Netlify"}),", ",(0,t.jsx)(n.a,{href:"https://render.com/docs/static-sites",children:"Render"}),", and ",(0,t.jsx)(n.a,{href:"https://surge.sh/help/getting-started-with-surge",children:"Surge"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"A Docusaurus site is statically rendered, and it can generally work without JavaScript!"}),"\n",(0,t.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,t.jsxs)(n.p,{children:["The following parameters are required in ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," to optimize routing and serve files from the correct location:"]}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"url"})}),(0,t.jsxs)(n.td,{children:["URL for your site. For a site deployed at ",(0,t.jsx)(n.code,{children:"https://my-org.com/my-project/"}),", ",(0,t.jsx)(n.code,{children:"url"})," is ",(0,t.jsx)(n.code,{children:"https://my-org.com/"}),"."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"baseUrl"})}),(0,t.jsxs)(n.td,{children:["Base URL for your project, with a trailing slash. For a site deployed at ",(0,t.jsx)(n.code,{children:"https://my-org.com/my-project/"}),", ",(0,t.jsx)(n.code,{children:"baseUrl"})," is ",(0,t.jsx)(n.code,{children:"/my-project/"}),"."]})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"testing-build-locally",children:"Testing your Build Locally"}),"\n",(0,t.jsxs)(n.p,{children:["It is important to test your build locally before deploying it for production. Docusaurus provides a ",(0,t.jsx)(n.a,{href:"/docs/cli#docusaurus-serve-sitedir",children:(0,t.jsx)(n.code,{children:"docusaurus serve"})})," command for that:"]}),"\n",(0,t.jsxs)(r.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(l.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run serve\n"})})}),(0,t.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn serve\n"})})}),(0,t.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run serve\n"})})})]}),"\n",(0,t.jsxs)(n.p,{children:["By default, this will load your site at ",(0,t.jsx)(n.a,{href:"http://localhost:3000/",children:(0,t.jsx)(n.code,{children:"http://localhost:3000/"})}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"trailing-slashes",children:"Trailing slash configuration"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus has a ",(0,t.jsxs)(n.a,{href:"/docs/api/docusaurus-config#trailingSlash",children:[(0,t.jsx)(n.code,{children:"trailingSlash"})," config"]})," to allow customizing URLs/links and emitted filename patterns."]}),"\n",(0,t.jsxs)(n.p,{children:["The default value generally works fine. Unfortunately, each static hosting provider has a ",(0,t.jsx)(n.strong,{children:"different behavior"}),", and deploying the exact same site to various hosts can lead to distinct results. Depending on your host, it can be useful to change this config."]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Use ",(0,t.jsx)(n.a,{href:"https://github.com/slorber/trailing-slash-guide",children:"slorber/trailing-slash-guide"})," to understand better the behavior of your host and configure ",(0,t.jsx)(n.code,{children:"trailingSlash"})," appropriately."]})}),"\n",(0,t.jsx)(n.h2,{id:"using-environment-variables",children:"Using environment variables"}),"\n",(0,t.jsxs)(n.p,{children:["Putting potentially sensitive information in the environment is common practice. However, in a typical Docusaurus website, the ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," file is the only interface to the Node.js environment (see ",(0,t.jsx)(n.a,{href:"/docs/advanced/architecture",children:"our architecture overview"}),"), while everything else (MDX pages, React components, etc.) are client side and do not have direct access to the ",(0,t.jsx)(n.code,{children:"process"})," global variable. In this case, you can consider using ",(0,t.jsx)(n.a,{href:"/docs/api/docusaurus-config#customFields",children:(0,t.jsx)(n.code,{children:"customFields"})})," to pass environment variables to the client side."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"// If you are using dotenv (https://www.npmjs.com/package/dotenv)\nimport 'dotenv/config';\n\nexport default {\n title: '...',\n url: process.env.URL, // You can use environment variables to control site specifics as well\n // highlight-start\n customFields: {\n // Put your custom environment here\n teamEmail: process.env.EMAIL,\n },\n // highlight-end\n};\n"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",metastring:'title="home.jsx"',children:"import useDocusaurusContext from '@docusaurus/useDocusaurusContext';\n\nexport default function Home() {\n const {\n siteConfig: {customFields},\n } = useDocusaurusContext();\n return <div>Contact us through {customFields.teamEmail}!</div>;\n}\n"})}),"\n",(0,t.jsx)(n.h2,{id:"choosing-a-hosting-provider",children:"Choosing a hosting provider"}),"\n",(0,t.jsx)(n.p,{children:"There are a few common hosting options:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"#self-hosting",children:"Self hosting"})," with an HTTP server like Apache2 or Nginx."]}),"\n",(0,t.jsxs)(n.li,{children:["Jamstack providers (e.g. ",(0,t.jsx)(n.a,{href:"#deploying-to-netlify",children:"Netlify"})," and ",(0,t.jsx)(n.a,{href:"#deploying-to-vercel",children:"Vercel"}),"). We will use them as references, but the same reasoning can apply to other providers."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"#deploying-to-github-pages",children:"GitHub Pages"})," (by definition, it is also Jamstack, but we compare it separately)."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"If you are unsure of which one to choose, ask the following questions:"}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:(0,t.jsx)(n.p,{children:"How many resources (money, person-hours, etc.) am I willing to invest in this?"})}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\uD83D\uDD34 Self-hosting requires experience in networking as well as Linux and web server administration. It's the most difficult option, and would require the most time to manage successfully. Expense-wise, cloud services are almost never free, and purchasing/deploying an onsite server can be even more costly."}),"\n",(0,t.jsx)(n.li,{children:"\uD83D\uDFE2 Jamstack providers can help you set up a working website in almost no time and offer features like server-side redirects that are easily configurable. Many providers offer generous build-time quotas even for free plans that you would almost never exceed. However, free plans have limits, and you would need to pay once you hit those limits. Check the pricing page of your provider for details."}),"\n",(0,t.jsxs)(n.li,{children:["\uD83D\uDFE1 The GitHub Pages deployment workflow can be tedious to set up. (Evidence: see the length of ",(0,t.jsx)(n.a,{href:"#deploying-to-github-pages",children:"Deploying to GitHub Pages"}),"!) However, this service (including build and deployment) is always free for public repositories, and we have detailed instructions to help you make it work."]}),"\n"]})]}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"How much server-side customization do I need?"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\uD83D\uDFE2 With self-hosting, you have access to the entire server's configuration. You can configure the virtual host to serve different content based on the request URL, you can do complicated server-side redirects, you can implement authentication, and so on. If you need a lot of server-side features, self-host your website."}),"\n",(0,t.jsx)(n.li,{children:"\uD83D\uDFE1 Jamstack usually offers some server-side configuration (e.g. URL formatting (trailing slashes), server-side redirects, etc.)."}),"\n",(0,t.jsx)(n.li,{children:"\uD83D\uDD34 GitHub Pages doesn't expose server-side configuration besides enforcing HTTPS and setting CNAME records."}),"\n"]})]}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Do I need collaboration-friendly deployment workflows?"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"\uD83D\uDFE1 Self-hosted services can leverage continuous deployment functionality like Netlify, but more heavy-lifting is involved. Usually, you would designate a specific person to manage the deployment, and the workflow wouldn't be very git-based as opposed to the other two options."}),"\n",(0,t.jsx)(n.li,{children:"\uD83D\uDFE2 Netlify and Vercel have deploy previews for every pull request, which is useful for a team to review work before merging to production. You can also manage a team with different member access to the deployment."}),"\n",(0,t.jsx)(n.li,{children:"\uD83D\uDFE1 GitHub Pages cannot do deploy previews in a non-convoluted way. One repo can only be associated with one site deployment. On the other hand, you can control who has write access to the site's deployment."}),"\n"]})]}),"\n",(0,t.jsx)(n.p,{children:"There isn't a silver bullet. You need to weigh your needs and resources before making a choice."}),"\n",(0,t.jsx)(n.h2,{id:"self-hosting",children:"Self-Hosting"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus can be self-hosted using ",(0,t.jsx)(n.a,{href:"/docs/cli#docusaurus-serve-sitedir",children:(0,t.jsx)(n.code,{children:"docusaurus serve"})}),". Change port using ",(0,t.jsx)(n.code,{children:"--port"})," and ",(0,t.jsx)(n.code,{children:"--host"})," to change host."]}),"\n",(0,t.jsxs)(r.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(l.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run serve -- --build --port 80 --host 0.0.0.0\n"})})}),(0,t.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn serve --build --port 80 --host 0.0.0.0\n"})})}),(0,t.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run serve --build --port 80 --host 0.0.0.0\n"})})})]}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsx)(n.p,{children:"It is not the best option, compared to a static hosting provider / CDN."})}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsx)(n.p,{children:"In the following sections, we will introduce a few common hosting providers and how they should be configured to deploy Docusaurus sites most efficiently. Docusaurus is not affiliated with any of these services, and this information is provided for convenience only. Some of the write-ups are provided by third-parties, and recent API changes may not be reflected on our side. If you see outdated content, PRs are welcome."}),(0,t.jsx)(n.p,{children:"Because we can only provide this content on a best-effort basis only, we have stopped accepting PRs adding new hosting options. You can, however, publish your writeup on a separate site (e.g. your blog, or the provider's official website), and ask us to include a link to your writeup."})]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-netlify",children:"Deploying to Netlify"}),"\n",(0,t.jsxs)(n.p,{children:["To deploy your Docusaurus sites to ",(0,t.jsx)(n.a,{href:"https://www.netlify.com/",children:"Netlify"}),", first make sure the following options are properly configured:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // highlight-start\n url: 'https://docusaurus-2.netlify.app', // Url to your site with no trailing slash\n baseUrl: '/', // Base directory of your site relative to your repo\n // highlight-end\n // ...\n};\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Then, ",(0,t.jsx)(n.a,{href:"https://app.netlify.com/start",children:"create your site with Netlify"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"While you set up the site, specify the build commands and directories as follows:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["build command: ",(0,t.jsx)(n.code,{children:"npm run build"})]}),"\n",(0,t.jsxs)(n.li,{children:["publish directory: ",(0,t.jsx)(n.code,{children:"build"})]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:'If you did not configure these build options, you may still go to "Site settings" -> "Build & deploy" after your site is created.'}),"\n",(0,t.jsxs)(n.p,{children:["Once properly configured with the above options, your site should deploy and automatically redeploy upon merging to your deploy branch, which defaults to ",(0,t.jsx)(n.code,{children:"main"}),"."]}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsxs)(n.p,{children:["Some Docusaurus sites put the ",(0,t.jsx)(n.code,{children:"docs"})," folder outside of ",(0,t.jsx)(n.code,{children:"website"})," (most likely former Docusaurus v1 sites):"]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"repo # git root\n\u251C\u2500\u2500 docs # MD files\n\u2514\u2500\u2500 website # Docusaurus root\n"})}),(0,t.jsxs)(n.p,{children:["If you decide to use the ",(0,t.jsx)(n.code,{children:"website"})," folder as Netlify's base directory, Netlify will not trigger builds when you update the ",(0,t.jsx)(n.code,{children:"docs"})," folder, and you need to configure a ",(0,t.jsxs)(n.a,{href:"https://docs.netlify.com/configure-builds/common-configurations/ignore-builds/",children:["custom ",(0,t.jsx)(n.code,{children:"ignore"})," command"]}),":"]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-toml",metastring:'title="website/netlify.toml"',children:'[build]\n ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF . ../docs/"\n'})})]}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsx)(n.p,{children:"By default, Netlify adds trailing slashes to Docusaurus URLs."}),(0,t.jsxs)(n.p,{children:["It is recommended to disable the Netlify setting ",(0,t.jsx)(n.code,{children:"Post Processing > Asset Optimization > Pretty Urls"})," to prevent lowercase URLs, unnecessary redirects, and 404 errors."]}),(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Be very careful"}),": the ",(0,t.jsx)(n.code,{children:"Disable asset optimization"})," global checkbox is broken and does not really disable the ",(0,t.jsx)(n.code,{children:"Pretty URLs"})," setting in practice. Please make sure to ",(0,t.jsx)(n.strong,{children:"uncheck it independently"}),"."]}),(0,t.jsxs)(n.p,{children:["If you want to keep the ",(0,t.jsx)(n.code,{children:"Pretty Urls"})," Netlify setting on, adjust the ",(0,t.jsx)(n.code,{children:"trailingSlash"})," Docusaurus config appropriately."]}),(0,t.jsxs)(n.p,{children:["Refer to ",(0,t.jsx)(n.a,{href:"https://github.com/slorber/trailing-slash-guide",children:"slorber/trailing-slash-guide"})," for more information."]})]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-vercel",children:"Deploying to Vercel"}),"\n",(0,t.jsxs)(n.p,{children:["Deploying your Docusaurus project to ",(0,t.jsx)(n.a,{href:"https://vercel.com/",children:"Vercel"})," will provide you with ",(0,t.jsx)(n.a,{href:"https://vercel.com/",children:"various benefits"})," in the areas of performance and ease of use."]}),"\n",(0,t.jsxs)(n.p,{children:["To deploy your Docusaurus project with a ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/concepts/git",children:"Vercel for Git Integration"}),", make sure it has been pushed to a Git repository."]}),"\n",(0,t.jsxs)(n.p,{children:["Import the project into Vercel using the ",(0,t.jsx)(n.a,{href:"https://vercel.com/import/git",children:"Import Flow"}),". During the import, you will find all relevant options preconfigured for you; however, you can choose to change any of these ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/build-step#build-&-development-settings",children:"options"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["After your project has been imported, all subsequent pushes to branches will generate ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/platform/deployments#preview",children:"Preview Deployments"}),", and all changes made to the ",(0,t.jsx)(n.a,{href:"https://vercel.com/docs/git-integrations#production-branch",children:"Production Branch"}),' (usually "main" or "master") will result in a ',(0,t.jsx)(n.a,{href:"https://vercel.com/docs/platform/deployments#production",children:"Production Deployment"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-github-pages",children:"Deploying to GitHub Pages"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus provides an easy way to publish to ",(0,t.jsx)(n.a,{href:"https://pages.github.com/",children:"GitHub Pages"}),", which comes free with every GitHub repository."]}),"\n",(0,t.jsx)(n.h3,{id:"github-pages-overview",children:"Overview"}),"\n",(0,t.jsxs)(n.p,{children:["Usually, there are two repositories (at least two branches) involved in a publishing process: the branch containing the source files, and the branch containing the build output to be served with GitHub Pages. In the following tutorial, they will be referred to as ",(0,t.jsx)(n.strong,{children:'"source"'})," and ",(0,t.jsx)(n.strong,{children:'"deployment"'}),", respectively."]}),"\n",(0,t.jsxs)(n.p,{children:["Each GitHub repository is associated with a GitHub Pages service. If the deployment repository is called ",(0,t.jsx)(n.code,{children:"my-org/my-project"})," (where ",(0,t.jsx)(n.code,{children:"my-org"})," is the organization name or username), the deployed site will appear at ",(0,t.jsx)(n.code,{children:"https://my-org.github.io/my-project/"}),". If the deployment repository is called ",(0,t.jsx)(n.code,{children:"my-org/my-org.github.io"})," (the ",(0,t.jsx)(n.em,{children:"organization GitHub Pages repo"}),"), the site will appear at ",(0,t.jsx)(n.code,{children:"https://my-org.github.io/"}),"."]}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsxs)(n.p,{children:["In case you want to use your custom domain for GitHub Pages, create a ",(0,t.jsx)(n.code,{children:"CNAME"})," file in the ",(0,t.jsx)(n.code,{children:"static"})," directory. Anything within the ",(0,t.jsx)(n.code,{children:"static"})," directory will be copied to the root of the ",(0,t.jsx)(n.code,{children:"build"})," directory for deployment. When using a custom domain, you should be able to move back from ",(0,t.jsx)(n.code,{children:"baseUrl: '/projectName/'"})," to ",(0,t.jsx)(n.code,{children:"baseUrl: '/'"}),", and also set your ",(0,t.jsx)(n.code,{children:"url"})," to your custom domain."]}),(0,t.jsxs)(n.p,{children:["You may refer to GitHub Pages' documentation ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/articles/user-organization-and-project-pages",children:"User, Organization, and Project Pages"})," for more details."]})]}),"\n",(0,t.jsxs)(n.p,{children:["GitHub Pages picks up deploy-ready files (the output from ",(0,t.jsx)(n.code,{children:"docusaurus build"}),") from the default branch (",(0,t.jsx)(n.code,{children:"master"})," / ",(0,t.jsx)(n.code,{children:"main"}),", usually) or the ",(0,t.jsx)(n.code,{children:"gh-pages"})," branch, and either from the root or the ",(0,t.jsx)(n.code,{children:"/docs"})," folder. You can configure that through ",(0,t.jsx)(n.code,{children:"Settings > Pages"}),' in your repository. This branch will be called the "deployment branch".']}),"\n",(0,t.jsxs)(n.p,{children:["We provide a ",(0,t.jsx)(n.code,{children:"docusaurus deploy"})," command that helps you deploy your site from the source branch to the deployment branch in one command: clone, build, and commit."]}),"\n",(0,t.jsxs)(n.h3,{id:"docusaurusconfigjs-settings",children:[(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," settings"]}),"\n",(0,t.jsxs)(n.p,{children:["First, modify your ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," and add the following params:"]}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"organizationName"})}),(0,t.jsx)(n.td,{children:"The GitHub user or organization that owns the deployment repository."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"projectName"})}),(0,t.jsx)(n.td,{children:"The name of the deployment repository."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"deploymentBranch"})}),(0,t.jsxs)(n.td,{children:["The name of the deployment branch. It defaults to ",(0,t.jsx)(n.code,{children:"'gh-pages'"})," for non-organization GitHub Pages repos (",(0,t.jsx)(n.code,{children:"projectName"})," not ending in ",(0,t.jsx)(n.code,{children:".github.io"}),"). Otherwise, it needs to be explicit as a config field or environment variable."]})]})]})]}),"\n",(0,t.jsxs)(n.p,{children:["These fields also have their environment variable counterparts which have a higher priority: ",(0,t.jsx)(n.code,{children:"ORGANIZATION_NAME"}),", ",(0,t.jsx)(n.code,{children:"PROJECT_NAME"}),", and ",(0,t.jsx)(n.code,{children:"DEPLOYMENT_BRANCH"}),"."]}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsxs)(n.p,{children:["GitHub Pages adds a trailing slash to Docusaurus URLs by default. It is recommended to set a ",(0,t.jsx)(n.code,{children:"trailingSlash"})," config (",(0,t.jsx)(n.code,{children:"true"})," or ",(0,t.jsx)(n.code,{children:"false"}),", not ",(0,t.jsx)(n.code,{children:"undefined"}),")."]})}),"\n",(0,t.jsx)(n.p,{children:"Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n url: 'https://endiliey.github.io', // Your website URL\n baseUrl: '/',\n // highlight-start\n projectName: 'endiliey.github.io',\n organizationName: 'endiliey',\n trailingSlash: false,\n // highlight-end\n // ...\n};\n"})}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsxs)(n.p,{children:["By default, GitHub Pages runs published files through ",(0,t.jsx)(n.a,{href:"https://jekyllrb.com/",children:"Jekyll"}),". Since Jekyll will discard any files that begin with ",(0,t.jsx)(n.code,{children:"_"}),", it is recommended that you disable Jekyll by adding an empty file named ",(0,t.jsx)(n.code,{children:".nojekyll"})," file to your ",(0,t.jsx)(n.code,{children:"static"})," directory."]})}),"\n",(0,t.jsx)(n.h3,{id:"environment-settings",children:"Environment settings"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"USE_SSH"})}),(0,t.jsxs)(n.td,{children:["Set to ",(0,t.jsx)(n.code,{children:"true"})," to use SSH instead of the default HTTPS for the connection to the GitHub repo. If the source repo URL is an SSH URL (e.g. ",(0,t.jsx)(n.code,{children:"git@github.com:facebook/docusaurus.git"}),"), ",(0,t.jsx)(n.code,{children:"USE_SSH"})," is inferred to be ",(0,t.jsx)(n.code,{children:"true"}),"."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_USER"})}),(0,t.jsxs)(n.td,{children:["The username for a GitHub account that ",(0,t.jsx)(n.strong,{children:"has push access to the deployment repo"}),". For your own repositories, this will usually be your GitHub username. Required if not using SSH, and ignored otherwise."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_PASS"})}),(0,t.jsxs)(n.td,{children:["Personal access token of the git user (specified by ",(0,t.jsx)(n.code,{children:"GIT_USER"}),"), to facilitate non-interactive deployment (e.g. continuous deployment)"]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"CURRENT_BRANCH"})}),(0,t.jsxs)(n.td,{children:["The source branch. Usually, the branch will be ",(0,t.jsx)(n.code,{children:"main"})," or ",(0,t.jsx)(n.code,{children:"master"}),", but it could be any branch except for ",(0,t.jsx)(n.code,{children:"gh-pages"}),". If nothing is set for this variable, then the current branch from which ",(0,t.jsx)(n.code,{children:"docusaurus deploy"})," is invoked will be used."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_USER_NAME"})}),(0,t.jsxs)(n.td,{children:["The ",(0,t.jsx)(n.code,{children:"git config user.name"})," value to use when pushing to the deployment repo"]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GIT_USER_EMAIL"})}),(0,t.jsxs)(n.td,{children:["The ",(0,t.jsx)(n.code,{children:"git config user.email"})," value to use when pushing to the deployment repo"]})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"GitHub enterprise installations should work in the same manner as github.com; you only need to set the organization's GitHub Enterprise host as an environment variable:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GITHUB_HOST"})}),(0,t.jsx)(n.td,{children:"The domain name of your GitHub enterprise site."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"GITHUB_PORT"})}),(0,t.jsx)(n.td,{children:"The port of your GitHub enterprise site."})]})]})]}),"\n",(0,t.jsx)(n.h3,{id:"deploy",children:"Deploy"}),"\n",(0,t.jsx)(n.p,{children:"Finally, to deploy your site to GitHub Pages, run:"}),"\n",(0,t.jsxs)(r.Z,{children:[(0,t.jsx)(l.Z,{value:"bash",label:"Bash",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"GIT_USER=<GITHUB_USERNAME> yarn deploy\n"})})}),(0,t.jsx)(l.Z,{value:"windows",label:"Windows",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-batch",children:'cmd /C "set "GIT_USER=<GITHUB_USERNAME>" && yarn deploy"\n'})})}),(0,t.jsx)(l.Z,{value:"powershell",label:"PowerShell",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-powershell",children:"cmd /C 'set \"GIT_USER=<GITHUB_USERNAME>\" && yarn deploy'\n"})})})]}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsxs)(n.p,{children:["Beginning in August 2021, GitHub requires every command-line sign-in to use the ",(0,t.jsx)(n.strong,{children:"personal access token"})," instead of the password. When GitHub prompts for your password, enter the PAT instead. See the ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token",children:"GitHub documentation"})," for more information."]}),(0,t.jsxs)(n.p,{children:["Alternatively, you can use SSH (",(0,t.jsx)(n.code,{children:"USE_SSH=true"}),") to log in."]})]}),"\n",(0,t.jsx)(n.h3,{id:"triggering-deployment-with-github-actions",children:"Triggering deployment with GitHub Actions"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://help.github.com/en/actions",children:"GitHub Actions"})," allow you to automate, customize, and execute your software development workflows right in your repository."]}),"\n",(0,t.jsxs)(n.p,{children:["The workflow examples below assume your website source resides in the ",(0,t.jsx)(n.code,{children:"main"})," branch of your repository (the ",(0,t.jsx)(n.em,{children:"source branch"})," is ",(0,t.jsx)(n.code,{children:"main"}),"), and your ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site",children:"publishing source"})," is configured for ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow",children:"publishing with a custom GitHub Actions Workflow"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Our goal is that:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["When a new pull request is made to ",(0,t.jsx)(n.code,{children:"main"}),", there's an action that ensures the site builds successfully, without actually deploying. This job will be called ",(0,t.jsx)(n.code,{children:"test-deploy"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["When a pull request is merged to the ",(0,t.jsx)(n.code,{children:"main"})," branch or someone pushes to the ",(0,t.jsx)(n.code,{children:"main"})," branch directly, it will be built and deployed to GitHub Pages. This job will be called ",(0,t.jsx)(n.code,{children:"deploy"}),"."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Here are two approaches to deploying your docs with GitHub Actions. Based on the location of your deployment repository, choose the relevant tab below:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Source repo and deployment repo are the ",(0,t.jsx)(n.strong,{children:"same"})," repository."]}),"\n",(0,t.jsxs)(n.li,{children:["The deployment repo is a ",(0,t.jsx)(n.strong,{children:"remote"})," repository, different from the source. Instructions for this scenario assume ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site",children:"publishing source"})," is the ",(0,t.jsx)(n.code,{children:"gh-pages"})," branch."]}),"\n"]}),"\n",(0,t.jsxs)(r.Z,{children:[(0,t.jsxs)(l.Z,{value:"same",label:"Same",children:[(0,t.jsxs)(n.p,{children:["While you can have both jobs defined in the same workflow file, the original ",(0,t.jsx)(n.code,{children:"deploy"})," workflow will always be listed as skipped in the PR check suite status, which is not indicative of the actual status and provides no value to the review process. We therefore propose to manage them as separate workflows instead."]}),(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"GitHub action files"}),(0,t.jsx)(n.p,{children:"Add these two workflow files:"}),(0,t.jsxs)(n.admonition,{title:"Tweak the parameters for your setup",type:"warning",children:[(0,t.jsxs)(n.p,{children:["These files assume you are using Yarn. If you use npm, change ",(0,t.jsx)(n.code,{children:"cache: yarn"}),", ",(0,t.jsx)(n.code,{children:"yarn install --frozen-lockfile"}),", ",(0,t.jsx)(n.code,{children:"yarn build"})," to ",(0,t.jsx)(n.code,{children:"cache: npm"}),", ",(0,t.jsx)(n.code,{children:"npm ci"}),", ",(0,t.jsx)(n.code,{children:"npm run build"})," accordingly."]}),(0,t.jsxs)(n.p,{children:["If your Docusaurus project is not at the root of your repo, you may need to configure a ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-set-the-default-shell-and-working-directory",children:"default working directory"}),", and adjust the paths accordingly."]})]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".github/workflows/deploy.yml"',children:"name: Deploy to GitHub Pages\n\non:\n push:\n branches:\n - main\n # Review gh actions docs if you want to further define triggers, paths, etc\n # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on\n\njobs:\n build:\n name: Build Docusaurus\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n\n - name: Install dependencies\n run: yarn install --frozen-lockfile\n - name: Build website\n run: yarn build\n\n - name: Upload Build Artifact\n uses: actions/upload-pages-artifact@v3\n with:\n path: build\n\n deploy:\n name: Deploy to GitHub Pages\n needs: build\n\n # Grant GITHUB_TOKEN the permissions required to make a Pages deployment\n permissions:\n pages: write # to deploy to Pages\n id-token: write # to verify the deployment originates from an appropriate source\n\n # Deploy to the github-pages environment\n environment:\n name: github-pages\n url: ${{ steps.deployment.outputs.page_url }}\n\n runs-on: ubuntu-latest\n steps:\n - name: Deploy to GitHub Pages\n id: deployment\n uses: actions/deploy-pages@v4\n"})}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".github/workflows/test-deploy.yml"',children:"name: Test deployment\n\non:\n pull_request:\n branches:\n - main\n # Review gh actions docs if you want to further define triggers, paths, etc\n # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on\n\njobs:\n test-deploy:\n name: Test deployment\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n\n - name: Install dependencies\n run: yarn install --frozen-lockfile\n - name: Test build website\n run: yarn build\n"})})]})]}),(0,t.jsxs)(l.Z,{value:"remote",label:"Remote",children:[(0,t.jsx)(n.p,{children:"A cross-repo publish is more difficult to set up because you need to push to another repo with permission checks. We will be using SSH to do the authentication."}),(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent",children:"SSH key"}),". Since this SSH key will be used in CI, make sure to not enter any passphrase."]}),"\n",(0,t.jsxs)(n.li,{children:["By default, your public key should have been created in ",(0,t.jsx)(n.code,{children:"~/.ssh/id_rsa.pub"}),"; otherwise, use the name you've provided in the previous step to add your key to ",(0,t.jsx)(n.a,{href:"https://developer.github.com/v3/guides/managing-deploy-keys/",children:"GitHub deploy keys"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Copy the key to clipboard with ",(0,t.jsx)(n.code,{children:"pbcopy < ~/.ssh/id_rsa.pub"})," and paste it as a ",(0,t.jsx)(n.a,{href:"https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys",children:"deploy key"})," in the deployment repository. Copy the file content if the command line doesn't work for you. Check the box for ",(0,t.jsx)(n.code,{children:"Allow write access"})," before saving your deployment key."]}),"\n",(0,t.jsxs)(n.li,{children:["You'll need your private key as a ",(0,t.jsx)(n.a,{href:"https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets",children:"GitHub secret"})," to allow Docusaurus to run the deployment for you."]}),"\n",(0,t.jsxs)(n.li,{children:["Copy your private key with ",(0,t.jsx)(n.code,{children:"pbcopy < ~/.ssh/id_rsa"})," and paste a GitHub secret with the name ",(0,t.jsx)(n.code,{children:"GH_PAGES_DEPLOY"})," on your source repository. Copy the file content if the command line doesn't work for you. Save your secret."]}),"\n",(0,t.jsxs)(n.li,{children:["Create your ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/actions/use-cases-and-examples/creating-an-example-workflow",children:"documentation workflow"})," in the ",(0,t.jsx)(n.code,{children:".github/workflows/"})," directory. In this example it's the ",(0,t.jsx)(n.code,{children:"deploy.yml"})," file."]}),"\n"]}),(0,t.jsx)(n.p,{children:"At this point, you should have:"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"the source repo with the GitHub workflow set with the private SSH key as the GitHub Secret, and"}),"\n",(0,t.jsx)(n.li,{children:"your deployment repo set with the public SSH key in GitHub Deploy Keys."}),"\n"]}),(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"GitHub action file"}),(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsxs)(n.p,{children:["Please make sure that you replace ",(0,t.jsx)(n.code,{children:"actions@github.com"})," with your GitHub email and ",(0,t.jsx)(n.code,{children:"gh-actions"})," with your name."]}),(0,t.jsxs)(n.p,{children:["This file assumes you are using Yarn. If you use npm, change ",(0,t.jsx)(n.code,{children:"cache: yarn"}),", ",(0,t.jsx)(n.code,{children:"yarn install --frozen-lockfile"}),", ",(0,t.jsx)(n.code,{children:"yarn build"})," to ",(0,t.jsx)(n.code,{children:"cache: npm"}),", ",(0,t.jsx)(n.code,{children:"npm ci"}),", ",(0,t.jsx)(n.code,{children:"npm run build"})," accordingly."]})]}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".github/workflows/deploy.yml"',children:"name: Deploy to GitHub Pages\n\non:\n pull_request:\n branches: [main]\n push:\n branches: [main]\n\npermissions:\n contents: write\n\njobs:\n test-deploy:\n if: github.event_name != 'push'\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n - name: Install dependencies\n run: yarn install --frozen-lockfile\n - name: Test build website\n run: yarn build\n deploy:\n if: github.event_name != 'pull_request'\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n - uses: actions/setup-node@v4\n with:\n node-version: 18\n cache: yarn\n - uses: webfactory/ssh-agent@v0.5.0\n with:\n ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }}\n - name: Deploy to GitHub Pages\n env:\n USE_SSH: true\n run: |\n git config --global user.email \"actions@github.com\"\n git config --global user.name \"gh-actions\"\n yarn install --frozen-lockfile\n yarn deploy\n"})})]})]})]}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Site not deployed properly?"}),(0,t.jsx)(n.p,{children:"After pushing to main, if you don't see your site published at the desired location (for example, it says \"There isn't a GitHub Pages site here\", or it's showing your repo's README.md file), try the following:"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Wait about three minutes and refresh. It may take a few minutes for GitHub pages to pick up the new files."}),"\n",(0,t.jsx)(n.li,{children:"Check your repo's landing page for a little green tick next to the last commit's title, indicating the CI has passed. If you see a cross, it means the build or deployment failed, and you should check the log for more debugging information."}),"\n",(0,t.jsxs)(n.li,{children:['Click on the tick and make sure you see a "Deploy to GitHub Pages" workflow. Names like "pages build and deployment / deploy" are GitHub\'s default workflows, indicating your custom deployment workflow failed to be triggered at all. Make sure the YAML files are placed under the ',(0,t.jsx)(n.code,{children:".github/workflows"}),' folder, and that the trigger condition is set correctly (e.g., if your default branch is "master" instead of "main", you need to change the ',(0,t.jsx)(n.code,{children:"on.push"})," property)."]}),"\n",(0,t.jsxs)(n.li,{children:['Under your repo\'s Settings > Pages, make sure the "Source" (which is the source for the ',(0,t.jsx)(n.em,{children:"deployment"}),' files, not "source" as in our terminology) is set to "gh-pages" + "/ (root)", since we are using ',(0,t.jsx)(n.code,{children:"gh-pages"})," as the deployment branch."]}),"\n"]}),(0,t.jsx)(n.p,{children:"If you are using a custom domain:"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Verify that you have the correct DNS records set up if you're using a custom domain. See ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages",children:"GitHub pages documentation on configuring custom domains"}),". Also, please be aware that it may take up to 24 hours for DNS changes to propagate through the internet."]}),"\n"]})]}),"\n",(0,t.jsx)(n.h3,{id:"triggering-deployment-with-travis-ci",children:"Triggering deployment with Travis CI"}),"\n",(0,t.jsxs)(n.p,{children:["Continuous integration (CI) services are typically used to perform routine tasks whenever new commits are checked in to source control. These tasks can be any combination of running unit tests and integration tests, automating builds, publishing packages to npm, and deploying changes to your website. All you need to do to automate the deployment of your website is to invoke the ",(0,t.jsx)(n.code,{children:"yarn deploy"})," script whenever your website is updated. The following section covers how to do just that using ",(0,t.jsx)(n.a,{href:"https://travis-ci.com/",children:"Travis CI"}),", a popular continuous integration service provider."]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.a,{href:"https://github.com/settings/tokens",children:"https://github.com/settings/tokens"})," and generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/",children:"personal access token"}),". When creating the token, grant it the ",(0,t.jsx)(n.code,{children:"repo"})," scope so that it has the permissions it needs."]}),"\n",(0,t.jsxs)(n.li,{children:["Using your GitHub account, ",(0,t.jsx)(n.a,{href:"https://github.com/marketplace/travis-ci",children:"add the Travis CI app"})," to the repository you want to activate."]}),"\n",(0,t.jsxs)(n.li,{children:["Open your Travis CI dashboard. The URL looks like ",(0,t.jsx)(n.code,{children:"https://travis-ci.com/USERNAME/REPO"}),", and navigate to the ",(0,t.jsx)(n.code,{children:"More options > Setting > Environment Variables"})," section of your repository."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a new environment variable named ",(0,t.jsx)(n.code,{children:"GH_TOKEN"})," with your newly generated token as its value, then ",(0,t.jsx)(n.code,{children:"GH_EMAIL"})," (your email address) and ",(0,t.jsx)(n.code,{children:"GH_NAME"})," (your GitHub username)."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a ",(0,t.jsx)(n.code,{children:".travis.yml"})," on the root of your repository with the following:"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".travis.yml"',children:'language: node_js\nnode_js:\n - 18\nbranches:\n only:\n - main\ncache:\n yarn: true\nscript:\n - git config --global user.name "${GH_NAME}"\n - git config --global user.email "${GH_EMAIL}"\n - echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc\n - yarn install\n - GIT_USER="${GH_NAME}" yarn deploy\n'})}),"\n",(0,t.jsxs)(n.p,{children:["Now, whenever a new commit lands in ",(0,t.jsx)(n.code,{children:"main"}),", Travis CI will run your suite of tests and if everything passes, your website will be deployed via the ",(0,t.jsx)(n.code,{children:"yarn deploy"})," script."]}),"\n",(0,t.jsx)(n.h3,{id:"triggering-deployment-with-buddy",children:"Triggering deployment with Buddy"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://buddy.works/",children:"Buddy"})," is an easy-to-use CI/CD tool that allows you to automate the deployment of your portal to different environments, including GitHub Pages."]}),"\n",(0,t.jsx)(n.p,{children:"Follow these steps to create a pipeline that automatically deploys a new version of your website whenever you push changes to the selected branch of your project:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.a,{href:"https://github.com/settings/tokens",children:"https://github.com/settings/tokens"})," and generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/",children:"personal access token"}),". When creating the token, grant it the ",(0,t.jsx)(n.code,{children:"repo"})," scope so that it has the permissions it needs."]}),"\n",(0,t.jsx)(n.li,{children:"Sign in to your Buddy account and create a new project."}),"\n",(0,t.jsx)(n.li,{children:"Choose GitHub as your git hosting provider and select the repository with the code of your website."}),"\n",(0,t.jsxs)(n.li,{children:["Using the left navigation panel, switch to the ",(0,t.jsx)(n.code,{children:"Pipelines"})," view."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a new pipeline. Define its name, set the trigger mode to ",(0,t.jsx)(n.code,{children:"On push"}),", and select the branch that triggers the pipeline execution."]}),"\n",(0,t.jsxs)(n.li,{children:["Add a ",(0,t.jsx)(n.code,{children:"Node.js"})," action."]}),"\n",(0,t.jsx)(n.li,{children:"Add these commands in the action's terminal:"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'GIT_USER=<GH_PERSONAL_ACCESS_TOKEN>\ngit config --global user.email "<YOUR_GH_EMAIL>"\ngit config --global user.name "<YOUR_GH_USERNAME>"\nyarn deploy\n'})}),"\n",(0,t.jsxs)(n.p,{children:["After creating this simple pipeline, each new commit pushed to the branch you selected deploys your website to GitHub Pages using ",(0,t.jsx)(n.code,{children:"yarn deploy"}),". Read ",(0,t.jsx)(n.a,{href:"https://buddy.works/guides/react-docusaurus",children:"this guide"})," to learn more about setting up a CI/CD pipeline for Docusaurus."]}),"\n",(0,t.jsx)(n.h3,{id:"using-azure-pipelines",children:"Using Azure Pipelines"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Sign Up at ",(0,t.jsx)(n.a,{href:"https://azure.microsoft.com/en-us/services/devops/pipelines/",children:"Azure Pipelines"})," if you haven't already."]}),"\n",(0,t.jsx)(n.li,{children:"Create an organization. Within the organization, create a project and connect your repository from GitHub."}),"\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.a,{href:"https://github.com/settings/tokens",children:"https://github.com/settings/tokens"})," and generate a new ",(0,t.jsx)(n.a,{href:"https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/",children:"personal access token"})," with the ",(0,t.jsx)(n.code,{children:"repo"})," scope."]}),"\n",(0,t.jsxs)(n.li,{children:["In the project page (which looks like ",(0,t.jsx)(n.code,{children:"https://dev.azure.com/ORG_NAME/REPO_NAME/_build"}),"), create a new pipeline with the following text. Also, click on edit and add a new environment variable named ",(0,t.jsx)(n.code,{children:"GH_TOKEN"})," with your newly generated token as its value, then ",(0,t.jsx)(n.code,{children:"GH_EMAIL"})," (your email address) and ",(0,t.jsx)(n.code,{children:"GH_NAME"})," (your GitHub username). Make sure to mark them as secret. Alternatively, you can also add a file named ",(0,t.jsx)(n.code,{children:"azure-pipelines.yml"})," at your repository root."]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title="azure-pipelines.yml"',children:'trigger:\n - main\n\npool:\n vmImage: ubuntu-latest\n\nsteps:\n - checkout: self\n persistCredentials: true\n\n - task: NodeTool@0\n inputs:\n versionSpec: \'18\'\n displayName: Install Node.js\n\n - script: |\n git config --global user.name "${GH_NAME}"\n git config --global user.email "${GH_EMAIL}"\n git checkout -b main\n echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc\n yarn install\n GIT_USER="${GH_NAME}" yarn deploy\n env:\n GH_NAME: $(GH_NAME)\n GH_EMAIL: $(GH_EMAIL)\n GH_TOKEN: $(GH_TOKEN)\n displayName: Install and build\n'})}),"\n",(0,t.jsx)(n.h3,{id:"using-drone",children:"Using Drone"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Create a new SSH key that will be the ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/free-pro-team@latest/developers/overview/managing-deploy-keys#deploy-keys",children:"deploy key"})," for your project."]}),"\n",(0,t.jsxs)(n.li,{children:["Name your private and public keys to be specific and so that it does not overwrite your other ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent",children:"SSH keys"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Go to ",(0,t.jsx)(n.code,{children:"https://github.com/USERNAME/REPO/settings/keys"})," and add a new deploy key by pasting in the public key you just generated."]}),"\n",(0,t.jsxs)(n.li,{children:["Open your Drone.io dashboard and log in. The URL looks like ",(0,t.jsx)(n.code,{children:"https://cloud.drone.io/USERNAME/REPO"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Click on the repository, click on activate repository, and add a secret called ",(0,t.jsx)(n.code,{children:"git_deploy_private_key"})," with your private key value that you just generated."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a ",(0,t.jsx)(n.code,{children:".drone.yml"})," on the root of your repository with the below text."]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yml",metastring:'title=".drone.yml"',children:'kind: pipeline\ntype: docker\ntrigger:\n event:\n - tag\n- name: Website\n image: node\n commands:\n - mkdir -p $HOME/.ssh\n - ssh-keyscan -t rsa github.com >> $HOME/.ssh/known_hosts\n - echo "$GITHUB_PRIVATE_KEY" > "$HOME/.ssh/id_rsa"\n - chmod 0600 $HOME/.ssh/id_rsa\n - cd website\n - yarn install\n - yarn deploy\n environment:\n USE_SSH: true\n GITHUB_PRIVATE_KEY:\n from_secret: git_deploy_private_key\n'})}),"\n",(0,t.jsx)(n.p,{children:"Now, whenever you push a new tag to GitHub, this trigger will start the drone CI job to publish your website."}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-flightcontrol",children:"Deploying to Flightcontrol"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.flightcontrol.dev/?ref=docusaurus",children:"Flightcontrol"})," is a service that automatically builds and deploys your web apps to AWS Fargate directly from your Git repository. It gives you full access to inspect and make infrastructure changes without the limitations of a traditional PaaS."]}),"\n",(0,t.jsxs)(n.p,{children:["Get started by following ",(0,t.jsx)(n.a,{href:"https://www.flightcontrol.dev/docs/reference/examples/docusaurus/?ref=docusaurus",children:"Flightcontrol's step-by-step Docusaurus guide"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-koyeb",children:"Deploying to Koyeb"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.koyeb.com",children:"Koyeb"})," is a developer-friendly serverless platform to deploy apps globally. The platform lets you seamlessly run Docker containers, web apps, and APIs with git-based deployment, native autoscaling, a global edge network, and built-in service mesh and discovery. Check out the ",(0,t.jsx)(n.a,{href:"https://www.koyeb.com/tutorials/deploy-docusaurus-on-koyeb",children:"Koyeb's Docusaurus deployment guide"})," to get started."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-render",children:"Deploying to Render"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://render.com",children:"Render"})," offers ",(0,t.jsx)(n.a,{href:"https://render.com/docs/static-sites",children:"free static site hosting"})," with fully managed SSL, custom domains, a global CDN, and continuous auto-deploy from your Git repo. Get started in just a few minutes by following ",(0,t.jsx)(n.a,{href:"https://render.com/docs/deploy-docusaurus",children:"Render's guide to deploying Docusaurus"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-qovery",children:"Deploying to Qovery"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.qovery.com",children:"Qovery"})," is a fully-managed cloud platform that runs on your AWS, Digital Ocean, and Scaleway account where you can host static sites, backend APIs, databases, cron jobs, and all your other apps in one place."]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Create a Qovery account. Visit the ",(0,t.jsx)(n.a,{href:"https://console.qovery.com",children:"Qovery dashboard"})," to create an account if you don't already have one."]}),"\n",(0,t.jsxs)(n.li,{children:["Create a project.","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create project"})," and give a name to your project."]}),"\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Next"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Create a new environment.","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create environment"})," and give a name (e.g. staging, production)."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Add an application.","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create an application"}),", give a name and select your GitHub or GitLab repository where your Docusaurus app is located."]}),"\n",(0,t.jsx)(n.li,{children:"Define the main branch name and the root application path."}),"\n",(0,t.jsxs)(n.li,{children:["Click on ",(0,t.jsx)(n.strong,{children:"Create"}),". After the application is created:"]}),"\n",(0,t.jsxs)(n.li,{children:["Navigate to your application ",(0,t.jsx)(n.strong,{children:"Settings"})]}),"\n",(0,t.jsxs)(n.li,{children:["Select ",(0,t.jsx)(n.strong,{children:"Port"})]}),"\n",(0,t.jsx)(n.li,{children:"Add port used by your Docusaurus application"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Deploy","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["All you have to do now is to navigate to your application and click on ",(0,t.jsx)(n.strong,{children:"Deploy"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{src:"https://hub.qovery.com/img/heroku/heroku-1.png",alt:"Deploy the app"})}),"\n",(0,t.jsxs)(n.p,{children:["That's it. Watch the status and wait till the app is deployed. To open the application in your browser, click on ",(0,t.jsx)(n.strong,{children:"Action"})," and ",(0,t.jsx)(n.strong,{children:"Open"})," in your application overview."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-hostman",children:"Deploying to Hostman"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://hostman.com/",children:"Hostman"})," allows you to host static websites for free. Hostman automates everything, you just need to connect your repository and follow these easy steps:"]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Create a service."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["To deploy a Docusaurus static website, click ",(0,t.jsx)(n.strong,{children:"Create"})," in the top-left corner of your ",(0,t.jsx)(n.a,{href:"https://dashboard.hostman.com/",children:"Dashboard"})," and choose ",(0,t.jsx)(n.strong,{children:"Front-end app or static website"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Select the project to deploy."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"If you are logged in to Hostman with your GitHub, GitLab, or Bitbucket account, you will see the repository with your projects, including the private ones."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Choose the project you want to deploy. It must contain the directory with the project's files (e.g. ",(0,t.jsx)(n.code,{children:"website"}),")."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["To access a different repository, click ",(0,t.jsx)(n.strong,{children:"Connect another repository"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"If you didn't use your Git account credentials to log in, you'll be able to access the necessary account now, and then select the project."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Configure the build settings."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Next, the ",(0,t.jsx)(n.strong,{children:"Website customization"})," window will appear. Choose the ",(0,t.jsx)(n.strong,{children:"Static website"})," option from the list of frameworks."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.strong,{children:"Directory with app"})," points at the directory that will contain the project's files after the build. If you selected the repository with the contents of the website (or ",(0,t.jsx)(n.code,{children:"my_website"}),") directory during Step 2, you can leave it empty."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"The standard build command for Docusaurus is:"}),"\n",(0,t.jsxs)(r.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(l.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})}),(0,t.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn build\n"})})}),(0,t.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run build\n"})})})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["You can modify the build command if needed. You can enter multiple commands separated by ",(0,t.jsx)(n.code,{children:"&&"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Deploy."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Click ",(0,t.jsx)(n.strong,{children:"Deploy"})," to start the build process."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Once it starts, you will enter the deployment log. If there are any issues with the code, you will get warning or error messages in the log specifying the cause of the problem. Usually, the log contains all the debugging data you'll need."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"When the deployment is complete, you will receive an email notification and also see a log entry. All done! Your project is up and ready."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-surge",children:"Deploying to Surge"}),"\n",(0,t.jsxs)(n.p,{children:["Surge is a ",(0,t.jsx)(n.a,{href:"https://surge.sh/help/getting-started-with-surge",children:"static web hosting platform"})," that you can use to deploy your Docusaurus project from the command line in seconds. Deploying your project to Surge is easy and free (including custom domains and SSL certs)."]}),"\n",(0,t.jsx)(n.p,{children:"Deploy your app in a matter of seconds using Surge with the following steps:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["First, install Surge using npm by running the following command:","\n",(0,t.jsxs)(r.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(l.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm install -g surge\n"})})}),(0,t.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn global add surge\n"})})}),(0,t.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm add -g surge\n"})})})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["To build the static files of your site for production in the root directory of your project, run:","\n",(0,t.jsxs)(r.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(l.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})}),(0,t.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn build\n"})})}),(0,t.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run build\n"})})})]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Then, run this command inside the root directory of your project:","\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"surge build/\n"})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"First-time users of Surge would be prompted to create an account from the command line (which happens only once)."}),"\n",(0,t.jsxs)(n.p,{children:["Confirm that the site you want to publish is in the ",(0,t.jsx)(n.code,{children:"build"})," directory. A randomly generated subdomain ",(0,t.jsx)(n.code,{children:"*.surge.sh subdomain"})," is always given (which can be edited)."]}),"\n",(0,t.jsx)(n.h3,{id:"using-your-domain",children:"Using your domain"}),"\n",(0,t.jsx)(n.p,{children:"If you have a domain name you can deploy your site using the command:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"surge build/ your-domain.com\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Your site is now deployed for free at ",(0,t.jsx)(n.code,{children:"subdomain.surge.sh"})," or ",(0,t.jsx)(n.code,{children:"your-domain.com"})," depending on the method you chose."]}),"\n",(0,t.jsx)(n.h3,{id:"setting-up-cname-file",children:"Setting up CNAME file"}),"\n",(0,t.jsx)(n.p,{children:"Store your domain in a CNAME file for future deployments with the following command:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"echo subdomain.surge.sh > CNAME\n"})}),"\n",(0,t.jsxs)(n.p,{children:["You can deploy any other changes in the future with the command ",(0,t.jsx)(n.code,{children:"surge"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-stormkit",children:"Deploying to Stormkit"}),"\n",(0,t.jsxs)(n.p,{children:["You can deploy your Docusaurus project to ",(0,t.jsx)(n.a,{href:"https://www.stormkit.io",children:"Stormkit"}),", a deployment platform for static websites, single-page applications (SPAs), and serverless functions. For detailed instructions, refer to this ",(0,t.jsx)(n.a,{href:"https://www.stormkit.io/blog/how-to-deploy-docusarous",children:"guide"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-quantcdn",children:"Deploying to QuantCDN"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Install ",(0,t.jsx)(n.a,{href:"https://docs.quantcdn.io/docs/cli/get-started",children:"Quant CLI"})]}),"\n",(0,t.jsxs)(n.li,{children:["Create a QuantCDN account by ",(0,t.jsx)(n.a,{href:"https://dashboard.quantcdn.io/register",children:"signing up"})]}),"\n",(0,t.jsxs)(n.li,{children:["Initialize your project with ",(0,t.jsx)(n.code,{children:"quant init"})," and fill in your credentials:","\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"quant init\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Deploy your site.","\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"quant deploy\n"})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["See ",(0,t.jsx)(n.a,{href:"https://docs.quantcdn.io/docs/cli/continuous-integration",children:"docs"})," and ",(0,t.jsx)(n.a,{href:"https://www.quantcdn.io/blog",children:"blog"})," for more examples and use cases for deploying to QuantCDN."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-layer0",children:"Deploying to Layer0"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.layer0.co",children:"Layer0"})," is an all-in-one platform to develop, deploy, preview, experiment on, monitor, and run your headless frontend. It is focused on large, dynamic websites and best-in-class performance through EdgeJS (a JavaScript-based Content Delivery Network), predictive prefetching, and performance monitoring. Layer0 offers a free tier. Get started in just a few minutes by following ",(0,t.jsx)(n.a,{href:"https://docs.layer0.co/guides/docusaurus",children:"Layer0's guide to deploying Docusaurus"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-cloudflare-pages",children:"Deploying to Cloudflare Pages"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://pages.cloudflare.com/",children:"Cloudflare Pages"})," is a Jamstack platform for frontend developers to collaborate and deploy websites. Get started within a few minutes by following ",(0,t.jsx)(n.a,{href:"https://developers.cloudflare.com/pages/framework-guides/deploy-a-docusaurus-site/",children:"this page"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-azure-static-web-apps",children:"Deploying to Azure Static Web Apps"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://docs.microsoft.com/en-us/azure/static-web-apps/overview",children:"Azure Static Web Apps"})," is a service that automatically builds and deploys full-stack web apps to Azure directly from the code repository, simplifying the developer experience for CI/CD. Static Web Apps separates the web application's static assets from its dynamic (API) endpoints. Static assets are served from globally-distributed content servers, making it faster for clients to retrieve files using servers nearby. Dynamic APIs are scaled with serverless architectures using an event-driven functions-based approach that is more cost-effective and scales on demand. Get started in a few minutes by following ",(0,t.jsx)(n.a,{href:"https://dev.to/azure/11-share-content-with-docusaurus-azure-static-web-apps-30hc",children:"this step-by-step guide"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"deploying-to-kinsta",children:"Deploying to Kinsta"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://kinsta.com/static-site-hosting",children:"Kinsta Static Site Hosting"})," lets you deploy up to 100 static sites for free, custom domains with SSL, 100 GB monthly bandwidth, and 260+ Cloudflare CDN locations."]}),"\n",(0,t.jsxs)(n.p,{children:["Get started in just a few clicks by following our ",(0,t.jsx)(n.a,{href:"https://kinsta.com/docs/docusaurus-example/",children:"Docusaurus on Kinsta"})," article."]})]})}function p(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},58636:function(e,n,s){s.d(n,{Z:()=>o});var i=s(85893);s(67294);var t=s(90496);function o(e){let{children:n,hidden:s,className:o}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,t.Z)("tabItem_pnkT",o),hidden:s,children:n})}},15398:function(e,n,s){s.d(n,{Z:()=>x});var i=s(85893),t=s(67294),o=s(90496),r=s(54947),l=s(3620),a=s(844),c=s(97486),d=s(32263),h=s(16971);function u(e){return t.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||t.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:n,tabValues:s}=e;return s.some(e=>e.value===n)}var g=s(71607);function y(e){let{className:n,block:s,selectedValue:t,selectValue:l,tabValues:a}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,r.o5)(),h=e=>{let n=e.currentTarget,s=a[c.indexOf(n)].value;s!==t&&(d(n),l(s))},u=e=>{let n=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{let s=c.indexOf(e.currentTarget)+1;n=c[s]??c[0];break}case"ArrowLeft":{let s=c.indexOf(e.currentTarget)-1;n=c[s]??c[c.length-1]}}n?.focus()};return(0,i.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":s},n),children:a.map(e=>{let{value:n,label:s,attributes:r}=e;return(0,i.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>{c.push(e)},onKeyDown:u,onClick:h,...r,className:(0,o.Z)("tabs__item","tabItem_AQgk",r?.className,{"tabs__item--active":t===n}),children:s??n},n)})})}function m(e){let{lazy:n,children:s,selectedValue:r}=e,l=(Array.isArray(s)?s:[s]).filter(Boolean);if(n){let e=l.find(e=>e.props.value===r);return e?(0,t.cloneElement)(e,{className:(0,o.Z)("margin-top--md",e.props.className)}):null}return(0,i.jsx)("div",{className:"margin-top--md",children:l.map((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==r}))})}function j(e){let n=function(e){let{defaultValue:n,queryString:s=!1,groupId:i}=e,o=function(e){let{values:n,children:s}=e;return(0,t.useMemo)(()=>{let e=n??u(s).map(e=>{let{props:{value:n,label:s,attributes:i,default:t}}=e;return{value:n,label:s,attributes:i,default:t}});return!function(e){let n=(0,d.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,s])}(e),[r,g]=(0,t.useState)(()=>(function(e){let{defaultValue:n,tabValues:s}=e;if(0===s.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:s}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${s.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let i=s.find(e=>e.default)??s[0];if(!i)throw Error("Unexpected error: 0 tabValues");return i.value})({defaultValue:n,tabValues:o})),[y,m]=function(e){let{queryString:n=!1,groupId:s}=e,i=(0,l.k6)(),o=function(e){let{queryString:n=!1,groupId:s}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!s)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:n,groupId:s});return[(0,c._X)(o),(0,t.useCallback)(e=>{if(!o)return;let n=new URLSearchParams(i.location.search);n.set(o,e),i.replace({...i.location,search:n.toString()})},[o,i])]}({queryString:s,groupId:i}),[j,x]=function(e){let{groupId:n}=e,s=n?`docusaurus.tab.${n}`:null,[i,o]=(0,h.Nk)(s);return[i,(0,t.useCallback)(e=>{s&&o.set(e)},[s,o])]}({groupId:i}),f=(()=>{let e=y??j;return p({value:e,tabValues:o})?e:null})();return(0,a.Z)(()=>{f&&g(f)},[f]),{selectedValue:r,selectValue:(0,t.useCallback)(e=>{if(!p({value:e,tabValues:o}))throw Error(`Can't select invalid tab value=${e}`);g(e),m(e),x(e)},[m,x,o]),tabValues:o}}(e);return(0,i.jsxs)("div",{className:(0,o.Z)("tabs-container","tabList_Qoir"),children:[(0,i.jsx)(y,{...n,...e}),(0,i.jsx)(m,{...n,...e})]})}function x(e){let n=(0,g.Z)();return(0,i.jsx)(j,{...e,children:u(e.children)},String(n))}},80980:function(e,n,s){s.d(n,{Z:()=>l,a:()=>r});var i=s(67294);let t={},o=i.createContext(t);function r(e){let n=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/072728dc.3110646e.js b/assets/js/072728dc.3110646e.js new file mode 100644 index 0000000000..8eab2a08eb --- /dev/null +++ b/assets/js/072728dc.3110646e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["99417"],{48497:function(e,s,t){t.r(s),t.d(s,{frontMatter:()=>l,default:()=>x,contentTitle:()=>d,assets:()=>u,toc:()=>r,metadata:()=>n});var n=JSON.parse('{"id":"toc/toc-3-_","title":"toc-3-_","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-3-_.mdx","sourceDirName":"toc","slug":"/toc/toc-3-_","permalink":"/tests/docs/toc/toc-3-_","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":3},"sidebar":"sidebar","previous":{"title":"toc-3-5","permalink":"/tests/docs/toc/toc-3-5"},"next":{"title":"toc-4-5","permalink":"/tests/docs/toc/toc-4-5"}}'),i=t(85893),c=t(80980),o=t(2630);let l={toc_min_heading_level:3},d=void 0,u={},r=[...o.d$];function h(e){return(0,i.jsx)(o.ZP,{})}function x(e={}){let{wrapper:s}={...(0,c.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}x.displayName="MDXContent(_dogfooding/_docs tests/toc/toc-3-_.mdx)"},2630:function(e,s,t){t.d(s,{ZP:()=>l,d$:()=>c});var n=t(85893),i=t(80980);let c=[{value:"section 1",id:"section-1",level:2},{value:"subsection 1-1",id:"subsection-1-1",level:3},{value:"subsection 1-1-1",id:"subsection-1-1-1",level:4},{value:"subsection 1-1-1-1",id:"subsection-1-1-1-1",level:5},{value:"subsection 1-1-1-1-1",id:"subsection-1-1-1-1-1",level:6},{value:"subsection 1-1-1-1-2",id:"subsection-1-1-1-1-2",level:6},{value:"subsection 1-1-1-2",id:"subsection-1-1-1-2",level:5},{value:"subsection 1-1-2",id:"subsection-1-1-2",level:4},{value:"subsection 1-2",id:"subsection-1-2",level:3},{value:"subsection 1-3",id:"subsection-1-3",level:3},{value:"section 2",id:"section-2",level:2},{value:"subsection 2-1",id:"subsection-2-1",level:3},{value:"subsection 2-1",id:"subsection-2-1-1",level:3},{value:"section 3",id:"section-3",level:2},{value:"subsection 3-1",id:"subsection-3-1",level:3},{value:"subsection 3-2",id:"subsection-3-2",level:3}];function o(e){let s={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"title",children:"title"})}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-1",children:"section 1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-1",children:"subsection 1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-1",children:"subsection 1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-1",children:"subsection 1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-1",children:"subsection 1-1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-2",children:"subsection 1-1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-2",children:"subsection 1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-2",children:"subsection 1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-2",children:"subsection 1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-3",children:"subsection 1-3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-2",children:"section 2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-3",children:"section 3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-1",children:"subsection 3-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-2",children:"subsection 3-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"})]})}function l(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},80980:function(e,s,t){t.d(s,{Z:()=>l,a:()=>o});var n=t(67294);let i={},c=n.createContext(i);function o(e){let s=n.useContext(c);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/07b390a7.ca7ae138.js b/assets/js/07b390a7.ca7ae138.js new file mode 100644 index 0000000000..41944532ed --- /dev/null +++ b/assets/js/07b390a7.ca7ae138.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["12261"],{45164:function(e){e.exports=JSON.parse('{"metadata":{"permalink":"/changelog","page":1,"postsPerPage":20,"totalPages":6,"totalCount":105,"nextPage":"/changelog/page/2","blogDescription":"Keep yourself up-to-date about new features in every release","blogTitle":"Docusaurus changelog"}}')}}]); \ No newline at end of file diff --git a/assets/js/07c78698.af1ece4e.js b/assets/js/07c78698.af1ece4e.js new file mode 100644 index 0000000000..7ca44ab0ed --- /dev/null +++ b/assets/js/07c78698.af1ece4e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["63006"],{46536:function(t){t.exports=JSON.parse('{"tag":{"label":"Visibility","permalink":"/tests/blog/tags/visibility","allTagsPath":"/tests/blog/tags","count":1,"unlisted":true},"listMetadata":{"permalink":"/tests/blog/tags/visibility","page":1,"postsPerPage":3,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/07d8cde9.68cd981b.js b/assets/js/07d8cde9.68cd981b.js new file mode 100644 index 0000000000..97ee052d94 --- /dev/null +++ b/assets/js/07d8cde9.68cd981b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["80812"],{78929:function(e,i,s){s.r(i),s.d(i,{frontMatter:()=>a,default:()=>u,contentTitle:()=>l,assets:()=>r,toc:()=>o,metadata:()=>n});var n=JSON.parse('{"id":"api/misc/create-docusaurus","title":"\uD83D\uDCE6 create-docusaurus","description":"A scaffolding utility to help you instantly set up a functional Docusaurus app.","source":"@site/docs/api/misc/create-docusaurus.mdx","sourceDirName":"api/misc","slug":"/api/misc/create-docusaurus","permalink":"/docs/api/misc/create-docusaurus","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/create-docusaurus.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":0,"frontMatter":{"sidebar_position":0,"slug":"/api/misc/create-docusaurus"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 theme-mermaid","permalink":"/docs/api/themes/@docusaurus/theme-mermaid"},"next":{"title":"\uD83D\uDCE6 eslint-plugin","permalink":"/docs/api/misc/@docusaurus/eslint-plugin"}}'),t=s(85893),c=s(80980);let a={sidebar_position:0,slug:"/api/misc/create-docusaurus"},l="\uD83D\uDCE6 create-docusaurus",r={},o=[{value:"Usage",id:"usage",level:2},{value:"Options",id:"options",level:2},{value:"<code>-t, --typescript</code>",id:"typescript",level:3},{value:"<code>-g, --git-strategy</code>",id:"git-strategy",level:3},{value:"<code>-p, --package-manager</code>",id:"package-manager",level:3},{value:"<code>-s, --skip-install</code>",id:"skip-install",level:3}];function d(e){let i={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,c.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"-create-docusaurus",children:"\uD83D\uDCE6 create-docusaurus"})}),"\n",(0,t.jsx)(i.p,{children:"A scaffolding utility to help you instantly set up a functional Docusaurus app."}),"\n",(0,t.jsx)(i.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-bash",children:"npx create-docusaurus@latest [name] [template] [rootDir]\n"})}),"\n",(0,t.jsxs)(i.p,{children:["The ",(0,t.jsx)(i.code,{children:"name"})," argument will be used as the site's path as well as the ",(0,t.jsx)(i.code,{children:"name"})," field in the created app's package.json. It can be an absolute path, or a path relative to ",(0,t.jsx)(i.code,{children:"rootDir"}),"."]}),"\n",(0,t.jsxs)(i.p,{children:["The ",(0,t.jsx)(i.code,{children:"template"})," argument can be one of the following:"]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"classic"}),": Uses the classic template (recommended)"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"facebook"}),": Uses the Facebook/Meta template, which contains some Meta-specific setup"]}),"\n",(0,t.jsxs)(i.li,{children:["A git repo URL (beginning with ",(0,t.jsx)(i.code,{children:"https://"})," or ",(0,t.jsx)(i.code,{children:"git@"}),"), which can be cloned to the destination"]}),"\n",(0,t.jsx)(i.li,{children:"A local file path relative to CWD, which contains the files to be copied to destination"}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:["The ",(0,t.jsx)(i.code,{children:"rootDir"})," will be used to resolve the absolute path to the site directory. The default is CWD."]}),"\n",(0,t.jsx)(i.admonition,{type:"warning",children:(0,t.jsx)(i.p,{children:"This command should be preferably used in an interactive shell so all features are available."})}),"\n",(0,t.jsx)(i.h2,{id:"options",children:"Options"}),"\n",(0,t.jsx)(i.h3,{id:"typescript",children:(0,t.jsx)(i.code,{children:"-t, --typescript"})}),"\n",(0,t.jsxs)(i.p,{children:["Used when the template argument is a recognized name. Currently, only ",(0,t.jsx)(i.code,{children:"classic"})," provides a TypeScript variant."]}),"\n",(0,t.jsx)(i.h3,{id:"git-strategy",children:(0,t.jsx)(i.code,{children:"-g, --git-strategy"})}),"\n",(0,t.jsx)(i.p,{children:"Used when the template argument is a git repo. It needs to be one of:"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"deep"}),": preserves full git history"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"shallow"}),": clones with ",(0,t.jsx)(i.code,{children:"--depth=1"})]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"copy"}),": does a shallow clone, but does not create a git repo"]}),"\n",(0,t.jsxs)(i.li,{children:[(0,t.jsx)(i.code,{children:"custom"}),": enter your custom git clone command. We will prompt you for it. You can write something like ",(0,t.jsx)(i.code,{children:"git clone --depth 10"}),", and we will append the repository URL and destination directory."]}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"package-manager",children:(0,t.jsx)(i.code,{children:"-p, --package-manager"})}),"\n",(0,t.jsxs)(i.p,{children:["Value should be one of ",(0,t.jsx)(i.code,{children:"npm"}),", ",(0,t.jsx)(i.code,{children:"yarn"}),", ",(0,t.jsx)(i.code,{children:"pnpm"}),", or ",(0,t.jsx)(i.code,{children:"bun"}),". If it's not explicitly provided, Docusaurus will infer one based on:"]}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"The lockfile already present in the CWD (e.g. if you are setting up website in an existing project)"}),"\n",(0,t.jsxs)(i.li,{children:["The command used to invoke ",(0,t.jsx)(i.code,{children:"create-docusaurus"})," (e.g. ",(0,t.jsx)(i.code,{children:"npm init"}),", ",(0,t.jsx)(i.code,{children:"npx"}),", ",(0,t.jsx)(i.code,{children:"yarn create"}),", ",(0,t.jsx)(i.code,{children:"bunx"}),", etc.)"]}),"\n",(0,t.jsx)(i.li,{children:"Interactive prompting, in case all heuristics are not present"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"skip-install",children:(0,t.jsx)(i.code,{children:"-s, --skip-install"})}),"\n",(0,t.jsxs)(i.p,{children:["If provided, Docusaurus will not automatically install dependencies after creating the app. The ",(0,t.jsx)(i.code,{children:"--package-manager"})," option is only useful when you are actually installing dependencies."]})]})}function u(e={}){let{wrapper:i}={...(0,c.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},80980:function(e,i,s){s.d(i,{Z:()=>l,a:()=>a});var n=s(67294);let t={},c=n.createContext(t);function a(e){let i=n.useContext(c);return n.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),n.createElement(c.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/08b2e33e.12bd9188.js b/assets/js/08b2e33e.12bd9188.js new file mode 100644 index 0000000000..520e6d63bf --- /dev/null +++ b/assets/js/08b2e33e.12bd9188.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["44396"],{49875:function(e,a,n){n.r(a),n.d(a,{assets:()=>u,contentTitle:()=>s,default:()=>g,frontMatter:()=>o,metadata:()=>t,toc:()=>h});var t=n(16381),i=n(85893),l=n(80980);let o={mdx:{format:"md"},date:"2022-05-04T20:00",authors:["aerovulpe","AkiraVoid","andrewnicols","AntonPalmqvist","ApsarasX","chelproc","chernodub","CuratorCat","cwen0","cxOrz","DanRoscigno","deiucanta","deployn","Dr-Electron","dr-ngubo","duanwilliam","elias-pap","imsingh","jeffreyaven","jodyheavener","JohnnyMcWeed","johnnyreilly","Josh-Cena","kaycebasques","kgolubic","layerzzzio","leedom92","LeviticusMB","lex111","lukasbach","mjau-mjau","mxhdx","nartc","naveensrinivasan","pcordon","phryneas","Pierre-Gilles","redhat123456","rev4324","sandypockets","shczhen","slorber","sulu5890","surendran82","svix-ken","sykp241095","zzzhangqi"]},s="2.0.0-beta.19",u={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},h=[];function r(e){return(0,i.jsx)(i.Fragment,{})}function g(e={}){let{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,i.jsx)(a,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},80980:function(e,a,n){n.d(a,{Z:()=>s,a:()=>o});var t=n(67294);let i={},l=t.createContext(i);function o(e){let a=t.useContext(l);return t.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function s(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(l.Provider,{value:a},e.children)}},16381:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.19","source":"@site/changelog/source/2.0.0-beta.19.md","title":"2.0.0-beta.19","description":"New Feature","date":"2022-05-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Aaron Nwabuoku","alias":"aerovulpe","url":"https://github.com/aerovulpe","imageURL":"https://github.com/aerovulpe.png","key":"aerovulpe","page":null},{"name":"AkiraVoid","alias":"AkiraVoid","url":"https://github.com/AkiraVoid","imageURL":"https://github.com/AkiraVoid.png","key":"AkiraVoid","page":null},{"name":"Andrew Lyons","alias":"andrewnicols","url":"https://github.com/andrewnicols","imageURL":"https://github.com/andrewnicols.png","key":"andrewnicols","page":null},{"name":"apq","alias":"AntonPalmqvist","url":"https://github.com/AntonPalmqvist","imageURL":"https://github.com/AntonPalmqvist.png","key":"AntonPalmqvist","page":null},{"name":"ApsarasX","alias":"ApsarasX","url":"https://github.com/ApsarasX","imageURL":"https://github.com/ApsarasX.png","key":"ApsarasX","page":null},{"name":"chelproc","alias":"chelproc","url":"https://github.com/chelproc","imageURL":"https://github.com/chelproc.png","key":"chelproc","page":null},{"name":"Viktor Chernodub","alias":"chernodub","url":"https://github.com/chernodub","imageURL":"https://github.com/chernodub.png","key":"chernodub","page":null},{"name":"curatorcat.pcc.eth","alias":"CuratorCat","url":"https://github.com/CuratorCat","imageURL":"https://github.com/CuratorCat.png","key":"CuratorCat","page":null},{"name":"Cwen Yin","alias":"cwen0","url":"https://github.com/cwen0","imageURL":"https://github.com/cwen0.png","key":"cwen0","page":null},{"name":"Fusang\u2740","alias":"cxOrz","url":"https://github.com/cxOrz","imageURL":"https://github.com/cxOrz.png","key":"cxOrz","page":null},{"name":"Dan Roscigno","alias":"DanRoscigno","url":"https://github.com/DanRoscigno","imageURL":"https://github.com/DanRoscigno.png","key":"DanRoscigno","page":null},{"name":"Andrei Canta","alias":"deiucanta","url":"https://github.com/deiucanta","imageURL":"https://github.com/deiucanta.png","key":"deiucanta","page":null},{"name":"deployn","alias":"deployn","url":"https://github.com/deployn","imageURL":"https://github.com/deployn.png","key":"deployn","page":null},{"name":"Dr-Electron","alias":"Dr-Electron","url":"https://github.com/Dr-Electron","imageURL":"https://github.com/Dr-Electron.png","key":"Dr-Electron","page":null},{"name":"Chinazaekpere Ngubo","alias":"dr-ngubo","url":"https://github.com/dr-ngubo","imageURL":"https://github.com/dr-ngubo.png","key":"dr-ngubo","page":null},{"name":"duanwilliam","alias":"duanwilliam","url":"https://github.com/duanwilliam","imageURL":"https://github.com/duanwilliam.png","key":"duanwilliam","page":null},{"name":"Elias Papavasileiou","alias":"elias-pap","url":"https://github.com/elias-pap","imageURL":"https://github.com/elias-pap.png","key":"elias-pap","page":null},{"name":"Indermohan Singh","alias":"imsingh","url":"https://github.com/imsingh","imageURL":"https://github.com/imsingh.png","key":"imsingh","page":null},{"name":"Jeffrey Aven","alias":"jeffreyaven","url":"https://github.com/jeffreyaven","imageURL":"https://github.com/jeffreyaven.png","key":"jeffreyaven","page":null},{"name":"Jody Heavener","alias":"jodyheavener","url":"https://github.com/jodyheavener","imageURL":"https://github.com/jodyheavener.png","key":"jodyheavener","page":null},{"name":"JMW","alias":"JohnnyMcWeed","url":"https://github.com/JohnnyMcWeed","imageURL":"https://github.com/JohnnyMcWeed.png","key":"JohnnyMcWeed","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Kayce Basques","alias":"kaycebasques","url":"https://github.com/kaycebasques","imageURL":"https://github.com/kaycebasques.png","key":"kaycebasques","page":null},{"name":"kgolubic","alias":"kgolubic","url":"https://github.com/kgolubic","imageURL":"https://github.com/kgolubic.png","key":"kgolubic","page":null},{"name":"loic","alias":"layerzzzio","url":"https://github.com/layerzzzio","imageURL":"https://github.com/layerzzzio.png","key":"layerzzzio","page":null},{"name":"Leedom","alias":"leedom92","url":"https://github.com/leedom92","imageURL":"https://github.com/leedom92.png","key":"leedom92","page":null},{"name":"Martin Blom","alias":"LeviticusMB","url":"https://github.com/LeviticusMB","imageURL":"https://github.com/LeviticusMB.png","key":"LeviticusMB","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lukas Bach","alias":"lukasbach","url":"https://github.com/lukasbach","imageURL":"https://github.com/lukasbach.png","key":"lukasbach","page":null},{"name":"Karl Ward","alias":"mjau-mjau","url":"https://github.com/mjau-mjau","imageURL":"https://github.com/mjau-mjau.png","key":"mjau-mjau","page":null},{"name":"mehdim","alias":"mxhdx","url":"https://github.com/mxhdx","imageURL":"https://github.com/mxhdx.png","key":"mxhdx","page":null},{"name":"Chau Tran","alias":"nartc","url":"https://github.com/nartc","imageURL":"https://github.com/nartc.png","key":"nartc","page":null},{"name":"Naveen","alias":"naveensrinivasan","url":"https://github.com/naveensrinivasan","imageURL":"https://github.com/naveensrinivasan.png","key":"naveensrinivasan","page":null},{"name":"Pablo Cordon","alias":"pcordon","url":"https://github.com/pcordon","imageURL":"https://github.com/pcordon.png","key":"pcordon","page":null},{"name":"Lenz Weber-Tronic","alias":"phryneas","url":"https://github.com/phryneas","imageURL":"https://github.com/phryneas.png","key":"phryneas","page":null},{"name":"Pierre-Gilles Leymarie","alias":"Pierre-Gilles","url":"https://github.com/Pierre-Gilles","imageURL":"https://github.com/Pierre-Gilles.png","key":"Pierre-Gilles","page":null},{"name":"redhat123456","alias":"redhat123456","url":"https://github.com/redhat123456","imageURL":"https://github.com/redhat123456.png","key":"redhat123456","page":null},{"name":"rev","alias":"rev4324","url":"https://github.com/rev4324","imageURL":"https://github.com/rev4324.png","key":"rev4324","page":null},{"name":"Zac A","alias":"sandypockets","url":"https://github.com/sandypockets","imageURL":"https://github.com/sandypockets.png","key":"sandypockets","page":null},{"name":"czhen","alias":"shczhen","url":"https://github.com/shczhen","imageURL":"https://github.com/shczhen.png","key":"shczhen","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Evan","alias":"sulu5890","url":"https://github.com/sulu5890","imageURL":"https://github.com/sulu5890.png","key":"sulu5890","page":null},{"name":"surendran82","alias":"surendran82","url":"https://github.com/surendran82","imageURL":"https://github.com/surendran82.png","key":"surendran82","page":null},{"name":"svix-ken","alias":"svix-ken","url":"https://github.com/svix-ken","imageURL":"https://github.com/svix-ken.png","key":"svix-ken","page":null},{"name":"sykp241095","alias":"sykp241095","url":"https://github.com/sykp241095","imageURL":"https://github.com/sykp241095.png","key":"sykp241095","page":null},{"name":"Qi Zhang","alias":"zzzhangqi","url":"https://github.com/zzzhangqi","imageURL":"https://github.com/zzzhangqi.png","key":"zzzhangqi","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-05-04T20:00","authors":["aerovulpe","AkiraVoid","andrewnicols","AntonPalmqvist","ApsarasX","chelproc","chernodub","CuratorCat","cwen0","cxOrz","DanRoscigno","deiucanta","deployn","Dr-Electron","dr-ngubo","duanwilliam","elias-pap","imsingh","jeffreyaven","jodyheavener","JohnnyMcWeed","johnnyreilly","Josh-Cena","kaycebasques","kgolubic","layerzzzio","leedom92","LeviticusMB","lex111","lukasbach","mjau-mjau","mxhdx","nartc","naveensrinivasan","pcordon","phryneas","Pierre-Gilles","redhat123456","rev4324","sandypockets","shczhen","slorber","sulu5890","surendran82","svix-ken","sykp241095","zzzhangqi"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.20","permalink":"/changelog/2.0.0-beta.20"},"nextItem":{"title":"2.0.0-beta.18","permalink":"/changelog/2.0.0-beta.18"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/08eb0f2d.c3b8ffa3.js b/assets/js/08eb0f2d.c3b8ffa3.js new file mode 100644 index 0000000000..e272dfb3f5 --- /dev/null +++ b/assets/js/08eb0f2d.c3b8ffa3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["28407"],{82487:function(e,s,n){n.r(s),n.d(s,{assets:()=>t,contentTitle:()=>c,default:()=>u,frontMatter:()=>h,metadata:()=>i,toc:()=>r});var i=n(9436),a=n(85893),l=n(80980);let h={mdx:{format:"md"},date:"2022-07-08T20:00",authors:["201flaviosilva","7Wate","AkagiYui","alewolf","alexandernst","Altomy","anaclumos","bcabanes","BenDMyers","Boulet-","cbebe","clemiee","datlechin","DharsanB","dht","difranca","dpang314","emattia","forresst","Gary50613","ghostsquad","HyunseungLee-Travis","JeremyDolle","johnie","johnnyreilly","Josh-Cena","jpdriver","jqshuv","kursatsmsek","lanegoolsby","lex111","matkoch","metal-young","mrazauskas","pincman","redcamel","reinvanhaaren","RudraSen2","sado0823","saosangmo","scopsy","SheetJSDev","sigwinch28","slorber","Smilefounder","sserrata","szilarddoro","vannyle","webbertakken","yangshun","zpao"]},c="2.0.0-beta.22",t={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},r=[{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83D\uDD27 Maintenance",id:"wrench-maintenance",level:2},{value:"Committers: 51",id:"committers-51",level:2}];function o(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,l.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7740",children:"#7740"})," refactor(theme): nest theme icons under subfolder @theme/Icon/* (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7716",children:"#7716"})," refactor(theme): split BlogPostItem into smaller theme subcomponents (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7660",children:"#7660"})," refactor(theme-common): split package into public/internal API entrypoints (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7644",children:"#7644"})," refactor(docs,theme): split DocItem comp, useDoc hook (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,a.jsx)(s.code,{children:"docusaurus"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7642",children:"#7642"}),' refactor: remove "error" reporting level, move reportMessage to logger (',(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,a.jsx)(s.code,{children:"docusaurus"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7152",children:"#7152"})," refactor: handle all admonitions via JSX component (",(0,a.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7732",children:"#7732"})," feat(theme-translations): Dutch translation (",(0,a.jsx)(s.a,{href:"https://github.com/reinvanhaaren",children:"@reinvanhaaren"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7715",children:"#7715"})," feat(theme-translations): Swedish translation (",(0,a.jsx)(s.a,{href:"https://github.com/johnie",children:"@johnie"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7666",children:"#7666"})," feat(algolia-search): allow translating search modal (",(0,a.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7643",children:"#7643"})," feat(theme-classic): themeConfig navbar/footer logos accept className/style + update Meta Open-Source Logo (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7649",children:"#7649"})," feat(client-redirects): make plugin respect onDuplicateRoutes config (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,a.jsx)(s.code,{children:"docusaurus"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7624",children:"#7624"})," feat: allow customizing localization path of each locale (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7581",children:"#7581"})," feat(core): allow opting out of HTML minification (",(0,a.jsx)(s.a,{href:"https://github.com/alexandernst",children:"@alexandernst"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7557",children:"#7557"})," feat: allow specifying custom target for FooterLogo (",(0,a.jsx)(s.a,{href:"https://github.com/vannyle",children:"@vannyle"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7556",children:"#7556"})," feat: add admonition type title translations (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,a.jsx)(s.code,{children:"docusaurus"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7386",children:"#7386"})," feat(core): allow customizing the i18n directory path (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7514",children:"#7514"})," feat(live-codeblock): add support for noInline to interactive code blocks (",(0,a.jsx)(s.a,{href:"https://github.com/jpdriver",children:"@jpdriver"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7461",children:"#7461"})," feat(content-docs): last_update front matter (",(0,a.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7727",children:"#7727"})," fix(theme): show blog post edit link even when no tag & not truncated (",(0,a.jsx)(s.a,{href:"https://github.com/anaclumos",children:"@anaclumos"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7659",children:"#7659"})," fix(theme-classic): expose empty string alt text in navbar logos (",(0,a.jsx)(s.a,{href:"https://github.com/BenDMyers",children:"@BenDMyers"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7595",children:"#7595"})," fix(content-pages): add article wrapper around MDXContent (",(0,a.jsx)(s.a,{href:"https://github.com/matkoch",children:"@matkoch"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7694",children:"#7694"})," fix(theme-translations): typo in vi locale (",(0,a.jsx)(s.a,{href:"https://github.com/saosangmo",children:"@saosangmo"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7638",children:"#7638"})," fix(docs): forward doc frontMatter.sidebar_custom_props to linking sidebar category (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7634",children:"#7634"})," fix(content-docs): allow translating doc labels in sidebars.js (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7604",children:"#7604"})," fix(utils): allow any non-boundary characters in Markdown heading ID (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7593",children:"#7593"})," fix(cssnano-preset): disable z-index minification (",(0,a.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7551",children:"#7551"})," fix(theme-classic): code block wrap mode should allow wrapping in the middle of a word (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7485",children:"#7485"})," fix(theme-classic): inconsistent code block wrapping (",(0,a.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7521",children:"#7521"})," fix: make type-checking work in Yarn PnP (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7696",children:"#7696"})," fix(theme-translations): improve grammar of zh translation (",(0,a.jsx)(s.a,{href:"https://github.com/AkagiYui",children:"@AkagiYui"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7691",children:"#7691"})," chore(theme-translations): complete vi translations (",(0,a.jsx)(s.a,{href:"https://github.com/datlechin",children:"@datlechin"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7683",children:"#7683"})," chore(theme-translations): complete ar translations (",(0,a.jsx)(s.a,{href:"https://github.com/Altomy",children:"@Altomy"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7633",children:"#7633"})," chore(theme-translations): complete ko translations (",(0,a.jsx)(s.a,{href:"https://github.com/HyunseungLee-Travis",children:"@HyunseungLee-Travis"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7702",children:"#7702"})," feat(deploy): copy local git config to tmp repo (",(0,a.jsx)(s.a,{href:"https://github.com/ghostsquad",children:"@ghostsquad"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7600",children:"#7600"})," fix: force refresh on chunk preload error (",(0,a.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7673",children:"#7673"}),' fix(content-docs): format last update date as "Jun 19, 2020" (',(0,a.jsx)(s.a,{href:"https://github.com/sigwinch28",children:"@sigwinch28"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7671",children:"#7671"})," refactor(theme-common): rename useDynamicCallback to useEvent (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7648",children:"#7648"})," fix(theme-common): make useShallowMemoObject key-order-insensitive (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7639",children:"#7639"})," chore(create): update the facebook template with current assets (",(0,a.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7520",children:"#7520"})," feat: add engines field to templates' package.json (",(0,a.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7579",children:"#7579"})," refactor(pwa): simplify registerSW code, fix ESLint errors (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7545",children:"#7545"})," feat(analytics): allow query/hash changes to be sent to GA (",(0,a.jsx)(s.a,{href:"https://github.com/lanegoolsby",children:"@lanegoolsby"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["Other\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7739",children:"#7739"})," docs: swizzle react-live with eject (",(0,a.jsx)(s.a,{href:"https://github.com/SheetJSDev",children:"@SheetJSDev"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7723",children:"#7723"})," docs: add GitHub pages deployment troubleshooting guide (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7705",children:"#7705"})," docs: mention MDXContent (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7675",children:"#7675"})," docs: add docusaurus-openapi-docs to resources (",(0,a.jsx)(s.a,{href:"https://github.com/sserrata",children:"@sserrata"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7677",children:"#7677"})," docs: add more info on github cross repo deployment (",(0,a.jsx)(s.a,{href:"https://github.com/bcabanes",children:"@bcabanes"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7563",children:"#7563"})," docs: add awesome-docusaurus resource (",(0,a.jsx)(s.a,{href:"https://github.com/webbertakken",children:"@webbertakken"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7665",children:"#7665"})," docs: add link from every category index page to the guide page (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7519",children:"#7519"})," docs: multiple documentation elaborations (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7518",children:"#7518"})," docs: remove useless front matter (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7512",children:"#7512"})," docs: update Kent C. Dodds Twitter avatar (",(0,a.jsx)(s.a,{href:"https://github.com/DharsanB",children:"@DharsanB"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7611",children:"#7611"})," docs: advise using Node 18 in deployment (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7582",children:"#7582"})," docs: make localhost links clickable (",(0,a.jsx)(s.a,{href:"https://github.com/dht",children:"@dht"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7607",children:"#7607"})," refactor(client-redirects): elaborate documentation, minor refactor (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(s.h2,{id:"wrench-maintenance",children:"\uD83D\uDD27 Maintenance"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7676",children:"#7676"})," refactor(theme): move LayoutProviders to Layout/Provider; composeProviders util (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7674",children:"#7674"})," chore: prevent importing theme components with relative paths (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7664",children:"#7664"})," chore: upgrade Infima to alpha.40 (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:["Other\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7663",children:"#7663"})," misc: share .vscode/extensions.json (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"docusaurus"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7583",children:"#7583"})," refactor(cli): make the CLI an even thinner wrapper around command functions (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7547",children:"#7547"})," chore: update static-site-generator-webpack-plugin (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,a.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,a.jsx)(s.code,{children:"docusaurus"}),", ",(0,a.jsx)(s.code,{children:"eslint-plugin"}),", ",(0,a.jsx)(s.code,{children:"lqip-loader"}),", ",(0,a.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7586",children:"#7586"})," chore: upgrade to TS 4.7, compile with NodeNext (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(s.h2,{id:"committers-51",children:"Committers: 51"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["7Wate (",(0,a.jsx)(s.a,{href:"https://github.com/7Wate",children:"@7Wate"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Ahmed Altomy (",(0,a.jsx)(s.a,{href:"https://github.com/Altomy",children:"@Altomy"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Alexander Nestorov (",(0,a.jsx)(s.a,{href:"https://github.com/alexandernst",children:"@alexandernst"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,a.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Ben Myers (",(0,a.jsx)(s.a,{href:"https://github.com/BenDMyers",children:"@BenDMyers"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Benjamin Cabanes (",(0,a.jsx)(s.a,{href:"https://github.com/bcabanes",children:"@bcabanes"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Boulet (",(0,a.jsx)(s.a,{href:"https://github.com/Boulet-",children:"@Boulet-"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Charles Ancheta (",(0,a.jsx)(s.a,{href:"https://github.com/cbebe",children:"@cbebe"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Clemie McCartney (",(0,a.jsx)(s.a,{href:"https://github.com/clemiee",children:"@clemiee"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["DOLLE (",(0,a.jsx)(s.a,{href:"https://github.com/JeremyDolle",children:"@JeremyDolle"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Dharsan B (",(0,a.jsx)(s.a,{href:"https://github.com/DharsanB",children:"@DharsanB"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Diego Fran\xe7a (",(0,a.jsx)(s.a,{href:"https://github.com/difranca",children:"@difranca"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Dima Grossman (",(0,a.jsx)(s.a,{href:"https://github.com/scopsy",children:"@scopsy"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Dzung Do (",(0,a.jsx)(s.a,{href:"https://github.com/saosangmo",children:"@saosangmo"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Fl\xe1vio Silva (",(0,a.jsx)(s.a,{href:"https://github.com/201flaviosilva",children:"@201flaviosilva"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Forresst (",(0,a.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Huy Nguyen (",(0,a.jsx)(s.a,{href:"https://github.com/Smilefounder",children:"@Smilefounder"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Hyunseung Lee (",(0,a.jsx)(s.a,{href:"https://github.com/HyunseungLee-Travis",children:"@HyunseungLee-Travis"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["JP (",(0,a.jsx)(s.a,{href:"https://github.com/jpdriver",children:"@jpdriver"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Joe Harrison (",(0,a.jsx)(s.a,{href:"https://github.com/sigwinch28",children:"@sigwinch28"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["John Reilly (",(0,a.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Johnie Hjelm (",(0,a.jsx)(s.a,{href:"https://github.com/johnie",children:"@johnie"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Joshua Chen (",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Joshua Schmitt (",(0,a.jsx)(s.a,{href:"https://github.com/jqshuv",children:"@jqshuv"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["K\xfcr\u015Fat \u015Eim\u015Fek (",(0,a.jsx)(s.a,{href:"https://github.com/kursatsmsek",children:"@kursatsmsek"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Lane Goolsby (",(0,a.jsx)(s.a,{href:"https://github.com/lanegoolsby",children:"@lanegoolsby"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Le Thi Van (",(0,a.jsx)(s.a,{href:"https://github.com/vannyle",children:"@vannyle"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Matthias Koch (",(0,a.jsx)(s.a,{href:"https://github.com/matkoch",children:"@matkoch"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Ng\xf4 Qu\u1ED1c \u0110\u1EA1t (",(0,a.jsx)(s.a,{href:"https://github.com/datlechin",children:"@datlechin"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Paul O\u2019Shannessy (",(0,a.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Redcamel (",(0,a.jsx)(s.a,{href:"https://github.com/redcamel",children:"@redcamel"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Rein van Haaren (",(0,a.jsx)(s.a,{href:"https://github.com/reinvanhaaren",children:"@reinvanhaaren"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Rudra Sen (",(0,a.jsx)(s.a,{href:"https://github.com/RudraSen2",children:"@RudraSen2"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Steven Serrata (",(0,a.jsx)(s.a,{href:"https://github.com/sserrata",children:"@sserrata"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Sunghyun Cho (",(0,a.jsx)(s.a,{href:"https://github.com/anaclumos",children:"@anaclumos"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Szil\xe1rd D\xf3r\xf3 (",(0,a.jsx)(s.a,{href:"https://github.com/szilarddoro",children:"@szilarddoro"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Tom Mrazauskas (",(0,a.jsx)(s.a,{href:"https://github.com/mrazauskas",children:"@mrazauskas"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Webber Takken (",(0,a.jsx)(s.a,{href:"https://github.com/webbertakken",children:"@webbertakken"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Wes McNamee (",(0,a.jsx)(s.a,{href:"https://github.com/ghostsquad",children:"@ghostsquad"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["Yangshun Tay (",(0,a.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/SheetJSDev",children:"@SheetJSDev"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/alewolf",children:"@alewolf"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/dpang314",children:"@dpang314"})}),"\n",(0,a.jsxs)(s.li,{children:["dht (",(0,a.jsx)(s.a,{href:"https://github.com/dht",children:"@dht"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["emattia (",(0,a.jsx)(s.a,{href:"https://github.com/emattia",children:"@emattia"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["pincman (",(0,a.jsx)(s.a,{href:"https://github.com/pincman",children:"@pincman"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["sado (",(0,a.jsx)(s.a,{href:"https://github.com/sado0823",children:"@sado0823"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["\u51F1\u6069 Kane (",(0,a.jsx)(s.a,{href:"https://github.com/Gary50613",children:"@Gary50613"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["\u674E\u5C0F\u96E8 (",(0,a.jsx)(s.a,{href:"https://github.com/metal-young",children:"@metal-young"}),")"]}),"\n",(0,a.jsxs)(s.li,{children:["\u8D64\u57CE\u7ED3\u8863 (",(0,a.jsx)(s.a,{href:"https://github.com/AkagiYui",children:"@AkagiYui"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(o,{...e})}):o(e)}},80980:function(e,s,n){n.d(s,{Z:()=>c,a:()=>h});var i=n(67294);let a={},l=i.createContext(a);function h(e){let s=i.useContext(l);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:h(e.components),i.createElement(l.Provider,{value:s},e.children)}},9436:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.22","source":"@site/changelog/source/2.0.0-beta.22.md","title":"2.0.0-beta.22","description":"Breaking Change","date":"2022-07-08T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Fl\xe1vio Silva","alias":"201flaviosilva","url":"https://github.com/201flaviosilva","imageURL":"https://github.com/201flaviosilva.png","key":"201flaviosilva","page":null},{"name":"7Wate","alias":"7Wate","url":"https://github.com/7Wate","imageURL":"https://github.com/7Wate.png","key":"7Wate","page":null},{"name":"\u8D64\u57CE\u7ED3\u8863","alias":"AkagiYui","url":"https://github.com/AkagiYui","imageURL":"https://github.com/AkagiYui.png","key":"AkagiYui","page":null},{"name":"alewolf","alias":"alewolf","url":"https://github.com/alewolf","imageURL":"https://github.com/alewolf.png","key":"alewolf","page":null},{"name":"Alexander Nestorov","alias":"alexandernst","url":"https://github.com/alexandernst","imageURL":"https://github.com/alexandernst.png","key":"alexandernst","page":null},{"name":"Ahmed Altomy","alias":"Altomy","url":"https://github.com/Altomy","imageURL":"https://github.com/Altomy.png","key":"Altomy","page":null},{"name":"Sunghyun Cho","alias":"anaclumos","url":"https://github.com/anaclumos","imageURL":"https://github.com/anaclumos.png","key":"anaclumos","page":null},{"name":"Benjamin Cabanes","alias":"bcabanes","url":"https://github.com/bcabanes","imageURL":"https://github.com/bcabanes.png","key":"bcabanes","page":null},{"name":"Ben Myers","alias":"BenDMyers","url":"https://github.com/BenDMyers","imageURL":"https://github.com/BenDMyers.png","key":"BenDMyers","page":null},{"name":"Boulet","alias":"Boulet-","url":"https://github.com/Boulet-","imageURL":"https://github.com/Boulet-.png","key":"Boulet-","page":null},{"name":"Charles Ancheta","alias":"cbebe","url":"https://github.com/cbebe","imageURL":"https://github.com/cbebe.png","key":"cbebe","page":null},{"name":"Clemie McCartney","alias":"clemiee","url":"https://github.com/clemiee","imageURL":"https://github.com/clemiee.png","key":"clemiee","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Dharsan B","alias":"DharsanB","url":"https://github.com/DharsanB","imageURL":"https://github.com/DharsanB.png","key":"DharsanB","page":null},{"name":"dht","alias":"dht","url":"https://github.com/dht","imageURL":"https://github.com/dht.png","key":"dht","page":null},{"name":"Diego Fran\xe7a","alias":"difranca","url":"https://github.com/difranca","imageURL":"https://github.com/difranca.png","key":"difranca","page":null},{"name":"dpang314","alias":"dpang314","url":"https://github.com/dpang314","imageURL":"https://github.com/dpang314.png","key":"dpang314","page":null},{"name":"emattia","alias":"emattia","url":"https://github.com/emattia","imageURL":"https://github.com/emattia.png","key":"emattia","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"\u51F1\u6069 Kane","alias":"Gary50613","url":"https://github.com/Gary50613","imageURL":"https://github.com/Gary50613.png","key":"Gary50613","page":null},{"name":"Wes McNamee","alias":"ghostsquad","url":"https://github.com/ghostsquad","imageURL":"https://github.com/ghostsquad.png","key":"ghostsquad","page":null},{"name":"Hyunseung Lee","alias":"HyunseungLee-Travis","url":"https://github.com/HyunseungLee-Travis","imageURL":"https://github.com/HyunseungLee-Travis.png","key":"HyunseungLee-Travis","page":null},{"name":"DOLLE","alias":"JeremyDolle","url":"https://github.com/JeremyDolle","imageURL":"https://github.com/JeremyDolle.png","key":"JeremyDolle","page":null},{"name":"Johnie Hjelm","alias":"johnie","url":"https://github.com/johnie","imageURL":"https://github.com/johnie.png","key":"johnie","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"JP","alias":"jpdriver","url":"https://github.com/jpdriver","imageURL":"https://github.com/jpdriver.png","key":"jpdriver","page":null},{"name":"Joshua Schmitt","alias":"jqshuv","url":"https://github.com/jqshuv","imageURL":"https://github.com/jqshuv.png","key":"jqshuv","page":null},{"name":"K\xfcr\u015Fat \u015Eim\u015Fek","alias":"kursatsmsek","url":"https://github.com/kursatsmsek","imageURL":"https://github.com/kursatsmsek.png","key":"kursatsmsek","page":null},{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Matthias Koch","alias":"matkoch","url":"https://github.com/matkoch","imageURL":"https://github.com/matkoch.png","key":"matkoch","page":null},{"name":"\u674E\u5C0F\u96E8","alias":"metal-young","url":"https://github.com/metal-young","imageURL":"https://github.com/metal-young.png","key":"metal-young","page":null},{"name":"Tom Mrazauskas","alias":"mrazauskas","url":"https://github.com/mrazauskas","imageURL":"https://github.com/mrazauskas.png","key":"mrazauskas","page":null},{"name":"pincman","alias":"pincman","url":"https://github.com/pincman","imageURL":"https://github.com/pincman.png","key":"pincman","page":null},{"name":"Redcamel","alias":"redcamel","url":"https://github.com/redcamel","imageURL":"https://github.com/redcamel.png","key":"redcamel","page":null},{"name":"Rein van Haaren","alias":"reinvanhaaren","url":"https://github.com/reinvanhaaren","imageURL":"https://github.com/reinvanhaaren.png","key":"reinvanhaaren","page":null},{"name":"Rudra Sen","alias":"RudraSen2","url":"https://github.com/RudraSen2","imageURL":"https://github.com/RudraSen2.png","key":"RudraSen2","page":null},{"name":"sado","alias":"sado0823","url":"https://github.com/sado0823","imageURL":"https://github.com/sado0823.png","key":"sado0823","page":null},{"name":"Dzung Do","alias":"saosangmo","url":"https://github.com/saosangmo","imageURL":"https://github.com/saosangmo.png","key":"saosangmo","page":null},{"name":"Dima Grossman","alias":"scopsy","url":"https://github.com/scopsy","imageURL":"https://github.com/scopsy.png","key":"scopsy","page":null},{"name":"SheetJSDev","alias":"SheetJSDev","url":"https://github.com/SheetJSDev","imageURL":"https://github.com/SheetJSDev.png","key":"SheetJSDev","page":null},{"name":"Joe Harrison","alias":"sigwinch28","url":"https://github.com/sigwinch28","imageURL":"https://github.com/sigwinch28.png","key":"sigwinch28","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Huy Nguyen","alias":"Smilefounder","url":"https://github.com/Smilefounder","imageURL":"https://github.com/Smilefounder.png","key":"Smilefounder","page":null},{"name":"Steven Serrata","alias":"sserrata","url":"https://github.com/sserrata","imageURL":"https://github.com/sserrata.png","key":"sserrata","page":null},{"name":"Szil\xe1rd D\xf3r\xf3","alias":"szilarddoro","url":"https://github.com/szilarddoro","imageURL":"https://github.com/szilarddoro.png","key":"szilarddoro","page":null},{"name":"Le Thi Van","alias":"vannyle","url":"https://github.com/vannyle","imageURL":"https://github.com/vannyle.png","key":"vannyle","page":null},{"name":"Webber Takken","alias":"webbertakken","url":"https://github.com/webbertakken","imageURL":"https://github.com/webbertakken.png","key":"webbertakken","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Paul O\u2019Shannessy","alias":"zpao","url":"https://github.com/zpao","imageURL":"https://github.com/zpao.png","key":"zpao","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-07-08T20:00","authors":["201flaviosilva","7Wate","AkagiYui","alewolf","alexandernst","Altomy","anaclumos","bcabanes","BenDMyers","Boulet-","cbebe","clemiee","datlechin","DharsanB","dht","difranca","dpang314","emattia","forresst","Gary50613","ghostsquad","HyunseungLee-Travis","JeremyDolle","johnie","johnnyreilly","Josh-Cena","jpdriver","jqshuv","kursatsmsek","lanegoolsby","lex111","matkoch","metal-young","mrazauskas","pincman","redcamel","reinvanhaaren","RudraSen2","sado0823","saosangmo","scopsy","SheetJSDev","sigwinch28","slorber","Smilefounder","sserrata","szilarddoro","vannyle","webbertakken","yangshun","zpao"]},"unlisted":false,"prevItem":{"title":"2.0.0-rc.1","permalink":"/changelog/2.0.0-rc.1"},"nextItem":{"title":"2.0.0-beta.21","permalink":"/changelog/2.0.0-beta.21"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/090b93b4.c9028800.js b/assets/js/090b93b4.c9028800.js new file mode 100644 index 0000000000..0c2ea450ba --- /dev/null +++ b/assets/js/090b93b4.c9028800.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["79935"],{27931:function(t,e,a){a.r(e),a.d(e,{assets:()=>r,contentTitle:()=>l,default:()=>m,frontMatter:()=>o,metadata:()=>n,toc:()=>h});var n=a(98964),i=a(85893),s=a(80980);let o={mdx:{format:"md"},date:"2022-03-03T20:00",authors:["anicholls","arifszn","dmitryvinn","dstotijn","Josh-Cena","PatelN123","slorber","vaibhavshn"]},l="2.0.0-beta.17",r={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},h=[];function u(t){return(0,i.jsx)(i.Fragment,{})}function m(t={}){let{wrapper:e}={...(0,s.a)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(u,{...t})}):u(t)}},80980:function(t,e,a){a.d(e,{Z:()=>l,a:()=>o});var n=a(67294);let i={},s=n.createContext(i);function o(t){let e=n.useContext(s);return n.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function l(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:o(t.components),n.createElement(s.Provider,{value:e},t.children)}},98964:function(t){t.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.17","source":"@site/changelog/source/2.0.0-beta.17.md","title":"2.0.0-beta.17","description":"New Feature","date":"2022-03-03T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alex Nicholls","alias":"anicholls","url":"https://github.com/anicholls","imageURL":"https://github.com/anicholls.png","key":"anicholls","page":null},{"name":"Ariful Alam","alias":"arifszn","url":"https://github.com/arifszn","imageURL":"https://github.com/arifszn.png","key":"arifszn","page":null},{"name":"Dmitry Vinnik","alias":"dmitryvinn","url":"https://github.com/dmitryvinn","imageURL":"https://github.com/dmitryvinn.png","key":"dmitryvinn","page":null},{"name":"David Stotijn","alias":"dstotijn","url":"https://github.com/dstotijn","imageURL":"https://github.com/dstotijn.png","key":"dstotijn","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Nayan Patel","alias":"PatelN123","url":"https://github.com/PatelN123","imageURL":"https://github.com/PatelN123.png","key":"PatelN123","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Vaibhav Shinde","alias":"vaibhavshn","url":"https://github.com/vaibhavshn","imageURL":"https://github.com/vaibhavshn.png","key":"vaibhavshn","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-03-03T20:00","authors":["anicholls","arifszn","dmitryvinn","dstotijn","Josh-Cena","PatelN123","slorber","vaibhavshn"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.18","permalink":"/changelog/2.0.0-beta.18"},"nextItem":{"title":"2.0.0-beta.16","permalink":"/changelog/2.0.0-beta.16"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/0938a5e1.9c0e035f.js b/assets/js/0938a5e1.9c0e035f.js new file mode 100644 index 0000000000..1f8ea6fb2a --- /dev/null +++ b/assets/js/0938a5e1.9c0e035f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["13328"],{73042:function(e,s,a){a.d(s,{Z:()=>n});let n=a.p+"assets/images/social-card-402517ac2205718a22585e627fe1351c.png"},593:function(e,s,a){a.d(s,{Z:()=>n});let n=a.p+"assets/images/social-card-402517ac2205718a22585e627fe1351c.png"},28918:function(e,s,a){a.r(s),a.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>h});var n=a(12232),r=a(85893),i=a(80980),t=a(14522);let o={title:"Docusaurus 2.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2022-10-29T00:00:00.000Z")},l=void 0,c={image:a(73042).Z,authorsImageUrls:[void 0]},h=[{value:"Highlights",id:"highlights",level:2},{value:"Mermaid diagrams",id:"mermaid-diagrams",level:3},{value:"Config <code>headTags</code>",id:"config-headtags",level:3},{value:"Accessibility",id:"accessibility",level:3},{value:"Developer Experience",id:"developer-experience",level:3},{value:"Translations",id:"translations",level:3},{value:"Other changes",id:"other-changes",level:2}];function d(e){let s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",mermaid:"mermaid",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s.p,{children:["We are happy to announce ",(0,r.jsx)(s.strong,{children:"Docusaurus 2.2"}),"."]}),"\n",(0,r.jsxs)(s.p,{children:["The upgrade should be easy: as explained in our ",(0,r.jsx)(s.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,r.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.img,{alt:"Docusaurus 2.2 social card",src:a(593).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,r.jsx)(s.h2,{id:"highlights",children:"Highlights"}),"\n",(0,r.jsx)(s.h3,{id:"mermaid-diagrams",children:"Mermaid diagrams"}),"\n",(0,r.jsxs)(s.p,{children:["In ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7490",children:"#7490"}),", we added support for Mermaid diagrams. This fills the gap between GitHub Flavored Markdown which also ",(0,r.jsx)(s.a,{href:"https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/",children:"added support recently"}),". You can create Mermaid diagrams using Markdown code blocks:"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-md",children:"```mermaid\nsequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts <br/>prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!\n```\n"})}),"\n","\n",(0,r.jsx)(t.Z,{children:(0,r.jsx)(s.mermaid,{value:"sequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts <br/>prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!"})}),"\n",(0,r.jsxs)(s.p,{children:["Make sure to check the ",(0,r.jsx)(s.a,{href:"/docs/markdown-features/diagrams",children:"documentation"}),", and the ",(0,r.jsx)(s.a,{href:"/tests/pages/diagrams",children:"more advanced examples"})]}),"\n",(0,r.jsxs)(s.h3,{id:"config-headtags",children:["Config ",(0,r.jsx)(s.code,{children:"headTags"})]}),"\n",(0,r.jsxs)(s.p,{children:["In ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8151",children:"#8151"}),", we added the ability to apply arbitrary HTML ",(0,r.jsx)(s.code,{children:"<head>"})," tags to all pages of your site."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"module.exports = {\n headTags: [\n {\n tagName: 'link',\n attributes: {\n rel: 'icon',\n href: '/img/docusaurus.png',\n },\n },\n ],\n};\n"})}),"\n",(0,r.jsx)(s.h3,{id:"accessibility",children:"Accessibility"}),"\n",(0,r.jsx)(s.p,{children:"We did several accessibility improvements:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8207",children:"#8207"}),": improves keyboard navigation for mobile drawer hamburger button"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8161",children:"#8161"}),": improves keyboard navigation for tabs"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8204",children:"#8204"}),": makes the skip to content button support progressive enhancement"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8174",children:"#8174"}),": improves screen reader announcement when toggling between light/dark mode"]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"developer-experience",children:"Developer Experience"}),"\n",(0,r.jsx)(s.p,{children:"We made validation stricter and improved error messages:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8234",children:"#8234"}),": in case of doc processing failure, prints the problematic markdown file path in the error message"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8192",children:"#8192"})," and ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8159",children:"#8159"}),": validates ",(0,r.jsx)(s.code,{children:"siteConfig.url"})," more strictly and with better error message"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8066",children:"#8066"}),": makes config ",(0,r.jsx)(s.code,{children:"url"})," and ",(0,r.jsx)(s.code,{children:"baseUrl"})," fail-safe and less sensitive to the presence or absence of a leading or trailing slash"]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"translations",children:"Translations"}),"\n",(0,r.jsx)(s.p,{children:"We completed the default theme translation support for multiple languages:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["\uD83C\uDDF9\uD83C\uDDF7 ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8105",children:"#8105"}),": completes Turkish translations"]}),"\n",(0,r.jsxs)(s.li,{children:["\uD83C\uDDF7\uD83C\uDDFA ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8253",children:"#8253"}),": completes Russian translations"]}),"\n",(0,r.jsxs)(s.li,{children:["\uD83C\uDDEB\uD83C\uDDF7 ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8243",children:"#8243"}),": completes French translations"]}),"\n",(0,r.jsxs)(s.li,{children:["\uD83C\uDDEF\uD83C\uDDF5 ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8075",children:"#8075"}),": completes Japanese translations"]}),"\n"]}),"\n",(0,r.jsx)(s.admonition,{type:"tip",children:(0,r.jsxs)(s.p,{children:["Completing theme translations is an ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/3526",children:"ongoing effort"})," and an easy way to contribute to Docusaurus. We add new theme features regularly, for which we often ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/3526",children:"need new translations"}),"."]})}),"\n",(0,r.jsx)(s.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,r.jsx)(s.p,{children:"Other notable changes include:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8210",children:"#8210"}),": the ",(0,r.jsx)(s.code,{children:"docusaurus swizzle"})," CLI has a new ",(0,r.jsx)(s.code,{children:"--config"})," option"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8109",children:"#8109"}),": mobile navigation performance optimizations, prefetch resources earlier"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8059",children:"#8059"}),": versions/locales navbar dropdowns preserve hash and querystring on navigation"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8227",children:"#8227"}),": the client redirect plugin preserves hash and querystring on redirect"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Check the ",(0,r.jsx)(s.strong,{children:(0,r.jsx)(s.a,{href:"/changelog/2.2.0",children:"2.2.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function u(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},14522:function(e,s,a){a.d(s,{Z:()=>o});var n=a(85893);a(67294);var r=a(90496);let i="dot_giz1",t="bar_rrRL";function o(e){let{children:s,minHeight:a,url:o="http://localhost:3000",style:l,bodyStyle:c}=e;return(0,n.jsxs)("div",{className:"browserWindow_my1Q",style:{...l,minHeight:a},children:[(0,n.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,n.jsxs)("div",{className:"buttons_uHc7",children:[(0,n.jsx)("span",{className:i,style:{background:"#f25f58"}}),(0,n.jsx)("span",{className:i,style:{background:"#fbbe3c"}}),(0,n.jsx)("span",{className:i,style:{background:"#58cb42"}})]}),(0,n.jsx)("div",{className:(0,r.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:o}),(0,n.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:t}),(0,n.jsx)("span",{className:t}),(0,n.jsx)("span",{className:t})]})})]}),(0,n.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:s})]})}},80980:function(e,s,a){a.d(s,{Z:()=>o,a:()=>t});var n=a(67294);let r={},i=n.createContext(r);function t(e){let s=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),n.createElement(i.Provider,{value:s},e.children)}},12232:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/2.2","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/2.2/index.mdx","source":"@site/blog/releases/2.2/index.mdx","title":"Docusaurus 2.2","description":"We are happy to announce Docusaurus 2.2.","date":"2022-10-29T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":2.2,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.2","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2022-10-29T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2.3","permalink":"/blog/releases/2.3"},"nextItem":{"title":"Docusaurus 2.1","permalink":"/blog/2022/09/01/docusaurus-2.1"}}')}}]); \ No newline at end of file diff --git a/assets/js/09b59f10.a9425fc7.js b/assets/js/09b59f10.a9425fc7.js new file mode 100644 index 0000000000..532d48075b --- /dev/null +++ b/assets/js/09b59f10.a9425fc7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["65836"],{24141:function(e,t,a){a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>u});var o=a(1206),n=a(85893),l=a(80980);let r={mdx:{format:"md"},date:"2020-04-28T20:00",authors:["jsjoeio","lex111","SamChou19815"]},s="2.0.0-alpha.54",i={authorsImageUrls:[void 0,void 0,void 0]},u=[];function h(e){return(0,n.jsx)(n.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},80980:function(e,t,a){a.d(t,{Z:()=>s,a:()=>r});var o=a(67294);let n={},l=o.createContext(n);function r(e){let t=o.useContext(l);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(l.Provider,{value:t},e.children)}},1206:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.54","source":"@site/changelog/source/2.0.0-alpha.54.md","title":"2.0.0-alpha.54","description":"HOTFIX for 2.0.0-alpha.53.","date":"2020-04-28T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-04-28T20:00","authors":["jsjoeio","lex111","SamChou19815"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.55","permalink":"/changelog/2.0.0-alpha.55"},"nextItem":{"title":"2.0.0-alpha.53","permalink":"/changelog/2.0.0-alpha.53"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/09de563b.60a1abac.js b/assets/js/09de563b.60a1abac.js new file mode 100644 index 0000000000..7ab987cb0f --- /dev/null +++ b/assets/js/09de563b.60a1abac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["24921"],{36326:function(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>a});var s=t(13114),o=t(85893),r=t(80980);let i={mdx:{format:"md"},date:"2024-04-04T20:00",authors:["OzakIOne","slorber"]},l="3.2.1",c={authorsImageUrls:[void 0,void 0]},a=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83E\uDD16 Dependencies",id:"robot-dependencies",level:2},{value:"Committers: 2",id:"committers-2",level:2}];function u(e){let n={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10012",children:"#10012"})," fix(core): fix configurePostCss v3.2 regression (",(0,o.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/9980",children:"#9980"})," docs: remove old github action description (",(0,o.jsx)(n.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10014",children:"#10014"})," docs(website): fix SEO docs headTags example (",(0,o.jsx)(n.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10004",children:"#10004"})," docs(website): Announce v3.2 on website/homepage (",(0,o.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"robot-dependencies",children:"\uD83E\uDD16 Dependencies"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/10006",children:"#10006"})," chore(deps): bump actions/dependency-review-action from 4.2.4 to 4.2.5 (",(0,o.jsx)(n.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"committers-2",children:"Committers: 2"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["S\xe9bastien Lorber (",(0,o.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(n.li,{children:["ozaki (",(0,o.jsx)(n.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},80980:function(e,n,t){t.d(n,{Z:()=>l,a:()=>i});var s=t(67294);let o={},r=s.createContext(o);function i(e){let n=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:n},e.children)}},13114:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.2.1","source":"@site/changelog/source/3.2.1.md","title":"3.2.1","description":"Bug Fix","date":"2024-04-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-04-04T20:00","authors":["OzakIOne","slorber"]},"unlisted":false,"prevItem":{"title":"3.3.0","permalink":"/changelog/3.3.0"},"nextItem":{"title":"3.2.0","permalink":"/changelog/3.2.0"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/09f49407.09d8e25d.js b/assets/js/09f49407.09d8e25d.js new file mode 100644 index 0000000000..8d37236147 --- /dev/null +++ b/assets/js/09f49407.09d8e25d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["40250"],{18802:function(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>u,default:()=>h,frontMatter:()=>i,metadata:()=>r,someExport:()=>d,toc:()=>p});var r=n(56877),l=n(85893),s=n(80980),o=n(15398),a=n(58636);let i={title:"Blog post MDX Feed tests",authors:["slorber"],tags:["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"],hide_reading_time:!0},u=void 0,c={authorsImageUrls:[void 0]},d=42,p=[{value:"Imports",id:"imports",level:2},{value:"Exports",id:"exports",level:2},{value:"Tabs test",id:"tabs-test",level:2}];function g(e){let t={code:"code",h2:"h2",p:"p",...(0,s.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.p,{children:"Some MDX tests, mostly to test how the RSS feed render those"}),"\n","\n",(0,l.jsx)(t.h2,{id:"imports",children:"Imports"}),"\n",(0,l.jsx)(t.p,{children:"Here are some imports:"}),"\n","\n",(0,l.jsx)(t.h2,{id:"exports",children:"Exports"}),"\n",(0,l.jsx)(t.p,{children:"Here are some exports:"}),"\n","\n",(0,l.jsx)(t.h2,{id:"tabs-test",children:"Tabs test"}),"\n",(0,l.jsx)(t.p,{children:"Here are some tabs:"}),"\n",(0,l.jsxs)(o.Z,{children:[(0,l.jsx)(a.Z,{value:"apple",label:"Apple",children:(0,l.jsx)(t.p,{children:"This is an apple \uD83C\uDF4E"})}),(0,l.jsx)(a.Z,{value:"orange",label:"Orange",children:(0,l.jsx)(t.p,{children:"This is an orange \uD83C\uDF4A"})})]}),"\n",(0,l.jsxs)(t.p,{children:["Here are some tabs, inside ",(0,l.jsx)(t.code,{children:"mdx-code-block"}),":"]}),"\n",(0,l.jsxs)(o.Z,{children:[(0,l.jsx)(a.Z,{value:"apple",label:"Apple",children:(0,l.jsx)(t.p,{children:"This is an apple \uD83C\uDF4E"})}),(0,l.jsx)(a.Z,{value:"orange",label:"Orange",children:(0,l.jsx)(t.p,{children:"This is an orange \uD83C\uDF4A"})})]})]})}function h(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(g,{...e})}):g(e)}},58636:function(e,t,n){n.d(t,{Z:()=>s});var r=n(85893);n(67294);var l=n(90496);function s(e){let{children:t,hidden:n,className:s}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,l.Z)("tabItem_pnkT",s),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>x});var r=n(85893),l=n(67294),s=n(90496),o=n(54947),a=n(3620),i=n(844),u=n(97486),c=n(32263),d=n(16971);function p(e){return l.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||l.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function g(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var h=n(71607);function b(e){let{className:t,block:n,selectedValue:l,selectValue:a,tabValues:i}=e,u=[],{blockElementScrollPositionUntilNextRender:c}=(0,o.o5)(),d=e=>{let t=e.currentTarget,n=i[u.indexOf(t)].value;n!==l&&(c(t),a(n))},p=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=u.indexOf(e.currentTarget)+1;t=u[n]??u[0];break}case"ArrowLeft":{let n=u.indexOf(e.currentTarget)-1;t=u[n]??u[u.length-1]}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:i.map(e=>{let{value:t,label:n,attributes:o}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,ref:e=>{u.push(e)},onKeyDown:p,onClick:d,...o,className:(0,s.Z)("tabs__item","tabItem_AQgk",o?.className,{"tabs__item--active":l===t}),children:n??t},t)})})}function m(e){let{lazy:t,children:n,selectedValue:o}=e,a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=a.find(e=>e.props.value===o);return e?(0,l.cloneElement)(e,{className:(0,s.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:a.map((e,t)=>(0,l.cloneElement)(e,{key:t,hidden:e.props.value!==o}))})}function f(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:r}=e,s=function(e){let{values:t,children:n}=e;return(0,l.useMemo)(()=>{let e=t??p(n).map(e=>{let{props:{value:t,label:n,attributes:r,default:l}}=e;return{value:t,label:n,attributes:r,default:l}});return!function(e){let t=(0,c.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[o,h]=(0,l.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!g({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:s})),[b,m]=function(e){let{queryString:t=!1,groupId:n}=e,r=(0,a.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,u._X)(s),(0,l.useCallback)(e=>{if(!s)return;let t=new URLSearchParams(r.location.search);t.set(s,e),r.replace({...r.location,search:t.toString()})},[s,r])]}({queryString:n,groupId:r}),[f,x]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[r,s]=(0,d.Nk)(n);return[r,(0,l.useCallback)(e=>{n&&s.set(e)},[n,s])]}({groupId:r}),v=(()=>{let e=b??f;return g({value:e,tabValues:s})?e:null})();return(0,i.Z)(()=>{v&&h(v)},[v]),{selectedValue:o,selectValue:(0,l.useCallback)(e=>{if(!g({value:e,tabValues:s}))throw Error(`Can't select invalid tab value=${e}`);h(e),m(e),x(e)},[m,x,s]),tabValues:s}}(e);return(0,r.jsxs)("div",{className:(0,s.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(b,{...t,...e}),(0,r.jsx)(m,{...t,...e})]})}function x(e){let t=(0,h.Z)();return(0,r.jsx)(f,{...e,children:p(e.children)},String(t))}},80980:function(e,t,n){n.d(t,{Z:()=>a,a:()=>o});var r=n(67294);let l={},s=r.createContext(l);function o(e){let t=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),r.createElement(s.Provider,{value:t},e.children)}},56877:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx","source":"@site/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx","title":"Blog post MDX Feed tests","description":"Some MDX tests, mostly to test how the RSS feed render those","date":"2021-10-07T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"},{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long"},{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long"},{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long"}],"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Blog post MDX Feed tests","authors":["slorber"],"tags":["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"],"hide_reading_time":true},"unlisted":false,"prevItem":{"title":"Blog post MDX require Feed tests","permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests"},"nextItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/09/13/dup-title"}}')}}]); \ No newline at end of file diff --git a/assets/js/0a544fe9.88b73fb7.js b/assets/js/0a544fe9.88b73fb7.js new file mode 100644 index 0000000000..2c96777252 --- /dev/null +++ b/assets/js/0a544fe9.88b73fb7.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["96766"],{5666:function(e,t,n){n.d(t,{CS:()=>f,iZ:()=>p,ci:()=>y,Ne:()=>k,cH:()=>N,nO:()=>d,wj:()=>i,n4:()=>c});var r=n(85893),s=n(67294),a=n(50923),l=n(3564);function i(){let e=(0,l.Z)(),t=e?.data?.blogMetadata;if(!t)throw Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}let o=s.createContext(null);function c(e){let{children:t,content:n,isBlogPostPage:a=!1}=e,l=function(e){let{content:t,isBlogPostPage:n}=e;return(0,s.useMemo)(()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:n}),[t,n])}({content:n,isBlogPostPage:a});return(0,r.jsx)(o.Provider,{value:l,children:t})}function d(){let e=(0,s.useContext)(o);if(null===e)throw new a.i6("BlogPostProvider");return e}var u=n(83631),h=n(8156);let m=e=>new Date(e).toISOString();function g(e){let t=e.map(j);return{author:1===t.length?t[0]:t}}function x(e,t,n){return e?{image:function(e){let{imageUrl:t,caption:n}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:n}}({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${n}`})}:{}}function f(e){let{siteConfig:t}=(0,h.Z)(),{withBaseUrl:n}=(0,u.Cg)(),{metadata:{blogDescription:r,blogTitle:s,permalink:a}}=e,l=`${t.url}${a}`;return{"@context":"https://schema.org","@type":"Blog","@id":l,mainEntityOfPage:l,headline:s,description:r,blogPost:e.items.map(e=>(function(e,t,n){let{assets:r,frontMatter:s,metadata:a}=e,{date:l,title:i,description:o,lastUpdatedAt:c}=a,d=r.image??s.image,u=s.keywords??[],h=`${t.url}${a.permalink}`,f=c?m(c):void 0;return{"@type":"BlogPosting","@id":h,mainEntityOfPage:h,url:h,headline:i,name:i,description:o,datePublished:l,...f?{dateModified:f}:{},...g(a.authors),...x(d,n,i),...u?{keywords:u}:{}}})(e.content,t,n))}}function p(){let e=i(),{assets:t,metadata:n}=d(),{siteConfig:r}=(0,h.Z)(),{withBaseUrl:s}=(0,u.Cg)(),{date:a,title:l,description:o,frontMatter:c,lastUpdatedAt:f}=n,p=t.image??c.image,j=c.keywords??[],v=f?m(f):void 0,b=`${r.url}${n.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":b,mainEntityOfPage:b,url:b,headline:l,name:l,description:o,datePublished:a,...v?{dateModified:v}:{},...g(n.authors),...x(p,s,l),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${r.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}var v=n(3620),b=n(35363),w=n(32263),Z=n(71208);function N(e){let{pathname:t}=(0,v.TH)();return(0,s.useMemo)(()=>e.filter(e=>!e.unlisted||!!(0,Z.Mg)(e.permalink,t)),[e,t])}function y(e){let t=Object.entries((0,w.vM)(e,e=>`${new Date(e.date).getFullYear()}`));return t.reverse(),t}function k(e){let{items:t,ulClassName:n,liClassName:s,linkClassName:a,linkActiveClassName:l}=e;return(0,r.jsx)("ul",{className:n,children:t.map(e=>(0,r.jsx)("li",{className:s,children:(0,r.jsx)(b.Z,{isNavLink:!0,to:e.permalink,className:a,activeClassName:l,children:e.title})},e.permalink))})}},37796:function(e,t,n){n.d(t,{Z:()=>s});var r=n(85893);function s(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}n(67294)},49356:function(e,t,n){n.d(t,{Z:()=>C});var r=n(85893),s=n(67294),a=n(90496),l=n(77827),i=n(55951);let o={admonition:"admonition_o5H7",admonitionHeading:"admonitionHeading_FzoX",admonitionIcon:"admonitionIcon_rXq6",admonitionContent:"admonitionContent_Knsx"};function c(e){let{type:t,className:n,children:s}=e;return(0,r.jsx)("div",{className:(0,a.Z)(i.k.common.admonition,i.k.common.admonitionType(t),o.admonition,n),children:s})}function d(e){let{icon:t,title:n}=e;return(0,r.jsxs)("div",{className:o.admonitionHeading,children:[(0,r.jsx)("span",{className:o.admonitionIcon,children:t}),n]})}function u(e){let{children:t}=e;return t?(0,r.jsx)("div",{className:o.admonitionContent,children:t}):null}function h(e){let{type:t,icon:n,title:s,children:a,className:l}=e;return(0,r.jsxs)(c,{type:t,className:l,children:[s||n?(0,r.jsx)(d,{title:s,icon:n}):null,(0,r.jsx)(u,{children:a})]})}let m={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function g(e){return(0,r.jsx)(h,{...m,...e,className:(0,a.Z)("alert alert--secondary",e.className),children:e.children})}let x={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function f(e){return(0,r.jsx)(h,{...x,...e,className:(0,a.Z)("alert alert--success",e.className),children:e.children})}var p=n(37796);let j={icon:(0,r.jsx)(p.Z,{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function v(e){return(0,r.jsx)(h,{...j,...e,className:(0,a.Z)("alert alert--info",e.className),children:e.children})}function b(e){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let w={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},Z={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},N={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};var y=n(57922);let k={note:g,tip:f,info:v,warning:function(e){return(0,r.jsx)(h,{...w,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,r.jsx)(h,{...Z,...e,className:(0,a.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,r.jsx)(g,{title:"secondary",...e}),important:e=>(0,r.jsx)(v,{title:"important",...e}),success:e=>(0,r.jsx)(f,{title:"success",...e}),caution:function(e){return(0,r.jsx)(h,{...N,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})},"my-custom-admonition":function(e){return(0,r.jsxs)("div",{style:{border:"solid red",padding:10},children:[(0,r.jsx)(y.Z,{as:"h5",style:{color:"blue",fontSize:30},children:e.title}),(0,r.jsx)("div",{children:e.children})]})}};function C(e){let t=function(e){let{mdxAdmonitionTitle:t,rest:n}=function(e){let t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),a=t.filter(e=>e!==n);return{mdxAdmonitionTitle:n?.props.children,rest:a.length>0?(0,r.jsx)(r.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}(e),n=function(e){let t=k[e];return t||(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),k.info)}(t.type);return(0,r.jsx)(n,{...t})}},68930:function(e,t,n){n.d(t,{Z:()=>j});var r=n(85893),s=n(67294),a=n(90496),l=n(35363);let i=function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,r.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,r.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,r.jsx)("path",{d:"M3.6 9h16.8"}),(0,r.jsx)("path",{d:"M3.6 15h16.8"}),(0,r.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,r.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})},o="authorSocialLink_hEWM",c={twitter:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 209",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",...e,children:(0,r.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 250",preserveAspectRatio:"xMidYMid",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"githubSvg_jqE4"),children:(0,r.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,r.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,r.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"xSvg_Q0g7"),children:(0,r.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"},bluesky:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 226",...e,children:(0,r.jsx)("path",{fill:"#1185FE",d:"M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"})})},label:"Bluesky"},instagram:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"instagramSvg_Svcp"),children:(0,r.jsx)("path",{d:"M128 23.064c34.177 0 38.225.13 51.722.745 12.48.57 19.258 2.655 23.769 4.408 5.974 2.322 10.238 5.096 14.717 9.575 4.48 4.479 7.253 8.743 9.575 14.717 1.753 4.511 3.838 11.289 4.408 23.768.615 13.498.745 17.546.745 51.723 0 34.178-.13 38.226-.745 51.723-.57 12.48-2.655 19.257-4.408 23.768-2.322 5.974-5.096 10.239-9.575 14.718-4.479 4.479-8.743 7.253-14.717 9.574-4.511 1.753-11.289 3.839-23.769 4.408-13.495.616-17.543.746-51.722.746-34.18 0-38.228-.13-51.723-.746-12.48-.57-19.257-2.655-23.768-4.408-5.974-2.321-10.239-5.095-14.718-9.574-4.479-4.48-7.253-8.744-9.574-14.718-1.753-4.51-3.839-11.288-4.408-23.768-.616-13.497-.746-17.545-.746-51.723 0-34.177.13-38.225.746-51.722.57-12.48 2.655-19.258 4.408-23.769 2.321-5.974 5.095-10.238 9.574-14.717 4.48-4.48 8.744-7.253 14.718-9.575 4.51-1.753 11.288-3.838 23.768-4.408 13.497-.615 17.545-.745 51.723-.745M128 0C93.237 0 88.878.147 75.226.77c-13.625.622-22.93 2.786-31.071 5.95-8.418 3.271-15.556 7.648-22.672 14.764C14.367 28.6 9.991 35.738 6.72 44.155 3.555 52.297 1.392 61.602.77 75.226.147 88.878 0 93.237 0 128c0 34.763.147 39.122.77 52.774.622 13.625 2.785 22.93 5.95 31.071 3.27 8.417 7.647 15.556 14.763 22.672 7.116 7.116 14.254 11.492 22.672 14.763 8.142 3.165 17.446 5.328 31.07 5.95 13.653.623 18.012.77 52.775.77s39.122-.147 52.774-.77c13.624-.622 22.929-2.785 31.07-5.95 8.418-3.27 15.556-7.647 22.672-14.763 7.116-7.116 11.493-14.254 14.764-22.672 3.164-8.142 5.328-17.446 5.95-31.07.623-13.653.77-18.012.77-52.775s-.147-39.122-.77-52.774c-.622-13.624-2.786-22.929-5.95-31.07-3.271-8.418-7.648-15.556-14.764-22.672C227.4 14.368 220.262 9.99 211.845 6.72c-8.142-3.164-17.447-5.328-31.071-5.95C167.122.147 162.763 0 128 0Zm0 62.27C91.698 62.27 62.27 91.7 62.27 128c0 36.302 29.428 65.73 65.73 65.73 36.301 0 65.73-29.428 65.73-65.73 0-36.301-29.429-65.73-65.73-65.73Zm0 108.397c-23.564 0-42.667-19.103-42.667-42.667S104.436 85.333 128 85.333s42.667 19.103 42.667 42.667-19.103 42.667-42.667 42.667Zm83.686-110.994c0 8.484-6.876 15.36-15.36 15.36-8.483 0-15.36-6.876-15.36-15.36 0-8.483 6.877-15.36 15.36-15.36 8.484 0 15.36 6.877 15.36 15.36Z"})})},label:"Instagram"},threads:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-label":"Threads",viewBox:"0 0 192 192",width:"1em",fill:"none",height:"1em",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"threadsSvg_kngY"),children:(0,r.jsx)("path",{d:"M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.229c8.249.053 14.474 2.452 18.503 7.129 2.932 3.405 4.893 8.111 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.194 47.292 9.642 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553ZM98.44 129.507c-10.44.588-21.286-4.098-21.82-14.135-.397-7.442 5.296-15.746 22.461-16.735 1.966-.114 3.895-.169 5.79-.169 6.235 0 12.068.606 17.371 1.765-1.978 24.702-13.58 28.713-23.802 29.274Z"})})},label:"Threads"},mastodon:{Icon:function(e){let t=(0,s.useId)();return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 61 65",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{fill:`url(#${t})`,d:"M60.754 14.39C59.814 7.406 53.727 1.903 46.512.836 45.294.656 40.682 0 29.997 0h-.08C19.23 0 16.938.656 15.72.836 8.705 1.873 2.299 6.82.745 13.886c-.748 3.48-.828 7.338-.689 10.877.198 5.075.237 10.142.697 15.197a71.482 71.482 0 0 0 1.664 9.968c1.477 6.056 7.458 11.096 13.317 13.152a35.718 35.718 0 0 0 19.484 1.028 28.365 28.365 0 0 0 2.107-.576c1.572-.5 3.413-1.057 4.766-2.038a.154.154 0 0 0 .062-.118v-4.899a.146.146 0 0 0-.055-.111.145.145 0 0 0-.122-.028 54 54 0 0 1-12.644 1.478c-7.328 0-9.298-3.478-9.863-4.925a15.258 15.258 0 0 1-.857-3.882.142.142 0 0 1 .178-.145 52.976 52.976 0 0 0 12.437 1.477c1.007 0 2.012 0 3.02-.026 4.213-.119 8.654-.334 12.8-1.144.103-.02.206-.038.295-.065 6.539-1.255 12.762-5.196 13.394-15.176.024-.393.083-4.115.083-4.523.003-1.386.446-9.829-.065-15.017Z"}),(0,r.jsx)("path",{fill:"#fff",d:"M50.394 22.237v17.35H43.52V22.749c0-3.545-1.478-5.353-4.483-5.353-3.303 0-4.958 2.139-4.958 6.364v9.217h-6.835V23.76c0-4.225-1.657-6.364-4.96-6.364-2.988 0-4.48 1.808-4.48 5.353v16.84H10.93V22.237c0-3.545.905-6.362 2.715-8.45 1.868-2.082 4.317-3.152 7.358-3.152 3.519 0 6.178 1.354 7.951 4.057l1.711 2.871 1.714-2.871c1.773-2.704 4.432-4.056 7.945-4.056 3.038 0 5.487 1.069 7.36 3.152 1.81 2.085 2.712 4.902 2.71 8.449Z"}),(0,r.jsx)("defs",{children:(0,r.jsxs)("linearGradient",{id:t,x1:30.5,x2:30.5,y1:0,y2:65,gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#6364FF"}),(0,r.jsx)("stop",{offset:1,stopColor:"#563ACC"})]})})]})},label:"Mastodon"},youtube:{Icon:function(e){return(0,r.jsxs)("svg",{viewBox:"0 0 256 180",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:[(0,r.jsx)("path",{d:"M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134Z",fill:"red"}),(0,r.jsx)("path",{fill:"#FFF",d:"m102.421 128.06 66.328-38.418-66.328-38.418z"})]})},label:"YouTube"},twitch:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 2400 2800",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"m2200 1300-400 400h-400l-350 350v-350H600V200h1600z",fill:"#fff"}),(0,r.jsxs)("g",{children:[(0,r.jsx)("path",{d:"M500 0 0 500v1800h600v500l500-500h400l900-900V0H500zm1700 1300-400 400h-400l-350 350v-350H600V200h1600v1100z",fill:"#9146ff"}),(0,r.jsx)("path",{d:"M1700 550h200v600h-200zM1150 550h200v600h-200z",fill:"#9146ff"})]})]})},label:"Twitch"}};function d(e){let{platform:t,link:n}=e,{Icon:s,label:d}=c[t]??{Icon:i,label:t};return(0,r.jsx)(l.Z,{className:o,href:n,title:d,children:(0,r.jsx)(s,{className:(0,a.Z)(o)})})}function u(e){let{author:t}=e,n=Object.entries(t.socials??{});return(0,r.jsx)("div",{className:"authorSocials_tPnL",children:n.map(e=>{let[t,n]=e;return(0,r.jsx)(d,{platform:t,link:n},t)})})}var h=n(57922);let m={authorImage:"authorImage_p8ow","author-as-h1":"author-as-h1_Pd3R","author-as-h2":"author-as-h2_UaZL",authorDetails:"authorDetails_dWdF",authorName:"authorName_Y8Hr",authorTitle:"authorTitle_Slpj",authorBlogPostCount:"authorBlogPostCount_FxU_"};function g(e){return e.href?(0,r.jsx)(l.Z,{...e}):(0,r.jsx)(r.Fragment,{children:e.children})}function x(e){let{title:t}=e;return(0,r.jsx)("small",{className:m.authorTitle,title:t,children:t})}function f(e){let{name:t,as:n}=e;return n?(0,r.jsx)(h.Z,{as:n,className:m.authorName,children:t}):(0,r.jsx)("span",{className:m.authorName,children:t})}function p(e){let{count:t}=e;return(0,r.jsx)("span",{className:(0,a.Z)(m.authorBlogPostCount),children:t})}function j(e){let{as:t,author:n,className:s,count:l}=e,{name:i,title:o,url:c,imageURL:d,email:h,page:j}=n,v=j?.permalink||c||h&&`mailto:${h}`||void 0;return(0,r.jsxs)("div",{className:(0,a.Z)("avatar margin-bottom--sm",s,m[`author-as-${t}`]),children:[d&&(0,r.jsx)(g,{href:v,className:"avatar__photo-link",children:(0,r.jsx)("img",{className:(0,a.Z)("avatar__photo",m.authorImage),src:d,alt:i})}),(i||o)&&(0,r.jsxs)("div",{className:(0,a.Z)("avatar__intro",m.authorDetails),children:[(0,r.jsxs)("div",{className:"avatar__name",children:[i&&(0,r.jsx)(g,{href:v,children:(0,r.jsx)(f,{name:i,as:t})}),void 0!==l&&(0,r.jsx)(p,{count:l})]}),!!o&&(0,r.jsx)(x,{title:o}),(0,r.jsx)(u,{author:n})]})]})}},9942:function(e,t,n){n.d(t,{Z:()=>w});var r=n(85893),s=n(67294),a=n(90496),l=n(88408),i=n(28115),o=n(77827),c=n(5666),d=n(26378),u=n(57922);function h(e){let{year:t,yearGroupHeadingClassName:n,children:s}=e;return(0,r.jsxs)("div",{role:"group",children:[(0,r.jsx)(u.Z,{as:"h3",className:n,children:t}),s]})}let m=(0,s.memo)(function(e){let{items:t,yearGroupHeadingClassName:n,ListComponent:s}=e;if(!(0,d.L)().blog.sidebar.groupByYear)return(0,r.jsx)(s,{items:t});{let e=(0,c.ci)(t);return(0,r.jsx)(r.Fragment,{children:e.map(e=>{let[t,a]=e;return(0,r.jsx)(h,{year:t,yearGroupHeadingClassName:n,children:(0,r.jsx)(s,{items:a})},t)})})}}),g=e=>{let{items:t}=e;return(0,r.jsx)(c.Ne,{items:t,ulClassName:(0,a.Z)("sidebarItemList_OSkG","clean-list"),liClassName:"sidebarItem_WJ0y",linkClassName:"sidebarItemLink_Qrfg",linkActiveClassName:"sidebarItemLinkActive_nUeK"})},x=(0,s.memo)(function(e){let{sidebar:t}=e,n=(0,c.cH)(t.items);return(0,r.jsx)("aside",{className:"col col--3",children:(0,r.jsxs)("nav",{className:(0,a.Z)("sidebar_P3nc","thin-scrollbar"),"aria-label":(0,o.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,r.jsx)("div",{className:(0,a.Z)("sidebarItemTitle_VrjY","margin-bottom--md"),children:t.title}),(0,r.jsx)(m,{items:n,ListComponent:g,yearGroupHeadingClassName:"yearGroupHeading_lECJ"})]})})});var f=n(44160);let p=e=>{let{items:t}=e;return(0,r.jsx)(c.Ne,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function j(e){let{sidebar:t}=e,n=(0,c.cH)(t.items);return(0,r.jsx)(m,{items:n,ListComponent:p,yearGroupHeadingClassName:"yearGroupHeading_Ruz9"})}let v=(0,s.memo)(function(e){return(0,r.jsx)(f.Zo,{component:j,props:e})});function b(e){let{sidebar:t}=e,n=(0,i.i)();return t?.items.length?"mobile"===n?(0,r.jsx)(v,{sidebar:t}):(0,r.jsx)(x,{sidebar:t}):null}function w(e){let{sidebar:t,toc:n,children:s,...i}=e,o=t&&t.items.length>0;return(0,r.jsx)(l.Z,{...i,children:(0,r.jsx)("div",{className:"container margin-vert--lg",children:(0,r.jsxs)("div",{className:"row",children:[(0,r.jsx)(b,{sidebar:t}),(0,r.jsx)("main",{className:(0,a.Z)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:s}),n&&(0,r.jsx)("div",{className:"col col--2",children:n})]})})})}},22272:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(77827),a=n(65773);function l(e){let{metadata:t}=e,{previousPage:n,nextPage:l}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,r.jsx)(a.Z,{permalink:n,title:(0,r.jsx)(s.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),l&&(0,r.jsx)(a.Z,{permalink:l,title:(0,r.jsx)(s.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},76460:function(e,t,n){n.d(t,{Z:()=>s});var r=n(85893);function s(e){let{children:t,className:n}=e;return(0,r.jsx)("article",{className:n,children:t})}n(67294)},90437:function(e,t,n){n.d(t,{Z:()=>o});var r=n(85893);n(67294);var s=n(90496),a=n(59699),l=n(5666),i=n(84015);function o(e){let{children:t,className:n}=e,{isBlogPostPage:o}=(0,l.nO)();return(0,r.jsx)("div",{id:o?a.blogPostContainerID:void 0,className:(0,s.Z)("markdown",n),children:(0,r.jsx)(i.Z,{children:t})})}},54505:function(e,t,n){n.d(t,{Z:()=>h});var r=n(85893);n(67294);var s=n(90496),a=n(77827),l=n(11660),i=n(90177),o=n(5666);function c(e){let{readingTime:t}=e,n=function(){let{selectMessage:e}=(0,l.c)();return t=>{let n=Math.ceil(t);return e(n,(0,a.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:n(t)})}function d(e){let{date:t,formattedDate:n}=e;return(0,r.jsx)("time",{dateTime:t,children:n})}function u(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function h(e){let{className:t}=e,{metadata:n}=(0,o.nO)(),{date:a,readingTime:l}=n,h=(0,i.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,s.Z)("container_x5Un","margin-vert--md",t),children:[(0,r.jsx)(d,{date:a,formattedDate:h.format(new Date(a))}),void 0!==l&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u,{}),(0,r.jsx)(c,{readingTime:l})]})]})}},37147:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var s=n(90496),a=n(35363),l=n(5666);function i(e){let{className:t}=e,{metadata:n,isBlogPostPage:i}=(0,l.nO)(),{permalink:o,title:c}=n;return(0,r.jsx)(i?"h1":"h2",{className:(0,s.Z)("title_UBNu",t),children:i?c:(0,r.jsx)(a.Z,{to:o,children:c})})}},80145:function(e,t,n){n.d(t,{Z:()=>Z});var r=n(85893);n(67294);var s=n(90496),a=n(5666),l=n(76460),i=n(37147),o=n(54505),c=n(68930);let d={authorCol:"authorCol_bvyx",imageOnlyAuthorRow:"imageOnlyAuthorRow_L2DM",imageOnlyAuthorCol:"imageOnlyAuthorCol_oyze"};function u(e){let{className:t}=e,{metadata:{authors:n},assets:l}=(0,a.nO)();if(0===n.length)return null;let i=n.every(e=>{let{name:t}=e;return!t}),o=1===n.length;return(0,r.jsx)("div",{className:(0,s.Z)("margin-top--md margin-bottom--sm",i?d.imageOnlyAuthorRow:"row",t),children:n.map((e,t)=>(0,r.jsx)("div",{className:(0,s.Z)(!i&&(o?"col col--12":"col col--6"),i?d.imageOnlyAuthorCol:d.authorCol),children:(0,r.jsx)(c.Z,{author:{...e,imageURL:l.authorsImageUrls[t]??e.imageURL}})},t))})}function h(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(i.Z,{}),(0,r.jsx)(o.Z,{}),(0,r.jsx)(u,{})]})}var m=n(90437),g=n(55951),x=n(60114),f=n(47294),p=n(77827),j=n(35363);function v(){return(0,r.jsx)("b",{children:(0,r.jsx)(p.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function b(e){let{blogPostTitle:t,...n}=e;return(0,r.jsx)(j.Z,{"aria-label":(0,p.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(v,{})})}function w(){let{metadata:e,isBlogPostPage:t}=(0,a.nO)(),{tags:n,title:l,editUrl:i,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&o,h=n.length>0;if(!(h||u||i))return null;if(!t)return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[h&&(0,r.jsx)("div",{className:(0,s.Z)("col",{"col--9":u}),children:(0,r.jsx)(f.Z,{tags:n})}),u&&(0,r.jsx)("div",{className:(0,s.Z)("col text--right",{"col--3":h}),children:(0,r.jsx)(b,{blogPostTitle:l,to:e.permalink})})]});{let e=!!(i||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[h&&(0,r.jsx)("div",{className:(0,s.Z)("row","margin-top--sm",g.k.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(f.Z,{tags:n})})}),e&&(0,r.jsx)(x.Z,{className:(0,s.Z)("margin-top--sm",g.k.blog.blogFooterEditMetaRow),editUrl:i,lastUpdatedAt:d,lastUpdatedBy:c})]})}}function Z(e){let{children:t,className:n}=e,i=function(){let{isBlogPostPage:e}=(0,a.nO)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(l.Z,{className:(0,s.Z)(i,n),children:[(0,r.jsx)(h,{}),(0,r.jsx)(m.Z,{children:t}),(0,r.jsx)(w,{})]})}},65808:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(5666),a=n(80145);function l(e){let{items:t,component:n=a.Z}=e;return(0,r.jsx)(r.Fragment,{children:t.map(e=>{let{content:t}=e;return(0,r.jsx)(s.n4,{content:t,children:(0,r.jsx)(n,{children:(0,r.jsx)(t,{})})},t.metadata.permalink)})})}},2769:function(e,t,n){n.d(t,{Z:()=>h});var r=n(85893),s=n(67294),a=n(90496),l=n(96700),i=n(71607),o=n(97812);let c={details:"details_Nokh",isBrowser:"isBrowser_QrB5",collapsibleContent:"collapsibleContent_EoA1"};function d(e){return!!e&&("SUMMARY"===e.tagName||d(e.parentElement))}function u(e){let{summary:t,children:n,...u}=e;(0,l.Z)().collectAnchor(u.id);let h=(0,i.Z)(),m=(0,s.useRef)(null),{collapsed:g,setCollapsed:x}=(0,o.u)({initialState:!u.open}),[f,p]=(0,s.useState)(u.open),j=s.isValidElement(t)?t:(0,r.jsx)("summary",{children:t??"Details"});return(0,r.jsxs)("details",{...u,ref:m,open:f,"data-collapsed":g,className:(0,a.Z)(c.details,h&&c.isBrowser,u.className),onMouseDown:e=>{d(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;d(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,m.current)&&(e.preventDefault(),g?(x(!1),p(!0)):x(!0))},children:[j,(0,r.jsx)(o.z,{lazy:!1,collapsed:g,onCollapseTransitionEnd:e=>{x(e),p(!e)},children:(0,r.jsx)("div",{className:c.collapsibleContent,children:n})})]})}function h(e){let{...t}=e;return(0,r.jsx)(u,{...t,className:(0,a.Z)("alert alert--info","details_Cn_P",t.className)})}},60114:function(e,t,n){n.d(t,{Z:()=>g});var r=n(85893);n(67294);var s=n(90496),a=n(77827),l=n(55951),i=n(35363);function o(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)("iconEdit_IMw_",t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function c(e){let{editUrl:t}=e;return(0,r.jsxs)(i.Z,{to:t,className:l.k.common.editThisPage,children:[(0,r.jsx)(o,{}),(0,r.jsx)(a.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var d=n(90177);function u(e){let{lastUpdatedAt:t}=e,n=new Date(t),s=(0,d.P)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(a.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(a.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function m(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:l.k.common.lastUpdated,children:[(0,r.jsx)(a.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(u,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}function g(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:l}=e;return(0,r.jsxs)("div",{className:(0,s.Z)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(c,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.Z)("col","lastUpdated_OHCJ"),children:(a||l)&&(0,r.jsx)(m,{lastUpdatedAt:a,lastUpdatedBy:l})})]})}},84015:function(e,t,n){n.d(t,{Z:()=>B});var r=n(85893),s=n(67294),a=n(80980),l=n(53327),i=n(95998);function o(e){return(0,r.jsx)("code",{...e})}function c(e){return void 0!==e.children&&s.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,r.jsx)(o,{...e}):(0,r.jsx)(i.Z,{...e})}var d=n(35363),u=n(2769);function h(e){let t=s.Children.toArray(e.children),n=t.find(e=>s.isValidElement(e)&&"summary"===e.type),a=(0,r.jsx)(r.Fragment,{children:t.filter(e=>e!==n)});return(0,r.jsx)(u.Z,{...e,summary:n,children:a})}var m=n(57922);function g(e){return(0,r.jsx)(m.Z,{...e})}var x=n(90496);let f={containsTaskList:"containsTaskList_k9gM"};var p=n(96700),j=n(49356),v=n(67490),b=n(85108),w=n(26378),Z=n(45245),N=n(57396);async function y(e){let{id:t,text:n,config:r}=e;N.Z.mermaidAPI.initialize(r);try{return await N.Z.render(t,n)}catch(e){throw document.querySelector(`#d${t}`)?.remove(),e}}function k(e){let{renderResult:t}=e,n=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let e=n.current;t.bindFunctions?.(e)},[t]),(0,r.jsx)("div",{ref:n,className:"docusaurus-mermaid-container container_RUsj",dangerouslySetInnerHTML:{__html:t.svg}})}function C(e){let{value:t}=e,n=function(e){let{text:t,config:n}=e,[r,a]=(0,s.useState)(null),l=(0,s.useRef)(`mermaid-svg-${Math.round(1e7*Math.random())}`).current,i=function(){let{colorMode:e}=(0,Z.I)(),t=(0,w.L)().mermaid,n=t.theme[e],{options:r}=t;return(0,s.useMemo)(()=>({startOnLoad:!1,...r,theme:n}),[n,r])}(),o=n??i;return(0,s.useEffect)(()=>{y({id:l,text:t,config:o}).then(a).catch(e=>{a(()=>{throw e})})},[l,t,o]),r}({text:t});return null===n?null:(0,r.jsx)(k,{renderResult:n})}let _={Head:l.Z,details:h,Details:h,code:c,a:function(e){return(0,r.jsx)(d.Z,{...e})},pre:function(e){return(0,r.jsx)(r.Fragment,{children:e.children})},ul:function(e){return(0,r.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,x.Z)(e,e?.includes("contains-task-list")&&f.containsTaskList)}(e.className)})},li:function(e){return(0,p.Z)().collectAnchor(e.id),(0,r.jsx)("li",{...e})},img:function(e){var t;return(0,r.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,x.Z)(t,"img_vXGZ"))})},h1:e=>(0,r.jsx)(g,{as:"h1",...e}),h2:e=>(0,r.jsx)(g,{as:"h2",...e}),h3:e=>(0,r.jsx)(g,{as:"h3",...e}),h4:e=>(0,r.jsx)(g,{as:"h4",...e}),h5:e=>(0,r.jsx)(g,{as:"h5",...e}),h6:e=>(0,r.jsx)(g,{as:"h6",...e}),admonition:j.Z,mermaid:function(e){return(0,r.jsx)(v.Z,{fallback:e=>(0,r.jsx)(b.Ac,{...e}),children:(0,r.jsx)(C,{...e})})},Code:c,Highlight:function(e){let{children:t,color:n}=e;return(0,r.jsx)("span",{style:{backgroundColor:n,borderRadius:"2px",color:"#fff",padding:"0.2rem"},children:t})},TweetQuote:function(e){let{url:t,handle:n,name:s,job:a,children:l}=e,i=`https://unavatar.io/x/${n}`,o=`https://x.com/${n}`;return(0,r.jsxs)("figure",{className:"tweetQuote_h8Rz",children:[(0,r.jsx)("blockquote",{children:(0,r.jsx)(d.Z,{to:t,children:l})}),(0,r.jsx)("figcaption",{children:(0,r.jsx)(d.Z,{to:o,rel:"nofollow",children:(0,r.jsxs)("div",{className:"avatar",children:[(0,r.jsx)("img",{alt:s,className:(0,x.Z)("avatar__photo","avatarImg_b51M"),src:i}),(0,r.jsxs)("div",{className:(0,x.Z)("avatar__intro"),children:[(0,r.jsx)("strong",{className:"avatar__name",children:(0,r.jsx)("cite",{children:s})}),(0,r.jsx)("small",{className:"avatar__subtitle",itemProp:"description",children:a})]})]})})})]})}};function B(e){let{children:t}=e;return(0,r.jsx)(a.Z,{components:_,children:t})}},65773:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(90496),a=n(35363);function l(e){let{permalink:t,title:n,subLabel:l,isNext:i}=e;return(0,r.jsxs)(a.Z,{className:(0,s.Z)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[l&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,r.jsx)("div",{className:"pagination-nav__label",children:n})]})}},63479:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var s=n(90496),a=n(35363);let l={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};function i(e){let{permalink:t,label:n,count:i,description:o}=e;return(0,r.jsxs)(a.Z,{href:t,title:o,className:(0,s.Z)(l.tag,i?l.tagWithCount:l.tagRegular),children:[n,i&&(0,r.jsx)("span",{children:i})]})}},47294:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var s=n(90496),a=n(77827),l=n(63479);function i(e){let{tags:t}=e;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("b",{children:(0,r.jsx)(a.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,r.jsx)("ul",{className:(0,s.Z)("tags_rTaS","padding--none","margin-left--sm"),children:t.map(e=>(0,r.jsx)("li",{className:"tag_l5va",children:(0,r.jsx)(l.Z,{...e})},e.permalink))})]})}},90177:function(e,t,n){n.d(t,{P:()=>s});var r=n(8156);function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{i18n:{currentLocale:t}}=(0,r.Z)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,r.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},11660:function(e,t,n){n.d(t,{c:()=>o});var r=n(67294),s=n(8156);let a=["zero","one","two","few","many","other"];function l(e){return a.filter(t=>e.includes(t))}let i={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,s.Z)();return(0,r.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:l(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),i}},[e])}();return{selectMessage:(t,n)=>(function(e,t,n){let r=e.split("|");if(1===r.length)return r[0];r.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${r.length}: ${e}`);let s=n.select(t);return r[Math.min(n.pluralForms.indexOf(s),r.length-1)]})(n,t,e)}}},56497:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var s=n(71607);function a(e){let{children:t,fallback:n}=e;return(0,s.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}},61420:function(e,t,n){n.d(t,{Z:()=>b});var r=n(85893),s=n(67294),a=n(5666),l=n(37147),i=n(54505),o=n(90496),c=n(35363);let d={image:"image_oRbT"};function u(e){let{author:t,className:n}=e,{name:s,url:a,imageURL:l}=t;return(0,r.jsx)("div",{className:(0,o.Z)("avatar margin-bottom--sm",n),children:l&&(0,r.jsx)(c.Z,{className:"avatar__photo-link avatar__photo",href:a,children:(0,r.jsx)("img",{className:d.image,src:l,alt:s,onError:e=>{e.currentTarget.src='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="600" height="600" fill="none" stroke="%2325c2a0" stroke-width="30" version="1.1"><circle cx="300" cy="230" r="115"/><path stroke-linecap="butt" d="M106.81863443903,481.4 a205,205 1 0,1 386.36273112194,0"/></svg>'}})})})}function h(e){let{expanded:t,...n}=e;return t?(0,r.jsx)("svg",{viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor",...n,children:(0,r.jsx)("path",{d:"M783.915092 1009.031953l-271.898251-277.615587-271.930737 277.550617a49.214558 49.214558 0 0 1-70.752018 0 51.780862 51.780862 0 0 1 0-72.246322l307.274261-313.706262a49.279528 49.279528 0 0 1 70.784503 0l307.33923 313.706262a51.975771 51.975771 0 0 1 0 72.311292 49.409467 49.409467 0 0 1-70.816988 0z m-307.306745-608.05155L169.269117 87.274141A51.975771 51.975771 0 0 1 169.269117 14.96285a49.409467 49.409467 0 0 1 70.816987 0l271.930737 277.615586L783.850122 14.96285a49.409467 49.409467 0 0 1 70.816988 0 51.975771 51.975771 0 0 1 0 72.311291l-307.33923 313.706262a49.376982 49.376982 0 0 1-70.719533 0z"})}):(0,r.jsx)("svg",{viewBox:"0 0 1024 1024",width:"20",height:"20",fill:"currentColor",...n,children:(0,r.jsx)("path",{d:"M476.612887 1009.12034L169.240699 695.380437a51.981345 51.981345 0 0 1 0-72.319045 49.382277 49.382277 0 0 1 70.824582 0l271.959897 277.645356 271.862433-277.645356a49.382277 49.382277 0 0 1 70.824582 0 51.981345 51.981345 0 0 1 0 72.319045l-307.307212 313.739903a49.447254 49.447254 0 0 1-70.792094 0z m307.274724-608.116755L511.99269 123.455693l-271.959897 277.645357a49.382277 49.382277 0 0 1-70.824582 0 51.981345 51.981345 0 0 1 0-72.319045L476.580399 15.042102a49.382277 49.382277 0 0 1 70.727117 0l307.372188 313.739903a51.981345 51.981345 0 0 1 0 72.319045 49.414766 49.414766 0 0 1-70.824582 0z"})})}let m={imageOnlyAuthorRow:"imageOnlyAuthorRow_WiD6",imageOnlyAuthorCol:"imageOnlyAuthorCol_uiac",toggleButton:"toggleButton_WvRg"};function g(e){let{className:t}=e,{metadata:{authors:n},assets:l}=(0,a.nO)(),[i,c]=(0,s.useState)(!1);if(0===n.length)return null;let d=n.slice(0,i?n.length:10);return(0,r.jsxs)("div",{className:(0,o.Z)("margin-top--md margin-bottom--sm",m.imageOnlyAuthorRow,t),children:[d.map((e,t)=>(0,r.jsx)("div",{className:m.imageOnlyAuthorCol,children:(0,r.jsx)(u,{author:{...e,imageURL:l.authorsImageUrls[t]??e.imageURL}})},t)),n.length>10&&(0,r.jsx)("button",{className:(0,o.Z)("clean-btn",m.toggleButton),type:"button",onClick:()=>c(e=>!e),"aria-label":"expand",children:(0,r.jsx)(h,{expanded:i})})]})}let x={changelogItemTitleList:"changelogItemTitleList_sueG"};function f(){let{isBlogPostPage:e}=(0,a.nO)();return(0,r.jsx)(l.Z,{className:e?void 0:x.changelogItemTitleList})}function p(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(f,{}),(0,r.jsx)(i.Z,{}),(0,r.jsx)(g,{})]})}var j=n(76460),v=n(90437);function b(e){let{children:t}=e;return(0,r.jsxs)(j.Z,{className:"changelogItemContainer_jeDt",children:[(0,r.jsx)(p,{}),(0,r.jsx)(v.Z,{children:t})]})}},67186:function(e,t,n){n.r(t),n.d(t,{default:()=>b});var r=n(85893);n(67294);var s=n(90496),a=n(57335),l=n(55951),i=n(9942),o=n(22272),c=n(65808),d=n(69879),u=n(61420),h=n(77827),m=n(35363),g=n(57922);function x(){return(0,r.jsxs)(m.Z,{href:"https://x.com/docusaurus",className:"x_RTSd",children:[(0,r.jsx)("b",{children:"X"}),(0,r.jsx)("svg",{style:{fill:"#1da1f2",position:"relative",left:4,top:1,marginRight:8},width:"16",height:"16",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:(0,r.jsx)("path",{d:"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"})})]})}function f(){return(0,r.jsxs)(m.Z,{href:"pathname:///changelog/rss.xml",className:"rss_fOa_",children:[(0,r.jsx)("b",{children:(0,r.jsx)(h.Z,{id:"changelog.description.rssLink",children:"RSS feeds"})}),(0,r.jsx)("svg",{style:{fill:"#f26522",position:"relative",left:4,top:1,marginRight:8},xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M6.503 20.752c0 1.794-1.456 3.248-3.251 3.248-1.796 0-3.252-1.454-3.252-3.248 0-1.794 1.456-3.248 3.252-3.248 1.795.001 3.251 1.454 3.251 3.248zm-6.503-12.572v4.811c6.05.062 10.96 4.966 11.022 11.009h4.817c-.062-8.71-7.118-15.758-15.839-15.82zm0-3.368c10.58.046 19.152 8.594 19.183 19.188h4.817c-.03-13.231-10.755-23.954-24-24v4.812z"})})]})}function p(e){let{blogTitle:t}=e;return(0,r.jsxs)("header",{className:"margin-bottom--lg",children:[(0,r.jsx)(g.Z,{as:"h1",style:{fontSize:"3rem"},children:t}),(0,r.jsx)("p",{children:(0,r.jsx)(h.Z,{id:"changelog.description",values:{xLink:(0,r.jsx)(x,{}),rssLink:(0,r.jsx)(f,{})},children:"Subscribe through {rssLink} or follow us on {xLink} to stay up-to-date with new releases!"})})]})}function j(e){let{metadata:t}=e,{blogTitle:n,blogDescription:s}=t;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.d,{title:n,description:s}),(0,r.jsx)(d.Z,{tag:"blog_posts_list"})]})}function v(e){let{metadata:t,items:n,sidebar:s}=e,{blogTitle:a}=t;return(0,r.jsxs)(i.Z,{sidebar:s,children:[(0,r.jsx)(p,{blogTitle:a}),(0,r.jsx)(c.Z,{items:n,component:u.Z}),(0,r.jsx)(o.Z,{metadata:t})]})}function b(e){return(0,r.jsxs)(a.FG,{className:(0,s.Z)(l.k.wrapper.blogPages,l.k.page.blogListPage),children:[(0,r.jsx)(j,{...e}),(0,r.jsx)(v,{...e})]})}},95998:function(e,t,n){n.d(t,{Z:()=>et});var r,s={};n.r(s),n.d(s,{ButtonExample:()=>C});var a=n(85893),l=n(67294),i=n(90496),o=n(71607),c=n(10075),d=n(77827),u=n(8156),h=n(56497),m=n(85108),g=n(45245),x=n(26378);function f(){let{prism:e}=(0,x.L)(),{colorMode:t}=(0,g.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var p=n(67490);function j(e){let{children:t}=e;return(0,a.jsx)("div",{className:(0,i.Z)("playgroundHeader_Tvsk"),children:t})}function v(){return(0,a.jsx)("div",{children:"Loading..."})}function b(){return(0,a.jsx)(h.Z,{fallback:(0,a.jsx)(v,{}),children:()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.Z,{fallback:e=>(0,a.jsx)(m.Ac,{...e}),children:(0,a.jsx)(c.i5,{})}),(0,a.jsx)(c.IF,{})]})})}function w(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{children:(0,a.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,a.jsx)("div",{className:"playgroundPreview_mApW",children:(0,a.jsx)(b,{})})]})}function Z(){let e=(0,o.Z)();return(0,a.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function N(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{children:(0,a.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,a.jsx)(Z,{})]})}let y=e=>`${e};`;function k(e){let{children:t,transformCode:n,...r}=e,{siteConfig:{themeConfig:s}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:l}}=s,i=f(),o=r.metastring?.includes("noInline")??!1;return(0,a.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,a.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:o,transformCode:n??y,theme:i,...r,children:"top"===l?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(w,{}),(0,a.jsx)(N,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N,{}),(0,a.jsx)(w,{})]})})})}function C(e){return(0,a.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let _={React:l,...l,...s};var B=n(55951),M=n(6324),L=n.n(M);let I=/title=(?<quote>["'])(?<title>.*?)\1/,T=/\{(?<range>[\d,-]+)\}/,A={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},R={...A,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},z=Object.keys(A);function E(e,t){let n=e.map(e=>{let{start:n,end:r}=R[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function O(e){let{as:t,...n}=e,r=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,a=t[r];a&&"string"==typeof s&&(n[a]=s)}),n}(f());return(0,a.jsx)(t,{...n,style:r,className:(0,i.Z)(n.className,"codeBlockContainer_jDV4",B.k.common.codeBlock)})}let H={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function S(e){let{children:t,className:n}=e;return(0,a.jsx)(O,{as:"pre",tabIndex:0,className:(0,i.Z)(H.codeBlockStandalone,"thin-scrollbar",n),children:(0,a.jsx)("code",{className:H.codeBlockLines,children:t})})}var F=n(50923);let P={attributes:!0,characterData:!0,childList:!0,subtree:!0};var U=n(7316);let $={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function D(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:s,getTokenProps:l}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let o=s({line:t,className:(0,i.Z)(n,r&&$.codeLine)}),c=t.map((e,t)=>(0,a.jsx)("span",{...l({token:e})},t));return(0,a.jsxs)("span",{...o,children:[r?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:$.codeLineNumber}),(0,a.jsx)("span",{className:$.codeLineContent,children:c})]}):c,(0,a.jsx)("br",{})]})}var V=n(44771);function W(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function G(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let Y={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function q(e){let{code:t,className:n}=e,[r,s]=(0,l.useState)(!1),o=(0,l.useRef)(void 0),c=(0,l.useCallback)(()=>{(0,V.Z)(t),s(!0),o.current=window.setTimeout(()=>{s(!1)},1e3)},[t]);return(0,l.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,a.jsx)("button",{type:"button","aria-label":r?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",n,Y.copyButton,r&&Y.copyButtonCopied),onClick:c,children:(0,a.jsxs)("span",{className:Y.copyButtonIcons,"aria-hidden":"true",children:[(0,a.jsx)(W,{className:Y.copyButtonIcon}),(0,a.jsx)(G,{className:Y.copyButtonSuccessIcon})]})})}function Q(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let X={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function J(e){let{className:t,onClick:n,isEnabled:r}=e,s=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,a.jsx)("button",{type:"button",onClick:n,className:(0,i.Z)("clean-btn",t,r&&X.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,a.jsx)(Q,{className:X.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:r="",metastring:s,title:c,showLineNumbers:d,language:u}=e,{prism:{defaultLanguage:h,magicComments:m}}=(0,x.L)(),g=(t=u??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(r)??h,t?.toLowerCase()),p=f(),j=function(){let[e,t]=(0,l.useState)(!1),[n,r]=(0,l.useState)(!1),s=(0,l.useRef)(null),a=(0,l.useCallback)(()=>{let n=s.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[s,e]),i=(0,l.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=s.current;r(e>t||s.current.querySelector("code").hasAttribute("style"))},[s]);return!function(e,t){let[n,r]=(0,l.useState)(),s=(0,l.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,l.useEffect)(()=>{s()},[s]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:P,r=(0,F.zX)(t),s=(0,F.Ql)(n);(0,l.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,s),()=>t.disconnect()},[e,r,s])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),s())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(s,i),(0,l.useEffect)(()=>{i()},[e,i]),(0,l.useEffect)(()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)}),[i]),{codeBlockRef:s,isEnabled:e,isCodeScrollable:n,toggle:a}}(),v=(0,o.Z)(),b=(s?.match(I)?.groups.title??"")||c,{lineClassNames:w,code:Z}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:a}=t;if(a&&T.test(a)){let e=a.match(T).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=s[0].className;return{lineClassNames:Object.fromEntries(L()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let l=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return E(["js","jsBlock"],t);case"jsx":case"tsx":return E(["js","jsBlock","jsx"],t);case"html":return E(["js","jsBlock","html"],t);case"python":case"py":case"bash":return E(["bash"],t);case"markdown":case"md":return E(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return E(["tex"],t);case"lua":case"haskell":return E(["lua"],t);case"sql":return E(["lua","jsBlock"],t);case"wasm":return E(["wasm"],t);case"vb":case"vba":case"visual-basic":return E(["vb","rem"],t);case"vbnet":return E(["vbnet","rem"],t);case"batch":return E(["rem"],t);case"basic":return E(["rem","f90"],t);case"fsharp":return E(["js","ml"],t);case"ocaml":case"sml":return E(["ml"],t);case"fortran":return E(["f90"],t);case"cobol":return E(["cobol"],t);default:return E(z,t)}}(r,s),i=n.split("\n"),o=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<i.length;){let t=i[e].match(l);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?o[c[n]].range+=`${e},`:d[n]?o[d[n]].start=e:u[n]&&(o[u[n]].range+=`${o[u[n]].start}-${e-1},`),i.splice(e,1)}n=i.join("\n");let h={};return Object.entries(o).forEach(e=>{let[t,{range:n}]=e;L()(n).forEach(e=>{h[e]??=[],h[e].push(t)})}),{lineClassNames:h,code:n}}(n,{metastring:s,language:g,magicComments:m}),N=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:d,metastring:s});return(0,a.jsxs)(O,{as:"div",className:(0,i.Z)(r,g&&!r.includes(`language-${g}`)&&`language-${g}`),children:[b&&(0,a.jsx)("div",{className:H.codeBlockTitle,children:b}),(0,a.jsxs)("div",{className:H.codeBlockContent,children:[(0,a.jsx)(U.y$,{theme:p,code:Z,language:g??"text",children:e=>{let{className:t,style:n,tokens:r,getLineProps:s,getTokenProps:l}=e;return(0,a.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,i.Z)(t,H.codeBlock,"thin-scrollbar"),style:n,children:(0,a.jsx)("code",{className:(0,i.Z)(H.codeBlockLines,void 0!==N&&H.codeBlockLinesWithNumbering),style:void 0===N?void 0:{counterReset:`line-count ${N-1}`},children:r.map((e,t)=>(0,a.jsx)(D,{line:e,getLineProps:s,getTokenProps:l,classNames:w[t],showLineNumbers:void 0!==N},t))})})}}),v?(0,a.jsxs)("div",{className:H.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,a.jsx)(J,{className:H.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,a.jsx)(q,{className:H.codeButton,code:Z})]}):null]})]})}let ee=(r=function(e){let{children:t,...n}=e,r=(0,o.Z)(),s=l.Children.toArray(t).some(e=>(0,l.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,a.jsx)("string"==typeof s?K:S,{...n,children:s},String(r))},function(e){return e.live?(0,a.jsx)(k,{scope:_,...e}):(0,a.jsx)(r,{...e})});function et(e){return(0,a.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/0a818389.7e0809bf.js b/assets/js/0a818389.7e0809bf.js new file mode 100644 index 0000000000..73adc644ea --- /dev/null +++ b/assets/js/0a818389.7e0809bf.js @@ -0,0 +1,3 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["51698"],{13244:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>d,default:()=>p,contentTitle:()=>h,assets:()=>u,toc:()=>g,metadata:()=>t});var t=JSON.parse('{"id":"guides/markdown-features/code-blocks","title":"Code blocks","description":"Handling code blocks in Docusaurus Markdown","source":"@site/docs/guides/markdown-features/markdown-features-code-blocks.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/code-blocks","permalink":"/docs/markdown-features/code-blocks","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-code-blocks.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"code-blocks","description":"Handling code blocks in Docusaurus Markdown","slug":"/markdown-features/code-blocks"},"sidebar":"docs","previous":{"title":"Tabs","permalink":"/docs/markdown-features/tabs"},"next":{"title":"Admonitions","permalink":"/docs/markdown-features/admonitions"}}'),r=s(85893),i=s(80980),l=s(15398),a=s(58636),o=s(14522),c=s(95998);let d={id:"code-blocks",description:"Handling code blocks in Docusaurus Markdown",slug:"/markdown-features/code-blocks"},h="Code blocks",u={},g=[{value:"Code title",id:"code-title",level:2},{value:"Syntax highlighting",id:"syntax-highlighting",level:2},{value:"Theming",id:"theming",level:3},{value:"Supported Languages",id:"supported-languages",level:3},{value:"Line highlighting",id:"line-highlighting",level:2},{value:"Highlighting with comments",id:"highlighting-with-comments",level:3},{value:"Highlighting with metadata string",id:"highlighting-with-metadata-string",level:3},{value:"Custom magic comments",id:"custom-magic-comments",level:3},{value:"Line numbering",id:"line-numbering",level:2},{value:"Interactive code editor",id:"interactive-code-editor",level:2},{value:"Imports",id:"imports",level:3},{value:"Imperative Rendering (noInline)",id:"imperative-rendering-noinline",level:3},{value:"Using JSX markup in code blocks",id:"using-jsx-markup",level:2},{value:"Multi-language support code blocks",id:"multi-language-support-code-blocks",level:2},{value:"Docusaurus npm2yarn remark plugin",id:"npm2yarn-remark-plugin",level:3},{value:"Configuration",id:"npm2yarn-remark-plugin-configuration",level:4},{value:"Usage in JSX",id:"usage-in-jsx",level:2}];function m(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"code-blocks",children:"Code blocks"})}),"\n","\n",(0,r.jsx)(n.p,{children:"Code blocks within documentation are super-powered \uD83D\uDCAA."}),"\n",(0,r.jsx)(n.h2,{id:"code-title",children:"Code title"}),"\n",(0,r.jsxs)(n.p,{children:["You can add a title to the code block by adding a ",(0,r.jsx)(n.code,{children:"title"})," key after the language (leave a space between them)."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:'```jsx title="/src/components/HelloCodeTitle.js"\nfunction HelloCodeTitle(props) {\n return <h1>Hello, {props.name}</h1>;\n}\n```\n'})}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="/src/components/HelloCodeTitle.js"',children:"function HelloCodeTitle(props) {\n return <h1>Hello, {props.name}</h1>;\n}\n"})})}),"\n",(0,r.jsx)(n.h2,{id:"syntax-highlighting",children:"Syntax highlighting"}),"\n",(0,r.jsxs)(n.p,{children:["Code blocks are text blocks wrapped around by strings of 3 backticks. You may check out ",(0,r.jsx)(n.a,{href:"https://github.com/mdx-js/specification",children:"this reference"})," for the specifications of MDX."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"```js\nconsole.log('Every repo must come with a mascot.');\n```\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Use the matching language meta string for your code block, and Docusaurus will pick up syntax highlighting automatically, powered by ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer",children:"Prism React Renderer"}),"."]}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"console.log('Every repo must come with a mascot.');\n"})})}),"\n",(0,r.jsx)(n.h3,{id:"theming",children:"Theming"}),"\n",(0,r.jsxs)(n.p,{children:["By default, the Prism ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer#theming",children:"syntax highlighting theme"})," we use is ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/blob/master/packages/prism-react-renderer/src/themes/palenight.ts",children:"Palenight"}),". You can change this to another theme by passing ",(0,r.jsx)(n.code,{children:"theme"})," field in ",(0,r.jsx)(n.code,{children:"prism"})," as ",(0,r.jsx)(n.code,{children:"themeConfig"})," in your docusaurus.config.js."]}),"\n",(0,r.jsxs)(n.p,{children:["For example, if you prefer to use the ",(0,r.jsx)(n.code,{children:"dracula"})," highlighting theme:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"import {themes as prismThemes} from 'prism-react-renderer';\n\nexport default {\n themeConfig: {\n prism: {\n // highlight-next-line\n theme: prismThemes.dracula,\n },\n },\n};\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Because a Prism theme is just a JS object, you can also write your own theme if you are not satisfied with the default. Docusaurus enhances the ",(0,r.jsx)(n.code,{children:"github"})," and ",(0,r.jsx)(n.code,{children:"vsDark"})," themes to provide richer highlight, and you can check our implementations for the ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/blob/main/website/src/utils/prismLight.ts",children:"light"})," and ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/blob/main/website/src/utils/prismDark.ts",children:"dark"})," code block themes."]}),"\n",(0,r.jsx)(n.h3,{id:"supported-languages",children:"Supported Languages"}),"\n",(0,r.jsxs)(n.p,{children:["By default, Docusaurus comes with a subset of ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/blob/master/packages/generate-prism-languages/index.ts#L9-L23",children:"commonly used languages"}),"."]}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsx)(n.p,{children:"Some popular languages like Java, C#, or PHP are not enabled by default."})}),"\n",(0,r.jsxs)(n.p,{children:["To add syntax highlighting for any of the other ",(0,r.jsx)(n.a,{href:"https://prismjs.com/#supported-languages",children:"Prism-supported languages"}),", define it in an array of additional languages."]}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:["Each additional language has to be a valid Prism component name. For example, Prism would map the ",(0,r.jsx)(n.em,{children:"language"})," ",(0,r.jsx)(n.code,{children:"cs"})," to ",(0,r.jsx)(n.code,{children:"csharp"}),", but only ",(0,r.jsx)(n.code,{children:"prism-csharp.js"})," exists as a ",(0,r.jsx)(n.em,{children:"component"}),", so you need to use ",(0,r.jsx)(n.code,{children:"additionalLanguages: ['csharp']"}),". You can look into ",(0,r.jsx)(n.code,{children:"node_modules/prismjs/components"})," to find all components (languages) available."]})}),"\n",(0,r.jsx)(n.p,{children:"For example, if you want to add highlighting for the PowerShell language:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n themeConfig: {\n prism: {\n // highlight-next-line\n additionalLanguages: ['powershell'],\n },\n // ...\n },\n};\n"})}),"\n",(0,r.jsxs)(n.p,{children:["After adding ",(0,r.jsx)(n.code,{children:"additionalLanguages"}),", restart Docusaurus."]}),"\n",(0,r.jsxs)(n.p,{children:["If you want to add highlighting for languages not yet supported by Prism, you can swizzle ",(0,r.jsx)(n.code,{children:"prism-include-languages"}),":"]}),"\n",(0,r.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run swizzle @docusaurus/theme-classic prism-include-languages\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn swizzle @docusaurus/theme-classic prism-include-languages\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm run swizzle @docusaurus/theme-classic prism-include-languages\n"})})})]}),"\n",(0,r.jsxs)(n.p,{children:["It will produce ",(0,r.jsx)(n.code,{children:"prism-include-languages.js"})," in your ",(0,r.jsx)(n.code,{children:"src/theme"})," folder. You can add highlighting support for custom languages by editing ",(0,r.jsx)(n.code,{children:"prism-include-languages.js"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="src/theme/prism-include-languages.js"',children:"const prismIncludeLanguages = (Prism) => {\n // ...\n\n additionalLanguages.forEach((lang) => {\n require(`prismjs/components/prism-${lang}`);\n });\n\n // highlight-next-line\n require('/path/to/your/prism-language-definition');\n\n // ...\n};\n"})}),"\n",(0,r.jsxs)(n.p,{children:["You can refer to ",(0,r.jsx)(n.a,{href:"https://github.com/PrismJS/prism/tree/master/components",children:"Prism's official language definitions"})," when you are writing your own language definitions."]}),"\n",(0,r.jsxs)(n.p,{children:["When adding a custom language definition, you do not need to add the language to the ",(0,r.jsx)(n.code,{children:"additionalLanguages"})," config array, since Docusaurus only looks up the ",(0,r.jsx)(n.code,{children:"additionalLanguages"})," strings in languages that Prism provides. Adding the language import in ",(0,r.jsx)(n.code,{children:"prism-include-languages.js"})," is sufficient."]}),"\n",(0,r.jsx)(n.h2,{id:"line-highlighting",children:"Line highlighting"}),"\n",(0,r.jsx)(n.h3,{id:"highlighting-with-comments",children:"Highlighting with comments"}),"\n",(0,r.jsxs)(n.p,{children:["You can use comments with ",(0,r.jsx)(n.code,{children:"highlight-next-line"}),", ",(0,r.jsx)(n.code,{children:"highlight-start"}),", and ",(0,r.jsx)(n.code,{children:"highlight-end"})," to select which lines are highlighted."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"```js\nfunction HighlightSomeText(highlight) {\n if (highlight) {\n // highlight-next-line\n return 'This text is highlighted!';\n }\n\n return 'Nothing highlighted';\n}\n\nfunction HighlightMoreText(highlight) {\n // highlight-start\n if (highlight) {\n return 'This range is highlighted!';\n }\n // highlight-end\n\n return 'Nothing highlighted';\n}\n```\n"})}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"function HighlightSomeText(highlight) {\n if (highlight) {\n // highlight-next-line\n return 'This text is highlighted!';\n }\n\n return 'Nothing highlighted';\n}\n\nfunction HighlightMoreText(highlight) {\n // highlight-start\n if (highlight) {\n return 'This range is highlighted!';\n }\n // highlight-end\n\n return 'Nothing highlighted';\n}\n"})})}),"\n",(0,r.jsx)(n.p,{children:"Supported commenting syntax:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Style"}),(0,r.jsx)(n.th,{children:"Syntax"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"C-style"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"/* ... */"})," and ",(0,r.jsx)(n.code,{children:"// ..."})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"JSX-style"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{/* ... */}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Bash-style"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"# ..."})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"HTML-style"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"\x3c!-- ... --\x3e"})})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["We will do our best to infer which set of comment styles to use based on the language, and default to allowing ",(0,r.jsx)(n.em,{children:"all"})," comment styles. If there's a comment style that is not currently supported, we are open to adding them! Pull requests welcome. Note that different comment styles have no semantic difference, only their content does."]}),"\n",(0,r.jsxs)(n.p,{children:["You can set your own background color for highlighted code line in your ",(0,r.jsx)(n.code,{children:"src/css/custom.css"})," which will better fit to your selected syntax highlighting theme. The color given below works for the default highlighting theme (Palenight), so if you are using another theme, you will have to tweak the color accordingly."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-css",metastring:'title="/src/css/custom.css"',children:":root {\n --docusaurus-highlighted-code-line-bg: rgb(72, 77, 91);\n}\n\n/* If you have a different syntax highlighting theme for dark mode. */\n[data-theme='dark'] {\n /* Color which works with dark mode syntax highlighting theme */\n --docusaurus-highlighted-code-line-bg: rgb(100, 100, 100);\n}\n"})}),"\n",(0,r.jsxs)(n.p,{children:["If you also need to style the highlighted code line in some other way, you can target on ",(0,r.jsx)(n.code,{children:"theme-code-block-highlighted-line"})," CSS class."]}),"\n",(0,r.jsx)(n.h3,{id:"highlighting-with-metadata-string",children:"Highlighting with metadata string"}),"\n",(0,r.jsxs)(n.p,{children:["You can also specify highlighted line ranges within the language meta string (leave a space after the language). To highlight multiple lines, separate the line numbers by commas or use the range syntax to select a chunk of lines. This feature uses the ",(0,r.jsx)(n.code,{children:"parse-number-range"})," library and you can find ",(0,r.jsx)(n.a,{href:"https://www.npmjs.com/package/parse-numeric-range",children:"more syntax"})," on their project details."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"```jsx {1,4-6,11}\nimport React from 'react';\n\nfunction MyComponent(props) {\n if (props.isBar) {\n return <div>Bar</div>;\n }\n\n return <div>Foo</div>;\n}\n\nexport default MyComponent;\n```\n"})}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:"{1,4-6,11}",children:"import React from 'react';\n\nfunction MyComponent(props) {\n if (props.isBar) {\n return <div>Bar</div>;\n }\n\n return <div>Foo</div>;\n}\n\nexport default MyComponent;\n"})})}),"\n",(0,r.jsxs)(n.admonition,{title:"prefer comments",type:"tip",children:[(0,r.jsx)(n.p,{children:"Prefer highlighting with comments where you can. By inlining highlight in the code, you don't have to manually count the lines if your code block becomes long. If you add/remove lines, you also don't have to offset your line ranges."}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:"- ```jsx {3}\n+ ```jsx {4}\n function HighlightSomeText(highlight) {\n if (highlight) {\n+ console.log('Highlighted text found');\n return 'This text is highlighted!';\n }\n\n return 'Nothing highlighted';\n }\n ```\n"})}),(0,r.jsx)(n.p,{children:"Below, we will introduce how the magic comment system can be extended to define custom directives and their functionalities. The magic comments would only be parsed if a highlight metastring is not present."})]}),"\n",(0,r.jsx)(n.h3,{id:"custom-magic-comments",children:"Custom magic comments"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"// highlight-next-line"})," and ",(0,r.jsx)(n.code,{children:"// highlight-start"}),' etc. are called "magic comments", because they will be parsed and removed, and their purposes are to add metadata to the next line, or the section that the pair of start- and end-comments enclose.']}),"\n",(0,r.jsxs)(n.p,{children:["You can declare custom magic comments through theme config. For example, you can register another magic comment that adds a ",(0,r.jsx)(n.code,{children:"code-block-error-line"})," class name:"]}),"\n",(0,r.jsxs)(l.Z,{children:[(0,r.jsx)(a.Z,{value:"docusaurus.config.js",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"export default {\n themeConfig: {\n prism: {\n magicComments: [\n // Remember to extend the default highlight class name as well!\n {\n className: 'theme-code-block-highlighted-line',\n line: 'highlight-next-line',\n block: {start: 'highlight-start', end: 'highlight-end'},\n },\n // highlight-start\n {\n className: 'code-block-error-line',\n line: 'This will error',\n },\n // highlight-end\n ],\n },\n },\n};\n"})})}),(0,r.jsx)(a.Z,{value:"src/css/custom.css",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-css",children:".code-block-error-line {\n background-color: #ff000020;\n display: block;\n margin: 0 calc(-1 * var(--ifm-pre-padding));\n padding: 0 var(--ifm-pre-padding);\n border-left: 3px solid #ff000080;\n}\n"})})}),(0,r.jsx)(a.Z,{value:"myDoc.md",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"In JavaScript, trying to access properties on `null` will error.\n\n```js\nconst name = null;\n// This will error\nconsole.log(name.toUpperCase());\n// Uncaught TypeError: Cannot read properties of null (reading 'toUpperCase')\n```\n"})})})]}),"\n",(0,r.jsxs)(o.Z,{children:[(0,r.jsxs)(n.p,{children:["In JavaScript, trying to access properties on ",(0,r.jsx)(n.code,{children:"null"})," will error."]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"const name = null;\n// This will error\nconsole.log(name.toUpperCase());\n// Uncaught TypeError: Cannot read properties of null (reading 'toUpperCase')\n"})})]}),"\n",(0,r.jsxs)(n.p,{children:["If you use number ranges in metastring (the ",(0,r.jsx)(n.code,{children:"{1,3-4}"})," syntax), Docusaurus will apply the ",(0,r.jsxs)(n.strong,{children:["first ",(0,r.jsx)(n.code,{children:"magicComments"})," entry"]}),"'s class name. This, by default, is ",(0,r.jsx)(n.code,{children:"theme-code-block-highlighted-line"}),", but if you change the ",(0,r.jsx)(n.code,{children:"magicComments"})," config and use a different entry as the first one, the meaning of the metastring range will change as well."]}),"\n",(0,r.jsxs)(n.p,{children:["You can disable the default line highlighting comments with ",(0,r.jsx)(n.code,{children:"magicComments: []"}),". If there's no magic comment config, but Docusaurus encounters a code block containing a metastring range, it will error because there will be no class name to apply\u2014the highlighting class name, after all, is just a magic comment entry."]}),"\n",(0,r.jsxs)(n.p,{children:["Every magic comment entry will contain three keys: ",(0,r.jsx)(n.code,{children:"className"})," (required), ",(0,r.jsx)(n.code,{children:"line"}),", which applies to the directly next line, or ",(0,r.jsx)(n.code,{children:"block"})," (containing ",(0,r.jsx)(n.code,{children:"start"})," and ",(0,r.jsx)(n.code,{children:"end"}),"), which applies to the entire block enclosed by the two comments."]}),"\n",(0,r.jsxs)(n.p,{children:["Using CSS to target the class can already do a lot, but you can unlock the full potential of this feature through ",(0,r.jsx)(n.a,{href:"/docs/swizzling",children:"swizzling"}),"."]}),"\n",(0,r.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run swizzle @docusaurus/theme-classic CodeBlock/Line\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn swizzle @docusaurus/theme-classic CodeBlock/Line\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm run swizzle @docusaurus/theme-classic CodeBlock/Line\n"})})})]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"Line"})," component will receive the list of class names, based on which you can conditionally render different markup."]}),"\n",(0,r.jsx)(n.h2,{id:"line-numbering",children:"Line numbering"}),"\n",(0,r.jsxs)(n.p,{children:["You can enable line numbering for your code block by using ",(0,r.jsx)(n.code,{children:"showLineNumbers"})," key within the language meta string (don't forget to add space directly before the key)."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"```jsx showLineNumbers\nimport React from 'react';\n\nexport default function MyComponent(props) {\n return <div>Foo</div>;\n}\n```\n"})}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:"showLineNumbers",children:"import React from 'react';\n\nexport default function MyComponent(props) {\n return <div>Foo</div>;\n}\n"})})}),"\n",(0,r.jsx)(n.p,{children:"By default, the counter starts at line number 1. It's possible to pass a custom counter start value to split large code blocks for readability:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"```jsx showLineNumbers=3\nexport default function MyComponent(props) {\n return <div>Foo</div>;\n}\n```\n"})}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:"showLineNumbers=3",children:"export default function MyComponent(props) {\n return <div>Foo</div>;\n}\n"})})}),"\n",(0,r.jsx)(n.h2,{id:"interactive-code-editor",children:"Interactive code editor"}),"\n",(0,r.jsxs)(n.p,{children:["(Powered by ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/react-live",children:"React Live"}),")"]}),"\n",(0,r.jsxs)(n.p,{children:["You can create an interactive coding editor with the ",(0,r.jsx)(n.code,{children:"@docusaurus/theme-live-codeblock"})," plugin. First, add the plugin to your package."]}),"\n",(0,r.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm install --save @docusaurus/theme-live-codeblock\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn add @docusaurus/theme-live-codeblock\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm add @docusaurus/theme-live-codeblock\n"})})})]}),"\n",(0,r.jsxs)(n.p,{children:["You will also need to add the plugin to your ",(0,r.jsx)(n.code,{children:"docusaurus.config.js"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:"{3}",children:"export default {\n // ...\n themes: ['@docusaurus/theme-live-codeblock'],\n // ...\n};\n"})}),"\n",(0,r.jsxs)(n.p,{children:["To use the plugin, create a code block with ",(0,r.jsx)(n.code,{children:"live"})," attached to the language meta string."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"```jsx live\nfunction Clock(props) {\n const [date, setDate] = useState(new Date());\n useEffect(() => {\n const timerID = setInterval(() => tick(), 1000);\n\n return function cleanup() {\n clearInterval(timerID);\n };\n });\n\n function tick() {\n setDate(new Date());\n }\n\n return (\n <div>\n <h2>It is {date.toLocaleTimeString()}.</h2>\n </div>\n );\n}\n```\n"})}),"\n",(0,r.jsx)(n.p,{children:"The code block will be rendered as an interactive editor. Changes to the code will reflect on the result panel live."}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:"live",live:!0,children:"function Clock(props) {\n const [date, setDate] = useState(new Date());\n useEffect(() => {\n const timerID = setInterval(() => tick(), 1000);\n\n return function cleanup() {\n clearInterval(timerID);\n };\n });\n\n function tick() {\n setDate(new Date());\n }\n\n return (\n <div>\n <h2>It is {date.toLocaleTimeString()}.</h2>\n </div>\n );\n}\n"})})}),"\n",(0,r.jsx)(n.h3,{id:"imports",children:"Imports"}),"\n",(0,r.jsx)(n.admonition,{title:"react-live and imports",type:"warning",children:(0,r.jsx)(n.p,{children:"It is not possible to import components directly from the react-live code editor, you have to define available imports upfront."})}),"\n",(0,r.jsx)(n.p,{children:"By default, all React imports are available. If you need more imports available, swizzle the react-live scope:"}),"\n",(0,r.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run swizzle @docusaurus/theme-live-codeblock ReactLiveScope -- --eject\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn swizzle @docusaurus/theme-live-codeblock ReactLiveScope --eject\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm run swizzle @docusaurus/theme-live-codeblock ReactLiveScope --eject\n"})})})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="src/theme/ReactLiveScope/index.js"',children:"import React from 'react';\n\n// highlight-start\nconst ButtonExample = (props) => (\n <button\n {...props}\n style={{\n backgroundColor: 'white',\n color: 'black',\n border: 'solid red',\n borderRadius: 20,\n padding: 10,\n cursor: 'pointer',\n ...props.style,\n }}\n />\n);\n// highlight-end\n\n// Add react-live imports you need here\nconst ReactLiveScope = {\n React,\n ...React,\n // highlight-next-line\n ButtonExample,\n};\n\nexport default ReactLiveScope;\n"})}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"ButtonExample"})," component is now available to use:"]}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:"live",live:!0,children:"function MyPlayground(props) {\n return (\n <div>\n <ButtonExample onClick={() => alert('hey!')}>Click me</ButtonExample>\n </div>\n );\n}\n"})})}),"\n",(0,r.jsx)(n.h3,{id:"imperative-rendering-noinline",children:"Imperative Rendering (noInline)"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"noInline"})," option should be used to avoid errors when your code spans multiple components or variables."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"```jsx live noInline\nconst project = 'Docusaurus';\n\nconst Greeting = () => <p>Hello {project}!</p>;\n\nrender(<Greeting />);\n```\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Unlike an ordinary interactive code block, when using ",(0,r.jsx)(n.code,{children:"noInline"})," React Live won't wrap your code in an inline function to render it."]}),"\n",(0,r.jsxs)(n.p,{children:["You will need to explicitly call ",(0,r.jsx)(n.code,{children:"render()"})," at the end of your code to display the output."]}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:"live noInline",live:!0,children:'const project = "Docusaurus";\n\nconst Greeting = () => (\n <p>Hello {project}!</p>\n);\n\nrender(\n <Greeting />\n);\n'})})}),"\n",(0,r.jsx)(n.h2,{id:"using-jsx-markup",children:"Using JSX markup in code blocks"}),"\n",(0,r.jsx)(n.p,{children:"Code block in Markdown always preserves its content as plain text, meaning you can't do something like:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:'type EditUrlFunction = (params: {\n // This doesn\'t turn into a link (for good reason!)\n version: <a href="/docs/versioning">Version</a>;\n versionDocsDirPath: string;\n docPath: string;\n permalink: string;\n locale: string;\n}) => string | undefined;\n'})}),"\n",(0,r.jsxs)(n.p,{children:["If you want to embed HTML markup such as anchor links or bold type, you can use the ",(0,r.jsx)(n.code,{children:"<pre>"})," tag, ",(0,r.jsx)(n.code,{children:"<code>"})," tag, or ",(0,r.jsx)(n.code,{children:"<CodeBlock>"})," component."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:"<pre>\n <b>Input: </b>1 2 3 4{'\\n'}\n <b>Output: </b>\"366300745\"{'\\n'}\n</pre>\n"})}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsxs)("pre",{children:[(0,r.jsx)("b",{children:"Input: "}),"1 2 3 4\n",(0,r.jsx)("b",{children:"Output: "}),'"366300745"\n']})}),"\n",(0,r.jsx)(n.admonition,{title:"MDX is whitespace insensitive",type:"warning",children:(0,r.jsxs)(n.p,{children:["MDX is in line with JSX behavior: line break characters, even when inside ",(0,r.jsx)(n.code,{children:"<pre>"}),", are turned into spaces. You have to explicitly write the new line character for it to be printed out."]})}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsx)(n.p,{children:"Syntax highlighting only works on plain strings. Docusaurus will not attempt to parse code block content containing JSX children."})}),"\n",(0,r.jsx)(n.h2,{id:"multi-language-support-code-blocks",children:"Multi-language support code blocks"}),"\n",(0,r.jsx)(n.p,{children:"With MDX, you can easily create interactive components within your documentation, for example, to display code in multiple programming languages and switch between them using a tabs component."}),"\n",(0,r.jsxs)(n.p,{children:["Instead of implementing a dedicated component for multi-language support code blocks, we've implemented a general-purpose ",(0,r.jsx)(n.a,{href:"/docs/markdown-features/tabs",children:(0,r.jsx)(n.code,{children:"<Tabs>"})})," component in the classic theme so that you can use it for other non-code scenarios as well."]}),"\n",(0,r.jsxs)(n.p,{children:["The following example is how you can have multi-language code tabs in your docs. Note that the empty lines above and below each language block are ",(0,r.jsx)(n.strong,{children:"intentional"}),". This is a ",(0,r.jsx)(n.a,{href:"/docs/markdown-features/react#markdown-and-jsx-interoperability",children:"current limitation of MDX"}),": you have to leave empty lines around Markdown syntax for the MDX parser to know that it's Markdown syntax and not JSX."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'import Tabs from \'@theme/Tabs\';\nimport TabItem from \'@theme/TabItem\';\n\n<Tabs>\n<TabItem value="js" label="JavaScript">\n\n```js\nfunction helloWorld() {\n console.log(\'Hello, world!\');\n}\n```\n\n</TabItem>\n<TabItem value="py" label="Python">\n\n```py\ndef hello_world():\n print("Hello, world!")\n```\n\n</TabItem>\n<TabItem value="java" label="Java">\n\n```java\nclass HelloWorld {\n public static void main(String args[]) {\n System.out.println("Hello, World");\n }\n}\n```\n\n</TabItem>\n</Tabs>\n'})}),"\n",(0,r.jsx)(n.p,{children:"And you will get the following:"}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsxs)(l.Z,{children:[(0,r.jsx)(a.Z,{value:"js",label:"JavaScript",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"function helloWorld() {\n console.log('Hello, world!');\n}\n"})})}),(0,r.jsx)(a.Z,{value:"py",label:"Python",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-py",children:'def hello_world():\n print("Hello, world!")\n'})})}),(0,r.jsx)(a.Z,{value:"java",label:"Java",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'class HelloWorld {\n public static void main(String args[]) {\n System.out.println("Hello, World");\n }\n}\n'})})})]})}),"\n",(0,r.jsxs)(n.p,{children:["If you have multiple of these multi-language code tabs, and you want to sync the selection across the tab instances, refer to the ",(0,r.jsx)(n.a,{href:"/docs/markdown-features/tabs#syncing-tab-choices",children:"Syncing tab choices section"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"npm2yarn-remark-plugin",children:"Docusaurus npm2yarn remark plugin"}),"\n",(0,r.jsx)(n.p,{children:"Displaying CLI commands in both npm and Yarn is a very common need, for example:"}),"\n",(0,r.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm install @docusaurus/remark-plugin-npm2yarn\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn add @docusaurus/remark-plugin-npm2yarn\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm add @docusaurus/remark-plugin-npm2yarn\n"})})})]}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus provides such a utility out of the box, freeing you from using the ",(0,r.jsx)(n.code,{children:"Tabs"})," component every time. To enable this feature, first install the ",(0,r.jsx)(n.code,{children:"@docusaurus/remark-plugin-npm2yarn"})," package as above, and then in ",(0,r.jsx)(n.code,{children:"docusaurus.config.js"}),", for the plugins where you need this feature (doc, blog, pages, etc.), register it in the ",(0,r.jsx)(n.code,{children:"remarkPlugins"})," option. (See ",(0,r.jsx)(n.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-docs#ex-config",children:"Docs configuration"})," for more details on configuration format)"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n docs: {\n // highlight-start\n remarkPlugins: [\n [require('@docusaurus/remark-plugin-npm2yarn'), {sync: true}],\n ],\n // highlight-end\n },\n pages: {\n // highlight-next-line\n remarkPlugins: [require('@docusaurus/remark-plugin-npm2yarn')],\n },\n blog: {\n // highlight-start\n remarkPlugins: [\n [\n require('@docusaurus/remark-plugin-npm2yarn'),\n {converters: ['pnpm']},\n ],\n ],\n // highlight-end\n // ...\n },\n },\n ],\n ],\n};\n"})}),"\n",(0,r.jsxs)(n.p,{children:["And then use it by adding the ",(0,r.jsx)(n.code,{children:"npm2yarn"})," key to the code block:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"```bash npm2yarn\nnpm install @docusaurus/remark-plugin-npm2yarn\n```\n"})}),"\n",(0,r.jsx)(n.h4,{id:"npm2yarn-remark-plugin-configuration",children:"Configuration"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Option"}),(0,r.jsx)(n.th,{children:"Type"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sync"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Whether to sync the selected converter across all code blocks."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"converters"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"array"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"'yarn'"}),", ",(0,r.jsx)(n.code,{children:"'pnpm'"})]}),(0,r.jsx)(n.td,{children:"The list of converters to use. The order of the converters is important, as the first converter will be used as the default choice."})]})]})]}),"\n",(0,r.jsx)(n.h2,{id:"usage-in-jsx",children:"Usage in JSX"}),"\n",(0,r.jsxs)(n.p,{children:["Outside of Markdown, you can use the ",(0,r.jsx)(n.code,{children:"@theme/CodeBlock"})," component to get the same output."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",children:'import CodeBlock from \'@theme/CodeBlock\';\n\nexport default function MyReactPage() {\n return (\n <div>\n {/* highlight-start */}\n <CodeBlock\n language="jsx"\n title="/src/components/HelloCodeTitle.js"\n showLineNumbers>\n {`function HelloCodeTitle(props) {\n return <h1>Hello, {props.name}</h1>;\n}`}\n </CodeBlock>\n {/* highlight-end */}\n </div>\n );\n}\n'})}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsx)(c.Z,{language:"jsx",title:"/src/components/HelloCodeTitle.js",showLineNumbers:!0,children:`function HelloCodeTitle(props) { +return <h1>Hello, {props.name}</h1>; +}`})}),"\n",(0,r.jsxs)(n.p,{children:["The props accepted are ",(0,r.jsx)(n.code,{children:"language"}),", ",(0,r.jsx)(n.code,{children:"title"})," and ",(0,r.jsx)(n.code,{children:"showLineNumbers"}),", in the same way as you write Markdown code blocks."]}),"\n",(0,r.jsxs)(n.p,{children:["Although discouraged, you can also pass in a ",(0,r.jsx)(n.code,{children:"metastring"})," prop like ",(0,r.jsx)(n.code,{children:"metastring='{1-2} title=\"/src/components/HelloCodeTitle.js\" showLineNumbers'"}),", which is how Markdown code blocks are handled under the hood. However, we recommend you ",(0,r.jsx)(n.a,{href:"#highlighting-with-comments",children:"use comments for highlighting lines"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["As ",(0,r.jsx)(n.a,{href:"#using-jsx-markup",children:"previously stated"}),", syntax highlighting is only applied when the children is a simple string."]})]})}function p(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(m,{...e})}):m(e)}},58636:function(e,n,s){s.d(n,{Z:()=>i});var t=s(85893);s(67294);var r=s(90496);function i(e){let{children:n,hidden:s,className:i}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,r.Z)("tabItem_pnkT",i),hidden:s,children:n})}},15398:function(e,n,s){s.d(n,{Z:()=>b});var t=s(85893),r=s(67294),i=s(90496),l=s(54947),a=s(3620),o=s(844),c=s(97486),d=s(32263),h=s(16971);function u(e){return r.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||r.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function g(e){let{value:n,tabValues:s}=e;return s.some(e=>e.value===n)}var m=s(71607);function p(e){let{className:n,block:s,selectedValue:r,selectValue:a,tabValues:o}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,l.o5)(),h=e=>{let n=e.currentTarget,s=o[c.indexOf(n)].value;s!==r&&(d(n),a(s))},u=e=>{let n=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{let s=c.indexOf(e.currentTarget)+1;n=c[s]??c[0];break}case"ArrowLeft":{let s=c.indexOf(e.currentTarget)-1;n=c[s]??c[c.length-1]}}n?.focus()};return(0,t.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":s},n),children:o.map(e=>{let{value:n,label:s,attributes:l}=e;return(0,t.jsx)("li",{role:"tab",tabIndex:r===n?0:-1,"aria-selected":r===n,ref:e=>{c.push(e)},onKeyDown:u,onClick:h,...l,className:(0,i.Z)("tabs__item","tabItem_AQgk",l?.className,{"tabs__item--active":r===n}),children:s??n},n)})})}function x(e){let{lazy:n,children:s,selectedValue:l}=e,a=(Array.isArray(s)?s:[s]).filter(Boolean);if(n){let e=a.find(e=>e.props.value===l);return e?(0,r.cloneElement)(e,{className:(0,i.Z)("margin-top--md",e.props.className)}):null}return(0,t.jsx)("div",{className:"margin-top--md",children:a.map((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==l}))})}function j(e){let n=function(e){let{defaultValue:n,queryString:s=!1,groupId:t}=e,i=function(e){let{values:n,children:s}=e;return(0,r.useMemo)(()=>{let e=n??u(s).map(e=>{let{props:{value:n,label:s,attributes:t,default:r}}=e;return{value:n,label:s,attributes:t,default:r}});return!function(e){let n=(0,d.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,s])}(e),[l,m]=(0,r.useState)(()=>(function(e){let{defaultValue:n,tabValues:s}=e;if(0===s.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!g({value:n,tabValues:s}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${s.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let t=s.find(e=>e.default)??s[0];if(!t)throw Error("Unexpected error: 0 tabValues");return t.value})({defaultValue:n,tabValues:i})),[p,x]=function(e){let{queryString:n=!1,groupId:s}=e,t=(0,a.k6)(),i=function(e){let{queryString:n=!1,groupId:s}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!s)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:n,groupId:s});return[(0,c._X)(i),(0,r.useCallback)(e=>{if(!i)return;let n=new URLSearchParams(t.location.search);n.set(i,e),t.replace({...t.location,search:n.toString()})},[i,t])]}({queryString:s,groupId:t}),[j,b]=function(e){let{groupId:n}=e,s=n?`docusaurus.tab.${n}`:null,[t,i]=(0,h.Nk)(s);return[t,(0,r.useCallback)(e=>{s&&i.set(e)},[s,i])]}({groupId:t}),f=(()=>{let e=p??j;return g({value:e,tabValues:i})?e:null})();return(0,o.Z)(()=>{f&&m(f)},[f]),{selectedValue:l,selectValue:(0,r.useCallback)(e=>{if(!g({value:e,tabValues:i}))throw Error(`Can't select invalid tab value=${e}`);m(e),x(e),b(e)},[x,b,i]),tabValues:i}}(e);return(0,t.jsxs)("div",{className:(0,i.Z)("tabs-container","tabList_Qoir"),children:[(0,t.jsx)(p,{...n,...e}),(0,t.jsx)(x,{...n,...e})]})}function b(e){let n=(0,m.Z)();return(0,t.jsx)(j,{...e,children:u(e.children)},String(n))}},56497:function(e,n,s){s.d(n,{Z:()=>i});var t=s(85893);s(67294);var r=s(71607);function i(e){let{children:n,fallback:s}=e;return(0,r.Z)()?(0,t.jsx)(t.Fragment,{children:n?.()}):s??null}},14522:function(e,n,s){s.d(n,{Z:()=>a});var t=s(85893);s(67294);var r=s(90496);let i="dot_giz1",l="bar_rrRL";function a(e){let{children:n,minHeight:s,url:a="http://localhost:3000",style:o,bodyStyle:c}=e;return(0,t.jsxs)("div",{className:"browserWindow_my1Q",style:{...o,minHeight:s},children:[(0,t.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,t.jsxs)("div",{className:"buttons_uHc7",children:[(0,t.jsx)("span",{className:i,style:{background:"#f25f58"}}),(0,t.jsx)("span",{className:i,style:{background:"#fbbe3c"}}),(0,t.jsx)("span",{className:i,style:{background:"#58cb42"}})]}),(0,t.jsx)("div",{className:(0,r.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:a}),(0,t.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:l}),(0,t.jsx)("span",{className:l}),(0,t.jsx)("span",{className:l})]})})]}),(0,t.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:n})]})}},95998:function(e,n,s){s.d(n,{Z:()=>en});var t,r={};s.r(r),s.d(r,{ButtonExample:()=>T});var i=s(85893),l=s(67294),a=s(90496),o=s(71607),c=s(10075),d=s(77827),h=s(8156),u=s(56497),g=s(85108),m=s(45245),p=s(26378);function x(){let{prism:e}=(0,p.L)(),{colorMode:n}=(0,m.I)(),s=e.theme,t=e.darkTheme||s;return"dark"===n?t:s}var j=s(67490);function b(e){let{children:n}=e;return(0,i.jsx)("div",{className:(0,a.Z)("playgroundHeader_Tvsk"),children:n})}function f(){return(0,i.jsx)("div",{children:"Loading..."})}function y(){return(0,i.jsx)(u.Z,{fallback:(0,i.jsx)(f,{}),children:()=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(j.Z,{fallback:e=>(0,i.jsx)(g.Ac,{...e}),children:(0,i.jsx)(c.i5,{})}),(0,i.jsx)(c.IF,{})]})})}function v(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{children:(0,i.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,i.jsx)("div",{className:"playgroundPreview_mApW",children:(0,i.jsx)(y,{})})]})}function k(){let e=(0,o.Z)();return(0,i.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function w(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{children:(0,i.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,i.jsx)(k,{})]})}let N=e=>`${e};`;function C(e){let{children:n,transformCode:s,...t}=e,{siteConfig:{themeConfig:r}}=(0,h.Z)(),{liveCodeBlock:{playgroundPosition:l}}=r,a=x(),o=t.metastring?.includes("noInline")??!1;return(0,i.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,i.jsx)(c.nu,{code:n?.replace(/\n$/,""),noInline:o,transformCode:s??N,theme:a,...t,children:"top"===l?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(v,{}),(0,i.jsx)(w,{})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(w,{}),(0,i.jsx)(v,{})]})})})}function T(e){return(0,i.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let B={React:l,...l,...r};var I=s(55951),L=s(6324),Z=s.n(L);let S=/title=(?<quote>["'])(?<title>.*?)\1/,E=/\{(?<range>[\d,-]+)\}/,D={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},H={...D,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},M=Object.keys(D);function _(e,n){let s=e.map(e=>{let{start:s,end:t}=H[e];return`(?:${s}\\s*(${n.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${t})`}).join("|");return RegExp(`^\\s*(?:${s})\\s*$`)}function R(e){let{as:n,...s}=e,t=function(e){let n={color:"--prism-color",backgroundColor:"--prism-background-color"},s={};return Object.entries(e.plain).forEach(e=>{let[t,r]=e,i=n[t];i&&"string"==typeof r&&(s[i]=r)}),s}(x());return(0,i.jsx)(n,{...s,style:t,className:(0,a.Z)(s.className,"codeBlockContainer_jDV4",I.k.common.codeBlock)})}let P={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function z(e){let{children:n,className:s}=e;return(0,i.jsx)(R,{as:"pre",tabIndex:0,className:(0,a.Z)(P.codeBlockStandalone,"thin-scrollbar",s),children:(0,i.jsx)("code",{className:P.codeBlockLines,children:n})})}var A=s(50923);let W={attributes:!0,characterData:!0,childList:!0,subtree:!0};var F=s(7316);let Y={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function $(e){let{line:n,classNames:s,showLineNumbers:t,getLineProps:r,getTokenProps:l}=e;1===n.length&&"\n"===n[0].content&&(n[0].content="");let o=r({line:n,className:(0,a.Z)(s,t&&Y.codeLine)}),c=n.map((e,n)=>(0,i.jsx)("span",{...l({token:e})},n));return(0,i.jsxs)("span",{...o,children:[t?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Y.codeLineNumber}),(0,i.jsx)("span",{className:Y.codeLineContent,children:c})]}):c,(0,i.jsx)("br",{})]})}var O=s(44771);function U(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function J(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let q={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function X(e){let{code:n,className:s}=e,[t,r]=(0,l.useState)(!1),o=(0,l.useRef)(void 0),c=(0,l.useCallback)(()=>{(0,O.Z)(n),r(!0),o.current=window.setTimeout(()=>{r(!1)},1e3)},[n]);return(0,l.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,i.jsx)("button",{type:"button","aria-label":t?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.Z)("clean-btn",s,q.copyButton,t&&q.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:q.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(U,{className:q.copyButtonIcon}),(0,i.jsx)(J,{className:q.copyButtonSuccessIcon})]})})}function V(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let G={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function Q(e){let{className:n,onClick:s,isEnabled:t}=e,r=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:s,className:(0,a.Z)("clean-btn",n,t&&G.wordWrapButtonEnabled),"aria-label":r,title:r,children:(0,i.jsx)(V,{className:G.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var n;let{children:s,className:t="",metastring:r,title:c,showLineNumbers:d,language:h}=e,{prism:{defaultLanguage:u,magicComments:g}}=(0,p.L)(),m=(n=h??function(e){let n=e.split(" ").find(e=>e.startsWith("language-"));return n?.replace(/language-/,"")}(t)??u,n?.toLowerCase()),j=x(),b=function(){let[e,n]=(0,l.useState)(!1),[s,t]=(0,l.useState)(!1),r=(0,l.useRef)(null),i=(0,l.useCallback)(()=>{let s=r.current.querySelector("code");e?s.removeAttribute("style"):(s.style.whiteSpace="pre-wrap",s.style.overflowWrap="anywhere"),n(e=>!e)},[r,e]),a=(0,l.useCallback)(()=>{let{scrollWidth:e,clientWidth:n}=r.current;t(e>n||r.current.querySelector("code").hasAttribute("style"))},[r]);return!function(e,n){let[s,t]=(0,l.useState)(),r=(0,l.useCallback)(()=>{t(e.current?.closest("[role=tabpanel][hidden]"))},[e,t]);(0,l.useEffect)(()=>{r()},[r]),function(e,n){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:W,t=(0,A.zX)(n),r=(0,A.Ql)(s);(0,l.useEffect)(()=>{let n=new MutationObserver(t);return e&&n.observe(e,r),()=>n.disconnect()},[e,t,r])}(s,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),r())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(r,a),(0,l.useEffect)(()=>{a()},[e,a]),(0,l.useEffect)(()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)}),[a]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:s,toggle:i}}(),f=(0,o.Z)(),y=(r?.match(S)?.groups.title??"")||c,{lineClassNames:v,code:k}=function(e,n){let s=e.replace(/\n$/,""),{language:t,magicComments:r,metastring:i}=n;if(i&&E.test(i)){let e=i.match(E).groups.range;if(0===r.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${i}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let n=r[0].className;return{lineClassNames:Object.fromEntries(Z()(e).filter(e=>e>0).map(e=>[e-1,[n]])),code:s}}if(void 0===t)return{lineClassNames:{},code:s};let l=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return _(["js","jsBlock"],n);case"jsx":case"tsx":return _(["js","jsBlock","jsx"],n);case"html":return _(["js","jsBlock","html"],n);case"python":case"py":case"bash":return _(["bash"],n);case"markdown":case"md":return _(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return _(["tex"],n);case"lua":case"haskell":return _(["lua"],n);case"sql":return _(["lua","jsBlock"],n);case"wasm":return _(["wasm"],n);case"vb":case"vba":case"visual-basic":return _(["vb","rem"],n);case"vbnet":return _(["vbnet","rem"],n);case"batch":return _(["rem"],n);case"basic":return _(["rem","f90"],n);case"fsharp":return _(["js","ml"],n);case"ocaml":case"sml":return _(["ml"],n);case"fortran":return _(["f90"],n);case"cobol":return _(["cobol"],n);default:return _(M,n)}}(t,r),a=s.split("\n"),o=Object.fromEntries(r.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(r.filter(e=>e.line).map(e=>{let{className:n,line:s}=e;return[s,n]})),d=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:n,block:s}=e;return[s.start,n]})),h=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:n,block:s}=e;return[s.end,n]}));for(let e=0;e<a.length;){let n=a[e].match(l);if(!n){e+=1;continue}let s=n.slice(1).find(e=>void 0!==e);c[s]?o[c[s]].range+=`${e},`:d[s]?o[d[s]].start=e:h[s]&&(o[h[s]].range+=`${o[h[s]].start}-${e-1},`),a.splice(e,1)}s=a.join("\n");let u={};return Object.entries(o).forEach(e=>{let[n,{range:s}]=e;Z()(s).forEach(e=>{u[e]??=[],u[e].push(n)})}),{lineClassNames:u,code:s}}(s,{metastring:r,language:m,magicComments:g}),w=function(e){let{showLineNumbers:n,metastring:s}=e;return"boolean"==typeof n?n?1:void 0:"number"==typeof n?n:function(e){let n=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}(s)}({showLineNumbers:d,metastring:r});return(0,i.jsxs)(R,{as:"div",className:(0,a.Z)(t,m&&!t.includes(`language-${m}`)&&`language-${m}`),children:[y&&(0,i.jsx)("div",{className:P.codeBlockTitle,children:y}),(0,i.jsxs)("div",{className:P.codeBlockContent,children:[(0,i.jsx)(F.y$,{theme:j,code:k,language:m??"text",children:e=>{let{className:n,style:s,tokens:t,getLineProps:r,getTokenProps:l}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:b.codeBlockRef,className:(0,a.Z)(n,P.codeBlock,"thin-scrollbar"),style:s,children:(0,i.jsx)("code",{className:(0,a.Z)(P.codeBlockLines,void 0!==w&&P.codeBlockLinesWithNumbering),style:void 0===w?void 0:{counterReset:`line-count ${w-1}`},children:t.map((e,n)=>(0,i.jsx)($,{line:e,getLineProps:r,getTokenProps:l,classNames:v[n],showLineNumbers:void 0!==w},n))})})}}),f?(0,i.jsxs)("div",{className:P.buttonGroup,children:[(b.isEnabled||b.isCodeScrollable)&&(0,i.jsx)(Q,{className:P.codeButton,onClick:()=>b.toggle(),isEnabled:b.isEnabled}),(0,i.jsx)(X,{className:P.codeButton,code:k})]}):null]})]})}let ee=(t=function(e){let{children:n,...s}=e,t=(0,o.Z)(),r=l.Children.toArray(n).some(e=>(0,l.isValidElement)(e))?n:Array.isArray(n)?n.join(""):n;return(0,i.jsx)("string"==typeof r?K:z,{...s,children:r},String(t))},function(e){return e.live?(0,i.jsx)(C,{scope:B,...e}):(0,i.jsx)(t,{...e})});function en(e){return(0,i.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/0af1b9a1.e45c0c80.js b/assets/js/0af1b9a1.e45c0c80.js new file mode 100644 index 0000000000..db5ce65ed5 --- /dev/null +++ b/assets/js/0af1b9a1.e45c0c80.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["15972"],{7027:function(t,g,i){i.r(g),i.d(g,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>u,toc:()=>m});var u=i(49909),h=i(85893),e=i(80980);let o={authors:[{image_url:"https://github.com/endiliey.png",url:"https://github.com/endiliey"},{image_url:"https://github.com/lex111.png",url:"https://github.com/lex111"},{image_url:"https://github.com/slorber.png",url:"https://github.com/slorber"},{image_url:"https://github.com/yangshun.png",url:"https://github.com/yangshun"},{image_url:"https://github.com/JoelMarcey.png",url:"https://github.com/JoelMarcey"},{image_url:"https://github.com/Josh-Cena.png",url:"https://github.com/Josh-Cena"},{image_url:"https://github.com/deltice.png",url:"https://github.com/deltice"},{image_url:"https://github.com/SamChou19815.png",url:"https://github.com/SamChou19815"},{image_url:"https://github.com/ericnakagawa.png",url:"https://github.com/ericnakagawa"},{image_url:"https://github.com/Simek.png",url:"https://github.com/Simek"},{image_url:"https://github.com/hramos.png",url:"https://github.com/hramos"},{image_url:"https://github.com/wgao19.png",url:"https://github.com/wgao19"},{image_url:"https://github.com/rickyvetter.png",url:"https://github.com/rickyvetter"},{image_url:"https://github.com/fanny.png",url:"https://github.com/fanny"},{image_url:"https://github.com/armano2.png",url:"https://github.com/armano2"},{image_url:"https://github.com/RDIL.png",url:"https://github.com/RDIL"},{image_url:"https://github.com/teikjun.png",url:"https://github.com/teikjun"},{image_url:"https://github.com/hong4rc.png",url:"https://github.com/hong4rc"},{image_url:"https://github.com/anshulrgoyal.png",url:"https://github.com/anshulrgoyal"},{image_url:"https://github.com/italicize.png",url:"https://github.com/italicize"}],tags:["paginated-tag"]},a="Image-only authors",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},m=[];function s(t){let g={p:"p",...(0,e.a)(),...t.components};return(0,h.jsx)(g.p,{children:"You can make a compact authors list without author names!"})}function p(t={}){let{wrapper:g}={...(0,e.a)(),...t.components};return g?(0,h.jsx)(g,{...t,children:(0,h.jsx)(s,{...t})}):s(t)}},80980:function(t,g,i){i.d(g,{Z:()=>a,a:()=>o});var u=i(67294);let h={},e=u.createContext(h);function o(t){let g=u.useContext(e);return u.useMemo(function(){return"function"==typeof t?t(g):{...g,...t}},[g,t])}function a(t){let g;return g=t.disableParentContext?"function"==typeof t.components?t.components(h):t.components||h:o(t.components),u.createElement(e.Provider,{value:g},t.children)}},49909:function(t){t.exports=JSON.parse('{"permalink":"/tests/blog/2022/01/20/image-only-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-01-20-image-only-authors.mdx","source":"@site/_dogfooding/_blog tests/2022-01-20-image-only-authors.mdx","title":"Image-only authors","description":"You can make a compact authors list without author names!","date":"2022-01-20T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":2,"hasTruncateMarker":false,"authors":[{"image_url":"https://github.com/endiliey.png","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/lex111.png","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/slorber.png","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/yangshun.png","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/JoelMarcey.png","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/Josh-Cena.png","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/deltice.png","url":"https://github.com/deltice","imageURL":"https://github.com/deltice.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/SamChou19815.png","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/ericnakagawa.png","url":"https://github.com/ericnakagawa","imageURL":"https://github.com/ericnakagawa.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/Simek.png","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/hramos.png","url":"https://github.com/hramos","imageURL":"https://github.com/hramos.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/wgao19.png","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/rickyvetter.png","url":"https://github.com/rickyvetter","imageURL":"https://github.com/rickyvetter.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/fanny.png","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/armano2.png","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/RDIL.png","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/teikjun.png","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/hong4rc.png","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/anshulrgoyal.png","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/italicize.png","url":"https://github.com/italicize","imageURL":"https://github.com/italicize.png","socials":{},"key":null,"page":null}],"frontMatter":{"authors":[{"image_url":"https://github.com/endiliey.png","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png"},{"image_url":"https://github.com/lex111.png","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png"},{"image_url":"https://github.com/slorber.png","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png"},{"image_url":"https://github.com/yangshun.png","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png"},{"image_url":"https://github.com/JoelMarcey.png","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png"},{"image_url":"https://github.com/Josh-Cena.png","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png"},{"image_url":"https://github.com/deltice.png","url":"https://github.com/deltice","imageURL":"https://github.com/deltice.png"},{"image_url":"https://github.com/SamChou19815.png","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png"},{"image_url":"https://github.com/ericnakagawa.png","url":"https://github.com/ericnakagawa","imageURL":"https://github.com/ericnakagawa.png"},{"image_url":"https://github.com/Simek.png","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png"},{"image_url":"https://github.com/hramos.png","url":"https://github.com/hramos","imageURL":"https://github.com/hramos.png"},{"image_url":"https://github.com/wgao19.png","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png"},{"image_url":"https://github.com/rickyvetter.png","url":"https://github.com/rickyvetter","imageURL":"https://github.com/rickyvetter.png"},{"image_url":"https://github.com/fanny.png","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png"},{"image_url":"https://github.com/armano2.png","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png"},{"image_url":"https://github.com/RDIL.png","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png"},{"image_url":"https://github.com/teikjun.png","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png"},{"image_url":"https://github.com/hong4rc.png","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png"},{"image_url":"https://github.com/anshulrgoyal.png","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png"},{"image_url":"https://github.com/italicize.png","url":"https://github.com/italicize","imageURL":"https://github.com/italicize.png"}],"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Third post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/21/dup-footnote"},"nextItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/11/13/dup-title"}}')}}]); \ No newline at end of file diff --git a/assets/js/0b0869f7.c6a01b50.js b/assets/js/0b0869f7.c6a01b50.js new file mode 100644 index 0000000000..685d20458f --- /dev/null +++ b/assets/js/0b0869f7.c6a01b50.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["73746"],{19312:function(e){e.exports=JSON.parse('{"metadata":{"permalink":"/changelog/page/4","page":4,"postsPerPage":20,"totalPages":6,"totalCount":105,"previousPage":"/changelog/page/3","nextPage":"/changelog/page/5","blogDescription":"Keep yourself up-to-date about new features in every release","blogTitle":"Docusaurus changelog"}}')}}]); \ No newline at end of file diff --git a/assets/js/0b6cd89a.17795741.js b/assets/js/0b6cd89a.17795741.js new file mode 100644 index 0000000000..b647a8443c --- /dev/null +++ b/assets/js/0b6cd89a.17795741.js @@ -0,0 +1,22 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["25467"],{84645:function(e,n,t){t.d(n,{ZP:()=>l,d$:()=>i});var s=t(85893),r=t(80980);let i=[{value:"Tags File",id:"tags-file",level:2},{value:"Types",id:"tags-file-types",level:3},{value:"Example",id:"tags-file-example",level:3}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"tags-file",children:"Tags File"}),"\n",(0,s.jsxs)(n.p,{children:["Use the ",(0,s.jsxs)(n.a,{href:"#tags",children:[(0,s.jsx)(n.code,{children:"tags"})," plugin option"]})," to configure the path of a YAML tags file."]}),"\n",(0,s.jsxs)(n.p,{children:["By convention, the plugin will look for a ",(0,s.jsx)(n.code,{children:"tags.yml"})," file at the root of your content folder(s)."]}),"\n",(0,s.jsxs)(n.p,{children:["This file can contain a list of predefined tags. You can reference these tags by their keys in Markdown files thanks to the ",(0,s.jsxs)(n.a,{href:"#markdown-front-matter",children:[(0,s.jsx)(n.code,{children:"tags"})," front matter"]}),"."]}),"\n",(0,s.jsx)(n.admonition,{title:"Keeping tags consistent",type:"tip",children:(0,s.jsxs)(n.p,{children:["Using a tags file, you can ensure that your tags usage is consistent across your plugin content set. Use the ",(0,s.jsx)(n.a,{href:"#onInlineTags",children:(0,s.jsx)(n.code,{children:"onInlineTags: 'throw'"})})," plugin option to enforce this consistency and prevent usage of inline tags declared on the fly."]})}),"\n",(0,s.jsx)(n.h3,{id:"tags-file-types",children:"Types"}),"\n",(0,s.jsx)(n.p,{children:"The YAML content of the provided tags file should respect the following shape:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-tsx",children:"type Tag = {\n label?: string; // Tag display label\n permalink?: string; // Tag URL pathname segment\n description?: string; // Tag description displayed in the tag page\n};\n\ntype TagsFileInput = Record<string, Partial<Tag> | null>;\n"})}),"\n",(0,s.jsx)(n.h3,{id:"tags-file-example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yml",metastring:'title="tags.yml"',children:"releases:\n label: 'Product releases'\n permalink: '/product-releases'\n description: 'Content related to product releases.'\n\n# A partial tag definition is also valid\nannouncements:\n label: 'Announcements'\n\n# An empty tag definition is also valid\n# Other attributes will be inferred from the key\nemptyTag:\n"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-md",metastring:'title="content.md"',children:"---\ntags: [releases, announcements, emptyTag]\n---\n\n# Title\n\nContent\n"})})]})}function l(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},17918:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>h,default:()=>g,contentTitle:()=>u,assets:()=>x,toc:()=>j,metadata:()=>s});var s=JSON.parse('{"id":"api/plugins/plugin-content-docs","title":"\uD83D\uDCE6 plugin-content-docs","description":"Provides the Docs functionality and is the default docs plugin for Docusaurus.","source":"@site/docs/api/plugins/plugin-content-docs.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-content-docs","permalink":"/docs/api/plugins/@docusaurus/plugin-content-docs","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-content-docs.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":1,"frontMatter":{"sidebar_position":1,"slug":"/api/plugins/@docusaurus/plugin-content-docs"},"sidebar":"api","previous":{"title":"Plugins overview","permalink":"/docs/api/plugins"},"next":{"title":"\uD83D\uDCE6 plugin-content-blog","permalink":"/docs/api/plugins/@docusaurus/plugin-content-blog"}}'),r=t(85893),i=t(80980),d=t(15398),l=t(58636),o=t(32240),c=t(66359),a=t(84645);let h={sidebar_position:1,slug:"/api/plugins/@docusaurus/plugin-content-docs"},u="\uD83D\uDCE6 plugin-content-docs",x={},j=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Types",id:"types",level:3},{value:"<code>EditUrlFunction</code>",id:"EditUrlFunction",level:4},{value:"<code>PrefixParser</code>",id:"PrefixParser",level:4},{value:"<code>SidebarGenerator</code>",id:"SidebarGenerator",level:4},{value:"<code>VersionsConfig</code>",id:"VersionsConfig",level:4},{value:"Example configuration",id:"ex-config",level:3},{value:"Markdown front matter",id:"markdown-front-matter",level:2},...a.d$,{value:"i18n",id:"i18n",level:2},{value:"Translation files location",id:"translation-files-location",level:3},{value:"Example file-system structure",id:"example-file-system-structure",level:3}];function p(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"-plugin-content-docs",children:"\uD83D\uDCE6 plugin-content-docs"})}),"\n","\n",(0,r.jsxs)(n.p,{children:["Provides the ",(0,r.jsx)(n.a,{href:"/docs/docs-introduction",children:"Docs"})," functionality and is the default docs plugin for Docusaurus."]}),"\n",(0,r.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,r.jsxs)(d.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(l.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-content-docs\n"})})}),(0,r.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-content-docs\n"})})}),(0,r.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-content-docs\n"})})})]}),"\n",(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsxs)(n.p,{children:["If you use the preset ",(0,r.jsx)(n.code,{children:"@docusaurus/preset-classic"}),", you don't need to install this plugin as a dependency."]}),(0,r.jsxs)(n.p,{children:["You can configure this plugin through the ",(0,r.jsx)(n.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),"."]})]}),"\n",(0,r.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,r.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Type"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"path"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'docs'"})}),(0,r.jsx)(n.td,{children:"Path to the docs content directory on the file system, relative to site directory."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"editUrl"})}),(0,r.jsx)(n.td,{children:(0,r.jsxs)("code",{children:["string | ",(0,r.jsx)(n.a,{href:"#EditUrlFunction",children:"EditUrlFunction"})]})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["Base URL to edit your site. The final URL is computed by ",(0,r.jsx)(n.code,{children:"editUrl + relativeDocPath"}),". Using a function allows more nuanced control for each file. Omitting this variable entirely will disable edit links."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"editLocalizedFiles"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsxs)(n.td,{children:["The edit URL will target the localized file, instead of the original unlocalized file. Ignored when ",(0,r.jsx)(n.code,{children:"editUrl"})," is a function."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"editCurrentVersion"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsxs)(n.td,{children:["The edit URL will always target the current version doc instead of older versions. Ignored when ",(0,r.jsx)(n.code,{children:"editUrl"})," is a function."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"routeBasePath"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'docs'"})}),(0,r.jsxs)(n.td,{children:["URL route for the docs section of your site. ",(0,r.jsx)(n.strong,{children:"DO NOT"})," include a trailing slash. Use ",(0,r.jsx)(n.code,{children:"/"})," for shipping docs without base path."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"tagsBasePath"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'tags'"})}),(0,r.jsxs)(n.td,{children:["URL route for the tags list page of your site. It is prepended to the ",(0,r.jsx)(n.code,{children:"routeBasePath"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"include"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"['**/*.{md,mdx}']"})}),(0,r.jsx)(n.td,{children:"Array of glob patterns matching Markdown files to be built, relative to the content path."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"exclude"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.em,{children:"See example configuration"})}),(0,r.jsxs)(n.td,{children:["Array of glob patterns matching Markdown files to be excluded. Serves as refinement based on the ",(0,r.jsx)(n.code,{children:"include"})," option."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sidebarPath"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:"false | string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["Path to a sidebars configuration file, loaded in a Node.js context. Use ",(0,r.jsx)(n.code,{children:"false"})," to disable sidebars, or ",(0,r.jsx)(n.code,{children:"undefined"})," to create a fully autogenerated sidebar."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sidebarCollapsible"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"true"})}),(0,r.jsxs)(n.td,{children:["Whether sidebar categories are collapsible by default. See also ",(0,r.jsx)(n.a,{href:"/docs/sidebar/items#collapsible-categories",children:"Collapsible categories"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sidebarCollapsed"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"true"})}),(0,r.jsxs)(n.td,{children:["Whether sidebar categories are collapsed by default. See also ",(0,r.jsx)(n.a,{href:"/docs/sidebar/items#expanded-categories-by-default",children:"Expanded categories by default"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sidebarItemsGenerator"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:(0,r.jsx)(n.a,{href:"#SidebarGenerator",children:"SidebarGenerator"})})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.em,{children:"Omitted"})}),(0,r.jsxs)(n.td,{children:["Function used to replace the sidebar items of type ",(0,r.jsx)(n.code,{children:"'autogenerated'"})," with real sidebar items (docs, categories, links...). See also ",(0,r.jsx)(n.a,{href:"/docs/sidebar/autogenerated#customize-the-sidebar-items-generator",children:"Customize the sidebar items generator"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"numberPrefixParser"})}),(0,r.jsx)(n.td,{children:(0,r.jsxs)("code",{children:["boolean | ",(0,r.jsx)(n.a,{href:"#PrefixParser",children:"PrefixParser"})]})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.em,{children:"Omitted"})}),(0,r.jsxs)(n.td,{children:["Custom parsing logic to extract number prefixes from file names. Use ",(0,r.jsx)(n.code,{children:"false"})," to disable this behavior and leave the docs untouched, and ",(0,r.jsx)(n.code,{children:"true"})," to use the default parser. See also ",(0,r.jsx)(n.a,{href:"/docs/sidebar/autogenerated#using-number-prefixes",children:"Using number prefixes"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"docsRootComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/DocsRoot'"})}),(0,r.jsx)(n.td,{children:"Parent component of all the docs plugin pages (including all versions). Stays mounted when navigation between docs pages and versions."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"docVersionRootComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/DocVersionLayout'"})}),(0,r.jsx)(n.td,{children:"Parent component of all docs pages of an individual version (doc pages with sidebars, tags pages). Stays mounted when navigation between pages of that specific version."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"docRootComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/DocRoot'"})}),(0,r.jsx)(n.td,{children:"Parent component of all doc pages with sidebars (regular docs pages, category generated index pages). Stays mounted when navigation between such pages."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"docItemComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/DocItem'"})}),(0,r.jsx)(n.td,{children:"Main doc container, with TOC, pagination, etc."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"docTagsListComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/DocTagsListPage'"})}),(0,r.jsx)(n.td,{children:"Root component of the tags list page"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"docTagDocListComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/DocTagDocListPage'"})}),(0,r.jsx)(n.td,{children:'Root component of the "docs containing tag X" page.'})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"docCategoryGeneratedIndexComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/DocCategoryGeneratedIndexPage'"})}),(0,r.jsx)(n.td,{children:"Root component of the generated category index page."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"remarkPlugins"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"any[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"[]"})}),(0,r.jsx)(n.td,{children:"Remark plugins passed to MDX."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"rehypePlugins"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"any[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"[]"})}),(0,r.jsx)(n.td,{children:"Rehype plugins passed to MDX."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"rehypePlugins"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"any[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"[]"})}),(0,r.jsx)(n.td,{children:"Recma plugins passed to MDX."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"beforeDefaultRemarkPlugins"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"any[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"[]"})}),(0,r.jsx)(n.td,{children:"Custom Remark plugins passed to MDX before the default Docusaurus Remark plugins."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"beforeDefaultRehypePlugins"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"any[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"[]"})}),(0,r.jsx)(n.td,{children:"Custom Rehype plugins passed to MDX before the default Docusaurus Rehype plugins."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"showLastUpdateAuthor"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Whether to display the author who last updated the doc."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"showLastUpdateTime"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsxs)(n.td,{children:["Whether to display the last date the doc was updated. This requires access to git history during the build, so will not work correctly with shallow clones (a common default for CI systems). With GitHub ",(0,r.jsx)(n.code,{children:"actions/checkout"}),", use",(0,r.jsx)(n.code,{children:"fetch-depth: 0"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"breadcrumbs"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"true"})}),(0,r.jsx)(n.td,{children:"Enable or disable the breadcrumbs on doc pages."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"disableVersioning"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsxs)(n.td,{children:["Explicitly disable versioning even when multiple versions exist. This will make the site only include the current version. Will error if ",(0,r.jsx)(n.code,{children:"includeCurrentVersion: false"})," and ",(0,r.jsx)(n.code,{children:"disableVersioning: true"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"includeCurrentVersion"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"true"})}),(0,r.jsx)(n.td,{children:"Include the current version of your docs."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"lastVersion"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsxs)(n.td,{children:["First version in ",(0,r.jsx)(n.code,{children:"versions.json"})]}),(0,r.jsx)(n.td,{children:"The version navigated to in priority and displayed by default for docs navbar items."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"onlyIncludeVersions"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string[]"})}),(0,r.jsx)(n.td,{children:"All versions available"}),(0,r.jsx)(n.td,{children:"Only include a subset of all available versions."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"versions"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:(0,r.jsx)(n.a,{href:"#VersionsConfig",children:"VersionsConfig"})})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{}"})}),(0,r.jsx)(n.td,{children:"Independent customization of each version's properties."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"tags"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string | false | null | undefined"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"tags.yml"})}),(0,r.jsx)(n.td,{children:"Path to a YAML file listing pre-defined tags. Relative to the docs version content directories."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"onInlineTags"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'ignore' | 'log' | 'warn' | 'throw'"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"warn"})}),(0,r.jsxs)(n.td,{children:["The plugin behavior when docs contain inline tags (not appearing in the list of pre-defined tags, usually ",(0,r.jsx)(n.code,{children:"docs/tags.yml"}),")."]})]})]})]})}),"\n",(0,r.jsx)(n.h3,{id:"types",children:"Types"}),"\n",(0,r.jsx)(n.h4,{id:"EditUrlFunction",children:(0,r.jsx)(n.code,{children:"EditUrlFunction"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type EditUrlFunction = (params: {\n version: string;\n versionDocsDirPath: string;\n docPath: string;\n permalink: string;\n locale: string;\n}) => string | undefined;\n"})}),"\n",(0,r.jsx)(n.h4,{id:"PrefixParser",children:(0,r.jsx)(n.code,{children:"PrefixParser"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type PrefixParser = (filename: string) => {\n filename: string;\n numberPrefix?: number;\n};\n"})}),"\n",(0,r.jsx)(n.h4,{id:"SidebarGenerator",children:(0,r.jsx)(n.code,{children:"SidebarGenerator"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type SidebarGenerator = (generatorArgs: {\n /** The sidebar item with type \"autogenerated\" to be transformed. */\n item: {type: 'autogenerated'; dirName: string};\n /** Useful metadata for the version this sidebar belongs to. */\n version: {contentPath: string; versionName: string};\n /** All the docs of that version (unfiltered). */\n docs: {\n id: string;\n title: string;\n frontMatter: DocFrontMatter & Record<string, unknown>;\n source: string;\n sourceDirName: string;\n sidebarPosition?: number | undefined;\n }[];\n /** Number prefix parser configured for this plugin. */\n numberPrefixParser: PrefixParser;\n /** The default category index matcher which you can override. */\n isCategoryIndex: CategoryIndexMatcher;\n /**\n * key is the path relative to the doc content directory, value is the\n * category metadata file's content.\n */\n categoriesMetadata: {[filePath: string]: CategoryMetadata};\n /**\n * Useful to re-use/enhance the default sidebar generation logic from\n * Docusaurus.\n */\n defaultSidebarItemsGenerator: SidebarGenerator;\n // Returns an array of sidebar items \u2014 same as what you can declare in\n // sidebars.js, except for shorthands. See https://docusaurus.io/docs/sidebar/items\n}) => Promise<SidebarItem[]>;\n\ntype CategoryIndexMatcher = (param: {\n /** The file name, without extension */\n fileName: string;\n /**\n * The list of directories, from lowest level to highest.\n * If there's no dir name, directories is ['.']\n */\n directories: string[];\n /** The extension, with a leading dot */\n extension: string;\n}) => boolean;\n"})}),"\n",(0,r.jsx)(n.h4,{id:"VersionsConfig",children:(0,r.jsx)(n.code,{children:"VersionsConfig"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type VersionConfig = {\n /**\n * The base path of the version, will be appended to `baseUrl` +\n * `routeBasePath`.\n */\n path?: string;\n /** The label of the version to be used in badges, dropdowns, etc. */\n label?: string;\n /** The banner to show at the top of a doc of that version. */\n banner?: 'none' | 'unreleased' | 'unmaintained';\n /** Show a badge with the version label at the top of each doc. */\n badge?: boolean;\n /** Prevents search engines from indexing this version */\n noIndex?: boolean;\n /** Add a custom class name to the <html> element of each doc */\n className?: string;\n};\n\ntype VersionsConfig = {[versionName: string]: VersionConfig};\n"})}),"\n",(0,r.jsx)(n.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,r.jsx)(n.p,{children:"You can configure this plugin through preset options or plugin options."}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsx)(n.p,{children:"Most Docusaurus users configure this plugin through the preset options."})}),"\n","\n",(0,r.jsx)(c.Z,{pluginName:"@docusaurus/plugin-content-docs",presetOptionName:"docs",code:"{\n path: 'docs',\n breadcrumbs: true,\n // Simple use-case: string editUrl\n // editUrl: 'https://github.com/facebook/docusaurus/edit/main/website/',\n // Advanced use-case: functional editUrl\n editUrl: ({versionDocsDirPath, docPath}) =>\n `https://github.com/facebook/docusaurus/edit/main/website/${versionDocsDirPath}/${docPath}`,\n editLocalizedFiles: false,\n editCurrentVersion: false,\n routeBasePath: 'docs',\n include: ['**/*.md', '**/*.mdx'],\n exclude: [\n '**/_*.{js,jsx,ts,tsx,md,mdx}',\n '**/_*/**',\n '**/*.test.{js,jsx,ts,tsx}',\n '**/__tests__/**',\n ],\n sidebarPath: 'sidebars.js',\n async sidebarItemsGenerator({\n defaultSidebarItemsGenerator,\n numberPrefixParser,\n item,\n version,\n docs,\n isCategoryIndex,\n }) {\n // Use the provided data to generate a custom sidebar slice\n return [\n {type: 'doc', id: 'intro'},\n {\n type: 'category',\n label: 'Tutorials',\n items: [\n {type: 'doc', id: 'tutorial1'},\n {type: 'doc', id: 'tutorial2'},\n ],\n },\n ];\n },\n numberPrefixParser(filename) {\n // Implement your own logic to extract a potential number prefix\n const numberPrefix = findNumberPrefix(filename);\n // Prefix found: return it with the cleaned filename\n if (numberPrefix) {\n return {\n numberPrefix,\n filename: filename.replace(prefix, ''),\n };\n }\n // No number prefix found\n return {numberPrefix: undefined, filename};\n },\n docsRootComponent: '@theme/DocsRoot',\n docVersionRootComponent: '@theme/DocVersionRoot',\n docRootComponent: '@theme/DocRoot',\n docItemComponent: '@theme/DocItem',\n remarkPlugins: [require('./my-remark-plugin')],\n rehypePlugins: [],\n beforeDefaultRemarkPlugins: [],\n beforeDefaultRehypePlugins: [],\n showLastUpdateAuthor: false,\n showLastUpdateTime: false,\n disableVersioning: false,\n includeCurrentVersion: true,\n lastVersion: undefined,\n versions: {\n current: {\n label: 'Android SDK v2.0.0 (WIP)',\n path: 'android-2.0.0',\n banner: 'none',\n },\n '1.0.0': {\n label: 'Android SDK v1.0.0',\n path: 'android-1.0.0',\n banner: 'unmaintained',\n },\n },\n onlyIncludeVersions: ['current', '1.0.0', '2.0.0'],\n}"}),"\n",(0,r.jsx)(n.h2,{id:"markdown-front-matter",children:"Markdown front matter"}),"\n",(0,r.jsxs)(n.p,{children:["Markdown documents can use the following Markdown ",(0,r.jsx)(n.a,{href:"/docs/markdown-features#front-matter",children:"front matter"})," metadata fields, enclosed by a line ",(0,r.jsx)(n.code,{children:"---"})," on either side."]}),"\n",(0,r.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Type"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"id"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:"file path (including folders, without the extension)"}),(0,r.jsx)(n.td,{children:"A unique document ID."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"title"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsxs)(n.td,{children:["Markdown title or ",(0,r.jsx)(n.code,{children:"id"})]}),(0,r.jsx)(n.td,{children:"The text title of your document. Used for the page metadata and as a fallback value in multiple places (sidebar, next/previous buttons...). Automatically added at the top of your doc if it does not contain any Markdown title."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"pagination_label"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"sidebar_label"})," or ",(0,r.jsx)(n.code,{children:"title"})]}),(0,r.jsx)(n.td,{children:"The text used in the document next/previous buttons for this document."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sidebar_label"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"title"})}),(0,r.jsx)(n.td,{children:"The text shown in the document sidebar for this document."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sidebar_position"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"number"})}),(0,r.jsx)(n.td,{children:"Default ordering"}),(0,r.jsxs)(n.td,{children:["Controls the position of a doc inside the generated sidebar slice when using ",(0,r.jsx)(n.code,{children:"autogenerated"})," sidebar items. See also ",(0,r.jsx)(n.a,{href:"/docs/sidebar/autogenerated#autogenerated-sidebar-metadata",children:"Autogenerated sidebar metadata"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sidebar_class_name"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsx)(n.td,{children:"Gives the corresponding sidebar label a special class name when using autogenerated sidebars."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sidebar_custom_props"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"object"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["Assign ",(0,r.jsx)(n.a,{href:"/docs/sidebar#passing-custom-props",children:"custom props"})," to the sidebar item referencing this doc"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"displayed_sidebar"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["Force the display of a given sidebar when browsing the current document. Read the ",(0,r.jsx)(n.a,{href:"/docs/sidebar/multiple-sidebars",children:"multiple sidebars guide"})," for details."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"hide_title"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Whether to hide the title at the top of the doc. It only hides a title declared through the front matter, and have no effect on a Markdown title at the top of your document."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"hide_table_of_contents"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Whether to hide the table of contents to the right."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"toc_min_heading_level"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"number"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"2"})}),(0,r.jsx)(n.td,{children:"The minimum heading level shown in the table of contents. Must be between 2 and 6 and lower or equal to the max value."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"toc_max_heading_level"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"number"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"3"})}),(0,r.jsx)(n.td,{children:"The max heading level shown in the table of contents. Must be between 2 and 6."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"pagination_next"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:"string | null"})}),(0,r.jsx)(n.td,{children:"Next doc in the sidebar"}),(0,r.jsxs)(n.td,{children:['The ID of the documentation you want the "Next" pagination to link to. Use ',(0,r.jsx)(n.code,{children:"null"}),' to disable showing "Next" for this page.']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"pagination_prev"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:"string | null"})}),(0,r.jsx)(n.td,{children:"Previous doc in the sidebar"}),(0,r.jsxs)(n.td,{children:['The ID of the documentation you want the "Previous" pagination to link to. Use ',(0,r.jsx)(n.code,{children:"null"}),' to disable showing "Previous" for this page.']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"parse_number_prefixes"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"numberPrefixParser"})," plugin option"]}),(0,r.jsxs)(n.td,{children:["Whether number prefix parsing is disabled on this doc. See also ",(0,r.jsx)(n.a,{href:"/docs/sidebar/autogenerated#using-number-prefixes",children:"Using number prefixes"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"custom_edit_url"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:"string | null"})}),(0,r.jsxs)(n.td,{children:["Computed using the ",(0,r.jsx)(n.code,{children:"editUrl"})," plugin option"]}),(0,r.jsxs)(n.td,{children:["The URL for editing this document. Use ",(0,r.jsx)(n.code,{children:"null"}),' to disable showing "Edit this page" for this page.']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"keywords"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsx)(n.td,{children:"Keywords meta tag for the document page, for search engines."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"description"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:"The first line of Markdown content"}),(0,r.jsxs)(n.td,{children:["The description of your document, which will become the ",(0,r.jsx)(n.code,{children:'<meta name="description" content="..."/>'})," and ",(0,r.jsx)(n.code,{children:'<meta property="og:description" content="..."/>'})," in ",(0,r.jsx)(n.code,{children:"<head>"}),", used by search engines."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"image"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["Cover or thumbnail image that will be used as the ",(0,r.jsx)(n.code,{children:'<meta property="og:image" content="..."/>'})," in the ",(0,r.jsx)(n.code,{children:"<head>"}),", enhancing link previews on social media and messaging platforms."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"slug"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:"File path"}),(0,r.jsxs)(n.td,{children:["Allows to customize the document URL (",(0,r.jsx)(n.code,{children:"/<routeBasePath>/<slug>"}),"). Support multiple patterns: ",(0,r.jsx)(n.code,{children:"slug: my-doc"}),", ",(0,r.jsx)(n.code,{children:"slug: /my/path/myDoc"}),", ",(0,r.jsx)(n.code,{children:"slug: /"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"tags"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"Tag[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["A list of strings or objects of two string fields ",(0,r.jsx)(n.code,{children:"label"})," and ",(0,r.jsx)(n.code,{children:"permalink"})," to tag to your docs. Strings can be a reference to keys of a ",(0,r.jsx)(n.a,{href:"#tags-file",children:"tags file"})," (usually ",(0,r.jsx)(n.code,{children:"tags.yml"}),")"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"draft"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Draft documents will only be available during development."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"unlisted"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:'Unlisted documents will be available in both development and production. They will be "hidden" in production, not indexed, excluded from sitemaps, and can only be accessed by users having a direct link.'})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"last_update"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"FrontMatterLastUpdate"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["Allows overriding the last update author/date. Date can be any ",(0,r.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse",children:"parsable date string"}),"."]})]})]})]})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type FrontMatterLastUpdate = {date?: string; author?: string};\n\ntype Tag = string | {label: string; permalink: string};\n"})}),"\n",(0,r.jsx)(n.p,{children:"Example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"---\nid: doc-markdown\ntitle: Docs Markdown Features\nhide_title: false\nhide_table_of_contents: false\nsidebar_label: Markdown\nsidebar_position: 3\npagination_label: Markdown features\ncustom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md\ndescription: How do I find you when I cannot solve this problem\nkeywords:\n - docs\n - docusaurus\ntags: [docusaurus]\nimage: https://i.imgur.com/mErPwqL.png\nslug: /myDoc\nlast_update:\n date: 1/1/2000\n author: custom author name\n---\n\n# Markdown Features\n\nMy Document Markdown content\n"})}),"\n","\n",(0,r.jsx)(a.ZP,{}),"\n",(0,r.jsx)(n.h2,{id:"i18n",children:"i18n"}),"\n",(0,r.jsxs)(n.p,{children:["Read the ",(0,r.jsx)(n.a,{href:"/docs/i18n/introduction",children:"i18n introduction"})," first."]}),"\n",(0,r.jsx)(n.h3,{id:"translation-files-location",children:"Translation files location"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Base path"}),": ",(0,r.jsx)(n.code,{children:"website/i18n/[locale]/docusaurus-plugin-content-docs"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Multi-instance path"}),": ",(0,r.jsx)(n.code,{children:"website/i18n/[locale]/docusaurus-plugin-content-docs-[pluginId]"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"JSON files"}),": extracted with ",(0,r.jsx)(n.a,{href:"/docs/cli#docusaurus-write-translations-sitedir",children:(0,r.jsx)(n.code,{children:"docusaurus write-translations"})})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Markdown files"}),": ",(0,r.jsx)(n.code,{children:"website/i18n/[locale]/docusaurus-plugin-content-docs/[versionName]"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"example-file-system-structure",children:"Example file-system structure"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"website/i18n/[locale]/docusaurus-plugin-content-docs\n\u2502\n\u2502 # translations for website/docs\n\u251C\u2500\u2500 current\n\u2502 \u251C\u2500\u2500 api\n\u2502 \u2502 \u2514\u2500\u2500 config.md\n\u2502 \u2514\u2500\u2500 getting-started.md\n\u251C\u2500\u2500 current.json\n\u2502\n\u2502 # translations for website/versioned_docs/version-1.0.0\n\u251C\u2500\u2500 version-1.0.0\n\u2502 \u251C\u2500\u2500 api\n\u2502 \u2502 \u2514\u2500\u2500 config.md\n\u2502 \u2514\u2500\u2500 getting-started.md\n\u2514\u2500\u2500 version-1.0.0.json\n"})})]})}function g(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},58636:function(e,n,t){t.d(n,{Z:()=>i});var s=t(85893);t(67294);var r=t(90496);function i(e){let{children:n,hidden:t,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,r.Z)("tabItem_pnkT",i),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>m});var s=t(85893),r=t(67294),i=t(90496),d=t(54947),l=t(3620),o=t(844),c=t(97486),a=t(32263),h=t(16971);function u(e){return r.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||r.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function x(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var j=t(71607);function p(e){let{className:n,block:t,selectedValue:r,selectValue:l,tabValues:o}=e,c=[],{blockElementScrollPositionUntilNextRender:a}=(0,d.o5)(),h=e=>{let n=e.currentTarget,t=o[c.indexOf(n)].value;t!==r&&(a(n),l(t))},u=e=>{let n=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{let t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{let t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1]}}n?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":t},n),children:o.map(e=>{let{value:n,label:t,attributes:d}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:r===n?0:-1,"aria-selected":r===n,ref:e=>{c.push(e)},onKeyDown:u,onClick:h,...d,className:(0,i.Z)("tabs__item","tabItem_AQgk",d?.className,{"tabs__item--active":r===n}),children:t??n},n)})})}function g(e){let{lazy:n,children:t,selectedValue:d}=e,l=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=l.find(e=>e.props.value===d);return e?(0,r.cloneElement)(e,{className:(0,i.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:l.map((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==d}))})}function f(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:s}=e,i=function(e){let{values:n,children:t}=e;return(0,r.useMemo)(()=>{let e=n??u(t).map(e=>{let{props:{value:n,label:t,attributes:s,default:r}}=e;return{value:n,label:t,attributes:s,default:r}});return!function(e){let n=(0,a.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[d,j]=(0,r.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!x({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let s=t.find(e=>e.default)??t[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:n,tabValues:i})),[p,g]=function(e){let{queryString:n=!1,groupId:t}=e,s=(0,l.k6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,c._X)(i),(0,r.useCallback)(e=>{if(!i)return;let n=new URLSearchParams(s.location.search);n.set(i,e),s.replace({...s.location,search:n.toString()})},[i,s])]}({queryString:t,groupId:s}),[f,m]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[s,i]=(0,h.Nk)(t);return[s,(0,r.useCallback)(e=>{t&&i.set(e)},[t,i])]}({groupId:s}),b=(()=>{let e=p??f;return x({value:e,tabValues:i})?e:null})();return(0,o.Z)(()=>{b&&j(b)},[b]),{selectedValue:d,selectValue:(0,r.useCallback)(e=>{if(!x({value:e,tabValues:i}))throw Error(`Can't select invalid tab value=${e}`);j(e),g(e),m(e)},[g,m,i]),tabValues:i}}(e);return(0,s.jsxs)("div",{className:(0,i.Z)("tabs-container","tabList_Qoir"),children:[(0,s.jsx)(p,{...n,...e}),(0,s.jsx)(g,{...n,...e})]})}function m(e){let n=(0,j.Z)();return(0,s.jsx)(f,{...e,children:u(e.children)},String(n))}},56497:function(e,n,t){t.d(n,{Z:()=>i});var s=t(85893);t(67294);var r=t(71607);function i(e){let{children:n,fallback:t}=e;return(0,r.Z)()?(0,s.jsx)(s.Fragment,{children:n?.()}):t??null}},32240:function(e,n,t){t.d(n,{Z:()=>o});var s=t(85893),r=t(67294),i=t(96700),d=t(3620);let l=r.forwardRef(function(e,n){let{name:t,children:l}=e,o=function(e){let n=e;for(;(0,r.isValidElement)(n);)[n]=r.Children.toArray(n.props.children);if("string"!=typeof n)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return n}(l),c=t?`${t}-${o}`:o,a=`#${c}`,h=(0,d.k6)();return(0,i.Z)().collectAnchor(c),(0,s.jsx)("tr",{id:c,tabIndex:0,ref:h.location.hash===a?n:void 0,onClick:e=>{let n="TD"===e.target.tagName.toUpperCase(),t=!!window.getSelection()?.toString();n&&!t&&h.push(a)},onKeyDown:e=>{"Enter"===e.key&&h.push(a)},children:l.props.children})});function o(e){let{children:n,name:t}=e;if("table"!==n.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[i,d]=r.Children.toArray(n.props.children),o=(0,r.useRef)(null);(0,r.useEffect)(()=>{o.current?.focus()},[o]);let c=r.Children.map(d.props.children,e=>(0,s.jsx)(l,{name:t,ref:o,children:e}));return(0,s.jsxs)("table",{className:"apiTable_e8hp",children:[i,(0,s.jsx)("tbody",{children:c})]})}},66359:function(e,n,t){t.d(n,{Z:()=>h});var s=t(85893);t(67294);var r=t(35363),i=t(90158),d=t(77827),l=t(15398),o=t(58636),c=t(95998);let a=void 0;function h(e){let{code:n,pluginName:t,presetOptionName:h}=e,u=(0,i.zu)(a).path;return(0,s.jsxs)(l.Z,{groupId:"api-config-ex",children:[(0,s.jsxs)(o.Z,{value:"preset",label:(0,d.I)({message:"Preset options"}),children:[(0,s.jsx)("p",{children:(0,s.jsx)(d.Z,{id:"apiDocs.configTabs.presetOptions.description",values:{presetLink:(0,s.jsx)(r.Z,{to:`${u}/using-plugins#docusauruspreset-classic`,children:(0,s.jsx)(d.Z,{children:"preset options"})})},children:"If you use a preset, configure this plugin through the {presetLink}:"})}),(0,s.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + presets: [ + [ + '@docusaurus/preset-classic', + { + // highlight-start + ${h}: ${n.replace(/\n/g,"\n ")}, + // highlight-end + }, + ], + ], +};`})]}),(0,s.jsxs)(o.Z,{value:"plugin",label:(0,d.I)({message:"Plugin options"}),children:[(0,s.jsx)("p",{children:(0,s.jsx)(d.Z,{children:"If you are using a standalone plugin, provide options directly to the plugin:"})}),(0,s.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + plugins: [ + [ + '${t}', + // highlight-start + ${n.replace(/\n/g,"\n ")}, + // highlight-end + ], + ], +};`})]})]})}},95998:function(e,n,t){t.d(n,{Z:()=>en});var s,r={};t.r(r),t.d(r,{ButtonExample:()=>P});var i=t(85893),d=t(67294),l=t(90496),o=t(71607),c=t(10075),a=t(77827),h=t(8156),u=t(56497),x=t(85108),j=t(45245),p=t(26378);function g(){let{prism:e}=(0,p.L)(),{colorMode:n}=(0,j.I)(),t=e.theme,s=e.darkTheme||t;return"dark"===n?s:t}var f=t(67490);function m(e){let{children:n}=e;return(0,i.jsx)("div",{className:(0,l.Z)("playgroundHeader_Tvsk"),children:n})}function b(){return(0,i.jsx)("div",{children:"Loading..."})}function y(){return(0,i.jsx)(u.Z,{fallback:(0,i.jsx)(b,{}),children:()=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(f.Z,{fallback:e=>(0,i.jsx)(x.Ac,{...e}),children:(0,i.jsx)(c.i5,{})}),(0,i.jsx)(c.IF,{})]})})}function v(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(m,{children:(0,i.jsx)(a.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,i.jsx)("div",{className:"playgroundPreview_mApW",children:(0,i.jsx)(y,{})})]})}function w(){let e=(0,o.Z)();return(0,i.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function k(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(m,{children:(0,i.jsx)(a.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,i.jsx)(w,{})]})}let C=e=>`${e};`;function T(e){let{children:n,transformCode:t,...s}=e,{siteConfig:{themeConfig:r}}=(0,h.Z)(),{liveCodeBlock:{playgroundPosition:d}}=r,l=g(),o=s.metastring?.includes("noInline")??!1;return(0,i.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,i.jsx)(c.nu,{code:n?.replace(/\n$/,""),noInline:o,transformCode:t??C,theme:l,...s,children:"top"===d?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(v,{}),(0,i.jsx)(k,{})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(k,{}),(0,i.jsx)(v,{})]})})})}function P(e){return(0,i.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let N={React:d,...d,...r};var I=t(55951),_=t(6324),B=t.n(_);let D=/title=(?<quote>["'])(?<title>.*?)\1/,L=/\{(?<range>[\d,-]+)\}/,E={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},S={...E,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},U=Object.keys(E);function R(e,n){let t=e.map(e=>{let{start:t,end:s}=S[e];return`(?:${t}\\s*(${n.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return RegExp(`^\\s*(?:${t})\\s*$`)}function A(e){let{as:n,...t}=e,s=function(e){let n={color:"--prism-color",backgroundColor:"--prism-background-color"},t={};return Object.entries(e.plain).forEach(e=>{let[s,r]=e,i=n[s];i&&"string"==typeof r&&(t[i]=r)}),t}(g());return(0,i.jsx)(n,{...t,style:s,className:(0,l.Z)(t.className,"codeBlockContainer_jDV4",I.k.common.codeBlock)})}let M={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function Z(e){let{children:n,className:t}=e;return(0,i.jsx)(A,{as:"pre",tabIndex:0,className:(0,l.Z)(M.codeBlockStandalone,"thin-scrollbar",t),children:(0,i.jsx)("code",{className:M.codeBlockLines,children:n})})}var V=t(50923);let $={attributes:!0,characterData:!0,childList:!0,subtree:!0};var F=t(7316);let O={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function W(e){let{line:n,classNames:t,showLineNumbers:s,getLineProps:r,getTokenProps:d}=e;1===n.length&&"\n"===n[0].content&&(n[0].content="");let o=r({line:n,className:(0,l.Z)(t,s&&O.codeLine)}),c=n.map((e,n)=>(0,i.jsx)("span",{...d({token:e})},n));return(0,i.jsxs)("span",{...o,children:[s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:O.codeLineNumber}),(0,i.jsx)("span",{className:O.codeLineContent,children:c})]}):c,(0,i.jsx)("br",{})]})}var G=t(44771);function z(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function q(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let H={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function X(e){let{code:n,className:t}=e,[s,r]=(0,d.useState)(!1),o=(0,d.useRef)(void 0),c=(0,d.useCallback)(()=>{(0,G.Z)(n),r(!0),o.current=window.setTimeout(()=>{r(!1)},1e3)},[n]);return(0,d.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,i.jsx)("button",{type:"button","aria-label":s?(0,a.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,a.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,a.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,l.Z)("clean-btn",t,H.copyButton,s&&H.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:H.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(z,{className:H.copyButtonIcon}),(0,i.jsx)(q,{className:H.copyButtonSuccessIcon})]})})}function Y(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let J={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function K(e){let{className:n,onClick:t,isEnabled:s}=e,r=(0,a.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:t,className:(0,l.Z)("clean-btn",n,s&&J.wordWrapButtonEnabled),"aria-label":r,title:r,children:(0,i.jsx)(Y,{className:J.wordWrapButtonIcon,"aria-hidden":"true"})})}function Q(e){var n;let{children:t,className:s="",metastring:r,title:c,showLineNumbers:a,language:h}=e,{prism:{defaultLanguage:u,magicComments:x}}=(0,p.L)(),j=(n=h??function(e){let n=e.split(" ").find(e=>e.startsWith("language-"));return n?.replace(/language-/,"")}(s)??u,n?.toLowerCase()),f=g(),m=function(){let[e,n]=(0,d.useState)(!1),[t,s]=(0,d.useState)(!1),r=(0,d.useRef)(null),i=(0,d.useCallback)(()=>{let t=r.current.querySelector("code");e?t.removeAttribute("style"):(t.style.whiteSpace="pre-wrap",t.style.overflowWrap="anywhere"),n(e=>!e)},[r,e]),l=(0,d.useCallback)(()=>{let{scrollWidth:e,clientWidth:n}=r.current;s(e>n||r.current.querySelector("code").hasAttribute("style"))},[r]);return!function(e,n){let[t,s]=(0,d.useState)(),r=(0,d.useCallback)(()=>{s(e.current?.closest("[role=tabpanel][hidden]"))},[e,s]);(0,d.useEffect)(()=>{r()},[r]),function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$,s=(0,V.zX)(n),r=(0,V.Ql)(t);(0,d.useEffect)(()=>{let n=new MutationObserver(s);return e&&n.observe(e,r),()=>n.disconnect()},[e,s,r])}(t,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),r())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(r,l),(0,d.useEffect)(()=>{l()},[e,l]),(0,d.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:t,toggle:i}}(),b=(0,o.Z)(),y=(r?.match(D)?.groups.title??"")||c,{lineClassNames:v,code:w}=function(e,n){let t=e.replace(/\n$/,""),{language:s,magicComments:r,metastring:i}=n;if(i&&L.test(i)){let e=i.match(L).groups.range;if(0===r.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${i}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let n=r[0].className;return{lineClassNames:Object.fromEntries(B()(e).filter(e=>e>0).map(e=>[e-1,[n]])),code:t}}if(void 0===s)return{lineClassNames:{},code:t};let d=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return R(["js","jsBlock"],n);case"jsx":case"tsx":return R(["js","jsBlock","jsx"],n);case"html":return R(["js","jsBlock","html"],n);case"python":case"py":case"bash":return R(["bash"],n);case"markdown":case"md":return R(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return R(["tex"],n);case"lua":case"haskell":return R(["lua"],n);case"sql":return R(["lua","jsBlock"],n);case"wasm":return R(["wasm"],n);case"vb":case"vba":case"visual-basic":return R(["vb","rem"],n);case"vbnet":return R(["vbnet","rem"],n);case"batch":return R(["rem"],n);case"basic":return R(["rem","f90"],n);case"fsharp":return R(["js","ml"],n);case"ocaml":case"sml":return R(["ml"],n);case"fortran":return R(["f90"],n);case"cobol":return R(["cobol"],n);default:return R(U,n)}}(s,r),l=t.split("\n"),o=Object.fromEntries(r.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(r.filter(e=>e.line).map(e=>{let{className:n,line:t}=e;return[t,n]})),a=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.start,n]})),h=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.end,n]}));for(let e=0;e<l.length;){let n=l[e].match(d);if(!n){e+=1;continue}let t=n.slice(1).find(e=>void 0!==e);c[t]?o[c[t]].range+=`${e},`:a[t]?o[a[t]].start=e:h[t]&&(o[h[t]].range+=`${o[h[t]].start}-${e-1},`),l.splice(e,1)}t=l.join("\n");let u={};return Object.entries(o).forEach(e=>{let[n,{range:t}]=e;B()(t).forEach(e=>{u[e]??=[],u[e].push(n)})}),{lineClassNames:u,code:t}}(t,{metastring:r,language:j,magicComments:x}),k=function(e){let{showLineNumbers:n,metastring:t}=e;return"boolean"==typeof n?n?1:void 0:"number"==typeof n?n:function(e){let n=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}(t)}({showLineNumbers:a,metastring:r});return(0,i.jsxs)(A,{as:"div",className:(0,l.Z)(s,j&&!s.includes(`language-${j}`)&&`language-${j}`),children:[y&&(0,i.jsx)("div",{className:M.codeBlockTitle,children:y}),(0,i.jsxs)("div",{className:M.codeBlockContent,children:[(0,i.jsx)(F.y$,{theme:f,code:w,language:j??"text",children:e=>{let{className:n,style:t,tokens:s,getLineProps:r,getTokenProps:d}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:m.codeBlockRef,className:(0,l.Z)(n,M.codeBlock,"thin-scrollbar"),style:t,children:(0,i.jsx)("code",{className:(0,l.Z)(M.codeBlockLines,void 0!==k&&M.codeBlockLinesWithNumbering),style:void 0===k?void 0:{counterReset:`line-count ${k-1}`},children:s.map((e,n)=>(0,i.jsx)(W,{line:e,getLineProps:r,getTokenProps:d,classNames:v[n],showLineNumbers:void 0!==k},n))})})}}),b?(0,i.jsxs)("div",{className:M.buttonGroup,children:[(m.isEnabled||m.isCodeScrollable)&&(0,i.jsx)(K,{className:M.codeButton,onClick:()=>m.toggle(),isEnabled:m.isEnabled}),(0,i.jsx)(X,{className:M.codeButton,code:w})]}):null]})]})}let ee=(s=function(e){let{children:n,...t}=e,s=(0,o.Z)(),r=d.Children.toArray(n).some(e=>(0,d.isValidElement)(e))?n:Array.isArray(n)?n.join(""):n;return(0,i.jsx)("string"==typeof r?Q:Z,{...t,children:r},String(s))},function(e){return e.live?(0,i.jsx)(T,{scope:N,...e}):(0,i.jsx)(s,{...e})});function en(e){return(0,i.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/0b7c2a4a.fd40326d.js b/assets/js/0b7c2a4a.fd40326d.js new file mode 100644 index 0000000000..f0570b413c --- /dev/null +++ b/assets/js/0b7c2a4a.fd40326d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["27591"],{72581:function(e,n,s){s.d(n,{Z:()=>r});let r=s.p+"assets/images/social-card-3239a62bb56c9529ff255bc2c72e94f6.png"},20788:function(e,n,s){s.d(n,{Z:()=>r});let r=s.p+"assets/images/navbar-error-15eefab8e8d77aa4d605939956987164.jpg"},92539:function(e,n,s){s.d(n,{Z:()=>r});let r=s.p+"assets/images/sidebar-item-description-f38981b17f486bc09fb811c6992ef668.jpg"},17414:function(e,n,s){s.d(n,{Z:()=>r});let r=s.p+"assets/images/social-card-3239a62bb56c9529ff255bc2c72e94f6.png"},77543:function(e,n,s){s.r(n),s.d(n,{assets:()=>p,contentTitle:()=>h,default:()=>f,frontMatter:()=>d,metadata:()=>r,toc:()=>g});var r=s(68707),t=s(85893),a=s(80980),i=s(15398),l=s(58636),o=s(14522),c=s(51118),u=s(39468);let d={title:"Docusaurus 2.4",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2023-03-23T00:00:00.000Z")},h=void 0,p={image:s(72581).Z,authorsImageUrls:[void 0]},g=[{value:"Highlights",id:"highlights",level:2},{value:"Sidebar item description",id:"sidebar-item-description",level:3},{value:"Theme Query String",id:"theme-query-string",level:3},{value:"Remark plugin npm2yarn upgrade",id:"remark-plugin-npm2yarn-upgrade",level:3},{value:"gtag support for multiple tracking IDs",id:"gtag-support-for-multiple-tracking-ids",level:3},{value:"Developer Experience",id:"developer-experience",level:3},{value:"Translations",id:"translations",level:3},{value:"Other changes",id:"other-changes",level:2}];function m(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["We are happy to announce ",(0,t.jsx)(n.strong,{children:"Docusaurus 2.4"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["The upgrade should be easy: as explained in our ",(0,t.jsx)(n.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,t.jsx)(n.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"Docusaurus blog post social card",src:s(17414).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,t.jsx)(n.h2,{id:"highlights",children:"Highlights"}),"\n",(0,t.jsx)(n.h3,{id:"sidebar-item-description",children:"Sidebar item description"}),"\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8236",children:"#8236"}),", we made it possible to provide a new ",(0,t.jsx)(n.code,{children:"description"})," attribute for docs sidebar items of type ",(0,t.jsx)(n.code,{children:"link"})," and ",(0,t.jsx)(n.code,{children:"category"}),"."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-tsx",metastring:'title="sidebars.js"',children:"[\n {\n type: 'link',\n label: 'Link with description',\n href: 'https://docusaurus.io',\n // highlight-next-line\n description: 'Some link description',\n },\n {\n type: 'category',\n label: 'Category with description',\n // highlight-next-line\n description: 'Some category description',\n items: [],\n },\n];\n"})}),"\n",(0,t.jsx)(n.p,{children:"These descriptions will be used in category generated index pages."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"Show sidebar category generated index with custom descriptions",src:s(92539).Z+"",width:"1400",height:"691"})}),"\n",(0,t.jsx)(n.h3,{id:"theme-query-string",children:"Theme Query String"}),"\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8708",children:"#8708"}),", we added the possibility to force Docusaurus to initialize itself in ",(0,t.jsx)(n.code,{children:"light"})," or ",(0,t.jsx)(n.code,{children:"dark"})," mode through a new ",(0,t.jsx)(n.code,{children:"docusaurus-theme"})," query-string parameter."]}),"\n",(0,t.jsx)(n.p,{children:"This is useful to ensure a consistent theme when embedding an existing Docusaurus page into an iframe or WebView."}),"\n",(0,t.jsx)(c.Z,{url:"/docs/?docusaurus-theme=light"}),"\n",(0,t.jsx)(c.Z,{url:"/docs/?docusaurus-theme=dark"}),"\n",(0,t.jsx)(n.h3,{id:"remark-plugin-npm2yarn-upgrade",children:"Remark plugin npm2yarn upgrade"}),"\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8690",children:"#8690"}),", we upgraded our Remark plugin ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-remark-plugin-npm2yarn",children:"@docusaurus/remark-plugin-npm2yarn"})," with many conversion bug fixes, first-class support for pnpm, and the ability to register custom converters producing new tabs."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-markdown",children:"Run these commands!\n\n```bash npm2yarn\nnpm install\nnpm run build\nnpm run myCustomScript -- --some-arg\n```\n"})}),"\n",(0,t.jsx)(o.Z,{children:(0,t.jsxs)(i.Z,{children:[(0,t.jsx)(l.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm install\nnpm run build\nnpm run myCustomScript -- --some-arg\n"})})}),(0,t.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn install\nyarn build\nyarn myCustomScript --some-arg\n"})})}),(0,t.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm install\npnpm run build\npnpm run myCustomScript --some-arg\n"})})})]})}),"\n",(0,t.jsx)(n.h3,{id:"gtag-support-for-multiple-tracking-ids",children:"gtag support for multiple tracking IDs"}),"\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8620",children:"#8620"})," we added support for the ",(0,t.jsx)(n.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-gtag",children:"@docusaurus/plugin-google-gtag"})," plugin to declare multiple tracking IDs."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"module.exports = {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n gtag: {\n trackingID: [\n // highlight-next-line\n 'G-<YOUR-NEW-GA4-ID>',\n // highlight-next-line\n 'UA-<YOUR-OLD-UA-ID>',\n ],\n },\n },\n ],\n ],\n};\n"})}),"\n",(0,t.jsxs)(n.admonition,{title:"Google is sunsetting Universal Analytics",type:"warning",children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"https://blog.google/products/marketingplatform/analytics/prepare-for-future-with-google-analytics-4/",children:"Google will sunset its Universal Analytics"})})," on ",(0,t.jsx)(n.strong,{children:"July 1, 2023"}),"."]}),(0,t.jsxs)(n.p,{children:["Docusaurus users should migrate to Google Analytics 4. Google ",(0,t.jsx)(n.strong,{children:"does not permit to migrate your existing Universal Analytics data"})," to your new Google Analytics 4 property."]}),(0,t.jsxs)(n.p,{children:["To preserve the continuity of your analytics, we temporarily recommend that you report events to 2 tracking IDs at the same time: the old one (",(0,t.jsx)(n.code,{children:"UA-*"}),") and new one (",(0,t.jsx)(n.code,{children:"G-*"}),"). Refer to the ",(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/7221",children:"dedicated issue"})})," for details."]})]}),"\n",(0,t.jsx)(n.h3,{id:"developer-experience",children:"Developer Experience"}),"\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8736",children:"#8736"}),", we improved how we render error messages and added initial support to render the full causal chain of an error (see ",(0,t.jsx)(n.a,{href:"https://h3manth.com/ES2022/#error-cause",children:"ES2022 Error Cause"}),")."]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["To see it in action, click here: ",(0,t.jsx)(u.Z,{cause:"Probably undefined is not a function \uD83D\uDE04"})]})}),"\n",(0,t.jsxs)(n.p,{children:["In ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8735",children:"#8735"})," we also made navbar-related error messages clearer to help users understand what they did wrong."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"Docusaurus navbar error message screenshot",src:s(20788).Z+"",width:"1676",height:"1614"})}),"\n",(0,t.jsx)(n.h3,{id:"translations",children:"Translations"}),"\n",(0,t.jsx)(n.p,{children:"We made it possible to translate some new elements:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8677",children:"#8677"})," introduces a new ",(0,t.jsx)(n.code,{children:"process.env.DOCUSAURUS_CURRENT_LOCALE"})," (experimental) allowing you to localize your config file, including site title, tagline, announcement bar, baseUrl..."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8616",children:"#8616"})," allows to translate the navbar and footer logo alt text"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"We added default theme translation support for multiple languages:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\uD83C\uDDED\uD83C\uDDFA ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8668",children:"#8668"}),": Hungarian"]}),"\n",(0,t.jsxs)(n.li,{children:["\uD83C\uDDF3\uD83C\uDDF4 ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8631",children:"#8631"}),": Norwegian (Bokm\xe5l)"]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Completing theme translations is an ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/3526",children:"ongoing effort"})," and an easy way to contribute to Docusaurus. We add new theme features regularly, for which we often ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/3526",children:"need new translations"}),"."]})}),"\n",(0,t.jsx)(n.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,t.jsx)(n.p,{children:"Other notable changes include:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8674",children:"#8674"}),": respect ",(0,t.jsx)(n.code,{children:"prefers-reduced-motion: reduce"})," media query"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8712",children:"#8712"}),": use a navbar item of type ",(0,t.jsx)(n.code,{children:"docSidebar"})," in template"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8801",children:"#8801"}),": allow tabs children to be falsy"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8757",children:"#8757"}),": make search page react to external query-string changes"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8803",children:"#8803"}),": fix code block buttons position in RTL"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8615",children:"#8615"}),": fix color mode toggle when using dark navbar"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8699",children:"#8699"}),": fix navbar dropdown tab focus bug"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Check the ",(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"/changelog/2.4.0",children:"2.4.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function f(e={}){let{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(m,{...e})}):m(e)}},58636:function(e,n,s){s.d(n,{Z:()=>a});var r=s(85893);s(67294);var t=s(90496);function a(e){let{children:n,hidden:s,className:a}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,t.Z)("tabItem_pnkT",a),hidden:s,children:n})}},15398:function(e,n,s){s.d(n,{Z:()=>x});var r=s(85893),t=s(67294),a=s(90496),i=s(54947),l=s(3620),o=s(844),c=s(97486),u=s(32263),d=s(16971);function h(e){return t.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||t.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:n,tabValues:s}=e;return s.some(e=>e.value===n)}var g=s(71607);function m(e){let{className:n,block:s,selectedValue:t,selectValue:l,tabValues:o}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,i.o5)(),d=e=>{let n=e.currentTarget,s=o[c.indexOf(n)].value;s!==t&&(u(n),l(s))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let s=c.indexOf(e.currentTarget)+1;n=c[s]??c[0];break}case"ArrowLeft":{let s=c.indexOf(e.currentTarget)-1;n=c[s]??c[c.length-1]}}n?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":s},n),children:o.map(e=>{let{value:n,label:s,attributes:i}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>{c.push(e)},onKeyDown:h,onClick:d,...i,className:(0,a.Z)("tabs__item","tabItem_AQgk",i?.className,{"tabs__item--active":t===n}),children:s??n},n)})})}function f(e){let{lazy:n,children:s,selectedValue:i}=e,l=(Array.isArray(s)?s:[s]).filter(Boolean);if(n){let e=l.find(e=>e.props.value===i);return e?(0,t.cloneElement)(e,{className:(0,a.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:l.map((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==i}))})}function b(e){let n=function(e){let{defaultValue:n,queryString:s=!1,groupId:r}=e,a=function(e){let{values:n,children:s}=e;return(0,t.useMemo)(()=>{let e=n??h(s).map(e=>{let{props:{value:n,label:s,attributes:r,default:t}}=e;return{value:n,label:s,attributes:r,default:t}});return!function(e){let n=(0,u.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,s])}(e),[i,g]=(0,t.useState)(()=>(function(e){let{defaultValue:n,tabValues:s}=e;if(0===s.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:s}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${s.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let r=s.find(e=>e.default)??s[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:n,tabValues:a})),[m,f]=function(e){let{queryString:n=!1,groupId:s}=e,r=(0,l.k6)(),a=function(e){let{queryString:n=!1,groupId:s}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!s)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:n,groupId:s});return[(0,c._X)(a),(0,t.useCallback)(e=>{if(!a)return;let n=new URLSearchParams(r.location.search);n.set(a,e),r.replace({...r.location,search:n.toString()})},[a,r])]}({queryString:s,groupId:r}),[b,x]=function(e){let{groupId:n}=e,s=n?`docusaurus.tab.${n}`:null,[r,a]=(0,d.Nk)(s);return[r,(0,t.useCallback)(e=>{s&&a.set(e)},[s,a])]}({groupId:r}),j=(()=>{let e=m??b;return p({value:e,tabValues:a})?e:null})();return(0,o.Z)(()=>{j&&g(j)},[j]),{selectedValue:i,selectValue:(0,t.useCallback)(e=>{if(!p({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);g(e),f(e),x(e)},[f,x,a]),tabValues:a}}(e);return(0,r.jsxs)("div",{className:(0,a.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(m,{...n,...e}),(0,r.jsx)(f,{...n,...e})]})}function x(e){let n=(0,g.Z)();return(0,r.jsx)(b,{...e,children:h(e.children)},String(n))}},51118:function(e,n,s){s.d(n,{Z:()=>a});var r=s(85893);s(67294);var t=s(14522);function a(e){let{url:n}=e;return(0,r.jsx)("div",{style:{padding:10},children:(0,r.jsx)(t.Z,{url:n,style:{minWidth:"min(100%,45vw)",width:800,maxWidth:"100%",overflow:"hidden"},bodyStyle:{padding:0},children:(0,r.jsx)("iframe",{src:n,title:n,style:{display:"block",width:"100%",height:300}})})})}},14522:function(e,n,s){s.d(n,{Z:()=>l});var r=s(85893);s(67294);var t=s(90496);let a="dot_giz1",i="bar_rrRL";function l(e){let{children:n,minHeight:s,url:l="http://localhost:3000",style:o,bodyStyle:c}=e;return(0,r.jsxs)("div",{className:"browserWindow_my1Q",style:{...o,minHeight:s},children:[(0,r.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,r.jsxs)("div",{className:"buttons_uHc7",children:[(0,r.jsx)("span",{className:a,style:{background:"#f25f58"}}),(0,r.jsx)("span",{className:a,style:{background:"#fbbe3c"}}),(0,r.jsx)("span",{className:a,style:{background:"#58cb42"}})]}),(0,r.jsx)("div",{className:(0,t.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:l}),(0,r.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:i}),(0,r.jsx)("span",{className:i}),(0,r.jsx)("span",{className:i})]})})]}),(0,r.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:n})]})}},39468:function(e,n,s){s.d(n,{Z:()=>a});var r=s(85893),t=s(67294);function a(e){let{children:n="Boom!",message:s="Boom!\nSomething bad happened, but you can try again!",cause:a}=e,[i,l]=(0,t.useState)(!1);if(i)throw Error(s,{cause:a?Error(a):void 0});return(0,r.jsx)("button",{className:"button button--danger",type:"button",onClick:()=>l(!0),children:n})}},80980:function(e,n,s){s.d(n,{Z:()=>l,a:()=>i});var r=s(67294);let t={},a=r.createContext(t);function i(e){let n=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),r.createElement(a.Provider,{value:n},e.children)}},68707:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/2.4","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/2.4/index.mdx","source":"@site/blog/releases/2.4/index.mdx","title":"Docusaurus 2.4","description":"We are happy to announce Docusaurus 2.4.","date":"2023-03-23T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.05,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.4","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2023-03-23T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Upgrading frontend dependencies with confidence","permalink":"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing"},"nextItem":{"title":"Docusaurus 2.3","permalink":"/blog/releases/2.3"}}')}}]); \ No newline at end of file diff --git a/assets/js/0b899567.8817aa9d.js b/assets/js/0b899567.8817aa9d.js new file mode 100644 index 0000000000..237c842091 --- /dev/null +++ b/assets/js/0b899567.8817aa9d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["87618"],{53066:function(e,t,s){s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>u,frontMatter:()=>r,metadata:()=>o,toc:()=>h});var o=s(15693),n=s(85893),i=s(80980);let r={mdx:{format:"md"},date:"2022-05-05T20:00",authors:["Josh-Cena","lex111","pepopowitz","RDIL","sgromkov","slorber"]},l="2.0.0-beta.20",a={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0]},h=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"Committers: 6",id:"committers-6",level:2}];function c(e){let t={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/7342",children:"#7342"})," fix: avoid flash of page scrolling to top on refresh (",(0,n.jsx)(t.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/7329",children:"#7329"})," fix(core): inject docusaurus version into SSR as local (",(0,n.jsx)(t.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/7341",children:"#7341"})," fix(theme-classic): properly highlight code block line numbers (",(0,n.jsx)(t.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/7334",children:"#7334"})," feat(website): make canary release page display actual canary version name (",(0,n.jsx)(t.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/7343",children:"#7343"})," docs: add page for create-docusaurus API documentation (",(0,n.jsx)(t.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/7340",children:"#7340"})," docs: add Yandex Metrika plugin to community plugins (",(0,n.jsx)(t.a,{href:"https://github.com/sgromkov",children:"@sgromkov"}),")"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/7336",children:"#7336"})," fix(website): fix multiple accessibility issues around color contrast (",(0,n.jsx)(t.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/7327",children:"#7327"})," docs: add clarity to versioning behavior (",(0,n.jsx)(t.a,{href:"https://github.com/pepopowitz",children:"@pepopowitz"}),")"]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"committers-6",children:"Committers: 6"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Alexey Pyltsyn (",(0,n.jsx)(t.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,n.jsxs)(t.li,{children:["Joshua Chen (",(0,n.jsx)(t.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(t.li,{children:["Reece Dunham (",(0,n.jsx)(t.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n",(0,n.jsxs)(t.li,{children:["Sergey Gromkov (",(0,n.jsx)(t.a,{href:"https://github.com/sgromkov",children:"@sgromkov"}),")"]}),"\n",(0,n.jsxs)(t.li,{children:["Steven Hicks (",(0,n.jsx)(t.a,{href:"https://github.com/pepopowitz",children:"@pepopowitz"}),")"]}),"\n",(0,n.jsxs)(t.li,{children:["S\xe9bastien Lorber (",(0,n.jsx)(t.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},80980:function(e,t,s){s.d(t,{Z:()=>l,a:()=>r});var o=s(67294);let n={},i=o.createContext(n);function r(e){let t=o.useContext(i);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:t},e.children)}},15693:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.20","source":"@site/changelog/source/2.0.0-beta.20.md","title":"2.0.0-beta.20","description":"Bug Fix","date":"2022-05-05T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Steven Hicks","alias":"pepopowitz","url":"https://github.com/pepopowitz","imageURL":"https://github.com/pepopowitz.png","key":"pepopowitz","page":null},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},{"name":"Sergey Gromkov","alias":"sgromkov","url":"https://github.com/sgromkov","imageURL":"https://github.com/sgromkov.png","key":"sgromkov","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-05-05T20:00","authors":["Josh-Cena","lex111","pepopowitz","RDIL","sgromkov","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.21","permalink":"/changelog/2.0.0-beta.21"},"nextItem":{"title":"2.0.0-beta.19","permalink":"/changelog/2.0.0-beta.19"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/0bc851e0.7edbaa3b.js b/assets/js/0bc851e0.7edbaa3b.js new file mode 100644 index 0000000000..c51872b0e2 --- /dev/null +++ b/assets/js/0bc851e0.7edbaa3b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["55900"],{23141:function(e,s,t){t.d(s,{Z:()=>r});let r=t.p+"assets/images/social-card-8dc2413b4f9e86328bf77575e91171d7.png"},56594:function(e,s,t){t.d(s,{Z:()=>r});let r=t.p+"assets/images/social-card-8dc2413b4f9e86328bf77575e91171d7.png"},71694:function(e,s,t){t.r(s),t.d(s,{assets:()=>u,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var r=t(46689),a=t(85893),n=t(80980);let o={title:"Docusaurus 2.1",authors:["slorber"],tags:["release"],image:"./img/social-card.png"},i=void 0,u={image:t(23141).Z,authorsImageUrls:[void 0]},c=[];function l(e){let s={a:"a",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(s.p,{children:["We are happy to announce ",(0,a.jsx)(s.strong,{children:"Docusaurus 2.1"}),", our very first minor version release."]}),"\n",(0,a.jsxs)(s.p,{children:["The upgrade should be easy: as explained in our ",(0,a.jsx)(s.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,a.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"Docusaurus 2.1 social card",src:t(56594).Z+"",width:"1200",height:"600"})})]})}function p(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},80980:function(e,s,t){t.d(s,{Z:()=>i,a:()=>o});var r=t(67294);let a={},n=r.createContext(a);function o(e){let s=r.useContext(n);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),r.createElement(n.Provider,{value:s},e.children)}},46689:function(e){e.exports=JSON.parse('{"permalink":"/blog/2022/09/01/docusaurus-2.1","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2022/09-01-docusaurus-2.1/index.mdx","source":"@site/blog/2022/09-01-docusaurus-2.1/index.mdx","title":"Docusaurus 2.1","description":"We are happy to announce Docusaurus 2.1, our very first minor version release.","date":"2022-09-01T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":1.725,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.1","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2.2","permalink":"/blog/releases/2.2"},"nextItem":{"title":"Announcing Docusaurus 2.0","permalink":"/blog/2022/08/01/announcing-docusaurus-2.0"}}')}}]); \ No newline at end of file diff --git a/assets/js/0bd68774.89e27c7f.js b/assets/js/0bd68774.89e27c7f.js new file mode 100644 index 0000000000..bc30d04985 --- /dev/null +++ b/assets/js/0bd68774.89e27c7f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["12354"],{57467:function(l){l.exports=JSON.parse('{"tags":[{"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag","count":10},{"label":"Blog","permalink":"/tests/blog/tags/blog","count":4},{"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus","count":4},{"label":"Long-long","permalink":"/tests/blog/tags/long-long","count":3},{"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long","count":3},{"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long","count":3},{"label":"Long","permalink":"/tests/blog/tags/long","count":1},{"label":"Long-long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long-long","count":1}]}')}}]); \ No newline at end of file diff --git a/assets/js/0c7845dd.12623f2c.js b/assets/js/0c7845dd.12623f2c.js new file mode 100644 index 0000000000..77771d3dc8 --- /dev/null +++ b/assets/js/0c7845dd.12623f2c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["64840"],{86251:function(e,s,t){t.r(s),t.d(s,{frontMatter:()=>l,default:()=>x,contentTitle:()=>d,assets:()=>u,toc:()=>r,metadata:()=>n});var n=JSON.parse('{"id":"toc/toc-_-5","title":"toc-_-5","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-_-5.mdx","sourceDirName":"toc","slug":"/toc/toc-_-5","permalink":"/tests/docs/toc/toc-_-5","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_max_heading_level":5},"sidebar":"sidebar","previous":{"title":"toc-5-5","permalink":"/tests/docs/toc/toc-5-5"},"next":{"title":"toc-_-_","permalink":"/tests/docs/toc/toc-_-_"}}'),i=t(85893),c=t(80980),o=t(2630);let l={toc_max_heading_level:5},d=void 0,u={},r=[...o.d$];function h(e){return(0,i.jsx)(o.ZP,{})}function x(e={}){let{wrapper:s}={...(0,c.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}x.displayName="MDXContent(_dogfooding/_docs tests/toc/toc-_-5.mdx)"},2630:function(e,s,t){t.d(s,{ZP:()=>l,d$:()=>c});var n=t(85893),i=t(80980);let c=[{value:"section 1",id:"section-1",level:2},{value:"subsection 1-1",id:"subsection-1-1",level:3},{value:"subsection 1-1-1",id:"subsection-1-1-1",level:4},{value:"subsection 1-1-1-1",id:"subsection-1-1-1-1",level:5},{value:"subsection 1-1-1-1-1",id:"subsection-1-1-1-1-1",level:6},{value:"subsection 1-1-1-1-2",id:"subsection-1-1-1-1-2",level:6},{value:"subsection 1-1-1-2",id:"subsection-1-1-1-2",level:5},{value:"subsection 1-1-2",id:"subsection-1-1-2",level:4},{value:"subsection 1-2",id:"subsection-1-2",level:3},{value:"subsection 1-3",id:"subsection-1-3",level:3},{value:"section 2",id:"section-2",level:2},{value:"subsection 2-1",id:"subsection-2-1",level:3},{value:"subsection 2-1",id:"subsection-2-1-1",level:3},{value:"section 3",id:"section-3",level:2},{value:"subsection 3-1",id:"subsection-3-1",level:3},{value:"subsection 3-2",id:"subsection-3-2",level:3}];function o(e){let s={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"title",children:"title"})}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-1",children:"section 1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-1",children:"subsection 1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-1",children:"subsection 1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-1",children:"subsection 1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-1",children:"subsection 1-1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-2",children:"subsection 1-1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-2",children:"subsection 1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-2",children:"subsection 1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-2",children:"subsection 1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-3",children:"subsection 1-3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-2",children:"section 2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-3",children:"section 3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-1",children:"subsection 3-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-2",children:"subsection 3-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"})]})}function l(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},80980:function(e,s,t){t.d(s,{Z:()=>l,a:()=>o});var n=t(67294);let i={},c=n.createContext(i);function o(e){let s=n.useContext(c);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0dc9a976.70ed6b4d.js b/assets/js/0dc9a976.70ed6b4d.js new file mode 100644 index 0000000000..1ad7e09909 --- /dev/null +++ b/assets/js/0dc9a976.70ed6b4d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["63199"],{11154:function(t){t.exports=JSON.parse('{"tag":{"label":"Unlisted","permalink":"/tests/blog/tags/unlisted","allTagsPath":"/tests/blog/tags","count":1,"unlisted":true},"listMetadata":{"permalink":"/tests/blog/tags/unlisted","page":1,"postsPerPage":3,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.f2537d37.js b/assets/js/0e384e19.f2537d37.js deleted file mode 100644 index 147fd776c5..0000000000 --- a/assets/js/0e384e19.f2537d37.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[3976],{2863:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes.","source":"@site/docs/intro.md","sourceDirName":".","slug":"/intro","permalink":"/docs/intro","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/intro.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","next":{"title":"Tutorial - Basics","permalink":"/docs/category/tutorial---basics"}}');var r=n(4848),o=n(3023);const i={sidebar_position:1},a="Tutorial Intro",l={},d=[{value:"Getting Started",id:"getting-started",level:2},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Generate a new site",id:"generate-a-new-site",level:2},{value:"Start your site",id:"start-your-site",level:2}];function c(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"tutorial-intro",children:"Tutorial Intro"})}),"\n",(0,r.jsxs)(t.p,{children:["Let's discover ",(0,r.jsx)(t.strong,{children:"Docusaurus in less than 5 minutes"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,r.jsxs)(t.p,{children:["Get started by ",(0,r.jsx)(t.strong,{children:"creating a new site"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["Or ",(0,r.jsx)(t.strong,{children:"try Docusaurus immediately"})," with ",(0,r.jsx)(t.strong,{children:(0,r.jsx)(t.a,{href:"https://docusaurus.new",children:"docusaurus.new"})}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"what-youll-need",children:"What you'll need"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"https://nodejs.org/en/download/",children:"Node.js"})," version 18.0 or above:","\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"When installing Node.js, you are recommended to check all checkboxes related to dependencies."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"generate-a-new-site",children:"Generate a new site"}),"\n",(0,r.jsxs)(t.p,{children:["Generate a new Docusaurus site using the ",(0,r.jsx)(t.strong,{children:"classic template"}),"."]}),"\n",(0,r.jsx)(t.p,{children:"The classic template will automatically be added to your project after you run the command:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"npm init docusaurus@latest my-website classic\n"})}),"\n",(0,r.jsx)(t.p,{children:"You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor."}),"\n",(0,r.jsx)(t.p,{children:"The command also installs all necessary dependencies you need to run Docusaurus."}),"\n",(0,r.jsx)(t.h2,{id:"start-your-site",children:"Start your site"}),"\n",(0,r.jsx)(t.p,{children:"Run the development server:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"cd my-website\nnpm run start\n"})}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"cd"})," command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there."]}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"npm run start"})," command builds your website locally and serves it through a development server, ready for you to view at ",(0,r.jsx)(t.a,{href:"http://localhost:3000/",children:"http://localhost:3000/"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["Open ",(0,r.jsx)(t.code,{children:"docs/intro.md"})," (this page) and edit some lines: the site ",(0,r.jsx)(t.strong,{children:"reloads automatically"})," and displays your changes."]})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(6540);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0e4d8110.fe5cdaa4.js b/assets/js/0e4d8110.fe5cdaa4.js new file mode 100644 index 0000000000..47283f305c --- /dev/null +++ b/assets/js/0e4d8110.fe5cdaa4.js @@ -0,0 +1,22 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["6940"],{72188:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>d,default:()=>f,contentTitle:()=>u,assets:()=>h,toc:()=>p,metadata:()=>s});var s=JSON.parse('{"id":"api/plugins/plugin-sitemap","title":"\uD83D\uDCE6 plugin-sitemap","description":"This plugin creates sitemaps for your site so that search engine crawlers can crawl your site more accurately.","source":"@site/docs/api/plugins/plugin-sitemap.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-sitemap","permalink":"/docs/api/plugins/@docusaurus/plugin-sitemap","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-sitemap.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":10,"frontMatter":{"sidebar_position":10,"slug":"/api/plugins/@docusaurus/plugin-sitemap"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-pwa","permalink":"/docs/api/plugins/@docusaurus/plugin-pwa"},"next":{"title":"\uD83D\uDCE6 plugin-vercel-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-vercel-analytics"}}'),r=n(85893),i=n(80980),l=n(15398),a=n(58636),o=n(32240),c=n(66359);let d={sidebar_position:10,slug:"/api/plugins/@docusaurus/plugin-sitemap"},u="\uD83D\uDCE6 plugin-sitemap",h={},p=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Types",id:"types",level:3},{value:"<code>CreateSitemapItemsFn</code>",id:"CreateSitemapItemsFn",level:4},{value:"Example configuration",id:"ex-config",level:3}];function m(e){let t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"-plugin-sitemap",children:"\uD83D\uDCE6 plugin-sitemap"})}),"\n","\n",(0,r.jsx)(t.p,{children:"This plugin creates sitemaps for your site so that search engine crawlers can crawl your site more accurately."}),"\n",(0,r.jsx)(t.admonition,{title:"production only",type:"warning",children:(0,r.jsxs)(t.p,{children:["This plugin is always inactive in development and ",(0,r.jsx)(t.strong,{children:"only active in production"})," because it works on the build output."]})}),"\n",(0,r.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,r.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-sitemap\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-sitemap\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-sitemap\n"})})})]}),"\n",(0,r.jsxs)(t.admonition,{type:"tip",children:[(0,r.jsxs)(t.p,{children:["If you use the preset ",(0,r.jsx)(t.code,{children:"@docusaurus/preset-classic"}),", you don't need to install this plugin as a dependency."]}),(0,r.jsxs)(t.p,{children:["You can configure this plugin through the ",(0,r.jsx)(t.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),"."]})]}),"\n",(0,r.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,r.jsx)(t.p,{children:"Accepted fields:"}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Name"}),(0,r.jsx)(t.th,{children:"Type"}),(0,r.jsx)(t.th,{children:"Default"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"lastmod"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"'date' | 'datetime' | null"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"null"})}),(0,r.jsxs)(t.td,{children:[(0,r.jsx)(t.code,{children:"date"})," is YYYY-MM-DD. ",(0,r.jsx)(t.code,{children:"datetime"})," is a ISO 8601 datetime. ",(0,r.jsx)(t.code,{children:"null"})," is disabled. See ",(0,r.jsx)(t.a,{href:"https://www.sitemaps.org/protocol.html#xmlTagDefinitions",children:"sitemap docs"}),"."]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"changefreq"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"string | null"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"'weekly'"})}),(0,r.jsxs)(t.td,{children:["See ",(0,r.jsx)(t.a,{href:"https://www.sitemaps.org/protocol.html#xmlTagDefinitions",children:"sitemap docs"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"priority"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"number | null"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"0.5"})}),(0,r.jsxs)(t.td,{children:["See ",(0,r.jsx)(t.a,{href:"https://www.sitemaps.org/protocol.html#xmlTagDefinitions",children:"sitemap docs"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"ignorePatterns"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"string[]"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"[]"})}),(0,r.jsx)(t.td,{children:"A list of glob patterns; matching route paths will be filtered from the sitemap. Note that you may need to include the base URL in here."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"filename"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"sitemap.xml"})}),(0,r.jsx)(t.td,{children:"The path to the created sitemap file, relative to the output directory. Useful if you have two plugin instances outputting two files."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"createSitemapItems"})}),(0,r.jsx)(t.td,{children:(0,r.jsxs)("code",{children:[(0,r.jsx)(t.a,{href:"#CreateSitemapItemsFn",children:"CreateSitemapItemsFn"})," | undefined"]})}),(0,r.jsx)(t.td,{children:(0,r.jsx)(t.code,{children:"undefined"})}),(0,r.jsx)(t.td,{children:"An optional function which can be used to transform and / or filter the items in the sitemap."})]})]})]})}),"\n",(0,r.jsx)(t.h3,{id:"types",children:"Types"}),"\n",(0,r.jsx)(t.h4,{id:"CreateSitemapItemsFn",children:(0,r.jsx)(t.code,{children:"CreateSitemapItemsFn"})}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ts",children:"type CreateSitemapItemsFn = (params: {\n siteConfig: DocusaurusConfig;\n routes: RouteConfig[];\n defaultCreateSitemapItems: CreateSitemapItemsFn;\n}) => Promise<SitemapItem[]>;\n"})}),"\n",(0,r.jsxs)(t.admonition,{type:"info",children:[(0,r.jsx)(t.p,{children:"This plugin also respects some site config:"}),(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"/docs/api/docusaurus-config#noIndex",children:(0,r.jsx)(t.code,{children:"noIndex"})}),": results in no sitemap generated"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"/docs/api/docusaurus-config#trailingSlash",children:(0,r.jsx)(t.code,{children:"trailingSlash"})}),": determines if the URLs in the sitemap have trailing slashes"]}),"\n"]})]}),"\n",(0,r.jsxs)(t.admonition,{type:"note",children:[(0,r.jsxs)(t.mdxAdmonitionTitle,{children:["About ",(0,r.jsx)(t.code,{children:"lastmod"})]}),(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"lastmod"})," option will only output a sitemap ",(0,r.jsx)(t.code,{children:"<lastmod>"})," tag if plugins provide ",(0,r.jsx)(t.a,{href:"/docs/api/plugin-methods/lifecycle-apis#addRoute",children:"route metadata"})," attributes ",(0,r.jsx)(t.code,{children:"sourceFilePath"})," and/or ",(0,r.jsx)(t.code,{children:"lastUpdatedAt"}),"."]}),(0,r.jsxs)(t.p,{children:["All the official content plugins provide the metadata for routes backed by a content file (Markdown, MDX or React page components), but it is possible third-party plugin authors do not provide this information, and the plugin will not be able to output a ",(0,r.jsx)(t.code,{children:"<lastmod>"})," tag for their routes."]})]}),"\n",(0,r.jsx)(t.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,r.jsx)(t.p,{children:"You can configure this plugin through preset options or plugin options."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"Most Docusaurus users configure this plugin through the preset options."})}),"\n","\n",(0,r.jsx)(c.Z,{pluginName:"@docusaurus/plugin-sitemap",presetOptionName:"sitemap",code:"{\n lastmod: 'date',\n changefreq: 'weekly',\n priority: 0.5,\n ignorePatterns: ['/tags/**'],\n filename: 'sitemap.xml',\n createSitemapItems: async (params) => {\n const {defaultCreateSitemapItems, ...rest} = params;\n const items = await defaultCreateSitemapItems(rest);\n return items.filter((item) => !item.url.includes('/page/'));\n },\n}"}),"\n",(0,r.jsxs)(t.p,{children:["You can find your sitemap at ",(0,r.jsx)(t.code,{children:"/sitemap.xml"}),"."]})]})}function f(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(m,{...e})}):m(e)}},58636:function(e,t,n){n.d(t,{Z:()=>i});var s=n(85893);n(67294);var r=n(90496);function i(e){let{children:t,hidden:n,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,r.Z)("tabItem_pnkT",i),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>j});var s=n(85893),r=n(67294),i=n(90496),l=n(54947),a=n(3620),o=n(844),c=n(97486),d=n(32263),u=n(16971);function h(e){return r.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||r.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var m=n(71607);function f(e){let{className:t,block:n,selectedValue:r,selectValue:a,tabValues:o}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,l.o5)(),u=e=>{let t=e.currentTarget,n=o[c.indexOf(t)].value;n!==r&&(d(t),a(n))},h=e=>{let t=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{let n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1]}}t?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},t),children:o.map(e=>{let{value:t,label:n,attributes:l}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>{c.push(e)},onKeyDown:h,onClick:u,...l,className:(0,i.Z)("tabs__item","tabItem_AQgk",l?.className,{"tabs__item--active":r===t}),children:n??t},t)})})}function x(e){let{lazy:t,children:n,selectedValue:l}=e,a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=a.find(e=>e.props.value===l);return e?(0,r.cloneElement)(e,{className:(0,i.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:a.map((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==l}))})}function g(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:s}=e,i=function(e){let{values:t,children:n}=e;return(0,r.useMemo)(()=>{let e=t??h(n).map(e=>{let{props:{value:t,label:n,attributes:s,default:r}}=e;return{value:t,label:n,attributes:s,default:r}});return!function(e){let t=(0,d.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[l,m]=(0,r.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!p({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let s=n.find(e=>e.default)??n[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:t,tabValues:i})),[f,x]=function(e){let{queryString:t=!1,groupId:n}=e,s=(0,a.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(i),(0,r.useCallback)(e=>{if(!i)return;let t=new URLSearchParams(s.location.search);t.set(i,e),s.replace({...s.location,search:t.toString()})},[i,s])]}({queryString:n,groupId:s}),[g,j]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[s,i]=(0,u.Nk)(n);return[s,(0,r.useCallback)(e=>{n&&i.set(e)},[n,i])]}({groupId:s}),b=(()=>{let e=f??g;return p({value:e,tabValues:i})?e:null})();return(0,o.Z)(()=>{b&&m(b)},[b]),{selectedValue:l,selectValue:(0,r.useCallback)(e=>{if(!p({value:e,tabValues:i}))throw Error(`Can't select invalid tab value=${e}`);m(e),x(e),j(e)},[x,j,i]),tabValues:i}}(e);return(0,s.jsxs)("div",{className:(0,i.Z)("tabs-container","tabList_Qoir"),children:[(0,s.jsx)(f,{...t,...e}),(0,s.jsx)(x,{...t,...e})]})}function j(e){let t=(0,m.Z)();return(0,s.jsx)(g,{...e,children:h(e.children)},String(t))}},56497:function(e,t,n){n.d(t,{Z:()=>i});var s=n(85893);n(67294);var r=n(71607);function i(e){let{children:t,fallback:n}=e;return(0,r.Z)()?(0,s.jsx)(s.Fragment,{children:t?.()}):n??null}},32240:function(e,t,n){n.d(t,{Z:()=>o});var s=n(85893),r=n(67294),i=n(96700),l=n(3620);let a=r.forwardRef(function(e,t){let{name:n,children:a}=e,o=function(e){let t=e;for(;(0,r.isValidElement)(t);)[t]=r.Children.toArray(t.props.children);if("string"!=typeof t)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return t}(a),c=n?`${n}-${o}`:o,d=`#${c}`,u=(0,l.k6)();return(0,i.Z)().collectAnchor(c),(0,s.jsx)("tr",{id:c,tabIndex:0,ref:u.location.hash===d?t:void 0,onClick:e=>{let t="TD"===e.target.tagName.toUpperCase(),n=!!window.getSelection()?.toString();t&&!n&&u.push(d)},onKeyDown:e=>{"Enter"===e.key&&u.push(d)},children:a.props.children})});function o(e){let{children:t,name:n}=e;if("table"!==t.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[i,l]=r.Children.toArray(t.props.children),o=(0,r.useRef)(null);(0,r.useEffect)(()=>{o.current?.focus()},[o]);let c=r.Children.map(l.props.children,e=>(0,s.jsx)(a,{name:n,ref:o,children:e}));return(0,s.jsxs)("table",{className:"apiTable_e8hp",children:[i,(0,s.jsx)("tbody",{children:c})]})}},66359:function(e,t,n){n.d(t,{Z:()=>u});var s=n(85893);n(67294);var r=n(35363),i=n(90158),l=n(77827),a=n(15398),o=n(58636),c=n(95998);let d=void 0;function u(e){let{code:t,pluginName:n,presetOptionName:u}=e,h=(0,i.zu)(d).path;return(0,s.jsxs)(a.Z,{groupId:"api-config-ex",children:[(0,s.jsxs)(o.Z,{value:"preset",label:(0,l.I)({message:"Preset options"}),children:[(0,s.jsx)("p",{children:(0,s.jsx)(l.Z,{id:"apiDocs.configTabs.presetOptions.description",values:{presetLink:(0,s.jsx)(r.Z,{to:`${h}/using-plugins#docusauruspreset-classic`,children:(0,s.jsx)(l.Z,{children:"preset options"})})},children:"If you use a preset, configure this plugin through the {presetLink}:"})}),(0,s.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + presets: [ + [ + '@docusaurus/preset-classic', + { + // highlight-start + ${u}: ${t.replace(/\n/g,"\n ")}, + // highlight-end + }, + ], + ], +};`})]}),(0,s.jsxs)(o.Z,{value:"plugin",label:(0,l.I)({message:"Plugin options"}),children:[(0,s.jsx)("p",{children:(0,s.jsx)(l.Z,{children:"If you are using a standalone plugin, provide options directly to the plugin:"})}),(0,s.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + plugins: [ + [ + '${n}', + // highlight-start + ${t.replace(/\n/g,"\n ")}, + // highlight-end + ], + ], +};`})]})]})}},95998:function(e,t,n){n.d(t,{Z:()=>et});var s,r={};n.r(r),n.d(r,{ButtonExample:()=>B});var i=n(85893),l=n(67294),a=n(90496),o=n(71607),c=n(10075),d=n(77827),u=n(8156),h=n(56497),p=n(85108),m=n(45245),f=n(26378);function x(){let{prism:e}=(0,f.L)(),{colorMode:t}=(0,m.I)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var g=n(67490);function j(e){let{children:t}=e;return(0,i.jsx)("div",{className:(0,a.Z)("playgroundHeader_Tvsk"),children:t})}function b(){return(0,i.jsx)("div",{children:"Loading..."})}function v(){return(0,i.jsx)(h.Z,{fallback:(0,i.jsx)(b,{}),children:()=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(g.Z,{fallback:e=>(0,i.jsx)(p.Ac,{...e}),children:(0,i.jsx)(c.i5,{})}),(0,i.jsx)(c.IF,{})]})})}function y(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(j,{children:(0,i.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,i.jsx)("div",{className:"playgroundPreview_mApW",children:(0,i.jsx)(v,{})})]})}function k(){let e=(0,o.Z)();return(0,i.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function w(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(j,{children:(0,i.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,i.jsx)(k,{})]})}let C=e=>`${e};`;function N(e){let{children:t,transformCode:n,...s}=e,{siteConfig:{themeConfig:r}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:l}}=r,a=x(),o=s.metastring?.includes("noInline")??!1;return(0,i.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,i.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:o,transformCode:n??C,theme:a,...s,children:"top"===l?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(y,{}),(0,i.jsx)(w,{})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(w,{}),(0,i.jsx)(y,{})]})})})}function B(e){return(0,i.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let I={React:l,...l,...r};var T=n(55951),S=n(6324),Z=n.n(S);let E=/title=(?<quote>["'])(?<title>.*?)\1/,L=/\{(?<range>[\d,-]+)\}/,A={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},_={...A,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},$=Object.keys(A);function D(e,t){let n=e.map(e=>{let{start:n,end:s}=_[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function F(e){let{as:t,...n}=e,s=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[s,r]=e,i=t[s];i&&"string"==typeof r&&(n[i]=r)}),n}(x());return(0,i.jsx)(t,{...n,style:s,className:(0,a.Z)(n.className,"codeBlockContainer_jDV4",T.k.common.codeBlock)})}let O={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function M(e){let{children:t,className:n}=e;return(0,i.jsx)(F,{as:"pre",tabIndex:0,className:(0,a.Z)(O.codeBlockStandalone,"thin-scrollbar",n),children:(0,i.jsx)("code",{className:O.codeBlockLines,children:t})})}var R=n(50923);let P={attributes:!0,characterData:!0,childList:!0,subtree:!0};var V=n(7316);let W={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function q(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:r,getTokenProps:l}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let o=r({line:t,className:(0,a.Z)(n,s&&W.codeLine)}),c=t.map((e,t)=>(0,i.jsx)("span",{...l({token:e})},t));return(0,i.jsxs)("span",{...o,children:[s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:W.codeLineNumber}),(0,i.jsx)("span",{className:W.codeLineContent,children:c})]}):c,(0,i.jsx)("br",{})]})}var H=n(44771);function U(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function z(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let Y={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function G(e){let{code:t,className:n}=e,[s,r]=(0,l.useState)(!1),o=(0,l.useRef)(void 0),c=(0,l.useCallback)(()=>{(0,H.Z)(t),r(!0),o.current=window.setTimeout(()=>{r(!1)},1e3)},[t]);return(0,l.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,i.jsx)("button",{type:"button","aria-label":s?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.Z)("clean-btn",n,Y.copyButton,s&&Y.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:Y.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(U,{className:Y.copyButtonIcon}),(0,i.jsx)(z,{className:Y.copyButtonSuccessIcon})]})})}function Q(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let X={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function J(e){let{className:t,onClick:n,isEnabled:s}=e,r=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:n,className:(0,a.Z)("clean-btn",t,s&&X.wordWrapButtonEnabled),"aria-label":r,title:r,children:(0,i.jsx)(Q,{className:X.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:s="",metastring:r,title:c,showLineNumbers:d,language:u}=e,{prism:{defaultLanguage:h,magicComments:p}}=(0,f.L)(),m=(t=u??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(s)??h,t?.toLowerCase()),g=x(),j=function(){let[e,t]=(0,l.useState)(!1),[n,s]=(0,l.useState)(!1),r=(0,l.useRef)(null),i=(0,l.useCallback)(()=>{let n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[r,e]),a=(0,l.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=r.current;s(e>t||r.current.querySelector("code").hasAttribute("style"))},[r]);return!function(e,t){let[n,s]=(0,l.useState)(),r=(0,l.useCallback)(()=>{s(e.current?.closest("[role=tabpanel][hidden]"))},[e,s]);(0,l.useEffect)(()=>{r()},[r]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:P,s=(0,R.zX)(t),r=(0,R.Ql)(n);(0,l.useEffect)(()=>{let t=new MutationObserver(s);return e&&t.observe(e,r),()=>t.disconnect()},[e,s,r])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(r,a),(0,l.useEffect)(()=>{a()},[e,a]),(0,l.useEffect)(()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)}),[a]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:i}}(),b=(0,o.Z)(),v=(r?.match(E)?.groups.title??"")||c,{lineClassNames:y,code:k}=function(e,t){let n=e.replace(/\n$/,""),{language:s,magicComments:r,metastring:i}=t;if(i&&L.test(i)){let e=i.match(L).groups.range;if(0===r.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${i}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=r[0].className;return{lineClassNames:Object.fromEntries(Z()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===s)return{lineClassNames:{},code:n};let l=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return D(["js","jsBlock"],t);case"jsx":case"tsx":return D(["js","jsBlock","jsx"],t);case"html":return D(["js","jsBlock","html"],t);case"python":case"py":case"bash":return D(["bash"],t);case"markdown":case"md":return D(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return D(["tex"],t);case"lua":case"haskell":return D(["lua"],t);case"sql":return D(["lua","jsBlock"],t);case"wasm":return D(["wasm"],t);case"vb":case"vba":case"visual-basic":return D(["vb","rem"],t);case"vbnet":return D(["vbnet","rem"],t);case"batch":return D(["rem"],t);case"basic":return D(["rem","f90"],t);case"fsharp":return D(["js","ml"],t);case"ocaml":case"sml":return D(["ml"],t);case"fortran":return D(["f90"],t);case"cobol":return D(["cobol"],t);default:return D($,t)}}(s,r),a=n.split("\n"),o=Object.fromEntries(r.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(r.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),d=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),u=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<a.length;){let t=a[e].match(l);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?o[c[n]].range+=`${e},`:d[n]?o[d[n]].start=e:u[n]&&(o[u[n]].range+=`${o[u[n]].start}-${e-1},`),a.splice(e,1)}n=a.join("\n");let h={};return Object.entries(o).forEach(e=>{let[t,{range:n}]=e;Z()(n).forEach(e=>{h[e]??=[],h[e].push(t)})}),{lineClassNames:h,code:n}}(n,{metastring:r,language:m,magicComments:p}),w=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:d,metastring:r});return(0,i.jsxs)(F,{as:"div",className:(0,a.Z)(s,m&&!s.includes(`language-${m}`)&&`language-${m}`),children:[v&&(0,i.jsx)("div",{className:O.codeBlockTitle,children:v}),(0,i.jsxs)("div",{className:O.codeBlockContent,children:[(0,i.jsx)(V.y$,{theme:g,code:k,language:m??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:r,getTokenProps:l}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,a.Z)(t,O.codeBlock,"thin-scrollbar"),style:n,children:(0,i.jsx)("code",{className:(0,a.Z)(O.codeBlockLines,void 0!==w&&O.codeBlockLinesWithNumbering),style:void 0===w?void 0:{counterReset:`line-count ${w-1}`},children:s.map((e,t)=>(0,i.jsx)(q,{line:e,getLineProps:r,getTokenProps:l,classNames:y[t],showLineNumbers:void 0!==w},t))})})}}),b?(0,i.jsxs)("div",{className:O.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,i.jsx)(J,{className:O.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,i.jsx)(G,{className:O.codeButton,code:k})]}):null]})]})}let ee=(s=function(e){let{children:t,...n}=e,s=(0,o.Z)(),r=l.Children.toArray(t).some(e=>(0,l.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,i.jsx)("string"==typeof r?K:M,{...n,children:r},String(s))},function(e){return e.live?(0,i.jsx)(N,{scope:I,...e}):(0,i.jsx)(s,{...e})});function et(e){return(0,i.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/0e9c6edc.a3b0bf57.js b/assets/js/0e9c6edc.a3b0bf57.js new file mode 100644 index 0000000000..f1222428d8 --- /dev/null +++ b/assets/js/0e9c6edc.a3b0bf57.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["59587"],{23141:function(e,n,s){s.d(n,{Z:()=>t});let t=s.p+"assets/images/social-card-8dc2413b4f9e86328bf77575e91171d7.png"},6789:function(e,n,s){s.d(n,{Z:()=>t});let t=s.p+"assets/images/doc-card-list-e52d727eadceb3d21cfc0f851f09aa93.png"},56594:function(e,n,s){s.d(n,{Z:()=>t});let t=s.p+"assets/images/social-card-8dc2413b4f9e86328bf77575e91171d7.png"},30959:function(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>l});var t=s(46689),i=s(85893),o=s(80980);let r={title:"Docusaurus 2.1",authors:["slorber"],tags:["release"],image:"./img/social-card.png"},a=void 0,c={image:s(23141).Z,authorsImageUrls:[void 0]},l=[{value:"Highlights",id:"highlights",level:2},{value:"DocCardList improvements",id:"doccardlist-improvements",level:3},{value:"<code>noindex</code> improvements",id:"noindex-improvements",level:3},{value:"Overriding default meta tags",id:"overriding-default-meta-tags",level:3},{value:"Ukrainian translations",id:"ukrainian-translations",level:3},{value:"Other changes",id:"other-changes",level:2}];function d(e){let n={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["We are happy to announce ",(0,i.jsx)(n.strong,{children:"Docusaurus 2.1"}),", our very first minor version release."]}),"\n",(0,i.jsxs)(n.p,{children:["The upgrade should be easy: as explained in our ",(0,i.jsx)(n.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,i.jsx)(n.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Docusaurus 2.1 social card",src:s(56594).Z+"",width:"1200",height:"600"})}),"\n",(0,i.jsx)(n.h2,{id:"highlights",children:"Highlights"}),"\n",(0,i.jsx)(n.h3,{id:"doccardlist-improvements",children:"DocCardList improvements"}),"\n",(0,i.jsxs)(n.p,{children:["In ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8008",children:"#8008"}),", we simplified the usage of the",(0,i.jsx)(n.code,{children:"<DocCardList>"})," component, that is notably used on sidebar category generated index pages."]}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"items"})," prop is now optional, and will be automatically inferred from the content of the parent sidebar category:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-diff",children:"import DocCardList from '@theme/DocCardList';\n- import {useCurrentSidebarCategory} from '@docusaurus/theme-common';\n\n- <DocCardList items={useCurrentSidebarCategory().items}/>\n+ <DocCardList/>\n"})}),"\n",(0,i.jsx)(n.p,{children:"Also, we made it possible to use it on any document, including regular docs not linked to any sidebar category."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"simplified DocCardList component",src:s(6789).Z+"",width:"1062",height:"489"})}),"\n",(0,i.jsxs)(n.h3,{id:"noindex-improvements",children:[(0,i.jsx)(n.code,{children:"noindex"})," improvements"]}),"\n",(0,i.jsxs)(n.p,{children:["We improved the support of the ",(0,i.jsxs)(n.a,{href:"https://developers.google.com/search/docs/advanced/crawling/block-indexing",children:[(0,i.jsx)(n.code,{children:"noindex"})," meta ",(0,i.jsx)(n.code,{children:"robots"})," directive"]}),", a way to signal search engines you don't want a specific page to be indexed."]}),"\n",(0,i.jsxs)(n.p,{children:["In ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/7963",children:"#7963"}),", we allow ",(0,i.jsx)(n.code,{children:"noindex"})," to be configured on a per-docs-version basis."]}),"\n",(0,i.jsxs)(n.p,{children:["Use the following plugin options to tell crawlers you don't want the ",(0,i.jsx)(n.code,{children:"1.0.0"})," version to be indexed:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"const options = {\n versions: {\n '1.0.0': {\n noIndex: true,\n },\n },\n};\n"})}),"\n",(0,i.jsx)(n.p,{children:"In practice, Docusaurus will add the following meta to each page of that version:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-html",children:'<meta name="robots" content="noindex, nofollow" />\n'})}),"\n",(0,i.jsxs)(n.p,{children:["In ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/7964",children:"#7964"}),", we also fixed a bug where the sitemap plugin would still contain pages that have a ",(0,i.jsx)(n.code,{children:"noindex"})," directive. Now the sitemap plugin will reliably filter out all the pages containing ",(0,i.jsx)(n.code,{children:"noindex"})," directives."]}),"\n",(0,i.jsx)(n.h3,{id:"overriding-default-meta-tags",children:"Overriding default meta tags"}),"\n",(0,i.jsxs)(n.p,{children:["In ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/7952",children:"#7952"}),", it becomes possible to override default html meta tags you couldn't before:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'<>\n {siteConfig.noIndex && <meta name="robots" content="nofollow, noindex" />}\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n</>\n'})}),"\n",(0,i.jsxs)(n.p,{children:["It is now possible to use ",(0,i.jsx)(n.code,{children:"<Head>"})," or ",(0,i.jsx)(n.code,{children:"themeConfig.metadata"}),":"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["to override the ",(0,i.jsx)(n.code,{children:"viewport"})," meta"]}),"\n",(0,i.jsxs)(n.li,{children:["to override the ",(0,i.jsx)(n.code,{children:"robots"})," meta: you could mark your site as ",(0,i.jsx)(n.code,{children:"noIndex"}),", but except for specific pages that should be indexed"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"ukrainian-translations",children:"Ukrainian translations"}),"\n",(0,i.jsxs)(n.p,{children:["In ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/7953",children:"#7953"}),", we added default classic theme translations for the Ukrainian language."]}),"\n",(0,i.jsx)(n.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,i.jsxs)(n.p,{children:["Check the ",(0,i.jsx)(n.a,{href:"/changelog/2.1.0",children:"2.1.0 changelog entry"})," for an exhaustive list of changes."]})]})}function h(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},80980:function(e,n,s){s.d(n,{Z:()=>a,a:()=>r});var t=s(67294);let i={},o=t.createContext(i);function r(e){let n=t.useContext(o);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}},46689:function(e){e.exports=JSON.parse('{"permalink":"/blog/2022/09/01/docusaurus-2.1","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2022/09-01-docusaurus-2.1/index.mdx","source":"@site/blog/2022/09-01-docusaurus-2.1/index.mdx","title":"Docusaurus 2.1","description":"We are happy to announce Docusaurus 2.1, our very first minor version release.","date":"2022-09-01T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":1.725,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.1","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2.2","permalink":"/blog/releases/2.2"},"nextItem":{"title":"Announcing Docusaurus 2.0","permalink":"/blog/2022/08/01/announcing-docusaurus-2.0"}}')}}]); \ No newline at end of file diff --git a/assets/js/0ec69376.884fc8cd.js b/assets/js/0ec69376.884fc8cd.js new file mode 100644 index 0000000000..add71df5df --- /dev/null +++ b/assets/js/0ec69376.884fc8cd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["60263"],{9676:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-7b2ed059f27fc8b64f3f20025ebb382f.png"},24506:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-7b2ed059f27fc8b64f3f20025ebb382f.png"},72345:function(e,t,s){s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var a=s(23970),r=s(85893),n=s(80980);let o={title:"Docusaurus 3.5",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-08-09T00:00:00.000Z")},i=void 0,c={image:s(9676).Z,authorsImageUrls:[void 0]},l=[];function u(e){let t={a:"a",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["We are happy to announce ",(0,r.jsx)(t.strong,{children:"Docusaurus 3.5"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["This release contains many ",(0,r.jsx)(t.strong,{children:"new exciting blog features"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["Upgrading should be easy. Our ",(0,r.jsx)(t.a,{href:"/community/release-process",children:"release process"})," respects ",(0,r.jsx)(t.a,{href:"https://semver.org/",children:"Semantic Versioning"}),". Minor versions do not include any breaking changes."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Docusaurus blog post social card",src:s(24506).Z+"",width:"1200",height:"600"})})]})}function p(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>o});var a=s(67294);let r={},n=a.createContext(r);function o(e){let t=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(n.Provider,{value:t},e.children)}},23970:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.5","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.5/index.mdx","source":"@site/blog/releases/3.5/index.mdx","title":"Docusaurus 3.5","description":"We are happy to announce Docusaurus 3.5.","date":"2024-08-09T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.91,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.5","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-08-09T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.6","permalink":"/blog/releases/3.6"},"nextItem":{"title":"Docusaurus 3.4","permalink":"/blog/releases/3.4"}}')}}]); \ No newline at end of file diff --git a/assets/js/0f148a51.5ffed445.js b/assets/js/0f148a51.5ffed445.js new file mode 100644 index 0000000000..cc6bfc2cc0 --- /dev/null +++ b/assets/js/0f148a51.5ffed445.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["72262"],{14400:function(e,s,n){n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>t,default:()=>u,frontMatter:()=>h,metadata:()=>a,toc:()=>o});var a=n(91571),i=n(85893),r=n(80980);let h={mdx:{format:"md"},date:"2022-10-29T20:00",authors:["adnanhashmi09","birjj","e-im","forgeRW","forresst","homotechsual","jeferson-sb","johnnyreilly","Josh-Cena","JPeer264","lex111","LittleboyHarry","mturoci","namnguyenthanhwork","pasora","Pranav2612000","ramazansancar","sanjaiyan-dev","shanpriyan","sjwall","slorber","Xabilahu"]},t="2.2.0",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"Committers: 22",id:"committers-22",level:2}];function c(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8227",children:"#8227"})," feat(plugin-client-redirects): keep the query string + hash (",(0,i.jsx)(s.a,{href:"https://github.com/Xabilahu",children:"@Xabilahu"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8210",children:"#8210"})," feat(core): add --config param to swizzle command (",(0,i.jsx)(s.a,{href:"https://github.com/e-im",children:"@e-im"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-mermaid"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7490",children:"#7490"})," feat: support mermaid code blocks in Markdown (",(0,i.jsx)(s.a,{href:"https://github.com/sjwall",children:"@sjwall"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8151",children:"#8151"})," feat(core): siteConfig.headTags API to render extra tags in document head (",(0,i.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8250",children:"#8250"})," fix(ideal-image): do not pass down ",(0,i.jsx)(s.code,{children:"img"})," prop (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8246",children:"#8246"})," fix(mdx-loader): properly unwrap mdxAdmonitionTitle placeholder (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8234",children:"#8234"})," fix(plugin-content-docs): fix error message context (error cause) when doc processing fails (",(0,i.jsx)(s.a,{href:"https://github.com/shanpriyan",children:"@shanpriyan"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8207",children:"#8207"})," fix(theme-classic): hamburger menu control navigation by keyboard (",(0,i.jsx)(s.a,{href:"https://github.com/jeferson-sb",children:"@jeferson-sb"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8204",children:"#8204"})," fix(theme-classic): fix SkipToContent without JS , refactor, make it public theming API (",(0,i.jsx)(s.a,{href:"https://github.com/mturoci",children:"@mturoci"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8059",children:"#8059"})," fix(theme): preserve url ?search#hash on navbar version/locale dropdowns navigations (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8192",children:"#8192"})," fix(core): throw error for invalid URL in config file (",(0,i.jsx)(s.a,{href:"https://github.com/forgeRW",children:"@forgeRW"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8174",children:"#8174"})," fix(theme): announce theme switches (",(0,i.jsx)(s.a,{href:"https://github.com/mturoci",children:"@mturoci"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8190",children:"#8190"})," fix(theme): add more tag names to inline code element set (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8163",children:"#8163"})," fix(theme): mobile navbar & skipToContent should cover announcementBar (",(0,i.jsx)(s.a,{href:"https://github.com/adnanhashmi09",children:"@adnanhashmi09"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8068",children:"#8068"})," fix(theme): preserve line breaks when copying code with showLineNumbers in Firefox (",(0,i.jsx)(s.a,{href:"https://github.com/LittleboyHarry",children:"@LittleboyHarry"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8137",children:"#8137"})," fix(utils): remove non-ASCII limitation for path normalization (",(0,i.jsx)(s.a,{href:"https://github.com/birjj",children:"@birjj"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8158",children:"#8158"})," fix(content-blog): make RSS feed generation work with slugs with .html extension (",(0,i.jsx)(s.a,{href:"https://github.com/Pranav2612000",children:"@Pranav2612000"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8105",children:"#8105"})," fix(theme-translations): complete turkish theme default translations (",(0,i.jsx)(s.a,{href:"https://github.com/ramazansancar",children:"@ramazansancar"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8087",children:"#8087"})," fix(theme-translations): remove extra vi translations (",(0,i.jsx)(s.a,{href:"https://github.com/namnguyenthanhwork",children:"@namnguyenthanhwork"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8067",children:"#8067"})," fix(redirect): tolerate trailing slash difference if config is undefined (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8253",children:"#8253"})," chore(theme-translations): complete ru translations (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8243",children:"#8243"})," chore(theme-translations): complete French translations (",(0,i.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8075",children:"#8075"})," fix(theme-translation): complete Japanese theme default translation (",(0,i.jsx)(s.a,{href:"https://github.com/pasora",children:"@pasora"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8159",children:"#8159"})," fix(core): throw error for invalid URL in config file (",(0,i.jsx)(s.a,{href:"https://github.com/forgeRW",children:"@forgeRW"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8109",children:"#8109"})," feat(core): prefetch on mobile touchstart (",(0,i.jsx)(s.a,{href:"https://github.com/sanjaiyan-dev",children:"@sanjaiyan-dev"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8161",children:"#8161"})," fix(theme): do not show tab content when tabbing over it; show after selection only (",(0,i.jsx)(s.a,{href:"https://github.com/mturoci",children:"@mturoci"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8062",children:"#8062"})," refactor(theme): remove hard-coded tag border-radius (",(0,i.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8066",children:"#8066"})," fix(core): normalize slashes for url/baseUrl instead of throwing (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"committers-22",children:"Committers: 22"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Adnan Hashmi (",(0,i.jsx)(s.a,{href:"https://github.com/adnanhashmi09",children:"@adnanhashmi09"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Forresst (",(0,i.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Jan Peer St\xf6cklmair (",(0,i.jsx)(s.a,{href:"https://github.com/JPeer264",children:"@JPeer264"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Jeferson S. Brito (",(0,i.jsx)(s.a,{href:"https://github.com/jeferson-sb",children:"@jeferson-sb"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Johan Fagerberg (",(0,i.jsx)(s.a,{href:"https://github.com/birjj",children:"@birjj"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["John Reilly (",(0,i.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joshua Chen (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["LittleboyHarry (",(0,i.jsx)(s.a,{href:"https://github.com/LittleboyHarry",children:"@LittleboyHarry"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Masahiko Hara (",(0,i.jsx)(s.a,{href:"https://github.com/pasora",children:"@pasora"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Mikey O'Toole (",(0,i.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Nguy\u1EC5n Th\xe0nh Nam (",(0,i.jsx)(s.a,{href:"https://github.com/namnguyenthanhwork",children:"@namnguyenthanhwork"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Pranav Joglekar (",(0,i.jsx)(s.a,{href:"https://github.com/Pranav2612000",children:"@Pranav2612000"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ramazan SANCAR (",(0,i.jsx)(s.a,{href:"https://github.com/ramazansancar",children:"@ramazansancar"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Sam Wall (",(0,i.jsx)(s.a,{href:"https://github.com/sjwall",children:"@sjwall"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Sanjaiyan Parthipan (",(0,i.jsx)(s.a,{href:"https://github.com/sanjaiyan-dev",children:"@sanjaiyan-dev"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Shanmughapriyan S (",(0,i.jsx)(s.a,{href:"https://github.com/shanpriyan",children:"@shanpriyan"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Xabier Lahuerta Vazquez (",(0,i.jsx)(s.a,{href:"https://github.com/Xabilahu",children:"@Xabilahu"}),")"]}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/forgeRW",children:"@forgeRW"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/mturoci",children:"@mturoci"})}),"\n",(0,i.jsxs)(s.li,{children:["evan (",(0,i.jsx)(s.a,{href:"https://github.com/e-im",children:"@e-im"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},80980:function(e,s,n){n.d(s,{Z:()=>t,a:()=>h});var a=n(67294);let i={},r=a.createContext(i);function h(e){let s=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:h(e.components),a.createElement(r.Provider,{value:s},e.children)}},91571:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.2.0","source":"@site/changelog/source/2.2.0.md","title":"2.2.0","description":"New Feature","date":"2022-10-29T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Adnan Hashmi","alias":"adnanhashmi09","url":"https://github.com/adnanhashmi09","imageURL":"https://github.com/adnanhashmi09.png","key":"adnanhashmi09","page":null},{"name":"Johan Fagerberg","alias":"birjj","url":"https://github.com/birjj","imageURL":"https://github.com/birjj.png","key":"birjj","page":null},{"name":"evan","alias":"e-im","url":"https://github.com/e-im","imageURL":"https://github.com/e-im.png","key":"e-im","page":null},{"name":"forgeRW","alias":"forgeRW","url":"https://github.com/forgeRW","imageURL":"https://github.com/forgeRW.png","key":"forgeRW","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Jeferson S. Brito","alias":"jeferson-sb","url":"https://github.com/jeferson-sb","imageURL":"https://github.com/jeferson-sb.png","key":"jeferson-sb","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jan Peer St\xf6cklmair","alias":"JPeer264","url":"https://github.com/JPeer264","imageURL":"https://github.com/JPeer264.png","key":"JPeer264","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"LittleboyHarry","alias":"LittleboyHarry","url":"https://github.com/LittleboyHarry","imageURL":"https://github.com/LittleboyHarry.png","key":"LittleboyHarry","page":null},{"name":"mturoci","alias":"mturoci","url":"https://github.com/mturoci","imageURL":"https://github.com/mturoci.png","key":"mturoci","page":null},{"name":"Nguy\u1EC5n Th\xe0nh Nam","alias":"namnguyenthanhwork","url":"https://github.com/namnguyenthanhwork","imageURL":"https://github.com/namnguyenthanhwork.png","key":"namnguyenthanhwork","page":null},{"name":"Masahiko Hara","alias":"pasora","url":"https://github.com/pasora","imageURL":"https://github.com/pasora.png","key":"pasora","page":null},{"name":"Pranav Joglekar","alias":"Pranav2612000","url":"https://github.com/Pranav2612000","imageURL":"https://github.com/Pranav2612000.png","key":"Pranav2612000","page":null},{"name":"Ramazan SANCAR","alias":"ramazansancar","url":"https://github.com/ramazansancar","imageURL":"https://github.com/ramazansancar.png","key":"ramazansancar","page":null},{"name":"Sanjaiyan Parthipan","alias":"sanjaiyan-dev","url":"https://github.com/sanjaiyan-dev","imageURL":"https://github.com/sanjaiyan-dev.png","key":"sanjaiyan-dev","page":null},{"name":"Shanmughapriyan S","alias":"shanpriyan","url":"https://github.com/shanpriyan","imageURL":"https://github.com/shanpriyan.png","key":"shanpriyan","page":null},{"name":"Sam Wall","alias":"sjwall","url":"https://github.com/sjwall","imageURL":"https://github.com/sjwall.png","key":"sjwall","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Xabier Lahuerta Vazquez","alias":"Xabilahu","url":"https://github.com/Xabilahu","imageURL":"https://github.com/Xabilahu.png","key":"Xabilahu","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-10-29T20:00","authors":["adnanhashmi09","birjj","e-im","forgeRW","forresst","homotechsual","jeferson-sb","johnnyreilly","Josh-Cena","JPeer264","lex111","LittleboyHarry","mturoci","namnguyenthanhwork","pasora","Pranav2612000","ramazansancar","sanjaiyan-dev","shanpriyan","sjwall","slorber","Xabilahu"]},"unlisted":false,"prevItem":{"title":"2.3.0","permalink":"/changelog/2.3.0"},"nextItem":{"title":"2.1.0","permalink":"/changelog/2.1.0"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/0fbf443b.cd2838e6.js b/assets/js/0fbf443b.cd2838e6.js new file mode 100644 index 0000000000..27691a7408 --- /dev/null +++ b/assets/js/0fbf443b.cd2838e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["98637"],{29886:function(e,s,i){i.r(s),i.d(s,{assets:()=>a,contentTitle:()=>h,default:()=>t,frontMatter:()=>o,metadata:()=>n,toc:()=>r});var n=i(64208),c=i(85893),l=i(80980);let o={mdx:{format:"md"},date:"2022-05-27T20:00",authors:["BenDz","charleskorn","datlechin","Designatory","forresst","Gary50613","ggicci","Josh-Cena","JPeer264","jrmyw92","junjieweb","lanegoolsby","massoudmaboudi","matkoch","Messiahhh","mhughes2k","nitya","oluwatobiss","ori-shalom","pranabdas","RuiAAPeres","slorber","Zamiell"]},h="2.0.0-beta.21",a={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},r=[{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83D\uDD27 Maintenance",id:"wrench-maintenance",level:2},{value:"Committers: 23",id:"committers-23",level:2}];function u(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,l.a)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(s.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7422",children:"#7422"})," refactor(pwa): remove reloadPopup option in favor of swizzling (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,c.jsx)(s.code,{children:"docusaurus"}),", ",(0,c.jsx)(s.code,{children:"eslint-plugin"}),", ",(0,c.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7501",children:"#7501"})," chore: require Node 16.14 (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7469",children:"#7469"})," feat(sitemap): allow customizing the output name (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7371",children:"#7371"})," feat(core): support docusaurus.config.cjs as default file name (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7500",children:"#7500"})," feat: make docusaurus serve automatically open in browser (",(0,c.jsx)(s.a,{href:"https://github.com/Zamiell",children:"@Zamiell"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7452",children:"#7452"})," feat: add --no-minify flag to docusaurus start (",(0,c.jsx)(s.a,{href:"https://github.com/lanegoolsby",children:"@lanegoolsby"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7357",children:"#7357"}),' feat(theme-classic): allow className as option for type: "search" (',(0,c.jsx)(s.a,{href:"https://github.com/JPeer264",children:"@JPeer264"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7362",children:"#7362"})," fix: always emit SEO title + og:title meta (",(0,c.jsx)(s.a,{href:"https://github.com/charleskorn",children:"@charleskorn"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7453",children:"#7453"})," fix(core): avoid using logger and fs.readJSON in SSR (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7369",children:"#7369"})," fix(cli): output correct path when swizzling bare-file component in subfolder (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7360",children:"#7360"})," fix(core): allow githubPort in config validation (",(0,c.jsx)(s.a,{href:"https://github.com/mhughes2k",children:"@mhughes2k"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7424",children:"#7424"})," fix(gtag): send the newly rendered page's title instead of the old one's (",(0,c.jsx)(s.a,{href:"https://github.com/ori-shalom",children:"@ori-shalom"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7507",children:"#7507"})," fix(create-docusaurus): potential security issue with command injection (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7492",children:"#7492"})," fix(core): always treat error boundary fallback as a callback (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7438",children:"#7438"})," fix(theme-classic): allow nested task lists to preserve the indent (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7430",children:"#7430"})," fix(theme-classic): consistently apply the right active class name for all navbar items (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7411",children:"#7411"})," fix(theme-classic): autocollapse sidebar categories when navigating with paginator (",(0,c.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7363",children:"#7363"})," fix(theme-classic): resolve customCss from site dir (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7464",children:"#7464"})," fix(utils): fix Markdown link replacement when link text is same as href (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7458",children:"#7458"})," fix(utils): avoid replacing Markdown links missing the directly next link (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-mdx-loader"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7392",children:"#7392"})," fix(mdx-loader): use React.Fragment as fragment factory (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7385",children:"#7385"})," fix(content-docs): restore functionality when a category only has index page (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7493",children:"#7493"})," chore(theme-translations): complete French translations (",(0,c.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7474",children:"#7474"})," chore(theme-translations): complete zh translations (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7400",children:"#7400"})," chore(theme-translations): complete Farsi translations (",(0,c.jsx)(s.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7499",children:"#7499"})," fix: avoid printing period after localhost URL (",(0,c.jsx)(s.a,{href:"https://github.com/Zamiell",children:"@Zamiell"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7374",children:"#7374"})," refactor(create): clean up logic when prompting for unspecified arguments (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7503",children:"#7503"})," docs: document MDXComponents scope (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7497",children:"#7497"})," docs: link every reference of types in API table to the type definition (",(0,c.jsx)(s.a,{href:"https://github.com/Zamiell",children:"@Zamiell"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7407",children:"#7407"})," docs: add Azure SWA as deployment option (",(0,c.jsx)(s.a,{href:"https://github.com/nitya",children:"@nitya"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7390",children:"#7390"})," fix(website): use react-lite-youtube-embed for lazy YouTube video (",(0,c.jsx)(s.a,{href:"https://github.com/matkoch",children:"@matkoch"}),")"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"wrench-maintenance",children:"\uD83D\uDD27 Maintenance"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,c.jsx)(s.code,{children:"docusaurus"}),", ",(0,c.jsx)(s.code,{children:"lqip-loader"}),", ",(0,c.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7477",children:"#7477"})," refactor: fix a lot of errors in type-aware linting (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7447",children:"#7447"})," refactor(theme-classic): migrate to tsc for build (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7441",children:"#7441"})," refactor(stylelint-copyright): migrate to TS (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7440",children:"#7440"})," refactor(cssnano-preset): migrate to TS (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,c.jsx)(s.code,{children:"docusaurus"}),", ",(0,c.jsx)(s.code,{children:"eslint-plugin"}),", ",(0,c.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7437",children:"#7437"})," refactor: use TS project references instead of running tsc multiple times (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7421",children:"#7421"})," refactor(pwa): migrate client modules to TS (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7415",children:"#7415"})," refactor(theme-classic): always collocate stylesheets with components in one folder (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7405",children:"#7405"})," refactor(core): properly code-split NotFound page (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"committers-23",children:"Committers: 23"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:["Akara (",(0,c.jsx)(s.a,{href:"https://github.com/Messiahhh",children:"@Messiahhh"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Benjamin Diolez (",(0,c.jsx)(s.a,{href:"https://github.com/BenDz",children:"@BenDz"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Charles Korn (",(0,c.jsx)(s.a,{href:"https://github.com/charleskorn",children:"@charleskorn"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Designatory (",(0,c.jsx)(s.a,{href:"https://github.com/Designatory",children:"@Designatory"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Forresst (",(0,c.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Ggicci (",(0,c.jsx)(s.a,{href:"https://github.com/ggicci",children:"@ggicci"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["James (",(0,c.jsx)(s.a,{href:"https://github.com/Zamiell",children:"@Zamiell"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Jan Peer St\xf6cklmair (",(0,c.jsx)(s.a,{href:"https://github.com/JPeer264",children:"@JPeer264"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Jeremy (",(0,c.jsx)(s.a,{href:"https://github.com/jrmyw92",children:"@jrmyw92"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Joshua Chen (",(0,c.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Junjie (",(0,c.jsx)(s.a,{href:"https://github.com/junjieweb",children:"@junjieweb"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Lane Goolsby (",(0,c.jsx)(s.a,{href:"https://github.com/lanegoolsby",children:"@lanegoolsby"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Massoud Maboudi (",(0,c.jsx)(s.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Matthias Koch (",(0,c.jsx)(s.a,{href:"https://github.com/matkoch",children:"@matkoch"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Michael Hughes (",(0,c.jsx)(s.a,{href:"https://github.com/mhughes2k",children:"@mhughes2k"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Ng\xf4 Qu\u1ED1c \u0110\u1EA1t (",(0,c.jsx)(s.a,{href:"https://github.com/datlechin",children:"@datlechin"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Nitya Narasimhan (",(0,c.jsx)(s.a,{href:"https://github.com/nitya",children:"@nitya"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Oluwatobi Sofela (",(0,c.jsx)(s.a,{href:"https://github.com/oluwatobiss",children:"@oluwatobiss"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Ori Shalom (",(0,c.jsx)(s.a,{href:"https://github.com/ori-shalom",children:"@ori-shalom"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Pranab Das (",(0,c.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Rui Peres (",(0,c.jsx)(s.a,{href:"https://github.com/RuiAAPeres",children:"@RuiAAPeres"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["\u51F1\u6069 Kane (",(0,c.jsx)(s.a,{href:"https://github.com/Gary50613",children:"@Gary50613"}),")"]}),"\n"]})]})}function t(e={}){let{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,c.jsx)(s,{...e,children:(0,c.jsx)(u,{...e})}):u(e)}},80980:function(e,s,i){i.d(s,{Z:()=>h,a:()=>o});var n=i(67294);let c={},l=n.createContext(c);function o(e){let s=n.useContext(l);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function h(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:o(e.components),n.createElement(l.Provider,{value:s},e.children)}},64208:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.21","source":"@site/changelog/source/2.0.0-beta.21.md","title":"2.0.0-beta.21","description":"Breaking Change","date":"2022-05-27T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Benjamin Diolez","alias":"BenDz","url":"https://github.com/BenDz","imageURL":"https://github.com/BenDz.png","key":"BenDz","page":null},{"name":"Charles Korn","alias":"charleskorn","url":"https://github.com/charleskorn","imageURL":"https://github.com/charleskorn.png","key":"charleskorn","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Designatory","alias":"Designatory","url":"https://github.com/Designatory","imageURL":"https://github.com/Designatory.png","key":"Designatory","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"\u51F1\u6069 Kane","alias":"Gary50613","url":"https://github.com/Gary50613","imageURL":"https://github.com/Gary50613.png","key":"Gary50613","page":null},{"name":"Ggicci","alias":"ggicci","url":"https://github.com/ggicci","imageURL":"https://github.com/ggicci.png","key":"ggicci","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jan Peer St\xf6cklmair","alias":"JPeer264","url":"https://github.com/JPeer264","imageURL":"https://github.com/JPeer264.png","key":"JPeer264","page":null},{"name":"Jeremy","alias":"jrmyw92","url":"https://github.com/jrmyw92","imageURL":"https://github.com/jrmyw92.png","key":"jrmyw92","page":null},{"name":"Junjie","alias":"junjieweb","url":"https://github.com/junjieweb","imageURL":"https://github.com/junjieweb.png","key":"junjieweb","page":null},{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Matthias Koch","alias":"matkoch","url":"https://github.com/matkoch","imageURL":"https://github.com/matkoch.png","key":"matkoch","page":null},{"name":"Akara","alias":"Messiahhh","url":"https://github.com/Messiahhh","imageURL":"https://github.com/Messiahhh.png","key":"Messiahhh","page":null},{"name":"Michael Hughes","alias":"mhughes2k","url":"https://github.com/mhughes2k","imageURL":"https://github.com/mhughes2k.png","key":"mhughes2k","page":null},{"name":"Nitya Narasimhan","alias":"nitya","url":"https://github.com/nitya","imageURL":"https://github.com/nitya.png","key":"nitya","page":null},{"name":"Oluwatobi Sofela","alias":"oluwatobiss","url":"https://github.com/oluwatobiss","imageURL":"https://github.com/oluwatobiss.png","key":"oluwatobiss","page":null},{"name":"Ori Shalom","alias":"ori-shalom","url":"https://github.com/ori-shalom","imageURL":"https://github.com/ori-shalom.png","key":"ori-shalom","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"Rui Peres","alias":"RuiAAPeres","url":"https://github.com/RuiAAPeres","imageURL":"https://github.com/RuiAAPeres.png","key":"RuiAAPeres","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"James","alias":"Zamiell","url":"https://github.com/Zamiell","imageURL":"https://github.com/Zamiell.png","key":"Zamiell","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-05-27T20:00","authors":["BenDz","charleskorn","datlechin","Designatory","forresst","Gary50613","ggicci","Josh-Cena","JPeer264","jrmyw92","junjieweb","lanegoolsby","massoudmaboudi","matkoch","Messiahhh","mhughes2k","nitya","oluwatobiss","ori-shalom","pranabdas","RuiAAPeres","slorber","Zamiell"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.22","permalink":"/changelog/2.0.0-beta.22"},"nextItem":{"title":"2.0.0-beta.20","permalink":"/changelog/2.0.0-beta.20"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/10771.6c5088cf.js b/assets/js/10771.6c5088cf.js new file mode 100644 index 0000000000..2569b03848 --- /dev/null +++ b/assets/js/10771.6c5088cf.js @@ -0,0 +1,46 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["10771"],{9769:function(t,e,r){r.d(e,{diagram:()=>P});var a=r(84890),i=r(28923),n=r(62145),s=r(11141),o=r(44387);let l=[];for(let t=0;t<256;++t)l.push((t+256).toString(16).slice(1));let c=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,h=function(t){let e;if(!("string"==typeof t&&c.test(t)))throw TypeError("Invalid UUID");let r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=255&e,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=255&e,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=255&e,r[10]=(e=parseInt(t.slice(24,36),16))/0x10000000000&255,r[11]=e/0x100000000&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=255&e,r};function d(t,e){return t<<e|t>>>32-e}let u=function(t,e,r){function a(t,e,a,i){var n;if("string"==typeof t&&(t=function(t){t=unescape(encodeURIComponent(t));let e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e}(t)),"string"==typeof e&&(e=h(e)),(null===(n=e)||void 0===n?void 0:n.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let s=new Uint8Array(16+t.length);if(s.set(e),s.set(t,e.length),(s=r(s))[6]=15&s[6]|80,s[8]=63&s[8]|128,a){i=i||0;for(let t=0;t<16;++t)a[i+t]=s[t];return a}return function(t,e=0){return l[t[e+0]]+l[t[e+1]]+l[t[e+2]]+l[t[e+3]]+"-"+l[t[e+4]]+l[t[e+5]]+"-"+l[t[e+6]]+l[t[e+7]]+"-"+l[t[e+8]]+l[t[e+9]]+"-"+l[t[e+10]]+l[t[e+11]]+l[t[e+12]]+l[t[e+13]]+l[t[e+14]]+l[t[e+15]]}(s)}try{a.name="v5"}catch(t){}return a.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",a.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",a}(0,0,function(t){let e=[0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xca62c1d6],r=[0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0];if("string"==typeof t){let e=unescape(encodeURIComponent(t));t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r))}else Array.isArray(t)||(t=Array.prototype.slice.call(t));t.push(128);let a=Math.ceil((t.length/4+2)/16),i=Array(a);for(let e=0;e<a;++e){let r=new Uint32Array(16);for(let a=0;a<16;++a)r[a]=t[64*e+4*a]<<24|t[64*e+4*a+1]<<16|t[64*e+4*a+2]<<8|t[64*e+4*a+3];i[e]=r}i[a-1][14]=(t.length-1)*8/0x100000000,i[a-1][14]=Math.floor(i[a-1][14]),i[a-1][15]=(t.length-1)*8&0xffffffff;for(let t=0;t<a;++t){let a=new Uint32Array(80);for(let e=0;e<16;++e)a[e]=i[t][e];for(let t=16;t<80;++t)a[t]=d(a[t-3]^a[t-8]^a[t-14]^a[t-16],1);let n=r[0],s=r[1],o=r[2],l=r[3],c=r[4];for(let t=0;t<80;++t){let r=Math.floor(t/20),i=d(n,5)+function(t,e,r,a){switch(t){case 0:return e&r^~e&a;case 1:case 3:return e^r^a;case 2:return e&r^e&a^r&a}}(r,s,o,l)+c+e[r]+a[t]>>>0;c=l,l=o,o=d(s,30)>>>0,s=n,n=i}r[0]=r[0]+n>>>0,r[1]=r[1]+s>>>0,r[2]=r[2]+o>>>0,r[3]=r[3]+l>>>0,r[4]=r[4]+c>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]});var y=function(){var t=(0,i.eW)(function(t,e,r,a){for(r=r||{},a=t.length;a--;r[t[a]]=e);return r},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],a=[1,11],n=[1,12],s=[1,13],o=[1,14],l=[1,15],c=[1,21],h=[1,22],d=[1,23],u=[1,24],y=[1,25],p=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],_=[1,34],f=[27,28,46,47],E=[41,42,43,44,45],g=[17,34],m=[1,54],b=[1,53],O=[17,34,36,38],k={trace:(0,i.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:(0,i.eW)(function(t,e,r,a,i,n,s){var o=n.length-1;switch(i){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:n[o-1].push(n[o]),this.$=n[o-1];break;case 4:case 5:case 19:case 43:case 27:case 28:case 31:this.$=n[o];break;case 8:a.addEntity(n[o-4]),a.addEntity(n[o-2]),a.addRelationship(n[o-4],n[o],n[o-2],n[o-3]);break;case 9:a.addEntity(n[o-3]),a.addAttributes(n[o-3],n[o-1]);break;case 10:a.addEntity(n[o-2]);break;case 11:a.addEntity(n[o]);break;case 12:a.addEntity(n[o-6],n[o-4]),a.addAttributes(n[o-6],n[o-1]);break;case 13:a.addEntity(n[o-5],n[o-3]);break;case 14:a.addEntity(n[o-3],n[o-1]);break;case 15:case 16:this.$=n[o].trim(),a.setAccTitle(this.$);break;case 17:case 18:this.$=n[o].trim(),a.setAccDescription(this.$);break;case 20:case 41:case 42:case 32:this.$=n[o].replace(/"/g,"");break;case 21:case 29:this.$=[n[o]];break;case 22:n[o].push(n[o-1]),this.$=n[o];break;case 23:this.$={attributeType:n[o-1],attributeName:n[o]};break;case 24:this.$={attributeType:n[o-2],attributeName:n[o-1],attributeKeyTypeList:n[o]};break;case 25:this.$={attributeType:n[o-2],attributeName:n[o-1],attributeComment:n[o]};break;case 26:this.$={attributeType:n[o-3],attributeName:n[o-2],attributeKeyTypeList:n[o-1],attributeComment:n[o]};break;case 30:n[o-2].push(n[o]),this.$=n[o-2];break;case 33:this.$={cardA:n[o],relType:n[o-1],cardB:n[o-2]};break;case 34:this.$=a.Cardinality.ZERO_OR_ONE;break;case 35:this.$=a.Cardinality.ZERO_OR_MORE;break;case 36:this.$=a.Cardinality.ONE_OR_MORE;break;case 37:this.$=a.Cardinality.ONLY_ONE;break;case 38:this.$=a.Cardinality.MD_PARENT;break;case 39:this.$=a.Identification.NON_IDENTIFYING;break;case 40:this.$=a.Identification.IDENTIFYING}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:a,24:n,26:s,27:o,28:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:a,24:n,26:s,27:o,28:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:c,42:h,43:d,44:u,45:y}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(p,[2,19]),t(p,[2,20]),t(e,[2,4]),{11:29,27:o,28:l},{16:30,17:[1,31],29:32,30:33,34:_},{11:35,27:o,28:l},{40:36,46:[1,37],47:[1,38]},t(f,[2,34]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:_},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:c,42:h,43:d,44:u,45:y},t(E,[2,39]),t(E,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(g,[2,23],{32:50,33:51,35:52,37:m,38:b}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(g,[2,24],{33:56,36:[1,57],38:b}),t(g,[2,25]),t(O,[2,29]),t(g,[2,32]),t(O,[2,31]),{16:58,17:[1,59],29:32,30:33,34:_},t(g,[2,26]),{35:60,37:m},{17:[1,61]},t(e,[2,13]),t(O,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:(0,i.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var r=Error(t);throw r.hash=e,r}},"parseError"),parse:(0,i.eW)(function(t){var e=this,r=[0],a=[],n=[null],s=[],o=this.table,l="",c=0,h=0,d=0,u=s.slice.call(arguments,1),y=Object.create(this.lexer),p={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(p.yy[_]=this.yy[_]);y.setInput(t,p.yy),p.yy.lexer=y,p.yy.parser=this,void 0===y.yylloc&&(y.yylloc={});var f=y.yylloc;s.push(f);var E=y.options&&y.options.ranges;function g(){var t;return"number"!=typeof(t=a.pop()||y.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,i.eW)(function(t){r.length=r.length-2*t,n.length=n.length-t,s.length=s.length-t},"popStack"),(0,i.eW)(g,"lex");for(var m,b,O,k,R,N,x,T,M,A={};;){if(O=r[r.length-1],this.defaultActions[O]?k=this.defaultActions[O]:(null==m&&(m=g()),k=o[O]&&o[O][m]),void 0===k||!k.length||!k[0]){var w="";for(N in M=[],o[O])this.terminals_[N]&&N>2&&M.push("'"+this.terminals_[N]+"'");w=y.showPosition?"Parse error on line "+(c+1)+":\n"+y.showPosition()+"\nExpecting "+M.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(w,{text:y.match,token:this.terminals_[m]||m,line:y.yylineno,loc:f,expected:M})}if(k[0]instanceof Array&&k.length>1)throw Error("Parse Error: multiple actions possible at state: "+O+", token: "+m);switch(k[0]){case 1:r.push(m),n.push(y.yytext),s.push(y.yylloc),r.push(k[1]),m=null,b?(m=b,b=null):(h=y.yyleng,l=y.yytext,c=y.yylineno,f=y.yylloc,d>0&&d--);break;case 2:if(x=this.productions_[k[1]][1],A.$=n[n.length-x],A._$={first_line:s[s.length-(x||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(x||1)].first_column,last_column:s[s.length-1].last_column},E&&(A._$.range=[s[s.length-(x||1)].range[0],s[s.length-1].range[1]]),void 0!==(R=this.performAction.apply(A,[l,h,c,p.yy,k[1],n,s].concat(u))))return R;x&&(r=r.slice(0,-1*x*2),n=n.slice(0,-1*x),s=s.slice(0,-1*x)),r.push(this.productions_[k[1]][0]),n.push(A.$),s.push(A._$),T=o[r[r.length-2]][r[r.length-1]],r.push(T);break;case 3:return!0}}return!0},"parse")},R={EOF:1,parseError:(0,i.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,i.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,i.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,i.eW)(function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===a.length?this.yylloc.first_column:0)+a[a.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,i.eW)(function(){return this._more=!0,this},"more"),reject:(0,i.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,i.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,i.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,i.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,i.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,i.eW)(function(t,e){var r,a,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack)for(var n in i)this[n]=i[n];return!1},"test_match"),next:(0,i.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,r,a,i=this._currentRules(),n=0;n<i.length;n++)if((r=this._input.match(this.rules[i[n]]))&&(!e||r[0].length>e[0].length)){if(e=r,a=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[n])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,i.eW)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,i.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,i.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,i.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,i.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,i.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,i.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,i.eW)(function(t,e,r,a){switch(r){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:case 15:case 20:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 16:return 37;case 17:case 18:return 34;case 19:return 38;case 21:return this.popState(),17;case 22:case 54:return e.yytext[0];case 23:return 18;case 24:return 19;case 25:case 29:case 30:case 43:return 41;case 26:case 27:case 28:case 36:case 38:case 45:return 43;case 31:case 32:case 33:case 34:case 35:case 37:case 44:return 42;case 39:case 40:case 41:case 42:return 44;case 46:return 45;case 47:case 50:case 51:case 52:return 46;case 48:case 49:return 47;case 53:return 27;case 55:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};function N(){this.yy={}}return k.lexer=R,(0,i.eW)(N,"Parser"),N.prototype=k,k.Parser=N,new N}();y.parser=y;var p=new Map,_=[],f=(0,i.eW)(function(t,e){return p.has(t)?!p.get(t).alias&&e&&(p.get(t).alias=e,i.cM.info(`Add alias '${e}' to entity '${t}'`)):(p.set(t,{attributes:[],alias:e}),i.cM.info("Added new entity :",t)),p.get(t)},"addEntity"),E=(0,i.eW)(()=>p,"getEntities"),g=(0,i.eW)(function(t,e){let r,a=f(t);for(r=e.length-1;r>=0;r--)a.attributes.push(e[r]),i.cM.debug("Added attribute ",e[r].attributeName)},"addAttributes"),m=(0,i.eW)(function(t,e,r,a){let n={entityA:t,roleA:e,entityB:r,relSpec:a};_.push(n),i.cM.debug("Added new relationship :",n)},"addRelationship"),b=(0,i.eW)(()=>_,"getRelationships"),O=(0,i.eW)(function(){p=new Map,_=[],(0,i.ZH)()},"clear"),k={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},getConfig:(0,i.eW)(()=>(0,i.nV)().er,"getConfig"),addEntity:f,addAttributes:g,getEntities:E,addRelationship:m,getRelationships:b,clear:O,setAccTitle:i.GN,getAccTitle:i.eu,setAccDescription:i.U$,getAccDescription:i.Mx,setDiagramTitle:i.g2,getDiagramTitle:i.Kr},R={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},N=(0,i.eW)(function(t,e){let r;t.append("defs").append("marker").attr("id",R.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",R.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",R.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",R.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),(r=t.append("defs").append("marker").attr("id",R.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),(r=t.append("defs").append("marker").attr("id",R.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",R.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",R.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),(r=t.append("defs").append("marker").attr("id",R.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),(r=t.append("defs").append("marker").attr("id",R.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"insertMarkers"),x={ERMarkers:R,insertMarkers:N},T=/[^\dA-Za-z](\W)*/g,M={},A=new Map,w=(0,i.eW)(function(t){for(let e of Object.keys(t))M[e]=t[e]},"setConf"),I=(0,i.eW)((t,e,r)=>{let a=M.entityPadding/3,n=M.entityPadding/3,s=.85*M.fontSize,o=e.node().getBBox(),l=[],c=!1,h=!1,d=0,u=0,y=0,p=0,_=o.height+2*a,f=1;r.forEach(t=>{void 0!==t.attributeKeyTypeList&&t.attributeKeyTypeList.length>0&&(c=!0),void 0!==t.attributeComment&&(h=!0)}),r.forEach(r=>{let n=`${e.node().id}-attr-${f}`,o=0,E=(0,i.UO)(r.attributeType),g=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.nV)().fontFamily).style("font-size",s+"px").text(E),m=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.nV)().fontFamily).style("font-size",s+"px").text(r.attributeName),b={};b.tn=g,b.nn=m;let O=g.node().getBBox(),k=m.node().getBBox();if(d=Math.max(d,O.width),u=Math.max(u,k.width),o=Math.max(O.height,k.height),c){let e=void 0!==r.attributeKeyTypeList?r.attributeKeyTypeList.join(","):"",a=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.nV)().fontFamily).style("font-size",s+"px").text(e);b.kn=a;let l=a.node().getBBox();y=Math.max(y,l.width),o=Math.max(o,l.height)}if(h){let e=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.nV)().fontFamily).style("font-size",s+"px").text(r.attributeComment||"");b.cn=e;let a=e.node().getBBox();p=Math.max(p,a.width),o=Math.max(o,a.height)}b.height=o,l.push(b),_+=o+2*a,f+=1});let E=4;c&&(E+=2),h&&(E+=2);let g=d+u+y+p,m={width:Math.max(M.minEntityWidth,Math.max(o.width+2*M.entityPadding,g+n*E)),height:r.length>0?_:Math.max(M.minEntityHeight,o.height+2*M.entityPadding)};if(r.length>0){let r=Math.max(0,(m.width-g-n*E)/(E/2));e.attr("transform","translate("+m.width/2+","+(a+o.height/2)+")");let i=o.height+2*a,s="attributeBoxOdd";l.forEach(e=>{let o=i+a+e.height/2;e.tn.attr("transform","translate("+n+","+o+")");let l=t.insert("rect","#"+e.tn.node().id).classed(`er ${s}`,!0).attr("x",0).attr("y",i).attr("width",d+2*n+r).attr("height",e.height+2*a),_=parseFloat(l.attr("x"))+parseFloat(l.attr("width"));e.nn.attr("transform","translate("+(_+n)+","+o+")");let f=t.insert("rect","#"+e.nn.node().id).classed(`er ${s}`,!0).attr("x",_).attr("y",i).attr("width",u+2*n+r).attr("height",e.height+2*a),E=parseFloat(f.attr("x"))+parseFloat(f.attr("width"));if(c){e.kn.attr("transform","translate("+(E+n)+","+o+")");let l=t.insert("rect","#"+e.kn.node().id).classed(`er ${s}`,!0).attr("x",E).attr("y",i).attr("width",y+2*n+r).attr("height",e.height+2*a);E=parseFloat(l.attr("x"))+parseFloat(l.attr("width"))}h&&(e.cn.attr("transform","translate("+(E+n)+","+o+")"),t.insert("rect","#"+e.cn.node().id).classed(`er ${s}`,"true").attr("x",E).attr("y",i).attr("width",p+2*n+r).attr("height",e.height+2*a)),i+=e.height+2*a,s="attributeBoxOdd"===s?"attributeBoxEven":"attributeBoxOdd"})}else m.height=Math.max(M.minEntityHeight,_),e.attr("transform","translate("+m.width/2+","+m.height/2+")");return m},"drawAttributes"),S=(0,i.eW)(function(t,e,r){let a;return[...e.keys()].forEach(function(n){let s=B(n,"entity");A.set(n,s);let o=t.append("g").attr("id",s);a=void 0===a?s:a;let l="text-"+s,c=o.append("text").classed("er entityLabel",!0).attr("id",l).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",(0,i.nV)().fontFamily).style("font-size",M.fontSize+"px").text(e.get(n).alias??n),{width:h,height:d}=I(o,c,e.get(n).attributes),u=o.insert("rect","#"+l).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",h).attr("height",d).node().getBBox();r.setNode(s,{width:u.width,height:u.height,shape:"rect",id:s})}),a},"drawEntities"),D=(0,i.eW)(function(t,e){e.nodes().forEach(function(r){void 0!==r&&void 0!==e.node(r)&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")})},"adjustEntities"),v=(0,i.eW)(function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},"getEdgeName"),$=(0,i.eW)(function(t,e){return t.forEach(function(t){e.setEdge(A.get(t.entityA),A.get(t.entityB),{relationship:t},v(t))}),t},"addRelationships"),W=0,L=(0,i.eW)(function(t,e,r,a,n){W++;let o=r.edge(A.get(e.entityA),A.get(e.entityB),v(e)),l=(0,s.jvg)().x(function(t){return t.x}).y(function(t){return t.y}).curve(s.$0Z),c=t.insert("path","#"+a).classed("er relationshipLine",!0).attr("d",l(o.points)).style("stroke",M.stroke).style("fill","none");e.relSpec.relType===n.db.Identification.NON_IDENTIFYING&&c.attr("stroke-dasharray","8,8");let h="";switch(M.arrowMarkerAbsolute&&(h=(h=(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),e.relSpec.cardA){case n.db.Cardinality.ZERO_OR_ONE:c.attr("marker-end","url("+h+"#"+x.ERMarkers.ZERO_OR_ONE_END+")");break;case n.db.Cardinality.ZERO_OR_MORE:c.attr("marker-end","url("+h+"#"+x.ERMarkers.ZERO_OR_MORE_END+")");break;case n.db.Cardinality.ONE_OR_MORE:c.attr("marker-end","url("+h+"#"+x.ERMarkers.ONE_OR_MORE_END+")");break;case n.db.Cardinality.ONLY_ONE:c.attr("marker-end","url("+h+"#"+x.ERMarkers.ONLY_ONE_END+")");break;case n.db.Cardinality.MD_PARENT:c.attr("marker-end","url("+h+"#"+x.ERMarkers.MD_PARENT_END+")")}switch(e.relSpec.cardB){case n.db.Cardinality.ZERO_OR_ONE:c.attr("marker-start","url("+h+"#"+x.ERMarkers.ZERO_OR_ONE_START+")");break;case n.db.Cardinality.ZERO_OR_MORE:c.attr("marker-start","url("+h+"#"+x.ERMarkers.ZERO_OR_MORE_START+")");break;case n.db.Cardinality.ONE_OR_MORE:c.attr("marker-start","url("+h+"#"+x.ERMarkers.ONE_OR_MORE_START+")");break;case n.db.Cardinality.ONLY_ONE:c.attr("marker-start","url("+h+"#"+x.ERMarkers.ONLY_ONE_START+")");break;case n.db.Cardinality.MD_PARENT:c.attr("marker-start","url("+h+"#"+x.ERMarkers.MD_PARENT_START+")")}let d=c.node().getTotalLength(),u=c.node().getPointAtLength(.5*d),y="rel"+W,p=e.roleA.split(/<br ?\/>/g),_=t.append("text").classed("er relationshipLabel",!0).attr("id",y).attr("x",u.x).attr("y",u.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",(0,i.nV)().fontFamily).style("font-size",M.fontSize+"px");if(1==p.length)_.text(e.roleA);else{let t=-(.5*(p.length-1));p.forEach((e,r)=>{_.append("tspan").attr("x",u.x).attr("dy",`${0===r?t:1}em`).text(e)})}let f=_.node().getBBox();t.insert("rect","#"+y).classed("er relationshipLabelBox",!0).attr("x",u.x-f.width/2).attr("y",u.y-f.height/2).attr("width",f.width).attr("height",f.height)},"drawRelationshipFromLayout"),C=(0,i.eW)(function(t,e,r,l){let c,h;M=(0,i.nV)().er,i.cM.info("Drawing ER diagram");let d=(0,i.nV)().securityLevel;"sandbox"===d&&(c=(0,s.Ys)("#i"+e));let u=("sandbox"===d?(0,s.Ys)(c.nodes()[0].contentDocument.body):(0,s.Ys)("body")).select(`[id='${e}']`);x.insertMarkers(u,M),h=new n.k({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:M.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let y=S(u,l.db.getEntities(),h),p=$(l.db.getRelationships(),h);(0,o.bK)(h),D(u,h),p.forEach(function(t){L(u,t,h,y,l)});let _=M.diagramPadding;a.w8.insertTitle(u,"entityTitleText",M.titleTopMargin,l.db.getDiagramTitle());let f=u.node().getBBox(),E=f.width+2*_,g=f.height+2*_;(0,i.v2)(u,g,E,M.useMaxWidth),u.attr("viewBox",`${f.x-_} ${f.y-_} ${E} ${g}`)},"draw");function B(t="",e=""){let r=t.replace(T,"");return`${Y(e)}${Y(r)}${u(t,"28e9f9db-3c8d-5aa5-9faf-44286ae5937c")}`}function Y(t=""){return t.length>0?`${t}-`:""}(0,i.eW)(B,"generateId"),(0,i.eW)(Y,"strWithHyphen");var P={parser:y,db:k,renderer:{setConf:w,draw:C},styles:(0,i.eW)(t=>` + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${t.attributeBackgroundColorOdd}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxEven { + fill: ${t.attributeBackgroundColorEven}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${t.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + +`,"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/10b42bfe.9d94b3ab.js b/assets/js/10b42bfe.9d94b3ab.js new file mode 100644 index 0000000000..88f78a3580 --- /dev/null +++ b/assets/js/10b42bfe.9d94b3ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["41465"],{17041:function(e,t,i){i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>d});var s=i(90988),n=i(85893),r=i(80980);let a={title:"Ensure heading anchor slugs respect GitHub emoji behavior",date:new Date("2023-08-05T00:00:00.000Z"),sidebar_label:"Ensure heading... (custom label)"},l=void 0,o={authorsImageUrls:[]},d=[{value:"\uD83D\uDE03 This is a friendly header",id:"smiley-this-is-a-friendly-header",level:2},{value:"\uD83D\uDE03 This is a friendly header (real smiley)",id:"-this-is-a-friendly-header-real-smiley",level:2}];function h(e){let t={h2:"h2",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.h2,{id:"smiley-this-is-a-friendly-header",children:["\uD83D\uDE03"," This is a friendly header"]}),"\n",(0,n.jsx)(t.h2,{id:"-this-is-a-friendly-header-real-smiley",children:"\uD83D\uDE03 This is a friendly header (real smiley)"})]})}function u(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},80980:function(e,t,i){i.d(t,{Z:()=>l,a:()=>a});var s=i(67294);let n={},r=s.createContext(n);function a(e){let t=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(r.Provider,{value:t},e.children)}},90988:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2023/08/05/","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2023-08-05.mdx","source":"@site/_dogfooding/_blog tests/2023-08-05.mdx","title":"Ensure heading anchor slugs respect GitHub emoji behavior","description":"This is a friendly header","date":"2023-08-05T00:00:00.000Z","tags":[],"readingTime":3.2,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Ensure heading anchor slugs respect GitHub emoji behavior","date":"2023-08-05T00:00:00.000Z","sidebar_label":"Ensure heading... (custom label)"},"unlisted":false,"prevItem":{"title":"Single author socials","permalink":"/tests/blog/2024/07/03/single-author"},"nextItem":{"title":"Test if href in feed resolved correctly","permalink":"/tests/blog/2023/07/19/a"}}')}}]); \ No newline at end of file diff --git a/assets/js/12412.dc64526c.js b/assets/js/12412.dc64526c.js new file mode 100644 index 0000000000..8effb835c5 --- /dev/null +++ b/assets/js/12412.dc64526c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["12412"],{80980:function(t,e,i){i.d(e,{Z:()=>r,a:()=>s});var n=i(67294);let o={},a=n.createContext(o);function s(t){let e=n.useContext(a);return n.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:s(t.components),n.createElement(a.Provider,{value:e},t.children)}},47611:function(t,e,i){i.d(e,{Z:()=>N});var n=i(67294),o=i(73935);let a=(t,e)=>t===e?.tagName?.toUpperCase?.(),s=t=>a("DIV",t)||a("SPAN",t),r=t=>a("IMG",t),h=t=>t.complete&&0!==t.naturalHeight,l=t=>a("SVG",t),d=({height:t,offset:e,width:i})=>Math.min((window.innerWidth-2*e)/i,(window.innerHeight-2*e)/t),c=({containerHeight:t,containerWidth:e,offset:i,targetHeight:n,targetWidth:o})=>{let a=d({height:n,offset:i,width:o}),s=o>n?o/e:n/t;return a>1?s:a*s},m=({containerHeight:t,containerWidth:e,hasScalableSrc:i,offset:n,targetHeight:o,targetWidth:a})=>t&&e?!i&&o&&a?c({containerHeight:t,containerWidth:e,offset:n,targetHeight:o,targetWidth:a}):d({height:t,offset:n,width:e}):1,u=/url(?:\(['"]?)(.*?)(?:['"]?\))/,g=t=>{if(t){if(r(t))return t.currentSrc;if(s(t)){let e=window.getComputedStyle(t).backgroundImage;if(e)return u.exec(e)?.[1]}}},v=t=>{if(t)return r(t)?t.alt??void 0:t.getAttribute("aria-label")??void 0},f=({containerHeight:t,containerLeft:e,containerTop:i,containerWidth:n,hasScalableSrc:o,offset:a,targetHeight:s,targetWidth:r})=>{let h=m({containerHeight:t,containerWidth:n,hasScalableSrc:o,offset:a,targetHeight:s,targetWidth:r});return{top:i,left:e,width:n*h,height:t*h,transform:`translate(0,0) scale(${1/h})`}},p=({position:t,relativeNum:e})=>{let i=parseFloat(t);return t.endsWith("%")?e*i/100:i},w=({containerHeight:t,containerLeft:e,containerTop:i,containerWidth:n,hasScalableSrc:o,objectFit:a,objectPosition:s,offset:r,targetHeight:h,targetWidth:l})=>{if("scale-down"===a&&(a=l<=n&&h<=t?"none":"contain"),"cover"===a||"contain"===a){let d=n/l,c=t/h,u="cover"===a?Math.max(d,c):Math.min(d,c),[g="50%",v="50%"]=s.split(" "),f=p({position:g,relativeNum:n-l*u}),w=p({position:v,relativeNum:t-h*u}),E=m({containerHeight:h*u,containerWidth:l*u,hasScalableSrc:o,offset:r,targetHeight:h,targetWidth:l});return{top:i+w,left:e+f,width:l*u*E,height:h*u*E,transform:`translate(0,0) scale(${1/E})`}}if("none"===a){let[a="50%",d="50%"]=s.split(" "),c=p({position:a,relativeNum:n-l}),u=p({position:d,relativeNum:t-h}),g=m({containerHeight:h,containerWidth:l,hasScalableSrc:o,offset:r,targetHeight:h,targetWidth:l});return{top:i+u,left:e+c,width:l*g,height:h*g,transform:`translate(0,0) scale(${1/g})`}}if("fill"!==a)return{};{let e=Math.max(n/l,t/h),i=m({containerHeight:h*e,containerWidth:l*e,hasScalableSrc:o,offset:r,targetHeight:h,targetWidth:l});return{width:n*i,height:t*i,transform:`translate(0,0) scale(${1/i})`}}},E=({backgroundPosition:t,backgroundSize:e,containerHeight:i,containerLeft:n,containerTop:o,containerWidth:a,hasScalableSrc:s,offset:r,targetHeight:h,targetWidth:l})=>{if("cover"===e||"contain"===e){let d=a/l,c=i/h,u="cover"===e?Math.max(d,c):Math.min(d,c),[g="50%",v="50%"]=t.split(" "),f=p({position:g,relativeNum:a-l*u}),w=p({position:v,relativeNum:i-h*u}),E=m({containerHeight:h*u,containerWidth:l*u,hasScalableSrc:s,offset:r,targetHeight:h,targetWidth:l});return{top:o+w,left:n+f,width:l*u*E,height:h*u*E,transform:`translate(0,0) scale(${1/E})`}}if("auto"===e){let[e="50%",d="50%"]=t.split(" "),c=p({position:e,relativeNum:a-l}),u=p({position:d,relativeNum:i-h}),g=m({containerHeight:h,containerWidth:l,hasScalableSrc:s,offset:r,targetHeight:h,targetWidth:l});return{top:o+u,left:n+c,width:l*g,height:h*g,transform:`translate(0,0) scale(${1/g})`}}{let[d="50%",c="50%"]=e.split(" "),u=p({position:d,relativeNum:a}),g=Math.min(u/l,p({position:c,relativeNum:i})/h),[v="50%",f="50%"]=t.split(" "),w=p({position:v,relativeNum:a-l*g}),E=p({position:f,relativeNum:i-h*g}),L=m({containerHeight:h*g,containerWidth:l*g,hasScalableSrc:s,offset:r,targetHeight:h,targetWidth:l});return{top:o+E,left:n+w,width:l*g*L,height:h*g*L,transform:`translate(0,0) scale(${1/L})`}}},L=/\.svg$/i,b=({hasZoomImg:t,imgSrc:e,isSvg:i,isZoomed:n,loadedImgEl:o,offset:a,shouldRefresh:r,targetEl:h})=>{let l=i||e?.slice?.(0,18)==="data:image/svg+xml"||t||!!(e&&L.test(e)),d=h.getBoundingClientRect(),c=window.getComputedStyle(h),m=null!=o&&s(h),u=null!=o&&!m,g=f({containerHeight:d.height,containerLeft:d.left,containerTop:d.top,containerWidth:d.width,hasScalableSrc:l,offset:a,targetHeight:o?.naturalHeight||d.height,targetWidth:o?.naturalWidth||d.width}),v=Object.assign({},g,u?w({containerHeight:d.height,containerLeft:d.left,containerTop:d.top,containerWidth:d.width,hasScalableSrc:l,objectFit:c.objectFit,objectPosition:c.objectPosition,offset:a,targetHeight:o?.naturalHeight||d.height,targetWidth:o?.naturalWidth||d.width}):void 0,m?E({backgroundPosition:c.backgroundPosition,backgroundSize:c.backgroundSize,containerHeight:d.height,containerLeft:d.left,containerTop:d.top,containerWidth:d.width,hasScalableSrc:l,offset:a,targetHeight:o?.naturalHeight||d.height,targetWidth:o?.naturalWidth||d.width}):void 0);if(n){let t=window.innerWidth/2,e=window.innerHeight/2,i=parseFloat(String(v.left||0))+parseFloat(String(v.width||0))/2,n=parseFloat(String(v.top||0))+parseFloat(String(v.height||0))/2;r&&(v.transitionDuration="0.01ms"),v.transform=`translate(${t-i}px,${e-n}px) scale(1)`}return v},S=t=>{if(!t)return{};if(!l(t))return{height:t.offsetHeight,left:t.offsetLeft,width:t.offsetWidth,top:t.offsetTop};{let e=t.parentElement,i=t.getBoundingClientRect();if(!e)return{height:i.height,left:i.left,width:i.width,top:i.top};{let t=e.getBoundingClientRect();return{height:i.height,left:t.left-i.left,top:t.top-i.top,width:i.width}}}},y=t=>{let e="-zoom",i=["clip-path","fill","mask","marker-start","marker-mid","marker-end"],n=new Map;if(t.hasAttribute("id")){let i=t.id,o=i+e;n.set(i,o),t.id=o}t.querySelectorAll("[id]").forEach(t=>{let i=t.id,o=i+e;n.set(i,o),t.id=o}),n.forEach((e,n)=>{let o=`url(#${n})`,a=`url(#${e})`,s=i.map(t=>`[${t}="${o}"]`).join(", ");t.querySelectorAll(s).forEach(t=>{i.forEach(e=>{t.getAttribute(e)===o&&t.setAttribute(e,a)})})}),t.querySelectorAll("style").forEach(t=>{n.forEach((e,i)=>{t.textContent&&(t.textContent=t.textContent.replaceAll(`#${i}`,`#${e}`))})})},z=["img","svg",'[role="img"]',"[data-zoom]"].map(t=>`${t}:not([aria-hidden="true"])`).join(","),I={overflow:"",width:""};function C(t){return n.createElement(D,{...t})}class D extends n.Component{constructor(){super(...arguments),this.state={id:"",isZoomImgLoaded:!1,loadedImgEl:void 0,modalState:"UNLOADED",shouldRefresh:!1,styleGhost:{}},this.refContent=n.createRef(),this.refDialog=n.createRef(),this.refModalContent=n.createRef(),this.refModalImg=n.createRef(),this.refWrap=n.createRef(),this.imgEl=null,this.isScaling=!1,this.prevBodyAttrs=I,this.styleModalImg={},this.handleModalStateChange=t=>{let{modalState:e}=this.state;"LOADING"!==t&&"LOADING"===e?(this.loadZoomImg(),window.addEventListener("resize",this.handleResize,{passive:!0}),window.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),window.addEventListener("touchmove",this.handleTouchMove,{passive:!0}),window.addEventListener("touchend",this.handleTouchEnd,{passive:!0}),window.addEventListener("touchcancel",this.handleTouchCancel,{passive:!0}),document.addEventListener("keydown",this.handleKeyDown,!0)):"LOADED"!==t&&"LOADED"===e?window.addEventListener("wheel",this.handleWheel,{passive:!0}):"UNLOADING"!==t&&"UNLOADING"===e?(this.ensureImgTransitionEnd(),window.removeEventListener("wheel",this.handleWheel),window.removeEventListener("touchstart",this.handleTouchStart),window.removeEventListener("touchmove",this.handleTouchMove),window.removeEventListener("touchend",this.handleTouchEnd),window.removeEventListener("touchcancel",this.handleTouchCancel),document.removeEventListener("keydown",this.handleKeyDown,!0)):"UNLOADED"!==t&&"UNLOADED"===e&&(this.bodyScrollEnable(),window.removeEventListener("resize",this.handleResize),this.refModalImg.current?.removeEventListener?.("transitionend",this.handleImgTransitionEnd),this.refDialog.current?.close?.())},this.getDialogContainer=()=>{let t=document.querySelector("[data-rmiz-portal]");return null==t&&((t=document.createElement("div")).setAttribute("data-rmiz-portal",""),document.body.appendChild(t)),t},this.setId=()=>{let t=()=>Math.random().toString(16).slice(-4);this.setState({id:t()+t()+t()})},this.setAndTrackImg=()=>{let t=this.refContent.current;!t||(this.imgEl=t.querySelector(z),this.imgEl?(this.contentNotFoundChangeObserver?.disconnect?.(),this.imgEl.addEventListener("load",this.handleImgLoad),this.imgEl.addEventListener("click",this.handleZoom),this.state.loadedImgEl||this.handleImgLoad(),this.imgElResizeObserver=new ResizeObserver(t=>{let e=t[0];e?.target&&(this.imgEl=e.target,this.setState({styleGhost:S(this.imgEl)}))}),this.imgElResizeObserver.observe(this.imgEl),this.contentChangeObserver||(this.contentChangeObserver=new MutationObserver(()=>{this.setState({styleGhost:S(this.imgEl)})}),this.contentChangeObserver.observe(t,{attributes:!0,childList:!0,subtree:!0}))):this.contentNotFoundChangeObserver||(this.contentNotFoundChangeObserver=new MutationObserver(this.setAndTrackImg),this.contentNotFoundChangeObserver.observe(t,{childList:!0,subtree:!0})))},this.handleIfZoomChanged=t=>{let{isZoomed:e}=this.props;!t&&e?this.zoom():t&&!e&&this.unzoom()},this.handleImgLoad=()=>{let t=g(this.imgEl);if(!t)return;let e=new Image;r(this.imgEl)&&(e.sizes=this.imgEl.sizes,e.srcset=this.imgEl.srcset),e.src=t;let i=()=>{this.setState({loadedImgEl:e,styleGhost:S(this.imgEl)})};e.decode().then(i).catch(()=>{if(h(e)){i();return}e.onload=i})},this.handleZoom=()=>{this.hasImage()&&this.props.onZoomChange?.(!0)},this.handleUnzoom=()=>{this.props.onZoomChange?.(!1)},this.handleDialogCancel=t=>{t.preventDefault()},this.handleDialogClick=t=>{(t.target===this.refModalContent.current||t.target===this.refModalImg.current)&&this.handleUnzoom()},this.handleKeyDown=t=>{("Escape"===t.key||27===t.keyCode)&&(t.preventDefault(),t.stopPropagation(),this.handleUnzoom())},this.handleWheel=t=>{t.ctrlKey||(t.stopPropagation(),queueMicrotask(()=>{this.handleUnzoom()}))},this.handleTouchStart=t=>{if(t.touches.length>1){this.isScaling=!0;return}1===t.changedTouches.length&&t.changedTouches[0]&&(this.touchYStart=t.changedTouches[0].screenY)},this.handleTouchMove=t=>{let e=window.visualViewport?.scale??1;this.props.canSwipeToUnzoom&&!this.isScaling&&e<=1&&null!=this.touchYStart&&t.changedTouches[0]&&(this.touchYEnd=t.changedTouches[0].screenY,Math.abs(Math.max(this.touchYStart,this.touchYEnd)-Math.min(this.touchYStart,this.touchYEnd))>this.props.swipeToUnzoomThreshold&&(this.touchYStart=void 0,this.touchYEnd=void 0,this.handleUnzoom()))},this.handleTouchEnd=()=>{this.isScaling=!1,this.touchYStart=void 0,this.touchYEnd=void 0},this.handleTouchCancel=()=>{this.isScaling=!1,this.touchYStart=void 0,this.touchYEnd=void 0},this.handleResize=()=>{this.setState({shouldRefresh:!0})},this.hasImage=()=>this.imgEl&&(this.state.loadedImgEl||l(this.imgEl))&&"none"!==window.getComputedStyle(this.imgEl).display,this.zoom=()=>{this.bodyScrollDisable(),this.refDialog.current?.showModal?.(),this.refModalImg.current?.addEventListener?.("transitionend",this.handleImgTransitionEnd),this.setState({modalState:"LOADING"})},this.unzoom=()=>{this.setState({modalState:"UNLOADING"})},this.handleImgTransitionEnd=()=>{clearTimeout(this.timeoutTransitionEnd),"LOADING"===this.state.modalState?this.setState({modalState:"LOADED"}):"UNLOADING"===this.state.modalState&&this.setState({shouldRefresh:!1,modalState:"UNLOADED"})},this.ensureImgTransitionEnd=()=>{if(this.refModalImg.current){let t=window.getComputedStyle(this.refModalImg.current).transitionDuration,e=parseFloat(t);if(e){let i=e*(t.endsWith("ms")?1:1e3)+50;this.timeoutTransitionEnd=setTimeout(this.handleImgTransitionEnd,i)}}},this.bodyScrollDisable=()=>{this.prevBodyAttrs={overflow:document.body.style.overflow,width:document.body.style.width};let t=document.body.clientWidth;document.body.style.overflow="hidden",document.body.style.width=`${t}px`},this.bodyScrollEnable=()=>{document.body.style.width=this.prevBodyAttrs.width,document.body.style.overflow=this.prevBodyAttrs.overflow,this.prevBodyAttrs=I},this.loadZoomImg=()=>{let{props:{zoomImg:t}}=this,e=t?.src;if(e){let i=new Image;i.sizes=t?.sizes??"",i.srcset=t?.srcSet??"",i.src=e;let n=()=>{this.setState({isZoomImgLoaded:!0})};i.decode().then(n).catch(()=>{if(h(i)){n();return}i.onload=n})}},this.UNSAFE_handleSvg=()=>{let{imgEl:t,refModalImg:e,styleModalImg:i}=this;if(l(t)){let n=t.cloneNode(!0);y(n),n.style.width=`${i.width||0}px`,n.style.height=`${i.height||0}px`,n.addEventListener("click",this.handleUnzoom),e.current?.firstChild?.remove?.(),e.current?.appendChild?.(n)}}}render(){let{handleDialogCancel:t,handleDialogClick:e,handleUnzoom:i,handleZoom:a,imgEl:h,props:{a11yNameButtonUnzoom:d,a11yNameButtonZoom:c,children:m,classDialog:u,IconUnzoom:f,IconZoom:p,isZoomed:w,wrapElement:E,ZoomContent:L,zoomImg:S,zoomMargin:y},refContent:z,refDialog:I,refModalContent:C,refModalImg:D,refWrap:N,state:{id:M,isZoomImgLoaded:T,loadedImgEl:A,modalState:O,shouldRefresh:U,styleGhost:k}}=this,W=`rmiz-modal-${M}`,$=`rmiz-modal-img-${M}`,x=s(h),Z=r(h),H=l(h),R=v(h),F=g(h),G=Z?h.sizes:void 0,Y=Z?h.srcset:void 0,B=!!S?.src,P=this.hasImage(),j=R?`${c}: ${R}`:c,q="LOADING"===O||"LOADED"===O,K=P?"found":"not-found",V="UNLOADED"===O||"UNLOADING"===O?"hidden":"visible";this.styleModalImg=P?b({hasZoomImg:B,imgSrc:F,isSvg:H,isZoomed:w&&q,loadedImgEl:A,offset:y,shouldRefresh:U,targetEl:h}):{};let _=null;if(P){let t=Z||x?n.createElement("img",{alt:R,sizes:G,src:F,srcSet:Y,...T&&"LOADED"===O?S:{},"data-rmiz-modal-img":"",height:this.styleModalImg.height||void 0,id:$,ref:D,style:this.styleModalImg,width:this.styleModalImg.width||void 0}):H?n.createElement("div",{"data-rmiz-modal-img":!0,ref:D,style:this.styleModalImg}):null,e=n.createElement("button",{"aria-label":d,"data-rmiz-btn-unzoom":"",onClick:i,type:"button"},n.createElement(f,null));_=L?n.createElement(L,{buttonUnzoom:e,modalState:O,img:t,onUnzoom:i}):n.createElement(n.Fragment,null,t,e)}return n.createElement(E,{"aria-owns":W,"data-rmiz":"",ref:N},n.createElement(E,{"data-rmiz-content":K,ref:z,style:{visibility:"UNLOADED"===O?"visible":"hidden"}},m),P&&n.createElement(E,{"data-rmiz-ghost":"",style:k},n.createElement("button",{"aria-label":j,"data-rmiz-btn-zoom":"",onClick:a,type:"button"},n.createElement(p,null))),P&&o.createPortal(n.createElement("dialog",{"aria-labelledby":$,"aria-modal":"true",className:u,"data-rmiz-modal":"",id:W,onClick:e,onClose:i,onCancel:t,ref:I,role:"dialog"},n.createElement("div",{"data-rmiz-modal-overlay":V}),n.createElement("div",{"data-rmiz-modal-content":"",ref:C},_)),this.getDialogContainer()))}componentDidMount(){this.setId(),this.setAndTrackImg(),this.handleImgLoad(),this.UNSAFE_handleSvg()}componentWillUnmount(){"UNLOADED"!==this.state.modalState&&this.bodyScrollEnable(),this.contentChangeObserver?.disconnect?.(),this.contentNotFoundChangeObserver?.disconnect?.(),this.imgElResizeObserver?.disconnect?.(),this.imgEl?.removeEventListener?.("load",this.handleImgLoad),this.imgEl?.removeEventListener?.("click",this.handleZoom),this.refModalImg.current?.removeEventListener?.("transitionend",this.handleImgTransitionEnd),window.removeEventListener("wheel",this.handleWheel),window.removeEventListener("touchstart",this.handleTouchStart),window.removeEventListener("touchmove",this.handleTouchMove),window.removeEventListener("touchend",this.handleTouchEnd),window.removeEventListener("touchcancel",this.handleTouchCancel),window.removeEventListener("resize",this.handleResize),document.removeEventListener("keydown",this.handleKeyDown,!0)}componentDidUpdate(t,e){this.handleModalStateChange(e.modalState),this.UNSAFE_handleSvg(),this.handleIfZoomChanged(t.isZoomed)}}function N(t){let[e,i]=n.useState(!1);return n.createElement(C,{...t,isZoomed:e,onZoomChange:i})}D.defaultProps={a11yNameButtonUnzoom:"Minimize image",a11yNameButtonZoom:"Expand image",canSwipeToUnzoom:!0,IconUnzoom:function(){return n.createElement("svg",{"aria-hidden":"true","data-rmiz-btn-unzoom-icon":!0,fill:"currentColor",focusable:"false",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M 14.144531 1.148438 L 9 6.292969 L 9 3 L 8 3 L 8 8 L 13 8 L 13 7 L 9.707031 7 L 14.855469 1.851563 Z M 8 8 L 3 8 L 3 9 L 6.292969 9 L 1.148438 14.144531 L 1.851563 14.855469 L 7 9.707031 L 7 13 L 8 13 Z"}))},IconZoom:function(){return n.createElement("svg",{"aria-hidden":"true","data-rmiz-btn-zoom-icon":!0,fill:"currentColor",focusable:"false",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},n.createElement("path",{d:"M 9 1 L 9 2 L 12.292969 2 L 2 12.292969 L 2 9 L 1 9 L 1 14 L 6 14 L 6 13 L 2.707031 13 L 13 2.707031 L 13 6 L 14 6 L 14 1 Z"}))},swipeToUnzoomThreshold:10,wrapElement:"div",zoomMargin:0}}}]); \ No newline at end of file diff --git a/assets/js/1267474e.4fa99994.js b/assets/js/1267474e.4fa99994.js new file mode 100644 index 0000000000..3a29c7ca12 --- /dev/null +++ b/assets/js/1267474e.4fa99994.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["7390"],{46597:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>l,default:()=>m,contentTitle:()=>d,assets:()=>c,toc:()=>u,metadata:()=>r});var r=JSON.parse('{"id":"migration/v2/migration-automated","title":"Automated migration","description":"The migration CLI automatically migrates your v1 website to a v2 website.","source":"@site/docs/migration/v2/migration-automated.mdx","sourceDirName":"migration/v2","slug":"/migration/v2/automated","permalink":"/docs/migration/v2/automated","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/v2/migration-automated.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration/v2/automated"},"sidebar":"docs","previous":{"title":"Overview","permalink":"/docs/migration/v2"},"next":{"title":"Manual migration","permalink":"/docs/migration/v2/manual"}}'),i=n(85893),a=n(80980),s=n(15398),o=n(58636);let l={slug:"/migration/v2/automated"},d="Automated migration",c={},u=[{value:"Options",id:"options",level:4}];function h(e){let t={admonition:"admonition",code:"code",h1:"h1",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,a.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"automated-migration",children:"Automated migration"})}),"\n",(0,i.jsx)(t.p,{children:"The migration CLI automatically migrates your v1 website to a v2 website."}),"\n",(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Manual work is still required after using the migration CLI, as we can't automate a full migration"})}),"\n",(0,i.jsx)(t.p,{children:"The migration CLI migrates:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Site configurations (from ",(0,i.jsx)(t.code,{children:"siteConfig.js"})," to ",(0,i.jsx)(t.code,{children:"docusaurus.config.js"}),")"]}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"package.json"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"sidebars.json"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"/docs"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"/blog"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"/static"})}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"versioned_sidebar.json"})," and ",(0,i.jsx)(t.code,{children:"/versioned_docs"})," if your site uses versioning"]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"To use the migration CLI, follow these steps:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:["Before using the migration CLI, ensure that ",(0,i.jsx)(t.code,{children:"/docs"}),", ",(0,i.jsx)(t.code,{children:"/blog"}),", ",(0,i.jsx)(t.code,{children:"/static"}),", ",(0,i.jsx)(t.code,{children:"sidebars.json"}),", ",(0,i.jsx)(t.code,{children:"siteConfig.js"}),", ",(0,i.jsx)(t.code,{children:"package.json"})," follow the expected structure."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"To migrate your v1 website, run the migration CLI with the appropriate filesystem paths:"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"# migration command format\nnpx @docusaurus/migrate migrate <v1 website directory> <desired v2 website directory>\n\n# example\nnpx @docusaurus/migrate migrate ./v1-website ./v2-website\n"})}),"\n",(0,i.jsxs)(t.ol,{start:"3",children:["\n",(0,i.jsx)(t.li,{children:"To view your new website locally, go into your v2 website's directory and start your development server."}),"\n"]}),"\n",(0,i.jsxs)(s.Z,{groupId:"npm2yarn",children:[(0,i.jsx)(o.Z,{value:"npm",children:(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"cd ./v2-website\nnpm install\nnpm start\n"})})}),(0,i.jsx)(o.Z,{value:"yarn",label:"Yarn",children:(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"cd ./v2-website\nyarn install\nyarn start\n"})})}),(0,i.jsx)(o.Z,{value:"pnpm",label:"pnpm",children:(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"cd ./v2-website\npnpm install\npnpm start\n"})})})]}),"\n",(0,i.jsx)(t.admonition,{type:"danger",children:(0,i.jsx)(t.p,{children:"The migration CLI updates existing files. Be sure to have committed them first!"})}),"\n",(0,i.jsx)(t.h4,{id:"options",children:"Options"}),"\n",(0,i.jsx)(t.p,{children:"You can add option flags to the migration CLI to automatically migrate Markdown content and pages to v2. It is likely that you will still need to make some manual changes to achieve your desired result."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Name"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"--mdx"})}),(0,i.jsx)(t.td,{children:"Add this flag to convert Markdown to MDX automatically"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"--page"})}),(0,i.jsx)(t.td,{children:"Add this flag to migrate pages automatically"})]})]})]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"# example using options\nnpx @docusaurus/migrate migrate --mdx --page ./v1-website ./v2-website\n"})}),"\n",(0,i.jsxs)(t.admonition,{type:"danger",children:[(0,i.jsx)(t.p,{children:"The migration of pages and MDX is still a work in progress."}),(0,i.jsxs)(t.p,{children:["We recommend you to try to run the pages without these options, commit, and then try to run the migration again with the ",(0,i.jsx)(t.code,{children:"--page"})," and ",(0,i.jsx)(t.code,{children:"--mdx"})," options."]}),(0,i.jsx)(t.p,{children:"This way, you'd be able to easily inspect and fix the diff."})]})]})}function m(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},58636:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var i=n(90496);function a(e){let{children:t,hidden:n,className:a}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,i.Z)("tabItem_pnkT",a),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>j});var r=n(85893),i=n(67294),a=n(90496),s=n(54947),o=n(3620),l=n(844),d=n(97486),c=n(32263),u=n(16971);function h(e){return i.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||i.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function m(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var p=n(71607);function x(e){let{className:t,block:n,selectedValue:i,selectValue:o,tabValues:l}=e,d=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.o5)(),u=e=>{let t=e.currentTarget,n=l[d.indexOf(t)].value;n!==i&&(c(t),o(n))},h=e=>{let t=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let n=d.indexOf(e.currentTarget)+1;t=d[n]??d[0];break}case"ArrowLeft":{let n=d.indexOf(e.currentTarget)-1;t=d[n]??d[d.length-1]}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:l.map(e=>{let{value:t,label:n,attributes:s}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>{d.push(e)},onKeyDown:h,onClick:u,...s,className:(0,a.Z)("tabs__item","tabItem_AQgk",s?.className,{"tabs__item--active":i===t}),children:n??t},t)})})}function g(e){let{lazy:t,children:n,selectedValue:s}=e,o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=o.find(e=>e.props.value===s);return e?(0,i.cloneElement)(e,{className:(0,a.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:o.map((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==s}))})}function f(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:r}=e,a=function(e){let{values:t,children:n}=e;return(0,i.useMemo)(()=>{let e=t??h(n).map(e=>{let{props:{value:t,label:n,attributes:r,default:i}}=e;return{value:t,label:n,attributes:r,default:i}});return!function(e){let t=(0,c.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[s,p]=(0,i.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!m({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:a})),[x,g]=function(e){let{queryString:t=!1,groupId:n}=e,r=(0,o.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,d._X)(a),(0,i.useCallback)(e=>{if(!a)return;let t=new URLSearchParams(r.location.search);t.set(a,e),r.replace({...r.location,search:t.toString()})},[a,r])]}({queryString:n,groupId:r}),[f,j]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[r,a]=(0,u.Nk)(n);return[r,(0,i.useCallback)(e=>{n&&a.set(e)},[n,a])]}({groupId:r}),v=(()=>{let e=x??f;return m({value:e,tabValues:a})?e:null})();return(0,l.Z)(()=>{v&&p(v)},[v]),{selectedValue:s,selectValue:(0,i.useCallback)(e=>{if(!m({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);p(e),g(e),j(e)},[g,j,a]),tabValues:a}}(e);return(0,r.jsxs)("div",{className:(0,a.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(x,{...t,...e}),(0,r.jsx)(g,{...t,...e})]})}function j(e){let t=(0,p.Z)();return(0,r.jsx)(f,{...e,children:h(e.children)},String(t))}},80980:function(e,t,n){n.d(t,{Z:()=>o,a:()=>s});var r=n(67294);let i={},a=r.createContext(i);function s(e){let t=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/12769aa9.a48643f3.js b/assets/js/12769aa9.a48643f3.js new file mode 100644 index 0000000000..0bb62a5c6f --- /dev/null +++ b/assets/js/12769aa9.a48643f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["50480"],{33350:function(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var a=n(62663),r=n(85893),i=n(80980);let o={mdx:{format:"md"},date:"2019-10-01T20:00"},s="2.0.0-alpha.25",l={authorsImageUrls:[]},c=[];function d(e){let t={a:"a",code:"code",li:"li",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Blog plugin is rewritten in TypeScript and can now support CJK"}),"\n",(0,r.jsx)(t.li,{children:"Upgrade key direct dependencies such as webpack, mdx and babel to latest"}),"\n",(0,r.jsx)(t.li,{children:"Do not escape html and body attributes"}),"\n",(0,r.jsx)(t.li,{children:"For devices with very small viewport width, the searchbar is replaced with a search icon. On tap of the search icon the searchbar is expanded and the text beside the logo is hidden and remains hidden while the search bar is expanded."}),"\n",(0,r.jsxs)(t.li,{children:["Add ",(0,r.jsx)(t.code,{children:"date"})," frontMatter support for blog plugin"]}),"\n",(0,r.jsxs)(t.li,{children:["Add ",(0,r.jsx)(t.code,{children:"truncateMarker"})," option to blog plugin, support string or regex."]}),"\n",(0,r.jsxs)(t.li,{children:["Webpack ",(0,r.jsx)(t.code,{children:"optimization.removeAvailableModules"})," is now disabled for performance gain. See ",(0,r.jsx)(t.a,{href:"https://github.com/webpack/webpack/releases/tag/v4.38.0",children:"https://github.com/webpack/webpack/releases/tag/v4.38.0"})," for more context."]}),"\n"]})}function p(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},80980:function(e,t,n){n.d(t,{Z:()=>s,a:()=>o});var a=n(67294);let r={},i=a.createContext(r);function o(e){let t=a.useContext(i);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(i.Provider,{value:t},e.children)}},62663:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.25","source":"@site/changelog/source/2.0.0-alpha.25.md","title":"2.0.0-alpha.25","description":"- Blog plugin is rewritten in TypeScript and can now support CJK","date":"2019-10-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-01T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.26","permalink":"/changelog/2.0.0-alpha.26"},"nextItem":{"title":"2.0.0-alpha.24","permalink":"/changelog/2.0.0-alpha.24"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/12dd3160.2e8a3d5c.js b/assets/js/12dd3160.2e8a3d5c.js new file mode 100644 index 0000000000..61d56322e2 --- /dev/null +++ b/assets/js/12dd3160.2e8a3d5c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["59107"],{22036:function(e){e.exports=JSON.parse('{"author":{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber","count":5},"listMetadata":{"permalink":"/tests/blog/authors/slorber/authors/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":5,"previousPage":"/tests/blog/authors/slorber","blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/134f983b.de9babc8.js b/assets/js/134f983b.de9babc8.js new file mode 100644 index 0000000000..f303b7f058 --- /dev/null +++ b/assets/js/134f983b.de9babc8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["92222"],{1985:function(e,t,n){n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>u});var a=n(41699),o=n(85893),r=n(80980);let s={mdx:{format:"md"},date:"2021-12-10T19:00"},c="2.0.0-beta.12",i={authorsImageUrls:[]},u=[];function l(e){let t={p:"p",...(0,r.a)(),...e.components};return(0,o.jsx)(t.p,{children:"Bad npm publish, use beta.13 instead"})}function p(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},80980:function(e,t,n){n.d(t,{Z:()=>c,a:()=>s});var a=n(67294);let o={},r=a.createContext(o);function s(e){let t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:t},e.children)}},41699:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.12","source":"@site/changelog/source/2.0.0-beta.12.md","title":"2.0.0-beta.12","description":"Bad npm publish, use beta.13 instead","date":"2021-12-10T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-10T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-beta.13","permalink":"/changelog/2.0.0-beta.13"},"nextItem":{"title":"2.0.0-beta.11","permalink":"/changelog/2.0.0-beta.11"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/138ea42e.f606a869.js b/assets/js/138ea42e.f606a869.js new file mode 100644 index 0000000000..0e05397094 --- /dev/null +++ b/assets/js/138ea42e.f606a869.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["18796"],{54941:function(e,t,a){a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var s=a(50457),o=a(85893),n=a(80980);let i={title:"Towards Docusaurus 2",authors:"endiliey",tags:["new","adoption"]},r=void 0,u={authorsImageUrls:[void 0]},l=[];function c(e){let t={a:"a",p:"p",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["Docusaurus was ",(0,o.jsx)(t.a,{href:"https://v1.docusaurus.io/blog/2017/12/14/introducing-docusaurus",children:"officially announced"})," over nine months ago as a way to easily build open source documentation websites. Since then, it has amassed over 8,600 GitHub Stars, and is used by many popular open source projects such as ",(0,o.jsx)(t.a,{href:"https://facebook.github.io/react-native/",children:"React Native"}),", ",(0,o.jsx)(t.a,{href:"https://babeljs.io/",children:"Babel"}),", ",(0,o.jsx)(t.a,{href:"https://jestjs.io/",children:"Jest"}),", ",(0,o.jsx)(t.a,{href:"https://reasonml.github.io/",children:"Reason"})," and ",(0,o.jsx)(t.a,{href:"https://prettier.io/",children:"Prettier"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"There is a saying that the very best software is constantly evolving, and the very worst is not. In case you are not aware, we have been planning and working on the next version of Docusaurus \uD83C\uDF89."})]})}function d(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,t,a){a.d(t,{Z:()=>r,a:()=>i});var s=a(67294);let o={},n=s.createContext(o);function i(e){let t=s.useContext(n);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(n.Provider,{value:t},e.children)}},50457:function(e){e.exports=JSON.parse('{"permalink":"/blog/2018/09/11/Towards-Docusaurus-2","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2018/09-11-Towards-Docusaurus-2.mdx","source":"@site/blog/2018/09-11-Towards-Docusaurus-2.mdx","title":"Towards Docusaurus 2","description":"Docusaurus was officially announced over nine months ago as a way to easily build open source documentation websites. Since then, it has amassed over 8,600 GitHub Stars, and is used by many popular open source projects such as React Native, Babel, Jest, Reason and Prettier.","date":"2018-09-11T00:00:00.000Z","tags":[{"inline":false,"label":"New","permalink":"/blog/tags/new"},{"inline":false,"label":"Adoption","permalink":"/blog/tags/adoption"}],"readingTime":9.25,"hasTruncateMarker":true,"authors":[{"name":"Endilie Yacop Sucipto","title":"Maintainer of Docusaurus","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null}],"frontMatter":{"title":"Towards Docusaurus 2","authors":"endiliey","tags":["new","adoption"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Happy 1st Birthday Slash!","permalink":"/blog/2018/12/14/Happy-First-Birthday-Slash"},"nextItem":{"title":"How I Converted Profilo to Docusaurus in Under 2 Hours","permalink":"/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"}}')}}]); \ No newline at end of file diff --git a/assets/js/13f3ee7a.e74245cf.js b/assets/js/13f3ee7a.e74245cf.js new file mode 100644 index 0000000000..ed95c1091c --- /dev/null +++ b/assets/js/13f3ee7a.e74245cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["7355"],{59859:function(a,e,t){t.r(e),t.d(e,{assets:()=>s,contentTitle:()=>u,default:()=>h,frontMatter:()=>l,metadata:()=>n,toc:()=>g});var n=t(28329),o=t(85893),i=t(80980);let l={mdx:{format:"md"},date:"2020-10-02T20:00",authors:["aakhtar3","abadon7","aeneasr","anru","ayonious","ayshiff","edno","jeremyhager","JoelMarcey","lex111","longlho","moonrailgun","muskanvk","SamChou19815","Simek","slorber","timgates42","yangshun"]},u="2.0.0-alpha.65",s={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},g=[];function m(a){return(0,o.jsx)(o.Fragment,{})}function h(a={}){let{wrapper:e}={...(0,i.a)(),...a.components};return e?(0,o.jsx)(e,{...a,children:(0,o.jsx)(m,{...a})}):m(a)}},80980:function(a,e,t){t.d(e,{Z:()=>u,a:()=>l});var n=t(67294);let o={},i=n.createContext(o);function l(a){let e=n.useContext(i);return n.useMemo(function(){return"function"==typeof a?a(e):{...e,...a}},[e,a])}function u(a){let e;return e=a.disableParentContext?"function"==typeof a.components?a.components(o):a.components||o:l(a.components),n.createElement(i.Provider,{value:e},a.children)}},28329:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.65","source":"@site/changelog/source/2.0.0-alpha.65.md","title":"2.0.0-alpha.65","description":"New Feature","date":"2020-10-02T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"aakhtar3","alias":"aakhtar3","url":"https://github.com/aakhtar3","imageURL":"https://github.com/aakhtar3.png","key":"aakhtar3","page":null},{"name":"Henry V\xe9lez","alias":"abadon7","url":"https://github.com/abadon7","imageURL":"https://github.com/abadon7.png","key":"abadon7","page":null},{"name":"hackerman","alias":"aeneasr","url":"https://github.com/aeneasr","imageURL":"https://github.com/aeneasr.png","key":"aeneasr","page":null},{"name":"Andrey Rublev","alias":"anru","url":"https://github.com/anru","imageURL":"https://github.com/anru.png","key":"anru","page":null},{"name":"Nahiyan Kamal","alias":"ayonious","url":"https://github.com/ayonious","imageURL":"https://github.com/ayonious.png","key":"ayonious","page":null},{"name":"R\xe9mi Doreau","alias":"ayshiff","url":"https://github.com/ayshiff","imageURL":"https://github.com/ayshiff.png","key":"ayshiff","page":null},{"name":"Gr\xe9gory Heitz","alias":"edno","url":"https://github.com/edno","imageURL":"https://github.com/edno.png","key":"edno","page":null},{"name":"Jeremy Hager","alias":"jeremyhager","url":"https://github.com/jeremyhager","imageURL":"https://github.com/jeremyhager.png","key":"jeremyhager","page":null},{"name":"Joel Marcey","alias":"JoelMarcey","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","key":"JoelMarcey","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Long Ho","alias":"longlho","url":"https://github.com/longlho","imageURL":"https://github.com/longlho.png","key":"longlho","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Muskan Kumar","alias":"muskanvk","url":"https://github.com/muskanvk","imageURL":"https://github.com/muskanvk.png","key":"muskanvk","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tim Gates","alias":"timgates42","url":"https://github.com/timgates42","imageURL":"https://github.com/timgates42.png","key":"timgates42","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-10-02T20:00","authors":["aakhtar3","abadon7","aeneasr","anru","ayonious","ayshiff","edno","jeremyhager","JoelMarcey","lex111","longlho","moonrailgun","muskanvk","SamChou19815","Simek","slorber","timgates42","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.66","permalink":"/changelog/2.0.0-alpha.66"},"nextItem":{"title":"2.0.0-alpha.64","permalink":"/changelog/2.0.0-alpha.64"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/141512d1.65f66671.js b/assets/js/141512d1.65f66671.js new file mode 100644 index 0000000000..8128fed729 --- /dev/null +++ b/assets/js/141512d1.65f66671.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["80261"],{55732:function(e,n,s){s.d(n,{Z:()=>r});let r=s.p+"assets/images/social-card-1c688c53b51bdaa6e15ae532bf756276.png"},85345:function(e,n,s){s.d(n,{Z:()=>r});let r=s.p+"assets/images/mdx-checker-output-0f96cc19fd3ed4d55901ca90ad657c14.png"},51476:function(e,n,s){s.d(n,{Z:()=>r});let r=s.p+"assets/images/mdx2-playground-options-eab88e8328a6902759c4236ffc93d9c6.png"},32007:function(e,n,s){s.d(n,{Z:()=>r});let r=s.p+"assets/images/social-card-1c688c53b51bdaa6e15ae532bf756276.png"},27753:function(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>d});var r=s(24174),o=s(85893),i=s(80980);let t={title:"Preparing your site for Docusaurus v3",authors:["slorber"],tags:["maintenance"],slug:"/preparing-your-site-for-docusaurus-v3",image:"./img/social-card.png"},a=void 0,c={image:s(55732).Z,authorsImageUrls:[void 0]},d=[{value:"Preparatory work",id:"preparatory-work",level:2},{value:"Preparing content for MDX v3",id:"preparing-content-for-mdx-v3",level:2},{value:"Using the MDX playground",id:"using-the-mdx-playground",level:3},{value:"Using the MDX checker CLI",id:"using-the-mdx-checker-cli",level:3},{value:"Common MDX problems",id:"common-mdx-problems",level:3},{value:"Bad usage of <code>{</code>",id:"bad-usage-of-",level:4},{value:"Bad usage of <code><</code>",id:"bad-usage-of--1",level:4},{value:"Bad usage of GFM Autolink",id:"bad-usage-of-gfm-autolink",level:4},{value:"Lower-case MDXComponent mapping",id:"lower-case-mdxcomponent-mapping",level:4},{value:"Unintended extra paragraphs",id:"unintended-extra-paragraphs",level:4},{value:"Unintended usage of directives",id:"unintended-usage-of-directives",level:4},{value:"Unsupported indented code blocks",id:"unsupported-indented-code-blocks",level:4},{value:"MDX plugins",id:"mdx-plugins",level:3},{value:"Other breaking changes",id:"other-breaking-changes",level:2},{value:"Node.js 18.0",id:"nodejs-180",level:3},{value:"React 18.0",id:"react-180",level:3},{value:"TypeScript 5.0",id:"typescript-50",level:3},{value:"TypeScript base config",id:"typescript-base-config",level:3},{value:"Admonition warning",id:"admonition-warning",level:3},{value:"Versioned sidebars",id:"versioned-sidebars",level:3},{value:"Try Docusaurus v3 today",id:"try-docusaurus-v3-today",level:2},{value:"Ask for help",id:"ask-for-help",level:2},{value:"Conclusion",id:"conclusion",level:2}];function l(e){let n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components},{Details:r}=n;return r||function(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:["This blog post was written when Docusaurus v3 was in beta. There are some changes in dependency versions and upgrade steps you should be aware of if upgrading to Docusaurus v3 current stable releases. Use the ",(0,o.jsx)(n.a,{href:"https://docusaurus.io/docs/next/migration/v3",children:"upgrade guide"})," for the most up-to-date migration steps."]})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Docusaurus v3"})," is now ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9312",children:(0,o.jsx)(n.strong,{children:"in beta"})})," and the official release is around the corner. This is the perfect time to start ",(0,o.jsx)(n.strong,{children:"preparing your site"})," for this new major version."]}),"\n",(0,o.jsxs)(n.p,{children:["Docusaurus v3 comes with a few ",(0,o.jsx)(n.strong,{children:"breaking changes"}),", many of which can be ",(0,o.jsx)(n.strong,{children:"handled today under Docusaurus v2"}),". Preparing your site ahead of time can be done incrementally, and will make it easier to upgrade to v3."]}),"\n",(0,o.jsxs)(n.p,{children:["The main breaking change is the upgrade from MDX v1 to MDX v3. Read the ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/blog/v2/",children:(0,o.jsx)(n.strong,{children:"MDX v2"})})," and ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/blog/v3/",children:(0,o.jsx)(n.strong,{children:"MDX v3"})})," release notes for details. MDX will now compile your Markdown content ",(0,o.jsx)(n.strong,{children:"more strictly"})," and with ",(0,o.jsx)(n.strong,{children:"subtle differences"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"This article will mostly focus on how to prepare your content for this new MDX version, and will also list a few other breaking changes that you can handle today."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Preparing your site for Docusaurus v3 - social card",src:s(32007).Z+"",width:"1040",height:"546"})}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:["This article mentions most Docusaurus v3 breaking changes, but is not exhaustive. Read the ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9312",children:"v3.0.0-beta.0 release notes"})," for an exhaustive list."]})}),"\n",(0,o.jsxs)(n.admonition,{title:"Don't be afraid",type:"tip",children:[(0,o.jsx)(n.p,{children:"There's a lot of content in this blog post, but many Docusaurus v2 sites can upgrade with very few changes."}),(0,o.jsxs)(n.p,{children:["If your site is relatively small, with only a few customizations, you can probably ",(0,o.jsx)(n.a,{href:"#try-docusaurus-v3-today",children:"upgrade to Docusaurus v3"})," immediately."]})]}),"\n",(0,o.jsx)(n.h2,{id:"preparatory-work",children:"Preparatory work"}),"\n",(0,o.jsxs)(n.p,{children:["Before preparing for the Docusaurus v3 upgrade, we recommend upgrading to the latest ",(0,o.jsx)(n.a,{href:"/versions",children:"Docusaurus v2 version"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["Depending on the complexity of your site, it may be a good idea to adopt the ",(0,o.jsx)(n.a,{href:"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing",children:"visual regression testing workflow"})," that we recently presented. It could help you catch unexpected visual side effects occurring during the Docusaurus v3 upgrade."]}),"\n",(0,o.jsxs)(n.p,{children:["We also recommend using the ",(0,o.jsx)(n.code,{children:".mdx"})," extension whenever you use JSX, ",(0,o.jsx)(n.code,{children:"import"}),", or ",(0,o.jsx)(n.code,{children:"export"})," (i.e. MDX features) inside a Markdown file. It is semantically more correct and improves compatibility with external tools (IDEs, formatters, linters, etc.). In future versions of Docusaurus, ",(0,o.jsx)(n.code,{children:".md"})," files will be parsed as standard ",(0,o.jsx)(n.a,{href:"https://commonmark.org/",children:"CommonMark"}),", which does not support these features. In Docusaurus v3, ",(0,o.jsx)(n.code,{children:".md"})," files keep being compiled as MDX files, but it will be possible to ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/3018",children:"opt-in for CommonMark"}),"."]}),"\n",(0,o.jsx)(n.h2,{id:"preparing-content-for-mdx-v3",children:"Preparing content for MDX v3"}),"\n",(0,o.jsxs)(n.p,{children:["MDX is a major dependency of Docusaurus responsible for compiling your ",(0,o.jsx)(n.code,{children:".md"})," and ",(0,o.jsx)(n.code,{children:".mdx"})," files to React components."]}),"\n",(0,o.jsxs)(n.p,{children:["MDX v3 is much better, but also comes with changes that probably require you to refactor your content a bit. MDX v3 is stricter, and some components that compiled fine under v1 might now fail to compile under v3, most likely because of ",(0,o.jsx)(n.code,{children:"{"})," and ",(0,o.jsx)(n.code,{children:"<"})," characters."]}),"\n",(0,o.jsxs)(n.p,{children:["Upgrading MDX comes with all the breaking changes documented on the ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/blog/v2/",children:"MDX v2"})," and ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/blog/v3/",children:"MDX v3"})," release blog posts. Most breaking changes come from MDX v2. The ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/migrating/v2/",children:"MDX v2 migration guide"})," has a section on how to ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/migrating/v2/#update-mdx-files",children:"update MDX files"})," that will be particularly relevant to us. Also make sure to read the ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/docs/troubleshooting-mdx/",children:"Troubleshooting MDX"})," page that can help you interpret common MDX error messages."]}),"\n",(0,o.jsxs)(n.p,{children:["Make sure to also read our updated ",(0,o.jsx)(n.a,{href:"/docs/markdown-features/react",children:(0,o.jsx)(n.strong,{children:"MDX and React"})})," documentation page."]}),"\n",(0,o.jsx)(n.admonition,{title:"Ask for help",type:"tip",children:(0,o.jsxs)(n.p,{children:["We have a dedicated ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9053",children:"MDX v3 - Upgrade Support"})," discussion."]})}),"\n",(0,o.jsx)(n.h3,{id:"using-the-mdx-playground",children:"Using the MDX playground"}),"\n",(0,o.jsxs)(n.p,{children:["The MDX playground is your new best friend. It permits to understand how your content is ",(0,o.jsx)(n.strong,{children:"compiled to React components"}),", and troubleshoot compilation or rendering issues in isolation."]}),"\n",(0,o.jsx)(n.p,{children:"Each MDX version comes with its own playground:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://mdxjs.com/playground/",children:"MDX playground - current version"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://mdx-git-renovate-babel-monorepo-mdx.vercel.app/playground/",children:"MDX playground - v1"})}),"\n"]}),"\n",(0,o.jsxs)(r,{children:[(0,o.jsx)("summary",{children:"Configuring the MDX playground options for Docusaurus"}),(0,o.jsxs)(n.p,{children:["To obtain a compilation behavior similar to what Docusaurus v2 uses, please turn on these options on the ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/playground/",children:"MDX playground"}),":"]}),(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Use ",(0,o.jsx)(n.code,{children:"MDX"})]}),"\n",(0,o.jsxs)(n.li,{children:["Use ",(0,o.jsx)(n.code,{children:"remark-gfm"})]}),"\n",(0,o.jsxs)(n.li,{children:["Use ",(0,o.jsx)(n.code,{children:"remark-directive"})]}),"\n"]}),(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Screenshot of the MDX playground's options panel, with only the "Use MDX", "Use remark-gfm", and "Use remark-directive" options checked",src:s(51476).Z+"",width:"1968",height:"1316"})})]}),"\n",(0,o.jsx)(n.p,{children:"Using the two MDX playgrounds side-by-side, you will soon notice that some content is compiled differently or fails to compile in v3."}),"\n",(0,o.jsx)(n.admonition,{title:"Making your content future-proof",type:"tip",children:(0,o.jsxs)(n.p,{children:["The goal will be to refactor your problematic content so that it ",(0,o.jsx)(n.strong,{children:"works fine with both versions of MDX"}),". This way, when you upgrade to Docusaurus v3, this content will already work out-of-the-box."]})}),"\n",(0,o.jsx)(n.h3,{id:"using-the-mdx-checker-cli",children:"Using the MDX checker CLI"}),"\n",(0,o.jsxs)(n.p,{children:["We provide a ",(0,o.jsx)(n.a,{href:"https://github.com/slorber/docusaurus-mdx-checker",children:"docusaurus-mdx-checker"})," CLI that permits to easily spot problematic content. Run this command today on your Docusaurus v2 site to obtain a list of files that will fail to compile under MDX v3."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"npx docusaurus-mdx-checker\n"})}),"\n",(0,o.jsx)(n.p,{children:"For each compilation issue, the CLI will log the file path and a line number to look at."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Screenshot of the terminal showing an example MDX checker CLI output, with a few error messages",src:s(85345).Z+"",width:"1161",height:"417"})}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsx)(n.p,{children:"Use this CLI to estimate of how much work will be required to make your content compatible with MDX v3."})}),"\n",(0,o.jsxs)(n.admonition,{type:"warning",children:[(0,o.jsx)(n.p,{children:"This CLI is a best effort, and will only report compilation errors."}),(0,o.jsxs)(n.p,{children:["It will not report subtle compilation changes that do not produce errors but can affect how your content is displayed. To catch these problems, we recommend using ",(0,o.jsx)(n.a,{href:"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing",children:"visual regression tests"}),"."]})]}),"\n",(0,o.jsx)(n.h3,{id:"common-mdx-problems",children:"Common MDX problems"}),"\n",(0,o.jsx)(n.p,{children:"We upgraded a few Docusaurus sites to Docusaurus v3 and MDX v3:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/8288",children:"Docusaurus PR"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/facebook/react-native-website/pull/3780",children:"React-Native PR"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/jestjs/jest/pull/14463",children:"Jest PR"})}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"These upgrades permitted us to aggregate the most common content problems, and document how to best handle them."}),"\n",(0,o.jsxs)(n.h4,{id:"bad-usage-of-",children:["Bad usage of ",(0,o.jsx)(n.code,{children:"{"})]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"{"})," character is used for opening ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/docs/what-is-mdx/#expressions",children:"JavaScript expressions"}),". MDX will now fail if what you put inside ",(0,o.jsx)(n.code,{children:"{expression}"})," is not a valid expression."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"The object shape looks like {username: string, age: number}\n"})}),"\n",(0,o.jsx)(n.admonition,{title:"Error message",type:"danger",children:(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Could not parse expression with acorn: Unexpected content after expression"}),"\n"]})}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsx)(n.p,{children:"Available options to fix this error:"}),(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Use inline code: ",(0,o.jsx)(n.code,{children:"{username: string, age: number}"})]}),"\n",(0,o.jsxs)(n.li,{children:["Use the HTML code: ",(0,o.jsx)(n.code,{children:"{"})]}),"\n",(0,o.jsxs)(n.li,{children:["Escape it: ",(0,o.jsx)(n.code,{children:"\\{"})]}),"\n"]})]}),"\n",(0,o.jsxs)(n.h4,{id:"bad-usage-of--1",children:["Bad usage of ",(0,o.jsx)(n.code,{children:"<"})]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"<"})," character is used for opening ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/docs/what-is-mdx/#jsx",children:"JSX tags"}),". MDX will now fail if it thinks your JSX is invalid."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:'Use Android version <5\n\nYou can use a generic type like Array<T>\n\nFollow the template "Road to <YOUR_MINOR_VERSION>"\n'})}),"\n",(0,o.jsxs)(n.admonition,{title:"Error messages",type:"danger",children:[(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Unexpected character ",(0,o.jsx)(n.code,{children:"5"})," (U+0035) before name, expected a character that can start a name, such as a letter, ",(0,o.jsx)(n.code,{children:"$"}),", or ",(0,o.jsx)(n.code,{children:"_"})]}),"\n"]}),(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Expected a closing tag for ",(0,o.jsx)(n.code,{children:"<T>"})," (1:6-1:9) before the end of ",(0,o.jsx)(n.code,{children:"paragraph"})," end-tag-mismatch mdast-util-mdx-jsx"]}),"\n"]}),(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Expected a closing tag for ",(0,o.jsx)(n.code,{children:"<YOUR_MINOR_VERSION>"})," (134:19-134:39) before the end of ",(0,o.jsx)(n.code,{children:"paragraph"})]}),"\n"]})]}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsx)(n.p,{children:"Available options to fix this error:"}),(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Use inline code: ",(0,o.jsx)(n.code,{children:"Array<T>"})]}),"\n",(0,o.jsxs)(n.li,{children:["Use the HTML code: ",(0,o.jsx)(n.code,{children:"<"})," or ",(0,o.jsx)(n.code,{children:"<"})]}),"\n",(0,o.jsxs)(n.li,{children:["Escape it: ",(0,o.jsx)(n.code,{children:"\\<"})," (unfortunately the ",(0,o.jsx)(n.code,{children:"\\"})," will be displayed under MDX v1)"]}),"\n"]})]}),"\n",(0,o.jsx)(n.h4,{id:"bad-usage-of-gfm-autolink",children:"Bad usage of GFM Autolink"}),"\n",(0,o.jsxs)(n.p,{children:["Docusaurus supports ",(0,o.jsx)(n.a,{href:"https://github.github.com/gfm/",children:"GitHub Flavored Markdown (GFM)"}),", but ",(0,o.jsx)(n.a,{href:"https://github.github.com/gfm/#autolinks",children:"autolink"})," using the ",(0,o.jsx)(n.code,{children:"<link>"})," syntax is not supported anymore by MDX."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"<sebastien@thisweekinreact.com>\n\n<http://localhost:3000>\n"})}),"\n",(0,o.jsxs)(n.admonition,{title:"Error messages",type:"danger",children:[(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Unexpected character ",(0,o.jsx)(n.code,{children:"@"})," (U+0040) in name, expected a name character such as letters, digits, ",(0,o.jsx)(n.code,{children:"$"}),", or ",(0,o.jsx)(n.code,{children:"_"}),"; whitespace before attributes; or the end of the tag (note: to create a link in MDX, use ",(0,o.jsx)(n.code,{children:"[text](url)"}),")"]}),"\n"]}),(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsxs)(n.p,{children:["Unexpected character ",(0,o.jsx)(n.code,{children:"/"})," (U+002F) before local name, expected a character that can start a name, such as a letter, ",(0,o.jsx)(n.code,{children:"$"}),", or ",(0,o.jsx)(n.code,{children:"_"})," (note: to create a link in MDX, use ",(0,o.jsx)(n.code,{children:"[text](url)"}),")"]}),"\n"]})]}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsxs)(n.p,{children:["Use regular Markdown links, or remove the ",(0,o.jsx)(n.code,{children:"<"})," and ",(0,o.jsx)(n.code,{children:">"}),". MDX and GFM are able to autolink literals already."]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"sebastien@thisweekinreact.com\n[sebastien@thisweekinreact.com](mailto:sebastien@thisweekinreact.com)\n\nhttp://localhost:3000\n[http://localhost:3000](http://localhost:3000)\n"})})]}),"\n",(0,o.jsx)(n.h4,{id:"lower-case-mdxcomponent-mapping",children:"Lower-case MDXComponent mapping"}),"\n",(0,o.jsxs)(n.p,{children:["For users providing a ",(0,o.jsxs)(n.a,{href:"/docs/markdown-features/react#mdx-component-scope",children:["custom ",(0,o.jsx)(n.code,{children:"MDXComponent"}),"mapping"]}),', components are now "sandboxed":']}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["a ",(0,o.jsx)(n.code,{children:"MDXComponent"})," mapping for ",(0,o.jsx)(n.code,{children:"h1"})," only gets used for ",(0,o.jsx)(n.code,{children:"# hi"})," but not for ",(0,o.jsx)(n.code,{children:"<h1>hi</h1>"})]}),"\n",(0,o.jsxs)(n.li,{children:["a ",(0,o.jsx)(n.strong,{children:"lower-cased"})," custom element name will not be substituted by its respective ",(0,o.jsx)(n.code,{children:"MDXComponent"})," component anymore"]}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{title:"visual difference",type:"danger",children:(0,o.jsxs)(n.p,{children:["Your ",(0,o.jsxs)(n.a,{href:"/docs/markdown-features/react#mdx-component-scope",children:[(0,o.jsx)(n.code,{children:"MDXComponent"})," component mapping"]})," might not be applied as before, and your custom components might no longer be used."]})}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsxs)(n.p,{children:["For native Markdown elements, you can keep using ",(0,o.jsx)(n.strong,{children:"lower-case"}),": ",(0,o.jsx)(n.code,{children:"p"}),", ",(0,o.jsx)(n.code,{children:"h1"}),", ",(0,o.jsx)(n.code,{children:"img"}),", ",(0,o.jsx)(n.code,{children:"a"}),"..."]}),(0,o.jsxs)(n.p,{children:["For any other element, ",(0,o.jsx)(n.strong,{children:"use upper-case names"}),"."]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-diff",metastring:'title="src/theme/MDXComponents.js"',children:' import MDXComponents from \'@theme-original/MDXComponents\';\n\n export default {\n ...MDXComponents,\n p: (props) => <p {...props} className="my-paragraph"/>\n- myElement: (props) => <div {...props} className="my-class" />,\n+ MyElement: (props) => <div {...props} className="my-class" />,\n };\n'})})]}),"\n",(0,o.jsx)(n.h4,{id:"unintended-extra-paragraphs",children:"Unintended extra paragraphs"}),"\n",(0,o.jsxs)(n.p,{children:["In MDX, it is now possible to interleave JSX and Markdown more easily without requiring extra line breaks. Writing content on multiple lines can also produce new expected ",(0,o.jsx)(n.code,{children:"<p>"})," tags."]}),"\n",(0,o.jsxs)(n.admonition,{title:"visual difference",type:"danger",children:[(0,o.jsx)(n.p,{children:"See how this content is rendered differently by MDX v1 and v3."}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"<div>Some **Markdown** content</div>\n<div>\n Some **Markdown** content\n</div>\n"})}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-html",metastring:'title="MDX v1 output"',children:"<div>Some **Markdown** content</div>\n<div>Some **Markdown** content</div>\n"})}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-html",metastring:'title="MDX v3 output"',children:"<div>Some <strong>Markdown</strong> content</div>\n<div><p>Some <strong>Markdown</strong> content</p></div>\n"})})]}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsxs)(n.p,{children:["If you don't want an extra ",(0,o.jsx)(n.code,{children:"<p>"})," tag, refactor content on a case by case basis to use a single-line JSX tag."]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-diff",children:' <figure>\n <img src="/img/myImage.png" alt="My alt" />\n- <figcaption>\n- My image caption\n- </figcaption>\n+ <figcaption>My image caption</figcaption>\n </figure>\n'})}),(0,o.jsxs)(n.p,{children:['If your content contains "Markdown inlines" (',(0,o.jsx)(n.code,{children:"**"}),", ",(0,o.jsx)(n.code,{children:"*"}),", ",(0,o.jsx)(n.code,{children:"_"}),", ",(0,o.jsx)(n.code,{children:"[link](/path)"}),"), you might not be able to refactor it ahead of time, and will have to do it alongside the Docusaurus v3 upgrade."]})]}),"\n",(0,o.jsx)(n.h4,{id:"unintended-usage-of-directives",children:"Unintended usage of directives"}),"\n",(0,o.jsxs)(n.p,{children:["Docusaurus v3 now uses ",(0,o.jsx)(n.a,{href:"https://talk.commonmark.org/t/generic-directives-plugins-syntax/444",children:"Markdown Directives"})," (implemented with ",(0,o.jsx)(n.a,{href:"https://github.com/remarkjs/remark-directive",children:"remark-directive"}),") as a generic way to provide support for admonitions, and other upcoming Docusaurus features."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"This is a :textDirective\n\n::leafDirective\n\n:::containerDirective\n\nContainer directive content\n\n:::\n"})}),"\n",(0,o.jsxs)(n.admonition,{title:"Visual change",type:"danger",children:[(0,o.jsx)(n.p,{children:"Directives are parsed with the purpose of being handled by other Remark plugins. Unhandled directives will be ignored, and won't be rendered back in their original form."}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"The AWS re:Invent conf is great\n"})}),(0,o.jsxs)(n.p,{children:["Due to ",(0,o.jsx)(n.code,{children:":Invent"})," being parsed as a text directive, this will now be rendered as:"]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"The AWS re\nconf is great\n"})})]}),"\n",(0,o.jsx)(n.admonition,{title:"How to prepare",type:"tip",children:(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Use the HTML code: ",(0,o.jsx)(n.code,{children:":"})]}),"\n",(0,o.jsxs)(n.li,{children:["Add a space after ",(0,o.jsx)(n.code,{children:":"})," (if it makes sense): ",(0,o.jsx)(n.code,{children:": text"})]}),"\n",(0,o.jsxs)(n.li,{children:["Escape it: ",(0,o.jsx)(n.code,{children:"\\:"})," (unfortunately the ",(0,o.jsx)(n.code,{children:"\\"})," will be displayed under MDX v1)"]}),"\n"]})}),"\n",(0,o.jsx)(n.h4,{id:"unsupported-indented-code-blocks",children:"Unsupported indented code blocks"}),"\n",(0,o.jsx)(n.p,{children:"MDX does not transform indented text as code blocks anymore."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:' console.log("hello");\n'})}),"\n",(0,o.jsx)(n.admonition,{title:"Visual change",type:"danger",children:(0,o.jsx)(n.p,{children:"The upgrade does not generally produce new MDX compilation errors, but can lead to content being rendered in an unexpected way because there isn't a code block anymore."})}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsx)(n.p,{children:"Use the regular code block syntax instead of indentation:"}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"```js\nconsole.log('hello');\n```\n"})})]}),"\n",(0,o.jsx)(n.h3,{id:"mdx-plugins",children:"MDX plugins"}),"\n",(0,o.jsxs)(n.p,{children:["All the official packages (Unified, Remark, Rehype...) in the MDX ecosystem are now ",(0,o.jsx)(n.a,{href:"https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c",children:(0,o.jsx)(n.strong,{children:"ES Modules only"})})," and do not support ",(0,o.jsx)(n.a,{href:"https://nodejs.org/api/modules.html#modules-commonjs-modules",children:"CommonJS"})," anymore."]}),"\n",(0,o.jsxs)(n.p,{children:["In practice this means that you can't do ",(0,o.jsx)(n.code,{children:'require("remark-plugin")'})," anymore."]}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsxs)(n.p,{children:["Docusaurus v3 now supports ",(0,o.jsx)(n.a,{href:"https://flaviocopes.com/es-modules/",children:(0,o.jsx)(n.strong,{children:"ES Modules"})})," configuration files. We recommend that you migrate your config file to ES module, that enables you to import the Remark plugins easily:"]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"import remarkPlugin from 'remark-plugin';\n\nexport default {\n title: 'Docusaurus',\n /* site config using remark plugins here */\n};\n"})}),(0,o.jsxs)(n.p,{children:["If you want to keep using CommonJS modules, you can use dynamic imports as a workaround that enables you to import ES modules inside a CommonJS module. Fortunately, the ",(0,o.jsx)(n.a,{href:"/docs/configuration#syntax-to-declare-docusaurus-config",children:"Docusaurus config supports the usage of an async function"})," to let you do so."]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"module.exports = async function () {\n const myPlugin = (await import('remark-plugin')).default;\n return {\n // site config...\n };\n};\n"})})]}),"\n",(0,o.jsx)(n.admonition,{title:"For plugin authors",type:"info",children:(0,o.jsxs)(n.p,{children:["If you created custom Remark or Rehype plugins, you may need to refactor those, or eventually rewrite them completely, due to how the new AST is structured. We have created a ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9337",children:"dedicated support discussion"})," to help plugin authors upgrade their code."]})}),"\n",(0,o.jsx)(n.h2,{id:"other-breaking-changes",children:"Other breaking changes"}),"\n",(0,o.jsx)(n.p,{children:"Apart from MDX, there are other breaking changes that you can already prepare your site for, notably major version upgrades of important dependencies."}),"\n",(0,o.jsx)(n.h3,{id:"nodejs-180",children:"Node.js 18.0"}),"\n",(0,o.jsxs)(n.p,{children:["Node.js 16 ",(0,o.jsx)(n.a,{href:"https://nodejs.org/en/blog/announcements/nodejs16-eol",children:"reached End-of-Life"}),", and Docusaurus v3 now requires ",(0,o.jsx)(n.strong,{children:"Node.js >= 18.0"}),"."]}),"\n",(0,o.jsx)(n.admonition,{title:"How to prepare",type:"tip",children:(0,o.jsx)(n.p,{children:"Upgrade your Docusaurus v2 site to Node.js 18 before upgrading to Docusaurus v3."})}),"\n",(0,o.jsx)(n.h3,{id:"react-180",children:"React 18.0"}),"\n",(0,o.jsxs)(n.p,{children:["Docusaurus v3 now requires ",(0,o.jsx)(n.strong,{children:"React >= 18.0"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"React 18 comes with its own breaking changes that should be relatively easy to handle, depending on the amount of custom React code you created for your site."}),"\n",(0,o.jsx)(n.p,{children:"Simple Docusaurus sites that only use our official theme code without swizzling do not have anything to do."}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsxs)(n.p,{children:["Read the official ",(0,o.jsx)(n.a,{href:"https://react.dev/blog/2022/03/29/react-v18",children:"React v18.0"})," and ",(0,o.jsx)(n.a,{href:"https://react.dev/blog/2022/03/08/react-18-upgrade-guide",children:"How to Upgrade to React 18"}),", and look at your first-party React code to figure out which components might be affected this React 18 upgrade."]}),(0,o.jsx)(n.p,{children:"We recommend to particularly look for:"}),(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Automatic batching for stateful components"}),"\n",(0,o.jsx)(n.li,{children:"New React hydration errors reported to the console"}),"\n"]})]}),"\n",(0,o.jsx)(n.h3,{id:"typescript-50",children:"TypeScript 5.0"}),"\n",(0,o.jsxs)(n.p,{children:["Docusaurus v3 now requires ",(0,o.jsx)(n.strong,{children:"TypeScript >= 5.0"}),"."]}),"\n",(0,o.jsx)(n.admonition,{title:"How to prepare",type:"tip",children:(0,o.jsx)(n.p,{children:"Upgrade your Docusaurus v2 site to TypeScript 5 before upgrading to Docusaurus v3."})}),"\n",(0,o.jsx)(n.h3,{id:"typescript-base-config",children:"TypeScript base config"}),"\n",(0,o.jsxs)(n.p,{children:["The official Docusaurus TypeScript config has been re-internalized from the external package ",(0,o.jsx)(n.a,{href:"https://www.npmjs.com/package/@tsconfig/docusaurus",children:(0,o.jsx)(n.code,{children:"@tsconfig/docusaurus"})})," to our new monorepo package ",(0,o.jsx)(n.a,{href:"https://www.npmjs.com/package/@docusaurus/tsconfig",children:(0,o.jsx)(n.code,{children:"@docusaurus/tsconfig"})}),"."]}),"\n",(0,o.jsx)(n.p,{children:"This new package is versioned alongside all the other Docusaurus core packages, and will be used to ensure TypeScript retro-compatibility and breaking changes on major version upgrades."}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsx)(n.p,{children:"The new Docusaurus v3 TypeScript config is sensibly the same as the former Docusaurus v2 TypeScript config. If you upgraded to TypeScript 5, using the Docusaurus v3 config on a v2 site is already possible:"}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-diff",metastring:'title="package.json"',children:' {\n "devDependencies": {\n- "@tsconfig/docusaurus": "^1.0.7",\n+ "@docusaurus/tsconfig": "^3.0.0-beta.0",\n }\n }\n'})}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-diff",metastring:'title="tsconfig.json"',children:' {\n- "extends": "@tsconfig/docusaurus/tsconfig.json",\n+ "extends": "@docusaurus/tsconfig",\n "compilerOptions": {\n "baseUrl": "."\n }\n }\n'})})]}),"\n",(0,o.jsx)(n.h3,{id:"admonition-warning",children:"Admonition warning"}),"\n",(0,o.jsxs)(n.p,{children:["For historical reasons, we support an undocumented admonition ",(0,o.jsx)(n.code,{children:":::warning"})," that renders with a red color."]}),"\n",(0,o.jsx)(n.admonition,{title:"Warning",type:"danger",children:(0,o.jsxs)(n.p,{children:["This is a Docusaurus v2 ",(0,o.jsx)(n.code,{children:":::warning"})," admonition."]})}),"\n",(0,o.jsxs)(n.p,{children:["However, the color and icon is historically wrong. Docusaurus v3 re-introduces ",(0,o.jsx)(n.code,{children:":::warning"})," admonition officially, documents it, and fix the color and icon."]}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:["This is a Docusaurus v3 ",(0,o.jsx)(n.code,{children:":::warning"})," admonition."]})}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsxs)(n.p,{children:["If you previously used the undocumented ",(0,o.jsx)(n.code,{children:":::warning"})," admonition, make sure to verify for each usage if yellow is now an appropriate color. If you want to keep the red color, use ",(0,o.jsx)(n.code,{children:":::danger"})," instead."]}),(0,o.jsxs)(n.p,{children:["Docusaurus v3 also ",(0,o.jsxs)(n.a,{href:"https://github.com/facebook/docusaurus/pull/9308",children:["deprecated the ",(0,o.jsx)(n.code,{children:":::caution"})]})," admonition. Please refactor ",(0,o.jsx)(n.code,{children:":::caution"})," (yellow) to either ",(0,o.jsx)(n.code,{children:":::warning"})," (yellow) or ",(0,o.jsx)(n.code,{children:":::danger"})," (red)."]})]}),"\n",(0,o.jsx)(n.h3,{id:"versioned-sidebars",children:"Versioned sidebars"}),"\n",(0,o.jsxs)(n.p,{children:["This breaking change will only affect ",(0,o.jsx)(n.strong,{children:"Docusaurus v2 early adopters"})," who versioned their docs before ",(0,o.jsx)(n.code,{children:"v2.0.0-beta.10"})," (December 2021)."]}),"\n",(0,o.jsxs)(n.p,{children:["When creating version ",(0,o.jsx)(n.code,{children:"v1.0.0"}),", the sidebar file contained a prefix ",(0,o.jsx)(n.code,{children:"version-v1.0.0/"})," that ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/9310",children:"Docusaurus v3 does not support anymore"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",metastring:'title="versioned_sidebars/version-v1.0.0-sidebars.json"',children:'{\n "version-v1.0.0/docs": [\n "version-v1.0.0/introduction",\n "version-v1.0.0/prerequisites"\n ]\n}\n'})}),"\n",(0,o.jsxs)(n.admonition,{title:"How to prepare",type:"tip",children:[(0,o.jsx)(n.p,{children:"Your Docusaurus v2 site is able to handle the 2 sidebar formats similarly."}),(0,o.jsx)(n.p,{children:"You can remove the useless versioned prefix from your versioned sidebars."}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",metastring:'title="versioned_sidebars/version-v1.0.0-sidebars.json"',children:'{\n "docs": ["introduction", "prerequisites"]\n}\n'})})]}),"\n",(0,o.jsx)(n.h2,{id:"try-docusaurus-v3-today",children:"Try Docusaurus v3 today"}),"\n",(0,o.jsxs)(n.p,{children:["Docusaurus v3 is now ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9312",children:"in beta"}),", and already used in production by ",(0,o.jsx)(n.a,{href:"https://reactnative.dev",children:"React-Native"}),", ",(0,o.jsx)(n.a,{href:"https://jestjs.io",children:"Jest"}),", and ",(0,o.jsx)(n.a,{href:"https://docusaurus.io/",children:"our own website"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["We think this new Docusaurus version is ",(0,o.jsx)(n.strong,{children:"robust and ready to be deployed in production"}),". It should be released officially soon, after receiving a positive feedback from early adopters of our community."]}),"\n",(0,o.jsxs)(n.p,{children:["We would really appreciate it if you try upgrading and report issues on the ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9312",children:"3.0.0-beta.0 release discussion thread"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"For most sites, the upgrade should be easy. If you prepared your site ahead of time as documented here, upgrading the following dependencies should be enough:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-diff",metastring:'title="package.json"',children:' {\n "dependencies": {\n- "@docusaurus/core": "2.4.3",\n- "@docusaurus/preset-classic": "2.4.3",\n- "@mdx-js/react": "^1.6.22",\n+ "@docusaurus/core": "3.0.0-beta.0",\n+ "@docusaurus/preset-classic": "3.0.0-beta.0",\n+ "@mdx-js/react": "^3.0.0",\n "clsx": "^2.0.0",\n "prism-react-renderer": "^1.3.5",\n- "react": "^17.0.2",\n- "react-dom": "^17.0.2"\n+ "react": "^18.2.0",\n+ "react-dom": "^18.2.0"\n },\n "devDependencies": {\n- "@docusaurus/module-type-aliases": "2.4.3"\n+ "@docusaurus/module-type-aliases": "3.0.0-beta.0"\n }\n }\n'})}),"\n",(0,o.jsx)(n.h2,{id:"ask-for-help",children:"Ask for help"}),"\n",(0,o.jsx)(n.p,{children:"We will be there to help you upgrade through the following support channels:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9336",children:"Docusaurus v3 - Upgrade Support"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://discord.com/channels/398180168688074762/1154771869094912090",children:"Docusaurus v3 - Discord channel #migration-v2-to-v3"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9053",children:"MDX v3 - Upgrade Support"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9337",children:"MDX v3 - Remark/Rehype Plugins Support"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://discord.com/channels/398180168688074762/1116724556976111616",children:"MDX v3 - Discord channel #migration-mdx-v3"})}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Alternatively, you can look for a paid ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9281",children:"Docusaurus Service Provider"})," to execute this upgrade for you. If your site is open source, you can also ask our community for ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9283",children:"free, benevolent help"}),"."]}),"\n",(0,o.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsx)(n.p,{children:"Docusaurus v3 is ready to try, and will be released soon. This article already gives you a good idea of all the major changes required to upgrade."}),"\n",(0,o.jsx)(n.p,{children:"The initial 3.0 release is focusing on dependency and infrastructure upgrades that will permit us to implement new exciting features. It also comes with a few useful features that we will detail in the final release notes."})]})}function h(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},80980:function(e,n,s){s.d(n,{Z:()=>a,a:()=>t});var r=s(67294);let o={},i=r.createContext(o);function t(e){let n=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),r.createElement(i.Provider,{value:n},e.children)}},24174:function(e){e.exports=JSON.parse('{"permalink":"/blog/preparing-your-site-for-docusaurus-v3","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2023/09-29-preparing-your-site-for-docusaurus-v3/index.mdx","source":"@site/blog/2023/09-29-preparing-your-site-for-docusaurus-v3/index.mdx","title":"Preparing your site for Docusaurus v3","description":"This blog post was written when Docusaurus v3 was in beta. There are some changes in dependency versions and upgrade steps you should be aware of if upgrading to Docusaurus v3 current stable releases. Use the upgrade guide for the most up-to-date migration steps.","date":"2023-09-29T00:00:00.000Z","tags":[{"inline":false,"label":"Maintenance","permalink":"/blog/tags/maintenance"}],"readingTime":13.975,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Preparing your site for Docusaurus v3","authors":["slorber"],"tags":["maintenance"],"slug":"/preparing-your-site-for-docusaurus-v3","image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Announcing Docusaurus 3.0","permalink":"/blog/releases/3.0"},"nextItem":{"title":"Upgrading frontend dependencies with confidence","permalink":"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing"}}')}}]); \ No newline at end of file diff --git a/assets/js/143e0c63.1ddc5481.js b/assets/js/143e0c63.1ddc5481.js new file mode 100644 index 0000000000..37669eafb0 --- /dev/null +++ b/assets/js/143e0c63.1ddc5481.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["35613"],{55313:function(e,t,a){a.r(t),a.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>g,frontMatter:()=>l,metadata:()=>i,toc:()=>h});var i=a(18451),n=a(85893),s=a(80980);let l={mdx:{format:"md"},date:"2021-06-18T20:00",authors:["antonygibbs","ArtFlag","besemuna","Christopher-Hsieh","dabeeeenster","e271828-","fgatti675","HunteRoi","jmazin","Joelpo","jonbarker68","Josh-Cena","l0u1sg","lex111","limkinZero","liorheber","louistiti","Massibian","nam-hle","Neilblaze","nirtamir2","phwt","pmqueiroz","pranabdas","PsychTechApS","SamChou19815","silva-nick","slorber","tiny-dancer","tsirlucas","wise-introvert"]},o="2.0.0-beta.1",r={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},h=[];function u(e){return(0,n.jsx)(n.Fragment,{})}function g(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},80980:function(e,t,a){a.d(t,{Z:()=>o,a:()=>l});var i=a(67294);let n={},s=i.createContext(n);function l(e){let t=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),i.createElement(s.Provider,{value:t},e.children)}},18451:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.1","source":"@site/changelog/source/2.0.0-beta.1.md","title":"2.0.0-beta.1","description":"New Feature","date":"2021-06-18T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"antonygibbs","alias":"antonygibbs","url":"https://github.com/antonygibbs","imageURL":"https://github.com/antonygibbs.png","key":"antonygibbs","page":null},{"name":"Arthur","alias":"ArtFlag","url":"https://github.com/ArtFlag","imageURL":"https://github.com/ArtFlag.png","key":"ArtFlag","page":null},{"name":"besemuna","alias":"besemuna","url":"https://github.com/besemuna","imageURL":"https://github.com/besemuna.png","key":"besemuna","page":null},{"name":"Christopher Hsieh","alias":"Christopher-Hsieh","url":"https://github.com/Christopher-Hsieh","imageURL":"https://github.com/Christopher-Hsieh.png","key":"Christopher-Hsieh","page":null},{"name":"Ben Rometsch","alias":"dabeeeenster","url":"https://github.com/dabeeeenster","imageURL":"https://github.com/dabeeeenster.png","key":"dabeeeenster","page":null},{"name":"e271828-","alias":"e271828-","url":"https://github.com/e271828-","imageURL":"https://github.com/e271828-.png","key":"e271828-","page":null},{"name":"fgatti675","alias":"fgatti675","url":"https://github.com/fgatti675","imageURL":"https://github.com/fgatti675.png","key":"fgatti675","page":null},{"name":"Tina\xebl Devresse","alias":"HunteRoi","url":"https://github.com/HunteRoi","imageURL":"https://github.com/HunteRoi.png","key":"HunteRoi","page":null},{"name":"Jonathan Mazin","alias":"jmazin","url":"https://github.com/jmazin","imageURL":"https://github.com/jmazin.png","key":"jmazin","page":null},{"name":"Joel","alias":"Joelpo","url":"https://github.com/Joelpo","imageURL":"https://github.com/Joelpo.png","key":"Joelpo","page":null},{"name":"Jon Barker","alias":"jonbarker68","url":"https://github.com/jonbarker68","imageURL":"https://github.com/jonbarker68.png","key":"jonbarker68","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Louis Gallet","alias":"l0u1sg","url":"https://github.com/l0u1sg","imageURL":"https://github.com/l0u1sg.png","key":"l0u1sg","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Pablo Vidal","alias":"limkinZero","url":"https://github.com/limkinZero","imageURL":"https://github.com/limkinZero.png","key":"limkinZero","page":null},{"name":"Lior Heber","alias":"liorheber","url":"https://github.com/liorheber","imageURL":"https://github.com/liorheber.png","key":"liorheber","page":null},{"name":"Louis Grenard","alias":"louistiti","url":"https://github.com/louistiti","imageURL":"https://github.com/louistiti.png","key":"louistiti","page":null},{"name":"Massibian","alias":"Massibian","url":"https://github.com/Massibian","imageURL":"https://github.com/Massibian.png","key":"Massibian","page":null},{"name":"Nam Hoang Le","alias":"nam-hle","url":"https://github.com/nam-hle","imageURL":"https://github.com/nam-hle.png","key":"nam-hle","page":null},{"name":"Pratyay Banerjee","alias":"Neilblaze","url":"https://github.com/Neilblaze","imageURL":"https://github.com/Neilblaze.png","key":"Neilblaze","page":null},{"name":"nirtamir2","alias":"nirtamir2","url":"https://github.com/nirtamir2","imageURL":"https://github.com/nirtamir2.png","key":"nirtamir2","page":null},{"name":"phwt.smwt","alias":"phwt","url":"https://github.com/phwt","imageURL":"https://github.com/phwt.png","key":"phwt","page":null},{"name":"Pedro Queiroz","alias":"pmqueiroz","url":"https://github.com/pmqueiroz","imageURL":"https://github.com/pmqueiroz.png","key":"pmqueiroz","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"PsychTech","alias":"PsychTechApS","url":"https://github.com/PsychTechApS","imageURL":"https://github.com/PsychTechApS.png","key":"PsychTechApS","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"silva-nick","alias":"silva-nick","url":"https://github.com/silva-nick","imageURL":"https://github.com/silva-nick.png","key":"silva-nick","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"mg","alias":"tiny-dancer","url":"https://github.com/tiny-dancer","imageURL":"https://github.com/tiny-dancer.png","key":"tiny-dancer","page":null},{"name":"Lucas Correia","alias":"tsirlucas","url":"https://github.com/tsirlucas","imageURL":"https://github.com/tsirlucas.png","key":"tsirlucas","page":null},{"name":"Fardeen Panjwani","alias":"wise-introvert","url":"https://github.com/wise-introvert","imageURL":"https://github.com/wise-introvert.png","key":"wise-introvert","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-06-18T20:00","authors":["antonygibbs","ArtFlag","besemuna","Christopher-Hsieh","dabeeeenster","e271828-","fgatti675","HunteRoi","jmazin","Joelpo","jonbarker68","Josh-Cena","l0u1sg","lex111","limkinZero","liorheber","louistiti","Massibian","nam-hle","Neilblaze","nirtamir2","phwt","pmqueiroz","pranabdas","PsychTechApS","SamChou19815","silva-nick","slorber","tiny-dancer","tsirlucas","wise-introvert"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.2","permalink":"/changelog/2.0.0-beta.2"},"nextItem":{"title":"2.0.0-beta.0","permalink":"/changelog/2.0.0-beta.0"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/14b1b208.b97bb8ba.js b/assets/js/14b1b208.b97bb8ba.js new file mode 100644 index 0000000000..97e3afd023 --- /dev/null +++ b/assets/js/14b1b208.b97bb8ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["66466"],{32928:function(t){t.exports=JSON.parse('{"tag":{"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag","allTagsPath":"/tests/blog/tags","count":10,"unlisted":false},"listMetadata":{"permalink":"/tests/blog/tags/paginated-tag/page/2","page":2,"postsPerPage":3,"totalPages":4,"totalCount":10,"previousPage":"/tests/blog/tags/paginated-tag","nextPage":"/tests/blog/tags/paginated-tag/page/3","blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/14e6fd9e.bf3fe952.js b/assets/js/14e6fd9e.bf3fe952.js new file mode 100644 index 0000000000..a0e7faba4d --- /dev/null +++ b/assets/js/14e6fd9e.bf3fe952.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["47165"],{5256:function(t,e,n){n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>f,frontMatter:()=>a,metadata:()=>o,toc:()=>u});var o=n(49008),s=n(85893),r=n(80980);let a={},i="Test Relative Path",l={authorsImageUrls:[]},u=[];function c(t){return(0,s.jsx)(s.Fragment,{})}function f(t={}){let{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},80980:function(t,e,n){n.d(e,{Z:()=>i,a:()=>a});var o=n(67294);let s={},r=o.createContext(s);function a(t){let e=o.useContext(r);return o.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:a(t.components),o.createElement(r.Provider,{value:e},t.children)}},49008:function(t){t.exports=JSON.parse('{"permalink":"/tests/blog/2023/07/19/b","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2023-07-19-b.mdx","source":"@site/_dogfooding/_blog tests/2023-07-19-b.mdx","title":"Test Relative Path","description":"","date":"2023-07-19T00:00:00.000Z","tags":[],"readingTime":0,"hasTruncateMarker":false,"authors":[],"frontMatter":{},"unlisted":false,"prevItem":{"title":"Test if href in feed resolved correctly","permalink":"/tests/blog/2023/07/19/a"},"nextItem":{"title":"A post with html slug","permalink":"/tests/blog/x/y/z.html"}}')}}]); \ No newline at end of file diff --git a/assets/js/14eb3368.a4aa408b.js b/assets/js/14eb3368.a4aa408b.js deleted file mode 100644 index 379dbde091..0000000000 --- a/assets/js/14eb3368.a4aa408b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[6969],{6837:(e,s,t)=>{t.d(s,{A:()=>j});t(6540);var n=t(1750),r=t(8532),a=t(4271),i=t(5438),l=t(5739),c=t(4709),o=t(5e3),d=t(4848);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const m={breadcrumbHomeIcon:"breadcrumbHomeIcon_uaSn"};function h(){const e=(0,o.Ay)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(l.A,{"aria-label":(0,c.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:m.breadcrumbHomeIcon})})})}var b=t(2785),x=t(1571);function p(e){const s=function(e){let{breadcrumbs:s}=e;const{siteConfig:t}=(0,x.A)();return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:s.filter((e=>e.href)).map(((e,s)=>({"@type":"ListItem",position:s+1,name:e.label,item:`${t.url}${e.href}`})))}}({breadcrumbs:e.breadcrumbs});return(0,d.jsx)(b.A,{children:(0,d.jsx)("script",{type:"application/ld+json",children:JSON.stringify(s)})})}const v={breadcrumbsContainer:"breadcrumbsContainer_Wvrh"};function g(e){let{children:s,href:t,isLast:n}=e;const r="breadcrumbs__link";return n?(0,d.jsx)("span",{className:r,children:s}):t?(0,d.jsx)(l.A,{className:r,href:t,children:(0,d.jsx)("span",{children:s})}):(0,d.jsx)("span",{className:r,children:s})}function f(e){let{children:s,active:t}=e;return(0,d.jsx)("li",{className:(0,n.A)("breadcrumbs__item",{"breadcrumbs__item--active":t}),children:s})}function j(){const e=(0,a.OF)(),s=(0,i.Dt)();return e?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(p,{breadcrumbs:e}),(0,d.jsx)("nav",{className:(0,n.A)(r.G.docs.docBreadcrumbs,v.breadcrumbsContainer),"aria-label":(0,c.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",children:[s&&(0,d.jsx)(h,{}),e.map(((s,t)=>{const n=t===e.length-1,r="category"===s.type&&s.linkUnlisted?void 0:s.href;return(0,d.jsx)(f,{active:n,children:(0,d.jsx)(g,{href:r,isLast:n,children:s.label})},t)}))]})})]}):null}},1022:(e,s,t)=>{t.r(s),t.d(s,{default:()=>I});t(6540);var n=t(5861),r=t(4271),a=t(5e3),i=t(1750),l=t(5739),c=t(7054),o=t(73),d=t(4709),u=t(2409);const m={cardContainer:"cardContainer_Uewx",cardTitle:"cardTitle_dwRT",cardDescription:"cardDescription_mCBT"};var h=t(4848);function b(e){let{className:s,href:t,children:n}=e;return(0,h.jsx)(l.A,{href:t,className:(0,i.A)("card padding--lg",m.cardContainer,s),children:n})}function x(e){let{className:s,href:t,icon:n,title:r,description:a}=e;return(0,h.jsxs)(b,{href:t,className:s,children:[(0,h.jsxs)(u.A,{as:"h2",className:(0,i.A)("text--truncate",m.cardTitle),title:r,children:[n," ",r]}),a&&(0,h.jsx)("p",{className:(0,i.A)("text--truncate",m.cardDescription),title:a,children:a})]})}function p(e){let{item:s}=e;const t=(0,r.Nr)(s),n=function(){const{selectMessage:e}=(0,c.W)();return s=>e(s,(0,d.T)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:s}))}();return t?(0,h.jsx)(x,{className:s.className,href:t,icon:"\ud83d\uddc3\ufe0f",title:s.label,description:s.description??n(s.items.length)}):null}function v(e){let{item:s}=e;const t=(0,o.A)(s.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",n=(0,r.cC)(s.docId??void 0);return(0,h.jsx)(x,{className:s.className,href:s.href,icon:t,title:s.label,description:s.description??n?.description})}function g(e){let{item:s}=e;switch(s.type){case"link":return(0,h.jsx)(v,{item:s});case"category":return(0,h.jsx)(p,{item:s});default:throw new Error(`unknown item type ${JSON.stringify(s)}`)}}const f={docCardListItem:"docCardListItem_hvcp"};function j(e){let{className:s}=e;const t=(0,r.a4)();return(0,h.jsx)(N,{items:t,className:s})}function A(e){let{item:s}=e;return(0,h.jsx)("article",{className:(0,i.A)(f.docCardListItem,"col col--6"),children:(0,h.jsx)(g,{item:s})})}function N(e){const{items:s,className:t}=e;if(!s)return(0,h.jsx)(j,{...e});const n=(0,r.d1)(s);return(0,h.jsx)("section",{className:(0,i.A)("row",t),children:n.map(((e,s)=>(0,h.jsx)(A,{item:e},s)))})}var _=t(4232),L=t(913),T=t(458),k=t(6837);const w={generatedIndexPage:"generatedIndexPage_hs4p",title:"title_tRie"};function y(e){let{categoryGeneratedIndex:s}=e;return(0,h.jsx)(n.be,{title:s.title,description:s.description,keywords:s.keywords,image:(0,a.Ay)(s.image)})}function C(e){let{categoryGeneratedIndex:s}=e;const t=(0,r.$S)();return(0,h.jsxs)("div",{className:w.generatedIndexPage,children:[(0,h.jsx)(L.A,{}),(0,h.jsx)(k.A,{}),(0,h.jsx)(T.A,{}),(0,h.jsxs)("header",{children:[(0,h.jsx)(u.A,{as:"h1",className:w.title,children:s.title}),s.description&&(0,h.jsx)("p",{children:s.description})]}),(0,h.jsx)("article",{className:"margin-top--lg",children:(0,h.jsx)(N,{items:t.items,className:w.list})}),(0,h.jsx)("footer",{className:"margin-top--md",children:(0,h.jsx)(_.A,{previous:s.navigation.previous,next:s.navigation.next})})]})}function I(e){return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(y,{...e}),(0,h.jsx)(C,{...e})]})}},4232:(e,s,t)=>{t.d(s,{A:()=>l});t(6540);var n=t(1750),r=t(4709),a=t(8705),i=t(4848);function l(e){const{className:s,previous:t,next:l}=e;return(0,i.jsxs)("nav",{className:(0,n.A)(s,"pagination-nav"),"aria-label":(0,r.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,i.jsx)(a.A,{...t,subLabel:(0,i.jsx)(r.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),l&&(0,i.jsx)(a.A,{...l,subLabel:(0,i.jsx)(r.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},458:(e,s,t)=>{t.d(s,{A:()=>c});t(6540);var n=t(1750),r=t(4709),a=t(8532),i=t(8218),l=t(4848);function c(e){let{className:s}=e;const t=(0,i.r)();return t.badge?(0,l.jsx)("span",{className:(0,n.A)(s,a.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(r.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:t.label},children:"Version: {versionLabel}"})}):null}},913:(e,s,t)=>{t.d(s,{A:()=>p});t(6540);var n=t(1750),r=t(1571),a=t(5739),i=t(4709),l=t(5996),c=t(8532),o=t(2375),d=t(8218),u=t(4848);const m={unreleased:function(e){let{siteTitle:s,versionMetadata:t}=e;return(0,u.jsx)(i.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:s,versionLabel:(0,u.jsx)("b",{children:t.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:s,versionMetadata:t}=e;return(0,u.jsx)(i.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:s,versionLabel:(0,u.jsx)("b",{children:t.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const s=m[e.versionMetadata.banner];return(0,u.jsx)(s,{...e})}function b(e){let{versionLabel:s,to:t,onClick:n}=e;return(0,u.jsx)(i.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:s,latestVersionLink:(0,u.jsx)("b",{children:(0,u.jsx)(a.A,{to:t,onClick:n,children:(0,u.jsx)(i.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function x(e){let{className:s,versionMetadata:t}=e;const{siteConfig:{title:a}}=(0,r.A)(),{pluginId:i}=(0,l.vT)({failfast:!0}),{savePreferredVersionName:d}=(0,o.g1)(i),{latestDocSuggestion:m,latestVersionSuggestion:x}=(0,l.HW)(i),p=m??(v=x).docs.find((e=>e.id===v.mainDocId));var v;return(0,u.jsxs)("div",{className:(0,n.A)(s,c.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,u.jsx)("div",{children:(0,u.jsx)(h,{siteTitle:a,versionMetadata:t})}),(0,u.jsx)("div",{className:"margin-top--md",children:(0,u.jsx)(b,{versionLabel:x.label,to:p.path,onClick:()=>d(x.name)})})]})}function p(e){let{className:s}=e;const t=(0,d.r)();return t.banner?(0,u.jsx)(x,{className:s,versionMetadata:t}):null}},8705:(e,s,t)=>{t.d(s,{A:()=>i});t(6540);var n=t(1750),r=t(5739),a=t(4848);function i(e){const{permalink:s,title:t,subLabel:i,isNext:l}=e;return(0,a.jsxs)(r.A,{className:(0,n.A)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:s,children:[i&&(0,a.jsx)("div",{className:"pagination-nav__sublabel",children:i}),(0,a.jsx)("div",{className:"pagination-nav__label",children:t})]})}},7054:(e,s,t)=>{t.d(s,{W:()=>o});var n=t(6540),r=t(1571);const a=["zero","one","two","few","many","other"];function i(e){return a.filter((s=>e.includes(s)))}const l={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function c(){const{i18n:{currentLocale:e}}=(0,r.A)();return(0,n.useMemo)((()=>{try{return function(e){const s=new Intl.PluralRules(e);return{locale:e,pluralForms:i(s.resolvedOptions().pluralCategories),select:e=>s.select(e)}}(e)}catch(s){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${s.message}\n`),l}}),[e])}function o(){const e=c();return{selectMessage:(s,t)=>function(e,s,t){const n=e.split("|");if(1===n.length)return n[0];n.length>t.pluralForms.length&&console.error(`For locale=${t.locale}, a maximum of ${t.pluralForms.length} plural forms are expected (${t.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const r=t.select(s),a=t.pluralForms.indexOf(r);return n[Math.min(a,n.length-1)]}(t,s,e)}}}}]); \ No newline at end of file diff --git a/assets/js/14eb3368.f41e19d0.js b/assets/js/14eb3368.f41e19d0.js new file mode 100644 index 0000000000..f846d8efcb --- /dev/null +++ b/assets/js/14eb3368.f41e19d0.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["81983"],{20012:function(e,t,n){n.d(t,{Z:()=>g});var s=n(85893);n(67294);var r=n(90496),i=n(55951),a=n(85921),l=n(71208),c=n(35363),o=n(77827),d=n(83631);function u(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}function h(){let e=(0,d.ZP)("/");return(0,s.jsx)("li",{className:"breadcrumbs__item",children:(0,s.jsx)(c.Z,{"aria-label":(0,o.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,s.jsx)(u,{className:"breadcrumbHomeIcon_uaSn"})})})}var m=n(53327),x=n(8156);function b(e){let t=function(e){let{breadcrumbs:t}=e,{siteConfig:n}=(0,x.Z)();return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:t.filter(e=>e.href).map((e,t)=>({"@type":"ListItem",position:t+1,name:e.label,item:`${n.url}${e.href}`}))}}({breadcrumbs:e.breadcrumbs});return(0,s.jsx)(m.Z,{children:(0,s.jsx)("script",{type:"application/ld+json",children:JSON.stringify(t)})})}function p(e){let{children:t,href:n,isLast:r}=e,i="breadcrumbs__link";return r?(0,s.jsx)("span",{className:i,children:t}):n?(0,s.jsx)(c.Z,{className:i,href:n,children:(0,s.jsx)("span",{children:t})}):(0,s.jsx)("span",{className:i,children:t})}function f(e){let{children:t,active:n}=e;return(0,s.jsx)("li",{className:(0,r.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:t})}function g(){let e=(0,a.s1)(),t=(0,l.Ns)();return e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(b,{breadcrumbs:e}),(0,s.jsx)("nav",{className:(0,r.Z)(i.k.docs.docBreadcrumbs,"breadcrumbsContainer_Wvrh"),"aria-label":(0,o.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,s.jsxs)("ul",{className:"breadcrumbs",children:[t&&(0,s.jsx)(h,{}),e.map((t,n)=>{let r=n===e.length-1,i="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,s.jsx)(f,{active:r,children:(0,s.jsx)(p,{href:i,isLast:r,children:t.label})},n)})]})})]}):null}},86762:function(e,t,n){n.d(t,{Z:()=>v});var s=n(85893);n(67294);var r=n(90496),i=n(85921),a=n(35363),l=n(11660),c=n(82095),o=n(77827),d=n(57922);let u={cardContainer:"cardContainer_Uewx",cardTitle:"cardTitle_dwRT",cardDescription:"cardDescription_mCBT"};function h(e){let{className:t,href:n,children:i}=e;return(0,s.jsx)(a.Z,{href:n,className:(0,r.Z)("card padding--lg",u.cardContainer,t),children:i})}function m(e){let{className:t,href:n,icon:i,title:a,description:l}=e;return(0,s.jsxs)(h,{href:n,className:t,children:[(0,s.jsxs)(d.Z,{as:"h2",className:(0,r.Z)("text--truncate",u.cardTitle),title:a,children:[i," ",a]}),l&&(0,s.jsx)("p",{className:(0,r.Z)("text--truncate",u.cardDescription),title:l,children:l})]})}function x(e){let{item:t}=e,n=(0,i.LM)(t),r=function(){let{selectMessage:e}=(0,l.c)();return t=>e(t,(0,o.I)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t}))}();return n?(0,s.jsx)(m,{className:t.className,href:n,icon:"\uD83D\uDDC3\uFE0F",title:t.label,description:t.description??r(t.items.length)}):null}function b(e){let{item:t}=e,n=(0,c.Z)(t.href)?"\uD83D\uDCC4\uFE0F":"\uD83D\uDD17",r=(0,i.xz)(t.docId??void 0);return(0,s.jsx)(m,{className:t.className,href:t.href,icon:n,title:t.label,description:t.description??r?.description})}function p(e){let{item:t}=e;switch(t.type){case"link":return(0,s.jsx)(b,{item:t});case"category":return(0,s.jsx)(x,{item:t});default:throw Error(`unknown item type ${JSON.stringify(t)}`)}}function f(e){let{className:t}=e,n=(0,i.Ok)();return(0,s.jsx)(v,{items:n,className:t})}function g(e){let{item:t}=e;return(0,s.jsx)("article",{className:(0,r.Z)("docCardListItem_hvcp","col col--6"),children:(0,s.jsx)(p,{item:t})})}function v(e){let{items:t,className:n}=e;if(!t)return(0,s.jsx)(f,{...e});let a=(0,i.MN)(t);return(0,s.jsx)("section",{className:(0,r.Z)("row",n),children:a.map((e,t)=>(0,s.jsx)(g,{item:e},t))})}},62742:function(e,t,n){n.d(t,{Z:()=>l});var s=n(85893);n(67294);var r=n(90496),i=n(77827),a=n(65773);function l(e){let{className:t,previous:n,next:l}=e;return(0,s.jsxs)("nav",{className:(0,r.Z)(t,"pagination-nav"),"aria-label":(0,i.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[n&&(0,s.jsx)(a.Z,{...n,subLabel:(0,s.jsx)(i.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),l&&(0,s.jsx)(a.Z,{...l,subLabel:(0,s.jsx)(i.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},4903:function(e,t,n){n.d(t,{Z:()=>c});var s=n(85893);n(67294);var r=n(90496),i=n(77827),a=n(55951),l=n(50223);function c(e){let{className:t}=e,n=(0,l.E)();return n.badge?(0,s.jsx)("span",{className:(0,r.Z)(t,a.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,s.jsx)(i.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},18219:function(e,t,n){n.d(t,{Z:()=>p});var s=n(85893);n(67294);var r=n(90496),i=n(8156),a=n(35363),l=n(77827),c=n(90158),o=n(55951),d=n(99887),u=n(50223);let h={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,s.jsx)(l.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,s.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,s.jsx)(l.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,s.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function m(e){let t=h[e.versionMetadata.banner];return(0,s.jsx)(t,{...e})}function x(e){let{versionLabel:t,to:n,onClick:r}=e;return(0,s.jsx)(l.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,s.jsx)("b",{children:(0,s.jsx)(a.Z,{to:n,onClick:r,children:(0,s.jsx)(l.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function b(e){let{className:t,versionMetadata:n}=e,{siteConfig:{title:a}}=(0,i.Z)(),{pluginId:l}=(0,c.gA)({failfast:!0}),{savePreferredVersionName:u}=(0,d.J)(l),{latestDocSuggestion:h,latestVersionSuggestion:b}=(0,c.Jo)(l),p=h??b.docs.find(e=>e.id===b.mainDocId);return(0,s.jsxs)("div",{className:(0,r.Z)(t,o.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,s.jsx)("div",{children:(0,s.jsx)(m,{siteTitle:a,versionMetadata:n})}),(0,s.jsx)("div",{className:"margin-top--md",children:(0,s.jsx)(x,{versionLabel:b.label,to:p.path,onClick:()=>u(b.name)})})]})}function p(e){let{className:t}=e,n=(0,u.E)();return n.banner?(0,s.jsx)(b,{className:t,versionMetadata:n}):null}},65773:function(e,t,n){n.d(t,{Z:()=>a});var s=n(85893);n(67294);var r=n(90496),i=n(35363);function a(e){let{permalink:t,title:n,subLabel:a,isNext:l}=e;return(0,s.jsxs)(i.Z,{className:(0,r.Z)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[a&&(0,s.jsx)("div",{className:"pagination-nav__sublabel",children:a}),(0,s.jsx)("div",{className:"pagination-nav__label",children:n})]})}},11660:function(e,t,n){n.d(t,{c:()=>c});var s=n(67294),r=n(8156);let i=["zero","one","two","few","many","other"];function a(e){return i.filter(t=>e.includes(t))}let l={locale:"en",pluralForms:a(["one","other"]),select:e=>1===e?"one":"other"};function c(){let e=function(){let{i18n:{currentLocale:e}}=(0,r.Z)();return(0,s.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:a(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),l}},[e])}();return{selectMessage:(t,n)=>(function(e,t,n){let s=e.split("|");if(1===s.length)return s[0];s.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);let r=n.select(t);return s[Math.min(n.pluralForms.indexOf(r),s.length-1)]})(n,t,e)}}},67162:function(e,t,n){n.r(t),n.d(t,{default:()=>j});var s=n(85893);n(67294);var r=n(85921),i=n(35363),a=n(77827),l=n(57335),c=n(83631),o=n(86762),d=n(62742),u=n(18219),h=n(4903),m=n(20012),x=n(57922);let b={generatedIndexPage:"generatedIndexPage_hs4p",title:"title_tRie"};function p(e){let{categoryGeneratedIndex:t}=e;return(0,s.jsx)(l.d,{title:t.title,description:t.description,keywords:t.keywords,image:(0,c.ZP)(t.image)})}function f(e){let{categoryGeneratedIndex:t}=e,n=(0,r.jA)();return(0,s.jsxs)("div",{className:b.generatedIndexPage,children:[(0,s.jsx)(u.Z,{}),(0,s.jsx)(m.Z,{}),(0,s.jsx)(h.Z,{}),(0,s.jsxs)("header",{children:[(0,s.jsx)(x.Z,{as:"h1",className:b.title,children:t.title}),t.description&&(0,s.jsx)("p",{children:t.description})]}),(0,s.jsx)("article",{className:"margin-top--lg",children:(0,s.jsx)(o.Z,{items:n.items,className:b.list})}),(0,s.jsx)("footer",{className:"margin-top--md",children:(0,s.jsx)(d.Z,{previous:t.navigation.previous,next:t.navigation.next})})]})}function g(e){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p,{...e}),(0,s.jsx)(f,{...e})]})}function v(){let e=r.vY("guides/docs/sidebar/items",void 0)?.path;return(0,s.jsx)("p",{className:"footerTip_UBUV",children:(0,s.jsx)(a.Z,{values:{guideLink:(0,s.jsx)(i.Z,{to:`${e}#category-link`,children:(0,s.jsx)(a.Z,{children:"the generated index page guide"})})},children:"Want to implement the same page? Read {guideLink} to find out!"})})}function j(e){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(g,{...e}),(0,s.jsx)(v,{})]})}}}]); \ No newline at end of file diff --git a/assets/js/153fc2ce.5485df17.js b/assets/js/153fc2ce.5485df17.js new file mode 100644 index 0000000000..040078c900 --- /dev/null +++ b/assets/js/153fc2ce.5485df17.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["11483"],{10474:function(t){t.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"/2024/07/03/dual-author","metadata":{"permalink":"/tests/blog/2024/07/03/dual-author","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2024-07-03-dual-author.mdx","source":"@site/_dogfooding/_blog tests/2024-07-03-dual-author.mdx","title":"Dual author socials","description":"Content","date":"2024-07-03T00:00:00.000Z","tags":[],"readingTime":1.4,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null}],"frontMatter":{"title":"Dual author socials","authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"}}]},"unlisted":false,"nextItem":{"title":"How multiple authors with socials looks","permalink":"/tests/blog/2024/07/03/multiple-authors"}},"content":"## Content\\n\\nContent about the blog post"},{"id":"/2024/07/03/multiple-authors","metadata":{"permalink":"/tests/blog/2024/07/03/multiple-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2024-07-03-multiple-authors.mdx","source":"@site/_dogfooding/_blog tests/2024-07-03-multiple-authors.mdx","title":"How multiple authors with socials looks","description":"Content","date":"2024-07-03T00:00:00.000Z","tags":[],"readingTime":1.4,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","stackoverflow":"https://stackoverflow.com/users/82609/sebastien-lorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","instagram":"https://www.instagram.com/thisweekinreact/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","instagram":"https://www.instagram.com/thisweekinreact"},"key":null,"page":null},{"name":"Zed Spencer-Milnes","title":"All the socials test","urL":"https://gingergeek.co.uk","image_url":"https://github.com/GingerGeek.png","page":false,"socials":{"x":"https://x.com/GingerGeek","github":"https://github.com/gingergeek","linkedin":"https://www.linkedin.com/in/zedspencermilnes/","youtube":"https://youtube.com/@gingergeekuk","bluesky":"https://bsky.app/profile/gingergeek.co.uk","stackoverflow":"https://stackoverflow.com/users/2064409","twitch":"https://twitch.tv/gingergeek","threads":"https://www.threads.net/@gingergeekuk","mastodon":"https://hachyderm.io/@zed"},"imageURL":"https://github.com/GingerGeek.png","key":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter","q":"https://thisweekinreact.com/newsletter","r":"https://thisweekinreact.com/newsletter","s":"https://thisweekinreact.com/newsletter","t":"https://thisweekinreact.com/newsletter","u":"https://thisweekinreact.com/newsletter","v":"https://thisweekinreact.com/newsletter","w":"https://thisweekinreact.com/newsletter","x":"https://thisweekinreact.com/newsletter","y":"https://thisweekinreact.com/newsletter","z":"https://thisweekinreact.com/newsletter"},"key":null,"page":null}],"frontMatter":{"title":"How multiple authors with socials looks","authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","stackoverflow":"https://stackoverflow.com/users/82609/sebastien-lorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","instagram":"https://www.instagram.com/thisweekinreact/","newsletter":"https://thisweekinreact.com/newsletter"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","instagram":"thisweekinreact"}},{"name":"Zed Spencer-Milnes","title":"All the socials test","urL":"https://gingergeek.co.uk","image_url":"https://github.com/GingerGeek.png","page":false,"socials":{"x":"GingerGeek","github":"gingergeek","linkedin":"zedspencermilnes","youtube":"gingergeekuk","bluesky":"gingergeek.co.uk","stackoverflow":"2064409","twitch":"gingergeek","threads":"gingergeekuk","mastodon":"https://hachyderm.io/@zed"},"imageURL":"https://github.com/GingerGeek.png"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter","q":"https://thisweekinreact.com/newsletter","r":"https://thisweekinreact.com/newsletter","s":"https://thisweekinreact.com/newsletter","t":"https://thisweekinreact.com/newsletter","u":"https://thisweekinreact.com/newsletter","v":"https://thisweekinreact.com/newsletter","w":"https://thisweekinreact.com/newsletter","x":"https://thisweekinreact.com/newsletter","y":"https://thisweekinreact.com/newsletter","z":"https://thisweekinreact.com/newsletter"}}]},"unlisted":false,"prevItem":{"title":"Dual author socials","permalink":"/tests/blog/2024/07/03/dual-author"},"nextItem":{"title":"Single author socials","permalink":"/tests/blog/2024/07/03/single-author"}},"content":"## Content\\n\\nContent about the blog post"},{"id":"/2024/07/03/single-author","metadata":{"permalink":"/tests/blog/2024/07/03/single-author","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2024-07-03-single-author.mdx","source":"@site/_dogfooding/_blog tests/2024-07-03-single-author.mdx","title":"Single author socials","description":"Content","date":"2024-07-03T00:00:00.000Z","tags":[],"readingTime":1.4,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null}],"frontMatter":{"title":"Single author socials","authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"}}]},"unlisted":false,"prevItem":{"title":"How multiple authors with socials looks","permalink":"/tests/blog/2024/07/03/multiple-authors"},"nextItem":{"title":"Ensure heading anchor slugs respect GitHub emoji behavior","permalink":"/tests/blog/2023/08/05/"}},"content":"## Content\\n\\nContent about the blog post"},{"id":"/2023/08/05/","metadata":{"permalink":"/tests/blog/2023/08/05/","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2023-08-05.mdx","source":"@site/_dogfooding/_blog tests/2023-08-05.mdx","title":"Ensure heading anchor slugs respect GitHub emoji behavior","description":"This is a friendly header","date":"2023-08-05T00:00:00.000Z","tags":[],"readingTime":3.2,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Ensure heading anchor slugs respect GitHub emoji behavior","date":"2023-08-05T00:00:00.000Z","sidebar_label":"Ensure heading... (custom label)"},"unlisted":false,"prevItem":{"title":"Single author socials","permalink":"/tests/blog/2024/07/03/single-author"},"nextItem":{"title":"Test if href in feed resolved correctly","permalink":"/tests/blog/2023/07/19/a"}},"content":"## :smiley: This is a friendly header\\n\\n## \uD83D\uDE03 This is a friendly header (real smiley)"},{"id":"/2023/07/19/a","metadata":{"permalink":"/tests/blog/2023/07/19/a","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2023-07-19-a.mdx","source":"@site/_dogfooding/_blog tests/2023-07-19-a.mdx","title":"Test if href in feed resolved correctly","description":"absolute full url","date":"2023-07-19T00:00:00.000Z","tags":[],"readingTime":2.2,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Test if href in feed resolved correctly"},"unlisted":false,"prevItem":{"title":"Ensure heading anchor slugs respect GitHub emoji behavior","permalink":"/tests/blog/2023/08/05/"},"nextItem":{"title":"Test Relative Path","permalink":"/tests/blog/2023/07/19/b"}},"content":"[absolute full url](https://github.com/facebook/docusaurus)\\n\\n[absolute url with implicit domain name](/tests/blog/2023/07/19/b)\\n\\n[relative url](2023-07-19-b.mdx)"},{"id":"/2023/07/19/b","metadata":{"permalink":"/tests/blog/2023/07/19/b","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2023-07-19-b.mdx","source":"@site/_dogfooding/_blog tests/2023-07-19-b.mdx","title":"Test Relative Path","description":"","date":"2023-07-19T00:00:00.000Z","tags":[],"readingTime":0,"hasTruncateMarker":false,"authors":[],"frontMatter":{},"unlisted":false,"prevItem":{"title":"Test if href in feed resolved correctly","permalink":"/tests/blog/2023/07/19/a"},"nextItem":{"title":"A post with html slug","permalink":"/tests/blog/x/y/z.html"}},"content":""},{"id":"/x/y/z.html","metadata":{"permalink":"/tests/blog/x/y/z.html","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-10-02-html-slug.mdx","source":"@site/_dogfooding/_blog tests/2022-10-02-html-slug.mdx","title":"A post with html slug","description":"This is a blog post with an html slug!","date":"2022-10-02T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":3.4,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"A post with html slug","tags":["paginated-tag"],"slug":"/x/y/z.html"},"unlisted":false,"prevItem":{"title":"Test Relative Path","permalink":"/tests/blog/2023/07/19/b"},"nextItem":{"title":"First post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/04/20/dup-footnote"}},"content":"This is a blog post with an html slug!\\n\\n```mdx-code-block\\nimport Partial from \\"./_partial.mdx\\"\\n\\n<Partial />\\n```"},{"id":"/2022/04/20/dup-footnote","metadata":{"permalink":"/tests/blog/2022/04/20/dup-footnote","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-04-20-dup-footnote.mdx","source":"@site/_dogfooding/_blog tests/2022-04-20-dup-footnote.mdx","title":"First post with footnote to test posts with same footnote reference.","description":"foo","date":"2022-04-20T00:00:00.000Z","tags":[],"readingTime":1.8,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"First post with footnote to test posts with same footnote reference."},"unlisted":false,"prevItem":{"title":"A post with html slug","permalink":"/tests/blog/x/y/z.html"},"nextItem":{"title":"Second post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/22/dup-footnote"}},"content":"foo[^1]\\n\\nbar[^2]\\n\\nbaz[^3]\\n\\n[^1]: foo\\n[^2]: bar\\n[^3]: baz"},{"id":"/2022/01/22/dup-footnote","metadata":{"permalink":"/tests/blog/2022/01/22/dup-footnote","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-01-22-dup-footnote.mdx","source":"@site/_dogfooding/_blog tests/2022-01-22-dup-footnote.mdx","title":"Second post with footnote to test posts with same footnote reference.","description":"foo","date":"2022-01-22T00:00:00.000Z","tags":[],"readingTime":1.8,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Second post with footnote to test posts with same footnote reference."},"unlisted":false,"prevItem":{"title":"First post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/04/20/dup-footnote"},"nextItem":{"title":"Third post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/21/dup-footnote"}},"content":"foo[^1]\\n\\nbar[^2]\\n\\nbaz[^3]\\n\\n[^1]: foo\\n[^2]: bar\\n[^3]: baz"},{"id":"/2022/01/21/dup-footnote","metadata":{"permalink":"/tests/blog/2022/01/21/dup-footnote","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-01-21-dup-footnote.mdx","source":"@site/_dogfooding/_blog tests/2022-01-21-dup-footnote.mdx","title":"Third post with footnote to test posts with same footnote reference.","description":"foo","date":"2022-01-21T00:00:00.000Z","tags":[],"readingTime":1.8,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Third post with footnote to test posts with same footnote reference."},"unlisted":false,"prevItem":{"title":"Second post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/22/dup-footnote"},"nextItem":{"title":"Image-only authors","permalink":"/tests/blog/2022/01/20/image-only-authors"}},"content":"foo[^1]\\n\\nbar[^2]\\n\\nbaz[^3]\\n\\n[^1]: foo\\n[^2]: bar\\n[^3]: baz"},{"id":"/2022/01/20/image-only-authors","metadata":{"permalink":"/tests/blog/2022/01/20/image-only-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-01-20-image-only-authors.mdx","source":"@site/_dogfooding/_blog tests/2022-01-20-image-only-authors.mdx","title":"Image-only authors","description":"You can make a compact authors list without author names!","date":"2022-01-20T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":2,"hasTruncateMarker":false,"authors":[{"image_url":"https://github.com/endiliey.png","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/lex111.png","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/slorber.png","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/yangshun.png","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/JoelMarcey.png","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/Josh-Cena.png","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/deltice.png","url":"https://github.com/deltice","imageURL":"https://github.com/deltice.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/SamChou19815.png","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/ericnakagawa.png","url":"https://github.com/ericnakagawa","imageURL":"https://github.com/ericnakagawa.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/Simek.png","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/hramos.png","url":"https://github.com/hramos","imageURL":"https://github.com/hramos.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/wgao19.png","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/rickyvetter.png","url":"https://github.com/rickyvetter","imageURL":"https://github.com/rickyvetter.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/fanny.png","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/armano2.png","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/RDIL.png","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/teikjun.png","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/hong4rc.png","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/anshulrgoyal.png","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/italicize.png","url":"https://github.com/italicize","imageURL":"https://github.com/italicize.png","socials":{},"key":null,"page":null}],"frontMatter":{"authors":[{"image_url":"https://github.com/endiliey.png","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png"},{"image_url":"https://github.com/lex111.png","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png"},{"image_url":"https://github.com/slorber.png","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png"},{"image_url":"https://github.com/yangshun.png","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png"},{"image_url":"https://github.com/JoelMarcey.png","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png"},{"image_url":"https://github.com/Josh-Cena.png","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png"},{"image_url":"https://github.com/deltice.png","url":"https://github.com/deltice","imageURL":"https://github.com/deltice.png"},{"image_url":"https://github.com/SamChou19815.png","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png"},{"image_url":"https://github.com/ericnakagawa.png","url":"https://github.com/ericnakagawa","imageURL":"https://github.com/ericnakagawa.png"},{"image_url":"https://github.com/Simek.png","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png"},{"image_url":"https://github.com/hramos.png","url":"https://github.com/hramos","imageURL":"https://github.com/hramos.png"},{"image_url":"https://github.com/wgao19.png","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png"},{"image_url":"https://github.com/rickyvetter.png","url":"https://github.com/rickyvetter","imageURL":"https://github.com/rickyvetter.png"},{"image_url":"https://github.com/fanny.png","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png"},{"image_url":"https://github.com/armano2.png","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png"},{"image_url":"https://github.com/RDIL.png","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png"},{"image_url":"https://github.com/teikjun.png","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png"},{"image_url":"https://github.com/hong4rc.png","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png"},{"image_url":"https://github.com/anshulrgoyal.png","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png"},{"image_url":"https://github.com/italicize.png","url":"https://github.com/italicize","imageURL":"https://github.com/italicize.png"}],"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Third post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/21/dup-footnote"},"nextItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/11/13/dup-title"}},"content":"You can make a compact authors list without author names!"},{"id":"/2021/11/13/dup-title","metadata":{"permalink":"/tests/blog/2021/11/13/dup-title","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-11-13-dup-title.mdx","source":"@site/_dogfooding/_blog tests/2021-11-13-dup-title.mdx","title":"Post with duplicate title","description":"I hope I\'m still here","date":"2021-11-13T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":1,"hasTruncateMarker":false,"authors":[],"frontMatter":{"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Image-only authors","permalink":"/tests/blog/2022/01/20/image-only-authors"},"nextItem":{"title":"Blog post MDX require Feed tests","permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests"}},"content":"I hope I\'m still here"},{"id":"/2021/10/08/blog-post-mdx-require-feed-tests","metadata":{"permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-10-08-blog-post-mdx-require-feed-tests.mdx","source":"@site/_dogfooding/_blog tests/2021-10-08-blog-post-mdx-require-feed-tests.mdx","title":"Blog post MDX require Feed tests","description":"Some MDX tests, mostly to test how the RSS feed render those","date":"2021-10-08T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"},{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long"},{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long"},{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long"}],"readingTime":6.6,"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Blog post MDX require Feed tests","authors":["slorber"],"tags":["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"]},"unlisted":false,"prevItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/11/13/dup-title"},"nextItem":{"title":"Blog post MDX Feed tests","permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests"}},"content":"Some MDX tests, mostly to test how the RSS feed render those\\n\\n{/* truncate */}\\n\\nTest MDX with require calls\\n\\nimport useBaseUrl from \'@docusaurus/useBaseUrl\';\\n\\n<img src={useBaseUrl(\'/img/docusaurus.png\')} />\\n\\n<img src={require(\'../../static/img/docusaurus.png\').default} />\\n\\n<img src={require(\'@site/static/img/docusaurus.png\').default} />"},{"id":"/2021/10/07/blog-post-mdx-feed-tests","metadata":{"permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx","source":"@site/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx","title":"Blog post MDX Feed tests","description":"Some MDX tests, mostly to test how the RSS feed render those","date":"2021-10-07T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"},{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long"},{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long"},{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long"}],"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Blog post MDX Feed tests","authors":["slorber"],"tags":["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"],"hide_reading_time":true},"unlisted":false,"prevItem":{"title":"Blog post MDX require Feed tests","permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests"},"nextItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/09/13/dup-title"}},"content":"Some MDX tests, mostly to test how the RSS feed render those\\n\\n{/* truncate */}\\n\\n## Imports\\n\\nHere are some imports:\\n\\nimport Tabs from \'@theme/Tabs\';\\nimport TabItem from \'@theme/TabItem\';\\n\\n## Exports\\n\\nHere are some exports:\\n\\nexport const someExport = 42;\\n\\n## Tabs test\\n\\nHere are some tabs:\\n\\n<Tabs>\\n <TabItem value=\\"apple\\" label=\\"Apple\\">\\n This is an apple \uD83C\uDF4E\\n </TabItem>\\n <TabItem value=\\"orange\\" label=\\"Orange\\">\\n This is an orange \uD83C\uDF4A\\n </TabItem>\\n</Tabs>\\n\\nHere are some tabs, inside `mdx-code-block`:\\n\\n```mdx-code-block\\n<Tabs>\\n <TabItem value=\\"apple\\" label=\\"Apple\\">\\n This is an apple \uD83C\uDF4E\\n </TabItem>\\n <TabItem value=\\"orange\\" label=\\"Orange\\">\\n This is an orange \uD83C\uDF4A\\n </TabItem>\\n</Tabs>\\n```"},{"id":"/2021/09/13/dup-title","metadata":{"permalink":"/tests/blog/2021/09/13/dup-title","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-09-13-dup-title.mdx","source":"@site/_dogfooding/_blog tests/2021-09-13-dup-title.mdx","title":"Post with duplicate title","description":"See https://github.com/facebook/docusaurus/issues/6059. This one and 2021-11-13-dup-title.md should both show up.","date":"2021-09-13T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":2,"hasTruncateMarker":false,"authors":[{"name":"Josh-Cena1","socials":{},"key":null,"page":null},{"name":"Josh-Cena2","image_url":"https://github.com/Josh-Cena.png","imageURL":"https://github.com/Josh-Cena.png","socials":{},"key":null,"page":null},{"name":"Josh-Cena3","url":"https://github.com/Josh-Cena","socials":{},"key":null,"page":null},{"name":"Josh-Cena4","email":"sidechen2003@gmail.com","socials":{},"key":null,"page":null}],"frontMatter":{"tags":["paginated-tag"],"authors":[{"name":"Josh-Cena1"},{"name":"Josh-Cena2","image_url":"https://github.com/Josh-Cena.png","imageURL":"https://github.com/Josh-Cena.png"},{"name":"Josh-Cena3","url":"https://github.com/Josh-Cena"},{"name":"Josh-Cena4","email":"sidechen2003@gmail.com"}]},"unlisted":false,"prevItem":{"title":"Blog post MDX Feed tests","permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests"},"nextItem":{"title":"Multiple authors","permalink":"/tests/blog/2021/08/23/multiple-authors"}},"content":"See https://github.com/facebook/docusaurus/issues/6059. This one and [2021-11-13-dup-title.md](./2021-11-13-dup-title.mdx) should both show up."},{"id":"/2021/08/23/multiple-authors","metadata":{"permalink":"/tests/blog/2021/08/23/multiple-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-08-23-multiple-authors.mdx","source":"@site/_dogfooding/_blog tests/2021-08-23-multiple-authors.mdx","title":"Multiple authors","description":"You can have multiple authors for one blog post!","date":"2021-08-23T00:00:00.000Z","tags":[{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"},{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Long","permalink":"/tests/blog/tags/long"},{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long"},{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long"},{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long"},{"inline":false,"label":"Long-long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long-long"}],"readingTime":1.8,"hasTruncateMarker":false,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Josh-Cena","image_url":"https://avatars.githubusercontent.com/u/55398995?v=4","url":"https://joshcena.com","imageURL":"https://avatars.githubusercontent.com/u/55398995?v=4","socials":{},"key":null,"page":null}],"frontMatter":{"authors":["slorber",{"name":"Josh-Cena","image_url":"https://avatars.githubusercontent.com/u/55398995?v=4","url":"https://joshcena.com","imageURL":"https://avatars.githubusercontent.com/u/55398995?v=4"}],"tags":["blog","docusaurus","paginated-tag","long","long-long","long-long-long","long-long-long-long","long-long-long-long-long"]},"unlisted":false,"prevItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/09/13/dup-title"},"nextItem":{"title":"Hmmm!","permalink":"/tests/blog/2021/08/22/no-author"}},"content":"You can have multiple authors for one blog post!"},{"id":"/2021/08/22/no-author","metadata":{"permalink":"/tests/blog/2021/08/22/no-author","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-08-22-no-author.mdx","source":"@site/_dogfooding/_blog tests/2021-08-22-no-author.mdx","title":"Hmmm!","description":"This is a blog post from an anonymous author!","date":"2021-08-22T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":3.4,"hasTruncateMarker":false,"authors":[],"frontMatter":{"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Multiple authors","permalink":"/tests/blog/2021/08/23/multiple-authors"},"nextItem":{"title":"Blog TOC FrontMatter tests","permalink":"/tests/blog/2021/08/21/blog-post-toc-tests"}},"content":"This is a blog post from an anonymous author!\\n\\n```mdx-code-block\\nimport Partial from \\"./_partial.mdx\\"\\n\\n<Partial />\\n```"},{"id":"/2021/08/21/blog-post-toc-tests","metadata":{"permalink":"/tests/blog/2021/08/21/blog-post-toc-tests","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-08-21-blog-post-toc-tests.mdx","source":"@site/_dogfooding/_blog tests/2021-08-21-blog-post-toc-tests.mdx","title":"Blog TOC FrontMatter tests","description":"{/ truncate /}","date":"2021-08-21T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":1.8,"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Blog TOC FrontMatter tests","authors":["slorber"],"toc_min_heading_level":2,"toc_max_heading_level":4,"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Hmmm!","permalink":"/tests/blog/2021/08/22/no-author"},"nextItem":{"title":"Using twice the blog plugin","permalink":"/tests/blog/2020/08/03/demo/second-blog-intro"}},"content":"{/* truncate */}\\n\\nimport Content from \'@site/_dogfooding/_partials/toc-tests.mdx\';\\n\\n<Content />"},{"id":"/2020/08/03/demo/second-blog-intro","metadata":{"permalink":"/tests/blog/2020/08/03/demo/second-blog-intro","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/demo/2020-08-03-second-blog-intro.mdx","source":"@site/_dogfooding/_blog tests/demo/2020-08-03-second-blog-intro.mdx","title":"Using twice the blog plugin","description":"Did you know you can use multiple instances of the same plugin?","date":"2020-08-03T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"}],"readingTime":7,"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Using twice the blog plugin","authors":["slorber"],"tags":["paginated-tag","blog","docusaurus"]},"unlisted":false,"prevItem":{"title":"Blog TOC FrontMatter tests","permalink":"/tests/blog/2021/08/21/blog-post-toc-tests"}},"content":"Did you know you can use multiple instances of the same plugin?\\n\\n{/* truncate */}\\n\\n:::tip\\n\\nUsing twice the blog plugin permits you to create more than one blog on the same Docusaurus website!\\n\\n:::"}]}}')}}]); \ No newline at end of file diff --git a/assets/js/1541e184.dc045ffe.js b/assets/js/1541e184.dc045ffe.js new file mode 100644 index 0000000000..34d9bded72 --- /dev/null +++ b/assets/js/1541e184.dc045ffe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["32189"],{71994:function(e,t,n){n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>u,default:()=>c,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var o=n(57479),a=n(85893),r=n(80980);let s={mdx:{format:"md"},date:"2024-08-13T20:00",authors:["cstangerup","GatienBoquet","josh-wong","slorber"]},u="3.5.2",i={authorsImageUrls:[void 0,void 0,void 0,void 0]},l=[];function g(e){return(0,a.jsx)(a.Fragment,{})}function c(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(g,{...e})}):g(e)}},80980:function(e,t,n){n.d(t,{Z:()=>u,a:()=>s});var o=n(67294);let a={},r=o.createContext(a);function s(e){let t=o.useContext(r);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function u(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:t},e.children)}},57479:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.5.2","source":"@site/changelog/source/3.5.2.md","title":"3.5.2","description":"Bug Fix","date":"2024-08-13T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Christian Stangerup","alias":"cstangerup","url":"https://github.com/cstangerup","imageURL":"https://github.com/cstangerup.png","key":"cstangerup","page":null},{"name":"Gatien Boquet","alias":"GatienBoquet","url":"https://github.com/GatienBoquet","imageURL":"https://github.com/GatienBoquet.png","key":"GatienBoquet","page":null},{"name":"Josh Wong","alias":"josh-wong","url":"https://github.com/josh-wong","imageURL":"https://github.com/josh-wong.png","key":"josh-wong","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-08-13T20:00","authors":["cstangerup","GatienBoquet","josh-wong","slorber"]},"unlisted":false,"prevItem":{"title":"3.6.0","permalink":"/changelog/3.6.0"},"nextItem":{"title":"3.5.1","permalink":"/changelog/3.5.1"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/1562cf35.cfa8fff7.js b/assets/js/1562cf35.cfa8fff7.js new file mode 100644 index 0000000000..5cb8044786 --- /dev/null +++ b/assets/js/1562cf35.cfa8fff7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["31481"],{95902:function(t){t.exports=JSON.parse('{"tag":{"label":"Blog","permalink":"/blog/tags/blog","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/blog","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/15749.37935124.js b/assets/js/15749.37935124.js new file mode 100644 index 0000000000..168237cd23 --- /dev/null +++ b/assets/js/15749.37935124.js @@ -0,0 +1,215 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["15749"],{29277:function(t,e,s){s.d(e,{Ee:()=>tB,J8:()=>l,_$:()=>N,bH:()=>tR});var i=s(8382),r=s(63985),n=s(84890),a=s(28923),o=function(){var t=(0,a.eW)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[1,2],s=[1,3],i=[1,4],r=[2,4],n=[1,9],o=[1,11],l=[1,16],c=[1,17],h=[1,18],d=[1,19],u=[1,32],p=[1,20],y=[1,21],g=[1,22],f=[1,23],S=[1,24],m=[1,26],_=[1,27],b=[1,28],T=[1,29],k=[1,30],E=[1,31],x=[1,34],$=[1,35],C=[1,36],D=[1,37],v=[1,33],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],A=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],W={trace:(0,a.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:(0,a.eW)(function(t,e,s,i,r,n,a){var o=n.length-1;switch(r){case 3:return i.setRootDoc(n[o]),n[o];case 4:this.$=[];break;case 5:"nl"!=n[o]&&(n[o-1].push(n[o]),this.$=n[o-1]);break;case 6:case 7:case 12:this.$=n[o];break;case 8:this.$="nl";break;case 13:let l=n[o-1];l.description=i.trimColon(n[o]),this.$=l;break;case 14:this.$={stmt:"relation",state1:n[o-2],state2:n[o]};break;case 15:let c=i.trimColon(n[o]);this.$={stmt:"relation",state1:n[o-3],state2:n[o-1],description:c};break;case 19:this.$={stmt:"state",id:n[o-3],type:"default",description:"",doc:n[o-1]};break;case 20:var h=n[o],d=n[o-2].trim();if(n[o].match(":")){var u=n[o].split(":");h=u[0],d=[d,u[1]]}this.$={stmt:"state",id:h,type:"default",description:d};break;case 21:this.$={stmt:"state",id:n[o-3],type:"default",description:n[o-5],doc:n[o-1]};break;case 22:this.$={stmt:"state",id:n[o],type:"fork"};break;case 23:this.$={stmt:"state",id:n[o],type:"join"};break;case 24:this.$={stmt:"state",id:n[o],type:"choice"};break;case 25:this.$={stmt:"state",id:i.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:n[o-1].trim(),note:{position:n[o-2].trim(),text:n[o].trim()}};break;case 29:this.$=n[o].trim(),i.setAccTitle(this.$);break;case 30:case 31:this.$=n[o].trim(),i.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:n[o-1].trim(),classes:n[o].trim()};break;case 34:this.$={stmt:"style",id:n[o-1].trim(),styleClass:n[o].trim()};break;case 35:this.$={stmt:"applyClass",id:n[o-1].trim(),styleClass:n[o].trim()};break;case 36:i.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:i.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:i.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:i.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:n[o].trim(),type:"default",description:""};break;case 44:case 45:this.$={stmt:"state",id:n[o-2].trim(),classes:[n[o].trim()],type:"default",description:""}}},"anonymous"),table:[{3:1,4:e,5:s,6:i},{1:[3]},{3:5,4:e,5:s,6:i},{3:6,4:e,5:s,6:i},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:n,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:c,19:h,22:d,24:u,25:p,26:y,27:g,28:f,29:S,32:25,33:m,35:_,37:b,38:T,42:k,45:E,48:x,49:$,50:C,51:D,54:v},t(L,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:l,17:c,19:h,22:d,24:u,25:p,26:y,27:g,28:f,29:S,32:25,33:m,35:_,37:b,38:T,42:k,45:E,48:x,49:$,50:C,51:D,54:v},t(L,[2,7]),t(L,[2,8]),t(L,[2,9]),t(L,[2,10]),t(L,[2,11]),t(L,[2,12],{14:[1,39],15:[1,40]}),t(L,[2,16]),{18:[1,41]},t(L,[2,18],{20:[1,42]}),{23:[1,43]},t(L,[2,22]),t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(L,[2,28]),{34:[1,48]},{36:[1,49]},t(L,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(A,[2,42],{55:[1,54]}),t(A,[2,43],{55:[1,55]}),t(L,[2,36]),t(L,[2,37]),t(L,[2,38]),t(L,[2,39]),t(L,[2,6]),t(L,[2,13]),{13:56,24:u,54:v},t(L,[2,17]),t(I,r,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(L,[2,29]),t(L,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(L,[2,14],{14:[1,67]}),{4:n,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:c,19:h,21:[1,68],22:d,24:u,25:p,26:y,27:g,28:f,29:S,32:25,33:m,35:_,37:b,38:T,42:k,45:E,48:x,49:$,50:C,51:D,54:v},t(L,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(L,[2,32]),t(L,[2,33]),t(L,[2,34]),t(L,[2,35]),t(A,[2,44]),t(A,[2,45]),t(L,[2,15]),t(L,[2,19]),t(I,r,{7:72}),t(L,[2,26]),t(L,[2,27]),{4:n,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:c,19:h,21:[1,73],22:d,24:u,25:p,26:y,27:g,28:f,29:S,32:25,33:m,35:_,37:b,38:T,42:k,45:E,48:x,49:$,50:C,51:D,54:v},t(L,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:(0,a.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},"parseError"),parse:(0,a.eW)(function(t){var e=this,s=[0],i=[],r=[null],n=[],o=this.table,l="",c=0,h=0,d=0,u=n.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;n.push(f);var S=p.options&&p.options.ranges;function m(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.eW)(function(t){s.length=s.length-2*t,r.length=r.length-t,n.length=n.length-t},"popStack"),(0,a.eW)(m,"lex");for(var _,b,T,k,E,x,$,C,D,v={};;){if(T=s[s.length-1],this.defaultActions[T]?k=this.defaultActions[T]:(null==_&&(_=m()),k=o[T]&&o[T][_]),void 0===k||!k.length||!k[0]){var L="";for(x in D=[],o[T])this.terminals_[x]&&x>2&&D.push("'"+this.terminals_[x]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[_]||_,line:p.yylineno,loc:f,expected:D})}if(k[0]instanceof Array&&k.length>1)throw Error("Parse Error: multiple actions possible at state: "+T+", token: "+_);switch(k[0]){case 1:s.push(_),r.push(p.yytext),n.push(p.yylloc),s.push(k[1]),_=null,b?(_=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,f=p.yylloc,d>0&&d--);break;case 2:if($=this.productions_[k[1]][1],v.$=r[r.length-$],v._$={first_line:n[n.length-($||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-($||1)].first_column,last_column:n[n.length-1].last_column},S&&(v._$.range=[n[n.length-($||1)].range[0],n[n.length-1].range[1]]),void 0!==(E=this.performAction.apply(v,[l,h,c,y.yy,k[1],r,n].concat(u))))return E;$&&(s=s.slice(0,-1*$*2),r=r.slice(0,-1*$),n=n.slice(0,-1*$)),s.push(this.productions_[k[1]][0]),r.push(v.$),n.push(v._$),C=o[s[s.length-2]][s[s.length-1]],s.push(C);break;case 3:return!0}}return!0},"parse")},w={EOF:1,parseError:(0,a.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,a.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,a.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,a.eW)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.eW)(function(){return this._more=!0,this},"more"),reject:(0,a.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,a.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,a.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,a.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,a.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,a.eW)(function(t,e){var s,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var n in r)this[n]=r[n];return!1},"test_match"),next:(0,a.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,r=this._currentRules(),n=0;n<r.length;n++)if((s=this._input.match(this.rules[r[n]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,r[n])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,a.eW)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,a.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,a.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,a.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,a.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,a.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.eW)(function(t,e,s,i){switch(s){case 0:return 41;case 1:case 42:return 48;case 2:case 43:return 49;case 3:case 44:return 50;case 4:case 45:return 51;case 5:case 6:case 8:case 9:case 10:case 11:case 54:case 56:case 62:break;case 7:case 77:return 5;case 12:case 32:return this.pushState("SCALE"),17;case 13:case 33:return 18;case 14:case 20:case 34:case 49:case 52:this.popState();break;case 15:return this.begin("acc_title"),33;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),35;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),38;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),39;case 25:return this.popState(),40;case 26:return this.pushState("CLASS"),45;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;case 28:return this.popState(),47;case 29:return this.pushState("STYLE"),42;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;case 31:return this.popState(),44;case 35:this.pushState("STATE");break;case 36:case 39:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 37:case 40:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),26;case 38:case 41:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),27;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";case 48:case 64:return this.popState(),"ID";case 50:return"STATE_DESCR";case 51:return 19;case 53:return this.popState(),this.pushState("struct"),20;case 55:return this.popState(),21;case 57:return this.begin("NOTE"),29;case 58:return this.popState(),this.pushState("NOTE_ID"),56;case 59:return this.popState(),this.pushState("NOTE_ID"),57;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 63:return"NOTE_TEXT";case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;case 66:return this.popState(),e.yytext=e.yytext.substr(2).trim(),31;case 67:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),31;case 68:case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return e.yytext=e.yytext.trim(),14;case 74:return 15;case 75:return 28;case 76:return 55;case 78:return"INVALID"}},"anonymous"),rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,29,35,42,43,44,45,54,55,56,57,71,72,73,74,75],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[31],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[30],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,33,34],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[48],inclusive:!1},STATE_STRING:{rules:[49,50],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,36,37,38,39,40,41,46,47,51,52,53],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,35,53,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}};function O(){this.yy={}}return W.lexer=w,(0,a.eW)(O,"Parser"),O.prototype=W,W.Parser=O,new O}();o.parser=o;var l=o,c="TB",h="state",d="relation",u="default",p="divider",y="fill:none",g="fill: #333",f="text",S="normal",m="rect",_="rectWithTitle",b="divider",T="roundedWithTitle",k="statediagram",E=`${k}-state`,x="transition",$=`${x} note-edge`,C=`${k}-note`,D=`${k}-cluster`,v=`${k}-cluster-alt`,L="parent",A="note",I="----",W=`${I}${A}`,w=`${I}${L}`,O=(0,a.eW)((t,e=c)=>{if(!t.doc)return e;let s=e;for(let e of t.doc)"dir"===e.stmt&&(s=e.value);return s},"getDir"),N={getClasses:(0,a.eW)(function(t,e){return e.db.extract(e.db.getRootDocV2()),e.db.getClasses()},"getClasses"),draw:(0,a.eW)(async function(t,e,s,o){a.cM.info("REF0:"),a.cM.info("Drawing state diagram (v2)",e);let{securityLevel:l,state:c,layout:h}=(0,a.nV)();o.db.extract(o.db.getRootDocV2());let d=o.db.getData(),u=(0,i.q)(e,l);d.type=o.type,d.layoutAlgorithm=h,d.nodeSpacing=c?.nodeSpacing||50,d.rankSpacing=c?.rankSpacing||50,d.markers=["barb"],d.diagramId=e,await (0,r.sY)(d,u),n.w8.insertTitle(u,"statediagramTitleText",c?.titleTopMargin??25,o.db.getDiagramTitle()),(0,i.j)(u,8,k,c?.useMaxWidth??!0)},"draw"),getDir:O},R=new Map,B=0;function Y(t="",e=0,s="",i=I){let r=null!==s&&s.length>0?`${i}${s}`:"";return`state-${t}${r}-${e}`}(0,a.eW)(Y,"stateDomId");var F=(0,a.eW)((t,e,s,i,r,n,o,l)=>{a.cM.trace("items",e),e.forEach(e=>{switch(e.stmt){case h:case u:V(t,e,s,i,r,n,o,l);break;case d:{V(t,e.state1,s,i,r,n,o,l),V(t,e.state2,s,i,r,n,o,l);let c={id:"edge"+B,start:e.state1.id,end:e.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:y,labelStyle:"",label:a.SY.sanitizeText(e.description,(0,a.nV)()),arrowheadStyle:g,labelpos:"c",labelType:f,thickness:S,classes:x,look:o};r.push(c),B++}}})},"setupDoc"),P=(0,a.eW)((t,e=c)=>{let s=e;if(t.doc)for(let e of t.doc)"dir"===e.stmt&&(s=e.value);return s},"getDir");function M(t,e,s){if(!e.id||"</join></fork>"===e.id||"</choice>"===e.id)return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(t=>{if(s.get(t)){let i=s.get(t);e.cssCompiledStyles=[...e.cssCompiledStyles,...i.styles]}}));let i=t.find(t=>t.id===e.id);i?Object.assign(i,e):t.push(e)}function G(t){return t?.classes?.join(" ")??""}function j(t){return t?.styles??[]}(0,a.eW)(M,"insertOrUpdateNode"),(0,a.eW)(G,"getClassesFromDbInfo"),(0,a.eW)(j,"getStylesFromDbInfo");var V=(0,a.eW)((t,e,s,i,r,n,o,l)=>{let c=e.id,h=s.get(c),d=G(h),k=j(h);if(a.cM.info("dataFetcher parsedItem",e,h,k),"root"!==c){let s=m;!0===e.start?s="stateStart":!1===e.start&&(s="stateEnd"),e.type!==u&&(s=e.type),R.get(c)||R.set(c,{id:c,shape:s,description:a.SY.sanitizeText(c,(0,a.nV)()),cssClasses:`${d} ${E}`,cssStyles:k});let h=R.get(c);e.description&&(Array.isArray(h.description)?(h.shape=_,h.description.push(e.description)):h.description?.length>0?(h.shape=_,h.description===c?h.description=[e.description]:h.description=[h.description,e.description]):(h.shape=m,h.description=e.description),h.description=a.SY.sanitizeTextOrArray(h.description,(0,a.nV)())),h.description?.length===1&&h.shape===_&&("group"===h.type?h.shape=T:h.shape=m),!h.type&&e.doc&&(a.cM.info("Setting cluster for XCX",c,P(e)),h.type="group",h.isGroup=!0,h.dir=P(e),h.shape=e.type===p?b:T,h.cssClasses=`${h.cssClasses} ${D} ${n?v:""}`);let x={labelStyle:"",shape:h.shape,label:h.description,cssClasses:h.cssClasses,cssCompiledStyles:[],cssStyles:h.cssStyles,id:c,dir:h.dir,domId:Y(c,B),type:h.type,isGroup:"group"===h.type,padding:8,rx:10,ry:10,look:o};if(x.shape===b&&(x.label=""),t&&"root"!==t.id&&(a.cM.trace("Setting node ",c," to be child of its parent ",t.id),x.parentId=t.id),x.centerLabel=!0,e.note){let t={labelStyle:"",shape:"note",label:e.note.text,cssClasses:C,cssStyles:[],cssCompilesStyles:[],id:c+W+"-"+B,domId:Y(c,B,A),type:h.type,isGroup:"group"===h.type,padding:(0,a.nV)().flowchart.padding,look:o,position:e.note.position},s=c+w,n={labelStyle:"",shape:"noteGroup",label:e.note.text,cssClasses:h.cssClasses,cssStyles:[],id:c+w,domId:Y(c,B,L),type:"group",isGroup:!0,padding:16,look:o,position:e.note.position};B++,n.id=s,t.parentId=s,M(i,n,l),M(i,t,l),M(i,x,l);let d=c,u=t.id;"left of"===e.note.position&&(d=t.id,u=c),r.push({id:d+"-"+u,start:d,end:u,arrowhead:"none",arrowTypeEnd:"",style:y,labelStyle:"",classes:$,arrowheadStyle:g,labelpos:"c",labelType:f,thickness:S,look:o})}else M(i,x,l)}e.doc&&(a.cM.trace("Adding nodes children "),F(e,e.doc,s,i,r,!n,o,l))},"dataFetcher"),z=(0,a.eW)(()=>{R.clear(),B=0},"reset"),U="start",H="color",X="fill";function J(){return new Map}(0,a.eW)(J,"newClassesList");var K=[],q=[],Z="LR",Q=[],tt=J(),te=(0,a.eW)(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),ts={root:te()},ti=ts.root,tr=0,tn=0,ta=(0,a.eW)(t=>JSON.parse(JSON.stringify(t)),"clone"),to=(0,a.eW)(t=>{a.cM.info("Setting root doc",t),Q=t},"setRootDoc"),tl=(0,a.eW)(()=>Q,"getRootDoc"),tc=(0,a.eW)((t,e,s)=>{if(e.stmt===d)tc(t,e.state1,!0),tc(t,e.state2,!1);else if(e.stmt===h&&("[*]"===e.id?(e.id=s?t.id+"_start":t.id+"_end",e.start=s):e.id=e.id.trim()),e.doc){let t;let s=[],i=[];for(t=0;t<e.doc.length;t++)if(e.doc[t].type===p){let r=ta(e.doc[t]);r.doc=ta(i),s.push(r),i=[]}else i.push(e.doc[t]);if(s.length>0&&i.length>0){let t={stmt:h,id:(0,n.Ox)(),type:"divider",doc:ta(i)};s.push(ta(t)),e.doc=s}e.doc.forEach(t=>tc(e,t,!0))}},"docTranslator"),th=(0,a.eW)(()=>(tc({id:"root"},{id:"root",doc:Q},!0),{id:"root",doc:Q}),"getRootDocV2"),td=(0,a.eW)(t=>{let e;e=t.doc?t.doc:t,a.cM.info(e),tp(!0),a.cM.info("Extract initial document:",e),e.forEach(t=>{switch(a.cM.warn("Statement",t.stmt),t.stmt){case h:tu(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case d:tE(t.state1,t.state2,t.description);break;case"classDef":tD(t.id.trim(),t.classes);break;case"style":{let e=t.id.trim().split(","),s=t.styleClass.split(",");e.forEach(t=>{let e=ty(t);if(void 0===e){let s=t.trim();tu(s),e=ty(s)}e.styles=s.map(t=>t.replace(/;/g,"")?.trim())})}break;case"applyClass":tL(t.id.trim(),t.styleClass)}});let s=tg(),i=(0,a.nV)().look;z(),V(void 0,th(),s,K,q,!0,i,tt),K.forEach(t=>{if(Array.isArray(t.label)){if(t.description=t.label.slice(1),t.isGroup&&t.description.length>0)throw Error("Group nodes can only have label. Remove the additional description for node ["+t.id+"]");t.label=t.label[0]}})},"extract"),tu=(0,a.eW)(function(t,e=u,s=null,i=null,r=null,n=null,o=null,l=null){let c=t?.trim();if(ti.states.has(c)?(ti.states.get(c).doc||(ti.states.get(c).doc=s),ti.states.get(c).type||(ti.states.get(c).type=e)):(a.cM.info("Adding state ",c,i),ti.states.set(c,{id:c,descriptions:[],type:e,doc:s,note:r,classes:[],styles:[],textStyles:[]})),i&&(a.cM.info("Setting state description",c,i),"string"==typeof i&&tx(c,i.trim()),"object"==typeof i&&i.forEach(t=>tx(c,t.trim()))),r){let t=ti.states.get(c);t.note=r,t.note.text=a.SY.sanitizeText(t.note.text,(0,a.nV)())}n&&(a.cM.info("Setting state classes",c,n),("string"==typeof n?[n]:n).forEach(t=>tL(c,t.trim()))),o&&(a.cM.info("Setting state styles",c,o),("string"==typeof o?[o]:o).forEach(t=>tA(c,t.trim()))),l&&(a.cM.info("Setting state styles",c,o),("string"==typeof l?[l]:l).forEach(t=>tI(c,t.trim())))},"addState"),tp=(0,a.eW)(function(t){K=[],q=[],ti=(ts={root:te()}).root,tr=0,tt=J(),t||(0,a.ZH)()},"clear"),ty=(0,a.eW)(function(t){return ti.states.get(t)},"getState"),tg=(0,a.eW)(function(){return ti.states},"getStates"),tf=(0,a.eW)(function(){a.cM.info("Documents = ",ts)},"logDocuments"),tS=(0,a.eW)(function(){return ti.relations},"getRelations");function tm(t=""){let e=t;return"[*]"===t&&(tr++,e=`${U}${tr}`),e}function t_(t="",e=u){return"[*]"===t?U:e}function tb(t=""){let e=t;return"[*]"===t&&(tr++,e=`end${tr}`),e}function tT(t="",e=u){return"[*]"===t?"end":e}function tk(t,e,s){let i=tm(t.id.trim()),r=t_(t.id.trim(),t.type),n=tm(e.id.trim()),o=t_(e.id.trim(),e.type);tu(i,r,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),tu(n,o,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),ti.relations.push({id1:i,id2:n,relationTitle:a.SY.sanitizeText(s,(0,a.nV)())})}(0,a.eW)(tm,"startIdIfNeeded"),(0,a.eW)(t_,"startTypeIfNeeded"),(0,a.eW)(tb,"endIdIfNeeded"),(0,a.eW)(tT,"endTypeIfNeeded"),(0,a.eW)(tk,"addRelationObjs");var tE=(0,a.eW)(function(t,e,s){if("object"==typeof t)tk(t,e,s);else{let i=tm(t.trim()),r=t_(t),n=tb(e.trim()),o=tT(e);tu(i,r),tu(n,o),ti.relations.push({id1:i,id2:n,title:a.SY.sanitizeText(s,(0,a.nV)())})}},"addRelation"),tx=(0,a.eW)(function(t,e){let s=ti.states.get(t),i=e.startsWith(":")?e.replace(":","").trim():e;s.descriptions.push(a.SY.sanitizeText(i,(0,a.nV)()))},"addDescription"),t$=(0,a.eW)(function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},"cleanupLabel"),tC=(0,a.eW)(()=>"divider-id-"+ ++tn,"getDividerId"),tD=(0,a.eW)(function(t,e=""){tt.has(t)||tt.set(t,{id:t,styles:[],textStyles:[]});let s=tt.get(t);null!=e&&e.split(",").forEach(t=>{let e=t.replace(/([^;]*);/,"$1").trim();if(RegExp(H).exec(t)){let t=e.replace(X,"bgFill").replace(H,X);s.textStyles.push(t)}s.styles.push(e)})},"addStyleClass"),tv=(0,a.eW)(function(){return tt},"getClasses"),tL=(0,a.eW)(function(t,e){t.split(",").forEach(function(t){let s=ty(t);if(void 0===s){let e=t.trim();tu(e),s=ty(e)}s.classes.push(e)})},"setCssClass"),tA=(0,a.eW)(function(t,e){let s=ty(t);void 0!==s&&s.styles.push(e)},"setStyle"),tI=(0,a.eW)(function(t,e){let s=ty(t);void 0!==s&&s.textStyles.push(e)},"setTextStyle"),tW=(0,a.eW)(()=>Z,"getDirection"),tw=(0,a.eW)(t=>{Z=t},"setDirection"),tO=(0,a.eW)(t=>t&&":"===t[0]?t.substr(1).trim():t.trim(),"trimColon"),tN=(0,a.eW)(()=>{let t=(0,a.nV)();return{nodes:K,edges:q,other:{},config:t,direction:O(th())}},"getData"),tR={getConfig:(0,a.eW)(()=>(0,a.nV)().state,"getConfig"),getData:tN,addState:tu,clear:tp,getState:ty,getStates:tg,getRelations:tS,getClasses:tv,getDirection:tW,addRelation:tE,getDividerId:tC,setDirection:tw,cleanupLabel:t$,lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:tf,getRootDoc:tl,setRootDoc:to,getRootDocV2:th,extract:td,trimColon:tO,getAccTitle:a.eu,setAccTitle:a.GN,getAccDescription:a.Mx,setAccDescription:a.U$,addStyleClass:tD,setCssClass:tL,addDescription:tx,setDiagramTitle:a.g2,getDiagramTitle:a.Kr},tB=(0,a.eW)(t=>` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor||t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor||t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground||t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg||t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // line-height: 1; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder||t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground||t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`,"getStyles")},8382:function(t,e,s){s.d(e,{j:()=>a,q:()=>n});var i=s(28923),r=s(11141),n=(0,i.eW)((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ys)("#i"+t)),("sandbox"===e?(0,r.Ys)(s.nodes()[0].contentDocument.body):(0,r.Ys)("body")).select(`[id="${t}"]`)},"getDiagramElement"),a=(0,i.eW)((t,e,s,r)=>{t.attr("class",s);let{width:n,height:a,x:c,y:h}=o(t,e);(0,i.v2)(t,a,n,r);let d=l(c,h,n,a,e);t.attr("viewBox",d),i.cM.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),o=(0,i.eW)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,i.eW)((t,e,s,i,r)=>`${t-r} ${e-r} ${s} ${i}`,"createViewBox")}}]); \ No newline at end of file diff --git a/assets/js/1582a4a4.391ca51a.js b/assets/js/1582a4a4.391ca51a.js new file mode 100644 index 0000000000..d2cf9dbbf9 --- /dev/null +++ b/assets/js/1582a4a4.391ca51a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["99850"],{84422:function(e,s,t){t.d(s,{Z:()=>n});let n=t.p+"assets/images/social-card-66116702bb73f0bf68a095ddaecc0fe4.png"},56254:function(e,s,t){t.d(s,{Z:()=>n});let n=t.p+"assets/images/hash-96c9ef1044dc1febfe3eefdc9350e2a0.png"},86386:function(e,s,t){t.d(s,{Z:()=>n});let n=t.p+"assets/images/social-card-66116702bb73f0bf68a095ddaecc0fe4.png"},23132:function(e,s,t){t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>n,toc:()=>c});var n=t(62625),i=t(85893),r=t(80980);let a={title:"Docusaurus 3.4",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-05-31T00:00:00.000Z")},o=void 0,l={image:t(84422).Z,authorsImageUrls:[void 0]},c=[{value:"Highlights",id:"highlights",level:2},{value:"Tags files",id:"tags-files",level:3},{value:"Hash Router - Experimental",id:"hash-router---experimental",level:3},{value:"Site Storage - Experimental",id:"site-storage---experimental",level:3},{value:"Other changes",id:"other-changes",level:2}];function h(e){let s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:["We are happy to announce ",(0,i.jsx)(s.strong,{children:"Docusaurus 3.4"}),"."]}),"\n",(0,i.jsxs)(s.p,{children:["Upgrading should be easy. Our ",(0,i.jsx)(s.a,{href:"/community/release-process",children:"release process"})," respects ",(0,i.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),". Minor versions do not include any breaking changes."]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"Docusaurus blog post social card",src:t(86386).Z+"",width:"1200",height:"600"})}),"\n",(0,i.jsx)(s.h2,{id:"highlights",children:"Highlights"}),"\n",(0,i.jsx)(s.h3,{id:"tags-files",children:"Tags files"}),"\n",(0,i.jsxs)(s.p,{children:["The docs and blog plugins both already supported a ",(0,i.jsx)(s.code,{children:"tags"})," front matter attribute, enabling you to group related content. But tags declared inline in the front matter are not always ideal."]}),"\n",(0,i.jsxs)(s.p,{children:["With ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10137",children:"#10137"}),", you can now declare a list of pre-defined tags in a ",(0,i.jsx)(s.code,{children:"tags.yml"})," file:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-yml",metastring:'title="blog/tags.yml"',children:"tag1:\n label: 'Tag 1'\n description: 'Tag 1 description'\n permalink: /tag-1-permalink\n\ntag2:\n label: 'Tag 2'\n description: 'Tag 2 description'\n permalink: /tag-2-permalink\n"})}),"\n",(0,i.jsx)(s.p,{children:"These predefined tags can be used in the front matter of your blog or docs files:"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-md",metastring:'title="blog/2024-05-31-my-blog-post.md"',children:"---\ntags: [tag1, tag2]\n---\n\n# Title\n\nContent\n"})}),"\n",(0,i.jsx)(s.admonition,{title:"Keeping tags usage consistent",type:"tip",children:(0,i.jsxs)(s.p,{children:["Use the new ",(0,i.jsx)(s.code,{children:"onInlineTags: 'throw'"})," plugin option to enforce the usage of predefined tags and prevent contributors from creating new unwanted tags."]})}),"\n",(0,i.jsx)(s.h3,{id:"hash-router---experimental",children:"Hash Router - Experimental"}),"\n",(0,i.jsxs)(s.p,{children:["With ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9859",children:"9859"}),", we added a new ",(0,i.jsx)(s.strong,{children:"experimental"})," hash router config option, useful for ",(0,i.jsx)(s.strong,{children:"offline browsing"})," by opening your site locally through the ",(0,i.jsx)(s.code,{children:"file://"})," protocol."]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-tsx",metastring:'title="docusaurus.config.js"',children:"export default {\n future: {\n experimental_router: 'hash',\n },\n};\n"})}),"\n",(0,i.jsx)(s.admonition,{type:"warning",children:(0,i.jsxs)(s.p,{children:["This mode is ",(0,i.jsx)(s.strong,{children:"not recommended for sites deployed through a web server"}),"."]})}),"\n",(0,i.jsxs)(s.p,{children:["When this mode is turned on, Docusaurus will opt out of static site rendering, and build a client-side single page application where all routes are prefixed with ",(0,i.jsx)(s.code,{children:"/#/"}),". A single ",(0,i.jsx)(s.code,{children:"index.html"})," file is generated. This file can be opened locally in your browser by simply clicking it, using the browser ",(0,i.jsx)(s.code,{children:"file://"})," protocol. This makes it possible to distribute a Docusaurus site as a ",(0,i.jsx)(s.code,{children:".zip"})," file so that readers can browse it offline, without having to install anything complex on their computer apart a web browser."]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"Docusaurus hash router - local browsing using the file:// protocol",src:t(56254).Z+"",width:"1203",height:"601"})}),"\n",(0,i.jsx)(s.p,{children:"Try browsing our own Docusaurus site built with the hash router:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://facebook.github.io/docusaurus/#/",children:"Docusaurus website - Hash Router web deployment"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/actions/workflows/build-hash-router.yml",children:"Docusaurus website - Hash Router downloadable GitHub artifacts"})}),"\n"]}),"\n",(0,i.jsx)(s.admonition,{title:"Experimental",type:"caution",children:(0,i.jsxs)(s.p,{children:["This feature is ",(0,i.jsx)(s.strong,{children:"experimental"}),". If you try it out, please let us know how it works for you ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/3825",children:"here"}),"."]})}),"\n",(0,i.jsx)(s.h3,{id:"site-storage---experimental",children:"Site Storage - Experimental"}),"\n",(0,i.jsxs)(s.p,{children:["Docusaurus uses the browser ",(0,i.jsx)(s.code,{children:"localStorage"})," API to persist UI state."]}),"\n",(0,i.jsxs)(s.p,{children:['But sometimes the storage space is "shared" between multiple sites using the same domain, leading to ',(0,i.jsx)(s.strong,{children:"storage key conflicts"}),". This generally happens in two cases"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["when working on multiple ",(0,i.jsx)(s.code,{children:"http://localhost:3000"})," sites"]}),"\n",(0,i.jsxs)(s.li,{children:["when hosting multiple sites under the same domain: ",(0,i.jsx)(s.code,{children:"https://example.com/site1/"})," and ",(0,i.jsx)(s.code,{children:"https://example.com/site2/"})]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["For this reason, we introduced a new ",(0,i.jsx)(s.strong,{children:"experimental"})," ",(0,i.jsx)(s.code,{children:"siteStorage"})," configuration option:"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-tsx",children:"export default {\n future: {\n experimental_storage: {\n type: 'localStorage',\n namespace: true,\n },\n },\n};\n"})}),"\n",(0,i.jsxs)(s.p,{children:["When ",(0,i.jsx)(s.code,{children:"namespace: true"})," is set, we apply a hash suffix to all the storage keys, making them unique to the current site (based on ",(0,i.jsx)(s.code,{children:"config.url"})," and ",(0,i.jsx)(s.code,{children:"config.baseUrl"}),". For example, the ",(0,i.jsx)(s.code,{children:"theme"})," storage key becomes ",(0,i.jsx)(s.code,{children:"theme-x6f"}),". It is also possible to provide your own custom suffix ",(0,i.jsx)(s.code,{children:"namespace: 'suffix'"}),". We also made it possible to use ",(0,i.jsx)(s.code,{children:"type: 'sessionStorage'"})," instead of the default ",(0,i.jsx)(s.code,{children:"localStorage"}),"."]}),"\n",(0,i.jsx)(s.admonition,{title:"Experimental",type:"caution",children:(0,i.jsxs)(s.p,{children:["This feature is ",(0,i.jsx)(s.strong,{children:"experimental"}),". If you try it out, please let us know how it works for you ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10121",children:"here"}),"."]})}),"\n",(0,i.jsx)(s.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,i.jsx)(s.p,{children:"Other notable changes include:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10151",children:"#10151"}),": add Turkmen (tk) theme translations"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10111",children:"#10111"}),": add Bulgarian (bg) theme translations"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10168",children:"#10168"}),": fix many long overdue Markdown link resolution bugs"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10178",children:"#10178"}),": the ",(0,i.jsx)(s.code,{children:"/search"})," page now respects the ",(0,i.jsx)(s.code,{children:"contextualSearch: false"})," setting"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10118",children:"#10118"}),": fix bad pluralization on docs generated index category card description"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10130",children:"#10130"}),": fix false positives reported by the broken anchor checker due to trailing slashes"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Check the ",(0,i.jsx)(s.strong,{children:(0,i.jsx)(s.a,{href:"/changelog/3.4.0",children:"3.4.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function d(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},80980:function(e,s,t){t.d(s,{Z:()=>o,a:()=>a});var n=t(67294);let i={},r=n.createContext(i);function a(e){let s=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),n.createElement(r.Provider,{value:s},e.children)}},62625:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.4","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.4/index.mdx","source":"@site/blog/releases/3.4/index.mdx","title":"Docusaurus 3.4","description":"We are happy to announce Docusaurus 3.4.","date":"2024-05-31T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.045,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.4","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-05-31T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.5","permalink":"/blog/releases/3.5"},"nextItem":{"title":"Docusaurus 3.3","permalink":"/blog/releases/3.3"}}')}}]); \ No newline at end of file diff --git a/assets/js/159.a0d7a987.js b/assets/js/159.a0d7a987.js new file mode 100644 index 0000000000..0fb4d6a5f0 --- /dev/null +++ b/assets/js/159.a0d7a987.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["159"],{89127:function(e,s,t){t.r(s)}}]); \ No newline at end of file diff --git a/assets/js/15fed87b.e6b58083.js b/assets/js/15fed87b.e6b58083.js new file mode 100644 index 0000000000..3b5d6df5f8 --- /dev/null +++ b/assets/js/15fed87b.e6b58083.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["8035"],{96639:function(e,s,i){i.r(s),i.d(s,{assets:()=>n,contentTitle:()=>t,default:()=>a,frontMatter:()=>c,metadata:()=>r,toc:()=>o});var r=i(18451),l=i(85893),h=i(80980);let c={mdx:{format:"md"},date:"2021-06-18T20:00",authors:["antonygibbs","ArtFlag","besemuna","Christopher-Hsieh","dabeeeenster","e271828-","fgatti675","HunteRoi","jmazin","Joelpo","jonbarker68","Josh-Cena","l0u1sg","lex111","limkinZero","liorheber","louistiti","Massibian","nam-hle","Neilblaze","nirtamir2","phwt","pmqueiroz","pranabdas","PsychTechApS","SamChou19815","silva-nick","slorber","tiny-dancer","tsirlucas","wise-introvert"]},t="2.0.0-beta.1",n={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 31",id:"committers-31",level:2}];function u(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,h.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4982",children:"#4982"})," feat(v2): add docs pagination_label frontmatter (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4949",children:"#4949"})," feat(v2): add icon to external navbar links (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4939",children:"#4939"})," feat(v2): theme default translations Bengali (",(0,l.jsx)(s.a,{href:"https://github.com/Neilblaze",children:"@Neilblaze"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4811",children:"#4811"})," feat(v2): Add hebrew translations (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4798",children:"#4798"})," feat(v2): add theme Danish translation (",(0,l.jsx)(s.a,{href:"https://github.com/PsychTechApS",children:"@PsychTechApS"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4968",children:"#4968"})," feat(v2): add code block theming in init template (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4908",children:"#4908"})," feat(v2): add trailingSlash config option (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4796",children:"#4796"})," feat(v2): exhaustive docs frontmatter schema (",(0,l.jsx)(s.a,{href:"https://github.com/nam-hle",children:"@nam-hle"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4618",children:"#4618"})," feat(v2): allow config plugins as functions or [function,options] (",(0,l.jsx)(s.a,{href:"https://github.com/besemuna",children:"@besemuna"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4759",children:"#4759"})," feat(v2): exhaustive BlogPostFrontMatter schema validation (",(0,l.jsx)(s.a,{href:"https://github.com/nam-hle",children:"@nam-hle"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5001",children:"#5001"})," chore(v2): update Infima to alpha 26 (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4986",children:"#4986"})," fix(v2): fix UX for docsVersionDropdown on mobile for single version (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4980",children:"#4980"})," fix(v2): make proper data type for prependBaseUrlToHref field (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4943",children:"#4943"})," fix(v2): improve accessibility of code blocks (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4917",children:"#4917"})," fix(v2): tidy up Markdown page layout (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4906",children:"#4906"})," fix(v2): fix minor a11y issues (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4900",children:"#4900"})," fix(v2): adjust margin after content title (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4855",children:"#4855"})," chore(v2): update infima to alpha 24 (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4819",children:"#4819"})," fix(v2): Amend Hebrew translations (",(0,l.jsx)(s.a,{href:"https://github.com/liorheber",children:"@liorheber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4815",children:"#4815"})," fix(v2): Fix Hebrew translations (",(0,l.jsx)(s.a,{href:"https://github.com/nirtamir2",children:"@nirtamir2"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4792",children:"#4792"})," fix(v2): fix minor a11y issue with headings (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4793",children:"#4793"})," fix(v2): unbreak enhanced width of doc item wrapper (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-common"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5000",children:"#5000"})," fix(v2): fix theme array deduplication bug (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4988",children:"#4988"})," fix(v2): redirect plugin should use siteConfig.trailingSlash (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4983",children:"#4983"})," fix(v2): always use UTC when dealing with blog dates (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4962",children:"#4962"})," fix(v2): respect base url in RSS feeds (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4985",children:"#4985"})," fix(v2): navbar doc item fallback: search doc in lastVersion (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4964",children:"#4964"})," fix(v2): avoid duplicated imports in npm2yarn plugin (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4970",children:"#4970"})," fix(v2): sidebar_label should be used to compute next/previous button labels (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4861",children:"#4861"})," fix(v2): allow relative sidebar path resolution in docs:version command (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4859",children:"#4859"})," fix(v2): use frontmatter title at first for paginated links (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4775",children:"#4775"})," fix(v2): improve dx sidebar config, ability to have no sidebars file (",(0,l.jsx)(s.a,{href:"https://github.com/nam-hle",children:"@nam-hle"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4950",children:"#4950"})," fix(v2): sitemap plugin should handle siteConfig.trailingSlash automatically (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4924",children:"#4924"})," fix(v2): respect baseUrl in serving command (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4935",children:"#4935"})," fix(v2): render children in BrowserOnly after client is ready (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4894",children:"#4894"})," fix(v2): escape HTML entities in user tags attributes (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4789",children:"#4789"})," fix(v2): transpile libs with too recent syntax with babel (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4784",children:"#4784"})," fix(v2): update notifier should never suggest to downgrade (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4882",children:"#4882"})," fix(v2): fix contentTitle issues when markdown h1 title contains code blocks (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4862",children:"#4862"})," fix(v2): remove Markdown heading id from excerpt (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4871",children:"#4871"})," fix(v2): unbreak adding of custom HTML metadatas (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4797",children:"#4797"})," fix(v2): do not focus on skip link if page refreshed (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4856",children:"#4856"})," fix(v2): adjust padding when custom search box location (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4830",children:"#4830"})," fix(v2): pin prism-react-renderer version to 1.1.1 (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,l.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4806",children:"#4806"})," chore(v2): update sharp to 0.28.2 (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4995",children:"#4995"})," refactor(v2): reduce top padding in doc content container (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4918",children:"#4918"})," refactor(v2): readjust footer of blog item (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4959",children:"#4959"})," refactor(v2): minor cleanups (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4945",children:"#4945"})," refactor(v2): remove extra padding from doc item container (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4940",children:"#4940"})," refactor(v2): improve semantic doc sidebar markup (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4961",children:"#4961"})," refactor(v2): improve semantic blog sidebar markup (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4903",children:"#4903"})," refactor(v2): make doc item layout more semantic (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4877",children:"#4877"})," refactor(v2): reduce vertical space in doc content container (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4914",children:"#4914"})," refactor(v2): use SVG for external link icon (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4916",children:"#4916"})," refactor(v2): replace strong with b in UI components (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4926",children:"#4926"})," refactor(v2): hide decorative SVGs from screen readers (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4865",children:"#4865"})," refactor(v2): make little better doc update block UI (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4795",children:"#4795"})," refactor(v2): remove transition on body element (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4989",children:"#4989"})," refactor(v2): blog/docs: add more context in error messages (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4979",children:"#4979"})," refactor(v2): cleanup console output (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4977",children:"#4977"})," polish(v2): url-subpath config validation warning (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4969",children:"#4969"})," refactor(v2): include path in error about non-existent ids (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4863",children:"#4863"})," refactor(v2): remove sidebar_label filed from doc metadata file (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4907",children:"#4907"})," refactor(v2): remove type attribute from link and script tags (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4919",children:"#4919"})," refactor(v2): improve markup and styling on search page (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4867",children:"#4867"})," chore(v2): update @docsearch/react (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4905",children:"#4905"})," refactor(v2): do not generate RSS files for empty feed (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4860",children:"#4860"})," refactor(v2): use aliased path for blog list sidebar file (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4870",children:"#4870"})," refactor(v2): add exception handling if external command is fails (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4875",children:"#4875"})," refactor(v2): make even better SSR error notify and add tip (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4866",children:"#4866"})," refactor(v2): output URL to console only if it has changed (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4814",children:"#4814"})," refactor(v2): purify normalizeUrl (",(0,l.jsx)(s.a,{href:"https://github.com/nam-hle",children:"@nam-hle"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4987",children:"#4987"})," docs(v2): document canary releases (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4981",children:"#4981"})," docs(v2): minor tweaks (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4976",children:"#4976"})," docs(v2): mention to install the algolia package in search doc (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4953",children:"#4953"})," docs(v2): add Flagsmith to showcase (",(0,l.jsx)(s.a,{href:"https://github.com/dabeeeenster",children:"@dabeeeenster"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4942",children:"#4942"})," docs(v2): add info about ",(0,l.jsx)(s.code,{children:"DefaultValue"})," prop in ",(0,l.jsx)(s.code,{children:"Tabs"})," (",(0,l.jsx)(s.a,{href:"https://github.com/ArtFlag",children:"@ArtFlag"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4898",children:"#4898"})," docs(v2): add ClarityChallenge to showcase (",(0,l.jsx)(s.a,{href:"https://github.com/jonbarker68",children:"@jonbarker68"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4896",children:"#4896"})," docs(v2): fix incorrect link to plugin-ideal-image (",(0,l.jsx)(s.a,{href:"https://github.com/phwt",children:"@phwt"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4893",children:"#4893"})," docs(v2): presets: fix typo in bootstrap preset (",(0,l.jsx)(s.a,{href:"https://github.com/silva-nick",children:"@silva-nick"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4887",children:"#4887"})," docs(v2): Add Aide Jeune website to Docusaurus site showcase (",(0,l.jsx)(s.a,{href:"https://github.com/l0u1sg",children:"@l0u1sg"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4821",children:"#4821"})," docs(v2): New doc page for math equations (",(0,l.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4885",children:"#4885"})," docs(v2): v2 migration guide: mention Algolia config update (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4876",children:"#4876"})," docs(v2): update steps in the github-actions section (",(0,l.jsx)(s.a,{href:"https://github.com/wise-introvert",children:"@wise-introvert"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4880",children:"#4880"})," docs(v2): grammar typo in migration-overview.md (",(0,l.jsx)(s.a,{href:"https://github.com/jmazin",children:"@jmazin"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4879",children:"#4879"})," docs(v2): Added FireCMS to the showcase (",(0,l.jsx)(s.a,{href:"https://github.com/fgatti675",children:"@fgatti675"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4849",children:"#4849"})," docs(v2): fix Java syntax highlight in website (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4818",children:"#4818"})," docs(v2): add mr-pdf to resources (",(0,l.jsx)(s.a,{href:"https://github.com/antonygibbs",children:"@antonygibbs"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4835",children:"#4835"})," docs(v2): fix grammar typo on Creating pages (",(0,l.jsx)(s.a,{href:"https://github.com/Christopher-Hsieh",children:"@Christopher-Hsieh"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4837",children:"#4837"})," docs(v2): fix missing closing bracket (",(0,l.jsx)(s.a,{href:"https://github.com/pmqueiroz",children:"@pmqueiroz"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4820",children:"#4820"})," docs(v2): Fix typo in doc: sidebar.md (",(0,l.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4813",children:"#4813"})," docs(v2): fix css snipped with missing color (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4803",children:"#4803"})," docs(v2): Add i18n tag and fix typo (",(0,l.jsx)(s.a,{href:"https://github.com/HunteRoi",children:"@HunteRoi"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4786",children:"#4786"})," docs(v2): Add tinaeldevresse.eu to Docusaurus' gallery (",(0,l.jsx)(s.a,{href:"https://github.com/HunteRoi",children:"@HunteRoi"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4780",children:"#4780"})," docs(v2): remove docs for alpha 71 + 72 (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4779",children:"#4779"})," docs(v2): beta blog post edits (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4973",children:"#4973"})," docs(v2): replace ",(0,l.jsx)(s.code,{children:"diff"})," codeblocks with line highlight (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4756",children:"#4756"})," docs(v2): Docusaurus 2 beta blog post (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4994",children:"#4994"})," misc: more issue template improvements (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4951",children:"#4951"})," misc: disable google-gtag plugin in Netlify deploys (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4901",children:"#4901"})," misc: optimize showcase images (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4897",children:"#4897"})," chore: fail CI if yarn.lock is modified on install (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4858",children:"#4858"})," chore(v2): add external link to community sidebar (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4889",children:"#4889"})," misc: issue template config typo (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4886",children:"#4886"})," misc: add github issue template config (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4878",children:"#4878"})," misc: improve bug report issue template (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4791",children:"#4791"})," chore: fix canary version name (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4777",children:"#4777"})," chore: regenerate examples on 2.0.0-beta.0 (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4944",children:"#4944"})," chore: lockfile cleanup (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-1.x"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-init-1.x"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4902",children:"#4902"})," chore: remove docusaurus v1 from master branch (moved to docusaurus-v1 branch) (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4915",children:"#4915"})," chore(v2): bump react-waypoint from 9.0.2 to 10.1.0 (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4834",children:"#4834"})," chore(v2): unlock prism-react-renderer version (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4833",children:"#4833"})," chore(v2): bump cssnano packages (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4816",children:"#4816"})," chore(v2): upgrade dependencies (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4790",children:"#4790"})," chore(v2): TypeScript, use isolatedModules (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"committers-31",children:"Committers: 31"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Arthur (",(0,l.jsx)(s.a,{href:"https://github.com/ArtFlag",children:"@ArtFlag"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Ben Rometsch (",(0,l.jsx)(s.a,{href:"https://github.com/dabeeeenster",children:"@dabeeeenster"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Christopher Hsieh (",(0,l.jsx)(s.a,{href:"https://github.com/Christopher-Hsieh",children:"@Christopher-Hsieh"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Fardeen Panjwani (",(0,l.jsx)(s.a,{href:"https://github.com/wise-introvert",children:"@wise-introvert"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Joel (",(0,l.jsx)(s.a,{href:"https://github.com/Joelpo",children:"@Joelpo"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Jon Barker (",(0,l.jsx)(s.a,{href:"https://github.com/jonbarker68",children:"@jonbarker68"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Jonathan Mazin (",(0,l.jsx)(s.a,{href:"https://github.com/jmazin",children:"@jmazin"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Joshua Chen (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Lior Heber (",(0,l.jsx)(s.a,{href:"https://github.com/liorheber",children:"@liorheber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Louis Gallet (",(0,l.jsx)(s.a,{href:"https://github.com/l0u1sg",children:"@l0u1sg"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Louis Grenard (",(0,l.jsx)(s.a,{href:"https://github.com/louistiti",children:"@louistiti"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Lucas Correia (",(0,l.jsx)(s.a,{href:"https://github.com/tsirlucas",children:"@tsirlucas"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Nam Hoang Le (",(0,l.jsx)(s.a,{href:"https://github.com/nam-hle",children:"@nam-hle"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Pablo Vidal (",(0,l.jsx)(s.a,{href:"https://github.com/limkinZero",children:"@limkinZero"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Pedro Queiroz (",(0,l.jsx)(s.a,{href:"https://github.com/pmqueiroz",children:"@pmqueiroz"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Pranab Das (",(0,l.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Pratyay Banerjee (",(0,l.jsx)(s.a,{href:"https://github.com/Neilblaze",children:"@Neilblaze"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["PsychTech (",(0,l.jsx)(s.a,{href:"https://github.com/PsychTechApS",children:"@PsychTechApS"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Sam Zhou (",(0,l.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Tina\xebl Devresse (",(0,l.jsx)(s.a,{href:"https://github.com/HunteRoi",children:"@HunteRoi"}),")"]}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/Massibian",children:"@Massibian"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/antonygibbs",children:"@antonygibbs"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/besemuna",children:"@besemuna"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/e271828-",children:"@e271828-"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/fgatti675",children:"@fgatti675"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/nirtamir2",children:"@nirtamir2"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/silva-nick",children:"@silva-nick"})}),"\n",(0,l.jsxs)(s.li,{children:["mg (",(0,l.jsx)(s.a,{href:"https://github.com/tiny-dancer",children:"@tiny-dancer"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["phwt.smwt (",(0,l.jsx)(s.a,{href:"https://github.com/phwt",children:"@phwt"}),")"]}),"\n"]})]})}function a(e={}){let{wrapper:s}={...(0,h.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(u,{...e})}):u(e)}},80980:function(e,s,i){i.d(s,{Z:()=>t,a:()=>c});var r=i(67294);let l={},h=r.createContext(l);function c(e){let s=r.useContext(h);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),r.createElement(h.Provider,{value:s},e.children)}},18451:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.1","source":"@site/changelog/source/2.0.0-beta.1.md","title":"2.0.0-beta.1","description":"New Feature","date":"2021-06-18T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"antonygibbs","alias":"antonygibbs","url":"https://github.com/antonygibbs","imageURL":"https://github.com/antonygibbs.png","key":"antonygibbs","page":null},{"name":"Arthur","alias":"ArtFlag","url":"https://github.com/ArtFlag","imageURL":"https://github.com/ArtFlag.png","key":"ArtFlag","page":null},{"name":"besemuna","alias":"besemuna","url":"https://github.com/besemuna","imageURL":"https://github.com/besemuna.png","key":"besemuna","page":null},{"name":"Christopher Hsieh","alias":"Christopher-Hsieh","url":"https://github.com/Christopher-Hsieh","imageURL":"https://github.com/Christopher-Hsieh.png","key":"Christopher-Hsieh","page":null},{"name":"Ben Rometsch","alias":"dabeeeenster","url":"https://github.com/dabeeeenster","imageURL":"https://github.com/dabeeeenster.png","key":"dabeeeenster","page":null},{"name":"e271828-","alias":"e271828-","url":"https://github.com/e271828-","imageURL":"https://github.com/e271828-.png","key":"e271828-","page":null},{"name":"fgatti675","alias":"fgatti675","url":"https://github.com/fgatti675","imageURL":"https://github.com/fgatti675.png","key":"fgatti675","page":null},{"name":"Tina\xebl Devresse","alias":"HunteRoi","url":"https://github.com/HunteRoi","imageURL":"https://github.com/HunteRoi.png","key":"HunteRoi","page":null},{"name":"Jonathan Mazin","alias":"jmazin","url":"https://github.com/jmazin","imageURL":"https://github.com/jmazin.png","key":"jmazin","page":null},{"name":"Joel","alias":"Joelpo","url":"https://github.com/Joelpo","imageURL":"https://github.com/Joelpo.png","key":"Joelpo","page":null},{"name":"Jon Barker","alias":"jonbarker68","url":"https://github.com/jonbarker68","imageURL":"https://github.com/jonbarker68.png","key":"jonbarker68","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Louis Gallet","alias":"l0u1sg","url":"https://github.com/l0u1sg","imageURL":"https://github.com/l0u1sg.png","key":"l0u1sg","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Pablo Vidal","alias":"limkinZero","url":"https://github.com/limkinZero","imageURL":"https://github.com/limkinZero.png","key":"limkinZero","page":null},{"name":"Lior Heber","alias":"liorheber","url":"https://github.com/liorheber","imageURL":"https://github.com/liorheber.png","key":"liorheber","page":null},{"name":"Louis Grenard","alias":"louistiti","url":"https://github.com/louistiti","imageURL":"https://github.com/louistiti.png","key":"louistiti","page":null},{"name":"Massibian","alias":"Massibian","url":"https://github.com/Massibian","imageURL":"https://github.com/Massibian.png","key":"Massibian","page":null},{"name":"Nam Hoang Le","alias":"nam-hle","url":"https://github.com/nam-hle","imageURL":"https://github.com/nam-hle.png","key":"nam-hle","page":null},{"name":"Pratyay Banerjee","alias":"Neilblaze","url":"https://github.com/Neilblaze","imageURL":"https://github.com/Neilblaze.png","key":"Neilblaze","page":null},{"name":"nirtamir2","alias":"nirtamir2","url":"https://github.com/nirtamir2","imageURL":"https://github.com/nirtamir2.png","key":"nirtamir2","page":null},{"name":"phwt.smwt","alias":"phwt","url":"https://github.com/phwt","imageURL":"https://github.com/phwt.png","key":"phwt","page":null},{"name":"Pedro Queiroz","alias":"pmqueiroz","url":"https://github.com/pmqueiroz","imageURL":"https://github.com/pmqueiroz.png","key":"pmqueiroz","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"PsychTech","alias":"PsychTechApS","url":"https://github.com/PsychTechApS","imageURL":"https://github.com/PsychTechApS.png","key":"PsychTechApS","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"silva-nick","alias":"silva-nick","url":"https://github.com/silva-nick","imageURL":"https://github.com/silva-nick.png","key":"silva-nick","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"mg","alias":"tiny-dancer","url":"https://github.com/tiny-dancer","imageURL":"https://github.com/tiny-dancer.png","key":"tiny-dancer","page":null},{"name":"Lucas Correia","alias":"tsirlucas","url":"https://github.com/tsirlucas","imageURL":"https://github.com/tsirlucas.png","key":"tsirlucas","page":null},{"name":"Fardeen Panjwani","alias":"wise-introvert","url":"https://github.com/wise-introvert","imageURL":"https://github.com/wise-introvert.png","key":"wise-introvert","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-06-18T20:00","authors":["antonygibbs","ArtFlag","besemuna","Christopher-Hsieh","dabeeeenster","e271828-","fgatti675","HunteRoi","jmazin","Joelpo","jonbarker68","Josh-Cena","l0u1sg","lex111","limkinZero","liorheber","louistiti","Massibian","nam-hle","Neilblaze","nirtamir2","phwt","pmqueiroz","pranabdas","PsychTechApS","SamChou19815","silva-nick","slorber","tiny-dancer","tsirlucas","wise-introvert"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.2","permalink":"/changelog/2.0.0-beta.2"},"nextItem":{"title":"2.0.0-beta.0","permalink":"/changelog/2.0.0-beta.0"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/1663798c.02eea8e2.js b/assets/js/1663798c.02eea8e2.js new file mode 100644 index 0000000000..460c82ad98 --- /dev/null +++ b/assets/js/1663798c.02eea8e2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["29667"],{30600:function(t,g,i){i.r(g),i.d(g,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>u,toc:()=>m});var u=i(49909),h=i(85893),e=i(80980);let o={authors:[{image_url:"https://github.com/endiliey.png",url:"https://github.com/endiliey"},{image_url:"https://github.com/lex111.png",url:"https://github.com/lex111"},{image_url:"https://github.com/slorber.png",url:"https://github.com/slorber"},{image_url:"https://github.com/yangshun.png",url:"https://github.com/yangshun"},{image_url:"https://github.com/JoelMarcey.png",url:"https://github.com/JoelMarcey"},{image_url:"https://github.com/Josh-Cena.png",url:"https://github.com/Josh-Cena"},{image_url:"https://github.com/deltice.png",url:"https://github.com/deltice"},{image_url:"https://github.com/SamChou19815.png",url:"https://github.com/SamChou19815"},{image_url:"https://github.com/ericnakagawa.png",url:"https://github.com/ericnakagawa"},{image_url:"https://github.com/Simek.png",url:"https://github.com/Simek"},{image_url:"https://github.com/hramos.png",url:"https://github.com/hramos"},{image_url:"https://github.com/wgao19.png",url:"https://github.com/wgao19"},{image_url:"https://github.com/rickyvetter.png",url:"https://github.com/rickyvetter"},{image_url:"https://github.com/fanny.png",url:"https://github.com/fanny"},{image_url:"https://github.com/armano2.png",url:"https://github.com/armano2"},{image_url:"https://github.com/RDIL.png",url:"https://github.com/RDIL"},{image_url:"https://github.com/teikjun.png",url:"https://github.com/teikjun"},{image_url:"https://github.com/hong4rc.png",url:"https://github.com/hong4rc"},{image_url:"https://github.com/anshulrgoyal.png",url:"https://github.com/anshulrgoyal"},{image_url:"https://github.com/italicize.png",url:"https://github.com/italicize"}],tags:["paginated-tag"]},a="Image-only authors",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},m=[];function s(t){let g={p:"p",...(0,e.a)(),...t.components};return(0,h.jsx)(g.p,{children:"You can make a compact authors list without author names!"})}function p(t={}){let{wrapper:g}={...(0,e.a)(),...t.components};return g?(0,h.jsx)(g,{...t,children:(0,h.jsx)(s,{...t})}):s(t)}},80980:function(t,g,i){i.d(g,{Z:()=>a,a:()=>o});var u=i(67294);let h={},e=u.createContext(h);function o(t){let g=u.useContext(e);return u.useMemo(function(){return"function"==typeof t?t(g):{...g,...t}},[g,t])}function a(t){let g;return g=t.disableParentContext?"function"==typeof t.components?t.components(h):t.components||h:o(t.components),u.createElement(e.Provider,{value:g},t.children)}},49909:function(t){t.exports=JSON.parse('{"permalink":"/tests/blog/2022/01/20/image-only-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-01-20-image-only-authors.mdx","source":"@site/_dogfooding/_blog tests/2022-01-20-image-only-authors.mdx","title":"Image-only authors","description":"You can make a compact authors list without author names!","date":"2022-01-20T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":2,"hasTruncateMarker":false,"authors":[{"image_url":"https://github.com/endiliey.png","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/lex111.png","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/slorber.png","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/yangshun.png","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/JoelMarcey.png","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/Josh-Cena.png","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/deltice.png","url":"https://github.com/deltice","imageURL":"https://github.com/deltice.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/SamChou19815.png","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/ericnakagawa.png","url":"https://github.com/ericnakagawa","imageURL":"https://github.com/ericnakagawa.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/Simek.png","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/hramos.png","url":"https://github.com/hramos","imageURL":"https://github.com/hramos.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/wgao19.png","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/rickyvetter.png","url":"https://github.com/rickyvetter","imageURL":"https://github.com/rickyvetter.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/fanny.png","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/armano2.png","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/RDIL.png","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/teikjun.png","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/hong4rc.png","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/anshulrgoyal.png","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/italicize.png","url":"https://github.com/italicize","imageURL":"https://github.com/italicize.png","socials":{},"key":null,"page":null}],"frontMatter":{"authors":[{"image_url":"https://github.com/endiliey.png","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png"},{"image_url":"https://github.com/lex111.png","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png"},{"image_url":"https://github.com/slorber.png","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png"},{"image_url":"https://github.com/yangshun.png","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png"},{"image_url":"https://github.com/JoelMarcey.png","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png"},{"image_url":"https://github.com/Josh-Cena.png","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png"},{"image_url":"https://github.com/deltice.png","url":"https://github.com/deltice","imageURL":"https://github.com/deltice.png"},{"image_url":"https://github.com/SamChou19815.png","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png"},{"image_url":"https://github.com/ericnakagawa.png","url":"https://github.com/ericnakagawa","imageURL":"https://github.com/ericnakagawa.png"},{"image_url":"https://github.com/Simek.png","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png"},{"image_url":"https://github.com/hramos.png","url":"https://github.com/hramos","imageURL":"https://github.com/hramos.png"},{"image_url":"https://github.com/wgao19.png","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png"},{"image_url":"https://github.com/rickyvetter.png","url":"https://github.com/rickyvetter","imageURL":"https://github.com/rickyvetter.png"},{"image_url":"https://github.com/fanny.png","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png"},{"image_url":"https://github.com/armano2.png","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png"},{"image_url":"https://github.com/RDIL.png","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png"},{"image_url":"https://github.com/teikjun.png","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png"},{"image_url":"https://github.com/hong4rc.png","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png"},{"image_url":"https://github.com/anshulrgoyal.png","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png"},{"image_url":"https://github.com/italicize.png","url":"https://github.com/italicize","imageURL":"https://github.com/italicize.png"}],"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Third post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/21/dup-footnote"},"nextItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/11/13/dup-title"}}')}}]); \ No newline at end of file diff --git a/assets/js/16881.8e4885ab.js b/assets/js/16881.8e4885ab.js new file mode 100644 index 0000000000..8d246bceb4 --- /dev/null +++ b/assets/js/16881.8e4885ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["16881"],{86129:function(e,r,t){t.d(r,{diagram:()=>b});var a=t(29277);t(8382),t(57668),t(63985),t(11779),t(25653),t(19039),t(84890);var s=t(28923),b={parser:a.J8,db:a.bH,renderer:a._$,styles:a.Ee,init:(0,s.eW)(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,a.bH.clear()},"init")}}}]); \ No newline at end of file diff --git a/assets/js/16f6cad8.ea8b96be.js b/assets/js/16f6cad8.ea8b96be.js new file mode 100644 index 0000000000..4b03696c44 --- /dev/null +++ b/assets/js/16f6cad8.ea8b96be.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["38674"],{94616:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>c,default:()=>b,contentTitle:()=>d,assets:()=>u,toc:()=>r,metadata:()=>i});var i=JSON.parse('{"id":"guides/markdown-features/toc","title":"Headings and Table of contents","description":"Customizing headings and table-of-contents in Markdown","source":"@site/docs/guides/markdown-features/markdown-features-toc.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/toc","permalink":"/docs/markdown-features/toc","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-toc.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"toc","description":"Customizing headings and table-of-contents in Markdown","slug":"/markdown-features/toc"},"sidebar":"docs","previous":{"title":"Admonitions","permalink":"/docs/markdown-features/admonitions"},"next":{"title":"Assets","permalink":"/docs/markdown-features/assets"}}'),l=s(85893),a=s(80980),t=s(14522),o=s(78596);let c={id:"toc",description:"Customizing headings and table-of-contents in Markdown",slug:"/markdown-features/toc"},d="Headings and Table of contents",u={},r=[{value:"Markdown headings",id:"markdown-headings",level:2},{value:"Heading IDs",id:"heading-ids",level:3},{value:"Table of contents heading level",id:"table-of-contents-heading-level",level:2},{value:"Inline table of contents",id:"inline-table-of-contents",level:2},{value:"Customizing table of contents generation",id:"customizing-table-of-contents-generation",level:2},{value:"Example Section 1",id:"example-section-1",level:2},{value:"Example Subsection 1 a",id:"example-subsection-1-a",level:3},{value:"Example subsubsection 1 a I",id:"example-subsubsection-1-a-i",level:4},{value:"Example subsubsection 1 a II",id:"example-subsubsection-1-a-ii",level:4},{value:"Example subsubsection 1 a III",id:"example-subsubsection-1-a-iii",level:4},{value:"Example Subsection 1 b",id:"example-subsection-1-b",level:3},{value:"Example subsubsection 1 b I",id:"example-subsubsection-1-b-i",level:4},{value:"Example subsubsection 1 b II",id:"example-subsubsection-1-b-ii",level:4},{value:"Example subsubsection 1 b III",id:"example-subsubsection-1-b-iii",level:4},{value:"Example Subsection 1 c",id:"example-subsection-1-c",level:3},{value:"Example subsubsection 1 c I",id:"example-subsubsection-1-c-i",level:4},{value:"Example subsubsection 1 c II",id:"example-subsubsection-1-c-ii",level:4},{value:"Example subsubsection 1 c III",id:"example-subsubsection-1-c-iii",level:4},{value:"Example Section 2",id:"example-section-2",level:2},{value:"Example Subsection 2 a",id:"example-subsection-2-a",level:3},{value:"Example subsubsection 2 a I",id:"example-subsubsection-2-a-i",level:4},{value:"Example subsubsection 2 a II",id:"example-subsubsection-2-a-ii",level:4},{value:"Example subsubsection 2 a III",id:"example-subsubsection-2-a-iii",level:4},{value:"Example Subsection 2 b",id:"example-subsection-2-b",level:3},{value:"Example subsubsection 2 b I",id:"example-subsubsection-2-b-i",level:4},{value:"Example subsubsection 2 b II",id:"example-subsubsection-2-b-ii",level:4},{value:"Example subsubsection 2 b III",id:"example-subsubsection-2-b-iii",level:4},{value:"Example Subsection 2 c",id:"example-subsection-2-c",level:3},{value:"Example subsubsection 2 c I",id:"example-subsubsection-2-c-i",level:4},{value:"Example subsubsection 2 c II",id:"example-subsubsection-2-c-ii",level:4},{value:"Example subsubsection 2 c III",id:"example-subsubsection-2-c-iii",level:4},{value:"Example Section 3",id:"example-section-3",level:2},{value:"Example Subsection 3 a",id:"example-subsection-3-a",level:3},{value:"Example subsubsection 3 a I",id:"example-subsubsection-3-a-i",level:4},{value:"Example subsubsection 3 a II",id:"example-subsubsection-3-a-ii",level:4},{value:"Example subsubsection 3 a III",id:"example-subsubsection-3-a-iii",level:4},{value:"Example Subsection 3 b",id:"example-subsection-3-b",level:3},{value:"Example subsubsection 3 b I",id:"example-subsubsection-3-b-i",level:4},{value:"Example subsubsection 3 b II",id:"example-subsubsection-3-b-ii",level:4},{value:"Example subsubsection 3 b III",id:"example-subsubsection-3-b-iii",level:4},{value:"Example Subsection 3 c",id:"example-subsection-3-c",level:3},{value:"Example subsubsection 3 c I",id:"example-subsubsection-3-c-i",level:4},{value:"Example subsubsection 3 c II",id:"example-subsubsection-3-c-ii",level:4},{value:"Example subsubsection 3 c III",id:"example-subsubsection-3-c-iii",level:4}];function h(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components},{Code:s}=n;return s||function(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Code",!0),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"headings-and-table-of-contents",children:"Headings and Table of contents"})}),"\n",(0,l.jsx)(n.h2,{id:"markdown-headings",children:"Markdown headings"}),"\n",(0,l.jsx)(n.p,{children:"You can use regular Markdown headings."}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-md",children:"## Level 2 title\n\n### Level 3 title\n\n#### Level 4 title\n"})}),"\n",(0,l.jsx)(n.p,{children:"Each Markdown heading will appear as a table of contents entry."}),"\n",(0,l.jsx)(n.h3,{id:"heading-ids",children:"Heading IDs"}),"\n",(0,l.jsx)(n.p,{children:"Each heading has an ID that can be automatically generated or explicitly specified. Heading IDs allow you to link to a specific document heading in Markdown or JSX:"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-md",children:"[link](#heading-id)\n"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-jsx",children:'<Link to="#heading-id">link</Link>\n'})}),"\n",(0,l.jsxs)(n.p,{children:["By default, Docusaurus will generate heading IDs for you, based on the heading text. For example, ",(0,l.jsx)(n.code,{children:"### Hello World"})," will have ID ",(0,l.jsx)(n.code,{children:"hello-world"}),"."]}),"\n",(0,l.jsxs)(n.p,{children:["Generated IDs have ",(0,l.jsx)(n.strong,{children:"some limitations"}),":"]}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"The ID might not look good"}),"\n",(0,l.jsxs)(n.li,{children:["You might want to ",(0,l.jsx)(n.strong,{children:"change or translate"})," the text without updating the existing ID"]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["A special Markdown syntax lets you set an ",(0,l.jsx)(n.strong,{children:"explicit heading id"}),":"]}),"\n",(0,l.jsx)(s,{language:"md",children:"### Hello World {#my-explicit-id}\n"}),"\n",(0,l.jsx)(n.admonition,{type:"tip",children:(0,l.jsxs)(n.p,{children:["Use the ",(0,l.jsx)(n.strong,{children:(0,l.jsx)(n.a,{href:"/docs/cli#docusaurus-write-heading-ids-sitedir",children:(0,l.jsx)(n.code,{children:"write-heading-ids"})})})," CLI command to add explicit IDs to all your Markdown documents."]})}),"\n",(0,l.jsx)(n.admonition,{title:"Avoid colliding IDs",type:"warning",children:(0,l.jsx)(n.p,{children:"Generated heading IDs will be guaranteed to be unique on each page, but if you use custom IDs, make sure each one appears exactly once on each page, or there will be two DOM elements with the same ID, which is invalid HTML semantics, and will lead to one heading being unlinkable."})}),"\n",(0,l.jsx)(n.h2,{id:"table-of-contents-heading-level",children:"Table of contents heading level"}),"\n",(0,l.jsx)(n.p,{children:"Each Markdown document displays a table of contents on the top-right corner. By default, this table only shows h2 and h3 headings, which should be sufficient for an overview of the page structure. In case you need to change the range of headings displayed, you can customize the minimum and maximum heading level \u2014 either per page or globally."}),"\n",(0,l.jsxs)(n.p,{children:["To set the heading level for a particular page, use the ",(0,l.jsx)(n.code,{children:"toc_min_heading_level"})," and ",(0,l.jsx)(n.code,{children:"toc_max_heading_level"})," front matter."]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-md",metastring:'title="myDoc.md"',children:"---\n# Display h2 to h5 headings\ntoc_min_heading_level: 2\ntoc_max_heading_level: 5\n---\n"})}),"\n",(0,l.jsxs)(n.p,{children:["To set the heading level for ",(0,l.jsx)(n.em,{children:"all"})," pages, use the ",(0,l.jsx)(n.a,{href:"/docs/api/themes/configuration#table-of-contents",children:(0,l.jsx)(n.code,{children:"themeConfig.tableOfContents"})})," option."]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n tableOfContents: {\n // highlight-start\n minHeadingLevel: 2,\n maxHeadingLevel: 5,\n // highlight-end\n },\n },\n};\n"})}),"\n",(0,l.jsx)(n.p,{children:"If you've set the options globally, you can still override them locally via front matter."}),"\n",(0,l.jsx)(n.admonition,{type:"note",children:(0,l.jsxs)(n.p,{children:["The ",(0,l.jsx)(n.code,{children:"themeConfig"})," option would apply to all TOC on the site, including ",(0,l.jsx)(n.a,{href:"#inline-table-of-contents",children:"inline TOC"}),", but front matter options only affect the top-right TOC. You need to use the ",(0,l.jsx)(n.code,{children:"minHeadingLevel"})," and ",(0,l.jsx)(n.code,{children:"maxHeadingLevel"})," props to customize each ",(0,l.jsx)(n.code,{children:"<TOCInline />"})," component."]})}),"\n",(0,l.jsx)(n.h2,{id:"inline-table-of-contents",children:"Inline table of contents"}),"\n",(0,l.jsx)(n.p,{children:"It is also possible to display an inline table of contents directly inside a Markdown document, thanks to MDX."}),"\n",(0,l.jsxs)(n.p,{children:["The ",(0,l.jsx)(n.code,{children:"toc"})," variable is available in any MDX document and contains all the headings of an MDX document. By default, only ",(0,l.jsx)(n.code,{children:"h2"})," and ",(0,l.jsx)(n.code,{children:"h3"})," headings are displayed in the TOC. You can change which heading levels are visible by setting ",(0,l.jsx)(n.code,{children:"minHeadingLevel"})," or ",(0,l.jsx)(n.code,{children:"maxHeadingLevel"})," for individual ",(0,l.jsx)(n.code,{children:"TOCInline"})," components."]}),"\n","\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-jsx",children:"import TOCInline from '@theme/TOCInline';\n\n<TOCInline toc={toc} />\n"})}),"\n","\n",(0,l.jsx)(t.Z,{children:(0,l.jsx)(o.Z,{toc:r})}),"\n",(0,l.jsxs)(n.p,{children:["The ",(0,l.jsx)(n.code,{children:"toc"})," global is just a list of heading items:"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-ts",children:"declare const toc: {\n value: string;\n id: string;\n level: number;\n}[];\n"})}),"\n",(0,l.jsxs)(n.p,{children:["Note that the ",(0,l.jsx)(n.code,{children:"toc"})," global is a flat array, so you can easily cut out unwanted nodes or insert extra nodes, and create a new TOC tree."]}),"\n","\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-jsx",children:"import TOCInline from '@theme/TOCInline';\n\n<TOCInline\n // Only show h2 and h4 headings\n toc={toc.filter((node) => node.level === 2 || node.level === 4)}\n minHeadingLevel={2}\n // Show h4 headings in addition to the default h2 and h3 headings\n maxHeadingLevel={4}\n/>\n"})}),"\n",(0,l.jsx)(t.Z,{children:(0,l.jsx)(o.Z,{toc:r.filter(e=>2===e.level||4===e.level),minHeadingLevel:2,maxHeadingLevel:4})}),"\n",(0,l.jsx)(n.h2,{id:"customizing-table-of-contents-generation",children:"Customizing table of contents generation"}),"\n",(0,l.jsxs)(n.p,{children:["The table-of-contents is generated by parsing the Markdown source with a ",(0,l.jsx)(n.a,{href:"/docs/markdown-features/plugins",children:"Remark plugin"}),". There are known edge-cases where it generates false-positives and false-negatives."]}),"\n",(0,l.jsxs)(n.p,{children:["Markdown headings within hideable areas will still show up in the TOC. For example, headings within ",(0,l.jsx)(n.a,{href:"/docs/markdown-features/tabs",children:(0,l.jsx)(n.code,{children:"Tabs"})})," and ",(0,l.jsx)(n.a,{href:"/docs/markdown-features#details",children:(0,l.jsx)(n.code,{children:"details"})})," will not be excluded."]}),"\n",(0,l.jsx)(n.p,{children:"Non-Markdown headings will not show up in the TOC. This can be used to your advantage to tackle the aforementioned issue."}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-md",children:'<details>\n<summary>Some details containing headings</summary>\n<h2 id="#heading-id">I\'m a heading that will not show up in the TOC</h2>\n\nSome content...\n\n</details>\n'})}),"\n",(0,l.jsxs)(n.p,{children:["The ability to ergonomically insert extra headings or ignore certain headings is a work-in-progress. If this feature is important to you, please report your use-case in ",(0,l.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/6201",children:"this issue"}),"."]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.admonition,{type:"warning",children:(0,l.jsx)(n.p,{children:"Below is just some dummy content to have more table of contents items available on the current page."})}),"\n",(0,l.jsx)(n.h2,{id:"example-section-1",children:"Example Section 1"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h3,{id:"example-subsection-1-a",children:"Example Subsection 1 a"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-1-a-i",children:"Example subsubsection 1 a I"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-1-a-ii",children:"Example subsubsection 1 a II"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-1-a-iii",children:"Example subsubsection 1 a III"}),"\n",(0,l.jsx)(n.h3,{id:"example-subsection-1-b",children:"Example Subsection 1 b"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-1-b-i",children:"Example subsubsection 1 b I"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-1-b-ii",children:"Example subsubsection 1 b II"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-1-b-iii",children:"Example subsubsection 1 b III"}),"\n",(0,l.jsx)(n.h3,{id:"example-subsection-1-c",children:"Example Subsection 1 c"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-1-c-i",children:"Example subsubsection 1 c I"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-1-c-ii",children:"Example subsubsection 1 c II"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-1-c-iii",children:"Example subsubsection 1 c III"}),"\n",(0,l.jsx)(n.h2,{id:"example-section-2",children:"Example Section 2"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h3,{id:"example-subsection-2-a",children:"Example Subsection 2 a"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-2-a-i",children:"Example subsubsection 2 a I"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-2-a-ii",children:"Example subsubsection 2 a II"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-2-a-iii",children:"Example subsubsection 2 a III"}),"\n",(0,l.jsx)(n.h3,{id:"example-subsection-2-b",children:"Example Subsection 2 b"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-2-b-i",children:"Example subsubsection 2 b I"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-2-b-ii",children:"Example subsubsection 2 b II"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-2-b-iii",children:"Example subsubsection 2 b III"}),"\n",(0,l.jsx)(n.h3,{id:"example-subsection-2-c",children:"Example Subsection 2 c"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-2-c-i",children:"Example subsubsection 2 c I"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-2-c-ii",children:"Example subsubsection 2 c II"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-2-c-iii",children:"Example subsubsection 2 c III"}),"\n",(0,l.jsx)(n.h2,{id:"example-section-3",children:"Example Section 3"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h3,{id:"example-subsection-3-a",children:"Example Subsection 3 a"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-3-a-i",children:"Example subsubsection 3 a I"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-3-a-ii",children:"Example subsubsection 3 a II"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-3-a-iii",children:"Example subsubsection 3 a III"}),"\n",(0,l.jsx)(n.h3,{id:"example-subsection-3-b",children:"Example Subsection 3 b"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-3-b-i",children:"Example subsubsection 3 b I"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-3-b-ii",children:"Example subsubsection 3 b II"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-3-b-iii",children:"Example subsubsection 3 b III"}),"\n",(0,l.jsx)(n.h3,{id:"example-subsection-3-c",children:"Example Subsection 3 c"}),"\n",(0,l.jsx)(n.p,{children:"Lorem ipsum"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-3-c-i",children:"Example subsubsection 3 c I"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-3-c-ii",children:"Example subsubsection 3 c II"}),"\n",(0,l.jsx)(n.h4,{id:"example-subsubsection-3-c-iii",children:"Example subsubsection 3 c III"})]})}function b(e={}){let{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},78596:function(e,n,s){s.d(n,{Z:()=>a});var i=s(85893);s(67294);var l=s(89477);function a(e){let{toc:n,minHeadingLevel:s,maxHeadingLevel:a}=e;return(0,i.jsx)("div",{className:"tableOfContentsInline_2sru",children:(0,i.jsx)(l.Z,{toc:n,minHeadingLevel:s,maxHeadingLevel:a,className:"table-of-contents",linkClassName:null})})}},89477:function(e,n,s){s.d(n,{Z:()=>d});var i=s(85893),l=s(67294),a=s(26378);function t(e){let n=e.getBoundingClientRect();return n.top===n.bottom?t(e.parentNode):n}var o=s(35363);let c=l.memo(function e(n){let{toc:s,className:l,linkClassName:a,isChild:t}=n;return s.length?(0,i.jsx)("ul",{className:t?void 0:l,children:s.map(n=>(0,i.jsxs)("li",{children:[(0,i.jsx)(o.Z,{to:`#${n.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:n.value}}),(0,i.jsx)(e,{isChild:!0,toc:n.children,className:l,linkClassName:a})]},n.id))}):null});function d(e){let{toc:n,className:s="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:d,minHeadingLevel:u,maxHeadingLevel:r,...h}=e,b=(0,a.L)(),m=u??b.tableOfContents.minHeadingLevel,x=r??b.tableOfContents.maxHeadingLevel,p=function(e){let{toc:n,minHeadingLevel:s,maxHeadingLevel:i}=e;return(0,l.useMemo)(()=>(function e(n){let{toc:s,minHeadingLevel:i,maxHeadingLevel:l}=n;return s.flatMap(n=>{let s=e({toc:n.children,minHeadingLevel:i,maxHeadingLevel:l});return n.level>=i&&n.level<=l?[{...n,children:s}]:s})})({toc:function(e){let n=e.map(e=>({...e,parentIndex:-1,children:[]})),s=Array(7).fill(-1);n.forEach((e,n)=>{let i=s.slice(2,e.level);e.parentIndex=Math.max(...i),s[e.level]=n});let i=[];return n.forEach(e=>{let{parentIndex:s,...l}=e;s>=0?n[s].children.push(l):i.push(l)}),i}(n),minHeadingLevel:s,maxHeadingLevel:i}),[n,s,i])}({toc:n,minHeadingLevel:m,maxHeadingLevel:x});return!function(e){let n=(0,l.useRef)(void 0),s=function(){let e=(0,l.useRef)(0),{navbar:{hideOnScroll:n}}=(0,a.L)();return(0,l.useEffect)(()=>{e.current=n?0:document.querySelector(".navbar").clientHeight},[n]),e}();(0,l.useEffect)(()=>{if(!e)return()=>{};let{linkClassName:i,linkActiveClassName:l,minHeadingLevel:a,maxHeadingLevel:o}=e;function c(){let e=Array.from(document.getElementsByClassName(i)),c=function(e,n){let{anchorTopOffset:s}=n,i=e.find(e=>t(e).top>=s);if(i){var l;return(l=t(i)).top>0&&l.bottom<window.innerHeight/2?i:e[e.indexOf(i)-1]??null}return e[e.length-1]??null}(function(e){let{minHeadingLevel:n,maxHeadingLevel:s}=e,i=[];for(let e=n;e<=s;e+=1)i.push(`h${e}.anchor`);return Array.from(document.querySelectorAll(i.join()))}({minHeadingLevel:a,maxHeadingLevel:o}),{anchorTopOffset:s.current}),d=e.find(e=>c&&c.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));e.forEach(e=>{e===d?(n.current&&n.current!==e&&n.current.classList.remove(l),e.classList.add(l),n.current=e):e.classList.remove(l)})}return document.addEventListener("scroll",c),document.addEventListener("resize",c),c(),()=>{document.removeEventListener("scroll",c),document.removeEventListener("resize",c)}},[e,s])}((0,l.useMemo)(()=>{if(o&&d)return{linkClassName:o,linkActiveClassName:d,minHeadingLevel:m,maxHeadingLevel:x}},[o,d,m,x])),(0,i.jsx)(c,{toc:p,className:s,linkClassName:o,...h})}},14522:function(e,n,s){s.d(n,{Z:()=>o});var i=s(85893);s(67294);var l=s(90496);let a="dot_giz1",t="bar_rrRL";function o(e){let{children:n,minHeight:s,url:o="http://localhost:3000",style:c,bodyStyle:d}=e;return(0,i.jsxs)("div",{className:"browserWindow_my1Q",style:{...c,minHeight:s},children:[(0,i.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,i.jsxs)("div",{className:"buttons_uHc7",children:[(0,i.jsx)("span",{className:a,style:{background:"#f25f58"}}),(0,i.jsx)("span",{className:a,style:{background:"#fbbe3c"}}),(0,i.jsx)("span",{className:a,style:{background:"#58cb42"}})]}),(0,i.jsx)("div",{className:(0,l.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:o}),(0,i.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{className:t}),(0,i.jsx)("span",{className:t}),(0,i.jsx)("span",{className:t})]})})]}),(0,i.jsx)("div",{className:"browserWindowBody_Idgs",style:d,children:n})]})}},80980:function(e,n,s){s.d(n,{Z:()=>o,a:()=>t});var i=s(67294);let l={},a=i.createContext(l);function t(e){let n=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/16f8f4fb.f9bed522.js b/assets/js/16f8f4fb.f9bed522.js new file mode 100644 index 0000000000..b3048de75c --- /dev/null +++ b/assets/js/16f8f4fb.f9bed522.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["12837"],{98171:function(e,s,t){t.d(s,{Z:()=>n});let n=t.p+"assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png"},93837:function(e,s,t){t.d(s,{Z:()=>n});let n=t.p+"assets/images/social-card-8ca15c1adaeb77ca302178575136a0b6.png"},55665:function(e,s,t){t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>n,toc:()=>c});var n=t(3813),a=t(85893),r=t(80980);t(14522),t(51118),t(39468);let i={title:"Docusaurus 3.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-03-29T00:00:00.000Z")},o=void 0,l={image:t(98171).Z,authorsImageUrls:[void 0]},c=[{value:"Highlights",id:"highlights",level:2},{value:"Faster builds",id:"faster-builds",level:3},{value:"Faster Dev Server",id:"faster-dev-server",level:3},{value:"MDX partials table-of-contents",id:"mdx-partials-table-of-contents",level:3},{value:"Blog improvements",id:"blog-improvements",level:3},{value:"Sitemap lastmod",id:"sitemap-lastmod",level:3},{value:"Other changes",id:"other-changes",level:2}];function d(e){let s={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components},{Details:n}=s;return n||function(e,s){throw Error("Expected "+(s?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(s.p,{children:["We are happy to announce ",(0,a.jsx)(s.strong,{children:"Docusaurus 3.2"}),"."]}),"\n",(0,a.jsxs)(s.p,{children:["The upgrade should be easy: as explained in our ",(0,a.jsx)(s.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,a.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"Docusaurus blog post social card",src:t(93837).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,a.jsx)(s.h2,{id:"highlights",children:"Highlights"}),"\n",(0,a.jsx)(s.h3,{id:"faster-builds",children:"Faster builds"}),"\n",(0,a.jsx)(s.p,{children:"We worked hard to reduce the time it takes to build a Docusaurus site in production mode."}),"\n",(0,a.jsx)(s.p,{children:"Between v3.1.0 and v3.2.0, several changes have been made, leading to significantly faster production builds for many sites."}),"\n",(0,a.jsxs)(s.p,{children:["Let's take an example. Our benchmark on the ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/react-native-website/pull/4072",children:"React Native website upgrading to v3.2"})," reports the following results:"]}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"\uD83D\uDD25 Cold builds: 95s \u27A1\uFE0F 66s (~30% faster)"}),"\n",(0,a.jsx)(s.li,{children:"\uD83D\uDD25 Incremental builds: 55s \u27A1\uFE0F 22s (~60% faster)"}),"\n"]}),"\n",(0,a.jsx)(s.p,{children:"The results will vary depending on your site's topology and the options you turned on, but we expect the largest sites will see the most significant improvements."}),"\n",(0,a.jsxs)(s.p,{children:["Note that this is only the beginning, and Docusaurus performance can still be significantly improved, notably the bundling time and the memory consumption. Track our ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/4765",children:"performance issue"})," for upcoming improvements."]}),"\n",(0,a.jsxs)(n,{children:[(0,a.jsx)("summary",{children:"What is the difference between a cold build and an incremental build?"}),(0,a.jsxs)(s.p,{children:["A cold build is when the Docusaurus caches are empty, generally after running ",(0,a.jsx)(s.code,{children:"docusaurus clear"}),"."]}),(0,a.jsxs)(s.p,{children:["An incremental build happens when you run another time the ",(0,a.jsx)(s.code,{children:"docusaurus build"}),' command. Docusaurus automatically tries to "re-use" computations from former builds to make subsequent builds faster. In practice it\'s based on ',(0,a.jsx)(s.a,{href:"https://webpack.js.org/guides/build-performance/#persistent-cache",children:"Webpack persistent caching"}),". To enable incremental builds on your CI server, you can persist the ",(0,a.jsx)(s.code,{children:"node_modules/.cache"})," folder across builds."]})]}),"\n",(0,a.jsx)(s.h3,{id:"faster-dev-server",children:"Faster Dev Server"}),"\n",(0,a.jsx)(s.p,{children:"We also worked on improving the performance of the dev server, so that you can get a faster feedback when editing Markdown/MDX files."}),"\n",(0,a.jsx)(s.p,{children:"The way we initially implemented content reloading wasn't great. For example, editing a blog post file would also trigger a useless reload of the unrelated docs plugin. From now on, when editing a plugin's content, only that plugin will reload. It's hard to measure precisely the impact of this change, but I estimate edits should appear in your browser at least 50% faster \uD83D\uDD25."}),"\n",(0,a.jsx)(s.p,{children:"We plan to keep improving the speed of our dev server, with even more granular hot reloads, ensuring we don't run useless computations that would always keep giving the same result."}),"\n",(0,a.jsx)(s.h3,{id:"mdx-partials-table-of-contents",children:"MDX partials table-of-contents"}),"\n",(0,a.jsxs)(s.p,{children:["With ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9684",children:"#9684"}),", Docusaurus is now able to render headings coming from an imported partial into the table-of-contents."]}),"\n",(0,a.jsxs)(s.p,{children:["Docusaurus and MDX allows you to ",(0,a.jsx)(s.a,{href:"/docs/markdown-features/react#importing-markdown",children:"import one Markdown file into another"}),'. We usually call the imported Markdown file a "partial", and use the ',(0,a.jsx)(s.code,{children:"_"})," prefix so that this file does not lead to the creation of a new page."]}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-md",metastring:'title="myDoc.mdx"',children:"# My Doc\n\n## Doc heading\n\nContent is imported from another MDX file:\n\nimport ImportedDoc from './\\_importedDoc.mdx';\n\n<ImportedDoc />\n"})}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-md",metastring:'title="_myPartial.mdx"',children:"## Partial heading\n\nSome paragraph\n"})}),"\n",(0,a.jsxs)(s.p,{children:["Previously, the heading ",(0,a.jsx)(s.code,{children:"Partial heading"})," did not appear in the table-of-contents, but now it will!"]}),"\n",(0,a.jsx)(s.h3,{id:"blog-improvements",children:"Blog improvements"}),"\n",(0,a.jsx)(s.p,{children:"We improved the blog plugin with several new options to make it even more powerful and flexible:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9912",children:"#9912"}),": you can now display the last update time and author of a blog post, a feature the docs plugin already had."]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9886",children:"#9886"}),": a new ",(0,a.jsx)(s.code,{children:"processBlogPosts"})," option allow you to filter/transform/sort blog posts."]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9838",children:"#9838"}),": a new ",(0,a.jsx)(s.code,{children:"pageBasePath"})," option allows you to customize the blog pagination URL segment (",(0,a.jsx)(s.code,{children:"/blog/page/2"}),")"]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"sitemap-lastmod",children:"Sitemap lastmod"}),"\n",(0,a.jsxs)(s.p,{children:["With ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9954",children:"#9954"}),", the sitemap plugin has a new ",(0,a.jsx)(s.code,{children:"lastmod"})," option that can now emit a ",(0,a.jsx)(s.code,{children:"<lastmod>"})," tag on the XML. The value is read from the Git history by default, but can be overridden with docs and blog ",(0,a.jsx)(s.code,{children:"last_update"})," front matter."]}),"\n",(0,a.jsxs)(s.p,{children:["We also made it possible to opt-out of emitting ",(0,a.jsx)(s.code,{children:"<priority>"})," and ",(0,a.jsx)(s.code,{children:"<frequency>"})," tags, which are generally ignored by crawlers (notably ",(0,a.jsx)(s.a,{href:"https://developers.google.com/search/blog/2023/06/sitemaps-lastmod-ping",children:"Google"}),")."]}),"\n",(0,a.jsx)(s.p,{children:"We recommend using the following sitemap plugin config, that will become the default in Docusaurus V4:"}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-js",children:"{\n lastmod: 'date',\n priority: null,\n changefreq: null,\n}\n"})}),"\n",(0,a.jsx)(s.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9687",children:"#9687"}),": new Vercel Analytics plugin"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9681",children:"#9681"})," and ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9442",children:"#9442"}),": ",(0,a.jsx)(s.code,{children:"docusaurus swizzle"})," and ",(0,a.jsx)(s.code,{children:"create-docusaurus"})," CLIs now ask users if they prefer to use TypeScript"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9928",children:"#9928"}),": new Icelandic translation"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9931",children:"#9928"}),": new ",(0,a.jsx)(s.code,{children:"allContentLoaded"})," plugin lifecycle (experimental)"]}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:["Check the ",(0,a.jsx)(s.strong,{children:(0,a.jsx)(s.a,{href:"/changelog/3.2.0",children:"3.2.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function u(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},51118:function(e,s,t){t.d(s,{Z:()=>r});var n=t(85893);t(67294);var a=t(14522);function r(e){let{url:s}=e;return(0,n.jsx)("div",{style:{padding:10},children:(0,n.jsx)(a.Z,{url:s,style:{minWidth:"min(100%,45vw)",width:800,maxWidth:"100%",overflow:"hidden"},bodyStyle:{padding:0},children:(0,n.jsx)("iframe",{src:s,title:s,style:{display:"block",width:"100%",height:300}})})})}},14522:function(e,s,t){t.d(s,{Z:()=>o});var n=t(85893);t(67294);var a=t(90496);let r="dot_giz1",i="bar_rrRL";function o(e){let{children:s,minHeight:t,url:o="http://localhost:3000",style:l,bodyStyle:c}=e;return(0,n.jsxs)("div",{className:"browserWindow_my1Q",style:{...l,minHeight:t},children:[(0,n.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,n.jsxs)("div",{className:"buttons_uHc7",children:[(0,n.jsx)("span",{className:r,style:{background:"#f25f58"}}),(0,n.jsx)("span",{className:r,style:{background:"#fbbe3c"}}),(0,n.jsx)("span",{className:r,style:{background:"#58cb42"}})]}),(0,n.jsx)("div",{className:(0,a.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:o}),(0,n.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:i}),(0,n.jsx)("span",{className:i}),(0,n.jsx)("span",{className:i})]})})]}),(0,n.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:s})]})}},39468:function(e,s,t){t.d(s,{Z:()=>r});var n=t(85893),a=t(67294);function r(e){let{children:s="Boom!",message:t="Boom!\nSomething bad happened, but you can try again!",cause:r}=e,[i,o]=(0,a.useState)(!1);if(i)throw Error(t,{cause:r?Error(r):void 0});return(0,n.jsx)("button",{className:"button button--danger",type:"button",onClick:()=>o(!0),children:s})}},80980:function(e,s,t){t.d(s,{Z:()=>o,a:()=>i});var n=t(67294);let a={},r=n.createContext(a);function i(e){let s=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),n.createElement(r.Provider,{value:s},e.children)}},3813:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.2","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.2/index.mdx","source":"@site/blog/releases/3.2/index.mdx","title":"Docusaurus 3.2","description":"We are happy to announce Docusaurus 3.2.","date":"2024-03-29T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.475,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.2","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-03-29T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.3","permalink":"/blog/releases/3.3"},"nextItem":{"title":"Docusaurus 3.1","permalink":"/blog/releases/3.1"}}')}}]); \ No newline at end of file diff --git a/assets/js/17090684.07287b09.js b/assets/js/17090684.07287b09.js new file mode 100644 index 0000000000..17920cfc24 --- /dev/null +++ b/assets/js/17090684.07287b09.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["58564"],{99397:function(s){s.exports=JSON.parse('{"tag":{"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus","allTagsPath":"/tests/blog/tags","count":4,"unlisted":false},"listMetadata":{"permalink":"/tests/blog/tags/docusaurus","page":1,"postsPerPage":3,"totalPages":2,"totalCount":4,"nextPage":"/tests/blog/tags/docusaurus/page/2","blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/17896441.13b6c8c9.js b/assets/js/17896441.13b6c8c9.js deleted file mode 100644 index 473e0541d9..0000000000 --- a/assets/js/17896441.13b6c8c9.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[8401],{2473:(e,t,n)=>{"use strict";n.d(t,{A:()=>H});var s=n(6540),a=n(4848);function i(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),i=t.filter((e=>e!==n)),o=n?.props.children;return{mdxAdmonitionTitle:o,rest:i.length>0?(0,a.jsx)(a.Fragment,{children:i}):null}}(e.children),i=e.title??t;return{...e,...i&&{title:i},children:n}}var o=n(1750),r=n(4709),c=n(8532);const l="admonition_o5H7",d="admonitionHeading_FzoX",u="admonitionIcon_rXq6",m="admonitionContent_Knsx";function h(e){let{type:t,className:n,children:s}=e;return(0,a.jsx)("div",{className:(0,o.A)(c.G.common.admonition,c.G.common.admonitionType(t),l,n),children:s})}function p(e){let{icon:t,title:n}=e;return(0,a.jsxs)("div",{className:d,children:[(0,a.jsx)("span",{className:u,children:t}),n]})}function f(e){let{children:t}=e;return t?(0,a.jsx)("div",{className:m,children:t}):null}function x(e){const{type:t,icon:n,title:s,children:i,className:o}=e;return(0,a.jsxs)(h,{type:t,className:o,children:[s||n?(0,a.jsx)(p,{title:s,icon:n}):null,(0,a.jsx)(f,{children:i})]})}function b(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const g={icon:(0,a.jsx)(b,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function v(e){return(0,a.jsx)(x,{...g,...e,className:(0,o.A)("alert alert--secondary",e.className),children:e.children})}function j(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const A={icon:(0,a.jsx)(j,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function N(e){return(0,a.jsx)(x,{...A,...e,className:(0,o.A)("alert alert--success",e.className),children:e.children})}function C(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const y={icon:(0,a.jsx)(C,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function k(e){return(0,a.jsx)(x,{...y,...e,className:(0,o.A)("alert alert--info",e.className),children:e.children})}function L(e){return(0,a.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const _={icon:(0,a.jsx)(L,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function B(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const w={icon:(0,a.jsx)(B,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const T={icon:(0,a.jsx)(L,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const E={...{note:v,tip:N,info:k,warning:function(e){return(0,a.jsx)(x,{..._,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,a.jsx)(x,{...w,...e,className:(0,o.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,a.jsx)(v,{title:"secondary",...e}),important:e=>(0,a.jsx)(k,{title:"important",...e}),success:e=>(0,a.jsx)(N,{title:"success",...e}),caution:function(e){return(0,a.jsx)(x,{...T,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})}}};function H(e){const t=i(e),n=(s=t.type,E[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),E.info));var s;return(0,a.jsx)(n,{...t})}},9169:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(6540);var s=n(1750),a=n(9137),i=n(8532),o=n(2473),r=n(4848);function c(e){let{className:t}=e;return(0,r.jsx)(o.A,{type:"caution",title:(0,r.jsx)(a.Rc,{}),className:(0,s.A)(t,i.G.common.unlistedBanner),children:(0,r.jsx)(a.Uh,{})})}function l(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.AE,{}),(0,r.jsx)(c,{...e})]})}},5088:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});n(6540);var s=n(1750),a=n(9137),i=n(8532),o=n(2473),r=n(4848);function c(e){let{className:t}=e;return(0,r.jsx)(o.A,{type:"caution",title:(0,r.jsx)(a.Yh,{}),className:(0,s.A)(t,i.G.common.draftBanner),children:(0,r.jsx)(a.TT,{})})}var l=n(9169);function d(e){let{metadata:t}=e;const{unlisted:n,frontMatter:s}=t;return(0,r.jsxs)(r.Fragment,{children:[(n||s.unlisted)&&(0,r.jsx)(l.A,{}),s.draft&&(0,r.jsx)(c,{})]})}},6837:(e,t,n)=>{"use strict";n.d(t,{A:()=>j});n(6540);var s=n(1750),a=n(8532),i=n(4271),o=n(5438),r=n(5739),c=n(4709),l=n(5e3),d=n(4848);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const m={breadcrumbHomeIcon:"breadcrumbHomeIcon_uaSn"};function h(){const e=(0,l.Ay)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(r.A,{"aria-label":(0,c.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:m.breadcrumbHomeIcon})})})}var p=n(2785),f=n(1571);function x(e){const t=function(e){let{breadcrumbs:t}=e;const{siteConfig:n}=(0,f.A)();return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:t.filter((e=>e.href)).map(((e,t)=>({"@type":"ListItem",position:t+1,name:e.label,item:`${n.url}${e.href}`})))}}({breadcrumbs:e.breadcrumbs});return(0,d.jsx)(p.A,{children:(0,d.jsx)("script",{type:"application/ld+json",children:JSON.stringify(t)})})}const b={breadcrumbsContainer:"breadcrumbsContainer_Wvrh"};function g(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,d.jsx)("span",{className:a,children:t}):n?(0,d.jsx)(r.A,{className:a,href:n,children:(0,d.jsx)("span",{children:t})}):(0,d.jsx)("span",{className:a,children:t})}function v(e){let{children:t,active:n}=e;return(0,d.jsx)("li",{className:(0,s.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:t})}function j(){const e=(0,i.OF)(),t=(0,o.Dt)();return e?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(x,{breadcrumbs:e}),(0,d.jsx)("nav",{className:(0,s.A)(a.G.docs.docBreadcrumbs,b.breadcrumbsContainer),"aria-label":(0,c.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",children:[t&&(0,d.jsx)(h,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(v,{active:s,children:(0,d.jsx)(g,{href:a,isLast:s,children:t.label})},n)}))]})})]}):null}},2083:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>V});var s=n(6540),a=n(5861),i=n(9129),o=n(4848);const r=s.createContext(null);function c(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,o.jsx)(r.Provider,{value:a,children:t})}function l(){const e=(0,s.useContext)(r);if(null===e)throw new i.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=l();return(0,o.jsx)(a.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(1750),m=n(242),h=n(4232);function p(){const{metadata:e}=l();return(0,o.jsx)(h.A,{className:"docusaurus-mt-lg",previous:e.previous,next:e.next})}var f=n(913),x=n(458),b=n(8532),g=n(4849),v=n(8800);function j(){const{metadata:e}=l(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,tags:a}=e,i=a.length>0,r=!!(t||n||s);return i||r?(0,o.jsxs)("footer",{className:(0,u.A)(b.G.docs.docFooter,"docusaurus-mt-lg"),children:[i&&(0,o.jsx)("div",{className:(0,u.A)("row margin-top--sm",b.G.docs.docFooterTagsRow),children:(0,o.jsx)("div",{className:"col",children:(0,o.jsx)(g.A,{tags:a})})}),r&&(0,o.jsx)(v.A,{className:(0,u.A)("margin-top--sm",b.G.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s})]}):null}var A=n(343),N=n(1731),C=n(4709);const y={tocCollapsibleButton:"tocCollapsibleButton_IbtT",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_Nor3"};function k(e){let{collapsed:t,...n}=e;return(0,o.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",y.tocCollapsibleButton,!t&&y.tocCollapsibleButtonExpanded,n.className),children:(0,o.jsx)(C.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const L={tocCollapsible:"tocCollapsible_BEWm",tocCollapsibleContent:"tocCollapsibleContent_FG8F",tocCollapsibleExpanded:"tocCollapsibleExpanded_FzA_"};function _(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:r}=(0,A.u)({initialState:!0});return(0,o.jsxs)("div",{className:(0,u.A)(L.tocCollapsible,!i&&L.tocCollapsibleExpanded,n),children:[(0,o.jsx)(k,{collapsed:i,onClick:r}),(0,o.jsx)(A.N,{lazy:!0,className:L.tocCollapsibleContent,collapsed:i,children:(0,o.jsx)(N.A,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const B={tocMobile:"tocMobile_NSfz"};function w(){const{toc:e,frontMatter:t}=l();return(0,o.jsx)(_,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.A)(b.G.docs.docTocMobile,B.tocMobile)})}var T=n(8649);function E(){const{toc:e,frontMatter:t}=l();return(0,o.jsx)(T.A,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:b.G.docs.docTocDesktop})}var H=n(2409),M=n(853);function I(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=l();return t.hide_title||void 0!==n?null:e.title}();return(0,o.jsxs)("div",{className:(0,u.A)(b.G.docs.docMarkdown,"markdown"),children:[n&&(0,o.jsx)("header",{children:(0,o.jsx)(H.A,{as:"h1",children:n})}),(0,o.jsx)(M.A,{children:t})]})}var U=n(6837),S=n(5088);const R={docItemContainer:"docItemContainer_RhpI",docItemCol:"docItemCol_n6xZ"};function z(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=l(),n=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,o.jsx)(w,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,o.jsx)(E,{})}}(),{metadata:s}=l();return(0,o.jsxs)("div",{className:"row",children:[(0,o.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&R.docItemCol),children:[(0,o.jsx)(S.A,{metadata:s}),(0,o.jsx)(f.A,{}),(0,o.jsxs)("div",{className:R.docItemContainer,children:[(0,o.jsxs)("article",{children:[(0,o.jsx)(U.A,{}),(0,o.jsx)(x.A,{}),n.mobile,(0,o.jsx)(I,{children:t}),(0,o.jsx)(j,{})]}),(0,o.jsx)(p,{})]})]}),n.desktop&&(0,o.jsx)("div",{className:"col col--3",children:n.desktop})]})}function V(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,o.jsx)(c,{content:e.content,children:(0,o.jsxs)(a.e3,{className:t,children:[(0,o.jsx)(d,{}),(0,o.jsx)(z,{children:(0,o.jsx)(n,{})})]})})}},4232:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});n(6540);var s=n(1750),a=n(4709),i=n(8705),o=n(4848);function r(e){const{className:t,previous:n,next:r}=e;return(0,o.jsxs)("nav",{className:(0,s.A)(t,"pagination-nav"),"aria-label":(0,a.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[n&&(0,o.jsx)(i.A,{...n,subLabel:(0,o.jsx)(a.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),r&&(0,o.jsx)(i.A,{...r,subLabel:(0,o.jsx)(a.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},458:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var s=n(1750),a=n(4709),i=n(8532),o=n(8218),r=n(4848);function c(e){let{className:t}=e;const n=(0,o.r)();return n.badge?(0,r.jsx)("span",{className:(0,s.A)(t,i.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,r.jsx)(a.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},913:(e,t,n)=>{"use strict";n.d(t,{A:()=>x});n(6540);var s=n(1750),a=n(1571),i=n(5739),o=n(4709),r=n(5996),c=n(8532),l=n(2375),d=n(8218),u=n(4848);const m={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(o.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(o.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=m[e.versionMetadata.banner];return(0,u.jsx)(t,{...e})}function p(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,u.jsx)(o.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,u.jsx)("b",{children:(0,u.jsx)(i.A,{to:n,onClick:s,children:(0,u.jsx)(o.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function f(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:i}}=(0,a.A)(),{pluginId:o}=(0,r.vT)({failfast:!0}),{savePreferredVersionName:d}=(0,l.g1)(o),{latestDocSuggestion:m,latestVersionSuggestion:f}=(0,r.HW)(o),x=m??(b=f).docs.find((e=>e.id===b.mainDocId));var b;return(0,u.jsxs)("div",{className:(0,s.A)(t,c.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,u.jsx)("div",{children:(0,u.jsx)(h,{siteTitle:i,versionMetadata:n})}),(0,u.jsx)("div",{className:"margin-top--md",children:(0,u.jsx)(p,{versionLabel:f.label,to:x.path,onClick:()=>d(f.name)})})]})}function x(e){let{className:t}=e;const n=(0,d.r)();return n.banner?(0,u.jsx)(f,{className:t,versionMetadata:n}):null}},8800:(e,t,n)=>{"use strict";n.d(t,{A:()=>x});n(6540);var s=n(1750),a=n(4709),i=n(8532),o=n(5739);const r={iconEdit:"iconEdit_IMw_"};var c=n(4848);function l(e){let{className:t,...n}=e;return(0,c.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(r.iconEdit,t),"aria-hidden":"true",...n,children:(0,c.jsx)("g",{children:(0,c.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,c.jsxs)(o.A,{to:t,className:i.G.common.editThisPage,children:[(0,c.jsx)(l,{}),(0,c.jsx)(a.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(9153);function m(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=(0,u.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,c.jsx)(a.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,c.jsx)("b",{children:(0,c.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,c.jsx)(a.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,c.jsx)("b",{children:t})},children:" by {user}"})}function p(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,c.jsxs)("span",{className:i.G.common.lastUpdated,children:[(0,c.jsx)(a.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,c.jsx)(m,{lastUpdatedAt:t}):"",byUser:n?(0,c.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const f={lastUpdated:"lastUpdated_OHCJ"};function x(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:i}=e;return(0,c.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,c.jsx)("div",{className:"col",children:n&&(0,c.jsx)(d,{editUrl:n})}),(0,c.jsx)("div",{className:(0,s.A)("col",f.lastUpdated),children:(a||i)&&(0,c.jsx)(p,{lastUpdatedAt:a,lastUpdatedBy:i})})]})}},853:(e,t,n)=>{"use strict";n.d(t,{A:()=>he});var s=n(6540),a=n(3023),i=n(2785),o=n(3754),r=n(1750),c=n(5407),l=n(6963);function d(){const{prism:e}=(0,l.p)(),{colorMode:t}=(0,c.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(8532),m=n(9934),h=n.n(m);const p=/title=(?<quote>["'])(?<title>.*?)\1/,f=/\{(?<range>[\d,-]+)\}/,x={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},b={...x,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},g=Object.keys(x);function v(e,t){const n=e.map((e=>{const{start:n,end:s}=b[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function j(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){const t=e?.split(" ").find((e=>e.startsWith("showLineNumbers")));if(t){if(t.startsWith("showLineNumbers=")){const e=t.replace("showLineNumbers=","");return parseInt(e,10)}return 1}}(n)}function A(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:i}=t;if(i&&f.test(i)){const e=i.match(f).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${i}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const o=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return v(["js","jsBlock"],t);case"jsx":case"tsx":return v(["js","jsBlock","jsx"],t);case"html":return v(["js","jsBlock","html"],t);case"python":case"py":case"bash":return v(["bash"],t);case"markdown":case"md":return v(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return v(["tex"],t);case"lua":case"haskell":return v(["lua"],t);case"sql":return v(["lua","jsBlock"],t);case"wasm":return v(["wasm"],t);case"vb":case"vba":case"visual-basic":return v(["vb","rem"],t);case"vbnet":return v(["vbnet","rem"],t);case"batch":return v(["rem"],t);case"basic":return v(["rem","f90"],t);case"fsharp":return v(["js","ml"],t);case"ocaml":case"sml":return v(["ml"],t);case"fortran":return v(["f90"],t);case"cobol":return v(["cobol"],t);default:return v(g,t)}}(s,a),r=n.split("\n"),c=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<r.length;){const e=r[h].match(o);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));l[t]?c[l[t]].range+=`${h},`:d[t]?c[d[t]].start=h:u[t]&&(c[u[t]].range+=`${c[u[t]].start}-${h-1},`),r.splice(h,1)}n=r.join("\n");const m={};return Object.entries(c).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const N="codeBlockContainer_jDV4";var C=n(4848);function y(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const i=t[s];i&&"string"==typeof a&&(n[i]=a)})),n}(d());return(0,C.jsx)(t,{...n,style:s,className:(0,r.A)(n.className,N,u.G.common.codeBlock)})}const k={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function L(e){let{children:t,className:n}=e;return(0,C.jsx)(y,{as:"pre",tabIndex:0,className:(0,r.A)(k.codeBlockStandalone,"thin-scrollbar",n),children:(0,C.jsx)("code",{className:k.codeBlockLines,children:t})})}var _=n(9129);const B={attributes:!0,characterData:!0,childList:!0,subtree:!0};function w(e,t){const[n,a]=(0,s.useState)(),i=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{i()}),[i]),function(e,t,n){void 0===n&&(n=B);const a=(0,_._q)(t),i=(0,_.Be)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,i),()=>t.disconnect()}),[e,a,i])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),i())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var T=n(7663);const E="codeLine_qRmp",H="codeLineNumber_dS_J",M="codeLineContent_XF5l";function I(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:i}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const o=a({line:t,className:(0,r.A)(n,s&&E)}),c=t.map(((e,t)=>(0,C.jsx)("span",{...i({token:e})},t)));return(0,C.jsxs)("span",{...o,children:[s?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("span",{className:H}),(0,C.jsx)("span",{className:M,children:c})]}):c,(0,C.jsx)("br",{})]})}var U=n(4709);function S(e){return(0,C.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,C.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function R(e){return(0,C.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,C.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const z={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function V(e){let{code:t,className:n}=e;const[a,i]=(0,s.useState)(!1),o=(0,s.useRef)(void 0),c=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const i=document.getSelection(),o=i.rangeCount>0&&i.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let r=!1;try{r=document.execCommand("copy")}catch{}s.remove(),o&&(i.removeAllRanges(),i.addRange(o)),a&&a.focus()}(t),i(!0),o.current=window.setTimeout((()=>{i(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(o.current)),[]),(0,C.jsx)("button",{type:"button","aria-label":a?(0,U.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,U.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,U.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,r.A)("clean-btn",n,z.copyButton,a&&z.copyButtonCopied),onClick:c,children:(0,C.jsxs)("span",{className:z.copyButtonIcons,"aria-hidden":"true",children:[(0,C.jsx)(S,{className:z.copyButtonIcon}),(0,C.jsx)(R,{className:z.copyButtonSuccessIcon})]})})}function O(e){return(0,C.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,C.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const G="wordWrapButtonIcon_MQXS",D="wordWrapButtonEnabled_TBIH";function F(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,U.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,C.jsx)("button",{type:"button",onClick:n,className:(0,r.A)("clean-btn",t,s&&D),"aria-label":a,title:a,children:(0,C.jsx)(O,{className:G,"aria-hidden":"true"})})}function $(e){let{children:t,className:n="",metastring:a,title:i,showLineNumbers:c,language:u}=e;const{prism:{defaultLanguage:m,magicComments:h}}=(0,l.p)(),f=function(e){return e?.toLowerCase()}(u??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??m),x=d(),b=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),i=(0,s.useRef)(null),o=(0,s.useCallback)((()=>{const n=i.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[i,e]),r=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=i.current,n=e>t||i.current.querySelector("code").hasAttribute("style");a(n)}),[i]);return w(i,r),(0,s.useEffect)((()=>{r()}),[e,r]),(0,s.useEffect)((()=>(window.addEventListener("resize",r,{passive:!0}),()=>{window.removeEventListener("resize",r)})),[r]),{codeBlockRef:i,isEnabled:e,isCodeScrollable:n,toggle:o}}(),g=(0,o.A)(),v=function(e){return e?.match(p)?.groups.title??""}(a)||i,{lineClassNames:N,code:L}=A(t,{metastring:a,language:f,magicComments:h}),_=j({showLineNumbers:c,metastring:a});return(0,C.jsxs)(y,{as:"div",className:(0,r.A)(n,f&&!n.includes(`language-${f}`)&&`language-${f}`),children:[v&&(0,C.jsx)("div",{className:k.codeBlockTitle,children:v}),(0,C.jsxs)("div",{className:k.codeBlockContent,children:[(0,C.jsx)(T.f4,{theme:x,code:L,language:f??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:i}=e;return(0,C.jsx)("pre",{tabIndex:0,ref:b.codeBlockRef,className:(0,r.A)(t,k.codeBlock,"thin-scrollbar"),style:n,children:(0,C.jsx)("code",{className:(0,r.A)(k.codeBlockLines,void 0!==_&&k.codeBlockLinesWithNumbering),style:void 0===_?void 0:{counterReset:"line-count "+(_-1)},children:s.map(((e,t)=>(0,C.jsx)(I,{line:e,getLineProps:a,getTokenProps:i,classNames:N[t],showLineNumbers:void 0!==_},t)))})})}}),g?(0,C.jsxs)("div",{className:k.buttonGroup,children:[(b.isEnabled||b.isCodeScrollable)&&(0,C.jsx)(F,{className:k.codeButton,onClick:()=>b.toggle(),isEnabled:b.isEnabled}),(0,C.jsx)(V,{className:k.codeButton,code:L})]}):null]})]})}function W(e){let{children:t,...n}=e;const a=(0,o.A)(),i=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),r="string"==typeof i?$:L;return(0,C.jsx)(r,{...n,children:i},String(a))}function P(e){return(0,C.jsx)("code",{...e})}var q=n(5739);var X=n(6051),Q=n(343);const Z="details_Nokh",J="isBrowser_QrB5",Y="collapsibleContent_EoA1";function K(e){return!!e&&("SUMMARY"===e.tagName||K(e.parentElement))}function ee(e,t){return!!e&&(e===t||ee(e.parentElement,t))}function te(e){let{summary:t,children:n,...a}=e;(0,X.A)().collectAnchor(a.id);const i=(0,o.A)(),c=(0,s.useRef)(null),{collapsed:l,setCollapsed:d}=(0,Q.u)({initialState:!a.open}),[u,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,C.jsx)("summary",{children:t??"Details"});return(0,C.jsxs)("details",{...a,ref:c,open:u,"data-collapsed":l,className:(0,r.A)(Z,i&&J,a.className),onMouseDown:e=>{K(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;K(t)&&ee(t,c.current)&&(e.preventDefault(),l?(d(!1),m(!0)):d(!0))},children:[h,(0,C.jsx)(Q.N,{lazy:!1,collapsed:l,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,C.jsx)("div",{className:Y,children:n})})]})}const ne="details_Cn_P";function se(e){let{...t}=e;return(0,C.jsx)(te,{...t,className:(0,r.A)("alert alert--info",ne,t.className)})}function ae(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,C.jsx)(C.Fragment,{children:t.filter((e=>e!==n))});return(0,C.jsx)(se,{...e,summary:n,children:a})}var ie=n(2409);function oe(e){return(0,C.jsx)(ie.A,{...e})}const re="containsTaskList_k9gM";function ce(e){if(void 0!==e)return(0,r.A)(e,e?.includes("contains-task-list")&&re)}const le="img_vXGZ";var de=n(2473),ue=n(219);const me={Head:i.A,details:ae,Details:ae,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,C.jsx)(P,{...e}):(0,C.jsx)(W,{...e})},a:function(e){return(0,C.jsx)(q.A,{...e})},pre:function(e){return(0,C.jsx)(C.Fragment,{children:e.children})},ul:function(e){return(0,C.jsx)("ul",{...e,className:ce(e.className)})},li:function(e){return(0,X.A)().collectAnchor(e.id),(0,C.jsx)("li",{...e})},img:function(e){return(0,C.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,r.A)(t,le))});var t},h1:e=>(0,C.jsx)(oe,{as:"h1",...e}),h2:e=>(0,C.jsx)(oe,{as:"h2",...e}),h3:e=>(0,C.jsx)(oe,{as:"h3",...e}),h4:e=>(0,C.jsx)(oe,{as:"h4",...e}),h5:e=>(0,C.jsx)(oe,{as:"h5",...e}),h6:e=>(0,C.jsx)(oe,{as:"h6",...e}),admonition:de.A,mermaid:ue.A};function he(e){let{children:t}=e;return(0,C.jsx)(a.x,{components:me,children:t})}},8705:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var s=n(1750),a=n(5739),i=n(4848);function o(e){const{permalink:t,title:n,subLabel:o,isNext:r}=e;return(0,i.jsxs)(a.A,{className:(0,s.A)("pagination-nav__link",r?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[o&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:o}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}},8649:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(6540);var s=n(1750),a=n(1731);const i={tableOfContents:"tableOfContents_RLlU",docItemContainer:"docItemContainer_oucX"};var o=n(4848);const r="table-of-contents__link toc-highlight",c="table-of-contents__link--active";function l(e){let{className:t,...n}=e;return(0,o.jsx)("div",{className:(0,s.A)(i.tableOfContents,"thin-scrollbar",t),children:(0,o.jsx)(a.A,{...n,linkClassName:r,linkActiveClassName:c})})}},1731:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var s=n(6540),a=n(6963);function i(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function o(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=o({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function r(e){const t=e.getBoundingClientRect();return t.top===t.bottom?r(e.parentNode):t}function c(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>r(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(r(s))?s:e[e.indexOf(s)-1]??null}return e[e.length-1]??null}function l(){const e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,a.p)();return(0,s.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=l();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:o}=e;function r(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),r=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:i,maxHeadingLevel:o}),l=c(r,{anchorTopOffset:n.current}),d=e.find((e=>l&&l.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",r),document.addEventListener("resize",r),r(),()=>{document.removeEventListener("scroll",r),document.removeEventListener("resize",r)}}),[e,n])}var u=n(5739),m=n(4848);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const p=s.memo(h);function f(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:r="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:l,maxHeadingLevel:u,...h}=e;const f=(0,a.p)(),x=l??f.tableOfContents.minHeadingLevel,b=u??f.tableOfContents.maxHeadingLevel,g=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>o({toc:i(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:x,maxHeadingLevel:b});return d((0,s.useMemo)((()=>{if(r&&c)return{linkClassName:r,linkActiveClassName:c,minHeadingLevel:x,maxHeadingLevel:b}}),[r,c,x,b])),(0,m.jsx)(p,{toc:g,className:n,linkClassName:r,...h})}},5475:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});n(6540);var s=n(1750),a=n(5739);const i={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};var o=n(4848);function r(e){let{permalink:t,label:n,count:r,description:c}=e;return(0,o.jsxs)(a.A,{href:t,title:c,className:(0,s.A)(i.tag,r?i.tagWithCount:i.tagRegular),children:[n,r&&(0,o.jsx)("span",{children:r})]})}},4849:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var s=n(1750),a=n(4709),i=n(5475);const o={tags:"tags_rTaS",tag:"tag_l5va"};var r=n(4848);function c(e){let{tags:t}=e;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("b",{children:(0,r.jsx)(a.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,r.jsx)("ul",{className:(0,s.A)(o.tags,"padding--none","margin-left--sm"),children:t.map((e=>(0,r.jsx)("li",{className:o.tag,children:(0,r.jsx)(i.A,{...e})},e.permalink)))})]})}},9137:(e,t,n)=>{"use strict";n.d(t,{AE:()=>c,Rc:()=>o,TT:()=>d,Uh:()=>r,Yh:()=>l});n(6540);var s=n(4709),a=n(2785),i=n(4848);function o(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,i.jsx)(a.A,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function l(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,i.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}},9153:(e,t,n)=>{"use strict";n.d(t,{i:()=>a});var s=n(1571);function a(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,s.A)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},9934:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,i]=t;if(s&&i){s=parseInt(s),i=parseInt(i);const e=s<i?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(i+=e);for(let t=s;t!==i;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},3023:(e,t,n)=>{"use strict";n.d(t,{R:()=>o,x:()=>r});var s=n(6540);const a={},i=s.createContext(a);function o(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/17896441.983cd2e3.js b/assets/js/17896441.983cd2e3.js new file mode 100644 index 0000000000..aa6d2cc821 --- /dev/null +++ b/assets/js/17896441.983cd2e3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["87048"],{37796:function(e,t,n){n.d(t,{Z:()=>r});var s=n(85893);function r(e){return(0,s.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}n(67294)},49356:function(e,t,n){n.d(t,{Z:()=>C});var s=n(85893),r=n(67294),i=n(90496),a=n(77827),l=n(55951);let o={admonition:"admonition_o5H7",admonitionHeading:"admonitionHeading_FzoX",admonitionIcon:"admonitionIcon_rXq6",admonitionContent:"admonitionContent_Knsx"};function c(e){let{type:t,className:n,children:r}=e;return(0,s.jsx)("div",{className:(0,i.Z)(l.k.common.admonition,l.k.common.admonitionType(t),o.admonition,n),children:r})}function d(e){let{icon:t,title:n}=e;return(0,s.jsxs)("div",{className:o.admonitionHeading,children:[(0,s.jsx)("span",{className:o.admonitionIcon,children:t}),n]})}function u(e){let{children:t}=e;return t?(0,s.jsx)("div",{className:o.admonitionContent,children:t}):null}function h(e){let{type:t,icon:n,title:r,children:i,className:a}=e;return(0,s.jsxs)(c,{type:t,className:a,children:[r||n?(0,s.jsx)(d,{title:r,icon:n}):null,(0,s.jsx)(u,{children:i})]})}let m={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,s.jsx)(a.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function f(e){return(0,s.jsx)(h,{...m,...e,className:(0,i.Z)("alert alert--secondary",e.className),children:e.children})}let x={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,s.jsx)(a.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function p(e){return(0,s.jsx)(h,{...x,...e,className:(0,i.Z)("alert alert--success",e.className),children:e.children})}var j=n(37796);let b={icon:(0,s.jsx)(j.Z,{}),title:(0,s.jsx)(a.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function v(e){return(0,s.jsx)(h,{...b,...e,className:(0,i.Z)("alert alert--info",e.className),children:e.children})}function g(e){return(0,s.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let Z={icon:(0,s.jsx)(g,{}),title:(0,s.jsx)(a.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},N={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,s.jsx)(a.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},k={icon:(0,s.jsx)(g,{}),title:(0,s.jsx)(a.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};var y=n(57922);let _={note:f,tip:p,info:v,warning:function(e){return(0,s.jsx)(h,{...Z,...e,className:(0,i.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,s.jsx)(h,{...N,...e,className:(0,i.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,s.jsx)(f,{title:"secondary",...e}),important:e=>(0,s.jsx)(v,{title:"important",...e}),success:e=>(0,s.jsx)(p,{title:"success",...e}),caution:function(e){return(0,s.jsx)(h,{...k,...e,className:(0,i.Z)("alert alert--warning",e.className),children:e.children})},"my-custom-admonition":function(e){return(0,s.jsxs)("div",{style:{border:"solid red",padding:10},children:[(0,s.jsx)(y.Z,{as:"h5",style:{color:"blue",fontSize:30},children:e.title}),(0,s.jsx)("div",{children:e.children})]})}};function C(e){let t=function(e){let{mdxAdmonitionTitle:t,rest:n}=function(e){let t=r.Children.toArray(e),n=t.find(e=>r.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),i=t.filter(e=>e!==n);return{mdxAdmonitionTitle:n?.props.children,rest:i.length>0?(0,s.jsx)(s.Fragment,{children:i}):null}}(e.children),i=e.title??t;return{...e,...i&&{title:i},children:n}}(e),n=function(e){let t=_[e];return t||(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),_.info)}(t.type);return(0,s.jsx)(n,{...t})}},12221:function(e,t,n){n.d(t,{Z:()=>c});var s=n(85893);n(67294);var r=n(90496),i=n(68746),a=n(55951),l=n(49356);function o(e){let{className:t}=e;return(0,s.jsx)(l.Z,{type:"caution",title:(0,s.jsx)(i.cI,{}),className:(0,r.Z)(t,a.k.common.unlistedBanner),children:(0,s.jsx)(i.eU,{})})}function c(e){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.T$,{}),(0,s.jsx)(o,{...e})]})}},74291:function(e,t,n){n.d(t,{Z:()=>d});var s=n(85893);n(67294);var r=n(90496),i=n(68746),a=n(55951),l=n(49356);function o(e){let{className:t}=e;return(0,s.jsx)(l.Z,{type:"caution",title:(0,s.jsx)(i.ht,{}),className:(0,r.Z)(t,a.k.common.draftBanner),children:(0,s.jsx)(i.xo,{})})}var c=n(12221);function d(e){let{metadata:t}=e,{unlisted:n,frontMatter:r}=t;return(0,s.jsxs)(s.Fragment,{children:[(n||r.unlisted)&&(0,s.jsx)(c.Z,{}),r.draft&&(0,s.jsx)(o,{})]})}},2769:function(e,t,n){n.d(t,{Z:()=>h});var s=n(85893),r=n(67294),i=n(90496),a=n(96700),l=n(71607),o=n(97812);let c={details:"details_Nokh",isBrowser:"isBrowser_QrB5",collapsibleContent:"collapsibleContent_EoA1"};function d(e){return!!e&&("SUMMARY"===e.tagName||d(e.parentElement))}function u(e){let{summary:t,children:n,...u}=e;(0,a.Z)().collectAnchor(u.id);let h=(0,l.Z)(),m=(0,r.useRef)(null),{collapsed:f,setCollapsed:x}=(0,o.u)({initialState:!u.open}),[p,j]=(0,r.useState)(u.open),b=r.isValidElement(t)?t:(0,s.jsx)("summary",{children:t??"Details"});return(0,s.jsxs)("details",{...u,ref:m,open:p,"data-collapsed":f,className:(0,i.Z)(c.details,h&&c.isBrowser,u.className),onMouseDown:e=>{d(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;d(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,m.current)&&(e.preventDefault(),f?(x(!1),j(!0)):x(!0))},children:[b,(0,s.jsx)(o.z,{lazy:!1,collapsed:f,onCollapseTransitionEnd:e=>{x(e),j(!e)},children:(0,s.jsx)("div",{className:c.collapsibleContent,children:n})})]})}function h(e){let{...t}=e;return(0,s.jsx)(u,{...t,className:(0,i.Z)("alert alert--info","details_Cn_P",t.className)})}},20012:function(e,t,n){n.d(t,{Z:()=>b});var s=n(85893);n(67294);var r=n(90496),i=n(55951),a=n(85921),l=n(71208),o=n(35363),c=n(77827),d=n(83631);function u(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}function h(){let e=(0,d.ZP)("/");return(0,s.jsx)("li",{className:"breadcrumbs__item",children:(0,s.jsx)(o.Z,{"aria-label":(0,c.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,s.jsx)(u,{className:"breadcrumbHomeIcon_uaSn"})})})}var m=n(53327),f=n(8156);function x(e){let t=function(e){let{breadcrumbs:t}=e,{siteConfig:n}=(0,f.Z)();return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:t.filter(e=>e.href).map((e,t)=>({"@type":"ListItem",position:t+1,name:e.label,item:`${n.url}${e.href}`}))}}({breadcrumbs:e.breadcrumbs});return(0,s.jsx)(m.Z,{children:(0,s.jsx)("script",{type:"application/ld+json",children:JSON.stringify(t)})})}function p(e){let{children:t,href:n,isLast:r}=e,i="breadcrumbs__link";return r?(0,s.jsx)("span",{className:i,children:t}):n?(0,s.jsx)(o.Z,{className:i,href:n,children:(0,s.jsx)("span",{children:t})}):(0,s.jsx)("span",{className:i,children:t})}function j(e){let{children:t,active:n}=e;return(0,s.jsx)("li",{className:(0,r.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:t})}function b(){let e=(0,a.s1)(),t=(0,l.Ns)();return e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(x,{breadcrumbs:e}),(0,s.jsx)("nav",{className:(0,r.Z)(i.k.docs.docBreadcrumbs,"breadcrumbsContainer_Wvrh"),"aria-label":(0,c.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,s.jsxs)("ul",{className:"breadcrumbs",children:[t&&(0,s.jsx)(h,{}),e.map((t,n)=>{let r=n===e.length-1,i="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,s.jsx)(j,{active:r,children:(0,s.jsx)(p,{href:i,isLast:r,children:t.label})},n)})]})})]}):null}},6749:function(e,t,n){n.r(t),n.d(t,{default:()=>I});var s=n(85893),r=n(67294),i=n(57335),a=n(50923);let l=r.createContext(null);function o(e){let{children:t,content:n}=e,i=(0,r.useMemo)(()=>({metadata:n.metadata,frontMatter:n.frontMatter,assets:n.assets,contentTitle:n.contentTitle,toc:n.toc}),[n]);return(0,s.jsx)(l.Provider,{value:i,children:t})}function c(){let e=(0,r.useContext)(l);if(null===e)throw new a.i6("DocProvider");return e}function d(){let{metadata:e,frontMatter:t,assets:n}=c();return(0,s.jsx)(i.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(90496),h=n(28115),m=n(62742);function f(){let{metadata:e}=c();return(0,s.jsx)(m.Z,{className:"docusaurus-mt-lg",previous:e.previous,next:e.next})}var x=n(18219),p=n(4903),j=n(55951),b=n(47294),v=n(60114);function g(){let{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:r,tags:i}=e,a=i.length>0,l=!!(t||n||r);return a||l?(0,s.jsxs)("footer",{className:(0,u.Z)(j.k.docs.docFooter,"docusaurus-mt-lg"),children:[a&&(0,s.jsx)("div",{className:(0,u.Z)("row margin-top--sm",j.k.docs.docFooterTagsRow),children:(0,s.jsx)("div",{className:"col",children:(0,s.jsx)(b.Z,{tags:i})})}),l&&(0,s.jsx)(v.Z,{className:(0,u.Z)("margin-top--sm",j.k.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:r})]}):null}var Z=n(57589);function N(){let{toc:e,frontMatter:t}=c();return(0,s.jsx)(Z.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.Z)(j.k.docs.docTocMobile,"tocMobile_NSfz")})}var k=n(4458);function y(){let{toc:e,frontMatter:t}=c();return(0,s.jsx)(k.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:j.k.docs.docTocDesktop})}var _=n(57922),C=n(84015);function w(e){let{children:t}=e,n=function(){let{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,s.jsxs)("div",{className:(0,u.Z)(j.k.docs.docMarkdown,"markdown"),children:[n&&(0,s.jsx)("header",{children:(0,s.jsx)(_.Z,{as:"h1",children:n})}),(0,s.jsx)(C.Z,{children:t})]})}var L=n(20012),B=n(74291);let T={docItemContainer:"docItemContainer_RhpI",docItemCol:"docItemCol_n6xZ"};function E(e){let{children:t}=e,n=function(){let{frontMatter:e,toc:t}=c(),n=(0,h.i)(),r=e.hide_table_of_contents,i=!r&&t.length>0;return{hidden:r,mobile:i?(0,s.jsx)(N,{}):void 0,desktop:i&&("desktop"===n||"ssr"===n)?(0,s.jsx)(y,{}):void 0}}(),{metadata:r}=c();return(0,s.jsxs)("div",{className:"row",children:[(0,s.jsxs)("div",{className:(0,u.Z)("col",!n.hidden&&T.docItemCol),children:[(0,s.jsx)(B.Z,{metadata:r}),(0,s.jsx)(x.Z,{}),(0,s.jsxs)("div",{className:T.docItemContainer,children:[(0,s.jsxs)("article",{children:[(0,s.jsx)(L.Z,{}),(0,s.jsx)(p.Z,{}),n.mobile,(0,s.jsx)(w,{children:t}),(0,s.jsx)(g,{})]}),(0,s.jsx)(f,{})]})]}),n.desktop&&(0,s.jsx)("div",{className:"col col--3",children:n.desktop})]})}function I(e){let t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,s.jsx)(o,{content:e.content,children:(0,s.jsxs)(i.FG,{className:t,children:[(0,s.jsx)(d,{}),(0,s.jsx)(E,{children:(0,s.jsx)(n,{})})]})})}},62742:function(e,t,n){n.d(t,{Z:()=>l});var s=n(85893);n(67294);var r=n(90496),i=n(77827),a=n(65773);function l(e){let{className:t,previous:n,next:l}=e;return(0,s.jsxs)("nav",{className:(0,r.Z)(t,"pagination-nav"),"aria-label":(0,i.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[n&&(0,s.jsx)(a.Z,{...n,subLabel:(0,s.jsx)(i.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),l&&(0,s.jsx)(a.Z,{...l,subLabel:(0,s.jsx)(i.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},4903:function(e,t,n){n.d(t,{Z:()=>o});var s=n(85893);n(67294);var r=n(90496),i=n(77827),a=n(55951),l=n(50223);function o(e){let{className:t}=e,n=(0,l.E)();return n.badge?(0,s.jsx)("span",{className:(0,r.Z)(t,a.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,s.jsx)(i.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},18219:function(e,t,n){n.d(t,{Z:()=>p});var s=n(85893);n(67294);var r=n(90496),i=n(8156),a=n(35363),l=n(77827),o=n(90158),c=n(55951),d=n(99887),u=n(50223);let h={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,s.jsx)(l.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,s.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,s.jsx)(l.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,s.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function m(e){let t=h[e.versionMetadata.banner];return(0,s.jsx)(t,{...e})}function f(e){let{versionLabel:t,to:n,onClick:r}=e;return(0,s.jsx)(l.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,s.jsx)("b",{children:(0,s.jsx)(a.Z,{to:n,onClick:r,children:(0,s.jsx)(l.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function x(e){let{className:t,versionMetadata:n}=e,{siteConfig:{title:a}}=(0,i.Z)(),{pluginId:l}=(0,o.gA)({failfast:!0}),{savePreferredVersionName:u}=(0,d.J)(l),{latestDocSuggestion:h,latestVersionSuggestion:x}=(0,o.Jo)(l),p=h??x.docs.find(e=>e.id===x.mainDocId);return(0,s.jsxs)("div",{className:(0,r.Z)(t,c.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,s.jsx)("div",{children:(0,s.jsx)(m,{siteTitle:a,versionMetadata:n})}),(0,s.jsx)("div",{className:"margin-top--md",children:(0,s.jsx)(f,{versionLabel:x.label,to:p.path,onClick:()=>u(x.name)})})]})}function p(e){let{className:t}=e,n=(0,u.E)();return n.banner?(0,s.jsx)(x,{className:t,versionMetadata:n}):null}},60114:function(e,t,n){n.d(t,{Z:()=>f});var s=n(85893);n(67294);var r=n(90496),i=n(77827),a=n(55951),l=n(35363);function o(e){let{className:t,...n}=e;return(0,s.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,r.Z)("iconEdit_IMw_",t),"aria-hidden":"true",...n,children:(0,s.jsx)("g",{children:(0,s.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function c(e){let{editUrl:t}=e;return(0,s.jsxs)(l.Z,{to:t,className:a.k.common.editThisPage,children:[(0,s.jsx)(o,{}),(0,s.jsx)(i.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var d=n(90177);function u(e){let{lastUpdatedAt:t}=e,n=new Date(t),r=(0,d.P)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,s.jsx)(i.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,s.jsx)("b",{children:(0,s.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:r})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,s.jsx)(i.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,s.jsx)("b",{children:t})},children:" by {user}"})}function m(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,s.jsxs)("span",{className:a.k.common.lastUpdated,children:[(0,s.jsx)(i.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,s.jsx)(u,{lastUpdatedAt:t}):"",byUser:n?(0,s.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}function f(e){let{className:t,editUrl:n,lastUpdatedAt:i,lastUpdatedBy:a}=e;return(0,s.jsxs)("div",{className:(0,r.Z)("row",t),children:[(0,s.jsx)("div",{className:"col",children:n&&(0,s.jsx)(c,{editUrl:n})}),(0,s.jsx)("div",{className:(0,r.Z)("col","lastUpdated_OHCJ"),children:(i||a)&&(0,s.jsx)(m,{lastUpdatedAt:i,lastUpdatedBy:a})})]})}},84015:function(e,t,n){n.d(t,{Z:()=>L});var s=n(85893),r=n(67294),i=n(80980),a=n(53327),l=n(95998);function o(e){return(0,s.jsx)("code",{...e})}function c(e){return void 0!==e.children&&r.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,s.jsx)(o,{...e}):(0,s.jsx)(l.Z,{...e})}var d=n(35363),u=n(2769);function h(e){let t=r.Children.toArray(e.children),n=t.find(e=>r.isValidElement(e)&&"summary"===e.type),i=(0,s.jsx)(s.Fragment,{children:t.filter(e=>e!==n)});return(0,s.jsx)(u.Z,{...e,summary:n,children:i})}var m=n(57922);function f(e){return(0,s.jsx)(m.Z,{...e})}var x=n(90496);let p={containsTaskList:"containsTaskList_k9gM"};var j=n(96700),b=n(49356),v=n(67490),g=n(85108),Z=n(26378),N=n(45245),k=n(57396);async function y(e){let{id:t,text:n,config:s}=e;k.Z.mermaidAPI.initialize(s);try{return await k.Z.render(t,n)}catch(e){throw document.querySelector(`#d${t}`)?.remove(),e}}function _(e){let{renderResult:t}=e,n=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=n.current;t.bindFunctions?.(e)},[t]),(0,s.jsx)("div",{ref:n,className:"docusaurus-mermaid-container container_RUsj",dangerouslySetInnerHTML:{__html:t.svg}})}function C(e){let{value:t}=e,n=function(e){let{text:t,config:n}=e,[s,i]=(0,r.useState)(null),a=(0,r.useRef)(`mermaid-svg-${Math.round(1e7*Math.random())}`).current,l=function(){let{colorMode:e}=(0,N.I)(),t=(0,Z.L)().mermaid,n=t.theme[e],{options:s}=t;return(0,r.useMemo)(()=>({startOnLoad:!1,...s,theme:n}),[n,s])}(),o=n??l;return(0,r.useEffect)(()=>{y({id:a,text:t,config:o}).then(i).catch(e=>{i(()=>{throw e})})},[a,t,o]),s}({text:t});return null===n?null:(0,s.jsx)(_,{renderResult:n})}let w={Head:a.Z,details:h,Details:h,code:c,a:function(e){return(0,s.jsx)(d.Z,{...e})},pre:function(e){return(0,s.jsx)(s.Fragment,{children:e.children})},ul:function(e){return(0,s.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,x.Z)(e,e?.includes("contains-task-list")&&p.containsTaskList)}(e.className)})},li:function(e){return(0,j.Z)().collectAnchor(e.id),(0,s.jsx)("li",{...e})},img:function(e){var t;return(0,s.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,x.Z)(t,"img_vXGZ"))})},h1:e=>(0,s.jsx)(f,{as:"h1",...e}),h2:e=>(0,s.jsx)(f,{as:"h2",...e}),h3:e=>(0,s.jsx)(f,{as:"h3",...e}),h4:e=>(0,s.jsx)(f,{as:"h4",...e}),h5:e=>(0,s.jsx)(f,{as:"h5",...e}),h6:e=>(0,s.jsx)(f,{as:"h6",...e}),admonition:b.Z,mermaid:function(e){return(0,s.jsx)(v.Z,{fallback:e=>(0,s.jsx)(g.Ac,{...e}),children:(0,s.jsx)(C,{...e})})},Code:c,Highlight:function(e){let{children:t,color:n}=e;return(0,s.jsx)("span",{style:{backgroundColor:n,borderRadius:"2px",color:"#fff",padding:"0.2rem"},children:t})},TweetQuote:function(e){let{url:t,handle:n,name:r,job:i,children:a}=e,l=`https://unavatar.io/x/${n}`,o=`https://x.com/${n}`;return(0,s.jsxs)("figure",{className:"tweetQuote_h8Rz",children:[(0,s.jsx)("blockquote",{children:(0,s.jsx)(d.Z,{to:t,children:a})}),(0,s.jsx)("figcaption",{children:(0,s.jsx)(d.Z,{to:o,rel:"nofollow",children:(0,s.jsxs)("div",{className:"avatar",children:[(0,s.jsx)("img",{alt:r,className:(0,x.Z)("avatar__photo","avatarImg_b51M"),src:l}),(0,s.jsxs)("div",{className:(0,x.Z)("avatar__intro"),children:[(0,s.jsx)("strong",{className:"avatar__name",children:(0,s.jsx)("cite",{children:r})}),(0,s.jsx)("small",{className:"avatar__subtitle",itemProp:"description",children:i})]})]})})})]})}};function L(e){let{children:t}=e;return(0,s.jsx)(i.Z,{components:w,children:t})}},65773:function(e,t,n){n.d(t,{Z:()=>a});var s=n(85893);n(67294);var r=n(90496),i=n(35363);function a(e){let{permalink:t,title:n,subLabel:a,isNext:l}=e;return(0,s.jsxs)(i.Z,{className:(0,r.Z)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[a&&(0,s.jsx)("div",{className:"pagination-nav__sublabel",children:a}),(0,s.jsx)("div",{className:"pagination-nav__label",children:n})]})}},4458:function(e,t,n){n.d(t,{Z:()=>a});var s=n(85893);n(67294);var r=n(90496),i=n(89477);function a(e){let{className:t,...n}=e;return(0,s.jsx)("div",{className:(0,r.Z)("tableOfContents_RLlU","thin-scrollbar",t),children:(0,s.jsx)(i.Z,{...n,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},57589:function(e,t,n){n.d(t,{Z:()=>u});var s=n(85893);n(67294);var r=n(90496),i=n(97812),a=n(89477),l=n(77827);let o={tocCollapsibleButton:"tocCollapsibleButton_IbtT",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_Nor3"};function c(e){let{collapsed:t,...n}=e;return(0,s.jsx)("button",{type:"button",...n,className:(0,r.Z)("clean-btn",o.tocCollapsibleButton,!t&&o.tocCollapsibleButtonExpanded,n.className),children:(0,s.jsx)(l.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}let d={tocCollapsible:"tocCollapsible_BEWm",tocCollapsibleContent:"tocCollapsibleContent_FG8F",tocCollapsibleExpanded:"tocCollapsibleExpanded_FzA_"};function u(e){let{toc:t,className:n,minHeadingLevel:l,maxHeadingLevel:o}=e,{collapsed:u,toggleCollapsed:h}=(0,i.u)({initialState:!0});return(0,s.jsxs)("div",{className:(0,r.Z)(d.tocCollapsible,!u&&d.tocCollapsibleExpanded,n),children:[(0,s.jsx)(c,{collapsed:u,onClick:h}),(0,s.jsx)(i.z,{lazy:!0,className:d.tocCollapsibleContent,collapsed:u,children:(0,s.jsx)(a.Z,{toc:t,minHeadingLevel:l,maxHeadingLevel:o})})]})}},89477:function(e,t,n){n.d(t,{Z:()=>c});var s=n(85893),r=n(67294),i=n(26378);function a(e){let t=e.getBoundingClientRect();return t.top===t.bottom?a(e.parentNode):t}var l=n(35363);let o=r.memo(function e(t){let{toc:n,className:r,linkClassName:i,isChild:a}=t;return n.length?(0,s.jsx)("ul",{className:a?void 0:r,children:n.map(t=>(0,s.jsxs)("li",{children:[(0,s.jsx)(l.Z,{to:`#${t.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:t.value}}),(0,s.jsx)(e,{isChild:!0,toc:t.children,className:r,linkClassName:i})]},t.id))}):null});function c(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:d,maxHeadingLevel:u,...h}=e,m=(0,i.L)(),f=d??m.tableOfContents.minHeadingLevel,x=u??m.tableOfContents.maxHeadingLevel,p=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return(0,r.useMemo)(()=>(function e(t){let{toc:n,minHeadingLevel:s,maxHeadingLevel:r}=t;return n.flatMap(t=>{let n=e({toc:t.children,minHeadingLevel:s,maxHeadingLevel:r});return t.level>=s&&t.level<=r?[{...t,children:n}]:n})})({toc:function(e){let t=e.map(e=>({...e,parentIndex:-1,children:[]})),n=Array(7).fill(-1);t.forEach((e,t)=>{let s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t});let s=[];return t.forEach(e=>{let{parentIndex:n,...r}=e;n>=0?t[n].children.push(r):s.push(r)}),s}(t),minHeadingLevel:n,maxHeadingLevel:s}),[t,n,s])}({toc:t,minHeadingLevel:f,maxHeadingLevel:x});return!function(e){let t=(0,r.useRef)(void 0),n=function(){let e=(0,r.useRef)(0),{navbar:{hideOnScroll:t}}=(0,i.L)();return(0,r.useEffect)(()=>{e.current=t?0:document.querySelector(".navbar").clientHeight},[t]),e}();(0,r.useEffect)(()=>{if(!e)return()=>{};let{linkClassName:s,linkActiveClassName:r,minHeadingLevel:i,maxHeadingLevel:l}=e;function o(){let e=Array.from(document.getElementsByClassName(s)),o=function(e,t){let{anchorTopOffset:n}=t,s=e.find(e=>a(e).top>=n);if(s){var r;return(r=a(s)).top>0&&r.bottom<window.innerHeight/2?s:e[e.indexOf(s)-1]??null}return e[e.length-1]??null}(function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e,s=[];for(let e=t;e<=n;e+=1)s.push(`h${e}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:i,maxHeadingLevel:l}),{anchorTopOffset:n.current}),c=e.find(e=>o&&o.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));e.forEach(e=>{e===c?(t.current&&t.current!==e&&t.current.classList.remove(r),e.classList.add(r),t.current=e):e.classList.remove(r)})}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}},[e,n])}((0,r.useMemo)(()=>{if(l&&c)return{linkClassName:l,linkActiveClassName:c,minHeadingLevel:f,maxHeadingLevel:x}},[l,c,f,x])),(0,s.jsx)(o,{toc:p,className:n,linkClassName:l,...h})}},63479:function(e,t,n){n.d(t,{Z:()=>l});var s=n(85893);n(67294);var r=n(90496),i=n(35363);let a={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};function l(e){let{permalink:t,label:n,count:l,description:o}=e;return(0,s.jsxs)(i.Z,{href:t,title:o,className:(0,r.Z)(a.tag,l?a.tagWithCount:a.tagRegular),children:[n,l&&(0,s.jsx)("span",{children:l})]})}},47294:function(e,t,n){n.d(t,{Z:()=>l});var s=n(85893);n(67294);var r=n(90496),i=n(77827),a=n(63479);function l(e){let{tags:t}=e;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("b",{children:(0,s.jsx)(i.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,s.jsx)("ul",{className:(0,r.Z)("tags_rTaS","padding--none","margin-left--sm"),children:t.map(e=>(0,s.jsx)("li",{className:"tag_l5va",children:(0,s.jsx)(a.Z,{...e})},e.permalink))})]})}},68746:function(e,t,n){n.d(t,{T$:()=>o,cI:()=>a,eU:()=>l,ht:()=>c,xo:()=>d});var s=n(85893);n(67294);var r=n(77827),i=n(53327);function a(){return(0,s.jsx)(r.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,s.jsx)(r.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,s.jsx)(i.Z,{children:(0,s.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,s.jsx)(r.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,s.jsx)(r.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}},90177:function(e,t,n){n.d(t,{P:()=>r});var s=n(8156);function r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{i18n:{currentLocale:t}}=(0,s.Z)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},56497:function(e,t,n){n.d(t,{Z:()=>i});var s=n(85893);n(67294);var r=n(71607);function i(e){let{children:t,fallback:n}=e;return(0,r.Z)()?(0,s.jsx)(s.Fragment,{children:t?.()}):n??null}},95998:function(e,t,n){n.d(t,{Z:()=>et});var s,r={};n.r(r),n.d(r,{ButtonExample:()=>C});var i=n(85893),a=n(67294),l=n(90496),o=n(71607),c=n(10075),d=n(77827),u=n(8156),h=n(56497),m=n(85108),f=n(45245),x=n(26378);function p(){let{prism:e}=(0,x.L)(),{colorMode:t}=(0,f.I)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var j=n(67490);function b(e){let{children:t}=e;return(0,i.jsx)("div",{className:(0,l.Z)("playgroundHeader_Tvsk"),children:t})}function v(){return(0,i.jsx)("div",{children:"Loading..."})}function g(){return(0,i.jsx)(h.Z,{fallback:(0,i.jsx)(v,{}),children:()=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(j.Z,{fallback:e=>(0,i.jsx)(m.Ac,{...e}),children:(0,i.jsx)(c.i5,{})}),(0,i.jsx)(c.IF,{})]})})}function Z(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{children:(0,i.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,i.jsx)("div",{className:"playgroundPreview_mApW",children:(0,i.jsx)(g,{})})]})}function N(){let e=(0,o.Z)();return(0,i.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function k(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{children:(0,i.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,i.jsx)(N,{})]})}let y=e=>`${e};`;function _(e){let{children:t,transformCode:n,...s}=e,{siteConfig:{themeConfig:r}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:a}}=r,l=p(),o=s.metastring?.includes("noInline")??!1;return(0,i.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,i.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:o,transformCode:n??y,theme:l,...s,children:"top"===a?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Z,{}),(0,i.jsx)(k,{})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(k,{}),(0,i.jsx)(Z,{})]})})})}function C(e){return(0,i.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let w={React:a,...a,...r};var L=n(55951),B=n(6324),T=n.n(B);let E=/title=(?<quote>["'])(?<title>.*?)\1/,I=/\{(?<range>[\d,-]+)\}/,A={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},M={...A,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},H=Object.keys(A);function S(e,t){let n=e.map(e=>{let{start:n,end:s}=M[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function z(e){let{as:t,...n}=e,s=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[s,r]=e,i=t[s];i&&"string"==typeof r&&(n[i]=r)}),n}(p());return(0,i.jsx)(t,{...n,style:s,className:(0,l.Z)(n.className,"codeBlockContainer_jDV4",L.k.common.codeBlock)})}let R={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function F(e){let{children:t,className:n}=e;return(0,i.jsx)(z,{as:"pre",tabIndex:0,className:(0,l.Z)(R.codeBlockStandalone,"thin-scrollbar",n),children:(0,i.jsx)("code",{className:R.codeBlockLines,children:t})})}var U=n(50923);let V={attributes:!0,characterData:!0,childList:!0,subtree:!0};var $=n(7316);let O={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function W(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:r,getTokenProps:a}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let o=r({line:t,className:(0,l.Z)(n,s&&O.codeLine)}),c=t.map((e,t)=>(0,i.jsx)("span",{...a({token:e})},t));return(0,i.jsxs)("span",{...o,children:[s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:O.codeLineNumber}),(0,i.jsx)("span",{className:O.codeLineContent,children:c})]}):c,(0,i.jsx)("br",{})]})}var D=n(44771);function P(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function q(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let G={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function Q(e){let{code:t,className:n}=e,[s,r]=(0,a.useState)(!1),o=(0,a.useRef)(void 0),c=(0,a.useCallback)(()=>{(0,D.Z)(t),r(!0),o.current=window.setTimeout(()=>{r(!1)},1e3)},[t]);return(0,a.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,i.jsx)("button",{type:"button","aria-label":s?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,l.Z)("clean-btn",n,G.copyButton,s&&G.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:G.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(P,{className:G.copyButtonIcon}),(0,i.jsx)(q,{className:G.copyButtonSuccessIcon})]})})}function J(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let X={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function Y(e){let{className:t,onClick:n,isEnabled:s}=e,r=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:n,className:(0,l.Z)("clean-btn",t,s&&X.wordWrapButtonEnabled),"aria-label":r,title:r,children:(0,i.jsx)(J,{className:X.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:s="",metastring:r,title:c,showLineNumbers:d,language:u}=e,{prism:{defaultLanguage:h,magicComments:m}}=(0,x.L)(),f=(t=u??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(s)??h,t?.toLowerCase()),j=p(),b=function(){let[e,t]=(0,a.useState)(!1),[n,s]=(0,a.useState)(!1),r=(0,a.useRef)(null),i=(0,a.useCallback)(()=>{let n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[r,e]),l=(0,a.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=r.current;s(e>t||r.current.querySelector("code").hasAttribute("style"))},[r]);return!function(e,t){let[n,s]=(0,a.useState)(),r=(0,a.useCallback)(()=>{s(e.current?.closest("[role=tabpanel][hidden]"))},[e,s]);(0,a.useEffect)(()=>{r()},[r]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:V,s=(0,U.zX)(t),r=(0,U.Ql)(n);(0,a.useEffect)(()=>{let t=new MutationObserver(s);return e&&t.observe(e,r),()=>t.disconnect()},[e,s,r])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(r,l),(0,a.useEffect)(()=>{l()},[e,l]),(0,a.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:i}}(),v=(0,o.Z)(),g=(r?.match(E)?.groups.title??"")||c,{lineClassNames:Z,code:N}=function(e,t){let n=e.replace(/\n$/,""),{language:s,magicComments:r,metastring:i}=t;if(i&&I.test(i)){let e=i.match(I).groups.range;if(0===r.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${i}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=r[0].className;return{lineClassNames:Object.fromEntries(T()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===s)return{lineClassNames:{},code:n};let a=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return S(["js","jsBlock"],t);case"jsx":case"tsx":return S(["js","jsBlock","jsx"],t);case"html":return S(["js","jsBlock","html"],t);case"python":case"py":case"bash":return S(["bash"],t);case"markdown":case"md":return S(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return S(["tex"],t);case"lua":case"haskell":return S(["lua"],t);case"sql":return S(["lua","jsBlock"],t);case"wasm":return S(["wasm"],t);case"vb":case"vba":case"visual-basic":return S(["vb","rem"],t);case"vbnet":return S(["vbnet","rem"],t);case"batch":return S(["rem"],t);case"basic":return S(["rem","f90"],t);case"fsharp":return S(["js","ml"],t);case"ocaml":case"sml":return S(["ml"],t);case"fortran":return S(["f90"],t);case"cobol":return S(["cobol"],t);default:return S(H,t)}}(s,r),l=n.split("\n"),o=Object.fromEntries(r.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(r.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),d=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),u=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<l.length;){let t=l[e].match(a);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?o[c[n]].range+=`${e},`:d[n]?o[d[n]].start=e:u[n]&&(o[u[n]].range+=`${o[u[n]].start}-${e-1},`),l.splice(e,1)}n=l.join("\n");let h={};return Object.entries(o).forEach(e=>{let[t,{range:n}]=e;T()(n).forEach(e=>{h[e]??=[],h[e].push(t)})}),{lineClassNames:h,code:n}}(n,{metastring:r,language:f,magicComments:m}),k=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:d,metastring:r});return(0,i.jsxs)(z,{as:"div",className:(0,l.Z)(s,f&&!s.includes(`language-${f}`)&&`language-${f}`),children:[g&&(0,i.jsx)("div",{className:R.codeBlockTitle,children:g}),(0,i.jsxs)("div",{className:R.codeBlockContent,children:[(0,i.jsx)($.y$,{theme:j,code:N,language:f??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:r,getTokenProps:a}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:b.codeBlockRef,className:(0,l.Z)(t,R.codeBlock,"thin-scrollbar"),style:n,children:(0,i.jsx)("code",{className:(0,l.Z)(R.codeBlockLines,void 0!==k&&R.codeBlockLinesWithNumbering),style:void 0===k?void 0:{counterReset:`line-count ${k-1}`},children:s.map((e,t)=>(0,i.jsx)(W,{line:e,getLineProps:r,getTokenProps:a,classNames:Z[t],showLineNumbers:void 0!==k},t))})})}}),v?(0,i.jsxs)("div",{className:R.buttonGroup,children:[(b.isEnabled||b.isCodeScrollable)&&(0,i.jsx)(Y,{className:R.codeButton,onClick:()=>b.toggle(),isEnabled:b.isEnabled}),(0,i.jsx)(Q,{className:R.codeButton,code:N})]}):null]})]})}let ee=(s=function(e){let{children:t,...n}=e,s=(0,o.Z)(),r=a.Children.toArray(t).some(e=>(0,a.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,i.jsx)("string"==typeof r?K:F,{...n,children:r},String(s))},function(e){return e.live?(0,i.jsx)(_,{scope:w,...e}):(0,i.jsx)(s,{...e})});function et(e){return(0,i.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/17e8a747.b9fbef13.js b/assets/js/17e8a747.b9fbef13.js new file mode 100644 index 0000000000..f100d2de50 --- /dev/null +++ b/assets/js/17e8a747.b9fbef13.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["28721"],{40190:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>i,default:()=>x,contentTitle:()=>c,assets:()=>u,toc:()=>d,metadata:()=>r});var r=JSON.parse('{"type":"mdx","permalink":"/tests/pages/tabs-tests","source":"@site/_dogfooding/_pages tests/tabs-tests.mdx","title":"Tabs tests","description":"Tabs sync with different heights","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/tabs-tests.mdx","unlisted":false}'),l=n(85893),a=n(80980);n(14522);var s=n(15398),o=n(58636);let i={},c="Tabs tests",u={},d=[{value:"Tabs sync with different heights",id:"tabs-sync-with-different-heights",level:2},{value:"Tabs with className and lazy loading",id:"tabs-with-classname-and-lazy-loading",level:2}];function v(e){let t={h1:"h1",h2:"h2",header:"header",p:"p",...(0,a.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.header,{children:(0,l.jsx)(t.h1,{id:"tabs-tests",children:"Tabs tests"})}),"\n","\n",(0,l.jsx)(t.h2,{id:"tabs-sync-with-different-heights",children:"Tabs sync with different heights"}),"\n",(0,l.jsxs)(s.Z,{groupId:"operating-systems",children:[(0,l.jsx)(o.Z,{value:"win",label:"Windows",children:(0,l.jsx)(t.p,{children:"Use Ctrl + C to copy."})}),(0,l.jsx)(o.Z,{value:"mac",label:"macOS",children:(0,l.jsx)(t.p,{children:"very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text very long text"})})]}),"\n",(0,l.jsxs)(s.Z,{groupId:"operating-systems",children:[(0,l.jsx)(o.Z,{value:"win",label:"Windows",children:(0,l.jsx)(t.p,{children:"Use Ctrl + V to paste."})}),(0,l.jsx)(o.Z,{value:"mac",label:"macOS",children:(0,l.jsx)(t.p,{children:"Use Command + V to paste."})})]}),"\n",(0,l.jsx)(t.p,{children:"When clicking tabs above, they should stay under cursor and we should adjust the scroll position."}),"\n",(0,l.jsx)(t.h2,{id:"tabs-with-classname-and-lazy-loading",children:"Tabs with className and lazy loading"}),"\n",(0,l.jsxs)(s.Z,{lazy:!0,children:[(0,l.jsx)(o.Z,{value:"apple",label:"Apple",className:"alert alert--primary",default:!0,children:(0,l.jsx)(t.p,{children:"This is an apple \uD83C\uDF4E"})}),(0,l.jsx)(o.Z,{value:"orange",label:"Orange",className:"alert alert--secondary",children:(0,l.jsx)(t.p,{children:"This is an orange \uD83C\uDF4A"})}),(0,l.jsx)(o.Z,{value:"banana",label:"Banana",className:"alert alert--success",children:(0,l.jsx)(t.p,{children:"This is a banana \uD83C\uDF4C"})})]})]})}function x(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(v,{...e})}):v(e)}},58636:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var l=n(90496);function a(e){let{children:t,hidden:n,className:a}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,l.Z)("tabItem_pnkT",a),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>f});var r=n(85893),l=n(67294),a=n(90496),s=n(54947),o=n(3620),i=n(844),c=n(97486),u=n(32263),d=n(16971);function v(e){return l.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||l.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function x(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var g=n(71607);function y(e){let{className:t,block:n,selectedValue:l,selectValue:o,tabValues:i}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,s.o5)(),d=e=>{let t=e.currentTarget,n=i[c.indexOf(t)].value;n!==l&&(u(t),o(n))},v=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{let n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1]}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:i.map(e=>{let{value:t,label:n,attributes:s}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,ref:e=>{c.push(e)},onKeyDown:v,onClick:d,...s,className:(0,a.Z)("tabs__item","tabItem_AQgk",s?.className,{"tabs__item--active":l===t}),children:n??t},t)})})}function h(e){let{lazy:t,children:n,selectedValue:s}=e,o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=o.find(e=>e.props.value===s);return e?(0,l.cloneElement)(e,{className:(0,a.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:o.map((e,t)=>(0,l.cloneElement)(e,{key:t,hidden:e.props.value!==s}))})}function p(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:r}=e,a=function(e){let{values:t,children:n}=e;return(0,l.useMemo)(()=>{let e=t??v(n).map(e=>{let{props:{value:t,label:n,attributes:r,default:l}}=e;return{value:t,label:n,attributes:r,default:l}});return!function(e){let t=(0,u.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[s,g]=(0,l.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!x({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:a})),[y,h]=function(e){let{queryString:t=!1,groupId:n}=e,r=(0,o.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(a),(0,l.useCallback)(e=>{if(!a)return;let t=new URLSearchParams(r.location.search);t.set(a,e),r.replace({...r.location,search:t.toString()})},[a,r])]}({queryString:n,groupId:r}),[p,f]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[r,a]=(0,d.Nk)(n);return[r,(0,l.useCallback)(e=>{n&&a.set(e)},[n,a])]}({groupId:r}),b=(()=>{let e=y??p;return x({value:e,tabValues:a})?e:null})();return(0,i.Z)(()=>{b&&g(b)},[b]),{selectedValue:s,selectValue:(0,l.useCallback)(e=>{if(!x({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);g(e),h(e),f(e)},[h,f,a]),tabValues:a}}(e);return(0,r.jsxs)("div",{className:(0,a.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(y,{...t,...e}),(0,r.jsx)(h,{...t,...e})]})}function f(e){let t=(0,g.Z)();return(0,r.jsx)(p,{...e,children:v(e.children)},String(t))}},14522:function(e,t,n){n.d(t,{Z:()=>o});var r=n(85893);n(67294);var l=n(90496);let a="dot_giz1",s="bar_rrRL";function o(e){let{children:t,minHeight:n,url:o="http://localhost:3000",style:i,bodyStyle:c}=e;return(0,r.jsxs)("div",{className:"browserWindow_my1Q",style:{...i,minHeight:n},children:[(0,r.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,r.jsxs)("div",{className:"buttons_uHc7",children:[(0,r.jsx)("span",{className:a,style:{background:"#f25f58"}}),(0,r.jsx)("span",{className:a,style:{background:"#fbbe3c"}}),(0,r.jsx)("span",{className:a,style:{background:"#58cb42"}})]}),(0,r.jsx)("div",{className:(0,l.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:o}),(0,r.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:s}),(0,r.jsx)("span",{className:s}),(0,r.jsx)("span",{className:s})]})})]}),(0,r.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:t})]})}},80980:function(e,t,n){n.d(t,{Z:()=>o,a:()=>s});var r=n(67294);let l={},a=r.createContext(l);function s(e){let t=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:s(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1864f992.5d69e29d.js b/assets/js/1864f992.5d69e29d.js new file mode 100644 index 0000000000..df1a01abfa --- /dev/null +++ b/assets/js/1864f992.5d69e29d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["46202"],{16842:function(e,s,n){n.r(s),n.d(s,{frontMatter:()=>r,default:()=>l,contentTitle:()=>d,assets:()=>u,toc:()=>c,metadata:()=>i});var i=JSON.parse('{"id":"api/misc/eslint-plugin/prefer-docusaurus-heading","title":"prefer-docusaurus-heading","description":"Ensures that the @theme/Heading theme component provided by Docusaurus theme-classic is used instead of `` tags for headings.","source":"@site/docs/api/misc/eslint-plugin/prefer-docusaurus-heading.mdx","sourceDirName":"api/misc/eslint-plugin","slug":"/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/eslint-plugin/prefer-docusaurus-heading.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading"},"sidebar":"api","previous":{"title":"no-untranslated-text","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text"},"next":{"title":"string-literal-i18n-messages","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages"}}'),a=n(85893),t=n(80980);let r={slug:"/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading"},d="prefer-docusaurus-heading",u={},c=[{value:"Rule Details",id:"details",level:2}];function o(e){let s={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,t.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.header,{children:(0,a.jsx)(s.h1,{id:"prefer-docusaurus-heading",children:"prefer-docusaurus-heading"})}),"\n",(0,a.jsxs)(s.p,{children:["Ensures that the ",(0,a.jsx)(s.code,{children:"@theme/Heading"})," theme component provided by Docusaurus ",(0,a.jsx)(s.a,{href:"/docs/api/themes/@docusaurus/theme-classic",children:(0,a.jsx)(s.code,{children:"theme-classic"})})," is used instead of ",(0,a.jsx)(s.code,{children:"<hn>"})," tags for headings."]}),"\n",(0,a.jsx)(s.h2,{id:"details",children:"Rule Details"}),"\n",(0,a.jsxs)(s.p,{children:["Examples of ",(0,a.jsx)(s.strong,{children:"incorrect"})," code for this rule:"]}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-html",children:"<h1>This is heading 1</h1>\n\n<h2>This is heading 2</h2>\n\n<h3>This is heading 3</h3>\n"})}),"\n",(0,a.jsxs)(s.p,{children:["Examples of ",(0,a.jsx)(s.strong,{children:"correct"})," code for this rule:"]}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-javascript",children:"import Heading from '@theme/Heading'\n\n<Heading as='h1'>This is heading 1</Heading>\n\n<Heading as='h2'>This is heading 2</Heading>\n\n<Heading as='h3'>This is heading 3</Heading>\n"})})]})}function l(e={}){let{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(o,{...e})}):o(e)}},80980:function(e,s,n){n.d(s,{Z:()=>d,a:()=>r});var i=n(67294);let a={},t=i.createContext(a);function r(e){let s=i.useContext(t);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/18c41134.651dd0c9.js b/assets/js/18c41134.651dd0c9.js deleted file mode 100644 index 3828f59b54..0000000000 --- a/assets/js/18c41134.651dd0c9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[9262],{2615:(e,n,s)=>{s.d(n,{A:()=>r});const r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAT3UlEQVR42u1dCVQVV5pWXNt2N0czykl33KImZ7IgKgqIghq3KCDK+qowCek2c2K0Mx3idBxakzYxJnZiq3Gf6Bg7UdN2R51MxnTSia3gew9Rwccm7oqiiIK4sPxTt1hEHo9XvPVW1fed852Dr+67UNb/1f3/+9/731atAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO8i2CxGjDUJXzMGmcSZnmoHAF7B6GMJvYPNwq5gk1AmMS/YJMbaahtkNsRLbeghmoU4d7cDAO+NCEbhQCMjrZbe5q81bhdyVOwuXbtqZdDSZ+yau9oBgNcgGeIvmzDQJkUy1ix8ZKMtsWvuagcAXsNYs/iyLSNlIgk2GebLQjKJQ6R/32+mbcWYI8KTrm6HJwR4170yCV80Y6T1I4kklH122lFNG9e2wxMC3Ao/U1KnQLPgF2SK/xeri5TiIxlikX1DBXVANpoXSy/DzGCjYfdYs2FRiFkcxWxEu/GF0RAm3fT1Bv8JJyV+LLlV08ccnNuFCQeGAdrheWkkXxaSGueruZFDurlrzfn4QSbDGRgAqJD3JK4NMcU8oo3RIz1hOB4q6AZeCzKK0aoXCIs58DBBt9Esfip5Ke3UPkN1Eg8TdB8N+5grr+JRxPAJHiLoTgaZhf97MiuqvVqTgNPxEEEPcK0qBTIyNa6rnWw1CLooJjHMUZc6KMWnNs9xDg8Q9ACLQtMMvbhfeFi7tuoLZMhBz1NczaUw2H4OFizhAYFe5l0uM+61m53wgMAWM+C7aBr425Ey2c8umPpdxmO+oxQPWz8cvnOmTGf7Gf1DDHXs25lYxMrIfmafOdnvOe4WONZsk4XhaD7nkJpAPQN96w2a/cw+c7S/QYsC6vuq46D/CHD+7zQaRvDmYsXVbG6CEWmZQ5YGWRk0+8zR/phb1bg/9pkLgvVk/twso+EViETbfPw1PyuDHrDQ36n4o6GL1eHRn7skDhlrEnZyuvbKMN/TIglKM9AzmyfLbzL2sBjZz89sniJfg2G7Nvbwad+m3qB9OrQh/z0RTschzK1yXZAu8zi/CxQ9NJL4fT6d+kwdQG27drB6q9WxXbcO1GfaAPL78wswcBfx6Y2T6ZHxv5DJfuY1acj5Kl55JHHPtOCBaOozZQC18mltUxhWlNoyobjwDQVyng/hVhyBaYbBrEKhW0aNL2Y85LO2lB37daHhX86AAemAPC4z6R5sEt9j6nWXONr8vJ3D4qhj287tIRIIxMP7PmrKd151p1vV3MjRtmt7eiT0F+QbN4z6xQ6T/eO2XdrbbP8z3y5wtyAQT+VAxAh336wcczQVhPfsKM+ANJWsYp+xRFS7Hh2b/C6LSWBIEIgnsuh73T1b1VRA3ql/dxq5d5bd74/4OlJu21TgjtktCMT9uwbdFJDXjx5TBzQ5cigRR71I/hZJ7bpbTwf3mT4QxgSBuHtbrSHcnUlAlstwxXqdgcmjmsyTIJkIgag2SGcZ8qYCckcWyAUdTpBnsBr398yWKTAoCESd07xD3rFeHMdmqxztj81uNe5v6B+CYVAQiAeD9qPiIOkP/NIVN9l//nArg/ZNeNLh/nzjn7Tqr//rw2FQEIg6M+lN7RcY/LvR3PQHupdh6S9R+LH5ZMh8i17NfoeS81bSO6fX0cfn/ps2X/wL7bzyv/TNtYP0z5KjdLw0hwrKL1DR/Rt0r+q+Plys0d/HyMtDGib4nNlx5ur+QPcZuLPQTSa9bjk0oyuM2dX9adm4Zx57jeIzk+lXliX0Ru4KSjm1hlac/S/69MKXtP3yXvrr1b/Td8WplHbzOGWV5dPZO5fo+v0Slxi4ZgTiiUw66BoD/32BPQO/zI2Ba0cgbs6kg9aMPfFbWn5mM/258H80a+CaEYi7M+ngA7JR4ERpHgFqEogbM+lgDSelv0LfFx+B1SNIBxtzWsarlH27ABavZoF4YsOUHhliEuX4AlCOwsJC2rVrF7+JwjHGuU8Em4X9MHDn+afzOzRtzGVlZbR69WqKjY2lqKgoev/996m4uNihvqqrqyklJYU6dKhf3Kq/Pel6izuKK246bYQXLlygvXv30ldffUWZmZlO9cX6CAwMpI4dO1Lbtm3pueeeo61btzrUV1ZWFj3++ONWKxseffRRMpvNLe7vzTffrClF5ONDEydOhIuldb53ZqNTxpyfn08RERFWBsiM2mQytbi/+fPn29zCnJSU1KK+ioqKyNe3poTpU089RRs3bqTt27dTQEBAvUiuXr2quL8ff/xRFgYT7e7duxGk64E/FBsdFsfhw4epR48eNTsvO3WioKAgmjRpEvXu3Vv+rHPnzvTTTz8p7u/dd9+tqXwouS/Lly+nS5cuUUlJCa1fv17ui11j7pFSTJs2Tf4O+7tu3bpV//ndu3fr3v40Y8YMRX1VVFTQkCFD5O8sW7YMmXS98MLdQofEYbFYqFu3brLBsBGEBa11KC0tpcTERPkaa8NGGXs4ePCg/HZu06YN7du3z+r6/v3769/e6enpdvvbs2dPTeHrnj1l968xLl68SN2712yR/vbbb+3299lnn8ltn3jiCbp37x4y6XphedWdFouDBbiDBw+WDWb27NlUWVlp1aaqqooiIyPlNsOHD3/IqBrj9u3bNGjQILnt4sWLbbZbuHCh3Mbf37/J31kH9rvq+mPBuS2w0Yi18fPzk4NvW2C/iwmDtd22bRsy6RAINWvM48aNq48z2L9tgblH/fv3l9suWLDAZrt58+bJbZ5++ulmhcRGpscee8yu4a9YsUJuM2zYMNk1soXy8nLq16+f3Hbnzp0227EJAtZm4MCBVv0hkw4XS8aNGzdkV4S9bZmxMMM6f/683e+lpaVR+/Y1W5A//PBDq+vr1q2Tr7E2GRkZil2nrl27Um5ubpOTBuwaa/PNN9/Y7a/u97MRgsUmjcE+Y8JgbbZs2YJMut6oZGnJ6NGjHz5bQzKYggLlWXf2BmbxA/suC+LZbNKOHTsoLi6OWrduLXPz5s2K+2P5DNYXC5rz8h6sGbt8+bI8qrFrrI3S4JuNNOw7ycnJVtfffvvtZkcjTPNqnMtOb7BrRGPGjJFnlpiRfPDBB826VbbABNGrVy/rii/t2tGqVata7OY9++yz8ve7dOkiC41NAdfNng0dOlR2x5TCaDTKfwf77tKlS2UhsJiEuXFs0oCJ+9ChQ+pYauKOPel65sT0JJckCpXmJVhgzLLZM2fOpEWLFj00ArR0oqCp/AuLj9hI0lIwkbKRrG7mqy42YVyyZIl61mJhqYnruercdtUuI2HTzZs2baK1a9fSkSPOrURm8U1droOxb9++tGHDBixWxGJFkVJLjmEFYoMcCYuxmpsBQ5Cuu+Xu8+hk2SmoQ63L3ZFJ90w8cuD6YVi9KgWCTLrHuDB3uVwep5qqoQC1CASZdM8z+sQb9P6ZTbSjcD+KNnAvEGTSUfYHAkGQDoGhcBymeUGUHkUmHdS6wG5VlmFPOgjq/gAdEMQRbCCoZYEgkw5CIMikgxAIMukgBIJMOgiBIEgHIRBM84KgegSCTDoIgSCTzvcWXbNAv7bE0/oL0fSPG1F0+k4k3aoMp4rqmUSkL8LFAus563gCbb88h4ruR+hOCKoQCIJ07/CFDAP9rWg23a+GILgVCDLp3uGSghi6WREOMXAvEGTSPcrxUpzxtTRqQAQqEQgCck9WNzFQasksCEBVAkEm3WMjB8SBIB20QbhVmOYFbXBpQazLDYjlR25XhetGIJOyXuw5JntuF2TSNVd61EAlLpytqpa4sjCWJmSLMtdcidG2QKhV67CcxHVh2WJVLVcik65zjmVZ9QyRxmcKFHpSJMkoaGqOSHGnDPTGuXj53w1pLIvSnECk+yoPzRZPh2Un/r3x/YZZEifBxdLrcpOMB6JQyt3Fc7QokOb4OoJ0vdEs0LgTLRNGHQ/cnE07JZEcLo2SXTCtC2RCdmJ8aI64MNSSOI25YMik64COiqMxPy6M0cMI0oDCGmTSdeBWuUIcYbWBe6kGZrdacM/VIafF7sikazggb2nMYU8gJZURehJIVUhO0iPIpGt29HCdOBj/qDMXS3ohfIogXctLUDJd516xaeCvb8yhMv24WGekQP2VsFNJ3TDNq1G60r2qY4IkFLWLpIX3fMojIkEm3QsV0LMFlwuEcfS/P0N+ft29ypdf/qWnBEJhFiEJmXQIRDH7RQ2uP5fcW+zbt6PHBDIhJ/EluFhwsRRxzsl4OmgeTyZTiFdZXDzVUwLJd6uLhSBdO0H63huzdRWkM9fKreJAJl07SULGjy7H6iuTbhHXI5Ou8URhGBKFHCcKEZB7fxQ5iqUm/C41QSadk8WKrhHJJ4X6crFCLeKfkEnXiavl7HL31LJZutgPUrfcPSxXmIoNU3rcMGURsGGKpw1TyKTzKZTxmWJtnkT6OSOBxhyYRX6fPW9lML0C+3k9KdgUR47s4dSWW4kF3Gy5RSbdtXTUMEaM6NG84bVuRUNSAiThSCNNlkCDk/25FAfjqFE9XVO0IVtcW1uwoTLMInyEsj86FohSllaGU7mOyv5MPR7bIyRrXmcUjoNAQFR3h0BAVHeHQEBUdwchEFR3ByEQVHdHkA6BQCCY5oVAIBBk0tUrEH//Htwm/jyZSedWIMikc55JVxFdkkmHiwWBgAjSIRAQmXQQAkEmHYRAkEkHeRDIP0ujaOG5eJqWK8j8jfQzOyQHAkEmXfcC2XA12uaOuk1F0RAIgnRtC4Qd4XyifBZZ7kRaHefMRg5722wbjySsD9YX61MLx0OH5cwNnJwX1xXTvDoTyF3JeD8pjKHncx4Y+xTp51VXYuRrrM3CJk6ybUx22u2D/mLlPuquTc4RavqrVv2e9LthOcKqgPNRP0MmXQcCqZAMdsFZ28b/unTNf1QvGpceZ1cg48xx5NPOh4Z/PsVmG79tz1Prtj5q3ZPekD/4mZLaIZOu9dpXx+1XKBl3XFlFk9BMAw1+a4Tddo8Zhqkyk95EQbz5cLG0Xsk9S3TLUQfN8ddnErRS9seMIF3rZ4FYPC+QF3IFrQjkFjLpOAvE5UwsMGhFIBZk0rV+FsgJweMC+Vilp95a34uwBpl0rdffNXtWIKzS+9Hbs2hlYSwZThnkqWA2onx+LZr7KeDGFdxDsw3jwnIS18mnSWWLd9iIEmpJfMvtU8DIpHtwBMny/Ahii/8mBe88JxRb8BJIc3tCEUG6Nt0re/zgcozqBVLrfm3GNK+aC1Ef408cjBM5Po2qhfdS6dZTppBJd2/cEWoRuRQIY8/RfdWQSbfP3LlhSoPuxSGpcb7IpMO1UsIe/n1UkUm3OxrmCsF2jTs09aU+0kO5zQwcLhYHTBe5Fgdb1HirMlwLLtbdSVkv9lSS01ha93CCzMpP4UGQzve5g+7iHzk+z7CF97JWadIvr8EDqmJZcmTSvUSzd5aWKOX8swn1y+tVLpCD001JnezHHkdE/yYe1B17IkEm3U3BeTq/o8faK9Hy0nvVn3JrET5SvAxeeii/sfGwqqSY5DVk0j3sXh3jd/Rgm7V43+Ou8F7uSyyT+P1EizjdnkC+sDPk7x+TPrcvMukemr3K5DtA532PuyP3EZojvtvc9G6mggd3LcgoLAg49PD6FQTp7li5K6hGIE3tcVejQGSRWBKn2RpBLrXgAbK2vws0zu2PaV7t7P1whnV73NUuEHZstC2B3HFwtuVIkEn8cKxRiJFGkn8NyZgbGGw07IaROzmCZKtLIGyPu6oz6fY2VkkP5R4MEwJxlCGmOG4y6ferw525l5u2BHIdhsmRQOBiOUy2gNLhGCRb/M6ZIB3U8PZaZ5haNosbgRTcjXT8XnKFqbZGkK9gmDxtjlKPOLZwNs37j1uzHbwXYWlzOwMXwTCRKFSaKJyeK8huFU8jh5K6xNaJQqGUuVU2R476aVqzOAqGiaUmSnjmXiTXy0xePZOgLN7ISxymfL06pfhID+YcjJMTgXAah7xymu9CclfuR8jFJhTcy1EHSvgYlsE41VVq1NPccX0O1wJhFVcU3UuOmNzyfeWpcb7Ih/C1YYqnfAirsnijkt8l7iz/EZ1vUJQMnJif0NvRQnBrYZw8bZriRyDbrvE9euwpnqOs1E+OsNjhogsBh17sKT2YIhgnLxunRC7WZc3OF6ic4w1SN6WRLTJP0ehxOSRrXmfn6lwZxWgYJ8r+NKywmMbhdG5DLrkYp+ReqsbnGCa7qij1pzBOVDdh3HqN7zMN/3pjttLA/D9dVt8q6suoNmNNwl9gnPreRPV76c1czbE4WKJyUo6il8euFErxcWkROD9TUqdgk2EfjJOf3IgnRfLepViqrOY37mCbtKbmKhLH1pDvU9q6pVIi29SOmS19zWxNqC3MUM25W6Vg5KhmhRlaUavWHjgoxzAHs1scBe4ZclUOl4sjJt9AxrIoboVRUhmuNCA/F2ZJnOTRs0BC0wy9gk3iamyr5ad2lquCd1alZM2VGG6PNGBJQJbnCM+ze7+sSslKr56RPj7D0K92WQrWbnEiFLYsxZG1W2zEYMszeC0herUiQv77FGTIz7EDcRSVEPUYKMUnyGgYIY0qyVIAuVN6WMdrdyZiuYqXgvixRwX5KOjxmTWLHdnORLZchfnrEdLb9+XTCZKLEiv78GfvRXA0QsykmxXhlF8eST8UR9G6i9H0q7x4Cm10H2HZQoUkhmsSj0/IFnZOyBFeDctNGNoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsI3/BxVeQNnL1kBuAAAAAElFTkSuQmCC"},6731:(e,n,s)=>{s.r(n),s.d(n,{Highlight:()=>l,assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"tutorial-basics/markdown-features","title":"Markdown Features","description":"Docusaurus supports Markdown and a few additional features.","source":"@site/docs/tutorial-basics/markdown-features.mdx","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/markdown-features","permalink":"/docs/tutorial-basics/markdown-features","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/markdown-features.mdx","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_position":4},"sidebar":"tutorialSidebar","previous":{"title":"Create a Blog Post","permalink":"/docs/tutorial-basics/create-a-blog-post"},"next":{"title":"Deploy your site","permalink":"/docs/tutorial-basics/deploy-your-site"}}');var t=s(4848),a=s(3023);const o={sidebar_position:4},i="Markdown Features",c={},l=({children:e,color:n})=>(0,t.jsx)("span",{style:{backgroundColor:n,borderRadius:"20px",color:"#fff",padding:"10px",cursor:"pointer"},onClick:()=>{alert(`You clicked the color ${n} with label ${e}`)},children:e}),d=[{value:"Front Matter",id:"front-matter",level:2},{value:"Links",id:"links",level:2},{value:"Images",id:"images",level:2},{value:"Code Blocks",id:"code-blocks",level:2},{value:"Admonitions",id:"admonitions",level:2},{value:"MDX and React Components",id:"mdx-and-react-components",level:2}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",img:"img",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"markdown-features",children:"Markdown Features"})}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus supports ",(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"https://daringfireball.net/projects/markdown/syntax",children:"Markdown"})})," and a few ",(0,t.jsx)(n.strong,{children:"additional features"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"front-matter",children:"Front Matter"}),"\n",(0,t.jsxs)(n.p,{children:["Markdown documents have metadata at the top called ",(0,t.jsx)(n.a,{href:"https://jekyllrb.com/docs/front-matter/",children:"Front Matter"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-text",metastring:'title="my-doc.md"',children:"// highlight-start\n---\nid: my-doc-id\ntitle: My document title\ndescription: My document description\nslug: /my-custom-url\n---\n// highlight-end\n\n## Markdown heading\n\nMarkdown text with [links](./hello.md)\n"})}),"\n",(0,t.jsx)(n.h2,{id:"links",children:"Links"}),"\n",(0,t.jsx)(n.p,{children:"Regular Markdown links are supported, using url paths or relative file paths."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:"Let's see how to [Create a page](/create-a-page).\n"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:"Let's see how to [Create a page](./create-a-page.md).\n"})}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Result:"})," Let's see how to ",(0,t.jsx)(n.a,{href:"/docs/tutorial-basics/create-a-page",children:"Create a page"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"images",children:"Images"}),"\n",(0,t.jsx)(n.p,{children:"Regular Markdown images are supported."}),"\n",(0,t.jsxs)(n.p,{children:["You can use absolute paths to reference images in the static directory (",(0,t.jsx)(n.code,{children:"static/img/docusaurus.png"}),"):"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:"![Docusaurus logo](/img/docusaurus.png)\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"Docusaurus logo",src:s(2615).A+"",width:"200",height:"200"})}),"\n",(0,t.jsx)(n.p,{children:"You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:"![Docusaurus logo](./img/docusaurus.png)\n"})}),"\n",(0,t.jsx)(n.h2,{id:"code-blocks",children:"Code Blocks"}),"\n",(0,t.jsx)(n.p,{children:"Markdown code blocks are supported with Syntax highlighting."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:'```jsx title="src/components/HelloDocusaurus.js"\nfunction HelloDocusaurus() {\n return <h1>Hello, Docusaurus!</h1>;\n}\n```\n'})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",metastring:'title="src/components/HelloDocusaurus.js"',children:"function HelloDocusaurus() {\n return <h1>Hello, Docusaurus!</h1>;\n}\n"})}),"\n",(0,t.jsx)(n.h2,{id:"admonitions",children:"Admonitions"}),"\n",(0,t.jsx)(n.p,{children:"Docusaurus has a special syntax to create admonitions and callouts:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:":::tip[My tip]\n\nUse this awesome feature option\n\n:::\n\n:::danger[Take care]\n\nThis action is dangerous\n\n:::\n"})}),"\n",(0,t.jsx)(n.admonition,{title:"My tip",type:"tip",children:(0,t.jsx)(n.p,{children:"Use this awesome feature option"})}),"\n",(0,t.jsx)(n.admonition,{title:"Take care",type:"danger",children:(0,t.jsx)(n.p,{children:"This action is dangerous"})}),"\n",(0,t.jsx)(n.h2,{id:"mdx-and-react-components",children:"MDX and React Components"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://mdxjs.com/",children:"MDX"})," can make your documentation more ",(0,t.jsx)(n.strong,{children:"interactive"})," and allows using any ",(0,t.jsx)(n.strong,{children:"React components inside Markdown"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",children:"export const Highlight = ({children, color}) => (\n <span\n style={{\n backgroundColor: color,\n borderRadius: '20px',\n color: '#fff',\n padding: '10px',\n cursor: 'pointer',\n }}\n onClick={() => {\n alert(`You clicked the color ${color} with label ${children}`)\n }}>\n {children}\n </span>\n);\n\nThis is <Highlight color=\"#25c2a0\">Docusaurus green</Highlight> !\n\nThis is <Highlight color=\"#1877F2\">Facebook blue</Highlight> !\n"})}),"\n","\n",(0,t.jsxs)(n.p,{children:["This is ",(0,t.jsx)(l,{color:"#25c2a0",children:"Docusaurus green"})," !"]}),"\n",(0,t.jsxs)(n.p,{children:["This is ",(0,t.jsx)(l,{color:"#1877F2",children:"Facebook blue"})," !"]})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},3023:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>i});var r=s(6540);const t={},a=r.createContext(t);function o(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/18ffe98c.76416f23.js b/assets/js/18ffe98c.76416f23.js new file mode 100644 index 0000000000..8ce81e8fa0 --- /dev/null +++ b/assets/js/18ffe98c.76416f23.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["82380"],{66291:function(e){e.exports=JSON.parse('{"metadata":{"permalink":"/blog/page/3","page":3,"postsPerPage":5,"totalPages":6,"totalCount":26,"previousPage":"/blog/page/2","nextPage":"/blog/page/4","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/19091.b533e490.js b/assets/js/19091.b533e490.js new file mode 100644 index 0000000000..fb62e30ef9 --- /dev/null +++ b/assets/js/19091.b533e490.js @@ -0,0 +1,125 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["19091"],{66740:function(e,t,s){s.d(t,{Z:()=>i});var u=s(40597),r=s(36404);let i=(e,t)=>u.Z.lang.round(r.Z.parse(e)[t])},8382:function(e,t,s){s.d(t,{j:()=>n,q:()=>i});var u=s(28923),r=s(11141),i=(0,u.eW)((e,t)=>{let s;return"sandbox"===t&&(s=(0,r.Ys)("#i"+e)),("sandbox"===t?(0,r.Ys)(s.nodes()[0].contentDocument.body):(0,r.Ys)("body")).select(`[id="${e}"]`)},"getDiagramElement"),n=(0,u.eW)((e,t,s,r)=>{e.attr("class",s);let{width:i,height:n,x:o,y:c}=a(e,t);(0,u.v2)(e,n,i,r);let h=l(o,c,i,n,t);e.attr("viewBox",h),u.cM.debug(`viewBox configured: ${h} with padding: ${t}`)},"setupViewPortForSVG"),a=(0,u.eW)((e,t)=>{let s=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*t,height:s.height+2*t,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,u.eW)((e,t,s,u,r)=>`${e-r} ${t-r} ${s} ${u}`,"createViewBox")},25954:function(e,t,s){s.d(t,{diagram:()=>ek});var u,r,i=s(8382);s(57668);var n=s(63985);s(11779),s(25653),s(19039);var a=s(84890),l=s(28923),o=s(11141),c=s(66740),h=s(62321),d=0,p=(0,l.nV)(),A=new Map,g=[],f=new Map,y=[],b=new Map,k=new Map,E=0,D=!0,m=[],C=(0,l.eW)(e=>l.SY.sanitizeText(e,p),"sanitizeText"),x=(0,l.eW)(function(e){for(let t of A.values())if(t.id===e)return t.domId;return e},"lookUpDomId"),T=(0,l.eW)(function(e,t,s,u,r,i,n={}){let a;if(!e||0===e.trim().length)return;let o=A.get(e);void 0===o&&(o={id:e,labelType:"text",domId:"flowchart-"+e+"-"+d,styles:[],classes:[]},A.set(e,o)),d++,void 0!==t?(p=(0,l.nV)(),a=C(t.text.trim()),o.labelType=t.type,a.startsWith('"')&&a.endsWith('"')&&(a=a.substring(1,a.length-1)),o.text=a):void 0===o.text&&(o.text=e),void 0!==s&&(o.type=s),null!=u&&u.forEach(function(e){o.styles.push(e)}),null!=r&&r.forEach(function(e){o.classes.push(e)}),void 0!==i&&(o.dir=i),void 0===o.props?o.props=n:void 0!==n&&Object.assign(o.props,n)},"addVertex"),F=(0,l.eW)(function(e,t,s){let u={start:e,end:t,type:void 0,text:"",labelType:"text"};l.cM.info("abc78 Got edge...",u);let r=s.text;if(void 0!==r&&(u.text=C(r.text.trim()),u.text.startsWith('"')&&u.text.endsWith('"')&&(u.text=u.text.substring(1,u.text.length-1)),u.labelType=r.type),void 0!==s&&(u.type=s.type,u.stroke=s.stroke,u.length=s.length>10?10:s.length),g.length<(p.maxEdges??500))l.cM.info("Pushing edge..."),g.push(u);else throw Error(`Edge limit exceeded. ${g.length} edges found, but the limit is ${p.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)},"addSingleLink"),S=(0,l.eW)(function(e,t,s){for(let u of(l.cM.info("addLink",e,t,s),e))for(let e of t)F(u,e,s)},"addLink"),_=(0,l.eW)(function(e,t){e.forEach(function(e){"default"===e?g.defaultInterpolate=t:g[e].interpolate=t})},"updateLinkInterpolate"),B=(0,l.eW)(function(e,t){e.forEach(function(e){if("number"==typeof e&&e>=g.length)throw Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${g.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===e?g.defaultStyle=t:(g[e].style=t,(g[e]?.style?.length??0)>0&&!g[e]?.style?.some(e=>e?.startsWith("fill"))&&g[e]?.style?.push("fill:none"))})},"updateLink"),v=(0,l.eW)(function(e,t){e.split(",").forEach(function(e){let s=f.get(e);void 0===s&&(s={id:e,styles:[],textStyles:[]},f.set(e,s)),null!=t&&t.forEach(function(e){if(/color/.exec(e)){let t=e.replace("fill","bgFill");s.textStyles.push(t)}s.styles.push(e)})})},"addClass"),w=(0,l.eW)(function(e){u=e,/.*</.exec(u)&&(u="RL"),/.*\^/.exec(u)&&(u="BT"),/.*>/.exec(u)&&(u="LR"),/.*v/.exec(u)&&(u="TB"),"TD"===u&&(u="TB")},"setDirection"),$=(0,l.eW)(function(e,t){for(let s of e.split(",")){let e=A.get(s);e&&e.classes.push(t);let u=b.get(s);u&&u.classes.push(t)}},"setClass"),L=(0,l.eW)(function(e,t){if(void 0!==t)for(let s of(t=C(t),e.split(",")))k.set("gen-1"===r?x(s):s,t)},"setTooltip"),I=(0,l.eW)(function(e,t,s){let u=x(e);if("loose"!==(0,l.nV)().securityLevel||void 0===t)return;let r=[];if("string"==typeof s){r=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<r.length;e++){let t=r[e].trim();t.startsWith('"')&&t.endsWith('"')&&(t=t.substr(1,t.length-2)),r[e]=t}}0===r.length&&r.push(e);let i=A.get(e);i&&(i.haveCallback=!0,m.push(function(){let e=document.querySelector(`[id="${u}"]`);null!==e&&e.addEventListener("click",function(){a.w8.runFunc(t,...r)},!1)}))},"setClickFun"),W=(0,l.eW)(function(e,t,s){e.split(",").forEach(function(e){let u=A.get(e);void 0!==u&&(u.link=a.w8.formatUrl(t,p),u.linkTarget=s)}),$(e,"clickable")},"setLink"),R=(0,l.eW)(function(e){return k.get(e)},"getTooltip"),N=(0,l.eW)(function(e,t,s){e.split(",").forEach(function(e){I(e,t,s)}),$(e,"clickable")},"setClickEvent"),P=(0,l.eW)(function(e){m.forEach(function(t){t(e)})},"bindFunctions"),M=(0,l.eW)(function(){return u.trim()},"getDirection"),O=(0,l.eW)(function(){return A},"getVertices"),V=(0,l.eW)(function(){return g},"getEdges"),U=(0,l.eW)(function(){return f},"getClasses"),G=(0,l.eW)(function(e){let t=(0,o.Ys)(".mermaidTooltip");null===(t._groups||t)[0][0]&&(t=(0,o.Ys)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),(0,o.Ys)(e).select("svg").selectAll("g.node").on("mouseover",function(){let e=(0,o.Ys)(this);if(null===e.attr("title"))return;let s=this?.getBoundingClientRect();t.transition().duration(200).style("opacity",".9"),t.text(e.attr("title")).style("left",window.scrollX+s.left+(s.right-s.left)/2+"px").style("top",window.scrollY+s.bottom+"px"),t.html(t.html().replace(/<br\/>/g,"<br/>")),e.classed("hover",!0)}).on("mouseout",function(){t.transition().duration(500).style("opacity",0),(0,o.Ys)(this).classed("hover",!1)})},"setupToolTips");m.push(G);var Y=(0,l.eW)(function(e="gen-1"){A=new Map,f=new Map,g=[],m=[G],y=[],b=new Map,E=0,k=new Map,D=!0,r=e,p=(0,l.nV)(),(0,l.ZH)()},"clear"),K=(0,l.eW)(e=>{r=e||"gen-2"},"setGen"),j=(0,l.eW)(function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},"defaultStyle"),z=(0,l.eW)(function(e,t,s){let u=e.text.trim(),i=s.text;function n(e){let t;let s={boolean:{},number:{},string:{}},u=[];return{nodeList:e.filter(function(e){let r=typeof e;return e.stmt&&"dir"===e.stmt?(t=e.value,!1):""!==e.trim()&&(r in s?!s[r].hasOwnProperty(e)&&(s[r][e]=!0):!u.includes(e)&&u.push(e))}),dir:t}}e===s&&/\s/.exec(s.text)&&(u=void 0),(0,l.eW)(n,"uniq");let{nodeList:a,dir:o}=n(t.flat());if("gen-1"===r)for(let e=0;e<a.length;e++)a[e]=x(a[e]);u=u??"subGraph"+E,i=C(i=i||""),E+=1;let c={id:u,nodes:a,title:i.trim(),classes:[],dir:o,labelType:s.type};return l.cM.info("Adding",c.id,c.nodes,c.dir),c.nodes=ea(c,y).nodes,y.push(c),b.set(u,c),u},"addSubGraph"),X=(0,l.eW)(function(e){for(let[t,s]of y.entries())if(s.id===e)return t;return -1},"getPosForId"),q=-1,H=[],Z=(0,l.eW)(function(e,t){let s=y[t].nodes;if((q+=1)>2e3)return{result:!1,count:0};if(H[q]=t,y[t].id===e)return{result:!0,count:0};let u=0,r=1;for(;u<s.length;){let t=X(s[u]);if(t>=0){let s=Z(e,t);if(s.result)return{result:!0,count:r+s.count};r+=s.count}u+=1}return{result:!1,count:r}},"indexNodes2"),Q=(0,l.eW)(function(e){return H[e]},"getDepthFirstPos"),J=(0,l.eW)(function(){q=-1,y.length>0&&Z("none",y.length-1)},"indexNodes"),ee=(0,l.eW)(function(){return y},"getSubGraphs"),et=(0,l.eW)(()=>!!D&&(D=!1,!0),"firstGraph"),es=(0,l.eW)(e=>{let t=e.trim(),s="arrow_open";switch(t[0]){case"<":s="arrow_point",t=t.slice(1);break;case"x":s="arrow_cross",t=t.slice(1);break;case"o":s="arrow_circle",t=t.slice(1)}let u="normal";return t.includes("=")&&(u="thick"),t.includes(".")&&(u="dotted"),{type:s,stroke:u}},"destructStartLink"),eu=(0,l.eW)((e,t)=>{let s=t.length,u=0;for(let r=0;r<s;++r)t[r]===e&&++u;return u},"countChar"),er=(0,l.eW)(e=>{let t=e.trim(),s=t.slice(0,-1),u="arrow_open";switch(t.slice(-1)){case"x":u="arrow_cross",t.startsWith("x")&&(u="double_"+u,s=s.slice(1));break;case">":u="arrow_point",t.startsWith("<")&&(u="double_"+u,s=s.slice(1));break;case"o":u="arrow_circle",t.startsWith("o")&&(u="double_"+u,s=s.slice(1))}let r="normal",i=s.length-1;s.startsWith("=")&&(r="thick"),s.startsWith("~")&&(r="invisible");let n=eu(".",s);return n&&(r="dotted",i=n),{type:u,stroke:r,length:i}},"destructEndLink"),ei=(0,l.eW)((e,t)=>{let s;let u=er(e);if(t){if((s=es(t)).stroke!==u.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===s.type)s.type=u.type;else{if(s.type!==u.type)return{type:"INVALID",stroke:"INVALID"};s.type="double_"+s.type}return"double_arrow"===s.type&&(s.type="double_arrow_point"),s.length=u.length,s}return u},"destructLink"),en=(0,l.eW)((e,t)=>{for(let s of e)if(s.nodes.includes(t))return!0;return!1},"exists"),ea=(0,l.eW)((e,t)=>{let s=[];return e.nodes.forEach((u,r)=>{en(t,u)||s.push(e.nodes[r])}),{nodes:s}},"makeUniq"),el=(0,l.eW)(e=>"square"===e.type?"squareRect":"round"===e.type?"roundedRect":e.type??"squareRect","getTypeFromVertex"),eo=(0,l.eW)((e,t)=>e.find(e=>e.id===t),"findNode"),ec=(0,l.eW)(e=>{let t="none",s="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":s=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":s=t=e.replace("double_","")}return{arrowTypeStart:t,arrowTypeEnd:s}},"destructEdgeType"),eh=(0,l.eW)((e,t,s,u,r,i)=>{let n=s.get(e.id),a=u.get(e.id)??!1,l=eo(t,e.id);l?(l.cssStyles=e.styles,l.cssCompiledStyles=ed(e.classes),l.cssClasses=e.classes.join(" ")):t.push({id:e.id,label:e.text,labelStyle:"",parentId:n,padding:r.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:ed(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),shape:el(e),dir:e.dir,domId:e.domId,isGroup:a,look:i,link:e.link,linkTarget:e.linkTarget,tooltip:R(e.id)})},"addNodeFromVertex");function ed(e){let t=[];for(let s of e){let e=f.get(s);e?.styles&&(t=[...t,...e.styles??[]].map(e=>e.trim())),e?.textStyles&&(t=[...t,...e.textStyles??[]].map(e=>e.trim()))}return t}(0,l.eW)(ed,"getCompiledStyles");var ep=(0,l.eW)(()=>{let e=(0,l.nV)(),t=[],s=[],u=ee(),r=new Map,i=new Map;for(let e=u.length-1;e>=0;e--){let t=u[e];for(let e of(t.nodes.length>0&&i.set(t.id,!0),t.nodes))r.set(e,t.id)}for(let s=u.length-1;s>=0;s--){let i=u[s];t.push({id:i.id,label:i.title,labelStyle:"",parentId:r.get(i.id),padding:8,cssCompiledStyles:ed(i.classes),cssClasses:i.classes.join(" "),shape:"rect",dir:i.dir,isGroup:!0,look:e.look})}O().forEach(s=>{eh(s,t,r,i,e,e.look||"classic")});let n=V();return n.forEach((t,u)=>{let{arrowTypeStart:r,arrowTypeEnd:i}=ec(t.type),l=[...n.defaultStyle??[]];t.style&&l.push(...t.style);let o={id:(0,a.Ln)(t.start,t.end,{counter:u,prefix:"L"}),start:t.start,end:t.end,type:t.type??"normal",label:t.text,labelpos:"c",thickness:t.stroke,minlen:t.length,classes:t?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:t?.stroke==="invisible"?"none":r,arrowTypeEnd:t?.stroke==="invisible"?"none":i,arrowheadStyle:"fill: #333",labelStyle:l,style:l,pattern:t.stroke,look:e.look};s.push(o)}),{nodes:t,edges:s,other:{},config:e}},"getData"),eA={defaultConfig:(0,l.eW)(()=>l.Fy.flowchart,"defaultConfig"),setAccTitle:l.GN,getAccTitle:l.eu,getAccDescription:l.Mx,getData:ep,setAccDescription:l.U$,addVertex:T,lookUpDomId:x,addLink:S,updateLinkInterpolate:_,updateLink:B,addClass:v,setDirection:w,setClass:$,setTooltip:L,getTooltip:R,setClickEvent:N,setLink:W,bindFunctions:P,getDirection:M,getVertices:O,getEdges:V,getClasses:U,clear:Y,setGen:K,defaultStyle:j,addSubGraph:z,getDepthFirstPos:Q,indexNodes:J,getSubGraphs:ee,destructLink:ei,lex:{firstGraph:et},exists:en,makeUniq:ea,setDiagramTitle:l.g2,getDiagramTitle:l.Kr},eg=(0,l.eW)(function(e,t){return t.db.getClasses()},"getClasses"),ef=(0,l.eW)(async function(e,t,s,u){let r;l.cM.info("REF0:"),l.cM.info("Drawing state diagram (v2)",t);let{securityLevel:c,flowchart:h,layout:d}=(0,l.nV)();"sandbox"===c&&(r=(0,o.Ys)("#i"+t));let p="sandbox"===c?r.nodes()[0].contentDocument:document;l.cM.debug("Before getData: ");let A=u.db.getData();l.cM.debug("Data: ",A);let g=(0,i.q)(t,c),f=M();A.type=u.type,A.layoutAlgorithm=(0,n._b)(d),"dagre"===A.layoutAlgorithm&&"elk"===d&&l.cM.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),A.direction=f,A.nodeSpacing=h?.nodeSpacing||50,A.rankSpacing=h?.rankSpacing||50,A.markers=["point","circle","cross"],A.diagramId=t,l.cM.debug("REF1:",A),await (0,n.sY)(A,g);let y=A.config.flowchart?.diagramPadding??8;for(let e of(a.w8.insertTitle(g,"flowchartTitleText",h?.titleTopMargin||0,u.db.getDiagramTitle()),(0,i.j)(g,y,"flowchart",h?.useMaxWidth||!1),A.nodes)){let s=(0,o.Ys)(`#${t} [id="${e.id}"]`);if(!s||!e.link)continue;let u=p.createElementNS("http://www.w3.org/2000/svg","a");u.setAttributeNS("http://www.w3.org/2000/svg","class",e.cssClasses),u.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===c?u.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):e.linkTarget&&u.setAttributeNS("http://www.w3.org/2000/svg","target",e.linkTarget);let r=s.insert(function(){return u},":first-child"),i=s.select(".label-container");i&&r.append(function(){return i.node()});let n=s.select(".label");n&&r.append(function(){return n.node()})}},"draw"),ey=function(){var e=(0,l.eW)(function(e,t,s,u){for(s=s||{},u=e.length;u--;s[e[u]]=t);return s},"o"),t=[1,4],s=[1,3],u=[1,5],r=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],i=[2,2],n=[1,13],a=[1,14],o=[1,15],c=[1,16],h=[1,23],d=[1,25],p=[1,26],A=[1,27],g=[1,49],f=[1,48],y=[1,29],b=[1,30],k=[1,31],E=[1,32],D=[1,33],m=[1,44],C=[1,46],x=[1,42],T=[1,47],F=[1,43],S=[1,50],_=[1,45],B=[1,51],v=[1,52],w=[1,34],$=[1,35],L=[1,36],I=[1,37],W=[1,57],R=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],N=[1,61],P=[1,60],M=[1,62],O=[8,9,11,73,75],V=[1,88],U=[1,93],G=[1,92],Y=[1,89],K=[1,85],j=[1,91],z=[1,87],X=[1,94],q=[1,90],H=[1,95],Z=[1,86],Q=[8,9,10,11,73,75],J=[8,9,10,11,44,73,75],ee=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],et=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],es=[42,58,86,99,102,103,106,108,111,112,113],eu=[1,121],er=[1,120],ei=[1,128],en=[1,142],ea=[1,143],el=[1,144],eo=[1,145],ec=[1,130],eh=[1,132],ed=[1,136],ep=[1,137],eA=[1,138],eg=[1,139],ef=[1,140],ey=[1,141],eb=[1,146],ek=[1,147],eE=[1,126],eD=[1,127],em=[1,134],eC=[1,129],ex=[1,133],eT=[1,131],eF=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],eS=[1,149],e_=[8,9,11],eB=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],ev=[1,169],ew=[1,165],e$=[1,166],eL=[1,170],eI=[1,167],eW=[1,168],eR=[75,113,116],eN=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],eP=[10,103],eM=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],eO=[1,235],eV=[1,233],eU=[1,237],eG=[1,231],eY=[1,232],eK=[1,234],ej=[1,236],ez=[1,238],eX=[1,255],eq=[8,9,11,103],eH=[8,9,10,11,58,81,102,103,106,107,108,109],eZ={trace:(0,l.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:(0,l.eW)(function(e,t,s,u,r,i,n){var a=i.length-1;switch(r){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(i[a])||i[a].length>0)&&i[a-1].push(i[a]),this.$=i[a-1];break;case 4:case 176:case 49:case 71:case 174:this.$=i[a];break;case 11:u.setDirection("TB"),this.$="TB";break;case 12:u.setDirection(i[a-1]),this.$=i[a-1];break;case 27:this.$=i[a-1].nodes;break;case 33:this.$=u.addSubGraph(i[a-6],i[a-1],i[a-4]);break;case 34:this.$=u.addSubGraph(i[a-3],i[a-1],i[a-3]);break;case 35:this.$=u.addSubGraph(void 0,i[a-1],void 0);break;case 37:this.$=i[a].trim(),u.setAccTitle(this.$);break;case 38:case 39:this.$=i[a].trim(),u.setAccDescription(this.$);break;case 43:u.addLink(i[a-2].stmt,i[a],i[a-1]),this.$={stmt:i[a],nodes:i[a].concat(i[a-2].nodes)};break;case 44:u.addLink(i[a-3].stmt,i[a-1],i[a-2]),this.$={stmt:i[a-1],nodes:i[a-1].concat(i[a-3].nodes)};break;case 45:this.$={stmt:i[a-1],nodes:i[a-1]};break;case 46:this.$={stmt:i[a],nodes:i[a]};break;case 47:case 121:case 123:this.$=[i[a]];break;case 48:this.$=i[a-4].concat(i[a]);break;case 50:this.$=i[a-2],u.setClass(i[a-2],i[a]);break;case 51:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"square");break;case 52:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"doublecircle");break;case 53:this.$=i[a-5],u.addVertex(i[a-5],i[a-2],"circle");break;case 54:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"ellipse");break;case 55:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"stadium");break;case 56:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"subroutine");break;case 57:this.$=i[a-7],u.addVertex(i[a-7],i[a-1],"rect",void 0,void 0,void 0,Object.fromEntries([[i[a-5],i[a-3]]]));break;case 58:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"cylinder");break;case 59:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"round");break;case 60:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"diamond");break;case 61:this.$=i[a-5],u.addVertex(i[a-5],i[a-2],"hexagon");break;case 62:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"odd");break;case 63:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"trapezoid");break;case 64:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"inv_trapezoid");break;case 65:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"lean_right");break;case 66:this.$=i[a-3],u.addVertex(i[a-3],i[a-1],"lean_left");break;case 67:this.$=i[a],u.addVertex(i[a]);break;case 68:i[a-1].text=i[a],this.$=i[a-1];break;case 69:case 70:i[a-2].text=i[a-1],this.$=i[a-2];break;case 72:var l=u.destructLink(i[a],i[a-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:i[a-1]};break;case 73:case 79:case 94:case 96:this.$={text:i[a],type:"text"};break;case 74:case 80:case 95:this.$={text:i[a-1].text+""+i[a],type:i[a-1].type};break;case 75:case 81:this.$={text:i[a],type:"string"};break;case 76:case 82:case 97:this.$={text:i[a],type:"markdown"};break;case 77:var l=u.destructLink(i[a]);this.$={type:l.type,stroke:l.stroke,length:l.length};break;case 78:this.$=i[a-1];break;case 98:this.$=i[a-4],u.addClass(i[a-2],i[a]);break;case 99:this.$=i[a-4],u.setClass(i[a-2],i[a]);break;case 100:case 108:this.$=i[a-1],u.setClickEvent(i[a-1],i[a]);break;case 101:case 109:this.$=i[a-3],u.setClickEvent(i[a-3],i[a-2]),u.setTooltip(i[a-3],i[a]);break;case 102:this.$=i[a-2],u.setClickEvent(i[a-2],i[a-1],i[a]);break;case 103:this.$=i[a-4],u.setClickEvent(i[a-4],i[a-3],i[a-2]),u.setTooltip(i[a-4],i[a]);break;case 104:this.$=i[a-2],u.setLink(i[a-2],i[a]);break;case 105:this.$=i[a-4],u.setLink(i[a-4],i[a-2]),u.setTooltip(i[a-4],i[a]);break;case 106:this.$=i[a-4],u.setLink(i[a-4],i[a-2],i[a]);break;case 107:this.$=i[a-6],u.setLink(i[a-6],i[a-4],i[a]),u.setTooltip(i[a-6],i[a-2]);break;case 110:this.$=i[a-1],u.setLink(i[a-1],i[a]);break;case 111:this.$=i[a-3],u.setLink(i[a-3],i[a-2]),u.setTooltip(i[a-3],i[a]);break;case 112:this.$=i[a-3],u.setLink(i[a-3],i[a-2],i[a]);break;case 113:this.$=i[a-5],u.setLink(i[a-5],i[a-4],i[a]),u.setTooltip(i[a-5],i[a-2]);break;case 114:this.$=i[a-4],u.addVertex(i[a-2],void 0,void 0,i[a]);break;case 115:this.$=i[a-4],u.updateLink([i[a-2]],i[a]);break;case 116:this.$=i[a-4],u.updateLink(i[a-2],i[a]);break;case 117:this.$=i[a-8],u.updateLinkInterpolate([i[a-6]],i[a-2]),u.updateLink([i[a-6]],i[a]);break;case 118:this.$=i[a-8],u.updateLinkInterpolate(i[a-6],i[a-2]),u.updateLink(i[a-6],i[a]);break;case 119:this.$=i[a-6],u.updateLinkInterpolate([i[a-4]],i[a]);break;case 120:this.$=i[a-6],u.updateLinkInterpolate(i[a-4],i[a]);break;case 122:case 124:i[a-2].push(i[a]),this.$=i[a-2];break;case 126:this.$=i[a-1]+i[a];break;case 175:case 177:this.$=i[a-1]+""+i[a];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"}}},"anonymous"),table:[{3:1,4:2,9:t,10:s,12:u},{1:[3]},e(r,i,{5:6}),{4:7,9:t,10:s,12:u},{4:8,9:t,10:s,12:u},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:n,9:a,10:o,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:p,38:A,40:28,41:38,42:g,43:39,45:40,58:f,81:y,82:b,83:k,84:E,85:D,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v,118:w,119:$,120:L,121:I},e(r,[2,9]),e(r,[2,10]),e(r,[2,11]),{8:[1,54],9:[1,55],10:W,15:53,18:56},e(R,[2,3]),e(R,[2,4]),e(R,[2,5]),e(R,[2,6]),e(R,[2,7]),e(R,[2,8]),{8:N,9:P,11:M,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:N,9:P,11:M,21:66},{8:N,9:P,11:M,21:67},{8:N,9:P,11:M,21:68},{8:N,9:P,11:M,21:69},{8:N,9:P,11:M,21:70},{8:N,9:P,10:[1,71],11:M,21:72},e(R,[2,36]),{35:[1,73]},{37:[1,74]},e(R,[2,39]),e(O,[2,46],{18:75,10:W}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:V,42:U,58:G,77:[1,83],86:Y,92:[1,80],94:[1,81],98:82,102:K,103:j,106:z,108:X,111:q,112:H,113:Z,117:84},e(R,[2,178]),e(R,[2,179]),e(R,[2,180]),e(R,[2,181]),e(Q,[2,47]),e(Q,[2,49],{44:[1,96]}),e(J,[2,67],{110:109,29:[1,97],42:g,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:f,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:m,99:C,102:x,103:T,106:F,108:S,111:_,112:B,113:v}),e(ee,[2,174]),e(ee,[2,135]),e(ee,[2,136]),e(ee,[2,137]),e(ee,[2,138]),e(ee,[2,139]),e(ee,[2,140]),e(ee,[2,141]),e(ee,[2,142]),e(ee,[2,143]),e(ee,[2,144]),e(ee,[2,145]),e(r,[2,12]),e(r,[2,18]),e(r,[2,19]),{9:[1,110]},e(et,[2,26],{18:111,10:W}),e(R,[2,27]),{40:112,41:38,42:g,43:39,45:40,58:f,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v},e(R,[2,40]),e(R,[2,41]),e(R,[2,42]),e(es,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:eu,116:er},e([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),e(R,[2,28]),e(R,[2,29]),e(R,[2,30]),e(R,[2,31]),e(R,[2,32]),{10:ei,12:en,14:ea,27:el,28:122,32:eo,42:ec,58:eh,73:ed,77:[1,124],78:[1,125],80:135,81:ep,82:eA,83:eg,84:ef,85:ey,86:eb,87:ek,88:123,102:eE,106:eD,108:em,111:eC,112:ex,113:eT},e(eF,i,{5:148}),e(R,[2,37]),e(R,[2,38]),e(O,[2,45],{42:eS}),{42:g,45:150,58:f,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v},{99:[1,151],100:152,102:[1,153]},{42:g,45:154,58:f,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v},{42:g,45:155,58:f,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v},e(e_,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},e(e_,[2,108],{117:160,10:[1,159],14:V,42:U,58:G,86:Y,102:K,103:j,106:z,108:X,111:q,112:H,113:Z}),e(e_,[2,110],{10:[1,161]}),e(eB,[2,176]),e(eB,[2,163]),e(eB,[2,164]),e(eB,[2,165]),e(eB,[2,166]),e(eB,[2,167]),e(eB,[2,168]),e(eB,[2,169]),e(eB,[2,170]),e(eB,[2,171]),e(eB,[2,172]),e(eB,[2,173]),{42:g,45:162,58:f,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v},{30:163,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{30:171,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{30:173,48:[1,172],65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{30:174,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{30:175,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{30:176,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{106:[1,177]},{30:178,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{30:179,63:[1,180],65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{30:181,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{30:182,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{30:183,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},e(ee,[2,175]),e(r,[2,20]),e(et,[2,25]),e(O,[2,43],{18:184,10:W}),e(es,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{75:[1,188],76:189,113:eu,116:er},e(eR,[2,73]),e(eR,[2,75]),e(eR,[2,76]),e(eR,[2,161]),e(eR,[2,162]),{8:N,9:P,10:ei,11:M,12:en,14:ea,21:191,27:el,29:[1,190],32:eo,42:ec,58:eh,73:ed,80:135,81:ep,82:eA,83:eg,84:ef,85:ey,86:eb,87:ek,88:192,102:eE,106:eD,108:em,111:eC,112:ex,113:eT},e(eN,[2,94]),e(eN,[2,96]),e(eN,[2,97]),e(eN,[2,150]),e(eN,[2,151]),e(eN,[2,152]),e(eN,[2,153]),e(eN,[2,154]),e(eN,[2,155]),e(eN,[2,156]),e(eN,[2,157]),e(eN,[2,158]),e(eN,[2,159]),e(eN,[2,160]),e(eN,[2,83]),e(eN,[2,84]),e(eN,[2,85]),e(eN,[2,86]),e(eN,[2,87]),e(eN,[2,88]),e(eN,[2,89]),e(eN,[2,90]),e(eN,[2,91]),e(eN,[2,92]),e(eN,[2,93]),{6:11,7:12,8:n,9:a,10:o,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,193],33:24,34:d,36:p,38:A,40:28,41:38,42:g,43:39,45:40,58:f,81:y,82:b,83:k,84:E,85:D,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v,118:w,119:$,120:L,121:I},{10:W,18:194},{10:[1,195],42:g,58:f,86:m,99:C,102:x,103:T,106:F,108:S,110:109,111:_,112:B,113:v},{10:[1,196]},{10:[1,197],103:[1,198]},e(eP,[2,121]),{10:[1,199],42:g,58:f,86:m,99:C,102:x,103:T,106:F,108:S,110:109,111:_,112:B,113:v},{10:[1,200],42:g,58:f,86:m,99:C,102:x,103:T,106:F,108:S,110:109,111:_,112:B,113:v},{77:[1,201]},e(e_,[2,102],{10:[1,202]}),e(e_,[2,104],{10:[1,203]}),{77:[1,204]},e(eB,[2,177]),{77:[1,205],95:[1,206]},e(Q,[2,50],{110:109,42:g,58:f,86:m,99:C,102:x,103:T,106:F,108:S,111:_,112:B,113:v}),{31:[1,207],65:ev,79:208,113:eL,114:eI,115:eW},e(eM,[2,79]),e(eM,[2,81]),e(eM,[2,82]),e(eM,[2,146]),e(eM,[2,147]),e(eM,[2,148]),e(eM,[2,149]),{47:[1,209],65:ev,79:208,113:eL,114:eI,115:eW},{30:210,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{49:[1,211],65:ev,79:208,113:eL,114:eI,115:eW},{51:[1,212],65:ev,79:208,113:eL,114:eI,115:eW},{53:[1,213],65:ev,79:208,113:eL,114:eI,115:eW},{55:[1,214],65:ev,79:208,113:eL,114:eI,115:eW},{58:[1,215]},{62:[1,216],65:ev,79:208,113:eL,114:eI,115:eW},{64:[1,217],65:ev,79:208,113:eL,114:eI,115:eW},{30:218,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},{31:[1,219],65:ev,79:208,113:eL,114:eI,115:eW},{65:ev,67:[1,220],69:[1,221],79:208,113:eL,114:eI,115:eW},{65:ev,67:[1,223],69:[1,222],79:208,113:eL,114:eI,115:eW},e(O,[2,44],{42:eS}),e(es,[2,70]),e(es,[2,69]),{60:[1,224],65:ev,79:208,113:eL,114:eI,115:eW},e(es,[2,72]),e(eR,[2,74]),{30:225,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},e(eF,i,{5:226}),e(eN,[2,95]),e(R,[2,35]),{41:227,42:g,43:39,45:40,58:f,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v},{10:eO,58:eV,81:eU,89:228,102:eG,104:229,105:230,106:eY,107:eK,108:ej,109:ez},{10:eO,58:eV,81:eU,89:239,101:[1,240],102:eG,104:229,105:230,106:eY,107:eK,108:ej,109:ez},{10:eO,58:eV,81:eU,89:241,101:[1,242],102:eG,104:229,105:230,106:eY,107:eK,108:ej,109:ez},{102:[1,243]},{10:eO,58:eV,81:eU,89:244,102:eG,104:229,105:230,106:eY,107:eK,108:ej,109:ez},{42:g,45:245,58:f,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v},e(e_,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},e(e_,[2,109]),e(e_,[2,111],{10:[1,249]}),e(e_,[2,112]),e(J,[2,51]),e(eM,[2,80]),e(J,[2,52]),{49:[1,250],65:ev,79:208,113:eL,114:eI,115:eW},e(J,[2,59]),e(J,[2,54]),e(J,[2,55]),e(J,[2,56]),{106:[1,251]},e(J,[2,58]),e(J,[2,60]),{64:[1,252],65:ev,79:208,113:eL,114:eI,115:eW},e(J,[2,62]),e(J,[2,63]),e(J,[2,65]),e(J,[2,64]),e(J,[2,66]),e([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:ev,79:208,113:eL,114:eI,115:eW},{6:11,7:12,8:n,9:a,10:o,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,254],33:24,34:d,36:p,38:A,40:28,41:38,42:g,43:39,45:40,58:f,81:y,82:b,83:k,84:E,85:D,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v,118:w,119:$,120:L,121:I},e(Q,[2,48]),e(e_,[2,114],{103:eX}),e(eq,[2,123],{105:256,10:eO,58:eV,81:eU,102:eG,106:eY,107:eK,108:ej,109:ez}),e(eH,[2,125]),e(eH,[2,127]),e(eH,[2,128]),e(eH,[2,129]),e(eH,[2,130]),e(eH,[2,131]),e(eH,[2,132]),e(eH,[2,133]),e(eH,[2,134]),e(e_,[2,115],{103:eX}),{10:[1,257]},e(e_,[2,116],{103:eX}),{10:[1,258]},e(eP,[2,122]),e(e_,[2,98],{103:eX}),e(e_,[2,99],{110:109,42:g,58:f,86:m,99:C,102:x,103:T,106:F,108:S,111:_,112:B,113:v}),e(e_,[2,103]),e(e_,[2,105],{10:[1,259]}),e(e_,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:N,9:P,11:M,21:264},e(R,[2,34]),{10:eO,58:eV,81:eU,102:eG,104:265,105:230,106:eY,107:eK,108:ej,109:ez},e(eH,[2,126]),{14:V,42:U,58:G,86:Y,98:266,102:K,103:j,106:z,108:X,111:q,112:H,113:Z,117:84},{14:V,42:U,58:G,86:Y,98:267,102:K,103:j,106:z,108:X,111:q,112:H,113:Z,117:84},{95:[1,268]},e(e_,[2,113]),e(J,[2,53]),{30:269,65:ev,77:ew,78:e$,79:164,113:eL,114:eI,115:eW},e(J,[2,61]),e(eF,i,{5:270}),e(eq,[2,124],{105:256,10:eO,58:eV,81:eU,102:eG,106:eY,107:eK,108:ej,109:ez}),e(e_,[2,119],{117:160,10:[1,271],14:V,42:U,58:G,86:Y,102:K,103:j,106:z,108:X,111:q,112:H,113:Z}),e(e_,[2,120],{117:160,10:[1,272],14:V,42:U,58:G,86:Y,102:K,103:j,106:z,108:X,111:q,112:H,113:Z}),e(e_,[2,107]),{31:[1,273],65:ev,79:208,113:eL,114:eI,115:eW},{6:11,7:12,8:n,9:a,10:o,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,274],33:24,34:d,36:p,38:A,40:28,41:38,42:g,43:39,45:40,58:f,81:y,82:b,83:k,84:E,85:D,86:m,99:C,102:x,103:T,106:F,108:S,110:41,111:_,112:B,113:v,118:w,119:$,120:L,121:I},{10:eO,58:eV,81:eU,89:275,102:eG,104:229,105:230,106:eY,107:eK,108:ej,109:ez},{10:eO,58:eV,81:eU,89:276,102:eG,104:229,105:230,106:eY,107:eK,108:ej,109:ez},e(J,[2,57]),e(R,[2,33]),e(e_,[2,117],{103:eX}),e(e_,[2,118],{103:eX})],defaultActions:{},parseError:(0,l.eW)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,l.eW)(function(e){var t=this,s=[0],u=[],r=[null],i=[],n=this.table,a="",o=0,c=0,h=0,d=i.slice.call(arguments,1),p=Object.create(this.lexer),A={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(A.yy[g]=this.yy[g]);p.setInput(e,A.yy),A.yy.lexer=p,A.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;i.push(f);var y=p.options&&p.options.ranges;function b(){var e;return"number"!=typeof(e=u.pop()||p.lex()||1)&&(e instanceof Array&&(e=(u=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof A.yy.parseError?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.eW)(function(e){s.length=s.length-2*e,r.length=r.length-e,i.length=i.length-e},"popStack"),(0,l.eW)(b,"lex");for(var k,E,D,m,C,x,T,F,S,_={};;){if(D=s[s.length-1],this.defaultActions[D]?m=this.defaultActions[D]:(null==k&&(k=b()),m=n[D]&&n[D][k]),void 0===m||!m.length||!m[0]){var B="";for(x in S=[],n[D])this.terminals_[x]&&x>2&&S.push("'"+this.terminals_[x]+"'");B=p.showPosition?"Parse error on line "+(o+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(B,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:f,expected:S})}if(m[0]instanceof Array&&m.length>1)throw Error("Parse Error: multiple actions possible at state: "+D+", token: "+k);switch(m[0]){case 1:s.push(k),r.push(p.yytext),i.push(p.yylloc),s.push(m[1]),k=null,E?(k=E,E=null):(c=p.yyleng,a=p.yytext,o=p.yylineno,f=p.yylloc,h>0&&h--);break;case 2:if(T=this.productions_[m[1]][1],_.$=r[r.length-T],_._$={first_line:i[i.length-(T||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(T||1)].first_column,last_column:i[i.length-1].last_column},y&&(_._$.range=[i[i.length-(T||1)].range[0],i[i.length-1].range[1]]),void 0!==(C=this.performAction.apply(_,[a,c,o,A.yy,m[1],r,i].concat(d))))return C;T&&(s=s.slice(0,-1*T*2),r=r.slice(0,-1*T),i=i.slice(0,-1*T)),s.push(this.productions_[m[1]][0]),r.push(_.$),i.push(_._$),F=n[s[s.length-2]][s[s.length-1]],s.push(F);break;case 3:return!0}}return!0},"parse")},eQ={EOF:1,parseError:(0,l.eW)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,l.eW)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.eW)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,l.eW)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===u.length?this.yylloc.first_column:0)+u[u.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.eW)(function(){return this._more=!0,this},"more"),reject:(0,l.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.eW)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,l.eW)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.eW)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.eW)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,l.eW)(function(e,t){var s,u,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(u=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var i in r)this[i]=r[i];return!1},"test_match"),next:(0,l.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,u,r=this._currentRules(),i=0;i<r.length;i++)if((s=this._input.match(this.rules[r[i]]))&&(!t||s[0].length>t[0].length)){if(t=s,u=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[i])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[u]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.eW)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,l.eW)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,l.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.eW)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,l.eW)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,l.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,l.eW)(function(e,t,s,u){switch(s){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 8:case 11:case 14:case 17:case 27:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 12:return 93;case 13:return"MD_STR";case 15:this.begin("md_string");break;case 16:return"STR";case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 28:return 85;case 29:case 30:case 31:return e.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:case 35:case 36:case 37:return 95;case 38:return this.popState(),13;case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:case 95:return 108;case 55:return 44;case 56:return 58;case 57:case 96:return 42;case 58:return 8;case 59:return 103;case 60:case 94:return 112;case 61:case 64:case 67:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:case 66:case 69:return 116;case 65:return this.pushState("thickEdgeText"),73;case 68:return this.pushState("dottedEdgeText"),73;case 70:return 75;case 71:return this.popState(),51;case 72:case 108:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};function eJ(){this.yy={}}return eZ.lexer=eQ,(0,l.eW)(eJ,"Parser"),eJ.prototype=eZ,eZ.Parser=eJ,new eJ}();ey.parser=ey;var eb=(0,l.eW)((e,t)=>{let s=c.Z,u=s(e,"r"),r=s(e,"g"),i=s(e,"b");return h.Z(u,r,i,t)},"fade"),ek={parser:ey,db:eA,renderer:{getClasses:eg,draw:ef},styles:(0,l.eW)(e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span { + color: ${e.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + .rough-node .label text , .node .label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + p { + background-color: ${e.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${eb(e.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${e.clusterBkg}; + stroke: ${e.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`,"getStyles"),init:(0,l.eW)(e=>{e.flowchart||(e.flowchart={}),e.layout&&(0,l.Y4)({layout:e.layout}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,(0,l.Y4)({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}}),eA.clear(),eA.setGen("gen-2")},"init")}}}]); \ No newline at end of file diff --git a/assets/js/19648.cb67a206.js b/assets/js/19648.cb67a206.js new file mode 100644 index 0000000000..3a00cd969c --- /dev/null +++ b/assets/js/19648.cb67a206.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["19648"],{46352:function(e,t,n){n.d(t,{Z:()=>a});var i=n(85893);n(67294);var o=n(90496),r=n(77827),s=n(57922);function a(e){let{className:t}=e;return(0,i.jsx)("main",{className:(0,o.Z)("container margin-vert--xl",t),children:(0,i.jsx)("div",{className:"row",children:(0,i.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,i.jsx)(s.Z,{as:"h1",className:"hero__title",children:(0,i.jsx)(r.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,i.jsx)("p",{children:(0,i.jsx)(r.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,i.jsx)("p",{children:(0,i.jsx)(r.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},74096:function(e,t,n){n.r(t),n.d(t,{default:()=>l});var i=n(85893);n(67294);var o=n(77827),r=n(57335),s=n(88408),a=n(46352);function l(){let e=(0,o.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.d,{title:e}),(0,i.jsx)(s.Z,{children:(0,i.jsx)(a.Z,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/19751689.00597c41.js b/assets/js/19751689.00597c41.js new file mode 100644 index 0000000000..e4ee7ffb82 --- /dev/null +++ b/assets/js/19751689.00597c41.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["64438"],{781:function(e,n,t){t.r(n),t.d(n,{assets:()=>h,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>a,toc:()=>g});var a=t(8719),o=t(85893),i=t(80980);let l={mdx:{format:"md"},date:"2021-03-16T20:00",authors:["armano2","Harvtronix","koko8829","leandrooriente","lex111","longlho","lowenhere","Pierre-Gilles","quanengineering","Rhodanthe1116","ShinteiMai","SimenB","slorber","zkochan"]},r="2.0.0-alpha.72",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},g=[];function s(e){return(0,o.jsx)(o.Fragment,{})}function u(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(s,{...e})}):s(e)}},80980:function(e,n,t){t.d(n,{Z:()=>r,a:()=>l});var a=t(67294);let o={},i=a.createContext(o);function l(e){let n=a.useContext(i);return a.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),a.createElement(i.Provider,{value:n},e.children)}},8719:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.72","source":"@site/changelog/source/2.0.0-alpha.72.md","title":"2.0.0-alpha.72","description":"Breaking Change","date":"2021-03-16T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"Harvtronix","alias":"Harvtronix","url":"https://github.com/Harvtronix","imageURL":"https://github.com/Harvtronix.png","key":"Harvtronix","page":null},{"name":"Joon-Ha Lee","alias":"koko8829","url":"https://github.com/koko8829","imageURL":"https://github.com/koko8829.png","key":"koko8829","page":null},{"name":"Leandro Oriente","alias":"leandrooriente","url":"https://github.com/leandrooriente","imageURL":"https://github.com/leandrooriente.png","key":"leandrooriente","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Long Ho","alias":"longlho","url":"https://github.com/longlho","imageURL":"https://github.com/longlho.png","key":"longlho","page":null},{"name":"Lowen","alias":"lowenhere","url":"https://github.com/lowenhere","imageURL":"https://github.com/lowenhere.png","key":"lowenhere","page":null},{"name":"Pierre-Gilles Leymarie","alias":"Pierre-Gilles","url":"https://github.com/Pierre-Gilles","imageURL":"https://github.com/Pierre-Gilles.png","key":"Pierre-Gilles","page":null},{"name":"Quan","alias":"quanengineering","url":"https://github.com/quanengineering","imageURL":"https://github.com/quanengineering.png","key":"quanengineering","page":null},{"name":"Rhodanthe1116","alias":"Rhodanthe1116","url":"https://github.com/Rhodanthe1116","imageURL":"https://github.com/Rhodanthe1116.png","key":"Rhodanthe1116","page":null},{"name":"Steven Hansel","alias":"ShinteiMai","url":"https://github.com/ShinteiMai","imageURL":"https://github.com/ShinteiMai.png","key":"ShinteiMai","page":null},{"name":"Simen Bekkhus","alias":"SimenB","url":"https://github.com/SimenB","imageURL":"https://github.com/SimenB.png","key":"SimenB","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Zoltan Kochan","alias":"zkochan","url":"https://github.com/zkochan","imageURL":"https://github.com/zkochan.png","key":"zkochan","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-03-16T20:00","authors":["armano2","Harvtronix","koko8829","leandrooriente","lex111","longlho","lowenhere","Pierre-Gilles","quanengineering","Rhodanthe1116","ShinteiMai","SimenB","slorber","zkochan"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.73","permalink":"/changelog/2.0.0-alpha.73"},"nextItem":{"title":"2.0.0-alpha.71","permalink":"/changelog/2.0.0-alpha.71"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/198b37c5.f231e1f6.js b/assets/js/198b37c5.f231e1f6.js new file mode 100644 index 0000000000..465d89a270 --- /dev/null +++ b/assets/js/198b37c5.f231e1f6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["74120"],{51316:function(a,e,i){i.r(e),i.d(e,{assets:()=>r,contentTitle:()=>o,default:()=>m,frontMatter:()=>s,metadata:()=>t,toc:()=>h});var t=i(18696),n=i(85893),l=i(80980);let s={mdx:{format:"md"},date:"2021-08-26T20:00",authors:["BattleOfPlassey","dbseal","deepakprabhakara","erickzhao","faloi","forresst","fouad","gulien","hamzahamidi","HaochenQ","incendial","isaac-philip","jansivans","johnnyreilly","JonnyBurger","Josh-Cena","lex111","massoudmaboudi","metmarkosaric","michalsanger","neaped","Pierre-Gilles","sjwall","slorber","sparanoid","wan-nyan-wan","zpao"]},o="2.0.0-beta.5",r={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},h=[];function u(a){return(0,n.jsx)(n.Fragment,{})}function m(a={}){let{wrapper:e}={...(0,l.a)(),...a.components};return e?(0,n.jsx)(e,{...a,children:(0,n.jsx)(u,{...a})}):u(a)}},80980:function(a,e,i){i.d(e,{Z:()=>o,a:()=>s});var t=i(67294);let n={},l=t.createContext(n);function s(a){let e=t.useContext(l);return t.useMemo(function(){return"function"==typeof a?a(e):{...e,...a}},[e,a])}function o(a){let e;return e=a.disableParentContext?"function"==typeof a.components?a.components(n):a.components||n:s(a.components),t.createElement(l.Provider,{value:e},a.children)}},18696:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.5","source":"@site/changelog/source/2.0.0-beta.5.md","title":"2.0.0-beta.5","description":"New Feature","date":"2021-08-26T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Palash Shrivastava","alias":"BattleOfPlassey","url":"https://github.com/BattleOfPlassey","imageURL":"https://github.com/BattleOfPlassey.png","key":"BattleOfPlassey","page":null},{"name":"David Seal","alias":"dbseal","url":"https://github.com/dbseal","imageURL":"https://github.com/dbseal.png","key":"dbseal","page":null},{"name":"Deepak Prabhakara","alias":"deepakprabhakara","url":"https://github.com/deepakprabhakara","imageURL":"https://github.com/deepakprabhakara.png","key":"deepakprabhakara","page":null},{"name":"Erick Zhao","alias":"erickzhao","url":"https://github.com/erickzhao","imageURL":"https://github.com/erickzhao.png","key":"erickzhao","page":null},{"name":"Federico Aloi","alias":"faloi","url":"https://github.com/faloi","imageURL":"https://github.com/faloi.png","key":"faloi","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Fouad Matin","alias":"fouad","url":"https://github.com/fouad","imageURL":"https://github.com/fouad.png","key":"fouad","page":null},{"name":"Julien Neuhart","alias":"gulien","url":"https://github.com/gulien","imageURL":"https://github.com/gulien.png","key":"gulien","page":null},{"name":"Hamza Hamidi","alias":"hamzahamidi","url":"https://github.com/hamzahamidi","imageURL":"https://github.com/hamzahamidi.png","key":"hamzahamidi","page":null},{"name":"HaochenQ","alias":"HaochenQ","url":"https://github.com/HaochenQ","imageURL":"https://github.com/HaochenQ.png","key":"HaochenQ","page":null},{"name":"Dmitry Zhifarsky","alias":"incendial","url":"https://github.com/incendial","imageURL":"https://github.com/incendial.png","key":"incendial","page":null},{"name":"Isaac Philip","alias":"isaac-philip","url":"https://github.com/isaac-philip","imageURL":"https://github.com/isaac-philip.png","key":"isaac-philip","page":null},{"name":"Yan Ivan Evdokimov","alias":"jansivans","url":"https://github.com/jansivans","imageURL":"https://github.com/jansivans.png","key":"jansivans","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Jonny Burger","alias":"JonnyBurger","url":"https://github.com/JonnyBurger","imageURL":"https://github.com/JonnyBurger.png","key":"JonnyBurger","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Marko Saric","alias":"metmarkosaric","url":"https://github.com/metmarkosaric","imageURL":"https://github.com/metmarkosaric.png","key":"metmarkosaric","page":null},{"name":"Michal S\xe4nger","alias":"michalsanger","url":"https://github.com/michalsanger","imageURL":"https://github.com/michalsanger.png","key":"michalsanger","page":null},{"name":"Garry","alias":"neaped","url":"https://github.com/neaped","imageURL":"https://github.com/neaped.png","key":"neaped","page":null},{"name":"Pierre-Gilles Leymarie","alias":"Pierre-Gilles","url":"https://github.com/Pierre-Gilles","imageURL":"https://github.com/Pierre-Gilles.png","key":"Pierre-Gilles","page":null},{"name":"Sam Wall","alias":"sjwall","url":"https://github.com/sjwall","imageURL":"https://github.com/sjwall.png","key":"sjwall","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tunghsiao Liu","alias":"sparanoid","url":"https://github.com/sparanoid","imageURL":"https://github.com/sparanoid.png","key":"sparanoid","page":null},{"name":"wan-nyan-wan","alias":"wan-nyan-wan","url":"https://github.com/wan-nyan-wan","imageURL":"https://github.com/wan-nyan-wan.png","key":"wan-nyan-wan","page":null},{"name":"Paul O\u2019Shannessy","alias":"zpao","url":"https://github.com/zpao","imageURL":"https://github.com/zpao.png","key":"zpao","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-08-26T20:00","authors":["BattleOfPlassey","dbseal","deepakprabhakara","erickzhao","faloi","forresst","fouad","gulien","hamzahamidi","HaochenQ","incendial","isaac-philip","jansivans","johnnyreilly","JonnyBurger","Josh-Cena","lex111","massoudmaboudi","metmarkosaric","michalsanger","neaped","Pierre-Gilles","sjwall","slorber","sparanoid","wan-nyan-wan","zpao"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.6","permalink":"/changelog/2.0.0-beta.6"},"nextItem":{"title":"2.0.0-beta.4","permalink":"/changelog/2.0.0-beta.4"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.95161873.js b/assets/js/1a4e3797.95161873.js new file mode 100644 index 0000000000..42799eb9ea --- /dev/null +++ b/assets/js/1a4e3797.95161873.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["85230"],{11660:function(e,a,l){l.d(a,{c:()=>o});var s=l(67294),t=l(8156);let r=["zero","one","two","few","many","other"];function n(e){return r.filter(a=>e.includes(a))}let c={locale:"en",pluralForms:n(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,t.Z)();return(0,s.useMemo)(()=>{try{return function(e){let a=new Intl.PluralRules(e);return{locale:e,pluralForms:n(a.resolvedOptions().pluralCategories),select:e=>a.select(e)}}(e)}catch(a){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${a.message} +`),c}},[e])}();return{selectMessage:(a,l)=>(function(e,a,l){let s=e.split("|");if(1===s.length)return s[0];s.length>l.pluralForms.length&&console.error(`For locale=${l.locale}, a maximum of ${l.pluralForms.length} plural forms are expected (${l.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);let t=l.select(a);return s[Math.min(l.pluralForms.indexOf(t),s.length-1)]})(l,a,e)}}},63210:function(e,a,l){l.r(a),l.d(a,{default:()=>V});var s=l(85893),t=l(67294),r=l(90496),n=l(24501),c=l.n(n),o=l(47357),u=l(46380),i=l(53327),h=l(35363),m=l(90158),d=l(11660),g=l(65348),p=l(50923),v=l(57335),f=l(79550),x=l(77827),j=l(8156),b=l(3218),y=l(19184),R=l(88408),I=l(57922);let P={searchQueryInput:"searchQueryInput_S_pS",searchVersionInput:"searchVersionInput_RZ74",searchResultsColumn:"searchResultsColumn_dGxU",algoliaLogo:"algoliaLogo_nq6Q",algoliaLogoPathFill:"algoliaLogoPathFill_IWVH",searchResultItem:"searchResultItem_jZK3",searchResultItemHeading:"searchResultItemHeading_Nbvf",searchResultItemPath:"searchResultItemPath_wcJo",searchResultItemSummary:"searchResultItemSummary_HbIg",searchQueryColumn:"searchQueryColumn_ourN",searchVersionColumn:"searchVersionColumn_n2Lb",searchLogoColumn:"searchLogoColumn_v5Xz",loadingSpinner:"loadingSpinner_Jw0H",loader:"loader_rYmk"};function _(e){let{docsSearchVersionsHelpers:a}=e,l=Object.entries(a.allDocsData).filter(e=>{let[,a]=e;return a.versions.length>1});return(0,s.jsx)("div",{className:(0,r.Z)("col","col--3","padding-left--none",P.searchVersionColumn),children:l.map(e=>{let[t,r]=e,n=l.length>1?`${t}: `:"";return(0,s.jsx)("select",{onChange:e=>a.setSearchVersion(t,e.target.value),defaultValue:a.searchVersions[t],className:P.searchVersionInput,children:r.versions.map((e,a)=>(0,s.jsx)("option",{label:`${n}${e.label}`,value:e.name},a))},t)})})}function S(){let{i18n:{currentLocale:e}}=(0,j.Z)(),{algolia:{appId:a,apiKey:l,indexName:n,contextualSearch:v}}=(0,b.L)(),S=(0,y.l)(),V=function(){let{selectMessage:e}=(0,d.c)();return a=>e(a,(0,x.I)({id:"theme.SearchPage.documentsFound.plurals",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One document found|{count} documents found"},{count:a}))}(),w=function(){let e=(0,m._r)(),[a,l]=(0,t.useState)(()=>Object.entries(e).reduce((e,a)=>{let[l,s]=a;return{...e,[l]:s.versions[0].name}},{})),s=Object.values(e).some(e=>e.versions.length>1);return{allDocsData:e,versioningEnabled:s,searchVersions:a,setSearchVersion:(e,a)=>l(l=>({...l,[e]:a}))}}(),[z,N]=(0,g.K)(),C={items:[],query:null,totalResults:null,totalPages:null,lastPage:null,hasMore:null,loading:null},[F,Z]=(0,t.useReducer)((e,a)=>{switch(a.type){case"reset":return C;case"loading":return{...e,loading:!0};case"update":if(z!==a.value.query)return e;return{...a.value,items:0===a.value.lastPage?a.value.items:e.items.concat(a.value.items)};case"advance":{let a=e.totalPages>e.lastPage+1;return{...e,lastPage:a?e.lastPage+1:e.lastPage,hasMore:a}}default:return e}},C),L=v?["language","docusaurus_tag"]:[],M=(0,o.C)(a,l),T=c()(M,n,{hitsPerPage:15,advancedSyntax:!0,disjunctiveFacets:L});T.on("result",e=>{let{results:{query:a,hits:l,page:s,nbHits:t,nbPages:r}}=e;if(""===a||!Array.isArray(l)){Z({type:"reset"});return}let n=e=>e.replace(/algolia-docsearch-suggestion--highlight/g,"search-result-match");Z({type:"update",value:{items:l.map(e=>{let{url:a,_highlightResult:{hierarchy:l},_snippetResult:s={}}=e,t=Object.keys(l).map(e=>n(l[e].value));return{title:t.pop(),url:S(a),summary:s.content?`${n(s.content.value)}...`:"",breadcrumbs:t}}),query:a,totalResults:t,totalPages:r,lastPage:s,hasMore:r>s+1,loading:!1}})});let[$,H]=(0,t.useState)(null),O=(0,t.useRef)(0),A=(0,t.useRef)(u.Z.canUseIntersectionObserver&&new IntersectionObserver(e=>{let{isIntersecting:a,boundingClientRect:{y:l}}=e[0];a&&O.current>l&&Z({type:"advance"}),O.current=l},{threshold:1})),E=()=>z?(0,x.I)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:z}):(0,x.I)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"}),q=(0,p.zX)(function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;v&&(T.addDisjunctiveFacetRefinement("docusaurus_tag","default"),T.addDisjunctiveFacetRefinement("language",e),Object.entries(w.searchVersions).forEach(e=>{let[a,l]=e;T.addDisjunctiveFacetRefinement("docusaurus_tag",`docs-${a}-${l}`)})),T.setQuery(z).setPage(a).search()});return(0,t.useEffect)(()=>{if(!$)return;let e=A.current;return e?(e.observe($),()=>e.unobserve($)):()=>!0},[$]),(0,t.useEffect)(()=>{Z({type:"reset"}),z&&(Z({type:"loading"}),setTimeout(()=>{q()},300))},[z,w.searchVersions,q]),(0,t.useEffect)(()=>{F.lastPage&&0!==F.lastPage&&q(F.lastPage)},[q,F.lastPage]),(0,s.jsxs)(R.Z,{children:[(0,s.jsxs)(i.Z,{children:[(0,s.jsx)("title",{children:(0,f.p)(E())}),(0,s.jsx)("meta",{property:"robots",content:"noindex, follow"})]}),(0,s.jsxs)("div",{className:"container margin-vert--lg",children:[(0,s.jsx)(I.Z,{as:"h1",children:E()}),(0,s.jsxs)("form",{className:"row",onSubmit:e=>e.preventDefault(),children:[(0,s.jsx)("div",{className:(0,r.Z)("col",P.searchQueryColumn,{"col--9":w.versioningEnabled,"col--12":!w.versioningEnabled}),children:(0,s.jsx)("input",{type:"search",name:"q",className:P.searchQueryInput,placeholder:(0,x.I)({id:"theme.SearchPage.inputPlaceholder",message:"Type your search here",description:"The placeholder for search page input"}),"aria-label":(0,x.I)({id:"theme.SearchPage.inputLabel",message:"Search",description:"The ARIA label for search page input"}),onChange:e=>N(e.target.value),value:z,autoComplete:"off",autoFocus:!0})}),v&&w.versioningEnabled&&(0,s.jsx)(_,{docsSearchVersionsHelpers:w})]}),(0,s.jsxs)("div",{className:"row",children:[(0,s.jsx)("div",{className:(0,r.Z)("col","col--8",P.searchResultsColumn),children:!!F.totalResults&&V(F.totalResults)}),(0,s.jsx)("div",{className:(0,r.Z)("col","col--4","text--right",P.searchLogoColumn),children:(0,s.jsx)(h.Z,{to:"https://www.algolia.com/","aria-label":(0,x.I)({id:"theme.SearchPage.algoliaLabel",message:"Search by Algolia",description:"The ARIA label for Algolia mention"}),children:(0,s.jsx)("svg",{viewBox:"0 0 168 24",className:P.algoliaLogo,children:(0,s.jsxs)("g",{fill:"none",children:[(0,s.jsx)("path",{className:P.algoliaLogoPathFill,d:"M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"}),(0,s.jsx)("path",{fill:"#5468FF",d:"M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"}),(0,s.jsx)("path",{fill:"white",d:"M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"})]})})})})]}),F.items.length>0?(0,s.jsx)("main",{children:F.items.map((e,a)=>{let{title:l,url:t,summary:n,breadcrumbs:c}=e;return(0,s.jsxs)("article",{className:P.searchResultItem,children:[(0,s.jsx)(I.Z,{as:"h2",className:P.searchResultItemHeading,children:(0,s.jsx)(h.Z,{to:t,dangerouslySetInnerHTML:{__html:l}})}),c.length>0&&(0,s.jsx)("nav",{"aria-label":"breadcrumbs",children:(0,s.jsx)("ul",{className:(0,r.Z)("breadcrumbs",P.searchResultItemPath),children:c.map((e,a)=>(0,s.jsx)("li",{className:"breadcrumbs__item",dangerouslySetInnerHTML:{__html:e}},a))})}),n&&(0,s.jsx)("p",{className:P.searchResultItemSummary,dangerouslySetInnerHTML:{__html:n}})]},a)})}):[z&&!F.loading&&(0,s.jsx)("p",{children:(0,s.jsx)(x.Z,{id:"theme.SearchPage.noResultsText",description:"The paragraph for empty search result",children:"No results were found"})},"no-results"),!!F.loading&&(0,s.jsx)("div",{className:P.loadingSpinner},"spinner")],F.hasMore&&(0,s.jsx)("div",{className:P.loader,ref:H,children:(0,s.jsx)(x.Z,{id:"theme.SearchPage.fetchingNewResults",description:"The paragraph for fetching new search results",children:"Fetching new results..."})})]})]})}function V(){return(0,s.jsx)(v.FG,{className:"search-page-wrapper",children:(0,s.jsx)(S,{})})}}}]); \ No newline at end of file diff --git a/assets/js/1a839d3d.4ec5e641.js b/assets/js/1a839d3d.4ec5e641.js new file mode 100644 index 0000000000..2a5a4fcf80 --- /dev/null +++ b/assets/js/1a839d3d.4ec5e641.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["56239"],{44837:function(e,t,o){o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>p});var a=o(15693),n=o(85893),s=o(80980);let r={mdx:{format:"md"},date:"2022-05-05T20:00",authors:["Josh-Cena","lex111","pepopowitz","RDIL","sgromkov","slorber"]},i="2.0.0-beta.20",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0]},p=[];function u(e){return(0,n.jsx)(n.Fragment,{})}function m(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},80980:function(e,t,o){o.d(t,{Z:()=>i,a:()=>r});var a=o(67294);let n={},s=a.createContext(n);function r(e){let t=a.useContext(s);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),a.createElement(s.Provider,{value:t},e.children)}},15693:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.20","source":"@site/changelog/source/2.0.0-beta.20.md","title":"2.0.0-beta.20","description":"Bug Fix","date":"2022-05-05T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Steven Hicks","alias":"pepopowitz","url":"https://github.com/pepopowitz","imageURL":"https://github.com/pepopowitz.png","key":"pepopowitz","page":null},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},{"name":"Sergey Gromkov","alias":"sgromkov","url":"https://github.com/sgromkov","imageURL":"https://github.com/sgromkov.png","key":"sgromkov","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-05-05T20:00","authors":["Josh-Cena","lex111","pepopowitz","RDIL","sgromkov","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.21","permalink":"/changelog/2.0.0-beta.21"},"nextItem":{"title":"2.0.0-beta.19","permalink":"/changelog/2.0.0-beta.19"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/1b641e9e.8b7913d1.js b/assets/js/1b641e9e.8b7913d1.js new file mode 100644 index 0000000000..304013f171 --- /dev/null +++ b/assets/js/1b641e9e.8b7913d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["31186"],{84923:function(e,a,t){t.r(a),t.d(a,{assets:()=>u,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>s});var l=t(43587),n=t(85893),i=t(80980);let r={mdx:{format:"md"},date:"2021-04-27T20:00",authors:["alena-ko","arnaudjnn","JeremyDolle","johnnyreilly","kazk","lex111","lisa761","luism3861","MisterFISHUP","react-learner","SamChou19815","slorber"]},o="2.0.0-alpha.74",u={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},s=[];function m(e){return(0,n.jsx)(n.Fragment,{})}function h(e={}){let{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},80980:function(e,a,t){t.d(a,{Z:()=>o,a:()=>r});var l=t(67294);let n={},i=l.createContext(n);function r(e){let a=l.useContext(i);return l.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),l.createElement(i.Provider,{value:a},e.children)}},43587:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.74","source":"@site/changelog/source/2.0.0-alpha.74.md","title":"2.0.0-alpha.74","description":"New Feature","date":"2021-04-27T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"alena-ko","alias":"alena-ko","url":"https://github.com/alena-ko","imageURL":"https://github.com/alena-ko.png","key":"alena-ko","page":null},{"name":"Arnaud Jeannin","alias":"arnaudjnn","url":"https://github.com/arnaudjnn","imageURL":"https://github.com/arnaudjnn.png","key":"arnaudjnn","page":null},{"name":"DOLLE","alias":"JeremyDolle","url":"https://github.com/JeremyDolle","imageURL":"https://github.com/JeremyDolle.png","key":"JeremyDolle","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"kazk","alias":"kazk","url":"https://github.com/kazk","imageURL":"https://github.com/kazk.png","key":"kazk","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lisa Chandra","alias":"lisa761","url":"https://github.com/lisa761","imageURL":"https://github.com/lisa761.png","key":"lisa761","page":null},{"name":"Luis Medina Huerta","alias":"luism3861","url":"https://github.com/luism3861","imageURL":"https://github.com/luism3861.png","key":"luism3861","page":null},{"name":"MisterFISHUP","alias":"MisterFISHUP","url":"https://github.com/MisterFISHUP","imageURL":"https://github.com/MisterFISHUP.png","key":"MisterFISHUP","page":null},{"name":"Tommy","alias":"react-learner","url":"https://github.com/react-learner","imageURL":"https://github.com/react-learner.png","key":"react-learner","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-04-27T20:00","authors":["alena-ko","arnaudjnn","JeremyDolle","johnnyreilly","kazk","lex111","lisa761","luism3861","MisterFISHUP","react-learner","SamChou19815","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.75","permalink":"/changelog/2.0.0-alpha.75"},"nextItem":{"title":"2.0.0-alpha.73","permalink":"/changelog/2.0.0-alpha.73"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/1c570b1c.05e63c20.js b/assets/js/1c570b1c.05e63c20.js new file mode 100644 index 0000000000..c2c7e95b6d --- /dev/null +++ b/assets/js/1c570b1c.05e63c20.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["96539"],{16621:function(e,t,r){r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>n,toc:()=>c});var n=r(98783),s=r(85893),o=r(80980);let l={mdx:{format:"md"},date:"2024-11-22T20:00",authors:["slorber"]},i="3.6.3",a={authorsImageUrls:[void 0]},c=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"Committers: 1",id:"committers-1",level:2}];function u(e){let t={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"docusaurus"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/10712",children:"#10712"})," fix(core): disable Rspack incremental in dev (",(0,s.jsx)(t.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"committers-1",children:"Committers: 1"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["S\xe9bastien Lorber (",(0,s.jsx)(t.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]})]})}function h(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},80980:function(e,t,r){r.d(t,{Z:()=>i,a:()=>l});var n=r(67294);let s={},o=n.createContext(s);function l(e){let t=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(o.Provider,{value:t},e.children)}},98783:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.6.3","source":"@site/changelog/source/3.6.3.md","title":"3.6.3","description":"Bug Fix","date":"2024-11-22T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-11-22T20:00","authors":["slorber"]},"unlisted":false,"prevItem":{"title":"3.7.0","permalink":"/changelog/3.7.0"},"nextItem":{"title":"3.6.2","permalink":"/changelog/3.6.2"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/1d1d5c80.38493d7a.js b/assets/js/1d1d5c80.38493d7a.js new file mode 100644 index 0000000000..bdb3f977d2 --- /dev/null +++ b/assets/js/1d1d5c80.38493d7a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["31521"],{2795:function(e,t,a){a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>s,metadata:()=>n,toc:()=>u});var n=a(770),o=a(85893),r=a(80980);let s={mdx:{format:"md"},date:"2020-07-29T20:00",authors:["hobadams","Simek","slorber","teikjun"]},i="2.0.0-alpha.60",l={authorsImageUrls:[void 0,void 0,void 0,void 0]},u=[];function m(e){return(0,o.jsx)(o.Fragment,{})}function h(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},80980:function(e,t,a){a.d(t,{Z:()=>i,a:()=>s});var n=a(67294);let o={},r=n.createContext(o);function s(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(r.Provider,{value:t},e.children)}},770:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.60","source":"@site/changelog/source/2.0.0-alpha.60.md","title":"2.0.0-alpha.60","description":"New Feature","date":"2020-07-29T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Hob Adams","alias":"hobadams","url":"https://github.com/hobadams","imageURL":"https://github.com/hobadams.png","key":"hobadams","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-07-29T20:00","authors":["hobadams","Simek","slorber","teikjun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.61","permalink":"/changelog/2.0.0-alpha.61"},"nextItem":{"title":"2.0.0-alpha.59","permalink":"/changelog/2.0.0-alpha.59"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/1d8d7b8d.3a4497e6.js b/assets/js/1d8d7b8d.3a4497e6.js new file mode 100644 index 0000000000..70277fe9a4 --- /dev/null +++ b/assets/js/1d8d7b8d.3a4497e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["61597"],{46877:function(e,r,n){n.d(r,{Z:()=>s});let s=n.p+"assets/images/docsearch-troubleshoot-index-facets-4c0d9816a72c457e3e8352bc0fceccb6.jpg"},49379:function(e,r,n){n.r(r),n.d(r,{frontMatter:()=>l,default:()=>g,contentTitle:()=>t,assets:()=>h,toc:()=>d,metadata:()=>s});var s=JSON.parse('{"id":"search","title":"Search","description":"There are a few options you can use to add search to your website:","source":"@site/docs/search.mdx","sourceDirName":".","slug":"/search","permalink":"/docs/search","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/search.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"keywords":["algolia","search"]},"sidebar":"docs","previous":{"title":"Static Assets","permalink":"/docs/static-assets"},"next":{"title":"Browser support","permalink":"/docs/browser-support"}}'),a=n(85893),o=n(80980),i=n(15398),c=n(58636);let l={keywords:["algolia","search"]},t="Search",h={},d=[{value:"\uD83E\uDD47 Using Algolia DocSearch",id:"using-algolia-docsearch",level:2},{value:"Index Configuration",id:"algolia-index-configuration",level:3},{value:"Connecting Algolia",id:"connecting-algolia",level:3},{value:"Contextual search",id:"contextual-search",level:3},{value:"Styling your Algolia search",id:"styling-your-algolia-search",level:3},{value:"Customizing the Algolia search behavior",id:"customizing-the-algolia-search-behavior",level:3},{value:"Editing the Algolia search component",id:"editing-the-algolia-search-component",level:3},{value:"Troubleshooting",id:"algolia-troubleshooting",level:3},{value:"No Search Results",id:"algolia-no-search-results",level:4},{value:"Support",id:"algolia-support",level:3},{value:"\uD83D\uDC65 Using Typesense DocSearch",id:"using-typesense-docsearch",level:2},{value:"\uD83D\uDC65 Using Local Search",id:"using-local-search",level:2},{value:"\uD83D\uDC65 Using your own search",id:"using-your-own-search",level:2}];function u(e){let r={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components},{Details:s}=r;return s||function(e,r){throw Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.header,{children:(0,a.jsx)(r.h1,{id:"search",children:"Search"})}),"\n",(0,a.jsx)(r.p,{children:"There are a few options you can use to add search to your website:"}),"\n",(0,a.jsxs)(r.ul,{children:["\n",(0,a.jsxs)(r.li,{children:["\uD83E\uDD47 ",(0,a.jsx)(r.a,{href:"#using-algolia-docsearch",children:"Algolia DocSearch"})," (",(0,a.jsx)(r.strong,{children:"official"}),")"]}),"\n",(0,a.jsxs)(r.li,{children:["\uD83D\uDC65 ",(0,a.jsx)(r.a,{href:"#using-typesense-docsearch",children:"Typesense DocSearch"})]}),"\n",(0,a.jsxs)(r.li,{children:["\uD83D\uDC65 ",(0,a.jsx)(r.a,{href:"#using-local-search",children:"Local Search"})]}),"\n",(0,a.jsxs)(r.li,{children:["\uD83D\uDC65 ",(0,a.jsxs)(r.a,{href:"#using-your-own-search",children:["Your own ",(0,a.jsx)(r.code,{children:"SearchBar"})," component"]})]}),"\n"]}),"\n",(0,a.jsxs)(r.admonition,{type:"info",children:[(0,a.jsxs)(r.p,{children:["\uD83E\uDD47 Docusaurus provides ",(0,a.jsx)(r.strong,{children:"first-class support"})," for ",(0,a.jsx)(r.a,{href:"#using-algolia-docsearch",children:"Algolia DocSearch"}),"."]}),(0,a.jsxs)(r.p,{children:["\uD83D\uDC65 Other options are ",(0,a.jsx)(r.strong,{children:"maintained by the community"}),": please report bugs to their respective repositories."]})]}),"\n",(0,a.jsx)(r.h2,{id:"using-algolia-docsearch",children:"\uD83E\uDD47 Using Algolia DocSearch"}),"\n",(0,a.jsxs)(r.p,{children:["Docusaurus has ",(0,a.jsx)(r.strong,{children:"official support"})," for ",(0,a.jsx)(r.a,{href:"https://docsearch.algolia.com",children:"Algolia DocSearch"}),"."]}),"\n",(0,a.jsxs)(r.p,{children:["The service is ",(0,a.jsx)(r.strong,{children:"free"})," for any developer documentation or technical blog: just make sure to read the ",(0,a.jsx)(r.a,{href:"https://docsearch.algolia.com/docs/who-can-apply/",children:"checklist"})," and ",(0,a.jsx)(r.a,{href:"https://docsearch.algolia.com/apply",children:"apply to the DocSearch program"}),"."]}),"\n",(0,a.jsx)(r.p,{children:"DocSearch crawls your website once a week (the schedule is configurable from the web interface) and aggregates all the content in an Algolia index. This content is then queried directly from your front-end using the Algolia API."}),"\n",(0,a.jsxs)(r.p,{children:["If your website is ",(0,a.jsx)(r.a,{href:"https://docsearch.algolia.com/docs/who-can-apply",children:"not eligible"})," for the free, hosted version of DocSearch, or if your website sits behind a firewall and is not public, then you can ",(0,a.jsx)(r.a,{href:"https://docsearch.algolia.com/docs/run-your-own/",children:"run your own"})," DocSearch crawler."]}),"\n",(0,a.jsx)(r.admonition,{type:"note",children:(0,a.jsxs)(r.p,{children:["By default, the Docusaurus preset generates a ",(0,a.jsx)(r.a,{href:"https://docusaurus.io/sitemap.xml",children:"sitemap.xml"})," that the Algolia crawler can use."]})}),"\n",(0,a.jsx)(r.admonition,{title:"From the old docsearch?",type:"info",children:(0,a.jsxs)(r.p,{children:["You can read more about migration from the legacy DocSearch infra in ",(0,a.jsx)(r.a,{href:"/blog/2021/11/21/algolia-docsearch-migration",children:"our blog post"})," or ",(0,a.jsx)(r.a,{href:"https://docsearch.algolia.com/docs/migrating-from-legacy",children:"the DocSearch migration docs"}),"."]})}),"\n",(0,a.jsx)(r.h3,{id:"algolia-index-configuration",children:"Index Configuration"}),"\n",(0,a.jsxs)(r.p,{children:["After your application has been approved and deployed, you will receive an email with all the details for you to add DocSearch to your project. Editing and managing your crawls can be done via ",(0,a.jsx)(r.a,{href:"https://crawler.algolia.com/",children:"the web interface"}),". Indices are readily available after deployment, so manual configuration usually isn't necessary."]}),"\n",(0,a.jsx)(r.admonition,{title:"Use the recommended crawler config",type:"danger",children:(0,a.jsxs)(r.p,{children:["It is highly recommended to use our official ",(0,a.jsx)(r.a,{href:"https://docsearch.algolia.com/docs/templates/#docusaurus-v3-template",children:(0,a.jsx)(r.strong,{children:"Docusaurus v3 crawler configuration"})}),". We cannot support you if you choose a different crawler configuration."]})}),"\n",(0,a.jsxs)(r.admonition,{title:"When updating your crawler config",type:"warning",children:[(0,a.jsxs)(r.p,{children:["The crawler configuration contains a ",(0,a.jsx)(r.code,{children:"initialIndexSettings"}),", which will only be used to initialize your Algolia index if it does not exist yet."]}),(0,a.jsxs)(r.p,{children:["If you update your ",(0,a.jsx)(r.code,{children:"initialIndexSettings"})," crawler setting, it is possible to update the index manually through the interface, but ",(0,a.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/issues/9200#issuecomment-1667338492",children:"the Algolia team recommends to delete your index and then restart a crawl"})," to fully reinitialize it with the new settings."]})]}),"\n",(0,a.jsx)(r.h3,{id:"connecting-algolia",children:"Connecting Algolia"}),"\n",(0,a.jsxs)(r.p,{children:["Docusaurus' own ",(0,a.jsx)(r.code,{children:"@docusaurus/preset-classic"})," supports Algolia DocSearch integration. If you use the classic preset, no additional installation is needed."]}),"\n",(0,a.jsxs)(s,{children:[(0,a.jsxs)("summary",{children:["Installation steps when not using ",(0,a.jsx)("code",{children:"@docusaurus/preset-classic"})]}),(0,a.jsxs)(r.ol,{children:["\n",(0,a.jsx)(r.li,{children:"Install the package:"}),"\n"]}),(0,a.jsxs)(i.Z,{groupId:"npm2yarn",children:[(0,a.jsx)(c.Z,{value:"npm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"npm install --save @docusaurus/theme-search-algolia\n"})})}),(0,a.jsx)(c.Z,{value:"yarn",label:"Yarn",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"yarn add @docusaurus/theme-search-algolia\n"})})}),(0,a.jsx)(c.Z,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"pnpm add @docusaurus/theme-search-algolia\n"})})})]}),(0,a.jsxs)(r.ol,{start:"2",children:["\n",(0,a.jsxs)(r.li,{children:["Register the theme in ",(0,a.jsx)(r.code,{children:"docusaurus.config.js"}),":"]}),"\n"]}),(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n title: 'My site',\n // ...\n themes: ['@docusaurus/theme-search-algolia'],\n themeConfig: {\n // ...\n },\n};\n"})})]}),"\n",(0,a.jsxs)(r.p,{children:["Then, add an ",(0,a.jsx)(r.code,{children:"algolia"})," field in your ",(0,a.jsx)(r.code,{children:"themeConfig"}),". ",(0,a.jsx)(r.strong,{children:(0,a.jsx)(r.a,{href:"https://docsearch.algolia.com/apply/",children:"Apply for DocSearch"})})," to get your Algolia index and API key."]}),"\n",(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n themeConfig: {\n // ...\n // highlight-start\n algolia: {\n // The application ID provided by Algolia\n appId: 'YOUR_APP_ID',\n\n // Public API key: it is safe to commit it\n apiKey: 'YOUR_SEARCH_API_KEY',\n\n indexName: 'YOUR_INDEX_NAME',\n\n // Optional: see doc section below\n contextualSearch: true,\n\n // Optional: Specify domains where the navigation should occur through window.location instead on history.push. Useful when our Algolia config crawls multiple documentation sites and we want to navigate with window.location.href to them.\n externalUrlRegex: 'external\\\\.com|domain\\\\.com',\n\n // Optional: Replace parts of the item URLs from Algolia. Useful when using the same search index for multiple deployments using a different baseUrl. You can use regexp or string in the `from` param. For example: localhost:3000 vs myCompany.com/docs\n replaceSearchResultPathname: {\n from: '/docs/', // or as RegExp: /\\/docs\\//\n to: '/',\n },\n\n // Optional: Algolia search parameters\n searchParameters: {},\n\n // Optional: path for search page that enabled by default (`false` to disable it)\n searchPagePath: 'search',\n\n // Optional: whether the insights feature is enabled or not on Docsearch (`false` by default)\n insights: false,\n\n //... other Algolia params\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,a.jsxs)(r.admonition,{type:"info",children:[(0,a.jsxs)(r.p,{children:["The ",(0,a.jsx)(r.code,{children:"searchParameters"})," option used to be named ",(0,a.jsx)(r.code,{children:"algoliaOptions"})," in Docusaurus v1."]}),(0,a.jsxs)(r.p,{children:["Refer to its ",(0,a.jsx)(r.a,{href:"https://docsearch.algolia.com/docs/api#searchparameters",children:"official DocSearch documentation"})," for possible values."]})]}),"\n",(0,a.jsxs)(r.admonition,{type:"warning",children:[(0,a.jsx)(r.p,{children:"The search feature will not work reliably until Algolia crawls your site."}),(0,a.jsxs)(r.p,{children:["If search doesn't work after any significant change, please use the Algolia dashboard to ",(0,a.jsx)(r.strong,{children:"trigger a new crawl"}),"."]})]}),"\n",(0,a.jsx)(r.h3,{id:"contextual-search",children:"Contextual search"}),"\n",(0,a.jsxs)(r.p,{children:["Contextual search is ",(0,a.jsx)(r.strong,{children:"enabled by default"}),"."]}),"\n",(0,a.jsxs)(r.p,{children:["It ensures that search results are ",(0,a.jsx)(r.strong,{children:"relevant to the current language and version"}),"."]}),"\n",(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n themeConfig: {\n // ...\n // highlight-start\n algolia: {\n contextualSearch: true,\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,a.jsxs)(r.p,{children:["Let's consider you have 2 docs versions (",(0,a.jsx)(r.strong,{children:"v1"})," and ",(0,a.jsx)(r.strong,{children:"v2"}),") and 2 languages (",(0,a.jsx)(r.code,{children:"en"})," and ",(0,a.jsx)(r.code,{children:"fr"}),")."]}),"\n",(0,a.jsx)(r.p,{children:"When browsing v2 docs, it would be odd to return search results for the v1 documentation. Sometimes v1 and v2 docs are quite similar, and you would end up with duplicate search results for the same query (one result per version)."}),"\n",(0,a.jsx)(r.p,{children:"Similarly, when browsing the French site, it would be odd to return search results for the English docs."}),"\n",(0,a.jsx)(r.p,{children:"To solve this problem, the contextual search feature understands that you are browsing a specific docs version and language, and will create the search query filters dynamically."}),"\n",(0,a.jsxs)(r.ul,{children:["\n",(0,a.jsxs)(r.li,{children:["on ",(0,a.jsx)(r.code,{children:"/en/docs/v1/myDoc"}),", search results will only include ",(0,a.jsx)(r.strong,{children:"English"})," results for the ",(0,a.jsx)(r.strong,{children:"v1"})," docs (+ other unversioned pages)"]}),"\n",(0,a.jsxs)(r.li,{children:["on ",(0,a.jsx)(r.code,{children:"/fr/docs/v2/myDoc"}),", search results will only include ",(0,a.jsx)(r.strong,{children:"French"})," results for the ",(0,a.jsx)(r.strong,{children:"v2"})," docs (+ other unversioned pages)"]}),"\n"]}),"\n",(0,a.jsxs)(r.admonition,{type:"info",children:[(0,a.jsxs)(r.p,{children:["When using ",(0,a.jsx)(r.code,{children:"contextualSearch: true"})," (default), the contextual facet filters will be merged with the ones provided with ",(0,a.jsx)(r.code,{children:"algolia.searchParameters.facetFilters"})," ."]}),(0,a.jsxs)(r.p,{children:["For specific needs, you can disable ",(0,a.jsx)(r.code,{children:"contextualSearch"})," and define your own ",(0,a.jsx)(r.code,{children:"facetFilters"}),":"]}),(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n themeConfig: {\n // ...\n // highlight-start\n algolia: {\n contextualSearch: false,\n searchParameters: {\n facetFilters: ['language:en', ['filter1', 'filter2'], 'filter3'],\n },\n },\n // highlight-end\n },\n};\n"})}),(0,a.jsxs)(r.p,{children:["Refer to the relevant ",(0,a.jsx)(r.a,{href:"https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/",children:"Algolia faceting documentation"}),"."]})]}),"\n",(0,a.jsx)(r.admonition,{title:"Contextual search doesn't work?",type:"warning",children:(0,a.jsxs)(r.p,{children:["If you only get search results when Contextual Search is disabled, this is very likely because of an ",(0,a.jsx)(r.a,{href:"#algolia-no-search-results",children:"index configuration issue"}),"."]})}),"\n",(0,a.jsx)(r.h3,{id:"styling-your-algolia-search",children:"Styling your Algolia search"}),"\n",(0,a.jsx)(r.p,{children:"By default, DocSearch comes with a fine-tuned theme that was designed for accessibility, making sure that colors and contrasts respect standards."}),"\n",(0,a.jsxs)(r.p,{children:["Still, you can reuse the ",(0,a.jsx)(r.a,{href:"/docs/styling-layout#styling-your-site-with-infima",children:"Infima CSS variables"})," from Docusaurus to style DocSearch by editing the ",(0,a.jsx)(r.code,{children:"/src/css/custom.css"})," file."]}),"\n",(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-css",metastring:'title="/src/css/custom.css"',children:"[data-theme='light'] .DocSearch {\n /* --docsearch-primary-color: var(--ifm-color-primary); */\n /* --docsearch-text-color: var(--ifm-font-color-base); */\n --docsearch-muted-color: var(--ifm-color-secondary-darkest);\n --docsearch-container-background: rgba(94, 100, 112, 0.7);\n /* Modal */\n --docsearch-modal-background: var(--ifm-color-secondary-lighter);\n /* Search box */\n --docsearch-searchbox-background: var(--ifm-color-secondary);\n --docsearch-searchbox-focus-background: var(--ifm-color-white);\n /* Hit */\n --docsearch-hit-color: var(--ifm-font-color-base);\n --docsearch-hit-active-color: var(--ifm-color-white);\n --docsearch-hit-background: var(--ifm-color-white);\n /* Footer */\n --docsearch-footer-background: var(--ifm-color-white);\n}\n\n[data-theme='dark'] .DocSearch {\n --docsearch-text-color: var(--ifm-font-color-base);\n --docsearch-muted-color: var(--ifm-color-secondary-darkest);\n --docsearch-container-background: rgba(47, 55, 69, 0.7);\n /* Modal */\n --docsearch-modal-background: var(--ifm-background-color);\n /* Search box */\n --docsearch-searchbox-background: var(--ifm-background-color);\n --docsearch-searchbox-focus-background: var(--ifm-color-black);\n /* Hit */\n --docsearch-hit-color: var(--ifm-font-color-base);\n --docsearch-hit-active-color: var(--ifm-color-white);\n --docsearch-hit-background: var(--ifm-color-emphasis-100);\n /* Footer */\n --docsearch-footer-background: var(--ifm-background-surface-color);\n --docsearch-key-gradient: linear-gradient(\n -26.5deg,\n var(--ifm-color-emphasis-200) 0%,\n var(--ifm-color-emphasis-100) 100%\n );\n}\n"})}),"\n",(0,a.jsx)(r.h3,{id:"customizing-the-algolia-search-behavior",children:"Customizing the Algolia search behavior"}),"\n",(0,a.jsxs)(r.p,{children:["Algolia DocSearch supports a ",(0,a.jsx)(r.a,{href:"https://docsearch.algolia.com/docs/api/",children:"list of options"})," that you can pass to the ",(0,a.jsx)(r.code,{children:"algolia"})," field in the ",(0,a.jsx)(r.code,{children:"docusaurus.config.js"})," file."]}),"\n",(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n // ...\n algolia: {\n apiKey: 'YOUR_API_KEY',\n indexName: 'YOUR_INDEX_NAME',\n // Options...\n },\n },\n};\n"})}),"\n",(0,a.jsx)(r.h3,{id:"editing-the-algolia-search-component",children:"Editing the Algolia search component"}),"\n",(0,a.jsxs)(r.p,{children:["If you prefer to edit the Algolia search React component, ",(0,a.jsx)(r.a,{href:"/docs/swizzling",children:"swizzle"})," the ",(0,a.jsx)(r.code,{children:"SearchBar"})," component in ",(0,a.jsx)(r.code,{children:"@docusaurus/theme-search-algolia"}),":"]}),"\n",(0,a.jsxs)(i.Z,{groupId:"npm2yarn",children:[(0,a.jsx)(c.Z,{value:"npm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"npm run swizzle @docusaurus/theme-search-algolia SearchBar\n"})})}),(0,a.jsx)(c.Z,{value:"yarn",label:"Yarn",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"yarn swizzle @docusaurus/theme-search-algolia SearchBar\n"})})}),(0,a.jsx)(c.Z,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"pnpm run swizzle @docusaurus/theme-search-algolia SearchBar\n"})})})]}),"\n",(0,a.jsx)(r.h3,{id:"algolia-troubleshooting",children:"Troubleshooting"}),"\n",(0,a.jsx)(r.p,{children:"Here are the most common issues Docusaurus users face when using Algolia DocSearch."}),"\n",(0,a.jsx)(r.h4,{id:"algolia-no-search-results",children:"No Search Results"}),"\n",(0,a.jsxs)(r.p,{children:["Seeing no search results is usually related to an ",(0,a.jsx)(r.strong,{children:"index configuration problem"}),"."]}),"\n",(0,a.jsxs)(s,{children:[(0,a.jsx)("summary",{children:"How to check if I have a config problem?"}),(0,a.jsxs)(r.p,{children:["Docusaurus uses ",(0,a.jsx)(r.a,{href:"https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/",children:"Algolia faceting"})," for its ",(0,a.jsx)(r.a,{href:"#contextual-search",children:"Contextual Search"})," feature, to create dynamic queries such as:"]}),(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-json",children:'[\n "language:en",\n [\n "docusaurus_tag:default",\n "docusaurus_tag:docs-default-3.2.1",\n "docusaurus_tag:docs-community-current",\n "docusaurus_tag:docs-docs-tests-current"\n ]\n]\n'})}),(0,a.jsxs)(r.p,{children:["On the Algolia UI, your index should allow to create facet queries on fields ",(0,a.jsx)(r.code,{children:"docusaurus_tag"}),", ",(0,a.jsx)(r.code,{children:"language"}),", ",(0,a.jsx)(r.code,{children:"lang"}),", ",(0,a.jsx)(r.code,{children:"version"}),", ",(0,a.jsx)(r.code,{children:"type"}),", as shown in the screenshot below:"]}),(0,a.jsx)(r.p,{children:(0,a.jsx)(r.img,{alt:"Algolia index showing appropriate faceting fields",src:n(46877).Z+"",width:"1072",height:"1761"})}),(0,a.jsxs)(r.p,{children:["Alternatively, if you disable ",(0,a.jsx)(r.a,{href:"#contextual-search",children:"Contextual Search"})," with ",(0,a.jsx)(r.code,{children:"{contextualSearch: false}"})," (which we don't particularly recommend), Docusaurus will not use facet queries, and you should start seeing results."]})]}),"\n",(0,a.jsx)(r.admonition,{title:"Use the recommended configuration",type:"danger",children:(0,a.jsxs)(r.p,{children:["We ",(0,a.jsx)(r.a,{href:"#algolia-index-configuration",children:"recommend a specific crawler configuration"})," for a good reason. We cannot support you if you choose to use a different configuration."]})}),"\n",(0,a.jsx)(r.p,{children:"You can fix index configuration problems by following those steps:"}),"\n",(0,a.jsxs)(r.ol,{children:["\n",(0,a.jsxs)(r.li,{children:["Use the ",(0,a.jsx)(r.a,{href:"#algolia-index-configuration",children:"recommend crawler configuration"})]}),"\n",(0,a.jsx)(r.li,{children:"Delete your index through the UI"}),"\n",(0,a.jsx)(r.li,{children:"Trigger a new crawl through the UI"}),"\n",(0,a.jsxs)(r.li,{children:["Check your index is recreated with the appropriate faceting fields: ",(0,a.jsx)(r.code,{children:"docusaurus_tag"}),", ",(0,a.jsx)(r.code,{children:"language"}),", ",(0,a.jsx)(r.code,{children:"lang"}),", ",(0,a.jsx)(r.code,{children:"version"}),", ",(0,a.jsx)(r.code,{children:"type"})]}),"\n",(0,a.jsxs)(r.li,{children:["See that you now get search results, even with ",(0,a.jsx)(r.a,{href:"#contextual-search",children:"Contextual Search"})," enabled"]}),"\n"]}),"\n",(0,a.jsx)(r.h3,{id:"algolia-support",children:"Support"}),"\n",(0,a.jsx)(r.p,{children:"The Algolia DocSearch team can help you figure out search problems on your site."}),"\n",(0,a.jsxs)(r.p,{children:["You can reach out to Algolia via ",(0,a.jsx)(r.a,{href:"https://algolia.com/support",children:"their support page"})," or on ",(0,a.jsx)(r.a,{href:"https://discord.gg/wr2m5j948P",children:"Discord"}),"."]}),"\n",(0,a.jsxs)(r.p,{children:["Docusaurus also has an ",(0,a.jsx)(r.code,{children:"#algolia"})," channel on ",(0,a.jsx)(r.a,{href:"https://discordapp.com/invite/docusaurus",children:"Discord"}),"."]}),"\n",(0,a.jsx)(r.h2,{id:"using-typesense-docsearch",children:"\uD83D\uDC65 Using Typesense DocSearch"}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.a,{href:"https://typesense.org",children:"Typesense"})," DocSearch works similar to Algolia DocSearch, except that your website is indexed into a Typesense search cluster."]}),"\n",(0,a.jsxs)(r.p,{children:["Typesense is an ",(0,a.jsx)(r.a,{href:"https://github.com/typesense/typesense",children:"open source"})," instant-search engine that you can either:"]}),"\n",(0,a.jsxs)(r.ul,{children:["\n",(0,a.jsxs)(r.li,{children:[(0,a.jsx)(r.a,{href:"https://typesense.org/docs/guide/install-typesense.html#option-2-local-machine-self-hosting",children:"Self-Host"})," on your own servers or"]}),"\n",(0,a.jsxs)(r.li,{children:["Use the Managed ",(0,a.jsx)(r.a,{href:"https://cloud.typesense.org",children:"Typesense Cloud"})," service."]}),"\n"]}),"\n",(0,a.jsx)(r.p,{children:"Similar to Algolia DocSearch, there are two components:"}),"\n",(0,a.jsxs)(r.ul,{children:["\n",(0,a.jsxs)(r.li,{children:[(0,a.jsx)(r.a,{href:"https://github.com/typesense/typesense-docsearch-scraper",children:"typesense-docsearch-scraper"})," - which scrapes your website and indexes the data in your Typesense cluster."]}),"\n",(0,a.jsxs)(r.li,{children:[(0,a.jsx)(r.a,{href:"https://github.com/typesense/docusaurus-theme-search-typesense",children:"docusaurus-theme-search-typesense"})," - a search bar UI component to add to your website."]}),"\n"]}),"\n",(0,a.jsxs)(r.p,{children:["Read a step-by-step walk-through of how to ",(0,a.jsx)(r.a,{href:"https://typesense.org/docs/guide/docsearch.html#step-1-set-up-docsearch-scraper",children:"run typesense-docsearch-scraper here"})," and how to ",(0,a.jsx)(r.a,{href:"https://typesense.org/docs/guide/docsearch.html#option-a-docusaurus-powered-sites",children:"install the Search Bar in your Docusaurus Site here"}),"."]}),"\n",(0,a.jsx)(r.h2,{id:"using-local-search",children:"\uD83D\uDC65 Using Local Search"}),"\n",(0,a.jsx)(r.p,{children:"You can use a local search plugin for websites where the search index is small and can be downloaded to your users' browsers when they visit your website."}),"\n",(0,a.jsxs)(r.p,{children:["You'll find a list of community-supported ",(0,a.jsx)(r.a,{href:"https://docusaurus.io/community/resources#search",children:"local search plugins listed here"}),"."]}),"\n",(0,a.jsx)(r.h2,{id:"using-your-own-search",children:"\uD83D\uDC65 Using your own search"}),"\n",(0,a.jsxs)(r.p,{children:["To use your own search, swizzle the ",(0,a.jsx)(r.code,{children:"SearchBar"})," component in ",(0,a.jsx)(r.code,{children:"@docusaurus/theme-classic"})]}),"\n",(0,a.jsxs)(i.Z,{groupId:"npm2yarn",children:[(0,a.jsx)(c.Z,{value:"npm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"npm run swizzle @docusaurus/theme-classic SearchBar\n"})})}),(0,a.jsx)(c.Z,{value:"yarn",label:"Yarn",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"yarn swizzle @docusaurus/theme-classic SearchBar\n"})})}),(0,a.jsx)(c.Z,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"pnpm run swizzle @docusaurus/theme-classic SearchBar\n"})})})]}),"\n",(0,a.jsxs)(r.p,{children:["This will create an ",(0,a.jsx)(r.code,{children:"src/theme/SearchBar"})," file in your project folder. Restart your dev server and edit the component, you will see that Docusaurus uses your own ",(0,a.jsx)(r.code,{children:"SearchBar"})," component now."]}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"Notes"}),": You can alternatively ",(0,a.jsx)(r.a,{href:"#editing-the-algolia-search-component",children:"swizzle from Algolia SearchBar"})," and create your own search component from there."]})]})}function g(e={}){let{wrapper:r}={...(0,o.a)(),...e.components};return r?(0,a.jsx)(r,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},58636:function(e,r,n){n.d(r,{Z:()=>o});var s=n(85893);n(67294);var a=n(90496);function o(e){let{children:r,hidden:n,className:o}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,a.Z)("tabItem_pnkT",o),hidden:n,children:r})}},15398:function(e,r,n){n.d(r,{Z:()=>j});var s=n(85893),a=n(67294),o=n(90496),i=n(54947),c=n(3620),l=n(844),t=n(97486),h=n(32263),d=n(16971);function u(e){return a.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||a.isValidElement(e)&&function(e){let{props:r}=e;return!!r&&"object"==typeof r&&"value"in r}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function g(e){let{value:r,tabValues:n}=e;return n.some(e=>e.value===r)}var p=n(71607);function x(e){let{className:r,block:n,selectedValue:a,selectValue:c,tabValues:l}=e,t=[],{blockElementScrollPositionUntilNextRender:h}=(0,i.o5)(),d=e=>{let r=e.currentTarget,n=l[t.indexOf(r)].value;n!==a&&(h(r),c(n))},u=e=>{let r=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=t.indexOf(e.currentTarget)+1;r=t[n]??t[0];break}case"ArrowLeft":{let n=t.indexOf(e.currentTarget)-1;r=t[n]??t[t.length-1]}}r?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},r),children:l.map(e=>{let{value:r,label:n,attributes:i}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:a===r?0:-1,"aria-selected":a===r,ref:e=>{t.push(e)},onKeyDown:u,onClick:d,...i,className:(0,o.Z)("tabs__item","tabItem_AQgk",i?.className,{"tabs__item--active":a===r}),children:n??r},r)})})}function f(e){let{lazy:r,children:n,selectedValue:i}=e,c=(Array.isArray(n)?n:[n]).filter(Boolean);if(r){let e=c.find(e=>e.props.value===i);return e?(0,a.cloneElement)(e,{className:(0,o.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:c.map((e,r)=>(0,a.cloneElement)(e,{key:r,hidden:e.props.value!==i}))})}function m(e){let r=function(e){let{defaultValue:r,queryString:n=!1,groupId:s}=e,o=function(e){let{values:r,children:n}=e;return(0,a.useMemo)(()=>{let e=r??u(n).map(e=>{let{props:{value:r,label:n,attributes:s,default:a}}=e;return{value:r,label:n,attributes:s,default:a}});return!function(e){let r=(0,h.lx)(e,(e,r)=>e.value===r.value);if(r.length>0)throw Error(`Docusaurus error: Duplicate values "${r.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[r,n])}(e),[i,p]=(0,a.useState)(()=>(function(e){let{defaultValue:r,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(r){if(!g({value:r,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${r}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return r}let s=n.find(e=>e.default)??n[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:r,tabValues:o})),[x,f]=function(e){let{queryString:r=!1,groupId:n}=e,s=(0,c.k6)(),o=function(e){let{queryString:r=!1,groupId:n}=e;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:r,groupId:n});return[(0,t._X)(o),(0,a.useCallback)(e=>{if(!o)return;let r=new URLSearchParams(s.location.search);r.set(o,e),s.replace({...s.location,search:r.toString()})},[o,s])]}({queryString:n,groupId:s}),[m,j]=function(e){let{groupId:r}=e,n=r?`docusaurus.tab.${r}`:null,[s,o]=(0,d.Nk)(n);return[s,(0,a.useCallback)(e=>{n&&o.set(e)},[n,o])]}({groupId:s}),y=(()=>{let e=x??m;return g({value:e,tabValues:o})?e:null})();return(0,l.Z)(()=>{y&&p(y)},[y]),{selectedValue:i,selectValue:(0,a.useCallback)(e=>{if(!g({value:e,tabValues:o}))throw Error(`Can't select invalid tab value=${e}`);p(e),f(e),j(e)},[f,j,o]),tabValues:o}}(e);return(0,s.jsxs)("div",{className:(0,o.Z)("tabs-container","tabList_Qoir"),children:[(0,s.jsx)(x,{...r,...e}),(0,s.jsx)(f,{...r,...e})]})}function j(e){let r=(0,p.Z)();return(0,s.jsx)(m,{...e,children:u(e.children)},String(r))}},80980:function(e,r,n){n.d(r,{Z:()=>c,a:()=>i});var s=n(67294);let a={},o=s.createContext(a);function i(e){let r=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1dd15aef.5a7d97aa.js b/assets/js/1dd15aef.5a7d97aa.js new file mode 100644 index 0000000000..16958aff89 --- /dev/null +++ b/assets/js/1dd15aef.5a7d97aa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["9648"],{31163:function(e,t,a){a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>n,toc:()=>p});var n=a(26679),r=a(85893),o=a(80980);let l={mdx:{format:"md"},date:"2020-06-18T19:00"},c="2.0.0-alpha.57",s={authorsImageUrls:[]},p=[];function i(e){let t={p:"p",...(0,o.a)(),...e.components};return(0,r.jsx)(t.p,{children:"Bad release, check ## 2.0.0-alpha.58"})}function u(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(i,{...e})}):i(e)}},80980:function(e,t,a){a.d(t,{Z:()=>c,a:()=>l});var n=a(67294);let r={},o=n.createContext(r);function l(e){let t=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),n.createElement(o.Provider,{value:t},e.children)}},26679:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.57","source":"@site/changelog/source/2.0.0-alpha.57.md","title":"2.0.0-alpha.57","description":"Bad release, check ## 2.0.0-alpha.58","date":"2020-06-18T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2020-06-18T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.58","permalink":"/changelog/2.0.0-alpha.58"},"nextItem":{"title":"2.0.0-alpha.56","permalink":"/changelog/2.0.0-alpha.56"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/1dea6ca3.677cf91b.js b/assets/js/1dea6ca3.677cf91b.js new file mode 100644 index 0000000000..115e8d6f6a --- /dev/null +++ b/assets/js/1dea6ca3.677cf91b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["91015"],{42291:function(t){t.exports=JSON.parse('{"author":{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun","count":3},"listMetadata":{"permalink":"/blog/authors/yangshun","page":1,"postsPerPage":5,"totalPages":1,"totalCount":3,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/1dea6ca3.fb438c3f.js b/assets/js/1dea6ca3.fb438c3f.js deleted file mode 100644 index 0ac783cecb..0000000000 --- a/assets/js/1dea6ca3.fb438c3f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[5407],{6067:t=>{t.exports=JSON.parse('{"author":{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun","count":3},"listMetadata":{"permalink":"/blog/authors/yangshun","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.5540b3e2.js b/assets/js/1df93b7f.5540b3e2.js deleted file mode 100644 index 33f8e63a86..0000000000 --- a/assets/js/1df93b7f.5540b3e2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[4583],{4988:(e,a,t)=>{t.d(a,{A:()=>c});var l,r=t(6540);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var l in t)({}).hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},n.apply(null,arguments)}const c=e=>{let{title:a,titleId:t,...c}=e;return r.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",width:1088,height:687.962,viewBox:"0 0 1088 687.962","aria-labelledby":t},c),void 0===a?r.createElement("title",{id:t},"Easy to Use"):a?r.createElement("title",{id:t},a):null,l||(l=r.createElement("g",{"data-name":"Group 12"},r.createElement("g",{"data-name":"Group 11"},r.createElement("path",{fill:"#3f3d56",d:"M961.81 454.442c-5.27 45.15-16.22 81.4-31.25 110.31-20 38.52-54.21 54.04-84.77 70.28a193 193 0 0 1-27.46 11.94c-55.61 19.3-117.85 14.18-166.74 3.99a657 657 0 0 0-104.09-13.16q-14.97-.675-29.97-.67c-15.42.02-293.07 5.29-360.67-131.57-16.69-33.76-28.13-75-32.24-125.27-11.63-142.12 52.29-235.46 134.74-296.47 155.97-115.41 369.76-110.57 523.43 7.88 102.36 78.9 198.2 198.31 179.02 362.74","data-name":"Path 83"}),r.createElement("path",{fill:"#f2f2f2",d:"M930.56 564.752c-20 38.52-47.21 64.04-77.77 80.28a193 193 0 0 1-27.46 11.94c-55.61 19.3-117.85 14.18-166.74 3.99a657 657 0 0 0-104.09-13.16q-14.97-.675-29.97-.67-23.13.03-46.25 1.72c-100.17 7.36-253.82-6.43-321.42-143.29L326 177.962l62.95 161.619 20.09 51.59 55.37-75.98L493 275.962l130.2 149.27 36.8-81.27 254.78 207.919 14.21 11.59Z","data-name":"Path 84"}),r.createElement("path",{d:"m302 282.962 26-57 36 83-31-60Z","data-name":"Path 85",opacity:.1}),r.createElement("path",{d:"M554.5 647.802q-14.97-.675-29.97-.67l-115.49-255.96Z","data-name":"Path 86",opacity:.1}),r.createElement("path",{d:"M464.411 315.191 493 292.962l130 150-132-128Z","data-name":"Path 87",opacity:.1}),r.createElement("path",{d:"M852.79 645.032a193 193 0 0 1-27.46 11.94L623.2 425.232Z","data-name":"Path 88",opacity:.1}),r.createElement("circle",{cx:3,cy:3,r:3,fill:"#f2f2f2","data-name":"Ellipse 11",transform:"translate(479 98.962)"}),r.createElement("circle",{cx:3,cy:3,r:3,fill:"#f2f2f2","data-name":"Ellipse 12",transform:"translate(396 201.962)"}),r.createElement("circle",{cx:2,cy:2,r:2,fill:"#f2f2f2","data-name":"Ellipse 13",transform:"translate(600 220.962)"}),r.createElement("circle",{cx:2,cy:2,r:2,fill:"#f2f2f2","data-name":"Ellipse 14",transform:"translate(180 265.962)"}),r.createElement("circle",{cx:2,cy:2,r:2,fill:"#f2f2f2","data-name":"Ellipse 15",transform:"translate(612 96.962)"}),r.createElement("circle",{cx:2,cy:2,r:2,fill:"#f2f2f2","data-name":"Ellipse 16",transform:"translate(736 192.962)"}),r.createElement("circle",{cx:2,cy:2,r:2,fill:"#f2f2f2","data-name":"Ellipse 17",transform:"translate(858 344.962)"}),r.createElement("path",{fill:"#f2f2f2",d:"M306 121.222h-2.76v-2.76h-1.48v2.76H299v1.478h2.76v2.759h1.48V122.7H306Z","data-name":"Path 89"}),r.createElement("path",{fill:"#f2f2f2",d:"M848 424.222h-2.76v-2.76h-1.48v2.76H841v1.478h2.76v2.759h1.48V425.7H848Z","data-name":"Path 90"}),r.createElement("path",{fill:"#3f3d56",d:"M1088 613.962c0 16.569-243.557 74-544 74s-544-57.431-544-74 243.557 14 544 14 544-30.568 544-14","data-name":"Path 91"}),r.createElement("path",{d:"M1088 613.962c0 16.569-243.557 74-544 74s-544-57.431-544-74 243.557 14 544 14 544-30.568 544-14","data-name":"Path 92",opacity:.1}),r.createElement("ellipse",{cx:544,cy:30,fill:"#3f3d56","data-name":"Ellipse 18",rx:544,ry:30,transform:"translate(0 583.962)"}),r.createElement("path",{fill:"#ff6584",d:"M568 571.962c0 33.137-14.775 24-33 24s-33 9.137-33-24 33-96 33-96 33 62.863 33 96","data-name":"Path 93"}),r.createElement("path",{d:"M550 584.641c0 15.062-6.716 10.909-15 10.909s-15 4.153-15-10.909 15-43.636 15-43.636 15 28.576 15 43.636","data-name":"Path 94",opacity:.1}),r.createElement("rect",{width:92,height:18,fill:"#2f2e41","data-name":"Rectangle 97",rx:9,transform:"translate(489 604.962)"}),r.createElement("rect",{width:92,height:18,fill:"#2f2e41","data-name":"Rectangle 98",rx:9,transform:"translate(489 586.962)"}),r.createElement("path",{fill:"#3f3d56",d:"M137 490.528c0 55.343 34.719 100.126 77.626 100.126","data-name":"Path 95"}),r.createElement("path",{fill:"#6c63ff",d:"M214.626 590.654c0-55.965 38.745-101.251 86.626-101.251","data-name":"Path 96"}),r.createElement("path",{fill:"#6c63ff",d:"M165.125 495.545c0 52.57 22.14 95.109 49.5 95.109","data-name":"Path 97"}),r.createElement("path",{fill:"#3f3d56",d:"M214.626 590.654c0-71.511 44.783-129.377 100.126-129.377","data-name":"Path 98"}),r.createElement("path",{fill:"#a8a8a8",d:"M198.3 591.36s11.009-.339 14.326-2.7 16.934-5.183 17.757-1.395 16.544 18.844 4.115 18.945-28.879-1.936-32.19-3.953-4.008-10.897-4.008-10.897","data-name":"Path 99"}),r.createElement("path",{d:"M234.716 604.89c-12.429.1-28.879-1.936-32.19-3.953-2.522-1.536-3.527-7.048-3.863-9.591l-.368.014s.7 8.879 4.009 10.9 19.761 4.053 32.19 3.953c3.588-.029 4.827-1.305 4.759-3.2-.498 1.142-1.867 1.855-4.537 1.877","data-name":"Path 100",opacity:.2}),r.createElement("path",{fill:"#3f3d56",d:"M721.429 527.062c0 38.029 23.857 68.8 53.341 68.8","data-name":"Path 101"}),r.createElement("path",{fill:"#6c63ff",d:"M774.769 595.863c0-38.456 26.623-69.575 59.525-69.575","data-name":"Path 102"}),r.createElement("path",{fill:"#6c63ff",d:"M740.755 530.509c0 36.124 15.213 65.354 34.014 65.354","data-name":"Path 103"}),r.createElement("path",{fill:"#3f3d56",d:"M774.769 595.863c0-49.139 30.773-88.9 68.8-88.9","data-name":"Path 104"}),r.createElement("path",{fill:"#a8a8a8",d:"M763.548 596.348s7.565-.233 9.844-1.856 11.636-3.562 12.2-.958 11.368 12.949 2.828 13.018-19.844-1.33-22.119-2.716-2.753-7.488-2.753-7.488","data-name":"Path 105"}),r.createElement("path",{d:"M788.574 605.645c-8.54.069-19.844-1.33-22.119-2.716-1.733-1.056-2.423-4.843-2.654-6.59l-.253.01s.479 6.1 2.755 7.487 13.579 2.785 22.119 2.716c2.465-.02 3.317-.9 3.27-2.2-.343.788-1.283 1.278-3.118 1.293","data-name":"Path 106",opacity:.2}),r.createElement("path",{fill:"#a8a8a8",d:"M893.813 618.699s11.36-1.729 14.5-4.591 16.89-7.488 18.217-3.667 19.494 17.447 6.633 19.107-30.153 1.609-33.835-.065-5.515-10.784-5.515-10.784","data-name":"Path 107"}),r.createElement("path",{d:"M933.228 628.154c-12.86 1.659-30.153 1.609-33.835-.065-2.8-1.275-4.535-6.858-5.2-9.45l-.379.061s1.833 9.109 5.516 10.783 20.975 1.725 33.835.065c3.712-.479 4.836-1.956 4.529-3.906-.375 1.246-1.703 2.156-4.466 2.512","data-name":"Path 108",opacity:.2}),r.createElement("path",{fill:"#a8a8a8",d:"M614.26 617.881s9.587-1.459 12.237-3.875 14.255-6.32 15.374-3.095 16.452 14.725 5.6 16.125-25.448 1.358-28.555-.055-4.656-9.1-4.656-9.1","data-name":"Path 109"}),r.createElement("path",{d:"M647.524 625.856c-10.853 1.4-25.448 1.358-28.555-.055-2.367-1.076-3.827-5.788-4.39-7.976l-.32.051s1.547 7.687 4.655 9.1 17.7 1.456 28.555.055c3.133-.4 4.081-1.651 3.822-3.3-.314 1.057-1.435 1.825-3.767 2.125","data-name":"Path 110",opacity:.2}),r.createElement("path",{fill:"#a8a8a8",d:"M122.389 613.09s7.463-1.136 9.527-3.016 11.1-4.92 11.969-2.409 12.808 11.463 4.358 12.553-19.811 1.057-22.23-.043-3.624-7.085-3.624-7.085","data-name":"Path 111"}),r.createElement("path",{d:"M148.285 619.302c-8.449 1.09-19.811 1.057-22.23-.043-1.842-.838-2.979-4.506-3.417-6.209l-.249.04s1.2 5.984 3.624 7.085 13.781 1.133 22.23.043c2.439-.315 3.177-1.285 2.976-2.566-.246.818-1.119 1.416-2.934 1.65","data-name":"Path 112",opacity:.2}),r.createElement("path",{d:"M383.7 601.318c0 30.22-42.124 20.873-93.7 20.873s-93.074 9.347-93.074-20.873 42.118-36.793 93.694-36.793 93.08 6.573 93.08 36.793","data-name":"Path 113",opacity:.1}),r.createElement("path",{fill:"#3f3d56",d:"M383.7 593.881c0 30.22-42.124 20.873-93.7 20.873s-93.074 9.347-93.074-20.873 42.114-36.8 93.69-36.8 93.084 6.576 93.084 36.8","data-name":"Path 114"})),r.createElement("path",{fill:"#fff",fillRule:"evenodd",d:"M360.175 475.732h91.791v37.153h-91.791Z","data-name":"Path 40"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M277.126 597.026a21.83 21.83 0 0 1-18.908-10.927 21.829 21.829 0 0 0 18.908 32.782h21.855v-21.855Z","data-name":"Path 41"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"m375.451 481.607 76.514-4.782v-10.928a21.854 21.854 0 0 0-21.855-21.855h-98.347l-2.732-4.735a3.154 3.154 0 0 0-5.464 0l-2.732 4.732-2.732-4.732a3.154 3.154 0 0 0-5.464 0l-2.732 4.732-2.731-4.732a3.154 3.154 0 0 0-5.464 0l-2.732 4.735h-.071l-4.526-4.525a3.153 3.153 0 0 0-5.276 1.414l-1.5 5.577-5.674-1.521a3.154 3.154 0 0 0-3.863 3.864l1.52 5.679-5.575 1.494a3.155 3.155 0 0 0-1.416 5.278l4.526 4.526v.07l-4.735 2.731a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.732a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.731a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.727a3.154 3.154 0 0 0 0 5.464l4.735 2.736-4.735 2.732a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.732a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.731a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.732a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.731a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.731a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.735a3.154 3.154 0 0 0 0 5.464l4.732 2.732-4.732 2.728a3.154 3.154 0 0 0 0 5.464l4.732 2.732a21.854 21.854 0 0 0 21.858 21.855h131.13a21.854 21.854 0 0 0 21.855-21.855v-87.42l-76.514-4.782a11.632 11.632 0 0 1 0-23.219","data-name":"Path 42"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M408.255 618.882h32.782v-43.71h-32.782Z","data-name":"Path 43"}),r.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M462.893 591.563a5 5 0 0 0-.7.07c-.042-.164-.081-.329-.127-.493a5.457 5.457 0 1 0-5.4-9.372q-.181-.185-.366-.367a5.454 5.454 0 1 0-9.384-5.4c-.162-.046-.325-.084-.486-.126a5.467 5.467 0 1 0-10.788 0c-.162.042-.325.08-.486.126a5.457 5.457 0 1 0-9.384 5.4 21.843 21.843 0 1 0 36.421 21.02 5.452 5.452 0 1 0 .7-10.858","data-name":"Path 44"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M419.183 553.317h32.782v-21.855h-32.782Z","data-name":"Path 45"}),r.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M462.893 545.121a2.732 2.732 0 1 0 0-5.464 3 3 0 0 0-.349.035c-.022-.082-.04-.164-.063-.246a2.733 2.733 0 0 0-1.052-5.253 2.7 2.7 0 0 0-1.648.566q-.09-.093-.184-.184a2.7 2.7 0 0 0 .553-1.633 2.732 2.732 0 0 0-5.245-1.07 10.928 10.928 0 1 0 0 21.031 2.732 2.732 0 0 0 5.245-1.07 2.7 2.7 0 0 0-.553-1.633q.093-.09.184-.184a2.7 2.7 0 0 0 1.648.566 2.732 2.732 0 0 0 1.052-5.253q.033-.122.063-.246a3 3 0 0 0 .349.035","data-name":"Path 46"}),r.createElement("path",{fillRule:"evenodd",d:"M320.836 479.556a2.73 2.73 0 0 1-2.732-2.732 8.2 8.2 0 0 0-16.391 0 2.732 2.732 0 0 1-5.464 0 13.66 13.66 0 0 1 27.319 0 2.73 2.73 0 0 1-2.732 2.732","data-name":"Path 47"}),r.createElement("path",{fill:"#ffff50",fillRule:"evenodd",d:"M364.546 618.881h65.565a21.854 21.854 0 0 0 21.855-21.855v-76.492h-65.565a21.854 21.854 0 0 0-21.855 21.855Z","data-name":"Path 48"}),r.createElement("path",{fillRule:"evenodd",d:"M435.596 554.41h-54.681a1.093 1.093 0 1 1 0-2.185h54.681a1.093 1.093 0 0 1 0 2.185m0 21.855h-54.681a1.093 1.093 0 1 1 0-2.186h54.681a1.093 1.093 0 0 1 0 2.186m0 21.855h-54.681a1.093 1.093 0 1 1 0-2.185h54.681a1.093 1.093 0 0 1 0 2.185m0-54.434h-54.681a1.093 1.093 0 1 1 0-2.185h54.681a1.093 1.093 0 0 1 0 2.185m0 21.652h-54.681a1.093 1.093 0 1 1 0-2.186h54.681a1.093 1.093 0 0 1 0 2.186m0 21.855h-54.681a1.093 1.093 0 1 1 0-2.186h54.681a1.093 1.093 0 0 1 0 2.186m16.369-100.959c-.013 0-.024-.007-.037-.005-3.377.115-4.974 3.492-6.384 6.472-1.471 3.114-2.608 5.139-4.473 5.078-2.064-.074-3.244-2.406-4.494-4.874-1.436-2.835-3.075-6.049-6.516-5.929-3.329.114-4.932 3.053-6.346 5.646-1.5 2.762-2.529 4.442-4.5 4.364-2.106-.076-3.225-1.972-4.52-4.167-1.444-2.443-3.112-5.191-6.487-5.1-3.272.113-4.879 2.606-6.3 4.808-1.5 2.328-2.552 3.746-4.551 3.662-2.156-.076-3.27-1.65-4.558-3.472-1.447-2.047-3.077-4.363-6.442-4.251-3.2.109-4.807 2.153-6.224 3.954-1.346 1.709-2.4 3.062-4.621 2.977a1.094 1.094 0 0 0-.079 2.186c3.3.11 4.967-1.967 6.417-3.81 1.286-1.635 2.4-3.045 4.582-3.12 2.1-.09 3.091 1.218 4.584 3.327 1.417 2 3.026 4.277 6.263 4.394 3.391.114 5.022-2.42 6.467-4.663 1.292-2 2.406-3.734 4.535-3.807 1.959-.073 3.026 1.475 4.529 4.022 1.417 2.4 3.023 5.121 6.324 5.241 3.415.118 5.064-2.863 6.5-5.5 1.245-2.282 2.419-4.437 4.5-4.509 1.959-.046 2.981 1.743 4.492 4.732 1.412 2.79 3.013 5.95 6.365 6.071h.185c3.348 0 4.937-3.36 6.343-6.331 1.245-2.634 2.423-5.114 4.444-5.216Z","data-name":"Path 49"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M342.691 618.882h43.71v-43.71h-43.71Z","data-name":"Path 50"}),r.createElement("g",{"data-name":"Group 8",transform:"rotate(-14.98 2188.845 -1120.376)"},r.createElement("rect",{width:92.361,height:36.462,fill:"#d8d8d8","data-name":"Rectangle 3",rx:2}),r.createElement("g",{fill:"#4a4a4a","data-name":"Group 2",transform:"translate(1.531 23.03)"},r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 4",rx:1,transform:"translate(16.797)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 5",rx:1,transform:"translate(23.12)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 6",rx:1,transform:"translate(29.444)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 7",rx:1,transform:"translate(35.768)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 8",rx:1,transform:"translate(42.091)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 9",rx:1,transform:"translate(48.415)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 10",rx:1,transform:"translate(54.739)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 11",rx:1,transform:"translate(61.063)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 12",rx:1,transform:"translate(67.386)"}),r.createElement("path",{fillRule:"evenodd",d:"M1.093 0h13.425a1.093 1.093 0 0 1 1.093 1.093v3.15a1.093 1.093 0 0 1-1.093 1.093H1.093A1.093 1.093 0 0 1 0 4.243v-3.15A1.093 1.093 0 0 1 1.093 0M75 0h13.426a1.093 1.093 0 0 1 1.093 1.093v3.15a1.093 1.093 0 0 1-1.093 1.093H75a1.093 1.093 0 0 1-1.093-1.093v-3.15A1.093 1.093 0 0 1 75 0","data-name":"Path 51"})),r.createElement("g",{fill:"#4a4a4a","data-name":"Group 3",transform:"translate(1.531 10.261)"},r.createElement("path",{fillRule:"evenodd",d:"M1.093 0h5.125A1.093 1.093 0 0 1 7.31 1.093v3.149a1.093 1.093 0 0 1-1.092 1.093H1.093A1.093 1.093 0 0 1 0 4.242V1.093A1.093 1.093 0 0 1 1.093 0","data-name":"Path 52"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 13",rx:1,transform:"translate(8.299)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 14",rx:1,transform:"translate(14.623)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 15",rx:1,transform:"translate(20.947)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 16",rx:1,transform:"translate(27.271)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 17",rx:1,transform:"translate(33.594)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 18",rx:1,transform:"translate(39.918)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 19",rx:1,transform:"translate(46.242)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 20",rx:1,transform:"translate(52.565)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 21",rx:1,transform:"translate(58.888)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 22",rx:1,transform:"translate(65.212)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 23",rx:1,transform:"translate(71.536)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 24",rx:1,transform:"translate(77.859)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 25",rx:1,transform:"translate(84.183)"})),r.createElement("g",{fill:"#4a4a4a","data-name":"Group 4",transform:"rotate(180 45.525 4.773)"},r.createElement("path",{fillRule:"evenodd",d:"M1.093 0h5.126a1.093 1.093 0 0 1 1.093 1.093v3.15a1.093 1.093 0 0 1-1.093 1.093H1.093A1.093 1.093 0 0 1 0 4.243v-3.15A1.093 1.093 0 0 1 1.093 0","data-name":"Path 53"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 26",rx:1,transform:"translate(8.299)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 27",rx:1,transform:"translate(14.623)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 28",rx:1,transform:"translate(20.947)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 29",rx:1,transform:"translate(27.271)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 30",rx:1,transform:"translate(33.594)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 31",rx:1,transform:"translate(39.918)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 32",rx:1,transform:"translate(46.242)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 33",rx:1,transform:"translate(52.565)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 34",rx:1,transform:"translate(58.889)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 35",rx:1,transform:"translate(65.213)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 36",rx:1,transform:"translate(71.537)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 37",rx:1,transform:"translate(77.86)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 38",rx:1,transform:"translate(84.183)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 39",rx:1,transform:"translate(8.299)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 40",rx:1,transform:"translate(14.623)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 41",rx:1,transform:"translate(20.947)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 42",rx:1,transform:"translate(27.271)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 43",rx:1,transform:"translate(33.594)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 44",rx:1,transform:"translate(39.918)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 45",rx:1,transform:"translate(46.242)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 46",rx:1,transform:"translate(52.565)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 47",rx:1,transform:"translate(58.889)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 48",rx:1,transform:"translate(65.213)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 49",rx:1,transform:"translate(71.537)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 50",rx:1,transform:"translate(77.86)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 51",rx:1,transform:"translate(84.183)"})),r.createElement("g",{fill:"#4a4a4a","data-name":"Group 6"},r.createElement("path",{fillRule:"evenodd",d:"M2.624 16.584h7.3a1.093 1.093 0 0 1 1.092 1.093v3.15a1.093 1.093 0 0 1-1.093 1.093h-7.3a1.093 1.093 0 0 1-1.092-1.093v-3.149a1.093 1.093 0 0 1 1.093-1.094","data-name":"Path 54"}),r.createElement("g",{"data-name":"Group 5",transform:"translate(12.202 16.584)"},r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 52",rx:1}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 53",rx:1,transform:"translate(6.324)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 54",rx:1,transform:"translate(12.647)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 55",rx:1,transform:"translate(18.971)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 56",rx:1,transform:"translate(25.295)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 57",rx:1,transform:"translate(31.619)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 58",rx:1,transform:"translate(37.942)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 59",rx:1,transform:"translate(44.265)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 60",rx:1,transform:"translate(50.589)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 61",rx:1,transform:"translate(56.912)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 62",rx:1,transform:"translate(63.236)"})),r.createElement("path",{fillRule:"evenodd",d:"M83.053 16.584h6.906a1.093 1.093 0 0 1 1.091 1.093v3.15a1.093 1.093 0 0 1-1.091 1.093h-6.907a1.093 1.093 0 0 1-1.093-1.093v-3.149a1.093 1.093 0 0 1 1.093-1.094Z","data-name":"Path 55"})),r.createElement("g",{fill:"#4a4a4a","data-name":"Group 7",transform:"translate(1.531 29.627)"},r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 63",rx:1}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 64",rx:1,transform:"translate(6.324)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 65",rx:1,transform:"translate(12.647)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 66",rx:1,transform:"translate(18.971)"}),r.createElement("path",{fillRule:"evenodd",d:"M26.387 0h30.422a1.093 1.093 0 0 1 1.093 1.093v3.151a1.093 1.093 0 0 1-1.093 1.093H26.387a1.093 1.093 0 0 1-1.093-1.093V1.093A1.093 1.093 0 0 1 26.387 0m33.594 0h3.942a1.093 1.093 0 0 1 1.093 1.093v3.151a1.093 1.093 0 0 1-1.093 1.093h-3.942a1.093 1.093 0 0 1-1.093-1.093V1.093A1.093 1.093 0 0 1 59.981 0","data-name":"Path 56"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 67",rx:1,transform:"translate(66.003)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 68",rx:1,transform:"translate(72.327)"}),r.createElement("rect",{width:5.336,height:5.336,"data-name":"Rectangle 69",rx:1,transform:"translate(84.183)"}),r.createElement("path",{d:"M78.254 2.273v-1.18A1.093 1.093 0 0 1 79.347 0h3.15a1.093 1.093 0 0 1 1.093 1.093v1.18Z","data-name":"Path 57"}),r.createElement("path",{d:"M83.591 3.063v1.18a1.093 1.093 0 0 1-1.093 1.093h-3.15a1.093 1.093 0 0 1-1.093-1.093v-1.18Z","data-name":"Path 58"})),r.createElement("rect",{width:88.927,height:2.371,fill:"#4a4a4a","data-name":"Rectangle 70",rx:1.085,transform:"translate(1.925 1.17)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 71",opacity:.136,rx:.723,transform:"translate(4.1 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 72",opacity:.136,rx:.723,transform:"translate(10.923 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 73",opacity:.136,rx:.723,transform:"translate(16.173 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 74",opacity:.136,rx:.723,transform:"translate(21.421 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 75",opacity:.136,rx:.723,transform:"translate(26.671 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 76",opacity:.136,rx:.723,transform:"translate(33.232 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 77",opacity:.136,rx:.723,transform:"translate(38.48 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 78",opacity:.136,rx:.723,transform:"translate(43.73 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 79",opacity:.136,rx:.723,transform:"translate(48.978 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 80",opacity:.136,rx:.723,transform:"translate(55.54 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 81",opacity:.136,rx:.723,transform:"translate(60.788 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 82",opacity:.136,rx:.723,transform:"translate(66.038 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 83",opacity:.136,rx:.723,transform:"translate(72.599 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 84",opacity:.136,rx:.723,transform:"translate(77.847 1.566)"}),r.createElement("rect",{width:4.986,height:1.581,fill:"#d8d8d8","data-name":"Rectangle 85",opacity:.136,rx:.723,transform:"translate(83.097 1.566)"})),r.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M408.256 591.563a5.4 5.4 0 0 0-.7.07c-.042-.164-.081-.329-.127-.493a5.457 5.457 0 1 0-5.4-9.372q-.181-.185-.366-.367a5.454 5.454 0 1 0-9.384-5.4c-.162-.046-.325-.084-.486-.126a5.467 5.467 0 1 0-10.788 0c-.162.042-.325.08-.486.126a5.457 5.457 0 1 0-9.384 5.4 21.843 21.843 0 1 0 36.421 21.02 5.452 5.452 0 1 0 .7-10.858","data-name":"Path 59"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M342.691 553.317h43.71v-21.855h-43.71Z","data-name":"Path 60"}),r.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M397.328 545.121a2.732 2.732 0 1 0 0-5.464 3 3 0 0 0-.349.035c-.022-.082-.04-.164-.063-.246a2.733 2.733 0 0 0-1.052-5.253 2.7 2.7 0 0 0-1.648.566q-.09-.093-.184-.184a2.7 2.7 0 0 0 .553-1.633 2.732 2.732 0 0 0-5.245-1.07 10.928 10.928 0 1 0 0 21.031 2.732 2.732 0 0 0 5.245-1.07 2.7 2.7 0 0 0-.553-1.633q.093-.09.184-.184a2.7 2.7 0 0 0 1.648.566 2.732 2.732 0 0 0 1.052-5.253q.033-.122.063-.246a3 3 0 0 0 .349.035","data-name":"Path 61"}),r.createElement("path",{fillRule:"evenodd",d:"M408.256 464.531a3 3 0 0 1-.535-.055 2.8 2.8 0 0 1-.514-.153 3 3 0 0 1-.471-.251 4 4 0 0 1-.415-.339 3 3 0 0 1-.338-.415 2.7 2.7 0 0 1-.459-1.517 3 3 0 0 1 .055-.535 3 3 0 0 1 .152-.514 3 3 0 0 1 .252-.47 2.6 2.6 0 0 1 .753-.754 3 3 0 0 1 .471-.251 2.8 2.8 0 0 1 .514-.153 2.5 2.5 0 0 1 1.071 0 2.7 2.7 0 0 1 .983.4 4 4 0 0 1 .415.339 4 4 0 0 1 .339.415 3 3 0 0 1 .251.47 2.9 2.9 0 0 1 .208 1.049 2.77 2.77 0 0 1-.8 1.934 4 4 0 0 1-.415.339 2.72 2.72 0 0 1-1.519.459m21.855-1.366a2.8 2.8 0 0 1-1.935-.8 4 4 0 0 1-.338-.415 2.7 2.7 0 0 1-.459-1.519 2.8 2.8 0 0 1 .8-1.934 4 4 0 0 1 .415-.339 3 3 0 0 1 .471-.251 2.8 2.8 0 0 1 .514-.153 2.5 2.5 0 0 1 1.071 0 2.7 2.7 0 0 1 .983.4 4 4 0 0 1 .415.339 2.8 2.8 0 0 1 .8 1.934 3 3 0 0 1-.055.535 3 3 0 0 1-.153.514 4 4 0 0 1-.251.47 4 4 0 0 1-.339.415 4 4 0 0 1-.415.339 2.72 2.72 0 0 1-1.519.459","data-name":"Path 62"}))))}},8074:(e,a,t)=>{t.d(a,{A:()=>c});var l,r=t(6540);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var l in t)({}).hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},n.apply(null,arguments)}const c=e=>{let{title:a,titleId:t,...c}=e;return r.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",width:1041.277,height:554.141,viewBox:"0 0 1041.277 554.141","aria-labelledby":t},c),void 0===a?r.createElement("title",{id:t},"Powered by React"):a?r.createElement("title",{id:t},a):null,l||(l=r.createElement("g",{"data-name":"Group 24"},r.createElement("g",{"data-name":"Group 23",transform:"translate(-.011 -.035)"},r.createElement("path",{fill:"#f2f2f2",d:"M961.48 438.21q-1.74 3.75-3.47 7.4-2.7 5.67-5.33 11.12c-.78 1.61-1.56 3.19-2.32 4.77-8.6 17.57-16.63 33.11-23.45 45.89a73.21 73.21 0 0 1-63.81 38.7l-151.65 1.65h-1.6l-13 .14-11.12.12-34.1.37h-1.38l-17.36.19h-.53l-107 1.16-95.51 1-11.11.12-69 .75h-.08l-44.75.48h-.48l-141.5 1.53-42.33.46a88 88 0 0 1-10.79-.54c-1.22-.14-2.44-.3-3.65-.49a87.38 87.38 0 0 1-51.29-27.54c-18.21-20.03-31.46-43.4-40.36-68.76q-1.93-5.49-3.6-11.12c-30.81-104.15 6.75-238.52 74.35-328.44q4.25-5.64 8.64-11l.07-.08c20.79-25.52 44.1-46.84 68.93-62 44-26.91 92.75-34.49 140.7-11.9 40.57 19.12 78.45 28.11 115.17 30.55 3.71.24 7.42.42 11.11.53 84.23 2.65 163.17-27.7 255.87-47.29 3.69-.78 7.39-1.55 11.12-2.28C763 .54 836.36-6.4 923.6 8.19a189 189 0 0 1 26.76 6.4q5.77 1.86 11.12 4c41.64 16.94 64.35 48.24 74 87.46q1.37 5.46 2.37 11.11c17.11 94.34-33 228.16-76.37 321.05","data-name":"Path 299"}),r.createElement("path",{d:"M497.02 445.61a95 95 0 0 1-1.87 11.12h93.7v-11.12Zm-78.25 62.81 11.11-.09v-27.47c-3.81-.17-7.52-.34-11.11-.52Zm-232.92-62.81v11.12h198.5v-11.12Zm849.68-339.52h-74V18.6q-5.35-2.17-11.12-4v91.49H696.87V13.67c-3.73.73-7.43 1.5-11.12 2.28v90.14H429.88V63.24c-3.69-.11-7.4-.29-11.11-.53v43.38H162.9v-62c-24.83 15.16-48.14 36.48-68.93 62h-.07v.08q-4.4 5.4-8.64 11h8.64v328.44h-83q1.66 5.63 3.6 11.12h79.39v93.62a87 87 0 0 0 12.2 2.79c1.21.19 2.43.35 3.65.49a88 88 0 0 0 10.79.54l42.33-.46v-97h255.91v94.21l11.11-.12v-94.07h255.87v91.36l11.12-.12v-91.24h253.49v4.77c.76-1.58 1.54-3.16 2.32-4.77q2.63-5.45 5.33-11.12 1.73-3.64 3.47-7.4v-321h76.42q-1.01-5.69-2.37-11.12M162.9 445.61V117.17h255.87v328.44Zm267 0V117.17h255.85v328.44Zm520.48 0H696.87V117.17h253.49Z","data-name":"Path 300",opacity:.1}),r.createElement("path",{fill:"#65617d",d:"M863.09 533.65v13l-151.92 1.4-1.62.03-57.74.53-1.38.02-17.55.15h-.52l-106.98.99-175.61 1.63h-.15l-44.65.42-.48.01-198.4 1.82v-15l46.65-28 93.6-.78 2-.01.66-.01 2-.03 44.94-.37 2.01-.01.64-.01 2-.01 14.41-.12.38-.01 35.55-.3h.29l277.4-2.34 6.79-.05h.68l5.18-.05 37.65-.31 2-.03 1.85-.02h.96l11.71-.09 2.32-.03 3.11-.02 9.75-.09 15.47-.13 2-.02 3.48-.02h.65l74.71-.64Z","data-name":"Path 301"}),r.createElement("path",{d:"M863.09 533.65v13l-151.92 1.4-1.62.03-57.74.53-1.38.02-17.55.15h-.52l-106.98.99-175.61 1.63h-.15l-44.65.42-.48.01-198.4 1.82v-15l46.65-28 93.6-.78 2-.01.66-.01 2-.03 44.94-.37 2.01-.01.64-.01 2-.01 14.41-.12.38-.01 35.55-.3h.29l277.4-2.34 6.79-.05h.68l5.18-.05 37.65-.31 2-.03 1.85-.02h.96l11.71-.09 2.32-.03 3.11-.02 9.75-.09 15.47-.13 2-.02 3.48-.02h.65l74.71-.64Z","data-name":"Path 302",opacity:.2}),r.createElement("path",{fill:"#3f3d56",d:"M296.1 483.66v24.49a6.13 6.13 0 0 1-3.5 5.54 6 6 0 0 1-2.5.6l-34.9.74a6 6 0 0 1-2.7-.57 6.12 6.12 0 0 1-3.57-5.57v-25.23Z","data-name":"Path 303"}),r.createElement("path",{d:"M296.1 483.66v24.49a6.13 6.13 0 0 1-3.5 5.54 6 6 0 0 1-2.5.6l-34.9.74a6 6 0 0 1-2.7-.57 6.12 6.12 0 0 1-3.57-5.57v-25.23Z","data-name":"Path 304",opacity:.1}),r.createElement("path",{fill:"#3f3d56",d:"M298.1 483.66v24.49a6.13 6.13 0 0 1-3.5 5.54 6 6 0 0 1-2.5.6l-34.9.74a6 6 0 0 1-2.7-.57 6.12 6.12 0 0 1-3.57-5.57v-25.23Z","data-name":"Path 305"}),r.createElement("path",{fill:"#3f3d56",d:"M680.92 483.65h47.17v31.5h-47.17z","data-name":"Rectangle 137"}),r.createElement("path",{d:"M680.92 483.65h47.17v31.5h-47.17z","data-name":"Rectangle 138",opacity:.1}),r.createElement("path",{fill:"#3f3d56",d:"M678.92 483.65h47.17v31.5h-47.17z","data-name":"Rectangle 139"}),r.createElement("path",{d:"M298.09 483.65v4.97l-47.17 1.26v-6.23Z","data-name":"Path 306",opacity:.1}),r.createElement("path",{fill:"#65617d",d:"M381.35 312.36v168.2a4 4 0 0 1-3.85 3.95l-191.65 5.1h-.05a4 4 0 0 1-3.95-3.95v-173.3a4 4 0 0 1 3.95-3.95h191.6a4 4 0 0 1 3.95 3.95","data-name":"Path 307"}),r.createElement("path",{d:"M185.85 308.41v181.2h-.05a4 4 0 0 1-3.95-3.95v-173.3a4 4 0 0 1 3.95-3.95Z","data-name":"Path 308",opacity:.1}),r.createElement("path",{fill:"#39374d",d:"M194.59 319.15h177.5V467.4l-177.5 4Z","data-name":"Path 309"}),r.createElement("path",{d:"M726.09 483.65v6.41l-47.17-1.26v-5.15Z","data-name":"Path 310",opacity:.1}),r.createElement("path",{fill:"#65617d",d:"M788.35 312.36v173.3a4 4 0 0 1-4 3.95l-191.69-5.1a4 4 0 0 1-3.85-3.95v-168.2a4 4 0 0 1 3.95-3.95h191.6a4 4 0 0 1 3.99 3.95","data-name":"Path 311"}),r.createElement("path",{d:"M788.35 312.36v173.3a4 4 0 0 1-4 3.95v-181.2a4 4 0 0 1 4 3.95","data-name":"Path 312",opacity:.1}),r.createElement("path",{fill:"#39374d",d:"M775.59 319.15h-177.5V467.4l177.5 4Z","data-name":"Path 313"}),r.createElement("path",{fill:"#65617d",d:"M583.85 312.36v168.2a4 4 0 0 1-3.85 3.95l-191.65 5.1a4 4 0 0 1-4-3.95v-173.3a4 4 0 0 1 3.95-3.95h191.6a4 4 0 0 1 3.95 3.95","data-name":"Path 314"}),r.createElement("path",{fill:"#4267b2",d:"M397.09 319.15h177.5V467.4l-177.5 4Z","data-name":"Path 315"}),r.createElement("path",{d:"M863.09 533.65v13l-151.92 1.4-1.62.03-57.74.53-1.38.02-17.55.15h-.52l-106.98.99-175.61 1.63h-.15l-44.65.42-.48.01-198.4 1.82v-15l202.51-1.33h.48l40.99-.28h.19l283.08-1.87h.29l.17-.01h.47l4.79-.03h1.46l74.49-.5 4.4-.02.98-.01Z","data-name":"Path 316",opacity:.1}),r.createElement("circle",{cx:51.33,cy:51.33,r:51.33,fill:"#fbbebe","data-name":"Ellipse 111",transform:"translate(435.93 246.82)"}),r.createElement("path",{fill:"#fbbebe",d:"M538.6 377.16s-99.5 12-90 0c3.44-4.34 4.39-17.2 4.2-31.85-.06-4.45-.22-9.06-.45-13.65-1.1-22-3.75-43.5-3.75-43.5s87-41 77-8.5c-4 13.13-2.69 31.57.35 48.88.89 5.05 1.92 10 3 14.7a345 345 0 0 0 9.65 33.92","data-name":"Path 317"}),r.createElement("path",{fill:"#ff6584",d:"M506.13 373.09c11.51-2.13 23.7-6 34.53-1.54 2.85 1.17 5.47 2.88 8.39 3.86s6.12 1.22 9.16 1.91c10.68 2.42 19.34 10.55 24.9 20s8.44 20.14 11.26 30.72l6.9 25.83c6 22.45 12 45.09 13.39 68.3a2438 2438 0 0 1-250.84 1.43c5.44-10.34 11-21.31 10.54-33s-7.19-23.22-4.76-34.74c1.55-7.34 6.57-13.39 9.64-20.22 8.75-19.52 1.94-45.79 17.32-60.65 6.92-6.68 17-9.21 26.63-8.89 12.28.41 24.85 4.24 37 6.11 15.56 2.36 30.26 3.76 45.94.88","data-name":"Path 318"}),r.createElement("path",{d:"m637.03 484.26-.1 1.43v.1l-.17 2.3-1.33 18.51-1.61 22.3-.46 6.28-1 13.44v.17l-107 1-175.59 1.9v.84h-.14v-1.12l.45-14.36.86-28.06.74-23.79.07-2.37a10.53 10.53 0 0 1 11.42-10.17c4.72.4 10.85.89 18.18 1.41l3 .22c42.33 2.94 120.56 6.74 199.5 2 1.66-.09 3.33-.19 5-.31 12.24-.77 24.47-1.76 36.58-3a10.53 10.53 0 0 1 11.6 11.23Z","data-name":"Path 319",opacity:.1}),r.createElement("path",{fill:"#3f3d56",d:"M349.74 552.53v-.84l175.62-1.91 107-1h.3v-.17l1-13.44.43-6 1.64-22.61 1.29-17.9v-.44a10.6 10.6 0 0 0-.11-2.47.3.3 0 0 0 0-.1 10.4 10.4 0 0 0-2-4.64 10.54 10.54 0 0 0-9.42-4 937 937 0 0 1-36.58 3c-1.67.12-3.34.22-5 .31-78.94 4.69-157.17.89-199.5-2l-3-.22c-7.33-.52-13.46-1-18.18-1.41a10.54 10.54 0 0 0-11.24 8.53 11 11 0 0 0-.18 1.64l-.68 22.16-.93 28.07-.44 14.36v1.12Z","data-name":"Path 320"}),r.createElement("path",{d:"m637.33 491.27-1.23 15.33-1.83 22.85-.46 5.72-1 12.81-.06.64v.17l-.15 1.48.11-1.48h-.29l-107 1-175.65 1.9v-.28l.49-14.36 1-28.06.64-18.65a6.36 6.36 0 0 1 3.06-5.25 6.25 6.25 0 0 1 3.78-.9c2.1.17 4.68.37 7.69.59 4.89.36 10.92.78 17.94 1.22 13 .82 29.31 1.7 48 2.42 52 2 122.2 2.67 188.88-3.17 3-.26 6.1-.55 9.13-.84a6.26 6.26 0 0 1 3.48.66 5 5 0 0 1 .86.54 6.14 6.14 0 0 1 2 2.46 3.6 3.6 0 0 1 .25.61 6.3 6.3 0 0 1 .36 2.59","data-name":"Path 321",opacity:.1}),r.createElement("path",{d:"M298.1 504.96v3.19a6.13 6.13 0 0 1-3.5 5.54l-40.1.77a6.12 6.12 0 0 1-3.57-5.57v-3Z","data-name":"Path 322",opacity:.1}),r.createElement("path",{fill:"#3f3d56",d:"m298.59 515.57-52.25 1v-8.67l52.25-1Z","data-name":"Path 323"}),r.createElement("path",{d:"m298.59 515.57-52.25 1v-8.67l52.25-1Z","data-name":"Path 324",opacity:.1}),r.createElement("path",{fill:"#3f3d56",d:"m300.59 515.57-52.25 1v-8.67l52.25-1Z","data-name":"Path 325"}),r.createElement("path",{d:"M679.22 506.96v3.19a6.13 6.13 0 0 0 3.5 5.54l40.1.77a6.12 6.12 0 0 0 3.57-5.57v-3Z","data-name":"Path 326",opacity:.1}),r.createElement("path",{d:"m678.72 517.57 52.25 1v-8.67l-52.25-1Z","data-name":"Path 327",opacity:.1}),r.createElement("path",{fill:"#3f3d56",d:"m676.72 517.57 52.25 1v-8.67l-52.25-1Z","data-name":"Path 328"}),r.createElement("path",{fill:"#3f3d56",d:"M454.79 313.88c.08 7-3.16 13.6-5.91 20.07a163.5 163.5 0 0 0-12.66 74.71c.73 11 2.58 22 .73 32.9s-8.43 21.77-19 24.9c17.53 10.45 41.26 9.35 57.76-2.66 8.79-6.4 15.34-15.33 21.75-24.11a97.86 97.86 0 0 1-13.31 44.75 103.43 103.43 0 0 0 73.51-40.82c4.31-5.81 8.06-12.19 9.72-19.23 3.09-13-1.22-26.51-4.51-39.5a266 266 0 0 1-6.17-33c-.43-3.56-.78-7.22.1-10.7 1-4.07 3.67-7.51 5.64-11.22 5.6-10.54 5.73-23.3 2.86-34.88s-8.49-22.26-14.06-32.81c-4.46-8.46-9.3-17.31-17.46-22.28-5.1-3.1-11-4.39-16.88-5.64l-25.37-5.43c-5.55-1.19-11.26-2.38-16.87-1.51-9.47 1.48-16.14 8.32-22 15.34-4.59 5.46-15.81 15.71-16.6 22.86-.72 6.59 5.1 17.63 6.09 24.58 1.3 9 2.22 6 7.3 11.52 3.21 3.42 5.28 7.37 5.34 12.16","data-name":"Path 329"})),r.createElement("path",{fill:"#fff",fillRule:"evenodd",d:"M280.139 370.832h43.635v17.662h-43.635Z","data-name":"Path 40"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M240.66 428.493a10.38 10.38 0 0 1-8.989-5.195 10.377 10.377 0 0 0 8.988 15.584h10.391v-10.389Z","data-name":"Path 41"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"m287.402 373.625 36.373-2.273v-5.195a10.39 10.39 0 0 0-10.39-10.389h-46.75l-1.3-2.249a1.5 1.5 0 0 0-2.6 0l-1.3 2.249-1.3-2.249a1.5 1.5 0 0 0-2.6 0l-1.3 2.249-1.3-2.249a1.5 1.5 0 0 0-2.6 0l-1.3 2.249h-.034l-2.152-2.151a1.5 1.5 0 0 0-2.508.672l-.696 2.653-2.7-.723a1.5 1.5 0 0 0-1.836 1.837l.722 2.7-2.65.71a1.5 1.5 0 0 0-.673 2.509l2.152 2.152v.033l-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.25 1.282-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3-2.249 1.3a1.5 1.5 0 0 0 0 2.6l2.249 1.3a10.39 10.39 0 0 0 10.389 10.34h62.335a10.39 10.39 0 0 0 10.39-10.39v-41.557l-36.373-2.273a5.53 5.53 0 0 1 0-11.038","data-name":"Path 42"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M302.996 438.882h15.584v-20.779h-15.584Z","data-name":"Path 43"}),r.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M328.97 425.895a3 3 0 0 0-.332.033q-.028-.117-.06-.234a2.594 2.594 0 1 0-2.567-4.455q-.086-.088-.174-.175a2.593 2.593 0 1 0-4.461-2.569q-.115-.031-.231-.06a2.6 2.6 0 1 0-5.128 0q-.116.029-.231.06a2.594 2.594 0 1 0-4.461 2.569 10.384 10.384 0 1 0 17.314 9.992 2.592 2.592 0 1 0 .332-5.161","data-name":"Path 44"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M308.191 407.713h15.584v-10.389h-15.584Z","data-name":"Path 45"}),r.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M328.969 403.818a1.3 1.3 0 1 0 0-2.6 1 1 0 0 0-.166.017l-.03-.117a1.3 1.3 0 0 0-.5-2.5 1.3 1.3 0 0 0-.783.269l-.087-.087a1.3 1.3 0 0 0 .263-.776 1.3 1.3 0 0 0-2.493-.509 5.195 5.195 0 1 0 0 10 1.3 1.3 0 0 0 2.493-.509 1.3 1.3 0 0 0-.263-.776l.087-.087a1.3 1.3 0 0 0 .783.269 1.3 1.3 0 0 0 .5-2.5q.016-.058.03-.117a1 1 0 0 0 .166.017","data-name":"Path 46"}),r.createElement("path",{fillRule:"evenodd",d:"M261.439 372.65a1.3 1.3 0 0 1-1.3-1.3 3.9 3.9 0 0 0-7.792 0 1.3 1.3 0 1 1-2.6 0 6.494 6.494 0 0 1 12.987 0 1.3 1.3 0 0 1-1.3 1.3","data-name":"Path 47"}),r.createElement("path",{fill:"#ffff50",fillRule:"evenodd",d:"M282.217 438.882h31.168a10.39 10.39 0 0 0 10.389-10.389V392.13h-31.168a10.39 10.39 0 0 0-10.389 10.389Z","data-name":"Path 48"}),r.createElement("path",{fillRule:"evenodd",d:"M315.993 408.233h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m0 10.389h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m0 10.389h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m0-25.877h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m0 10.293h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m0 10.389h-25.994a.52.52 0 1 1 0-1.039h25.994a.52.52 0 0 1 0 1.039m7.782-47.993h-.018c-1.605.055-2.365 1.66-3.035 3.077-.7 1.48-1.24 2.443-2.126 2.414-.981-.035-1.542-1.144-2.137-2.317-.683-1.347-1.462-2.876-3.1-2.819-1.582.054-2.344 1.451-3.017 2.684-.715 1.313-1.2 2.112-2.141 2.075-1-.036-1.533-.938-2.149-1.981-.686-1.162-1.479-2.467-3.084-2.423-1.555.053-2.319 1.239-2.994 2.286-.713 1.106-1.213 1.781-2.164 1.741-1.025-.036-1.554-.784-2.167-1.65-.688-.973-1.463-2.074-3.062-2.021a3.82 3.82 0 0 0-2.959 1.879c-.64.812-1.14 1.456-2.2 1.415a.52.52 0 0 0-.037 1.039 3.59 3.59 0 0 0 3.05-1.811c.611-.777 1.139-1.448 2.178-1.483 1-.043 1.47.579 2.179 1.582.674.953 1.438 2.033 2.977 2.089 1.612.054 2.387-1.151 3.074-2.217.614-.953 1.144-1.775 2.156-1.81.931-.035 1.438.7 2.153 1.912.674 1.141 1.437 2.434 3.006 2.491 1.623.056 2.407-1.361 3.09-2.616.592-1.085 1.15-2.109 2.14-2.143.931-.022 1.417.829 2.135 2.249.671 1.326 1.432 2.828 3.026 2.886h.088c1.592 0 2.347-1.6 3.015-3.01.592-1.252 1.152-2.431 2.113-2.479Z","data-name":"Path 49"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M271.828 438.882h20.779v-20.779h-20.779Z","data-name":"Path 50"}),r.createElement("g",{"data-name":"Group 8",transform:"rotate(-14.98 1643.944 -873.93)"},r.createElement("rect",{width:43.906,height:17.333,fill:"#d8d8d8","data-name":"Rectangle 3",rx:2}),r.createElement("g",{fill:"#4a4a4a","data-name":"Group 2",transform:"translate(.728 10.948)"},r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 4",rx:1,transform:"translate(7.985)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 5",rx:1,transform:"translate(10.991)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 6",rx:1,transform:"translate(13.997)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 7",rx:1,transform:"translate(17.003)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 8",rx:1,transform:"translate(20.009)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 9",rx:1,transform:"translate(23.015)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 10",rx:1,transform:"translate(26.021)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 11",rx:1,transform:"translate(29.028)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 12",rx:1,transform:"translate(32.034)"}),r.createElement("path",{fillRule:"evenodd",d:"M.519 0H6.9a.52.52 0 0 1 .521.52v1.5a.52.52 0 0 1-.519.519H.519A.52.52 0 0 1 0 2.017V.519A.52.52 0 0 1 .519 0m35.134 0h6.383a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519h-6.384a.52.52 0 0 1-.519-.519v-1.5A.52.52 0 0 1 35.652 0Z","data-name":"Path 51"})),r.createElement("g",{fill:"#4a4a4a","data-name":"Group 3",transform:"translate(.728 4.878)"},r.createElement("path",{fillRule:"evenodd",d:"M.519 0h2.437a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519H.519A.52.52 0 0 1 0 2.017V.519A.52.52 0 0 1 .519 0","data-name":"Path 52"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 13",rx:1,transform:"translate(3.945)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 14",rx:1,transform:"translate(6.951)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 15",rx:1,transform:"translate(9.958)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 16",rx:1,transform:"translate(12.964)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 17",rx:1,transform:"translate(15.97)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 18",rx:1,transform:"translate(18.976)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 19",rx:1,transform:"translate(21.982)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 20",rx:1,transform:"translate(24.988)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 21",rx:1,transform:"translate(27.994)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 22",rx:1,transform:"translate(31)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 23",rx:1,transform:"translate(34.006)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 24",rx:1,transform:"translate(37.012)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 25",rx:1,transform:"translate(40.018)"})),r.createElement("g",{fill:"#4a4a4a","data-name":"Group 4",transform:"rotate(180 21.642 2.269)"},r.createElement("path",{fillRule:"evenodd",d:"M.519 0h2.437a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519H.519A.52.52 0 0 1 0 2.017V.519A.52.52 0 0 1 .519 0","data-name":"Path 53"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 26",rx:1,transform:"translate(3.945)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 27",rx:1,transform:"translate(6.951)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 28",rx:1,transform:"translate(9.958)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 29",rx:1,transform:"translate(12.964)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 30",rx:1,transform:"translate(15.97)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 31",rx:1,transform:"translate(18.976)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 32",rx:1,transform:"translate(21.982)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 33",rx:1,transform:"translate(24.988)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 34",rx:1,transform:"translate(27.994)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 35",rx:1,transform:"translate(31.001)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 36",rx:1,transform:"translate(34.007)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 37",rx:1,transform:"translate(37.013)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 38",rx:1,transform:"translate(40.018)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 39",rx:1,transform:"translate(3.945)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 40",rx:1,transform:"translate(6.951)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 41",rx:1,transform:"translate(9.958)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 42",rx:1,transform:"translate(12.964)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 43",rx:1,transform:"translate(15.97)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 44",rx:1,transform:"translate(18.976)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 45",rx:1,transform:"translate(21.982)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 46",rx:1,transform:"translate(24.988)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 47",rx:1,transform:"translate(27.994)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 48",rx:1,transform:"translate(31.001)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 49",rx:1,transform:"translate(34.007)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 50",rx:1,transform:"translate(37.013)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 51",rx:1,transform:"translate(40.018)"})),r.createElement("g",{fill:"#4a4a4a","data-name":"Group 6"},r.createElement("path",{fillRule:"evenodd",d:"M1.247 7.883h3.47a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519h-3.47A.52.52 0 0 1 .728 9.9V8.403a.52.52 0 0 1 .519-.52","data-name":"Path 54"}),r.createElement("g",{"data-name":"Group 5",transform:"translate(5.801 7.883)"},r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 52",rx:1}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 53",rx:1,transform:"translate(3.006)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 54",rx:1,transform:"translate(6.012)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 55",rx:1,transform:"translate(9.018)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 56",rx:1,transform:"translate(12.025)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 57",rx:1,transform:"translate(15.031)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 58",rx:1,transform:"translate(18.037)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 59",rx:1,transform:"translate(21.042)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 60",rx:1,transform:"translate(24.049)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 61",rx:1,transform:"translate(27.055)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 62",rx:1,transform:"translate(30.061)"})),r.createElement("path",{fillRule:"evenodd",d:"M39.482 7.883h3.28a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519h-3.281a.52.52 0 0 1-.519-.521V8.403a.52.52 0 0 1 .519-.52Z","data-name":"Path 55"})),r.createElement("g",{fill:"#4a4a4a","data-name":"Group 7",transform:"translate(.728 14.084)"},r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 63",rx:1}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 64",rx:1,transform:"translate(3.006)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 65",rx:1,transform:"translate(6.012)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 66",rx:1,transform:"translate(9.018)"}),r.createElement("path",{fillRule:"evenodd",d:"M12.543 0h14.462a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519H12.543a.52.52 0 0 1-.519-.52V.519A.52.52 0 0 1 12.543 0m15.97 0h1.874a.52.52 0 0 1 .519.519v1.5a.52.52 0 0 1-.519.519h-1.874a.52.52 0 0 1-.519-.519v-1.5A.52.52 0 0 1 28.513 0","data-name":"Path 56"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 67",rx:1,transform:"translate(31.376)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 68",rx:1,transform:"translate(34.382)"}),r.createElement("rect",{width:2.537,height:2.537,"data-name":"Rectangle 69",rx:1,transform:"translate(40.018)"}),r.createElement("path",{d:"M37.199 1.08V.519A.52.52 0 0 1 37.718 0h1.499a.52.52 0 0 1 .519.519v.561Z","data-name":"Path 57"}),r.createElement("path",{d:"M39.737 1.456v.561a.52.52 0 0 1-.519.519h-1.499a.52.52 0 0 1-.519-.519v-.561Z","data-name":"Path 58"})),r.createElement("rect",{width:42.273,height:1.127,fill:"#4a4a4a","data-name":"Rectangle 70",rx:.564,transform:"translate(.915 .556)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 71",opacity:.136,rx:.376,transform:"translate(1.949 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 72",opacity:.136,rx:.376,transform:"translate(5.193 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 73",opacity:.136,rx:.376,transform:"translate(7.688 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 74",opacity:.136,rx:.376,transform:"translate(10.183 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 75",opacity:.136,rx:.376,transform:"translate(12.679 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 76",opacity:.136,rx:.376,transform:"translate(15.797 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 77",opacity:.136,rx:.376,transform:"translate(18.292 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 78",opacity:.136,rx:.376,transform:"translate(20.788 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 79",opacity:.136,rx:.376,transform:"translate(23.283 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 80",opacity:.136,rx:.376,transform:"translate(26.402 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 81",opacity:.136,rx:.376,transform:"translate(28.897 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 82",opacity:.136,rx:.376,transform:"translate(31.393 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 83",opacity:.136,rx:.376,transform:"translate(34.512 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 84",opacity:.136,rx:.376,transform:"translate(37.007 .744)"}),r.createElement("rect",{width:2.37,height:.752,fill:"#d8d8d8","data-name":"Rectangle 85",opacity:.136,rx:.376,transform:"translate(39.502 .744)"})),r.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M302.996 425.895a3 3 0 0 0-.332.033q-.029-.117-.06-.234a2.594 2.594 0 1 0-2.567-4.455q-.086-.088-.174-.175a2.593 2.593 0 1 0-4.461-2.569q-.116-.031-.231-.06a2.6 2.6 0 1 0-5.128 0q-.115.029-.231.06a2.594 2.594 0 1 0-4.461 2.569 10.384 10.384 0 1 0 17.314 9.992 2.592 2.592 0 1 0 .332-5.161","data-name":"Path 59"}),r.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M271.828 407.713h20.779v-10.389h-20.779Z","data-name":"Path 60"}),r.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M297.801 403.818a1.3 1.3 0 1 0 0-2.6 1 1 0 0 0-.166.017l-.03-.117a1.3 1.3 0 0 0-.5-2.5 1.3 1.3 0 0 0-.783.269l-.087-.087a1.3 1.3 0 0 0 .263-.776 1.3 1.3 0 0 0-2.493-.509 5.195 5.195 0 1 0 0 10 1.3 1.3 0 0 0 2.493-.509 1.3 1.3 0 0 0-.263-.776l.087-.087a1.3 1.3 0 0 0 .783.269 1.3 1.3 0 0 0 .5-2.5q.016-.058.03-.117a1 1 0 0 0 .166.017","data-name":"Path 61"}),r.createElement("path",{fillRule:"evenodd",d:"M302.997 365.507a1.4 1.4 0 0 1-.255-.026 1.3 1.3 0 0 1-.244-.073 1.4 1.4 0 0 1-.224-.119 2 2 0 0 1-.2-.161 1.5 1.5 0 0 1-.161-.2 1.3 1.3 0 0 1-.218-.722 1.4 1.4 0 0 1 .026-.255 1.5 1.5 0 0 1 .072-.244 1.4 1.4 0 0 1 .12-.223 1.3 1.3 0 0 1 .358-.358 1.4 1.4 0 0 1 .224-.119 1.3 1.3 0 0 1 .244-.073 1.2 1.2 0 0 1 .509 0 1.3 1.3 0 0 1 .468.192 2 2 0 0 1 .2.161 2 2 0 0 1 .161.2 1.3 1.3 0 0 1 .12.223 1.4 1.4 0 0 1 .1.5 1.32 1.32 0 0 1-.379.919 2 2 0 0 1-.2.161 1.4 1.4 0 0 1-.223.119 1.3 1.3 0 0 1-.5.1m10.389-.649a1.33 1.33 0 0 1-.92-.379 2 2 0 0 1-.161-.2 1.3 1.3 0 0 1-.218-.722 1.33 1.33 0 0 1 .379-.919 2 2 0 0 1 .2-.161 1.4 1.4 0 0 1 .224-.119 1.3 1.3 0 0 1 .244-.073 1.2 1.2 0 0 1 .509 0 1.3 1.3 0 0 1 .468.192 2 2 0 0 1 .2.161 1.33 1.33 0 0 1 .379.919 1.5 1.5 0 0 1-.026.255 1.3 1.3 0 0 1-.073.244 2 2 0 0 1-.119.223 2 2 0 0 1-.161.2 2 2 0 0 1-.2.161 1.3 1.3 0 0 1-.722.218","data-name":"Path 62"}),r.createElement("g",{fill:"#61dafb",transform:"translate(466.3 278.56)"},r.createElement("path",{d:"M263.668 117.179c0-5.827-7.3-11.35-18.487-14.775 2.582-11.4 1.434-20.477-3.622-23.382a7.86 7.86 0 0 0-4.016-1v4a4.15 4.15 0 0 1 2.044.466c2.439 1.4 3.5 6.724 2.672 13.574-.2 1.685-.52 3.461-.914 5.272a87 87 0 0 0-11.386-1.954 87.5 87.5 0 0 0-7.459-8.965c5.845-5.433 11.332-8.41 15.062-8.41V78c-4.931 0-11.386 3.514-17.913 9.611-6.527-6.061-12.982-9.539-17.913-9.539v4c3.712 0 9.216 2.959 15.062 8.356a85 85 0 0 0-7.405 8.947 84 84 0 0 0-11.4 1.972 54 54 0 0 1-.932-5.2c-.843-6.85.2-12.175 2.618-13.592a4 4 0 0 1 2.062-.466v-4a8 8 0 0 0-4.052 1c-5.039 2.9-6.168 11.96-3.568 23.328-11.153 3.443-18.415 8.947-18.415 14.757 0 5.828 7.3 11.35 18.487 14.775-2.582 11.4-1.434 20.477 3.622 23.382a7.9 7.9 0 0 0 4.034 1c4.931 0 11.386-3.514 17.913-9.611 6.527 6.061 12.982 9.539 17.913 9.539a8 8 0 0 0 4.052-1c5.039-2.9 6.168-11.96 3.568-23.328 11.111-3.42 18.373-8.943 18.373-14.752m-23.346-11.96a80 80 0 0 1-2.421 7.083 83 83 0 0 0-2.349-4.3 97 97 0 0 0-2.582-4.2c2.547.377 5.004.843 7.353 1.417Zm-8.212 19.1c-1.4 2.421-2.833 4.716-4.321 6.85a93 93 0 0 1-8.1.359c-2.708 0-5.415-.126-8.069-.341q-2.232-3.2-4.339-6.814-2.044-3.523-3.73-7.136a94 94 0 0 1 3.712-7.154c1.4-2.421 2.833-4.716 4.321-6.85a93 93 0 0 1 8.1-.359c2.708 0 5.415.126 8.069.341q2.232 3.2 4.339 6.814 2.044 3.523 3.73 7.136a101 101 0 0 1-3.712 7.15Zm5.792-2.331a77 77 0 0 1 2.474 7.136 80 80 0 0 1-7.387 1.434c.879-1.381 1.757-2.8 2.582-4.25a96 96 0 0 0 2.329-4.324Zm-18.182 19.128a74 74 0 0 1-4.985-5.738c1.614.072 3.263.126 4.931.126 1.685 0 3.353-.036 4.985-.126a70 70 0 0 1-4.931 5.738m-13.34-10.561c-2.546-.377-5-.843-7.352-1.417a80 80 0 0 1 2.421-7.083c.735 1.434 1.506 2.869 2.349 4.3s1.702 2.837 2.582 4.2m13.25-37.314a74 74 0 0 1 4.985 5.738 111 111 0 0 0-4.931-.126c-1.686 0-3.353.036-4.985.126a70 70 0 0 1 4.931-5.738M206.362 103.8a101 101 0 0 0-4.913 8.55 77 77 0 0 1-2.474-7.136 90 90 0 0 1 7.387-1.414m-16.227 22.449c-6.348-2.708-10.454-6.258-10.454-9.073s4.106-6.383 10.454-9.073c1.542-.663 3.228-1.255 4.967-1.811a86 86 0 0 0 4.034 10.92 85 85 0 0 0-3.981 10.866 54 54 0 0 1-5.021-1.826Zm9.647 25.623c-2.439-1.4-3.5-6.724-2.672-13.574.2-1.686.52-3.461.914-5.272a87 87 0 0 0 11.386 1.954 87.5 87.5 0 0 0 7.459 8.965c-5.845 5.433-11.332 8.41-15.062 8.41a4.3 4.3 0 0 1-2.026-.48Zm42.532-13.663c.843 6.85-.2 12.175-2.618 13.592a4 4 0 0 1-2.062.466c-3.712 0-9.216-2.959-15.062-8.356a85 85 0 0 0 7.405-8.947 84 84 0 0 0 11.4-1.972 50 50 0 0 1 .936 5.22Zm6.9-11.96c-1.542.663-3.228 1.255-4.967 1.811a86 86 0 0 0-4.034-10.92 85 85 0 0 0 3.981-10.866 57 57 0 0 1 5.039 1.829c6.348 2.708 10.454 6.258 10.454 9.073-.017 2.818-4.123 6.386-10.471 9.076Z","data-name":"Path 330"}),r.createElement("path",{d:"M201.718 78.072","data-name":"Path 331"}),r.createElement("circle",{cx:8.194,cy:8.194,r:8.194,"data-name":"Ellipse 112",transform:"translate(211.472 108.984)"}),r.createElement("path",{d:"M237.525 78.018","data-name":"Path 332"})))))}},1213:(e,a,t)=>{t.d(a,{A:()=>F});var l,r,n,c,h,d,m,i,s,f,o,g,E,p,x,v,R,w,u,M,P,y,Z,q,b,A,j,V,H,G,N,_,O,k,S,z,B=t(6540);function D(){return D=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var l in t)({}).hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},D.apply(null,arguments)}const F=e=>{let{title:a,titleId:t,...F}=e;return B.createElement("svg",D({xmlns:"http://www.w3.org/2000/svg",width:1129,height:663,viewBox:"0 0 1129 663","aria-labelledby":t},F),void 0===a?B.createElement("title",{id:t},"Focus on What Matters"):a?B.createElement("title",{id:t},a):null,l||(l=B.createElement("circle",{cx:321,cy:321,r:321,fill:"#f2f2f2"})),r||(r=B.createElement("ellipse",{cx:559,cy:635.5,fill:"#3f3d56",rx:514,ry:27.5})),n||(n=B.createElement("ellipse",{cx:558,cy:627,opacity:.2,rx:460,ry:22})),c||(c=B.createElement("path",{fill:"#3f3d56",d:"M131 152.5h840v50H131z"})),h||(h=B.createElement("path",{fill:"#3f3d56",d:"M131 608.83a21.67 21.67 0 0 0 21.67 21.67h796.66A21.67 21.67 0 0 0 971 608.83V177.5H131ZM949.33 117.5H152.67A21.67 21.67 0 0 0 131 139.17v38.33h840v-38.33a21.67 21.67 0 0 0-21.67-21.67"})),d||(d=B.createElement("path",{d:"M949.33 117.5H152.67A21.67 21.67 0 0 0 131 139.17v38.33h840v-38.33a21.67 21.67 0 0 0-21.67-21.67",opacity:.2})),m||(m=B.createElement("circle",{cx:181,cy:147.5,r:13,fill:"#3f3d56"})),i||(i=B.createElement("circle",{cx:217,cy:147.5,r:13,fill:"#3f3d56"})),s||(s=B.createElement("circle",{cx:253,cy:147.5,r:13,fill:"#3f3d56"})),f||(f=B.createElement("rect",{width:337,height:386,x:168,y:213.5,fill:"#606060",rx:5.335})),o||(o=B.createElement("rect",{width:284,height:22,x:603,y:272.5,fill:"#2e8555",rx:5.476})),g||(g=B.createElement("rect",{width:416,height:15,x:537,y:352.5,fill:"#2e8555",rx:5.476})),E||(E=B.createElement("rect",{width:416,height:15,x:537,y:396.5,fill:"#2e8555",rx:5.476})),p||(p=B.createElement("rect",{width:416,height:15,x:537,y:440.5,fill:"#2e8555",rx:5.476})),x||(x=B.createElement("rect",{width:416,height:15,x:537,y:484.5,fill:"#2e8555",rx:5.476})),v||(v=B.createElement("rect",{width:88,height:26,x:865,y:552.5,fill:"#3ecc5f",rx:7.028})),R||(R=B.createElement("path",{fill:"#3f3d56",d:"M1053.103 506.116a30.1 30.1 0 0 0 3.983-15.266c0-13.797-8.544-24.98-19.083-24.98s-19.082 11.183-19.082 24.98a30.1 30.1 0 0 0 3.983 15.266 31.25 31.25 0 0 0 0 30.532 31.25 31.25 0 0 0 0 30.532 31.25 31.25 0 0 0 0 30.532 30.1 30.1 0 0 0-3.983 15.266c0 13.797 8.543 24.981 19.082 24.981s19.083-11.184 19.083-24.98a30.1 30.1 0 0 0-3.983-15.267 31.25 31.25 0 0 0 0-30.532 31.25 31.25 0 0 0 0-30.532 31.25 31.25 0 0 0 0-30.532"})),w||(w=B.createElement("ellipse",{cx:1038.003,cy:460.318,fill:"#3f3d56",rx:19.083,ry:24.981})),u||(u=B.createElement("ellipse",{cx:1038.003,cy:429.786,fill:"#3f3d56",rx:19.083,ry:24.981})),M||(M=B.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M1109.439 220.845a92 92 0 0 0 7.106-10.461l-50.14-8.235 54.228.403a91.57 91.57 0 0 0 1.746-72.426l-72.755 37.742 67.097-49.321A91.413 91.413 0 1 0 965.75 220.845a91.5 91.5 0 0 0-10.425 16.67l65.087 33.814-69.4-23.292a91.46 91.46 0 0 0 14.738 85.837 91.406 91.406 0 1 0 143.689 0 91.42 91.42 0 0 0 0-113.03"})),P||(P=B.createElement("path",{d:"M946.189 277.36a91 91 0 0 0 19.56 56.514 91.406 91.406 0 1 0 143.69 0c12.25-15.553-163.25-66.774-163.25-56.515",opacity:.1})),y||(y=B.createElement("path",{fill:"#fff",fillRule:"evenodd",d:"M330.12 342.936h111.474v45.12H330.12Z"})),Z||(Z=B.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M229.263 490.241a26.51 26.51 0 0 1-22.963-13.27 26.51 26.51 0 0 0 22.963 39.812h26.541V490.24Z"})),q||(q=B.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"m348.672 350.07 92.922-5.807v-13.27a26.54 26.54 0 0 0-26.541-26.542H295.616l-3.318-5.746a3.83 3.83 0 0 0-6.635 0l-3.318 5.746-3.317-5.746a3.83 3.83 0 0 0-6.636 0l-3.317 5.746-3.318-5.746a3.83 3.83 0 0 0-6.635 0l-3.318 5.746c-.03 0-.056.004-.086.004l-5.497-5.495a3.83 3.83 0 0 0-6.407 1.717l-1.817 6.773-6.89-1.847a3.83 3.83 0 0 0-4.691 4.693l1.844 6.891-6.77 1.814a3.832 3.832 0 0 0-1.72 6.41l5.497 5.497q-.002.041-.004.085l-5.747 3.317a3.83 3.83 0 0 0 0 6.636l5.747 3.317-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.317a3.83 3.83 0 0 0 0 6.636l5.747 3.317-5.747 3.318a3.83 3.83 0 0 0 0 6.636l5.747 3.317-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.317a3.83 3.83 0 0 0 0 6.636l5.747 3.317-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318-5.747 3.317a3.83 3.83 0 0 0 0 6.636l5.747 3.317-5.747 3.318a3.83 3.83 0 0 0 0 6.635l5.747 3.318a26.54 26.54 0 0 0 26.541 26.542h159.249a26.54 26.54 0 0 0 26.541-26.542V384.075l-92.922-5.807a14.126 14.126 0 0 1 0-28.197"})),b||(b=B.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M388.511 516.783h39.812V463.7h-39.812Z"})),A||(A=B.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M454.865 483.606a7 7 0 0 0-.848.085q-.073-.3-.154-.599a6.627 6.627 0 1 0-6.557-11.382q-.22-.225-.445-.446a6.624 6.624 0 1 0-11.397-6.564c-.196-.055-.394-.102-.59-.152a6.64 6.64 0 1 0-13.101 0c-.197.05-.394.097-.59.152a6.628 6.628 0 1 0-11.398 6.564 26.528 26.528 0 1 0 44.232 25.528 6.621 6.621 0 1 0 .848-13.186"})),j||(j=B.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M401.782 437.158h39.812v-26.541h-39.812Z"})),V||(V=B.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M454.865 427.205a3.318 3.318 0 0 0 0-6.635 3 3 0 0 0-.424.042c-.026-.1-.049-.199-.077-.298a3.319 3.319 0 0 0-1.278-6.38 3.28 3.28 0 0 0-2 .688q-.11-.113-.224-.223a3.3 3.3 0 0 0 .672-1.983 3.318 3.318 0 0 0-6.37-1.299 13.27 13.27 0 1 0 0 25.541 3.318 3.318 0 0 0 6.37-1.3 3.3 3.3 0 0 0-.672-1.982q.114-.11.223-.223a3.28 3.28 0 0 0 2.001.688 3.318 3.318 0 0 0 1.278-6.38c.028-.098.05-.199.077-.298a3 3 0 0 0 .424.042"})),H||(H=B.createElement("path",{fillRule:"evenodd",d:"M282.345 347.581a3.32 3.32 0 0 1-3.317-3.318 9.953 9.953 0 1 0-19.906 0 3.318 3.318 0 1 1-6.636 0 16.588 16.588 0 1 1 33.177 0 3.32 3.32 0 0 1-3.318 3.318"})),G||(G=B.createElement("path",{fill:"#ffff50",fillRule:"evenodd",d:"M335.428 516.783h79.625a26.54 26.54 0 0 0 26.541-26.542v-92.895H361.97a26.54 26.54 0 0 0-26.542 26.542Z"})),N||(N=B.createElement("path",{fillRule:"evenodd",d:"M421.714 438.485h-66.406a1.327 1.327 0 0 1 0-2.654h66.406a1.327 1.327 0 0 1 0 2.654m0 26.542h-66.406a1.327 1.327 0 1 1 0-2.654h66.406a1.327 1.327 0 0 1 0 2.654m0 26.541h-66.406a1.327 1.327 0 1 1 0-2.654h66.406a1.327 1.327 0 0 1 0 2.654m0-66.106h-66.406a1.327 1.327 0 0 1 0-2.655h66.406a1.327 1.327 0 0 1 0 2.655m0 26.294h-66.406a1.327 1.327 0 0 1 0-2.654h66.406a1.327 1.327 0 0 1 0 2.654m0 26.542h-66.406a1.327 1.327 0 0 1 0-2.655h66.406a1.327 1.327 0 0 1 0 2.655m19.88-122.607c-.016 0-.03-.008-.045-.007-4.1.14-6.04 4.241-7.753 7.86-1.786 3.783-3.168 6.242-5.432 6.167-2.506-.09-3.94-2.922-5.458-5.918-1.744-3.443-3.734-7.347-7.913-7.201-4.042.138-5.99 3.708-7.706 6.857-1.828 3.355-3.071 5.394-5.47 5.3-2.557-.093-3.916-2.395-5.488-5.06-1.753-2.967-3.78-6.304-7.878-6.19-3.973.137-5.925 3.166-7.648 5.84-1.822 2.826-3.098 4.549-5.527 4.447-2.618-.093-3.97-2.004-5.535-4.216-1.757-2.486-3.737-5.3-7.823-5.163-3.886.133-5.838 2.615-7.56 4.802-1.634 2.075-2.91 3.718-5.611 3.615a1.328 1.328 0 1 0-.096 2.654c4.004.134 6.032-2.389 7.793-4.628 1.562-1.985 2.91-3.698 5.564-3.789 2.556-.108 3.754 1.48 5.567 4.041 1.721 2.434 3.675 5.195 7.606 5.337 4.118.138 6.099-2.94 7.853-5.663 1.569-2.434 2.923-4.535 5.508-4.624 2.38-.088 3.674 1.792 5.5 4.885 1.722 2.916 3.671 6.22 7.68 6.365 4.147.143 6.15-3.477 7.895-6.682 1.511-2.77 2.938-5.388 5.466-5.475 2.38-.056 3.62 2.116 5.456 5.746 1.714 3.388 3.658 7.226 7.73 7.373l.224.004c4.066 0 5.996-4.08 7.704-7.689 1.511-3.198 2.942-6.21 5.397-6.334Z"})),_||(_=B.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M308.887 516.783h53.083V463.7h-53.083Z"})),O||(O=B.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M388.511 483.606a7 7 0 0 0-.848.085c-.05-.2-.098-.4-.154-.599a6.627 6.627 0 1 0-6.557-11.382q-.22-.225-.444-.446a6.624 6.624 0 1 0-11.397-6.564c-.197-.055-.394-.102-.59-.152a6.64 6.64 0 1 0-13.102 0c-.196.05-.394.097-.59.152a6.628 6.628 0 1 0-11.397 6.564 26.528 26.528 0 1 0 44.231 25.528 6.621 6.621 0 1 0 .848-13.186"})),k||(k=B.createElement("path",{fill:"#3ecc5f",fillRule:"evenodd",d:"M308.887 437.158h53.083v-26.541h-53.083Z"})),S||(S=B.createElement("path",{fill:"#44d860",fillRule:"evenodd",d:"M375.24 427.205a3.318 3.318 0 1 0 0-6.635 3 3 0 0 0-.423.042q-.038-.15-.077-.298a3.319 3.319 0 0 0-1.278-6.38 3.28 3.28 0 0 0-2.001.688q-.11-.113-.223-.223a3.3 3.3 0 0 0 .671-1.983 3.318 3.318 0 0 0-6.37-1.299 13.27 13.27 0 1 0 0 25.541 3.318 3.318 0 0 0 6.37-1.3 3.3 3.3 0 0 0-.671-1.982q.113-.11.223-.223a3.28 3.28 0 0 0 2.001.688 3.318 3.318 0 0 0 1.278-6.38c.028-.098.05-.199.077-.298a3 3 0 0 0 .423.042"})),z||(z=B.createElement("path",{fillRule:"evenodd",d:"M388.511 329.334a3.6 3.6 0 0 1-.65-.067 3.3 3.3 0 0 1-.624-.185 3.5 3.5 0 0 1-.572-.306 5 5 0 0 1-.504-.411 4 4 0 0 1-.41-.504 3.28 3.28 0 0 1-.558-1.845 3.6 3.6 0 0 1 .067-.65 4 4 0 0 1 .184-.624 3.5 3.5 0 0 1 .307-.57 3.2 3.2 0 0 1 .914-.916 3.5 3.5 0 0 1 .572-.305 3.3 3.3 0 0 1 .624-.186 3.1 3.1 0 0 1 1.3 0 3.2 3.2 0 0 1 1.195.49 5 5 0 0 1 .504.412 5 5 0 0 1 .411.504 3.4 3.4 0 0 1 .306.571 3.5 3.5 0 0 1 .252 1.274 3.36 3.36 0 0 1-.969 2.349 5 5 0 0 1-.504.411 3.3 3.3 0 0 1-1.845.558m26.542-1.66a3.4 3.4 0 0 1-2.35-.968 5 5 0 0 1-.41-.504 3.28 3.28 0 0 1-.558-1.845 3.39 3.39 0 0 1 .967-2.349 5 5 0 0 1 .505-.411 3.5 3.5 0 0 1 .572-.305 3.3 3.3 0 0 1 .623-.186 3.1 3.1 0 0 1 1.3 0 3.2 3.2 0 0 1 1.195.49 5 5 0 0 1 .504.412 3.4 3.4 0 0 1 .97 2.35 4 4 0 0 1-.067.65 3.4 3.4 0 0 1-.186.623 5 5 0 0 1-.305.57 5 5 0 0 1-.412.505 5 5 0 0 1-.504.412 3.3 3.3 0 0 1-1.844.557"})))}},3693:(e,a,t)=>{t.r(a),t.d(a,{default:()=>E});var l=t(1750),r=t(5739),n=t(1571),c=t(7374),h=t(2409);const d={features:"features_t9lD",featureSvg:"featureSvg_GfXr"};var m=t(4848);const i=[{title:"Easy to Use",Svg:t(4988).A,description:(0,m.jsx)(m.Fragment,{children:"Docusaurus was designed from the ground up to be easily installed and used to get your website up and running quickly."})},{title:"Focus on What Matters",Svg:t(1213).A,description:(0,m.jsxs)(m.Fragment,{children:["Docusaurus lets you focus on your docs, and we'll do the chores. Go ahead and move your docs into the ",(0,m.jsx)("code",{children:"docs"})," directory."]})},{title:"Powered by React",Svg:t(8074).A,description:(0,m.jsx)(m.Fragment,{children:"Extend or customize your website layout by reusing React. Docusaurus can be extended while reusing the same header and footer."})}];function s(e){let{title:a,Svg:t,description:r}=e;return(0,m.jsxs)("div",{className:(0,l.A)("col col--4"),children:[(0,m.jsx)("div",{className:"text--center",children:(0,m.jsx)(t,{className:d.featureSvg,role:"img"})}),(0,m.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,m.jsx)(h.A,{as:"h3",children:a}),(0,m.jsx)("p",{children:r})]})]})}function f(){return(0,m.jsx)("section",{className:d.features,children:(0,m.jsx)("div",{className:"container",children:(0,m.jsx)("div",{className:"row",children:i.map(((e,a)=>(0,m.jsx)(s,{...e},a)))})})})}const o={heroBanner:"heroBanner_qdFl",buttons:"buttons_AeoN"};function g(){const{siteConfig:e}=(0,n.A)();return(0,m.jsx)("header",{className:(0,l.A)("hero hero--primary",o.heroBanner),children:(0,m.jsxs)("div",{className:"container",children:[(0,m.jsx)(h.A,{as:"h1",className:"hero__title",children:e.title}),(0,m.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,m.jsx)("div",{className:o.buttons,children:(0,m.jsx)(r.A,{className:"button button--secondary button--lg",to:"/docs/intro",children:"Docusaurus Tutorial - 5min \u23f1\ufe0f"})})]})})}function E(){const{siteConfig:e}=(0,n.A)();return(0,m.jsxs)(c.A,{title:`Hello from ${e.title}`,description:"Description will go into a meta tag in <head />",children:[(0,m.jsx)(g,{}),(0,m.jsx)("main",{children:(0,m.jsx)(f,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.db3fb927.js b/assets/js/1df93b7f.db3fb927.js new file mode 100644 index 0000000000..3bdb4e4fb4 --- /dev/null +++ b/assets/js/1df93b7f.db3fb927.js @@ -0,0 +1 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["48706"],{37838:function(e,t,a){e.exports={src:{srcSet:a.p+"assets/ideal-img/christopher-chedeau.a975949.200.jpg 200w",images:[{path:a.p+"assets/ideal-img/christopher-chedeau.a975949.200.jpg",width:200,height:200}],src:a.p+"assets/ideal-img/christopher-chedeau.a975949.200.jpg",toString:function(){return a.p+"assets/ideal-img/christopher-chedeau.a975949.200.jpg"},placeholder:void 0,width:200,height:200},preSrc:"data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAKAAoDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQIE/8QAIBAAAQMEAwEBAAAAAAAAAAAAAQIDEQAEEiEFBhMicf/EABQBAQAAAAAAAAAAAAAAAAAAAAT/xAAZEQACAwEAAAAAAAAAAAAAAAAAAgEREiH/2gAMAwEAAhEDEQA/ANPduxrtXGLKzafdu/p8ukuNkBAxSAlMghTn1P7R7PduBLLZuONT7FIzygHKNyI1ugHnXBzSFBagrxxkHcSdVCmmyokoSSTJJFPm46GVFrJ//9k="}},38776:function(e,t,a){e.exports={src:{srcSet:a.p+"assets/ideal-img/hector-ramos.957d17a.200.jpg 200w",images:[{path:a.p+"assets/ideal-img/hector-ramos.957d17a.200.jpg",width:200,height:200}],src:a.p+"assets/ideal-img/hector-ramos.957d17a.200.jpg",toString:function(){return a.p+"assets/ideal-img/hector-ramos.957d17a.200.jpg"},placeholder:void 0,width:200,height:200},preSrc:"data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAKAAoDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAwQGB//EACYQAQABAwIDCQAAAAAAAAAAAAECAwQFABEGEnEHExQhN0FCUaH/xAAVAQEBAAAAAAAAAAAAAAAAAAAEBf/EABsRAAEEAwAAAAAAAAAAAAAAAAEAAgMhEzFB/9oADAMBAAIRAxEAPwCSs+JsfZ46ta0o29aaJGrKjsk9xGKnMAxP3QLjN5HxFXnxVZlzO73J5u/TTfaR6jXUfi3tKSeysIK9VXWrypwZKwiu/wBamiMRWw7SSMlHlL//2Q=="}},67213:function(e,t,a){e.exports={src:{srcSet:a.p+"assets/ideal-img/ricky-vetter.b237586.200.jpg 200w",images:[{path:a.p+"assets/ideal-img/ricky-vetter.b237586.200.jpg",width:200,height:200}],src:a.p+"assets/ideal-img/ricky-vetter.b237586.200.jpg",toString:function(){return a.p+"assets/ideal-img/ricky-vetter.b237586.200.jpg"},placeholder:void 0,width:200,height:200},preSrc:"data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAKAAoDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQQG/8QAIBAAAgEDBQEBAAAAAAAAAAAAAQIDBAURABITITEiYf/EABQBAQAAAAAAAAAAAAAAAAAAAAP/xAAYEQADAQEAAAAAAAAAAAAAAAAAAQIRIv/aAAwDAQACEQMRAD8A3N4udYtSKiK4TxceOONZgsIBwByrtJOWyPR+aQa/puP2R35qK+00BrrETDFkFCDsHWWGdC10aLW1AVFAEjAADzvQuMY1Vyj/2Q=="}},54208:function(e,t,a){"use strict";a.d(t,{Z:()=>n});var s=a(67294),o=function(){return(o=Object.assign||function(e){for(var t,a=1,s=arguments.length;a<s;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},n=s.forwardRef(function(e,t){var a=s.useState(!1),n=a[0],r=a[1],i=s.useState(!1),c=i[0],l=i[1],d=encodeURIComponent(e.id),h="string"==typeof e.playlistCoverId?encodeURIComponent(e.playlistCoverId):null,u=e.title,m=e.poster||"hqdefault",g="&".concat(e.params)||"",p=e.muted?"&mute=1":"",A=e.announce||"Watch",b=e.webp?"webp":"jpg",x=e.webp?"vi_webp":"vi",w=e.thumbnail||(e.playlist?"https://i.ytimg.com/".concat(x,"/").concat(h,"/").concat(m,".").concat(b):"https://i.ytimg.com/".concat(x,"/").concat(d,"/").concat(m,".").concat(b)),j=e.noCookie?"https://www.youtube-nocookie.com":"https://www.youtube.com";j=e.cookie?"https://www.youtube.com":"https://www.youtube-nocookie.com";var f=e.playlist?"".concat(j,"/embed/videoseries?autoplay=1").concat(p,"&list=").concat(d).concat(g):"".concat(j,"/embed/").concat(d,"?autoplay=1&state=1").concat(p).concat(g),y=e.activatedClass||"lyt-activated",v=e.adNetwork||!1,C=e.aspectHeight||9,D=e.aspectWidth||16,k=e.iframeClass||"",E=e.playerClass||"lty-playbtn",I=e.wrapperClass||"yt-lite",B=e.onIframeAdded||function(){},K=e.rel?"prefetch":"preload",N=e.containerElement||"article";return s.useEffect(function(){c&&B()},[c]),s.createElement(s.Fragment,null,s.createElement("link",{rel:K,href:w,as:"image"}),s.createElement(s.Fragment,null,n&&s.createElement(s.Fragment,null,s.createElement("link",{rel:"preconnect",href:j}),s.createElement("link",{rel:"preconnect",href:"https://www.google.com"}),v&&s.createElement(s.Fragment,null,s.createElement("link",{rel:"preconnect",href:"https://static.doubleclick.net"}),s.createElement("link",{rel:"preconnect",href:"https://googleads.g.doubleclick.net"})))),s.createElement(N,{onPointerOver:function(){n||r(!0)},onClick:function(){c||l(!0)},className:"".concat(I," ").concat(c?y:""),"data-title":u,style:o({backgroundImage:"url(".concat(w,")")},{"--aspect-ratio":"".concat(C/D*100,"%")})},s.createElement("button",{type:"button",className:E,"aria-label":"".concat(A," ").concat(u)}),c&&s.createElement("iframe",{ref:t,className:k,title:u,width:"560",height:"315",frameBorder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,src:f})))})},21811:function(e,t,a){"use strict";a.d(t,{Z:()=>i});var s=a(85893);a(67294);var o=a(66222),n=a(77827);function r(e,t){switch(e){case"noicon":case"loaded":return null;case"loading":return(0,n.I)({id:"theme.IdealImageMessage.loading",message:"Loading...",description:"When the full-scale image is loading"});case"load":{let{pickedSrc:e}=t,{size:a}=e,s=a?` (${function(e){let t=["B","KB","MB","GB","TB"];if(0===e)return"n/a";let a=Math.floor(Math.log(e)/Math.log(1024));return 0===a?`${e} ${t[a]}`:`${(e/1024**a).toFixed(1)} ${t[a]}`}(a)})`:"";return(0,n.I)({id:"theme.IdealImageMessage.load",message:"Click to load{sizeMessage}",description:"To prompt users to load the full image. sizeMessage is a parenthesized size figure."},{sizeMessage:s})}case"offline":return(0,n.I)({id:"theme.IdealImageMessage.offline",message:"Your browser is offline. Image not loaded",description:"When the user is viewing an offline document"});case"error":{let{loadInfo:e}=t;if(404===e)return(0,n.I)({id:"theme.IdealImageMessage.404error",message:"404. Image not found",description:"When the image is not found"});return(0,n.I)({id:"theme.IdealImageMessage.error",message:"Error. Click to reload",description:"When the image fails to load for unknown error"})}default:throw Error(`Wrong icon: ${e}`)}}function i(e){let{img:t,...a}=e;return"string"==typeof t||"default"in t?(0,s.jsx)("img",{src:"string"==typeof t?t:t.default,...a}):(0,s.jsx)(o.default,{...a,height:t.src.height??100,width:t.src.width??100,placeholder:{lqip:t.preSrc},src:t.src.src,srcSet:t.src.images.map(e=>({...e,src:e.path})),getMessage:r})}},11296:function(e,t,a){"use strict";a.r(t),a.d(t,{default:()=>E});var s=a(85893),o=a(67294),n=a(90496),r=a(54208),i=a(35363),c=a(77827),l=a(8156),d=a(83631),h=a(21811),u=a(88408);let m={tweet:"tweet_x2tn",tweetMeta:"tweetMeta_fAxr"};function g(e){let{url:t,handle:a,name:o,content:r,date:c,githubUsername:l}=e;return(0,s.jsxs)("div",{className:(0,n.Z)("card",m.tweet),children:[(0,s.jsx)("div",{className:"card__header",children:(0,s.jsxs)("div",{className:"avatar",children:[(0,s.jsx)("img",{alt:o,className:"avatar__photo",src:`https://unavatar.io/x/${a}?fallback=https://github.com/${l}.png`,width:"48",height:"48",loading:"lazy"}),(0,s.jsxs)("div",{className:(0,n.Z)("avatar__intro",m.tweetMeta),children:[(0,s.jsx)("strong",{className:"avatar__name",children:o}),(0,s.jsxs)("span",{children:["@",a]})]})]})}),(0,s.jsx)("div",{className:(0,n.Z)("card__body",m.tweet),children:r}),(0,s.jsx)("div",{className:"card__footer",children:(0,s.jsx)(i.Z,{className:(0,n.Z)(m.tweetMeta,m.tweetDate),to:t,children:c})})]})}let p=[{url:"https://x.com/acemarke/status/1452725153998245891",handle:"acemarke",name:"Mark Erikson",date:"Oct 26, 2021",content:(0,s.jsx)(s.Fragment,{children:"We've been using Docusaurus for all the Redux org docs sites for the last couple years, and it's great! We've been able to focus on content, customize some presentation and features, and It Just Works."}),showOnHomepage:!0,githubUsername:"markerikson"},{url:"https://x.com/arcanis/status/1351620354561732608",handle:"arcanis",name:"Ma\xebl",date:"Jan 20, 2021",content:(0,s.jsx)(s.Fragment,{children:"I've used Docusaurus for two websites this year, and I've been very happy about the v2. Looks good, and simple to setup."}),showOnHomepage:!0,githubUsername:"arcanis"},{url:"https://x.com/maxlynch/status/1375113166007455748",handle:"maxlynch",name:"Max Lynch",date:"Mar 25, 2021",content:(0,s.jsx)(s.Fragment,{children:"Docusaurus v2 doubles as a really nice little static site generator tool for content-focused sites, love it \uD83D\uDC4F"}),showOnHomepage:!0,githubUsername:"mlynch"},{url:"https://x.com/supabase/status/1328960757149671425",handle:"supabase",name:"Supabase",date:"Nov 18, 2020",content:(0,s.jsxs)(s.Fragment,{children:["We've been using V2 since January and it has been great - we spend less time building documentation and more time building \uD83D\uDEF3",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Thanks ",(0,s.jsx)("b",{children:"@docusaurus"})," team \uD83E\uDD96"]}),showOnHomepage:!0,githubUsername:"supabase"},{url:"https://x.com/paularmstrong/status/1387059593373700100",handle:"paularmstrong",name:"Paul Armstrong",date:"Apr 27, 2021",content:(0,s.jsx)(s.Fragment,{children:"Continue to be impressed and excited about Docusaurus v2 alpha releases. Already using the sidebar items generator to help monorepo workspace devs create their own doc pages without any configuration needed."}),showOnHomepage:!0,githubUsername:"paularmstrong"},{url:"https://x.com/sanketsahu/status/1328677366642528257",handle:"sanketsahu",name:"Sanket Sahu",date:"Nov 17, 2020",content:(0,s.jsxs)(s.Fragment,{children:[".",(0,s.jsx)("b",{children:"@docusaurus"})," \u2764\uFE0F"]}),showOnHomepage:!1,githubUsername:"sanketsahu"},{url:"https://x.com/debs_obrien/status/1374615572298801155",handle:"debs_obrien",name:"Debbie O'Brien",date:"Mar 24, 2021",content:(0,s.jsxs)(s.Fragment,{children:["Been doing a lot of work with ",(0,s.jsx)("b",{children:"@docusaurus"})," lately and I have to say it is really fun to work with. A lot of really cool features. I love that you can easily reuse content by creating a markdown file and importing it as a component. \uD83D\uDD25"]}),showOnHomepage:!0,githubUsername:"debs-obrien"},{url:"https://x.com/Dr_Electron/status/1443635328376508433",handle:"Dr_Electron",name:"Dr.Electron",date:"Oct 11, 2021",content:(0,s.jsxs)(s.Fragment,{children:["The #IOTA wiki is now part of the ",(0,s.jsx)("b",{children:"@docusaurus"})," showcase. We even have the honor of being a favorite. We are really happy that we found this project. It helped us a lot to improve the documentation. And we still have a lot of plans with things like tutorials, versioning and i18n."]}),showOnHomepage:!0,githubUsername:"Dr-Electron"},{url:"https://x.com/kentcdodds/status/1323806816019468288",handle:"kentcdodds",name:"Kent C. Dodds",date:"Nov 4, 2020",content:(0,s.jsxs)(s.Fragment,{children:["https://testing-library.com just got a nice update! We're now on the latest version of ",(0,s.jsx)("b",{children:"@docusaurus"})," thanks to @matanbobi, @TensorNo, and @nickemccurdy \uD83D\uDC99",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"My favorite new feature: dark mode!! \uD83C\uDF11/\u2600\uFE0F"]}),showOnHomepage:!0,githubUsername:"kentcdodds"},{url:"https://x.com/bantg/status/1463608561368457225",handle:"bantg",name:"banteg",date:"Nov 25, 2021",content:(0,s.jsx)(s.Fragment,{children:"I like docusaurus much more, it's so snappy."}),showOnHomepage:!1,githubUsername:"banteg"},{url:"https://x.com/swyx/status/1418405515684581378",handle:"swyx",name:"swyx",date:"Jul 23, 2021",content:(0,s.jsxs)(s.Fragment,{children:["Happy to share Temporal's first open source sponsorship \u2014 of"," ",(0,s.jsx)("b",{children:"@docusaurus"}),"!",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"@temporalio uses it for https://docs.temporal.io, and it has been a huge boon to our docs team. @sebastienlorber is an incredible steward of the project, support it if you can!"]}),showOnHomepage:!0,githubUsername:"sw-yx"},{url:"https://x.com/rachelnabors/status/1478490902037467137",handle:"rachelnabors",name:"R 'Nearest' Nabors \uD83D\uDC99",date:"Jan 5, 2022",content:(0,s.jsxs)(s.Fragment,{children:["I hear ",(0,s.jsx)("b",{children:"@docusaurus"})," is a good tool for that!"]}),showOnHomepage:!1,githubUsername:"rachelnabors"},{url:"https://x.com/dabit3/status/1394685348375052295",handle:"dabit3",name:"Nader Dabit",date:"May 19, 2021",content:(0,s.jsx)(s.Fragment,{children:"I did try Docusaurus, and I really liked it! Still investigating various options but it's probably at the top of my list for sure"}),showOnHomepage:!1,githubUsername:"dabit3"},{url:"https://x.com/johnny_reilly/status/1469238609266028545",handle:"johnny_reilly",name:"John Reilly",date:"Dec 10, 2021",content:(0,s.jsxs)(s.Fragment,{children:["I \u2764\uFE0F ",(0,s.jsx)("b",{children:"@docusaurus"})," - it makes it so easy to spin up docs, blogs and simple websites. I've used it to:",(0,s.jsx)("br",{}),(0,s.jsx)("br",{})," \u2705 Replatform my blog with GitHub pages ",(0,s.jsx)("br",{}),"\u2705 Build a website for a local business ",(0,s.jsx)("br",{}),"\u2705 Build internal facing blog/docs sites with @AzureStaticApps"]}),showOnHomepage:!1,githubUsername:"johnnyreilly"},{url:"https://x.com/tinkertim/status/1423358665726304260",handle:"tinkertim",name:"Tim Post \uD83D\uDC89\uD83D\uDC89\uD83D\uDC89",date:"Aug 6, 2021",content:(0,s.jsxs)(s.Fragment,{children:["Docusaurus is mind-bendingly flexible. ",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),'"Wait! We need to have two products documented on the same site and both need to be translated into multiple languages!"',(0,s.jsx)("br",{}),(0,s.jsx)("br",{})," ... and that's actually easy. Loving it!"]}),showOnHomepage:!1,githubUsername:"tinkertim"},{url:"https://x.com/sebastienlorber/status/1321784071815680000",handle:"sebastienlorber",name:"Sebastien Lorber",date:"Oct 29, 2020",content:(0,s.jsxs)(s.Fragment,{children:["\uD83E\uDD73\uD83C\uDF8A\uD83E\uDD73\uD83C\uDF8A\uD83E\uDD73\uD83C\uDF8A\uD83E\uDD73\uD83C\uDF8A The @reactnative website just migrated to"," ",(0,s.jsx)("b",{children:"@docusaurus"}),"v2",(0,s.jsx)("br",{}),"Some obvious changes: ",(0,s.jsx)("br",{}),"\uD83C\uDF14 Dark mode ",(0,s.jsx)("br",{}),"\u26A1\uFE0F SPA navigation / prefetching ",(0,s.jsx)("br",{}),"\uD83E\uDDD0 @algolia DocSearch v3 ",(0,s.jsx)("br",{}),"\uD83D\uDCA5 @mdx_js enable many new possibilities ",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Check it out: https://reactnative.dev"]}),showOnHomepage:!1,githubUsername:"slorber"},{url:"https://x.com/iansu/status/1184149586048245760",handle:"iansu",name:"Ian Sutherland",date:"Oct 16, 2019",content:(0,s.jsxs)(s.Fragment,{children:["We just updated the Create React App docs to Docusaurus v2. Now with dark mode! \uD83D\uDE0E",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Thanks to the ",(0,s.jsx)("b",{children:"@docusaurus"})," team for their help! \u2764\uFE0F",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"https://create-react-app.dev"]}),showOnHomepage:!1,githubUsername:"iansu"},{url:"https://x.com/mweststrate/status/1181276252293853186",handle:"mweststrate",name:"Michel Weststrate",date:"Oct 8, 2019",content:(0,s.jsxs)(s.Fragment,{children:["New #mobx docs are online! More modern, fixing many UI issues.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"\uD83D\uDC4F @cloverich did the awesome job of migrating from ancient gitbook -> ",(0,s.jsx)("b",{children:"@docusaurus"}),"! \uD83D\uDC4F ",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"No real content updates yet, but contributing and publishing has become way easier"]}),showOnHomepage:!1,githubUsername:"mweststrate"},{url:"https://x.com/verdaccio_npm/status/1420187249145118722",handle:"verdaccio_npm",name:"verdaccio",date:"Jul 28, 2021",content:(0,s.jsxs)(s.Fragment,{children:["The new website has landed \uD83D\uDE80 powered by ",(0,s.jsx)("b",{children:"@docusaurus"})," v2 and made by @_semoal kudos to him \uD83D\uDC4F #verdaccio #nodejs awesome contribution \u2764\uFE0F\u200D\uD83D\uDD25 (video made with react remotion @JNYBGR ) all Open Source and hosted on @Netlify https://verdaccio.org"]}),showOnHomepage:!1,githubUsername:"verdaccio"},{url:"https://x.com/yangshunz/status/1284536949718478848",handle:"yangshunz",name:"Yangshun Tay",date:"Jul 19, 2020",content:(0,s.jsxs)(s.Fragment,{children:["I made a ",(0,s.jsx)("b",{children:"@docusaurus"})," website for answers to the H5BP Front End Interview Questions! Hopefully it makes the browsing experience easier - https://frontendinterviewhandbook.com"]}),showOnHomepage:!1,githubUsername:"yangshun"},{url:"https://x.com/pierregillesl/status/1372839188698001408",handle:"pierregillesl",name:"Pierre-Gilles Leymarie",date:"Mar 19, 2021",content:(0,s.jsxs)(s.Fragment,{children:["Just upgraded our website to ",(0,s.jsx)("b",{children:"@docusaurus"})," latest with internationalization support \uD83E\uDD73",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Before that, we had to build 2 separate versions of the website to get it in English + French.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Now, it's working out of the box, with proper meta tags for SEO \uD83D\uDC4C"]}),showOnHomepage:!1,githubUsername:"Pierre-Gilles"},{url:"https://x.com/biantris_/status/1480259279487741953",handle:"biantris_",name:"biazita",date:"Jan 10, 2022",content:(0,s.jsxs)(s.Fragment,{children:["Today I tried ",(0,s.jsx)("b",{children:"@docusaurus"})," in a project, I really like the ease and speed of developing with it \\o/"]}),showOnHomepage:!1,githubUsername:"biantris"}],A=[{thumbnail:a(37838),name:'Christopher "vjeux" Chedeau',title:(0,c.I)({id:"homepage.quotes.christopher-chedeau.title",message:"Lead Prettier Developer",description:"Title of quote of Christopher Chedeau on the home page"}),text:(0,s.jsx)(c.Z,{id:"homepage.quotes.christopher-chedeau",description:"Quote of Christopher Chedeau on the home page",children:"I've helped open source many projects at Facebook and every one needed a website. They all had very similar constraints: the documentation should be written in markdown and be deployed via GitHub pages. I\u2019m so glad that Docusaurus now exists so that I don\u2019t have to spend a week each time spinning up a new one."})},{thumbnail:a(38776),name:"Hector Ramos",title:(0,c.I)({id:"homepage.quotes.hector-ramos.title",message:"Lead React Native Advocate",description:"Title of quote of Hector Ramos on the home page"}),text:(0,s.jsx)(c.Z,{id:"homepage.quotes.hector-ramos",description:"Quote of Hector Ramos on the home page",children:"Open source contributions to the React Native docs have skyrocketed after our move to Docusaurus. The docs are now hosted on a small repo in plain markdown, with none of the clutter that a typical static site generator would require. Thanks Slash!"})},{thumbnail:a(67213),name:"Ricky Vetter",title:(0,c.I)({id:"homepage.quotes.risky-vetter.title",message:"ReasonReact Developer",description:"Title of quote of Ricky Vetter on the home page"}),text:(0,s.jsx)(c.Z,{id:"homepage.quotes.risky-vetter",description:"Quote of Ricky Vetter on the home page",children:"Docusaurus has been a great choice for the ReasonML family of projects. It makes our documentation consistent, i18n-friendly, easy to maintain, and friendly for new contributors."})}],b=[{title:(0,c.I)({message:"Powered by MDX",id:"homepage.features.powered-by-mdx.title"}),image:{src:"/img/undraw_typewriter.svg",width:1009.54,height:717.96},text:(0,s.jsx)(c.Z,{id:"homepage.features.powered-by-mdx.text",children:"Save time and focus on text documents. Simply write docs and blog posts with MDX, and Docusaurus builds them into static HTML files ready to be served. You can even embed React components in your Markdown thanks to MDX."})},{title:(0,c.I)({message:"Built Using React",id:"homepage.features.built-using-react.title"}),image:{src:"/img/undraw_react.svg",width:1108,height:731.18},text:(0,s.jsx)(c.Z,{id:"homepage.features.built-using-react.text",children:"Extend and customize your project's layout by writing React components. Leverage the pluggable architecture, and design your own site while reusing the same data created by Docusaurus plugins."})},{title:(0,c.I)({message:"Ready for Translations",id:"homepage.features.ready-for-translations.title"}),image:{src:"/img/undraw_around_the_world.svg",width:1137,height:776.59},text:(0,s.jsx)(c.Z,{id:"homepage.features.ready-for-translations.text",children:"Localization comes out-of-the-box. Use git, Crowdin, or any other translation manager to translate your docs and deploy them individually."})},{title:(0,c.I)({message:"Document Versioning",id:"homepage.features.document-versioning.title"}),image:{src:"/img/undraw_version_control.svg",width:1038.23,height:693.31},text:(0,s.jsx)(c.Z,{id:"homepage.features.document-versioning.text",children:"Support users on all versions of your project. Document versioning helps you keep documentation in sync with project releases."})},{title:(0,c.I)({message:"Content Search",id:"homepage.features.content-search.title"}),image:{src:"/img/undraw_algolia.svg",width:1137.97,height:736.21},text:(0,s.jsx)(c.Z,{id:"homepage.features.content-search.text",children:"Make it easy for your community to find what they need in your documentation. We proudly support Algolia documentation search."})}];var x=a(57922);let w="section_rC2D";function j(){return(0,s.jsx)("div",{className:"hero_syme","data-theme":"dark",children:(0,s.jsxs)("div",{className:"heroInner_VWeJ",children:[(0,s.jsxs)(x.Z,{as:"h1",className:"heroProjectTagline_EkV5",children:[(0,s.jsx)("img",{alt:(0,c.I)({message:"Docusaurus with Keytar"}),className:"heroLogo_jM6J",src:(0,d.ZP)("/img/docusaurus_keytar.svg"),width:"200",height:"200"}),(0,s.jsx)("span",{className:"heroTitleTextHtml_zYwv",dangerouslySetInnerHTML:{__html:(0,c.I)({id:"homepage.hero.title",message:"Build <b>optimized</b> websites <b>quickly</b>, focus on your <b>content</b>",description:"Home page hero title, can contain simple html tags"})}})]}),(0,s.jsxs)("div",{className:"indexCtas_hUA_",children:[(0,s.jsx)(i.Z,{className:"button button--primary",to:"/docs",children:(0,s.jsx)(c.Z,{children:"Get Started"})}),(0,s.jsx)(i.Z,{className:"button button--info",to:"https://docusaurus.new",children:(0,s.jsx)(c.Z,{children:"Try a Demo"})}),(0,s.jsx)("span",{className:"indexCtasGitHubButtonWrapper_AOht",children:(0,s.jsx)("iframe",{className:"indexCtasGitHubButton_sMIS",src:"https://ghbtns.com/github-btn.html?user=facebook&repo=docusaurus&type=star&count=true&size=large",width:160,height:30,title:"GitHub Stars"})})]})]})})}function f(){let e=[[],[],[]];return p.filter(e=>e.showOnHomepage).forEach((t,a)=>e[a%3].push(t)),(0,s.jsx)("div",{className:(0,n.Z)(w,"sectionAlt_XiGz"),children:(0,s.jsxs)("div",{className:"container",children:[(0,s.jsx)(x.Z,{as:"h2",className:(0,n.Z)("margin-bottom--lg","text--center"),children:(0,s.jsx)(c.Z,{children:"Loved by many engineers"})}),(0,s.jsx)("div",{className:(0,n.Z)("row","tweetsSection_Fqsy"),children:e.map((e,t)=>(0,s.jsx)("div",{className:"col col--4",children:e.map(e=>(0,o.createElement)(g,{...e,key:e.url}))},t))})]})})}function y(){return(0,s.jsx)("div",{className:(0,n.Z)(w),children:(0,s.jsx)("div",{className:"container",children:(0,s.jsx)("div",{className:"row",children:A.map(e=>(0,s.jsxs)("div",{className:"col",children:[(0,s.jsxs)("div",{className:"avatar avatar--vertical margin-bottom--sm",children:[(0,s.jsx)(h.Z,{alt:e.name,className:"avatar__photo avatar__photo--xl",img:e.thumbnail,style:{overflow:"hidden"}}),(0,s.jsxs)("div",{className:"avatar__intro padding-top--sm",children:[(0,s.jsx)("div",{className:"avatar__name",children:e.name}),(0,s.jsx)("small",{className:"avatar__subtitle",children:e.title})]})]}),(0,s.jsx)("p",{className:"text--center text--italic padding-horiz--md",children:e.text})]},e.name))})})})}function v(){return(0,s.jsx)("div",{className:"container text--center margin-top--xl",children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col",children:[(0,s.jsx)(x.Z,{as:"h2",children:(0,s.jsx)(c.Z,{children:"Check it out in the intro video"})}),(0,s.jsx)("div",{className:"video-container",children:(0,s.jsx)(r.Z,{id:"_An9EsKPhp0",params:"autoplay=1&autohide=1&showinfo=0&rel=0",title:"Explain Like I'm 5: Docusaurus",poster:"maxresdefault",webp:!0})})]})})})}function C(e){let{feature:t,className:a}=e,{withBaseUrl:o}=(0,d.Cg)();return(0,s.jsxs)("div",{className:(0,n.Z)("col",a),children:[(0,s.jsx)("img",{className:"featureImage_yA8i",alt:t.title,width:Math.floor(t.image.width),height:Math.floor(t.image.height),src:o(t.image.src),loading:"lazy"}),(0,s.jsx)(x.Z,{as:"h3",className:(0,n.Z)("featureHeading_TLGJ"),children:t.title}),(0,s.jsx)("p",{className:"padding-horiz--md",children:t.text})]})}function D(){let e=b.slice(0,3),t=b.slice(3);return(0,s.jsxs)("div",{className:"container text--center",children:[(0,s.jsx)("div",{className:"row margin-top--lg margin-bottom--lg",children:e.map((e,t)=>(0,s.jsx)(C,{feature:e},t))}),(0,s.jsx)("div",{className:"row",children:t.map((e,t)=>(0,s.jsx)(C,{feature:e,className:(0,n.Z)("col--4",0===t&&"col--offset-2")},t))})]})}function k(){let e=l.Z().siteConfig.customFields?.announcedVersion;return(0,s.jsx)("div",{className:"topBanner_JYZy",children:(0,s.jsxs)("div",{className:"topBannerTitle_nAZL",children:["\uD83C\uDF89\xa0",(0,s.jsx)(i.Z,{to:`/blog/releases/${e}`,className:"topBannerTitleText_Ferb",children:(0,s.jsx)(c.Z,{id:"homepage.banner.launch.newVersion",values:{newVersion:e},children:"Docusaurus\xa0{newVersion} is\xa0out!\uFE0F"})}),"\xa0\uD83E\uDD73"]})})}function E(){let{siteConfig:{customFields:e,tagline:t}}=(0,l.Z)(),{description:a}=e;return(0,s.jsx)(u.Z,{title:t,description:a,children:(0,s.jsxs)("main",{children:[(0,s.jsx)(k,{}),(0,s.jsx)(j,{}),(0,s.jsxs)("div",{className:w,children:[(0,s.jsx)(D,{}),(0,s.jsx)(v,{})]}),(0,s.jsx)(f,{}),(0,s.jsx)(y,{})]})})}}}]); \ No newline at end of file diff --git a/assets/js/1e4232ab.a7cddceb.js b/assets/js/1e4232ab.a7cddceb.js deleted file mode 100644 index 506e3c1bba..0000000000 --- a/assets/js/1e4232ab.a7cddceb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[1953],{1e3:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"tutorial-basics/create-a-document","title":"Create a Document","description":"Documents are groups of pages connected through:","source":"@site/docs/tutorial-basics/create-a-document.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/create-a-document","permalink":"/docs/tutorial-basics/create-a-document","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-document.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Create a Page","permalink":"/docs/tutorial-basics/create-a-page"},"next":{"title":"Create a Blog Post","permalink":"/docs/tutorial-basics/create-a-blog-post"}}');var r=s(4848),a=s(3023);const o={sidebar_position:2},i="Create a Document",c={},l=[{value:"Create your first Doc",id:"create-your-first-doc",level:2},{value:"Configure the Sidebar",id:"configure-the-sidebar",level:2}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"create-a-document",children:"Create a Document"})}),"\n",(0,r.jsxs)(t.p,{children:["Documents are ",(0,r.jsx)(t.strong,{children:"groups of pages"})," connected through:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["a ",(0,r.jsx)(t.strong,{children:"sidebar"})]}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.strong,{children:"previous/next navigation"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.strong,{children:"versioning"})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"create-your-first-doc",children:"Create your first Doc"}),"\n",(0,r.jsxs)(t.p,{children:["Create a Markdown file at ",(0,r.jsx)(t.code,{children:"docs/hello.md"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-md",metastring:'title="docs/hello.md"',children:"# Hello\n\nThis is my **first Docusaurus document**!\n"})}),"\n",(0,r.jsxs)(t.p,{children:["A new document is now available at ",(0,r.jsx)(t.a,{href:"http://localhost:3000/docs/hello",children:"http://localhost:3000/docs/hello"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"configure-the-sidebar",children:"Configure the Sidebar"}),"\n",(0,r.jsxs)(t.p,{children:["Docusaurus automatically ",(0,r.jsx)(t.strong,{children:"creates a sidebar"})," from the ",(0,r.jsx)(t.code,{children:"docs"})," folder."]}),"\n",(0,r.jsx)(t.p,{children:"Add metadata to customize the sidebar label and position:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-md",metastring:'title="docs/hello.md" {1-4}',children:"---\nsidebar_label: 'Hi!'\nsidebar_position: 3\n---\n\n# Hello\n\nThis is my **first Docusaurus document**!\n"})}),"\n",(0,r.jsxs)(t.p,{children:["It is also possible to create your sidebar explicitly in ",(0,r.jsx)(t.code,{children:"sidebars.js"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n tutorialSidebar: [\n 'intro',\n // highlight-next-line\n 'hello',\n {\n type: 'category',\n label: 'Tutorial',\n items: ['tutorial-basics/create-a-document'],\n },\n ],\n};\n"})})]})}function u(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>i});var n=s(6540);const r={},a=n.createContext(r);function o(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1e42fd5e.c484e7cc.js b/assets/js/1e42fd5e.c484e7cc.js new file mode 100644 index 0000000000..20781ce82c --- /dev/null +++ b/assets/js/1e42fd5e.c484e7cc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["98227"],{57370:function(e){e.exports=JSON.parse('{"metadata":{"permalink":"/tests/blog/page/2","page":2,"postsPerPage":3,"totalPages":7,"totalCount":19,"previousPage":"/tests/blog","nextPage":"/tests/blog/page/3","blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/1eb33928.00a382df.js b/assets/js/1eb33928.00a382df.js new file mode 100644 index 0000000000..1cec5813a5 --- /dev/null +++ b/assets/js/1eb33928.00a382df.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["78550"],{37550:function(e){e.exports=JSON.parse('{"tag":{"label":"Unlisted","permalink":"/tests/docs/tags/unlisted","allTagsPath":"/tests/docs/tags","count":1,"items":[{"id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/index","title":"Subcategory index listed","description":"Doc index, listed, but all the other category items are unlisted","permalink":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/"}],"unlisted":false}}')}}]); \ No newline at end of file diff --git a/assets/js/1f0f0e17.e6860d64.js b/assets/js/1f0f0e17.e6860d64.js new file mode 100644 index 0000000000..306ef10f03 --- /dev/null +++ b/assets/js/1f0f0e17.e6860d64.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["16601"],{84422:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-66116702bb73f0bf68a095ddaecc0fe4.png"},86386:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-66116702bb73f0bf68a095ddaecc0fe4.png"},61807:function(e,t,s){s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var a=s(62625),r=s(85893),n=s(80980);let o={title:"Docusaurus 3.4",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-05-31T00:00:00.000Z")},i=void 0,c={image:s(84422).Z,authorsImageUrls:[void 0]},l=[];function u(e){let t={a:"a",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["We are happy to announce ",(0,r.jsx)(t.strong,{children:"Docusaurus 3.4"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["Upgrading should be easy. Our ",(0,r.jsx)(t.a,{href:"/community/release-process",children:"release process"})," respects ",(0,r.jsx)(t.a,{href:"https://semver.org/",children:"Semantic Versioning"}),". Minor versions do not include any breaking changes."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Docusaurus blog post social card",src:s(86386).Z+"",width:"1200",height:"600"})})]})}function p(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>o});var a=s(67294);let r={},n=a.createContext(r);function o(e){let t=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(n.Provider,{value:t},e.children)}},62625:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.4","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.4/index.mdx","source":"@site/blog/releases/3.4/index.mdx","title":"Docusaurus 3.4","description":"We are happy to announce Docusaurus 3.4.","date":"2024-05-31T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.045,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.4","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-05-31T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.5","permalink":"/blog/releases/3.5"},"nextItem":{"title":"Docusaurus 3.3","permalink":"/blog/releases/3.3"}}')}}]); \ No newline at end of file diff --git a/assets/js/1f391b9e.226785e1.js b/assets/js/1f391b9e.226785e1.js new file mode 100644 index 0000000000..d4857584a3 --- /dev/null +++ b/assets/js/1f391b9e.226785e1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["92493"],{37796:function(e,t,n){n.d(t,{Z:()=>s});var r=n(85893);function s(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}n(67294)},49356:function(e,t,n){n.d(t,{Z:()=>B});var r=n(85893),s=n(67294),i=n(90496),a=n(77827),l=n(55951);let o={admonition:"admonition_o5H7",admonitionHeading:"admonitionHeading_FzoX",admonitionIcon:"admonitionIcon_rXq6",admonitionContent:"admonitionContent_Knsx"};function c(e){let{type:t,className:n,children:s}=e;return(0,r.jsx)("div",{className:(0,i.Z)(l.k.common.admonition,l.k.common.admonitionType(t),o.admonition,n),children:s})}function d(e){let{icon:t,title:n}=e;return(0,r.jsxs)("div",{className:o.admonitionHeading,children:[(0,r.jsx)("span",{className:o.admonitionIcon,children:t}),n]})}function u(e){let{children:t}=e;return t?(0,r.jsx)("div",{className:o.admonitionContent,children:t}):null}function m(e){let{type:t,icon:n,title:s,children:i,className:a}=e;return(0,r.jsxs)(c,{type:t,className:a,children:[s||n?(0,r.jsx)(d,{title:s,icon:n}):null,(0,r.jsx)(u,{children:i})]})}let h={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function f(e){return(0,r.jsx)(m,{...h,...e,className:(0,i.Z)("alert alert--secondary",e.className),children:e.children})}let x={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function p(e){return(0,r.jsx)(m,{...x,...e,className:(0,i.Z)("alert alert--success",e.className),children:e.children})}var j=n(37796);let v={icon:(0,r.jsx)(j.Z,{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function g(e){return(0,r.jsx)(m,{...v,...e,className:(0,i.Z)("alert alert--info",e.className),children:e.children})}function b(e){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let y={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},N={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},Z={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(a.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};var k=n(57922);let w={note:f,tip:p,info:g,warning:function(e){return(0,r.jsx)(m,{...y,...e,className:(0,i.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,r.jsx)(m,{...N,...e,className:(0,i.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,r.jsx)(f,{title:"secondary",...e}),important:e=>(0,r.jsx)(g,{title:"important",...e}),success:e=>(0,r.jsx)(p,{title:"success",...e}),caution:function(e){return(0,r.jsx)(m,{...Z,...e,className:(0,i.Z)("alert alert--warning",e.className),children:e.children})},"my-custom-admonition":function(e){return(0,r.jsxs)("div",{style:{border:"solid red",padding:10},children:[(0,r.jsx)(k.Z,{as:"h5",style:{color:"blue",fontSize:30},children:e.title}),(0,r.jsx)("div",{children:e.children})]})}};function B(e){let t=function(e){let{mdxAdmonitionTitle:t,rest:n}=function(e){let t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),i=t.filter(e=>e!==n);return{mdxAdmonitionTitle:n?.props.children,rest:i.length>0?(0,r.jsx)(r.Fragment,{children:i}):null}}(e.children),i=e.title??t;return{...e,...i&&{title:i},children:n}}(e),n=function(e){let t=w[e];return t||(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),w.info)}(t.type);return(0,r.jsx)(n,{...t})}},12221:function(e,t,n){n.d(t,{Z:()=>c});var r=n(85893);n(67294);var s=n(90496),i=n(68746),a=n(55951),l=n(49356);function o(e){let{className:t}=e;return(0,r.jsx)(l.Z,{type:"caution",title:(0,r.jsx)(i.cI,{}),className:(0,s.Z)(t,a.k.common.unlistedBanner),children:(0,r.jsx)(i.eU,{})})}function c(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.T$,{}),(0,r.jsx)(o,{...e})]})}},74291:function(e,t,n){n.d(t,{Z:()=>d});var r=n(85893);n(67294);var s=n(90496),i=n(68746),a=n(55951),l=n(49356);function o(e){let{className:t}=e;return(0,r.jsx)(l.Z,{type:"caution",title:(0,r.jsx)(i.ht,{}),className:(0,s.Z)(t,a.k.common.draftBanner),children:(0,r.jsx)(i.xo,{})})}var c=n(12221);function d(e){let{metadata:t}=e,{unlisted:n,frontMatter:s}=t;return(0,r.jsxs)(r.Fragment,{children:[(n||s.unlisted)&&(0,r.jsx)(c.Z,{}),s.draft&&(0,r.jsx)(o,{})]})}},2769:function(e,t,n){n.d(t,{Z:()=>m});var r=n(85893),s=n(67294),i=n(90496),a=n(96700),l=n(71607),o=n(97812);let c={details:"details_Nokh",isBrowser:"isBrowser_QrB5",collapsibleContent:"collapsibleContent_EoA1"};function d(e){return!!e&&("SUMMARY"===e.tagName||d(e.parentElement))}function u(e){let{summary:t,children:n,...u}=e;(0,a.Z)().collectAnchor(u.id);let m=(0,l.Z)(),h=(0,s.useRef)(null),{collapsed:f,setCollapsed:x}=(0,o.u)({initialState:!u.open}),[p,j]=(0,s.useState)(u.open),v=s.isValidElement(t)?t:(0,r.jsx)("summary",{children:t??"Details"});return(0,r.jsxs)("details",{...u,ref:h,open:p,"data-collapsed":f,className:(0,i.Z)(c.details,m&&c.isBrowser,u.className),onMouseDown:e=>{d(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;d(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,h.current)&&(e.preventDefault(),f?(x(!1),j(!0)):x(!0))},children:[v,(0,r.jsx)(o.z,{lazy:!1,collapsed:f,onCollapseTransitionEnd:e=>{x(e),j(!e)},children:(0,r.jsx)("div",{className:c.collapsibleContent,children:n})})]})}function m(e){let{...t}=e;return(0,r.jsx)(u,{...t,className:(0,i.Z)("alert alert--info","details_Cn_P",t.className)})}},60114:function(e,t,n){n.d(t,{Z:()=>f});var r=n(85893);n(67294);var s=n(90496),i=n(77827),a=n(55951),l=n(35363);function o(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)("iconEdit_IMw_",t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function c(e){let{editUrl:t}=e;return(0,r.jsxs)(l.Z,{to:t,className:a.k.common.editThisPage,children:[(0,r.jsx)(o,{}),(0,r.jsx)(i.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var d=n(90177);function u(e){let{lastUpdatedAt:t}=e,n=new Date(t),s=(0,d.P)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(i.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function m(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(i.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function h(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:a.k.common.lastUpdated,children:[(0,r.jsx)(i.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(u,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(m,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}function f(e){let{className:t,editUrl:n,lastUpdatedAt:i,lastUpdatedBy:a}=e;return(0,r.jsxs)("div",{className:(0,s.Z)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(c,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.Z)("col","lastUpdated_OHCJ"),children:(i||a)&&(0,r.jsx)(h,{lastUpdatedAt:i,lastUpdatedBy:a})})]})}},84015:function(e,t,n){n.d(t,{Z:()=>_});var r=n(85893),s=n(67294),i=n(80980),a=n(53327),l=n(95998);function o(e){return(0,r.jsx)("code",{...e})}function c(e){return void 0!==e.children&&s.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,r.jsx)(o,{...e}):(0,r.jsx)(l.Z,{...e})}var d=n(35363),u=n(2769);function m(e){let t=s.Children.toArray(e.children),n=t.find(e=>s.isValidElement(e)&&"summary"===e.type),i=(0,r.jsx)(r.Fragment,{children:t.filter(e=>e!==n)});return(0,r.jsx)(u.Z,{...e,summary:n,children:i})}var h=n(57922);function f(e){return(0,r.jsx)(h.Z,{...e})}var x=n(90496);let p={containsTaskList:"containsTaskList_k9gM"};var j=n(96700),v=n(49356),g=n(67490),b=n(85108),y=n(26378),N=n(45245),Z=n(57396);async function k(e){let{id:t,text:n,config:r}=e;Z.Z.mermaidAPI.initialize(r);try{return await Z.Z.render(t,n)}catch(e){throw document.querySelector(`#d${t}`)?.remove(),e}}function w(e){let{renderResult:t}=e,n=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let e=n.current;t.bindFunctions?.(e)},[t]),(0,r.jsx)("div",{ref:n,className:"docusaurus-mermaid-container container_RUsj",dangerouslySetInnerHTML:{__html:t.svg}})}function B(e){let{value:t}=e,n=function(e){let{text:t,config:n}=e,[r,i]=(0,s.useState)(null),a=(0,s.useRef)(`mermaid-svg-${Math.round(1e7*Math.random())}`).current,l=function(){let{colorMode:e}=(0,N.I)(),t=(0,y.L)().mermaid,n=t.theme[e],{options:r}=t;return(0,s.useMemo)(()=>({startOnLoad:!1,...r,theme:n}),[n,r])}(),o=n??l;return(0,s.useEffect)(()=>{k({id:a,text:t,config:o}).then(i).catch(e=>{i(()=>{throw e})})},[a,t,o]),r}({text:t});return null===n?null:(0,r.jsx)(w,{renderResult:n})}let C={Head:a.Z,details:m,Details:m,code:c,a:function(e){return(0,r.jsx)(d.Z,{...e})},pre:function(e){return(0,r.jsx)(r.Fragment,{children:e.children})},ul:function(e){return(0,r.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,x.Z)(e,e?.includes("contains-task-list")&&p.containsTaskList)}(e.className)})},li:function(e){return(0,j.Z)().collectAnchor(e.id),(0,r.jsx)("li",{...e})},img:function(e){var t;return(0,r.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,x.Z)(t,"img_vXGZ"))})},h1:e=>(0,r.jsx)(f,{as:"h1",...e}),h2:e=>(0,r.jsx)(f,{as:"h2",...e}),h3:e=>(0,r.jsx)(f,{as:"h3",...e}),h4:e=>(0,r.jsx)(f,{as:"h4",...e}),h5:e=>(0,r.jsx)(f,{as:"h5",...e}),h6:e=>(0,r.jsx)(f,{as:"h6",...e}),admonition:v.Z,mermaid:function(e){return(0,r.jsx)(g.Z,{fallback:e=>(0,r.jsx)(b.Ac,{...e}),children:(0,r.jsx)(B,{...e})})},Code:c,Highlight:function(e){let{children:t,color:n}=e;return(0,r.jsx)("span",{style:{backgroundColor:n,borderRadius:"2px",color:"#fff",padding:"0.2rem"},children:t})},TweetQuote:function(e){let{url:t,handle:n,name:s,job:i,children:a}=e,l=`https://unavatar.io/x/${n}`,o=`https://x.com/${n}`;return(0,r.jsxs)("figure",{className:"tweetQuote_h8Rz",children:[(0,r.jsx)("blockquote",{children:(0,r.jsx)(d.Z,{to:t,children:a})}),(0,r.jsx)("figcaption",{children:(0,r.jsx)(d.Z,{to:o,rel:"nofollow",children:(0,r.jsxs)("div",{className:"avatar",children:[(0,r.jsx)("img",{alt:s,className:(0,x.Z)("avatar__photo","avatarImg_b51M"),src:l}),(0,r.jsxs)("div",{className:(0,x.Z)("avatar__intro"),children:[(0,r.jsx)("strong",{className:"avatar__name",children:(0,r.jsx)("cite",{children:s})}),(0,r.jsx)("small",{className:"avatar__subtitle",itemProp:"description",children:i})]})]})})})]})}};function _(e){let{children:t}=e;return(0,r.jsx)(i.Z,{components:C,children:t})}},54437:function(e,t,n){n.r(t),n.d(t,{default:()=>m});var r=n(85893);n(67294);var s=n(90496),i=n(57335),a=n(55951),l=n(88408),o=n(84015),c=n(4458),d=n(74291),u=n(60114);function m(e){let{content:t}=e,{metadata:n,assets:m}=t,{title:h,editUrl:f,description:x,frontMatter:p,lastUpdatedBy:j,lastUpdatedAt:v}=n,{keywords:g,wrapperClassName:b,hide_table_of_contents:y}=p,N=m.image??p.image,Z=!!(f||v||j);return(0,r.jsx)(i.FG,{className:(0,s.Z)(b??a.k.wrapper.mdxPages,a.k.page.mdxPage),children:(0,r.jsxs)(l.Z,{children:[(0,r.jsx)(i.d,{title:h,description:x,keywords:g,image:N}),(0,r.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,r.jsxs)("div",{className:(0,s.Z)("row","mdxPageWrapper_bWhk"),children:[(0,r.jsxs)("div",{className:(0,s.Z)("col",!y&&"col--8"),children:[(0,r.jsx)(d.Z,{metadata:n}),(0,r.jsx)("article",{children:(0,r.jsx)(o.Z,{children:(0,r.jsx)(t,{})})}),Z&&(0,r.jsx)(u.Z,{className:(0,s.Z)("margin-top--sm",a.k.pages.pageFooterEditMetaRow),editUrl:f,lastUpdatedAt:v,lastUpdatedBy:j})]}),!y&&t.toc.length>0&&(0,r.jsx)("div",{className:"col col--2",children:(0,r.jsx)(c.Z,{toc:t.toc,minHeadingLevel:p.toc_min_heading_level,maxHeadingLevel:p.toc_max_heading_level})})]})})]})})}},4458:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var s=n(90496),i=n(89477);function a(e){let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,s.Z)("tableOfContents_RLlU","thin-scrollbar",t),children:(0,r.jsx)(i.Z,{...n,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},89477:function(e,t,n){n.d(t,{Z:()=>c});var r=n(85893),s=n(67294),i=n(26378);function a(e){let t=e.getBoundingClientRect();return t.top===t.bottom?a(e.parentNode):t}var l=n(35363);let o=s.memo(function e(t){let{toc:n,className:s,linkClassName:i,isChild:a}=t;return n.length?(0,r.jsx)("ul",{className:a?void 0:s,children:n.map(t=>(0,r.jsxs)("li",{children:[(0,r.jsx)(l.Z,{to:`#${t.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:t.value}}),(0,r.jsx)(e,{isChild:!0,toc:t.children,className:s,linkClassName:i})]},t.id))}):null});function c(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:d,maxHeadingLevel:u,...m}=e,h=(0,i.L)(),f=d??h.tableOfContents.minHeadingLevel,x=u??h.tableOfContents.maxHeadingLevel,p=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:r}=e;return(0,s.useMemo)(()=>(function e(t){let{toc:n,minHeadingLevel:r,maxHeadingLevel:s}=t;return n.flatMap(t=>{let n=e({toc:t.children,minHeadingLevel:r,maxHeadingLevel:s});return t.level>=r&&t.level<=s?[{...t,children:n}]:n})})({toc:function(e){let t=e.map(e=>({...e,parentIndex:-1,children:[]})),n=Array(7).fill(-1);t.forEach((e,t)=>{let r=n.slice(2,e.level);e.parentIndex=Math.max(...r),n[e.level]=t});let r=[];return t.forEach(e=>{let{parentIndex:n,...s}=e;n>=0?t[n].children.push(s):r.push(s)}),r}(t),minHeadingLevel:n,maxHeadingLevel:r}),[t,n,r])}({toc:t,minHeadingLevel:f,maxHeadingLevel:x});return!function(e){let t=(0,s.useRef)(void 0),n=function(){let e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,i.L)();return(0,s.useEffect)(()=>{e.current=t?0:document.querySelector(".navbar").clientHeight},[t]),e}();(0,s.useEffect)(()=>{if(!e)return()=>{};let{linkClassName:r,linkActiveClassName:s,minHeadingLevel:i,maxHeadingLevel:l}=e;function o(){let e=Array.from(document.getElementsByClassName(r)),o=function(e,t){let{anchorTopOffset:n}=t,r=e.find(e=>a(e).top>=n);if(r){var s;return(s=a(r)).top>0&&s.bottom<window.innerHeight/2?r:e[e.indexOf(r)-1]??null}return e[e.length-1]??null}(function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e,r=[];for(let e=t;e<=n;e+=1)r.push(`h${e}.anchor`);return Array.from(document.querySelectorAll(r.join()))}({minHeadingLevel:i,maxHeadingLevel:l}),{anchorTopOffset:n.current}),c=e.find(e=>o&&o.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));e.forEach(e=>{e===c?(t.current&&t.current!==e&&t.current.classList.remove(s),e.classList.add(s),t.current=e):e.classList.remove(s)})}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}},[e,n])}((0,s.useMemo)(()=>{if(l&&c)return{linkClassName:l,linkActiveClassName:c,minHeadingLevel:f,maxHeadingLevel:x}},[l,c,f,x])),(0,r.jsx)(o,{toc:p,className:n,linkClassName:l,...m})}},68746:function(e,t,n){n.d(t,{T$:()=>o,cI:()=>a,eU:()=>l,ht:()=>c,xo:()=>d});var r=n(85893);n(67294);var s=n(77827),i=n(53327);function a(){return(0,r.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,r.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,r.jsx)(i.Z,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,r.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,r.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}},90177:function(e,t,n){n.d(t,{P:()=>s});var r=n(8156);function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{i18n:{currentLocale:t}}=(0,r.Z)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,r.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},56497:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var s=n(71607);function i(e){let{children:t,fallback:n}=e;return(0,s.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}},95998:function(e,t,n){n.d(t,{Z:()=>et});var r,s={};n.r(s),n.d(s,{ButtonExample:()=>B});var i=n(85893),a=n(67294),l=n(90496),o=n(71607),c=n(10075),d=n(77827),u=n(8156),m=n(56497),h=n(85108),f=n(45245),x=n(26378);function p(){let{prism:e}=(0,x.L)(),{colorMode:t}=(0,f.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var j=n(67490);function v(e){let{children:t}=e;return(0,i.jsx)("div",{className:(0,l.Z)("playgroundHeader_Tvsk"),children:t})}function g(){return(0,i.jsx)("div",{children:"Loading..."})}function b(){return(0,i.jsx)(m.Z,{fallback:(0,i.jsx)(g,{}),children:()=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(j.Z,{fallback:e=>(0,i.jsx)(h.Ac,{...e}),children:(0,i.jsx)(c.i5,{})}),(0,i.jsx)(c.IF,{})]})})}function y(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(v,{children:(0,i.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,i.jsx)("div",{className:"playgroundPreview_mApW",children:(0,i.jsx)(b,{})})]})}function N(){let e=(0,o.Z)();return(0,i.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function Z(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(v,{children:(0,i.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,i.jsx)(N,{})]})}let k=e=>`${e};`;function w(e){let{children:t,transformCode:n,...r}=e,{siteConfig:{themeConfig:s}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:a}}=s,l=p(),o=r.metastring?.includes("noInline")??!1;return(0,i.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,i.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:o,transformCode:n??k,theme:l,...r,children:"top"===a?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(y,{}),(0,i.jsx)(Z,{})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Z,{}),(0,i.jsx)(y,{})]})})})}function B(e){return(0,i.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let C={React:a,...a,...s};var _=n(55951),L=n(6324),T=n.n(L);let E=/title=(?<quote>["'])(?<title>.*?)\1/,I=/\{(?<range>[\d,-]+)\}/,A={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},H={...A,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},M=Object.keys(A);function z(e,t){let n=e.map(e=>{let{start:n,end:r}=H[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function S(e){let{as:t,...n}=e,r=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,i=t[r];i&&"string"==typeof s&&(n[i]=s)}),n}(p());return(0,i.jsx)(t,{...n,style:r,className:(0,l.Z)(n.className,"codeBlockContainer_jDV4",_.k.common.codeBlock)})}let R={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function U(e){let{children:t,className:n}=e;return(0,i.jsx)(S,{as:"pre",tabIndex:0,className:(0,l.Z)(R.codeBlockStandalone,"thin-scrollbar",n),children:(0,i.jsx)("code",{className:R.codeBlockLines,children:t})})}var $=n(50923);let O={attributes:!0,characterData:!0,childList:!0,subtree:!0};var F=n(7316);let V={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function P(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:s,getTokenProps:a}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let o=s({line:t,className:(0,l.Z)(n,r&&V.codeLine)}),c=t.map((e,t)=>(0,i.jsx)("span",{...a({token:e})},t));return(0,i.jsxs)("span",{...o,children:[r?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:V.codeLineNumber}),(0,i.jsx)("span",{className:V.codeLineContent,children:c})]}):c,(0,i.jsx)("br",{})]})}var W=n(44771);function D(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function q(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let G={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function Q(e){let{code:t,className:n}=e,[r,s]=(0,a.useState)(!1),o=(0,a.useRef)(void 0),c=(0,a.useCallback)(()=>{(0,W.Z)(t),s(!0),o.current=window.setTimeout(()=>{s(!1)},1e3)},[t]);return(0,a.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,i.jsx)("button",{type:"button","aria-label":r?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,l.Z)("clean-btn",n,G.copyButton,r&&G.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:G.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(D,{className:G.copyButtonIcon}),(0,i.jsx)(q,{className:G.copyButtonSuccessIcon})]})})}function X(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let J={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function Y(e){let{className:t,onClick:n,isEnabled:r}=e,s=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:n,className:(0,l.Z)("clean-btn",t,r&&J.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,i.jsx)(X,{className:J.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:r="",metastring:s,title:c,showLineNumbers:d,language:u}=e,{prism:{defaultLanguage:m,magicComments:h}}=(0,x.L)(),f=(t=u??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(r)??m,t?.toLowerCase()),j=p(),v=function(){let[e,t]=(0,a.useState)(!1),[n,r]=(0,a.useState)(!1),s=(0,a.useRef)(null),i=(0,a.useCallback)(()=>{let n=s.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[s,e]),l=(0,a.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=s.current;r(e>t||s.current.querySelector("code").hasAttribute("style"))},[s]);return!function(e,t){let[n,r]=(0,a.useState)(),s=(0,a.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,a.useEffect)(()=>{s()},[s]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:O,r=(0,$.zX)(t),s=(0,$.Ql)(n);(0,a.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,s),()=>t.disconnect()},[e,r,s])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),s())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(s,l),(0,a.useEffect)(()=>{l()},[e,l]),(0,a.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:s,isEnabled:e,isCodeScrollable:n,toggle:i}}(),g=(0,o.Z)(),b=(s?.match(E)?.groups.title??"")||c,{lineClassNames:y,code:N}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:i}=t;if(i&&I.test(i)){let e=i.match(I).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${i}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=s[0].className;return{lineClassNames:Object.fromEntries(T()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let a=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return z(["js","jsBlock"],t);case"jsx":case"tsx":return z(["js","jsBlock","jsx"],t);case"html":return z(["js","jsBlock","html"],t);case"python":case"py":case"bash":return z(["bash"],t);case"markdown":case"md":return z(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return z(["tex"],t);case"lua":case"haskell":return z(["lua"],t);case"sql":return z(["lua","jsBlock"],t);case"wasm":return z(["wasm"],t);case"vb":case"vba":case"visual-basic":return z(["vb","rem"],t);case"vbnet":return z(["vbnet","rem"],t);case"batch":return z(["rem"],t);case"basic":return z(["rem","f90"],t);case"fsharp":return z(["js","ml"],t);case"ocaml":case"sml":return z(["ml"],t);case"fortran":return z(["f90"],t);case"cobol":return z(["cobol"],t);default:return z(M,t)}}(r,s),l=n.split("\n"),o=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<l.length;){let t=l[e].match(a);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?o[c[n]].range+=`${e},`:d[n]?o[d[n]].start=e:u[n]&&(o[u[n]].range+=`${o[u[n]].start}-${e-1},`),l.splice(e,1)}n=l.join("\n");let m={};return Object.entries(o).forEach(e=>{let[t,{range:n}]=e;T()(n).forEach(e=>{m[e]??=[],m[e].push(t)})}),{lineClassNames:m,code:n}}(n,{metastring:s,language:f,magicComments:h}),Z=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:d,metastring:s});return(0,i.jsxs)(S,{as:"div",className:(0,l.Z)(r,f&&!r.includes(`language-${f}`)&&`language-${f}`),children:[b&&(0,i.jsx)("div",{className:R.codeBlockTitle,children:b}),(0,i.jsxs)("div",{className:R.codeBlockContent,children:[(0,i.jsx)(F.y$,{theme:j,code:N,language:f??"text",children:e=>{let{className:t,style:n,tokens:r,getLineProps:s,getTokenProps:a}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:v.codeBlockRef,className:(0,l.Z)(t,R.codeBlock,"thin-scrollbar"),style:n,children:(0,i.jsx)("code",{className:(0,l.Z)(R.codeBlockLines,void 0!==Z&&R.codeBlockLinesWithNumbering),style:void 0===Z?void 0:{counterReset:`line-count ${Z-1}`},children:r.map((e,t)=>(0,i.jsx)(P,{line:e,getLineProps:s,getTokenProps:a,classNames:y[t],showLineNumbers:void 0!==Z},t))})})}}),g?(0,i.jsxs)("div",{className:R.buttonGroup,children:[(v.isEnabled||v.isCodeScrollable)&&(0,i.jsx)(Y,{className:R.codeButton,onClick:()=>v.toggle(),isEnabled:v.isEnabled}),(0,i.jsx)(Q,{className:R.codeButton,code:N})]}):null]})]})}let ee=(r=function(e){let{children:t,...n}=e,r=(0,o.Z)(),s=a.Children.toArray(t).some(e=>(0,a.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,i.jsx)("string"==typeof s?K:U,{...n,children:s},String(r))},function(e){return e.live?(0,i.jsx)(w,{scope:C,...e}):(0,i.jsx)(r,{...e})});function et(e){return(0,i.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/1f391b9e.6f6a2ea8.js b/assets/js/1f391b9e.6f6a2ea8.js deleted file mode 100644 index b764796194..0000000000 --- a/assets/js/1f391b9e.6f6a2ea8.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[6061],{2473:(e,t,n)=>{"use strict";n.d(t,{A:()=>H});var s=n(6540),a=n(4848);function r(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),r=t.filter((e=>e!==n)),o=n?.props.children;return{mdxAdmonitionTitle:o,rest:r.length>0?(0,a.jsx)(a.Fragment,{children:r}):null}}(e.children),r=e.title??t;return{...e,...r&&{title:r},children:n}}var o=n(1750),i=n(4709),c=n(8532);const l="admonition_o5H7",d="admonitionHeading_FzoX",u="admonitionIcon_rXq6",m="admonitionContent_Knsx";function h(e){let{type:t,className:n,children:s}=e;return(0,a.jsx)("div",{className:(0,o.A)(c.G.common.admonition,c.G.common.admonitionType(t),l,n),children:s})}function f(e){let{icon:t,title:n}=e;return(0,a.jsxs)("div",{className:d,children:[(0,a.jsx)("span",{className:u,children:t}),n]})}function p(e){let{children:t}=e;return t?(0,a.jsx)("div",{className:m,children:t}):null}function x(e){const{type:t,icon:n,title:s,children:r,className:o}=e;return(0,a.jsxs)(h,{type:t,className:o,children:[s||n?(0,a.jsx)(f,{title:s,icon:n}):null,(0,a.jsx)(p,{children:r})]})}function g(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const v={icon:(0,a.jsx)(g,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function j(e){return(0,a.jsx)(x,{...v,...e,className:(0,o.A)("alert alert--secondary",e.className),children:e.children})}function b(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const N={icon:(0,a.jsx)(b,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function A(e){return(0,a.jsx)(x,{...N,...e,className:(0,o.A)("alert alert--success",e.className),children:e.children})}function y(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const k={icon:(0,a.jsx)(y,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function C(e){return(0,a.jsx)(x,{...k,...e,className:(0,o.A)("alert alert--info",e.className),children:e.children})}function w(e){return(0,a.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const B={icon:(0,a.jsx)(w,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function L(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const _={icon:(0,a.jsx)(L,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const E={icon:(0,a.jsx)(w,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const T={...{note:j,tip:A,info:C,warning:function(e){return(0,a.jsx)(x,{...B,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,a.jsx)(x,{..._,...e,className:(0,o.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,a.jsx)(j,{title:"secondary",...e}),important:e=>(0,a.jsx)(C,{title:"important",...e}),success:e=>(0,a.jsx)(A,{title:"success",...e}),caution:function(e){return(0,a.jsx)(x,{...E,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})}}};function H(e){const t=r(e),n=(s=t.type,T[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),T.info));var s;return(0,a.jsx)(n,{...t})}},9169:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(6540);var s=n(1750),a=n(9137),r=n(8532),o=n(2473),i=n(4848);function c(e){let{className:t}=e;return(0,i.jsx)(o.A,{type:"caution",title:(0,i.jsx)(a.Rc,{}),className:(0,s.A)(t,r.G.common.unlistedBanner),children:(0,i.jsx)(a.Uh,{})})}function l(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.AE,{}),(0,i.jsx)(c,{...e})]})}},5088:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});n(6540);var s=n(1750),a=n(9137),r=n(8532),o=n(2473),i=n(4848);function c(e){let{className:t}=e;return(0,i.jsx)(o.A,{type:"caution",title:(0,i.jsx)(a.Yh,{}),className:(0,s.A)(t,r.G.common.draftBanner),children:(0,i.jsx)(a.TT,{})})}var l=n(9169);function d(e){let{metadata:t}=e;const{unlisted:n,frontMatter:s}=t;return(0,i.jsxs)(i.Fragment,{children:[(n||s.unlisted)&&(0,i.jsx)(l.A,{}),s.draft&&(0,i.jsx)(c,{})]})}},8800:(e,t,n)=>{"use strict";n.d(t,{A:()=>x});n(6540);var s=n(1750),a=n(4709),r=n(8532),o=n(5739);const i={iconEdit:"iconEdit_IMw_"};var c=n(4848);function l(e){let{className:t,...n}=e;return(0,c.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(i.iconEdit,t),"aria-hidden":"true",...n,children:(0,c.jsx)("g",{children:(0,c.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,c.jsxs)(o.A,{to:t,className:r.G.common.editThisPage,children:[(0,c.jsx)(l,{}),(0,c.jsx)(a.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(9153);function m(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=(0,u.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,c.jsx)(a.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,c.jsx)("b",{children:(0,c.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,c.jsx)(a.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,c.jsx)("b",{children:t})},children:" by {user}"})}function f(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,c.jsxs)("span",{className:r.G.common.lastUpdated,children:[(0,c.jsx)(a.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,c.jsx)(m,{lastUpdatedAt:t}):"",byUser:n?(0,c.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const p={lastUpdated:"lastUpdated_OHCJ"};function x(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:r}=e;return(0,c.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,c.jsx)("div",{className:"col",children:n&&(0,c.jsx)(d,{editUrl:n})}),(0,c.jsx)("div",{className:(0,s.A)("col",p.lastUpdated),children:(a||r)&&(0,c.jsx)(f,{lastUpdatedAt:a,lastUpdatedBy:r})})]})}},853:(e,t,n)=>{"use strict";n.d(t,{A:()=>he});var s=n(6540),a=n(3023),r=n(2785),o=n(3754),i=n(1750),c=n(5407),l=n(6963);function d(){const{prism:e}=(0,l.p)(),{colorMode:t}=(0,c.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(8532),m=n(9934),h=n.n(m);const f=/title=(?<quote>["'])(?<title>.*?)\1/,p=/\{(?<range>[\d,-]+)\}/,x={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},g={...x,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},v=Object.keys(x);function j(e,t){const n=e.map((e=>{const{start:n,end:s}=g[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function b(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){const t=e?.split(" ").find((e=>e.startsWith("showLineNumbers")));if(t){if(t.startsWith("showLineNumbers=")){const e=t.replace("showLineNumbers=","");return parseInt(e,10)}return 1}}(n)}function N(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:r}=t;if(r&&p.test(r)){const e=r.match(p).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${r}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const o=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return j(["js","jsBlock"],t);case"jsx":case"tsx":return j(["js","jsBlock","jsx"],t);case"html":return j(["js","jsBlock","html"],t);case"python":case"py":case"bash":return j(["bash"],t);case"markdown":case"md":return j(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return j(["tex"],t);case"lua":case"haskell":return j(["lua"],t);case"sql":return j(["lua","jsBlock"],t);case"wasm":return j(["wasm"],t);case"vb":case"vba":case"visual-basic":return j(["vb","rem"],t);case"vbnet":return j(["vbnet","rem"],t);case"batch":return j(["rem"],t);case"basic":return j(["rem","f90"],t);case"fsharp":return j(["js","ml"],t);case"ocaml":case"sml":return j(["ml"],t);case"fortran":return j(["f90"],t);case"cobol":return j(["cobol"],t);default:return j(v,t)}}(s,a),i=n.split("\n"),c=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<i.length;){const e=i[h].match(o);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));l[t]?c[l[t]].range+=`${h},`:d[t]?c[d[t]].start=h:u[t]&&(c[u[t]].range+=`${c[u[t]].start}-${h-1},`),i.splice(h,1)}n=i.join("\n");const m={};return Object.entries(c).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const A="codeBlockContainer_jDV4";var y=n(4848);function k(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const r=t[s];r&&"string"==typeof a&&(n[r]=a)})),n}(d());return(0,y.jsx)(t,{...n,style:s,className:(0,i.A)(n.className,A,u.G.common.codeBlock)})}const C={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function w(e){let{children:t,className:n}=e;return(0,y.jsx)(k,{as:"pre",tabIndex:0,className:(0,i.A)(C.codeBlockStandalone,"thin-scrollbar",n),children:(0,y.jsx)("code",{className:C.codeBlockLines,children:t})})}var B=n(9129);const L={attributes:!0,characterData:!0,childList:!0,subtree:!0};function _(e,t){const[n,a]=(0,s.useState)(),r=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{r()}),[r]),function(e,t,n){void 0===n&&(n=L);const a=(0,B._q)(t),r=(0,B.Be)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,r),()=>t.disconnect()}),[e,a,r])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var E=n(7663);const T="codeLine_qRmp",H="codeLineNumber_dS_J",U="codeLineContent_XF5l";function M(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:r}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const o=a({line:t,className:(0,i.A)(n,s&&T)}),c=t.map(((e,t)=>(0,y.jsx)("span",{...r({token:e})},t)));return(0,y.jsxs)("span",{...o,children:[s?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("span",{className:H}),(0,y.jsx)("span",{className:U,children:c})]}):c,(0,y.jsx)("br",{})]})}var I=n(4709);function S(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function z(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const R={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function O(e){let{code:t,className:n}=e;const[a,r]=(0,s.useState)(!1),o=(0,s.useRef)(void 0),c=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const r=document.getSelection(),o=r.rangeCount>0&&r.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let i=!1;try{i=document.execCommand("copy")}catch{}s.remove(),o&&(r.removeAllRanges(),r.addRange(o)),a&&a.focus()}(t),r(!0),o.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(o.current)),[]),(0,y.jsx)("button",{type:"button","aria-label":a?(0,I.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,I.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,I.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.A)("clean-btn",n,R.copyButton,a&&R.copyButtonCopied),onClick:c,children:(0,y.jsxs)("span",{className:R.copyButtonIcons,"aria-hidden":"true",children:[(0,y.jsx)(S,{className:R.copyButtonIcon}),(0,y.jsx)(z,{className:R.copyButtonSuccessIcon})]})})}function P(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const V="wordWrapButtonIcon_MQXS",G="wordWrapButtonEnabled_TBIH";function $(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,I.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,y.jsx)("button",{type:"button",onClick:n,className:(0,i.A)("clean-btn",t,s&&G),"aria-label":a,title:a,children:(0,y.jsx)(P,{className:V,"aria-hidden":"true"})})}function W(e){let{children:t,className:n="",metastring:a,title:r,showLineNumbers:c,language:u}=e;const{prism:{defaultLanguage:m,magicComments:h}}=(0,l.p)(),p=function(e){return e?.toLowerCase()}(u??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??m),x=d(),g=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),r=(0,s.useRef)(null),o=(0,s.useCallback)((()=>{const n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[r,e]),i=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=r.current,n=e>t||r.current.querySelector("code").hasAttribute("style");a(n)}),[r]);return _(r,i),(0,s.useEffect)((()=>{i()}),[e,i]),(0,s.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:o}}(),v=(0,o.A)(),j=function(e){return e?.match(f)?.groups.title??""}(a)||r,{lineClassNames:A,code:w}=N(t,{metastring:a,language:p,magicComments:h}),B=b({showLineNumbers:c,metastring:a});return(0,y.jsxs)(k,{as:"div",className:(0,i.A)(n,p&&!n.includes(`language-${p}`)&&`language-${p}`),children:[j&&(0,y.jsx)("div",{className:C.codeBlockTitle,children:j}),(0,y.jsxs)("div",{className:C.codeBlockContent,children:[(0,y.jsx)(E.f4,{theme:x,code:w,language:p??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:r}=e;return(0,y.jsx)("pre",{tabIndex:0,ref:g.codeBlockRef,className:(0,i.A)(t,C.codeBlock,"thin-scrollbar"),style:n,children:(0,y.jsx)("code",{className:(0,i.A)(C.codeBlockLines,void 0!==B&&C.codeBlockLinesWithNumbering),style:void 0===B?void 0:{counterReset:"line-count "+(B-1)},children:s.map(((e,t)=>(0,y.jsx)(M,{line:e,getLineProps:a,getTokenProps:r,classNames:A[t],showLineNumbers:void 0!==B},t)))})})}}),v?(0,y.jsxs)("div",{className:C.buttonGroup,children:[(g.isEnabled||g.isCodeScrollable)&&(0,y.jsx)($,{className:C.codeButton,onClick:()=>g.toggle(),isEnabled:g.isEnabled}),(0,y.jsx)(O,{className:C.codeButton,code:w})]}):null]})]})}function D(e){let{children:t,...n}=e;const a=(0,o.A)(),r=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof r?W:w;return(0,y.jsx)(i,{...n,children:r},String(a))}function F(e){return(0,y.jsx)("code",{...e})}var q=n(5739);var X=n(6051),Q=n(343);const Y="details_Nokh",Z="isBrowser_QrB5",J="collapsibleContent_EoA1";function K(e){return!!e&&("SUMMARY"===e.tagName||K(e.parentElement))}function ee(e,t){return!!e&&(e===t||ee(e.parentElement,t))}function te(e){let{summary:t,children:n,...a}=e;(0,X.A)().collectAnchor(a.id);const r=(0,o.A)(),c=(0,s.useRef)(null),{collapsed:l,setCollapsed:d}=(0,Q.u)({initialState:!a.open}),[u,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,y.jsx)("summary",{children:t??"Details"});return(0,y.jsxs)("details",{...a,ref:c,open:u,"data-collapsed":l,className:(0,i.A)(Y,r&&Z,a.className),onMouseDown:e=>{K(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;K(t)&&ee(t,c.current)&&(e.preventDefault(),l?(d(!1),m(!0)):d(!0))},children:[h,(0,y.jsx)(Q.N,{lazy:!1,collapsed:l,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,y.jsx)("div",{className:J,children:n})})]})}const ne="details_Cn_P";function se(e){let{...t}=e;return(0,y.jsx)(te,{...t,className:(0,i.A)("alert alert--info",ne,t.className)})}function ae(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,y.jsx)(y.Fragment,{children:t.filter((e=>e!==n))});return(0,y.jsx)(se,{...e,summary:n,children:a})}var re=n(2409);function oe(e){return(0,y.jsx)(re.A,{...e})}const ie="containsTaskList_k9gM";function ce(e){if(void 0!==e)return(0,i.A)(e,e?.includes("contains-task-list")&&ie)}const le="img_vXGZ";var de=n(2473),ue=n(219);const me={Head:r.A,details:ae,Details:ae,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,y.jsx)(F,{...e}):(0,y.jsx)(D,{...e})},a:function(e){return(0,y.jsx)(q.A,{...e})},pre:function(e){return(0,y.jsx)(y.Fragment,{children:e.children})},ul:function(e){return(0,y.jsx)("ul",{...e,className:ce(e.className)})},li:function(e){return(0,X.A)().collectAnchor(e.id),(0,y.jsx)("li",{...e})},img:function(e){return(0,y.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,i.A)(t,le))});var t},h1:e=>(0,y.jsx)(oe,{as:"h1",...e}),h2:e=>(0,y.jsx)(oe,{as:"h2",...e}),h3:e=>(0,y.jsx)(oe,{as:"h3",...e}),h4:e=>(0,y.jsx)(oe,{as:"h4",...e}),h5:e=>(0,y.jsx)(oe,{as:"h5",...e}),h6:e=>(0,y.jsx)(oe,{as:"h6",...e}),admonition:de.A,mermaid:ue.A};function he(e){let{children:t}=e;return(0,y.jsx)(a.x,{components:me,children:t})}},3255:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>h});n(6540);var s=n(1750),a=n(5861),r=n(8532),o=n(7374),i=n(853),c=n(8649),l=n(5088),d=n(8800);const u={mdxPageWrapper:"mdxPageWrapper_bWhk"};var m=n(4848);function h(e){const{content:t}=e,{metadata:n,assets:h}=t,{title:f,editUrl:p,description:x,frontMatter:g,lastUpdatedBy:v,lastUpdatedAt:j}=n,{keywords:b,wrapperClassName:N,hide_table_of_contents:A}=g,y=h.image??g.image,k=!!(p||j||v);return(0,m.jsx)(a.e3,{className:(0,s.A)(N??r.G.wrapper.mdxPages,r.G.page.mdxPage),children:(0,m.jsxs)(o.A,{children:[(0,m.jsx)(a.be,{title:f,description:x,keywords:b,image:y}),(0,m.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,m.jsxs)("div",{className:(0,s.A)("row",u.mdxPageWrapper),children:[(0,m.jsxs)("div",{className:(0,s.A)("col",!A&&"col--8"),children:[(0,m.jsx)(l.A,{metadata:n}),(0,m.jsx)("article",{children:(0,m.jsx)(i.A,{children:(0,m.jsx)(t,{})})}),k&&(0,m.jsx)(d.A,{className:(0,s.A)("margin-top--sm",r.G.pages.pageFooterEditMetaRow),editUrl:p,lastUpdatedAt:j,lastUpdatedBy:v})]}),!A&&t.toc.length>0&&(0,m.jsx)("div",{className:"col col--2",children:(0,m.jsx)(c.A,{toc:t.toc,minHeadingLevel:g.toc_min_heading_level,maxHeadingLevel:g.toc_max_heading_level})})]})})]})})}},8649:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(6540);var s=n(1750),a=n(1731);const r={tableOfContents:"tableOfContents_RLlU",docItemContainer:"docItemContainer_oucX"};var o=n(4848);const i="table-of-contents__link toc-highlight",c="table-of-contents__link--active";function l(e){let{className:t,...n}=e;return(0,o.jsx)("div",{className:(0,s.A)(r.tableOfContents,"thin-scrollbar",t),children:(0,o.jsx)(a.A,{...n,linkClassName:i,linkActiveClassName:c})})}},1731:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var s=n(6540),a=n(6963);function r(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function o(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=o({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function i(e){const t=e.getBoundingClientRect();return t.top===t.bottom?i(e.parentNode):t}function c(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>i(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(i(s))?s:e[e.indexOf(s)-1]??null}return e[e.length-1]??null}function l(){const e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,a.p)();return(0,s.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=l();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:r,maxHeadingLevel:o}=e;function i(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),i=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:r,maxHeadingLevel:o}),l=c(i,{anchorTopOffset:n.current}),d=e.find((e=>l&&l.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}}),[e,n])}var u=n(5739),m=n(4848);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const f=s.memo(h);function p(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:i="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:l,maxHeadingLevel:u,...h}=e;const p=(0,a.p)(),x=l??p.tableOfContents.minHeadingLevel,g=u??p.tableOfContents.maxHeadingLevel,v=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>o({toc:r(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:x,maxHeadingLevel:g});return d((0,s.useMemo)((()=>{if(i&&c)return{linkClassName:i,linkActiveClassName:c,minHeadingLevel:x,maxHeadingLevel:g}}),[i,c,x,g])),(0,m.jsx)(f,{toc:v,className:n,linkClassName:i,...h})}},9137:(e,t,n)=>{"use strict";n.d(t,{AE:()=>c,Rc:()=>o,TT:()=>d,Uh:()=>i,Yh:()=>l});n(6540);var s=n(4709),a=n(2785),r=n(4848);function o(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function i(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,r.jsx)(a.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function l(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}},9153:(e,t,n)=>{"use strict";n.d(t,{i:()=>a});var s=n(1571);function a(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,s.A)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},9934:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,r]=t;if(s&&r){s=parseInt(s),r=parseInt(r);const e=s<r?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(r+=e);for(let t=s;t!==r;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},3023:(e,t,n)=>{"use strict";n.d(t,{R:()=>o,x:()=>i});var s=n(6540);const a={},r=s.createContext(a);function o(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f5cf72d.2569945b.js b/assets/js/1f5cf72d.2569945b.js new file mode 100644 index 0000000000..4027541e8c --- /dev/null +++ b/assets/js/1f5cf72d.2569945b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["50026"],{8634:function(e,t,o){o.r(t),o.d(t,{assets:()=>i,contentTitle:()=>f,default:()=>d,frontMatter:()=>a,metadata:()=>n,toc:()=>c});var n=o(94025),s=o(85893),r=o(80980);let a={title:"Second post with footnote to test posts with same footnote reference."},f=void 0,i={authorsImageUrls:[]},c=[];function l(e){let t={a:"a",h2:"h2",li:"li",ol:"ol",p:"p",section:"section",sup:"sup",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["foo",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-1-5f4147",id:"user-content-fnref-1-5f4147","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"1"})})]}),"\n",(0,s.jsxs)(t.p,{children:["bar",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-2-5f4147",id:"user-content-fnref-2-5f4147","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"2"})})]}),"\n",(0,s.jsxs)(t.p,{children:["baz",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-3-5f4147",id:"user-content-fnref-3-5f4147","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"3"})})]}),"\n","\n",(0,s.jsxs)(t.section,{"data-footnotes":!0,className:"footnotes",children:[(0,s.jsx)(t.h2,{className:"sr-only",id:"footnote-label",children:"Footnotes"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{id:"user-content-fn-1-5f4147",children:["\n",(0,s.jsxs)(t.p,{children:["foo ",(0,s.jsx)(t.a,{href:"#user-content-fnref-1-5f4147","data-footnote-backref":"","aria-label":"Back to reference 1",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{id:"user-content-fn-2-5f4147",children:["\n",(0,s.jsxs)(t.p,{children:["bar ",(0,s.jsx)(t.a,{href:"#user-content-fnref-2-5f4147","data-footnote-backref":"","aria-label":"Back to reference 2",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{id:"user-content-fn-3-5f4147",children:["\n",(0,s.jsxs)(t.p,{children:["baz ",(0,s.jsx)(t.a,{href:"#user-content-fnref-3-5f4147","data-footnote-backref":"","aria-label":"Back to reference 3",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n"]}),"\n"]})]})}function d(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},80980:function(e,t,o){o.d(t,{Z:()=>f,a:()=>a});var n=o(67294);let s={},r=n.createContext(s);function a(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function f(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(r.Provider,{value:t},e.children)}},94025:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2022/01/22/dup-footnote","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-01-22-dup-footnote.mdx","source":"@site/_dogfooding/_blog tests/2022-01-22-dup-footnote.mdx","title":"Second post with footnote to test posts with same footnote reference.","description":"foo","date":"2022-01-22T00:00:00.000Z","tags":[],"readingTime":1.8,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Second post with footnote to test posts with same footnote reference."},"unlisted":false,"prevItem":{"title":"First post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/04/20/dup-footnote"},"nextItem":{"title":"Third post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/21/dup-footnote"}}')}}]); \ No newline at end of file diff --git a/assets/js/20139c40.5af71b10.js b/assets/js/20139c40.5af71b10.js new file mode 100644 index 0000000000..dde2a88c5a --- /dev/null +++ b/assets/js/20139c40.5af71b10.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["79832"],{40797:function(e,s,n){n.r(s),n.d(s,{frontMatter:()=>l,default:()=>p,contentTitle:()=>c,assets:()=>u,toc:()=>d,metadata:()=>t});var t=JSON.parse('{"id":"contributing","title":"Contributing","description":"","source":"@site/community/3-contributing.mdx","sourceDirName":".","slug":"/contributing","permalink":"/community/contributing","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/3-contributing.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":3,"frontMatter":{"title":"Contributing","hide_title":true,"sidebar_label":"Contributing"},"sidebar":"community","previous":{"title":"Awesome Resources","permalink":"/community/resources"},"next":{"title":"Canary releases","permalink":"/community/canary"}}'),o=n(85893),i=n(80980);function r(e){let s={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"contributing-to-docusaurus",children:"Contributing to Docusaurus"})}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.a,{href:"https://docusaurus.io",children:"Docusaurus"})," is our way to hopefully help make open source documentation easier. We currently have ",(0,o.jsx)(s.a,{href:"https://docusaurus.io/showcase",children:"multiple open source projects using it"}),", with many more planned. If you're interested in contributing to Docusaurus, hopefully, this document makes the process for contributing clear."]}),"\n",(0,o.jsxs)(s.p,{children:["The ",(0,o.jsx)(s.a,{href:"https://opensource.guide/",children:"Open Source Guides"})," website has a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open source project. Contributors and people new to open source alike will find the following guides especially useful:"]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:(0,o.jsx)(s.a,{href:"https://opensource.guide/how-to-contribute/",children:"How to Contribute to Open Source"})}),"\n",(0,o.jsx)(s.li,{children:(0,o.jsx)(s.a,{href:"https://opensource.guide/building-community/",children:"Building Welcoming Communities"})}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"code-of-conduct",children:"Code of Conduct"}),"\n",(0,o.jsxs)(s.p,{children:["Meta has adopted a Code of Conduct that we expect project participants to adhere to. Please read ",(0,o.jsx)(s.a,{href:"https://code.fb.com/codeofconduct",children:"the full text"})," so that you can understand what actions will and will not be tolerated."]}),"\n",(0,o.jsx)(s.h2,{id:"get-involved",children:"Get Involved"}),"\n",(0,o.jsx)(s.p,{children:"There are many ways to contribute to Docusaurus, and many of them do not involve writing any code. Here's a few ideas to get started:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Simply start using Docusaurus. Go through the ",(0,o.jsx)(s.a,{href:"https://docusaurus.io/docs/installation",children:"Getting Started"})," guide. Does everything work as expected? If not, we're always looking for improvements. Let us know by ",(0,o.jsx)(s.a,{href:"#issues",children:"opening an issue"}),"."]}),"\n",(0,o.jsxs)(s.li,{children:["Look through the ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues",children:"open issues"}),". Provide workarounds, ask for clarification, or suggest labels. Help ",(0,o.jsx)(s.a,{href:"#triaging-issues-and-pull-requests",children:"triage issues"}),"."]}),"\n",(0,o.jsxs)(s.li,{children:["If you find an issue you would like to fix, ",(0,o.jsx)(s.a,{href:"#pull-requests",children:"open a pull request"}),". Issues tagged as ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/labels/Good%20first%20issue",children:(0,o.jsx)(s.em,{children:"Good first issue"})})," are a good place to get started."]}),"\n",(0,o.jsxs)(s.li,{children:["Read through the ",(0,o.jsx)(s.a,{href:"https://docusaurus.io/docs/installation",children:"Docusaurus docs"}),'. If you find anything that is confusing or can be improved, you can click "Edit this page" at the bottom of most docs, which takes you to the GitHub interface to make and propose changes.']}),"\n",(0,o.jsxs)(s.li,{children:["Take a look at the ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/labels/feature",children:"features requested"})," by others in the community and consider opening a pull request if you see something you want to work on."]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Contributions are very welcome. If you think you need help planning your contribution, please ping us on X at ",(0,o.jsx)(s.a,{href:"https://x.com/docusaurus",children:"@docusaurus"})," and let us know you are looking for a bit of help."]}),"\n",(0,o.jsx)(s.h3,{id:"join-our-discord-channel",children:"Join our Discord Channel"}),"\n",(0,o.jsxs)(s.p,{children:["We have the ",(0,o.jsx)(s.a,{href:"https://discord.gg/6g6ASPA",children:(0,o.jsx)(s.code,{children:"#contributors"})})," channel on ",(0,o.jsx)(s.a,{href:"https://discord.gg/docusaurus",children:"Discord"})," to discuss all things about Docusaurus development. You can also be of great help by helping other users in the ",(0,o.jsx)(s.a,{href:"https://discord.gg/fwbcrQ3dHR",children:(0,o.jsx)(s.code,{children:"#help-and-questions"})})," channel."]}),"\n",(0,o.jsx)(s.h3,{id:"triaging-issues-and-pull-requests",children:"Triaging Issues and Pull Requests"}),"\n",(0,o.jsx)(s.p,{children:"One great way you can contribute to the project without writing any code is to help triage issues and pull requests as they come in."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"Ask for more information if you believe the issue does not provide all the details required to solve it."}),"\n",(0,o.jsxs)(s.li,{children:["Suggest ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/labels",children:"labels"})," that can help categorize issues."]}),"\n",(0,o.jsx)(s.li,{children:"Flag issues that are stale or that should be closed."}),"\n",(0,o.jsx)(s.li,{children:"Ask for test plans and review code."}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"our-development-process",children:"Our Development Process"}),"\n",(0,o.jsxs)(s.p,{children:["Docusaurus uses ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus",children:"GitHub"})," as its source of truth. The core team will be working directly there. All changes will be public from the beginning."]}),"\n",(0,o.jsx)(s.p,{children:"All pull requests will be checked by the continuous integration system, GitHub actions. There are unit tests, end-to-end tests, performance tests, style tests, and much more."}),"\n",(0,o.jsx)(s.h3,{id:"branch-organization",children:"Branch Organization"}),"\n",(0,o.jsxs)(s.p,{children:["Docusaurus has one primary branch ",(0,o.jsx)(s.code,{children:"main"})," and we use feature branches with deploy previews to deliver new features with pull requests."]}),"\n",(0,o.jsx)(s.h2,{id:"issues",children:"Issues"}),"\n",(0,o.jsxs)(s.p,{children:["When ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/new/choose",children:"opening a new issue"}),", always make sure to fill out the issue template. ",(0,o.jsx)(s.strong,{children:"This step is very important!"})," Not doing so may result in your issue not being managed in a timely fashion. Don't take this personally if this happens, and feel free to open a new issue once you've gathered all the information required by the template."]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.strong,{children:"Please don't use the GitHub issue tracker for questions."})," If you have questions about using Docusaurus, use any of our ",(0,o.jsx)(s.a,{href:"https://docusaurus.io/community/support",children:"support channels"}),", and we will do our best to answer your questions."]}),"\n",(0,o.jsx)(s.h3,{id:"bugs",children:"Bugs"}),"\n",(0,o.jsxs)(s.p,{children:["We use ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues",children:"GitHub Issues"})," for our public bugs. If you would like to report a problem, take a look around and see if someone already opened an issue about it. If you are certain this is a new, unreported bug, you can submit a ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/new?assignees=&labels=bug%2Cstatus%3A+needs+triage&template=bug.yml",children:"bug report"}),"."]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"One issue, one bug:"})," Please report a single bug per issue."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Provide reproduction steps:"})," List all the steps necessary to reproduce the issue. The person reading your bug report should be able to follow these steps to reproduce your issue with minimal effort."]}),"\n"]}),"\n",(0,o.jsx)(s.p,{children:"If you're only fixing a bug, it's fine to submit a pull request right away but we still recommend filing an issue detailing what you're fixing. This is helpful in case we don't accept that specific fix but want to keep track of the issue."}),"\n",(0,o.jsx)(s.h3,{id:"security-bugs",children:"Security Bugs"}),"\n",(0,o.jsxs)(s.p,{children:["Meta has a ",(0,o.jsx)(s.a,{href:"https://www.facebook.com/whitehat/",children:"bounty program"})," for the safe disclosure of security bugs. With that in mind, please do not file public issues; go through the process outlined on that page."]}),"\n",(0,o.jsx)(s.h3,{id:"feature-requests",children:"Feature requests"}),"\n",(0,o.jsxs)(s.p,{children:["If you would like to request a new feature or enhancement but are not yet thinking about opening a pull request, you can file an issue with the ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/new?assignees=&labels=feature%2Cstatus%3A+needs+triage&template=feature.yml",children:"feature template"})," in the form of an ",(0,o.jsx)(s.strong,{children:"elaborated RFC"}),". Alternatively, you can use the ",(0,o.jsx)(s.a,{href:"https://docusaurus.io/feature-requests",children:"Canny board"})," for more casual feature requests and gain enough traction before proposing an RFC."]}),"\n",(0,o.jsx)(s.h3,{id:"proposals",children:"Proposals"}),"\n",(0,o.jsxs)(s.p,{children:["If you intend to make any non-trivial changes to existing implementations, we recommend filing an issue with the ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/new?assignees=&labels=proposal%2Cstatus%3A+needs+triage&template=proposal.yml",children:"proposal template"}),". This lets us reach an agreement on your proposal before you put significant effort into it. These types of issues should be rare."]}),"\n",(0,o.jsx)(s.h3,{id:"claiming-issues",children:"Claiming issues"}),"\n",(0,o.jsxs)(s.p,{children:["We have a list of ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/labels/good%20first%20issue",children:"beginner-friendly issues"})," to help you get your feet wet in the Docusaurus codebase and familiar with our contribution process. This is a great place to get started."]}),"\n",(0,o.jsxs)(s.p,{children:["Apart from the ",(0,o.jsx)(s.code,{children:"good first issue"}),", the following labels are also worth looking at:"]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/labels/help%20wanted",children:(0,o.jsx)(s.code,{children:"help wanted"})}),": if you have specific knowledge in one domain, working on these issues can make your expertise shine."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/labels/status%3A%20accepting%20pr",children:(0,o.jsx)(s.code,{children:"status: accepting pr"})}),": community contributors can feel free to claim any of these."]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:['If you want to work on any of these issues, just drop a message saying "I\'d like to work on this", and we will assign the issue to you and update the issue\'s status as "claimed". ',(0,o.jsx)(s.strong,{children:"You are expected to send a pull request within seven days"})," after that, so we can still delegate the issue to someone else if you are unavailable."]}),"\n",(0,o.jsx)(s.p,{children:'Alternatively, when opening an issue, you can also click the "self service" checkbox to indicate that you\'d like to work on the issue yourself, which will also make us see the issue as "claimed".'}),"\n",(0,o.jsx)(s.h2,{id:"development",children:"Development"}),"\n",(0,o.jsx)(s.h3,{id:"online-one-click-setup-for-contributing",children:"Online one-click setup for contributing"}),"\n",(0,o.jsx)(s.p,{children:"You can use Gitpod (a free, online, VS Code-like IDE) for contributing. With a single click, it will launch a workspace (for Docusaurus 2) and automatically:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"clone the docusaurus repo."}),"\n",(0,o.jsx)(s.li,{children:"install the dependencies."}),"\n",(0,o.jsxs)(s.li,{children:["run ",(0,o.jsx)(s.code,{children:"yarn start"})]}),"\n"]}),"\n",(0,o.jsx)(s.p,{children:"So that you can start contributing straight away."}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://gitpod.io/#https://github.com/facebook/docusaurus",children:(0,o.jsx)(s.img,{src:"https://gitpod.io/button/open-in-gitpod.svg",alt:"Open in Gitpod"})})}),"\n",(0,o.jsxs)(s.p,{children:["You can also try using the new ",(0,o.jsx)(s.a,{href:"https://github.dev/facebook/docusaurus",children:"github.dev"})," feature. While you are browsing any file, changing the domain name from ",(0,o.jsx)(s.code,{children:"github.com"})," to ",(0,o.jsx)(s.code,{children:"github.dev"})," will turn your browser into an online editor. You can start making changes and send pull requests right away."]}),"\n",(0,o.jsx)(s.h3,{id:"installation",children:"Installation"}),"\n",(0,o.jsxs)(s.ol,{children:["\n",(0,o.jsxs)(s.li,{children:["Ensure you have ",(0,o.jsx)(s.a,{href:"https://yarnpkg.com/",children:"Yarn"})," installed."]}),"\n",(0,o.jsxs)(s.li,{children:["After cloning the repository, run ",(0,o.jsx)(s.code,{children:"yarn install"})," in the root of the repository. This will install all dependencies as well as build all local packages."]}),"\n",(0,o.jsxs)(s.li,{children:["To start a development server, run ",(0,o.jsx)(s.code,{children:"yarn workspace website start"}),"."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"code-conventions",children:"Code Conventions"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Most important: Look around."})," Match the style you see used in the rest of the project. This includes formatting, naming files, naming things in code, naming things in documentation, etc."]}),"\n",(0,o.jsx)(s.li,{children:'"Attractive"'}),"\n",(0,o.jsx)(s.li,{children:"We do have Prettier (a formatter) and ESLint (a syntax linter) to catch most stylistic problems. If you are working locally, they should automatically fix some issues during every git commit."}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"For documentation"}),": Do not wrap lines at 80 characters - configure your editor to soft-wrap when editing documentation."]}),"\n"]}),"\n",(0,o.jsx)(s.p,{children:"Don't worry too much about styles in general\u2014the maintainers will help you fix them as they review your code."}),"\n",(0,o.jsx)(s.h2,{id:"pull-requests",children:"Pull Requests"}),"\n",(0,o.jsx)(s.p,{children:"So you have decided to contribute code back to upstream by opening a pull request. You've invested a good chunk of time, and we appreciate it. We will do our best to work with you and get the PR looked at."}),"\n",(0,o.jsx)(s.p,{children:"Working on your first Pull Request? You can learn how from this free video series:"}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github",children:(0,o.jsx)(s.strong,{children:"How to Contribute to an Open Source Project on GitHub"})})}),"\n",(0,o.jsx)(s.p,{children:"Please make sure the following is done when submitting a pull request:"}),"\n",(0,o.jsxs)(s.ol,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Keep your PR small."})," Small pull requests (~300 lines of diff) are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Use descriptive titles."})," It is recommended to follow this ",(0,o.jsx)(s.a,{href:"#semantic-commit-messages",children:"commit message style"}),"."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Test your changes."})," Describe your ",(0,o.jsx)(s.a,{href:"#test-plan",children:(0,o.jsx)(s.strong,{children:"test plan"})})," in your pull request description."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"CLA."})," If you haven't already, ",(0,o.jsx)(s.a,{href:"https://code.facebook.com/cla",children:"sign the CLA"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["All pull requests should be opened against the ",(0,o.jsx)(s.code,{children:"main"})," branch."]}),"\n",(0,o.jsx)(s.p,{children:"We have a lot of integration systems that run automated tests to guard against mistakes. The maintainers will also review your code and fix obvious issues for you. These systems' duty is to make you worry as little about the chores as possible. Your code contributions are more important than sticking to any procedures, although completing the checklist will surely save everyone's time."}),"\n",(0,o.jsx)(s.h3,{id:"semantic-commit-messages",children:"Semantic Commit Messages"}),"\n",(0,o.jsx)(s.p,{children:"See how a minor change to your commit message style can make you a better programmer."}),"\n",(0,o.jsxs)(s.p,{children:["Format: ",(0,o.jsx)(s.code,{children:"<type>(<scope>): <subject>"})]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.code,{children:"<scope>"})," is optional. If your change is specific to one/two packages, consider adding the scope. Scopes should be brief but recognizable, e.g. ",(0,o.jsx)(s.code,{children:"content-docs"}),", ",(0,o.jsx)(s.code,{children:"theme-classic"}),", ",(0,o.jsx)(s.code,{children:"core"})]}),"\n",(0,o.jsx)(s.p,{children:"The various types of commits:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"feat"}),": a new API or behavior ",(0,o.jsx)(s.strong,{children:"for the end user"}),"."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"fix"}),": a bug fix ",(0,o.jsx)(s.strong,{children:"for the end user"}),"."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docs"}),": a change to the website or other Markdown documents in our repo."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"refactor"}),": a change to production code that leads to no behavior difference, e.g. splitting files, renaming internal variables, improving code style..."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"test"}),": adding missing tests, refactoring tests; no production code change."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"chore"}),": upgrading dependencies, releasing new versions... Chores that are ",(0,o.jsx)(s.strong,{children:"regularly done"})," for maintenance purposes."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"misc"}),": anything else that doesn't change production code, yet is not ",(0,o.jsx)(s.code,{children:"test"})," or ",(0,o.jsx)(s.code,{children:"chore"}),". e.g. updating GitHub actions workflow."]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Do not get too stressed about PR titles, however. Your PR will be squash-merged and your commit to the ",(0,o.jsx)(s.code,{children:"main"})," branch will get the title of your PR, so commits within a branch don't need to be semantically named. The maintainers will help you get the PR title right, and we also have a PR label system that doesn't equate with the commit message types. Your code is more important than conventions!"]}),"\n",(0,o.jsx)(s.p,{children:"Example:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"feat(core): allow overriding of webpack config\n^--^^----^ ^------------^\n| | |\n| | +-> Summary in present tense. Use lower case not title case!\n| |\n| +-> The package(s) that this change affected.\n|\n+-------\x3e Type: see above for the list we use.\n"})}),"\n",(0,o.jsx)(s.h3,{id:"versioned-docs",children:"Versioned Docs"}),"\n",(0,o.jsx)(s.p,{children:"If you only want to make doc changes, you just need to be aware of versioned docs."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"website/docs"}),' - The files here are responsible for the "next" version at ',(0,o.jsx)(s.a,{href:"https://docusaurus.io/docs/next/installation",children:"https://docusaurus.io/docs/next/installation"}),"."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"website/versioned_docs/version-X.Y.Z"})," - These are the docs for the X.Y.Z version at ",(0,o.jsx)(s.a,{href:"https://docusaurus.io/docs/X.Y.Z/installation",children:"https://docusaurus.io/docs/X.Y.Z/installation"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["Do not edit the auto-generated files within ",(0,o.jsx)(s.code,{children:"versioned_docs/"})," or ",(0,o.jsx)(s.code,{children:"versioned_sidebars/"})," unless you are sure it is necessary. For example, information about new features should not be documented in versioned docs. Edits made to older versions will not be propagated to newer versions of the docs."]}),"\n",(0,o.jsx)(s.h3,{id:"test-plan",children:"Test Plan"}),"\n",(0,o.jsx)(s.p,{children:"A good test plan has the exact commands you ran and their output and provides screenshots or videos if the pull request changes UI. If you've changed APIs, update the documentation."}),"\n",(0,o.jsx)(s.p,{children:"Tests are integrated into our continuous integration system, so you don't always need to run local tests. However, for significant code changes, it saves both your and the maintainers' time if you can do exhaustive tests locally first to make sure your PR is in good shape. There are many types of tests:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Build and typecheck."})," We use TypeScript in our codebase, which can make sure your code is consistent and catches some obvious mistakes early."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Unit tests."})," We use ",(0,o.jsx)(s.a,{href:"https://jestjs.io/",children:"Jest"})," for unit tests of API endpoints' behavior. You can run ",(0,o.jsx)(s.code,{children:"yarn test"})," in the root directory to run all tests, or ",(0,o.jsx)(s.code,{children:"yarn test path/to/your/file.test.ts"})," to run a specific test."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Dogfooding."})," Our website itself covers all kinds of potential configuration cases and we even have a dedicated ",(0,o.jsx)(s.a,{href:"https://docusaurus.io/tests",children:"tests area"}),". Don't be afraid to update our website's configuration in your PR\u2014it can help the maintainers preview the effects. We can decide if the website change should be kept when merging and deploying for production."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"E2E tests."})," You can simulate the distribution and installation of the code with your fresh changes. If you need help testing your changes locally, you can check out the doc on doing ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/blob/main/admin/local-third-party-project-testing.md",children:"local third-party testing"}),"."]}),"\n"]}),"\n",(0,o.jsx)(s.h3,{id:"licensing",children:"Licensing"}),"\n",(0,o.jsx)(s.p,{children:"By contributing to Docusaurus, you agree that your contributions will be licensed under its MIT license. Copy and paste this to the top of your new file(s):"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-js",children:"/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n"})}),"\n",(0,o.jsxs)(s.p,{children:["This is also auto-fixable with the ",(0,o.jsx)(s.code,{children:"header/header"})," ESLint rule."]}),"\n",(0,o.jsx)(s.h3,{id:"contributor-license-agreement-cla",children:"Contributor License Agreement (CLA)"}),"\n",(0,o.jsxs)(s.p,{children:["In order to accept your pull request, we need you to submit a CLA. You only need to do this once, so if you've done this for another Meta open source project, you're good to go. If you are submitting a pull request for the first time, the Meta GitHub Bot will reply with a link to the CLA form. You may also ",(0,o.jsx)(s.a,{href:"https://code.facebook.com/cla",children:"complete your CLA here"}),"."]}),"\n",(0,o.jsx)(s.p,{children:"After you have signed the CLA, the CLA bot would automatically update the PR status. There's no need to open a new PR."}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.strong,{children:"CLAs are required for us to merge your pull request."})," While we value your effort and are willing to wait for you to come back and address the reviews in case you are unavailable after sending the pull request, pull requests that are ready to merge but have CLA missing and no response from the author ",(0,o.jsx)(s.strong,{children:"will be closed within two weeks of opening"}),". If you have further questions about the CLA, please stay in touch with us."]}),"\n",(0,o.jsx)(s.p,{children:"If it happens that you were unavailable and your PR gets closed, feel free to reopen once it's ready! We are still happy to review it, help you complete it, and eventually merge it."}),"\n",(0,o.jsx)(s.h3,{id:"breaking-changes",children:"Breaking Changes"}),"\n",(0,o.jsx)(s.p,{children:"When adding a new breaking change, follow this template in your pull request:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-md",children:"### New breaking change here\n\n- **Who does this affect**:\n- **How to migrate**:\n- **Why make this breaking change**:\n- **Severity (number of people affected x effort)**:\n"})}),"\n",(0,o.jsx)(s.h3,{id:"what-happens-next",children:"What Happens Next?"}),"\n",(0,o.jsx)(s.p,{children:"The core Docusaurus team will be monitoring pull requests. Do help us by keeping pull requests consistent by following the guidelines above."})]})}function a(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(r,{...e})}):r(e)}let l={title:"Contributing",hide_title:!0,sidebar_label:"Contributing"},c=void 0,u={},d=[{value:"Code of Conduct",id:"code-of-conduct",level:2},{value:"Get Involved",id:"get-involved",level:2},{value:"Join our Discord Channel",id:"join-our-discord-channel",level:3},{value:"Triaging Issues and Pull Requests",id:"triaging-issues-and-pull-requests",level:3},{value:"Our Development Process",id:"our-development-process",level:2},{value:"Branch Organization",id:"branch-organization",level:3},{value:"Issues",id:"issues",level:2},{value:"Bugs",id:"bugs",level:3},{value:"Security Bugs",id:"security-bugs",level:3},{value:"Feature requests",id:"feature-requests",level:3},{value:"Proposals",id:"proposals",level:3},{value:"Claiming issues",id:"claiming-issues",level:3},{value:"Development",id:"development",level:2},{value:"Online one-click setup for contributing",id:"online-one-click-setup-for-contributing",level:3},{value:"Installation",id:"installation",level:3},{value:"Code Conventions",id:"code-conventions",level:3},{value:"Pull Requests",id:"pull-requests",level:2},{value:"Semantic Commit Messages",id:"semantic-commit-messages",level:3},{value:"Versioned Docs",id:"versioned-docs",level:3},{value:"Test Plan",id:"test-plan",level:3},{value:"Licensing",id:"licensing",level:3},{value:"Contributor License Agreement (CLA)",id:"contributor-license-agreement-cla",level:3},{value:"Breaking Changes",id:"breaking-changes",level:3},{value:"What Happens Next?",id:"what-happens-next",level:3}];function h(e){return(0,o.jsx)(a,{})}function p(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},80980:function(e,s,n){n.d(s,{Z:()=>a,a:()=>r});var t=n(67294);let o={},i=t.createContext(o);function r(e){let s=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/201d0633.c375dbf3.js b/assets/js/201d0633.c375dbf3.js new file mode 100644 index 0000000000..b6cb26c088 --- /dev/null +++ b/assets/js/201d0633.c375dbf3.js @@ -0,0 +1,22 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["80849"],{84645:function(e,n,t){t.d(n,{ZP:()=>d,d$:()=>l});var s=t(85893),r=t(80980);let l=[{value:"Tags File",id:"tags-file",level:2},{value:"Types",id:"tags-file-types",level:3},{value:"Example",id:"tags-file-example",level:3}];function i(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"tags-file",children:"Tags File"}),"\n",(0,s.jsxs)(n.p,{children:["Use the ",(0,s.jsxs)(n.a,{href:"#tags",children:[(0,s.jsx)(n.code,{children:"tags"})," plugin option"]})," to configure the path of a YAML tags file."]}),"\n",(0,s.jsxs)(n.p,{children:["By convention, the plugin will look for a ",(0,s.jsx)(n.code,{children:"tags.yml"})," file at the root of your content folder(s)."]}),"\n",(0,s.jsxs)(n.p,{children:["This file can contain a list of predefined tags. You can reference these tags by their keys in Markdown files thanks to the ",(0,s.jsxs)(n.a,{href:"#markdown-front-matter",children:[(0,s.jsx)(n.code,{children:"tags"})," front matter"]}),"."]}),"\n",(0,s.jsx)(n.admonition,{title:"Keeping tags consistent",type:"tip",children:(0,s.jsxs)(n.p,{children:["Using a tags file, you can ensure that your tags usage is consistent across your plugin content set. Use the ",(0,s.jsx)(n.a,{href:"#onInlineTags",children:(0,s.jsx)(n.code,{children:"onInlineTags: 'throw'"})})," plugin option to enforce this consistency and prevent usage of inline tags declared on the fly."]})}),"\n",(0,s.jsx)(n.h3,{id:"tags-file-types",children:"Types"}),"\n",(0,s.jsx)(n.p,{children:"The YAML content of the provided tags file should respect the following shape:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-tsx",children:"type Tag = {\n label?: string; // Tag display label\n permalink?: string; // Tag URL pathname segment\n description?: string; // Tag description displayed in the tag page\n};\n\ntype TagsFileInput = Record<string, Partial<Tag> | null>;\n"})}),"\n",(0,s.jsx)(n.h3,{id:"tags-file-example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yml",metastring:'title="tags.yml"',children:"releases:\n label: 'Product releases'\n permalink: '/product-releases'\n description: 'Content related to product releases.'\n\n# A partial tag definition is also valid\nannouncements:\n label: 'Announcements'\n\n# An empty tag definition is also valid\n# Other attributes will be inferred from the key\nemptyTag:\n"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-md",metastring:'title="content.md"',children:"---\ntags: [releases, announcements, emptyTag]\n---\n\n# Title\n\nContent\n"})})]})}function d(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}},72984:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>h,default:()=>p,contentTitle:()=>u,assets:()=>x,toc:()=>j,metadata:()=>s});var s=JSON.parse('{"id":"api/plugins/plugin-content-blog","title":"\uD83D\uDCE6 plugin-content-blog","description":"Provides the Blog feature and is the default blog plugin for Docusaurus.","source":"@site/docs/api/plugins/plugin-content-blog.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-content-blog","permalink":"/docs/api/plugins/@docusaurus/plugin-content-blog","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-content-blog.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":2,"frontMatter":{"sidebar_position":2,"slug":"/api/plugins/@docusaurus/plugin-content-blog"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-content-docs","permalink":"/docs/api/plugins/@docusaurus/plugin-content-docs"},"next":{"title":"\uD83D\uDCE6 plugin-content-pages","permalink":"/docs/api/plugins/@docusaurus/plugin-content-pages"}}'),r=t(85893),l=t(80980),i=t(15398),d=t(58636),o=t(32240),c=t(66359),a=t(84645);let h={sidebar_position:2,slug:"/api/plugins/@docusaurus/plugin-content-blog"},u="\uD83D\uDCE6 plugin-content-blog",x={},j=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Types",id:"types",level:3},{value:"<code>EditUrlFn</code>",id:"EditUrlFn",level:4},{value:"<code>ReadingTimeFn</code>",id:"ReadingTimeFn",level:4},{value:"<code>FeedType</code>",id:"FeedType",level:4},{value:"<code>FeedXSLTOptions</code>",id:"FeedXSLTOptions",level:4},{value:"<code>CreateFeedItemsFn</code>",id:"CreateFeedItemsFn",level:4},{value:"<code>ProcessBlogPostsFn</code>",id:"ProcessBlogPostsFn",level:4},{value:"Example configuration",id:"ex-config",level:3},{value:"Markdown front matter",id:"markdown-front-matter",level:2},...a.d$,{value:"Authors File",id:"authors-file",level:2},{value:"Types",id:"authors-file-types",level:3},{value:"Example",id:"authors-file-example",level:3},{value:"i18n",id:"i18n",level:2},{value:"Translation files location",id:"translation-files-location",level:3},{value:"Example file-system structure",id:"example-file-system-structure",level:3}];function g(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"-plugin-content-blog",children:"\uD83D\uDCE6 plugin-content-blog"})}),"\n","\n",(0,r.jsxs)(n.p,{children:["Provides the ",(0,r.jsx)(n.a,{href:"/docs/blog",children:"Blog"})," feature and is the default blog plugin for Docusaurus."]}),"\n",(0,r.jsx)(n.admonition,{title:"some features production only",type:"warning",children:(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.a,{href:"/docs/blog#feed",children:"feed feature"})," works by extracting the build output, and is ",(0,r.jsx)(n.strong,{children:"only active in production"}),"."]})}),"\n",(0,r.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,r.jsxs)(i.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(d.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-content-blog\n"})})}),(0,r.jsx)(d.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-content-blog\n"})})}),(0,r.jsx)(d.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-content-blog\n"})})})]}),"\n",(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsxs)(n.p,{children:["If you use the preset ",(0,r.jsx)(n.code,{children:"@docusaurus/preset-classic"}),", you don't need to install this plugin as a dependency."]}),(0,r.jsxs)(n.p,{children:["You can configure this plugin through the ",(0,r.jsx)(n.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),"."]})]}),"\n",(0,r.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,r.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Type"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"path"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'blog'"})}),(0,r.jsx)(n.td,{children:"Path to the blog content directory on the file system, relative to site dir."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"editUrl"})}),(0,r.jsx)(n.td,{children:(0,r.jsxs)("code",{children:["string | ",(0,r.jsx)(n.a,{href:"#EditUrlFn",children:"EditUrlFn"})]})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["Base URL to edit your site. The final URL is computed by ",(0,r.jsx)(n.code,{children:"editUrl + relativePostPath"}),". Using a function allows more nuanced control for each file. Omitting this variable entirely will disable edit links."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"editLocalizedFiles"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsxs)(n.td,{children:["The edit URL will target the localized file, instead of the original unlocalized file. Ignored when ",(0,r.jsx)(n.code,{children:"editUrl"})," is a function."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogTitle"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'Blog'"})}),(0,r.jsx)(n.td,{children:"Blog page title for better SEO."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogDescription"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'Blog'"})}),(0,r.jsx)(n.td,{children:"Blog page meta description for better SEO."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogSidebarCount"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:"number | 'ALL'"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"5"})}),(0,r.jsxs)(n.td,{children:["Number of blog post elements to show in the blog sidebar. ",(0,r.jsx)(n.code,{children:"'ALL'"})," to show all blog posts; ",(0,r.jsx)(n.code,{children:"0"})," to disable."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogSidebarTitle"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'Recent posts'"})}),(0,r.jsx)(n.td,{children:"Title of the blog sidebar."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"routeBasePath"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'blog'"})}),(0,r.jsxs)(n.td,{children:["URL route for the blog section of your site. ",(0,r.jsx)(n.strong,{children:"DO NOT"})," include a trailing slash. Use ",(0,r.jsx)(n.code,{children:"/"})," to put the blog at root path."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"tagsBasePath"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'tags'"})}),(0,r.jsxs)(n.td,{children:["URL route for the tags section of your blog. Will be appended to ",(0,r.jsx)(n.code,{children:"routeBasePath"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"pageBasePath"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'page'"})}),(0,r.jsxs)(n.td,{children:["URL route for the pages section of your blog. Will be appended to ",(0,r.jsx)(n.code,{children:"routeBasePath"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"archiveBasePath"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:"string | null"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'archive'"})}),(0,r.jsxs)(n.td,{children:["URL route for the archive section of your blog. Will be appended to ",(0,r.jsx)(n.code,{children:"routeBasePath"}),". ",(0,r.jsx)(n.strong,{children:"DO NOT"})," include a trailing slash. Use ",(0,r.jsx)(n.code,{children:"null"})," to disable generation of archive."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"authorsBasePath"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'authors'"})}),(0,r.jsxs)(n.td,{children:["URL route for the authors pages of your blog. Will be appended to ",(0,r.jsx)(n.code,{children:"path"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"include"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"['**/*.{md,mdx}']"})}),(0,r.jsx)(n.td,{children:"Array of glob patterns matching Markdown files to be built, relative to the content path."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"exclude"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.em,{children:"See example configuration"})}),(0,r.jsxs)(n.td,{children:["Array of glob patterns matching Markdown files to be excluded. Serves as refinement based on the ",(0,r.jsx)(n.code,{children:"include"})," option."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"postsPerPage"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:"number | 'ALL'"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"10"})}),(0,r.jsxs)(n.td,{children:["Number of posts to show per page in the listing page. Use ",(0,r.jsx)(n.code,{children:"'ALL'"})," to display all posts on one listing page."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogListComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/BlogListPage'"})}),(0,r.jsx)(n.td,{children:"Root component of the blog listing page."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogPostComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/BlogPostPage'"})}),(0,r.jsx)(n.td,{children:"Root component of each blog post page."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogTagsListComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/BlogTagsListPage'"})}),(0,r.jsx)(n.td,{children:"Root component of the tags list page."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogTagsPostsComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/BlogTagsPostsPage'"})}),(0,r.jsx)(n.td,{children:'Root component of the "posts containing tag" page.'})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogArchiveComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/BlogArchivePage'"})}),(0,r.jsx)(n.td,{children:"Root component of the blog archive page."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogAuthorsPostsComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/Blog/Pages/BlogAuthorsPostsPage'"})}),(0,r.jsx)(n.td,{children:"Root component of the blog author page."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"blogAuthorsListComponent"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'@theme/Blog/Pages/BlogAuthorsListPage'"})}),(0,r.jsx)(n.td,{children:"Root component of the blog authors page index."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"remarkPlugins"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"any[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"[]"})}),(0,r.jsx)(n.td,{children:"Remark plugins passed to MDX."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"rehypePlugins"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"any[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"[]"})}),(0,r.jsx)(n.td,{children:"Rehype plugins passed to MDX."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"rehypePlugins"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"any[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"[]"})}),(0,r.jsx)(n.td,{children:"Recma plugins passed to MDX."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"beforeDefaultRemarkPlugins"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"any[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"[]"})}),(0,r.jsx)(n.td,{children:"Custom Remark plugins passed to MDX before the default Docusaurus Remark plugins."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"beforeDefaultRehypePlugins"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"any[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"[]"})}),(0,r.jsx)(n.td,{children:"Custom Rehype plugins passed to MDX before the default Docusaurus Rehype plugins."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"truncateMarker"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"RegExp"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"/\x3c!--\\s*truncate\\s*--\x3e/"})," | ",(0,r.jsx)(n.code,{children:"\\{\\/\\*\\s*truncate\\s*\\*\\/\\}/"})]}),(0,r.jsx)(n.td,{children:"Truncate marker marking where the summary ends."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"showReadingTime"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"true"})}),(0,r.jsx)(n.td,{children:"Show estimated reading time for the blog post."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"readingTime"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"ReadingTimeFn"})}),(0,r.jsx)(n.td,{children:"The default reading time"}),(0,r.jsx)(n.td,{children:"A callback to customize the reading time number displayed."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"authorsMapPath"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'authors.yml'"})}),(0,r.jsx)(n.td,{children:"Path to the authors map file, relative to the blog content directory."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"feedOptions"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.em,{children:"See below"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{type: ['rss', 'atom']}"})}),(0,r.jsx)(n.td,{children:"Blog feed."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"feedOptions.type"})}),(0,r.jsx)(n.td,{children:(0,r.jsxs)("code",{children:[(0,r.jsx)(n.a,{href:"#FeedType",children:"FeedType"})," | ",(0,r.jsx)(n.a,{href:"#FeedType",children:"FeedType"}),"[] | 'all' | null"]})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Required"})}),(0,r.jsxs)(n.td,{children:["Type of feed to be generated. Use ",(0,r.jsx)(n.code,{children:"null"})," to disable generation."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"feedOptions.createFeedItems"})}),(0,r.jsx)(n.td,{children:(0,r.jsxs)("code",{children:[(0,r.jsx)(n.a,{href:"#CreateFeedItemsFn",children:"CreateFeedItemsFn"})," | undefined"]})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsx)(n.td,{children:"An optional function which can be used to transform and / or filter the items in the feed."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"feedOptions.limit"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"number | null | false"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"20"})}),(0,r.jsxs)(n.td,{children:["Limits the feed to the specified number of posts, ",(0,r.jsx)(n.code,{children:"false"})," or ",(0,r.jsx)(n.code,{children:"null"})," for all entries. Defaults to ",(0,r.jsx)(n.code,{children:"20"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"feedOptions.title"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"siteConfig.title"})}),(0,r.jsx)(n.td,{children:"Title of the feed."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"feedOptions.description"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:"`${siteConfig.title} Blog`"})}),(0,r.jsx)(n.td,{children:"Description of the feed."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"feedOptions.copyright"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsx)(n.td,{children:"Copyright message."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"feedOptions.xslt"})}),(0,r.jsx)(n.td,{children:(0,r.jsxs)("code",{children:["boolean | ",(0,r.jsx)(n.a,{href:"#FeedXSLTOptions",children:"FeedXSLTOptions"})]})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsx)(n.td,{children:"Permits to style the blog XML feeds with XSLT so that browsers render them nicely."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"feedOptions.language"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"string"})," (See ",(0,r.jsx)(n.a,{href:"http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes",children:"documentation"})," for possible values)"]}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsx)(n.td,{children:"Language metadata of the feed."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sortPosts"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:"'descending' | 'ascending' "})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'descending'"})}),(0,r.jsx)(n.td,{children:"Governs the direction of blog post sorting."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"processBlogPosts"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)("code",{children:(0,r.jsx)(n.a,{href:"#ProcessBlogPostsFn",children:"ProcessBlogPostsFn"})})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsx)(n.td,{children:"An optional function which can be used to transform blog posts (filter, modify, delete, etc...)."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"showLastUpdateAuthor"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Whether to display the author who last updated the blog post."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"showLastUpdateTime"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsxs)(n.td,{children:["Whether to display the last date the blog post was updated. This requires access to git history during the build, so will not work correctly with shallow clones (a common default for CI systems). With GitHub ",(0,r.jsx)(n.code,{children:"actions/checkout"}),", use",(0,r.jsx)(n.code,{children:"fetch-depth: 0"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"tags"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string | false | null | undefined"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"tags.yml"})}),(0,r.jsx)(n.td,{children:"Path to the YAML tags file listing pre-defined tags. Relative to the blog content directory."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"onInlineTags"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'ignore' | 'log' | 'warn' | 'throw'"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"warn"})}),(0,r.jsxs)(n.td,{children:["The plugin behavior when blog posts contain inline tags (not appearing in the list of pre-defined tags, usually ",(0,r.jsx)(n.code,{children:"tags.yml"}),")."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"onUntruncatedBlogPosts"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"'ignore' | 'log' | 'warn' | 'throw'"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"warn"})}),(0,r.jsx)(n.td,{children:"The plugin behavior when blog posts do not contain a truncate marker."})]})]})]})}),"\n",(0,r.jsx)(n.h3,{id:"types",children:"Types"}),"\n",(0,r.jsx)(n.h4,{id:"EditUrlFn",children:(0,r.jsx)(n.code,{children:"EditUrlFn"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type EditUrlFunction = (params: {\n blogDirPath: string;\n blogPath: string;\n permalink: string;\n locale: string;\n}) => string | undefined;\n"})}),"\n",(0,r.jsx)(n.h4,{id:"ReadingTimeFn",children:(0,r.jsx)(n.code,{children:"ReadingTimeFn"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type ReadingTimeOptions = {\n wordsPerMinute: number;\n wordBound: (char: string) => boolean;\n};\n\ntype ReadingTimeCalculator = (params: {\n content: string;\n frontMatter?: BlogPostFrontMatter & Record<string, unknown>;\n options?: ReadingTimeOptions;\n}) => number;\n\ntype ReadingTimeFn = (params: {\n content: string;\n frontMatter: BlogPostFrontMatter & Record<string, unknown>;\n defaultReadingTime: ReadingTimeCalculator;\n}) => number | undefined;\n"})}),"\n",(0,r.jsx)(n.h4,{id:"FeedType",children:(0,r.jsx)(n.code,{children:"FeedType"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type FeedType = 'rss' | 'atom' | 'json';\n"})}),"\n",(0,r.jsx)(n.h4,{id:"FeedXSLTOptions",children:(0,r.jsx)(n.code,{children:"FeedXSLTOptions"})}),"\n",(0,r.jsxs)(n.p,{children:["Permits to style the blog XML feeds so that browsers render them nicely with ",(0,r.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/XSLT",children:"XSLT"}),"."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Use ",(0,r.jsx)(n.code,{children:"true"})," to let the blog use its built-in ",(0,r.jsx)(n.code,{children:".xsl"})," and ",(0,r.jsx)(n.code,{children:".css"})," files to style the blog feed"]}),"\n",(0,r.jsxs)(n.li,{children:["Use a falsy value (",(0,r.jsx)(n.code,{children:"undefined | null | false"}),") to disable the feature"]}),"\n",(0,r.jsxs)(n.li,{children:["Use a ",(0,r.jsx)(n.code,{children:"string"})," to provide a file path to a custom ",(0,r.jsx)(n.code,{children:".xsl"})," file relative to the blog content folder. By convention, you must provide a ",(0,r.jsx)(n.code,{children:".css"})," file with the exact same name."]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type FeedXSLTOptions =\n | boolean\n | undefined\n | null\n | {\n rss?: string | boolean | null | undefined;\n atom?: string | boolean | null | undefined;\n };\n"})}),"\n",(0,r.jsx)(n.h4,{id:"CreateFeedItemsFn",children:(0,r.jsx)(n.code,{children:"CreateFeedItemsFn"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type CreateFeedItemsFn = (params: {\n blogPosts: BlogPost[];\n siteConfig: DocusaurusConfig;\n outDir: string;\n defaultCreateFeedItemsFn: CreateFeedItemsFn;\n}) => Promise<BlogFeedItem[]>;\n"})}),"\n",(0,r.jsx)(n.h4,{id:"ProcessBlogPostsFn",children:(0,r.jsx)(n.code,{children:"ProcessBlogPostsFn"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:"type ProcessBlogPostsFn = (params: {\n blogPosts: BlogPost[];\n}) => Promise<void | BlogPost[]>;\n"})}),"\n",(0,r.jsx)(n.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,r.jsx)(n.p,{children:"You can configure this plugin through preset options or plugin options."}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsx)(n.p,{children:"Most Docusaurus users configure this plugin through the preset options."})}),"\n","\n",(0,r.jsx)(c.Z,{pluginName:"@docusaurus/plugin-content-blog",presetOptionName:"blog",code:"{\n path: 'blog',\n // Simple use-case: string editUrl\n // editUrl: 'https://github.com/facebook/docusaurus/edit/main/website/',\n // Advanced use-case: functional editUrl\n editUrl: ({locale, blogDirPath, blogPath, permalink}) =>\n `https://github.com/facebook/docusaurus/edit/main/website/${blogDirPath}/${blogPath}`,\n editLocalizedFiles: false,\n blogTitle: 'Blog title',\n blogDescription: 'Blog',\n blogSidebarCount: 5,\n blogSidebarTitle: 'All our posts',\n routeBasePath: 'blog',\n include: ['**/*.{md,mdx}'],\n exclude: [\n '**/_*.{js,jsx,ts,tsx,md,mdx}',\n '**/_*/**',\n '**/*.test.{js,jsx,ts,tsx}',\n '**/__tests__/**',\n ],\n postsPerPage: 10,\n blogListComponent: '@theme/BlogListPage',\n blogPostComponent: '@theme/BlogPostPage',\n blogTagsListComponent: '@theme/BlogTagsListPage',\n blogTagsPostsComponent: '@theme/BlogTagsPostsPage',\n remarkPlugins: [require('./my-remark-plugin')],\n rehypePlugins: [],\n beforeDefaultRemarkPlugins: [],\n beforeDefaultRehypePlugins: [],\n truncateMarker: /\x3c!--\\s*(truncate)\\s*--\x3e/,\n showReadingTime: true,\n feedOptions: {\n type: '',\n title: '',\n description: '',\n copyright: '',\n language: undefined,\n createFeedItems: async (params) => {\n const {blogPosts, defaultCreateFeedItems, ...rest} = params;\n return defaultCreateFeedItems({\n // keep only the 10 most recent blog posts in the feed\n blogPosts: blogPosts.filter((item, index) => index < 10),\n ...rest,\n });\n },\n },\n}"}),"\n",(0,r.jsx)(n.h2,{id:"markdown-front-matter",children:"Markdown front matter"}),"\n",(0,r.jsxs)(n.p,{children:["Markdown documents can use the following Markdown ",(0,r.jsx)(n.a,{href:"/docs/markdown-features#front-matter",children:"front matter"})," metadata fields, enclosed by a line ",(0,r.jsx)(n.code,{children:"---"})," on either side."]}),"\n",(0,r.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,r.jsx)(o.Z,{children:(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Type"}),(0,r.jsx)(n.th,{children:"Default"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"authors"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"Authors"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["List of blog post authors (or unique author). Read the ",(0,r.jsxs)(n.a,{href:"/docs/blog#blog-post-authors",children:[(0,r.jsx)(n.code,{children:"authors"})," guide"]})," for more explanations. Prefer ",(0,r.jsx)(n.code,{children:"authors"})," over the ",(0,r.jsx)(n.code,{children:"author_*"})," front matter fields, even for single author blog posts."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"author"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["\u26A0\uFE0F Prefer using ",(0,r.jsx)(n.code,{children:"authors"}),". The blog post author's name."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"author_url"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["\u26A0\uFE0F Prefer using ",(0,r.jsx)(n.code,{children:"authors"}),". The URL that the author's name will be linked to. This could be a GitHub, X, Facebook profile URL, etc."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"author_image_url"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["\u26A0\uFE0F Prefer using ",(0,r.jsx)(n.code,{children:"authors"}),". The URL to the author's thumbnail image."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"author_title"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["\u26A0\uFE0F Prefer using ",(0,r.jsx)(n.code,{children:"authors"}),". A description of the author."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"title"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:"Markdown title"}),(0,r.jsx)(n.td,{children:"The blog post title."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"title_meta"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"frontMatter.title"})}),(0,r.jsxs)(n.td,{children:["The blog post SEO metadata title, used in ",(0,r.jsx)(n.code,{children:"<head>"})," for ",(0,r.jsx)(n.code,{children:"<title>"})," and ",(0,r.jsx)(n.code,{children:"og:title"}),". Permits to override ",(0,r.jsx)(n.code,{children:"title"})," when the displayed title and SEO title should be different."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"sidebar_label"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"title"})}),(0,r.jsxs)(n.td,{children:["A custom label for the blog sidebar, replacing the default one (",(0,r.jsx)(n.code,{children:"title"}),")."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"date"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:"File name or file creation time"}),(0,r.jsxs)(n.td,{children:["The blog post creation date. If not specified, this can be extracted from the file or folder name, e.g, ",(0,r.jsx)(n.code,{children:"2021-04-15-blog-post.mdx"}),", ",(0,r.jsx)(n.code,{children:"2021-04-15-blog-post/index.mdx"}),", ",(0,r.jsx)(n.code,{children:"2021/04/15/blog-post.mdx"}),". Otherwise, it is the Markdown file creation time."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"tags"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"Tag[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["A list of strings or objects of two string fields ",(0,r.jsx)(n.code,{children:"label"})," and ",(0,r.jsx)(n.code,{children:"permalink"})," to tag to your post. Strings can be a reference to keys of a ",(0,r.jsx)(n.a,{href:"#tags-file",children:"tags file"})," (usually ",(0,r.jsx)(n.code,{children:"tags.yml"}),")"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"draft"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Draft blog posts will only be available during development."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"unlisted"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:'Unlisted blog posts will be available in both development and production. They will be "hidden" in production, not indexed, excluded from sitemaps, and can only be accessed by users having a direct link.'})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"hide_table_of_contents"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"boolean"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"false"})}),(0,r.jsx)(n.td,{children:"Whether to hide the table of contents to the right."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"toc_min_heading_level"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"number"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"2"})}),(0,r.jsx)(n.td,{children:"The minimum heading level shown in the table of contents. Must be between 2 and 6 and lower or equal to the max value."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"toc_max_heading_level"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"number"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"3"})}),(0,r.jsx)(n.td,{children:"The max heading level shown in the table of contents. Must be between 2 and 6."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"keywords"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string[]"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["Keywords meta tag, which will become the ",(0,r.jsx)(n.code,{children:'<meta name="keywords" content="keyword1,keyword2,..."/>'})," in ",(0,r.jsx)(n.code,{children:"<head>"}),", used by search engines."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"description"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:"The first line of Markdown content"}),(0,r.jsxs)(n.td,{children:["The description of your document, which will become the ",(0,r.jsx)(n.code,{children:'<meta name="description" content="..."/>'})," and ",(0,r.jsx)(n.code,{children:'<meta property="og:description" content="..."/>'})," in ",(0,r.jsx)(n.code,{children:"<head>"}),", used by search engines."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"image"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["Cover or thumbnail image that will be used as the ",(0,r.jsx)(n.code,{children:'<meta property="og:image" content="..."/>'})," in the ",(0,r.jsx)(n.code,{children:"<head>"}),", enhancing link previews on social media and messaging platforms."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"slug"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"string"})}),(0,r.jsx)(n.td,{children:"File path"}),(0,r.jsxs)(n.td,{children:["Allows to customize the blog post URL (",(0,r.jsx)(n.code,{children:"/<routeBasePath>/<slug>"}),"). Support multiple patterns: ",(0,r.jsx)(n.code,{children:"slug: my-blog-post"}),", ",(0,r.jsx)(n.code,{children:"slug: /my/path/to/blog/post"}),", slug: ",(0,r.jsx)(n.code,{children:"/"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"last_update"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"FrontMatterLastUpdate"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"undefined"})}),(0,r.jsxs)(n.td,{children:["Allows overriding the last update author/date. Date can be any ",(0,r.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse",children:"parsable date string"}),"."]})]})]})]})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",children:'type FrontMatterLastUpdate = {date?: string; author?: string};\n\ntype Tag = string | {label: string; permalink: string};\n\n// An author key references an author from the global plugin authors.yml file\ntype AuthorKey = string;\n\n// Social platform name -> Social platform link\n// Example: {MyPlatform: \'https://myplatform.com/myusername\'}\n// Pre-defined platforms\n// ("x", "github", "twitter", "linkedin", "stackoverflow", "instagram", "bluesky", "mastodon", "threads", "twitch", "youtube") accept handles:\n// Example: {github: \'slorber\'}\ntype AuthorSocials = Record<string, string>;\n\ntype Author = {\n key?: AuthorKey;\n name: string;\n title?: string;\n url?: string;\n image_url?: string;\n socials?: AuthorSocials;\n};\n\n// The front matter authors field allows various possible shapes\ntype Authors = AuthorKey | Author | (AuthorKey | Author)[];\n'})}),"\n",(0,r.jsx)(n.p,{children:"Example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:"---\ntitle: Welcome Docusaurus\nauthors:\n - slorber\n - yangshun\n - name: Joel Marcey\n title: Co-creator of Docusaurus 1\n url: https://github.com/JoelMarcey\n image_url: https://github.com/JoelMarcey.png\n socials:\n x: joelmarcey\n github: JoelMarcey\ntags: [docusaurus]\ndescription: This is my first post on Docusaurus.\nimage: https://i.imgur.com/mErPwqL.png\nhide_table_of_contents: false\n---\n\nA Markdown blog post\n"})}),"\n","\n",(0,r.jsx)(a.ZP,{}),"\n",(0,r.jsx)(n.h2,{id:"authors-file",children:"Authors File"}),"\n",(0,r.jsxs)(n.p,{children:["Use the ",(0,r.jsxs)(n.a,{href:"#authors",children:[(0,r.jsx)(n.code,{children:"authors"})," plugin option"]})," to configure the path of a YAML authors file."]}),"\n",(0,r.jsxs)(n.p,{children:["By convention, the plugin will look for a ",(0,r.jsx)(n.code,{children:"authors.yml"})," file at the root of your blog content folder(s)."]}),"\n",(0,r.jsxs)(n.p,{children:["This file can contain a list of predefined ",(0,r.jsx)(n.a,{href:"/docs/blog#global-authors",children:"global blog authors"}),". You can reference these authors by their keys in Markdown files thanks to the ",(0,r.jsxs)(n.a,{href:"#markdown-front-matter",children:[(0,r.jsx)(n.code,{children:"authors"})," front matter"]}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"authors-file-types",children:"Types"}),"\n",(0,r.jsx)(n.p,{children:"The YAML content of the provided authors file should respect the following shape:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-tsx",children:"type AuthorsMapInput = {\n [authorKey: string]: AuthorInput;\n};\n\ntype AuthorInput = {\n name?: string;\n title?: string;\n description?: string;\n imageURL?: string;\n url?: string;\n email?: string;\n page?: boolean | {permalink: string};\n socials?: Record<string, string>;\n [customAuthorAttribute: string]: unknown;\n};\n"})}),"\n",(0,r.jsx)(n.h3,{id:"authors-file-example",children:"Example"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yml",metastring:'title="tags.yml"',children:"slorber:\n name: S\xe9bastien Lorber\n title: Docusaurus maintainer\n url: https://sebastienlorber.com\n image_url: https://github.com/slorber.png\n page: true\n socials:\n x: sebastienlorber\n github: slorber\n\njmarcey:\n name: Joel Marcey\n title: Co-creator of Docusaurus 1\n url: https://github.com/JoelMarcey\n image_url: https://github.com/JoelMarcey.png\n email: jimarcey@gmail.com\n page:\n permalink: '/joel-marcey'\n socials:\n x: joelmarcey\n github: JoelMarcey\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="blog/my-blog-post.md"',children:"---\nauthors: [slorber, jmarcey]\n---\n\n# My Blog Post\n\nContent\n"})}),"\n",(0,r.jsx)(n.h2,{id:"i18n",children:"i18n"}),"\n",(0,r.jsxs)(n.p,{children:["Read the ",(0,r.jsx)(n.a,{href:"/docs/i18n/introduction",children:"i18n introduction"})," first."]}),"\n",(0,r.jsx)(n.h3,{id:"translation-files-location",children:"Translation files location"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Base path"}),": ",(0,r.jsx)(n.code,{children:"website/i18n/[locale]/docusaurus-plugin-content-blog"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Multi-instance path"}),": ",(0,r.jsx)(n.code,{children:"website/i18n/[locale]/docusaurus-plugin-content-blog-[pluginId]"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"JSON files"}),": extracted with ",(0,r.jsx)(n.a,{href:"/docs/cli#docusaurus-write-translations-sitedir",children:(0,r.jsx)(n.code,{children:"docusaurus write-translations"})})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Markdown files"}),": ",(0,r.jsx)(n.code,{children:"website/i18n/[locale]/docusaurus-plugin-content-blog"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"example-file-system-structure",children:"Example file-system structure"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"website/i18n/[locale]/docusaurus-plugin-content-blog\n\u2502\n\u2502 # translations for website/blog\n\u251C\u2500\u2500 authors.yml\n\u251C\u2500\u2500 first-blog-post.md\n\u251C\u2500\u2500 second-blog-post.md\n\u2502\n\u2502 # translations for the plugin options that will be rendered\n\u2514\u2500\u2500 options.json\n"})})]})}function p(e={}){let{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(g,{...e})}):g(e)}},58636:function(e,n,t){t.d(n,{Z:()=>l});var s=t(85893);t(67294);var r=t(90496);function l(e){let{children:n,hidden:t,className:l}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,r.Z)("tabItem_pnkT",l),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>f});var s=t(85893),r=t(67294),l=t(90496),i=t(54947),d=t(3620),o=t(844),c=t(97486),a=t(32263),h=t(16971);function u(e){return r.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||r.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function x(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var j=t(71607);function g(e){let{className:n,block:t,selectedValue:r,selectValue:d,tabValues:o}=e,c=[],{blockElementScrollPositionUntilNextRender:a}=(0,i.o5)(),h=e=>{let n=e.currentTarget,t=o[c.indexOf(n)].value;t!==r&&(a(n),d(t))},u=e=>{let n=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{let t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{let t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1]}}n?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":t},n),children:o.map(e=>{let{value:n,label:t,attributes:i}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:r===n?0:-1,"aria-selected":r===n,ref:e=>{c.push(e)},onKeyDown:u,onClick:h,...i,className:(0,l.Z)("tabs__item","tabItem_AQgk",i?.className,{"tabs__item--active":r===n}),children:t??n},n)})})}function p(e){let{lazy:n,children:t,selectedValue:i}=e,d=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=d.find(e=>e.props.value===i);return e?(0,r.cloneElement)(e,{className:(0,l.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:d.map((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==i}))})}function m(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:s}=e,l=function(e){let{values:n,children:t}=e;return(0,r.useMemo)(()=>{let e=n??u(t).map(e=>{let{props:{value:n,label:t,attributes:s,default:r}}=e;return{value:n,label:t,attributes:s,default:r}});return!function(e){let n=(0,a.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[i,j]=(0,r.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!x({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let s=t.find(e=>e.default)??t[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:n,tabValues:l})),[g,p]=function(e){let{queryString:n=!1,groupId:t}=e,s=(0,d.k6)(),l=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,c._X)(l),(0,r.useCallback)(e=>{if(!l)return;let n=new URLSearchParams(s.location.search);n.set(l,e),s.replace({...s.location,search:n.toString()})},[l,s])]}({queryString:t,groupId:s}),[m,f]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[s,l]=(0,h.Nk)(t);return[s,(0,r.useCallback)(e=>{t&&l.set(e)},[t,l])]}({groupId:s}),b=(()=>{let e=g??m;return x({value:e,tabValues:l})?e:null})();return(0,o.Z)(()=>{b&&j(b)},[b]),{selectedValue:i,selectValue:(0,r.useCallback)(e=>{if(!x({value:e,tabValues:l}))throw Error(`Can't select invalid tab value=${e}`);j(e),p(e),f(e)},[p,f,l]),tabValues:l}}(e);return(0,s.jsxs)("div",{className:(0,l.Z)("tabs-container","tabList_Qoir"),children:[(0,s.jsx)(g,{...n,...e}),(0,s.jsx)(p,{...n,...e})]})}function f(e){let n=(0,j.Z)();return(0,s.jsx)(m,{...e,children:u(e.children)},String(n))}},56497:function(e,n,t){t.d(n,{Z:()=>l});var s=t(85893);t(67294);var r=t(71607);function l(e){let{children:n,fallback:t}=e;return(0,r.Z)()?(0,s.jsx)(s.Fragment,{children:n?.()}):t??null}},32240:function(e,n,t){t.d(n,{Z:()=>o});var s=t(85893),r=t(67294),l=t(96700),i=t(3620);let d=r.forwardRef(function(e,n){let{name:t,children:d}=e,o=function(e){let n=e;for(;(0,r.isValidElement)(n);)[n]=r.Children.toArray(n.props.children);if("string"!=typeof n)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return n}(d),c=t?`${t}-${o}`:o,a=`#${c}`,h=(0,i.k6)();return(0,l.Z)().collectAnchor(c),(0,s.jsx)("tr",{id:c,tabIndex:0,ref:h.location.hash===a?n:void 0,onClick:e=>{let n="TD"===e.target.tagName.toUpperCase(),t=!!window.getSelection()?.toString();n&&!t&&h.push(a)},onKeyDown:e=>{"Enter"===e.key&&h.push(a)},children:d.props.children})});function o(e){let{children:n,name:t}=e;if("table"!==n.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[l,i]=r.Children.toArray(n.props.children),o=(0,r.useRef)(null);(0,r.useEffect)(()=>{o.current?.focus()},[o]);let c=r.Children.map(i.props.children,e=>(0,s.jsx)(d,{name:t,ref:o,children:e}));return(0,s.jsxs)("table",{className:"apiTable_e8hp",children:[l,(0,s.jsx)("tbody",{children:c})]})}},66359:function(e,n,t){t.d(n,{Z:()=>h});var s=t(85893);t(67294);var r=t(35363),l=t(90158),i=t(77827),d=t(15398),o=t(58636),c=t(95998);let a=void 0;function h(e){let{code:n,pluginName:t,presetOptionName:h}=e,u=(0,l.zu)(a).path;return(0,s.jsxs)(d.Z,{groupId:"api-config-ex",children:[(0,s.jsxs)(o.Z,{value:"preset",label:(0,i.I)({message:"Preset options"}),children:[(0,s.jsx)("p",{children:(0,s.jsx)(i.Z,{id:"apiDocs.configTabs.presetOptions.description",values:{presetLink:(0,s.jsx)(r.Z,{to:`${u}/using-plugins#docusauruspreset-classic`,children:(0,s.jsx)(i.Z,{children:"preset options"})})},children:"If you use a preset, configure this plugin through the {presetLink}:"})}),(0,s.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + presets: [ + [ + '@docusaurus/preset-classic', + { + // highlight-start + ${h}: ${n.replace(/\n/g,"\n ")}, + // highlight-end + }, + ], + ], +};`})]}),(0,s.jsxs)(o.Z,{value:"plugin",label:(0,i.I)({message:"Plugin options"}),children:[(0,s.jsx)("p",{children:(0,s.jsx)(i.Z,{children:"If you are using a standalone plugin, provide options directly to the plugin:"})}),(0,s.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + plugins: [ + [ + '${t}', + // highlight-start + ${n.replace(/\n/g,"\n ")}, + // highlight-end + ], + ], +};`})]})]})}},95998:function(e,n,t){t.d(n,{Z:()=>en});var s,r={};t.r(r),t.d(r,{ButtonExample:()=>P});var l=t(85893),i=t(67294),d=t(90496),o=t(71607),c=t(10075),a=t(77827),h=t(8156),u=t(56497),x=t(85108),j=t(45245),g=t(26378);function p(){let{prism:e}=(0,g.L)(),{colorMode:n}=(0,j.I)(),t=e.theme,s=e.darkTheme||t;return"dark"===n?s:t}var m=t(67490);function f(e){let{children:n}=e;return(0,l.jsx)("div",{className:(0,d.Z)("playgroundHeader_Tvsk"),children:n})}function b(){return(0,l.jsx)("div",{children:"Loading..."})}function y(){return(0,l.jsx)(u.Z,{fallback:(0,l.jsx)(b,{}),children:()=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(m.Z,{fallback:e=>(0,l.jsx)(x.Ac,{...e}),children:(0,l.jsx)(c.i5,{})}),(0,l.jsx)(c.IF,{})]})})}function v(){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(f,{children:(0,l.jsx)(a.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,l.jsx)("div",{className:"playgroundPreview_mApW",children:(0,l.jsx)(y,{})})]})}function w(){let e=(0,o.Z)();return(0,l.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function k(){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(f,{children:(0,l.jsx)(a.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,l.jsx)(w,{})]})}let T=e=>`${e};`;function B(e){let{children:n,transformCode:t,...s}=e,{siteConfig:{themeConfig:r}}=(0,h.Z)(),{liveCodeBlock:{playgroundPosition:i}}=r,d=p(),o=s.metastring?.includes("noInline")??!1;return(0,l.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,l.jsx)(c.nu,{code:n?.replace(/\n$/,""),noInline:o,transformCode:t??T,theme:d,...s,children:"top"===i?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{}),(0,l.jsx)(k,{})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(k,{}),(0,l.jsx)(v,{})]})})})}function P(e){return(0,l.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let L={React:i,...i,...r};var C=t(55951),N=t(6324),F=t.n(N);let A=/title=(?<quote>["'])(?<title>.*?)\1/,R=/\{(?<range>[\d,-]+)\}/,E={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},I={...E,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},_=Object.keys(E);function M(e,n){let t=e.map(e=>{let{start:t,end:s}=I[e];return`(?:${t}\\s*(${n.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return RegExp(`^\\s*(?:${t})\\s*$`)}function S(e){let{as:n,...t}=e,s=function(e){let n={color:"--prism-color",backgroundColor:"--prism-background-color"},t={};return Object.entries(e.plain).forEach(e=>{let[s,r]=e,l=n[s];l&&"string"==typeof r&&(t[l]=r)}),t}(p());return(0,l.jsx)(n,{...t,style:s,className:(0,d.Z)(t.className,"codeBlockContainer_jDV4",C.k.common.codeBlock)})}let U={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function Z(e){let{children:n,className:t}=e;return(0,l.jsx)(S,{as:"pre",tabIndex:0,className:(0,d.Z)(U.codeBlockStandalone,"thin-scrollbar",t),children:(0,l.jsx)("code",{className:U.codeBlockLines,children:n})})}var D=t(50923);let O={attributes:!0,characterData:!0,childList:!0,subtree:!0};var $=t(7316);let W={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function X(e){let{line:n,classNames:t,showLineNumbers:s,getLineProps:r,getTokenProps:i}=e;1===n.length&&"\n"===n[0].content&&(n[0].content="");let o=r({line:n,className:(0,d.Z)(t,s&&W.codeLine)}),c=n.map((e,n)=>(0,l.jsx)("span",{...i({token:e})},n));return(0,l.jsxs)("span",{...o,children:[s?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:W.codeLineNumber}),(0,l.jsx)("span",{className:W.codeLineContent,children:c})]}):c,(0,l.jsx)("br",{})]})}var q=t(44771);function z(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function H(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let J={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function V(e){let{code:n,className:t}=e,[s,r]=(0,i.useState)(!1),o=(0,i.useRef)(void 0),c=(0,i.useCallback)(()=>{(0,q.Z)(n),r(!0),o.current=window.setTimeout(()=>{r(!1)},1e3)},[n]);return(0,i.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,l.jsx)("button",{type:"button","aria-label":s?(0,a.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,a.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,a.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,d.Z)("clean-btn",t,J.copyButton,s&&J.copyButtonCopied),onClick:c,children:(0,l.jsxs)("span",{className:J.copyButtonIcons,"aria-hidden":"true",children:[(0,l.jsx)(z,{className:J.copyButtonIcon}),(0,l.jsx)(H,{className:J.copyButtonSuccessIcon})]})})}function Y(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let G={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function K(e){let{className:n,onClick:t,isEnabled:s}=e,r=(0,a.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,l.jsx)("button",{type:"button",onClick:t,className:(0,d.Z)("clean-btn",n,s&&G.wordWrapButtonEnabled),"aria-label":r,title:r,children:(0,l.jsx)(Y,{className:G.wordWrapButtonIcon,"aria-hidden":"true"})})}function Q(e){var n;let{children:t,className:s="",metastring:r,title:c,showLineNumbers:a,language:h}=e,{prism:{defaultLanguage:u,magicComments:x}}=(0,g.L)(),j=(n=h??function(e){let n=e.split(" ").find(e=>e.startsWith("language-"));return n?.replace(/language-/,"")}(s)??u,n?.toLowerCase()),m=p(),f=function(){let[e,n]=(0,i.useState)(!1),[t,s]=(0,i.useState)(!1),r=(0,i.useRef)(null),l=(0,i.useCallback)(()=>{let t=r.current.querySelector("code");e?t.removeAttribute("style"):(t.style.whiteSpace="pre-wrap",t.style.overflowWrap="anywhere"),n(e=>!e)},[r,e]),d=(0,i.useCallback)(()=>{let{scrollWidth:e,clientWidth:n}=r.current;s(e>n||r.current.querySelector("code").hasAttribute("style"))},[r]);return!function(e,n){let[t,s]=(0,i.useState)(),r=(0,i.useCallback)(()=>{s(e.current?.closest("[role=tabpanel][hidden]"))},[e,s]);(0,i.useEffect)(()=>{r()},[r]),function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:O,s=(0,D.zX)(n),r=(0,D.Ql)(t);(0,i.useEffect)(()=>{let n=new MutationObserver(s);return e&&n.observe(e,r),()=>n.disconnect()},[e,s,r])}(t,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),r())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(r,d),(0,i.useEffect)(()=>{d()},[e,d]),(0,i.useEffect)(()=>(window.addEventListener("resize",d,{passive:!0}),()=>{window.removeEventListener("resize",d)}),[d]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:t,toggle:l}}(),b=(0,o.Z)(),y=(r?.match(A)?.groups.title??"")||c,{lineClassNames:v,code:w}=function(e,n){let t=e.replace(/\n$/,""),{language:s,magicComments:r,metastring:l}=n;if(l&&R.test(l)){let e=l.match(R).groups.range;if(0===r.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${l}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let n=r[0].className;return{lineClassNames:Object.fromEntries(F()(e).filter(e=>e>0).map(e=>[e-1,[n]])),code:t}}if(void 0===s)return{lineClassNames:{},code:t};let i=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return M(["js","jsBlock"],n);case"jsx":case"tsx":return M(["js","jsBlock","jsx"],n);case"html":return M(["js","jsBlock","html"],n);case"python":case"py":case"bash":return M(["bash"],n);case"markdown":case"md":return M(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return M(["tex"],n);case"lua":case"haskell":return M(["lua"],n);case"sql":return M(["lua","jsBlock"],n);case"wasm":return M(["wasm"],n);case"vb":case"vba":case"visual-basic":return M(["vb","rem"],n);case"vbnet":return M(["vbnet","rem"],n);case"batch":return M(["rem"],n);case"basic":return M(["rem","f90"],n);case"fsharp":return M(["js","ml"],n);case"ocaml":case"sml":return M(["ml"],n);case"fortran":return M(["f90"],n);case"cobol":return M(["cobol"],n);default:return M(_,n)}}(s,r),d=t.split("\n"),o=Object.fromEntries(r.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(r.filter(e=>e.line).map(e=>{let{className:n,line:t}=e;return[t,n]})),a=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.start,n]})),h=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.end,n]}));for(let e=0;e<d.length;){let n=d[e].match(i);if(!n){e+=1;continue}let t=n.slice(1).find(e=>void 0!==e);c[t]?o[c[t]].range+=`${e},`:a[t]?o[a[t]].start=e:h[t]&&(o[h[t]].range+=`${o[h[t]].start}-${e-1},`),d.splice(e,1)}t=d.join("\n");let u={};return Object.entries(o).forEach(e=>{let[n,{range:t}]=e;F()(t).forEach(e=>{u[e]??=[],u[e].push(n)})}),{lineClassNames:u,code:t}}(t,{metastring:r,language:j,magicComments:x}),k=function(e){let{showLineNumbers:n,metastring:t}=e;return"boolean"==typeof n?n?1:void 0:"number"==typeof n?n:function(e){let n=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}(t)}({showLineNumbers:a,metastring:r});return(0,l.jsxs)(S,{as:"div",className:(0,d.Z)(s,j&&!s.includes(`language-${j}`)&&`language-${j}`),children:[y&&(0,l.jsx)("div",{className:U.codeBlockTitle,children:y}),(0,l.jsxs)("div",{className:U.codeBlockContent,children:[(0,l.jsx)($.y$,{theme:m,code:w,language:j??"text",children:e=>{let{className:n,style:t,tokens:s,getLineProps:r,getTokenProps:i}=e;return(0,l.jsx)("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,d.Z)(n,U.codeBlock,"thin-scrollbar"),style:t,children:(0,l.jsx)("code",{className:(0,d.Z)(U.codeBlockLines,void 0!==k&&U.codeBlockLinesWithNumbering),style:void 0===k?void 0:{counterReset:`line-count ${k-1}`},children:s.map((e,n)=>(0,l.jsx)(X,{line:e,getLineProps:r,getTokenProps:i,classNames:v[n],showLineNumbers:void 0!==k},n))})})}}),b?(0,l.jsxs)("div",{className:U.buttonGroup,children:[(f.isEnabled||f.isCodeScrollable)&&(0,l.jsx)(K,{className:U.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),(0,l.jsx)(V,{className:U.codeButton,code:w})]}):null]})]})}let ee=(s=function(e){let{children:n,...t}=e,s=(0,o.Z)(),r=i.Children.toArray(n).some(e=>(0,i.isValidElement)(e))?n:Array.isArray(n)?n.join(""):n;return(0,l.jsx)("string"==typeof r?Q:Z,{...t,children:r},String(s))},function(e){return e.live?(0,l.jsx)(B,{scope:L,...e}):(0,l.jsx)(s,{...e})});function en(e){return(0,l.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/209ff87f.6f434d1a.js b/assets/js/209ff87f.6f434d1a.js new file mode 100644 index 0000000000..7dfa08f465 --- /dev/null +++ b/assets/js/209ff87f.6f434d1a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["49016"],{38060:function(e,a,n){n.r(a),n.d(a,{frontMatter:()=>d,default:()=>p,contentTitle:()=>c,assets:()=>u,toc:()=>h,metadata:()=>s});var s=JSON.parse('{"id":"guides/markdown-features/tabs","title":"Tabs","description":"Using tabs inside Docusaurus Markdown","source":"@site/docs/guides/markdown-features/markdown-features-tabs.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/tabs","permalink":"/docs/markdown-features/tabs","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-tabs.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"tabs","description":"Using tabs inside Docusaurus Markdown","slug":"/markdown-features/tabs"},"sidebar":"docs","previous":{"title":"MDX and React","permalink":"/docs/markdown-features/react"},"next":{"title":"Code blocks","permalink":"/docs/markdown-features/code-blocks"}}'),l=n(85893),t=n(80980),r=n(14522),i=n(15398),o=n(58636);let d={id:"tabs",description:"Using tabs inside Docusaurus Markdown",slug:"/markdown-features/tabs"},c="Tabs",u={},h=[{value:"Displaying a default tab",id:"displaying-a-default-tab",level:2},{value:"Syncing tab choices",id:"syncing-tab-choices",level:2},{value:"Customizing tabs",id:"customizing-tabs",level:2},{value:"Customizing tab headings",id:"customizing-tab-headings",level:3},{value:"Query string",id:"query-string",level:2}];function b(e){let a={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",p:"p",pre:"pre",...(0,t.a)(),...e.components},{Details:n}=a;return n||function(e,a){throw Error("Expected "+(a?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.header,{children:(0,l.jsx)(a.h1,{id:"tabs",children:"Tabs"})}),"\n","\n",(0,l.jsxs)(a.p,{children:["Docusaurus provides the ",(0,l.jsx)(a.code,{children:"<Tabs>"})," component that you can use in Markdown thanks to ",(0,l.jsx)(a.a,{href:"/docs/markdown-features/react",children:"MDX"}),":"]}),"\n","\n",(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-jsx",children:'import Tabs from \'@theme/Tabs\';\nimport TabItem from \'@theme/TabItem\';\n\n<Tabs>\n <TabItem value="apple" label="Apple" default>\n This is an apple \uD83C\uDF4E\n </TabItem>\n <TabItem value="orange" label="Orange">\n This is an orange \uD83C\uDF4A\n </TabItem>\n <TabItem value="banana" label="Banana">\n This is a banana \uD83C\uDF4C\n </TabItem>\n</Tabs>\n'})}),"\n",(0,l.jsx)(r.Z,{children:(0,l.jsxs)(i.Z,{children:[(0,l.jsx)(o.Z,{value:"apple",label:"Apple",children:"This is an apple \uD83C\uDF4E"}),(0,l.jsx)(o.Z,{value:"orange",label:"Orange",children:"This is an orange \uD83C\uDF4A"}),(0,l.jsx)(o.Z,{value:"banana",label:"Banana",children:"This is a banana \uD83C\uDF4C"})]})}),"\n",(0,l.jsx)(a.hr,{}),"\n",(0,l.jsxs)(a.p,{children:["It is also possible to provide ",(0,l.jsx)(a.code,{children:"values"})," and ",(0,l.jsx)(a.code,{children:"defaultValue"})," props to ",(0,l.jsx)(a.code,{children:"Tabs"}),":"]}),"\n",(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-jsx",children:"<Tabs\n defaultValue=\"apple\"\n values={[\n {label: 'Apple', value: 'apple'},\n {label: 'Orange', value: 'orange'},\n {label: 'Banana', value: 'banana'},\n ]}>\n <TabItem value=\"apple\">This is an apple \uD83C\uDF4E</TabItem>\n <TabItem value=\"orange\">This is an orange \uD83C\uDF4A</TabItem>\n <TabItem value=\"banana\">This is a banana \uD83C\uDF4C</TabItem>\n</Tabs>\n"})}),"\n",(0,l.jsx)(r.Z,{children:(0,l.jsxs)(i.Z,{defaultValue:"apple",values:[{label:"Apple",value:"apple"},{label:"Orange",value:"orange"},{label:"Banana",value:"banana"}],children:[(0,l.jsx)(o.Z,{value:"apple",children:"This is an apple \uD83C\uDF4E"}),(0,l.jsx)(o.Z,{value:"orange",children:"This is an orange \uD83C\uDF4A"}),(0,l.jsx)(o.Z,{value:"banana",children:"This is a banana \uD83C\uDF4C"})]})}),"\n",(0,l.jsxs)(n,{children:[(0,l.jsxs)("summary",{children:[(0,l.jsx)("code",{children:"Tabs"})," props take precedence over the ",(0,l.jsx)("code",{children:"TabItem"})," props:"]}),(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-jsx",children:'<Tabs\n defaultValue="apple"\n values={[\n {label: \'Apple 1\', value: \'apple\'},\n {label: \'Orange 1\', value: \'orange\'},\n {label: \'Banana 1\', value: \'banana\'},\n ]}>\n <TabItem value="apple" label="Apple 2">\n This is an apple \uD83C\uDF4E\n </TabItem>\n <TabItem value="orange" label="Orange 2">\n This is an orange \uD83C\uDF4A\n </TabItem>\n <TabItem value="banana" label="Banana 2" default>\n This is a banana \uD83C\uDF4C\n </TabItem>\n</Tabs>\n'})}),(0,l.jsx)(r.Z,{children:(0,l.jsxs)(i.Z,{defaultValue:"apple",values:[{label:"Apple 1",value:"apple"},{label:"Orange 1",value:"orange"},{label:"Banana 1",value:"banana"}],children:[(0,l.jsx)(o.Z,{value:"apple",label:"Apple 2",children:"This is an apple \uD83C\uDF4E"}),(0,l.jsx)(o.Z,{value:"orange",label:"Orange 2",children:"This is an orange \uD83C\uDF4A"}),(0,l.jsx)(o.Z,{value:"banana",label:"Banana 2",default:!0,children:"This is a banana \uD83C\uDF4C"})]})})]}),"\n",(0,l.jsxs)(a.admonition,{type:"tip",children:[(0,l.jsx)(a.p,{children:"By default, all tabs are rendered eagerly during the build process, and search engines can index hidden tabs."}),(0,l.jsxs)(a.p,{children:["It is possible to only render the default tab with ",(0,l.jsx)(a.code,{children:"<Tabs lazy />"}),"."]})]}),"\n",(0,l.jsx)(a.h2,{id:"displaying-a-default-tab",children:"Displaying a default tab"}),"\n",(0,l.jsxs)(a.p,{children:["The first tab is displayed by default, and to override this behavior, you can specify a default tab by adding ",(0,l.jsx)(a.code,{children:"default"})," to one of the tab items. You can also set the ",(0,l.jsx)(a.code,{children:"defaultValue"})," prop of the ",(0,l.jsx)(a.code,{children:"Tabs"})," component to the label value of your choice. For example, in the example above, either setting ",(0,l.jsx)(a.code,{children:"default"})," for the ",(0,l.jsx)(a.code,{children:'value="apple"'})," tab or setting ",(0,l.jsx)(a.code,{children:'defaultValue="apple"'}),' for the tabs forces the "Apple" tab to be open by default.']}),"\n",(0,l.jsxs)(a.p,{children:["Docusaurus will throw an error if a ",(0,l.jsx)(a.code,{children:"defaultValue"})," is provided for the ",(0,l.jsx)(a.code,{children:"Tabs"})," but it refers to a non-existing value. If you want none of the tabs to be shown by default, use ",(0,l.jsx)(a.code,{children:"defaultValue={null}"}),"."]}),"\n",(0,l.jsx)(a.h2,{id:"syncing-tab-choices",children:"Syncing tab choices"}),"\n",(0,l.jsxs)(a.p,{children:["You may want choices of the same kind of tabs to sync with each other. For example, you might want to provide different instructions for users on Windows vs users on macOS, and you want to change all OS-specific instructions tabs in one click. To achieve that, you can give all related tabs the same ",(0,l.jsx)(a.code,{children:"groupId"})," prop. Note that doing this will persist the choice in ",(0,l.jsx)(a.code,{children:"localStorage"})," and all ",(0,l.jsx)(a.code,{children:"<Tab>"})," instances with the same ",(0,l.jsx)(a.code,{children:"groupId"})," will update automatically when the value of one of them is changed. Note that group IDs are globally namespaced."]}),"\n",(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-jsx",children:'// highlight-next-line\n<Tabs groupId="operating-systems">\n <TabItem value="win" label="Windows">Use Ctrl + C to copy.</TabItem>\n <TabItem value="mac" label="macOS">Use Command + C to copy.</TabItem>\n</Tabs>\n\n// highlight-next-line\n<Tabs groupId="operating-systems">\n <TabItem value="win" label="Windows">Use Ctrl + V to paste.</TabItem>\n <TabItem value="mac" label="macOS">Use Command + V to paste.</TabItem>\n</Tabs>\n'})}),"\n",(0,l.jsxs)(r.Z,{children:[(0,l.jsxs)(i.Z,{groupId:"operating-systems",children:[(0,l.jsx)(o.Z,{value:"win",label:"Windows",children:"Use Ctrl + C to copy."}),(0,l.jsx)(o.Z,{value:"mac",label:"macOS",children:"Use Command + C to copy."})]}),(0,l.jsxs)(i.Z,{groupId:"operating-systems",children:[(0,l.jsx)(o.Z,{value:"win",label:"Windows",children:"Use Ctrl + V to paste."}),(0,l.jsx)(o.Z,{value:"mac",label:"macOS",children:"Use Command + V to paste."})]})]}),"\n",(0,l.jsxs)(a.p,{children:["For all tab groups that have the same ",(0,l.jsx)(a.code,{children:"groupId"}),", the possible values do not need to be the same. If one tab group is chosen a value that does not exist in another tab group with the same ",(0,l.jsx)(a.code,{children:"groupId"}),", the tab group with the missing value won't change its tab. You can see that from the following example. Try to select Linux, and the above tab groups don't change."]}),"\n",(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-jsx",children:'<Tabs groupId="operating-systems">\n <TabItem value="win" label="Windows">\n I am Windows.\n </TabItem>\n <TabItem value="mac" label="macOS">\n I am macOS.\n </TabItem>\n <TabItem value="linux" label="Linux">\n I am Linux.\n </TabItem>\n</Tabs>\n'})}),"\n",(0,l.jsx)(r.Z,{children:(0,l.jsxs)(i.Z,{groupId:"operating-systems",children:[(0,l.jsx)(o.Z,{value:"win",label:"Windows",children:"I am Windows."}),(0,l.jsx)(o.Z,{value:"mac",label:"macOS",children:"I am macOS."}),(0,l.jsx)(o.Z,{value:"linux",label:"Linux",children:"I am Linux."})]})}),"\n",(0,l.jsx)(a.hr,{}),"\n",(0,l.jsx)(a.p,{children:"Tab choices with different group IDs will not interfere with each other:"}),"\n",(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-jsx",children:'// highlight-next-line\n<Tabs groupId="operating-systems">\n <TabItem value="win" label="Windows">Windows in windows.</TabItem>\n <TabItem value="mac" label="macOS">macOS is macOS.</TabItem>\n</Tabs>\n\n// highlight-next-line\n<Tabs groupId="non-mac-operating-systems">\n <TabItem value="win" label="Windows">Windows is windows.</TabItem>\n <TabItem value="unix" label="Unix">Unix is unix.</TabItem>\n</Tabs>\n'})}),"\n",(0,l.jsxs)(r.Z,{children:[(0,l.jsxs)(i.Z,{groupId:"operating-systems",children:[(0,l.jsx)(o.Z,{value:"win",label:"Windows",children:"Windows in windows."}),(0,l.jsx)(o.Z,{value:"mac",label:"macOS",children:"macOS is macOS."})]}),(0,l.jsxs)(i.Z,{groupId:"non-mac-operating-systems",children:[(0,l.jsx)(o.Z,{value:"win",label:"Windows",children:"Windows is windows."}),(0,l.jsx)(o.Z,{value:"unix",label:"Unix",children:"Unix is unix."})]})]}),"\n",(0,l.jsx)(a.h2,{id:"customizing-tabs",children:"Customizing tabs"}),"\n",(0,l.jsxs)(a.p,{children:["You might want to customize the appearance of a certain set of tabs. You can pass the string in ",(0,l.jsx)(a.code,{children:"className"})," prop, and the specified CSS class will be added to the ",(0,l.jsx)(a.code,{children:"Tabs"})," component:"]}),"\n",(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-jsx",children:'// highlight-next-line\n<Tabs className="unique-tabs">\n <TabItem value="Apple">This is an apple \uD83C\uDF4E</TabItem>\n <TabItem value="Orange">This is an orange \uD83C\uDF4A</TabItem>\n <TabItem value="Banana">This is a banana \uD83C\uDF4C</TabItem>\n</Tabs>\n'})}),"\n",(0,l.jsx)(r.Z,{children:(0,l.jsxs)(i.Z,{className:"unique-tabs",children:[(0,l.jsx)(o.Z,{value:"Apple",children:"This is an apple \uD83C\uDF4E"}),(0,l.jsx)(o.Z,{value:"Orange",children:"This is an orange \uD83C\uDF4A"}),(0,l.jsx)(o.Z,{value:"Banana",children:"This is a banana \uD83C\uDF4C"})]})}),"\n",(0,l.jsx)(a.h3,{id:"customizing-tab-headings",children:"Customizing tab headings"}),"\n",(0,l.jsxs)(a.p,{children:["You can also customize each tab heading independently by using the ",(0,l.jsx)(a.code,{children:"attributes"})," field. The extra props can be passed to the headings either through the ",(0,l.jsx)(a.code,{children:"values"})," prop in ",(0,l.jsx)(a.code,{children:"Tabs"}),", or props of each ",(0,l.jsx)(a.code,{children:"TabItem"}),"\u2014in the same way as you declare ",(0,l.jsx)(a.code,{children:"label"}),"."]}),"\n","\n",(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-jsx",metastring:'title="some-doc.mdx"',children:'import styles from \'./styles.module.css\';\n\n<Tabs>\n <TabItem value="apple" label="Apple" attributes={{className: styles.red}}>\n This is an apple \uD83C\uDF4E\n </TabItem>\n <TabItem value="orange" label="Orange" attributes={{className: styles.orange}}>\n This is an orange \uD83C\uDF4A\n </TabItem>\n <TabItem value="banana" label="Banana" attributes={{className: styles.yellow}}>\n This is a banana \uD83C\uDF4C\n </TabItem>\n</Tabs>\n'})}),"\n",(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-css",metastring:'title="styles.module.css"',children:".red {\n color: red;\n}\n.red[aria-selected='true'] {\n border-bottom-color: red;\n}\n\n.orange {\n color: orange;\n}\n.orange[aria-selected='true'] {\n border-bottom-color: orange;\n}\n\n.yellow {\n color: yellow;\n}\n.yellow[aria-selected='true'] {\n border-bottom-color: yellow;\n}\n"})}),"\n",(0,l.jsx)(r.Z,{children:(0,l.jsxs)(i.Z,{children:[(0,l.jsx)(o.Z,{value:"apple",label:"Apple",attributes:{className:"red_FE5X"},children:(0,l.jsx)(a.p,{children:"This is an apple \uD83C\uDF4E"})}),(0,l.jsx)(o.Z,{value:"orange",label:"Orange",attributes:{className:"orange_kp8w"},children:(0,l.jsx)(a.p,{children:"This is an orange \uD83C\uDF4A"})}),(0,l.jsx)(o.Z,{value:"banana",label:"Banana",attributes:{className:"yellow_uGry"},children:(0,l.jsx)(a.p,{children:"This is a banana \uD83C\uDF4C"})})]})}),"\n",(0,l.jsxs)(a.admonition,{type:"tip",children:[(0,l.jsxs)(a.p,{children:[(0,l.jsx)(a.code,{children:"className"})," would be merged with other default class names. You may also use a custom ",(0,l.jsx)(a.code,{children:"data-value"})," field (",(0,l.jsx)(a.code,{children:"{'data-value': 'apple'}"}),") paired with CSS attribute selectors:"]}),(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-css",metastring:'title="styles.module.css"',children:"li[role='tab'][data-value='apple'] {\n color: red;\n}\n"})})]}),"\n",(0,l.jsx)(a.h2,{id:"query-string",children:"Query string"}),"\n",(0,l.jsx)(a.p,{children:"It is possible to persist the selected tab into the url search parameters. This enables you to share a link to a page which pre-selects the tab - linking from your Android app to documentation with the Android tabs pre-selected. This feature does not provide an anchor link - the browser will not scroll to the tab."}),"\n",(0,l.jsxs)(a.p,{children:["Use the ",(0,l.jsx)(a.code,{children:"queryString"})," prop to enable this feature and define the search param name to use."]}),"\n",(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-tsx",children:'// highlight-next-line\n<Tabs queryString="current-os">\n <TabItem value="android" label="Android">\n Android\n </TabItem>\n <TabItem value="ios" label="iOS">\n iOS\n </TabItem>\n</Tabs>\n'})}),"\n",(0,l.jsx)(r.Z,{children:(0,l.jsxs)(i.Z,{queryString:"current-os",children:[(0,l.jsx)(o.Z,{value:"android",label:"Android",children:"Android"}),(0,l.jsx)(o.Z,{value:"ios",label:"iOS",children:"iOS"})]})}),"\n",(0,l.jsxs)(a.p,{children:["As soon as a tab is clicked, a search parameter is added at the end of the url: ",(0,l.jsx)(a.code,{children:"?current-os=android"})," or ",(0,l.jsx)(a.code,{children:"?current-os=ios"}),"."]}),"\n",(0,l.jsxs)(a.admonition,{type:"tip",children:[(0,l.jsxs)(a.p,{children:[(0,l.jsx)(a.code,{children:"queryString"})," can be used together with ",(0,l.jsx)(a.code,{children:"groupId"}),"."]}),(0,l.jsxs)(a.p,{children:["For convenience, when the ",(0,l.jsx)(a.code,{children:"queryString"})," prop is ",(0,l.jsx)(a.code,{children:"true"}),", the ",(0,l.jsx)(a.code,{children:"groupId"})," value will be used as a fallback."]}),(0,l.jsx)(a.pre,{children:(0,l.jsx)(a.code,{className:"language-tsx",children:'// highlight-next-line\n<Tabs groupId="current-os" queryString>\n <TabItem value="android" label="Android">\n Android\n </TabItem>\n <TabItem value="ios" label="iOS">\n iOS\n </TabItem>\n</Tabs>\n'})}),(0,l.jsx)(r.Z,{children:(0,l.jsxs)(i.Z,{queryString:!0,groupId:"current-os",children:[(0,l.jsx)(o.Z,{value:"android",label:"Android",children:"Android"}),(0,l.jsx)(o.Z,{value:"ios",label:"iOS",children:"iOS"})]})}),(0,l.jsxs)(a.p,{children:["When the page loads, the tab query string choice will be restored in priority over the ",(0,l.jsx)(a.code,{children:"groupId"})," choice (using ",(0,l.jsx)(a.code,{children:"localStorage"}),")."]})]})]})}function p(e={}){let{wrapper:a}={...(0,t.a)(),...e.components};return a?(0,l.jsx)(a,{...e,children:(0,l.jsx)(b,{...e})}):b(e)}},58636:function(e,a,n){n.d(a,{Z:()=>t});var s=n(85893);n(67294);var l=n(90496);function t(e){let{children:a,hidden:n,className:t}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,l.Z)("tabItem_pnkT",t),hidden:n,children:a})}},15398:function(e,a,n){n.d(a,{Z:()=>j});var s=n(85893),l=n(67294),t=n(90496),r=n(54947),i=n(3620),o=n(844),d=n(97486),c=n(32263),u=n(16971);function h(e){return l.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||l.isValidElement(e)&&function(e){let{props:a}=e;return!!a&&"object"==typeof a&&"value"in a}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function b(e){let{value:a,tabValues:n}=e;return n.some(e=>e.value===a)}var p=n(71607);function m(e){let{className:a,block:n,selectedValue:l,selectValue:i,tabValues:o}=e,d=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.o5)(),u=e=>{let a=e.currentTarget,n=o[d.indexOf(a)].value;n!==l&&(c(a),i(n))},h=e=>{let a=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let n=d.indexOf(e.currentTarget)+1;a=d[n]??d[0];break}case"ArrowLeft":{let n=d.indexOf(e.currentTarget)-1;a=d[n]??d[d.length-1]}}a?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,t.Z)("tabs",{"tabs--block":n},a),children:o.map(e=>{let{value:a,label:n,attributes:r}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:l===a?0:-1,"aria-selected":l===a,ref:e=>{d.push(e)},onKeyDown:h,onClick:u,...r,className:(0,t.Z)("tabs__item","tabItem_AQgk",r?.className,{"tabs__item--active":l===a}),children:n??a},a)})})}function x(e){let{lazy:a,children:n,selectedValue:r}=e,i=(Array.isArray(n)?n:[n]).filter(Boolean);if(a){let e=i.find(e=>e.props.value===r);return e?(0,l.cloneElement)(e,{className:(0,t.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:i.map((e,a)=>(0,l.cloneElement)(e,{key:a,hidden:e.props.value!==r}))})}function g(e){let a=function(e){let{defaultValue:a,queryString:n=!1,groupId:s}=e,t=function(e){let{values:a,children:n}=e;return(0,l.useMemo)(()=>{let e=a??h(n).map(e=>{let{props:{value:a,label:n,attributes:s,default:l}}=e;return{value:a,label:n,attributes:s,default:l}});return!function(e){let a=(0,c.lx)(e,(e,a)=>e.value===a.value);if(a.length>0)throw Error(`Docusaurus error: Duplicate values "${a.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[a,n])}(e),[r,p]=(0,l.useState)(()=>(function(e){let{defaultValue:a,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(a){if(!b({value:a,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${a}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return a}let s=n.find(e=>e.default)??n[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:a,tabValues:t})),[m,x]=function(e){let{queryString:a=!1,groupId:n}=e,s=(0,i.k6)(),t=function(e){let{queryString:a=!1,groupId:n}=e;if("string"==typeof a)return a;if(!1===a)return null;if(!0===a&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:a,groupId:n});return[(0,d._X)(t),(0,l.useCallback)(e=>{if(!t)return;let a=new URLSearchParams(s.location.search);a.set(t,e),s.replace({...s.location,search:a.toString()})},[t,s])]}({queryString:n,groupId:s}),[g,j]=function(e){let{groupId:a}=e,n=a?`docusaurus.tab.${a}`:null,[s,t]=(0,u.Nk)(n);return[s,(0,l.useCallback)(e=>{n&&t.set(e)},[n,t])]}({groupId:s}),v=(()=>{let e=m??g;return b({value:e,tabValues:t})?e:null})();return(0,o.Z)(()=>{v&&p(v)},[v]),{selectedValue:r,selectValue:(0,l.useCallback)(e=>{if(!b({value:e,tabValues:t}))throw Error(`Can't select invalid tab value=${e}`);p(e),x(e),j(e)},[x,j,t]),tabValues:t}}(e);return(0,s.jsxs)("div",{className:(0,t.Z)("tabs-container","tabList_Qoir"),children:[(0,s.jsx)(m,{...a,...e}),(0,s.jsx)(x,{...a,...e})]})}function j(e){let a=(0,p.Z)();return(0,s.jsx)(g,{...e,children:h(e.children)},String(a))}},14522:function(e,a,n){n.d(a,{Z:()=>i});var s=n(85893);n(67294);var l=n(90496);let t="dot_giz1",r="bar_rrRL";function i(e){let{children:a,minHeight:n,url:i="http://localhost:3000",style:o,bodyStyle:d}=e;return(0,s.jsxs)("div",{className:"browserWindow_my1Q",style:{...o,minHeight:n},children:[(0,s.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,s.jsxs)("div",{className:"buttons_uHc7",children:[(0,s.jsx)("span",{className:t,style:{background:"#f25f58"}}),(0,s.jsx)("span",{className:t,style:{background:"#fbbe3c"}}),(0,s.jsx)("span",{className:t,style:{background:"#58cb42"}})]}),(0,s.jsx)("div",{className:(0,l.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:i}),(0,s.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:r}),(0,s.jsx)("span",{className:r}),(0,s.jsx)("span",{className:r})]})})]}),(0,s.jsx)("div",{className:"browserWindowBody_Idgs",style:d,children:a})]})}},80980:function(e,a,n){n.d(a,{Z:()=>i,a:()=>r});var s=n(67294);let l={},t=s.createContext(l);function r(e){let a=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),s.createElement(t.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/218a9086.312c7bf7.js b/assets/js/218a9086.312c7bf7.js new file mode 100644 index 0000000000..ecf38719ce --- /dev/null +++ b/assets/js/218a9086.312c7bf7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["78699"],{13127:function(t,e,a){a.r(e),a.d(e,{frontMatter:()=>r,default:()=>l,contentTitle:()=>d,assets:()=>i,toc:()=>c,metadata:()=>o});var o=JSON.parse('{"id":"doc-with-last-update","title":"Doc With Last Update Front Matter","description":"","source":"@site/_dogfooding/_docs tests/doc-with-last-update.mdx","sourceDirName":".","slug":"/doc-with-last-update","permalink":"/tests/docs/doc-with-last-update","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"custom author","lastUpdatedAt":946684800000,"frontMatter":{"last_update":{"author":"custom author","date":"1/1/2000"}},"sidebar":"sidebar","previous":{"title":"Doc with another sidebar","permalink":"/tests/docs/doc-with-another-sidebar"},"next":{"title":"Tests","permalink":"/tests/docs/category/tests"}}'),s=a(85893),n=a(80980);let r={last_update:{author:"custom author",date:"1/1/2000"}},d="Doc With Last Update Front Matter",i={},c=[];function u(t){let e={h1:"h1",header:"header",...(0,n.a)(),...t.components};return(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"doc-with-last-update-front-matter",children:"Doc With Last Update Front Matter"})})}function l(t={}){let{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(u,{...t})}):u(t)}l.displayName="MDXContent(_dogfooding/_docs tests/doc-with-last-update.mdx)"},80980:function(t,e,a){a.d(e,{Z:()=>d,a:()=>r});var o=a(67294);let s={},n=o.createContext(s);function r(t){let e=o.useContext(n);return o.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function d(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:r(t.components),o.createElement(n.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/22133e47.5f19ee58.js b/assets/js/22133e47.5f19ee58.js new file mode 100644 index 0000000000..5e01407b57 --- /dev/null +++ b/assets/js/22133e47.5f19ee58.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["51752"],{40198:function(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Another category with index","slug":"/category/another-category-with-index","permalink":"/tests/docs/category/another-category-with-index","sidebar":"sidebar","navigation":{"previous":{"title":"Sidebar item description tests","permalink":"/tests/docs/category/sidebar-item-description-tests"},"next":{"title":"Another test page","permalink":"/tests/docs/more-test"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/22477.5eadec43.js b/assets/js/22477.5eadec43.js new file mode 100644 index 0000000000..90de4cbb85 --- /dev/null +++ b/assets/js/22477.5eadec43.js @@ -0,0 +1,47 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["22477"],{3490:function(e,t,i){i.d(t,{diagram:()=>U});var r=i(28923),n=i(11141),s=i(44387),a=i(62145),l=function(){var e=(0,r.eW)(function(e,t,i,r){for(i=i||{},r=e.length;r--;i[e[r]]=t);return i},"o"),t=[1,3],i=[1,4],n=[1,5],s=[1,6],a=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],l=[1,18],h=[2,7],o=[1,22],c=[1,23],u=[1,24],y=[1,25],d=[1,26],p=[1,27],_=[1,20],g=[1,28],E=[1,29],R=[62,63],m=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],f=[1,47],I=[1,48],S=[1,49],b=[1,50],k=[1,51],N=[1,52],T=[1,53],x=[53,54],A=[1,64],w=[1,60],v=[1,61],W=[1,62],q=[1,63],$=[1,65],O=[1,69],C=[1,70],L=[1,67],M=[1,68],F=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],D={trace:(0,r.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:(0,r.eW)(function(e,t,i,r,n,s,a){var l=s.length-1;switch(n){case 4:this.$=s[l].trim(),r.setAccTitle(this.$);break;case 5:case 6:this.$=s[l].trim(),r.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:r.addRequirement(s[l-3],s[l-4]);break;case 14:r.setNewReqId(s[l-2]);break;case 15:r.setNewReqText(s[l-2]);break;case 16:r.setNewReqRisk(s[l-2]);break;case 17:r.setNewReqVerifyMethod(s[l-2]);break;case 20:this.$=r.RequirementType.REQUIREMENT;break;case 21:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=r.RiskLevel.LOW_RISK;break;case 27:this.$=r.RiskLevel.MED_RISK;break;case 28:this.$=r.RiskLevel.HIGH_RISK;break;case 29:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=r.VerifyType.VERIFY_TEST;break;case 33:r.addElement(s[l-3]);break;case 34:r.setNewElementType(s[l-2]);break;case 35:r.setNewElementDocRef(s[l-2]);break;case 38:r.addRelationship(s[l-2],s[l],s[l-4]);break;case 39:r.addRelationship(s[l-2],s[l-4],s[l]);break;case 40:this.$=r.Relationships.CONTAINS;break;case 41:this.$=r.Relationships.COPIES;break;case 42:this.$=r.Relationships.DERIVES;break;case 43:this.$=r.Relationships.SATISFIES;break;case 44:this.$=r.Relationships.VERIFIES;break;case 45:this.$=r.Relationships.REFINES;break;case 46:this.$=r.Relationships.TRACES}},"anonymous"),table:[{3:1,4:2,6:t,9:i,11:n,13:s},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:i,11:n,13:s},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(a,[2,6]),{3:12,4:2,6:t,9:i,11:n,13:s},{1:[2,2]},{4:17,5:l,7:13,8:h,9:i,11:n,13:s,14:14,15:15,16:16,17:19,23:21,31:o,32:c,33:u,34:y,35:d,36:p,44:_,62:g,63:E},e(a,[2,4]),e(a,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:l,7:31,8:h,9:i,11:n,13:s,14:14,15:15,16:16,17:19,23:21,31:o,32:c,33:u,34:y,35:d,36:p,44:_,62:g,63:E},{4:17,5:l,7:32,8:h,9:i,11:n,13:s,14:14,15:15,16:16,17:19,23:21,31:o,32:c,33:u,34:y,35:d,36:p,44:_,62:g,63:E},{4:17,5:l,7:33,8:h,9:i,11:n,13:s,14:14,15:15,16:16,17:19,23:21,31:o,32:c,33:u,34:y,35:d,36:p,44:_,62:g,63:E},{4:17,5:l,7:34,8:h,9:i,11:n,13:s,14:14,15:15,16:16,17:19,23:21,31:o,32:c,33:u,34:y,35:d,36:p,44:_,62:g,63:E},{4:17,5:l,7:35,8:h,9:i,11:n,13:s,14:14,15:15,16:16,17:19,23:21,31:o,32:c,33:u,34:y,35:d,36:p,44:_,62:g,63:E},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(R,[2,20]),e(R,[2,21]),e(R,[2,22]),e(R,[2,23]),e(R,[2,24]),e(R,[2,25]),e(m,[2,49]),e(m,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:f,56:I,57:S,58:b,59:k,60:N,61:T},{52:54,55:f,56:I,57:S,58:b,59:k,60:N,61:T},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(x,[2,40]),e(x,[2,41]),e(x,[2,42]),e(x,[2,43]),e(x,[2,44]),e(x,[2,45]),e(x,[2,46]),{54:[1,58]},{5:A,20:59,21:w,24:v,26:W,28:q,30:$},{5:O,30:C,46:66,47:L,49:M},{23:71,62:g,63:E},{23:72,62:g,63:E},e(F,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:A,20:77,21:w,24:v,26:W,28:q,30:$},e(F,[2,19]),e(F,[2,33]),{22:[1,78]},{22:[1,79]},{5:O,30:C,46:80,47:L,49:M},e(F,[2,37]),e(F,[2,38]),e(F,[2,39]),{23:81,62:g,63:E},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(F,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(F,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:A,20:106,21:w,24:v,26:W,28:q,30:$},{5:A,20:107,21:w,24:v,26:W,28:q,30:$},{5:A,20:108,21:w,24:v,26:W,28:q,30:$},{5:A,20:109,21:w,24:v,26:W,28:q,30:$},{5:O,30:C,46:110,47:L,49:M},{5:O,30:C,46:111,47:L,49:M},e(F,[2,14]),e(F,[2,15]),e(F,[2,16]),e(F,[2,17]),e(F,[2,34]),e(F,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:(0,r.eW)(function(e,t){if(t.recoverable)this.trace(e);else{var i=Error(e);throw i.hash=t,i}},"parseError"),parse:(0,r.eW)(function(e){var t=this,i=[0],n=[],s=[null],a=[],l=this.table,h="",o=0,c=0,u=0,y=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(p.yy[_]=this.yy[_]);d.setInput(e,p.yy),p.yy.lexer=d,p.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;a.push(g);var E=d.options&&d.options.ranges;function R(){var e;return"number"!=typeof(e=n.pop()||d.lex()||1)&&(e instanceof Array&&(e=(n=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.eW)(function(e){i.length=i.length-2*e,s.length=s.length-e,a.length=a.length-e},"popStack"),(0,r.eW)(R,"lex");for(var m,f,I,S,b,k,N,T,x,A={};;){if(I=i[i.length-1],this.defaultActions[I]?S=this.defaultActions[I]:(null==m&&(m=R()),S=l[I]&&l[I][m]),void 0===S||!S.length||!S[0]){var w="";for(k in x=[],l[I])this.terminals_[k]&&k>2&&x.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:g,expected:x})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+I+", token: "+m);switch(S[0]){case 1:i.push(m),s.push(d.yytext),a.push(d.yylloc),i.push(S[1]),m=null,f?(m=f,f=null):(c=d.yyleng,h=d.yytext,o=d.yylineno,g=d.yylloc,u>0&&u--);break;case 2:if(N=this.productions_[S[1]][1],A.$=s[s.length-N],A._$={first_line:a[a.length-(N||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(N||1)].first_column,last_column:a[a.length-1].last_column},E&&(A._$.range=[a[a.length-(N||1)].range[0],a[a.length-1].range[1]]),void 0!==(b=this.performAction.apply(A,[h,c,o,p.yy,S[1],s,a].concat(y))))return b;N&&(i=i.slice(0,-1*N*2),s=s.slice(0,-1*N),a=a.slice(0,-1*N)),i.push(this.productions_[S[1]][0]),s.push(A.$),a.push(A._$),T=l[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0},"parse")},P={EOF:1,parseError:(0,r.eW)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,r.eW)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,r.eW)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,r.eW)(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,r.eW)(function(){return this._more=!0,this},"more"),reject:(0,r.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,r.eW)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,r.eW)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,r.eW)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,r.eW)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,r.eW)(function(e,t){var i,r,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},"test_match"),next:(0,r.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,i,r,n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,r=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,n[s])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,n[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,r.eW)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,r.eW)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,r.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,r.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,r.eW)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,r.eW)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,r.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.eW)(function(e,t,i,r){switch(i){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 48:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:case 10:case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 49:return"qString";case 50:return t.yytext=t.yytext.trim(),62}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};function V(){this.yy={}}return D.lexer=P,(0,r.eW)(V,"Parser"),V.prototype=D,D.Parser=V,new V}();l.parser=l;var h=[],o={},c=new Map,u={},y=new Map,d=(0,r.eW)((e,t)=>(c.has(e)||c.set(e,{name:e,type:t,id:o.id,text:o.text,risk:o.risk,verifyMethod:o.verifyMethod}),o={},c.get(e)),"addRequirement"),p=(0,r.eW)(()=>c,"getRequirements"),_=(0,r.eW)(e=>{void 0!==o&&(o.id=e)},"setNewReqId"),g=(0,r.eW)(e=>{void 0!==o&&(o.text=e)},"setNewReqText"),E=(0,r.eW)(e=>{void 0!==o&&(o.risk=e)},"setNewReqRisk"),R=(0,r.eW)(e=>{void 0!==o&&(o.verifyMethod=e)},"setNewReqVerifyMethod"),m=(0,r.eW)(e=>(y.has(e)||(y.set(e,{name:e,type:u.type,docRef:u.docRef}),r.cM.info("Added new requirement: ",e)),u={},y.get(e)),"addElement"),f=(0,r.eW)(()=>y,"getElements"),I=(0,r.eW)(e=>{void 0!==u&&(u.type=e)},"setNewElementType"),S=(0,r.eW)(e=>{void 0!==u&&(u.docRef=e)},"setNewElementDocRef"),b=(0,r.eW)((e,t,i)=>{h.push({type:e,src:t,dst:i})},"addRelationship"),k=(0,r.eW)(()=>h,"getRelationships"),N=(0,r.eW)(()=>{h=[],o={},c=new Map,u={},y=new Map,(0,r.ZH)()},"clear"),T={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:(0,r.eW)(()=>(0,r.nV)().req,"getConfig"),addRequirement:d,getRequirements:p,setNewReqId:_,setNewReqText:g,setNewReqRisk:E,setNewReqVerifyMethod:R,setAccTitle:r.GN,getAccTitle:r.eu,setAccDescription:r.U$,getAccDescription:r.Mx,addElement:m,getElements:f,setNewElementType:I,setNewElementDocRef:S,addRelationship:b,getRelationships:k,clear:N},x=(0,r.eW)(e=>` + + marker { + fill: ${e.relationColor}; + stroke: ${e.relationColor}; + } + + marker.cross { + stroke: ${e.lineColor}; + } + + svg { + font-family: ${e.fontFamily}; + font-size: ${e.fontSize}; + } + + .reqBox { + fill: ${e.requirementBackground}; + fill-opacity: 1.0; + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${e.requirementTextColor}; + } + .reqLabelBox { + fill: ${e.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + .relationshipLine { + stroke: ${e.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${e.relationLabelColor}; + } + +`,"getStyles"),A={CONTAINS:"contains",ARROW:"arrow"},w=(0,r.eW)((e,t)=>{let i=e.append("defs").append("marker").attr("id",A.CONTAINS+"_line_ending").attr("refX",0).attr("refY",t.line_height/2).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("g");i.append("circle").attr("cx",t.line_height/2).attr("cy",t.line_height/2).attr("r",t.line_height/2).attr("fill","none"),i.append("line").attr("x1",0).attr("x2",t.line_height).attr("y1",t.line_height/2).attr("y2",t.line_height/2).attr("stroke-width",1),i.append("line").attr("y1",0).attr("y2",t.line_height).attr("x1",t.line_height/2).attr("x2",t.line_height/2).attr("stroke-width",1),e.append("defs").append("marker").attr("id",A.ARROW+"_line_ending").attr("refX",t.line_height).attr("refY",.5*t.line_height).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${t.line_height},${t.line_height/2} + M${t.line_height},${t.line_height/2} + L0,${t.line_height}`).attr("stroke-width",1)},"insertLineEndings"),v={ReqMarkers:A,insertLineEndings:w},W={},q=0,$=(0,r.eW)((e,t)=>e.insert("rect","#"+t).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",W.rect_min_width+"px").attr("height",W.rect_min_height+"px"),"newRectNode"),O=(0,r.eW)((e,t,i)=>{let r=W.rect_min_width/2,n=e.append("text").attr("class","req reqLabel reqTitle").attr("id",t).attr("x",r).attr("y",W.rect_padding).attr("dominant-baseline","hanging"),s=0;i.forEach(e=>{0==s?n.append("tspan").attr("text-anchor","middle").attr("x",W.rect_min_width/2).attr("dy",0).text(e):n.append("tspan").attr("text-anchor","middle").attr("x",W.rect_min_width/2).attr("dy",.75*W.line_height).text(e),s++});let a=1.5*W.rect_padding+s*W.line_height*.75;return e.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",W.rect_min_width).attr("y1",a).attr("y2",a),{titleNode:n,y:a}},"newTitleNode"),C=(0,r.eW)((e,t,i,r)=>{let n=e.append("text").attr("class","req reqLabel").attr("id",t).attr("x",W.rect_padding).attr("y",r).attr("dominant-baseline","hanging"),s=0,a=[];return i.forEach(e=>{let t=e.length;for(;t>30&&s<3;){let i=e.substring(0,30);t=(e=e.substring(30,e.length)).length,a[a.length]=i,s++}if(3==s){let e=a[a.length-1];a[a.length-1]=e.substring(0,e.length-4)+"..."}else a[a.length]=e;s=0}),a.forEach(e=>{n.append("tspan").attr("x",W.rect_padding).attr("dy",W.line_height).text(e)}),n},"newBodyNode"),L=(0,r.eW)((e,t,i,r)=>{let n=t.node().getTotalLength(),s=t.node().getPointAtLength(.5*n),a="rel"+q;q++;let l=e.append("text").attr("class","req relationshipLabel").attr("id",a).attr("x",s.x).attr("y",s.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(r).node().getBBox();e.insert("rect","#"+a).attr("class","req reqLabelBox").attr("x",s.x-l.width/2).attr("y",s.y-l.height/2).attr("width",l.width).attr("height",l.height).attr("fill","white").attr("fill-opacity","85%")},"addEdgeLabel"),M=(0,r.eW)(function(e,t,i,s,a){let l=i.edge(Y(t.src),Y(t.dst)),h=(0,n.jvg)().x(function(e){return e.x}).y(function(e){return e.y}),o=e.insert("path","#"+s).attr("class","er relationshipLine").attr("d",h(l.points)).attr("fill","none");t.type==a.db.Relationships.CONTAINS?o.attr("marker-start","url("+r.SY.getUrl(W.arrowMarkerAbsolute)+"#"+t.type+"_line_ending)"):(o.attr("stroke-dasharray","10,7"),o.attr("marker-end","url("+r.SY.getUrl(W.arrowMarkerAbsolute)+"#"+v.ReqMarkers.ARROW+"_line_ending)")),L(e,o,W,`<<${t.type}>>`)},"drawRelationshipFromLayout"),F=(0,r.eW)((e,t,i)=>{e.forEach((e,n)=>{n=Y(n),r.cM.info("Added new requirement: ",n);let s=i.append("g").attr("id",n),a=$(s,"req-"+n),l=[],h=O(s,n+"_title",[`<<${e.type}>>`,`${e.name}`]);l.push(h.titleNode),l.push(C(s,n+"_body",[`Id: ${e.id}`,`Text: ${e.text}`,`Risk: ${e.risk}`,`Verification: ${e.verifyMethod}`],h.y));let o=a.node().getBBox();t.setNode(n,{width:o.width,height:o.height,shape:"rect",id:n})})},"drawReqs"),D=(0,r.eW)((e,t,i)=>{e.forEach((e,r)=>{let n=Y(r),s=i.append("g").attr("id",n),a="element-"+n,l=$(s,a),h=[],o=O(s,a+"_title",["<<Element>>",`${r}`]);h.push(o.titleNode),h.push(C(s,a+"_body",[`Type: ${e.type||"Not Specified"}`,`Doc Ref: ${e.docRef||"None"}`],o.y));let c=l.node().getBBox();t.setNode(n,{width:c.width,height:c.height,shape:"rect",id:n})})},"drawElements"),P=(0,r.eW)((e,t)=>(e.forEach(function(e){let i=Y(e.src),r=Y(e.dst);t.setEdge(i,r,{relationship:e})}),e),"addRelationships"),V=(0,r.eW)(function(e,t){t.nodes().forEach(function(i){void 0!==i&&void 0!==t.node(i)&&(e.select("#"+i),e.select("#"+i).attr("transform","translate("+(t.node(i).x-t.node(i).width/2)+","+(t.node(i).y-t.node(i).height/2)+" )"))})},"adjustEntities"),Y=(0,r.eW)(e=>e.replace(/\s/g,"").replace(/\./g,"_"),"elementString"),U={parser:l,db:T,renderer:{draw:(0,r.eW)((e,t,i,l)=>{let h;let o=(W=(0,r.nV)().requirement).securityLevel;"sandbox"===o&&(h=(0,n.Ys)("#i"+t));let c=("sandbox"===o?(0,n.Ys)(h.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id='${t}']`);v.insertLineEndings(c,W);let u=new a.k({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:W.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}}),y=l.db.getRequirements(),d=l.db.getElements(),p=l.db.getRelationships();F(y,u,c),D(d,u,c),P(p,u),(0,s.bK)(u),V(c,u),p.forEach(function(e){M(c,e,u,t,l)});let _=W.rect_padding,g=c.node().getBBox(),E=g.width+2*_,R=g.height+2*_;(0,r.v2)(c,R,E,W.useMaxWidth),c.attr("viewBox",`${g.x-_} ${g.y-_} ${E} ${R}`)},"draw")},styles:x}}}]); \ No newline at end of file diff --git a/assets/js/2283e669.9e3f6a6f.js b/assets/js/2283e669.9e3f6a6f.js new file mode 100644 index 0000000000..405e79de06 --- /dev/null +++ b/assets/js/2283e669.9e3f6a6f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["96205"],{13668:function(e,t,s){s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>d});var n=s(14363),i=s(85893),o=s(80980),l=s(2630);let c={title:"Blog TOC FrontMatter tests",authors:["slorber"],toc_min_heading_level:2,toc_max_heading_level:4,tags:["paginated-tag"]},r=void 0,u={authorsImageUrls:[void 0]},d=[...l.d$];function a(e){return(0,i.jsxs)(i.Fragment,{children:["\n","\n",(0,i.jsx)(l.ZP,{})]})}function h(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},2630:function(e,t,s){s.d(t,{ZP:()=>c,d$:()=>o});var n=s(85893),i=s(80980);let o=[{value:"section 1",id:"section-1",level:2},{value:"subsection 1-1",id:"subsection-1-1",level:3},{value:"subsection 1-1-1",id:"subsection-1-1-1",level:4},{value:"subsection 1-1-1-1",id:"subsection-1-1-1-1",level:5},{value:"subsection 1-1-1-1-1",id:"subsection-1-1-1-1-1",level:6},{value:"subsection 1-1-1-1-2",id:"subsection-1-1-1-1-2",level:6},{value:"subsection 1-1-1-2",id:"subsection-1-1-1-2",level:5},{value:"subsection 1-1-2",id:"subsection-1-1-2",level:4},{value:"subsection 1-2",id:"subsection-1-2",level:3},{value:"subsection 1-3",id:"subsection-1-3",level:3},{value:"section 2",id:"section-2",level:2},{value:"subsection 2-1",id:"subsection-2-1",level:3},{value:"subsection 2-1",id:"subsection-2-1-1",level:3},{value:"section 3",id:"section-3",level:2},{value:"subsection 3-1",id:"subsection-3-1",level:3},{value:"subsection 3-2",id:"subsection-3-2",level:3}];function l(e){let t={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"title",children:"title"})}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h2,{id:"section-1",children:"section 1"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h3,{id:"subsection-1-1",children:"subsection 1-1"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h4,{id:"subsection-1-1-1",children:"subsection 1-1-1"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h5,{id:"subsection-1-1-1-1",children:"subsection 1-1-1-1"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h6,{id:"subsection-1-1-1-1-1",children:"subsection 1-1-1-1-1"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h6,{id:"subsection-1-1-1-1-2",children:"subsection 1-1-1-1-2"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h5,{id:"subsection-1-1-1-2",children:"subsection 1-1-1-2"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h4,{id:"subsection-1-1-2",children:"subsection 1-1-2"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h3,{id:"subsection-1-2",children:"subsection 1-2"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h3,{id:"subsection-1-3",children:"subsection 1-3"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h2,{id:"section-2",children:"section 2"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h3,{id:"subsection-2-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h3,{id:"subsection-2-1-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h2,{id:"section-3",children:"section 3"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h3,{id:"subsection-3-1",children:"subsection 3-1"}),"\n",(0,n.jsx)(t.p,{children:"some text"}),"\n",(0,n.jsx)(t.h3,{id:"subsection-3-2",children:"subsection 3-2"}),"\n",(0,n.jsx)(t.p,{children:"some text"})]})}function c(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},80980:function(e,t,s){s.d(t,{Z:()=>c,a:()=>l});var n=s(67294);let i={},o=n.createContext(i);function l(e){let t=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(o.Provider,{value:t},e.children)}},14363:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2021/08/21/blog-post-toc-tests","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-08-21-blog-post-toc-tests.mdx","source":"@site/_dogfooding/_blog tests/2021-08-21-blog-post-toc-tests.mdx","title":"Blog TOC FrontMatter tests","description":"{/ truncate /}","date":"2021-08-21T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":1.8,"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Blog TOC FrontMatter tests","authors":["slorber"],"toc_min_heading_level":2,"toc_max_heading_level":4,"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Hmmm!","permalink":"/tests/blog/2021/08/22/no-author"},"nextItem":{"title":"Using twice the blog plugin","permalink":"/tests/blog/2020/08/03/demo/second-blog-intro"}}')}}]); \ No newline at end of file diff --git a/assets/js/228a014d.83e06163.js b/assets/js/228a014d.83e06163.js new file mode 100644 index 0000000000..f706bad994 --- /dev/null +++ b/assets/js/228a014d.83e06163.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["35611"],{36287:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>c,default:()=>f,contentTitle:()=>d,assets:()=>u,toc:()=>h,metadata:()=>r});var r=JSON.parse('{"id":"api/plugins/plugin-client-redirects","title":"\uD83D\uDCE6 plugin-client-redirects","description":"Docusaurus Plugin to generate client-side redirects.","source":"@site/docs/api/plugins/plugin-client-redirects.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-client-redirects","permalink":"/docs/api/plugins/@docusaurus/plugin-client-redirects","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-client-redirects.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":4,"frontMatter":{"sidebar_position":4,"slug":"/api/plugins/@docusaurus/plugin-client-redirects"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-content-pages","permalink":"/docs/api/plugins/@docusaurus/plugin-content-pages"},"next":{"title":"\uD83D\uDCE6 plugin-debug","permalink":"/docs/api/plugins/@docusaurus/plugin-debug"}}'),i=n(85893),s=n(80980),l=n(15398),a=n(58636),o=n(32240);let c={sidebar_position:4,slug:"/api/plugins/@docusaurus/plugin-client-redirects"},d="\uD83D\uDCE6 plugin-client-redirects",u={},h=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Types",id:"types",level:3},{value:"<code>RedirectRule</code>",id:"RedirectRule",level:4},{value:"<code>CreateRedirectsFn</code>",id:"CreateRedirectsFn",level:4},{value:"Example configuration",id:"ex-config",level:3}];function p(e){let t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"-plugin-client-redirects",children:"\uD83D\uDCE6 plugin-client-redirects"})}),"\n","\n",(0,i.jsxs)(t.p,{children:["Docusaurus Plugin to generate ",(0,i.jsx)(t.strong,{children:"client-side redirects"}),"."]}),"\n",(0,i.jsx)(t.p,{children:"This plugin will write additional HTML pages to your static site that redirect the user to your existing Docusaurus pages with JavaScript."}),"\n",(0,i.jsx)(t.admonition,{title:"production only",type:"warning",children:(0,i.jsxs)(t.p,{children:["This plugin is always inactive in development and ",(0,i.jsx)(t.strong,{children:"only active in production"})," because it works on the build output."]})}),"\n",(0,i.jsxs)(t.admonition,{type:"warning",children:[(0,i.jsx)(t.p,{children:"It is better to use server-side redirects whenever possible."}),(0,i.jsx)(t.p,{children:"Before using this plugin, you should look if your hosting provider doesn't offer this feature."})]}),"\n",(0,i.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,i.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,i.jsx)(a.Z,{value:"npm",children:(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-client-redirects\n"})})}),(0,i.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-client-redirects\n"})})}),(0,i.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-client-redirects\n"})})})]}),"\n",(0,i.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,i.jsx)(t.p,{children:"Accepted fields:"}),"\n",(0,i.jsx)(o.Z,{children:(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Option"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Default"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"fromExtensions"})}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"string[]"})}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[]"})}),(0,i.jsx)(t.td,{children:"The extensions to be removed from the route after redirecting."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"toExtensions"})}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"string[]"})}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[]"})}),(0,i.jsx)(t.td,{children:"The extensions to be appended to the route after redirecting."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"redirects"})}),(0,i.jsx)(t.td,{children:(0,i.jsxs)("code",{children:[(0,i.jsx)(t.a,{href:"#RedirectRule",children:"RedirectRule"}),"[]"]})}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[]"})}),(0,i.jsx)(t.td,{children:"The list of redirect rules."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"createRedirects"})}),(0,i.jsx)(t.td,{children:(0,i.jsx)("code",{children:(0,i.jsx)(t.a,{href:"#CreateRedirectsFn",children:"CreateRedirectsFn"})})}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"undefined"})}),(0,i.jsx)(t.td,{children:"A callback to create a redirect rule. Docusaurus query this callback against every path it has created, and use its return value to output more paths."})]})]})]})}),"\n",(0,i.jsx)(t.admonition,{type:"note",children:(0,i.jsxs)(t.p,{children:["This plugin will also read the ",(0,i.jsx)(t.a,{href:"/docs/api/docusaurus-config#onDuplicateRoutes",children:(0,i.jsx)(t.code,{children:"siteConfig.onDuplicateRoutes"})})," config to adjust its logging level when multiple files will be emitted to the same location."]})}),"\n",(0,i.jsx)(t.h3,{id:"types",children:"Types"}),"\n",(0,i.jsx)(t.h4,{id:"RedirectRule",children:(0,i.jsx)(t.code,{children:"RedirectRule"})}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ts",children:"type RedirectRule = {\n to: string;\n from: string | string[];\n};\n"})}),"\n",(0,i.jsxs)(t.admonition,{type:"note",children:[(0,i.jsxs)(t.p,{children:['The idea of "from" and "to" is central in this plugin. "From" means a path that you want to ',(0,i.jsx)(t.em,{children:"create"}),', i.e. an extra HTML file that will be written; "to" means a path to want to redirect ',(0,i.jsx)(t.em,{children:"to"}),", usually a route that Docusaurus already knows about."]}),(0,i.jsx)(t.p,{children:'This is why you can have multiple "from" for the same "to": we will create multiple HTML files that all redirect to the same destination. On the other hand, one "from" can never have more than one "to": the written HTML file needs to have a determinate destination.'})]}),"\n",(0,i.jsx)(t.h4,{id:"CreateRedirectsFn",children:(0,i.jsx)(t.code,{children:"CreateRedirectsFn"})}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ts",children:'// The parameter `path` is a route that Docusaurus has already created. It can\n// be seen as the "to", and your return value is the "from". Returning a falsy\n// value will not create any redirect pages for this particular path.\ntype CreateRedirectsFn = (path: string) => string[] | string | null | undefined;\n'})}),"\n",(0,i.jsx)(t.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,i.jsx)(t.p,{children:"Here's an example configuration:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n plugins: [\n [\n '@docusaurus/plugin-client-redirects',\n // highlight-start\n {\n fromExtensions: ['html', 'htm'], // /myPage.html -> /myPage\n toExtensions: ['exe', 'zip'], // /myAsset -> /myAsset.zip (if latter exists)\n redirects: [\n // /docs/oldDoc -> /docs/newDoc\n {\n to: '/docs/newDoc',\n from: '/docs/oldDoc',\n },\n // Redirect from multiple old paths to the new path\n {\n to: '/docs/newDoc2',\n from: ['/docs/oldDocFrom2019', '/docs/legacyDocFrom2016'],\n },\n ],\n createRedirects(existingPath) {\n if (existingPath.includes('/community')) {\n // Redirect from /docs/team/X to /community/X and /docs/support/X to /community/X\n return [\n existingPath.replace('/community', '/docs/team'),\n existingPath.replace('/community', '/docs/support'),\n ];\n }\n return undefined; // Return a falsy value: no redirect created\n },\n },\n // highlight-end\n ],\n ],\n};\n"})})]})}function f(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},58636:function(e,t,n){n.d(t,{Z:()=>s});var r=n(85893);n(67294);var i=n(90496);function s(e){let{children:t,hidden:n,className:s}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,i.Z)("tabItem_pnkT",s),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>j});var r=n(85893),i=n(67294),s=n(90496),l=n(54947),a=n(3620),o=n(844),c=n(97486),d=n(32263),u=n(16971);function h(e){return i.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||i.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var f=n(71607);function m(e){let{className:t,block:n,selectedValue:i,selectValue:a,tabValues:o}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,l.o5)(),u=e=>{let t=e.currentTarget,n=o[c.indexOf(t)].value;n!==i&&(d(t),a(n))},h=e=>{let t=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{let n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1]}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:o.map(e=>{let{value:t,label:n,attributes:l}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>{c.push(e)},onKeyDown:h,onClick:u,...l,className:(0,s.Z)("tabs__item","tabItem_AQgk",l?.className,{"tabs__item--active":i===t}),children:n??t},t)})})}function g(e){let{lazy:t,children:n,selectedValue:l}=e,a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=a.find(e=>e.props.value===l);return e?(0,i.cloneElement)(e,{className:(0,s.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:a.map((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==l}))})}function x(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:r}=e,s=function(e){let{values:t,children:n}=e;return(0,i.useMemo)(()=>{let e=t??h(n).map(e=>{let{props:{value:t,label:n,attributes:r,default:i}}=e;return{value:t,label:n,attributes:r,default:i}});return!function(e){let t=(0,d.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[l,f]=(0,i.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!p({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:s})),[m,g]=function(e){let{queryString:t=!1,groupId:n}=e,r=(0,a.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(s),(0,i.useCallback)(e=>{if(!s)return;let t=new URLSearchParams(r.location.search);t.set(s,e),r.replace({...r.location,search:t.toString()})},[s,r])]}({queryString:n,groupId:r}),[x,j]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[r,s]=(0,u.Nk)(n);return[r,(0,i.useCallback)(e=>{n&&s.set(e)},[n,s])]}({groupId:r}),b=(()=>{let e=m??x;return p({value:e,tabValues:s})?e:null})();return(0,o.Z)(()=>{b&&f(b)},[b]),{selectedValue:l,selectValue:(0,i.useCallback)(e=>{if(!p({value:e,tabValues:s}))throw Error(`Can't select invalid tab value=${e}`);f(e),g(e),j(e)},[g,j,s]),tabValues:s}}(e);return(0,r.jsxs)("div",{className:(0,s.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(m,{...t,...e}),(0,r.jsx)(g,{...t,...e})]})}function j(e){let t=(0,f.Z)();return(0,r.jsx)(x,{...e,children:h(e.children)},String(t))}},32240:function(e,t,n){n.d(t,{Z:()=>o});var r=n(85893),i=n(67294),s=n(96700),l=n(3620);let a=i.forwardRef(function(e,t){let{name:n,children:a}=e,o=function(e){let t=e;for(;(0,i.isValidElement)(t);)[t]=i.Children.toArray(t.props.children);if("string"!=typeof t)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return t}(a),c=n?`${n}-${o}`:o,d=`#${c}`,u=(0,l.k6)();return(0,s.Z)().collectAnchor(c),(0,r.jsx)("tr",{id:c,tabIndex:0,ref:u.location.hash===d?t:void 0,onClick:e=>{let t="TD"===e.target.tagName.toUpperCase(),n=!!window.getSelection()?.toString();t&&!n&&u.push(d)},onKeyDown:e=>{"Enter"===e.key&&u.push(d)},children:a.props.children})});function o(e){let{children:t,name:n}=e;if("table"!==t.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[s,l]=i.Children.toArray(t.props.children),o=(0,i.useRef)(null);(0,i.useEffect)(()=>{o.current?.focus()},[o]);let c=i.Children.map(l.props.children,e=>(0,r.jsx)(a,{name:n,ref:o,children:e}));return(0,r.jsxs)("table",{className:"apiTable_e8hp",children:[s,(0,r.jsx)("tbody",{children:c})]})}},80980:function(e,t,n){n.d(t,{Z:()=>a,a:()=>l});var r=n(67294);let i={},s=r.createContext(i);function l(e){let t=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/23316.f623b99e.js b/assets/js/23316.f623b99e.js new file mode 100644 index 0000000000..8f3b1861d6 --- /dev/null +++ b/assets/js/23316.f623b99e.js @@ -0,0 +1,134 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["23316"],{93737:function(t,e,i){i.d(e,{AD:()=>u,AE:()=>o,Mu:()=>n,O:()=>s,kc:()=>h,rB:()=>c,yU:()=>l});var r=i(28923),a=i(7608),n=(0,r.eW)((t,e)=>{let i=t.append("rect");if(i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),e.name&&i.attr("name",e.name),e.rx&&i.attr("rx",e.rx),e.ry&&i.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)i.attr(t,e.attrs[t]);return e.class&&i.attr("class",e.class),i},"drawRect"),s=(0,r.eW)((t,e)=>{n(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),l=(0,r.eW)((t,e)=>{let i=e.text.replace(r.Vw," "),a=t.append("text");a.attr("x",e.x),a.attr("y",e.y),a.attr("class","legend"),a.style("text-anchor",e.anchor),e.class&&a.attr("class",e.class);let n=a.append("tspan");return n.attr("x",e.x+2*e.textMargin),n.text(i),a},"drawText"),o=(0,r.eW)((t,e,i,r)=>{let n=t.append("image");n.attr("x",e),n.attr("y",i);let s=(0,a.sanitizeUrl)(r);n.attr("xlink:href",s)},"drawImage"),c=(0,r.eW)((t,e,i,r)=>{let n=t.append("use");n.attr("x",e),n.attr("y",i);let s=(0,a.sanitizeUrl)(r);n.attr("xlink:href",`#${s}`)},"drawEmbeddedImage"),h=(0,r.eW)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),u=(0,r.eW)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")},90634:function(t,e,i){i.d(e,{diagram:()=>R});var r=i(93737),a=i(28923),n=i(11141),s=function(){var t=(0,a.eW)(function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},"o"),e=[6,8,10,11,12,14,16,17,18],i=[1,9],r=[1,10],n=[1,11],s=[1,12],l=[1,13],o=[1,14],c={trace:(0,a.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:(0,a.eW)(function(t,e,i,r,a,n,s){var l=n.length-1;switch(a){case 1:return n[l-1];case 2:case 6:case 7:this.$=[];break;case 3:n[l-1].push(n[l]),this.$=n[l-1];break;case 4:case 5:this.$=n[l];break;case 8:r.setDiagramTitle(n[l].substr(6)),this.$=n[l].substr(6);break;case 9:this.$=n[l].trim(),r.setAccTitle(this.$);break;case 10:case 11:this.$=n[l].trim(),r.setAccDescription(this.$);break;case 12:r.addSection(n[l].substr(8)),this.$=n[l].substr(8);break;case 13:r.addTask(n[l-1],n[l]),this.$="task"}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:r,14:n,16:s,17:l,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:r,14:n,16:s,17:l,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:(0,a.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,a.eW)(function(t){var e=this,i=[0],r=[],n=[null],s=[],l=this.table,o="",c=0,h=0,u=0,y=s.slice.call(arguments,1),p=Object.create(this.lexer),d={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d.yy[f]=this.yy[f]);p.setInput(t,d.yy),d.yy.lexer=p,d.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var g=p.yylloc;s.push(g);var x=p.options&&p.options.ranges;function m(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.eW)(function(t){i.length=i.length-2*t,n.length=n.length-t,s.length=s.length-t},"popStack"),(0,a.eW)(m,"lex");for(var k,_,b,v,W,w,$,M,T,S={};;){if(b=i[i.length-1],this.defaultActions[b]?v=this.defaultActions[b]:(null==k&&(k=m()),v=l[b]&&l[b][k]),void 0===v||!v.length||!v[0]){var E="";for(w in T=[],l[b])this.terminals_[w]&&w>2&&T.push("'"+this.terminals_[w]+"'");E=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(E,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:g,expected:T})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+k);switch(v[0]){case 1:i.push(k),n.push(p.yytext),s.push(p.yylloc),i.push(v[1]),k=null,_?(k=_,_=null):(h=p.yyleng,o=p.yytext,c=p.yylineno,g=p.yylloc,u>0&&u--);break;case 2:if($=this.productions_[v[1]][1],S.$=n[n.length-$],S._$={first_line:s[s.length-($||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-($||1)].first_column,last_column:s[s.length-1].last_column},x&&(S._$.range=[s[s.length-($||1)].range[0],s[s.length-1].range[1]]),void 0!==(W=this.performAction.apply(S,[o,h,c,d.yy,v[1],n,s].concat(y))))return W;$&&(i=i.slice(0,-1*$*2),n=n.slice(0,-1*$),s=s.slice(0,-1*$)),i.push(this.productions_[v[1]][0]),n.push(S.$),s.push(S._$),M=l[i[i.length-2]][i[i.length-1]],i.push(M);break;case 3:return!0}}return!0},"parse")},h={EOF:1,parseError:(0,a.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,a.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,a.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,a.eW)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.eW)(function(){return this._more=!0,this},"more"),reject:(0,a.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,a.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,a.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,a.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,a.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,a.eW)(function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var n in a)this[n]=a[n];return!1},"test_match"),next:(0,a.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),n=0;n<a.length;n++)if((i=this._input.match(this.rules[a[n]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[n])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,a.eW)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,a.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,a.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,a.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,a.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,a.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.eW)(function(t,e,i,r){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};function u(){this.yy={}}return c.lexer=h,(0,a.eW)(u,"Parser"),u.prototype=c,c.Parser=u,new u}();s.parser=s;var l="",o=[],c=[],h=[],u=(0,a.eW)(function(){o.length=0,c.length=0,l="",h.length=0,(0,a.ZH)()},"clear"),y=(0,a.eW)(function(t){l=t,o.push(t)},"addSection"),p=(0,a.eW)(function(){return o},"getSections"),d=(0,a.eW)(function(){let t=m(),e=0;for(;!t&&e<100;)t=m(),e++;return c.push(...h),c},"getTasks"),f=(0,a.eW)(function(){let t=[];return c.forEach(e=>{e.people&&t.push(...e.people)}),[...new Set(t)].sort()},"updateActors"),g=(0,a.eW)(function(t,e){let i=e.substr(1).split(":"),r=0,a=[];1===i.length?(r=Number(i[0]),a=[]):(r=Number(i[0]),a=i[1].split(","));let n=a.map(t=>t.trim()),s={section:l,type:l,people:n,task:t,score:r};h.push(s)},"addTask"),x=(0,a.eW)(function(t){let e={section:l,type:l,description:t,task:t,classes:[]};c.push(e)},"addTaskOrg"),m=(0,a.eW)(function(){let t=(0,a.eW)(function(t){return h[t].processed},"compileTask"),e=!0;for(let[i,r]of h.entries())t(i),e=e&&r.processed;return e},"compileTasks"),k=(0,a.eW)(function(){return f()},"getActors"),_={getConfig:(0,a.eW)(()=>(0,a.nV)().journey,"getConfig"),clear:u,setDiagramTitle:a.g2,getDiagramTitle:a.Kr,setAccTitle:a.GN,getAccTitle:a.eu,setAccDescription:a.U$,getAccDescription:a.Mx,addSection:y,getSections:p,getTasks:d,addTask:g,addTaskOrg:x,getActors:k},b=(0,a.eW)(t=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0?`fill: ${t.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${t.fillType0?`fill: ${t.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${t.fillType0?`fill: ${t.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${t.fillType0?`fill: ${t.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${t.fillType0?`fill: ${t.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${t.fillType0?`fill: ${t.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${t.fillType0?`fill: ${t.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${t.fillType0?`fill: ${t.fillType7}`:""}; + } + + .actor-0 { + ${t.actor0?`fill: ${t.actor0}`:""}; + } + .actor-1 { + ${t.actor1?`fill: ${t.actor1}`:""}; + } + .actor-2 { + ${t.actor2?`fill: ${t.actor2}`:""}; + } + .actor-3 { + ${t.actor3?`fill: ${t.actor3}`:""}; + } + .actor-4 { + ${t.actor4?`fill: ${t.actor4}`:""}; + } + .actor-5 { + ${t.actor5?`fill: ${t.actor5}`:""}; + } +`,"getStyles"),v=(0,a.eW)(function(t,e){return(0,r.Mu)(t,e)},"drawRect"),W=(0,a.eW)(function(t,e){let i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");function s(t){let i=(0,n.Nb1)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function l(t){let i=(0,n.Nb1)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function o(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return r.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,a.eW)(s,"smile"),(0,a.eW)(l,"sad"),(0,a.eW)(o,"ambivalent"),e.score>3?s(r):e.score<3?l(r):o(r),i},"drawFace"),w=(0,a.eW)(function(t,e){let i=t.append("circle");return i.attr("cx",e.cx),i.attr("cy",e.cy),i.attr("class","actor-"+e.pos),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("r",e.r),void 0!==i.class&&i.attr("class",i.class),void 0!==e.title&&i.append("title").text(e.title),i},"drawCircle"),$=(0,a.eW)(function(t,e){return(0,r.yU)(t,e)},"drawText"),M=(0,a.eW)(function(t,e,i){let a=t.append("g"),n=(0,r.kc)();n.x=e.x,n.y=e.y,n.fill=e.fill,n.width=i.width*e.taskCount+i.diagramMarginX*(e.taskCount-1),n.height=i.height,n.class="journey-section section-type-"+e.num,n.rx=3,n.ry=3,v(a,n),E(i)(e.text,a,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+e.num},i,e.colour)},"drawSection"),T=-1,S=(0,a.eW)(function(t,e,i){let a=e.x+i.width/2,n=t.append("g");T++,n.append("line").attr("id","task"+T).attr("x1",a).attr("y1",e.y).attr("x2",a).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),W(n,{cx:a,cy:300+(5-e.score)*30,score:e.score});let s=(0,r.kc)();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=i.width,s.height=i.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,v(n,s);let l=e.x+14;e.people.forEach(t=>{let i=e.actors[t].color;w(n,{cx:l,cy:e.y,r:7,fill:i,stroke:"#000",title:t,pos:e.actors[t].position}),l+=10}),E(i)(e.task,n,s.x,s.y,s.width,s.height,{class:"task"},i,e.colour)},"drawTask"),E=function(){function t(t,e,i,a,n,s,l,o){r(e.append("text").attr("x",i+n/2).attr("y",a+s/2+5).style("font-color",o).style("text-anchor","middle").text(t),l)}function e(t,e,i,a,n,s,l,o,c){let{taskFontSize:h,taskFontFamily:u}=o,y=t.split(/<br\s*\/?>/gi);for(let t=0;t<y.length;t++){let o=t*h-h*(y.length-1)/2,p=e.append("text").attr("x",i+n/2).attr("y",a).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",u);p.append("tspan").attr("x",i+n/2).attr("dy",o).text(y[t]),p.attr("y",a+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(p,l)}}function i(t,i,a,n,s,l,o,c){let h=i.append("switch"),u=h.append("foreignObject").attr("x",a).attr("y",n).attr("width",s).attr("height",l).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,a,n,s,l,o,c),r(u,o)}function r(t,e){for(let i in e)i in e&&t.attr(i,e[i])}return(0,a.eW)(t,"byText"),(0,a.eW)(e,"byTspan"),(0,a.eW)(i,"byFo"),(0,a.eW)(r,"_setTextAttrs"),function(r){return"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}(),A={drawCircle:w,drawSection:M,drawText:$,drawTask:S,initGraphics:(0,a.eW)(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics")},I=(0,a.eW)(function(t){Object.keys(t).forEach(function(e){V[e]=t[e]})},"setConf"),P={};function C(t){let e=(0,a.nV)().journey,i=60;Object.keys(P).forEach(r=>{let a=P[r].color,n={cx:20,cy:i,r:7,fill:a,stroke:"#000",pos:P[r].position};A.drawCircle(t,n);let s={x:40,y:i+7,fill:"#666",text:r,textMargin:5|e.boxTextMargin};A.drawText(t,s),i+=20})}(0,a.eW)(C,"drawActorLegend");var V=(0,a.nV)().journey,j=V.leftMargin,N=(0,a.eW)(function(t,e,i,r){let s;let l=(0,a.nV)().journey,o=(0,a.nV)().securityLevel;"sandbox"===o&&(s=(0,n.Ys)("#i"+e));let c="sandbox"===o?(0,n.Ys)(s.nodes()[0].contentDocument.body):(0,n.Ys)("body");O.init();let h=c.select("#"+e);A.initGraphics(h);let u=r.db.getTasks(),y=r.db.getDiagramTitle(),p=r.db.getActors();for(let t in P)delete P[t];let d=0;p.forEach(t=>{P[t]={color:l.actorColours[d%l.actorColours.length],position:d},d++}),C(h),O.insert(0,0,j,50*Object.keys(P).length),B(h,u,0);let f=O.getBounds();y&&h.append("text").text(y).attr("x",j).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);let g=f.stopy-f.starty+2*l.diagramMarginY,x=j+f.stopx+2*l.diagramMarginX;(0,a.v2)(h,g,x,l.useMaxWidth),h.append("line").attr("x1",j).attr("y1",4*l.height).attr("x2",x-j-4).attr("y2",4*l.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let m=70*!!y;h.attr("viewBox",`${f.startx} -25 ${x} ${g+m}`),h.attr("preserveAspectRatio","xMinYMin meet"),h.attr("height",g+m+25)},"draw"),O={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:(0,a.eW)(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:(0,a.eW)(function(t,e,i,r){void 0===t[e]?t[e]=i:t[e]=r(i,t[e])},"updateVal"),updateBounds:(0,a.eW)(function(t,e,i,r){let n=(0,a.nV)().journey,s=this,l=0;function o(o){return(0,a.eW)(function(a){l++;let c=s.sequenceItems.length-l+1;s.updateVal(a,"starty",e-c*n.boxMargin,Math.min),s.updateVal(a,"stopy",r+c*n.boxMargin,Math.max),s.updateVal(O.data,"startx",t-c*n.boxMargin,Math.min),s.updateVal(O.data,"stopx",i+c*n.boxMargin,Math.max),"activation"!==o&&(s.updateVal(a,"startx",t-c*n.boxMargin,Math.min),s.updateVal(a,"stopx",i+c*n.boxMargin,Math.max),s.updateVal(O.data,"starty",e-c*n.boxMargin,Math.min),s.updateVal(O.data,"stopy",r+c*n.boxMargin,Math.max))},"updateItemBounds")}(0,a.eW)(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:(0,a.eW)(function(t,e,i,r){let a=Math.min(t,i),n=Math.max(t,i),s=Math.min(e,r),l=Math.max(e,r);this.updateVal(O.data,"startx",a,Math.min),this.updateVal(O.data,"starty",s,Math.min),this.updateVal(O.data,"stopx",n,Math.max),this.updateVal(O.data,"stopy",l,Math.max),this.updateBounds(a,s,n,l)},"insert"),bumpVerticalPos:(0,a.eW)(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:(0,a.eW)(function(){return this.verticalPos},"getVerticalPos"),getBounds:(0,a.eW)(function(){return this.data},"getBounds")},D=V.sectionFills,L=V.sectionColours,B=(0,a.eW)(function(t,e,i){let r=(0,a.nV)().journey,n="",s=i+(2*r.height+r.diagramMarginY),l=0,o="#CCC",c="black",h=0;for(let[i,a]of e.entries()){if(n!==a.section){o=D[l%D.length],h=l%D.length,c=L[l%L.length];let s=0,u=a.section;for(let t=i;t<e.length;t++)if(e[t].section==u)s+=1;else break;let y={x:i*r.taskMargin+i*r.width+j,y:50,text:a.section,fill:o,num:h,colour:c,taskCount:s};A.drawSection(t,y,r),n=a.section,l++}let u=a.people.reduce((t,e)=>(P[e]&&(t[e]=P[e]),t),{});a.x=i*r.taskMargin+i*r.width+j,a.y=s,a.width=r.diagramMarginX,a.height=r.diagramMarginY,a.colour=c,a.fill=o,a.num=h,a.actors=u,A.drawTask(t,a,r),O.insert(a.x,a.y,a.x+a.width+r.taskMargin,450)}},"drawTasks"),F={setConf:I,draw:N},R={parser:s,db:_,renderer:F,styles:b,init:(0,a.eW)(t=>{F.setConf(t.journey),_.clear()},"init")}}}]); \ No newline at end of file diff --git a/assets/js/2350.19249fa7.js b/assets/js/2350.19249fa7.js new file mode 100644 index 0000000000..e1e48958e7 --- /dev/null +++ b/assets/js/2350.19249fa7.js @@ -0,0 +1,56 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["2350"],{17112:function(t,e,n){n.d(e,{diagram:()=>B});var i=n(28923),r=n(11141),s=n(34684),a=n(38582),l=n(28076),o=function(){var t=(0,i.eW)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[6,8,10,11,12,14,16,17,20,21],n=[1,9],r=[1,10],s=[1,11],a=[1,12],l=[1,13],o=[1,16],c=[1,17],h={trace:(0,i.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:(0,i.eW)(function(t,e,n,i,r,s,a){var l=s.length-1;switch(r){case 1:return s[l-1];case 2:case 6:case 7:this.$=[];break;case 3:s[l-1].push(s[l]),this.$=s[l-1];break;case 4:case 5:this.$=s[l];break;case 8:i.getCommonDb().setDiagramTitle(s[l].substr(6)),this.$=s[l].substr(6);break;case 9:this.$=s[l].trim(),i.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=s[l].trim(),i.getCommonDb().setAccDescription(this.$);break;case 12:i.addSection(s[l].substr(8)),this.$=s[l].substr(8);break;case 15:i.addTask(s[l],0,""),this.$=s[l];break;case 16:i.addEvent(s[l].substr(2)),this.$=s[l]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:r,14:s,16:a,17:l,18:14,19:15,20:o,21:c},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:n,12:r,14:s,16:a,17:l,18:14,19:15,20:o,21:c},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:(0,i.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,i.eW)(function(t){var e=this,n=[0],r=[],s=[null],a=[],l=this.table,o="",c=0,h=0,d=0,u=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;a.push(f);var m=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=r.pop()||p.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,i.eW)(function(t){n.length=n.length-2*t,s.length=s.length-t,a.length=a.length-t},"popStack"),(0,i.eW)(x,"lex");for(var b,_,k,v,w,W,S,$,E,M={};;){if(k=n[n.length-1],this.defaultActions[k]?v=this.defaultActions[k]:(null==b&&(b=x()),v=l[k]&&l[k][b]),void 0===v||!v.length||!v[0]){var I="";for(W in E=[],l[k])this.terminals_[W]&&W>2&&E.push("'"+this.terminals_[W]+"'");I=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(I,{text:p.match,token:this.terminals_[b]||b,line:p.yylineno,loc:f,expected:E})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+k+", token: "+b);switch(v[0]){case 1:n.push(b),s.push(p.yytext),a.push(p.yylloc),n.push(v[1]),b=null,_?(b=_,_=null):(h=p.yyleng,o=p.yytext,c=p.yylineno,f=p.yylloc,d>0&&d--);break;case 2:if(S=this.productions_[v[1]][1],M.$=s[s.length-S],M._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(M,[o,h,c,y.yy,v[1],s,a].concat(u))))return w;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[v[1]][0]),s.push(M.$),a.push(M._$),$=l[n[n.length-2]][n[n.length-1]],n.push($);break;case 3:return!0}}return!0},"parse")},d={EOF:1,parseError:(0,i.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,i.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,i.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,i.eW)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,i.eW)(function(){return this._more=!0,this},"more"),reject:(0,i.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,i.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,i.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,i.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,i.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,i.eW)(function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var s in r)this[s]=r[s];return!1},"test_match"),next:(0,i.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,i,r=this._currentRules(),s=0;s<r.length;s++)if((n=this._input.match(this.rules[r[s]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,i.eW)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,i.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,i.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,i.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,i.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,i.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,i.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,i.eW)(function(t,e,n,i){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s[^:\n]+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};function u(){this.yy={}}return h.lexer=d,(0,i.eW)(u,"Parser"),u.prototype=h,h.Parser=u,new u}();o.parser=o;var c={};(0,i.r2)(c,{addEvent:()=>k,addSection:()=>m,addTask:()=>_,addTaskOrg:()=>v,clear:()=>f,default:()=>W,getCommonDb:()=>g,getSections:()=>x,getTasks:()=>b});var h="",d=0,u=[],p=[],y=[],g=(0,i.eW)(()=>i.LJ,"getCommonDb"),f=(0,i.eW)(function(){u.length=0,p.length=0,h="",y.length=0,(0,i.ZH)()},"clear"),m=(0,i.eW)(function(t){h=t,u.push(t)},"addSection"),x=(0,i.eW)(function(){return u},"getSections"),b=(0,i.eW)(function(){let t=w(),e=0;for(;!t&&e<100;)t=w(),e++;return p.push(...y),p},"getTasks"),_=(0,i.eW)(function(t,e,n){let i={id:d++,section:h,type:h,task:t,score:e||0,events:n?[n]:[]};y.push(i)},"addTask"),k=(0,i.eW)(function(t){y.find(t=>t.id===d-1).events.push(t)},"addEvent"),v=(0,i.eW)(function(t){let e={section:h,type:h,description:t,task:t,classes:[]};p.push(e)},"addTaskOrg"),w=(0,i.eW)(function(){let t=(0,i.eW)(function(t){return y[t].processed},"compileTask"),e=!0;for(let[n,i]of y.entries())t(n),e=e&&i.processed;return e},"compileTasks"),W={clear:f,getCommonDb:g,addSection:m,getSections:x,getTasks:b,addTask:_,addTaskOrg:v,addEvent:k},S=(0,i.eW)(function(t,e){let n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},"drawRect"),$=(0,i.eW)(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),s=t.append("g");function a(t){let n=(0,r.Nb1)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function l(t){let n=(0,r.Nb1)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function o(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),s.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,i.eW)(a,"smile"),(0,i.eW)(l,"sad"),(0,i.eW)(o,"ambivalent"),e.score>3?a(s):e.score<3?l(s):o(s),n},"drawFace"),E=(0,i.eW)(function(t,e){let n=e.text.replace(/<br\s*\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),void 0!==e.class&&i.attr("class",e.class);let r=i.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(n),i},"drawText"),M=-1,I=(0,i.eW)(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),T=function(){function t(t,e,n,i,s,a,l,o){r(e.append("text").attr("x",n+s/2).attr("y",i+a/2+5).style("font-color",o).style("text-anchor","middle").text(t),l)}function e(t,e,n,i,s,a,l,o,c){let{taskFontSize:h,taskFontFamily:d}=o,u=t.split(/<br\s*\/?>/gi);for(let t=0;t<u.length;t++){let o=t*h-h*(u.length-1)/2,p=e.append("text").attr("x",n+s/2).attr("y",i).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",d);p.append("tspan").attr("x",n+s/2).attr("dy",o).text(u[t]),p.attr("y",i+a/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(p,l)}}function n(t,n,i,s,a,l,o,c){let h=n.append("switch"),d=h.append("foreignObject").attr("x",i).attr("y",s).attr("width",a).attr("height",l).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,i,s,a,l,o,c),r(d,o)}function r(t,e){for(let n in e)n in e&&t.attr(n,e[n])}return(0,i.eW)(t,"byText"),(0,i.eW)(e,"byTspan"),(0,i.eW)(n,"byFo"),(0,i.eW)(r,"_setTextAttrs"),function(i){return"fo"===i.textPlacement?n:"old"===i.textPlacement?t:e}}(),A=(0,i.eW)(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");function N(t,e){t.each(function(){var t,n=(0,r.Ys)(this),i=n.text().split(/(\s+|<br>)/).reverse(),s=[],a=n.attr("y"),l=parseFloat(n.attr("dy")),o=n.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",l+"em");for(let r=0;r<i.length;r++)t=i[i.length-1-r],s.push(t),o.text(s.join(" ").trim()),(o.node().getComputedTextLength()>e||"<br>"===t)&&(s.pop(),o.text(s.join(" ").trim()),s="<br>"===t?[""]:[t],o=n.append("tspan").attr("x",0).attr("y",a).attr("dy","1.1em").text(t))})}(0,i.eW)(N,"wrap");var C=(0,i.eW)(function(t,e,n,i){let r=n%12-1,s=t.append("g");e.section=r,s.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+r);let a=s.append("g"),l=s.append("g"),o=l.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(N,e.width).node().getBBox(),c=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;return e.height=o.height+.55*c+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,l.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),L(a,e,r,i),e},"drawNode"),H=(0,i.eW)(function(t,e,n){let i=t.append("g"),r=i.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(N,e.width).node().getBBox(),s=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;return i.remove(),r.height+.55*s+e.padding},"getVirtualNodeHeight"),L=(0,i.eW)(function(t,e,n){t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("d",`M0 ${e.height-5} v${-e.height+10} q0,-5 5,-5 h${e.width-10} q5,0 5,5 v${e.height-5} H0 Z`),t.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),P={initGraphics:A,drawNode:C,getVirtualNodeHeight:H},O=(0,i.eW)(function(t,e,n,s){let a;let l=(0,i.nV)(),o=l.leftMargin??50;i.cM.debug("timeline",s.db);let c=l.securityLevel;"sandbox"===c&&(a=(0,r.Ys)("#i"+e));let h=("sandbox"===c?(0,r.Ys)(a.nodes()[0].contentDocument.body):(0,r.Ys)("body")).select("#"+e);h.append("g");let d=s.db.getTasks(),u=s.db.getCommonDb().getDiagramTitle();i.cM.debug("task",d),P.initGraphics(h);let p=s.db.getSections();i.cM.debug("sections",p);let y=0,g=0,f=0,m=0,x=50+o,b=50;m=50;let _=0,k=!0;p.forEach(function(t){let e={number:_,descr:t,section:_,width:150,padding:20,maxHeight:y},n=P.getVirtualNodeHeight(h,e,l);i.cM.debug("sectionHeight before draw",n),y=Math.max(y,n+20)});let v=0,w=0;for(let[t,e]of(i.cM.debug("tasks.length",d.length),d.entries())){let n={number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:g},r=P.getVirtualNodeHeight(h,n,l);i.cM.debug("taskHeight before draw",r),g=Math.max(g,r+20),v=Math.max(v,e.events.length);let s=0;for(let t of e.events){let n={descr:t,section:e.section,number:e.section,width:150,padding:20,maxHeight:50};s+=P.getVirtualNodeHeight(h,n,l)}w=Math.max(w,s)}i.cM.debug("maxSectionHeight before draw",y),i.cM.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(t=>{let e=d.filter(e=>e.section===t),n={number:_,descr:t,section:_,width:200*Math.max(e.length,1)-50,padding:20,maxHeight:y};i.cM.debug("sectionNode",n);let r=h.append("g"),s=P.drawNode(r,n,_,l);i.cM.debug("sectionNode output",s),r.attr("transform",`translate(${x}, ${m})`),b+=y+50,e.length>0&&j(h,e,_,x,b,g,l,v,w,y,!1),x+=200*Math.max(e.length,1),b=m,_++}):(k=!1,j(h,d,_,x,b,g,l,v,w,y,!0));let W=h.node().getBBox();i.cM.debug("bounds",W),u&&h.append("text").text(u).attr("x",W.width/2-o).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),f=k?y+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",o).attr("y1",f).attr("x2",W.width+3*o).attr("y2",f).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),(0,i.j7)(void 0,h,l.timeline?.padding??50,l.timeline?.useMaxWidth??!1)},"draw"),j=(0,i.eW)(function(t,e,n,r,s,a,l,o,c,h,d){for(let o of e){let e={descr:o.task,section:n,number:n,width:150,padding:20,maxHeight:a};i.cM.debug("taskNode",e);let u=t.append("g").attr("class","taskWrapper"),p=P.drawNode(u,e,n,l).height;if(i.cM.debug("taskHeight after draw",p),u.attr("transform",`translate(${r}, ${s})`),a=Math.max(a,p),o.events){let e=t.append("g").attr("class","lineWrapper");s+=100,D(t,o.events,n,r,s,l),s-=100,e.append("line").attr("x1",r+95).attr("y1",s+a).attr("x2",r+95).attr("y2",s+a+(d?a:h)+c+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}r+=200,d&&!l.timeline?.disableMulticolor&&n++}},"drawTasks"),D=(0,i.eW)(function(t,e,n,r,s,a){let l=0,o=s;for(let o of(s+=100,e)){let e={descr:o,section:n,number:n,width:150,padding:20,maxHeight:50};i.cM.debug("eventNode",e);let c=t.append("g").attr("class","eventWrapper"),h=P.drawNode(c,e,n,a).height;l+=h,c.attr("transform",`translate(${r}, ${s})`),s=s+10+h}return s=o,l},"drawEvents"),z={setConf:(0,i.eW)(()=>{},"setConf"),draw:O},R=(0,i.eW)(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,s.Z)(t["lineColor"+e])?t["lineColor"+e]=(0,a.Z)(t["lineColor"+e],20):t["lineColor"+e]=(0,l.Z)(t["lineColor"+e],20);for(let n=0;n<t.THEME_COLOR_LIMIT;n++){let i=""+(17-3*n);e+=` + .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} path { + fill: ${t["cScale"+n]}; + } + .section-${n-1} text { + fill: ${t["cScaleLabel"+n]}; + } + .node-icon-${n-1} { + font-size: 40px; + color: ${t["cScaleLabel"+n]}; + } + .section-edge-${n-1}{ + stroke: ${t["cScale"+n]}; + } + .edge-depth-${n-1}{ + stroke-width: ${i}; + } + .section-${n-1} line { + stroke: ${t["cScaleInv"+n]} ; + stroke-width: 3; + } + + .lineWrapper line{ + stroke: ${t["cScaleLabel"+n]} ; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + `}return e},"genSections"),B={db:c,renderer:z,parser:o,styles:(0,i.eW)(t=>` + .edge { + stroke-width: 3; + } + ${R(t)} + .section-root rect, .section-root path, .section-root circle { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`,"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/23512.26bd0374.js b/assets/js/23512.26bd0374.js new file mode 100644 index 0000000000..a0fbb79b89 --- /dev/null +++ b/assets/js/23512.26bd0374.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["23512"],{81751:function(e,t,a){a.d(t,{diagram:()=>p});var r=a(96418),n=a(70466),s=a(28923),i=a(16750),d={parse:(0,s.eW)(async e=>{let t=await (0,i.Qc)("info",e);s.cM.debug(t)},"parse")},c={version:r.i},o=(0,s.eW)(()=>c.version,"getVersion"),p={parser:d,db:{getVersion:o},renderer:{draw:(0,s.eW)((e,t,a)=>{s.cM.debug("rendering info diagram\n"+e);let r=(0,n.P)(t);(0,s.v2)(r,100,400,!0),r.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${a}`)},"draw")}}}}]); \ No newline at end of file diff --git a/assets/js/23abe487.8606f368.js b/assets/js/23abe487.8606f368.js new file mode 100644 index 0000000000..42f2301312 --- /dev/null +++ b/assets/js/23abe487.8606f368.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["16580"],{30071:function(e,a,t){t.r(a),t.d(a,{default:()=>s});var n=t(85893);t(67294);var l=t(8156),r=t(93314),o=t(98619);function s(){let{siteConfig:e}=(0,l.Z)();return(0,n.jsxs)(r.Z,{children:[(0,n.jsx)("h2",{children:"Site config"}),(0,n.jsx)(o.Z,{src:e,collapseDepth:3})]})}},98619:function(e,a,t){t.d(a,{Z:()=>E});var n=t(85893),l=t(67294);let r=e=>"boolean"==typeof e||e instanceof Boolean,o=e=>"number"==typeof e||e instanceof Number,s=e=>"bigint"==typeof e||e instanceof BigInt,c=e=>!!e&&e instanceof Date,i=e=>"string"==typeof e||e instanceof String,u=e=>Array.isArray(e),d=e=>"object"==typeof e&&null!==e,m=e=>!!e&&e instanceof Object&&"function"==typeof e;function b(e,a){return void 0===a&&(a=!1),!e||a?`"${e}"`:e}function p(e){let{field:a,value:t,data:n,lastElement:r,openBracket:o,closeBracket:s,level:c,style:i,shouldExpandNode:u,clickToExpandNode:d,outerRef:m}=e,p=(0,l.useRef)(!1),[f,_,h]=function(e){let[a,t]=(0,l.useState)(e());return[a,()=>t(e=>!e),t]}(()=>u(c,t,a)),g=(0,l.useRef)(null);(0,l.useEffect)(()=>{p.current?h(u(c,t,a)):p.current=!0},[u]);let k=f?i.collapseIcon:i.expandIcon,N=f?"collapse JSON":"expand JSON",v=(0,l.useId)(),y=c+1,E=n.length-1,V=e=>{if("ArrowRight"===e.key||"ArrowLeft"===e.key)e.preventDefault(),h("ArrowRight"===e.key);else if("ArrowUp"===e.key||"ArrowDown"===e.key){e.preventDefault();let a="ArrowUp"===e.key?-1:1;if(!m.current)return;let t=m.current.querySelectorAll("[role=button]"),n=-1;for(let e=0;e<t.length;e++)if(0===t[e].tabIndex){n=e;break}if(n<0)return;let l=(n+a+t.length)%t.length;t[n].tabIndex=-1,t[l].tabIndex=0,t[l].focus()}},j=()=>{var e;_();let a=g.current;if(!a)return;let t=null===(e=m.current)||void 0===e?void 0:e.querySelector('[role=button][tabindex="0"]');t&&(t.tabIndex=-1),a.tabIndex=0,a.focus()};return(0,l.createElement)("div",{className:i.basicChildStyle,role:"treeitem","aria-expanded":f,"aria-selected":void 0},(0,l.createElement)("span",{className:k,onClick:j,onKeyDown:V,role:"button","aria-label":N,"aria-expanded":f,"aria-controls":f?v:void 0,ref:g,tabIndex:0===c?0:-1}),(a||""===a)&&(d?(0,l.createElement)("span",{className:i.clickableLabel,onClick:j,onKeyDown:V},b(a,i.quotesForFieldNames),":"):(0,l.createElement)("span",{className:i.label},b(a,i.quotesForFieldNames),":")),(0,l.createElement)("span",{className:i.punctuation},o),f?(0,l.createElement)("ul",{id:v,role:"group",className:i.childFieldsContainer},n.map((e,a)=>(0,l.createElement)(x,{key:e[0]||a,field:e[0],value:e[1],style:i,lastElement:a===E,level:y,shouldExpandNode:u,clickToExpandNode:d,outerRef:m}))):(0,l.createElement)("span",{className:i.collapsedContent,onClick:j,onKeyDown:V}),(0,l.createElement)("span",{className:i.punctuation},s),!r&&(0,l.createElement)("span",{className:i.punctuation},","))}function f(e){let{field:a,openBracket:t,closeBracket:n,lastElement:r,style:o}=e;return(0,l.createElement)("div",{className:o.basicChildStyle,role:"treeitem","aria-selected":void 0},(a||""===a)&&(0,l.createElement)("span",{className:o.label},b(a,o.quotesForFieldNames),":"),(0,l.createElement)("span",{className:o.punctuation},t),(0,l.createElement)("span",{className:o.punctuation},n),!r&&(0,l.createElement)("span",{className:o.punctuation},","))}function _(e){let{field:a,value:t,style:n,lastElement:l,shouldExpandNode:r,clickToExpandNode:o,level:s,outerRef:c}=e;return 0===Object.keys(t).length?f({field:a,openBracket:"{",closeBracket:"}",lastElement:l,style:n}):p({field:a,value:t,lastElement:l||!1,level:s,openBracket:"{",closeBracket:"}",style:n,shouldExpandNode:r,clickToExpandNode:o,data:Object.keys(t).map(e=>[e,t[e]]),outerRef:c})}function h(e){let{field:a,value:t,style:n,lastElement:l,level:r,shouldExpandNode:o,clickToExpandNode:s,outerRef:c}=e;return 0===t.length?f({field:a,openBracket:"[",closeBracket:"]",lastElement:l,style:n}):p({field:a,value:t,lastElement:l||!1,level:r,openBracket:"[",closeBracket:"]",style:n,shouldExpandNode:o,clickToExpandNode:s,data:t.map(e=>[void 0,e]),outerRef:c})}function g(e){let a,{field:t,value:n,style:u,lastElement:d}=e,p=u.otherValue;if(null===n)a="null",p=u.nullValue;else if(void 0===n)a="undefined",p=u.undefinedValue;else if(i(n))a=u.noQuotesForStringValues?n:`"${n}"`,p=u.stringValue;else r(n)?(a=n?"true":"false",p=u.booleanValue):o(n)?(a=n.toString(),p=u.numberValue):s(n)?(a=`${n.toString()}n`,p=u.numberValue):a=c(n)?n.toISOString():m(n)?"function() { }":n.toString();return(0,l.createElement)("div",{className:u.basicChildStyle,role:"treeitem","aria-selected":void 0},(t||""===t)&&(0,l.createElement)("span",{className:u.label},b(t,u.quotesForFieldNames),":"),(0,l.createElement)("span",{className:p},a),!d&&(0,l.createElement)("span",{className:u.punctuation},","))}function x(e){let a=e.value;return u(a)?(0,l.createElement)(h,Object.assign({},e)):!d(a)||c(a)||m(a)?(0,l.createElement)(g,Object.assign({},e)):(0,l.createElement)(_,Object.assign({},e))}let k={container:"_2IvMF _GzYRV",basicChildStyle:"_2bkNM",childFieldsContainer:"_1BXBN",label:"_1MGIk",clickableLabel:"_2YKJg _1MGIk _1MFti",nullValue:"_2T6PJ",undefinedValue:"_1Gho6",stringValue:"_vGjyY",booleanValue:"_3zQKs",numberValue:"_1bQdo",otherValue:"_1xvuR",punctuation:"_3uHL6 _3eOF8",collapseIcon:"_oLqym _f10Tu _1MFti _1LId0",expandIcon:"_2AXVT _f10Tu _1MFti _1UmXx",collapsedContent:"_2KJWg _1pNG9 _1MFti",noQuotesForStringValues:!1,quotesForFieldNames:!1},N=()=>!0,v=e=>{let{data:a,style:t=k,shouldExpandNode:n=N,clickToExpandNode:r=!1,...o}=e,s=(0,l.useRef)(null);return(0,l.createElement)("div",Object.assign({"aria-label":"JSON view"},o,{className:t.container,ref:s,role:"tree"}),(0,l.createElement)(x,{value:a,style:{...k,...t},lastElement:!0,level:0,shouldExpandNode:n,clickToExpandNode:r,outerRef:s}))},y={clickableLabel:k.clickableLabel,noQuotesForStringValues:!1,container:"containerParaiso_TYa3",basicChildStyle:"basicElementParaiso_DqvR",label:"labelParaiso_l3ql",nullValue:"nullValueParaiso_Ey4X",undefinedValue:"undefinedValueParaiso__T3e",stringValue:"stringValueParaiso_T6i7",booleanValue:"booleanValueParaiso__TSh",numberValue:"numberValueParaiso_JGW0",otherValue:"otherValueParaiso_nnwW",punctuation:"punctuationParaiso_knwc",collapseIcon:"collapseIconParaiso_MWEp",expandIcon:"expandIconParaiso_fAkX",collapsedContent:"collapseContentParaiso_KH36",childFieldsContainer:"childFieldsContainerParaiso_HB7R"};function E(e){let{src:a,collapseDepth:t}=e;return(0,n.jsx)(v,{data:a,shouldExpandNode:(e,a)=>Array.isArray(a)?a.length<5:void 0!==t&&e<t,style:y})}},93314:function(e,a,t){t.d(a,{Z:()=>s});var n=t(85893);t(67294);var l=t(53327),r=t(35363);function o(e){let{to:a,children:t}=e;return(0,n.jsx)(r.Z,{className:"navlink__gTJ",isNavLink:!0,to:a,exact:!0,activeStyle:{backgroundColor:"#363739"},children:t})}function s(e){let{children:a}=e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.Z,{children:[(0,n.jsx)("html",{lang:"en"}),(0,n.jsx)("title",{children:"Docusaurus debug panel"}),(0,n.jsx)("meta",{name:"robots",content:"noindex"})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("nav",{className:"nav_sWk6",children:[(0,n.jsx)(o,{to:"/__docusaurus/debug",children:"Config"}),(0,n.jsx)(o,{to:"/__docusaurus/debug/metadata",children:"Metadata"}),(0,n.jsx)(o,{to:"/__docusaurus/debug/registry",children:"Registry"}),(0,n.jsx)(o,{to:"/__docusaurus/debug/routes",children:"Routes"}),(0,n.jsx)(o,{to:"/__docusaurus/debug/content",children:"Content"}),(0,n.jsx)(o,{to:"/__docusaurus/debug/globalData",children:"Global data"})]}),(0,n.jsx)("main",{className:"container_tECh",children:a})]})]})}}}]); \ No newline at end of file diff --git a/assets/js/24303.eeffc5f1.js b/assets/js/24303.eeffc5f1.js new file mode 100644 index 0000000000..4671bc8b34 --- /dev/null +++ b/assets/js/24303.eeffc5f1.js @@ -0,0 +1,123 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["24303"],{32998:function(e,t,n){!function(e,t,n,r){"use strict";class s{constructor({file:e,sourceRoot:n}={}){this._names=new t.SetArray,this._sources=new t.SetArray,this._sourcesContent=[],this._mappings=[],this.file=e,this.sourceRoot=n,this._ignoreList=new t.SetArray}}function o(e){let{_mappings:t,_sources:n,_sourcesContent:r,_names:s,_ignoreList:o}=e;return function(e){let{length:t}=e,n=t;for(let t=n-1;t>=0&&!(e[t].length>0);n=t,t--);n<t&&(e.length=n)}(t),{version:3,file:e.file||void 0,names:s.array,sourceRoot:e.sourceRoot||void 0,sources:n.array,sourcesContent:r,mappings:t,ignoreList:o.array}}function i(e,n,r,s,o,i,c,l,h){let{_mappings:u,_sources:p,_sourcesContent:f,_names:d}=n,m=function(e,t){for(let n=e.length;n<=t;n++)e[n]=[];return e[t]}(u,r),k=function(e,t){let n=e.length;for(let r=n-1;r>=0&&!(t>=e[r][0]);n=r--);return n}(m,s);if(!o){var g,_;if(e&&(g=m,0===(_=k)||1===g[_-1].length))return;return a(m,k,[s])}let y=t.put(p,o),x=l?t.put(d,l):-1;if(y===f.length&&(f[y]=null!=h?h:null),!(e&&function(e,t,n,r,s,o){if(0===t)return!1;let i=e[t-1];return 1!==i.length&&n===i[1]&&r===i[2]&&s===i[3]&&o===(5===i.length?i[4]:-1)}(m,k,y,i,c,x)))return a(m,k,l?[s,y,i,c,x]:[s,y,i,c])}function a(e,t,n){for(let n=e.length;n>t;n--)e[n]=e[n-1];e[t]=n}function c(e,n){for(let r=0;r<n.length;r++)t.put(e,n[r])}function l(e,t,n){let{generated:r,source:s,original:o,name:a,content:c}=n;return s?i(e,t,r.line-1,r.column,s,o.line-1,o.column,a,c):i(e,t,r.line-1,r.column,null,null,null,null,null)}e.GenMapping=s,e.addMapping=function(e,t){return l(!1,e,t)},e.addSegment=function(e,t,n,r,s,o,a,c){return i(!1,e,t,n,r,s,o,a,c)},e.allMappings=function(e){let t=[],{_mappings:n,_sources:r,_names:s}=e;for(let e=0;e<n.length;e++){let o=n[e];for(let n=0;n<o.length;n++){let i,a,c;let l=o[n],h={line:e+1,column:l[0]};1!==l.length&&(i=r.array[l[1]],a={line:l[2]+1,column:l[3]},5===l.length&&(c=s.array[l[4]])),t.push({generated:h,source:i,original:a,name:c})}}return t},e.fromMap=function(e){let t=new r.TraceMap(e),n=new s({file:t.file,sourceRoot:t.sourceRoot});return c(n._names,t.names),c(n._sources,t.sources),n._sourcesContent=t.sourcesContent||t.sources.map(()=>null),n._mappings=r.decodedMappings(t),t.ignoreList&&c(n._ignoreList,t.ignoreList),n},e.maybeAddMapping=(e,t)=>l(!0,e,t),e.maybeAddSegment=(e,t,n,r,s,o,a,c)=>i(!0,e,t,n,r,s,o,a,c),e.setIgnore=function(e,n,r=!0){let{_sources:s,_sourcesContent:o,_ignoreList:i}=e,a=t.put(s,n);a===o.length&&(o[a]=null),r?t.put(i,a):t.remove(i,a)},e.setSourceContent=function(e,n,r){let{_sources:s,_sourcesContent:o}=e;o[t.put(s,n)]=r},e.toDecodedMap=o,e.toEncodedMap=function(e){let t=o(e);return Object.assign(Object.assign({},t),{mappings:n.encode(t.mappings)})},Object.defineProperty(e,"__esModule",{value:!0})}(t,n(72412),n(62538),n(43725))},51138:function(e){var t;t=function(){"use strict";let e=/^[\w+.-]+:\/\//,t=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,n=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function r(e){return e.startsWith("/")}function s(e){return/^[.?#]/.test(e)}function o(e){let n=t.exec(e);return i(n[1],n[2]||"",n[3],n[4]||"",n[5]||"/",n[6]||"",n[7]||"")}function i(e,t,n,r,s,o,i){return{scheme:e,user:t,host:n,port:r,path:s,query:o,hash:i,type:7}}function a(t){if(t.startsWith("//")){let e=o("http:"+t);return e.scheme="",e.type=6,e}if(r(t)){let e=o("http://foo.com"+t);return e.scheme="",e.host="",e.type=5,e}if(t.startsWith("file:"))return function(e){let t=n.exec(e),s=t[2];return i("file:","",t[1]||"","",r(s)?s:"/"+s,t[3]||"",t[4]||"")}(t);if(e.test(t))return o(t);let s=o("http://foo.com/"+t);return s.scheme="",s.host="",s.type=t?t.startsWith("?")?3:t.startsWith("#")?2:4:1,s}function c(e,t){let n=t<=4,r=e.path.split("/"),s=1,o=0,i=!1;for(let e=1;e<r.length;e++){let t=r[e];if(!t){i=!0;continue}if(i=!1,"."!==t){if(".."===t){o?(i=!0,o--,s--):n&&(r[s++]=t);continue}r[s++]=t,o++}}let a="";for(let e=1;e<s;e++)a+="/"+r[e];a&&(!i||a.endsWith("/.."))||(a+="/"),e.path=a}return function(e,t){if(!e&&!t)return"";let n=a(e),r=n.type;if(t&&7!==r){let e=a(t),s=e.type;switch(r){case 1:n.hash=e.hash;case 2:n.query=e.query;case 3:case 4:c(e,e.type),"/"===n.path?n.path=e.path:n.path=function(e){if(e.endsWith("/.."))return e;let t=e.lastIndexOf("/");return e.slice(0,t+1)}(e.path)+n.path;case 5:n.user=e.user,n.host=e.host,n.port=e.port;case 6:n.scheme=e.scheme}s>r&&(r=s)}c(n,r);let o=n.query+n.hash;switch(r){case 2:case 3:return o;case 4:{let r=n.path.slice(1);if(!r)return o||".";if(s(t||e)&&!s(r))return"./"+r+o;return r+o}case 5:return n.path+o;default:return n.scheme+"//"+n.user+n.host+n.port+n.path+o}}},e.exports=t()},72412:function(e,t){!function(e){"use strict";function t(e,t){return e._indexes[t]}e.SetArray=class{constructor(){this._indexes={__proto__:null},this.array=[]}},e.get=t,e.pop=function(e){let{array:t,_indexes:n}=e;0!==t.length&&(n[t.pop()]=void 0)},e.put=function(e,n){let r=t(e,n);if(void 0!==r)return r;let{array:s,_indexes:o}=e,i=s.push(n);return o[n]=i-1},e.remove=function(e,n){let r=t(e,n);if(void 0===r)return;let{array:s,_indexes:o}=e;for(let e=r+1;e<s.length;e++){let t=s[e];s[e-1]=t,o[t]--}o[n]=void 0,s.pop()},Object.defineProperty(e,"__esModule",{value:!0})}(t)},62538:function(e,t){!function(e){"use strict";let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=new Uint8Array(64),r=new Uint8Array(128);for(let e=0;e<t.length;e++){let s=t.charCodeAt(e);n[e]=s,r[s]=e}function s(e,t){let n=0,s=0,o=0;do n|=(31&(o=r[e.next()]))<<s,s+=5;while(32&o);let i=1&n;return n>>>=1,i&&(n=-0x80000000|-n),t+n}function o(e,t,r){let s=t-r;s=s<0?-s<<1|1:s<<1;do{let t=31&s;(s>>>=5)>0&&(t|=32),e.write(n[t])}while(s>0);return t}function i(e,t){return!(e.pos>=t)&&44!==e.peek()}let a="undefined"!=typeof TextDecoder?new TextDecoder:"undefined"!=typeof Buffer?{decode:e=>Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString()}:{decode(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}};class c{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(16384)}write(e){let{buffer:t}=this;t[this.pos++]=e,16384===this.pos&&(this.out+=a.decode(t),this.pos=0)}flush(){let{buffer:e,out:t,pos:n}=this;return n>0?t+a.decode(e.subarray(0,n)):t}}class l{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return -1===r?t.length:r}}let h=[];function u(e,t,n){do e.write(59);while(++t<n)}function p(e,t){return e[0]-t[0]}e.decode=function(e){let{length:t}=e,n=new l(e),r=[],o=0,a=0,c=0,h=0,u=0;do{let e=n.indexOf(";"),t=[],l=!0,f=0;for(o=0;n.pos<e;){let r;(o=s(n,o))<f&&(l=!1),f=o,i(n,e)?(a=s(n,a),c=s(n,c),h=s(n,h),r=i(n,e)?[o,a,c,h,u=s(n,u)]:[o,a,c,h]):r=[o],t.push(r),n.pos++}l||function(e){e.sort(p)}(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r},e.decodeGeneratedRanges=function(e){let{length:t}=e,n=new l(e),r=[],o=[],a=0,c=0,u=0,p=0,f=0,d=0,m=0,k=0;do{let e=n.indexOf(";"),t=0;for(;n.pos<e;n.pos++){let l;if(t=s(n,t),!i(n,e)){let e=o.pop();e[2]=a,e[3]=t;continue}let g=s(n,0),_=1&g,y=2&g,x=4&g,T=null,b=h;if(_){let e=s(n,c);u=s(n,c===e?u:0),c=e,l=[a,t,0,0,e,u]}else l=[a,t,0,0];if(l.isScope=!!x,y){let e=f,t=p===(p=s(n,p));f=s(n,t?f:0),d=s(n,t&&e===f?d:0),T=[p,f,d]}if(l.callsite=T,i(n,e)){b=[];do{let e;m=a,k=t;let r=s(n,0);if(r<-1){e=[[s(n,0)]];for(let t=-1;t>r;t--){let t=m;m=s(n,m),k=s(n,m===t?k:0);let r=s(n,0);e.push([r,m,k])}}else e=[[r]];b.push(e)}while(i(n,e))}l.bindings=b,r.push(l),o.push(l)}a++,n.pos=e+1}while(n.pos<t);return r},e.decodeOriginalScopes=function(e){let{length:t}=e,n=new l(e),r=[],o=[],a=0;for(;n.pos<t;n.pos++){a=s(n,a);let e=s(n,0);if(!i(n,t)){let t=o.pop();t[2]=a,t[3]=e;continue}let c=s(n,0),l=1&s(n,0)?[a,e,0,0,c,s(n,0)]:[a,e,0,0,c],u=h;if(i(n,t)){u=[];do{let e=s(n,0);u.push(e)}while(i(n,t))}l.vars=u,r.push(l),o.push(l)}return r},e.encode=function(e){let t=new c,n=0,r=0,s=0,i=0;for(let a=0;a<e.length;a++){let c=e[a];if(a>0&&t.write(59),0===c.length)continue;let l=0;for(let e=0;e<c.length;e++){let a=c[e];e>0&&t.write(44),l=o(t,a[0],l),1!==a.length&&(n=o(t,a[1],n),r=o(t,a[2],r),s=o(t,a[3],s),4!==a.length&&(i=o(t,a[4],i)))}}return t.flush()},e.encodeGeneratedRanges=function(e){if(0===e.length)return"";let t=new c;for(let n=0;n<e.length;)n=function e(t,n,r,s){let i=t[n],{0:a,1:c,2:l,3:h,isScope:p,callsite:f,bindings:d}=i;if(s[0]<a?(u(r,s[0],a),s[0]=a,s[1]=0):n>0&&r.write(44),s[1]=o(r,i[1],s[1]),o(r,+(6===i.length)|2*!!f|4*!!p,0),6===i.length){let{4:e,5:t}=i;e!==s[2]&&(s[3]=0),s[2]=o(r,e,s[2]),s[3]=o(r,t,s[3])}if(f){let{0:e,1:t,2:n}=i.callsite;e!==s[4]?(s[5]=0,s[6]=0):t!==s[5]&&(s[6]=0),s[4]=o(r,e,s[4]),s[5]=o(r,t,s[5]),s[6]=o(r,n,s[6])}if(d)for(let e of d){e.length>1&&o(r,-e.length,0),o(r,e[0][0],0);let t=a,n=c;for(let s=1;s<e.length;s++){let i=e[s];t=o(r,i[1],t),n=o(r,i[2],n),o(r,i[0],0)}}for(n++;n<t.length;){let{0:o,1:i}=t[n];if(o>l||o===l&&i>=h)break;n=e(t,n,r,s)}return s[0]<l?(u(r,s[0],l),s[0]=l,s[1]=0):r.write(44),s[1]=o(r,h,s[1]),n}(e,n,t,[0,0,0,0,0,0,0]);return t.flush()},e.encodeOriginalScopes=function(e){let t=new c;for(let n=0;n<e.length;)n=function e(t,n,r,s){let i=t[n],{0:a,1:c,2:l,3:h,4:u,vars:p}=i;for(let e of(n>0&&r.write(44),s[0]=o(r,a,s[0]),o(r,c,0),o(r,u,0),o(r,+(6===i.length),0),6===i.length&&o(r,i[5],0),p))o(r,e,0);for(n++;n<t.length;){let{0:o,1:i}=t[n];if(o>l||o===l&&i>=h)break;n=e(t,n,r,s)}return r.write(44),s[0]=o(r,l,s[0]),o(r,h,0),n}(e,n,t,[0]);return t.flush()},Object.defineProperty(e,"__esModule",{value:!0})}(t)},43725:function(e,t,n){!function(e,t,n){"use strict";function r(e,t){return t&&!t.endsWith("/")&&(t+="/"),n(e,t)}function s(e,t){for(let n=t;n<e.length;n++)if(!function(e){for(let t=1;t<e.length;t++)if(e[t][0]<e[t-1][0])return!1;return!0}(e[n]))return n;return e.length}function o(e,t){return e[0]-t[0]}let i=!1;function a(e,t,n){for(let r=n+1;r<e.length&&e[r][0]===t;n=r++);return n}function c(e,t,n){for(let r=n-1;r>=0&&e[r][0]===t;n=r--);return n}function l(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function h(e,t,n,r){let{lastKey:s,lastNeedle:o,lastIndex:a}=n,c=0,l=e.length-1;if(r===s){if(t===o)return i=-1!==a&&e[a][0]===t,a;t>=o?c=-1===a?0:a:l=a}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=function(e,t,n,r){for(;n<=r;){let s=n+(r-n>>1),o=e[s][0]-t;if(0===o)return i=!0,s;o<0?n=s+1:r=s-1}return i=!1,n-1}(e,t,c,l)}function u(){return{__proto__:null}}function p(e){return"string"==typeof e?JSON.parse(e):e}function f(e,t){for(let n=0;n<t.length;n++)e.push(t[n])}let d="`line` must be greater than 0 (lines start at line 1)",m="`column` must be greater than or equal to 0 (columns start at column 0)";class k{constructor(e,t){let n="string"==typeof e;if(!n&&e._decodedMemo)return e;let i=n?JSON.parse(e):e,{version:a,file:c,names:h,sourceRoot:u,sources:p,sourcesContent:f}=i;this.version=a,this.file=c,this.names=h||[],this.sourceRoot=u,this.sources=p,this.sourcesContent=f,this.ignoreList=i.ignoreList||i.x_google_ignoreList||void 0;let d=r(u||"",function(e){if(!e)return"";let t=e.lastIndexOf("/");return e.slice(0,t+1)}(t));this.resolvedSources=p.map(e=>r(e||"",d));let{mappings:m}=i;"string"==typeof m?(this._encoded=m,this._decoded=void 0):(this._encoded=void 0,this._decoded=function(e,t){let n=s(e,0);if(n===e.length)return e;t||(e=e.slice());for(let i=n;i<e.length;i=s(e,i+1)){var r;e[i]=(r=e[i],t||(r=r.slice()),r.sort(o))}return e}(m,n)),this._decodedMemo=l(),this._bySources=void 0,this._bySourceMemos=void 0}}function g(e){var n;return null!==(n=e._encoded)&&void 0!==n?n:e._encoded=t.encode(e._decoded)}function _(e){return e._decoded||(e._decoded=t.decode(e._encoded))}function y(e,t){let{sources:n,resolvedSources:r}=e,s=n.indexOf(t);return -1===s&&(s=r.indexOf(t)),s}function x(e,t){let n=new k(T(e,[]),t);return n._decoded=e.mappings,n}function T(e,t){return{version:e.version,file:e.file,names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,mappings:t,ignoreList:e.ignoreList||e.x_google_ignoreList}}function b(e,t,n,r){return{source:e,line:t,column:n,name:r}}function I(e,t){return{line:e,column:t}}function C(e,t,n,r,s){let o=h(e,r,t,n);return(i?o=(-1===s?a:c)(e,r,o):-1===s&&o++,-1===o||o===e.length)?-1:o}function v(e,t,n,r,s,o){if(--n<0)throw Error(d);if(r<0)throw Error(m);let{sources:p,resolvedSources:f}=e,k=p.indexOf(t);if(-1===k&&(k=f.indexOf(t)),-1===k)return o?[]:I(null,null);let g=(e._bySources||(e._bySources=function(e,t){let n=t.map(u);for(let r=0;r<e.length;r++){let s=e[r];for(let e=0;e<s.length;e++){let o=s[e];if(1===o.length)continue;let i=o[1],c=o[2],l=o[3],u=n[i],p=u[c]||(u[c]=[]),f=t[i],d=a(p,l,h(p,l,f,c));f.lastIndex=++d,function(e,t,n){for(let n=e.length;n>t;n--)e[n]=e[n-1];e[t]=n}(p,d,[l,r,o[0]])}}return n}(_(e),e._bySourceMemos=p.map(l))))[k][n];if(null==g)return o?[]:I(null,null);let y=e._bySourceMemos[k];if(o)return function(e,t,n,r,s){let o=C(e,t,n,r,1);if(!i&&-1===s&&o++,-1===o||o===e.length)return[];let l=i?r:e[o][0];i||(o=c(e,l,o));let h=a(e,l,o),u=[];for(;o<=h;o++){let t=e[o];u.push(I(t[1]+1,t[2]))}return u}(g,y,n,r,s);let x=C(g,y,n,r,s);if(-1===x)return I(null,null);let T=g[x];return I(T[1]+1,T[2])}e.AnyMap=function(e,t){let n=p(e);if(!("sections"in n))return new k(n,t);let r=[],s=[],o=[],i=[],a=[];return function e(t,n,r,s,o,i,a,c,l,h,u){let{sections:d}=t;for(let t=0;t<d.length;t++){let{map:m,offset:g}=d[t],y=h,x=u;if(t+1<d.length){let e=d[t+1].offset;(y=Math.min(h,c+e.line))===h?x=Math.min(u,l+e.column):y<h&&(x=l+e.column)}(function(t,n,r,s,o,i,a,c,l,h,u){let d=p(t);if("sections"in d)return e(...arguments);let m=new k(d,n),g=s.length,y=i.length,x=_(m),{resolvedSources:T,sourcesContent:b,ignoreList:I}=m;if(f(s,T),f(i,m.names),b)f(o,b);else for(let e=0;e<T.length;e++)o.push(null);if(I)for(let e=0;e<I.length;e++)a.push(I[e]+g);for(let e=0;e<x.length;e++){let t=c+e;if(t>h)return;let n=function(e,t){for(let n=e.length;n<=t;n++)e[n]=[];return e[t]}(r,t),s=0===e?l:0,o=x[e];for(let e=0;e<o.length;e++){let r=o[e],i=s+r[0];if(t===h&&i>=u)return;if(1===r.length){n.push([i]);continue}let a=g+r[1],c=r[2],l=r[3];n.push(4===r.length?[i,a,c,l]:[i,a,c,l,y+r[4]])}}})(m,n,r,s,o,i,a,c+g.line,l+g.column,y,x)}}(n,t,r,s,o,i,a,0,0,1/0,1/0),x({version:3,file:n.file,names:i,sources:s,sourcesContent:o,mappings:r,ignoreList:a})},e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=-1,e.TraceMap=k,e.allGeneratedPositionsFor=function(e,t){let{source:n,line:r,column:s,bias:o}=t;return v(e,n,r,s,o||-1,!0)},e.decodedMap=function(e){return T(e,_(e))},e.decodedMappings=_,e.eachMapping=function(e,t){let n=_(e),{names:r,resolvedSources:s}=e;for(let e=0;e<n.length;e++){let o=n[e];for(let n=0;n<o.length;n++){let i=o[n],a=e+1,c=i[0],l=null,h=null,u=null,p=null;1!==i.length&&(l=s[i[1]],h=i[2]+1,u=i[3]),5===i.length&&(p=r[i[4]]),t({generatedLine:a,generatedColumn:c,source:l,originalLine:h,originalColumn:u,name:p})}}},e.encodedMap=function(e){return T(e,g(e))},e.encodedMappings=g,e.generatedPositionFor=function(e,t){let{source:n,line:r,column:s,bias:o}=t;return v(e,n,r,s,o||1,!1)},e.isIgnored=function(e,t){let{ignoreList:n}=e;if(null==n)return!1;let r=y(e,t);return -1!==r&&n.includes(r)},e.originalPositionFor=function(e,t){let{line:n,column:r,bias:s}=t;if(--n<0)throw Error(d);if(r<0)throw Error(m);let o=_(e);if(n>=o.length)return b(null,null,null,null);let i=o[n],a=C(i,e._decodedMemo,n,r,s||1);if(-1===a)return b(null,null,null,null);let c=i[a];if(1===c.length)return b(null,null,null,null);let{names:l,resolvedSources:h}=e;return b(h[c[1]],c[2]+1,c[3],5===c.length?l[c[4]]:null)},e.presortedDecodedMap=x,e.sourceContentFor=function(e,t){let{sourcesContent:n}=e;if(null==n)return null;let r=y(e,t);return -1===r?null:n[r]},e.traceSegment=function(e,t,n){let r=_(e);if(t>=r.length)return null;let s=r[t],o=C(s,e._decodedMemo,t,n,1);return -1===o?null:s[o]}}(t,n(62538),n(51138))},30577:function(e,t){"use strict";!function(){function e(e){this.string=e;for(var t=[0],n=0;n<e.length;)switch(e[n]){case"\n":t.push(n+=1);break;case"\r":"\n"===e[n+=1]&&(n+=1),t.push(n);break;default:n++}this.offsets=t}e.prototype.locationForIndex=function(e){if(e<0||e>this.string.length)return null;for(var t=0,n=this.offsets;n[t+1]<=e;)t++;var r=e-n[t];return{line:t,column:r}},e.prototype.indexForLocation=function(e){var t=e.line,n=e.column;return t<0||t>=this.offsets.length||n<0||n>this.lengthOfLine(t)?null:this.offsets[t]+n},e.prototype.lengthOfLine=function(e){var t=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t}}()},6324:function(e,t){function n(e){let t,n=[];for(let r of e.split(",").map(e=>e.trim()))if(/^-?\d+$/.test(r))n.push(parseInt(r,10));else if(t=r.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,r,s,o]=t;if(r&&o){let e=(r=parseInt(r))<(o=parseInt(o))?1:-1;("-"===s||".."===s||"\u2025"===s)&&(o+=e);for(let t=r;t!==o;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},89043:function(e,t,n){"use strict";var r=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),s=0,t=0;t<n;t++)for(var o=arguments[t],i=0,a=o.length;i<a;i++,s++)r[s]=o[i];return r};Object.defineProperty(t,"__esModule",{value:!0}),t.Checker=t.createCheckers=void 0;var s=n(43198),o=n(95096),i=n(43198);Object.defineProperty(t,"TArray",{enumerable:!0,get:function(){return i.TArray}}),Object.defineProperty(t,"TEnumType",{enumerable:!0,get:function(){return i.TEnumType}}),Object.defineProperty(t,"TEnumLiteral",{enumerable:!0,get:function(){return i.TEnumLiteral}}),Object.defineProperty(t,"TFunc",{enumerable:!0,get:function(){return i.TFunc}}),Object.defineProperty(t,"TIface",{enumerable:!0,get:function(){return i.TIface}}),Object.defineProperty(t,"TLiteral",{enumerable:!0,get:function(){return i.TLiteral}}),Object.defineProperty(t,"TName",{enumerable:!0,get:function(){return i.TName}}),Object.defineProperty(t,"TOptional",{enumerable:!0,get:function(){return i.TOptional}}),Object.defineProperty(t,"TParam",{enumerable:!0,get:function(){return i.TParam}}),Object.defineProperty(t,"TParamList",{enumerable:!0,get:function(){return i.TParamList}}),Object.defineProperty(t,"TProp",{enumerable:!0,get:function(){return i.TProp}}),Object.defineProperty(t,"TTuple",{enumerable:!0,get:function(){return i.TTuple}}),Object.defineProperty(t,"TType",{enumerable:!0,get:function(){return i.TType}}),Object.defineProperty(t,"TUnion",{enumerable:!0,get:function(){return i.TUnion}}),Object.defineProperty(t,"TIntersection",{enumerable:!0,get:function(){return i.TIntersection}}),Object.defineProperty(t,"array",{enumerable:!0,get:function(){return i.array}}),Object.defineProperty(t,"enumlit",{enumerable:!0,get:function(){return i.enumlit}}),Object.defineProperty(t,"enumtype",{enumerable:!0,get:function(){return i.enumtype}}),Object.defineProperty(t,"func",{enumerable:!0,get:function(){return i.func}}),Object.defineProperty(t,"iface",{enumerable:!0,get:function(){return i.iface}}),Object.defineProperty(t,"lit",{enumerable:!0,get:function(){return i.lit}}),Object.defineProperty(t,"name",{enumerable:!0,get:function(){return i.name}}),Object.defineProperty(t,"opt",{enumerable:!0,get:function(){return i.opt}}),Object.defineProperty(t,"param",{enumerable:!0,get:function(){return i.param}}),Object.defineProperty(t,"tuple",{enumerable:!0,get:function(){return i.tuple}}),Object.defineProperty(t,"union",{enumerable:!0,get:function(){return i.union}}),Object.defineProperty(t,"intersection",{enumerable:!0,get:function(){return i.intersection}}),Object.defineProperty(t,"BasicType",{enumerable:!0,get:function(){return i.BasicType}});var a=n(95096);Object.defineProperty(t,"VError",{enumerable:!0,get:function(){return a.VError}}),t.createCheckers=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=Object.assign.apply(Object,r([{},s.basicTypes],e)),o={},i=0;i<e.length;i++)for(var a=e[i],l=0,h=Object.keys(a);l<h.length;l++){var u=h[l];o[u]=new c(n,a[u])}return o};var c=function(){function e(e,t,n){if(void 0===n&&(n="value"),this.suite=e,this.ttype=t,this._path=n,this.props=new Map,t instanceof s.TIface)for(var r=0,o=t.props;r<o.length;r++){var i=o[r];this.props.set(i.name,i.ttype)}this.checkerPlain=this.ttype.getChecker(e,!1),this.checkerStrict=this.ttype.getChecker(e,!0)}return e.prototype.setReportedPath=function(e){this._path=e},e.prototype.check=function(e){return this._doCheck(this.checkerPlain,e)},e.prototype.test=function(e){return this.checkerPlain(e,new o.NoopContext)},e.prototype.validate=function(e){return this._doValidate(this.checkerPlain,e)},e.prototype.strictCheck=function(e){return this._doCheck(this.checkerStrict,e)},e.prototype.strictTest=function(e){return this.checkerStrict(e,new o.NoopContext)},e.prototype.strictValidate=function(e){return this._doValidate(this.checkerStrict,e)},e.prototype.getProp=function(t){var n=this.props.get(t);if(!n)throw Error("Type has no property "+t);return new e(this.suite,n,this._path+"."+t)},e.prototype.methodArgs=function(t){var n=this._getMethod(t);return new e(this.suite,n.paramList)},e.prototype.methodResult=function(t){var n=this._getMethod(t);return new e(this.suite,n.result)},e.prototype.getArgs=function(){if(!(this.ttype instanceof s.TFunc))throw Error("getArgs() applied to non-function");return new e(this.suite,this.ttype.paramList)},e.prototype.getResult=function(){if(!(this.ttype instanceof s.TFunc))throw Error("getResult() applied to non-function");return new e(this.suite,this.ttype.result)},e.prototype.getType=function(){return this.ttype},e.prototype._doCheck=function(e,t){if(!e(t,new o.NoopContext)){var n=new o.DetailContext;throw e(t,n),n.getError(this._path)}},e.prototype._doValidate=function(e,t){if(e(t,new o.NoopContext))return null;var n=new o.DetailContext;return e(t,n),n.getErrorDetail(this._path)},e.prototype._getMethod=function(e){var t=this.props.get(e);if(!t)throw Error("Type has no property "+e);if(!(t instanceof s.TFunc))throw Error("Property "+e+" is not a method");return t},e}();t.Checker=c},43198:function(e,t,n){"use strict";var r,s=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0}),t.basicTypes=t.BasicType=t.TParamList=t.TParam=t.param=t.TFunc=t.func=t.TProp=t.TOptional=t.opt=t.TIface=t.iface=t.TEnumLiteral=t.enumlit=t.TEnumType=t.enumtype=t.TIntersection=t.intersection=t.TUnion=t.union=t.TTuple=t.tuple=t.TArray=t.array=t.TLiteral=t.lit=t.TName=t.name=t.TType=void 0;var o=n(95096),i=function(){};function a(e){return"string"==typeof e?l(e):e}function c(e,t){var n=e[t];if(!n)throw Error("Unknown type "+t);return n}function l(e){return new h(e)}t.TType=i,t.name=l;var h=function(e){function t(t){var n=e.call(this)||this;return n.name=t,n._failMsg="is not a "+t,n}return s(t,e),t.prototype.getChecker=function(e,n,r){var s=this,o=c(e,this.name),i=o.getChecker(e,n,r);return o instanceof C||o instanceof t?i:function(e,t){return!!i(e,t)||t.fail(null,s._failMsg,0)}},t}(i);t.TName=h,t.lit=function(e){return new u(e)};var u=function(e){function t(t){var n=e.call(this)||this;return n.value=t,n.name=JSON.stringify(t),n._failMsg="is not "+n.name,n}return s(t,e),t.prototype.getChecker=function(e,t){var n=this;return function(e,t){return e===n.value||t.fail(null,n._failMsg,-1)}},t}(i);t.TLiteral=u,t.array=function(e){return new p(a(e))};var p=function(e){function t(t){var n=e.call(this)||this;return n.ttype=t,n}return s(t,e),t.prototype.getChecker=function(e,t){var n=this.ttype.getChecker(e,t);return function(e,t){if(!Array.isArray(e))return t.fail(null,"is not an array",0);for(var r=0;r<e.length;r++)if(!n(e[r],t))return t.fail(r,null,1);return!0}},t}(i);t.TArray=p,t.tuple=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new f(e.map(function(e){return a(e)}))};var f=function(e){function t(t){var n=e.call(this)||this;return n.ttypes=t,n}return s(t,e),t.prototype.getChecker=function(e,t){var n=this.ttypes.map(function(n){return n.getChecker(e,t)}),r=function(e,t){if(!Array.isArray(e))return t.fail(null,"is not an array",0);for(var r=0;r<n.length;r++)if(!n[r](e[r],t))return t.fail(r,null,1);return!0};return t?function(e,t){return!!r(e,t)&&(e.length<=n.length||t.fail(n.length,"is extraneous",2))}:r},t}(i);t.TTuple=f,t.union=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new d(e.map(function(e){return a(e)}))};var d=function(e){function t(t){var n=e.call(this)||this;n.ttypes=t;var r=t.map(function(e){return e instanceof h||e instanceof u?e.name:null}).filter(function(e){return e}),s=t.length-r.length;return r.length?(s>0&&r.push(s+" more"),n._failMsg="is none of "+r.join(", ")):n._failMsg="is none of "+s+" types",n}return s(t,e),t.prototype.getChecker=function(e,t){var n=this,r=this.ttypes.map(function(n){return n.getChecker(e,t)});return function(e,t){for(var s=t.unionResolver(),o=0;o<r.length;o++)if(r[o](e,s.createContext()))return!0;return t.resolveUnion(s),t.fail(null,n._failMsg,0)}},t}(i);t.TUnion=d,t.intersection=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new m(e.map(function(e){return a(e)}))};var m=function(e){function t(t){var n=e.call(this)||this;return n.ttypes=t,n}return s(t,e),t.prototype.getChecker=function(e,t){var n=new Set,r=this.ttypes.map(function(r){return r.getChecker(e,t,n)});return function(e,t){return!!r.every(function(n){return n(e,t)})||t.fail(null,null,0)}},t}(i);t.TIntersection=m,t.enumtype=function(e){return new k(e)};var k=function(e){function t(t){var n=e.call(this)||this;return n.members=t,n.validValues=new Set,n._failMsg="is not a valid enum value",n.validValues=new Set(Object.keys(t).map(function(e){return t[e]})),n}return s(t,e),t.prototype.getChecker=function(e,t){var n=this;return function(e,t){return!!n.validValues.has(e)||t.fail(null,n._failMsg,0)}},t}(i);t.TEnumType=k,t.enumlit=function(e,t){return new g(e,t)};var g=function(e){function t(t,n){var r=e.call(this)||this;return r.enumName=t,r.prop=n,r._failMsg="is not "+t+"."+n,r}return s(t,e),t.prototype.getChecker=function(e,t){var n=this,r=c(e,this.enumName);if(!(r instanceof k))throw Error("Type "+this.enumName+" used in enumlit is not an enum type");var s=r.members[this.prop];if(!r.members.hasOwnProperty(this.prop))throw Error("Unknown value "+this.enumName+"."+this.prop+" used in enumlit");return function(e,t){return e===s||t.fail(null,n._failMsg,-1)}},t}(i);t.TEnumLiteral=g,t.iface=function(e,t){return new _(e,Object.keys(t).map(function(e){var n,r;return n=e,(r=t[e])instanceof y?new x(n,r.ttype,!0):new x(n,a(r),!1)}))};var _=function(e){function t(t,n){var r=e.call(this)||this;return r.bases=t,r.props=n,r.propSet=new Set(n.map(function(e){return e.name})),r}return s(t,e),t.prototype.getChecker=function(e,t,n){var r=this,s=this.bases.map(function(n){return c(e,n).getChecker(e,t)}),i=this.props.map(function(n){return n.ttype.getChecker(e,t)}),a=new o.NoopContext,l=this.props.map(function(e,t){return!e.isOpt&&!i[t](void 0,a)}),h=function(e,t){if("object"!=typeof e||null===e)return t.fail(null,"is not an object",0);for(var n=0;n<s.length;n++)if(!s[n](e,t))return!1;for(var n=0;n<i.length;n++){var o=r.props[n].name,a=e[o];if(void 0===a){if(l[n])return t.fail(o,"is missing",1)}else if(!i[n](a,t))return t.fail(o,null,1)}return!0};if(!t)return h;var u=this.propSet;return n&&(this.propSet.forEach(function(e){return n.add(e)}),u=n),function(e,t){if(!h(e,t))return!1;for(var n in e)if(!u.has(n))return t.fail(n,"is extraneous",2);return!0}},t}(i);t.TIface=_,t.opt=function(e){return new y(a(e))};var y=function(e){function t(t){var n=e.call(this)||this;return n.ttype=t,n}return s(t,e),t.prototype.getChecker=function(e,t){var n=this.ttype.getChecker(e,t);return function(e,t){return void 0===e||n(e,t)}},t}(i);t.TOptional=y;var x=function(e,t,n){this.name=e,this.ttype=t,this.isOpt=n};t.TProp=x,t.func=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return new T(new I(t),a(e))};var T=function(e){function t(t,n){var r=e.call(this)||this;return r.paramList=t,r.result=n,r}return s(t,e),t.prototype.getChecker=function(e,t){return function(e,t){return"function"==typeof e||t.fail(null,"is not a function",0)}},t}(i);t.TFunc=T,t.param=function(e,t,n){return new b(e,a(t),!!n)};var b=function(e,t,n){this.name=e,this.ttype=t,this.isOpt=n};t.TParam=b;var I=function(e){function t(t){var n=e.call(this)||this;return n.params=t,n}return s(t,e),t.prototype.getChecker=function(e,t){var n=this,r=this.params.map(function(n){return n.ttype.getChecker(e,t)}),s=new o.NoopContext,i=this.params.map(function(e,t){return!e.isOpt&&!r[t](void 0,s)}),a=function(e,t){if(!Array.isArray(e))return t.fail(null,"is not an array",0);for(var s=0;s<r.length;s++){var o=n.params[s];if(void 0===e[s]){if(i[s])return t.fail(o.name,"is missing",1)}else if(!r[s](e[s],t))return t.fail(o.name,null,1)}return!0};return t?function(e,t){return!!a(e,t)&&(e.length<=r.length||t.fail(r.length,"is extraneous",2))}:a},t}(i);t.TParamList=I;var C=function(e){function t(t,n){var r=e.call(this)||this;return r.validator=t,r.message=n,r}return s(t,e),t.prototype.getChecker=function(e,t){var n=this;return function(e,t){return!!n.validator(e)||t.fail(null,n.message,0)}},t}(i);t.BasicType=C,t.basicTypes={any:new C(function(e){return!0},"is invalid"),number:new C(function(e){return"number"==typeof e},"is not a number"),object:new C(function(e){return"object"==typeof e&&e},"is not an object"),boolean:new C(function(e){return"boolean"==typeof e},"is not a boolean"),string:new C(function(e){return"string"==typeof e},"is not a string"),symbol:new C(function(e){return"symbol"==typeof e},"is not a symbol"),void:new C(function(e){return null==e},"is not void"),undefined:new C(function(e){return void 0===e},"is not undefined"),null:new C(function(e){return null===e},"is not null"),never:new C(function(e){return!1},"is unexpected"),Date:new C(w("[object Date]"),"is not a Date"),RegExp:new C(w("[object RegExp]"),"is not a RegExp")};var v=Object.prototype.toString;function w(e){return function(t){return"object"==typeof t&&t&&v.call(t)===e}}"undefined"!=typeof Buffer&&(t.basicTypes.Buffer=new C(function(e){return Buffer.isBuffer(e)},"is not a Buffer"));for(var E=function(e){t.basicTypes[e.name]=new C(function(t){return t instanceof e},"is not a "+e.name)},A=0,S=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,ArrayBuffer];A<S.length;A++)E(S[A])},95096:function(e,t){"use strict";var n,r=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.DetailContext=t.NoopContext=t.VError=void 0;var s=function(e){function t(n,r){var s=e.call(this,r)||this;return s.path=n,Object.setPrototypeOf(s,t.prototype),s}return r(t,e),t}(Error);t.VError=s;var o=function(){function e(){}return e.prototype.fail=function(e,t,n){return!1},e.prototype.unionResolver=function(){return this},e.prototype.createContext=function(){return this},e.prototype.resolveUnion=function(e){},e}();t.NoopContext=o;var i=function(){function e(){this._propNames=[""],this._messages=[null],this._score=0}return e.prototype.fail=function(e,t,n){return this._propNames.push(e),this._messages.push(t),this._score+=n,!1},e.prototype.unionResolver=function(){return new a},e.prototype.resolveUnion=function(e){for(var t,n,r=null,s=0,o=e.contexts;s<o.length;s++){var i=o[s];(!r||i._score>=r._score)&&(r=i)}r&&r._score>0&&((t=this._propNames).push.apply(t,r._propNames),(n=this._messages).push.apply(n,r._messages))},e.prototype.getError=function(e){for(var t=[],n=this._propNames.length-1;n>=0;n--){var r=this._propNames[n];e+="number"==typeof r?"["+r+"]":r?"."+r:"";var o=this._messages[n];o&&t.push(e+" "+o)}return new s(e,t.join("; "))},e.prototype.getErrorDetail=function(e){for(var t=[],n=this._propNames.length-1;n>=0;n--){var r=this._propNames[n];e+="number"==typeof r?"["+r+"]":r?"."+r:"";var s=this._messages[n];s&&t.push({path:e,message:s})}for(var o=null,n=t.length-1;n>=0;n--)o&&(t[n].nested=[o]),o=t[n];return o},e}();t.DetailContext=i;var a=function(){function e(){this.contexts=[]}return e.prototype.createContext=function(){var e=new i;return this.contexts.push(e),e},e}()},80980:function(e,t,n){"use strict";n.d(t,{Z:()=>a,a:()=>i});var r=n(67294);let s={},o=r.createContext(s);function i(e){let t=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(o.Provider,{value:t},e.children)}},10075:function(e,t,n){"use strict";let r,s,o,i,a,c;n.d(t,{uz:()=>rb,nu:()=>rT,IF:()=>rI,i5:()=>rC});var l,h,u,p,f,d,m,k,g,_=n(7316),y=n(67294),x={characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0};function T(e){var t=window.getSelection();t.empty(),t.addRange(e)}function b(e){return(e.metaKey||e.ctrlKey)&&!e.altKey&&"KeyZ"===e.code}function I(e){e=[e.firstChild];for(var t,n="";t=e.pop();)t.nodeType===Node.TEXT_NODE?n+=t.textContent:t.nodeType===Node.ELEMENT_NODE&&"BR"===t.nodeName&&(n+="\n"),t.nextSibling&&e.push(t.nextSibling),t.firstChild&&e.push(t.firstChild);return"\n"!==n[n.length-1]&&(n+="\n"),n}function C(e){var t=window.getSelection().getRangeAt(0),n=t.collapsed?0:t.toString().length,r=document.createRange();return r.setStart(e,0),r.setEnd(t.startContainer,t.startOffset),{position:e=(r=r.toString()).length,extent:n,content:r=(r=r.split("\n"))[t=r.length-1],line:t}}function v(e,t,n){0>=t&&(t=0),(!n||0>n)&&(n=t);var r=document.createRange();e=[e.firstChild];for(var s,o=0,i=t;s=e[e.length-1];){if(s.nodeType===Node.TEXT_NODE){if(o+s.textContent.length>=i){var a=i-o;if(i===t){if(i=r,a<s.textContent.length?i.setStart(s,a):i.setStartAfter(s),n!==t){i=n;continue}break}t=r,a<(n=s).textContent.length?t.setEnd(n,a):t.setEndAfter(n);break}o+=s.textContent.length}else if(s.nodeType===Node.ELEMENT_NODE&&"BR"===s.nodeName){if(o+1>=i){if(i===t){if(a=r,0<s.textContent.length?a.setStart(s,0):a.setStartAfter(s),n!==t){i=n;continue}break}t=r,0<(n=s).textContent.length?t.setEnd(n,0):t.setEndAfter(n);break}o++}e.pop(),s.nextSibling&&e.push(s.nextSibling),s.firstChild&&e.push(s.firstChild)}return r}var w=n(85893);!function(e){e[e.NONE=0]="NONE";e[e._abstract=1]="_abstract";let t=2;e[e._accessor=t]="_accessor";let n=t+1;e[e._as=n]="_as";let r=n+1;e[e._assert=r]="_assert";let s=r+1;e[e._asserts=s]="_asserts";let o=s+1;e[e._async=o]="_async";let i=o+1;e[e._await=i]="_await";let a=i+1;e[e._checks=a]="_checks";let c=a+1;e[e._constructor=c]="_constructor";let l=c+1;e[e._declare=l]="_declare";let h=l+1;e[e._enum=h]="_enum";let u=h+1;e[e._exports=u]="_exports";let p=u+1;e[e._from=p]="_from";let f=p+1;e[e._get=f]="_get";let d=f+1;e[e._global=d]="_global";let m=d+1;e[e._implements=m]="_implements";let k=m+1;e[e._infer=k]="_infer";let g=k+1;e[e._interface=g]="_interface";let _=g+1;e[e._is=_]="_is";let y=_+1;e[e._keyof=y]="_keyof";let x=y+1;e[e._mixins=x]="_mixins";let T=x+1;e[e._module=T]="_module";let b=T+1;e[e._namespace=b]="_namespace";let I=b+1;e[e._of=I]="_of";let C=I+1;e[e._opaque=C]="_opaque";let v=C+1;e[e._out=v]="_out";let w=v+1;e[e._override=w]="_override";let E=w+1;e[e._private=E]="_private";let A=E+1;e[e._protected=A]="_protected";let S=A+1;e[e._proto=S]="_proto";let N=S+1;e[e._public=N]="_public";let R=N+1;e[e._readonly=R]="_readonly";let L=R+1;e[e._require=L]="_require";let O=L+1;e[e._satisfies=O]="_satisfies";let j=O+1;e[e._set=j]="_set";let D=j+1;e[e._static=D]="_static";let P=D+1;e[e._symbol=P]="_symbol";let F=P+1;e[e._type=F]="_type";let q=F+1;e[e._unique=q]="_unique";let $=q+1;e[e._using=$]="_using"}(p||(p={})),(h=f||(f={}))[h.PRECEDENCE_MASK=15]="PRECEDENCE_MASK",h[h.IS_KEYWORD=16]="IS_KEYWORD",h[h.IS_ASSIGN=32]="IS_ASSIGN",h[h.IS_RIGHT_ASSOCIATIVE=64]="IS_RIGHT_ASSOCIATIVE",h[h.IS_PREFIX=128]="IS_PREFIX",h[h.IS_POSTFIX=256]="IS_POSTFIX",h[h.IS_EXPRESSION_START=512]="IS_EXPRESSION_START",h[h.num=512]="num",h[h.bigint=1536]="bigint",h[h.decimal=2560]="decimal",h[h.regexp=3584]="regexp",h[h.string=4608]="string",h[h.name=5632]="name",h[h.eof=6144]="eof",h[h.bracketL=7680]="bracketL",h[h.bracketR=8192]="bracketR",h[h.braceL=9728]="braceL",h[h.braceBarL=10752]="braceBarL",h[h.braceR=11264]="braceR",h[h.braceBarR=12288]="braceBarR",h[h.parenL=13824]="parenL",h[h.parenR=14336]="parenR",h[h.comma=15360]="comma",h[h.semi=16384]="semi",h[h.colon=17408]="colon",h[h.doubleColon=18432]="doubleColon",h[h.dot=19456]="dot",h[h.question=20480]="question",h[h.questionDot=21504]="questionDot",h[h.arrow=22528]="arrow",h[h.template=23552]="template",h[h.ellipsis=24576]="ellipsis",h[h.backQuote=25600]="backQuote",h[h.dollarBraceL=27136]="dollarBraceL",h[h.at=27648]="at",h[h.hash=29184]="hash",h[h.eq=29728]="eq",h[h.assign=30752]="assign",h[h.preIncDec=32640]="preIncDec",h[h.postIncDec=33664]="postIncDec",h[h.bang=34432]="bang",h[h.tilde=35456]="tilde",h[h.pipeline=35841]="pipeline",h[h.nullishCoalescing=36866]="nullishCoalescing",h[h.logicalOR=37890]="logicalOR",h[h.logicalAND=38915]="logicalAND",h[h.bitwiseOR=39940]="bitwiseOR",h[h.bitwiseXOR=40965]="bitwiseXOR",h[h.bitwiseAND=41990]="bitwiseAND",h[h.equality=43015]="equality",h[h.lessThan=44040]="lessThan",h[h.greaterThan=45064]="greaterThan",h[h.relationalOrEqual=46088]="relationalOrEqual",h[h.bitShiftL=47113]="bitShiftL",h[h.bitShiftR=48137]="bitShiftR",h[h.plus=49802]="plus",h[h.minus=50826]="minus",h[h.modulo=51723]="modulo",h[h.star=52235]="star",h[h.slash=53259]="slash",h[h.exponent=54348]="exponent",h[h.jsxName=55296]="jsxName",h[h.jsxText=56320]="jsxText",h[h.jsxEmptyText=57344]="jsxEmptyText",h[h.jsxTagStart=58880]="jsxTagStart",h[h.jsxTagEnd=59392]="jsxTagEnd",h[h.typeParameterStart=60928]="typeParameterStart",h[h.nonNullAssertion=61440]="nonNullAssertion",h[h._break=62480]="_break",h[h._case=63504]="_case",h[h._catch=64528]="_catch",h[h._continue=65552]="_continue",h[h._debugger=66576]="_debugger",h[h._default=67600]="_default",h[h._do=68624]="_do",h[h._else=69648]="_else",h[h._finally=70672]="_finally",h[h._for=71696]="_for",h[h._function=73232]="_function",h[h._if=73744]="_if",h[h._return=74768]="_return",h[h._switch=75792]="_switch",h[h._throw=77456]="_throw",h[h._try=77840]="_try",h[h._var=78864]="_var",h[h._let=79888]="_let",h[h._const=80912]="_const",h[h._while=81936]="_while",h[h._with=82960]="_with",h[h._new=84496]="_new",h[h._this=85520]="_this",h[h._super=86544]="_super",h[h._class=87568]="_class",h[h._extends=88080]="_extends",h[h._export=89104]="_export",h[h._import=90640]="_import",h[h._yield=91664]="_yield",h[h._null=92688]="_null",h[h._true=93712]="_true",h[h._false=94736]="_false",h[h._in=95256]="_in",h[h._instanceof=96280]="_instanceof",h[h._typeof=97936]="_typeof",h[h._void=98960]="_void",h[h._delete=99984]="_delete",h[h._async=100880]="_async",h[h._get=101904]="_get",h[h._set=102928]="_set",h[h._declare=103952]="_declare",h[h._readonly=104976]="_readonly",h[h._abstract=106e3]="_abstract",h[h._static=107024]="_static",h[h._public=107536]="_public",h[h._private=108560]="_private",h[h._protected=109584]="_protected",h[h._override=110608]="_override",h[h._as=112144]="_as",h[h._enum=113168]="_enum",h[h._type=114192]="_type",h[h._implements=115216]="_implements";class E{constructor(e,t,n){this.startTokenIndex=e,this.endTokenIndex=t,this.isFunctionScope=n}}class A{constructor(e,t,n,r,s,o,i,a,c,l,h,u,p){this.potentialArrowAt=e,this.noAnonFunctionType=t,this.inDisallowConditionalTypesContext=n,this.tokensLength=r,this.scopesLength=s,this.pos=o,this.type=i,this.contextualKeyword=a,this.start=c,this.end=l,this.isType=h,this.scopeDepth=u,this.error=p}}class S{constructor(){S.prototype.__init.call(this),S.prototype.__init2.call(this),S.prototype.__init3.call(this),S.prototype.__init4.call(this),S.prototype.__init5.call(this),S.prototype.__init6.call(this),S.prototype.__init7.call(this),S.prototype.__init8.call(this),S.prototype.__init9.call(this),S.prototype.__init10.call(this),S.prototype.__init11.call(this),S.prototype.__init12.call(this),S.prototype.__init13.call(this)}__init(){this.potentialArrowAt=-1}__init2(){this.noAnonFunctionType=!1}__init3(){this.inDisallowConditionalTypesContext=!1}__init4(){this.tokens=[]}__init5(){this.scopes=[]}__init6(){this.pos=0}__init7(){this.type=f.eof}__init8(){this.contextualKeyword=p.NONE}__init9(){this.start=0}__init10(){this.end=0}__init11(){this.isType=!1}__init12(){this.scopeDepth=0}__init13(){this.error=null}snapshot(){return new A(this.potentialArrowAt,this.noAnonFunctionType,this.inDisallowConditionalTypesContext,this.tokens.length,this.scopes.length,this.pos,this.type,this.contextualKeyword,this.start,this.end,this.isType,this.scopeDepth,this.error)}restoreFromSnapshot(e){this.potentialArrowAt=e.potentialArrowAt,this.noAnonFunctionType=e.noAnonFunctionType,this.inDisallowConditionalTypesContext=e.inDisallowConditionalTypesContext,this.tokens.length=e.tokensLength,this.scopes.length=e.scopesLength,this.pos=e.pos,this.type=e.type,this.contextualKeyword=e.contextualKeyword,this.start=e.start,this.end=e.end,this.isType=e.isType,this.scopeDepth=e.scopeDepth,this.error=e.error}}(u=d||(d={}))[u.backSpace=8]="backSpace",u[u.lineFeed=10]="lineFeed",u[u.tab=9]="tab",u[u.carriageReturn=13]="carriageReturn",u[u.shiftOut=14]="shiftOut",u[u.space=32]="space",u[u.exclamationMark=33]="exclamationMark",u[u.quotationMark=34]="quotationMark",u[u.numberSign=35]="numberSign",u[u.dollarSign=36]="dollarSign",u[u.percentSign=37]="percentSign",u[u.ampersand=38]="ampersand",u[u.apostrophe=39]="apostrophe",u[u.leftParenthesis=40]="leftParenthesis",u[u.rightParenthesis=41]="rightParenthesis",u[u.asterisk=42]="asterisk",u[u.plusSign=43]="plusSign",u[u.comma=44]="comma",u[u.dash=45]="dash",u[u.dot=46]="dot",u[u.slash=47]="slash",u[u.digit0=48]="digit0",u[u.digit1=49]="digit1",u[u.digit2=50]="digit2",u[u.digit3=51]="digit3",u[u.digit4=52]="digit4",u[u.digit5=53]="digit5",u[u.digit6=54]="digit6",u[u.digit7=55]="digit7",u[u.digit8=56]="digit8",u[u.digit9=57]="digit9",u[u.colon=58]="colon",u[u.semicolon=59]="semicolon",u[u.lessThan=60]="lessThan",u[u.equalsTo=61]="equalsTo",u[u.greaterThan=62]="greaterThan",u[u.questionMark=63]="questionMark",u[u.atSign=64]="atSign",u[u.uppercaseA=65]="uppercaseA",u[u.uppercaseB=66]="uppercaseB",u[u.uppercaseC=67]="uppercaseC",u[u.uppercaseD=68]="uppercaseD",u[u.uppercaseE=69]="uppercaseE",u[u.uppercaseF=70]="uppercaseF",u[u.uppercaseG=71]="uppercaseG",u[u.uppercaseH=72]="uppercaseH",u[u.uppercaseI=73]="uppercaseI",u[u.uppercaseJ=74]="uppercaseJ",u[u.uppercaseK=75]="uppercaseK",u[u.uppercaseL=76]="uppercaseL",u[u.uppercaseM=77]="uppercaseM",u[u.uppercaseN=78]="uppercaseN",u[u.uppercaseO=79]="uppercaseO",u[u.uppercaseP=80]="uppercaseP",u[u.uppercaseQ=81]="uppercaseQ",u[u.uppercaseR=82]="uppercaseR",u[u.uppercaseS=83]="uppercaseS",u[u.uppercaseT=84]="uppercaseT",u[u.uppercaseU=85]="uppercaseU",u[u.uppercaseV=86]="uppercaseV",u[u.uppercaseW=87]="uppercaseW",u[u.uppercaseX=88]="uppercaseX",u[u.uppercaseY=89]="uppercaseY",u[u.uppercaseZ=90]="uppercaseZ",u[u.leftSquareBracket=91]="leftSquareBracket",u[u.backslash=92]="backslash",u[u.rightSquareBracket=93]="rightSquareBracket",u[u.caret=94]="caret",u[u.underscore=95]="underscore",u[u.graveAccent=96]="graveAccent",u[u.lowercaseA=97]="lowercaseA",u[u.lowercaseB=98]="lowercaseB",u[u.lowercaseC=99]="lowercaseC",u[u.lowercaseD=100]="lowercaseD",u[u.lowercaseE=101]="lowercaseE",u[u.lowercaseF=102]="lowercaseF",u[u.lowercaseG=103]="lowercaseG",u[u.lowercaseH=104]="lowercaseH",u[u.lowercaseI=105]="lowercaseI",u[u.lowercaseJ=106]="lowercaseJ",u[u.lowercaseK=107]="lowercaseK",u[u.lowercaseL=108]="lowercaseL",u[u.lowercaseM=109]="lowercaseM",u[u.lowercaseN=110]="lowercaseN",u[u.lowercaseO=111]="lowercaseO",u[u.lowercaseP=112]="lowercaseP",u[u.lowercaseQ=113]="lowercaseQ",u[u.lowercaseR=114]="lowercaseR",u[u.lowercaseS=115]="lowercaseS",u[u.lowercaseT=116]="lowercaseT",u[u.lowercaseU=117]="lowercaseU",u[u.lowercaseV=118]="lowercaseV",u[u.lowercaseW=119]="lowercaseW",u[u.lowercaseX=120]="lowercaseX",u[u.lowercaseY=121]="lowercaseY",u[u.lowercaseZ=122]="lowercaseZ",u[u.leftCurlyBrace=123]="leftCurlyBrace",u[u.verticalBar=124]="verticalBar",u[u.rightCurlyBrace=125]="rightCurlyBrace",u[u.tilde=126]="tilde",u[u.nonBreakingSpace=160]="nonBreakingSpace",u[u.oghamSpaceMark=5760]="oghamSpaceMark",u[u.lineSeparator=8232]="lineSeparator",u[u.paragraphSeparator=8233]="paragraphSeparator";class N{constructor(e,t){this.line=e,this.column=t}}function R(e){return i.contextualKeyword===e}function L(e){let t=ei();return t.type===f.name&&t.contextualKeyword===e}function O(e){return i.contextualKeyword===e&&et(f.name)}function j(e){O(e)||B()}function D(){return er(f.eof)||er(f.braceR)||P()}function P(){let e=i.tokens[i.tokens.length-1],t=e?e.end:0;for(let e=t;e<i.start;e++){let t=a.charCodeAt(e);if(t===d.lineFeed||t===d.carriageReturn||8232===t||8233===t)return!0}return!1}function F(){let e=ea();for(let t=i.end;t<e;t++){let e=a.charCodeAt(t);if(e===d.lineFeed||e===d.carriageReturn||8232===e||8233===e)return!0}return!1}function q(){return et(f.semi)||D()}function $(){q()||B('Unexpected token, expected ";"')}function M(e){et(e)||B(`Unexpected token, expected "${function(e){switch(e){case f.num:return"num";case f.bigint:return"bigint";case f.decimal:return"decimal";case f.regexp:return"regexp";case f.string:return"string";case f.name:return"name";case f.eof:return"eof";case f.bracketL:return"[";case f.bracketR:return"]";case f.braceL:return"{";case f.braceBarL:return"{|";case f.braceR:return"}";case f.braceBarR:return"|}";case f.parenL:return"(";case f.parenR:return")";case f.comma:return",";case f.semi:return";";case f.colon:return":";case f.doubleColon:return"::";case f.dot:return".";case f.question:return"?";case f.questionDot:return"?.";case f.arrow:return"=>";case f.template:return"template";case f.ellipsis:return"...";case f.backQuote:return"`";case f.dollarBraceL:return"${";case f.at:return"@";case f.hash:return"#";case f.eq:return"=";case f.assign:return"_=";case f.preIncDec:case f.postIncDec:return"++/--";case f.bang:return"!";case f.tilde:return"~";case f.pipeline:return"|>";case f.nullishCoalescing:return"??";case f.logicalOR:return"||";case f.logicalAND:return"&&";case f.bitwiseOR:return"|";case f.bitwiseXOR:return"^";case f.bitwiseAND:return"&";case f.equality:return"==/!=";case f.lessThan:return"<";case f.greaterThan:return">";case f.relationalOrEqual:return"<=/>=";case f.bitShiftL:return"<<";case f.bitShiftR:return">>/>>>";case f.plus:return"+";case f.minus:return"-";case f.modulo:return"%";case f.star:return"*";case f.slash:return"/";case f.exponent:return"**";case f.jsxName:return"jsxName";case f.jsxText:return"jsxText";case f.jsxEmptyText:return"jsxEmptyText";case f.jsxTagStart:return"jsxTagStart";case f.jsxTagEnd:return"jsxTagEnd";case f.typeParameterStart:return"typeParameterStart";case f.nonNullAssertion:return"nonNullAssertion";case f._break:return"break";case f._case:return"case";case f._catch:return"catch";case f._continue:return"continue";case f._debugger:return"debugger";case f._default:return"default";case f._do:return"do";case f._else:return"else";case f._finally:return"finally";case f._for:return"for";case f._function:return"function";case f._if:return"if";case f._return:return"return";case f._switch:return"switch";case f._throw:return"throw";case f._try:return"try";case f._var:return"var";case f._let:return"let";case f._const:return"const";case f._while:return"while";case f._with:return"with";case f._new:return"new";case f._this:return"this";case f._super:return"super";case f._class:return"class";case f._extends:return"extends";case f._export:return"export";case f._import:return"import";case f._yield:return"yield";case f._null:return"null";case f._true:return"true";case f._false:return"false";case f._in:return"in";case f._instanceof:return"instanceof";case f._typeof:return"typeof";case f._void:return"void";case f._delete:return"delete";case f._async:return"async";case f._get:return"get";case f._set:return"set";case f._declare:return"declare";case f._readonly:return"readonly";case f._abstract:return"abstract";case f._static:return"static";case f._public:return"public";case f._private:return"private";case f._protected:return"protected";case f._override:return"override";case f._as:return"as";case f._enum:return"enum";case f._type:return"type";case f._implements:return"implements";default:return""}}(e)}"`)}function B(e="Unexpected token",t=i.start){if(i.error)return;let n=SyntaxError(e);n.pos=t,i.error=n,i.pos=a.length,ef(f.eof)}let K=[9,11,12,d.space,d.nonBreakingSpace,d.oghamSpaceMark,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],U=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,V=new Uint8Array(65536);for(let e of K)V[e]=1;let W=new Uint8Array(65536);for(let e=0;e<128;e++)W[e]=+!!function(e){if(e<48)return 36===e;if(e<58)return!0;if(e<65)return!1;if(e<91)return!0;if(e<97)return 95===e;if(e<123)return!0;if(e<128)return!1;throw Error("Should not be called with non-ASCII char code.")}(e);for(let e=128;e<65536;e++)W[e]=1;for(let e of K)W[e]=0;W[8232]=0,W[8233]=0;let H=W.slice();for(let e=d.digit0;e<=d.digit9;e++)H[e]=0;let X=new Int32Array([-1,27,783,918,1755,2376,2862,3483,-1,3699,-1,4617,4752,4833,5130,5508,5940,-1,6480,6939,7749,8181,8451,8613,-1,8829,-1,-1,-1,54,243,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,432,-1,-1,-1,675,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,81,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,108,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,135,-1,-1,-1,-1,-1,-1,-1,-1,-1,162,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,189,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,216,-1,-1,-1,-1,-1,-1,p._abstract<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,270,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,297,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,324,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,351,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,378,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,405,-1,-1,-1,-1,-1,-1,-1,-1,p._accessor<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._as<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,459,-1,-1,-1,-1,-1,594,-1,-1,-1,-1,-1,-1,486,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,513,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,540,-1,-1,-1,-1,-1,-1,p._assert<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,567,-1,-1,-1,-1,-1,-1,-1,p._asserts<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,621,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,648,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._async<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,702,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,729,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,756,-1,-1,-1,-1,-1,-1,p._await<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,810,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,837,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,864,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,891,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._break<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,945,-1,-1,-1,-1,-1,-1,1107,-1,-1,-1,1242,-1,-1,1350,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,972,1026,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,999,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._case<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1053,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1080,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._catch<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1134,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1161,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1188,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1215,-1,-1,-1,-1,-1,-1,-1,p._checks<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1269,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1296,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1323,-1,-1,-1,-1,-1,-1,-1,(f._class<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1377,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1404,1620,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1431,-1,-1,-1,-1,-1,-1,(f._const<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1458,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1485,-1,-1,-1,-1,-1,-1,-1,-1,1512,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1539,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1566,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1593,-1,-1,-1,-1,-1,-1,-1,-1,p._constructor<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1647,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1674,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1701,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1728,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._continue<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1782,-1,-1,-1,-1,-1,-1,-1,-1,-1,2349,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1809,1971,-1,-1,2106,-1,-1,-1,-1,-1,2241,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1836,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1863,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1890,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1917,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1944,-1,-1,-1,-1,-1,-1,-1,-1,(f._debugger<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2025,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2052,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2079,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._declare<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2133,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2160,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2187,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2214,-1,-1,-1,-1,-1,-1,(f._default<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2268,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2295,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2322,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._delete<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._do<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2403,-1,2484,-1,-1,-1,-1,-1,-1,-1,-1,-1,2565,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2430,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2457,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._else<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2511,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2538,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._enum<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2592,-1,-1,-1,2727,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2619,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2646,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2673,-1,-1,-1,-1,-1,-1,(f._export<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2700,-1,-1,-1,-1,-1,-1,-1,p._exports<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2754,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2781,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2808,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2835,-1,-1,-1,-1,-1,-1,-1,(f._extends<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2889,-1,-1,-1,-1,-1,-1,-1,2997,-1,-1,-1,-1,-1,3159,-1,-1,3213,-1,-1,3294,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2916,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2943,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2970,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._false<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3024,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3051,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3078,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3105,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3132,-1,(f._finally<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3186,-1,-1,-1,-1,-1,-1,-1,-1,(f._for<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3240,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3267,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._from<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3321,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3348,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3375,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3402,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3429,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3456,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._function<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3510,-1,-1,-1,-1,-1,-1,3564,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3537,-1,-1,-1,-1,-1,-1,p._get<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3591,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3618,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3645,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3672,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._global<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3726,-1,-1,-1,-1,-1,-1,3753,4077,-1,-1,-1,-1,4590,-1,-1,-1,-1,-1,-1,-1,(f._if<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3780,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3807,-1,-1,3996,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3834,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3861,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3888,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3915,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3942,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3969,-1,-1,-1,-1,-1,-1,-1,p._implements<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4023,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4050,-1,-1,-1,-1,-1,-1,(f._import<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._in<<1)+1,-1,-1,-1,-1,-1,4104,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4185,4401,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4131,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4158,-1,-1,-1,-1,-1,-1,-1,-1,p._infer<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4212,-1,-1,-1,-1,-1,-1,-1,4239,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4266,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4293,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4320,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4347,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4374,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._instanceof<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4428,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4455,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4482,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4509,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4536,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4563,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._interface<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._is<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4644,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4671,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4698,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4725,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._keyof<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4779,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4806,-1,-1,-1,-1,-1,-1,(f._let<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4860,-1,-1,-1,-1,-1,4995,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4887,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4914,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4941,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4968,-1,-1,-1,-1,-1,-1,-1,p._mixins<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5022,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5049,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5076,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5103,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._module<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5157,-1,-1,-1,5373,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5427,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5184,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5211,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5238,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5265,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5292,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5319,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5346,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._namespace<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5400,-1,-1,-1,(f._new<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5454,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5481,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._null<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5535,-1,-1,-1,-1,-1,-1,-1,-1,-1,5562,-1,-1,-1,-1,5697,5751,-1,-1,-1,-1,p._of<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5589,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5616,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5643,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5670,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._opaque<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5724,-1,-1,-1,-1,-1,-1,p._out<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5778,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5805,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5832,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5859,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5886,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5913,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._override<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5967,-1,-1,6345,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5994,-1,-1,-1,-1,-1,6129,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6021,-1,-1,-1,-1,-1,6048,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6075,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6102,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._private<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6156,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6183,-1,-1,-1,-1,-1,-1,-1,-1,-1,6318,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6210,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6237,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6264,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6291,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._protected<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._proto<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6372,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6399,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6426,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6453,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._public<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6507,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6534,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6696,-1,-1,6831,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6561,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6588,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6615,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6642,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6669,-1,p._readonly<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6723,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6750,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6777,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6804,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._require<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6858,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6885,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6912,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._return<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6966,-1,-1,-1,7182,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7236,7371,-1,7479,-1,7614,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,6993,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7047,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7074,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7101,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7128,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7155,-1,-1,-1,-1,-1,-1,-1,p._satisfies<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7209,-1,-1,-1,-1,-1,-1,p._set<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7263,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7290,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7317,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7344,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._static<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7398,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7425,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7452,-1,-1,-1,-1,-1,-1,-1,-1,(f._super<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7506,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7533,-1,-1,-1,-1,-1,-1,-1,-1,-1,7560,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7587,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._switch<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7641,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7668,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7695,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7722,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._symbol<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7776,-1,-1,-1,-1,-1,-1,-1,-1,-1,7938,-1,-1,-1,-1,-1,-1,8046,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7803,-1,-1,-1,-1,-1,-1,-1,-1,7857,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7830,-1,-1,-1,-1,-1,-1,-1,(f._this<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7884,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7911,-1,-1,-1,(f._throw<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7965,-1,-1,-1,8019,-1,-1,-1,-1,-1,-1,7992,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._true<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._try<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8073,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8100,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._type<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8127,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8154,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._typeof<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8208,-1,-1,-1,-1,8343,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8235,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8262,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8289,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8316,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._unique<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8370,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8397,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8424,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,p._using<<1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8478,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8532,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8505,-1,-1,-1,-1,-1,-1,-1,-1,(f._var<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8559,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8586,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._void<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8640,8748,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8667,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8694,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8721,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._while<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8775,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8802,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._with<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8856,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8883,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8910,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8937,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,(f._yield<<1)+1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);function G(e){let t=e.identifierRole;return t===m.TopLevelDeclaration||t===m.FunctionScopedDeclaration||t===m.BlockScopedDeclaration||t===m.ObjectShorthandTopLevelDeclaration||t===m.ObjectShorthandFunctionScopedDeclaration||t===m.ObjectShorthandBlockScopedDeclaration}function J(e){let t=e.identifierRole;return t===m.TopLevelDeclaration||t===m.ObjectShorthandTopLevelDeclaration||t===m.ImportDeclaration}!function(e){e[e.Access=0]="Access";e[e.ExportAccess=1]="ExportAccess";let t=2;e[e.TopLevelDeclaration=t]="TopLevelDeclaration";let n=t+1;e[e.FunctionScopedDeclaration=n]="FunctionScopedDeclaration";let r=n+1;e[e.BlockScopedDeclaration=r]="BlockScopedDeclaration";let s=r+1;e[e.ObjectShorthandTopLevelDeclaration=s]="ObjectShorthandTopLevelDeclaration";let o=s+1;e[e.ObjectShorthandFunctionScopedDeclaration=o]="ObjectShorthandFunctionScopedDeclaration";let i=o+1;e[e.ObjectShorthandBlockScopedDeclaration=i]="ObjectShorthandBlockScopedDeclaration";let a=i+1;e[e.ObjectShorthand=a]="ObjectShorthand";let c=a+1;e[e.ImportDeclaration=c]="ImportDeclaration";let l=c+1;e[e.ObjectKey=l]="ObjectKey";let h=l+1;e[e.ImportAccess=h]="ImportAccess"}(m||(m={})),function(e){e[e.NoChildren=0]="NoChildren";e[e.OneChild=1]="OneChild";let t=2;e[e.StaticChildren=t]="StaticChildren";let n=t+1;e[e.KeyAfterPropSpread=n]="KeyAfterPropSpread"}(k||(k={}));class z{constructor(){this.type=i.type,this.contextualKeyword=i.contextualKeyword,this.start=i.start,this.end=i.end,this.scopeDepth=i.scopeDepth,this.isType=i.isType,this.identifierRole=null,this.jsxRole=null,this.shadowsGlobal=!1,this.isAsyncOperation=!1,this.contextId=null,this.rhsEndIndex=null,this.isExpression=!1,this.numNullishCoalesceStarts=0,this.numNullishCoalesceEnds=0,this.isOptionalChainStart=!1,this.isOptionalChainEnd=!1,this.subscriptStartIndex=null,this.nullishStartIndex=null}}function Q(){i.tokens.push(new z),eh()}function Y(){i.tokens.push(new z),i.start=i.pos,function(){for(;;){if(i.pos>=a.length){B("Unterminated template");return}let e=a.charCodeAt(i.pos);if(e===d.graveAccent||e===d.dollarSign&&a.charCodeAt(i.pos+1)===d.leftCurlyBrace){if(i.pos===i.start&&er(f.template)){if(e===d.dollarSign){i.pos+=2,ef(f.dollarBraceL);return}++i.pos,ef(f.backQuote);return}ef(f.template);return}e===d.backslash&&i.pos++,i.pos++}}()}function Z(e){for(let t=i.tokens.length-e;t<i.tokens.length;t++)i.tokens[t].isType=!0;let t=i.isType;return i.isType=!0,t}function ee(e){i.isType=e}function et(e){return!!er(e)&&(Q(),!0)}function en(e){let t=i.isType;i.isType=!0,et(e),i.isType=t}function er(e){return i.type===e}function es(){let e=i.snapshot();Q();let t=i.type;return i.restoreFromSnapshot(e),t}class eo{constructor(e,t){this.type=e,this.contextualKeyword=t}}function ei(){let e=i.snapshot();Q();let t=i.type,n=i.contextualKeyword;return i.restoreFromSnapshot(e),new eo(t,n)}function ea(){return ec(i.pos)}function ec(e){return U.lastIndex=e,e+U.exec(a)[0].length}function el(){return a.charCodeAt(ea())}function eh(){var e;if(ep(),i.start=i.pos,i.pos>=a.length){let e=i.tokens;e.length>=2&&e[e.length-1].start>=a.length&&e[e.length-2].start>=a.length&&B("Unexpectedly reached the end of input."),ef(f.eof);return}H[e=a.charCodeAt(i.pos)]||e===d.backslash||e===d.atSign&&a.charCodeAt(i.pos+1)===d.atSign?function(){let e=0,t=0,n=i.pos;for(;n<a.length&&!((t=a.charCodeAt(n))<d.lowercaseA)&&!(t>d.lowercaseZ);){let r=X[e+(t-d.lowercaseA)+1];if(-1===r)break;e=r,n++}let r=X[e];if(r>-1&&!W[t]){i.pos=n,1&r?ef(r>>>1):ef(f.name,r>>>1);return}for(;n<a.length;){let e=a.charCodeAt(n);if(W[e])n++;else if(e===d.backslash){if(n+=2,a.charCodeAt(n)===d.leftCurlyBrace){for(;n<a.length&&a.charCodeAt(n)!==d.rightCurlyBrace;)n++;n++}}else if(e===d.atSign&&a.charCodeAt(n+1)===d.atSign)n+=2;else break}i.pos=n,ef(f.name)}():ek(e)}function eu(e){let t=a.charCodeAt(i.pos+=e);if(i.pos<a.length)for(;t!==d.lineFeed&&t!==d.carriageReturn&&t!==d.lineSeparator&&t!==d.paragraphSeparator&&++i.pos<a.length;)t=a.charCodeAt(i.pos)}function ep(){for(;i.pos<a.length;){let e=a.charCodeAt(i.pos);switch(e){case d.carriageReturn:a.charCodeAt(i.pos+1)===d.lineFeed&&++i.pos;case d.lineFeed:case d.lineSeparator:case d.paragraphSeparator:++i.pos;break;case d.slash:switch(a.charCodeAt(i.pos+1)){case d.asterisk:i.pos+=2,function(){for(;a.charCodeAt(i.pos)!==d.asterisk||a.charCodeAt(i.pos+1)!==d.slash;)if(i.pos++,i.pos>a.length){B("Unterminated comment",i.pos-2);return}i.pos+=2}();break;case d.slash:eu(2);break;default:return}break;default:if(!V[e])return;++i.pos}}}function ef(e,t=p.NONE){i.end=i.pos,i.type=e,i.contextualKeyword=t}function ed(){if(i.isType){eg(f.greaterThan,1);return}let e=a.charCodeAt(i.pos+1);if(e===d.greaterThan){let e=a.charCodeAt(i.pos+2)===d.greaterThan?3:2;if(a.charCodeAt(i.pos+e)===d.equalsTo){eg(f.assign,e+1);return}eg(f.bitShiftR,e);return}e===d.equalsTo?eg(f.relationalOrEqual,2):eg(f.greaterThan,1)}function em(){i.type===f.greaterThan&&(i.pos-=1,ed())}function ek(e){switch(e){case d.numberSign:++i.pos,ef(f.hash);return;case d.dot:!function(){let e=a.charCodeAt(i.pos+1);if(e>=d.digit0&&e<=d.digit9){ey(!0);return}e===d.dot&&a.charCodeAt(i.pos+2)===d.dot?(i.pos+=3,ef(f.ellipsis)):(++i.pos,ef(f.dot))}();return;case d.leftParenthesis:++i.pos,ef(f.parenL);return;case d.rightParenthesis:++i.pos,ef(f.parenR);return;case d.semicolon:++i.pos,ef(f.semi);return;case d.comma:++i.pos,ef(f.comma);return;case d.leftSquareBracket:++i.pos,ef(f.bracketL);return;case d.rightSquareBracket:++i.pos,ef(f.bracketR);return;case d.leftCurlyBrace:o&&a.charCodeAt(i.pos+1)===d.verticalBar?eg(f.braceBarL,2):(++i.pos,ef(f.braceL));return;case d.rightCurlyBrace:++i.pos,ef(f.braceR);return;case d.colon:a.charCodeAt(i.pos+1)===d.colon?eg(f.doubleColon,2):(++i.pos,ef(f.colon));return;case d.questionMark:!function(){let e=a.charCodeAt(i.pos+1),t=a.charCodeAt(i.pos+2);e!==d.questionMark||o&&i.isType?e!==d.dot||t>=d.digit0&&t<=d.digit9?(++i.pos,ef(f.question)):(i.pos+=2,ef(f.questionDot)):t===d.equalsTo?eg(f.assign,3):eg(f.nullishCoalescing,2)}();return;case d.atSign:++i.pos,ef(f.at);return;case d.graveAccent:++i.pos,ef(f.backQuote);return;case d.digit0:{let e=a.charCodeAt(i.pos+1);if(e===d.lowercaseX||e===d.uppercaseX||e===d.lowercaseO||e===d.uppercaseO||e===d.lowercaseB||e===d.uppercaseB){!function(){for(i.pos+=2;;){let e=a.charCodeAt(i.pos);if(e>=d.digit0&&e<=d.digit9||e>=d.lowercaseA&&e<=d.lowercaseF||e>=d.uppercaseA&&e<=d.uppercaseF||e===d.underscore)i.pos++;else break}a.charCodeAt(i.pos)===d.lowercaseN?(++i.pos,ef(f.bigint)):ef(f.num)}();return}}case d.digit1:case d.digit2:case d.digit3:case d.digit4:case d.digit5:case d.digit6:case d.digit7:case d.digit8:case d.digit9:ey(!1);return;case d.quotationMark:case d.apostrophe:!function(e){for(i.pos++;;){if(i.pos>=a.length){B("Unterminated string constant");return}let t=a.charCodeAt(i.pos);if(t===d.backslash)i.pos++;else if(t===e)break;i.pos++}i.pos++,ef(f.string)}(e);return;case d.slash:a.charCodeAt(i.pos+1)===d.equalsTo?eg(f.assign,2):eg(f.slash,1);return;case d.percentSign:case d.asterisk:let t,n,r;t=e===d.asterisk?f.star:f.modulo,n=1,r=a.charCodeAt(i.pos+1),e===d.asterisk&&r===d.asterisk&&(n++,r=a.charCodeAt(i.pos+2),t=f.exponent),r===d.equalsTo&&a.charCodeAt(i.pos+2)!==d.greaterThan&&(n++,t=f.assign),eg(t,n);return;case d.verticalBar:case d.ampersand:!function(e){let t=a.charCodeAt(i.pos+1);if(t===e){a.charCodeAt(i.pos+2)===d.equalsTo?eg(f.assign,3):eg(e===d.verticalBar?f.logicalOR:f.logicalAND,2);return}if(e===d.verticalBar){if(t===d.greaterThan){eg(f.pipeline,2);return}if(t===d.rightCurlyBrace&&o){eg(f.braceBarR,2);return}}if(t===d.equalsTo){eg(f.assign,2);return}eg(e===d.verticalBar?f.bitwiseOR:f.bitwiseAND,1)}(e);return;case d.caret:a.charCodeAt(i.pos+1)===d.equalsTo?eg(f.assign,2):eg(f.bitwiseXOR,1);return;case d.plusSign:case d.dash:!function(e){let t=a.charCodeAt(i.pos+1);if(t===e){eg(f.preIncDec,2);return}t===d.equalsTo?eg(f.assign,2):e===d.plusSign?eg(f.plus,1):eg(f.minus,1)}(e);return;case d.lessThan:!function(){let e=a.charCodeAt(i.pos+1);if(e===d.lessThan){if(a.charCodeAt(i.pos+2)===d.equalsTo){eg(f.assign,3);return}i.isType?eg(f.lessThan,1):eg(f.bitShiftL,2);return}e===d.equalsTo?eg(f.relationalOrEqual,2):eg(f.lessThan,1)}();return;case d.greaterThan:ed();return;case d.equalsTo:case d.exclamationMark:!function(e){let t=a.charCodeAt(i.pos+1);if(t===d.equalsTo){eg(f.equality,a.charCodeAt(i.pos+2)===d.equalsTo?3:2);return}if(e===d.equalsTo&&t===d.greaterThan){i.pos+=2,ef(f.arrow);return}eg(e===d.equalsTo?f.eq:f.bang,1)}(e);return;case d.tilde:eg(f.tilde,1);return}B(`Unexpected character '${String.fromCharCode(e)}'`,i.pos)}function eg(e,t){i.pos+=t,ef(e)}function e_(){for(;;){let e=a.charCodeAt(i.pos);if(e>=d.digit0&&e<=d.digit9||e===d.underscore)i.pos++;else break}}function ey(e){let t=!1,n=!1;e||e_();let r=a.charCodeAt(i.pos);if(r===d.dot&&(++i.pos,e_(),r=a.charCodeAt(i.pos)),(r===d.uppercaseE||r===d.lowercaseE)&&(((r=a.charCodeAt(++i.pos))===d.plusSign||r===d.dash)&&++i.pos,e_(),r=a.charCodeAt(i.pos)),r===d.lowercaseN?(++i.pos,t=!0):r===d.lowercaseM&&(++i.pos,n=!0),t){ef(f.bigint);return}if(n){ef(f.decimal);return}ef(f.num)}function ex(e,t=e.currentIndex()){let n=t+1;if(eT(e,n)){let r=e.identifierNameAtIndex(t);return{isType:!1,leftName:r,rightName:r,endIndex:n}}if(eT(e,++n))return{isType:!0,leftName:null,rightName:null,endIndex:n};if(eT(e,++n))return{isType:!1,leftName:e.identifierNameAtIndex(t),rightName:e.identifierNameAtIndex(t+2),endIndex:n};if(eT(e,++n))return{isType:!0,leftName:null,rightName:null,endIndex:n};throw Error(`Unexpected import/export specifier at ${t}`)}function eT(e,t){let n=e.tokens[t];return n.type===f.braceR||n.type===f.comma}let eb=new Map([["quot",'"'],["amp","&"],["apos","'"],["lt","<"],["gt",">"],["nbsp","\xa0"],["iexcl","\xa1"],["cent","\xa2"],["pound","\xa3"],["curren","\xa4"],["yen","\xa5"],["brvbar","\xa6"],["sect","\xa7"],["uml","\xa8"],["copy","\xa9"],["ordf","\xaa"],["laquo","\xab"],["not","\xac"],["shy","\xad"],["reg","\xae"],["macr","\xaf"],["deg","\xb0"],["plusmn","\xb1"],["sup2","\xb2"],["sup3","\xb3"],["acute","\xb4"],["micro","\xb5"],["para","\xb6"],["middot","\xb7"],["cedil","\xb8"],["sup1","\xb9"],["ordm","\xba"],["raquo","\xbb"],["frac14","\xbc"],["frac12","\xbd"],["frac34","\xbe"],["iquest","\xbf"],["Agrave","\xc0"],["Aacute","\xc1"],["Acirc","\xc2"],["Atilde","\xc3"],["Auml","\xc4"],["Aring","\xc5"],["AElig","\xc6"],["Ccedil","\xc7"],["Egrave","\xc8"],["Eacute","\xc9"],["Ecirc","\xca"],["Euml","\xcb"],["Igrave","\xcc"],["Iacute","\xcd"],["Icirc","\xce"],["Iuml","\xcf"],["ETH","\xd0"],["Ntilde","\xd1"],["Ograve","\xd2"],["Oacute","\xd3"],["Ocirc","\xd4"],["Otilde","\xd5"],["Ouml","\xd6"],["times","\xd7"],["Oslash","\xd8"],["Ugrave","\xd9"],["Uacute","\xda"],["Ucirc","\xdb"],["Uuml","\xdc"],["Yacute","\xdd"],["THORN","\xde"],["szlig","\xdf"],["agrave","\xe0"],["aacute","\xe1"],["acirc","\xe2"],["atilde","\xe3"],["auml","\xe4"],["aring","\xe5"],["aelig","\xe6"],["ccedil","\xe7"],["egrave","\xe8"],["eacute","\xe9"],["ecirc","\xea"],["euml","\xeb"],["igrave","\xec"],["iacute","\xed"],["icirc","\xee"],["iuml","\xef"],["eth","\xf0"],["ntilde","\xf1"],["ograve","\xf2"],["oacute","\xf3"],["ocirc","\xf4"],["otilde","\xf5"],["ouml","\xf6"],["divide","\xf7"],["oslash","\xf8"],["ugrave","\xf9"],["uacute","\xfa"],["ucirc","\xfb"],["uuml","\xfc"],["yacute","\xfd"],["thorn","\xfe"],["yuml","\xff"],["OElig","\u0152"],["oelig","\u0153"],["Scaron","\u0160"],["scaron","\u0161"],["Yuml","\u0178"],["fnof","\u0192"],["circ","\u02C6"],["tilde","\u02DC"],["Alpha","\u0391"],["Beta","\u0392"],["Gamma","\u0393"],["Delta","\u0394"],["Epsilon","\u0395"],["Zeta","\u0396"],["Eta","\u0397"],["Theta","\u0398"],["Iota","\u0399"],["Kappa","\u039A"],["Lambda","\u039B"],["Mu","\u039C"],["Nu","\u039D"],["Xi","\u039E"],["Omicron","\u039F"],["Pi","\u03A0"],["Rho","\u03A1"],["Sigma","\u03A3"],["Tau","\u03A4"],["Upsilon","\u03A5"],["Phi","\u03A6"],["Chi","\u03A7"],["Psi","\u03A8"],["Omega","\u03A9"],["alpha","\u03B1"],["beta","\u03B2"],["gamma","\u03B3"],["delta","\u03B4"],["epsilon","\u03B5"],["zeta","\u03B6"],["eta","\u03B7"],["theta","\u03B8"],["iota","\u03B9"],["kappa","\u03BA"],["lambda","\u03BB"],["mu","\u03BC"],["nu","\u03BD"],["xi","\u03BE"],["omicron","\u03BF"],["pi","\u03C0"],["rho","\u03C1"],["sigmaf","\u03C2"],["sigma","\u03C3"],["tau","\u03C4"],["upsilon","\u03C5"],["phi","\u03C6"],["chi","\u03C7"],["psi","\u03C8"],["omega","\u03C9"],["thetasym","\u03D1"],["upsih","\u03D2"],["piv","\u03D6"],["ensp","\u2002"],["emsp","\u2003"],["thinsp","\u2009"],["zwnj","\u200C"],["zwj","\u200D"],["lrm","\u200E"],["rlm","\u200F"],["ndash","\u2013"],["mdash","\u2014"],["lsquo","\u2018"],["rsquo","\u2019"],["sbquo","\u201A"],["ldquo","\u201C"],["rdquo","\u201D"],["bdquo","\u201E"],["dagger","\u2020"],["Dagger","\u2021"],["bull","\u2022"],["hellip","\u2026"],["permil","\u2030"],["prime","\u2032"],["Prime","\u2033"],["lsaquo","\u2039"],["rsaquo","\u203A"],["oline","\u203E"],["frasl","\u2044"],["euro","\u20AC"],["image","\u2111"],["weierp","\u2118"],["real","\u211C"],["trade","\u2122"],["alefsym","\u2135"],["larr","\u2190"],["uarr","\u2191"],["rarr","\u2192"],["darr","\u2193"],["harr","\u2194"],["crarr","\u21B5"],["lArr","\u21D0"],["uArr","\u21D1"],["rArr","\u21D2"],["dArr","\u21D3"],["hArr","\u21D4"],["forall","\u2200"],["part","\u2202"],["exist","\u2203"],["empty","\u2205"],["nabla","\u2207"],["isin","\u2208"],["notin","\u2209"],["ni","\u220B"],["prod","\u220F"],["sum","\u2211"],["minus","\u2212"],["lowast","\u2217"],["radic","\u221A"],["prop","\u221D"],["infin","\u221E"],["ang","\u2220"],["and","\u2227"],["or","\u2228"],["cap","\u2229"],["cup","\u222A"],["int","\u222B"],["there4","\u2234"],["sim","\u223C"],["cong","\u2245"],["asymp","\u2248"],["ne","\u2260"],["equiv","\u2261"],["le","\u2264"],["ge","\u2265"],["sub","\u2282"],["sup","\u2283"],["nsub","\u2284"],["sube","\u2286"],["supe","\u2287"],["oplus","\u2295"],["otimes","\u2297"],["perp","\u22A5"],["sdot","\u22C5"],["lceil","\u2308"],["rceil","\u2309"],["lfloor","\u230A"],["rfloor","\u230B"],["lang","\u2329"],["rang","\u232A"],["loz","\u25CA"],["spades","\u2660"],["clubs","\u2663"],["hearts","\u2665"],["diams","\u2666"]]);function eI(e){let[t,n]=eC(e.jsxPragma||"React.createElement"),[r,s]=eC(e.jsxFragmentPragma||"React.Fragment");return{base:t,suffix:n,fragmentBase:r,fragmentSuffix:s}}function eC(e){let t=e.indexOf(".");return -1===t&&(t=e.length),[e.slice(0,t),e.slice(t)]}class ev{getPrefixCode(){return""}getHoistedCode(){return""}getSuffixCode(){return""}}class ew extends ev{__init(){this.lastLineNumber=1}__init2(){this.lastIndex=0}__init3(){this.filenameVarName=null}__init4(){this.esmAutomaticImportNameResolutions={}}__init5(){this.cjsAutomaticModuleNameResolutions={}}constructor(e,t,n,r,s){super(),this.rootTransformer=e,this.tokens=t,this.importProcessor=n,this.nameManager=r,this.options=s,ew.prototype.__init.call(this),ew.prototype.__init2.call(this),ew.prototype.__init3.call(this),ew.prototype.__init4.call(this),ew.prototype.__init5.call(this),this.jsxPragmaInfo=eI(s),this.isAutomaticRuntime="automatic"===s.jsxRuntime,this.jsxImportSource=s.jsxImportSource||"react"}process(){return!!this.tokens.matches1(f.jsxTagStart)&&(this.processJSXTag(),!0)}getPrefixCode(){let e="";if(this.filenameVarName&&(e+=`const ${this.filenameVarName} = ${JSON.stringify(this.options.filePath||"")};`),this.isAutomaticRuntime){if(this.importProcessor)for(let[t,n]of Object.entries(this.cjsAutomaticModuleNameResolutions))e+=`var ${n} = require("${t}");`;else{let{createElement:t,...n}=this.esmAutomaticImportNameResolutions;t&&(e+=`import {createElement as ${t}} from "${this.jsxImportSource}";`);let r=Object.entries(n).map(([e,t])=>`${e} as ${t}`).join(", ");if(r){let t=this.jsxImportSource+(this.options.production?"/jsx-runtime":"/jsx-dev-runtime");e+=`import {${r}} from "${t}";`}}}return e}processJSXTag(){let{jsxRole:e,start:t}=this.tokens.currentToken(),n=this.options.production?null:this.getElementLocationCode(t);this.isAutomaticRuntime&&e!==k.KeyAfterPropSpread?this.transformTagToJSXFunc(n,e):this.transformTagToCreateElement(n)}getElementLocationCode(e){let t=this.getLineNumberForIndex(e);return`lineNumber: ${t}`}getLineNumberForIndex(e){let t=this.tokens.code;for(;this.lastIndex<e&&this.lastIndex<t.length;)"\n"===t[this.lastIndex]&&this.lastLineNumber++,this.lastIndex++;return this.lastLineNumber}transformTagToJSXFunc(e,t){let n=t===k.StaticChildren;this.tokens.replaceToken(this.getJSXFuncInvocationCode(n));let r=null;if(this.tokens.matches1(f.jsxTagEnd))this.tokens.replaceToken(`${this.getFragmentCode()}, {`),this.processAutomaticChildrenAndEndProps(t);else{if(this.processTagIntro(),this.tokens.appendCode(", {"),r=this.processProps(!0),this.tokens.matches2(f.slash,f.jsxTagEnd))this.tokens.appendCode("}");else if(this.tokens.matches1(f.jsxTagEnd))this.tokens.removeToken(),this.processAutomaticChildrenAndEndProps(t);else throw Error("Expected either /> or > at the end of the tag.");r&&this.tokens.appendCode(`, ${r}`)}for(this.options.production||(null===r&&this.tokens.appendCode(", void 0"),this.tokens.appendCode(`, ${n}, ${this.getDevSource(e)}, this`)),this.tokens.removeInitialToken();!this.tokens.matches1(f.jsxTagEnd);)this.tokens.removeToken();this.tokens.replaceToken(")")}transformTagToCreateElement(e){if(this.tokens.replaceToken(this.getCreateElementInvocationCode()),this.tokens.matches1(f.jsxTagEnd))this.tokens.replaceToken(`${this.getFragmentCode()}, null`),this.processChildren(!0);else if(this.processTagIntro(),this.processPropsObjectWithDevInfo(e),this.tokens.matches2(f.slash,f.jsxTagEnd));else if(this.tokens.matches1(f.jsxTagEnd))this.tokens.removeToken(),this.processChildren(!0);else throw Error("Expected either /> or > at the end of the tag.");for(this.tokens.removeInitialToken();!this.tokens.matches1(f.jsxTagEnd);)this.tokens.removeToken();this.tokens.replaceToken(")")}getJSXFuncInvocationCode(e){return this.options.production?e?this.claimAutoImportedFuncInvocation("jsxs","/jsx-runtime"):this.claimAutoImportedFuncInvocation("jsx","/jsx-runtime"):this.claimAutoImportedFuncInvocation("jsxDEV","/jsx-dev-runtime")}getCreateElementInvocationCode(){if(this.isAutomaticRuntime)return this.claimAutoImportedFuncInvocation("createElement","");{let{jsxPragmaInfo:e}=this,t=this.importProcessor&&this.importProcessor.getIdentifierReplacement(e.base)||e.base;return`${t}${e.suffix}(`}}getFragmentCode(){if(this.isAutomaticRuntime)return this.claimAutoImportedName("Fragment",this.options.production?"/jsx-runtime":"/jsx-dev-runtime");{let{jsxPragmaInfo:e}=this;return(this.importProcessor&&this.importProcessor.getIdentifierReplacement(e.fragmentBase)||e.fragmentBase)+e.fragmentSuffix}}claimAutoImportedFuncInvocation(e,t){let n=this.claimAutoImportedName(e,t);return this.importProcessor?`${n}.call(void 0, `:`${n}(`}claimAutoImportedName(e,t){if(!this.importProcessor)return this.esmAutomaticImportNameResolutions[e]||(this.esmAutomaticImportNameResolutions[e]=this.nameManager.claimFreeName(`_${e}`)),this.esmAutomaticImportNameResolutions[e];{let n=this.jsxImportSource+t;return this.cjsAutomaticModuleNameResolutions[n]||(this.cjsAutomaticModuleNameResolutions[n]=this.importProcessor.getFreeIdentifierForPath(n)),`${this.cjsAutomaticModuleNameResolutions[n]}.${e}`}}processTagIntro(){let e=this.tokens.currentIndex()+1;for(;this.tokens.tokens[e].isType||!this.tokens.matches2AtIndex(e-1,f.jsxName,f.jsxName)&&!this.tokens.matches2AtIndex(e-1,f.greaterThan,f.jsxName)&&!this.tokens.matches1AtIndex(e,f.braceL)&&!this.tokens.matches1AtIndex(e,f.jsxTagEnd)&&!this.tokens.matches2AtIndex(e,f.slash,f.jsxTagEnd);)e++;if(e===this.tokens.currentIndex()+1){let e=this.tokens.identifierName();eE(e)&&this.tokens.replaceToken(`'${e}'`)}for(;this.tokens.currentIndex()<e;)this.rootTransformer.processToken()}processPropsObjectWithDevInfo(e){let t=this.options.production?"":`__self: this, __source: ${this.getDevSource(e)}`;if(!this.tokens.matches1(f.jsxName)&&!this.tokens.matches1(f.braceL)){t?this.tokens.appendCode(`, {${t}}`):this.tokens.appendCode(", null");return}this.tokens.appendCode(", {"),this.processProps(!1),t?this.tokens.appendCode(` ${t}}`):this.tokens.appendCode("}")}processProps(e){let t=null;for(;;){if(this.tokens.matches2(f.jsxName,f.eq)){let n=this.tokens.identifierName();if(e&&"key"===n){null!==t&&this.tokens.appendCode(t.replace(/[^\n]/g,"")),this.tokens.removeToken(),this.tokens.removeToken();let e=this.tokens.snapshot();this.processPropValue(),t=this.tokens.dangerouslyGetAndRemoveCodeSinceSnapshot(e);continue}this.processPropName(n),this.tokens.replaceToken(": "),this.processPropValue()}else if(this.tokens.matches1(f.jsxName)){let e=this.tokens.identifierName();this.processPropName(e),this.tokens.appendCode(": true")}else if(this.tokens.matches1(f.braceL))this.tokens.replaceToken(""),this.rootTransformer.processBalancedCode(),this.tokens.replaceToken("");else break;this.tokens.appendCode(",")}return t}processPropName(e){e.includes("-")?this.tokens.replaceToken(`'${e}'`):this.tokens.copyToken()}processPropValue(){this.tokens.matches1(f.braceL)?(this.tokens.replaceToken(""),this.rootTransformer.processBalancedCode(),this.tokens.replaceToken("")):this.tokens.matches1(f.jsxTagStart)?this.processJSXTag():this.processStringPropValue()}processStringPropValue(){let e=this.tokens.currentToken(),t=this.tokens.code.slice(e.start+1,e.end-1),n=eA(t),r=function(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if("\n"===r){if(/\s/.test(e[n+1]))for(t+=" ";n<e.length&&/\s/.test(e[n+1]);)n++;else t+="\n"}else if("&"===r){let{entity:r,newI:s}=eS(e,n+1);t+=r,n=s-1}else t+=r}return JSON.stringify(t)}(t);this.tokens.replaceToken(r+n)}processAutomaticChildrenAndEndProps(e){e===k.StaticChildren?(this.tokens.appendCode(" children: ["),this.processChildren(!1),this.tokens.appendCode("]}")):(e===k.OneChild&&this.tokens.appendCode(" children: "),this.processChildren(!1),this.tokens.appendCode("}"))}processChildren(e){let t=e;for(;;){if(this.tokens.matches2(f.jsxTagStart,f.slash))return;let e=!1;if(this.tokens.matches1(f.braceL))this.tokens.matches2(f.braceL,f.braceR)?(this.tokens.replaceToken(""),this.tokens.replaceToken("")):(this.tokens.replaceToken(t?", ":""),this.rootTransformer.processBalancedCode(),this.tokens.replaceToken(""),e=!0);else if(this.tokens.matches1(f.jsxTagStart))this.tokens.appendCode(t?", ":""),this.processJSXTag(),e=!0;else if(this.tokens.matches1(f.jsxText)||this.tokens.matches1(f.jsxEmptyText))e=this.processChildTextElement(t);else throw Error("Unexpected token when processing JSX children.");e&&(t=!0)}}processChildTextElement(e){let t=this.tokens.currentToken(),n=this.tokens.code.slice(t.start,t.end),r=eA(n),s=function(e){let t="",n="",r=!1,s=!1;for(let o=0;o<e.length;o++){let i=e[o];if(" "===i||" "===i||"\r"===i)r||(n+=i);else if("\n"===i)n="",r=!0;else{if(s&&r&&(t+=" "),t+=n,n="","&"===i){let{entity:n,newI:r}=eS(e,o+1);o=r-1,t+=n}else t+=i;s=!0,r=!1}}return r||(t+=n),JSON.stringify(t)}(n);return'""'===s?(this.tokens.replaceToken(r),!1):(this.tokens.replaceToken(`${e?", ":""}${s}${r}`),!0)}getDevSource(e){return`{fileName: ${this.getFilenameVarName()}, ${e}}`}getFilenameVarName(){return this.filenameVarName||(this.filenameVarName=this.nameManager.claimFreeName("_jsxFileName")),this.filenameVarName}}function eE(e){let t=e.charCodeAt(0);return t>=d.lowercaseA&&t<=d.lowercaseZ}function eA(e){let t=0,n=0;for(let r of e)"\n"===r?(t++,n=0):" "===r&&n++;return"\n".repeat(t)+" ".repeat(n)}function eS(e,t){let n,r="",s=0,o=t;if("#"===e[o]){var i,a;let t,r=10;if("x"===e[++o]){for(r=16,t=++o;o<e.length&&((i=e.charCodeAt(o))>=d.digit0&&i<=d.digit9||i>=d.lowercaseA&&i<=d.lowercaseF||i>=d.uppercaseA&&i<=d.uppercaseF);)o++}else{for(t=o;o<e.length&&(a=e.charCodeAt(o))>=d.digit0&&a<=d.digit9;)o++}if(";"===e[o]){let s=e.slice(t,o);s&&(o++,n=String.fromCodePoint(parseInt(s,r)))}}else for(;o<e.length&&s++<10;){let t=e[o];if(o++,";"===t){n=eb.get(r);break}r+=t}return n?{entity:n,newI:o}:{entity:"&",newI:t}}function eN(e,t){let n=eI(t),r=new Set;for(let t=0;t<e.tokens.length;t++){let s=e.tokens[t];s.type!==f.name||s.isType||s.identifierRole!==m.Access&&s.identifierRole!==m.ObjectShorthand&&s.identifierRole!==m.ExportAccess||s.shadowsGlobal||r.add(e.identifierNameForToken(s)),s.type===f.jsxTagStart&&r.add(n.base),s.type===f.jsxTagStart&&t+1<e.tokens.length&&e.tokens[t+1].type===f.jsxTagEnd&&(r.add(n.base),r.add(n.fragmentBase)),s.type!==f.jsxName||s.identifierRole!==m.Access||eE(e.identifierNameForToken(s))&&e.tokens[t+1].type!==f.dot||r.add(e.identifierNameForToken(s))}return r}class eR{__init(){this.nonTypeIdentifiers=new Set}__init2(){this.importInfoByPath=new Map}__init3(){this.importsToReplace=new Map}__init4(){this.identifierReplacements=new Map}__init5(){this.exportBindingsByLocalName=new Map}constructor(e,t,n,r,s,o,i){this.nameManager=e,this.tokens=t,this.enableLegacyTypeScriptModuleInterop=n,this.options=r,this.isTypeScriptTransformEnabled=s,this.keepUnusedImports=o,this.helperManager=i,eR.prototype.__init.call(this),eR.prototype.__init2.call(this),eR.prototype.__init3.call(this),eR.prototype.__init4.call(this),eR.prototype.__init5.call(this)}preprocessTokens(){for(let e=0;e<this.tokens.tokens.length;e++)this.tokens.matches1AtIndex(e,f._import)&&!this.tokens.matches3AtIndex(e,f._import,f.name,f.eq)&&this.preprocessImportAtIndex(e),this.tokens.matches1AtIndex(e,f._export)&&!this.tokens.matches2AtIndex(e,f._export,f.eq)&&this.preprocessExportAtIndex(e);this.generateImportReplacements()}pruneTypeOnlyImports(){for(let[e,t]of(this.nonTypeIdentifiers=eN(this.tokens,this.options),this.importInfoByPath.entries()))!t.hasBareImport&&!t.hasStarExport&&!(t.exportStarNames.length>0)&&!(t.namedExports.length>0)&&[...t.defaultNames,...t.wildcardNames,...t.namedImports.map(({localName:e})=>e)].every(e=>this.shouldAutomaticallyElideImportedName(e))&&this.importsToReplace.set(e,"")}shouldAutomaticallyElideImportedName(e){return this.isTypeScriptTransformEnabled&&!this.keepUnusedImports&&!this.nonTypeIdentifiers.has(e)}generateImportReplacements(){for(let[e,t]of this.importInfoByPath.entries()){let n;let{defaultNames:r,wildcardNames:s,namedImports:o,namedExports:i,exportStarNames:a,hasStarExport:c}=t;if(0===r.length&&0===s.length&&0===o.length&&0===i.length&&0===a.length&&!c){this.importsToReplace.set(e,`require('${e}');`);continue}let l=this.getFreeIdentifierForPath(e);n=this.enableLegacyTypeScriptModuleInterop?l:s.length>0?s[0]:this.getFreeIdentifierForPath(e);let h=`var ${l} = require('${e}');`;if(s.length>0)for(let e of s){let t=this.enableLegacyTypeScriptModuleInterop?l:`${this.helperManager.getHelperName("interopRequireWildcard")}(${l})`;h+=` var ${e} = ${t};`}else a.length>0&&n!==l?h+=` var ${n} = ${this.helperManager.getHelperName("interopRequireWildcard")}(${l});`:r.length>0&&n!==l&&(h+=` var ${n} = ${this.helperManager.getHelperName("interopRequireDefault")}(${l});`);for(let{importedName:e,localName:t}of i)h+=` ${this.helperManager.getHelperName("createNamedExportFrom")}(${l}, '${t}', '${e}');`;for(let e of a)h+=` exports.${e} = ${n};`;for(let t of(c&&(h+=` ${this.helperManager.getHelperName("createStarExport")}(${l});`),this.importsToReplace.set(e,h),r))this.identifierReplacements.set(t,`${n}.default`);for(let{importedName:e,localName:t}of o)this.identifierReplacements.set(t,`${l}.${e}`)}}getFreeIdentifierForPath(e){let t=e.split("/"),n=t[t.length-1].replace(/\W/g,"");return this.nameManager.claimFreeName(`_${n}`)}preprocessImportAtIndex(e){let t=[],n=[],r=[];if(e++,(this.tokens.matchesContextualAtIndex(e,p._type)||this.tokens.matches1AtIndex(e,f._typeof))&&!this.tokens.matches1AtIndex(e+1,f.comma)&&!this.tokens.matchesContextualAtIndex(e+1,p._from)||this.tokens.matches1AtIndex(e,f.parenL))return;if(this.tokens.matches1AtIndex(e,f.name)&&(t.push(this.tokens.identifierNameAtIndex(e)),e++,this.tokens.matches1AtIndex(e,f.comma)&&e++),this.tokens.matches1AtIndex(e,f.star)&&(e+=2,n.push(this.tokens.identifierNameAtIndex(e)),e++),this.tokens.matches1AtIndex(e,f.braceL)){let n=this.getNamedImports(e+1);for(let s of(e=n.newIndex,n.namedImports))"default"===s.importedName?t.push(s.localName):r.push(s)}if(this.tokens.matchesContextualAtIndex(e,p._from)&&e++,!this.tokens.matches1AtIndex(e,f.string))throw Error("Expected string token at the end of import statement.");let s=this.tokens.stringValueAtIndex(e),o=this.getImportInfo(s);o.defaultNames.push(...t),o.wildcardNames.push(...n),o.namedImports.push(...r),0===t.length&&0===n.length&&0===r.length&&(o.hasBareImport=!0)}preprocessExportAtIndex(e){if(this.tokens.matches2AtIndex(e,f._export,f._var)||this.tokens.matches2AtIndex(e,f._export,f._let)||this.tokens.matches2AtIndex(e,f._export,f._const))this.preprocessVarExportAtIndex(e);else if(this.tokens.matches2AtIndex(e,f._export,f._function)||this.tokens.matches2AtIndex(e,f._export,f._class)){let t=this.tokens.identifierNameAtIndex(e+2);this.addExportBinding(t,t)}else if(this.tokens.matches3AtIndex(e,f._export,f.name,f._function)){let t=this.tokens.identifierNameAtIndex(e+3);this.addExportBinding(t,t)}else this.tokens.matches2AtIndex(e,f._export,f.braceL)?this.preprocessNamedExportAtIndex(e):this.tokens.matches2AtIndex(e,f._export,f.star)&&this.preprocessExportStarAtIndex(e)}preprocessVarExportAtIndex(e){let t=0;for(let n=e+2;;n++)if(this.tokens.matches1AtIndex(n,f.braceL)||this.tokens.matches1AtIndex(n,f.dollarBraceL)||this.tokens.matches1AtIndex(n,f.bracketL))t++;else if(this.tokens.matches1AtIndex(n,f.braceR)||this.tokens.matches1AtIndex(n,f.bracketR))t--;else if(0!==t||this.tokens.matches1AtIndex(n,f.name)){if(this.tokens.matches1AtIndex(1,f.eq)){let e=this.tokens.currentToken().rhsEndIndex;if(null==e)throw Error("Expected = token with an end index.");n=e-1}else if(G(this.tokens.tokens[n])){let e=this.tokens.identifierNameAtIndex(n);this.identifierReplacements.set(e,`exports.${e}`)}}else break}preprocessNamedExportAtIndex(e){e+=2;let{newIndex:t,namedImports:n}=this.getNamedImports(e);if(e=t,this.tokens.matchesContextualAtIndex(e,p._from))e++;else{for(let{importedName:e,localName:t}of n)this.addExportBinding(e,t);return}if(!this.tokens.matches1AtIndex(e,f.string))throw Error("Expected string token at the end of import statement.");let r=this.tokens.stringValueAtIndex(e);this.getImportInfo(r).namedExports.push(...n)}preprocessExportStarAtIndex(e){let t=null;if(this.tokens.matches3AtIndex(e,f._export,f.star,f._as)?(e+=3,t=this.tokens.identifierNameAtIndex(e),e+=2):e+=3,!this.tokens.matches1AtIndex(e,f.string))throw Error("Expected string token at the end of star export statement.");let n=this.tokens.stringValueAtIndex(e),r=this.getImportInfo(n);null!==t?r.exportStarNames.push(t):r.hasStarExport=!0}getNamedImports(e){let t=[];for(;;){if(this.tokens.matches1AtIndex(e,f.braceR)){e++;break}let n=ex(this.tokens,e);if(e=n.endIndex,n.isType||t.push({importedName:n.leftName,localName:n.rightName}),this.tokens.matches2AtIndex(e,f.comma,f.braceR)){e+=2;break}if(this.tokens.matches1AtIndex(e,f.braceR)){e++;break}if(this.tokens.matches1AtIndex(e,f.comma))e++;else throw Error(`Unexpected token: ${JSON.stringify(this.tokens.tokens[e])}`)}return{newIndex:e,namedImports:t}}getImportInfo(e){let t=this.importInfoByPath.get(e);if(t)return t;let n={defaultNames:[],wildcardNames:[],namedImports:[],namedExports:[],hasBareImport:!1,exportStarNames:[],hasStarExport:!1};return this.importInfoByPath.set(e,n),n}addExportBinding(e,t){this.exportBindingsByLocalName.has(e)||this.exportBindingsByLocalName.set(e,[]),this.exportBindingsByLocalName.get(e).push(t)}claimImportCode(e){let t=this.importsToReplace.get(e);return this.importsToReplace.set(e,""),t||""}getIdentifierReplacement(e){return this.identifierReplacements.get(e)||null}resolveExportBinding(e){let t=this.exportBindingsByLocalName.get(e);return t&&0!==t.length?t.map(e=>`exports.${e}`).join(" = "):null}getGlobalNames(){return new Set([...this.identifierReplacements.keys(),...this.exportBindingsByLocalName.keys()])}}var eL=n(32998);let eO={require:` + import {createRequire as CREATE_REQUIRE_NAME} from "module"; + const require = CREATE_REQUIRE_NAME(import.meta.url); + `,interopRequireWildcard:` + function interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + newObj[key] = obj[key]; + } + } + } + newObj.default = obj; + return newObj; + } + } + `,interopRequireDefault:` + function interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + `,createNamedExportFrom:` + function createNamedExportFrom(obj, localName, importedName) { + Object.defineProperty(exports, localName, {enumerable: true, configurable: true, get: () => obj[importedName]}); + } + `,createStarExport:` + function createStarExport(obj) { + Object.keys(obj) + .filter((key) => key !== "default" && key !== "__esModule") + .forEach((key) => { + if (exports.hasOwnProperty(key)) { + return; + } + Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); + }); + } + `,nullishCoalesce:` + function nullishCoalesce(lhs, rhsFn) { + if (lhs != null) { + return lhs; + } else { + return rhsFn(); + } + } + `,asyncNullishCoalesce:` + async function asyncNullishCoalesce(lhs, rhsFn) { + if (lhs != null) { + return lhs; + } else { + return await rhsFn(); + } + } + `,optionalChain:` + function optionalChain(ops) { + let lastAccessLHS = undefined; + let value = ops[0]; + let i = 1; + while (i < ops.length) { + const op = ops[i]; + const fn = ops[i + 1]; + i += 2; + if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { + return undefined; + } + if (op === 'access' || op === 'optionalAccess') { + lastAccessLHS = value; + value = fn(value); + } else if (op === 'call' || op === 'optionalCall') { + value = fn((...args) => value.call(lastAccessLHS, ...args)); + lastAccessLHS = undefined; + } + } + return value; + } + `,asyncOptionalChain:` + async function asyncOptionalChain(ops) { + let lastAccessLHS = undefined; + let value = ops[0]; + let i = 1; + while (i < ops.length) { + const op = ops[i]; + const fn = ops[i + 1]; + i += 2; + if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { + return undefined; + } + if (op === 'access' || op === 'optionalAccess') { + lastAccessLHS = value; + value = await fn(value); + } else if (op === 'call' || op === 'optionalCall') { + value = await fn((...args) => value.call(lastAccessLHS, ...args)); + lastAccessLHS = undefined; + } + } + return value; + } + `,optionalChainDelete:` + function optionalChainDelete(ops) { + const result = OPTIONAL_CHAIN_NAME(ops); + return result == null ? true : result; + } + `,asyncOptionalChainDelete:` + async function asyncOptionalChainDelete(ops) { + const result = await ASYNC_OPTIONAL_CHAIN_NAME(ops); + return result == null ? true : result; + } + `};class ej{__init(){this.helperNames={}}__init2(){this.createRequireName=null}constructor(e){this.nameManager=e,ej.prototype.__init.call(this),ej.prototype.__init2.call(this)}getHelperName(e){let t=this.helperNames[e];return t||(t=this.nameManager.claimFreeName(`_${e}`),this.helperNames[e]=t),t}emitHelpers(){let e="";for(let[t,n]of(this.helperNames.optionalChainDelete&&this.getHelperName("optionalChain"),this.helperNames.asyncOptionalChainDelete&&this.getHelperName("asyncOptionalChain"),Object.entries(eO))){let r=this.helperNames[t],s=n;"optionalChainDelete"===t?s=s.replace("OPTIONAL_CHAIN_NAME",this.helperNames.optionalChain):"asyncOptionalChainDelete"===t?s=s.replace("ASYNC_OPTIONAL_CHAIN_NAME",this.helperNames.asyncOptionalChain):"require"===t&&(null===this.createRequireName&&(this.createRequireName=this.nameManager.claimFreeName("_createRequire")),s=s.replace(/CREATE_REQUIRE_NAME/g,this.createRequireName)),r&&(e+=" ",e+=s.replace(t,r).replace(/\s+/g," ").trim())}return e}}function eD(e,t,n){(function(e,t){for(let n of e.tokens)if(n.type===f.name&&!n.isType&&function(e){let t=e.identifierRole;return t===m.FunctionScopedDeclaration||t===m.BlockScopedDeclaration||t===m.ObjectShorthandFunctionScopedDeclaration||t===m.ObjectShorthandBlockScopedDeclaration}(n)&&t.has(e.identifierNameForToken(n)))return!0;return!1})(e,n)&&!function(e,t,n){let r=[],s=t.length-1;for(let o=e.tokens.length-1;;o--){for(;r.length>0&&r[r.length-1].startTokenIndex===o+1;)r.pop();for(;s>=0&&t[s].endTokenIndex===o+1;)r.push(t[s]),s--;if(o<0)break;let i=e.tokens[o],a=e.identifierNameForToken(i);if(r.length>1&&!i.isType&&i.type===f.name&&n.has(a)){if(function(e){let t=e.identifierRole;return t===m.TopLevelDeclaration||t===m.BlockScopedDeclaration||t===m.ObjectShorthandTopLevelDeclaration||t===m.ObjectShorthandBlockScopedDeclaration}(i))eP(r[r.length-1],e,a);else if(function(e){let t=e.identifierRole;return t===m.FunctionScopedDeclaration||t===m.ObjectShorthandFunctionScopedDeclaration}(i)){let t=r.length-1;for(;t>0&&!r[t].isFunctionScope;)t--;if(t<0)throw Error("Did not find parent function scope.");eP(r[t],e,a)}}}if(r.length>0)throw Error("Expected empty scope stack after processing file.")}(e,t,n)}function eP(e,t,n){for(let r=e.startTokenIndex;r<e.endTokenIndex;r++){let e=t.tokens[r];(e.type===f.name||e.type===f.jsxName)&&t.identifierNameForToken(e)===n&&(e.shadowsGlobal=!0)}}class eF{__init(){this.usedNames=new Set}constructor(e,t){eF.prototype.__init.call(this),this.usedNames=new Set(function(e,t){let n=[];for(let r of t)r.type===f.name&&n.push(e.slice(r.start,r.end));return n}(e,t))}claimFreeName(e){let t=this.findFreeName(e);return this.usedNames.add(t),t}findFreeName(e){if(!this.usedNames.has(e))return e;let t=2;for(;this.usedNames.has(e+String(t));)t++;return e+String(t)}}var eq=n(89043);let e$=eq.union(eq.lit("jsx"),eq.lit("typescript"),eq.lit("flow"),eq.lit("imports"),eq.lit("react-hot-loader"),eq.lit("jest")),eM=eq.iface([],{compiledFilename:"string"}),eB=eq.iface([],{transforms:eq.array("Transform"),disableESTransforms:eq.opt("boolean"),jsxRuntime:eq.opt(eq.union(eq.lit("classic"),eq.lit("automatic"),eq.lit("preserve"))),production:eq.opt("boolean"),jsxImportSource:eq.opt("string"),jsxPragma:eq.opt("string"),jsxFragmentPragma:eq.opt("string"),keepUnusedImports:eq.opt("boolean"),preserveDynamicImport:eq.opt("boolean"),injectCreateRequireForImportRequire:eq.opt("boolean"),enableLegacyTypeScriptModuleInterop:eq.opt("boolean"),enableLegacyBabel5ModuleInterop:eq.opt("boolean"),sourceMapOptions:eq.opt("SourceMapOptions"),filePath:eq.opt("string")}),{Options:eK}=(0,eq.createCheckers)({Transform:e$,SourceMapOptions:eM,Options:eB});function eU(e){tQ(),eW(e)}function eV(){tQ(),i.tokens[i.tokens.length-1].identifierRole=m.ImportDeclaration}function eW(e){let t;t=0===i.scopeDepth?m.TopLevelDeclaration:e?m.BlockScopedDeclaration:m.FunctionScopedDeclaration,i.tokens[i.tokens.length-1].identifierRole=t}function eH(e){switch(i.type){case f._this:{let e=Z(0);Q(),ee(e);return}case f._yield:case f.name:i.type=f.name,eU(e);return;case f.bracketL:Q(),eX(f.bracketR,e,!0);return;case f.braceL:tU(!0,e);return;default:B()}}function eX(e,t,n=!1,r=!1,s=0){let o=!0,a=!1,c=i.tokens.length;for(;!et(e)&&!i.error;)if(o?o=!1:(M(f.comma),i.tokens[i.tokens.length-1].contextId=s,!a&&i.tokens[c].isType&&(i.tokens[i.tokens.length-1].isType=!0,a=!0)),n&&er(f.comma));else if(et(e))break;else if(er(f.ellipsis)){Q(),eH(t),eG(),et(f.comma),M(e);break}else{var l,h;l=r,h=t,l&&eY([p._public,p._protected,p._private,p._readonly,p._override]),eJ(h),eG(),eJ(h,!0)}}function eG(){o?function(){let e=Z(0);et(f.question),er(f.colon)&&tY(),ee(e)}():s&&function(){let e=Z(0);et(f.question),ts(),ee(e)}()}function eJ(e,t=!1){if(t||eH(e),!et(f.eq))return;let n=i.tokens.length-1;tw(),i.tokens[n].rhsEndIndex=i.tokens.length}function ez(){return er(f.name)}function eQ(){let e=i.snapshot();return Q(),!!(er(f.bracketL)||er(f.braceL)||er(f.star)||er(f.ellipsis)||er(f.hash)||er(f.name)||i.type&f.IS_KEYWORD||er(f.string)||er(f.num)||er(f.bigint)||er(f.decimal))&&!P()||(i.restoreFromSnapshot(e),!1)}function eY(e){for(;null!==eZ(e););}function eZ(e){if(!er(f.name))return null;let t=i.contextualKeyword;if(-1!==e.indexOf(t)&&eQ()){switch(t){case p._readonly:i.tokens[i.tokens.length-1].type=f._readonly;break;case p._abstract:i.tokens[i.tokens.length-1].type=f._abstract;break;case p._static:i.tokens[i.tokens.length-1].type=f._static;break;case p._public:i.tokens[i.tokens.length-1].type=f._public;break;case p._private:i.tokens[i.tokens.length-1].type=f._private;break;case p._protected:i.tokens[i.tokens.length-1].type=f._protected;break;case p._override:i.tokens[i.tokens.length-1].type=f._override;break;case p._declare:i.tokens[i.tokens.length-1].type=f._declare}return t}return null}function e1(){for(tQ();et(f.dot);)tQ()}function e0(){M(f._import),M(f.parenL),M(f.string),M(f.parenR),et(f.dot)&&e1(),er(f.lessThan)&&t_()}function e2(){er(f.lessThan)&&e3()}function e3(){let e=Z(0);for(er(f.lessThan)||er(f.typeParameterStart)?Q():B();!et(f.greaterThan)&&!i.error;)!function(){et(f._const);let e=et(f._in),t=O(p._out);et(f._const),(e||t)&&!er(f.name)?i.tokens[i.tokens.length-1].type=f.name:tQ(),et(f._extends)&&ti(),et(f.eq)&&ti()}(),et(f.comma);ee(e)}function e4(e){var t;let n=e===f.arrow;e2(),M(f.parenL),i.scopeDepth++,t=!1,eX(f.parenR,t),i.scopeDepth--,n?tr(e):er(e)&&tr(e)}function e8(){et(f.comma)||$()}function e5(){e4(f.colon),e8()}function e6(){if(!(er(f.bracketL)&&function(){let e=i.snapshot();Q();let t=et(f.name)&&er(f.colon);return i.restoreFromSnapshot(e),t}()))return!1;let e=Z(0);return M(f.bracketL),tQ(),to(),M(f.bracketR),ts(),e8(),ee(e),!0}function e7(e){et(f.question),!e&&(er(f.parenL)||er(f.lessThan))?e4(f.colon):ts(),e8()}function e9(){for(M(f.braceL);!et(f.braceR)&&!i.error;)!function(){if(er(f.parenL)||er(f.lessThan)){e5();return}if(er(f._new)){Q(),er(f.parenL)||er(f.lessThan)?e5():e7(!1);return}let e=!!eZ([p._readonly]);!e6()&&((R(p._get)||R(p._set))&&eQ(),tV(-1),e7(e))}()}function te(e){e===g.TSAbstractConstructorType&&j(p._abstract),(e===g.TSConstructorType||e===g.TSAbstractConstructorType)&&M(f._new);let t=i.inDisallowConditionalTypesContext;i.inDisallowConditionalTypesContext=!1,e4(f.arrow),i.inDisallowConditionalTypesContext=t}function tt(){if(R(p._keyof)||R(p._unique)||R(p._readonly))Q(),tt();else if(R(p._infer))!function(){if(j(p._infer),tQ(),er(f._extends)){let e=i.snapshot();M(f._extends);let t=i.inDisallowConditionalTypesContext;i.inDisallowConditionalTypesContext=!0,ti(),i.inDisallowConditionalTypesContext=t,(i.error||!i.inDisallowConditionalTypesContext&&er(f.question))&&i.restoreFromSnapshot(e)}}();else{let e=i.inDisallowConditionalTypesContext;i.inDisallowConditionalTypesContext=!1,function(){for(function(){switch(i.type){case f.name:e1(),!P()&&er(f.lessThan)&&t_();return;case f._void:case f._null:case f.string:case f.num:case f.bigint:case f.decimal:case f._true:case f._false:Q();return;case f.minus:Q(),Q();return;case f._this:Q(),R(p._is)&&!P()&&(Q(),to());return;case f._typeof:M(f._typeof),er(f._import)?e0():e1(),!P()&&er(f.lessThan)&&t_();return;case f._import:e0();return;case f.braceL:(function(){let e=i.snapshot(),t=(Q(),et(f.plus)||et(f.minus))?R(p._readonly):(R(p._readonly)&&Q(),!!er(f.bracketL)&&(Q(),!!ez()&&(Q(),er(f._in))));return i.restoreFromSnapshot(e),t})()?(M(f.braceL),er(f.plus)||er(f.minus)?(Q(),j(p._readonly)):O(p._readonly),M(f.bracketL),tQ(),M(f._in),ti(),O(p._as)&&ti(),M(f.bracketR),er(f.plus)||er(f.minus)?(Q(),M(f.question)):et(f.question),et(f.colon)&&ti(),$(),M(f.braceR)):e9();return;case f.bracketL:!function(){for(M(f.bracketL);!et(f.bracketR)&&!i.error;)et(f.ellipsis)?ti():(ti(),et(f.question)),et(f.colon)&&ti(),et(f.comma)}();return;case f.parenL:M(f.parenL),ti(),M(f.parenR);return;case f.backQuote:!function(){for(Y(),Y();!er(f.backQuote)&&!i.error;)M(f.dollarBraceL),ti(),Y(),Y();Q()}();return;default:if(i.type&f.IS_KEYWORD){Q(),i.tokens[i.tokens.length-1].type=f.name;return}}B()}();!P()&&et(f.bracketL);)et(f.bracketR)||(ti(),M(f.bracketR))}(),i.inDisallowConditionalTypesContext=e}}function tn(){if(et(f.bitwiseAND),tt(),er(f.bitwiseAND))for(;et(f.bitwiseAND);)tt()}function tr(e){let t=Z(0);M(e),!function(){let e=i.snapshot();if(R(p._asserts)){if(Q(),O(p._is))return ti(),!0;if(ez()||er(f._this))return Q(),O(p._is)&&ti(),!0;i.restoreFromSnapshot(e)}else if(ez()||er(f._this)){if(Q(),R(p._is)&&!P())return Q(),ti(),!0;i.restoreFromSnapshot(e)}return!1}()&&ti(),ee(t)}function ts(){er(f.colon)&&to()}function to(){let e=Z(0);M(f.colon),ti(),ee(e)}function ti(){if(ta(),i.inDisallowConditionalTypesContext||P()||!et(f._extends))return;let e=i.inDisallowConditionalTypesContext;i.inDisallowConditionalTypesContext=!0,ta(),i.inDisallowConditionalTypesContext=e,M(f.question),ti(),M(f.colon),ti()}function ta(){if(er(f.lessThan)||er(f.parenL)&&function(){let e=i.snapshot(),t=(Q(),!!(er(f.parenR)||er(f.ellipsis)||function(){if(er(f.name)||er(f._this))return Q(),!0;if(er(f.braceL)||er(f.bracketL)){let e=1;for(Q();e>0&&!i.error;)er(f.braceL)||er(f.bracketL)?e++:(er(f.braceR)||er(f.bracketR))&&e--,Q();return!0}return!1}()&&(er(f.colon)||er(f.comma)||er(f.question)||er(f.eq)||er(f.parenR)&&(Q(),er(f.arrow)))));return i.restoreFromSnapshot(e),t}()){te(g.TSFunctionType);return}if(er(f._new)){te(g.TSConstructorType);return}if(R(p._abstract)&&es()===f._new){te(g.TSAbstractConstructorType);return}!function(){if(et(f.bitwiseOR),tn(),er(f.bitwiseOR))for(;et(f.bitwiseOR);)tn()}()}function tc(){for(;!er(f.braceL)&&!i.error;)e1(),er(f.lessThan)&&t_(),et(f.comma)}function tl(){for(eU(!1),M(f.braceL);!et(f.braceR)&&!i.error;)!function(){if(er(f.string)?Q():tQ(),et(f.eq)){let e=i.tokens.length-1;tw(),i.tokens[e].rhsEndIndex=i.tokens.length}}(),et(f.comma)}function th(){M(f.braceL),nm(f.braceR)}function tu(){eU(!1),et(f.dot)?tu():th()}function tp(){R(p._global)?tQ():er(f.string)?tF():B(),er(f.braceL)?th():$()}function tf(){eV(),M(f.eq),R(p._require)&&es()===f.parenL?(j(p._require),M(f.parenL),er(f.string)||B(),function(){Q()}(),M(f.parenR)):e1(),$()}function td(){return tm(i.contextualKeyword,!0)}function tm(e,t){switch(e){case p._abstract:if(tk(t)&&er(f._class))return i.tokens[i.tokens.length-1].type=f._abstract,nT(!0,!1),!0;break;case p._enum:if(tk(t)&&er(f.name))return i.tokens[i.tokens.length-1].type=f._enum,tl(),!0;break;case p._interface:if(tk(t)&&er(f.name)){let e=Z(t?2:1);return eU(!1),e2(),et(f._extends)&&tc(),e9(),ee(e),!0}break;case p._module:if(tk(t)){if(er(f.string)){let e=Z(t?2:1);return tp(),ee(e),!0}if(er(f.name)){let e=Z(t?2:1);return tu(),ee(e),!0}}break;case p._namespace:if(tk(t)&&er(f.name)){let e=Z(t?2:1);return tu(),ee(e),!0}break;case p._type:if(tk(t)&&er(f.name)){let e=Z(t?2:1);return eU(!1),e2(),M(f.eq),ti(),$(),ee(e),!0}}return!1}function tk(e){return e?(Q(),!0):!q()}function tg(){i.type===f.bitShiftL&&(i.pos-=1,ef(f.lessThan)),t_()}function t_(){let e=Z(0);for(M(f.lessThan);!er(f.greaterThan)&&!i.error;)ti(),et(f.comma);e?(M(f.greaterThan),ee(e)):(ee(e),em(),M(f.greaterThan),i.tokens[i.tokens.length-1].isType=!0)}function ty(){if(er(f.name))switch(i.contextualKeyword){case p._abstract:case p._declare:case p._enum:case p._interface:case p._module:case p._namespace:case p._type:return!0}return!1}(l=g||(g={}))[l.TSFunctionType=0]="TSFunctionType",l[l.TSConstructorType=1]="TSConstructorType",l[l.TSAbstractConstructorType=2]="TSAbstractConstructorType";function tx(e){if(tb(),!et(f.colon)){i.tokens[i.tokens.length-1].identifierRole=e;return}tb()}function tT(){let e=i.tokens.length;tx(m.Access);let t=!1;for(;er(f.dot);)t=!0,tb(),tb();if(!t){let t=i.tokens[e],n=a.charCodeAt(t.start);n>=d.lowercaseA&&n<=d.lowercaseZ&&(t.identifierRole=null)}}function tb(){i.tokens.push(new z),ep(),i.start=i.pos;let e=a.charCodeAt(i.pos);if(H[e])!function(){let e;do{if(i.pos>a.length){B("Unexpectedly reached the end of input.");return}e=a.charCodeAt(++i.pos)}while(W[e]||e===d.dash);ef(f.jsxName)}();else if(e===d.quotationMark||e===d.apostrophe)!function(e){for(i.pos++;;){if(i.pos>=a.length){B("Unterminated string constant");return}if(a.charCodeAt(i.pos)===e){i.pos++;break}i.pos++}ef(f.string)}(e);else switch(++i.pos,e){case d.greaterThan:ef(f.jsxTagEnd);break;case d.lessThan:ef(f.jsxTagStart);break;case d.slash:ef(f.slash);break;case d.equalsTo:ef(f.eq);break;case d.leftCurlyBrace:ef(f.braceL);break;case d.dot:ef(f.dot);break;case d.colon:ef(f.colon);break;default:B()}}function tI(){i.tokens.push(new z),i.start=i.pos,function(){let e=!1,t=!1;for(;;){if(i.pos>=a.length){B("Unterminated JSX contents");return}let n=a.charCodeAt(i.pos);if(n===d.lessThan||n===d.leftCurlyBrace){if(i.pos===i.start){if(n===d.lessThan){i.pos++,ef(f.jsxTagStart);return}ek(n);return}e&&!t?ef(f.jsxEmptyText):ef(f.jsxText);return}n===d.lineFeed?e=!0:n!==d.space&&n!==d.carriageReturn&&n!==d.tab&&(t=!0),i.pos++}}()}class tC{constructor(e){this.stop=e}}function tv(e=!1){if(tw(e),er(f.comma))for(;et(f.comma);)tw(e)}function tw(e=!1,t=!1){if(s)return r?function(e,t){if(!er(f.lessThan))return tE(e,t);let n=i.snapshot(),r=tE(e,t);return i.error&&(i.restoreFromSnapshot(n),i.type=f.typeParameterStart,e3(),(r=tE(e,t))||B()),r}(e,t):function(e,t){if(!er(f.lessThan))return tE(e,t);let n=i.snapshot();e3();let r=tE(e,t);return(r||B(),i.error)?(i.restoreFromSnapshot(n),tE(e,t)):r}(e,t);return o?function(e,t){if(er(f.lessThan)){let n=i.snapshot(),r=tE(e,t);if(!i.error)return r;i.restoreFromSnapshot(n),i.type=f.typeParameterStart;let s=Z(0);if(t8(),ee(s),r=tE(e,t))return!0;B()}return tE(e,t)}(e,t):tE(e,t)}function tE(e,t){var n,r;if(er(f._yield))return Q(),er(f.semi)||D()||(et(f.star),tw()),!1;(er(f.parenL)||er(f.name)||er(f._yield))&&(i.potentialArrowAt=i.start);let a=!!function(e){let t=i.tokens.length;return!!tS()||(function e(t,n,r){if(s&&(f._in&f.PRECEDENCE_MASK)>n&&!P()&&(O(p._as)||O(p._satisfies))){let s=Z(1);ti(),ee(s),em(),e(t,n,r);return}let o=i.type&f.PRECEDENCE_MASK;if(o>0&&(!r||!er(f._in))&&o>n){let s=i.type;Q(),s===f.nullishCoalescing&&(i.tokens[i.tokens.length-1].nullishStartIndex=t);let a=i.tokens.length;tS(),e(a,s&f.IS_RIGHT_ASSOCIATIVE?o-1:o,r),s===f.nullishCoalescing&&(i.tokens[t].numNullishCoalesceStarts++,i.tokens[i.tokens.length-1].numNullishCoalesceEnds++),e(t,n,r)}}(t,-1,e),!1)}(n=e)||(r=n,s||o?function(e){if(er(f.question)){let e=es();if(e===f.colon||e===f.comma||e===f.parenR)return}tA(e)}(r):tA(r),!1);return(t&&tB(),i.type&f.IS_ASSIGN)?(Q(),tw(e),!1):a}function tA(e){et(f.question)&&(tw(),M(f.colon),tw(e))}function tS(){if(s&&!r&&et(f.lessThan))return!function(){let e=Z(1);ti(),M(f.greaterThan),ee(e),tS()}(),!1;if(R(p._module)&&el()===d.leftCurlyBrace&&!F())return j(p._module),M(f.braceL),nm(f.braceR),!1;if(i.type&f.IS_PREFIX)return Q(),tS(),!1;if(tN())return!0;for(;i.type&f.IS_POSTFIX&&!D();)i.type===f.preIncDec&&(i.type=f.postIncDec),Q();return!1}function tN(){let e=i.tokens.length;return!!tF()||(tR(e),i.tokens.length>e&&i.tokens[e].isOptionalChainStart&&(i.tokens[i.tokens.length-1].isOptionalChainEnd=!0),!1)}function tR(e,t=!1){o?function(e,t=!1){if(i.tokens[i.tokens.length-1].contextualKeyword===p._async&&er(f.lessThan)){let e=i.snapshot();if(function(){i.scopeDepth++;let e=i.tokens.length;return nx(),!!tM()&&(tH(e),!0)}()&&!i.error)return;i.restoreFromSnapshot(e)}tL(e,t)}(e,t):tL(e,t)}function tL(e,t=!1){let n=new tC(!1);do{var r,a,c;r=e,a=t,c=n,s?function(e,t,n){if(!P()&&et(f.bang)){i.tokens[i.tokens.length-1].type=f.nonNullAssertion;return}if(er(f.lessThan)||er(f.bitShiftL)){let n=i.snapshot();if(!t&&tj()&&function(){let e=i.snapshot();return(e3(),nx(),er(f.colon)&&tr(f.colon),M(f.arrow),i.error)?(i.restoreFromSnapshot(e),!1):(tG(!0),!0)}()||(tg(),!t&&et(f.parenL)?(i.tokens[i.tokens.length-1].subscriptStartIndex=e,tD()):er(f.backQuote)?tK():(i.type===f.greaterThan||i.type!==f.parenL&&i.type&f.IS_EXPRESSION_START&&!P())&&B(),!i.error))return;i.restoreFromSnapshot(n)}else!t&&er(f.questionDot)&&es()===f.lessThan&&(Q(),i.tokens[e].isOptionalChainStart=!0,i.tokens[i.tokens.length-1].subscriptStartIndex=e,t_(),M(f.parenL),tD());tO(e,t,n)}(r,a,c):o?function(e,t,n){if(er(f.questionDot)&&es()===f.lessThan){if(t){n.stop=!0;return}Q(),t5(),M(f.parenL),tD();return}if(!t&&er(f.lessThan)){let e=i.snapshot();if(t5(),M(f.parenL),tD(),!i.error)return;i.restoreFromSnapshot(e)}tO(e,t,n)}(r,a,c):tO(r,a,c)}while(!n.stop&&!i.error)}function tO(e,t,n){if(!t&&et(f.doubleColon))tP(),n.stop=!0,tR(e,t);else if(er(f.questionDot)){if(i.tokens[e].isOptionalChainStart=!0,t&&es()===f.parenL){n.stop=!0;return}Q(),i.tokens[i.tokens.length-1].subscriptStartIndex=e,et(f.bracketL)?(tv(),M(f.bracketR)):et(f.parenL)?tD():tq()}else if(et(f.dot))i.tokens[i.tokens.length-1].subscriptStartIndex=e,tq();else if(et(f.bracketL))i.tokens[i.tokens.length-1].subscriptStartIndex=e,tv(),M(f.bracketR);else if(!t&&er(f.parenL)){if(tj()){var r;let t=i.snapshot(),a=i.tokens.length;Q(),i.tokens[i.tokens.length-1].subscriptStartIndex=e;let l=c++;i.tokens[i.tokens.length-1].contextId=l,tD(),i.tokens[i.tokens.length-1].contextId=l,(er(f.colon)||er(f.arrow))&&(i.restoreFromSnapshot(t),n.stop=!0,i.scopeDepth++,nx(),r=a,s?er(f.colon)&&to():o&&function(){if(er(f.colon)){let e=i.noAnonFunctionType;i.noAnonFunctionType=!0,tY(),i.noAnonFunctionType=e}}(),M(f.arrow),tH(r))}else{Q(),i.tokens[i.tokens.length-1].subscriptStartIndex=e;let t=c++;i.tokens[i.tokens.length-1].contextId=t,tD(),i.tokens[i.tokens.length-1].contextId=t}}else er(f.backQuote)?tK():n.stop=!0}function tj(){return i.tokens[i.tokens.length-1].contextualKeyword===p._async&&!D()}function tD(){let e=!0;for(;!et(f.parenR)&&!i.error;){if(e)e=!1;else if(M(f.comma),et(f.parenR))break;tz(!1)}}function tP(){let e=i.tokens.length;tF(),tR(e,!0)}function tF(){if(et(f.modulo))return tQ(),!1;if(er(f.jsxText)||er(f.jsxEmptyText))return Q(),!1;if(er(f.lessThan)&&r)return i.type=f.jsxTagStart,function e(){tb(),function t(){let n=i.tokens.length-1;i.tokens[n].jsxRole=k.NoChildren;let r=0;if(!function(t){if(er(f.jsxTagEnd))return!1;tT(),s&&function(){if(et(f.jsxTagStart)){i.tokens[i.tokens.length-1].type=f.typeParameterStart;let e=Z(1);for(;!er(f.greaterThan)&&!i.error;)ti(),et(f.comma);tb(),ee(e)}}();let n=!1;for(;!er(f.slash)&&!er(f.jsxTagEnd)&&!i.error;){if(et(f.braceL)){n=!0,M(f.ellipsis),tw(),tb();continue}n&&i.end-i.start==3&&a.charCodeAt(i.start)===d.lowercaseK&&a.charCodeAt(i.start+1)===d.lowercaseE&&a.charCodeAt(i.start+2)===d.lowercaseY&&(i.tokens[t].jsxRole=k.KeyAfterPropSpread),tx(m.ObjectKey),er(f.eq)&&(tb(),function(){switch(i.type){case f.braceL:Q(),tv(),tb();return;case f.jsxTagStart:e(),tb();return;case f.string:tb();return;default:B("JSX value should be either an expression or a quoted JSX text")}}())}let r=er(f.slash);return r&&tb(),r}(n))for(tI();;)switch(i.type){case f.jsxTagStart:if(tb(),er(f.slash)){tb(),er(f.jsxTagEnd)||tT(),i.tokens[n].jsxRole!==k.KeyAfterPropSpread&&(1===r?i.tokens[n].jsxRole=k.OneChild:r>1&&(i.tokens[n].jsxRole=k.StaticChildren));return}r++,t(),tI();break;case f.jsxText:r++,tI();break;case f.jsxEmptyText:tI();break;case f.braceL:Q(),er(f.ellipsis)?(M(f.ellipsis),tv(),tI(),r+=2):(er(f.braceR)||(r++,tv()),tI());break;default:B();return}}()}(),Q(),!1;let e=i.potentialArrowAt===i.start;switch(i.type){case f.slash:case f.assign:i.type===f.assign&&--i.pos,function(){let e=i.pos,t=!1,n=!1;for(;;){if(i.pos>=a.length){B("Unterminated regular expression",e);return}let r=a.charCodeAt(i.pos);if(t)t=!1;else{if(r===d.leftSquareBracket)n=!0;else if(r===d.rightSquareBracket&&n)n=!1;else if(r===d.slash&&!n)break;t=r===d.backslash}++i.pos}++i.pos,function(){for(;i.pos<a.length;){let e=a.charCodeAt(i.pos);if(W[e])i.pos++;else if(e===d.backslash){if(i.pos+=2,a.charCodeAt(i.pos)===d.leftCurlyBrace){for(;i.pos<a.length&&a.charCodeAt(i.pos)!==d.rightCurlyBrace;)i.pos++;i.pos++}}else break}}(),ef(f.regexp)}();case f._super:case f._this:case f.regexp:case f.num:case f.bigint:case f.decimal:case f.string:case f._null:case f._true:case f._false:return Q(),!1;case f._import:return Q(),er(f.dot)&&(i.tokens[i.tokens.length-1].type=f.name,Q(),tQ()),!1;case f.name:{let t=i.tokens.length,n=i.start,r=i.contextualKeyword;if(tQ(),r===p._await)return tS(),!1;if(r===p._async&&er(f._function)&&!D())return Q(),ny(n,!1),!1;if(e&&r===p._async&&!D()&&er(f.name))return i.scopeDepth++,eU(!1),M(f.arrow),tH(t),!0;else if(er(f._do)&&!D())return Q(),nd(),!1;if(e&&!D()&&er(f.arrow))return i.scopeDepth++,eW(!1),M(f.arrow),tH(t),!0;return i.tokens[i.tokens.length-1].identifierRole=m.Access,!1}case f._do:return Q(),nd(),!1;case f.parenL:return function e(t){let n=i.snapshot(),r=i.tokens.length;M(f.parenL);let s=!0;for(;!er(f.parenR)&&!i.error;){if(s)s=!1;else if(M(f.comma),er(f.parenR))break;if(er(f.ellipsis)){Q(),eH(!1),tB();break}tw(!1,!0)}return M(f.parenR),!!(t&&(er(f.colon)||!D())&&tM())&&(i.restoreFromSnapshot(n),i.scopeDepth++,nx(),tM(),tH(r),!i.error||(i.restoreFromSnapshot(n),e(!1),!1))}(e);case f.bracketL:return Q(),tJ(f.bracketR,!0),!1;case f.braceL:return tU(!1,!1),!1;case f._function:return function(){let e=i.start;tQ(),et(f.dot)&&tQ(),ny(e,!1)}(),!1;case f.at:nu();case f._class:return nT(!1),!1;case f._new:return function(){if(M(f._new),et(f.dot)){tQ();return}tP(),et(f.questionDot),o&&function(){if(er(f.lessThan)){let e=i.snapshot();t5(),i.error&&i.restoreFromSnapshot(e)}}(),et(f.parenL)&&tJ(f.parenR)}(),!1;case f.backQuote:return tK(),!1;case f.doubleColon:return Q(),tP(),!1;case f.hash:{let e=el();return H[e]||e===d.backslash?tq():Q(),!1}default:return B(),!1}}function tq(){et(f.hash),tQ()}function t$(){M(f.parenL),tv(),M(f.parenR)}function tM(){return s?function(){if(er(f.colon)){let e=i.snapshot();tr(f.colon),D()&&B(),er(f.arrow)||B(),i.error&&i.restoreFromSnapshot(e)}return et(f.arrow)}():o?function(){if(er(f.colon)){let e=Z(0),t=i.snapshot(),n=i.noAnonFunctionType;i.noAnonFunctionType=!0,t1(),i.noAnonFunctionType=n,D()&&B(),er(f.arrow)||B(),i.error&&i.restoreFromSnapshot(t),ee(e)}return et(f.arrow)}():et(f.arrow)}function tB(){(s||o)&&(en(f.question),er(f.colon)&&(s?to():o&&tY()))}function tK(){for(Y(),Y();!er(f.backQuote)&&!i.error;)M(f.dollarBraceL),tv(),Y(),Y();Q()}function tU(e,t){let n=c++,r=!0;for(Q(),i.tokens[i.tokens.length-1].contextId=n;!et(f.braceR)&&!i.error;){var a,l,h;if(r)r=!1;else if(M(f.comma),et(f.braceR))break;let c=!1;if(er(f.ellipsis)){let n=i.tokens.length;if(Q(),tw(!1),e&&(i.tokens.length===n+2&&eW(t),et(f.braceR)))break;continue}e||(c=et(f.star)),!e&&R(p._async)?(c&&B(),tQ(),er(f.colon)||er(f.parenL)||er(f.braceR)||er(f.eq)||er(f.comma)||(er(f.star)&&(Q(),c=!0),tV(n))):tV(n),a=e,l=t,h=n,s?e2():o&&er(f.lessThan)&&(t8(),er(f.parenL)||B()),!function(e,t){let n=i.start;return er(f.parenL)?(e&&B(),tW(n,!1),!0):!!(!e&&(er(f.string)||er(f.num)||er(f.bracketL)||er(f.name)||i.type&f.IS_KEYWORD))&&(tV(t),tW(n,!1),!0)}(a,h)&&function(e,t){let n;if(et(f.colon)){e?eJ(t):tw(!1);return}n=e?0===i.scopeDepth?m.ObjectShorthandTopLevelDeclaration:t?m.ObjectShorthandBlockScopedDeclaration:m.ObjectShorthandFunctionScopedDeclaration:m.ObjectShorthand,i.tokens[i.tokens.length-1].identifierRole=n,eJ(t,!0)}(a,l)}i.tokens[i.tokens.length-1].contextId=n}function tV(e){o&&na(),et(f.bracketL)?(i.tokens[i.tokens.length-1].contextId=e,tw(),M(f.bracketR)):(er(f.num)||er(f.string)||er(f.bigint)||er(f.decimal)?tF():tq(),i.tokens[i.tokens.length-1].identifierRole=m.ObjectKey),i.tokens[i.tokens.length-1].contextId=e}function tW(e,t){let n=c++;i.scopeDepth++;let r=i.tokens.length;nx(t,n),tX(e,n);let s=i.tokens.length;i.scopes.push(new E(r,s,!0)),i.scopeDepth--}function tH(e){tG(!0);let t=i.tokens.length;i.scopes.push(new E(e,t,!0)),i.scopeDepth--}function tX(e,t=0){var n;s?function(e,t){if(er(f.colon)&&tr(f.colon),!er(f.braceL)&&q()){let t=i.tokens.length-1;for(;t>=0&&(i.tokens[t].start>=e||i.tokens[t].type===f._default||i.tokens[t].type===f._export);)i.tokens[t].isType=!0,t--;return}tG(!1,t)}(e,t):o?(n=t,er(f.colon)&&t1(),tG(!1,n)):tG(!1,t)}function tG(e,t=0){e&&!er(f.braceL)?tw():nd(!0,t)}function tJ(e,t=!1){let n=!0;for(;!et(e)&&!i.error;){if(n)n=!1;else if(M(f.comma),et(e))break;tz(t)}}function tz(e){e&&er(f.comma)||(er(f.ellipsis)?(Q(),tw(!1),tB()):er(f.question)?Q():tw(!1,!0))}function tQ(){Q(),i.tokens[i.tokens.length-1].type=f.name}function tY(e){let t=Z(0);M(e||f.colon),no(),ee(t)}function tZ(){M(f.modulo),j(p._checks),et(f.parenL)&&(tv(),M(f.parenR))}function t1(){let e=Z(0);M(f.colon),er(f.modulo)?tZ():(no(),er(f.modulo)&&tZ()),ee(e)}function t0(e=!1){if(tQ(),er(f.lessThan)&&t8(),et(f._extends))do t2();while(!e&&et(f.comma));if(R(p._mixins)){Q();do t2();while(et(f.comma))}if(R(p._implements)){Q();do t2();while(et(f.comma))}t9(e,!1,e)}function t2(){ne(!1),er(f.lessThan)&&t5()}function t3(){tQ(),er(f.lessThan)&&t8(),tY(f.eq),$()}function t4(e){j(p._type),tQ(),er(f.lessThan)&&t8(),er(f.colon)&&tY(f.colon),e||tY(f.eq),$()}function t8(){let e=Z(0);er(f.lessThan)||er(f.typeParameterStart)?Q():B();do na(),ni(),et(f.eq)&&no(),er(f.greaterThan)||M(f.comma);while(!er(f.greaterThan)&&!i.error);M(f.greaterThan),ee(e)}function t5(){let e=Z(0);for(M(f.lessThan);!er(f.greaterThan)&&!i.error;)no(),er(f.greaterThan)||M(f.comma);M(f.greaterThan),ee(e)}function t6(){er(f.num)||er(f.string)?tF():tQ()}function t7(){for(er(f.lessThan)&&t8(),M(f.parenL);!er(f.parenR)&&!er(f.ellipsis)&&!i.error;)nt(),er(f.parenR)||M(f.comma);et(f.ellipsis)&&nt(),M(f.parenR),tY()}function t9(e,t,n){let r;for(t&&er(f.braceBarL)?(M(f.braceBarL),r=f.braceBarR):(M(f.braceL),r=f.braceR);!er(r)&&!i.error;){if(n&&R(p._proto)){let t=es();t!==f.colon&&t!==f.question&&(Q(),e=!1)}if(e&&R(p._static)){let e=es();e!==f.colon&&e!==f.question&&Q()}if(na(),et(f.bracketL))et(f.bracketL)?(t6(),M(f.bracketR),M(f.bracketR),er(f.lessThan)||er(f.parenL)?t7():(et(f.question),tY())):(es()===f.colon?(t6(),tY()):no(),M(f.bracketR),tY());else if(er(f.parenL)||er(f.lessThan))t7();else{if(R(p._get)||R(p._set)){let e=es();(e===f.name||e===f.string||e===f.num)&&Q()}er(f.ellipsis)?(M(f.ellipsis),et(f.comma)||et(f.semi),er(f.braceR)||no()):(t6(),er(f.lessThan)||er(f.parenL)?t7():(et(f.question),tY()))}et(f.semi)||et(f.comma)||er(f.braceR)||er(f.braceBarR)||B()}M(r)}function ne(e){for(e||tQ();et(f.dot);)tQ()}function nt(){let e=es();e===f.colon||e===f.question?(tQ(),et(f.question),tY()):no()}function nn(){for(;!er(f.parenR)&&!er(f.ellipsis)&&!i.error;)nt(),er(f.parenR)||M(f.comma);et(f.ellipsis)&&nt()}function nr(){!function e(){et(f.question)?e():function(){for(function e(){let t=!1,n=i.noAnonFunctionType;switch(i.type){case f.name:if(R(p._interface)){!function(){if(j(p._interface),et(f._extends))do t2();while(et(f.comma));t9(!1,!1,!1)}();return}tQ(),ne(!0),er(f.lessThan)&&t5();return;case f.braceL:t9(!1,!1,!1);return;case f.braceBarL:t9(!1,!0,!1);return;case f.bracketL:!function(){for(M(f.bracketL);i.pos<a.length&&!er(f.bracketR)&&(no(),!er(f.bracketR));)M(f.comma);M(f.bracketR)}();return;case f.lessThan:t8(),M(f.parenL),nn(),M(f.parenR),M(f.arrow),no();return;case f.parenL:if(Q(),!er(f.parenR)&&!er(f.ellipsis)){if(er(f.name)){let e=es();t=e!==f.question&&e!==f.colon}else t=!0}if(t){if(i.noAnonFunctionType=!1,no(),i.noAnonFunctionType=n,i.noAnonFunctionType||!(er(f.comma)||er(f.parenR)&&es()===f.arrow)){M(f.parenR);return}et(f.comma)}nn(),M(f.parenR),M(f.arrow),no();return;case f.minus:Q(),Q();return;case f.string:case f.num:case f._true:case f._false:case f._null:case f._this:case f._void:case f.star:Q();return;default:if(i.type===f._typeof){M(f._typeof),e();return}if(i.type&f.IS_KEYWORD){Q(),i.tokens[i.tokens.length-1].type=f.name;return}}B()}();!D()&&(er(f.bracketL)||er(f.questionDot));)et(f.questionDot),M(f.bracketL),et(f.bracketR)||(no(),M(f.bracketR))}()}(),!i.noAnonFunctionType&&et(f.arrow)&&no()}function ns(){for(et(f.bitwiseAND),nr();et(f.bitwiseAND);)nr()}function no(){!function(){for(et(f.bitwiseOR),ns();et(f.bitwiseOR);)ns()}()}function ni(){tQ(),er(f.colon)&&tY()}function na(){(er(f.plus)||er(f.minus))&&(Q(),i.tokens[i.tokens.length-1].isType=!0)}function nc(){j(p._enum),i.tokens[i.tokens.length-1].type=f._enum,tQ(),O(p._of)&&Q(),M(f.braceL),function(){for(;!er(f.braceR)&&!i.error&&!et(f.ellipsis);)tQ(),et(f.eq)&&Q(),er(f.braceR)||M(f.comma)}(),M(f.braceR)}function nl(e){!(o&&function(){if(er(f.name)&&i.contextualKeyword===p._interface){let e=Z(0);return Q(),t0(),ee(e),!0}return!!R(p._enum)&&(nc(),!0)}())&&(er(f.at)&&nu(),function(e){var t;if(s&&function(){if(i.type===f._const){let e=ei();if(e.type===f.name&&e.contextualKeyword===p._enum)return M(f._const),j(p._enum),i.tokens[i.tokens.length-1].type=f._enum,tl(),!0}return!1}())return;let n=i.type;switch(n){case f._break:case f._continue:Q(),q()||(tQ(),$());return;case f._debugger:Q(),$();return;case f._do:Q(),nl(!1),M(f._while),t$(),et(f.semi);return;case f._for:(function(){i.scopeDepth++;let e=i.tokens.length;(function(){Q();let e=!1;if(R(p._await)&&(e=!0,Q()),M(f.parenL),er(f.semi)){e&&B(),nk();return}let t=nh();if(t||er(f._var)||er(f._let)||er(f._const)||!(!R(p._using)||L(p._of))){if(t&&j(p._await),Q(),n_(!0,i.type!==f._var),er(f._in)||R(p._of)){ng(e);return}nk();return}if(tv(!0),er(f._in)||R(p._of)){ng(e);return}e&&B(),nk()})();let t=i.tokens.length;i.scopes.push(new E(e,t,!1)),i.scopeDepth--})();return;case f._function:if(es()===f.dot)break;e||B(),function(){let e=i.start;Q(),ny(e,!0)}();return;case f._class:e||B(),nT(!0);return;case f._if:Q(),t$(),nl(!1),et(f._else)&&nl(!1);return;case f._return:Q(),q()||(tv(),$());return;case f._switch:(function(){Q(),t$(),i.scopeDepth++;let e=i.tokens.length;for(M(f.braceL);!er(f.braceR)&&!i.error;)if(er(f._case)||er(f._default)){let e=er(f._case);Q(),e&&tv(),M(f.colon)}else nl(!0);Q();let t=i.tokens.length;i.scopes.push(new E(e,t,!1)),i.scopeDepth--})();return;case f._throw:Q(),tv(),$();return;case f._try:(function(){if(Q(),nd(),er(f._catch)){Q();let e=null;if(er(f.parenL)&&(i.scopeDepth++,e=i.tokens.length,M(f.parenL),eH(!0),s&&ts(),M(f.parenR)),nd(),null!=e){let t=i.tokens.length;i.scopes.push(new E(e,t,!1)),i.scopeDepth--}}et(f._finally)&&nd()})();return;case f._let:case f._const:e||B();case f._var:nf(n!==f._var);return;case f._while:Q(),t$(),nl(!1);return;case f.braceL:nd();return;case f.semi:Q();return;case f._export:case f._import:{let e=es();if(e===f.parenL||e===f.dot)break;Q(),n===f._import?nO():nA();return}case f.name:if(i.contextualKeyword===p._async){let e=i.start,t=i.snapshot();if(Q(),er(f._function)&&!D()){M(f._function),ny(e,!0);return}i.restoreFromSnapshot(t)}else if(i.contextualKeyword!==p._using||F()||es()!==f.name){if(nh()){j(p._await),nf(!0);return}}else{nf(!0);return}}let r=i.tokens.length;tv();let a=null;if(i.tokens.length===r+1){let e=i.tokens[i.tokens.length-1];e.type===f.name&&(a=e.contextualKeyword)}if(null==a){$();return}et(f.colon)?nl(!0):(t=a,s?!function(e){switch(e){case p._declare:{let e=i.tokens.length-1;if(function(){if(q())return!1;switch(i.type){case f._function:{let e=Z(1);return Q(),ny(i.start,!0),ee(e),!0}case f._class:{let e=Z(1);return nT(!0,!1),ee(e),!0}case f._const:if(er(f._const)&&L(p._enum)){let e=Z(1);return M(f._const),j(p._enum),i.tokens[i.tokens.length-1].type=f._enum,tl(),ee(e),!0}case f._var:case f._let:{let e=Z(1);return nf(i.type!==f._var),ee(e),!0}case f.name:{let e=Z(1),t=i.contextualKeyword,n=!1;return t===p._global?(tp(),n=!0):n=tm(t,!0),ee(e),n}default:return!1}}())return i.tokens[e].type=f._declare,!0;break}case p._global:if(er(f.braceL))return th(),!0;break;default:return tm(e,!1)}return!1}(t)&&$():o?function(e){if(e===p._declare){if(er(f._class)||er(f.name)||er(f._function)||er(f._var)||er(f._export)){let e=Z(1);(function e(){er(f._class)?(Q(),t0(!0)):er(f._function)?(Q(),tQ(),er(f.lessThan)&&t8(),M(f.parenL),nn(),M(f.parenR),t1(),$()):er(f._var)?(Q(),ni(),$()):O(p._module)?et(f.dot)?(j(p._exports),function(){tY()}(),$()):function(){for(er(f.string)?tF():tQ(),M(f.braceL);!er(f.braceR)&&!i.error;)er(f._import)?(Q(),nO()):B();M(f.braceR)}():R(p._type)?(Q(),t3()):R(p._opaque)?(Q(),t4(!0)):R(p._interface)?(Q(),t0()):er(f._export)?(M(f._export),et(f._default)?er(f._function)||er(f._class)?e():(no(),$()):er(f._var)||er(f._function)||er(f._class)||R(p._opaque)?e():er(f.star)||er(f.braceL)||R(p._interface)||R(p._type)||R(p._opaque)?nA():B()):B()})(),ee(e)}}else if(er(f.name)){if(e===p._interface){let e=Z(1);t0(),ee(e)}else if(e===p._type){let e=Z(1);t3(),ee(e)}else if(e===p._opaque){let e=Z(1);t4(!1),ee(e)}}$()}(t):$())}(e))}function nh(){if(!R(p._await))return!1;let e=i.snapshot();return(Q(),!R(p._using)||P())?(i.restoreFromSnapshot(e),!1):(Q(),!er(f.name)||P())?(i.restoreFromSnapshot(e),!1):(i.restoreFromSnapshot(e),!0)}function nu(){for(;er(f.at);)np()}function np(){if(Q(),et(f.parenL))tv(),M(f.parenR);else{for(tQ();et(f.dot);)tQ();s&&(er(f.lessThan)||er(f.bitShiftL))&&tg(),function(){et(f.parenL)&&tD()}()}}function nf(e){Q(),n_(!1,e),$()}function nd(e=!1,t=0){let n=i.tokens.length;i.scopeDepth++,M(f.braceL),t&&(i.tokens[i.tokens.length-1].contextId=t),nm(f.braceR),t&&(i.tokens[i.tokens.length-1].contextId=t);let r=i.tokens.length;i.scopes.push(new E(n,r,e)),i.scopeDepth--}function nm(e){for(;!et(e)&&!i.error;)nl(!0)}function nk(){M(f.semi),er(f.semi)||tv(),M(f.semi),er(f.parenR)||tv(),M(f.parenR),nl(!1)}function ng(e){e?O(p._of):Q(),tv(),M(f.parenR),nl(!1)}function n_(e,t){for(;;){if(eH(t),s?function(){let e=Z(0);P()||et(f.bang),ts(),ee(e)}():o&&er(f.colon)&&tY(),et(f.eq)){let t=i.tokens.length-1;tw(e),i.tokens[t].rhsEndIndex=i.tokens.length}if(!et(f.comma))break}}function ny(e,t,n=!1){er(f.star)&&Q(),!t||n||er(f.name)||er(f._yield)||B();let r=null;er(f.name)&&(!t&&(r=i.tokens.length,i.scopeDepth++),eU(!1));let s=i.tokens.length;i.scopeDepth++,nx(),tX(e);let o=i.tokens.length;i.scopes.push(new E(s,o,!0)),i.scopeDepth--,null!==r&&(i.scopes.push(new E(r,o,!0)),i.scopeDepth--)}function nx(e=!1,t=0){s?e2():o&&function(){if(er(f.lessThan)){let e=Z(0);t8(),ee(e)}}(),M(f.parenL),t&&(i.tokens[i.tokens.length-1].contextId=t),eX(f.parenR,!1,!1,e,t),t&&(i.tokens[i.tokens.length-1].contextId=t)}function nT(e,t=!1){let n,r=c++;Q(),i.tokens[i.tokens.length-1].contextId=r,i.tokens[i.tokens.length-1].isExpression=!e;let a=null;!e&&(a=i.tokens.length,i.scopeDepth++),function(e,t=!1){!(s&&(!e||t)&&R(p._implements))&&(er(f.name)&&eU(!0),s?e2():o&&er(f.lessThan)&&t8())}(e,t),n=!1,et(f._extends)?(tN(),n=!0):n=!1,s?function(e){if(e&&(er(f.lessThan)||er(f.bitShiftL))&&tg(),O(p._implements)){i.tokens[i.tokens.length-1].type=f._implements;let e=Z(1);tc(),ee(e)}}(n):o&&function(e){if(e&&er(f.lessThan)&&t5(),R(p._implements)){let e=Z(0);Q(),i.tokens[i.tokens.length-1].type=f._implements;do tQ(),er(f.lessThan)&&t5();while(et(f.comma));ee(e)}}(n);let l=i.tokens.length;if(function(e){for(M(f.braceL);!et(f.braceR)&&!i.error;)if(!et(f.semi)){if(er(f.at)){np();continue}(function(e,t){s&&eY([p._declare,p._public,p._protected,p._private,p._override]);let n=!1;if(er(f.name)&&i.contextualKeyword===p._static){if(tQ(),nI()){nC(e,!1);return}if(nb()){nE();return}if(i.tokens[i.tokens.length-1].type=f._static,n=!0,er(f.braceL)){i.tokens[i.tokens.length-1].contextId=t,nd();return}}(function(e,t,n){if(s&&function(e){let t=i.tokens.length;eY([p._abstract,p._readonly,p._declare,p._static,p._override]);let n=i.tokens.length;if(e6()){let r=e?t-1:t;for(let e=r;e<n;e++)i.tokens[e].isType=!0;return!0}return!1}(t))return;if(et(f.star)){(function(e){tV(e)})(n),nC(e,!1);return}(function(e){tV(e)})(n);let r=!1,o=i.tokens[i.tokens.length-1];o.contextualKeyword===p._constructor&&(r=!0),nw(),nI()?nC(e,r):nb()?nE():o.contextualKeyword!==p._async||q()?o.contextualKeyword!==p._get&&o.contextualKeyword!==p._set||q()&&er(f.star)?o.contextualKeyword!==p._accessor||q()?q()?nE():B():(function(e){tV(e)}(n),nE()):(o.contextualKeyword===p._get?i.tokens[i.tokens.length-1].type=f._get:i.tokens[i.tokens.length-1].type=f._set,function(e){tV(e)}(n),nC(e,!1)):(i.tokens[i.tokens.length-1].type=f._async,er(f.star)&&Q(),function(e){tV(e)}(n),nw(),nC(e,!1))})(e,n,t)})(i.start,e)}}(r),!i.error&&(i.tokens[l].contextId=r,i.tokens[i.tokens.length-1].contextId=r,null!==a)){let e=i.tokens.length;i.scopes.push(new E(a,e,!1)),i.scopeDepth--}}function nb(){return er(f.eq)||er(f.semi)||er(f.braceR)||er(f.bang)||er(f.colon)}function nI(){return er(f.parenL)||er(f.lessThan)}function nC(e,t){s?e2():o&&er(f.lessThan)&&t8(),tW(e,t)}function nv(e){tV(e)}function nw(){if(s){let e=Z(0);et(f.question),ee(e)}}function nE(){if(s?(en(f.bang),ts()):o&&er(f.colon)&&tY(),er(f.eq)){let e=i.tokens.length;Q(),tw(),i.tokens[e].rhsEndIndex=i.tokens.length}$()}function nA(){let e=i.tokens.length-1;!(s&&function(){if(et(f._import))return R(p._type)&&es()!==f.eq&&j(p._type),tf(),!0;if(et(f.eq))return tv(),$(),!0;if(O(p._as))return j(p._namespace),tQ(),$(),!0;if(R(p._type)){let e=es();(e===f.braceL||e===f.star)&&Q()}return!1}())&&((o?er(f.star)||R(p._type)&&es()===f.star:er(f.star))?o?function(){if(O(p._type)){let e=Z(2);nR(),ee(e)}else nR()}():nR():function(){if(s&&ty()||o&&er(f.name)&&(i.contextualKeyword===p._type||i.contextualKeyword===p._interface||i.contextualKeyword===p._opaque||i.contextualKeyword===p._enum))return!1;if(er(f.name))return i.contextualKeyword!==p._async;if(!er(f._default))return!1;let e=ea(),t=ei(),n=t.type===f.name&&t.contextualKeyword===p._from;if(t.type===f.comma)return!0;if(n){let t=a.charCodeAt(ec(e+4));return t===d.quotationMark||t===d.apostrophe}return!1}()?(tQ(),er(f.comma)&&es()===f.star?(M(f.comma),M(f.star),j(p._as),tQ()):nS(),nN()):et(f._default)?function(){if(s&&function(){if(R(p._abstract)&&es()===f._class)return i.type=f._abstract,Q(),nT(!0,!0),!0;if(R(p._interface)){let e=Z(2);return tm(p._interface,!0),ee(e),!0}return!1}()||o&&R(p._enum)&&(nc(),1))return;let e=i.start;et(f._function)?ny(e,!0,!0):R(p._async)&&es()===f._function?(O(p._async),et(f._function),ny(e,!0,!0)):er(f._class)?nT(!0,!0):er(f.at)?(nu(),nT(!0,!0)):(tw(),$())}():s&&ty()||o&&(R(p._type)||R(p._interface)||R(p._opaque)||R(p._enum))||i.type===f._var||i.type===f._const||i.type===f._let||i.type===f._function||i.type===f._class||R(p._async)||er(f.at)?s?function(){let e=O(p._declare);e&&(i.tokens[i.tokens.length-1].type=f._declare);let t=!1;if(er(f.name)){if(e){let e=Z(2);t=td(),ee(e)}else t=td()}if(!t){if(e){let e=Z(2);nl(!0),ee(e)}else nl(!0)}}():o?function(){if(R(p._type)){let e=Z(1);Q(),er(f.braceL)?(nL(),nN()):t3(),ee(e)}else if(R(p._opaque)){let e=Z(1);Q(),t4(!1),ee(e)}else if(R(p._interface)){let e=Z(1);Q(),t0(),ee(e)}else nl(!0)}():nl(!0):(nL(),nN()),i.tokens[e].rhsEndIndex=i.tokens.length)}function nS(){et(f.comma)&&nL()}function nN(){O(p._from)&&(tF(),nj()),$()}function nR(){M(f.star),R(p._as)?(Q(),i.tokens[i.tokens.length-1].type=f._as,tQ(),nS(),nN()):nN()}function nL(){let e=!0;for(M(f.braceL);!et(f.braceR)&&!i.error;){if(e)e=!1;else if(M(f.comma),et(f.braceR))break;!function(){if(s){!function(){if(tQ(),er(f.comma)||er(f.braceR)){i.tokens[i.tokens.length-1].identifierRole=m.ExportAccess;return}if(tQ(),er(f.comma)||er(f.braceR)){i.tokens[i.tokens.length-1].identifierRole=m.ExportAccess,i.tokens[i.tokens.length-2].isType=!0,i.tokens[i.tokens.length-1].isType=!0;return}if(tQ(),er(f.comma)||er(f.braceR)){i.tokens[i.tokens.length-3].identifierRole=m.ExportAccess;return}tQ(),i.tokens[i.tokens.length-3].identifierRole=m.ExportAccess,i.tokens[i.tokens.length-4].isType=!0,i.tokens[i.tokens.length-3].isType=!0,i.tokens[i.tokens.length-2].isType=!0,i.tokens[i.tokens.length-1].isType=!0}();return}tQ(),i.tokens[i.tokens.length-1].identifierRole=m.ExportAccess,O(p._as)&&tQ()}()}}function nO(){if(s&&er(f.name)&&es()===f.eq){tf();return}if(s&&R(p._type)){let e=ei();if(e.type===f.name&&e.contextualKeyword!==p._from){if(j(p._type),es()===f.eq){tf();return}}else(e.type===f.star||e.type===f.braceL)&&j(p._type)}er(f.string)||(R(p._module)&&function(){let e=i.snapshot();return(j(p._module),O(p._from))?R(p._from)?(i.restoreFromSnapshot(e),!0):(i.restoreFromSnapshot(e),!1):er(f.comma)?(i.restoreFromSnapshot(e),!1):(i.restoreFromSnapshot(e),!0)}()&&Q(),function(){o&&function(){if(er(f._typeof)||R(p._type)){let e=ei();((e.type===f.name||e.type&f.IS_KEYWORD)&&e.contextualKeyword!==p._from||e.type===f.braceL||e.type===f.star)&&Q()}}();let e=!0;if(!er(f.name)||(eV(),et(f.comma))){if(er(f.star)){Q(),j(p._as),eV();return}for(M(f.braceL);!et(f.braceR)&&!i.error;){if(e)e=!1;else if(et(f.colon)&&B("ES2015 named imports do not destructure. Use another statement for destructuring after the import."),M(f.comma),et(f.braceR))break;(function(){if(s){!function(){if(tQ(),er(f.comma)||er(f.braceR)){i.tokens[i.tokens.length-1].identifierRole=m.ImportDeclaration;return}if(tQ(),er(f.comma)||er(f.braceR)){i.tokens[i.tokens.length-1].identifierRole=m.ImportDeclaration,i.tokens[i.tokens.length-2].isType=!0,i.tokens[i.tokens.length-1].isType=!0;return}if(tQ(),er(f.comma)||er(f.braceR)){i.tokens[i.tokens.length-3].identifierRole=m.ImportAccess,i.tokens[i.tokens.length-1].identifierRole=m.ImportDeclaration;return}tQ(),i.tokens[i.tokens.length-3].identifierRole=m.ImportAccess,i.tokens[i.tokens.length-1].identifierRole=m.ImportDeclaration,i.tokens[i.tokens.length-4].isType=!0,i.tokens[i.tokens.length-3].isType=!0,i.tokens[i.tokens.length-2].isType=!0,i.tokens[i.tokens.length-1].isType=!0}();return}if(o){!function(){let e=i.contextualKeyword===p._type||i.type===f._typeof;(e?Q():tQ(),R(p._as)&&!L(p._as))?(tQ(),(!e||er(f.name)||i.type&f.IS_KEYWORD)&&tQ()):(e&&(er(f.name)||i.type&f.IS_KEYWORD)&&tQ(),O(p._as)&&tQ())}();return}eV(),R(p._as)&&(i.tokens[i.tokens.length-1].identifierRole=m.ImportAccess,Q(),eV())})()}}}(),j(p._from)),tF(),nj(),$()}function nj(){(er(f._with)||R(p._assert)&&!P())&&(Q(),tU(!1,!1))}class nD{constructor(e,t){this.tokens=e,this.scopes=t}}class nP{__init(){this.resultCode=""}__init2(){this.resultMappings=Array(this.tokens.length)}__init3(){this.tokenIndex=0}constructor(e,t,n,r,s){this.code=e,this.tokens=t,this.isFlowEnabled=n,this.disableESTransforms=r,this.helperManager=s,nP.prototype.__init.call(this),nP.prototype.__init2.call(this),nP.prototype.__init3.call(this)}snapshot(){return{resultCode:this.resultCode,tokenIndex:this.tokenIndex}}restoreToSnapshot(e){this.resultCode=e.resultCode,this.tokenIndex=e.tokenIndex}dangerouslyGetAndRemoveCodeSinceSnapshot(e){let t=this.resultCode.slice(e.resultCode.length);return this.resultCode=e.resultCode,t}reset(){this.resultCode="",this.resultMappings=Array(this.tokens.length),this.tokenIndex=0}matchesContextualAtIndex(e,t){return this.matches1AtIndex(e,f.name)&&this.tokens[e].contextualKeyword===t}identifierNameAtIndex(e){return this.identifierNameForToken(this.tokens[e])}identifierNameAtRelativeIndex(e){return this.identifierNameForToken(this.tokenAtRelativeIndex(e))}identifierName(){return this.identifierNameForToken(this.currentToken())}identifierNameForToken(e){return this.code.slice(e.start,e.end)}rawCodeForToken(e){return this.code.slice(e.start,e.end)}stringValueAtIndex(e){return this.stringValueForToken(this.tokens[e])}stringValue(){return this.stringValueForToken(this.currentToken())}stringValueForToken(e){return this.code.slice(e.start+1,e.end-1)}matches1AtIndex(e,t){return this.tokens[e].type===t}matches2AtIndex(e,t,n){return this.tokens[e].type===t&&this.tokens[e+1].type===n}matches3AtIndex(e,t,n,r){return this.tokens[e].type===t&&this.tokens[e+1].type===n&&this.tokens[e+2].type===r}matches1(e){return this.tokens[this.tokenIndex].type===e}matches2(e,t){return this.tokens[this.tokenIndex].type===e&&this.tokens[this.tokenIndex+1].type===t}matches3(e,t,n){return this.tokens[this.tokenIndex].type===e&&this.tokens[this.tokenIndex+1].type===t&&this.tokens[this.tokenIndex+2].type===n}matches4(e,t,n,r){return this.tokens[this.tokenIndex].type===e&&this.tokens[this.tokenIndex+1].type===t&&this.tokens[this.tokenIndex+2].type===n&&this.tokens[this.tokenIndex+3].type===r}matches5(e,t,n,r,s){return this.tokens[this.tokenIndex].type===e&&this.tokens[this.tokenIndex+1].type===t&&this.tokens[this.tokenIndex+2].type===n&&this.tokens[this.tokenIndex+3].type===r&&this.tokens[this.tokenIndex+4].type===s}matchesContextual(e){return this.matchesContextualAtIndex(this.tokenIndex,e)}matchesContextIdAndLabel(e,t){return this.matches1(e)&&this.currentToken().contextId===t}previousWhitespaceAndComments(){let e=this.code.slice(this.tokenIndex>0?this.tokens[this.tokenIndex-1].end:0,this.tokenIndex<this.tokens.length?this.tokens[this.tokenIndex].start:this.code.length);return this.isFlowEnabled&&(e=e.replace(/@flow/g,"")),e}replaceToken(e){this.resultCode+=this.previousWhitespaceAndComments(),this.appendTokenPrefix(),this.resultMappings[this.tokenIndex]=this.resultCode.length,this.resultCode+=e,this.appendTokenSuffix(),this.tokenIndex++}replaceTokenTrimmingLeftWhitespace(e){this.resultCode+=this.previousWhitespaceAndComments().replace(/[^\r\n]/g,""),this.appendTokenPrefix(),this.resultMappings[this.tokenIndex]=this.resultCode.length,this.resultCode+=e,this.appendTokenSuffix(),this.tokenIndex++}removeInitialToken(){this.replaceToken("")}removeToken(){this.replaceTokenTrimmingLeftWhitespace("")}removeBalancedCode(){let e=0;for(;!this.isAtEnd();){if(this.matches1(f.braceL))e++;else if(this.matches1(f.braceR)){if(0===e)return;e--}this.removeToken()}}copyExpectedToken(e){if(this.tokens[this.tokenIndex].type!==e)throw Error(`Expected token ${e}`);this.copyToken()}copyToken(){this.resultCode+=this.previousWhitespaceAndComments(),this.appendTokenPrefix(),this.resultMappings[this.tokenIndex]=this.resultCode.length,this.resultCode+=this.code.slice(this.tokens[this.tokenIndex].start,this.tokens[this.tokenIndex].end),this.appendTokenSuffix(),this.tokenIndex++}copyTokenWithPrefix(e){this.resultCode+=this.previousWhitespaceAndComments(),this.appendTokenPrefix(),this.resultCode+=e,this.resultMappings[this.tokenIndex]=this.resultCode.length,this.resultCode+=this.code.slice(this.tokens[this.tokenIndex].start,this.tokens[this.tokenIndex].end),this.appendTokenSuffix(),this.tokenIndex++}appendTokenPrefix(){let e=this.currentToken();if((e.numNullishCoalesceStarts||e.isOptionalChainStart)&&(e.isAsyncOperation=function(e){let t=e.currentIndex(),n=0,r=e.currentToken();do{let s=e.tokens[t];if(s.isOptionalChainStart&&n++,s.isOptionalChainEnd&&n--,n+=s.numNullishCoalesceStarts,n-=s.numNullishCoalesceEnds,s.contextualKeyword===p._await&&null==s.identifierRole&&s.scopeDepth===r.scopeDepth)return!0;t+=1}while(n>0&&t<e.tokens.length);return!1}(this)),!this.disableESTransforms){if(e.numNullishCoalesceStarts)for(let t=0;t<e.numNullishCoalesceStarts;t++)e.isAsyncOperation?(this.resultCode+="await ",this.resultCode+=this.helperManager.getHelperName("asyncNullishCoalesce")):this.resultCode+=this.helperManager.getHelperName("nullishCoalesce"),this.resultCode+="(";e.isOptionalChainStart&&(e.isAsyncOperation&&(this.resultCode+="await "),this.tokenIndex>0&&this.tokenAtRelativeIndex(-1).type===f._delete?e.isAsyncOperation?this.resultCode+=this.helperManager.getHelperName("asyncOptionalChainDelete"):this.resultCode+=this.helperManager.getHelperName("optionalChainDelete"):e.isAsyncOperation?this.resultCode+=this.helperManager.getHelperName("asyncOptionalChain"):this.resultCode+=this.helperManager.getHelperName("optionalChain"),this.resultCode+="([")}}appendTokenSuffix(){let e=this.currentToken();if(e.isOptionalChainEnd&&!this.disableESTransforms&&(this.resultCode+="])"),e.numNullishCoalesceEnds&&!this.disableESTransforms)for(let t=0;t<e.numNullishCoalesceEnds;t++)this.resultCode+="))"}appendCode(e){this.resultCode+=e}currentToken(){return this.tokens[this.tokenIndex]}currentTokenCode(){let e=this.currentToken();return this.code.slice(e.start,e.end)}tokenAtRelativeIndex(e){return this.tokens[this.tokenIndex+e]}currentIndex(){return this.tokenIndex}nextToken(){if(this.tokenIndex===this.tokens.length)throw Error("Unexpectedly reached end of input.");this.tokenIndex++}previousToken(){this.tokenIndex--}finish(){if(this.tokenIndex!==this.tokens.length)throw Error("Tried to finish processing tokens before reaching the end.");return this.resultCode+=this.previousWhitespaceAndComments(),{code:this.resultCode,mappings:this.resultMappings}}isAtEnd(){return this.tokenIndex===this.tokens.length}}function nF(e,t){for(e.nextToken();e.currentToken().contextId!==t;)e.nextToken();for(;n$(e.tokenAtRelativeIndex(-1));)e.previousToken()}function nq(e){let t=[];e.nextToken();let n=e.currentToken().contextId;if(null==n)throw Error("Expected context ID on open-paren starting constructor params.");for(;!e.matchesContextIdAndLabel(f.parenR,n);)if(e.currentToken().contextId===n){if(e.nextToken(),n$(e.currentToken())){for(e.nextToken();n$(e.currentToken());)e.nextToken();let n=e.currentToken();if(n.type!==f.name)throw Error("Expected identifier after access modifiers in constructor arg.");let r=e.identifierNameForToken(n);t.push(`this.${r} = ${r}`)}}else e.nextToken();for(e.nextToken();e.currentToken().isType;)e.nextToken();let r=e.currentIndex(),s=!1;for(;!e.matchesContextIdAndLabel(f.braceR,n);){if(!s&&e.matches2(f._super,f.parenL)){e.nextToken();let t=e.currentToken().contextId;if(null==t)throw Error("Expected a context ID on the super call");for(;!e.matchesContextIdAndLabel(f.parenR,t);)e.nextToken();r=e.currentIndex(),s=!0}e.nextToken()}return e.nextToken(),{constructorInitializerStatements:t,constructorInsertPos:r}}function n$(e){return[f._async,f._get,f._set,f.plus,f.minus,f._readonly,f._static,f._public,f._private,f._protected,f._override,f._abstract,f.star,f._declare,f.hash].includes(e.type)}function nM(e){if(e.removeInitialToken(),e.removeToken(),e.removeToken(),e.removeToken(),e.matches1(f.parenL))e.removeToken(),e.removeToken(),e.removeToken();else for(;e.matches1(f.dot);)e.removeToken(),e.removeToken()}let nB={typeDeclarations:new Set,valueDeclarations:new Set};function nK(e){let t=new Set,n=new Set;for(let r=0;r<e.tokens.length;r++){let s=e.tokens[r];s.type===f.name&&J(s)&&(s.isType?t.add(e.identifierNameForToken(s)):n.add(e.identifierNameForToken(s)))}return{typeDeclarations:t,valueDeclarations:n}}function nU(e){let t=e.currentIndex();for(;!e.matches1AtIndex(t,f.braceR);)t++;return e.matchesContextualAtIndex(t+1,p._from)&&e.matches1AtIndex(t+2,f.string)}function nV(e){(e.matches2(f._with,f.braceL)||e.matches2(f.name,f.braceL)&&e.matchesContextual(p._assert))&&(e.removeToken(),e.removeToken(),e.removeBalancedCode(),e.removeToken())}function nW(e,t,n,r){if(!e||t)return!1;let s=n.currentToken();if(null==s.rhsEndIndex)throw Error("Expected non-null rhsEndIndex on export token.");let o=s.rhsEndIndex-n.currentIndex();if(3!==o&&!(4===o&&n.matches1AtIndex(s.rhsEndIndex-1,f.semi)))return!1;let i=n.tokenAtRelativeIndex(2);if(i.type!==f.name)return!1;let a=n.identifierNameForToken(i);return r.typeDeclarations.has(a)&&!r.valueDeclarations.has(a)}class nH extends ev{__init(){this.hadExport=!1}__init2(){this.hadNamedExport=!1}__init3(){this.hadDefaultExport=!1}constructor(e,t,n,r,s,o,i,a,c,l,h,u){super(),this.rootTransformer=e,this.tokens=t,this.importProcessor=n,this.nameManager=r,this.helperManager=s,this.reactHotLoaderTransformer=o,this.enableLegacyBabel5ModuleInterop=i,this.enableLegacyTypeScriptModuleInterop=a,this.isTypeScriptTransformEnabled=c,this.isFlowTransformEnabled=l,this.preserveDynamicImport=h,this.keepUnusedImports=u,nH.prototype.__init.call(this),nH.prototype.__init2.call(this),nH.prototype.__init3.call(this),this.declarationInfo=c?nK(t):nB}getPrefixCode(){let e="";return this.hadExport&&(e+='Object.defineProperty(exports, "__esModule", {value: true});'),e}getSuffixCode(){return this.enableLegacyBabel5ModuleInterop&&this.hadDefaultExport&&!this.hadNamedExport?"\nmodule.exports = exports.default;\n":""}process(){return this.tokens.matches3(f._import,f.name,f.eq)?this.processImportEquals():this.tokens.matches1(f._import)?(this.processImport(),!0):this.tokens.matches2(f._export,f.eq)?(this.tokens.replaceToken("module.exports"),!0):this.tokens.matches1(f._export)&&!this.tokens.currentToken().isType?(this.hadExport=!0,this.processExport()):!!(this.tokens.matches2(f.name,f.postIncDec)&&this.processPostIncDec())||(this.tokens.matches1(f.name)||this.tokens.matches1(f.jsxName)?this.processIdentifier():this.tokens.matches1(f.eq)?this.processAssignment():this.tokens.matches1(f.assign)?this.processComplexAssignment():!!this.tokens.matches1(f.preIncDec)&&this.processPreIncDec())}processImportEquals(){let e=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);return this.importProcessor.shouldAutomaticallyElideImportedName(e)?nM(this.tokens):this.tokens.replaceToken("const"),!0}processImport(){if(this.tokens.matches2(f._import,f.parenL)){if(this.preserveDynamicImport){this.tokens.copyToken();return}let e=this.enableLegacyTypeScriptModuleInterop?"":`${this.helperManager.getHelperName("interopRequireWildcard")}(`;this.tokens.replaceToken(`Promise.resolve().then(() => ${e}require`);let t=this.tokens.currentToken().contextId;if(null==t)throw Error("Expected context ID on dynamic import invocation.");for(this.tokens.copyToken();!this.tokens.matchesContextIdAndLabel(f.parenR,t);)this.rootTransformer.processToken();this.tokens.replaceToken(e?")))":"))");return}if(this.removeImportAndDetectIfShouldElide())this.tokens.removeToken();else{let e=this.tokens.stringValue();this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(e)),this.tokens.appendCode(this.importProcessor.claimImportCode(e))}nV(this.tokens),this.tokens.matches1(f.semi)&&this.tokens.removeToken()}removeImportAndDetectIfShouldElide(){if(this.tokens.removeInitialToken(),this.tokens.matchesContextual(p._type)&&!this.tokens.matches1AtIndex(this.tokens.currentIndex()+1,f.comma)&&!this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,p._from))return this.removeRemainingImport(),!0;if(this.tokens.matches1(f.name)||this.tokens.matches1(f.star))return this.removeRemainingImport(),!1;if(this.tokens.matches1(f.string))return!1;let e=!1,t=!1;for(;!this.tokens.matches1(f.string);)(!e&&this.tokens.matches1(f.braceL)||this.tokens.matches1(f.comma))&&(this.tokens.removeToken(),this.tokens.matches1(f.braceR)||(t=!0),(this.tokens.matches2(f.name,f.comma)||this.tokens.matches2(f.name,f.braceR)||this.tokens.matches4(f.name,f.name,f.name,f.comma)||this.tokens.matches4(f.name,f.name,f.name,f.braceR))&&(e=!0)),this.tokens.removeToken();return!this.keepUnusedImports&&(this.isTypeScriptTransformEnabled?!e:!!this.isFlowTransformEnabled&&t&&!e)}removeRemainingImport(){for(;!this.tokens.matches1(f.string);)this.tokens.removeToken()}processIdentifier(){let e=this.tokens.currentToken();if(e.shadowsGlobal)return!1;if(e.identifierRole===m.ObjectShorthand)return this.processObjectShorthand();if(e.identifierRole!==m.Access)return!1;let t=this.importProcessor.getIdentifierReplacement(this.tokens.identifierNameForToken(e));if(!t)return!1;let n=this.tokens.currentIndex()+1;for(;n<this.tokens.tokens.length&&this.tokens.tokens[n].type===f.parenR;)n++;return this.tokens.tokens[n].type===f.parenL?this.tokens.tokenAtRelativeIndex(1).type===f.parenL&&this.tokens.tokenAtRelativeIndex(-1).type!==f._new?(this.tokens.replaceToken(`${t}.call(void 0, `),this.tokens.removeToken(),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(f.parenR)):this.tokens.replaceToken(`(0, ${t})`):this.tokens.replaceToken(t),!0}processObjectShorthand(){let e=this.tokens.identifierName(),t=this.importProcessor.getIdentifierReplacement(e);return!!t&&(this.tokens.replaceToken(`${e}: ${t}`),!0)}processExport(){if(this.tokens.matches2(f._export,f._enum)||this.tokens.matches3(f._export,f._const,f._enum))return this.hadNamedExport=!0,!1;if(this.tokens.matches2(f._export,f._default))return this.tokens.matches3(f._export,f._default,f._enum)?(this.hadDefaultExport=!0,!1):(this.processExportDefault(),!0);if(this.tokens.matches2(f._export,f.braceL))return this.processExportBindings(),!0;if(this.tokens.matches2(f._export,f.name)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,p._type)){if(this.tokens.removeInitialToken(),this.tokens.removeToken(),this.tokens.matches1(f.braceL)){for(;!this.tokens.matches1(f.braceR);)this.tokens.removeToken();this.tokens.removeToken()}else this.tokens.removeToken(),this.tokens.matches1(f._as)&&(this.tokens.removeToken(),this.tokens.removeToken());return this.tokens.matchesContextual(p._from)&&this.tokens.matches1AtIndex(this.tokens.currentIndex()+1,f.string)&&(this.tokens.removeToken(),this.tokens.removeToken(),nV(this.tokens)),!0}if(this.hadNamedExport=!0,this.tokens.matches2(f._export,f._var)||this.tokens.matches2(f._export,f._let)||this.tokens.matches2(f._export,f._const))return this.processExportVar(),!0;if(this.tokens.matches2(f._export,f._function)||this.tokens.matches3(f._export,f.name,f._function))return this.processExportFunction(),!0;if(this.tokens.matches2(f._export,f._class)||this.tokens.matches3(f._export,f._abstract,f._class)||this.tokens.matches2(f._export,f.at))return this.processExportClass(),!0;if(this.tokens.matches2(f._export,f.star))return this.processExportStar(),!0;throw Error("Unrecognized export syntax.")}processAssignment(){let e=this.tokens.currentIndex(),t=this.tokens.tokens[e-1];if(t.isType||t.type!==f.name||t.shadowsGlobal||e>=2&&this.tokens.matches1AtIndex(e-2,f.dot)||e>=2&&[f._var,f._let,f._const].includes(this.tokens.tokens[e-2].type))return!1;let n=this.importProcessor.resolveExportBinding(this.tokens.identifierNameForToken(t));return!!n&&(this.tokens.copyToken(),this.tokens.appendCode(` ${n} =`),!0)}processComplexAssignment(){let e=this.tokens.currentIndex(),t=this.tokens.tokens[e-1];if(t.type!==f.name||t.shadowsGlobal||e>=2&&this.tokens.matches1AtIndex(e-2,f.dot))return!1;let n=this.importProcessor.resolveExportBinding(this.tokens.identifierNameForToken(t));return!!n&&(this.tokens.appendCode(` = ${n}`),this.tokens.copyToken(),!0)}processPreIncDec(){let e=this.tokens.currentIndex(),t=this.tokens.tokens[e+1];if(t.type!==f.name||t.shadowsGlobal||e+2<this.tokens.tokens.length&&(this.tokens.matches1AtIndex(e+2,f.dot)||this.tokens.matches1AtIndex(e+2,f.bracketL)||this.tokens.matches1AtIndex(e+2,f.parenL)))return!1;let n=this.tokens.identifierNameForToken(t),r=this.importProcessor.resolveExportBinding(n);return!!r&&(this.tokens.appendCode(`${r} = `),this.tokens.copyToken(),!0)}processPostIncDec(){let e=this.tokens.currentIndex(),t=this.tokens.tokens[e],n=this.tokens.tokens[e+1];if(t.type!==f.name||t.shadowsGlobal||e>=1&&this.tokens.matches1AtIndex(e-1,f.dot))return!1;let r=this.tokens.identifierNameForToken(t),s=this.importProcessor.resolveExportBinding(r);if(!s)return!1;let o=this.tokens.rawCodeForToken(n),i=this.importProcessor.getIdentifierReplacement(r)||r;if("++"===o)this.tokens.replaceToken(`(${i} = ${s} = ${i} + 1, ${i} - 1)`);else if("--"===o)this.tokens.replaceToken(`(${i} = ${s} = ${i} - 1, ${i} + 1)`);else throw Error(`Unexpected operator: ${o}`);return this.tokens.removeToken(),!0}processExportDefault(){let e=!0;if(this.tokens.matches4(f._export,f._default,f._function,f.name)||this.tokens.matches5(f._export,f._default,f.name,f._function,f.name)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+2,p._async)){this.tokens.removeInitialToken(),this.tokens.removeToken();let e=this.processNamedFunction();this.tokens.appendCode(` exports.default = ${e};`)}else if(this.tokens.matches4(f._export,f._default,f._class,f.name)||this.tokens.matches5(f._export,f._default,f._abstract,f._class,f.name)||this.tokens.matches3(f._export,f._default,f.at)){this.tokens.removeInitialToken(),this.tokens.removeToken(),this.copyDecorators(),this.tokens.matches1(f._abstract)&&this.tokens.removeToken();let e=this.rootTransformer.processNamedClass();this.tokens.appendCode(` exports.default = ${e};`)}else if(nW(this.isTypeScriptTransformEnabled,this.keepUnusedImports,this.tokens,this.declarationInfo))e=!1,this.tokens.removeInitialToken(),this.tokens.removeToken(),this.tokens.removeToken();else if(this.reactHotLoaderTransformer){let e=this.nameManager.claimFreeName("_default");this.tokens.replaceToken(`let ${e}; exports.`),this.tokens.copyToken(),this.tokens.appendCode(` = ${e} =`),this.reactHotLoaderTransformer.setExtractedDefaultExportName(e)}else this.tokens.replaceToken("exports."),this.tokens.copyToken(),this.tokens.appendCode(" =");e&&(this.hadDefaultExport=!0)}copyDecorators(){for(;this.tokens.matches1(f.at);)if(this.tokens.copyToken(),this.tokens.matches1(f.parenL))this.tokens.copyExpectedToken(f.parenL),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(f.parenR);else{for(this.tokens.copyExpectedToken(f.name);this.tokens.matches1(f.dot);)this.tokens.copyExpectedToken(f.dot),this.tokens.copyExpectedToken(f.name);this.tokens.matches1(f.parenL)&&(this.tokens.copyExpectedToken(f.parenL),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(f.parenR))}}processExportVar(){this.isSimpleExportVar()?this.processSimpleExportVar():this.processComplexExportVar()}isSimpleExportVar(){let e=this.tokens.currentIndex();if(e++,e++,!this.tokens.matches1AtIndex(e,f.name))return!1;for(e++;e<this.tokens.tokens.length&&this.tokens.tokens[e].isType;)e++;return!!this.tokens.matches1AtIndex(e,f.eq)}processSimpleExportVar(){this.tokens.removeInitialToken(),this.tokens.copyToken();let e=this.tokens.identifierName();for(;!this.tokens.matches1(f.eq);)this.rootTransformer.processToken();let t=this.tokens.currentToken().rhsEndIndex;if(null==t)throw Error("Expected = token with an end index.");for(;this.tokens.currentIndex()<t;)this.rootTransformer.processToken();this.tokens.appendCode(`; exports.${e} = ${e}`)}processComplexExportVar(){this.tokens.removeInitialToken(),this.tokens.removeToken();let e=this.tokens.matches1(f.braceL);e&&this.tokens.appendCode("(");let t=0;for(;;)if(this.tokens.matches1(f.braceL)||this.tokens.matches1(f.dollarBraceL)||this.tokens.matches1(f.bracketL))t++,this.tokens.copyToken();else if(this.tokens.matches1(f.braceR)||this.tokens.matches1(f.bracketR))t--,this.tokens.copyToken();else if(0!==t||this.tokens.matches1(f.name)||this.tokens.currentToken().isType){if(this.tokens.matches1(f.eq)){let e=this.tokens.currentToken().rhsEndIndex;if(null==e)throw Error("Expected = token with an end index.");for(;this.tokens.currentIndex()<e;)this.rootTransformer.processToken()}else{let e=this.tokens.currentToken();if(G(e)){let t=this.tokens.identifierName(),n=this.importProcessor.getIdentifierReplacement(t);if(null===n)throw Error(`Expected a replacement for ${t} in \`export var\` syntax.`);(e.identifierRole===m.ObjectShorthandTopLevelDeclaration||e.identifierRole===m.ObjectShorthandBlockScopedDeclaration||e.identifierRole===m.ObjectShorthandFunctionScopedDeclaration)&&(n=`${t}: ${n}`),this.tokens.replaceToken(n)}else this.rootTransformer.processToken()}}else break;if(e){let e=this.tokens.currentToken().rhsEndIndex;if(null==e)throw Error("Expected = token with an end index.");for(;this.tokens.currentIndex()<e;)this.rootTransformer.processToken();this.tokens.appendCode(")")}}processExportFunction(){this.tokens.replaceToken("");let e=this.processNamedFunction();this.tokens.appendCode(` exports.${e} = ${e};`)}processNamedFunction(){if(this.tokens.matches1(f._function))this.tokens.copyToken();else if(this.tokens.matches2(f.name,f._function)){if(!this.tokens.matchesContextual(p._async))throw Error("Expected async keyword in function export.");this.tokens.copyToken(),this.tokens.copyToken()}if(this.tokens.matches1(f.star)&&this.tokens.copyToken(),!this.tokens.matches1(f.name))throw Error("Expected identifier for exported function name.");let e=this.tokens.identifierName();if(this.tokens.copyToken(),this.tokens.currentToken().isType)for(this.tokens.removeInitialToken();this.tokens.currentToken().isType;)this.tokens.removeToken();return this.tokens.copyExpectedToken(f.parenL),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(f.parenR),this.rootTransformer.processPossibleTypeRange(),this.tokens.copyExpectedToken(f.braceL),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(f.braceR),e}processExportClass(){this.tokens.removeInitialToken(),this.copyDecorators(),this.tokens.matches1(f._abstract)&&this.tokens.removeToken();let e=this.rootTransformer.processNamedClass();this.tokens.appendCode(` exports.${e} = ${e};`)}processExportBindings(){this.tokens.removeInitialToken(),this.tokens.removeToken();let e=nU(this.tokens),t=[];for(;;){if(this.tokens.matches1(f.braceR)){this.tokens.removeToken();break}let n=ex(this.tokens);for(;this.tokens.currentIndex()<n.endIndex;)this.tokens.removeToken();if(!(n.isType||!e&&this.shouldElideExportedIdentifier(n.leftName))){let e=n.rightName;"default"===e?this.hadDefaultExport=!0:this.hadNamedExport=!0;let r=n.leftName,s=this.importProcessor.getIdentifierReplacement(r);t.push(`exports.${e} = ${s||r};`)}if(this.tokens.matches1(f.braceR)){this.tokens.removeToken();break}if(this.tokens.matches2(f.comma,f.braceR)){this.tokens.removeToken(),this.tokens.removeToken();break}if(this.tokens.matches1(f.comma))this.tokens.removeToken();else throw Error(`Unexpected token: ${JSON.stringify(this.tokens.currentToken())}`)}if(this.tokens.matchesContextual(p._from)){this.tokens.removeToken();let e=this.tokens.stringValue();this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(e)),nV(this.tokens)}else this.tokens.appendCode(t.join(" "));this.tokens.matches1(f.semi)&&this.tokens.removeToken()}processExportStar(){for(this.tokens.removeInitialToken();!this.tokens.matches1(f.string);)this.tokens.removeToken();let e=this.tokens.stringValue();this.tokens.replaceTokenTrimmingLeftWhitespace(this.importProcessor.claimImportCode(e)),nV(this.tokens),this.tokens.matches1(f.semi)&&this.tokens.removeToken()}shouldElideExportedIdentifier(e){return this.isTypeScriptTransformEnabled&&!this.keepUnusedImports&&!this.declarationInfo.valueDeclarations.has(e)}}class nX extends ev{constructor(e,t,n,r,s,o,i,a){super(),this.tokens=e,this.nameManager=t,this.helperManager=n,this.reactHotLoaderTransformer=r,this.isTypeScriptTransformEnabled=s,this.isFlowTransformEnabled=o,this.keepUnusedImports=i,this.nonTypeIdentifiers=s&&!i?eN(e,a):new Set,this.declarationInfo=s&&!i?nK(e):nB,this.injectCreateRequireForImportRequire=!!a.injectCreateRequireForImportRequire}process(){if(this.tokens.matches3(f._import,f.name,f.eq))return this.processImportEquals();if(this.tokens.matches4(f._import,f.name,f.name,f.eq)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,p._type)){this.tokens.removeInitialToken();for(let e=0;e<7;e++)this.tokens.removeToken();return!0}if(this.tokens.matches2(f._export,f.eq))return this.tokens.replaceToken("module.exports"),!0;if(this.tokens.matches5(f._export,f._import,f.name,f.name,f.eq)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+2,p._type)){this.tokens.removeInitialToken();for(let e=0;e<8;e++)this.tokens.removeToken();return!0}if(this.tokens.matches1(f._import))return this.processImport();if(this.tokens.matches2(f._export,f._default))return this.processExportDefault();if(this.tokens.matches2(f._export,f.braceL))return this.processNamedExports();if(this.tokens.matches2(f._export,f.name)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,p._type)){if(this.tokens.removeInitialToken(),this.tokens.removeToken(),this.tokens.matches1(f.braceL)){for(;!this.tokens.matches1(f.braceR);)this.tokens.removeToken();this.tokens.removeToken()}else this.tokens.removeToken(),this.tokens.matches1(f._as)&&(this.tokens.removeToken(),this.tokens.removeToken());return this.tokens.matchesContextual(p._from)&&this.tokens.matches1AtIndex(this.tokens.currentIndex()+1,f.string)&&(this.tokens.removeToken(),this.tokens.removeToken(),nV(this.tokens)),!0}return!1}processImportEquals(){let e=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);return this.shouldAutomaticallyElideImportedName(e)?nM(this.tokens):this.injectCreateRequireForImportRequire?(this.tokens.replaceToken("const"),this.tokens.copyToken(),this.tokens.copyToken(),this.tokens.replaceToken(this.helperManager.getHelperName("require"))):this.tokens.replaceToken("const"),!0}processImport(){if(this.tokens.matches2(f._import,f.parenL))return!1;let e=this.tokens.snapshot();if(this.removeImportTypeBindings()){for(this.tokens.restoreToSnapshot(e);!this.tokens.matches1(f.string);)this.tokens.removeToken();this.tokens.removeToken(),nV(this.tokens),this.tokens.matches1(f.semi)&&this.tokens.removeToken()}return!0}removeImportTypeBindings(){if(this.tokens.copyExpectedToken(f._import),this.tokens.matchesContextual(p._type)&&!this.tokens.matches1AtIndex(this.tokens.currentIndex()+1,f.comma)&&!this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+1,p._from))return!0;if(this.tokens.matches1(f.string))return this.tokens.copyToken(),!1;this.tokens.matchesContextual(p._module)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+2,p._from)&&this.tokens.copyToken();let e=!1,t=!1,n=!1;if(this.tokens.matches1(f.name)&&(this.shouldAutomaticallyElideImportedName(this.tokens.identifierName())?(this.tokens.removeToken(),this.tokens.matches1(f.comma)&&this.tokens.removeToken()):(e=!0,this.tokens.copyToken(),this.tokens.matches1(f.comma)&&(n=!0,this.tokens.removeToken()))),this.tokens.matches1(f.star))this.shouldAutomaticallyElideImportedName(this.tokens.identifierNameAtRelativeIndex(2))?(this.tokens.removeToken(),this.tokens.removeToken(),this.tokens.removeToken()):(n&&this.tokens.appendCode(","),e=!0,this.tokens.copyExpectedToken(f.star),this.tokens.copyExpectedToken(f.name),this.tokens.copyExpectedToken(f.name));else if(this.tokens.matches1(f.braceL)){for(n&&this.tokens.appendCode(","),this.tokens.copyToken();!this.tokens.matches1(f.braceR);){t=!0;let n=ex(this.tokens);if(n.isType||this.shouldAutomaticallyElideImportedName(n.rightName)){for(;this.tokens.currentIndex()<n.endIndex;)this.tokens.removeToken();this.tokens.matches1(f.comma)&&this.tokens.removeToken()}else{for(e=!0;this.tokens.currentIndex()<n.endIndex;)this.tokens.copyToken();this.tokens.matches1(f.comma)&&this.tokens.copyToken()}}this.tokens.copyExpectedToken(f.braceR)}return!this.keepUnusedImports&&(this.isTypeScriptTransformEnabled?!e:!!this.isFlowTransformEnabled&&t&&!e)}shouldAutomaticallyElideImportedName(e){return this.isTypeScriptTransformEnabled&&!this.keepUnusedImports&&!this.nonTypeIdentifiers.has(e)}processExportDefault(){if(nW(this.isTypeScriptTransformEnabled,this.keepUnusedImports,this.tokens,this.declarationInfo))return this.tokens.removeInitialToken(),this.tokens.removeToken(),this.tokens.removeToken(),!0;if(!(this.tokens.matches4(f._export,f._default,f._function,f.name)||this.tokens.matches5(f._export,f._default,f.name,f._function,f.name)&&this.tokens.matchesContextualAtIndex(this.tokens.currentIndex()+2,p._async)||this.tokens.matches4(f._export,f._default,f._class,f.name)||this.tokens.matches5(f._export,f._default,f._abstract,f._class,f.name))&&this.reactHotLoaderTransformer){let e=this.nameManager.claimFreeName("_default");return this.tokens.replaceToken(`let ${e}; export`),this.tokens.copyToken(),this.tokens.appendCode(` ${e} =`),this.reactHotLoaderTransformer.setExtractedDefaultExportName(e),!0}return!1}processNamedExports(){if(!this.isTypeScriptTransformEnabled)return!1;this.tokens.copyExpectedToken(f._export),this.tokens.copyExpectedToken(f.braceL);let e=nU(this.tokens),t=!1;for(;!this.tokens.matches1(f.braceR);){let n=ex(this.tokens);if(n.isType||!e&&this.shouldElideExportedName(n.leftName)){for(;this.tokens.currentIndex()<n.endIndex;)this.tokens.removeToken();this.tokens.matches1(f.comma)&&this.tokens.removeToken()}else{for(t=!0;this.tokens.currentIndex()<n.endIndex;)this.tokens.copyToken();this.tokens.matches1(f.comma)&&this.tokens.copyToken()}}return this.tokens.copyExpectedToken(f.braceR),this.keepUnusedImports||!e||t||(this.tokens.removeToken(),this.tokens.removeToken(),nV(this.tokens)),!0}shouldElideExportedName(e){return this.isTypeScriptTransformEnabled&&!this.keepUnusedImports&&this.declarationInfo.typeDeclarations.has(e)&&!this.declarationInfo.valueDeclarations.has(e)}}class nG extends ev{constructor(e,t,n){super(),this.rootTransformer=e,this.tokens=t,this.isImportsTransformEnabled=n}process(){return!!(this.rootTransformer.processPossibleArrowParamEnd()||this.rootTransformer.processPossibleAsyncArrowWithTypeParams()||this.rootTransformer.processPossibleTypeRange())||(this.tokens.matches1(f._enum)?(this.processEnum(),!0):this.tokens.matches2(f._export,f._enum)?(this.processNamedExportEnum(),!0):!!this.tokens.matches3(f._export,f._default,f._enum)&&(this.processDefaultExportEnum(),!0))}processNamedExportEnum(){if(this.isImportsTransformEnabled){this.tokens.removeInitialToken();let e=this.tokens.identifierNameAtRelativeIndex(1);this.processEnum(),this.tokens.appendCode(` exports.${e} = ${e};`)}else this.tokens.copyToken(),this.processEnum()}processDefaultExportEnum(){this.tokens.removeInitialToken(),this.tokens.removeToken();let e=this.tokens.identifierNameAtRelativeIndex(1);this.processEnum(),this.isImportsTransformEnabled?this.tokens.appendCode(` exports.default = ${e};`):this.tokens.appendCode(` export default ${e};`)}processEnum(){this.tokens.replaceToken("const"),this.tokens.copyExpectedToken(f.name);let e=!1;this.tokens.matchesContextual(p._of)&&(this.tokens.removeToken(),e=this.tokens.matchesContextual(p._symbol),this.tokens.removeToken());let t=this.tokens.matches3(f.braceL,f.name,f.eq);this.tokens.appendCode(' = require("flow-enums-runtime")');let n=!e&&!t;for(this.tokens.replaceTokenTrimmingLeftWhitespace(n?".Mirrored([":"({");!this.tokens.matches1(f.braceR);){if(this.tokens.matches1(f.ellipsis)){this.tokens.removeToken();break}this.processEnumElement(e,t),this.tokens.matches1(f.comma)&&this.tokens.copyToken()}this.tokens.replaceToken(n?"]);":"});")}processEnumElement(e,t){if(e){let e=this.tokens.identifierName();this.tokens.copyToken(),this.tokens.appendCode(`: Symbol("${e}")`)}else t?(this.tokens.copyToken(),this.tokens.replaceTokenTrimmingLeftWhitespace(":"),this.tokens.copyToken()):this.tokens.replaceToken(`"${this.tokens.identifierName()}"`)}}let nJ="jest",nz=["mock","unmock","enableAutomock","disableAutomock"];class nQ extends ev{__init(){this.hoistedFunctionNames=[]}constructor(e,t,n,r){super(),this.rootTransformer=e,this.tokens=t,this.nameManager=n,this.importProcessor=r,nQ.prototype.__init.call(this)}process(){return!!(0===this.tokens.currentToken().scopeDepth&&this.tokens.matches4(f.name,f.dot,f.name,f.parenL))&&this.tokens.identifierName()===nJ&&!function(e){let t;let n=e[0],r=1;for(;r<e.length;){let s=e[r],o=e[r+1];if(r+=2,("optionalAccess"===s||"optionalCall"===s)&&null==n)return;"access"===s||"optionalAccess"===s?(t=n,n=o(n)):("call"===s||"optionalCall"===s)&&(n=o((...e)=>n.call(t,...e)),t=void 0)}return n}([this,"access",e=>e.importProcessor,"optionalAccess",e=>e.getGlobalNames,"call",e=>e(),"optionalAccess",e=>e.has,"call",e=>e(nJ)])&&this.extractHoistedCalls()}getHoistedCode(){return this.hoistedFunctionNames.length>0?this.hoistedFunctionNames.map(e=>`${e}();`).join(""):""}extractHoistedCalls(){this.tokens.removeToken();let e=!1;for(;this.tokens.matches3(f.dot,f.name,f.parenL);){let t=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);if(nz.includes(t)){let t=this.nameManager.claimFreeName("__jestHoist");this.hoistedFunctionNames.push(t),this.tokens.replaceToken(`function ${t}(){${nJ}.`),this.tokens.copyToken(),this.tokens.copyToken(),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(f.parenR),this.tokens.appendCode(";}"),e=!1}else e?this.tokens.copyToken():this.tokens.replaceToken(`${nJ}.`),this.tokens.copyToken(),this.tokens.copyToken(),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(f.parenR),e=!0}return!0}}class nY extends ev{constructor(e){super(),this.tokens=e}process(){if(this.tokens.matches1(f.num)){let e=this.tokens.currentTokenCode();if(e.includes("_"))return this.tokens.replaceToken(e.replace(/_/g,"")),!0}return!1}}class nZ extends ev{constructor(e,t){super(),this.tokens=e,this.nameManager=t}process(){return!!this.tokens.matches2(f._catch,f.braceL)&&(this.tokens.copyToken(),this.tokens.appendCode(` (${this.nameManager.claimFreeName("e")})`),!0)}}class n1 extends ev{constructor(e,t){super(),this.tokens=e,this.nameManager=t}process(){if(this.tokens.matches1(f.nullishCoalescing)){let e=this.tokens.currentToken();return this.tokens.tokens[e.nullishStartIndex].isAsyncOperation?this.tokens.replaceTokenTrimmingLeftWhitespace(", async () => ("):this.tokens.replaceTokenTrimmingLeftWhitespace(", () => ("),!0}if(this.tokens.matches1(f._delete)&&this.tokens.tokenAtRelativeIndex(1).isOptionalChainStart)return this.tokens.removeInitialToken(),!0;let e=this.tokens.currentToken().subscriptStartIndex;if(null!=e&&this.tokens.tokens[e].isOptionalChainStart&&this.tokens.tokenAtRelativeIndex(-1).type!==f._super){let t;let n=this.nameManager.claimFreeName("_");if(t=e>0&&this.tokens.matches1AtIndex(e-1,f._delete)&&this.isLastSubscriptInChain()?`${n} => delete ${n}`:`${n} => ${n}`,this.tokens.tokens[e].isAsyncOperation&&(t=`async ${t}`),this.tokens.matches2(f.questionDot,f.parenL)||this.tokens.matches2(f.questionDot,f.lessThan))this.justSkippedSuper()&&this.tokens.appendCode(".bind(this)"),this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalCall', ${t}`);else if(this.tokens.matches2(f.questionDot,f.bracketL))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalAccess', ${t}`);else if(this.tokens.matches1(f.questionDot))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'optionalAccess', ${t}.`);else if(this.tokens.matches1(f.dot))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'access', ${t}.`);else if(this.tokens.matches1(f.bracketL))this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'access', ${t}[`);else if(this.tokens.matches1(f.parenL))this.justSkippedSuper()&&this.tokens.appendCode(".bind(this)"),this.tokens.replaceTokenTrimmingLeftWhitespace(`, 'call', ${t}(`);else throw Error("Unexpected subscript operator in optional chain.");return!0}return!1}isLastSubscriptInChain(){let e=0;for(let t=this.tokens.currentIndex()+1;;t++){if(t>=this.tokens.tokens.length)throw Error("Reached the end of the code while finding the end of the access chain.");if(this.tokens.tokens[t].isOptionalChainStart?e++:this.tokens.tokens[t].isOptionalChainEnd&&e--,e<0)return!0;if(0===e&&null!=this.tokens.tokens[t].subscriptStartIndex)return!1}}justSkippedSuper(){let e=0,t=this.tokens.currentIndex()-1;for(;;){if(t<0)throw Error("Reached the start of the code while finding the start of the access chain.");if(this.tokens.tokens[t].isOptionalChainStart?e--:this.tokens.tokens[t].isOptionalChainEnd&&e++,e<0)return!1;if(0===e&&null!=this.tokens.tokens[t].subscriptStartIndex)return this.tokens.tokens[t-1].type===f._super;t--}}}class n0 extends ev{constructor(e,t,n,r){super(),this.rootTransformer=e,this.tokens=t,this.importProcessor=n,this.options=r}process(){let e=this.tokens.currentIndex();if("createReactClass"===this.tokens.identifierName()){let t=this.importProcessor&&this.importProcessor.getIdentifierReplacement("createReactClass");return t?this.tokens.replaceToken(`(0, ${t})`):this.tokens.copyToken(),this.tryProcessCreateClassCall(e),!0}if(this.tokens.matches3(f.name,f.dot,f.name)&&"React"===this.tokens.identifierName()&&"createClass"===this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+2)){let t=this.importProcessor&&this.importProcessor.getIdentifierReplacement("React")||"React";return t?this.tokens.replaceToken(t):this.tokens.copyToken(),this.tokens.copyToken(),this.tokens.copyToken(),this.tryProcessCreateClassCall(e),!0}return!1}tryProcessCreateClassCall(e){let t=this.findDisplayName(e);t&&this.classNeedsDisplayName()&&(this.tokens.copyExpectedToken(f.parenL),this.tokens.copyExpectedToken(f.braceL),this.tokens.appendCode(`displayName: '${t}',`),this.rootTransformer.processBalancedCode(),this.tokens.copyExpectedToken(f.braceR),this.tokens.copyExpectedToken(f.parenR))}findDisplayName(e){return e<2?null:this.tokens.matches2AtIndex(e-2,f.name,f.eq)||e>=2&&this.tokens.tokens[e-2].identifierRole===m.ObjectKey?this.tokens.identifierNameAtIndex(e-2):this.tokens.matches2AtIndex(e-2,f._export,f._default)?this.getDisplayNameFromFilename():null}getDisplayNameFromFilename(){let e=(this.options.filePath||"unknown").split("/"),t=e[e.length-1],n=t.lastIndexOf("."),r=-1===n?t:t.slice(0,n);return"index"===r&&e[e.length-2]?e[e.length-2]:r}classNeedsDisplayName(){let e=this.tokens.currentIndex();if(!this.tokens.matches2(f.parenL,f.braceL))return!1;let t=e+1,n=this.tokens.tokens[t].contextId;if(null==n)throw Error("Expected non-null context ID on object open-brace.");for(;e<this.tokens.tokens.length;e++){let t=this.tokens.tokens[e];if(t.type===f.braceR&&t.contextId===n){e++;break}if("displayName"===this.tokens.identifierNameAtIndex(e)&&this.tokens.tokens[e].identifierRole===m.ObjectKey&&t.contextId===n)return!1}if(e===this.tokens.tokens.length)throw Error("Unexpected end of input when processing React class.");return this.tokens.matches1AtIndex(e,f.parenR)||this.tokens.matches2AtIndex(e,f.comma,f.parenR)}}class n2 extends ev{__init(){this.extractedDefaultExportName=null}constructor(e,t){super(),this.tokens=e,this.filePath=t,n2.prototype.__init.call(this)}setExtractedDefaultExportName(e){this.extractedDefaultExportName=e}getPrefixCode(){return` + (function () { + var enterModule = require('react-hot-loader').enterModule; + enterModule && enterModule(module); + })();`.replace(/\s+/g," ").trim()}getSuffixCode(){let e=new Set;for(let t of this.tokens.tokens)!t.isType&&J(t)&&t.identifierRole!==m.ImportDeclaration&&e.add(this.tokens.identifierNameForToken(t));let t=Array.from(e).map(e=>({variableName:e,uniqueLocalName:e}));return this.extractedDefaultExportName&&t.push({variableName:this.extractedDefaultExportName,uniqueLocalName:"default"}),` +;(function () { + var reactHotLoader = require('react-hot-loader').default; + var leaveModule = require('react-hot-loader').leaveModule; + if (!reactHotLoader) { + return; + } +${t.map(({variableName:e,uniqueLocalName:t})=>` reactHotLoader.register(${e}, "${t}", ${JSON.stringify(this.filePath||"")});`).join("\n")} + leaveModule(module); +})();`}process(){return!1}}let n3=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield","enum","implements","interface","let","package","private","protected","public","static","await","false","null","true"]);function n4(e){if(0===e.length||!H[e.charCodeAt(0)])return!1;for(let t=1;t<e.length;t++)if(!W[e.charCodeAt(t)])return!1;return!n3.has(e)}class n8 extends ev{constructor(e,t,n){super(),this.rootTransformer=e,this.tokens=t,this.isImportsTransformEnabled=n}process(){return!!(this.rootTransformer.processPossibleArrowParamEnd()||this.rootTransformer.processPossibleAsyncArrowWithTypeParams()||this.rootTransformer.processPossibleTypeRange())||(this.tokens.matches1(f._public)||this.tokens.matches1(f._protected)||this.tokens.matches1(f._private)||this.tokens.matches1(f._abstract)||this.tokens.matches1(f._readonly)||this.tokens.matches1(f._override)||this.tokens.matches1(f.nonNullAssertion)?(this.tokens.removeInitialToken(),!0):this.tokens.matches1(f._enum)||this.tokens.matches2(f._const,f._enum)?(this.processEnum(),!0):!!(this.tokens.matches2(f._export,f._enum)||this.tokens.matches3(f._export,f._const,f._enum))&&(this.processEnum(!0),!0))}processEnum(e=!1){for(this.tokens.removeInitialToken();this.tokens.matches1(f._const)||this.tokens.matches1(f._enum);)this.tokens.removeToken();let t=this.tokens.identifierName();this.tokens.removeToken(),e&&!this.isImportsTransformEnabled&&this.tokens.appendCode("export "),this.tokens.appendCode(`var ${t}; (function (${t})`),this.tokens.copyExpectedToken(f.braceL),this.processEnumBody(t),this.tokens.copyExpectedToken(f.braceR),e&&this.isImportsTransformEnabled?this.tokens.appendCode(`)(${t} || (exports.${t} = ${t} = {}));`):this.tokens.appendCode(`)(${t} || (${t} = {}));`)}processEnumBody(e){let t=null;for(;!this.tokens.matches1(f.braceR);){let{nameStringCode:n,variableName:r}=this.extractEnumKeyInfo(this.tokens.currentToken());this.tokens.removeInitialToken(),this.tokens.matches3(f.eq,f.string,f.comma)||this.tokens.matches3(f.eq,f.string,f.braceR)?this.processStringLiteralEnumMember(e,n,r):this.tokens.matches1(f.eq)?this.processExplicitValueEnumMember(e,n,r):this.processImplicitValueEnumMember(e,n,r,t),this.tokens.matches1(f.comma)&&this.tokens.removeToken(),t=null!=r?r:`${e}[${n}]`}}extractEnumKeyInfo(e){if(e.type===f.name){let t=this.tokens.identifierNameForToken(e);return{nameStringCode:`"${t}"`,variableName:n4(t)?t:null}}if(e.type===f.string){let t=this.tokens.stringValueForToken(e);return{nameStringCode:this.tokens.code.slice(e.start,e.end),variableName:n4(t)?t:null}}throw Error("Expected name or string at beginning of enum element.")}processStringLiteralEnumMember(e,t,n){null!=n?(this.tokens.appendCode(`const ${n}`),this.tokens.copyToken(),this.tokens.copyToken(),this.tokens.appendCode(`; ${e}[${t}] = ${n};`)):(this.tokens.appendCode(`${e}[${t}]`),this.tokens.copyToken(),this.tokens.copyToken(),this.tokens.appendCode(";"))}processExplicitValueEnumMember(e,t,n){let r=this.tokens.currentToken().rhsEndIndex;if(null==r)throw Error("Expected rhsEndIndex on enum assign.");if(null!=n){for(this.tokens.appendCode(`const ${n}`),this.tokens.copyToken();this.tokens.currentIndex()<r;)this.rootTransformer.processToken();this.tokens.appendCode(`; ${e}[${e}[${t}] = ${n}] = ${t};`)}else{for(this.tokens.appendCode(`${e}[${e}[${t}]`),this.tokens.copyToken();this.tokens.currentIndex()<r;)this.rootTransformer.processToken();this.tokens.appendCode(`] = ${t};`)}}processImplicitValueEnumMember(e,t,n,r){let s=null!=r?`${r} + 1`:"0";null!=n&&(this.tokens.appendCode(`const ${n} = ${s}; `),s=n),this.tokens.appendCode(`${e}[${e}[${t}] = ${s}] = ${t};`)}}class n5{__init(){this.transformers=[]}__init2(){this.generatedVariables=[]}constructor(e,t,n,r){n5.prototype.__init.call(this),n5.prototype.__init2.call(this),this.nameManager=e.nameManager,this.helperManager=e.helperManager;let{tokenProcessor:s,importProcessor:o}=e;this.tokens=s,this.isImportsTransformEnabled=t.includes("imports"),this.isReactHotLoaderTransformEnabled=t.includes("react-hot-loader"),this.disableESTransforms=!!r.disableESTransforms,r.disableESTransforms||(this.transformers.push(new n1(s,this.nameManager)),this.transformers.push(new nY(s)),this.transformers.push(new nZ(s,this.nameManager))),t.includes("jsx")&&("preserve"!==r.jsxRuntime&&this.transformers.push(new ew(this,s,o,this.nameManager,r)),this.transformers.push(new n0(this,s,o,r)));let i=null;if(t.includes("react-hot-loader")){if(!r.filePath)throw Error("filePath is required when using the react-hot-loader transform.");i=new n2(s,r.filePath),this.transformers.push(i)}if(t.includes("imports")){if(null===o)throw Error("Expected non-null importProcessor with imports transform enabled.");this.transformers.push(new nH(this,s,o,this.nameManager,this.helperManager,i,n,!!r.enableLegacyTypeScriptModuleInterop,t.includes("typescript"),t.includes("flow"),!!r.preserveDynamicImport,!!r.keepUnusedImports))}else this.transformers.push(new nX(s,this.nameManager,this.helperManager,i,t.includes("typescript"),t.includes("flow"),!!r.keepUnusedImports,r));t.includes("flow")&&this.transformers.push(new nG(this,s,t.includes("imports"))),t.includes("typescript")&&this.transformers.push(new n8(this,s,t.includes("imports"))),t.includes("jest")&&this.transformers.push(new nQ(this,s,this.nameManager,o))}transform(){this.tokens.reset(),this.processBalancedCode();let e=this.isImportsTransformEnabled?'"use strict";':"";for(let t of this.transformers)e+=t.getPrefixCode();for(let t of(e+=this.helperManager.emitHelpers(),e+=this.generatedVariables.map(e=>` var ${e};`).join(""),this.transformers))e+=t.getHoistedCode();let t="";for(let e of this.transformers)t+=e.getSuffixCode();let n=this.tokens.finish(),{code:r}=n;if(!r.startsWith("#!"))return{code:e+r+t,mappings:this.shiftMappings(n.mappings,e.length)};{let s=r.indexOf("\n");return -1===s&&(s=r.length,r+="\n"),{code:r.slice(0,s+1)+e+r.slice(s+1)+t,mappings:this.shiftMappings(n.mappings,e.length)}}}processBalancedCode(){let e=0,t=0;for(;!this.tokens.isAtEnd();){if(this.tokens.matches1(f.braceL)||this.tokens.matches1(f.dollarBraceL))e++;else if(this.tokens.matches1(f.braceR)){if(0===e)return;e--}if(this.tokens.matches1(f.parenL))t++;else if(this.tokens.matches1(f.parenR)){if(0===t)return;t--}this.processToken()}}processToken(){if(this.tokens.matches1(f._class)){this.processClass();return}for(let e of this.transformers)if(e.process())return;this.tokens.copyToken()}processNamedClass(){if(!this.tokens.matches2(f._class,f.name))throw Error("Expected identifier for exported class name.");let e=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);return this.processClass(),e}processClass(){let e=function(e,t,n,r){let s=t.snapshot(),o=function(e){let t=e.currentToken(),n=t.contextId;if(null==n)throw Error("Expected context ID on class token.");let r=t.isExpression;if(null==r)throw Error("Expected isExpression on class token.");let s=null,o=!1;for(e.nextToken(),e.matches1(f.name)&&(s=e.identifierName());!e.matchesContextIdAndLabel(f.braceL,n);)e.matches1(f._extends)&&!e.currentToken().isType&&(o=!0),e.nextToken();return{isExpression:r,className:s,hasSuperclass:o}}(t),i=[],a=[],c=[],l=null,h=[],u=[],d=t.currentToken().contextId;if(null==d)throw Error("Expected non-null class context ID on class open-brace.");for(t.nextToken();!t.matchesContextIdAndLabel(f.braceR,d);)if(t.matchesContextual(p._constructor)&&!t.currentToken().isType)({constructorInitializerStatements:i,constructorInsertPos:l}=nq(t));else if(t.matches1(f.semi))r||u.push({start:t.currentIndex(),end:t.currentIndex()+1}),t.nextToken();else if(t.currentToken().isType)t.nextToken();else{let s=t.currentIndex(),o=!1,m=!1,k=!1;for(;n$(t.currentToken());)t.matches1(f._static)&&(o=!0),t.matches1(f.hash)&&(m=!0),(t.matches1(f._declare)||t.matches1(f._abstract))&&(k=!0),t.nextToken();if(o&&t.matches1(f.braceL)||m){nF(t,d);continue}if(t.matchesContextual(p._constructor)&&!t.currentToken().isType){({constructorInitializerStatements:i,constructorInsertPos:l}=nq(t));continue}let g=t.currentIndex();if(function(e){if(e.matches1(f.bracketL)){let t=e.currentToken().contextId;if(null==t)throw Error("Expected class context ID on computed name open bracket.");for(;!e.matchesContextIdAndLabel(f.bracketR,t);)e.nextToken();e.nextToken()}else e.nextToken()}(t),t.matches1(f.lessThan)||t.matches1(f.parenL)){nF(t,d);continue}for(;t.currentToken().isType;)t.nextToken();if(t.matches1(f.eq)){let r;let s=t.currentIndex(),i=t.currentToken().rhsEndIndex;if(null==i)throw Error("Expected rhsEndIndex on class field assignment.");for(t.nextToken();t.currentIndex()<i;)e.processToken();o?(r=n.claimFreeName("__initStatic"),c.push(r)):(r=n.claimFreeName("__init"),a.push(r)),h.push({initializerName:r,equalsIndex:s,start:g,end:t.currentIndex()})}else(!r||k)&&u.push({start:s,end:t.currentIndex()})}return(t.restoreToSnapshot(s),r)?{headerInfo:o,constructorInitializerStatements:i,instanceInitializerNames:[],staticInitializerNames:[],constructorInsertPos:l,fields:[],rangesToRemove:u}:{headerInfo:o,constructorInitializerStatements:i,instanceInitializerNames:a,staticInitializerNames:c,constructorInsertPos:l,fields:h,rangesToRemove:u}}(this,this.tokens,this.nameManager,this.disableESTransforms),t=(e.headerInfo.isExpression||!e.headerInfo.className)&&e.staticInitializerNames.length+e.instanceInitializerNames.length>0,n=e.headerInfo.className;t&&(n=this.nameManager.claimFreeName("_class"),this.generatedVariables.push(n),this.tokens.appendCode(` (${n} =`));let r=this.tokens.currentToken().contextId;if(null==r)throw Error("Expected class to have a context ID.");for(this.tokens.copyExpectedToken(f._class);!this.tokens.matchesContextIdAndLabel(f.braceL,r);)this.processToken();this.processClassBody(e,n);let s=e.staticInitializerNames.map(e=>`${n}.${e}()`);t?this.tokens.appendCode(`, ${s.map(e=>`${e}, `).join("")}${n})`):e.staticInitializerNames.length>0&&this.tokens.appendCode(` ${s.map(e=>`${e};`).join(" ")}`)}processClassBody(e,t){let{headerInfo:n,constructorInsertPos:r,constructorInitializerStatements:s,fields:o,instanceInitializerNames:i,rangesToRemove:a}=e,c=0,l=0,h=this.tokens.currentToken().contextId;if(null==h)throw Error("Expected non-null context ID on class.");this.tokens.copyExpectedToken(f.braceL),this.isReactHotLoaderTransformEnabled&&this.tokens.appendCode("__reactstandin__regenerateByEval(key, code) {this[key] = eval(code);}");let u=s.length+i.length>0;if(null===r&&u){let e=this.makeConstructorInitCode(s,i,t);if(n.hasSuperclass){let t=this.nameManager.claimFreeName("args");this.tokens.appendCode(`constructor(...${t}) { super(...${t}); ${e}; }`)}else this.tokens.appendCode(`constructor() { ${e}; }`)}for(;!this.tokens.matchesContextIdAndLabel(f.braceR,h);)if(c<o.length&&this.tokens.currentIndex()===o[c].start){let e=!1;for(this.tokens.matches1(f.bracketL)?this.tokens.copyTokenWithPrefix(`${o[c].initializerName}() {this`):this.tokens.matches1(f.string)||this.tokens.matches1(f.num)?(this.tokens.copyTokenWithPrefix(`${o[c].initializerName}() {this[`),e=!0):this.tokens.copyTokenWithPrefix(`${o[c].initializerName}() {this.`);this.tokens.currentIndex()<o[c].end;)e&&this.tokens.currentIndex()===o[c].equalsIndex&&this.tokens.appendCode("]"),this.processToken();this.tokens.appendCode("}"),c++}else if(l<a.length&&this.tokens.currentIndex()>=a[l].start){for(this.tokens.currentIndex()<a[l].end&&this.tokens.removeInitialToken();this.tokens.currentIndex()<a[l].end;)this.tokens.removeToken();l++}else this.tokens.currentIndex()===r&&(this.tokens.copyToken(),u&&this.tokens.appendCode(`;${this.makeConstructorInitCode(s,i,t)};`)),this.processToken();this.tokens.copyExpectedToken(f.braceR)}makeConstructorInitCode(e,t,n){return[...e,...t.map(e=>`${n}.prototype.${e}.call(this)`)].join(";")}processPossibleArrowParamEnd(){if(this.tokens.matches2(f.parenR,f.colon)&&this.tokens.tokenAtRelativeIndex(1).isType){let e=this.tokens.currentIndex()+1;for(;this.tokens.tokens[e].isType;)e++;if(this.tokens.matches1AtIndex(e,f.arrow)){for(this.tokens.removeInitialToken();this.tokens.currentIndex()<e;)this.tokens.removeToken();return this.tokens.replaceTokenTrimmingLeftWhitespace(") =>"),!0}}return!1}processPossibleAsyncArrowWithTypeParams(){if(!this.tokens.matchesContextual(p._async)&&!this.tokens.matches1(f._async))return!1;let e=this.tokens.tokenAtRelativeIndex(1);if(e.type!==f.lessThan||!e.isType)return!1;let t=this.tokens.currentIndex()+1;for(;this.tokens.tokens[t].isType;)t++;if(this.tokens.matches1AtIndex(t,f.parenL)){for(this.tokens.replaceToken("async ("),this.tokens.removeInitialToken();this.tokens.currentIndex()<t;)this.tokens.removeToken();return this.tokens.removeToken(),this.processBalancedCode(),this.processToken(),!0}return!1}processPossibleTypeRange(){if(this.tokens.currentToken().isType){for(this.tokens.removeInitialToken();this.tokens.currentToken().isType;)this.tokens.removeToken();return!0}return!1}shiftMappings(e,t){for(let n=0;n<e.length;n++){let r=e[n];void 0!==r&&(e[n]=r+t)}return e}}n(30577);var n6=Object.defineProperty,n7=Object.defineProperties,n9=Object.getOwnPropertyDescriptors,re=Object.getOwnPropertySymbols,rt=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable,rr=(e,t,n)=>t in e?n6(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rs=(e,t)=>{for(var n in t||(t={}))rt.call(t,n)&&rr(e,n,t[n]);if(re)for(var n of re(t))rn.call(t,n)&&rr(e,n,t[n]);return e},ro=(e,t)=>n7(e,n9(t)),ri=(e,t)=>{var n={};for(var r in e)rt.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&re)for(var r of re(e))0>t.indexOf(r)&&rn.call(e,r)&&(n[r]=e[r]);return n},ra=(e,t,n)=>new Promise((r,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},i=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,i);a((n=n.apply(e,t)).next())}),rc=e=>{let{tabMode:t="indentation"}=e,n=(0,y.useRef)(null),[r,s]=(0,y.useState)(e.code||""),{theme:o}=e;return(0,y.useEffect)(()=>{s(e.code)},[e.code]),!function(e,t,n){function r(t){var n=e.current;if(n){var r=C(n);n=I(n),r.position+=t.length-n.length,l.position=r,l.onChange(t,r)}}function s(t,n){var r=e.current;if(r){var s=window.getSelection().getRangeAt(0);s.deleteContents(),s.collapse();var o=n||0;(s=v(r,n=(s=C(r)).position+(0>o?o:0),s.position+(0<o?o:0))).deleteContents(),t&&s.insertNode(document.createTextNode(t)),T(v(r,n+t.length))}}function o(t){var n=e.current;if(n){n.focus();var r=0;if("number"==typeof t)r=t;else{var s=I(n).split("\n").slice(0,t.row);t.row&&(r+=s.join("\n").length+1),r+=t.column}T(v(n,r))}}function i(){var t=e.current;return{text:I(t),position:t=C(t)}}function a(){l.observer.disconnect()}n||(n={});var c=(0,y.useState)([])[1],l=(0,y.useState)(function(){var e={observer:null,disconnected:!1,onChange:t,queue:[],history:[],historyAt:-1,position:null};return"undefined"!=typeof MutationObserver&&(e.observer=new MutationObserver(function(t){var n;(n=e.queue).push.apply(n,t)})),e})[0],h=(0,y.useMemo)(function(){return{update:r,insert:s,move:o,getState:i}},[]);"object"!=typeof navigator||((0,y.useLayoutEffect)(function(){if(l.onChange=t,e.current&&!n.disabled){if(l.disconnected=!1,l.observer.observe(e.current,x),l.position){var r=l.position,s=r.position;T(v(e.current,s,s+r.extent))}return a}}),(0,y.useLayoutEffect)(function(){if(!e.current||n.disabled)l.history.length=0,l.historyAt=-1;else{var t=e.current;if(l.position){t.focus();var r=l.position,s=r.position;T(v(t,s,s+r.extent))}var o=t.style.whiteSpace,i=t.contentEditable,a=!0;try{t.contentEditable="plaintext-only"}catch(e){t.contentEditable="true",a=!1}"pre"!==o&&(t.style.whiteSpace="pre-wrap"),n.indentation&&(t.style.tabSize=t.style.MozTabSize=""+n.indentation);var u,p=RegExp("^(?:"+(r=""+" ".repeat(n.indentation||0))+")"),f=RegExp("^(?:"+r+")*("+r+")$"),d=function(n){if(e.current&&l.position){var r=I(t),s=C(t),o=(new Date).valueOf(),i=l.history[l.historyAt];!n&&500>o-u||i&&i[1]===r?u=o:(n=++l.historyAt,l.history[n]=[s,r],l.history.splice(n+1),500<n&&(l.historyAt--,l.history.shift()))}},m=function(){var e;if((e=l.queue).push.apply(e,l.observer.takeRecords()),e=C(t),l.queue.length){l.observer.disconnect(),l.disconnected=!0;var n,r,s=I(t);for(l.position=e;n=l.queue.pop();){for(null!==n.oldValue&&(n.target.textContent=n.oldValue),r=n.removedNodes.length-1;0<=r;r--)n.target.insertBefore(n.removedNodes[r],n.nextSibling);for(r=n.addedNodes.length-1;0<=r;r--)n.addedNodes[r].parentNode&&n.target.removeChild(n.addedNodes[r])}l.onChange(s,e)}},k=function(e){if(!e.defaultPrevented&&e.target===t){if(l.disconnected)return e.preventDefault(),c([]);if(b(e))e.preventDefault(),e.shiftKey?(e=++l.historyAt,(e=l.history[e])||(l.historyAt=l.history.length-1)):(e=--l.historyAt,(e=l.history[e])||(l.historyAt=0)),e&&(l.observer.disconnect(),l.disconnected=!0,l.position=e[0],l.onChange(e[1],e[0]));else{if(d(),"Enter"===e.key){e.preventDefault();var r=C(t),s=/\S/g.exec(r.content);r="\n"+r.content.slice(0,s?s.index:r.content.length),h.insert(r)}else if((!a||n.indentation)&&"Backspace"===e.key)e.preventDefault(),window.getSelection().getRangeAt(0).collapsed?(r=C(t),r=f.exec(r.content),h.insert("",r?-r[1].length:-1)):h.insert("",0);else if(n.indentation&&"Tab"===e.key){e.preventDefault(),s=(r=C(t)).position-r.content.length;var o=I(t);r=e.shiftKey?o.slice(0,s)+r.content.replace(p,"")+o.slice(s+r.content.length):o.slice(0,s)+(n.indentation?" ".repeat(n.indentation):" ")+o.slice(s),h.update(r)}e.repeat&&m()}}},g=function(e){e.defaultPrevented||e.isComposing||(b(e)||d(),m(),t.focus())},_=function(e){l.position=window.getSelection().rangeCount&&e.target===t?C(t):null},y=function(e){e.preventDefault(),d(!0),h.insert(e.clipboardData.getData("text/plain")),d(!0),m()};return document.addEventListener("selectstart",_),window.addEventListener("keydown",k),t.addEventListener("paste",y),t.addEventListener("keyup",g),function(){document.removeEventListener("selectstart",_),window.removeEventListener("keydown",k),t.removeEventListener("paste",y),t.removeEventListener("keyup",g),t.style.whiteSpace=o,t.contentEditable=i}}},[e.current,n.disabled,n.indentation]))}(n,e=>s(e.slice(0,-1)),{disabled:e.disabled,indentation:"indentation"===t?2:void 0}),(0,y.useEffect)(()=>{e.onChange&&e.onChange(r)},[r]),(0,w.jsx)("div",{className:e.className,style:e.style,children:(0,w.jsx)(_.y$,{code:r,theme:e.theme||_.np.nightOwl,language:e.language,children:({className:e,tokens:t,getLineProps:r,getTokenProps:s,style:i})=>(0,w.jsx)("pre",{className:e,style:rs(rs({margin:0,outline:"none",padding:10,fontFamily:"inherit"},o&&"object"==typeof o.plain?o.plain:{}),i),ref:n,spellCheck:"false",children:t.map((e,t)=>(0,w.jsxs)("span",ro(rs({},r({line:e})),{children:[e.filter(e=>!e.empty).map((e,t)=>(0,w.jsx)("span",rs({},s({token:e})),`token-${t}`)),"\n"]}),`line-${t}`))})})})},rl=(0,y.createContext)({}),rh=["jsx","imports"];function ru(e={}){let t=Array.isArray(e.transforms)?e.transforms.filter(Boolean):rh;return e=>(function(e,t){eK.strictCheck(t);try{let n=function(e,t){let n=t.transforms.includes("jsx"),l=t.transforms.includes("typescript"),h=t.transforms.includes("flow"),u=!0===t.disableESTransforms,p=function(e,t,n,l){if(l&&n)throw Error("Cannot combine flow and typescript plugins.");a=e,i=new S,c=1,r=t,s=n,o=l;let h=(0===i.pos&&a.charCodeAt(0)===d.numberSign&&a.charCodeAt(1)===d.exclamationMark&&eu(2),eh(),function(){if(nm(f.eof),i.scopes.push(new E(0,i.tokens.length,!0)),0!==i.scopeDepth)throw Error(`Invalid scope depth at end of file: ${i.scopeDepth}`);return new nD(i.tokens,i.scopes)}());if(i.error)throw function(e){if("pos"in e){let t=function(e){let t=1,n=1;for(let r=0;r<e;r++)a.charCodeAt(r)===d.lineFeed?(t++,n=1):n++;return new N(t,n)}(e.pos);e.message+=` (${t.line}:${t.column})`,e.loc=t}return e}(i.error);return h}(e,n,l,h),m=p.tokens,k=p.scopes,g=new eF(e,m),_=new ej(g),y=new nP(e,m,h,u,_),x=!!t.enableLegacyTypeScriptModuleInterop,T=null;return t.transforms.includes("imports")?((T=new eR(g,y,x,t,t.transforms.includes("typescript"),!!t.keepUnusedImports,_)).preprocessTokens(),eD(y,k,T.getGlobalNames()),t.transforms.includes("typescript")&&!t.keepUnusedImports&&T.pruneTypeOnlyImports()):t.transforms.includes("typescript")&&!t.keepUnusedImports&&eD(y,k,function(e){let t=new Set;for(let o=0;o<e.tokens.length;o++){var n,r,s;e.matches1AtIndex(o,f._import)&&!e.matches3AtIndex(o,f._import,f.name,f.eq)&&(n=e,r=o,s=t,r++,!n.matches1AtIndex(r,f.parenL)&&(n.matches1AtIndex(r,f.name)&&(s.add(n.identifierNameAtIndex(r)),r++,n.matches1AtIndex(r,f.comma)&&r++),n.matches1AtIndex(r,f.star)&&(r+=2,s.add(n.identifierNameAtIndex(r)),r++),n.matches1AtIndex(r,f.braceL)&&function(e,t,n){for(;;){if(e.matches1AtIndex(t,f.braceR))return;let r=ex(e,t);if(t=r.endIndex,r.isType||n.add(r.rightName),e.matches2AtIndex(t,f.comma,f.braceR))return;if(e.matches1AtIndex(t,f.braceR))return;if(e.matches1AtIndex(t,f.comma))t++;else throw Error(`Unexpected token: ${JSON.stringify(e.tokens[t])}`)}}(n,++r,s)))}return t}(y)),{tokenProcessor:y,scopes:k,nameManager:g,importProcessor:T,helperManager:_}}(e,t),l=new n5(n,t.transforms,!!t.enableLegacyBabel5ModuleInterop,t).transform(),h={code:l.code};if(t.sourceMapOptions){if(!t.filePath)throw Error("filePath must be specified when generating a source map.");h={...h,sourceMap:function({code:e,mappings:t},n,r,s,o){let i=function(e,t){let n=Array(t.length),r=0,s=t[0].start,o=0;for(let i=0;i<e.length;i++)i===s&&(n[r]=s-o,s=t[++r].start),e.charCodeAt(i)===d.lineFeed&&(o=i+1);return n}(s,o),a=new eL.GenMapping({file:r.compiledFilename}),c=0,l=t[0];for(;void 0===l&&c<t.length-1;)l=t[++c];let h=0,u=0;0!==l&&(0,eL.maybeAddSegment)(a,h,0,n,h,0);for(let r=0;r<e.length;r++){if(r===l){let e=l-u,s=i[c];for((0,eL.maybeAddSegment)(a,h,e,n,h,s);(l===r||void 0===l)&&c<t.length-1;)l=t[++c]}e.charCodeAt(r)===d.lineFeed&&(h++,l!==(u=r+1)&&(0,eL.maybeAddSegment)(a,h,0,n,h,0))}let{sourceRoot:p,sourcesContent:f,...m}=(0,eL.toEncodedMap)(a);return m}(l,t.filePath,t.sourceMapOptions,e,n.tokenProcessor.tokens)}}return h}catch(e){throw t.filePath&&(e.message=`Error transforming ${t.filePath}: ${e.message}`),e}})(e,{transforms:t}).code}var rp=(e,t)=>class extends y.Component{componentDidCatch(e){t(e)}render(){return"function"==typeof e?(0,w.jsx)(e,{}):y.isValidElement(e)?e:null}},rf=(e,t)=>{let n=Object.keys(t),r=n.map(e=>t[e]);return Function(...n,e)(...r)},rd='const _jsxFileName = "";',rm=e=>e.trim().replace(/;$/,""),rk=e=>e.replace(rd,"").trim(),rg=e=>rd+e,r_=e=>`return (${e})`,ry=({code:e="",scope:t={},enableTypeScript:n=!0},r)=>{let s=["jsx"];return n&&s.push("typescript"),rp(rf((function(...e){return e.reduce((e,t)=>(...n)=>e(t(...n)))})(rg,ru({transforms:["imports"]}),rk,rm,ru({transforms:s}),r_,rm)(e),rs({React:y},t)),r)},rx=({code:e="",scope:t={},enableTypeScript:n=!0},r,s)=>{if(!/render\s*\(/.test(e))return s(SyntaxError("No-Inline evaluations must call `render`."));let o=["jsx","imports"];n&&o.splice(1,0,"typescript"),rf(ru({transforms:o})(e),ro(rs({React:y},t),{render:e=>{void 0===e?s(SyntaxError("`render` must be called with valid JSX.")):r(rp(e,s))}}))},rT=function({children:e,code:t="",language:n="tsx",theme:r,enableTypeScript:s=!0,disabled:o=!1,scope:i,transformCode:a,noInline:c=!1}){let[l,h]=(0,y.useState)({error:void 0,element:void 0});function u(e){return ra(this,null,function*(){let t=e=>{h({error:e.toString(),element:void 0})};try{let n=a?a(e):e;try{let e=yield Promise.resolve(n),r=e=>h({error:void 0,element:e});if("string"!=typeof e)throw Error("Code failed to transform");let o={code:e,scope:i,enableTypeScript:s};c?(h({error:void 0,element:null}),rx(o,r,t)):r(ry(o,t))}catch(e){return t(e)}}catch(e){return t(e),Promise.resolve()}})}let p=e=>h({error:e.toString()});return(0,y.useEffect)(()=>{u(t).catch(p)},[t,i,c,a]),(0,w.jsx)(rl.Provider,{value:ro(rs({},l),{code:t,language:n,theme:r,disabled:o,onError:p,onChange:e=>{u(e).catch(p)}}),children:e})};function rb(e){let{code:t,language:n,theme:r,disabled:s,onChange:o}=(0,y.useContext)(rl);return(0,w.jsx)(rc,rs({theme:r,code:t,language:n,disabled:s,onChange:o},e))}function rI(e){let{error:t}=(0,y.useContext)(rl);return t?(0,w.jsx)("pre",ro(rs({},e),{children:t})):null}var rC=function(e){var{Component:t="div"}=e,n=ri(e,["Component"]);let{element:r}=(0,y.useContext)(rl);return(0,w.jsx)(t,ro(rs({},n),{children:r?(0,w.jsx)(r,{}):null}))}},44771:function(e,t,n){"use strict";function r(e){let{target:t=document.body}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof e)throw TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);let n=document.createElement("textarea"),r=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";let s=document.getSelection(),o=s.rangeCount>0&&s.getRangeAt(0);t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let i=!1;try{i=document.execCommand("copy")}catch{}return n.remove(),o&&(s.removeAllRanges(),s.addRange(o)),r&&r.focus(),i}n.d(t,{Z:()=>r})}}]); \ No newline at end of file diff --git a/assets/js/2451b334.70825546.js b/assets/js/2451b334.70825546.js new file mode 100644 index 0000000000..8f31e95103 --- /dev/null +++ b/assets/js/2451b334.70825546.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["23858"],{72581:function(e,t,s){s.d(t,{Z:()=>n});let n=s.p+"assets/images/social-card-3239a62bb56c9529ff255bc2c72e94f6.png"},17414:function(e,t,s){s.d(t,{Z:()=>n});let n=s.p+"assets/images/social-card-3239a62bb56c9529ff255bc2c72e94f6.png"},22670:function(e,t,s){s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>n,toc:()=>l});var n=s(68707),a=s(85893),r=s(80980);let i={title:"Docusaurus 2.4",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2023-03-23T00:00:00.000Z")},o=void 0,c={image:s(72581).Z,authorsImageUrls:[void 0]},l=[];function u(e){let t={a:"a",img:"img",p:"p",strong:"strong",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(t.p,{children:["We are happy to announce ",(0,a.jsx)(t.strong,{children:"Docusaurus 2.4"}),"."]}),"\n",(0,a.jsxs)(t.p,{children:["The upgrade should be easy: as explained in our ",(0,a.jsx)(t.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,a.jsx)(t.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Docusaurus blog post social card",src:s(17414).Z+"",width:"1200",height:"600"})})]})}function p(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},80980:function(e,t,s){s.d(t,{Z:()=>o,a:()=>i});var n=s(67294);let a={},r=n.createContext(a);function i(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),n.createElement(r.Provider,{value:t},e.children)}},68707:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/2.4","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/2.4/index.mdx","source":"@site/blog/releases/2.4/index.mdx","title":"Docusaurus 2.4","description":"We are happy to announce Docusaurus 2.4.","date":"2023-03-23T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.05,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.4","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2023-03-23T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Upgrading frontend dependencies with confidence","permalink":"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing"},"nextItem":{"title":"Docusaurus 2.3","permalink":"/blog/releases/2.3"}}')}}]); \ No newline at end of file diff --git a/assets/js/24dd9243.cd9e633a.js b/assets/js/24dd9243.cd9e633a.js new file mode 100644 index 0000000000..1c7368db8d --- /dev/null +++ b/assets/js/24dd9243.cd9e633a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["66374"],{805:function(e,t,a){a.d(t,{Z:()=>s});let s=a.p+"assets/images/social-card-99fd18bd61fee0f631b8c820ef873dd5.png"},36689:function(e,t,a){a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var s=a(47575),r=a(85893),i=a(80980);let n={title:"DocSearch migration",authors:["shortcuts","slorber"],tags:["search"],image:"./img/social-card.png"},o=void 0,c={image:a(805).Z,authorsImageUrls:[void 0,void 0]},l=[];function u(e){let t={a:"a",p:"p",strong:"strong",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"https://docsearch.algolia.com/",children:"DocSearch"})," is migrating to a new, more powerful system, which gives users their own Algolia application and new credentials."]}),"\n",(0,r.jsxs)(t.p,{children:["Docusaurus site owners should upgrade their configuration with their new credentials ",(0,r.jsx)(t.strong,{children:"by February 1, 2022"}),", existing search indexes will be frozen and become read-only after this date."]})]})}function h(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,a){a.d(t,{Z:()=>o,a:()=>n});var s=a(67294);let r={},i=s.createContext(r);function n(e){let t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),s.createElement(i.Provider,{value:t},e.children)}},47575:function(e){e.exports=JSON.parse('{"permalink":"/blog/2021/11/21/algolia-docsearch-migration","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2021/11-21-algolia-docsearch-migration/index.mdx","source":"@site/blog/2021/11-21-algolia-docsearch-migration/index.mdx","title":"DocSearch migration","description":"DocSearch is migrating to a new, more powerful system, which gives users their own Algolia application and new credentials.","date":"2021-11-21T00:00:00.000Z","tags":[{"inline":false,"label":"Search","permalink":"/blog/tags/search"}],"readingTime":2.96,"hasTruncateMarker":true,"authors":[{"name":"Cl\xe9ment Vannicatte","title":"Software Engineer @ Algolia","url":"https://github.com/shortcuts","socials":{"x":"https://x.com/sh0rtcts","github":"https://github.com/shortcuts"},"imageURL":"https://github.com/shortcuts.png","key":"shortcuts","page":null},{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"DocSearch migration","authors":["shortcuts","slorber"],"tags":["search"],"image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2021 Recap","permalink":"/blog/2022/01/24/docusaurus-2021-recap"},"nextItem":{"title":"Announcing Docusaurus 2 Beta","permalink":"/blog/2021/05/12/announcing-docusaurus-two-beta"}}')}}]); \ No newline at end of file diff --git a/assets/js/25299.c782735f.js b/assets/js/25299.c782735f.js new file mode 100644 index 0000000000..feee0bfe91 --- /dev/null +++ b/assets/js/25299.c782735f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["25299"],{47349:function(e,s,c){c.r(s),c.d(s,{DocSearchModal:()=>a.He});var a=c(72413)}}]); \ No newline at end of file diff --git a/assets/js/2577bdb7.39ac54b8.js b/assets/js/2577bdb7.39ac54b8.js new file mode 100644 index 0000000000..7160ff6ef4 --- /dev/null +++ b/assets/js/2577bdb7.39ac54b8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["46644"],{79380:function(e,i,s){s.r(i),s.d(i,{assets:()=>d,contentTitle:()=>o,default:()=>t,frontMatter:()=>r,metadata:()=>n,toc:()=>h});var n=s(69560),l=s(85893),c=s(80980);let r={mdx:{format:"md"},date:"2019-12-01T20:00",authors:["binarylogic","endiliey","gimdongwoo","lex111","wgao19"]},o="2.0.0-alpha.37",d={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0]},h=[{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:":running: Performance",id:"running-performance",level:2},{value:"Committers: 5",id:"committers-5",level:2}];function u(e){let i={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,c.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-utils"}),", ",(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2045",children:"#2045"})," breaking(v2): minimum required nodejs version 8.9-> 8.10 so we can use es2017 (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2069",children:"#2069"})," feat(v2): support prefers-color-scheme & fix dark mode FOUC on refresh (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2000",children:"#2000"})," feat(v2): add meta RSS/Atom feed links to head (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2057",children:"#2057"})," feat(v2): injectHtmlTags API to inject head and/or body html tags (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2032",children:"#2032"})," feat(v2): allow non sidebar category to be first item of sidebar (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1983",children:"#1983"})," feat(v2): docs versioning \u2744\uFE0F\uD83D\uDD25 (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2069",children:"#2069"})," feat(v2): support prefers-color-scheme & fix dark mode FOUC on refresh (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-mdx-loader"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2067",children:"#2067"})," fix(v2): toc should not be broken for heading with html inline code (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2064",children:"#2064"})," fix(v2): markdown reference to file should not be page not found (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2061",children:"#2061"})," fix(v2): fix docs sidebar highlighting if link is partially matched (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2042",children:"#2042"})," fix(v2): remove css order warning if css imports are not sorted (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2066",children:"#2066"})," refactor(v2): add title attribute to anchor link (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1990",children:"#1990"})," refactor(v2): make better a11y for tabs (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2034",children:"#2034"})," feat(v2): style sidebar on overflow (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:["Other\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2068",children:"#2068"})," docs(v2): quick proofread docs (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2047",children:"#2047"})," docs(v2): add manual migration guide for versioning (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2036",children:"#2036"})," docs(v2): Reorganize migration guide (",(0,l.jsx)(i.a,{href:"https://github.com/wgao19",children:"@wgao19"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2052",children:"#2052"})," fix(v2): make proper spelling of Yarn in tabs (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2040",children:"#2040"})," docs(v2): showcase user vector.dev :) (",(0,l.jsx)(i.a,{href:"https://github.com/binarylogic",children:"@binarylogic"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2038",children:"#2038"})," docs(v2): add documentation on versioning (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2037",children:"#2037"})," docs(v2): display yarn and npm command on website (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2051",children:"#2051"})," docs(v2): more examples on lifecycle apis, cleanup (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2072",children:"#2072"})," refactor(v2): stronger typing for blog plugin (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2060",children:"#2060"})," fix(v2): clean generated manifest from previous build so we dont use the wrong one (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2033",children:"#2033"})," refactor(v2): move unused generated files out from build folder (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2043",children:"#2043"})," refactor(v2): stronger typing for route gen (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2044",children:"#2044"})," chore(v2): bump deps (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2029",children:"#2029"})," chore(v2): bump deps and remove unused deps (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"running-performance",children:":running: Performance"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-plugin-google-gtag"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2070",children:"#2070"})," perf(v2): more performant gtag and analytics plugin (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2046",children:"#2046"})," perf(v2): use webpack future version of asset emitting logic to free memory (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2039",children:"#2039"})," perf(v2): replace unnecessary json stringify(string) with inline string (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2035",children:"#2035"})," perf(v2): use @babel/runtime plugin to reduce codesize (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2054",children:"#2054"})," perf(v2): unblock metadata processing when possible (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"committers-5",children:"Committers: 5"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:["Alexey Pyltsyn (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:["Binary Logic (",(0,l.jsx)(i.a,{href:"https://github.com/binarylogic",children:"@binarylogic"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:["Dongwoo Gim (",(0,l.jsx)(i.a,{href:"https://github.com/gimdongwoo",children:"@gimdongwoo"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:["Endi (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:["Wei Gao (",(0,l.jsx)(i.a,{href:"https://github.com/wgao19",children:"@wgao19"}),")"]}),"\n"]})]})}function t(e={}){let{wrapper:i}={...(0,c.a)(),...e.components};return i?(0,l.jsx)(i,{...e,children:(0,l.jsx)(u,{...e})}):u(e)}},80980:function(e,i,s){s.d(i,{Z:()=>o,a:()=>r});var n=s(67294);let l={},c=n.createContext(l);function r(e){let i=n.useContext(c);return n.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),n.createElement(c.Provider,{value:i},e.children)}},69560:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.37","source":"@site/changelog/source/2.0.0-alpha.37.md","title":"2.0.0-alpha.37","description":"Breaking Change","date":"2019-12-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Binary Logic","alias":"binarylogic","url":"https://github.com/binarylogic","imageURL":"https://github.com/binarylogic.png","key":"binarylogic","page":null},{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"Dongwoo Gim","alias":"gimdongwoo","url":"https://github.com/gimdongwoo","imageURL":"https://github.com/gimdongwoo.png","key":"gimdongwoo","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Wei Gao","alias":"wgao19","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png","key":"wgao19","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-12-01T20:00","authors":["binarylogic","endiliey","gimdongwoo","lex111","wgao19"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.38","permalink":"/changelog/2.0.0-alpha.38"},"nextItem":{"title":"2.0.0-alpha.36","permalink":"/changelog/2.0.0-alpha.36"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/25dbbc3e.00c7423e.js b/assets/js/25dbbc3e.00c7423e.js new file mode 100644 index 0000000000..6f6e0a029e --- /dev/null +++ b/assets/js/25dbbc3e.00c7423e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["24667"],{16784:function(e,s,i){i.r(s),i.d(s,{assets:()=>a,contentTitle:()=>t,default:()=>u,frontMatter:()=>l,metadata:()=>n,toc:()=>h});var n=i(88028),o=i(85893),r=i(80980);let l={mdx:{format:"md"},date:"2021-09-02T20:00",authors:["3alisaki","antonym","farshidinanloo","gabrielcsapo","Josh-Cena","lex111","ohkimur","oscarlorentzon","rohit-gohri","slorber"]},t="2.0.0-beta.6",a={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},h=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 10",id:"committers-10",level:2}];function c(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5428",children:"#5428"})," feat: adds blog archive route (",(0,o.jsx)(s.a,{href:"https://github.com/gabrielcsapo",children:"@gabrielcsapo"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5462",children:"#5462"})," feat: on back navigation, close mobile sidebar (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5445",children:"#5445"})," feat: Add docs-related stable classnames (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5460",children:"#5460"})," feat: infima 33 + navbar-sidebar close button (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5442",children:"#5442"})," feat(theme-classic): allow passing tab label and default value through TabItem (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5454",children:"#5454"})," feat: new docs options: versions.{badge,className} (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5444",children:"#5444"})," fix: fix some theme UI issues (blockquotes, navbar-sidebar font) with Infima alpha.32 (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5431",children:"#5431"})," fix: some beta.5 bugfixes (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5437",children:"#5437"})," fix: fix a few TS errors (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5459",children:"#5459"})," refactor(theme-classic): completely migrate package to TypeScript (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5453",children:"#5453"})," refactor: use SVG for closable button in announcement bar (",(0,o.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5430",children:"#5430"})," refactor: switch to Flexbox in announcement bar (",(0,o.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5434",children:"#5434"})," refactor: update Arabic and Persian translations (",(0,o.jsx)(s.a,{href:"https://github.com/3alisaki",children:"@3alisaki"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5410",children:"#5410"})," refactor: add missing translations in fa.json (",(0,o.jsx)(s.a,{href:"https://github.com/farshidinanloo",children:"@farshidinanloo"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5471",children:"#5471"})," docs: Add docusaurus-plugin-relative-paths (",(0,o.jsx)(s.a,{href:"https://github.com/ohkimur",children:"@ohkimur"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5464",children:"#5464"})," docs: add mapillary-js to showcase (",(0,o.jsx)(s.a,{href:"https://github.com/oscarlorentzon",children:"@oscarlorentzon"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5433",children:"#5433"})," docs: document doc tags + refinements (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5435",children:"#5435"})," docs: Add netboot.xyz to site showcase (",(0,o.jsx)(s.a,{href:"https://github.com/antonym",children:"@antonym"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5436",children:"#5436"})," docs: add Redocusaurus in community plugin list (",(0,o.jsx)(s.a,{href:"https://github.com/rohit-gohri",children:"@rohit-gohri"}),")"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5455",children:"#5455"})," fix: website bad version name in docusaurus.config.js (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"committers-10",children:"Committers: 10"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,o.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Ali Saki (",(0,o.jsx)(s.a,{href:"https://github.com/3alisaki",children:"@3alisaki"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Antony Messerli (",(0,o.jsx)(s.a,{href:"https://github.com/antonym",children:"@antonym"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Daniel Costrasel (",(0,o.jsx)(s.a,{href:"https://github.com/ohkimur",children:"@ohkimur"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Gabriel Csapo (",(0,o.jsx)(s.a,{href:"https://github.com/gabrielcsapo",children:"@gabrielcsapo"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Joshua Chen (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Oscar Lorentzon (",(0,o.jsx)(s.a,{href:"https://github.com/oscarlorentzon",children:"@oscarlorentzon"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Rohit Gohri (",(0,o.jsx)(s.a,{href:"https://github.com/rohit-gohri",children:"@rohit-gohri"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["farshid (",(0,o.jsx)(s.a,{href:"https://github.com/farshidinanloo",children:"@farshidinanloo"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,s,i){i.d(s,{Z:()=>t,a:()=>l});var n=i(67294);let o={},r=n.createContext(o);function l(e){let s=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),n.createElement(r.Provider,{value:s},e.children)}},88028:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.6","source":"@site/changelog/source/2.0.0-beta.6.md","title":"2.0.0-beta.6","description":"New Feature","date":"2021-09-02T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ali Saki","alias":"3alisaki","url":"https://github.com/3alisaki","imageURL":"https://github.com/3alisaki.png","key":"3alisaki","page":null},{"name":"Antony Messerli","alias":"antonym","url":"https://github.com/antonym","imageURL":"https://github.com/antonym.png","key":"antonym","page":null},{"name":"farshid","alias":"farshidinanloo","url":"https://github.com/farshidinanloo","imageURL":"https://github.com/farshidinanloo.png","key":"farshidinanloo","page":null},{"name":"Gabriel Csapo","alias":"gabrielcsapo","url":"https://github.com/gabrielcsapo","imageURL":"https://github.com/gabrielcsapo.png","key":"gabrielcsapo","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Daniel Costrasel","alias":"ohkimur","url":"https://github.com/ohkimur","imageURL":"https://github.com/ohkimur.png","key":"ohkimur","page":null},{"name":"Oscar Lorentzon","alias":"oscarlorentzon","url":"https://github.com/oscarlorentzon","imageURL":"https://github.com/oscarlorentzon.png","key":"oscarlorentzon","page":null},{"name":"Rohit Gohri","alias":"rohit-gohri","url":"https://github.com/rohit-gohri","imageURL":"https://github.com/rohit-gohri.png","key":"rohit-gohri","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-09-02T20:00","authors":["3alisaki","antonym","farshidinanloo","gabrielcsapo","Josh-Cena","lex111","ohkimur","oscarlorentzon","rohit-gohri","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.7","permalink":"/changelog/2.0.0-beta.7"},"nextItem":{"title":"2.0.0-beta.5","permalink":"/changelog/2.0.0-beta.5"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/26af6b06.85975491.js b/assets/js/26af6b06.85975491.js new file mode 100644 index 0000000000..0c029478e4 --- /dev/null +++ b/assets/js/26af6b06.85975491.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["14430"],{10953:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>l,default:()=>p,contentTitle:()=>c,assets:()=>d,toc:()=>u,metadata:()=>r});var r=JSON.parse('{"id":"advanced/ssg","title":"Static site generation (SSG)","description":"Docusaurus statically renders your React code into HTML, allowing faster load speed and better SEO.","source":"@site/docs/advanced/ssg.mdx","sourceDirName":"advanced","slug":"/advanced/ssg","permalink":"/docs/advanced/ssg","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/advanced/ssg.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"sidebar_label":"Static site generation","description":"Docusaurus statically renders your React code into HTML, allowing faster load speed and better SEO."},"sidebar":"docs","previous":{"title":"Routing","permalink":"/docs/advanced/routing"},"next":{"title":"Client architecture","permalink":"/docs/advanced/client"}}'),s=t(85893),i=t(80980),o=t(15398),a=t(58636);let l={sidebar_label:"Static site generation",description:"Docusaurus statically renders your React code into HTML, allowing faster load speed and better SEO."},c="Static site generation (SSG)",d={},u=[{value:"Understanding SSR",id:"understanding-ssr",level:2},{value:"Escape hatches",id:"escape-hatches",level:2},{value:"<code><BrowserOnly></code>",id:"browseronly",level:3},{value:"<code>useIsBrowser</code>",id:"useisbrowser",level:3},{value:"<code>useEffect</code>",id:"useeffect",level:3},{value:"<code>ExecutionEnvironment</code>",id:"executionenvironment",level:3}];function h(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components},{Details:t}=n;return t||function(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"static-site-generation-ssg",children:"Static site generation (SSG)"})}),"\n",(0,s.jsxs)(n.p,{children:["In ",(0,s.jsx)(n.a,{href:"/docs/advanced/architecture",children:"architecture"}),", we mentioned that the theme is run in Webpack. But beware: that doesn't mean it always has access to browser globals! The theme is built twice:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["During ",(0,s.jsx)(n.strong,{children:"server-side rendering"}),", the theme is compiled in a sandbox called ",(0,s.jsx)(n.a,{href:"https://reactjs.org/docs/react-dom-server.html",children:"React DOM Server"}),'. You can see this as a "headless browser", where there is no ',(0,s.jsx)(n.code,{children:"window"})," or ",(0,s.jsx)(n.code,{children:"document"}),", only React. SSR produces static HTML pages."]}),"\n",(0,s.jsxs)(n.li,{children:["During ",(0,s.jsx)(n.strong,{children:"client-side rendering"}),", the theme is compiled to JavaScript that gets eventually executed in the browser, so it has access to browser variables."]}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"SSR or SSG?",type:"info",children:[(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.em,{children:"Server-side rendering"})," and ",(0,s.jsx)(n.em,{children:"static site generation"})," can be different concepts, but we use them interchangeably."]}),(0,s.jsxs)(n.p,{children:["Strictly speaking, Docusaurus is a static site generator, because there's no server-side runtime\u2014we statically render to HTML files that are deployed on a CDN, instead of dynamically pre-rendering on each request. This differs from the working model of ",(0,s.jsx)(n.a,{href:"https://nextjs.org/",children:"Next.js"}),"."]})]}),"\n",(0,s.jsxs)(n.p,{children:["Therefore, while you probably know not to access Node globals like ",(0,s.jsx)(n.code,{children:"process"})," (",(0,s.jsx)(n.a,{href:"#node-env",children:"or can we?"}),") or the ",(0,s.jsx)(n.code,{children:"'fs'"})," module, you can't freely access browser globals either."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\n\nexport default function WhereAmI() {\n return <span>{window.location.href}</span>;\n}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["This looks like idiomatic React, but if you run ",(0,s.jsx)(n.code,{children:"docusaurus build"}),", you will get an error:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"ReferenceError: window is not defined\n"})}),"\n",(0,s.jsxs)(n.p,{children:["This is because during server-side rendering, the Docusaurus app isn't actually run in browser, and it doesn't know what ",(0,s.jsx)(n.code,{children:"window"})," is."]}),"\n",(0,s.jsxs)(t,{id:"node-env",children:[(0,s.jsxs)("summary",{children:["What about ",(0,s.jsx)("code",{children:"process.env.NODE_ENV"}),"?"]}),(0,s.jsxs)(n.p,{children:['One exception to the "no Node globals" rule is ',(0,s.jsx)(n.code,{children:"process.env.NODE_ENV"}),". In fact, you can use it in React, because Webpack injects this variable as a global:"]}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\n\nexport default function expensiveComp() {\n if (process.env.NODE_ENV === 'development') {\n return <>This component is not shown in development</>;\n }\n const res = someExpensiveOperationThatLastsALongTime();\n return <>{res}</>;\n}\n"})}),(0,s.jsxs)(n.p,{children:["During Webpack build, the ",(0,s.jsx)(n.code,{children:"process.env.NODE_ENV"})," will be replaced with the value, either ",(0,s.jsx)(n.code,{children:"'development'"})," or ",(0,s.jsx)(n.code,{children:"'production'"}),". You will then get different build results after dead code elimination:"]}),(0,s.jsxs)(o.Z,{children:[(0,s.jsx)(a.Z,{value:"Development",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-diff",children:"import React from 'react';\n\nexport default function expensiveComp() {\n // highlight-next-line\n if ('development' === 'development') {\n+ return <>This component is not shown in development</>;\n }\n- const res = someExpensiveOperationThatLastsALongTime();\n- return <>{res}</>;\n}\n"})})}),(0,s.jsx)(a.Z,{value:"Production",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-diff",children:"import React from 'react';\n\nexport default function expensiveComp() {\n // highlight-next-line\n- if ('production' === 'development') {\n- return <>This component is not shown in development</>;\n- }\n+ const res = someExpensiveOperationThatLastsALongTime();\n+ return <>{res}</>;\n}\n"})})})]})]}),"\n",(0,s.jsx)(n.h2,{id:"understanding-ssr",children:"Understanding SSR"}),"\n",(0,s.jsx)(n.p,{children:"React is not just a dynamic UI runtime\u2014it's also a templating engine. Because Docusaurus sites mostly contain static contents, it should be able to work without any JavaScript (which React runs in), but only plain HTML/CSS. And that's what server-side rendering offers: statically rendering your React code into HTML, without any dynamic content. An HTML file has no concept of client state (it's purely markup), hence it shouldn't rely on browser APIs."}),"\n",(0,s.jsxs)(n.p,{children:["These HTML files are the first to arrive at the user's browser screen when a URL is visited (see ",(0,s.jsx)(n.a,{href:"/docs/advanced/routing",children:"routing"}),'). Afterwards, the browser fetches and runs other JS code to provide the "dynamic" parts of your site\u2014anything implemented with JavaScript. However, before that, the main content of your page is already visible, allowing faster loading.']}),"\n",(0,s.jsx)(n.p,{children:'In CSR-only apps, all DOM elements are generated on client side with React, and the HTML file only ever contains one root element for React to mount DOM to; in SSR, React is already facing a fully built HTML page, and it only needs to correlate the DOM elements with the virtual DOM in its model. This step is called "hydration". After React has hydrated the static markup, the app starts to work as any normal React app.'}),"\n",(0,s.jsxs)(n.p,{children:["Note that Docusaurus is ultimately a single-page application, so static site generation is only an optimization (",(0,s.jsx)(n.em,{children:"progressive enhancement"}),", as it's called), but our functionality does not fully depend on those HTML files. This is contrary to site generators like ",(0,s.jsx)(n.a,{href:"https://jekyllrb.com/",children:"Jekyll"})," and ",(0,s.jsx)(n.a,{href:"https://v1.docusaurus.io/",children:"Docusaurus v1"}),", where all files are statically transformed to markup, and interactiveness is added through external JavaScript linked with ",(0,s.jsx)(n.code,{children:"<script>"})," tags. If you inspect the build output, you will still see JS assets under ",(0,s.jsx)(n.code,{children:"build/assets/js"}),", which are, really, the core of Docusaurus."]}),"\n",(0,s.jsx)(n.h2,{id:"escape-hatches",children:"Escape hatches"}),"\n",(0,s.jsx)(n.p,{children:"If you want to render any dynamic content on your screen that relies on the browser API to be functional at all, for example:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Our ",(0,s.jsx)(n.a,{href:"/docs/markdown-features/code-blocks#interactive-code-editor",children:"live codeblock"}),", which runs in the browser's JS runtime"]}),"\n",(0,s.jsxs)(n.li,{children:["Our ",(0,s.jsx)(n.a,{href:"/docs/markdown-features/assets#themed-images",children:"themed image"})," that detects the user's color scheme to display different images"]}),"\n",(0,s.jsxs)(n.li,{children:["The JSON viewer of our debug panel which uses the ",(0,s.jsx)(n.code,{children:"window"})," global for styling"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"You may need to escape from SSR since static HTML can't display anything useful without knowing the client state."}),"\n",(0,s.jsxs)(n.admonition,{type:"warning",children:[(0,s.jsx)(n.p,{children:"It is important for the first client-side render to produce the exact same DOM structure as server-side rendering, otherwise, React will correlate virtual DOM with the wrong DOM elements."}),(0,s.jsxs)(n.p,{children:["Therefore, the na\xefve attempt of ",(0,s.jsx)(n.code,{children:"if (typeof window !== 'undefined) {/* render something */}"})," won't work appropriately as a browser vs. server detection, because the first client render would instantly render different markup from the server-generated one."]}),(0,s.jsxs)(n.p,{children:["You can read more about this pitfall in ",(0,s.jsx)(n.a,{href:"https://www.joshwcomeau.com/react/the-perils-of-rehydration/",children:"The Perils of Rehydration"}),"."]})]}),"\n",(0,s.jsx)(n.p,{children:"We provide several more reliable ways to escape SSR."}),"\n",(0,s.jsx)(n.h3,{id:"browseronly",children:(0,s.jsx)(n.code,{children:"<BrowserOnly>"})}),"\n",(0,s.jsxs)(n.p,{children:["If you need to render some component in browser only (for example, because the component relies on browser specifics to be functional at all), one common approach is to wrap your component with ",(0,s.jsx)(n.a,{href:"/docs/docusaurus-core#browseronly",children:(0,s.jsx)(n.code,{children:"<BrowserOnly>"})})," to make sure it's invisible during SSR and only rendered in CSR."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"import BrowserOnly from '@docusaurus/BrowserOnly';\n\nfunction MyComponent(props) {\n return (\n // highlight-start\n <BrowserOnly fallback={<div>Loading...</div>}>\n {() => {\n const LibComponent =\n require('some-lib-that-accesses-window').LibComponent;\n return <LibComponent {...props} />;\n }}\n </BrowserOnly>\n // highlight-end\n );\n}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["It's important to realize that the children of ",(0,s.jsx)(n.code,{children:"<BrowserOnly>"})," is not a JSX element, but a function that ",(0,s.jsx)(n.em,{children:"returns"})," an element. This is a design decision. Consider this code:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"import BrowserOnly from '@docusaurus/BrowserOnly';\n\nfunction MyComponent() {\n return (\n <BrowserOnly>\n {/* highlight-start */}\n {/* DON'T DO THIS - doesn't actually work */}\n <span>page url = {window.location.href}</span>\n {/* highlight-end */}\n </BrowserOnly>\n );\n}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["While you may expect that ",(0,s.jsx)(n.code,{children:"BrowserOnly"})," hides away the children during server-side rendering, it actually can't. When the React renderer tries to render this JSX tree, it does see the ",(0,s.jsx)(n.code,{children:"{window.location.href}"})," variable as a node of this tree and tries to render it, although it's actually not used! Using a function ensures that we only let the renderer see the browser-only component when it's needed."]}),"\n",(0,s.jsx)(n.h3,{id:"useisbrowser",children:(0,s.jsx)(n.code,{children:"useIsBrowser"})}),"\n",(0,s.jsxs)(n.p,{children:["You can also use the ",(0,s.jsx)(n.code,{children:"useIsBrowser()"})," hook to test if the component is currently in a browser environment. It returns ",(0,s.jsx)(n.code,{children:"false"})," in SSR and ",(0,s.jsx)(n.code,{children:"true"})," is CSR, after first client render. Use this hook if you only need to perform certain conditional operations on client-side, but not render an entirely different UI."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"import useIsBrowser from '@docusaurus/useIsBrowser';\n\nfunction MyComponent() {\n const isBrowser = useIsBrowser();\n const location = isBrowser ? window.location.href : 'fetching location...';\n return <span>{location}</span>;\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"useeffect",children:(0,s.jsx)(n.code,{children:"useEffect"})}),"\n",(0,s.jsxs)(n.p,{children:["Lastly, you can put your logic in ",(0,s.jsx)(n.code,{children:"useEffect()"})," to delay its execution until after first CSR. This is most appropriate if you are only performing side-effects but don't ",(0,s.jsx)(n.em,{children:"get"})," data from the client state."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:'function MyComponent() {\n useEffect(() => {\n // Only logged in the browser console; nothing is logged during server-side rendering\n console.log("I\'m now in the browser");\n }, []);\n return <span>Some content...</span>;\n}\n'})}),"\n",(0,s.jsx)(n.h3,{id:"executionenvironment",children:(0,s.jsx)(n.code,{children:"ExecutionEnvironment"})}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.a,{href:"/docs/docusaurus-core#executionenvironment",children:(0,s.jsx)(n.code,{children:"ExecutionEnvironment"})})," namespace contains several values, and ",(0,s.jsx)(n.code,{children:"canUseDOM"})," is an effective way to detect browser environment."]}),"\n",(0,s.jsxs)(n.p,{children:["Beware that it essentially checked ",(0,s.jsx)(n.code,{children:"typeof window !== 'undefined'"})," under the hood, so you should not use it for rendering-related logic, but only imperative code, like reacting to user input by sending web requests, or dynamically importing libraries, where DOM isn't updated at all."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="a-client-module.js"',children:"import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';\n\nif (ExecutionEnvironment.canUseDOM) {\n document.title = \"I'm loaded!\";\n}\n"})})]})}function p(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},58636:function(e,n,t){t.d(n,{Z:()=>i});var r=t(85893);t(67294);var s=t(90496);function i(e){let{children:n,hidden:t,className:i}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,s.Z)("tabItem_pnkT",i),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>w});var r=t(85893),s=t(67294),i=t(90496),o=t(54947),a=t(3620),l=t(844),c=t(97486),d=t(32263),u=t(16971);function h(e){return s.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||s.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var f=t(71607);function m(e){let{className:n,block:t,selectedValue:s,selectValue:a,tabValues:l}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,o.o5)(),u=e=>{let n=e.currentTarget,t=l[c.indexOf(n)].value;t!==s&&(d(n),a(t))},h=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{let t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1]}}n?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":t},n),children:l.map(e=>{let{value:n,label:t,attributes:o}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>{c.push(e)},onKeyDown:h,onClick:u,...o,className:(0,i.Z)("tabs__item","tabItem_AQgk",o?.className,{"tabs__item--active":s===n}),children:t??n},n)})})}function x(e){let{lazy:n,children:t,selectedValue:o}=e,a=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=a.find(e=>e.props.value===o);return e?(0,s.cloneElement)(e,{className:(0,i.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:a.map((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==o}))})}function g(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:r}=e,i=function(e){let{values:n,children:t}=e;return(0,s.useMemo)(()=>{let e=n??h(t).map(e=>{let{props:{value:n,label:t,attributes:r,default:s}}=e;return{value:n,label:t,attributes:r,default:s}});return!function(e){let n=(0,d.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[o,f]=(0,s.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let r=t.find(e=>e.default)??t[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:n,tabValues:i})),[m,x]=function(e){let{queryString:n=!1,groupId:t}=e,r=(0,a.k6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,c._X)(i),(0,s.useCallback)(e=>{if(!i)return;let n=new URLSearchParams(r.location.search);n.set(i,e),r.replace({...r.location,search:n.toString()})},[i,r])]}({queryString:t,groupId:r}),[g,w]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[r,i]=(0,u.Nk)(t);return[r,(0,s.useCallback)(e=>{t&&i.set(e)},[t,i])]}({groupId:r}),y=(()=>{let e=m??g;return p({value:e,tabValues:i})?e:null})();return(0,l.Z)(()=>{y&&f(y)},[y]),{selectedValue:o,selectValue:(0,s.useCallback)(e=>{if(!p({value:e,tabValues:i}))throw Error(`Can't select invalid tab value=${e}`);f(e),x(e),w(e)},[x,w,i]),tabValues:i}}(e);return(0,r.jsxs)("div",{className:(0,i.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(m,{...n,...e}),(0,r.jsx)(x,{...n,...e})]})}function w(e){let n=(0,f.Z)();return(0,r.jsx)(g,{...e,children:h(e.children)},String(n))}},80980:function(e,n,t){t.d(n,{Z:()=>a,a:()=>o});var r=t(67294);let s={},i=r.createContext(s);function o(e){let n=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/27291a50.dddc586d.js b/assets/js/27291a50.dddc586d.js new file mode 100644 index 0000000000..eb5801f5f3 --- /dev/null +++ b/assets/js/27291a50.dddc586d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["54572"],{74177:function(e,t,a){a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>m,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=a(55515),l=a(85893),i=a(80980);let r={mdx:{format:"md"},date:"2020-11-24T20:00",authors:["arcanis","camiluc","lex111","Simek","slorber"]},o="2.0.0-alpha.69",s={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0]},c=[];function u(e){return(0,l.jsx)(l.Fragment,{})}function m(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(u,{...e})}):u(e)}},80980:function(e,t,a){a.d(t,{Z:()=>o,a:()=>r});var n=a(67294);let l={},i=n.createContext(l);function r(e){let t=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),n.createElement(i.Provider,{value:t},e.children)}},55515:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.69","source":"@site/changelog/source/2.0.0-alpha.69.md","title":"2.0.0-alpha.69","description":"New Feature","date":"2020-11-24T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ma\xebl Nison","alias":"arcanis","url":"https://github.com/arcanis","imageURL":"https://github.com/arcanis.png","key":"arcanis","page":null},{"name":"camiluc","alias":"camiluc","url":"https://github.com/camiluc","imageURL":"https://github.com/camiluc.png","key":"camiluc","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-11-24T20:00","authors":["arcanis","camiluc","lex111","Simek","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.70","permalink":"/changelog/2.0.0-alpha.70"},"nextItem":{"title":"2.0.0-alpha.68","permalink":"/changelog/2.0.0-alpha.68"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/2757f4f5.dd4152df.js b/assets/js/2757f4f5.dd4152df.js new file mode 100644 index 0000000000..c6ae107d9e --- /dev/null +++ b/assets/js/2757f4f5.dd4152df.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["41953"],{49799:function(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>l,metadata:()=>a,toc:()=>u});var a=n(43514),r=n(85893),o=n(80980);let l={mdx:{format:"md"},date:"2019-11-04T20:00"},s="2.0.0-alpha.32",c={authorsImageUrls:[]},u=[];function i(e){return(0,r.jsx)(r.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(i,{...e})}):i(e)}},80980:function(e,t,n){n.d(t,{Z:()=>s,a:()=>l});var a=n(67294);let r={},o=a.createContext(r);function l(e){let t=a.useContext(o);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),a.createElement(o.Provider,{value:t},e.children)}},43514:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.32","source":"@site/changelog/source/2.0.0-alpha.32.md","title":"2.0.0-alpha.32","description":"Features","date":"2019-11-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-04T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.33","permalink":"/changelog/2.0.0-alpha.33"},"nextItem":{"title":"2.0.0-alpha.31","permalink":"/changelog/2.0.0-alpha.31"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/276a1994.f44c6928.js b/assets/js/276a1994.f44c6928.js new file mode 100644 index 0000000000..985b06b2be --- /dev/null +++ b/assets/js/276a1994.f44c6928.js @@ -0,0 +1,5 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["37251"],{71317:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>c,default:()=>h,contentTitle:()=>l,assets:()=>a,toc:()=>u,metadata:()=>r});var r=JSON.parse('{"id":"release-process","title":"Release process","description":"Let\'s see how Docusaurus handles versioning, releases and breaking changes.","source":"@site/community/5-release-process.mdx","sourceDirName":".","slug":"/release-process","permalink":"/community/release-process","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/5-release-process.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":5,"frontMatter":{},"sidebar":"community","previous":{"title":"Canary releases","permalink":"/community/canary"}}'),t=s(85893),i=s(80980),o=s(21143);let c={},l="Release process",a={},u=[{value:"Semantic versioning",id:"semantic-versioning",level:2},{value:"Major versions",id:"major-versions",level:3},{value:"Minor versions",id:"minor-versions",level:3},{value:"Patch versions",id:"patch-versions",level:3},{value:"Versions",id:"versions",level:2},{value:"Stable version",id:"stable-version",level:3},{value:"Next version",id:"next-version",level:3},{value:"Public API surface",id:"public-api-surface",level:2},{value:"Core public API",id:"core-public-api",level:3},{value:"Theming public API",id:"theming-public-api",level:3}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"release-process",children:"Release process"})}),"\n",(0,t.jsxs)(n.p,{children:["Let's see how Docusaurus handles ",(0,t.jsx)(n.strong,{children:"versioning, releases and breaking changes"}),"."]}),"\n",(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsx)(n.p,{children:"This topic is particularly important for highly customized sites that may have difficulties to upgrade."})}),"\n",(0,t.jsx)(n.h2,{id:"semantic-versioning",children:"Semantic versioning"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus versioning is based on the ",(0,t.jsx)(n.code,{children:"major.minor.patch"})," scheme and respects ",(0,t.jsx)(n.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Respecting Semantic Versioning is important for multiple reasons:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["It ",(0,t.jsx)(n.strong,{children:"guarantees simple minor version upgrades"}),", as long as you only use the ",(0,t.jsx)(n.a,{href:"/community/release-process#public-api-surface",children:"public API"})]}),"\n",(0,t.jsx)(n.li,{children:"It follows front-end ecosystem conventions"}),"\n",(0,t.jsx)(n.li,{children:"A new major version is an opportunity to thoroughly document breaking changes"}),"\n",(0,t.jsx)(n.li,{children:"A new major/minor version is an opportunity to communicate new features through a blog post"}),"\n"]}),"\n",(0,t.jsxs)(n.admonition,{type:"note",children:[(0,t.jsxs)(n.p,{children:["Releasing Docusaurus 2.0 took a very long time. From now on, Docusaurus will ",(0,t.jsx)(n.strong,{children:"release new major versions more regularly"}),". In practice, you can expect a new major version every 2\u20134 months."]}),(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html",children:"Major version numbers are not sacred"}),", but we still group breaking changes together and avoid releasing major versions too often."]})]}),"\n",(0,t.jsx)(n.h3,{id:"major-versions",children:"Major versions"}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"major"})," version number is incremented on ",(0,t.jsx)(n.strong,{children:"every breaking change"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"Whenever a new major version is released, we publish:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["a blog post with feature highlights, major bug fixes, ",(0,t.jsx)(n.strong,{children:"breaking changes, and upgrade instructions"}),"."]}),"\n",(0,t.jsx)(n.li,{children:"an exhaustive changelog entry"}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Read our ",(0,t.jsx)(n.a,{href:"#public-api-surface",children:"public API surface"})," section to clearly understand what we consider as a breaking change."]})}),"\n",(0,t.jsx)(n.h3,{id:"minor-versions",children:"Minor versions"}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"minor"})," version number is incremented on every significant retro-compatible change."]}),"\n",(0,t.jsx)(n.p,{children:"Whenever a new minor version is released, we publish:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"a blog post with a list of feature highlights and major bug fixes"}),"\n",(0,t.jsx)(n.li,{children:"an exhaustive changelog entry"}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["If you only use our ",(0,t.jsx)(n.a,{href:"#public-api-surface",children:"public API surface"}),", you should be able to upgrade in no time!"]})}),"\n",(0,t.jsx)(n.h3,{id:"patch-versions",children:"Patch versions"}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"patch"})," version number is incremented on bugfixes releases."]}),"\n",(0,t.jsx)(n.p,{children:"Whenever a new patch version is released, we publish:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"an exhaustive changelog entry"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"versions",children:"Versions"}),"\n","\n",(0,t.jsx)(n.p,{children:"The Docusaurus team is usually working on 2 major versions at the same time:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["Docusaurus ",(0,t.jsx)(o.Fr,{})]}),": the ",(0,t.jsx)(n.strong,{children:"stable"})," version, on the ",(0,t.jsx)(o.Zl,{})," branch"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["Docusaurus ",(0,t.jsx)(o.CW,{})]}),": the ",(0,t.jsx)(n.strong,{children:"next"})," version, on the ",(0,t.jsx)(o.mq,{})," branch"]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(o.Zl,{})," branch is created just before releasing the first v",(0,t.jsx)(o.Fr,{})," release candidate."]})}),"\n",(0,t.jsx)(n.h3,{id:"stable-version",children:"Stable version"}),"\n",(0,t.jsxs)(n.p,{children:["The stable version (v",(0,t.jsx)(o.Fr,{}),", on ",(0,t.jsx)(o.Zl,{}),") is recommended for most Docusaurus users."]}),"\n",(0,t.jsxs)(n.p,{children:["We regularly backport retro-compatible features, bug and security fixes from ",(0,t.jsx)(o.mq,{})," to ",(0,t.jsx)(o.Zl,{})," with ",(0,t.jsx)(n.code,{children:"git cherry-pick"})," to make them available to those not ready for the next version."]}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsxs)(n.p,{children:["After a new stable version has been released, the former stable version will continue to receive support only for ",(0,t.jsx)(n.strong,{children:"major security issues"})," for ",(0,t.jsx)(n.strong,{children:"3 months"}),". Otherwise, all features will be frozen and non-critical bugs will not be fixed."]}),(0,t.jsx)(n.p,{children:"It is recommended to upgrade within that time frame to the new stable version."})]}),"\n",(0,t.jsx)(n.h3,{id:"next-version",children:"Next version"}),"\n",(0,t.jsxs)(n.p,{children:["The next version (v",(0,t.jsx)(o.CW,{}),", on ",(0,t.jsx)(o.mq,{}),") is the version the Docusaurus team is currently working on."]}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(o.mq,{})," branch is the ",(0,t.jsx)(n.strong,{children:"default target branch"})," for all pull requests, including core team and external contributions."]}),"\n",(0,t.jsxs)(n.p,{children:["This version is recommended for ",(0,t.jsx)(n.strong,{children:"early adopters"})," that want to use the latest Docusaurus features as soon as possible. It is also a good way to help us by reporting bugs and giving some feedback."]}),"\n",(0,t.jsx)(n.p,{children:"There are 3 ways to use the next version:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["with an ",(0,t.jsx)(n.code,{children:"alpha"}),", ",(0,t.jsx)(n.code,{children:"beta"})," or ",(0,t.jsx)(n.code,{children:"rc"})," pre-release"]}),"\n",(0,t.jsxs)(n.li,{children:["with the ",(0,t.jsx)(n.code,{children:"@next"})," npm dist tag for the latest pre-release"]}),"\n",(0,t.jsxs)(n.li,{children:["with a ",(0,t.jsx)(n.a,{href:"/community/canary",children:"canary release"})," for the very latest features"]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsx)(n.p,{children:"The next version passes all our automated tests and is used by the Docusaurus site itself. It is relatively safe: don't be afraid to give it a try."})}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsx)(n.p,{children:"Breaking changes can happen on the next version: detailed upgrade instructions are available in the changelog and pull requests."}),(0,t.jsxs)(n.p,{children:["At the ",(0,t.jsx)(n.code,{children:"beta"})," and ",(0,t.jsx)(n.code,{children:"rc"})," (release candidate) phases, we avoid introducing major breaking changes."]})]}),"\n",(0,t.jsx)(n.h2,{id:"public-api-surface",children:"Public API surface"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus commits to respecting Semantic Versioning. This means that whenever changes occur in Docusaurus public APIs and break backward compatibility, we will increment the ",(0,t.jsx)(n.code,{children:"major"})," version number."]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Docusaurus guarantees public API retro-compatibility across ",(0,t.jsx)(n.code,{children:"minor"})," versions. Unless you use internal APIs, ",(0,t.jsx)(n.code,{children:"minor"})," version upgrades should be easy."]})}),"\n",(0,t.jsx)(n.p,{children:"We will outline what accounts as the public API surface."}),"\n",(0,t.jsx)(n.h3,{id:"core-public-api",children:"Core public API"}),"\n",(0,t.jsx)(n.p,{children:"\u2705 Our public API includes:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Docusaurus config"}),"\n",(0,t.jsx)(n.li,{children:"Docusaurus client APIs"}),"\n",(0,t.jsx)(n.li,{children:"Docusaurus CLI"}),"\n",(0,t.jsx)(n.li,{children:"Preset options"}),"\n",(0,t.jsx)(n.li,{children:"Plugin options"}),"\n",(0,t.jsx)(n.li,{children:"Plugin lifecycle APIs"}),"\n",(0,t.jsx)(n.li,{children:"Theme config"}),"\n",(0,t.jsx)(n.li,{children:"Core plugins route component props"}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"@docusaurus/types"})," TypeScript types","\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"We still retain the freedom to make types stricter (which may break type-checking)."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["\u274C Our public API ",(0,t.jsx)(n.strong,{children:"excludes"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Docusaurus config ",(0,t.jsx)(n.code,{children:"future"})]}),"\n",(0,t.jsxs)(n.li,{children:["All features prefixed by ",(0,t.jsx)(n.code,{children:"experimental_"})," or ",(0,t.jsx)(n.code,{children:"unstable_"})]}),"\n",(0,t.jsxs)(n.li,{children:["All features prefixed by ",(0,t.jsx)(n.code,{children:"v<MajorVersion>_"})," (",(0,t.jsx)(n.code,{children:"v6_"})," ",(0,t.jsx)(n.code,{children:"v7_"}),", etc.)"]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsx)(n.p,{children:"For non-theme APIs, any documented API is considered public (and will be stable); any undocumented API is considered internal."})}),"\n",(0,t.jsxs)(n.p,{children:['An API being "stable" means if you increment the patch or minor version of your Docusaurus installation without any other change, running ',(0,t.jsx)(n.code,{children:"docusaurus start"})," or ",(0,t.jsx)(n.code,{children:"docusaurus build"})," should not throw an error."]}),"\n",(0,t.jsx)(n.h3,{id:"theming-public-api",children:"Theming public API"}),"\n",(0,t.jsx)(n.p,{children:"Docusaurus has a very flexible theming system:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"You can use custom CSS"}),"\n",(0,t.jsxs)(n.li,{children:["You can ",(0,t.jsx)(n.a,{href:"/docs/swizzling",children:"swizzle"})," any React theme component"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"This system also implicitly creates a very large API surface. To be able to move fast and improve Docusaurus, we can't guarantee retro-compatibility."}),"\n",(0,t.jsx)(n.p,{children:"\u2705 Our public theming API includes:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/styling-layout#theme-class-names",children:"Theme class names"})}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"/docs/styling-layout#styling-your-site-with-infima",children:"Infima"})," class names and CSS variables"]}),"\n",(0,t.jsxs)(n.li,{children:["React components that are ",(0,t.jsx)(n.a,{href:"/docs/swizzling#what-is-safe-to-swizzle",children:"safe to swizzle"})]}),"\n",(0,t.jsx)(n.li,{children:"The theme user experience"}),"\n",(0,t.jsx)(n.li,{children:"Browser support"}),"\n"]}),"\n",(0,t.jsxs)(n.admonition,{type:"tip",children:[(0,t.jsx)(n.p,{children:"You may not be able to achieve your site customization through this public API."}),(0,t.jsxs)(n.p,{children:["In this case, please ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/5468",children:"report your customization use case"})," and we will figure out how to expand our public API."]})]}),"\n",(0,t.jsxs)(n.p,{children:["\u274C Our public theming API ",(0,t.jsx)(n.strong,{children:"excludes"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"The DOM structure"}),"\n",(0,t.jsxs)(n.li,{children:["CSS module class names with a hash suffix (usually targeted with ",(0,t.jsx)(n.code,{children:"[class*='myClassName']"})," selectors)"]}),"\n",(0,t.jsxs)(n.li,{children:["React components that are ",(0,t.jsx)(n.a,{href:"/docs/swizzling#what-is-safe-to-swizzle",children:"unsafe or forbidden to swizzle"})]}),"\n",(0,t.jsxs)(n.li,{children:["React components that import from ",(0,t.jsx)(n.code,{children:"@docusaurus/theme-common/internal"})]}),"\n",(0,t.jsx)(n.li,{children:"The exact visual appearance of the theme"}),"\n"]}),"\n",(0,t.jsxs)(n.admonition,{type:"note",children:[(0,t.jsxs)(n.p,{children:["When ",(0,t.jsx)(n.a,{href:"/docs/swizzling",children:"swizzling"})," safe components, you might encounter components that import undocumented APIs from ",(0,t.jsx)(n.code,{children:"@docusaurus/theme-common"})," (without the ",(0,t.jsx)(n.code,{children:"/internal"})," subpath)."]}),(0,t.jsx)(n.p,{children:'We still maintain retro-compatibility on those APIs (hence they are marked as "safe"), but we don\'t encourage a direct usage.'})]})]})}function h(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},56497:function(e,n,s){s.d(n,{Z:()=>i});var r=s(85893);s(67294);var t=s(71607);function i(e){let{children:n,fallback:s}=e;return(0,t.Z)()?(0,r.jsx)(r.Fragment,{children:n?.()}):s??null}},21143:function(e,n,s){s.d(n,{CW:()=>x,FS:()=>y,Fr:()=>j,Hc:()=>w,I1:()=>p,SR:()=>m,UM:()=>v,Zl:()=>f,mC:()=>d,mq:()=>g,rv:()=>k});var r=s(85893),t=s(67294),i=s(99887),o=s(90158),c=s(77827),l=s(35363),a=s(95998);let u=t.createContext(null);function d(e){let{children:n}=e,[s,i]=(0,t.useState)(null),o=(0,t.useRef)(!0);return(0,t.useEffect)(()=>(o.current=!0,()=>{o.current=!1}),[]),(0,t.useEffect)(()=>{fetch("https://registry.npmjs.org/@docusaurus/core").then(e=>e.json()).then(e=>{if(!o.current)return;let n=Object.keys(e.versions).at(-1),s=e.time[n];i({name:n,time:s})})},[]),(0,r.jsx)(u.Provider,{value:s,children:n})}function h(){let e=i.J("default").preferredVersion?.name,n=(0,o.gB)("default"),s=(n.find(e=>"current"!==e.name)??n[0]).name;return e&&"current"!==e?e:s}function p(){let e=(0,t.useContext)(u);return e?(0,r.jsx)("span",{children:(0,r.jsx)(c.Z,{description:"The hint text for the current canary version tag.",values:{canaryVersionName:(0,r.jsx)("b",{children:e.name})},children:"Current: {canaryVersionName}"})}):(0,r.jsx)("span",{children:(0,r.jsx)(c.Z,{description:"An example canary version tag when the actual version can't be fetched.",children:"Example: 0.0.0-4922"})})}function m(){let e=h();return(0,r.jsx)("span",{children:e})}function x(){return(0,r.jsx)("span",{children:3})}function j(){return(0,r.jsx)("span",{children:2})}function b(e){let{branch:n}=e;return(0,r.jsx)(l.Z,{to:`https://github.com/facebook/docusaurus/tree/${n}`,children:(0,r.jsx)("code",{children:n})})}function f(){return(0,r.jsx)(b,{branch:"docusaurus-v2"})}function g(){return(0,r.jsx)(b,{branch:"main"})}function v(e){let{children:n}=e;return(0,t.useContext)(u)?null:n}function y(e){let{children:n}=e;return(0,t.useContext)(u)?n:null}function w(){let e=t.useContext(u)?.name??"0.0.0-4922",n=h();return(0,r.jsx)(a.Z,{language:"diff",children:`- "@docusaurus/core": "^${n}", +- "@docusaurus/preset-classic": "^${n}", ++ "@docusaurus/core": "${e}", ++ "@docusaurus/preset-classic": "${e}", +`})}function k(){let e=t.useContext(u)?.time;return e?(0,r.jsx)(c.Z,{values:{time:(0,r.jsx)("b",{children:new Date(e).toLocaleString()})},children:"The latest canary version that's available on npm is published at {time}."}):null}},95998:function(e,n,s){s.d(n,{Z:()=>en});var r,t={};s.r(t),s.d(t,{ButtonExample:()=>C});var i=s(85893),o=s(67294),c=s(90496),l=s(71607),a=s(10075),u=s(77827),d=s(8156),h=s(56497),p=s(85108),m=s(45245),x=s(26378);function j(){let{prism:e}=(0,x.L)(),{colorMode:n}=(0,m.I)(),s=e.theme,r=e.darkTheme||s;return"dark"===n?r:s}var b=s(67490);function f(e){let{children:n}=e;return(0,i.jsx)("div",{className:(0,c.Z)("playgroundHeader_Tvsk"),children:n})}function g(){return(0,i.jsx)("div",{children:"Loading..."})}function v(){return(0,i.jsx)(h.Z,{fallback:(0,i.jsx)(g,{}),children:()=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b.Z,{fallback:e=>(0,i.jsx)(p.Ac,{...e}),children:(0,i.jsx)(a.i5,{})}),(0,i.jsx)(a.IF,{})]})})}function y(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(f,{children:(0,i.jsx)(u.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,i.jsx)("div",{className:"playgroundPreview_mApW",children:(0,i.jsx)(v,{})})]})}function w(){let e=(0,l.Z)();return(0,i.jsx)(a.uz,{className:"playgroundEditor_TySg"},String(e))}function k(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(f,{children:(0,i.jsx)(u.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,i.jsx)(w,{})]})}let I=e=>`${e};`;function B(e){let{children:n,transformCode:s,...r}=e,{siteConfig:{themeConfig:t}}=(0,d.Z)(),{liveCodeBlock:{playgroundPosition:o}}=t,c=j(),l=r.metastring?.includes("noInline")??!1;return(0,i.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,i.jsx)(a.nu,{code:n?.replace(/\n$/,""),noInline:l,transformCode:s??I,theme:c,...r,children:"top"===o?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(y,{}),(0,i.jsx)(k,{})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(k,{}),(0,i.jsx)(y,{})]})})})}function C(e){return(0,i.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let A={React:o,...o,...t};var N=s(55951),T=s(6324),L=s.n(T);let P=/title=(?<quote>["'])(?<title>.*?)\1/,S=/\{(?<range>[\d,-]+)\}/,E={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},Z={...E,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},z=Object.keys(E);function _(e,n){let s=e.map(e=>{let{start:s,end:r}=Z[e];return`(?:${s}\\s*(${n.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${s})\\s*$`)}function D(e){let{as:n,...s}=e,r=function(e){let n={color:"--prism-color",backgroundColor:"--prism-background-color"},s={};return Object.entries(e.plain).forEach(e=>{let[r,t]=e,i=n[r];i&&"string"==typeof t&&(s[i]=t)}),s}(j());return(0,i.jsx)(n,{...s,style:r,className:(0,c.Z)(s.className,"codeBlockContainer_jDV4",N.k.common.codeBlock)})}let W={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function R(e){let{children:n,className:s}=e;return(0,i.jsx)(D,{as:"pre",tabIndex:0,className:(0,c.Z)(W.codeBlockStandalone,"thin-scrollbar",s),children:(0,i.jsx)("code",{className:W.codeBlockLines,children:n})})}var O=s(50923);let $={attributes:!0,characterData:!0,childList:!0,subtree:!0};var M=s(7316);let F={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function V(e){let{line:n,classNames:s,showLineNumbers:r,getLineProps:t,getTokenProps:o}=e;1===n.length&&"\n"===n[0].content&&(n[0].content="");let l=t({line:n,className:(0,c.Z)(s,r&&F.codeLine)}),a=n.map((e,n)=>(0,i.jsx)("span",{...o({token:e})},n));return(0,i.jsxs)("span",{...l,children:[r?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:F.codeLineNumber}),(0,i.jsx)("span",{className:F.codeLineContent,children:a})]}):a,(0,i.jsx)("br",{})]})}var H=s(44771);function q(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function U(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let G={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function J(e){let{code:n,className:s}=e,[r,t]=(0,o.useState)(!1),l=(0,o.useRef)(void 0),a=(0,o.useCallback)(()=>{(0,H.Z)(n),t(!0),l.current=window.setTimeout(()=>{t(!1)},1e3)},[n]);return(0,o.useEffect)(()=>()=>window.clearTimeout(l.current),[]),(0,i.jsx)("button",{type:"button","aria-label":r?(0,u.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,u.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,u.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,c.Z)("clean-btn",s,G.copyButton,r&&G.copyButtonCopied),onClick:a,children:(0,i.jsxs)("span",{className:G.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(q,{className:G.copyButtonIcon}),(0,i.jsx)(U,{className:G.copyButtonSuccessIcon})]})})}function Q(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let Y={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function X(e){let{className:n,onClick:s,isEnabled:r}=e,t=(0,u.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:s,className:(0,c.Z)("clean-btn",n,r&&Y.wordWrapButtonEnabled),"aria-label":t,title:t,children:(0,i.jsx)(Q,{className:Y.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var n;let{children:s,className:r="",metastring:t,title:a,showLineNumbers:u,language:d}=e,{prism:{defaultLanguage:h,magicComments:p}}=(0,x.L)(),m=(n=d??function(e){let n=e.split(" ").find(e=>e.startsWith("language-"));return n?.replace(/language-/,"")}(r)??h,n?.toLowerCase()),b=j(),f=function(){let[e,n]=(0,o.useState)(!1),[s,r]=(0,o.useState)(!1),t=(0,o.useRef)(null),i=(0,o.useCallback)(()=>{let s=t.current.querySelector("code");e?s.removeAttribute("style"):(s.style.whiteSpace="pre-wrap",s.style.overflowWrap="anywhere"),n(e=>!e)},[t,e]),c=(0,o.useCallback)(()=>{let{scrollWidth:e,clientWidth:n}=t.current;r(e>n||t.current.querySelector("code").hasAttribute("style"))},[t]);return!function(e,n){let[s,r]=(0,o.useState)(),t=(0,o.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,o.useEffect)(()=>{t()},[t]),function(e,n){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$,r=(0,O.zX)(n),t=(0,O.Ql)(s);(0,o.useEffect)(()=>{let n=new MutationObserver(r);return e&&n.observe(e,t),()=>n.disconnect()},[e,r,t])}(s,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),t())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(t,c),(0,o.useEffect)(()=>{c()},[e,c]),(0,o.useEffect)(()=>(window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)}),[c]),{codeBlockRef:t,isEnabled:e,isCodeScrollable:s,toggle:i}}(),g=(0,l.Z)(),v=(t?.match(P)?.groups.title??"")||a,{lineClassNames:y,code:w}=function(e,n){let s=e.replace(/\n$/,""),{language:r,magicComments:t,metastring:i}=n;if(i&&S.test(i)){let e=i.match(S).groups.range;if(0===t.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${i}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let n=t[0].className;return{lineClassNames:Object.fromEntries(L()(e).filter(e=>e>0).map(e=>[e-1,[n]])),code:s}}if(void 0===r)return{lineClassNames:{},code:s};let o=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return _(["js","jsBlock"],n);case"jsx":case"tsx":return _(["js","jsBlock","jsx"],n);case"html":return _(["js","jsBlock","html"],n);case"python":case"py":case"bash":return _(["bash"],n);case"markdown":case"md":return _(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return _(["tex"],n);case"lua":case"haskell":return _(["lua"],n);case"sql":return _(["lua","jsBlock"],n);case"wasm":return _(["wasm"],n);case"vb":case"vba":case"visual-basic":return _(["vb","rem"],n);case"vbnet":return _(["vbnet","rem"],n);case"batch":return _(["rem"],n);case"basic":return _(["rem","f90"],n);case"fsharp":return _(["js","ml"],n);case"ocaml":case"sml":return _(["ml"],n);case"fortran":return _(["f90"],n);case"cobol":return _(["cobol"],n);default:return _(z,n)}}(r,t),c=s.split("\n"),l=Object.fromEntries(t.map(e=>[e.className,{start:0,range:""}])),a=Object.fromEntries(t.filter(e=>e.line).map(e=>{let{className:n,line:s}=e;return[s,n]})),u=Object.fromEntries(t.filter(e=>e.block).map(e=>{let{className:n,block:s}=e;return[s.start,n]})),d=Object.fromEntries(t.filter(e=>e.block).map(e=>{let{className:n,block:s}=e;return[s.end,n]}));for(let e=0;e<c.length;){let n=c[e].match(o);if(!n){e+=1;continue}let s=n.slice(1).find(e=>void 0!==e);a[s]?l[a[s]].range+=`${e},`:u[s]?l[u[s]].start=e:d[s]&&(l[d[s]].range+=`${l[d[s]].start}-${e-1},`),c.splice(e,1)}s=c.join("\n");let h={};return Object.entries(l).forEach(e=>{let[n,{range:s}]=e;L()(s).forEach(e=>{h[e]??=[],h[e].push(n)})}),{lineClassNames:h,code:s}}(s,{metastring:t,language:m,magicComments:p}),k=function(e){let{showLineNumbers:n,metastring:s}=e;return"boolean"==typeof n?n?1:void 0:"number"==typeof n?n:function(e){let n=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}(s)}({showLineNumbers:u,metastring:t});return(0,i.jsxs)(D,{as:"div",className:(0,c.Z)(r,m&&!r.includes(`language-${m}`)&&`language-${m}`),children:[v&&(0,i.jsx)("div",{className:W.codeBlockTitle,children:v}),(0,i.jsxs)("div",{className:W.codeBlockContent,children:[(0,i.jsx)(M.y$,{theme:b,code:w,language:m??"text",children:e=>{let{className:n,style:s,tokens:r,getLineProps:t,getTokenProps:o}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,c.Z)(n,W.codeBlock,"thin-scrollbar"),style:s,children:(0,i.jsx)("code",{className:(0,c.Z)(W.codeBlockLines,void 0!==k&&W.codeBlockLinesWithNumbering),style:void 0===k?void 0:{counterReset:`line-count ${k-1}`},children:r.map((e,n)=>(0,i.jsx)(V,{line:e,getLineProps:t,getTokenProps:o,classNames:y[n],showLineNumbers:void 0!==k},n))})})}}),g?(0,i.jsxs)("div",{className:W.buttonGroup,children:[(f.isEnabled||f.isCodeScrollable)&&(0,i.jsx)(X,{className:W.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),(0,i.jsx)(J,{className:W.codeButton,code:w})]}):null]})]})}let ee=(r=function(e){let{children:n,...s}=e,r=(0,l.Z)(),t=o.Children.toArray(n).some(e=>(0,o.isValidElement)(e))?n:Array.isArray(n)?n.join(""):n;return(0,i.jsx)("string"==typeof t?K:R,{...s,children:t},String(r))},function(e){return e.live?(0,i.jsx)(B,{scope:A,...e}):(0,i.jsx)(r,{...e})});function en(e){return(0,i.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/27908.25ba5c06.js b/assets/js/27908.25ba5c06.js new file mode 100644 index 0000000000..bd06bae530 --- /dev/null +++ b/assets/js/27908.25ba5c06.js @@ -0,0 +1,29 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["27908"],{20849:function(e,t,i){function a(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}i.d(t,{A:()=>a}),(0,i(28923).eW)(a,"populateCommonDb")},15573:function(e,t,i){i.d(t,{diagram:()=>W});var a=i(20849),l=i(84890),r=i(70466),n=i(28923),s=i(16750),c=i(11141),o=n.vZ.pie,p={sections:new Map,showData:!1,config:o},d=p.sections,u=p.showData,g=structuredClone(o),f=(0,n.eW)(()=>structuredClone(g),"getConfig"),h=(0,n.eW)(()=>{d=new Map,u=p.showData,(0,n.ZH)()},"clear"),x=(0,n.eW)(({label:e,value:t})=>{d.has(e)||(d.set(e,t),n.cM.debug(`added new section: ${e}, with value: ${t}`))},"addSection"),m=(0,n.eW)(()=>d,"getSections"),w=(0,n.eW)(e=>{u=e},"setShowData"),S=(0,n.eW)(()=>u,"getShowData"),T={getConfig:f,clear:h,setDiagramTitle:n.g2,getDiagramTitle:n.Kr,setAccTitle:n.GN,getAccTitle:n.eu,setAccDescription:n.U$,getAccDescription:n.Mx,addSection:x,getSections:m,setShowData:w,getShowData:S},$=(0,n.eW)((e,t)=>{(0,a.A)(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),y={parse:(0,n.eW)(async e=>{let t=await (0,s.Qc)("pie",e);n.cM.debug(t),$(t,T)},"parse")},D=(0,n.eW)(e=>` + .pieCircle{ + stroke: ${e.pieStrokeColor}; + stroke-width : ${e.pieStrokeWidth}; + opacity : ${e.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${e.pieOuterStrokeColor}; + stroke-width: ${e.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${e.pieTitleTextSize}; + fill: ${e.pieTitleTextColor}; + font-family: ${e.fontFamily}; + } + .slice { + font-family: ${e.fontFamily}; + fill: ${e.pieSectionTextColor}; + font-size:${e.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${e.pieLegendTextColor}; + font-family: ${e.fontFamily}; + font-size: ${e.pieLegendTextSize}; + } +`,"getStyles"),C=(0,n.eW)(e=>{let t=[...e.entries()].map(e=>({label:e[0],value:e[1]})).sort((e,t)=>t.value-e.value);return(0,c.ve8)().value(e=>e.value)(t)},"createPieArcs"),W={parser:y,db:T,renderer:{draw:(0,n.eW)((e,t,i,a)=>{n.cM.debug("rendering pie chart\n"+e);let s=a.db,o=(0,n.nV)(),p=(0,l.Rb)(s.getConfig(),o.pie),d=(0,r.P)(t),u=d.append("g");u.attr("transform","translate(225,225)");let{themeVariables:g}=o,[f]=(0,l.VG)(g.pieOuterStrokeWidth);f??=2;let h=p.textPosition,x=(0,c.Nb1)().innerRadius(0).outerRadius(185),m=(0,c.Nb1)().innerRadius(185*h).outerRadius(185*h);u.append("circle").attr("cx",0).attr("cy",0).attr("r",185+f/2).attr("class","pieOuterCircle");let w=s.getSections(),S=C(w),T=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],$=(0,c.PKp)(T);u.selectAll("mySlices").data(S).enter().append("path").attr("d",x).attr("fill",e=>$(e.data.label)).attr("class","pieCircle");let y=0;w.forEach(e=>{y+=e}),u.selectAll("mySlices").data(S).enter().append("text").text(e=>(e.data.value/y*100).toFixed(0)+"%").attr("transform",e=>"translate("+m.centroid(e)+")").style("text-anchor","middle").attr("class","slice"),u.append("text").text(s.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");let D=u.selectAll(".legend").data($.domain()).enter().append("g").attr("class","legend").attr("transform",(e,t)=>"translate(216,"+(22*t-22*$.domain().length/2)+")");D.append("rect").attr("width",18).attr("height",18).style("fill",$).style("stroke",$),D.data(S).append("text").attr("x",22).attr("y",14).text(e=>{let{label:t,value:i}=e.data;return s.getShowData()?`${t} [${i}]`:t});let W=512+Math.max(...D.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0));d.attr("viewBox",`0 0 ${W} 450`),(0,n.v2)(d,450,W,p.useMaxWidth)},"draw")},styles:D}}}]); \ No newline at end of file diff --git a/assets/js/27e2fb4b.bb45b4d7.js b/assets/js/27e2fb4b.bb45b4d7.js new file mode 100644 index 0000000000..a212a75e6b --- /dev/null +++ b/assets/js/27e2fb4b.bb45b4d7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["87434"],{96228:function(e,s,n){n.r(s),n.d(s,{assets:()=>t,contentTitle:()=>r,default:()=>c,frontMatter:()=>h,metadata:()=>a,toc:()=>o});var a=n(28329),i=n(85893),l=n(80980);let h={mdx:{format:"md"},date:"2020-10-02T20:00",authors:["aakhtar3","abadon7","aeneasr","anru","ayonious","ayshiff","edno","jeremyhager","JoelMarcey","lex111","longlho","moonrailgun","muskanvk","SamChou19815","Simek","slorber","timgates42","yangshun"]},r="2.0.0-alpha.65",t={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 18",id:"committers-18",level:2}];function u(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,l.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3497",children:"#3497"})," feat(v2): env variable TERSER_PARALLEL to customize TerserPlugin.parallel (",(0,i.jsx)(s.a,{href:"https://github.com/aeneasr",children:"@aeneasr"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3446",children:"#3446"})," feat(v2): new docusaurus clear command (",(0,i.jsx)(s.a,{href:"https://github.com/abadon7",children:"@abadon7"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3485",children:"#3485"})," feat(v2): Add @theme-init components to user theme (",(0,i.jsx)(s.a,{href:"https://github.com/edno",children:"@edno"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3467",children:"#3467"})," feat(v2): add beforeDefaultRemarkPlugins/beforeDefaultRehypePlugins options to all md content plugins (",(0,i.jsx)(s.a,{href:"https://github.com/ayshiff",children:"@ayshiff"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3496",children:"#3496"})," feat(v2): migrate bootstrap components to ts (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3474",children:"#3474"})," feat(v2): allow to use array of files in customCss field (",(0,i.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3457",children:"#3457"})," feat(v2): add optional custom wrapper class name for pages based on theme classic Layout (",(0,i.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3517",children:"#3517"})," fix(v1): v1 deploy preview should be available (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3498",children:"#3498"})," fix(v2): fixed props being passed to @svgr/webpack loader (",(0,i.jsx)(s.a,{href:"https://github.com/anru",children:"@anru"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3456",children:"#3456"})," fix(v2): use valid value for crossorigin attribute (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3427",children:"#3427"})," fix(v2): normalizeUrl edge cases (",(0,i.jsx)(s.a,{href:"https://github.com/ayshiff",children:"@ayshiff"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3472",children:"#3472"})," fix(v2): Show dropdown instead of a single button when there are two versions (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3441",children:"#3441"})," fix(v2): fixing typo in error message (",(0,i.jsx)(s.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3499",children:"#3499"})," chore(v2): upgrade Infima to 0.2.0-alpha.13 (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3502",children:"#3502"})," docs(v2): add doc for wrapping theme components with @theme-original and @theme-init (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3473",children:"#3473"})," misc: add License to the documentation (",(0,i.jsx)(s.a,{href:"https://github.com/muskanvk",children:"@muskanvk"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3492",children:"#3492"})," docs(v2): Added drone.io publish docs #3491 (",(0,i.jsx)(s.a,{href:"https://github.com/aakhtar3",children:"@aakhtar3"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3479",children:"#3479"})," docs(v2): remove redundant new line in code block (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3448",children:"#3448"})," chore(v2): fix theme classic navbar style docs (",(0,i.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-1.x"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-migrate"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3504",children:"#3504"})," chore(v1): move v1 docs inside website-1.x (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3506",children:"#3506"})," chore(v2): v2 website should make it easy to contribute to upstream docs (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3511",children:"#3511"})," misc: update CODEOWNERS (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3477",children:"#3477"})," chore(v2): remove alpha 58 doc (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3453",children:"#3453"})," test(v2): add protocol relative uri validation test (",(0,i.jsx)(s.a,{href:"https://github.com/moonrailgun",children:"@moonrailgun"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"committers-18",children:"Committers: 18"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Andrey Rublev (",(0,i.jsx)(s.a,{href:"https://github.com/anru",children:"@anru"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Bartosz Kaszubowski (",(0,i.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Gr\xe9gory Heitz (",(0,i.jsx)(s.a,{href:"https://github.com/edno",children:"@edno"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Henry V\xe9lez (",(0,i.jsx)(s.a,{href:"https://github.com/abadon7",children:"@abadon7"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Jeremy Hager (",(0,i.jsx)(s.a,{href:"https://github.com/jeremyhager",children:"@jeremyhager"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joel Marcey (",(0,i.jsx)(s.a,{href:"https://github.com/JoelMarcey",children:"@JoelMarcey"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Long Ho (",(0,i.jsx)(s.a,{href:"https://github.com/longlho",children:"@longlho"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Muskan Kumar (",(0,i.jsx)(s.a,{href:"https://github.com/muskanvk",children:"@muskanvk"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Nahiyan Kamal (",(0,i.jsx)(s.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["R\xe9mi Doreau (",(0,i.jsx)(s.a,{href:"https://github.com/ayshiff",children:"@ayshiff"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Sam Zhou (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Tim Gates (",(0,i.jsx)(s.a,{href:"https://github.com/timgates42",children:"@timgates42"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Yangshun Tay (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/aakhtar3",children:"@aakhtar3"})}),"\n",(0,i.jsxs)(s.li,{children:["hackerman (",(0,i.jsx)(s.a,{href:"https://github.com/aeneasr",children:"@aeneasr"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["moonrailgun (",(0,i.jsx)(s.a,{href:"https://github.com/moonrailgun",children:"@moonrailgun"}),")"]}),"\n"]})]})}function c(e={}){let{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},80980:function(e,s,n){n.d(s,{Z:()=>r,a:()=>h});var a=n(67294);let i={},l=a.createContext(i);function h(e){let s=a.useContext(l);return a.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:h(e.components),a.createElement(l.Provider,{value:s},e.children)}},28329:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.65","source":"@site/changelog/source/2.0.0-alpha.65.md","title":"2.0.0-alpha.65","description":"New Feature","date":"2020-10-02T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"aakhtar3","alias":"aakhtar3","url":"https://github.com/aakhtar3","imageURL":"https://github.com/aakhtar3.png","key":"aakhtar3","page":null},{"name":"Henry V\xe9lez","alias":"abadon7","url":"https://github.com/abadon7","imageURL":"https://github.com/abadon7.png","key":"abadon7","page":null},{"name":"hackerman","alias":"aeneasr","url":"https://github.com/aeneasr","imageURL":"https://github.com/aeneasr.png","key":"aeneasr","page":null},{"name":"Andrey Rublev","alias":"anru","url":"https://github.com/anru","imageURL":"https://github.com/anru.png","key":"anru","page":null},{"name":"Nahiyan Kamal","alias":"ayonious","url":"https://github.com/ayonious","imageURL":"https://github.com/ayonious.png","key":"ayonious","page":null},{"name":"R\xe9mi Doreau","alias":"ayshiff","url":"https://github.com/ayshiff","imageURL":"https://github.com/ayshiff.png","key":"ayshiff","page":null},{"name":"Gr\xe9gory Heitz","alias":"edno","url":"https://github.com/edno","imageURL":"https://github.com/edno.png","key":"edno","page":null},{"name":"Jeremy Hager","alias":"jeremyhager","url":"https://github.com/jeremyhager","imageURL":"https://github.com/jeremyhager.png","key":"jeremyhager","page":null},{"name":"Joel Marcey","alias":"JoelMarcey","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","key":"JoelMarcey","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Long Ho","alias":"longlho","url":"https://github.com/longlho","imageURL":"https://github.com/longlho.png","key":"longlho","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Muskan Kumar","alias":"muskanvk","url":"https://github.com/muskanvk","imageURL":"https://github.com/muskanvk.png","key":"muskanvk","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tim Gates","alias":"timgates42","url":"https://github.com/timgates42","imageURL":"https://github.com/timgates42.png","key":"timgates42","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-10-02T20:00","authors":["aakhtar3","abadon7","aeneasr","anru","ayonious","ayshiff","edno","jeremyhager","JoelMarcey","lex111","longlho","moonrailgun","muskanvk","SamChou19815","Simek","slorber","timgates42","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.66","permalink":"/changelog/2.0.0-alpha.66"},"nextItem":{"title":"2.0.0-alpha.64","permalink":"/changelog/2.0.0-alpha.64"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/28639.c8898e8d.js b/assets/js/28639.c8898e8d.js new file mode 100644 index 0000000000..c55570d927 --- /dev/null +++ b/assets/js/28639.c8898e8d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["28639"],{65230:function(t,i,e){e.d(i,{diagram:()=>J});var s,n=e(19039),a=e(84890),h=e(70466),o=e(28923),r=e(11141),l=function(){var t=(0,o.eW)(function(t,i,e,s){for(e=e||{},s=t.length;s--;e[t[s]]=i);return e},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],n=[1,5],a=[1,6],h=[1,7],r=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],c=[1,26],g=[1,28],u=[1,29],x=[1,30],d=[1,31],p=[1,32],f=[1,33],y=[1,34],m=[1,35],b=[1,36],A=[1,37],S=[1,43],w=[1,42],C=[1,47],k=[1,50],_=[1,10,12,14,16,18,19,21,23,34,35,36],T=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],R=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],W=[1,64],D={trace:(0,o.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:(0,o.eW)(function(t,i,e,s,n,a,h){var o=a.length-1;switch(n){case 5:s.setOrientation(a[o]);break;case 9:s.setDiagramTitle(a[o].text.trim());break;case 12:s.setLineData({text:"",type:"text"},a[o]);break;case 13:s.setLineData(a[o-1],a[o]);break;case 14:s.setBarData({text:"",type:"text"},a[o]);break;case 15:s.setBarData(a[o-1],a[o]);break;case 16:this.$=a[o].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=a[o].trim(),s.setAccDescription(this.$);break;case 19:case 27:this.$=a[o-1];break;case 20:this.$=[Number(a[o-2]),...a[o]];break;case 21:this.$=[Number(a[o])];break;case 22:s.setXAxisTitle(a[o]);break;case 23:s.setXAxisTitle(a[o-1]);break;case 24:s.setXAxisTitle({type:"text",text:""});break;case 25:s.setXAxisBand(a[o]);break;case 26:s.setXAxisRangeData(Number(a[o-2]),Number(a[o]));break;case 28:this.$=[a[o-2],...a[o]];break;case 29:this.$=[a[o]];break;case 30:s.setYAxisTitle(a[o]);break;case 31:s.setYAxisTitle(a[o-1]);break;case 32:s.setYAxisTitle({type:"text",text:""});break;case 33:s.setYAxisRangeData(Number(a[o-2]),Number(a[o]));break;case 37:case 38:this.$={text:a[o],type:"text"};break;case 39:this.$={text:a[o],type:"markdown"};break;case 40:this.$=a[o];break;case 41:this.$=a[o-1]+""+a[o]}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,34:n,35:a,36:h}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,34:n,35:a,36:h}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:a,36:h}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(r,[2,34]),t(r,[2,35]),t(r,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,34:n,35:a,36:h}),{1:[2,3]},t(r,[2,5]),t(i,[2,7],{4:22,34:n,35:a,36:h}),{11:23,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:39,13:38,24:S,27:w,29:40,30:41,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:45,15:44,27:C,33:46,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:49,17:48,24:k,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:52,17:51,24:k,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{20:[1,53]},{22:[1,54]},t(_,[2,18]),{1:[2,2]},t(_,[2,8]),t(_,[2,9]),t(T,[2,37],{40:55,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A}),t(T,[2,38]),t(T,[2,39]),t(R,[2,40]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),t(R,[2,47]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(R,[2,51]),t(_,[2,10]),t(_,[2,22],{30:41,29:56,24:S,27:w}),t(_,[2,24]),t(_,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},t(_,[2,11]),t(_,[2,30],{33:60,27:C}),t(_,[2,32]),{31:[1,61]},t(_,[2,12]),{17:62,24:k},{25:63,27:W},t(_,[2,14]),{17:65,24:k},t(_,[2,16]),t(_,[2,17]),t(R,[2,41]),t(_,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(_,[2,31]),{27:[1,69]},t(_,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(_,[2,15]),t(_,[2,26]),t(_,[2,27]),{11:59,32:72,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},t(_,[2,33]),t(_,[2,19]),{25:73,27:W},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:(0,o.eW)(function(t,i){if(i.recoverable)this.trace(t);else{var e=Error(t);throw e.hash=i,e}},"parseError"),parse:(0,o.eW)(function(t){var i=this,e=[0],s=[],n=[null],a=[],h=this.table,r="",l=0,c=0,g=0,u=a.slice.call(arguments,1),x=Object.create(this.lexer),d={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d.yy[p]=this.yy[p]);x.setInput(t,d.yy),d.yy.lexer=x,d.yy.parser=this,void 0===x.yylloc&&(x.yylloc={});var f=x.yylloc;a.push(f);var y=x.options&&x.options.ranges;function m(){var t;return"number"!=typeof(t=s.pop()||x.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=i.symbols_[t]||t),t}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,o.eW)(function(t){e.length=e.length-2*t,n.length=n.length-t,a.length=a.length-t},"popStack"),(0,o.eW)(m,"lex");for(var b,A,S,w,C,k,_,T,R,W={};;){if(S=e[e.length-1],this.defaultActions[S]?w=this.defaultActions[S]:(null==b&&(b=m()),w=h[S]&&h[S][b]),void 0===w||!w.length||!w[0]){var D="";for(k in R=[],h[S])this.terminals_[k]&&k>2&&R.push("'"+this.terminals_[k]+"'");D=x.showPosition?"Parse error on line "+(l+1)+":\n"+x.showPosition()+"\nExpecting "+R.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(D,{text:x.match,token:this.terminals_[b]||b,line:x.yylineno,loc:f,expected:R})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+S+", token: "+b);switch(w[0]){case 1:e.push(b),n.push(x.yytext),a.push(x.yylloc),e.push(w[1]),b=null,A?(b=A,A=null):(c=x.yyleng,r=x.yytext,l=x.yylineno,f=x.yylloc,g>0&&g--);break;case 2:if(_=this.productions_[w[1]][1],W.$=n[n.length-_],W._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},y&&(W._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),void 0!==(C=this.performAction.apply(W,[r,c,l,d.yy,w[1],n,a].concat(u))))return C;_&&(e=e.slice(0,-1*_*2),n=n.slice(0,-1*_),a=a.slice(0,-1*_)),e.push(this.productions_[w[1]][0]),n.push(W.$),a.push(W._$),T=h[e[e.length-2]][e[e.length-1]],e.push(T);break;case 3:return!0}}return!0},"parse")},L={EOF:1,parseError:(0,o.eW)(function(t,i){if(this.yy.parser)this.yy.parser.parseError(t,i);else throw Error(t)},"parseError"),setInput:(0,o.eW)(function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,o.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,o.eW)(function(t){var i=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===s.length?this.yylloc.first_column:0)+s[s.length-e.length].length-e[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:(0,o.eW)(function(){return this._more=!0,this},"more"),reject:(0,o.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,o.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,o.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,o.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,o.eW)(function(){var t=this.pastInput(),i=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"},"showPosition"),test_match:(0,o.eW)(function(t,i){var e,s,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack)for(var a in n)this[a]=n[a];return!1},"test_match"),next:(0,o.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,i,e,s,n=this._currentRules(),a=0;a<n.length;a++)if((e=this._input.match(this.rules[n[a]]))&&(!i||e[0].length>i[0].length)){if(i=e,s=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,n[a])))return t;if(!this._backtrack)return!1;i=!1;continue}if(!this.options.flex)break}return i?!1!==(t=this.test_match(i,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,o.eW)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,o.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,o.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,o.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,o.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,o.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,o.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,o.eW)(function(t,i,e,s){switch(e){case 0:case 1:case 5:case 43:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:case 25:case 27:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 26:this.pushState("string");break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};function P(){this.yy={}}return D.lexer=L,(0,o.eW)(P,"Parser"),P.prototype=D,D.Parser=P,new P}();function c(t){return"bar"===t.type}function g(t){return"band"===t.type}function u(t){return"linear"===t.type}l.parser=l,(0,o.eW)(c,"isBarPlot"),(0,o.eW)(g,"isBandAxisData"),(0,o.eW)(u,"isLinearAxisData");var x=class{constructor(t){this.parentGroup=t}static{(0,o.eW)(this,"TextDimensionCalculatorWithFont")}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((t,i)=>Math.max(i.length,t),0)*i,height:i};let e={width:0,height:0},s=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(let a of t){let t=(0,n.QA)(s,1,a),h=t?t.width:a.length*i,o=t?t.height:i;e.width=Math.max(e.width,h),e.height=Math.max(e.height,o)}return s.remove(),e}},d=class{constructor(t,i,e,s){this.axisConfig=t,this.title=i,this.textDimensionCalculator=e,this.axisThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{(0,o.eW)(this,"BaseAxis")}setRange(t){this.range=t,"left"===this.axisPosition||"right"===this.axisPosition?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){let t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>2*this.outerPadding&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),s=.2*t.width;this.outerPadding=Math.min(e.width/2,s);let n=e.height+2*this.axisConfig.labelPadding;this.labelTextHeight=e.height,n<=i&&(i-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),s=.2*t.height;this.outerPadding=Math.min(e.height/2,s);let n=e.width+2*this.axisConfig.labelPadding;n<=i&&(i-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return"left"===this.axisPosition||"right"===this.axisPosition?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(t),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${i},${this.getScaleValue(t)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(t)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${this.getScaleValue(t)},${i} L ${this.getScaleValue(t)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+2*this.axisConfig.titlePadding:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${this.getScaleValue(t)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(t)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if("left"===this.axisPosition)return this.getDrawableElementsForLeftAxis();if("right"===this.axisPosition)throw Error("Drawing of right axis is not implemented");return"bottom"===this.axisPosition?this.getDrawableElementsForBottomAxis():"top"===this.axisPosition?this.getDrawableElementsForTopAxis():[]}},p=class extends d{static{(0,o.eW)(this,"BandAxis")}constructor(t,i,e,s,n){super(t,s,n,i),this.categories=e,this.scale=(0,r.tiA)().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=(0,r.tiA)().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),o.cM.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},f=class extends d{static{(0,o.eW)(this,"LinearAxis")}constructor(t,i,e,s,n){super(t,s,n,i),this.domain=e,this.scale=(0,r.BYU)().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=(0,r.BYU)().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}};function y(t,i,e,s){let n=new x(s);return g(t)?new p(i,e,t.categories,t.title,n):new f(i,e,[t.min,t.max],t.title,n)}(0,o.eW)(y,"getAxis");var m=class{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{(0,o.eW)(this,"ChartTitle")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){let i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),e=Math.max(i.width,t.width),s=i.height+2*this.chartConfig.titlePadding;return i.width<=e&&i.height<=s&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=e,this.boundingRect.height=s,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}};function b(t,i,e,s){return new m(new x(s),t,i,e)}(0,o.eW)(b,"getChartTitleComponent");var A=class{constructor(t,i,e,s,n){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=s,this.plotIndex=n}static{(0,o.eW)(this,"LinePlot")}getDrawableElement(){let t;let i=this.plotData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]);return(t="horizontal"===this.orientation?(0,r.jvg)().y(t=>t[0]).x(t=>t[1])(i):(0,r.jvg)().x(t=>t[0]).y(t=>t[1])(i))?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:t,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S=class{constructor(t,i,e,s,n,a){this.barData=t,this.boundingRect=i,this.xAxis=e,this.yAxis=s,this.orientation=n,this.plotIndex=a}static{(0,o.eW)(this,"BarPlot")}getDrawableElement(){let t=this.barData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]),i=.95*Math.min(2*this.xAxis.getAxisOuterPadding(),this.xAxis.getTickDistance()),e=i/2;return"horizontal"===this.orientation?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(t=>({x:this.boundingRect.x,y:t[0]-e,height:i,width:t[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(t=>({x:t[0]-e,y:t[1],width:i,height:this.boundingRect.y+this.boundingRect.height-t[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},w=class{constructor(t,i,e){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=e,this.boundingRect={x:0,y:0,width:0,height:0}}static{(0,o.eW)(this,"BasePlot")}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let t=[];for(let[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{let s=new A(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break;case"bar":{let s=new S(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}}return t}};function C(t,i,e){return new w(t,i,e)}(0,o.eW)(C,"getPlotComponent");var k=class{constructor(t,i,e,s){this.chartConfig=t,this.chartData=i,this.componentStore={title:b(t,i,e,s),plot:C(t,i,e),xAxis:y(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},s),yAxis:y(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},s)}}static{(0,o.eW)(this,"Orchestrator")}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,n=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),a=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),h=this.componentStore.plot.calculateSpace({width:n,height:a});t-=h.width,i-=h.height,s=(h=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i})).height,i-=h.height,this.componentStore.xAxis.setAxisPosition("bottom"),h=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=h.height,this.componentStore.yAxis.setAxisPosition("left"),e=(h=this.componentStore.yAxis.calculateSpace({width:t,height:i})).width,(t-=h.width)>0&&(n+=t,t=0),i>0&&(a+=i,i=0),this.componentStore.plot.calculateSpace({width:n,height:a}),this.componentStore.plot.setBoundingBoxXY({x:e,y:s}),this.componentStore.xAxis.setRange([e,e+n]),this.componentStore.xAxis.setBoundingBoxXY({x:e,y:s+a}),this.componentStore.yAxis.setRange([s,s+a]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:s}),this.chartData.plots.some(t=>c(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,n=0,a=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),h=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:h});t-=o.width,i-=o.height,e=(o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i})).height,i-=o.height,this.componentStore.xAxis.setAxisPosition("left"),o=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=o.width,s=o.width,this.componentStore.yAxis.setAxisPosition("top"),o=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=o.height,n=e+o.height,t>0&&(a+=t,t=0),i>0&&(h+=i,i=0),this.componentStore.plot.calculateSpace({width:a,height:h}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.yAxis.setRange([s,s+a]),this.componentStore.yAxis.setBoundingBoxXY({x:s,y:e}),this.componentStore.xAxis.setRange([n,n+h]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(t=>c(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let t=[];for(let i of(this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis),Object.values(this.componentStore)))t.push(...i.getDrawableElements());return t}},_=class{static{(0,o.eW)(this,"XYChartBuilder")}static build(t,i,e,s){return new k(t,i,e,s).getDrawableElement()}},T=0,R=I(),W=v(),D=M(),L=W.plotColorPalette.split(",").map(t=>t.trim()),P=!1,E=!1;function v(){let t=(0,o.xN)(),i=(0,o.iE)();return(0,a.Rb)(t.xyChart,i.themeVariables.xyChart)}function I(){let t=(0,o.iE)();return(0,a.Rb)(o.vZ.xyChart,t.xyChart)}function M(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function $(t){let i=(0,o.iE)();return(0,o.oO)(t.trim(),i)}function B(t){s=t}function z(t){"horizontal"===t?R.chartOrientation="horizontal":R.chartOrientation="vertical"}function O(t){D.xAxis.title=$(t.text)}function F(t,i){D.xAxis={type:"linear",title:D.xAxis.title,min:t,max:i},P=!0}function N(t){D.xAxis={type:"band",title:D.xAxis.title,categories:t.map(t=>$(t.text))},P=!0}function V(t){D.yAxis.title=$(t.text)}function X(t,i){D.yAxis={type:"linear",title:D.yAxis.title,min:t,max:i},E=!0}function Y(t){let i=Math.min(...t),e=Math.max(...t),s=u(D.yAxis)?D.yAxis.min:1/0,n=u(D.yAxis)?D.yAxis.max:-1/0;D.yAxis={type:"linear",title:D.yAxis.title,min:Math.min(s,i),max:Math.max(n,e)}}function U(t){let i=[];if(0===t.length)return i;if(!P&&F(Math.min(u(D.xAxis)?D.xAxis.min:1/0,1),Math.max(u(D.xAxis)?D.xAxis.max:-1/0,t.length)),E||Y(t),g(D.xAxis)&&(i=D.xAxis.categories.map((i,e)=>[i,t[e]])),u(D.xAxis)){let e=D.xAxis.min,s=D.xAxis.max,n=(s-e)/(t.length-1),a=[];for(let t=e;t<=s;t+=n)a.push(`${t}`);i=a.map((i,e)=>[i,t[e]])}return i}function H(t){return L[0===t?0:t%L.length]}function j(t,i){let e=U(i);D.plots.push({type:"line",strokeFill:H(T),strokeWidth:2,data:e}),T++}function G(t,i){let e=U(i);D.plots.push({type:"bar",fill:H(T),data:e}),T++}function Q(){if(0===D.plots.length)throw Error("No Plot to render, please provide a plot with some data");return D.title=(0,o.Kr)(),_.build(R,D,W,s)}function K(){return W}function Z(){return R}(0,o.eW)(v,"getChartDefaultThemeConfig"),(0,o.eW)(I,"getChartDefaultConfig"),(0,o.eW)(M,"getChartDefaultData"),(0,o.eW)($,"textSanitizer"),(0,o.eW)(B,"setTmpSVGG"),(0,o.eW)(z,"setOrientation"),(0,o.eW)(O,"setXAxisTitle"),(0,o.eW)(F,"setXAxisRangeData"),(0,o.eW)(N,"setXAxisBand"),(0,o.eW)(V,"setYAxisTitle"),(0,o.eW)(X,"setYAxisRangeData"),(0,o.eW)(Y,"setYAxisRangeFromPlotData"),(0,o.eW)(U,"transformDataWithoutCategory"),(0,o.eW)(H,"getPlotColorFromPalette"),(0,o.eW)(j,"setLineData"),(0,o.eW)(G,"setBarData"),(0,o.eW)(Q,"getDrawableElem"),(0,o.eW)(K,"getChartThemeConfig"),(0,o.eW)(Z,"getChartConfig");var q={getDrawableElem:Q,clear:(0,o.eW)(function(){(0,o.ZH)(),T=0,R=I(),D=M(),L=(W=v()).plotColorPalette.split(",").map(t=>t.trim()),P=!1,E=!1},"clear"),setAccTitle:o.GN,getAccTitle:o.eu,setDiagramTitle:o.g2,getDiagramTitle:o.Kr,getAccDescription:o.Mx,setAccDescription:o.U$,setOrientation:z,setXAxisTitle:O,setXAxisRangeData:F,setXAxisBand:N,setYAxisTitle:V,setYAxisRangeData:X,setLineData:j,setBarData:G,setTmpSVGG:B,getChartThemeConfig:K,getChartConfig:Z},J={parser:l,db:q,renderer:{draw:(0,o.eW)((t,i,e,s)=>{let n=s.db,a=n.getChartThemeConfig(),r=n.getChartConfig();function l(t){return"top"===t?"text-before-edge":"middle"}function c(t){return"left"===t?"start":"right"===t?"end":"middle"}function g(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,o.eW)(l,"getDominantBaseLine"),(0,o.eW)(c,"getTextAnchor"),(0,o.eW)(g,"getTextTransformation"),o.cM.debug("Rendering xychart chart\n"+t);let u=(0,h.P)(i),x=u.append("g").attr("class","main"),d=x.append("rect").attr("width",r.width).attr("height",r.height).attr("class","background");(0,o.v2)(u,r.height,r.width,!0),u.attr("viewBox",`0 0 ${r.width} ${r.height}`),d.attr("fill",a.backgroundColor),n.setTmpSVGG(u.append("g").attr("class","mermaid-tmp-group"));let p=n.getDrawableElem(),f={};function y(t){let i=x,e="";for(let[s]of t.entries()){let n=x;s>0&&f[e]&&(n=f[e]),e+=t[s],(i=f[e])||(i=f[e]=n.append("g").attr("class",t[s]))}return i}for(let t of((0,o.eW)(y,"getGroup"),p)){if(0===t.data.length)continue;let i=y(t.groupTexts);switch(t.type){case"rect":i.selectAll("rect").data(t.data).enter().append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeFill).attr("stroke-width",t=>t.strokeWidth);break;case"text":i.selectAll("text").data(t.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>l(t.verticalPos)).attr("text-anchor",t=>c(t.horizontalPos)).attr("transform",t=>g(t)).text(t=>t.text);break;case"path":i.selectAll("path").data(t.data).enter().append("path").attr("d",t=>t.path).attr("fill",t=>t.fill?t.fill:"none").attr("stroke",t=>t.strokeFill).attr("stroke-width",t=>t.strokeWidth)}}},"draw")}}}}]); \ No newline at end of file diff --git a/assets/js/29291bc0.fa9533d6.js b/assets/js/29291bc0.fa9533d6.js new file mode 100644 index 0000000000..9ecd5346d3 --- /dev/null +++ b/assets/js/29291bc0.fa9533d6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["60503"],{54234:function(e,s,n){n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>h,default:()=>a,frontMatter:()=>c,metadata:()=>l,toc:()=>u});var l=n(48716),i=n(85893),r=n(80980);let c={mdx:{format:"md"},date:"2020-06-18T20:00",authors:["aeneasr","anshulrgoyal","belokonm","Drewbi","fanny","guillaumejacquart","JoelMarcey","jsjoeio","lex111","moonrailgun","Nishikoh","pglezen","SamChou19815","slorber","teikjun","tetunori","TomBrien","yangshun"]},h="2.0.0-alpha.58",o={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},u=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:":running: Performance",id:"running-performance",level:2},{value:"Committers: 18",id:"committers-18",level:2}];function t(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2916",children:"#2916"})," feat(v2): add a banner that links to latest version of documentation (",(0,i.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2682",children:"#2682"})," feat(v2): expanded sidebar categories by default (",(0,i.jsx)(s.a,{href:"https://github.com/jsjoeio",children:"@jsjoeio"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-preset-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2928",children:"#2928"})," feat(v2): Implement proof-of-concept Docusaurus Debug Dashboard (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2903",children:"#2903"})," feat(v2): Allow configuring babel via babel.config.js (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2793",children:"#2793"})," feat(v2): docusaurus-plugin-client-redirects (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2826",children:"#2826"})," feat(v2): allow adding components to react-live scope (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2856",children:"#2856"})," feat(v2): allow specifying meta image for blog posts (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2841",children:"#2841"})," feat(v2): Allow swizzling prism-include-languages in theme-classic (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2895",children:"#2895"})," chore(v2): replace classnames with clsx (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2861",children:"#2861"})," fix(v2): do not create route for document that serve as docs home page (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2682",children:"#2682"})," feat(v2): expanded sidebar categories by default (",(0,i.jsx)(s.a,{href:"https://github.com/jsjoeio",children:"@jsjoeio"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2905",children:"#2905"})," fix(v2): fix docs homepage permalink issues (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2932",children:"#2932"})," fix(v2): Add hooks to detect window resize, toggle off sidebar and navbar in desktop (",(0,i.jsx)(s.a,{href:"https://github.com/guillaumejacquart",children:"@guillaumejacquart"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2909",children:"#2909"})," fix(v2): adjust anchor offset when routes switched (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2896",children:"#2896"})," fix(v2): set correct canonical url for docs home page (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2893",children:"#2893"})," fix(v2): Do not automatically change tab when a non-existing option is selected (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2888",children:"#2888"})," fix(v2): restore styles for menu scrollbar (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2857",children:"#2857"})," fix(v2): treat inline code in raw HTML as native element (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2951",children:"#2951"})," fix(v2): Add optional-chaining and nullish-coalescing babel plugin (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2921",children:"#2921"})," fix(v2): upgrade react-loadable-ssr-addon (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2854",children:"#2854"})," fix(v2): fix broken build when swizzled NotFound component exist (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2829",children:"#2829"})," fix(v2): Fix plugin path resolution (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-preset-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2944",children:"#2944"})," fix(v2): Declare @docusaurus-plugin-debug as dependency of preset classic (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2902",children:"#2902"})," feat(v2): add nojekyll file to static folder for all templates (",(0,i.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2860",children:"#2860"})," fix(v2): bootstrap doc sidebar (",(0,i.jsx)(s.a,{href:"https://github.com/fanny",children:"@fanny"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2874",children:"#2874"})," fix(v2): Getting Started URL (",(0,i.jsx)(s.a,{href:"https://github.com/fanny",children:"@fanny"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2861",children:"#2861"})," fix(v2): do not create route for document that serve as docs home page (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2867",children:"#2867"})," fix(v2): fix FOUC in doc sidebar and various improvements (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2838",children:"#2838"})," fix(v2): use base url to navigate to search page (",(0,i.jsx)(s.a,{href:"https://github.com/tetunori",children:"@tetunori"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2855",children:"#2855"})," fix(v2): strip images and footnotes for excerpt correctly (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2835",children:"#2835"})," fix(v2): set proper font for live editor (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2884",children:"#2884"})," polish(v2): improve Docusaurus 1 to 2 migration developer experience (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2870",children:"#2870"})," refactor(v2): combine nested theme providers into one (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2880",children:"#2880"})," fix(v2): render as regular text uncollapsible categories (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2864",children:"#2864"})," refactor(v2): add aria role for doc sidebar (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2859",children:"#2859"})," refactor(v2): add aria label to paginators (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2858",children:"#2858"})," refactor(v2): add missing main landmark for needed pages (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2862",children:"#2862"})," Updated banner in solidarity (",(0,i.jsx)(s.a,{href:"https://github.com/JoelMarcey",children:"@JoelMarcey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2946",children:"#2946"})," docs(v2): add require.resolve to plugin imports on remaining pages (",(0,i.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2941",children:"#2941"})," docs(v2): wrap all plugin imports in require.resolve() (",(0,i.jsx)(s.a,{href:"https://github.com/TomBrien",children:"@TomBrien"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2934",children:"#2934"})," docs(v2): add useThemeContext note (",(0,i.jsx)(s.a,{href:"https://github.com/Drewbi",children:"@Drewbi"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2935",children:"#2935"})," docs(v2): Add router implementation note (",(0,i.jsx)(s.a,{href:"https://github.com/Drewbi",children:"@Drewbi"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2933",children:"#2933"})," docs(v2): add documentation for multiple blogs (",(0,i.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2910",children:"#2910"})," docs(v2): fix GitHub action workflow in docs (",(0,i.jsx)(s.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2886",children:"#2886"})," docs(v2): fix typo in command on installation page (",(0,i.jsx)(s.a,{href:"https://github.com/pglezen",children:"@pglezen"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2887",children:"#2887"})," docs(v2): make .nojekyll warning more obvious (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2865",children:"#2865"})," docs(v2): description field in frontmatter of blog post (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2839",children:"#2839"})," docs(v2): _index docs page does not show a sidebar (",(0,i.jsx)(s.a,{href:"https://github.com/aeneasr",children:"@aeneasr"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2852",children:"#2852"})," misc: move runme demo in block quote about v2 (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2842",children:"#2842"})," docs(v2): Update ZEIT to Vercel (",(0,i.jsx)(s.a,{href:"https://github.com/Nishikoh",children:"@Nishikoh"}),")"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2948",children:"#2948"})," refactor(v2): legacy export = syntax (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2922",children:"#2922"})," misc(v2): better dx: yarn clear, yarn watch, yarn serve (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2929",children:"#2929"})," chore(v2): Run E2E tests in CI (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2899",children:"#2899"})," chore(deps): bump websocket-extensions from 0.1.3 to 0.1.4 (",(0,i.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2897",children:"#2897"})," refactor(v2): synchronize yarn/npm command on site (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2931",children:"#2931"})," chore(v2): remove unused hooks from bootstrap theme (",(0,i.jsx)(s.a,{href:"https://github.com/fanny",children:"@fanny"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-1.x"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2906",children:"#2906"})," chore(v2): fix async tests (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2858",children:"#2858"})," refactor(v2): add missing main landmark for needed pages (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"running-performance",children:":running: Performance"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2936",children:"#2936"})," perf(v2): convert synchronous filewrite to asynchronous (",(0,i.jsx)(s.a,{href:"https://github.com/moonrailgun",children:"@moonrailgun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2900",children:"#2900"})," chore(v2): replace Clipboard with copy-text-to-clipboard (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2895",children:"#2895"})," chore(v2): replace classnames with clsx (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"committers-18",children:"Committers: 18"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Anshul Goyal (",(0,i.jsx)(s.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Drew Alexander (",(0,i.jsx)(s.a,{href:"https://github.com/Drewbi",children:"@Drewbi"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Fanny (",(0,i.jsx)(s.a,{href:"https://github.com/fanny",children:"@fanny"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Guillaume Jacquart (",(0,i.jsx)(s.a,{href:"https://github.com/guillaumejacquart",children:"@guillaumejacquart"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joe Previte (",(0,i.jsx)(s.a,{href:"https://github.com/jsjoeio",children:"@jsjoeio"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joel Marcey (",(0,i.jsx)(s.a,{href:"https://github.com/JoelMarcey",children:"@JoelMarcey"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Koki Nishihara (",(0,i.jsx)(s.a,{href:"https://github.com/Nishikoh",children:"@Nishikoh"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Paul Glezen (",(0,i.jsx)(s.a,{href:"https://github.com/pglezen",children:"@pglezen"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Sam Zhou (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Teik Jun (",(0,i.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Tom Brien (",(0,i.jsx)(s.a,{href:"https://github.com/TomBrien",children:"@TomBrien"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Yangshun Tay (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/belokonm",children:"@belokonm"})}),"\n",(0,i.jsxs)(s.li,{children:["hackerman (",(0,i.jsx)(s.a,{href:"https://github.com/aeneasr",children:"@aeneasr"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["moonrailgun (",(0,i.jsx)(s.a,{href:"https://github.com/moonrailgun",children:"@moonrailgun"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["tetunori (",(0,i.jsx)(s.a,{href:"https://github.com/tetunori",children:"@tetunori"}),")"]}),"\n"]})]})}function a(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(t,{...e})}):t(e)}},80980:function(e,s,n){n.d(s,{Z:()=>h,a:()=>c});var l=n(67294);let i={},r=l.createContext(i);function c(e){let s=l.useContext(r);return l.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function h(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),l.createElement(r.Provider,{value:s},e.children)}},48716:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.58","source":"@site/changelog/source/2.0.0-alpha.58.md","title":"2.0.0-alpha.58","description":"New Feature","date":"2020-06-18T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"hackerman","alias":"aeneasr","url":"https://github.com/aeneasr","imageURL":"https://github.com/aeneasr.png","key":"aeneasr","page":null},{"name":"Anshul Goyal","alias":"anshulrgoyal","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","key":"anshulrgoyal","page":null},{"name":"belokonm","alias":"belokonm","url":"https://github.com/belokonm","imageURL":"https://github.com/belokonm.png","key":"belokonm","page":null},{"name":"Drew Alexander","alias":"Drewbi","url":"https://github.com/Drewbi","imageURL":"https://github.com/Drewbi.png","key":"Drewbi","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"Guillaume Jacquart","alias":"guillaumejacquart","url":"https://github.com/guillaumejacquart","imageURL":"https://github.com/guillaumejacquart.png","key":"guillaumejacquart","page":null},{"name":"Joel Marcey","alias":"JoelMarcey","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","key":"JoelMarcey","page":null},{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Koki Nishihara","alias":"Nishikoh","url":"https://github.com/Nishikoh","imageURL":"https://github.com/Nishikoh.png","key":"Nishikoh","page":null},{"name":"Paul Glezen","alias":"pglezen","url":"https://github.com/pglezen","imageURL":"https://github.com/pglezen.png","key":"pglezen","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"tetunori","alias":"tetunori","url":"https://github.com/tetunori","imageURL":"https://github.com/tetunori.png","key":"tetunori","page":null},{"name":"Tom Brien","alias":"TomBrien","url":"https://github.com/TomBrien","imageURL":"https://github.com/TomBrien.png","key":"TomBrien","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-06-18T20:00","authors":["aeneasr","anshulrgoyal","belokonm","Drewbi","fanny","guillaumejacquart","JoelMarcey","jsjoeio","lex111","moonrailgun","Nishikoh","pglezen","SamChou19815","slorber","teikjun","tetunori","TomBrien","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.59","permalink":"/changelog/2.0.0-alpha.59"},"nextItem":{"title":"2.0.0-alpha.57","permalink":"/changelog/2.0.0-alpha.57"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/2ac81c1b.86694394.js b/assets/js/2ac81c1b.86694394.js new file mode 100644 index 0000000000..d5f69cf095 --- /dev/null +++ b/assets/js/2ac81c1b.86694394.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["27326"],{47126:function(e,t,s){s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>r,frontMatter:()=>i,metadata:()=>o,toc:()=>h});var o=s(53178),a=s(85893),n=s(80980);let i={tags:["paginated-tag"],authors:[{name:"Josh-Cena1"},{name:"Josh-Cena2",image_url:"https://github.com/Josh-Cena.png"},{name:"Josh-Cena3",url:"https://github.com/Josh-Cena"},{name:"Josh-Cena4",email:"sidechen2003@gmail.com"}]},l="Post with duplicate title",u={authorsImageUrls:[void 0,void 0,void 0,void 0]},h=[];function c(e){let t={a:"a",p:"p",...(0,n.a)(),...e.components};return(0,a.jsxs)(t.p,{children:["See ",(0,a.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/6059",children:"https://github.com/facebook/docusaurus/issues/6059"}),". This one and ",(0,a.jsx)(t.a,{href:"/tests/blog/2021/11/13/dup-title",children:"2021-11-13-dup-title.md"})," should both show up."]})}function r(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},80980:function(e,t,s){s.d(t,{Z:()=>l,a:()=>i});var o=s(67294);let a={},n=o.createContext(a);function i(e){let t=o.useContext(n);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(n.Provider,{value:t},e.children)}},53178:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2021/09/13/dup-title","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-09-13-dup-title.mdx","source":"@site/_dogfooding/_blog tests/2021-09-13-dup-title.mdx","title":"Post with duplicate title","description":"See https://github.com/facebook/docusaurus/issues/6059. This one and 2021-11-13-dup-title.md should both show up.","date":"2021-09-13T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":2,"hasTruncateMarker":false,"authors":[{"name":"Josh-Cena1","socials":{},"key":null,"page":null},{"name":"Josh-Cena2","image_url":"https://github.com/Josh-Cena.png","imageURL":"https://github.com/Josh-Cena.png","socials":{},"key":null,"page":null},{"name":"Josh-Cena3","url":"https://github.com/Josh-Cena","socials":{},"key":null,"page":null},{"name":"Josh-Cena4","email":"sidechen2003@gmail.com","socials":{},"key":null,"page":null}],"frontMatter":{"tags":["paginated-tag"],"authors":[{"name":"Josh-Cena1"},{"name":"Josh-Cena2","image_url":"https://github.com/Josh-Cena.png","imageURL":"https://github.com/Josh-Cena.png"},{"name":"Josh-Cena3","url":"https://github.com/Josh-Cena"},{"name":"Josh-Cena4","email":"sidechen2003@gmail.com"}]},"unlisted":false,"prevItem":{"title":"Blog post MDX Feed tests","permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests"},"nextItem":{"title":"Multiple authors","permalink":"/tests/blog/2021/08/23/multiple-authors"}}')}}]); \ No newline at end of file diff --git a/assets/js/2b8147f4.4e54f5f3.js b/assets/js/2b8147f4.4e54f5f3.js new file mode 100644 index 0000000000..87c8121d20 --- /dev/null +++ b/assets/js/2b8147f4.4e54f5f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["63921"],{37365:function(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>i});var a=n(31827),r=n(85893),o=n(80980);let s={mdx:{format:"md"},date:"2019-07-20T20:00"},l="2.0.0-alpha.22",c={authorsImageUrls:[]},i=[];function u(e){return(0,r.jsx)(r.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>s});var a=n(67294);let r={},o=a.createContext(r);function s(e){let t=a.useContext(o);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),a.createElement(o.Provider,{value:t},e.children)}},31827:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.22","source":"@site/changelog/source/2.0.0-alpha.22.md","title":"2.0.0-alpha.22","description":"- Add missing dependencies on @docusaurus/preset-classic","date":"2019-07-20T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-07-20T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.23","permalink":"/changelog/2.0.0-alpha.23"},"nextItem":{"title":"2.0.0-alpha.21","permalink":"/changelog/2.0.0-alpha.21"},"listPageLink":"/changelog/page/6"}')}}]); \ No newline at end of file diff --git a/assets/js/2bb6cd5a.11cf975d.js b/assets/js/2bb6cd5a.11cf975d.js new file mode 100644 index 0000000000..3234cd1abe --- /dev/null +++ b/assets/js/2bb6cd5a.11cf975d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["85423"],{74758:function(t){t.exports=JSON.parse('{"tag":{"label":"Visibility","permalink":"/tests/docs/tags/visibility","allTagsPath":"/tests/docs/tags","count":4,"items":[{"id":"tests/visibility/some-drafts/draft-subcategory/listed1","title":"Some Drafts - Listed 1","description":"Regular doc","permalink":"/tests/docs/tests/visibility/some-drafts/draft-subcategory/listed1"},{"id":"tests/visibility/some-unlisteds/unlisted-subcategory/listed1","title":"Some Unlisteds - Listed 1","description":"Regular doc","permalink":"/tests/docs/tests/visibility/some-unlisteds/unlisted-subcategory/listed1"},{"id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/index","title":"Subcategory index listed","description":"Doc index, listed, but all the other category items are unlisted","permalink":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/"},{"id":"tests/visibility/index","title":"Visibility","description":"A category to play with draft/unlisted front matter.","permalink":"/tests/docs/tests/visibility/"}],"unlisted":false}}')}}]); \ No newline at end of file diff --git a/assets/js/2bbd92ba.1d95e913.js b/assets/js/2bbd92ba.1d95e913.js new file mode 100644 index 0000000000..9dba944c86 --- /dev/null +++ b/assets/js/2bbd92ba.1d95e913.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["55235"],{3828:function(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>i});var a=n(2039),l=n(85893),r=n(80980);let o={mdx:{format:"md"},date:"2019-10-14T20:00"},s="2.0.0-alpha.27",c={authorsImageUrls:[]},i=[];function d(e){let t={code:"code",li:"li",ul:"ul",...(0,r.a)(),...e.components};return(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsxs)(t.li,{children:["Add ",(0,l.jsx)(t.code,{children:"@theme/Tabs"})," which can be used to implement multi-language code tabs."]}),"\n",(0,l.jsxs)(t.li,{children:["Implement ",(0,l.jsx)(t.code,{children:"custom_edit_url"})," and ",(0,l.jsx)(t.code,{children:"hide_title"})," markdown header for docusaurus v1 feature parity."]}),"\n",(0,l.jsx)(t.li,{children:"Reduce memory usage and slightly faster production build."}),"\n",(0,l.jsx)(t.li,{children:"Misc dependency upgrades."}),"\n"]})}function u(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},80980:function(e,t,n){n.d(t,{Z:()=>s,a:()=>o});var a=n(67294);let l={},r=a.createContext(l);function o(e){let t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),a.createElement(r.Provider,{value:t},e.children)}},2039:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.27","source":"@site/changelog/source/2.0.0-alpha.27.md","title":"2.0.0-alpha.27","description":"- Add @theme/Tabs which can be used to implement multi-language code tabs.","date":"2019-10-14T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-14T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.28","permalink":"/changelog/2.0.0-alpha.28"},"nextItem":{"title":"2.0.0-alpha.26","permalink":"/changelog/2.0.0-alpha.26"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/2c6d53a8.1b9b1918.js b/assets/js/2c6d53a8.1b9b1918.js new file mode 100644 index 0000000000..d32520aaab --- /dev/null +++ b/assets/js/2c6d53a8.1b9b1918.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["16092"],{9745:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/files/image with spaces-e8e4adf44ac06f25e961f7a71a6d0f90.png"},16056:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/files/someFile-aef54daa5b1fe3359942dac7ade1daae.pdf"},75654:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/files/someFile-aef54daa5b1fe3359942dac7ade1daae.xyz"},88525:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/files/_script-505c7abc900c36ef533a0383a80d96a4.js"},40703:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/files/data-4e0ce03654809ab2cf0049cf88b37a04.json"},41918:function(e,n,t){t.d(n,{Z:()=>s});let s="/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, {useState} from 'react';\n\nexport default function MyComponent() {\n const [bool, setBool] = useState(false);\n return (\n <div>\n <p>MyComponent rendered !</p>\n <p>bool={bool ? 'true' : 'false'}</p>\n <p>\n <button onClick={() => setBool((b) => !b)}>toggle bool</button>\n </p>\n </div>\n );\n}\n"},83774:function(e,n,t){t.d(n,{Z:()=>s});let s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAT3UlEQVR42u1dCVQVV5pWXNt2N0czykl33KImZ7IgKgqIghq3KCDK+qowCek2c2K0Mx3idBxakzYxJnZiq3Gf6Bg7UdN2R51MxnTSia3gew9Rwccm7oqiiIK4sPxTt1hEHo9XvPVW1fed852Dr+67UNb/1f3/+9/731atAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO8i2CxGjDUJXzMGmcSZnmoHAF7B6GMJvYPNwq5gk1AmMS/YJMbaahtkNsRLbeghmoU4d7cDAO+NCEbhQCMjrZbe5q81bhdyVOwuXbtqZdDSZ+yau9oBgNcgGeIvmzDQJkUy1ix8ZKMtsWvuagcAXsNYs/iyLSNlIgk2GebLQjKJQ6R/32+mbcWYI8KTrm6HJwR4170yCV80Y6T1I4kklH122lFNG9e2wxMC3Ao/U1KnQLPgF2SK/xeri5TiIxlikX1DBXVANpoXSy/DzGCjYfdYs2FRiFkcxWxEu/GF0RAm3fT1Bv8JJyV+LLlV08ccnNuFCQeGAdrheWkkXxaSGueruZFDurlrzfn4QSbDGRgAqJD3JK4NMcU8oo3RIz1hOB4q6AZeCzKK0aoXCIs58DBBt9Esfip5Ke3UPkN1Eg8TdB8N+5grr+JRxPAJHiLoTgaZhf97MiuqvVqTgNPxEEEPcK0qBTIyNa6rnWw1CLooJjHMUZc6KMWnNs9xDg8Q9ACLQtMMvbhfeFi7tuoLZMhBz1NczaUw2H4OFizhAYFe5l0uM+61m53wgMAWM+C7aBr425Ey2c8umPpdxmO+oxQPWz8cvnOmTGf7Gf1DDHXs25lYxMrIfmafOdnvOe4WONZsk4XhaD7nkJpAPQN96w2a/cw+c7S/QYsC6vuq46D/CHD+7zQaRvDmYsXVbG6CEWmZQ5YGWRk0+8zR/phb1bg/9pkLgvVk/twso+EViETbfPw1PyuDHrDQ36n4o6GL1eHRn7skDhlrEnZyuvbKMN/TIglKM9AzmyfLbzL2sBjZz89sniJfg2G7Nvbwad+m3qB9OrQh/z0RTschzK1yXZAu8zi/CxQ9NJL4fT6d+kwdQG27drB6q9WxXbcO1GfaAPL78wswcBfx6Y2T6ZHxv5DJfuY1acj5Kl55JHHPtOCBaOozZQC18mltUxhWlNoyobjwDQVyng/hVhyBaYbBrEKhW0aNL2Y85LO2lB37daHhX86AAemAPC4z6R5sEt9j6nWXONr8vJ3D4qhj287tIRIIxMP7PmrKd151p1vV3MjRtmt7eiT0F+QbN4z6xQ6T/eO2XdrbbP8z3y5wtyAQT+VAxAh336wcczQVhPfsKM+ANJWsYp+xRFS7Hh2b/C6LSWBIEIgnsuh73T1b1VRA3ql/dxq5d5bd74/4OlJu21TgjtktCMT9uwbdFJDXjx5TBzQ5cigRR71I/hZJ7bpbTwf3mT4QxgSBuHtbrSHcnUlAlstwxXqdgcmjmsyTIJkIgag2SGcZ8qYCckcWyAUdTpBnsBr398yWKTAoCESd07xD3rFeHMdmqxztj81uNe5v6B+CYVAQiAeD9qPiIOkP/NIVN9l//nArg/ZNeNLh/nzjn7Tqr//rw2FQEIg6M+lN7RcY/LvR3PQHupdh6S9R+LH5ZMh8i17NfoeS81bSO6fX0cfn/ps2X/wL7bzyv/TNtYP0z5KjdLw0hwrKL1DR/Rt0r+q+Plys0d/HyMtDGib4nNlx5ur+QPcZuLPQTSa9bjk0oyuM2dX9adm4Zx57jeIzk+lXliX0Ru4KSjm1hlac/S/69MKXtP3yXvrr1b/Td8WplHbzOGWV5dPZO5fo+v0Slxi4ZgTiiUw66BoD/32BPQO/zI2Ba0cgbs6kg9aMPfFbWn5mM/258H80a+CaEYi7M+ngA7JR4ERpHgFqEogbM+lgDSelv0LfFx+B1SNIBxtzWsarlH27ABavZoF4YsOUHhliEuX4AlCOwsJC2rVrF7+JwjHGuU8Em4X9MHDn+afzOzRtzGVlZbR69WqKjY2lqKgoev/996m4uNihvqqrqyklJYU6dKhf3Kq/Pel6izuKK246bYQXLlygvXv30ldffUWZmZlO9cX6CAwMpI4dO1Lbtm3pueeeo61btzrUV1ZWFj3++ONWKxseffRRMpvNLe7vzTffrClF5ONDEydOhIuldb53ZqNTxpyfn08RERFWBsiM2mQytbi/+fPn29zCnJSU1KK+ioqKyNe3poTpU089RRs3bqTt27dTQEBAvUiuXr2quL8ff/xRFgYT7e7duxGk64E/FBsdFsfhw4epR48eNTsvO3WioKAgmjRpEvXu3Vv+rHPnzvTTTz8p7u/dd9+tqXwouS/Lly+nS5cuUUlJCa1fv17ui11j7pFSTJs2Tf4O+7tu3bpV//ndu3fr3v40Y8YMRX1VVFTQkCFD5O8sW7YMmXS98MLdQofEYbFYqFu3brLBsBGEBa11KC0tpcTERPkaa8NGGXs4ePCg/HZu06YN7du3z+r6/v3769/e6enpdvvbs2dPTeHrnj1l968xLl68SN2712yR/vbbb+3299lnn8ltn3jiCbp37x4y6XphedWdFouDBbiDBw+WDWb27NlUWVlp1aaqqooiIyPlNsOHD3/IqBrj9u3bNGjQILnt4sWLbbZbuHCh3Mbf37/J31kH9rvq+mPBuS2w0Yi18fPzk4NvW2C/iwmDtd22bRsy6RAINWvM48aNq48z2L9tgblH/fv3l9suWLDAZrt58+bJbZ5++ulmhcRGpscee8yu4a9YsUJuM2zYMNk1soXy8nLq16+f3Hbnzp0227EJAtZm4MCBVv0hkw4XS8aNGzdkV4S9bZmxMMM6f/683e+lpaVR+/Y1W5A//PBDq+vr1q2Tr7E2GRkZil2nrl27Um5ubpOTBuwaa/PNN9/Y7a/u97MRgsUmjcE+Y8JgbbZs2YJMut6oZGnJ6NGjHz5bQzKYggLlWXf2BmbxA/suC+LZbNKOHTsoLi6OWrduLXPz5s2K+2P5DNYXC5rz8h6sGbt8+bI8qrFrrI3S4JuNNOw7ycnJVtfffvvtZkcjTPNqnMtOb7BrRGPGjJFnlpiRfPDBB826VbbABNGrVy/rii/t2tGqVata7OY9++yz8ve7dOkiC41NAdfNng0dOlR2x5TCaDTKfwf77tKlS2UhsJiEuXFs0oCJ+9ChQ+pYauKOPel65sT0JJckCpXmJVhgzLLZM2fOpEWLFj00ArR0oqCp/AuLj9hI0lIwkbKRrG7mqy42YVyyZIl61mJhqYnruercdtUuI2HTzZs2baK1a9fSkSPOrURm8U1droOxb9++tGHDBixWxGJFkVJLjmEFYoMcCYuxmpsBQ5Cuu+Xu8+hk2SmoQ63L3ZFJ90w8cuD6YVi9KgWCTLrHuDB3uVwep5qqoQC1CASZdM8z+sQb9P6ZTbSjcD+KNnAvEGTSUfYHAkGQDoGhcBymeUGUHkUmHdS6wG5VlmFPOgjq/gAdEMQRbCCoZYEgkw5CIMikgxAIMukgBIJMOgiBIEgHIRBM84KgegSCTDoIgSCTzvcWXbNAv7bE0/oL0fSPG1F0+k4k3aoMp4rqmUSkL8LFAus563gCbb88h4ruR+hOCKoQCIJ07/CFDAP9rWg23a+GILgVCDLp3uGSghi6WREOMXAvEGTSPcrxUpzxtTRqQAQqEQgCck9WNzFQasksCEBVAkEm3WMjB8SBIB20QbhVmOYFbXBpQazLDYjlR25XhetGIJOyXuw5JntuF2TSNVd61EAlLpytqpa4sjCWJmSLMtdcidG2QKhV67CcxHVh2WJVLVcik65zjmVZ9QyRxmcKFHpSJMkoaGqOSHGnDPTGuXj53w1pLIvSnECk+yoPzRZPh2Un/r3x/YZZEifBxdLrcpOMB6JQyt3Fc7QokOb4OoJ0vdEs0LgTLRNGHQ/cnE07JZEcLo2SXTCtC2RCdmJ8aI64MNSSOI25YMik64COiqMxPy6M0cMI0oDCGmTSdeBWuUIcYbWBe6kGZrdacM/VIafF7sikazggb2nMYU8gJZURehJIVUhO0iPIpGt29HCdOBj/qDMXS3ohfIogXctLUDJd516xaeCvb8yhMv24WGekQP2VsFNJ3TDNq1G60r2qY4IkFLWLpIX3fMojIkEm3QsV0LMFlwuEcfS/P0N+ft29ypdf/qWnBEJhFiEJmXQIRDH7RQ2uP5fcW+zbt6PHBDIhJ/EluFhwsRRxzsl4OmgeTyZTiFdZXDzVUwLJd6uLhSBdO0H63huzdRWkM9fKreJAJl07SULGjy7H6iuTbhHXI5Ou8URhGBKFHCcKEZB7fxQ5iqUm/C41QSadk8WKrhHJJ4X6crFCLeKfkEnXiavl7HL31LJZutgPUrfcPSxXmIoNU3rcMGURsGGKpw1TyKTzKZTxmWJtnkT6OSOBxhyYRX6fPW9lML0C+3k9KdgUR47s4dSWW4kF3Gy5RSbdtXTUMEaM6NG84bVuRUNSAiThSCNNlkCDk/25FAfjqFE9XVO0IVtcW1uwoTLMInyEsj86FohSllaGU7mOyv5MPR7bIyRrXmcUjoNAQFR3h0BAVHeHQEBUdwchEFR3ByEQVHdHkA6BQCCY5oVAIBBk0tUrEH//Htwm/jyZSedWIMikc55JVxFdkkmHiwWBgAjSIRAQmXQQAkEmHYRAkEkHeRDIP0ujaOG5eJqWK8j8jfQzOyQHAkEmXfcC2XA12uaOuk1F0RAIgnRtC4Qd4XyifBZZ7kRaHefMRg5722wbjySsD9YX61MLx0OH5cwNnJwX1xXTvDoTyF3JeD8pjKHncx4Y+xTp51VXYuRrrM3CJk6ybUx22u2D/mLlPuquTc4RavqrVv2e9LthOcKqgPNRP0MmXQcCqZAMdsFZ28b/unTNf1QvGpceZ1cg48xx5NPOh4Z/PsVmG79tz1Prtj5q3ZPekD/4mZLaIZOu9dpXx+1XKBl3XFlFk9BMAw1+a4Tddo8Zhqkyk95EQbz5cLG0Xsk9S3TLUQfN8ddnErRS9seMIF3rZ4FYPC+QF3IFrQjkFjLpOAvE5UwsMGhFIBZk0rV+FsgJweMC+Vilp95a34uwBpl0rdffNXtWIKzS+9Hbs2hlYSwZThnkqWA2onx+LZr7KeDGFdxDsw3jwnIS18mnSWWLd9iIEmpJfMvtU8DIpHtwBMny/Ahii/8mBe88JxRb8BJIc3tCEUG6Nt0re/zgcozqBVLrfm3GNK+aC1Ef408cjBM5Po2qhfdS6dZTppBJd2/cEWoRuRQIY8/RfdWQSbfP3LlhSoPuxSGpcb7IpMO1UsIe/n1UkUm3OxrmCsF2jTs09aU+0kO5zQwcLhYHTBe5Fgdb1HirMlwLLtbdSVkv9lSS01ha93CCzMpP4UGQzve5g+7iHzk+z7CF97JWadIvr8EDqmJZcmTSvUSzd5aWKOX8swn1y+tVLpCD001JnezHHkdE/yYe1B17IkEm3U3BeTq/o8faK9Hy0nvVn3JrET5SvAxeeii/sfGwqqSY5DVk0j3sXh3jd/Rgm7V43+Ou8F7uSyyT+P1EizjdnkC+sDPk7x+TPrcvMukemr3K5DtA532PuyP3EZojvtvc9G6mggd3LcgoLAg49PD6FQTp7li5K6hGIE3tcVejQGSRWBKn2RpBLrXgAbK2vws0zu2PaV7t7P1whnV73NUuEHZstC2B3HFwtuVIkEn8cKxRiJFGkn8NyZgbGGw07IaROzmCZKtLIGyPu6oz6fY2VkkP5R4MEwJxlCGmOG4y6ferw525l5u2BHIdhsmRQOBiOUy2gNLhGCRb/M6ZIB3U8PZaZ5haNosbgRTcjXT8XnKFqbZGkK9gmDxtjlKPOLZwNs37j1uzHbwXYWlzOwMXwTCRKFSaKJyeK8huFU8jh5K6xNaJQqGUuVU2R476aVqzOAqGiaUmSnjmXiTXy0xePZOgLN7ISxymfL06pfhID+YcjJMTgXAah7xymu9CclfuR8jFJhTcy1EHSvgYlsE41VVq1NPccX0O1wJhFVcU3UuOmNzyfeWpcb7Ih/C1YYqnfAirsnijkt8l7iz/EZ1vUJQMnJif0NvRQnBrYZw8bZriRyDbrvE9euwpnqOs1E+OsNjhogsBh17sKT2YIhgnLxunRC7WZc3OF6ic4w1SN6WRLTJP0ehxOSRrXmfn6lwZxWgYJ8r+NKywmMbhdG5DLrkYp+ReqsbnGCa7qij1pzBOVDdh3HqN7zMN/3pjttLA/D9dVt8q6suoNmNNwl9gnPreRPV76c1czbE4WKJyUo6il8euFErxcWkROD9TUqdgk2EfjJOf3IgnRfLepViqrOY37mCbtKbmKhLH1pDvU9q6pVIi29SOmS19zWxNqC3MUM25W6Vg5KhmhRlaUavWHjgoxzAHs1scBe4ZclUOl4sjJt9AxrIoboVRUhmuNCA/F2ZJnOTRs0BC0wy9gk3iamyr5ad2lquCd1alZM2VGG6PNGBJQJbnCM+ze7+sSslKr56RPj7D0K92WQrWbnEiFLYsxZG1W2zEYMszeC0herUiQv77FGTIz7EDcRSVEPUYKMUnyGgYIY0qyVIAuVN6WMdrdyZiuYqXgvixRwX5KOjxmTWLHdnORLZchfnrEdLb9+XTCZKLEiv78GfvRXA0QsykmxXhlF8eST8UR9G6i9H0q7x4Cm10H2HZQoUkhmsSj0/IFnZOyBFeDctNGNoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsI3/BxVeQNnL1kBuAAAAAElFTkSuQmCC"},77374:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/\u56FE\u7247-c3c014b00b204c4fec2ad5e402e5521d.png"},78318:function(e,n,t){t.d(n,{Z:()=>s});let s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAT3UlEQVR42u1dCVQVV5pWXNt2N0czykl33KImZ7IgKgqIghq3KCDK+qowCek2c2K0Mx3idBxakzYxJnZiq3Gf6Bg7UdN2R51MxnTSia3gew9Rwccm7oqiiIK4sPxTt1hEHo9XvPVW1fed852Dr+67UNb/1f3/+9/731atAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO8i2CxGjDUJXzMGmcSZnmoHAF7B6GMJvYPNwq5gk1AmMS/YJMbaahtkNsRLbeghmoU4d7cDAO+NCEbhQCMjrZbe5q81bhdyVOwuXbtqZdDSZ+yau9oBgNcgGeIvmzDQJkUy1ix8ZKMtsWvuagcAXsNYs/iyLSNlIgk2GebLQjKJQ6R/32+mbcWYI8KTrm6HJwR4170yCV80Y6T1I4kklH122lFNG9e2wxMC3Ao/U1KnQLPgF2SK/xeri5TiIxlikX1DBXVANpoXSy/DzGCjYfdYs2FRiFkcxWxEu/GF0RAm3fT1Bv8JJyV+LLlV08ccnNuFCQeGAdrheWkkXxaSGueruZFDurlrzfn4QSbDGRgAqJD3JK4NMcU8oo3RIz1hOB4q6AZeCzKK0aoXCIs58DBBt9Esfip5Ke3UPkN1Eg8TdB8N+5grr+JRxPAJHiLoTgaZhf97MiuqvVqTgNPxEEEPcK0qBTIyNa6rnWw1CLooJjHMUZc6KMWnNs9xDg8Q9ACLQtMMvbhfeFi7tuoLZMhBz1NczaUw2H4OFizhAYFe5l0uM+61m53wgMAWM+C7aBr425Ey2c8umPpdxmO+oxQPWz8cvnOmTGf7Gf1DDHXs25lYxMrIfmafOdnvOe4WONZsk4XhaD7nkJpAPQN96w2a/cw+c7S/QYsC6vuq46D/CHD+7zQaRvDmYsXVbG6CEWmZQ5YGWRk0+8zR/phb1bg/9pkLgvVk/twso+EViETbfPw1PyuDHrDQ36n4o6GL1eHRn7skDhlrEnZyuvbKMN/TIglKM9AzmyfLbzL2sBjZz89sniJfg2G7Nvbwad+m3qB9OrQh/z0RTschzK1yXZAu8zi/CxQ9NJL4fT6d+kwdQG27drB6q9WxXbcO1GfaAPL78wswcBfx6Y2T6ZHxv5DJfuY1acj5Kl55JHHPtOCBaOozZQC18mltUxhWlNoyobjwDQVyng/hVhyBaYbBrEKhW0aNL2Y85LO2lB37daHhX86AAemAPC4z6R5sEt9j6nWXONr8vJ3D4qhj287tIRIIxMP7PmrKd151p1vV3MjRtmt7eiT0F+QbN4z6xQ6T/eO2XdrbbP8z3y5wtyAQT+VAxAh336wcczQVhPfsKM+ANJWsYp+xRFS7Hh2b/C6LSWBIEIgnsuh73T1b1VRA3ql/dxq5d5bd74/4OlJu21TgjtktCMT9uwbdFJDXjx5TBzQ5cigRR71I/hZJ7bpbTwf3mT4QxgSBuHtbrSHcnUlAlstwxXqdgcmjmsyTIJkIgag2SGcZ8qYCckcWyAUdTpBnsBr398yWKTAoCESd07xD3rFeHMdmqxztj81uNe5v6B+CYVAQiAeD9qPiIOkP/NIVN9l//nArg/ZNeNLh/nzjn7Tqr//rw2FQEIg6M+lN7RcY/LvR3PQHupdh6S9R+LH5ZMh8i17NfoeS81bSO6fX0cfn/ps2X/wL7bzyv/TNtYP0z5KjdLw0hwrKL1DR/Rt0r+q+Plys0d/HyMtDGib4nNlx5ur+QPcZuLPQTSa9bjk0oyuM2dX9adm4Zx57jeIzk+lXliX0Ru4KSjm1hlac/S/69MKXtP3yXvrr1b/Td8WplHbzOGWV5dPZO5fo+v0Slxi4ZgTiiUw66BoD/32BPQO/zI2Ba0cgbs6kg9aMPfFbWn5mM/258H80a+CaEYi7M+ngA7JR4ERpHgFqEogbM+lgDSelv0LfFx+B1SNIBxtzWsarlH27ABavZoF4YsOUHhliEuX4AlCOwsJC2rVrF7+JwjHGuU8Em4X9MHDn+afzOzRtzGVlZbR69WqKjY2lqKgoev/996m4uNihvqqrqyklJYU6dKhf3Kq/Pel6izuKK246bYQXLlygvXv30ldffUWZmZlO9cX6CAwMpI4dO1Lbtm3pueeeo61btzrUV1ZWFj3++ONWKxseffRRMpvNLe7vzTffrClF5ONDEydOhIuldb53ZqNTxpyfn08RERFWBsiM2mQytbi/+fPn29zCnJSU1KK+ioqKyNe3poTpU089RRs3bqTt27dTQEBAvUiuXr2quL8ff/xRFgYT7e7duxGk64E/FBsdFsfhw4epR48eNTsvO3WioKAgmjRpEvXu3Vv+rHPnzvTTTz8p7u/dd9+tqXwouS/Lly+nS5cuUUlJCa1fv17ui11j7pFSTJs2Tf4O+7tu3bpV//ndu3fr3v40Y8YMRX1VVFTQkCFD5O8sW7YMmXS98MLdQofEYbFYqFu3brLBsBGEBa11KC0tpcTERPkaa8NGGXs4ePCg/HZu06YN7du3z+r6/v3769/e6enpdvvbs2dPTeHrnj1l968xLl68SN2712yR/vbbb+3299lnn8ltn3jiCbp37x4y6XphedWdFouDBbiDBw+WDWb27NlUWVlp1aaqqooiIyPlNsOHD3/IqBrj9u3bNGjQILnt4sWLbbZbuHCh3Mbf37/J31kH9rvq+mPBuS2w0Yi18fPzk4NvW2C/iwmDtd22bRsy6RAINWvM48aNq48z2L9tgblH/fv3l9suWLDAZrt58+bJbZ5++ulmhcRGpscee8yu4a9YsUJuM2zYMNk1soXy8nLq16+f3Hbnzp0227EJAtZm4MCBVv0hkw4XS8aNGzdkV4S9bZmxMMM6f/683e+lpaVR+/Y1W5A//PBDq+vr1q2Tr7E2GRkZil2nrl27Um5ubpOTBuwaa/PNN9/Y7a/u97MRgsUmjcE+Y8JgbbZs2YJMut6oZGnJ6NGjHz5bQzKYggLlWXf2BmbxA/suC+LZbNKOHTsoLi6OWrduLXPz5s2K+2P5DNYXC5rz8h6sGbt8+bI8qrFrrI3S4JuNNOw7ycnJVtfffvvtZkcjTPNqnMtOb7BrRGPGjJFnlpiRfPDBB826VbbABNGrVy/rii/t2tGqVata7OY9++yz8ve7dOkiC41NAdfNng0dOlR2x5TCaDTKfwf77tKlS2UhsJiEuXFs0oCJ+9ChQ+pYauKOPel65sT0JJckCpXmJVhgzLLZM2fOpEWLFj00ArR0oqCp/AuLj9hI0lIwkbKRrG7mqy42YVyyZIl61mJhqYnruercdtUuI2HTzZs2baK1a9fSkSPOrURm8U1droOxb9++tGHDBixWxGJFkVJLjmEFYoMcCYuxmpsBQ5Cuu+Xu8+hk2SmoQ63L3ZFJ90w8cuD6YVi9KgWCTLrHuDB3uVwep5qqoQC1CASZdM8z+sQb9P6ZTbSjcD+KNnAvEGTSUfYHAkGQDoGhcBymeUGUHkUmHdS6wG5VlmFPOgjq/gAdEMQRbCCoZYEgkw5CIMikgxAIMukgBIJMOgiBIEgHIRBM84KgegSCTDoIgSCTzvcWXbNAv7bE0/oL0fSPG1F0+k4k3aoMp4rqmUSkL8LFAus563gCbb88h4ruR+hOCKoQCIJ07/CFDAP9rWg23a+GILgVCDLp3uGSghi6WREOMXAvEGTSPcrxUpzxtTRqQAQqEQgCck9WNzFQasksCEBVAkEm3WMjB8SBIB20QbhVmOYFbXBpQazLDYjlR25XhetGIJOyXuw5JntuF2TSNVd61EAlLpytqpa4sjCWJmSLMtdcidG2QKhV67CcxHVh2WJVLVcik65zjmVZ9QyRxmcKFHpSJMkoaGqOSHGnDPTGuXj53w1pLIvSnECk+yoPzRZPh2Un/r3x/YZZEifBxdLrcpOMB6JQyt3Fc7QokOb4OoJ0vdEs0LgTLRNGHQ/cnE07JZEcLo2SXTCtC2RCdmJ8aI64MNSSOI25YMik64COiqMxPy6M0cMI0oDCGmTSdeBWuUIcYbWBe6kGZrdacM/VIafF7sikazggb2nMYU8gJZURehJIVUhO0iPIpGt29HCdOBj/qDMXS3ohfIogXctLUDJd516xaeCvb8yhMv24WGekQP2VsFNJ3TDNq1G60r2qY4IkFLWLpIX3fMojIkEm3QsV0LMFlwuEcfS/P0N+ft29ypdf/qWnBEJhFiEJmXQIRDH7RQ2uP5fcW+zbt6PHBDIhJ/EluFhwsRRxzsl4OmgeTyZTiFdZXDzVUwLJd6uLhSBdO0H63huzdRWkM9fKreJAJl07SULGjy7H6iuTbhHXI5Ou8URhGBKFHCcKEZB7fxQ5iqUm/C41QSadk8WKrhHJJ4X6crFCLeKfkEnXiavl7HL31LJZutgPUrfcPSxXmIoNU3rcMGURsGGKpw1TyKTzKZTxmWJtnkT6OSOBxhyYRX6fPW9lML0C+3k9KdgUR47s4dSWW4kF3Gy5RSbdtXTUMEaM6NG84bVuRUNSAiThSCNNlkCDk/25FAfjqFE9XVO0IVtcW1uwoTLMInyEsj86FohSllaGU7mOyv5MPR7bIyRrXmcUjoNAQFR3h0BAVHeHQEBUdwchEFR3ByEQVHdHkA6BQCCY5oVAIBBk0tUrEH//Htwm/jyZSedWIMikc55JVxFdkkmHiwWBgAjSIRAQmXQQAkEmHYRAkEkHeRDIP0ujaOG5eJqWK8j8jfQzOyQHAkEmXfcC2XA12uaOuk1F0RAIgnRtC4Qd4XyifBZZ7kRaHefMRg5722wbjySsD9YX61MLx0OH5cwNnJwX1xXTvDoTyF3JeD8pjKHncx4Y+xTp51VXYuRrrM3CJk6ybUx22u2D/mLlPuquTc4RavqrVv2e9LthOcKqgPNRP0MmXQcCqZAMdsFZ28b/unTNf1QvGpceZ1cg48xx5NPOh4Z/PsVmG79tz1Prtj5q3ZPekD/4mZLaIZOu9dpXx+1XKBl3XFlFk9BMAw1+a4Tddo8Zhqkyk95EQbz5cLG0Xsk9S3TLUQfN8ddnErRS9seMIF3rZ4FYPC+QF3IFrQjkFjLpOAvE5UwsMGhFIBZk0rV+FsgJweMC+Vilp95a34uwBpl0rdffNXtWIKzS+9Hbs2hlYSwZThnkqWA2onx+LZr7KeDGFdxDsw3jwnIS18mnSWWLd9iIEmpJfMvtU8DIpHtwBMny/Ahii/8mBe88JxRb8BJIc3tCEUG6Nt0re/zgcozqBVLrfm3GNK+aC1Ef408cjBM5Po2qhfdS6dZTppBJd2/cEWoRuRQIY8/RfdWQSbfP3LlhSoPuxSGpcb7IpMO1UsIe/n1UkUm3OxrmCsF2jTs09aU+0kO5zQwcLhYHTBe5Fgdb1HirMlwLLtbdSVkv9lSS01ha93CCzMpP4UGQzve5g+7iHzk+z7CF97JWadIvr8EDqmJZcmTSvUSzd5aWKOX8swn1y+tVLpCD001JnezHHkdE/yYe1B17IkEm3U3BeTq/o8faK9Hy0nvVn3JrET5SvAxeeii/sfGwqqSY5DVk0j3sXh3jd/Rgm7V43+Ou8F7uSyyT+P1EizjdnkC+sDPk7x+TPrcvMukemr3K5DtA532PuyP3EZojvtvc9G6mggd3LcgoLAg49PD6FQTp7li5K6hGIE3tcVejQGSRWBKn2RpBLrXgAbK2vws0zu2PaV7t7P1whnV73NUuEHZstC2B3HFwtuVIkEn8cKxRiJFGkn8NyZgbGGw07IaROzmCZKtLIGyPu6oz6fY2VkkP5R4MEwJxlCGmOG4y6ferw525l5u2BHIdhsmRQOBiOUy2gNLhGCRb/M6ZIB3U8PZaZ5haNosbgRTcjXT8XnKFqbZGkK9gmDxtjlKPOLZwNs37j1uzHbwXYWlzOwMXwTCRKFSaKJyeK8huFU8jh5K6xNaJQqGUuVU2R476aVqzOAqGiaUmSnjmXiTXy0xePZOgLN7ISxymfL06pfhID+YcjJMTgXAah7xymu9CclfuR8jFJhTcy1EHSvgYlsE41VVq1NPccX0O1wJhFVcU3UuOmNzyfeWpcb7Ih/C1YYqnfAirsnijkt8l7iz/EZ1vUJQMnJif0NvRQnBrYZw8bZriRyDbrvE9euwpnqOs1E+OsNjhogsBh17sKT2YIhgnLxunRC7WZc3OF6ic4w1SN6WRLTJP0ehxOSRrXmfn6lwZxWgYJ8r+NKywmMbhdG5DLrkYp+ReqsbnGCa7qij1pzBOVDdh3HqN7zMN/3pjttLA/D9dVt8q6suoNmNNwl9gnPreRPV76c1czbE4WKJyUo6il8euFErxcWkROD9TUqdgk2EfjJOf3IgnRfLepViqrOY37mCbtKbmKhLH1pDvU9q6pVIi29SOmS19zWxNqC3MUM25W6Vg5KhmhRlaUavWHjgoxzAHs1scBe4ZclUOl4sjJt9AxrIoboVRUhmuNCA/F2ZJnOTRs0BC0wy9gk3iamyr5ad2lquCd1alZM2VGG6PNGBJQJbnCM+ze7+sSslKr56RPj7D0K92WQrWbnEiFLYsxZG1W2zEYMszeC0herUiQv77FGTIz7EDcRSVEPUYKMUnyGgYIY0qyVIAuVN6WMdrdyZiuYqXgvixRwX5KOjxmTWLHdnORLZchfnrEdLb9+XTCZKLEiv78GfvRXA0QsykmxXhlF8eST8UR9G6i9H0q7x4Cm10H2HZQoUkhmsSj0/IFnZOyBFeDctNGNoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsI3/BxVeQNnL1kBuAAAAAElFTkSuQmCC"},99653:function(e,n,t){t.d(n,{Z:()=>s});let s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAT3UlEQVR42u1dCVQVV5pWXNt2N0czykl33KImZ7IgKgqIghq3KCDK+qowCek2c2K0Mx3idBxakzYxJnZiq3Gf6Bg7UdN2R51MxnTSia3gew9Rwccm7oqiiIK4sPxTt1hEHo9XvPVW1fed852Dr+67UNb/1f3/+9/731atAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO8i2CxGjDUJXzMGmcSZnmoHAF7B6GMJvYPNwq5gk1AmMS/YJMbaahtkNsRLbeghmoU4d7cDAO+NCEbhQCMjrZbe5q81bhdyVOwuXbtqZdDSZ+yau9oBgNcgGeIvmzDQJkUy1ix8ZKMtsWvuagcAXsNYs/iyLSNlIgk2GebLQjKJQ6R/32+mbcWYI8KTrm6HJwR4170yCV80Y6T1I4kklH122lFNG9e2wxMC3Ao/U1KnQLPgF2SK/xeri5TiIxlikX1DBXVANpoXSy/DzGCjYfdYs2FRiFkcxWxEu/GF0RAm3fT1Bv8JJyV+LLlV08ccnNuFCQeGAdrheWkkXxaSGueruZFDurlrzfn4QSbDGRgAqJD3JK4NMcU8oo3RIz1hOB4q6AZeCzKK0aoXCIs58DBBt9Esfip5Ke3UPkN1Eg8TdB8N+5grr+JRxPAJHiLoTgaZhf97MiuqvVqTgNPxEEEPcK0qBTIyNa6rnWw1CLooJjHMUZc6KMWnNs9xDg8Q9ACLQtMMvbhfeFi7tuoLZMhBz1NczaUw2H4OFizhAYFe5l0uM+61m53wgMAWM+C7aBr425Ey2c8umPpdxmO+oxQPWz8cvnOmTGf7Gf1DDHXs25lYxMrIfmafOdnvOe4WONZsk4XhaD7nkJpAPQN96w2a/cw+c7S/QYsC6vuq46D/CHD+7zQaRvDmYsXVbG6CEWmZQ5YGWRk0+8zR/phb1bg/9pkLgvVk/twso+EViETbfPw1PyuDHrDQ36n4o6GL1eHRn7skDhlrEnZyuvbKMN/TIglKM9AzmyfLbzL2sBjZz89sniJfg2G7Nvbwad+m3qB9OrQh/z0RTschzK1yXZAu8zi/CxQ9NJL4fT6d+kwdQG27drB6q9WxXbcO1GfaAPL78wswcBfx6Y2T6ZHxv5DJfuY1acj5Kl55JHHPtOCBaOozZQC18mltUxhWlNoyobjwDQVyng/hVhyBaYbBrEKhW0aNL2Y85LO2lB37daHhX86AAemAPC4z6R5sEt9j6nWXONr8vJ3D4qhj287tIRIIxMP7PmrKd151p1vV3MjRtmt7eiT0F+QbN4z6xQ6T/eO2XdrbbP8z3y5wtyAQT+VAxAh336wcczQVhPfsKM+ANJWsYp+xRFS7Hh2b/C6LSWBIEIgnsuh73T1b1VRA3ql/dxq5d5bd74/4OlJu21TgjtktCMT9uwbdFJDXjx5TBzQ5cigRR71I/hZJ7bpbTwf3mT4QxgSBuHtbrSHcnUlAlstwxXqdgcmjmsyTIJkIgag2SGcZ8qYCckcWyAUdTpBnsBr398yWKTAoCESd07xD3rFeHMdmqxztj81uNe5v6B+CYVAQiAeD9qPiIOkP/NIVN9l//nArg/ZNeNLh/nzjn7Tqr//rw2FQEIg6M+lN7RcY/LvR3PQHupdh6S9R+LH5ZMh8i17NfoeS81bSO6fX0cfn/ps2X/wL7bzyv/TNtYP0z5KjdLw0hwrKL1DR/Rt0r+q+Plys0d/HyMtDGib4nNlx5ur+QPcZuLPQTSa9bjk0oyuM2dX9adm4Zx57jeIzk+lXliX0Ru4KSjm1hlac/S/69MKXtP3yXvrr1b/Td8WplHbzOGWV5dPZO5fo+v0Slxi4ZgTiiUw66BoD/32BPQO/zI2Ba0cgbs6kg9aMPfFbWn5mM/258H80a+CaEYi7M+ngA7JR4ERpHgFqEogbM+lgDSelv0LfFx+B1SNIBxtzWsarlH27ABavZoF4YsOUHhliEuX4AlCOwsJC2rVrF7+JwjHGuU8Em4X9MHDn+afzOzRtzGVlZbR69WqKjY2lqKgoev/996m4uNihvqqrqyklJYU6dKhf3Kq/Pel6izuKK246bYQXLlygvXv30ldffUWZmZlO9cX6CAwMpI4dO1Lbtm3pueeeo61btzrUV1ZWFj3++ONWKxseffRRMpvNLe7vzTffrClF5ONDEydOhIuldb53ZqNTxpyfn08RERFWBsiM2mQytbi/+fPn29zCnJSU1KK+ioqKyNe3poTpU089RRs3bqTt27dTQEBAvUiuXr2quL8ff/xRFgYT7e7duxGk64E/FBsdFsfhw4epR48eNTsvO3WioKAgmjRpEvXu3Vv+rHPnzvTTTz8p7u/dd9+tqXwouS/Lly+nS5cuUUlJCa1fv17ui11j7pFSTJs2Tf4O+7tu3bpV//ndu3fr3v40Y8YMRX1VVFTQkCFD5O8sW7YMmXS98MLdQofEYbFYqFu3brLBsBGEBa11KC0tpcTERPkaa8NGGXs4ePCg/HZu06YN7du3z+r6/v3769/e6enpdvvbs2dPTeHrnj1l968xLl68SN2712yR/vbbb+3299lnn8ltn3jiCbp37x4y6XphedWdFouDBbiDBw+WDWb27NlUWVlp1aaqqooiIyPlNsOHD3/IqBrj9u3bNGjQILnt4sWLbbZbuHCh3Mbf37/J31kH9rvq+mPBuS2w0Yi18fPzk4NvW2C/iwmDtd22bRsy6RAINWvM48aNq48z2L9tgblH/fv3l9suWLDAZrt58+bJbZ5++ulmhcRGpscee8yu4a9YsUJuM2zYMNk1soXy8nLq16+f3Hbnzp0227EJAtZm4MCBVv0hkw4XS8aNGzdkV4S9bZmxMMM6f/683e+lpaVR+/Y1W5A//PBDq+vr1q2Tr7E2GRkZil2nrl27Um5ubpOTBuwaa/PNN9/Y7a/u97MRgsUmjcE+Y8JgbbZs2YJMut6oZGnJ6NGjHz5bQzKYggLlWXf2BmbxA/suC+LZbNKOHTsoLi6OWrduLXPz5s2K+2P5DNYXC5rz8h6sGbt8+bI8qrFrrI3S4JuNNOw7ycnJVtfffvvtZkcjTPNqnMtOb7BrRGPGjJFnlpiRfPDBB826VbbABNGrVy/rii/t2tGqVata7OY9++yz8ve7dOkiC41NAdfNng0dOlR2x5TCaDTKfwf77tKlS2UhsJiEuXFs0oCJ+9ChQ+pYauKOPel65sT0JJckCpXmJVhgzLLZM2fOpEWLFj00ArR0oqCp/AuLj9hI0lIwkbKRrG7mqy42YVyyZIl61mJhqYnruercdtUuI2HTzZs2baK1a9fSkSPOrURm8U1droOxb9++tGHDBixWxGJFkVJLjmEFYoMcCYuxmpsBQ5Cuu+Xu8+hk2SmoQ63L3ZFJ90w8cuD6YVi9KgWCTLrHuDB3uVwep5qqoQC1CASZdM8z+sQb9P6ZTbSjcD+KNnAvEGTSUfYHAkGQDoGhcBymeUGUHkUmHdS6wG5VlmFPOgjq/gAdEMQRbCCoZYEgkw5CIMikgxAIMukgBIJMOgiBIEgHIRBM84KgegSCTDoIgSCTzvcWXbNAv7bE0/oL0fSPG1F0+k4k3aoMp4rqmUSkL8LFAus563gCbb88h4ruR+hOCKoQCIJ07/CFDAP9rWg23a+GILgVCDLp3uGSghi6WREOMXAvEGTSPcrxUpzxtTRqQAQqEQgCck9WNzFQasksCEBVAkEm3WMjB8SBIB20QbhVmOYFbXBpQazLDYjlR25XhetGIJOyXuw5JntuF2TSNVd61EAlLpytqpa4sjCWJmSLMtdcidG2QKhV67CcxHVh2WJVLVcik65zjmVZ9QyRxmcKFHpSJMkoaGqOSHGnDPTGuXj53w1pLIvSnECk+yoPzRZPh2Un/r3x/YZZEifBxdLrcpOMB6JQyt3Fc7QokOb4OoJ0vdEs0LgTLRNGHQ/cnE07JZEcLo2SXTCtC2RCdmJ8aI64MNSSOI25YMik64COiqMxPy6M0cMI0oDCGmTSdeBWuUIcYbWBe6kGZrdacM/VIafF7sikazggb2nMYU8gJZURehJIVUhO0iPIpGt29HCdOBj/qDMXS3ohfIogXctLUDJd516xaeCvb8yhMv24WGekQP2VsFNJ3TDNq1G60r2qY4IkFLWLpIX3fMojIkEm3QsV0LMFlwuEcfS/P0N+ft29ypdf/qWnBEJhFiEJmXQIRDH7RQ2uP5fcW+zbt6PHBDIhJ/EluFhwsRRxzsl4OmgeTyZTiFdZXDzVUwLJd6uLhSBdO0H63huzdRWkM9fKreJAJl07SULGjy7H6iuTbhHXI5Ou8URhGBKFHCcKEZB7fxQ5iqUm/C41QSadk8WKrhHJJ4X6crFCLeKfkEnXiavl7HL31LJZutgPUrfcPSxXmIoNU3rcMGURsGGKpw1TyKTzKZTxmWJtnkT6OSOBxhyYRX6fPW9lML0C+3k9KdgUR47s4dSWW4kF3Gy5RSbdtXTUMEaM6NG84bVuRUNSAiThSCNNlkCDk/25FAfjqFE9XVO0IVtcW1uwoTLMInyEsj86FohSllaGU7mOyv5MPR7bIyRrXmcUjoNAQFR3h0BAVHeHQEBUdwchEFR3ByEQVHdHkA6BQCCY5oVAIBBk0tUrEH//Htwm/jyZSedWIMikc55JVxFdkkmHiwWBgAjSIRAQmXQQAkEmHYRAkEkHeRDIP0ujaOG5eJqWK8j8jfQzOyQHAkEmXfcC2XA12uaOuk1F0RAIgnRtC4Qd4XyifBZZ7kRaHefMRg5722wbjySsD9YX61MLx0OH5cwNnJwX1xXTvDoTyF3JeD8pjKHncx4Y+xTp51VXYuRrrM3CJk6ybUx22u2D/mLlPuquTc4RavqrVv2e9LthOcKqgPNRP0MmXQcCqZAMdsFZ28b/unTNf1QvGpceZ1cg48xx5NPOh4Z/PsVmG79tz1Prtj5q3ZPekD/4mZLaIZOu9dpXx+1XKBl3XFlFk9BMAw1+a4Tddo8Zhqkyk95EQbz5cLG0Xsk9S3TLUQfN8ddnErRS9seMIF3rZ4FYPC+QF3IFrQjkFjLpOAvE5UwsMGhFIBZk0rV+FsgJweMC+Vilp95a34uwBpl0rdffNXtWIKzS+9Hbs2hlYSwZThnkqWA2onx+LZr7KeDGFdxDsw3jwnIS18mnSWWLd9iIEmpJfMvtU8DIpHtwBMny/Ahii/8mBe88JxRb8BJIc3tCEUG6Nt0re/zgcozqBVLrfm3GNK+aC1Ef408cjBM5Po2qhfdS6dZTppBJd2/cEWoRuRQIY8/RfdWQSbfP3LlhSoPuxSGpcb7IpMO1UsIe/n1UkUm3OxrmCsF2jTs09aU+0kO5zQwcLhYHTBe5Fgdb1HirMlwLLtbdSVkv9lSS01ha93CCzMpP4UGQzve5g+7iHzk+z7CF97JWadIvr8EDqmJZcmTSvUSzd5aWKOX8swn1y+tVLpCD001JnezHHkdE/yYe1B17IkEm3U3BeTq/o8faK9Hy0nvVn3JrET5SvAxeeii/sfGwqqSY5DVk0j3sXh3jd/Rgm7V43+Ou8F7uSyyT+P1EizjdnkC+sDPk7x+TPrcvMukemr3K5DtA532PuyP3EZojvtvc9G6mggd3LcgoLAg49PD6FQTp7li5K6hGIE3tcVejQGSRWBKn2RpBLrXgAbK2vws0zu2PaV7t7P1whnV73NUuEHZstC2B3HFwtuVIkEn8cKxRiJFGkn8NyZgbGGw07IaROzmCZKtLIGyPu6oz6fY2VkkP5R4MEwJxlCGmOG4y6ferw525l5u2BHIdhsmRQOBiOUy2gNLhGCRb/M6ZIB3U8PZaZ5haNosbgRTcjXT8XnKFqbZGkK9gmDxtjlKPOLZwNs37j1uzHbwXYWlzOwMXwTCRKFSaKJyeK8huFU8jh5K6xNaJQqGUuVU2R476aVqzOAqGiaUmSnjmXiTXy0xePZOgLN7ISxymfL06pfhID+YcjJMTgXAah7xymu9CclfuR8jFJhTcy1EHSvgYlsE41VVq1NPccX0O1wJhFVcU3UuOmNzyfeWpcb7Ih/C1YYqnfAirsnijkt8l7iz/EZ1vUJQMnJif0NvRQnBrYZw8bZriRyDbrvE9euwpnqOs1E+OsNjhogsBh17sKT2YIhgnLxunRC7WZc3OF6ic4w1SN6WRLTJP0ehxOSRrXmfn6lwZxWgYJ8r+NKywmMbhdG5DLrkYp+ReqsbnGCa7qij1pzBOVDdh3HqN7zMN/3pjttLA/D9dVt8q6suoNmNNwl9gnPreRPV76c1czbE4WKJyUo6il8euFErxcWkROD9TUqdgk2EfjJOf3IgnRfLepViqrOY37mCbtKbmKhLH1pDvU9q6pVIi29SOmS19zWxNqC3MUM25W6Vg5KhmhRlaUavWHjgoxzAHs1scBe4ZclUOl4sjJt9AxrIoboVRUhmuNCA/F2ZJnOTRs0BC0wy9gk3iamyr5ad2lquCd1alZM2VGG6PNGBJQJbnCM+ze7+sSslKr56RPj7D0K92WQrWbnEiFLYsxZG1W2zEYMszeC0herUiQv77FGTIz7EDcRSVEPUYKMUnyGgYIY0qyVIAuVN6WMdrdyZiuYqXgvixRwX5KOjxmTWLHdnORLZchfnrEdLb9+XTCZKLEiv78GfvRXA0QsykmxXhlF8eST8UR9G6i9H0q7x4Cm10H2HZQoUkhmsSj0/IFnZOyBFeDctNGNoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsI3/BxVeQNnL1kBuAAAAAElFTkSuQmCC"},63199:function(e,n,t){t.d(n,{Z:()=>s});let s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAT3UlEQVR42u1dCVQVV5pWXNt2N0czykl33KImZ7IgKgqIghq3KCDK+qowCek2c2K0Mx3idBxakzYxJnZiq3Gf6Bg7UdN2R51MxnTSia3gew9Rwccm7oqiiIK4sPxTt1hEHo9XvPVW1fed852Dr+67UNb/1f3/+9/731atAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO8i2CxGjDUJXzMGmcSZnmoHAF7B6GMJvYPNwq5gk1AmMS/YJMbaahtkNsRLbeghmoU4d7cDAO+NCEbhQCMjrZbe5q81bhdyVOwuXbtqZdDSZ+yau9oBgNcgGeIvmzDQJkUy1ix8ZKMtsWvuagcAXsNYs/iyLSNlIgk2GebLQjKJQ6R/32+mbcWYI8KTrm6HJwR4170yCV80Y6T1I4kklH122lFNG9e2wxMC3Ao/U1KnQLPgF2SK/xeri5TiIxlikX1DBXVANpoXSy/DzGCjYfdYs2FRiFkcxWxEu/GF0RAm3fT1Bv8JJyV+LLlV08ccnNuFCQeGAdrheWkkXxaSGueruZFDurlrzfn4QSbDGRgAqJD3JK4NMcU8oo3RIz1hOB4q6AZeCzKK0aoXCIs58DBBt9Esfip5Ke3UPkN1Eg8TdB8N+5grr+JRxPAJHiLoTgaZhf97MiuqvVqTgNPxEEEPcK0qBTIyNa6rnWw1CLooJjHMUZc6KMWnNs9xDg8Q9ACLQtMMvbhfeFi7tuoLZMhBz1NczaUw2H4OFizhAYFe5l0uM+61m53wgMAWM+C7aBr425Ey2c8umPpdxmO+oxQPWz8cvnOmTGf7Gf1DDHXs25lYxMrIfmafOdnvOe4WONZsk4XhaD7nkJpAPQN96w2a/cw+c7S/QYsC6vuq46D/CHD+7zQaRvDmYsXVbG6CEWmZQ5YGWRk0+8zR/phb1bg/9pkLgvVk/twso+EViETbfPw1PyuDHrDQ36n4o6GL1eHRn7skDhlrEnZyuvbKMN/TIglKM9AzmyfLbzL2sBjZz89sniJfg2G7Nvbwad+m3qB9OrQh/z0RTschzK1yXZAu8zi/CxQ9NJL4fT6d+kwdQG27drB6q9WxXbcO1GfaAPL78wswcBfx6Y2T6ZHxv5DJfuY1acj5Kl55JHHPtOCBaOozZQC18mltUxhWlNoyobjwDQVyng/hVhyBaYbBrEKhW0aNL2Y85LO2lB37daHhX86AAemAPC4z6R5sEt9j6nWXONr8vJ3D4qhj287tIRIIxMP7PmrKd151p1vV3MjRtmt7eiT0F+QbN4z6xQ6T/eO2XdrbbP8z3y5wtyAQT+VAxAh336wcczQVhPfsKM+ANJWsYp+xRFS7Hh2b/C6LSWBIEIgnsuh73T1b1VRA3ql/dxq5d5bd74/4OlJu21TgjtktCMT9uwbdFJDXjx5TBzQ5cigRR71I/hZJ7bpbTwf3mT4QxgSBuHtbrSHcnUlAlstwxXqdgcmjmsyTIJkIgag2SGcZ8qYCckcWyAUdTpBnsBr398yWKTAoCESd07xD3rFeHMdmqxztj81uNe5v6B+CYVAQiAeD9qPiIOkP/NIVN9l//nArg/ZNeNLh/nzjn7Tqr//rw2FQEIg6M+lN7RcY/LvR3PQHupdh6S9R+LH5ZMh8i17NfoeS81bSO6fX0cfn/ps2X/wL7bzyv/TNtYP0z5KjdLw0hwrKL1DR/Rt0r+q+Plys0d/HyMtDGib4nNlx5ur+QPcZuLPQTSa9bjk0oyuM2dX9adm4Zx57jeIzk+lXliX0Ru4KSjm1hlac/S/69MKXtP3yXvrr1b/Td8WplHbzOGWV5dPZO5fo+v0Slxi4ZgTiiUw66BoD/32BPQO/zI2Ba0cgbs6kg9aMPfFbWn5mM/258H80a+CaEYi7M+ngA7JR4ERpHgFqEogbM+lgDSelv0LfFx+B1SNIBxtzWsarlH27ABavZoF4YsOUHhliEuX4AlCOwsJC2rVrF7+JwjHGuU8Em4X9MHDn+afzOzRtzGVlZbR69WqKjY2lqKgoev/996m4uNihvqqrqyklJYU6dKhf3Kq/Pel6izuKK246bYQXLlygvXv30ldffUWZmZlO9cX6CAwMpI4dO1Lbtm3pueeeo61btzrUV1ZWFj3++ONWKxseffRRMpvNLe7vzTffrClF5ONDEydOhIuldb53ZqNTxpyfn08RERFWBsiM2mQytbi/+fPn29zCnJSU1KK+ioqKyNe3poTpU089RRs3bqTt27dTQEBAvUiuXr2quL8ff/xRFgYT7e7duxGk64E/FBsdFsfhw4epR48eNTsvO3WioKAgmjRpEvXu3Vv+rHPnzvTTTz8p7u/dd9+tqXwouS/Lly+nS5cuUUlJCa1fv17ui11j7pFSTJs2Tf4O+7tu3bpV//ndu3fr3v40Y8YMRX1VVFTQkCFD5O8sW7YMmXS98MLdQofEYbFYqFu3brLBsBGEBa11KC0tpcTERPkaa8NGGXs4ePCg/HZu06YN7du3z+r6/v3769/e6enpdvvbs2dPTeHrnj1l968xLl68SN2712yR/vbbb+3299lnn8ltn3jiCbp37x4y6XphedWdFouDBbiDBw+WDWb27NlUWVlp1aaqqooiIyPlNsOHD3/IqBrj9u3bNGjQILnt4sWLbbZbuHCh3Mbf37/J31kH9rvq+mPBuS2w0Yi18fPzk4NvW2C/iwmDtd22bRsy6RAINWvM48aNq48z2L9tgblH/fv3l9suWLDAZrt58+bJbZ5++ulmhcRGpscee8yu4a9YsUJuM2zYMNk1soXy8nLq16+f3Hbnzp0227EJAtZm4MCBVv0hkw4XS8aNGzdkV4S9bZmxMMM6f/683e+lpaVR+/Y1W5A//PBDq+vr1q2Tr7E2GRkZil2nrl27Um5ubpOTBuwaa/PNN9/Y7a/u97MRgsUmjcE+Y8JgbbZs2YJMut6oZGnJ6NGjHz5bQzKYggLlWXf2BmbxA/suC+LZbNKOHTsoLi6OWrduLXPz5s2K+2P5DNYXC5rz8h6sGbt8+bI8qrFrrI3S4JuNNOw7ycnJVtfffvvtZkcjTPNqnMtOb7BrRGPGjJFnlpiRfPDBB826VbbABNGrVy/rii/t2tGqVata7OY9++yz8ve7dOkiC41NAdfNng0dOlR2x5TCaDTKfwf77tKlS2UhsJiEuXFs0oCJ+9ChQ+pYauKOPel65sT0JJckCpXmJVhgzLLZM2fOpEWLFj00ArR0oqCp/AuLj9hI0lIwkbKRrG7mqy42YVyyZIl61mJhqYnruercdtUuI2HTzZs2baK1a9fSkSPOrURm8U1droOxb9++tGHDBixWxGJFkVJLjmEFYoMcCYuxmpsBQ5Cuu+Xu8+hk2SmoQ63L3ZFJ90w8cuD6YVi9KgWCTLrHuDB3uVwep5qqoQC1CASZdM8z+sQb9P6ZTbSjcD+KNnAvEGTSUfYHAkGQDoGhcBymeUGUHkUmHdS6wG5VlmFPOgjq/gAdEMQRbCCoZYEgkw5CIMikgxAIMukgBIJMOgiBIEgHIRBM84KgegSCTDoIgSCTzvcWXbNAv7bE0/oL0fSPG1F0+k4k3aoMp4rqmUSkL8LFAus563gCbb88h4ruR+hOCKoQCIJ07/CFDAP9rWg23a+GILgVCDLp3uGSghi6WREOMXAvEGTSPcrxUpzxtTRqQAQqEQgCck9WNzFQasksCEBVAkEm3WMjB8SBIB20QbhVmOYFbXBpQazLDYjlR25XhetGIJOyXuw5JntuF2TSNVd61EAlLpytqpa4sjCWJmSLMtdcidG2QKhV67CcxHVh2WJVLVcik65zjmVZ9QyRxmcKFHpSJMkoaGqOSHGnDPTGuXj53w1pLIvSnECk+yoPzRZPh2Un/r3x/YZZEifBxdLrcpOMB6JQyt3Fc7QokOb4OoJ0vdEs0LgTLRNGHQ/cnE07JZEcLo2SXTCtC2RCdmJ8aI64MNSSOI25YMik64COiqMxPy6M0cMI0oDCGmTSdeBWuUIcYbWBe6kGZrdacM/VIafF7sikazggb2nMYU8gJZURehJIVUhO0iPIpGt29HCdOBj/qDMXS3ohfIogXctLUDJd516xaeCvb8yhMv24WGekQP2VsFNJ3TDNq1G60r2qY4IkFLWLpIX3fMojIkEm3QsV0LMFlwuEcfS/P0N+ft29ypdf/qWnBEJhFiEJmXQIRDH7RQ2uP5fcW+zbt6PHBDIhJ/EluFhwsRRxzsl4OmgeTyZTiFdZXDzVUwLJd6uLhSBdO0H63huzdRWkM9fKreJAJl07SULGjy7H6iuTbhHXI5Ou8URhGBKFHCcKEZB7fxQ5iqUm/C41QSadk8WKrhHJJ4X6crFCLeKfkEnXiavl7HL31LJZutgPUrfcPSxXmIoNU3rcMGURsGGKpw1TyKTzKZTxmWJtnkT6OSOBxhyYRX6fPW9lML0C+3k9KdgUR47s4dSWW4kF3Gy5RSbdtXTUMEaM6NG84bVuRUNSAiThSCNNlkCDk/25FAfjqFE9XVO0IVtcW1uwoTLMInyEsj86FohSllaGU7mOyv5MPR7bIyRrXmcUjoNAQFR3h0BAVHeHQEBUdwchEFR3ByEQVHdHkA6BQCCY5oVAIBBk0tUrEH//Htwm/jyZSedWIMikc55JVxFdkkmHiwWBgAjSIRAQmXQQAkEmHYRAkEkHeRDIP0ujaOG5eJqWK8j8jfQzOyQHAkEmXfcC2XA12uaOuk1F0RAIgnRtC4Qd4XyifBZZ7kRaHefMRg5722wbjySsD9YX61MLx0OH5cwNnJwX1xXTvDoTyF3JeD8pjKHncx4Y+xTp51VXYuRrrM3CJk6ybUx22u2D/mLlPuquTc4RavqrVv2e9LthOcKqgPNRP0MmXQcCqZAMdsFZ28b/unTNf1QvGpceZ1cg48xx5NPOh4Z/PsVmG79tz1Prtj5q3ZPekD/4mZLaIZOu9dpXx+1XKBl3XFlFk9BMAw1+a4Tddo8Zhqkyk95EQbz5cLG0Xsk9S3TLUQfN8ddnErRS9seMIF3rZ4FYPC+QF3IFrQjkFjLpOAvE5UwsMGhFIBZk0rV+FsgJweMC+Vilp95a34uwBpl0rdffNXtWIKzS+9Hbs2hlYSwZThnkqWA2onx+LZr7KeDGFdxDsw3jwnIS18mnSWWLd9iIEmpJfMvtU8DIpHtwBMny/Ahii/8mBe88JxRb8BJIc3tCEUG6Nt0re/zgcozqBVLrfm3GNK+aC1Ef408cjBM5Po2qhfdS6dZTppBJd2/cEWoRuRQIY8/RfdWQSbfP3LlhSoPuxSGpcb7IpMO1UsIe/n1UkUm3OxrmCsF2jTs09aU+0kO5zQwcLhYHTBe5Fgdb1HirMlwLLtbdSVkv9lSS01ha93CCzMpP4UGQzve5g+7iHzk+z7CF97JWadIvr8EDqmJZcmTSvUSzd5aWKOX8swn1y+tVLpCD001JnezHHkdE/yYe1B17IkEm3U3BeTq/o8faK9Hy0nvVn3JrET5SvAxeeii/sfGwqqSY5DVk0j3sXh3jd/Rgm7V43+Ou8F7uSyyT+P1EizjdnkC+sDPk7x+TPrcvMukemr3K5DtA532PuyP3EZojvtvc9G6mggd3LcgoLAg49PD6FQTp7li5K6hGIE3tcVejQGSRWBKn2RpBLrXgAbK2vws0zu2PaV7t7P1whnV73NUuEHZstC2B3HFwtuVIkEn8cKxRiJFGkn8NyZgbGGw07IaROzmCZKtLIGyPu6oz6fY2VkkP5R4MEwJxlCGmOG4y6ferw525l5u2BHIdhsmRQOBiOUy2gNLhGCRb/M6ZIB3U8PZaZ5haNosbgRTcjXT8XnKFqbZGkK9gmDxtjlKPOLZwNs37j1uzHbwXYWlzOwMXwTCRKFSaKJyeK8huFU8jh5K6xNaJQqGUuVU2R476aVqzOAqGiaUmSnjmXiTXy0xePZOgLN7ISxymfL06pfhID+YcjJMTgXAah7xymu9CclfuR8jFJhTcy1EHSvgYlsE41VVq1NPccX0O1wJhFVcU3UuOmNzyfeWpcb7Ih/C1YYqnfAirsnijkt8l7iz/EZ1vUJQMnJif0NvRQnBrYZw8bZriRyDbrvE9euwpnqOs1E+OsNjhogsBh17sKT2YIhgnLxunRC7WZc3OF6ic4w1SN6WRLTJP0ehxOSRrXmfn6lwZxWgYJ8r+NKywmMbhdG5DLrkYp+ReqsbnGCa7qij1pzBOVDdh3HqN7zMN/3pjttLA/D9dVt8q6suoNmNNwl9gnPreRPV76c1czbE4WKJyUo6il8euFErxcWkROD9TUqdgk2EfjJOf3IgnRfLepViqrOY37mCbtKbmKhLH1pDvU9q6pVIi29SOmS19zWxNqC3MUM25W6Vg5KhmhRlaUavWHjgoxzAHs1scBe4ZclUOl4sjJt9AxrIoboVRUhmuNCA/F2ZJnOTRs0BC0wy9gk3iamyr5ad2lquCd1alZM2VGG6PNGBJQJbnCM+ze7+sSslKr56RPj7D0K92WQrWbnEiFLYsxZG1W2zEYMszeC0herUiQv77FGTIz7EDcRSVEPUYKMUnyGgYIY0qyVIAuVN6WMdrdyZiuYqXgvixRwX5KOjxmTWLHdnORLZchfnrEdLb9+XTCZKLEiv78GfvRXA0QsykmxXhlF8eST8UR9G6i9H0q7x4Cm10H2HZQoUkhmsSj0/IFnZOyBFeDctNGNoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsI3/BxVeQNnL1kBuAAAAAElFTkSuQmCC"},81634:function(e,n,t){t.r(n),t.d(n,{TestLink:()=>f,AdmonitionWithoutHeading:()=>j,metadata:()=>s,frontMatter:()=>b,contentTitle:()=>p,assets:()=>g,default:()=>v,toc:()=>k});var s=JSON.parse('{"type":"mdx","permalink":"/tests/pages/markdown-tests-mdx","source":"@site/_dogfooding/_pages tests/markdown-tests-mdx.mdx","title":"Markdown Page tests title","description":"Markdown Page tests description","frontMatter":{"title":"Markdown Page tests title","description":"Markdown Page tests description","wrapperClassName":"docusaurus-markdown-example"},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/markdown-tests-mdx.mdx","unlisted":false}'),i=t(85893),l=t(80980),r=t(15398),a=t(58636),o=t(67294);function c(){let[e,n]=(0,o.useState)(!1);return(0,i.jsxs)("div",{children:[(0,i.jsx)("p",{children:"MyComponent rendered !"}),(0,i.jsxs)("p",{children:["bool=",e?"true":"false"]}),(0,i.jsx)("p",{children:(0,i.jsx)("button",{onClick:()=>n(e=>!e),children:"toggle bool"})})]})}var d=t(14522),u=t(95998),h=t(41918),m=t(2769),A=t(49356),x=t(35363);let b={title:"Markdown Page tests title",description:"Markdown Page tests description",wrapperClassName:"docusaurus-markdown-example"},p="Markdown .mdx tests",g={};function j(e){return(0,i.jsx)(A.Z,{...e,type:"info",icon:null,title:null,children:"Admonition content without heading"})}function f({noCheck:e,...n}){return(0,i.jsx)(x.Z,{...n,"data-noBrokenLinkCheck":e,children:(e?"\u274C":"\u2705")+" "+(n.to??n.href)+(n.target?` (target=${n.target})`:"")})}let k=[{value:"Using absolute path",id:"using-absolute-path",level:3},{value:"Tab",id:"tab",level:3},{value:"Comments",id:"comments",level:2},{value:"Import code block from source code file",id:"import-code-block-from-source-code-file",level:2},{value:"Test",id:"test",level:2},{value:"Code block test",id:"code-block-test",level:2},{value:"Mermaid",id:"mermaid",level:2},{value:"Custom heading ID",id:"custom",level:2},{value:"Weird heading",id:"\u4F60\u597D",level:3},{value:"Weird heading",id:"2022.1.1",level:3},{value:"Weird heading",id:"a#b",level:3},{value:"Weird heading",id:"a b",level:3},{value:"Weird heading",id:"a{b",level:3},{value:"Pipe",id:"pipe",level:2},{value:"Images",id:"images",level:2},{value:"Details",id:"details",level:2},{value:"Task list",id:"task-list",level:2},{value:"Emojis",id:"emojis",level:2},{value:"Admonitions",id:"admonitions",level:2},{value:"Linking",id:"linking",level:2},{value:"Linking to assets",id:"linking-to-assets",level:3},{value:"Linking to non-SPA page hosted within website",id:"linking-to-non-spa-page-hosted-within-website",level:3},{value:"Linking to non-SPA page with Link component",id:"linking-to-non-spa-page-with-link-component",level:3},{value:"Linking to JSON",id:"linking-to-json",level:3}];function N(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",input:"input",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",mermaid:"mermaid",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("button",{onClick:()=>alert("unsafe :s"),children:"Should not alert"}),"\n",(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"markdown-mdx-tests",children:"Markdown .mdx tests"})}),"\n",(0,i.jsx)(n.p,{children:"This is a page generated from Markdown to illustrate the Markdown page feature and test some edge cases."}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsx)(n.p,{children:"Useful information."})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:"live",live:!0,children:"function Button() {\n return (\n <button type=\"button\" onClick={() => alert('hey')}>\n Click me!\n </button>\n );\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"using-absolute-path",children:"Using absolute path"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(63199).Z+"",width:"200",height:"200"})}),"\n",(0,i.jsx)(n.h3,{id:"tab",children:"Tab"}),"\n","\n","\n",(0,i.jsxs)(r.Z,{children:[(0,i.jsx)(a.Z,{value:"apple",label:"Apple",default:!0,children:(0,i.jsx)(n.p,{children:"This is an apple \uD83C\uDF4E"})}),(0,i.jsx)(a.Z,{value:"orange",label:"Orange",children:(0,i.jsx)(n.p,{children:"This is an orange \uD83C\uDF4A"})}),(0,i.jsx)(a.Z,{value:"banana",label:"Banana",children:(0,i.jsx)(n.p,{children:"This is a banana \uD83C\uDF4C"})})]}),"\n",(0,i.jsx)(n.h2,{id:"comments",children:"Comments"}),"\n",(0,i.jsx)(n.p,{children:"Html comment: "}),"\n",(0,i.jsx)(n.p,{children:"Html comment multi-line:"}),"\n",(0,i.jsx)(n.p,{children:"MDX comment: "}),"\n",(0,i.jsx)(n.p,{children:"MDX comment multi-line:"}),"\n","\n",(0,i.jsx)(n.h2,{id:"import-code-block-from-source-code-file",children:"Import code block from source code file"}),"\n","\n","\n",(0,i.jsx)(n.p,{children:"Let's say you have a React component."}),"\n",(0,i.jsx)(n.p,{children:"You can import and use it in MDX:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="myMarkdownFile.mdx"',children:"import MyComponent from './myComponent';\n\n<MyComponent />;\n"})}),"\n",(0,i.jsx)(d.Z,{children:(0,i.jsx)(c,{})}),"\n",(0,i.jsxs)(n.p,{children:["But you can also display its source code directly in MDX, thanks to ",(0,i.jsx)(n.a,{href:"https://webpack.js.org/loaders/raw-loader/",children:"Webpack raw-loader"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="myMarkdownFile.mdx"',children:"import CodeBlock from '@theme/CodeBlock';\n\nimport MyComponentSource from '!!raw-loader!./myComponent';\n\n<CodeBlock className=\"language-jsx\">{MyComponentSource}</CodeBlock>;\n"})}),"\n","\n","\n",(0,i.jsx)(d.Z,{children:(0,i.jsx)(u.Z,{className:"language-jsx",children:h.Z})}),"\n",(0,i.jsx)(n.h2,{id:"test",children:"Test"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:"live",live:!0,children:"function Demo() {\n useEffect(() => console.log('mount'), []);\n return null;\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"code-block-test",children:"Code block test"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="Title"',children:"function Clock(props) {\n const [date, setDate] = useState(new Date());\n useEffect(() => {\n var timerID = setInterval(() => tick(), 1000);\n\n return function cleanup() {\n clearInterval(timerID);\n };\n });\n\n function tick() {\n setDate(new Date());\n }\n\n return (\n <div>\n <h2>It is {date.toLocaleTimeString()}.</h2>\n // highlight-start\n {/* prettier-ignore */}\n long long long long long long long long long long long long line\n {/* prettier-ignore */}\n // highlight-end\n </div>\n );\n}\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:"live",live:!0,children:"function Clock(props) {\n const [date, setDate] = useState(new Date());\n useEffect(() => {\n var timerID = setInterval(() => tick(), 1000);\n\n return function cleanup() {\n clearInterval(timerID);\n };\n });\n\n function tick() {\n setDate(new Date());\n }\n\n return (\n <div>\n <h2>It is {date.toLocaleTimeString()}.</h2>\n </div>\n );\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"mermaid",children:"Mermaid"}),"\n",(0,i.jsx)(n.mermaid,{value:"sequenceDiagram\n participant Alice\n participant Bob\n Alice->>John: Hello John, how are you?\n loop Health check\n John->>John: Fight against hypochondria\n end\n Note right of John: Rational thoughts <br/>prevail!\n John--\x3e>Alice: Great!\n John->>Bob: How about you?\n Bob--\x3e>John: Jolly good!"}),"\n",(0,i.jsx)(n.h2,{id:"custom",children:"Custom heading ID"}),"\n",(0,i.jsx)(n.h3,{id:"\u4F60\u597D",children:"Weird heading"}),"\n",(0,i.jsx)(n.h3,{id:"2022.1.1",children:"Weird heading"}),"\n",(0,i.jsx)(n.h3,{id:"a#b",children:"Weird heading"}),"\n",(0,i.jsx)(n.h3,{id:"a b",children:"Weird heading"}),"\n",(0,i.jsx)(n.h3,{id:"a{b",children:"Weird heading"}),"\n",(0,i.jsx)(n.h2,{id:"pipe",children:"Pipe"}),"\n",(0,i.jsxs)(n.p,{children:["Code tag + double pipe: ",(0,i.jsx)("code",{children:"||"})]}),"\n",(0,i.jsxs)(n.p,{children:["Code tag + double pipe: ",(0,i.jsx)("code",{children:"||"})]}),"\n",(0,i.jsx)(n.h2,{id:"images",children:"Images"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(99653).Z+"",width:"200",height:"200"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(77374).Z+"",width:"2282",height:"1066"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(83774).Z+"",width:"200",height:"200"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(78318).Z+"",width:"200",height:"200"})}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{src:t(78318).Z+"",width:"200",height:"200"})}),"\n",(0,i.jsx)(n.h2,{id:"details",children:"Details"}),"\n",(0,i.jsx)(m.Z,{children:(0,i.jsx)(n.p,{children:"Details without a summary"})}),"\n","\n",(0,i.jsx)(m.Z,{summary:"My Headline",children:"Some Text"}),"\n",(0,i.jsx)(m.Z,{children:"Some Text"}),"\n",(0,i.jsx)(n.p,{children:"This is a fragment:"}),"\n",(0,i.jsx)(i.Fragment,{children:"Hello"}),"\n",(0,i.jsx)(n.p,{children:"It should work :)"}),"\n",(0,i.jsx)(n.h2,{id:"task-list",children:"Task list"}),"\n",(0,i.jsx)(n.p,{children:"A list:"}),"\n",(0,i.jsxs)(n.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Simple"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",checked:!0,disabled:!0})," ","Tasks"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Has simple"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Styles"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Another list:"}),"\n",(0,i.jsxs)(n.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(n.li,{children:["Nested","\n",(0,i.jsxs)(n.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Tasks"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Should be well-formatted"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","No matter"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","How weird"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Can be arbitrarily nested:"}),"\n",(0,i.jsxs)(n.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(n.li,{children:["Level","\n",(0,i.jsxs)(n.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Task"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Task"]}),"\n",(0,i.jsxs)(n.li,{children:["Another level","\n",(0,i.jsxs)(n.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Task"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Task"]}),"\n",(0,i.jsxs)(n.li,{children:["Deeper","\n",(0,i.jsxs)(n.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Task"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Task"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Task"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Task"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{className:"task-list-item",children:[(0,i.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Task"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"emojis",children:"Emojis"}),"\n",(0,i.jsxs)(n.p,{children:["Emojis in this text will be replaced with ",(0,i.jsx)(n.a,{href:"https://www.npmjs.com/package/remark-emoji",children:"remark-emoji"}),": ","\uD83D\uDC36"," ","\uD83D\uDC4D"]}),"\n",(0,i.jsx)(n.h2,{id:"admonitions",children:"Admonitions"}),"\n",(0,i.jsxs)(n.admonition,{type:"warning",children:[(0,i.jsxs)(n.mdxAdmonitionTitle,{children:["Interpolated ",(0,i.jsx)(n.code,{children:"title"})," with a ",(0,i.jsx)("button",{style:{color:"red"},onClick:()=>alert("it works"),children:"button"})," (old syntax)"]}),(0,i.jsx)(n.p,{children:"Admonition body"})]}),"\n",(0,i.jsxs)(n.admonition,{type:"warning",children:[(0,i.jsxs)(n.mdxAdmonitionTitle,{children:["Interpolated ",(0,i.jsx)(n.code,{children:"title"})," with a ",(0,i.jsx)("button",{style:{color:"red"},onClick:()=>alert("it works"),children:"button"})," (directive label syntax)"]}),(0,i.jsx)(n.p,{children:"Admonition body"})]}),"\n",(0,i.jsx)(n.admonition,{type:"important",children:(0,i.jsxs)(n.p,{children:["Admonition alias ",(0,i.jsx)(n.code,{children:":::important"})," should have Important title"]})}),"\n",(0,i.jsxs)(n.admonition,{title:"title",type:"note",children:[(0,i.jsxs)(n.p,{children:["Some ",(0,i.jsx)(n.strong,{children:"content"})," with ",(0,i.jsx)(n.em,{children:"Markdown"})," ",(0,i.jsx)(n.code,{children:"syntax"}),"."]}),(0,i.jsxs)(n.admonition,{title:"nested Title",type:"note",children:[(0,i.jsx)(n.admonition,{title:"very nested Title",type:"tip",children:(0,i.jsxs)(n.p,{children:["Some ",(0,i.jsx)(n.strong,{children:"content"})," with ",(0,i.jsx)(n.em,{children:"Markdown"})," ",(0,i.jsx)(n.code,{children:"syntax"}),"."]})}),(0,i.jsxs)(n.p,{children:["Some ",(0,i.jsx)(n.strong,{children:"content"})," with ",(0,i.jsx)(n.em,{children:"Markdown"})," ",(0,i.jsx)(n.code,{children:"syntax"}),"."]})]}),(0,i.jsx)(n.p,{children:"hey"})]}),"\n",(0,i.jsxs)(n.admonition,{title:"Use tabs in admonitions",type:"tip",children:[(0,i.jsx)(n.admonition,{title:"Admonition nested",type:"info",children:(0,i.jsx)(n.p,{children:"test"})}),(0,i.jsxs)(r.Z,{children:[(0,i.jsx)(a.Z,{value:"apple",label:"Apple",children:(0,i.jsx)(n.admonition,{title:"Admonition in tab",type:"note",children:(0,i.jsx)(n.p,{children:"test"})})}),(0,i.jsx)(a.Z,{value:"orange",label:"Orange",children:"This is an orange \uD83C\uDF4A"}),(0,i.jsx)(a.Z,{value:"banana",label:"Banana",children:"This is a banana \uD83C\uDF4C"})]})]}),"\n","\n","\n",(0,i.jsx)(j,{}),"\n",(0,i.jsx)(n.h2,{id:"linking",children:"Linking"}),"\n",(0,i.jsx)(n.p,{children:"This is a test page to see if Docusaurus Markdown features are working properly"}),"\n",(0,i.jsx)(n.h3,{id:"linking-to-assets",children:"Linking to assets"}),"\n",(0,i.jsxs)(n.p,{children:["See ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/3337",children:"#3337"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(16056).Z+"",children:"/someFile.pdf"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(75654).Z+"",children:"/someFile.xyz"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(9745).Z+"",children:"/image with space.png"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(16056).Z+"",children:"@site/_dogfooding/_asset-tests/someFile.pdf"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(75654).Z+"",children:"@site/_dogfooding/_asset-tests/someFile.xyz"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(9745).Z+"",children:"@site/_dogfooding/_asset-tests/image with space.png"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"linking-to-non-spa-page-hosted-within-website",children:"Linking to non-SPA page hosted within website"}),"\n",(0,i.jsxs)(n.p,{children:["See ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/3309",children:"#3309"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"pathname:///dogfooding/javadoc",children:"pathname:///dogfooding/javadoc"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"pathname:///dogfooding/javadoc/index.html",children:"pathname:///dogfooding/javadoc/index.html"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"pathname://../dogfooding/javadoc",children:"pathname://../dogfooding/javadoc"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"pathname://../dogfooding/javadoc/index.html",children:"pathname://../dogfooding/javadoc/index.html"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"linking-to-non-spa-page-with-link-component",children:"Linking to non-SPA page with Link component"}),"\n",(0,i.jsxs)(n.p,{children:["See ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/9758",children:"#9758"}),", these external urls should not be reported by the broken links checker:"]}),"\n","\n","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(f,{to:"pathname:///dogfooding/javadoc#goodlink1"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(f,{href:"pathname:///dogfooding/javadoc#goodlink2"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(f,{to:"/dogfooding/javadoc#goodlink3",target:"_blank"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(f,{href:"/dogfooding/javadoc#goodlink4",target:"_blank"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"These links are broken (try to single click on them) and should be reported. We need to explicitly disable the broken link checker for them:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(f,{to:"/dogfooding/javadoc#badlink1",noCheck:!0}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(f,{href:"/dogfooding/javadoc#badlink2",noCheck:!0}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(f,{to:"/dogfooding/javadoc#badlink3",target:"_self",noCheck:!0}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(f,{href:"/dogfooding/javadoc#badlink4",target:"_self",noCheck:!0}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"linking-to-json",children:"Linking to JSON"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(88525).Z+"",children:"./script.js"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:t(40703).Z+"",children:"./data.json"})}),"\n"]}),"\n"]})]})}function v(e={}){let{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(N,{...e})}):N(e)}},37796:function(e,n,t){t.d(n,{Z:()=>i});var s=t(85893);function i(e){return(0,s.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}t(67294)},49356:function(e,n,t){t.d(n,{Z:()=>B});var s=t(85893),i=t(67294),l=t(90496),r=t(77827),a=t(55951);let o={admonition:"admonition_o5H7",admonitionHeading:"admonitionHeading_FzoX",admonitionIcon:"admonitionIcon_rXq6",admonitionContent:"admonitionContent_Knsx"};function c(e){let{type:n,className:t,children:i}=e;return(0,s.jsx)("div",{className:(0,l.Z)(a.k.common.admonition,a.k.common.admonitionType(n),o.admonition,t),children:i})}function d(e){let{icon:n,title:t}=e;return(0,s.jsxs)("div",{className:o.admonitionHeading,children:[(0,s.jsx)("span",{className:o.admonitionIcon,children:n}),t]})}function u(e){let{children:n}=e;return n?(0,s.jsx)("div",{className:o.admonitionContent,children:n}):null}function h(e){let{type:n,icon:t,title:i,children:l,className:r}=e;return(0,s.jsxs)(c,{type:n,className:r,children:[i||t?(0,s.jsx)(d,{title:i,icon:t}):null,(0,s.jsx)(u,{children:l})]})}let m={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,s.jsx)(r.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function A(e){return(0,s.jsx)(h,{...m,...e,className:(0,l.Z)("alert alert--secondary",e.className),children:e.children})}let x={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,s.jsx)(r.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function b(e){return(0,s.jsx)(h,{...x,...e,className:(0,l.Z)("alert alert--success",e.className),children:e.children})}var p=t(37796);let g={icon:(0,s.jsx)(p.Z,{}),title:(0,s.jsx)(r.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function j(e){return(0,s.jsx)(h,{...g,...e,className:(0,l.Z)("alert alert--info",e.className),children:e.children})}function f(e){return(0,s.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let k={icon:(0,s.jsx)(f,{}),title:(0,s.jsx)(r.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},N={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,s.jsx)(r.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},v={icon:(0,s.jsx)(f,{}),title:(0,s.jsx)(r.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};var C=t(57922);let y={note:A,tip:b,info:j,warning:function(e){return(0,s.jsx)(h,{...k,...e,className:(0,l.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,s.jsx)(h,{...N,...e,className:(0,l.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,s.jsx)(A,{title:"secondary",...e}),important:e=>(0,s.jsx)(j,{title:"important",...e}),success:e=>(0,s.jsx)(b,{title:"success",...e}),caution:function(e){return(0,s.jsx)(h,{...v,...e,className:(0,l.Z)("alert alert--warning",e.className),children:e.children})},"my-custom-admonition":function(e){return(0,s.jsxs)("div",{style:{border:"solid red",padding:10},children:[(0,s.jsx)(C.Z,{as:"h5",style:{color:"blue",fontSize:30},children:e.title}),(0,s.jsx)("div",{children:e.children})]})}};function B(e){let n=function(e){let{mdxAdmonitionTitle:n,rest:t}=function(e){let n=i.Children.toArray(e),t=n.find(e=>i.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),l=n.filter(e=>e!==t);return{mdxAdmonitionTitle:t?.props.children,rest:l.length>0?(0,s.jsx)(s.Fragment,{children:l}):null}}(e.children),l=e.title??n;return{...e,...l&&{title:l},children:t}}(e),t=function(e){let n=y[e];return n||(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),y.info)}(n.type);return(0,s.jsx)(t,{...n})}},2769:function(e,n,t){t.d(n,{Z:()=>h});var s=t(85893),i=t(67294),l=t(90496),r=t(96700),a=t(71607),o=t(97812);let c={details:"details_Nokh",isBrowser:"isBrowser_QrB5",collapsibleContent:"collapsibleContent_EoA1"};function d(e){return!!e&&("SUMMARY"===e.tagName||d(e.parentElement))}function u(e){let{summary:n,children:t,...u}=e;(0,r.Z)().collectAnchor(u.id);let h=(0,a.Z)(),m=(0,i.useRef)(null),{collapsed:A,setCollapsed:x}=(0,o.u)({initialState:!u.open}),[b,p]=(0,i.useState)(u.open),g=i.isValidElement(n)?n:(0,s.jsx)("summary",{children:n??"Details"});return(0,s.jsxs)("details",{...u,ref:m,open:b,"data-collapsed":A,className:(0,l.Z)(c.details,h&&c.isBrowser,u.className),onMouseDown:e=>{d(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let n=e.target;d(n)&&function e(n,t){return!!n&&(n===t||e(n.parentElement,t))}(n,m.current)&&(e.preventDefault(),A?(x(!1),p(!0)):x(!0))},children:[g,(0,s.jsx)(o.z,{lazy:!1,collapsed:A,onCollapseTransitionEnd:e=>{x(e),p(!e)},children:(0,s.jsx)("div",{className:c.collapsibleContent,children:t})})]})}function h(e){let{...n}=e;return(0,s.jsx)(u,{...n,className:(0,l.Z)("alert alert--info","details_Cn_P",n.className)})}},58636:function(e,n,t){t.d(n,{Z:()=>l});var s=t(85893);t(67294);var i=t(90496);function l(e){let{children:n,hidden:t,className:l}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,i.Z)("tabItem_pnkT",l),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>g});var s=t(85893),i=t(67294),l=t(90496),r=t(54947),a=t(3620),o=t(844),c=t(97486),d=t(32263),u=t(16971);function h(e){return i.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||i.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function m(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var A=t(71607);function x(e){let{className:n,block:t,selectedValue:i,selectValue:a,tabValues:o}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,r.o5)(),u=e=>{let n=e.currentTarget,t=o[c.indexOf(n)].value;t!==i&&(d(n),a(t))},h=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{let t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1]}}n?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":t},n),children:o.map(e=>{let{value:n,label:t,attributes:r}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:i===n?0:-1,"aria-selected":i===n,ref:e=>{c.push(e)},onKeyDown:h,onClick:u,...r,className:(0,l.Z)("tabs__item","tabItem_AQgk",r?.className,{"tabs__item--active":i===n}),children:t??n},n)})})}function b(e){let{lazy:n,children:t,selectedValue:r}=e,a=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=a.find(e=>e.props.value===r);return e?(0,i.cloneElement)(e,{className:(0,l.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:a.map((e,n)=>(0,i.cloneElement)(e,{key:n,hidden:e.props.value!==r}))})}function p(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:s}=e,l=function(e){let{values:n,children:t}=e;return(0,i.useMemo)(()=>{let e=n??h(t).map(e=>{let{props:{value:n,label:t,attributes:s,default:i}}=e;return{value:n,label:t,attributes:s,default:i}});return!function(e){let n=(0,d.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[r,A]=(0,i.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let s=t.find(e=>e.default)??t[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:n,tabValues:l})),[x,b]=function(e){let{queryString:n=!1,groupId:t}=e,s=(0,a.k6)(),l=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,c._X)(l),(0,i.useCallback)(e=>{if(!l)return;let n=new URLSearchParams(s.location.search);n.set(l,e),s.replace({...s.location,search:n.toString()})},[l,s])]}({queryString:t,groupId:s}),[p,g]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[s,l]=(0,u.Nk)(t);return[s,(0,i.useCallback)(e=>{t&&l.set(e)},[t,l])]}({groupId:s}),j=(()=>{let e=x??p;return m({value:e,tabValues:l})?e:null})();return(0,o.Z)(()=>{j&&A(j)},[j]),{selectedValue:r,selectValue:(0,i.useCallback)(e=>{if(!m({value:e,tabValues:l}))throw Error(`Can't select invalid tab value=${e}`);A(e),b(e),g(e)},[b,g,l]),tabValues:l}}(e);return(0,s.jsxs)("div",{className:(0,l.Z)("tabs-container","tabList_Qoir"),children:[(0,s.jsx)(x,{...n,...e}),(0,s.jsx)(b,{...n,...e})]})}function g(e){let n=(0,A.Z)();return(0,s.jsx)(p,{...e,children:h(e.children)},String(n))}},56497:function(e,n,t){t.d(n,{Z:()=>l});var s=t(85893);t(67294);var i=t(71607);function l(e){let{children:n,fallback:t}=e;return(0,i.Z)()?(0,s.jsx)(s.Fragment,{children:n?.()}):t??null}},14522:function(e,n,t){t.d(n,{Z:()=>a});var s=t(85893);t(67294);var i=t(90496);let l="dot_giz1",r="bar_rrRL";function a(e){let{children:n,minHeight:t,url:a="http://localhost:3000",style:o,bodyStyle:c}=e;return(0,s.jsxs)("div",{className:"browserWindow_my1Q",style:{...o,minHeight:t},children:[(0,s.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,s.jsxs)("div",{className:"buttons_uHc7",children:[(0,s.jsx)("span",{className:l,style:{background:"#f25f58"}}),(0,s.jsx)("span",{className:l,style:{background:"#fbbe3c"}}),(0,s.jsx)("span",{className:l,style:{background:"#58cb42"}})]}),(0,s.jsx)("div",{className:(0,i.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:a}),(0,s.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:r}),(0,s.jsx)("span",{className:r}),(0,s.jsx)("span",{className:r})]})})]}),(0,s.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:n})]})}},95998:function(e,n,t){t.d(n,{Z:()=>en});var s,i={};t.r(i),t.d(i,{ButtonExample:()=>B});var l=t(85893),r=t(67294),a=t(90496),o=t(71607),c=t(10075),d=t(77827),u=t(8156),h=t(56497),m=t(85108),A=t(45245),x=t(26378);function b(){let{prism:e}=(0,x.L)(),{colorMode:n}=(0,A.I)(),t=e.theme,s=e.darkTheme||t;return"dark"===n?s:t}var p=t(67490);function g(e){let{children:n}=e;return(0,l.jsx)("div",{className:(0,a.Z)("playgroundHeader_Tvsk"),children:n})}function j(){return(0,l.jsx)("div",{children:"Loading..."})}function f(){return(0,l.jsx)(h.Z,{fallback:(0,l.jsx)(j,{}),children:()=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(p.Z,{fallback:e=>(0,l.jsx)(m.Ac,{...e}),children:(0,l.jsx)(c.i5,{})}),(0,l.jsx)(c.IF,{})]})})}function k(){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(g,{children:(0,l.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,l.jsx)("div",{className:"playgroundPreview_mApW",children:(0,l.jsx)(f,{})})]})}function N(){let e=(0,o.Z)();return(0,l.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function v(){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(g,{children:(0,l.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,l.jsx)(N,{})]})}let C=e=>`${e};`;function y(e){let{children:n,transformCode:t,...s}=e,{siteConfig:{themeConfig:i}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:r}}=i,a=b(),o=s.metastring?.includes("noInline")??!1;return(0,l.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,l.jsx)(c.nu,{code:n?.replace(/\n$/,""),noInline:o,transformCode:t??C,theme:a,...s,children:"top"===r?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(k,{}),(0,l.jsx)(v,{})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{}),(0,l.jsx)(k,{})]})})})}function B(e){return(0,l.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let R={React:r,...r,...i};var T=t(55951),M=t(6324),w=t.n(M);let L=/title=(?<quote>["'])(?<title>.*?)\1/,Z=/\{(?<range>[\d,-]+)\}/,I={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},S={...I,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},E=Object.keys(I);function O(e,n){let t=e.map(e=>{let{start:t,end:s}=S[e];return`(?:${t}\\s*(${n.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return RegExp(`^\\s*(?:${t})\\s*$`)}function J(e){let{as:n,...t}=e,s=function(e){let n={color:"--prism-color",backgroundColor:"--prism-background-color"},t={};return Object.entries(e.plain).forEach(e=>{let[s,i]=e,l=n[s];l&&"string"==typeof i&&(t[l]=i)}),t}(b());return(0,l.jsx)(n,{...t,style:s,className:(0,a.Z)(t.className,"codeBlockContainer_jDV4",T.k.common.codeBlock)})}let G={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function z(e){let{children:n,className:t}=e;return(0,l.jsx)(J,{as:"pre",tabIndex:0,className:(0,a.Z)(G.codeBlockStandalone,"thin-scrollbar",t),children:(0,l.jsx)("code",{className:G.codeBlockLines,children:n})})}var P=t(50923);let F={attributes:!0,characterData:!0,childList:!0,subtree:!0};var V=t(7316);let q={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function W(e){let{line:n,classNames:t,showLineNumbers:s,getLineProps:i,getTokenProps:r}=e;1===n.length&&"\n"===n[0].content&&(n[0].content="");let o=i({line:n,className:(0,a.Z)(t,s&&q.codeLine)}),c=n.map((e,n)=>(0,l.jsx)("span",{...r({token:e})},n));return(0,l.jsxs)("span",{...o,children:[s?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:q.codeLineNumber}),(0,l.jsx)("span",{className:q.codeLineContent,children:c})]}):c,(0,l.jsx)("br",{})]})}var H=t(44771);function Q(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function X(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let K={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function D(e){let{code:n,className:t}=e,[s,i]=(0,r.useState)(!1),o=(0,r.useRef)(void 0),c=(0,r.useCallback)(()=>{(0,H.Z)(n),i(!0),o.current=window.setTimeout(()=>{i(!1)},1e3)},[n]);return(0,r.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,l.jsx)("button",{type:"button","aria-label":s?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.Z)("clean-btn",t,K.copyButton,s&&K.copyButtonCopied),onClick:c,children:(0,l.jsxs)("span",{className:K.copyButtonIcons,"aria-hidden":"true",children:[(0,l.jsx)(Q,{className:K.copyButtonIcon}),(0,l.jsx)(X,{className:K.copyButtonSuccessIcon})]})})}function U(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let Y={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function _(e){let{className:n,onClick:t,isEnabled:s}=e,i=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,l.jsx)("button",{type:"button",onClick:t,className:(0,a.Z)("clean-btn",n,s&&Y.wordWrapButtonEnabled),"aria-label":i,title:i,children:(0,l.jsx)(U,{className:Y.wordWrapButtonIcon,"aria-hidden":"true"})})}function $(e){var n;let{children:t,className:s="",metastring:i,title:c,showLineNumbers:d,language:u}=e,{prism:{defaultLanguage:h,magicComments:m}}=(0,x.L)(),A=(n=u??function(e){let n=e.split(" ").find(e=>e.startsWith("language-"));return n?.replace(/language-/,"")}(s)??h,n?.toLowerCase()),p=b(),g=function(){let[e,n]=(0,r.useState)(!1),[t,s]=(0,r.useState)(!1),i=(0,r.useRef)(null),l=(0,r.useCallback)(()=>{let t=i.current.querySelector("code");e?t.removeAttribute("style"):(t.style.whiteSpace="pre-wrap",t.style.overflowWrap="anywhere"),n(e=>!e)},[i,e]),a=(0,r.useCallback)(()=>{let{scrollWidth:e,clientWidth:n}=i.current;s(e>n||i.current.querySelector("code").hasAttribute("style"))},[i]);return!function(e,n){let[t,s]=(0,r.useState)(),i=(0,r.useCallback)(()=>{s(e.current?.closest("[role=tabpanel][hidden]"))},[e,s]);(0,r.useEffect)(()=>{i()},[i]),function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:F,s=(0,P.zX)(n),i=(0,P.Ql)(t);(0,r.useEffect)(()=>{let n=new MutationObserver(s);return e&&n.observe(e,i),()=>n.disconnect()},[e,s,i])}(t,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),i())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(i,a),(0,r.useEffect)(()=>{a()},[e,a]),(0,r.useEffect)(()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)}),[a]),{codeBlockRef:i,isEnabled:e,isCodeScrollable:t,toggle:l}}(),j=(0,o.Z)(),f=(i?.match(L)?.groups.title??"")||c,{lineClassNames:k,code:N}=function(e,n){let t=e.replace(/\n$/,""),{language:s,magicComments:i,metastring:l}=n;if(l&&Z.test(l)){let e=l.match(Z).groups.range;if(0===i.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${l}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let n=i[0].className;return{lineClassNames:Object.fromEntries(w()(e).filter(e=>e>0).map(e=>[e-1,[n]])),code:t}}if(void 0===s)return{lineClassNames:{},code:t};let r=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return O(["js","jsBlock"],n);case"jsx":case"tsx":return O(["js","jsBlock","jsx"],n);case"html":return O(["js","jsBlock","html"],n);case"python":case"py":case"bash":return O(["bash"],n);case"markdown":case"md":return O(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return O(["tex"],n);case"lua":case"haskell":return O(["lua"],n);case"sql":return O(["lua","jsBlock"],n);case"wasm":return O(["wasm"],n);case"vb":case"vba":case"visual-basic":return O(["vb","rem"],n);case"vbnet":return O(["vbnet","rem"],n);case"batch":return O(["rem"],n);case"basic":return O(["rem","f90"],n);case"fsharp":return O(["js","ml"],n);case"ocaml":case"sml":return O(["ml"],n);case"fortran":return O(["f90"],n);case"cobol":return O(["cobol"],n);default:return O(E,n)}}(s,i),a=t.split("\n"),o=Object.fromEntries(i.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(i.filter(e=>e.line).map(e=>{let{className:n,line:t}=e;return[t,n]})),d=Object.fromEntries(i.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.start,n]})),u=Object.fromEntries(i.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.end,n]}));for(let e=0;e<a.length;){let n=a[e].match(r);if(!n){e+=1;continue}let t=n.slice(1).find(e=>void 0!==e);c[t]?o[c[t]].range+=`${e},`:d[t]?o[d[t]].start=e:u[t]&&(o[u[t]].range+=`${o[u[t]].start}-${e-1},`),a.splice(e,1)}t=a.join("\n");let h={};return Object.entries(o).forEach(e=>{let[n,{range:t}]=e;w()(t).forEach(e=>{h[e]??=[],h[e].push(n)})}),{lineClassNames:h,code:t}}(t,{metastring:i,language:A,magicComments:m}),v=function(e){let{showLineNumbers:n,metastring:t}=e;return"boolean"==typeof n?n?1:void 0:"number"==typeof n?n:function(e){let n=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}(t)}({showLineNumbers:d,metastring:i});return(0,l.jsxs)(J,{as:"div",className:(0,a.Z)(s,A&&!s.includes(`language-${A}`)&&`language-${A}`),children:[f&&(0,l.jsx)("div",{className:G.codeBlockTitle,children:f}),(0,l.jsxs)("div",{className:G.codeBlockContent,children:[(0,l.jsx)(V.y$,{theme:p,code:N,language:A??"text",children:e=>{let{className:n,style:t,tokens:s,getLineProps:i,getTokenProps:r}=e;return(0,l.jsx)("pre",{tabIndex:0,ref:g.codeBlockRef,className:(0,a.Z)(n,G.codeBlock,"thin-scrollbar"),style:t,children:(0,l.jsx)("code",{className:(0,a.Z)(G.codeBlockLines,void 0!==v&&G.codeBlockLinesWithNumbering),style:void 0===v?void 0:{counterReset:`line-count ${v-1}`},children:s.map((e,n)=>(0,l.jsx)(W,{line:e,getLineProps:i,getTokenProps:r,classNames:k[n],showLineNumbers:void 0!==v},n))})})}}),j?(0,l.jsxs)("div",{className:G.buttonGroup,children:[(g.isEnabled||g.isCodeScrollable)&&(0,l.jsx)(_,{className:G.codeButton,onClick:()=>g.toggle(),isEnabled:g.isEnabled}),(0,l.jsx)(D,{className:G.codeButton,code:N})]}):null]})]})}let ee=(s=function(e){let{children:n,...t}=e,s=(0,o.Z)(),i=r.Children.toArray(n).some(e=>(0,r.isValidElement)(e))?n:Array.isArray(n)?n.join(""):n;return(0,l.jsx)("string"==typeof i?$:z,{...t,children:i},String(s))},function(e){return e.live?(0,l.jsx)(y,{scope:R,...e}):(0,l.jsx)(s,{...e})});function en(e){return(0,l.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/2c7bf9eb.4729950a.js b/assets/js/2c7bf9eb.4729950a.js new file mode 100644 index 0000000000..af65f39fbd --- /dev/null +++ b/assets/js/2c7bf9eb.4729950a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["62392"],{33137:function(e,t,i){i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>d});var s=i(90988),n=i(85893),r=i(80980);let a={title:"Ensure heading anchor slugs respect GitHub emoji behavior",date:new Date("2023-08-05T00:00:00.000Z"),sidebar_label:"Ensure heading... (custom label)"},l=void 0,o={authorsImageUrls:[]},d=[{value:"\uD83D\uDE03 This is a friendly header",id:"smiley-this-is-a-friendly-header",level:2},{value:"\uD83D\uDE03 This is a friendly header (real smiley)",id:"-this-is-a-friendly-header-real-smiley",level:2}];function h(e){let t={h2:"h2",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.h2,{id:"smiley-this-is-a-friendly-header",children:["\uD83D\uDE03"," This is a friendly header"]}),"\n",(0,n.jsx)(t.h2,{id:"-this-is-a-friendly-header-real-smiley",children:"\uD83D\uDE03 This is a friendly header (real smiley)"})]})}function u(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},80980:function(e,t,i){i.d(t,{Z:()=>l,a:()=>a});var s=i(67294);let n={},r=s.createContext(n);function a(e){let t=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(r.Provider,{value:t},e.children)}},90988:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2023/08/05/","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2023-08-05.mdx","source":"@site/_dogfooding/_blog tests/2023-08-05.mdx","title":"Ensure heading anchor slugs respect GitHub emoji behavior","description":"This is a friendly header","date":"2023-08-05T00:00:00.000Z","tags":[],"readingTime":3.2,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Ensure heading anchor slugs respect GitHub emoji behavior","date":"2023-08-05T00:00:00.000Z","sidebar_label":"Ensure heading... (custom label)"},"unlisted":false,"prevItem":{"title":"Single author socials","permalink":"/tests/blog/2024/07/03/single-author"},"nextItem":{"title":"Test if href in feed resolved correctly","permalink":"/tests/blog/2023/07/19/a"}}')}}]); \ No newline at end of file diff --git a/assets/js/2d0d74c6.ee698149.js b/assets/js/2d0d74c6.ee698149.js new file mode 100644 index 0000000000..c210232858 --- /dev/null +++ b/assets/js/2d0d74c6.ee698149.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["43190"],{25360:function(e,s,n){n.r(s),n.d(s,{frontMatter:()=>a,default:()=>u,contentTitle:()=>i,assets:()=>d,toc:()=>c,metadata:()=>t});var t=JSON.parse('{"id":"guides/whats-next","title":"What\'s next?","description":"Congratulations! You have understood most core features of Docusaurus now. You have:","source":"@site/docs/guides/whats-next.mdx","sourceDirName":"guides","slug":"/guides/whats-next","permalink":"/docs/guides/whats-next","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/whats-next.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"docs","previous":{"title":"Using Crowdin","permalink":"/docs/i18n/crowdin"},"next":{"title":"Advanced Tutorials","permalink":"/docs/advanced/"}}'),o=n(85893),r=n(80980);let a={},i="What's next?",d={},c=[];function l(e){let s={a:"a",code:"code",h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"whats-next",children:"What's next?"})}),"\n",(0,o.jsx)(s.p,{children:"Congratulations! You have understood most core features of Docusaurus now. You have:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"/docs/creating-pages",children:"Used the pages plugin"})," to create a standalone React / Markdown page"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"/docs/docs-introduction",children:"Used the docs plugin"})," to create documentation pages. This includes ",(0,o.jsx)(s.a,{href:"/docs/sidebar",children:"configuring the sidebar"}),", and even ",(0,o.jsx)(s.a,{href:"/docs/versioning",children:"versioning"})]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"/docs/blog",children:"Used the blog plugin"})," to create a fully featured blog"]}),"\n",(0,o.jsxs)(s.li,{children:["Tried your hands on ",(0,o.jsx)(s.a,{href:"/docs/markdown-features",children:"a range of Markdown features"}),", which are useful for all content plugins"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"/docs/styling-layout",children:"Used stylesheets"})," or ",(0,o.jsx)(s.a,{href:"/docs/swizzling",children:"swizzling"})," to customize your site's appearance"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"/docs/static-assets",children:"Included images and other assets"})," in your pages"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"/docs/search",children:"Added search"})," to your site"]}),"\n",(0,o.jsxs)(s.li,{children:["Understood how ",(0,o.jsx)(s.a,{href:"/docs/browser-support",children:"browser support"})," and ",(0,o.jsx)(s.a,{href:"/docs/seo",children:"SEO"})," are done through standard Docusaurus APIs"]}),"\n",(0,o.jsxs)(s.li,{children:["Learned about how ",(0,o.jsx)(s.a,{href:"/docs/using-plugins",children:"individual plugins"})," are installed and configured"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"/docs/deployment",children:"Deployed"})," your site to a content host"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"/docs/i18n/tutorial",children:"Internationalized"})," your site to include multiple languages"]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:["At this point, you probably have a big ",(0,o.jsx)(s.code,{children:"docusaurus.config.js"})," already\uD83D\uDE04 However, you haven't written much code yet! Most of the features are implemented through calling encapsulated Docusaurus APIs. As you continue your journey, you can take three paths:"]}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"Learn more advanced Docusaurus concepts. This will help you gain a deeper understand of what the APIs do."}),"\n",(0,o.jsxs)(s.li,{children:["Read about ",(0,o.jsx)(s.a,{href:"/docs/docusaurus-core",children:"all existing APIs"}),". Many of them have not been covered in the Guides!"]}),"\n",(0,o.jsxs)(s.li,{children:["Learn to ",(0,o.jsx)(s.a,{href:"/docs/api/plugin-methods/",children:"develop a plugin"})," to extend the functionality of your site."]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},80980:function(e,s,n){n.d(s,{Z:()=>i,a:()=>a});var t=n(67294);let o={},r=t.createContext(o);function a(e){let s=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2d0df73d.e30b20d1.js b/assets/js/2d0df73d.e30b20d1.js new file mode 100644 index 0000000000..7517eb9b64 --- /dev/null +++ b/assets/js/2d0df73d.e30b20d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["41762"],{30768:function(e,n,i){i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>t,toc:()=>c});var t=i(78049),l=i(85893),s=i(80980);let r={mdx:{format:"md"},date:"2019-12-07T20:00",authors:["endiliey"]},a="2.0.0-alpha.39",o={authorsImageUrls:[void 0]},c=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 1",id:"committers-1",level:2}];function u(e){let n={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,s.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2099",children:"#2099"})," fix(v2): escape import path on windows (",(0,l.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(n.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2095",children:"#2095"})," fix(v2): metadata error if markdown does not have ending line (",(0,l.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Other\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2100",children:"#2100"})," chore(CI): docusaurus build on Windows with GitHub actions (",(0,l.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2096",children:"#2096"})," feat(v2): better & nice looking error overlay (",(0,l.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"committers-1",children:"Committers: 1"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Endi (",(0,l.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]})]})}function d(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(u,{...e})}):u(e)}},80980:function(e,n,i){i.d(n,{Z:()=>a,a:()=>r});var t=i(67294);let l={},s=t.createContext(l);function r(e){let n=t.useContext(s);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),t.createElement(s.Provider,{value:n},e.children)}},78049:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.39","source":"@site/changelog/source/2.0.0-alpha.39.md","title":"2.0.0-alpha.39","description":"Bug Fix","date":"2019-12-07T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-12-07T20:00","authors":["endiliey"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.40","permalink":"/changelog/2.0.0-alpha.40"},"nextItem":{"title":"2.0.0-alpha.38","permalink":"/changelog/2.0.0-alpha.38"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/2dda743d.799c9839.js b/assets/js/2dda743d.799c9839.js new file mode 100644 index 0000000000..26a25fd6d7 --- /dev/null +++ b/assets/js/2dda743d.799c9839.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["74602"],{50359:function(e,s,h){h.r(s),h.d(s,{assets:()=>t,contentTitle:()=>r,default:()=>u,frontMatter:()=>c,metadata:()=>n,toc:()=>l});var n=h(91674),o=h(85893),i=h(80980);let c={mdx:{format:"md"},date:"2021-12-21T20:00",authors:["6543","christopherklint97","cmpadden","Drylozu","favna","HarshCasper","himanshu007-creator","Josh-Cena","lex111","merceyz","noomorph","notzheng","slorber","wewoor","withshubh","wowtvds","yangshun"]},r="2.0.0-beta.14",t={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},l=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 17",id:"committers-17",level:2}];function a(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6132",children:"#6132"})," feat(theme-classic): new configuration syntax for a simple footer (",(0,o.jsx)(s.a,{href:"https://github.com/christopherklint97",children:"@christopherklint97"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6125",children:"#6125"})," feat(theme-common): stable classname for code blocks (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5848",children:"#5848"})," feat(theme-classic): standalone Admonition component (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6082",children:"#6082"})," feat(theme-classic): allow passing additional attributes to tab headings (",(0,o.jsx)(s.a,{href:"https://github.com/Drylozu",children:"@Drylozu"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6126",children:"#6126"})," feat(content-blog): support json feed (",(0,o.jsx)(s.a,{href:"https://github.com/notzheng",children:"@notzheng"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6107",children:"#6107"})," feat(core): allow plugins to customize/override Webpack devServer config (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-migrate"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6146",children:"#6146"})," fix(migrate): do not modify non-MD files (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6128",children:"#6128"})," fix: do not use aria-hidden in heading anchor links (",(0,o.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6124",children:"#6124"})," fix(content-docs): restore behavior when pagination front matter is null (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6085",children:"#6085"})," fix(content-docs): getMainDocId should return doc with both versioned or unversioned id (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6097",children:"#6097"})," fix: declare missing dependencies (",(0,o.jsx)(s.a,{href:"https://github.com/merceyz",children:"@merceyz"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,o.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6094",children:"#6094"})," fix: add missing dependencies on tslib (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6088",children:"#6088"})," fix(theme-translations): publish theme-translation lib, including typedef (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6053",children:"#6053"})," feat(theme-classic): allow stylizing doc paginator arrows (",(0,o.jsx)(s.a,{href:"https://github.com/noomorph",children:"@noomorph"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6121",children:"#6121"})," fix(theme-classic): add outline to focused code blocks (",(0,o.jsx)(s.a,{href:"https://github.com/christopherklint97",children:"@christopherklint97"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6118",children:"#6118"})," refactor: remove some useless code (",(0,o.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,o.jsx)(s.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5994",children:"#5994"})," refactor: unify log format with new logger utility (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6119",children:"#6119"})," fix(create-docusaurus): make initial editUrl functional (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6095",children:"#6095"})," fix(create-docusaurus): give a clearer message when installation failed (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6142",children:"#6142"})," docs: normalize usage of placeholders (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5918",children:"#5918"})," docs: refactor & refine lifecycle API docs (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6138",children:"#6138"})," docs: add Smart Docs to showcase (",(0,o.jsx)(s.a,{href:"https://github.com/wowtvds",children:"@wowtvds"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6137",children:"#6137"})," docs: add ToolJet to showcase (",(0,o.jsx)(s.a,{href:"https://github.com/withshubh",children:"@withshubh"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6141",children:"#6141"})," docs: add WoodpeckerCI to showcase (",(0,o.jsx)(s.a,{href:"https://github.com/6543",children:"@6543"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6135",children:"#6135"})," docs: mention admonition quirks with Prettier (",(0,o.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6131",children:"#6131"}),' docs: elaborate on "docs-only" and "blog-only" (',(0,o.jsx)(s.a,{href:"https://github.com/himanshu007-creator",children:"@himanshu007-creator"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6134",children:"#6134"})," docs: update link to init template README.md (",(0,o.jsx)(s.a,{href:"https://github.com/cmpadden",children:"@cmpadden"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6130",children:"#6130"})," docs: refactor docs sidebar doc (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6129",children:"#6129"})," docs: refactor styling/theming docs (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6112",children:"#6112"})," docs: mention that SEO through front matter is better than head tag (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6120",children:"#6120"})," refactor(website): make deploy preview open next version docs by default (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6111",children:"#6111"})," docs: add Molecule website to showcase (",(0,o.jsx)(s.a,{href:"https://github.com/wewoor",children:"@wewoor"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6089",children:"#6089"})," docs: add Enarx website to showcase (",(0,o.jsx)(s.a,{href:"https://github.com/HarshCasper",children:"@HarshCasper"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6090",children:"#6090"})," docs: add sapphire to showcase (",(0,o.jsx)(s.a,{href:"https://github.com/favna",children:"@favna"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6091",children:"#6091"}),' docs(showcase): "much more pages" => "many more pages" (',(0,o.jsx)(s.a,{href:"https://github.com/favna",children:"@favna"}),")"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6144",children:"#6144"})," fix(theme-classic): fix translation when footer has no links (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6143",children:"#6143"})," test: fix async tests resolved in random order (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6123",children:"#6123"})," test: use snapshots for sidebar tests (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["Other\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6122",children:"#6122"})," fix(website): fix yarn build:website:fast (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6080",children:"#6080"})," chore: add npm and pnpm to E2E tests (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,o.jsx)(s.code,{children:"docusaurus"}),", ",(0,o.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6092",children:"#6092"})," misc: ignore some files during npm publish (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"committers-17",children:"Committers: 17"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["6543 (",(0,o.jsx)(s.a,{href:"https://github.com/6543",children:"@6543"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,o.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Christopher Klint (",(0,o.jsx)(s.a,{href:"https://github.com/christopherklint97",children:"@christopherklint97"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Harsh Mishra (",(0,o.jsx)(s.a,{href:"https://github.com/HarshCasper",children:"@HarshCasper"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Himanshu (",(0,o.jsx)(s.a,{href:"https://github.com/himanshu007-creator",children:"@himanshu007-creator"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Jeroen Claassens (",(0,o.jsx)(s.a,{href:"https://github.com/favna",children:"@favna"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Joshua Chen (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Kristoffer K. (",(0,o.jsx)(s.a,{href:"https://github.com/merceyz",children:"@merceyz"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Shubhendra Singh Chauhan (",(0,o.jsx)(s.a,{href:"https://github.com/withshubh",children:"@withshubh"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Wout Vandesompele (",(0,o.jsx)(s.a,{href:"https://github.com/wowtvds",children:"@wowtvds"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Yangshun Tay (",(0,o.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Yaroslav Serhieiev (",(0,o.jsx)(s.a,{href:"https://github.com/noomorph",children:"@noomorph"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Ziv (",(0,o.jsx)(s.a,{href:"https://github.com/wewoor",children:"@wewoor"}),")"]}),"\n",(0,o.jsx)(s.li,{children:(0,o.jsx)(s.a,{href:"https://github.com/Drylozu",children:"@Drylozu"})}),"\n",(0,o.jsxs)(s.li,{children:["colton (",(0,o.jsx)(s.a,{href:"https://github.com/cmpadden",children:"@cmpadden"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["\u4E0D\u90D1 (",(0,o.jsx)(s.a,{href:"https://github.com/notzheng",children:"@notzheng"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},80980:function(e,s,h){h.d(s,{Z:()=>r,a:()=>c});var n=h(67294);let o={},i=n.createContext(o);function c(e){let s=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),n.createElement(i.Provider,{value:s},e.children)}},91674:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.14","source":"@site/changelog/source/2.0.0-beta.14.md","title":"2.0.0-beta.14","description":"New Feature","date":"2021-12-21T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"6543","alias":"6543","url":"https://github.com/6543","imageURL":"https://github.com/6543.png","key":"6543","page":null},{"name":"Christopher Klint","alias":"christopherklint97","url":"https://github.com/christopherklint97","imageURL":"https://github.com/christopherklint97.png","key":"christopherklint97","page":null},{"name":"colton","alias":"cmpadden","url":"https://github.com/cmpadden","imageURL":"https://github.com/cmpadden.png","key":"cmpadden","page":null},{"name":"Drylozu","alias":"Drylozu","url":"https://github.com/Drylozu","imageURL":"https://github.com/Drylozu.png","key":"Drylozu","page":null},{"name":"Jeroen Claassens","alias":"favna","url":"https://github.com/favna","imageURL":"https://github.com/favna.png","key":"favna","page":null},{"name":"Harsh Mishra","alias":"HarshCasper","url":"https://github.com/HarshCasper","imageURL":"https://github.com/HarshCasper.png","key":"HarshCasper","page":null},{"name":"Himanshu","alias":"himanshu007-creator","url":"https://github.com/himanshu007-creator","imageURL":"https://github.com/himanshu007-creator.png","key":"himanshu007-creator","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Kristoffer K.","alias":"merceyz","url":"https://github.com/merceyz","imageURL":"https://github.com/merceyz.png","key":"merceyz","page":null},{"name":"Yaroslav Serhieiev","alias":"noomorph","url":"https://github.com/noomorph","imageURL":"https://github.com/noomorph.png","key":"noomorph","page":null},{"name":"\u4E0D\u90D1","alias":"notzheng","url":"https://github.com/notzheng","imageURL":"https://github.com/notzheng.png","key":"notzheng","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Ziv","alias":"wewoor","url":"https://github.com/wewoor","imageURL":"https://github.com/wewoor.png","key":"wewoor","page":null},{"name":"Shubhendra Singh Chauhan","alias":"withshubh","url":"https://github.com/withshubh","imageURL":"https://github.com/withshubh.png","key":"withshubh","page":null},{"name":"Wout Vandesompele","alias":"wowtvds","url":"https://github.com/wowtvds","imageURL":"https://github.com/wowtvds.png","key":"wowtvds","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-21T20:00","authors":["6543","christopherklint97","cmpadden","Drylozu","favna","HarshCasper","himanshu007-creator","Josh-Cena","lex111","merceyz","noomorph","notzheng","slorber","wewoor","withshubh","wowtvds","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.15","permalink":"/changelog/2.0.0-beta.15"},"nextItem":{"title":"2.0.0-beta.13","permalink":"/changelog/2.0.0-beta.13"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/2e17f346.5a6febd6.js b/assets/js/2e17f346.5a6febd6.js new file mode 100644 index 0000000000..465f951aaf --- /dev/null +++ b/assets/js/2e17f346.5a6febd6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["11285"],{10938:function(t,e,n){n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var o=n(92137),s=n(85893),a=n(80980),r=n(45627);let i={tags:["paginated-tag"]},l="Hmmm!",u={authorsImageUrls:[]},c=[...r.d$];function p(t){let e={p:"p",...(0,a.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"This is a blog post from an anonymous author!"}),"\n","\n",(0,s.jsx)(r.ZP,{})]})}function m(t={}){let{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(p,{...t})}):p(t)}},45627:function(t,e,n){n.d(e,{ZP:()=>i,d$:()=>a});var o=n(85893),s=n(80980);let a=[];function r(t){let e={p:"p",...(0,s.a)(),...t.components};return(0,o.jsx)(e.p,{children:"This is a blog partial"})}function i(t={}){let{wrapper:e}={...(0,s.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(r,{...t})}):r(t)}},80980:function(t,e,n){n.d(e,{Z:()=>i,a:()=>r});var o=n(67294);let s={},a=o.createContext(s);function r(t){let e=o.useContext(a);return o.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:r(t.components),o.createElement(a.Provider,{value:e},t.children)}},92137:function(t){t.exports=JSON.parse('{"permalink":"/tests/blog/2021/08/22/no-author","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-08-22-no-author.mdx","source":"@site/_dogfooding/_blog tests/2021-08-22-no-author.mdx","title":"Hmmm!","description":"This is a blog post from an anonymous author!","date":"2021-08-22T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":3.4,"hasTruncateMarker":false,"authors":[],"frontMatter":{"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Multiple authors","permalink":"/tests/blog/2021/08/23/multiple-authors"},"nextItem":{"title":"Blog TOC FrontMatter tests","permalink":"/tests/blog/2021/08/21/blog-post-toc-tests"}}')}}]); \ No newline at end of file diff --git a/assets/js/2e30738d.c52d1cf3.js b/assets/js/2e30738d.c52d1cf3.js new file mode 100644 index 0000000000..8158dc6809 --- /dev/null +++ b/assets/js/2e30738d.c52d1cf3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["93438"],{60390:function(e,t,n){n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var r=n(7995),o=n(85893),i=n(80980);let l={mdx:{format:"md"},date:"2019-10-21T19:00"},s="2.0.0-alpha.28",a={authorsImageUrls:[]},c=[];function d(e){let t={code:"code",li:"li",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Further reduce memory usage to avoid heap memory allocation failure."}),"\n",(0,o.jsxs)(t.li,{children:["Fix ",(0,o.jsx)(t.code,{children:"keywords"})," frontmatter for SEO not working properly."]}),"\n",(0,o.jsxs)(t.li,{children:["Fix ",(0,o.jsx)(t.code,{children:"swizzle"})," command not passing context properly to theme packages."]}),"\n",(0,o.jsxs)(t.li,{children:["Add ",(0,o.jsx)(t.code,{children:"extendCli"})," api for plugins. This will allow plugin to further extend Docusaurus CLI."]}),"\n",(0,o.jsxs)(t.li,{children:["Fix ",(0,o.jsx)(t.code,{children:"swizzle"})," command not being able to swizzle single js file."]}),"\n",(0,o.jsx)(t.li,{children:"Fix logo URL in footer to be appended with baseUrl automatically."}),"\n",(0,o.jsxs)(t.li,{children:["Add the option ",(0,o.jsx)(t.code,{children:"--no-open"})," for ",(0,o.jsx)(t.code,{children:"start"})," command."]}),"\n",(0,o.jsxs)(t.li,{children:["Set ",(0,o.jsx)(t.code,{children:"@babel/env"})," useBuiltins to ",(0,o.jsx)(t.code,{children:"usage"}),". This will automatically use browserlist and import polyfills required."]}),"\n",(0,o.jsxs)(t.li,{children:["Modified TerserWebpackPlugin ",(0,o.jsx)(t.code,{children:"terserOptions"})," for better cross-browser compatibility."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"BREAKING"})," ",(0,o.jsx)(t.code,{children:"withBaseUrl"})," is renamed to ",(0,o.jsx)(t.code,{children:"useBaseUrl"})," because its a React Hooks. Make sure you import/rename it correctly. Eg: ",(0,o.jsx)(t.code,{children:"import useBaseUrl from '@docusaurus/useBaseUrl"}),";"]}),"\n",(0,o.jsx)(t.li,{children:"Fix potential security vulnerability because we're exposing the directory structure of the host machine."}),"\n",(0,o.jsx)(t.li,{children:"Upgrade dependencies."}),"\n"]})}function u(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},80980:function(e,t,n){n.d(t,{Z:()=>s,a:()=>l});var r=n(67294);let o={},i=r.createContext(o);function l(e){let t=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),r.createElement(i.Provider,{value:t},e.children)}},7995:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.28","source":"@site/changelog/source/2.0.0-alpha.28.md","title":"2.0.0-alpha.28","description":"- Further reduce memory usage to avoid heap memory allocation failure.","date":"2019-10-21T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-21T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.29","permalink":"/changelog/2.0.0-alpha.29"},"nextItem":{"title":"2.0.0-alpha.27","permalink":"/changelog/2.0.0-alpha.27"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/2e94ec99.70a0b82a.js b/assets/js/2e94ec99.70a0b82a.js new file mode 100644 index 0000000000..e3551b5f1e --- /dev/null +++ b/assets/js/2e94ec99.70a0b82a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["60469"],{90053:function(e){e.exports=JSON.parse('{"tag":{"label":"Endi","permalink":"/blog/tags/endi","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/endi","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/2eb19395.b9c54bc7.js b/assets/js/2eb19395.b9c54bc7.js new file mode 100644 index 0000000000..05cc787671 --- /dev/null +++ b/assets/js/2eb19395.b9c54bc7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["49247"],{1312:function(e,s,r){r.r(s),r.d(s,{assets:()=>h,contentTitle:()=>i,default:()=>t,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var c=r(91127),l=r(85893),n=r(80980);let o={mdx:{format:"md"},date:"2024-11-04T20:00",authors:["andrewasche","B0r1sD","ccho-mongodb","flixyudh","ilg-ul","jackrabbit128","k-seltzer","kenrick95","moonrailgun","moskalakamil","namnguyenthanhwork","Olexandr88","OzakIOne","patik123","Radovenchyk","raghav2005","slorber","TheMineWay","Zenahr"]},i="3.6.0",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},u=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:":running: Performance",id:"running-performance",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83E\uDD16 Dependencies",id:"robot-dependencies",level:2},{value:"\uD83D\uDD27 Maintenance",id:"wrench-maintenance",level:2},{value:"Committers: 19",id:"committers-19",level:2}];function d(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,n.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10586",children:"#10586"})," feat(blog): Add ",(0,l.jsx)(s.code,{children:"frontMatter.title_meta"})," to override title for SEO (",(0,l.jsx)(s.a,{href:"https://github.com/ilg-ul",children:"@ilg-ul"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10600",children:"#10600"})," feat(cli): build/deploy should allow multiple ",(0,l.jsx)(s.code,{children:"--locale"})," options (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-logger"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10590",children:"#10590"})," feat(core): add Node.js memory perf logging (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-rsdoctor"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10588",children:"#10588"})," feat: new Rsdoctor official plugin (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-faster"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10402",children:"#10402"})," feat(core): Replace Webpack with Rspack - ",(0,l.jsx)(s.code,{children:"siteConfig.future.experimental_faster.rspackBundler"})," (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-faster"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10554",children:"#10554"})," feat(core): faster HTML minimizer - ",(0,l.jsx)(s.code,{children:"siteConfig.future.experimental_faster.swcHtmlMinimizer"})," (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10522",children:"#10522"})," feat(core): faster CSS minimizer - ",(0,l.jsx)(s.code,{children:"siteConfig.future.experimental_faster.lightningCssMinimizer"})," (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-mermaid"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10510",children:"#10510"})," feat(theme-mermaid): support Mermaid 11+ including new types of diagrams (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10479",children:"#10479"})," feat(core, mdx-loader): deduplicate MDX compilation - ",(0,l.jsx)(s.code,{children:"siteConfig.future.experimental_faster.mdxCrossCompilerCache"})," (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-faster"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10441",children:"#10441"})," feat(core): faster JS minimizer - ",(0,l.jsx)(s.code,{children:"siteConfig.future.experimental_faster.swcJsMinimizer"})," (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-faster"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10435",children:"#10435"})," feat(core): faster transpiler option - ",(0,l.jsx)(s.code,{children:"siteConfig.future.experimental_faster.swcJsLoader"})," (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10632",children:"#10632"})," fix(core): restore Rspack ProgressBar colors (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10581",children:"#10581"})," fix(core): fix handling of Swc html minifier warnings (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10573",children:"#10573"})," fix(core): move @docusaurus/faster to bundler peerDeps (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10617",children:"#10617"})," fix(faster): allow Rspack + babel-loader (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10614",children:"#10614"})," fix(faster): fix error message typo + add color (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10618",children:"#10618"})," fix(theme): Restore former globalThis.Prism (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10585",children:"#10585"})," fix(theme): light & dark mode checkbox doesn't announce state switches (",(0,l.jsx)(s.a,{href:"https://github.com/andrewasche",children:"@andrewasche"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10439",children:"#10439"})," fix(theme): upgrade infima, fix footer link width bug (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-faster"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10616",children:"#10616"})," fix(faster): add missing tslib dependency (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10611",children:"#10611"})," fix(core): fix DOCUSAURUS_CURRENT_LOCALE = 'undefined' (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10423",children:"#10423"})," fix(core): always use hash for CSS module class names (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-faster"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10605",children:"#10605"})," fix(core): Use proper swc loader options (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10551",children:"#10551"})," fix(translations): complete missing slovenian theme translations (",(0,l.jsx)(s.a,{href:"https://github.com/patik123",children:"@patik123"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10507",children:"#10507"})," fix(theme-translations): add missing Vietnamese translations (",(0,l.jsx)(s.a,{href:"https://github.com/namnguyenthanhwork",children:"@namnguyenthanhwork"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10413",children:"#10413"}),' fix(translations): fix Spanish translation for "breadcrumbs" (',(0,l.jsx)(s.a,{href:"https://github.com/TheMineWay",children:"@TheMineWay"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10553",children:"#10553"})," fix(mdx-loader): fix cross-compiler cache randomly loading mdx with client/server envs (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-tsconfig"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10547",children:"#10547"})," fix(tsconfig): add ",(0,l.jsx)(s.code,{children:"@docusaurus/tsconfig"})," target es2022 (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10424",children:"#10424"})," fix(blog): normalize inline authors socials (",(0,l.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10440",children:"#10440"})," fix(blog): apply baseUrl to relative image in blog authors (",(0,l.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10431",children:"#10431"})," fix(blog): authors count incorrectly rendered (",(0,l.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10420",children:"#10420"})," fix(types): fix type of PluginModule (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"running-performance",children:":running: Performance"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-faster"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10605",children:"#10605"})," fix(core): Use proper swc loader options (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10601",children:"#10601"})," perf(ci): Add CI checks to prevent memory, build-time and build-size regressions (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10599",children:"#10599"})," fix(core): fix i18n sites SSG memory leak - require.cache (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10470",children:"#10470"})," refactor(mdx-loader): re-export metadata module instead of serializing it (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10457",children:"#10457"})," refactor(mdx-loader): read metadata from memory (loaded content) instead of fs (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10631",children:"#10631"})," docs: fix frontMatter.mdx.format docs (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10630",children:"#10630"})," docs: Add missing API ref docs for Docusaurus Faster options (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10592",children:"#10592"})," docs: resource add docusaurus-i18n (",(0,l.jsx)(s.a,{href:"https://github.com/moonrailgun",children:"@moonrailgun"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10535",children:"#10535"})," docs: add tip about harmless vulnerabilities (",(0,l.jsx)(s.a,{href:"https://github.com/ilg-ul",children:"@ilg-ul"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10545",children:"#10545"})," docs: clarify component naming for markdown import (",(0,l.jsx)(s.a,{href:"https://github.com/jackrabbit128",children:"@jackrabbit128"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10416",children:"#10416"})," docs: corrected typo in search.mdx (",(0,l.jsx)(s.a,{href:"https://github.com/B0r1sD",children:"@B0r1sD"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10405",children:"#10405"})," docs(website): small spellfix on 3.5 update notes (",(0,l.jsx)(s.a,{href:"https://github.com/Zenahr",children:"@Zenahr"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10608",children:"#10608"})," docs: mention config/sidebars run in Node.js runtime (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"robot-dependencies",children:"\uD83E\uDD16 Dependencies"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10623",children:"#10623"})," chore(deps): bump actions/setup-node from 4.0.4 to 4.1.0 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10624",children:"#10624"})," chore(deps): bump actions/dependency-review-action from 4.3.4 to 4.4.0 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10539",children:"#10539"})," chore(deps): bump preactjs/compressed-size-action from 2.6.0 to 2.7.0 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10530",children:"#10530"})," chore(deps): bump rollup from 2.79.1 to 2.79.2 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10518",children:"#10518"})," chore(deps): bump actions/setup-node from 4.0.2 to 4.0.4 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10505",children:"#10505"})," chore(deps): bump dompurify from 3.0.5 to 3.1.6 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10488",children:"#10488"})," chore(deps): bump express from 4.19.2 to 4.20.0 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10449",children:"#10449"})," chore(deps): bump github/codeql-action from 3.26.3 to 3.26.5 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10444",children:"#10444"})," chore(deps): bump micromatch from 4.0.5 to 4.0.8 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10425",children:"#10425"})," chore(deps): bump github/codeql-action from 3.26.0 to 3.26.3 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10455",children:"#10455"})," chore(deps): bump webpack from 5.88.1 to 5.94.0 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"wrench-maintenance",children:"\uD83D\uDD27 Maintenance"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10612",children:"#10612"})," chore: fix canary version prefix (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10438",children:"#10438"})," chore(ci): fix setup-node, use LTS by default (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10418",children:"#10418"})," chore(website): add Rsdoctor plugin (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-babel"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-rsdoctor"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10610",children:"#10610"})," chore: upgrade minor dependencies (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-faster"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10609",children:"#10609"})," chore: upgrade faster packages (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10593",children:"#10593"})," refactor(core): refactor SSG infrastructure (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10587",children:"#10587"})," refactor(core): replace serve-handler fork by official deps (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10579",children:"#10579"})," refactor(core): remove useless Webpack wait plugin (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10485",children:"#10485"})," refactor(core): rewrite Webpack ChunkAssetPlugin with RuntimeModule (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10448",children:"#10448"})," refactor(core): Restore null-loader (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10442",children:"#10442"})," fix(core): use serve-handler fork to remove annoying punycode warning (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10410",children:"#10410"})," refactor(core): remove useless build forceTerminate exit (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10548",children:"#10548"})," chore: upgrade Webpack to 5.95 and related deps (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10514",children:"#10514"})," refactor: remove babel.config.js from init templates + website (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-babel"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10511",children:"#10511"})," refactor: create ",(0,l.jsx)(s.code,{children:"@docusaurus/bundler"})," and ",(0,l.jsx)(s.code,{children:"@docusaurus/babel"})," packages (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-mermaid"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),", ",(0,l.jsx)(s.code,{children:"eslint-plugin"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10509",children:"#10509"})," chore: Rename Twitter links/labels to X (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10497",children:"#10497"})," refactor(core): prepare codebase for swappable bundler (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10486",children:"#10486"})," chore: upgrade to TS 5.6 + temporarily use skipLibCheck for TS 5.6 (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10480",children:"#10480"})," refactor: move PerfLogger from core to @docusaurus/logger (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10454",children:"#10454"})," chore: upgrade npm-to-yarn to v3 (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10450",children:"#10450"})," refactor(mdx-loader): refactor mdx-loader, expose loader creation utils (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10429",children:"#10429"})," refactor(core): improve handling of server bundle (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10422",children:"#10422"})," refactor(mdx-loader): remove useless usage of mdx loader this.query (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"committers-19",children:"Committers: 19"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Andrew Asche (",(0,l.jsx)(s.a,{href:"https://github.com/andrewasche",children:"@andrewasche"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Boris Depoortere (",(0,l.jsx)(s.a,{href:"https://github.com/B0r1sD",children:"@B0r1sD"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Chris Cho (",(0,l.jsx)(s.a,{href:"https://github.com/ccho-mongodb",children:"@ccho-mongodb"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Flix (",(0,l.jsx)(s.a,{href:"https://github.com/flixyudh",children:"@flixyudh"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Joel Campos (",(0,l.jsx)(s.a,{href:"https://github.com/TheMineWay",children:"@TheMineWay"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Kamil Moska\u0142a (",(0,l.jsx)(s.a,{href:"https://github.com/moskalakamil",children:"@moskalakamil"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Kenrick (",(0,l.jsx)(s.a,{href:"https://github.com/kenrick95",children:"@kenrick95"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Liviu Ionescu (",(0,l.jsx)(s.a,{href:"https://github.com/ilg-ul",children:"@ilg-ul"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Nguy\u1EC5n Th\xe0nh Nam (",(0,l.jsx)(s.a,{href:"https://github.com/namnguyenthanhwork",children:"@namnguyenthanhwork"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Patrick (",(0,l.jsx)(s.a,{href:"https://github.com/patik123",children:"@patik123"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Raghav (",(0,l.jsx)(s.a,{href:"https://github.com/raghav2005",children:"@raghav2005"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Zenahr Barzani (",(0,l.jsx)(s.a,{href:"https://github.com/Zenahr",children:"@Zenahr"}),")"]}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/Olexandr88",children:"@Olexandr88"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/Radovenchyk",children:"@Radovenchyk"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/jackrabbit128",children:"@jackrabbit128"})}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/k-seltzer",children:"@k-seltzer"})}),"\n",(0,l.jsxs)(s.li,{children:["moonrailgun (",(0,l.jsx)(s.a,{href:"https://github.com/moonrailgun",children:"@moonrailgun"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["ozaki (",(0,l.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]})]})}function t(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},80980:function(e,s,r){r.d(s,{Z:()=>i,a:()=>o});var c=r(67294);let l={},n=c.createContext(l);function o(e){let s=c.useContext(n);return c.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),c.createElement(n.Provider,{value:s},e.children)}},91127:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.6.0","source":"@site/changelog/source/3.6.0.md","title":"3.6.0","description":"New Feature","date":"2024-11-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Andrew Asche","alias":"andrewasche","url":"https://github.com/andrewasche","imageURL":"https://github.com/andrewasche.png","key":"andrewasche","page":null},{"name":"Boris Depoortere","alias":"B0r1sD","url":"https://github.com/B0r1sD","imageURL":"https://github.com/B0r1sD.png","key":"B0r1sD","page":null},{"name":"Chris Cho","alias":"ccho-mongodb","url":"https://github.com/ccho-mongodb","imageURL":"https://github.com/ccho-mongodb.png","key":"ccho-mongodb","page":null},{"name":"Flix","alias":"flixyudh","url":"https://github.com/flixyudh","imageURL":"https://github.com/flixyudh.png","key":"flixyudh","page":null},{"name":"Liviu Ionescu","alias":"ilg-ul","url":"https://github.com/ilg-ul","imageURL":"https://github.com/ilg-ul.png","key":"ilg-ul","page":null},{"name":"jackrabbit128","alias":"jackrabbit128","url":"https://github.com/jackrabbit128","imageURL":"https://github.com/jackrabbit128.png","key":"jackrabbit128","page":null},{"name":"k-seltzer","alias":"k-seltzer","url":"https://github.com/k-seltzer","imageURL":"https://github.com/k-seltzer.png","key":"k-seltzer","page":null},{"name":"Kenrick","alias":"kenrick95","url":"https://github.com/kenrick95","imageURL":"https://github.com/kenrick95.png","key":"kenrick95","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Kamil Moska\u0142a","alias":"moskalakamil","url":"https://github.com/moskalakamil","imageURL":"https://github.com/moskalakamil.png","key":"moskalakamil","page":null},{"name":"Nguy\u1EC5n Th\xe0nh Nam","alias":"namnguyenthanhwork","url":"https://github.com/namnguyenthanhwork","imageURL":"https://github.com/namnguyenthanhwork.png","key":"namnguyenthanhwork","page":null},{"name":"Olexandr88","alias":"Olexandr88","url":"https://github.com/Olexandr88","imageURL":"https://github.com/Olexandr88.png","key":"Olexandr88","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Patrick","alias":"patik123","url":"https://github.com/patik123","imageURL":"https://github.com/patik123.png","key":"patik123","page":null},{"name":"Radovenchyk","alias":"Radovenchyk","url":"https://github.com/Radovenchyk","imageURL":"https://github.com/Radovenchyk.png","key":"Radovenchyk","page":null},{"name":"Raghav","alias":"raghav2005","url":"https://github.com/raghav2005","imageURL":"https://github.com/raghav2005.png","key":"raghav2005","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Joel Campos","alias":"TheMineWay","url":"https://github.com/TheMineWay","imageURL":"https://github.com/TheMineWay.png","key":"TheMineWay","page":null},{"name":"Zenahr Barzani","alias":"Zenahr","url":"https://github.com/Zenahr","imageURL":"https://github.com/Zenahr.png","key":"Zenahr","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-11-04T20:00","authors":["andrewasche","B0r1sD","ccho-mongodb","flixyudh","ilg-ul","jackrabbit128","k-seltzer","kenrick95","moonrailgun","moskalakamil","namnguyenthanhwork","Olexandr88","OzakIOne","patik123","Radovenchyk","raghav2005","slorber","TheMineWay","Zenahr"]},"unlisted":false,"prevItem":{"title":"3.6.1","permalink":"/changelog/3.6.1"},"nextItem":{"title":"3.5.2","permalink":"/changelog/3.5.2"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/2f06f2d2.3c791c0b.js b/assets/js/2f06f2d2.3c791c0b.js new file mode 100644 index 0000000000..b8e4526d89 --- /dev/null +++ b/assets/js/2f06f2d2.3c791c0b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["5259"],{89874:function(e,r,s){s.r(r),s.d(r,{assets:()=>l,contentTitle:()=>n,default:()=>d,frontMatter:()=>t,metadata:()=>c,toc:()=>o});var c=s(71957),i=s(85893),h=s(80980);let t={mdx:{format:"md"},date:"2023-11-30T20:00",authors:["harryzcy","mcrstudio","NickGerleman","reece-white","Shreesh09","slorber"]},n="3.0.1",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83E\uDD16 Dependencies",id:"robot-dependencies",level:2},{value:"Committers: 6",id:"committers-6",level:2}];function u(e){let r={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,h.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9570",children:"#9570"})," fix: add v2 retrocompatible support for quoted admonitions (",(0,i.jsx)(r.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9535",children:"#9535"})," fix: v3 admonitions should support v2 title syntax for nested admonitions (",(0,i.jsx)(r.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.code,{children:"create-docusaurus"}),", ",(0,i.jsx)(r.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(r.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9567",children:"#9567"})," fix(theme): upgrade prism-react-renderer, fix html script and style tag highlighting (",(0,i.jsx)(r.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9531",children:"#9531"})," fix(theme): docs html sidebar items should always be visible (",(0,i.jsx)(r.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9530",children:"#9530"})," fix(theme): fix firefox CSS :has() support bug (",(0,i.jsx)(r.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.code,{children:"create-docusaurus"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9487",children:"#9487"})," fix(create-docusaurus): fix readme docusaurus 2 ref (",(0,i.jsx)(r.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"robot-dependencies",children:"\uD83E\uDD16 Dependencies"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.code,{children:"docusaurus-plugin-debug"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9566",children:"#9566"})," chore(debug-plugin): migrate to a new maintained JSON Viewer (",(0,i.jsx)(r.a,{href:"https://github.com/mcrstudio",children:"@mcrstudio"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.code,{children:"create-docusaurus"}),", ",(0,i.jsx)(r.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(r.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9572",children:"#9572"})," chore: upgrade prism-react-renderer to 2.3.0 to avoid older clsx (",(0,i.jsx)(r.a,{href:"https://github.com/harryzcy",children:"@harryzcy"}),")"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9567",children:"#9567"})," fix(theme): upgrade prism-react-renderer, fix html script and style tag highlighting (",(0,i.jsx)(r.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.code,{children:"create-docusaurus"}),", ",(0,i.jsx)(r.code,{children:"docusaurus-plugin-pwa"}),", ",(0,i.jsx)(r.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(r.code,{children:"docusaurus-theme-common"}),", ",(0,i.jsx)(r.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,i.jsx)(r.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9464",children:"#9464"})," chore: Upgrade clsx to 2.0.0 (",(0,i.jsx)(r.a,{href:"https://github.com/harryzcy",children:"@harryzcy"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9547",children:"#9547"})," chore(core): replace ",(0,i.jsx)(r.code,{children:"wait-on"})," dependency with custom lighter code (",(0,i.jsx)(r.a,{href:"https://github.com/NickGerleman",children:"@NickGerleman"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.code,{children:"docusaurus-plugin-pwa"}),", ",(0,i.jsx)(r.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.a,{href:"https://github.com/facebook/docusaurus/pull/9529",children:"#9529"})," chore: ugrade babel dependencies to v7.23.3 (",(0,i.jsx)(r.a,{href:"https://github.com/reece-white",children:"@reece-white"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"committers-6",children:"Committers: 6"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["Chongyi Zheng (",(0,i.jsx)(r.a,{href:"https://github.com/harryzcy",children:"@harryzcy"}),")"]}),"\n",(0,i.jsxs)(r.li,{children:["MCR Studio (",(0,i.jsx)(r.a,{href:"https://github.com/mcrstudio",children:"@mcrstudio"}),")"]}),"\n",(0,i.jsxs)(r.li,{children:["Nick Gerleman (",(0,i.jsx)(r.a,{href:"https://github.com/NickGerleman",children:"@NickGerleman"}),")"]}),"\n",(0,i.jsxs)(r.li,{children:["Shreesh Nautiyal (",(0,i.jsx)(r.a,{href:"https://github.com/Shreesh09",children:"@Shreesh09"}),")"]}),"\n",(0,i.jsxs)(r.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(r.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"https://github.com/reece-white",children:"@reece-white"})}),"\n"]})]})}function d(e={}){let{wrapper:r}={...(0,h.a)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},80980:function(e,r,s){s.d(r,{Z:()=>n,a:()=>t});var c=s(67294);let i={},h=c.createContext(i);function t(e){let r=c.useContext(h);return c.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function n(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),c.createElement(h.Provider,{value:r},e.children)}},71957:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.0.1","source":"@site/changelog/source/3.0.1.md","title":"3.0.1","description":"Bug Fix","date":"2023-11-30T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Chongyi Zheng","alias":"harryzcy","url":"https://github.com/harryzcy","imageURL":"https://github.com/harryzcy.png","key":"harryzcy","page":null},{"name":"MCR Studio","alias":"mcrstudio","url":"https://github.com/mcrstudio","imageURL":"https://github.com/mcrstudio.png","key":"mcrstudio","page":null},{"name":"Nick Gerleman","alias":"NickGerleman","url":"https://github.com/NickGerleman","imageURL":"https://github.com/NickGerleman.png","key":"NickGerleman","page":null},{"name":"reece-white","alias":"reece-white","url":"https://github.com/reece-white","imageURL":"https://github.com/reece-white.png","key":"reece-white","page":null},{"name":"Shreesh Nautiyal","alias":"Shreesh09","url":"https://github.com/Shreesh09","imageURL":"https://github.com/Shreesh09.png","key":"Shreesh09","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-11-30T20:00","authors":["harryzcy","mcrstudio","NickGerleman","reece-white","Shreesh09","slorber"]},"unlisted":false,"prevItem":{"title":"3.1.0","permalink":"/changelog/3.1.0"},"nextItem":{"title":"3.0.0","permalink":"/changelog/3.0.0"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/2f097a0c.ca971b61.js b/assets/js/2f097a0c.ca971b61.js new file mode 100644 index 0000000000..1cd84e47f8 --- /dev/null +++ b/assets/js/2f097a0c.ca971b61.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["40548"],{9684:function(e,t,s){s.r(t),s.d(t,{default:()=>a});var n=s(85893);s(67294);var u=s(88408),c=s(57922);function a(){return(0,n.jsxs)(u.Z,{children:[(0,n.jsx)(c.Z,{as:"h1",children:"Test Analytics"}),(0,n.jsx)("div",{children:(0,n.jsx)("button",{type:"button",onClick:()=>{window.gtag("event","docusaurus-test-event",{event_category:'docusaurus-test-event-category"',event_label:"docusaurus-test-event-label"})},children:"Submit custom gtag event!"})})]})}}}]); \ No newline at end of file diff --git a/assets/js/2f283cc0.4bb2ac04.js b/assets/js/2f283cc0.4bb2ac04.js new file mode 100644 index 0000000000..d916348ecc --- /dev/null +++ b/assets/js/2f283cc0.4bb2ac04.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["67342"],{87190:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>r,default:()=>h,contentTitle:()=>i,assets:()=>c,toc:()=>a,metadata:()=>d});var d=JSON.parse('{"id":"guides/docs/create-doc","title":"Create a doc","description":"Create a Markdown Document","source":"@site/docs/guides/docs/docs-create-doc.mdx","sourceDirName":"guides/docs","slug":"/create-doc","permalink":"/docs/create-doc","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/docs-create-doc.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"create-doc","description":"Create a Markdown Document","slug":"/create-doc"},"sidebar":"docs","previous":{"title":"Introduction","permalink":"/docs/docs-introduction"},"next":{"title":"Sidebar","permalink":"/docs/sidebar"}}'),o=s(85893),t=s(80980);let r={id:"create-doc",description:"Create a Markdown Document",slug:"/create-doc"},i="Create a doc",c={},a=[{value:"Doc front matter",id:"doc-front-matter",level:2},{value:"Doc tags",id:"doc-tags",level:2},{value:"Organizing folder structure",id:"organizing-folder-structure",level:2},{value:"Document ID",id:"document-id",level:3},{value:"Doc URLs",id:"doc-urls",level:3},{value:"Sidebars",id:"sidebars",level:3}];function l(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"create-a-doc",children:"Create a doc"})}),"\n",(0,o.jsxs)(n.p,{children:["Create a Markdown file, ",(0,o.jsx)(n.code,{children:"greeting.md"}),", and place it under the ",(0,o.jsx)(n.code,{children:"docs"})," directory."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"website # root directory of your site\n\u251C\u2500\u2500 docs\n\u2502 \u2514\u2500\u2500 greeting.md\n\u251C\u2500\u2500 src\n\u2502 \u2514\u2500\u2500 pages\n\u251C\u2500\u2500 docusaurus.config.js\n\u251C\u2500\u2500 ...\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"---\ndescription: Create a doc page with rich content.\n---\n\n# Hello from Docusaurus\n\nAre you ready to create the documentation site for your open source project?\n\n## Headers\n\nwill show up on the table of contents on the upper right\n\nSo that your users will know what this page is all about without scrolling down or even without reading too much.\n\n## Only h2 and h3 will be in the TOC by default.\n\nYou can configure the TOC heading levels either per-document or in the theme configuration.\n\nThe headers are well-spaced so that the hierarchy is clear.\n\n- lists will help you\n- present the key points\n- that you want your users to remember\n - and you may nest them\n - multiple times\n"})}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsxs)(n.p,{children:["All files prefixed with an underscore (",(0,o.jsx)(n.code,{children:"_"}),") under the ",(0,o.jsx)(n.code,{children:"docs"}),' directory are treated as "partial" pages and will be ignored by default.']}),(0,o.jsxs)(n.p,{children:["Read more about ",(0,o.jsx)(n.a,{href:"/docs/markdown-features/react#importing-markdown",children:"importing partial pages"}),"."]})]}),"\n",(0,o.jsx)(n.h2,{id:"doc-front-matter",children:"Doc front matter"}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.a,{href:"/docs/markdown-features#front-matter",children:"front matter"})," is used to provide additional metadata for your doc page. Front matter is optional\u2014Docusaurus will be able to infer all necessary metadata without the front matter. For example, the ",(0,o.jsx)(n.a,{href:"#doc-tags",children:"doc tags"})," feature introduced below requires using front matter. For all possible fields, see ",(0,o.jsx)(n.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-docs#markdown-front-matter",children:"the API documentation"}),"."]}),"\n",(0,o.jsx)(n.h2,{id:"doc-tags",children:"Doc tags"}),"\n",(0,o.jsxs)(n.p,{children:["Tags are declared in the front matter and introduce another dimension of categorization in addition to the ",(0,o.jsx)(n.a,{href:"/docs/sidebar",children:"docs sidebar"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["It is possible to define tags inline, or to reference predefined tags declared in a ",(0,o.jsx)(n.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-docs#tags-file",children:(0,o.jsx)(n.code,{children:"tags file"})})," (optional, usually ",(0,o.jsx)(n.code,{children:"docs/tags.yml"}),")."]}),"\n",(0,o.jsx)(n.p,{children:"In the following example:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"docusaurus"})," references a predefined tag key declared in ",(0,o.jsx)(n.code,{children:"docs/tags.yml"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"Releases"})," is an inline tag, because it does not exist in ",(0,o.jsx)(n.code,{children:"docs/tags.yml"})]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="docs/my-doc.md"',children:"---\ntags:\n - Releases\n - docusaurus\n---\n\n# Title\n\nContent\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yml",metastring:'title="docs/tags.yml"',children:"docusaurus:\n label: 'Docusaurus'\n permalink: '/docusaurus'\n description: 'Docs related to the Docusaurus framework'\n"})}),"\n",(0,o.jsxs)(n.admonition,{type:"tip",children:[(0,o.jsxs)(n.p,{children:["Tags can also be declared with ",(0,o.jsx)(n.code,{children:"tags: [Demo, Getting started]"}),"."]}),(0,o.jsxs)(n.p,{children:["Read more about all the possible ",(0,o.jsx)(n.a,{href:"https://www.w3schools.io/file/yaml-arrays/",children:"Yaml array syntaxes"}),"."]})]}),"\n",(0,o.jsx)(n.h2,{id:"organizing-folder-structure",children:"Organizing folder structure"}),"\n",(0,o.jsxs)(n.p,{children:["How the Markdown files are arranged under the ",(0,o.jsx)(n.code,{children:"docs"})," folder can have multiple impacts on Docusaurus content generation. However, most of them can be decoupled from the file structure."]}),"\n",(0,o.jsx)(n.h3,{id:"document-id",children:"Document ID"}),"\n",(0,o.jsxs)(n.p,{children:["Every document has a unique ",(0,o.jsx)(n.code,{children:"id"}),". By default, a document ",(0,o.jsx)(n.code,{children:"id"})," is the name of the document (without the extension) relative to the root docs directory."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, the ID of ",(0,o.jsx)(n.code,{children:"greeting.md"})," is ",(0,o.jsx)(n.code,{children:"greeting"}),", and the ID of ",(0,o.jsx)(n.code,{children:"guide/hello.md"})," is ",(0,o.jsx)(n.code,{children:"guide/hello"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"website # Root directory of your site\n\u2514\u2500\u2500 docs\n \u251C\u2500\u2500 greeting.md\n \u2514\u2500\u2500 guide\n \u2514\u2500\u2500 hello.md\n"})}),"\n",(0,o.jsxs)(n.p,{children:["However, the ",(0,o.jsx)(n.strong,{children:"last part"})," of the ",(0,o.jsx)(n.code,{children:"id"})," can be defined by the user in the front matter. For example, if ",(0,o.jsx)(n.code,{children:"guide/hello.md"}),"'s content is defined as below, its final ",(0,o.jsx)(n.code,{children:"id"})," is ",(0,o.jsx)(n.code,{children:"guide/part1"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"---\nid: part1\n---\n\nLorem ipsum\n"})}),"\n",(0,o.jsx)(n.p,{children:"The ID is used to refer to a document when hand-writing sidebars, or when using docs-related layout components or hooks."}),"\n",(0,o.jsx)(n.h3,{id:"doc-urls",children:"Doc URLs"}),"\n",(0,o.jsxs)(n.p,{children:["By default, a document's URL location is its file path relative to the ",(0,o.jsx)(n.code,{children:"docs"})," folder, with a few exceptions. Namely, if a file is named one the following, the file name won't be included in the URL:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Named as ",(0,o.jsx)(n.code,{children:"index"})," (case-insensitive): ",(0,o.jsx)(n.code,{children:"docs/Guides/index.md"})]}),"\n",(0,o.jsxs)(n.li,{children:["Named as ",(0,o.jsx)(n.code,{children:"README"})," (case-insensitive): ",(0,o.jsx)(n.code,{children:"docs/Guides/README.mdx"})]}),"\n",(0,o.jsxs)(n.li,{children:["Same name as parent folder: ",(0,o.jsx)(n.code,{children:"docs/Guides/Guides.md"})]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["In all cases, the default slug would only be ",(0,o.jsx)(n.code,{children:"/Guides"}),", without the ",(0,o.jsx)(n.code,{children:"/index"}),", ",(0,o.jsx)(n.code,{children:"/README"}),", or duplicate ",(0,o.jsx)(n.code,{children:"/Guides"})," segment."]}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["This convention is exactly the same as ",(0,o.jsx)(n.a,{href:"/docs/sidebar/autogenerated#category-index-convention",children:"the category index convention"}),". However, the ",(0,o.jsx)(n.code,{children:"isCategoryIndex"})," configuration does ",(0,o.jsx)(n.em,{children:"not"})," affect the document URL."]})}),"\n",(0,o.jsxs)(n.p,{children:["Use the ",(0,o.jsx)(n.code,{children:"slug"})," front matter to change a document's URL."]}),"\n",(0,o.jsx)(n.p,{children:"For example, suppose your site structure looks like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"website # Root directory of your site\n\u2514\u2500\u2500 docs\n \u2514\u2500\u2500 guide\n \u2514\u2500\u2500 hello.md\n"})}),"\n",(0,o.jsxs)(n.p,{children:["By default ",(0,o.jsx)(n.code,{children:"hello.md"})," will be available at ",(0,o.jsx)(n.code,{children:"/docs/guide/hello"}),". You can change its URL location to ",(0,o.jsx)(n.code,{children:"/docs/bonjour"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"---\nslug: /bonjour\n---\n\nLorem ipsum\n"})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"slug"})," will be appended to the doc plugin's ",(0,o.jsx)(n.code,{children:"routeBasePath"}),", which is ",(0,o.jsx)(n.code,{children:"/docs"})," by default. See ",(0,o.jsx)(n.a,{href:"/docs/docs-introduction#docs-only-mode",children:"Docs-only mode"})," for how to remove the ",(0,o.jsx)(n.code,{children:"/docs"})," part from the URL."]}),"\n",(0,o.jsxs)(n.admonition,{type:"note",children:[(0,o.jsx)(n.p,{children:"It is possible to use:"}),(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["absolute slugs: ",(0,o.jsx)(n.code,{children:"slug: /mySlug"}),", ",(0,o.jsx)(n.code,{children:"slug: /"}),"..."]}),"\n",(0,o.jsxs)(n.li,{children:["relative slugs: ",(0,o.jsx)(n.code,{children:"slug: mySlug"}),", ",(0,o.jsx)(n.code,{children:"slug: ./../mySlug"}),"..."]}),"\n"]})]}),"\n",(0,o.jsxs)(n.p,{children:["If you want a document to be available at the root, and have a path like ",(0,o.jsx)(n.code,{children:"https://docusaurus.io/docs/"}),", you can use the slug front matter:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"---\nid: my-home-doc\nslug: /\n---\n\nLorem ipsum\n"})}),"\n",(0,o.jsx)(n.h3,{id:"sidebars",children:"Sidebars"}),"\n",(0,o.jsxs)(n.p,{children:["When using ",(0,o.jsx)(n.a,{href:"/docs/sidebar/autogenerated",children:"autogenerated sidebars"}),", the file structure will determine the sidebar structure."]}),"\n",(0,o.jsxs)(n.p,{children:["Our recommendation for file system organization is: make your file system mirror the sidebar structure (so you don't need to handwrite your ",(0,o.jsx)(n.code,{children:"sidebars.js"})," file), and use the ",(0,o.jsx)(n.code,{children:"slug"})," front matter to customize URLs of each document."]})]})}function h(e={}){let{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},80980:function(e,n,s){s.d(n,{Z:()=>i,a:()=>r});var d=s(67294);let o={},t=d.createContext(o);function r(e){let n=d.useContext(t);return d.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),d.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2f90ada4.ee443b02.js b/assets/js/2f90ada4.ee443b02.js new file mode 100644 index 0000000000..9cf9f272b4 --- /dev/null +++ b/assets/js/2f90ada4.ee443b02.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["63458"],{8087:function(e){e.exports=JSON.parse('{"tag":{"label":"Some-tag","permalink":"/tests/docs/tags/some-tag","allTagsPath":"/tests/docs/tags","count":1,"items":[{"id":"more-test","title":"Another test page","description":"Test link","permalink":"/tests/docs/more-test"}],"unlisted":false}}')}}]); \ No newline at end of file diff --git a/assets/js/305daa1e.3cc66700.js b/assets/js/305daa1e.3cc66700.js new file mode 100644 index 0000000000..e974f21652 --- /dev/null +++ b/assets/js/305daa1e.3cc66700.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["96720"],{9602:function(e,t,s){s.d(t,{Z:()=>n});let n=s.p+"assets/images/local-image-05286ebd44ab198d038adbeee9544858.png"},74214:function(e,t,s){s.r(t),s.d(t,{frontMatter:()=>c,default:()=>p,contentTitle:()=>a,assets:()=>r,toc:()=>d,metadata:()=>n});var n=JSON.parse('{"type":"mdx","permalink":"/tests/pages/seo","source":"@site/_dogfooding/_pages tests/seo.md","title":"custom SEO title","description":"custom SEO description","frontMatter":{"title":"custom SEO title","description":"custom SEO description","keywords":["custom","keywords"],"image":"./local-image.png"},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/seo.md","unlisted":false}'),o=s(85893),i=s(80980);let c={title:"custom SEO title",description:"custom SEO description",keywords:["custom","keywords"],image:"./local-image.png"},a="SEO tests",r={image:s(9602).Z},d=[];function l(e){let t={code:"code",h1:"h1",header:"header",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"seo-tests",children:"SEO tests"})}),"\n",(0,o.jsx)(t.p,{children:"Using page SEO front matter:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-yaml",children:"title: custom SEO title\ndescription: custom SEO description\nkeywords: [custom, keywords]\nimage: ./local-image.png\n"})})]})}function p(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},80980:function(e,t,s){s.d(t,{Z:()=>a,a:()=>c});var n=s(67294);let o={},i=n.createContext(o);function c(e){let t=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3089c7fb.f7772b0c.js b/assets/js/3089c7fb.f7772b0c.js new file mode 100644 index 0000000000..940f0ed644 --- /dev/null +++ b/assets/js/3089c7fb.f7772b0c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["42249"],{50011:function(e,a,t){t.r(a),t.d(a,{assets:()=>h,contentTitle:()=>s,default:()=>g,frontMatter:()=>l,metadata:()=>i,toc:()=>r});var i=t(36907),n=t(85893),o=t(80980);let l={mdx:{format:"md"},date:"2022-02-25T20:00",authors:["apidev234","artemkovalyov","BigDataWriter","cdemonchy-pro","CodeDoctorDE","CookieJarApps","dmitryvinn","dmitryvinn-fb","ebarojas","erickzhao","felipecrs","homotechsual","jodyheavener","johnnyreilly","Josh-Cena","kalevski","kgajera","koistya","lebalz","lex111","milesj","mrbrunelli","NaseelNiyas","nick-verida","nschonni","pranabdas","redhoyasa","revi","Ruben-Arushanyan","seyoon20087","slorber","tamalweb","TheCatLady","thedanielhanke","toto6038","vidarc","winterlood","yangshun"]},s="2.0.0-beta.16",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},r=[];function m(e){return(0,n.jsx)(n.Fragment,{})}function g(e={}){let{wrapper:a}={...(0,o.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},80980:function(e,a,t){t.d(a,{Z:()=>s,a:()=>l});var i=t(67294);let n={},o=i.createContext(n);function l(e){let a=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function s(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),i.createElement(o.Provider,{value:a},e.children)}},36907:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.16","source":"@site/changelog/source/2.0.0-beta.16.md","title":"2.0.0-beta.16","description":"New Feature","date":"2022-02-25T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Gaurish","alias":"apidev234","url":"https://github.com/apidev234","imageURL":"https://github.com/apidev234.png","key":"apidev234","page":null},{"name":"Artem Kovalov","alias":"artemkovalyov","url":"https://github.com/artemkovalyov","imageURL":"https://github.com/artemkovalyov.png","key":"artemkovalyov","page":null},{"name":"BigDataWriter","alias":"BigDataWriter","url":"https://github.com/BigDataWriter","imageURL":"https://github.com/BigDataWriter.png","key":"BigDataWriter","page":null},{"name":"Clement Demonchy","alias":"cdemonchy-pro","url":"https://github.com/cdemonchy-pro","imageURL":"https://github.com/cdemonchy-pro.png","key":"cdemonchy-pro","page":null},{"name":"CodeDoctor","alias":"CodeDoctorDE","url":"https://github.com/CodeDoctorDE","imageURL":"https://github.com/CodeDoctorDE.png","key":"CodeDoctorDE","page":null},{"name":"CookieJarApps","alias":"CookieJarApps","url":"https://github.com/CookieJarApps","imageURL":"https://github.com/CookieJarApps.png","key":"CookieJarApps","page":null},{"name":"Dmitry Vinnik","alias":"dmitryvinn","url":"https://github.com/dmitryvinn","imageURL":"https://github.com/dmitryvinn.png","key":"dmitryvinn","page":null},{"name":"Dmitry Vinnik | Meta","alias":"dmitryvinn-fb","url":"https://github.com/dmitryvinn-fb","imageURL":"https://github.com/dmitryvinn-fb.png","key":"dmitryvinn-fb","page":null},{"name":"Everardo J. Barojas M.","alias":"ebarojas","url":"https://github.com/ebarojas","imageURL":"https://github.com/ebarojas.png","key":"ebarojas","page":null},{"name":"Erick Zhao","alias":"erickzhao","url":"https://github.com/erickzhao","imageURL":"https://github.com/erickzhao.png","key":"erickzhao","page":null},{"name":"Felipe Santos","alias":"felipecrs","url":"https://github.com/felipecrs","imageURL":"https://github.com/felipecrs.png","key":"felipecrs","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Jody Heavener","alias":"jodyheavener","url":"https://github.com/jodyheavener","imageURL":"https://github.com/jodyheavener.png","key":"jodyheavener","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Daniel Kalevski","alias":"kalevski","url":"https://github.com/kalevski","imageURL":"https://github.com/kalevski.png","key":"kalevski","page":null},{"name":"Kishan Gajera","alias":"kgajera","url":"https://github.com/kgajera","imageURL":"https://github.com/kgajera.png","key":"kgajera","page":null},{"name":"Konstantin Tarkus","alias":"koistya","url":"https://github.com/koistya","imageURL":"https://github.com/koistya.png","key":"koistya","page":null},{"name":"Balthasar Hofer","alias":"lebalz","url":"https://github.com/lebalz","imageURL":"https://github.com/lebalz.png","key":"lebalz","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Miles Johnson","alias":"milesj","url":"https://github.com/milesj","imageURL":"https://github.com/milesj.png","key":"milesj","page":null},{"name":"Matheus Ricardo Brunelli","alias":"mrbrunelli","url":"https://github.com/mrbrunelli","imageURL":"https://github.com/mrbrunelli.png","key":"mrbrunelli","page":null},{"name":"Naseel Niyas","alias":"NaseelNiyas","url":"https://github.com/NaseelNiyas","imageURL":"https://github.com/NaseelNiyas.png","key":"NaseelNiyas","page":null},{"name":"nick-verida","alias":"nick-verida","url":"https://github.com/nick-verida","imageURL":"https://github.com/nick-verida.png","key":"nick-verida","page":null},{"name":"Nick Schonning","alias":"nschonni","url":"https://github.com/nschonni","imageURL":"https://github.com/nschonni.png","key":"nschonni","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"Muhammad Redho Ayassa","alias":"redhoyasa","url":"https://github.com/redhoyasa","imageURL":"https://github.com/redhoyasa.png","key":"redhoyasa","page":null},{"name":"Yongmin Hong","alias":"revi","url":"https://github.com/revi","imageURL":"https://github.com/revi.png","key":"revi","page":null},{"name":"Ruben Arushanyan","alias":"Ruben-Arushanyan","url":"https://github.com/Ruben-Arushanyan","imageURL":"https://github.com/Ruben-Arushanyan.png","key":"Ruben-Arushanyan","page":null},{"name":"seyoon20087","alias":"seyoon20087","url":"https://github.com/seyoon20087","imageURL":"https://github.com/seyoon20087.png","key":"seyoon20087","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tamal Web","alias":"tamalweb","url":"https://github.com/tamalweb","imageURL":"https://github.com/tamalweb.png","key":"tamalweb","page":null},{"name":"TheCatLady","alias":"TheCatLady","url":"https://github.com/TheCatLady","imageURL":"https://github.com/TheCatLady.png","key":"TheCatLady","page":null},{"name":"Daniel Hanke","alias":"thedanielhanke","url":"https://github.com/thedanielhanke","imageURL":"https://github.com/thedanielhanke.png","key":"thedanielhanke","page":null},{"name":"toto6038","alias":"toto6038","url":"https://github.com/toto6038","imageURL":"https://github.com/toto6038.png","key":"toto6038","page":null},{"name":"Matthew Ailes","alias":"vidarc","url":"https://github.com/vidarc","imageURL":"https://github.com/vidarc.png","key":"vidarc","page":null},{"name":"\uC774\uC815\uD658","alias":"winterlood","url":"https://github.com/winterlood","imageURL":"https://github.com/winterlood.png","key":"winterlood","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-02-25T20:00","authors":["apidev234","artemkovalyov","BigDataWriter","cdemonchy-pro","CodeDoctorDE","CookieJarApps","dmitryvinn","dmitryvinn-fb","ebarojas","erickzhao","felipecrs","homotechsual","jodyheavener","johnnyreilly","Josh-Cena","kalevski","kgajera","koistya","lebalz","lex111","milesj","mrbrunelli","NaseelNiyas","nick-verida","nschonni","pranabdas","redhoyasa","revi","Ruben-Arushanyan","seyoon20087","slorber","tamalweb","TheCatLady","thedanielhanke","toto6038","vidarc","winterlood","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.17","permalink":"/changelog/2.0.0-beta.17"},"nextItem":{"title":"2.0.0-beta.15","permalink":"/changelog/2.0.0-beta.15"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/3103a69b.c1c55a22.js b/assets/js/3103a69b.c1c55a22.js new file mode 100644 index 0000000000..e0d8f4758d --- /dev/null +++ b/assets/js/3103a69b.c1c55a22.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["54553"],{60965:function(t,e,s){s.r(e),s.d(e,{frontMatter:()=>d,default:()=>c,contentTitle:()=>o,assets:()=>r,toc:()=>a,metadata:()=>i});var i=JSON.parse('{"id":"tests/visibility/only-unlisteds/unlisted2","title":"Only Unlisteds - Unlisted 2","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/only-unlisteds/unlisted2.mdx","sourceDirName":"tests/visibility/only-unlisteds","slug":"/tests/visibility/only-unlisteds/unlisted2","permalink":"/tests/docs/tests/visibility/only-unlisteds/unlisted2","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"}'),n=s(85893),l=s(80980);let d={unlisted:!0,tags:["visibility","unlisted"]},o="Only Unlisteds - Unlisted 2",r={},a=[];function u(t){let e={h1:"h1",header:"header",p:"p",...(0,l.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"only-unlisteds---unlisted-2",children:"Only Unlisteds - Unlisted 2"})}),"\n",(0,n.jsx)(e.p,{children:"Doc with unlisted front matter"})]})}function c(t={}){let{wrapper:e}={...(0,l.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(u,{...t})}):u(t)}c.displayName="MDXContent(_dogfooding/_docs tests/tests/visibility/only-unlisteds/unlisted2.mdx)"},80980:function(t,e,s){s.d(e,{Z:()=>o,a:()=>d});var i=s(67294);let n={},l=i.createContext(n);function d(t){let e=i.useContext(l);return i.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:d(t.components),i.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/31453.f7c20e8b.js b/assets/js/31453.f7c20e8b.js new file mode 100644 index 0000000000..2ea7106294 --- /dev/null +++ b/assets/js/31453.f7c20e8b.js @@ -0,0 +1,76 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["31453"],{2091:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BLANK_URL=e.relativeFirstCharacters=e.whitespaceEscapeCharsRegex=e.urlSchemeRegex=e.ctrlCharactersRegex=e.htmlCtrlEntityRegex=e.htmlEntitiesRegex=e.invalidProtocolRegex=void 0,e.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,e.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,e.htmlCtrlEntityRegex=/&(newline|tab);/gi,e.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,e.urlSchemeRegex=/^.+(:|:)/gim,e.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,e.relativeFirstCharacters=[".","/"],e.BLANK_URL="about:blank"},7608:function(t,e,r){"use strict";e.sanitizeUrl=void 0;var i=r(2091);function n(t){try{return decodeURIComponent(t)}catch(e){return t}}e.sanitizeUrl=function(t){if(!t)return i.BLANK_URL;var e,r=n(t.trim());do e=(r=n(r=r.replace(i.ctrlCharactersRegex,"").replace(i.htmlEntitiesRegex,function(t,e){return String.fromCharCode(e)}).replace(i.htmlCtrlEntityRegex,"").replace(i.ctrlCharactersRegex,"").replace(i.whitespaceEscapeCharsRegex,"").trim())).match(i.ctrlCharactersRegex)||r.match(i.htmlEntitiesRegex)||r.match(i.htmlCtrlEntityRegex)||r.match(i.whitespaceEscapeCharsRegex);while(e&&e.length>0);var o=r;if(!o)return i.BLANK_URL;if(i.relativeFirstCharacters.indexOf(o[0])>-1)return o;var a=o.trimStart(),s=a.match(i.urlSchemeRegex);if(!s)return o;var l=s[0].toLowerCase().trim();if(i.invalidProtocolRegex.test(l))return i.BLANK_URL;var h=a.replace(/\\/g,"/");if("mailto:"===l||l.includes("://"))return h;if("http:"===l||"https:"===l){if(!URL.canParse(h))return i.BLANK_URL;var c=new URL(h);return c.protocol=c.protocol.toLowerCase(),c.hostname=c.hostname.toLowerCase(),c.toString()}return h}},27693:function(t){var e;e=function(){"use strict";var t="millisecond",e="second",r="minute",i="hour",n="week",o="month",a="quarter",s="year",l="date",h="Invalid Date",c=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=function(t,e,r){var i=String(t);return!i||i.length>=e?t:""+Array(e+1-i.length).join(r)+t},f="en",p={};p[f]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],r=t%100;return"["+t+(e[(r-20)%10]||e[r]||"th")+"]"}};var g="$isDayjsObject",y=function(t){return t instanceof C||!(!t||!t[g])},m=function t(e,r,i){var n;if(!e)return f;if("string"==typeof e){var o=e.toLowerCase();p[o]&&(n=o),r&&(p[o]=r,n=o);var a=e.split("-");if(!n&&a.length>1)return t(a[0])}else{var s=e.name;p[s]=e,n=s}return!i&&n&&(f=n),n||!i&&f},x=function(t,e){if(y(t))return t.clone();var r="object"==typeof e?e:{};return r.date=t,r.args=arguments,new C(r)},b={s:d,z:function(t){var e=-t.utcOffset(),r=Math.abs(e);return(e<=0?"+":"-")+d(Math.floor(r/60),2,"0")+":"+d(r%60,2,"0")},m:function t(e,r){if(e.date()<r.date())return-t(r,e);var i=12*(r.year()-e.year())+(r.month()-e.month()),n=e.clone().add(i,o),a=r-n<0,s=e.clone().add(i+(a?-1:1),o);return+(-(i+(r-n)/(a?n-s:s-n))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(h){return({M:o,y:s,w:n,d:"day",D:l,h:i,m:r,s:e,ms:t,Q:a})[h]||String(h||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}};b.l=m,b.i=y,b.w=function(t,e){return x(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var C=function(){function d(t){this.$L=m(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[g]=!0}var f=d.prototype;return f.parse=function(t){this.$d=function(t){var e=t.date,r=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(c);if(i){var n=i[2]-1||0,o=(i[7]||"0").substring(0,3);return r?new Date(Date.UTC(i[1],n,i[3]||1,i[4]||0,i[5]||0,i[6]||0,o)):new Date(i[1],n,i[3]||1,i[4]||0,i[5]||0,i[6]||0,o)}}return new Date(e)}(t),this.init()},f.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},f.$utils=function(){return b},f.isValid=function(){return this.$d.toString()!==h},f.isSame=function(t,e){var r=x(t);return this.startOf(e)<=r&&r<=this.endOf(e)},f.isAfter=function(t,e){return x(t)<this.startOf(e)},f.isBefore=function(t,e){return this.endOf(e)<x(t)},f.$g=function(t,e,r){return b.u(t)?this[e]:this.set(r,t)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(t,a){var h=this,c=!!b.u(a)||a,u=b.p(t),d=function(t,e){var r=b.w(h.$u?Date.UTC(h.$y,e,t):new Date(h.$y,e,t),h);return c?r:r.endOf("day")},f=function(t,e){return b.w(h.toDate()[t].apply(h.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(e)),h)},p=this.$W,g=this.$M,y=this.$D,m="set"+(this.$u?"UTC":"");switch(u){case s:return c?d(1,0):d(31,11);case o:return c?d(1,g):d(0,g+1);case n:var x=this.$locale().weekStart||0,C=(p<x?p+7:p)-x;return d(c?y-C:y+(6-C),g);case"day":case l:return f(m+"Hours",0);case i:return f(m+"Minutes",1);case r:return f(m+"Seconds",2);case e:return f(m+"Milliseconds",3);default:return this.clone()}},f.endOf=function(t){return this.startOf(t,!1)},f.$set=function(n,a){var h,c=b.p(n),u="set"+(this.$u?"UTC":""),d=((h={}).day=u+"Date",h[l]=u+"Date",h[o]=u+"Month",h[s]=u+"FullYear",h[i]=u+"Hours",h[r]=u+"Minutes",h[e]=u+"Seconds",h[t]=u+"Milliseconds",h)[c],f="day"===c?this.$D+(a-this.$W):a;if(c===o||c===s){var p=this.clone().set(l,1);p.$d[d](f),p.init(),this.$d=p.set(l,Math.min(this.$D,p.daysInMonth())).$d}else d&&this.$d[d](f);return this.init(),this},f.set=function(t,e){return this.clone().$set(t,e)},f.get=function(t){return this[b.p(t)]()},f.add=function(t,a){var l,h=this;t=Number(t);var c=b.p(a),u=function(e){var r=x(h);return b.w(r.date(r.date()+Math.round(e*t)),h)};if(c===o)return this.set(o,this.$M+t);if(c===s)return this.set(s,this.$y+t);if("day"===c)return u(1);if(c===n)return u(7);var d=((l={})[r]=6e4,l[i]=36e5,l[e]=1e3,l)[c]||1,f=this.$d.getTime()+t*d;return b.w(f,this)},f.subtract=function(t,e){return this.add(-1*t,e)},f.format=function(t){var e=this,r=this.$locale();if(!this.isValid())return r.invalidDate||h;var i=t||"YYYY-MM-DDTHH:mm:ssZ",n=b.z(this),o=this.$H,a=this.$m,s=this.$M,l=r.weekdays,c=r.months,d=r.meridiem,f=function(t,r,n,o){return t&&(t[r]||t(e,i))||n[r].slice(0,o)},p=function(t){return b.s(o%12||12,t,"0")},g=d||function(t,e,r){var i=t<12?"AM":"PM";return r?i.toLowerCase():i};return i.replace(u,function(t,i){return i||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return s+1;case"MM":return b.s(s+1,2,"0");case"MMM":return f(r.monthsShort,s,c,3);case"MMMM":return f(c,s);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return f(r.weekdaysMin,e.$W,l,2);case"ddd":return f(r.weekdaysShort,e.$W,l,3);case"dddd":return l[e.$W];case"H":return String(o);case"HH":return b.s(o,2,"0");case"h":return p(1);case"hh":return p(2);case"a":return g(o,a,!0);case"A":return g(o,a,!1);case"m":return String(a);case"mm":return b.s(a,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return n}return null}(t)||n.replace(":","")})},f.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},f.diff=function(t,l,h){var c,u=this,d=b.p(l),f=x(t),p=(f.utcOffset()-this.utcOffset())*6e4,g=this-f,y=function(){return b.m(u,f)};switch(d){case s:c=y()/12;break;case o:c=y();break;case a:c=y()/3;break;case n:c=(g-p)/6048e5;break;case"day":c=(g-p)/864e5;break;case i:c=g/36e5;break;case r:c=g/6e4;break;case e:c=g/1e3;break;default:c=g}return h?c:b.a(c)},f.daysInMonth=function(){return this.endOf(o).$D},f.$locale=function(){return p[this.$L]},f.locale=function(t,e){if(!t)return this.$L;var r=this.clone(),i=m(t,e,!0);return i&&(r.$L=i),r},f.clone=function(){return b.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},d}(),k=C.prototype;return x.prototype=k,[["$ms",t],["$s",e],["$m",r],["$H",i],["$W","day"],["$M",o],["$y",s],["$D",l]].forEach(function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),x.extend=function(t,e){return t.$i||(t(e,C,x),t.$i=!0),x},x.locale=m,x.isDayjs=y,x.unix=function(t){return x(1e3*t)},x.en=p[f],x.Ls=p,x.p={},x},t.exports=e()},11464:function(t,e,r){"use strict";function i(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var i=Array.from("string"==typeof t?[t]:t);i[i.length-1]=i[i.length-1].replace(/\r?\n([\t ]*)$/,"");var n=i.reduce(function(t,e){var r=e.match(/\n([\t ]+|(?!\s).)/g);return r?t.concat(r.map(function(t){var e,r;return null!==(r=null===(e=t.match(/[\t ]/g))||void 0===e?void 0:e.length)&&void 0!==r?r:0})):t},[]);if(n.length){var o=RegExp("\n[ ]{"+Math.min.apply(Math,n)+"}","g");i=i.map(function(t){return t.replace(o,"\n")})}i[0]=i[0].replace(/^\r?\n/,"");var a=i[0];return e.forEach(function(t,e){var r=a.match(/(?:^|\n)( *)$/),n=r?r[1]:"",o=t;"string"==typeof t&&t.includes("\n")&&(o=String(t).split("\n").map(function(t,e){return 0===e?t:""+n+t}).join("\n")),a+=o+i[e+1]}),a}r.d(e,{Z:()=>i})},11141:function(t,e,r){"use strict";function i(t,e){let r;if(void 0===e)for(let e of t)null!=e&&(r<e||void 0===r&&e>=e)&&(r=e);else{let i=-1;for(let n of t)null!=(n=e(n,++i,t))&&(r<n||void 0===r&&n>=n)&&(r=n)}return r}function n(t,e){let r;if(void 0===e)for(let e of t)null!=e&&(r>e||void 0===r&&e>=e)&&(r=e);else{let i=-1;for(let n of t)null!=(n=e(n,++i,t))&&(r>n||void 0===r&&n>=n)&&(r=n)}return r}function o(t){return t}function a(t){return"translate("+t+",0)"}function s(t){return"translate(0,"+t+")"}function l(){return!this.__axis}function h(t,e){var r=[],i=null,n=null,h=6,c=6,u=3,d="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,f=1===t||4===t?-1:1,p=4===t||2===t?"x":"y",g=1===t||3===t?a:s;function y(a){var s=null==i?e.ticks?e.ticks.apply(e,r):e.domain():i,y=null==n?e.tickFormat?e.tickFormat.apply(e,r):o:n,m=Math.max(h,0)+u,x=e.range(),b=+x[0]+d,C=+x[x.length-1]+d,k=(e.bandwidth?function(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}:function(t){return e=>+t(e)})(e.copy(),d),_=a.selection?a.selection():a,w=_.selectAll(".domain").data([null]),v=_.selectAll(".tick").data(s,e).order(),T=v.exit(),S=v.enter().append("g").attr("class","tick"),M=v.select("line"),B=v.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),v=v.merge(S),M=M.merge(S.append("line").attr("stroke","currentColor").attr(p+"2",f*h)),B=B.merge(S.append("text").attr("fill","currentColor").attr(p,f*m).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),a!==_&&(w=w.transition(a),v=v.transition(a),M=M.transition(a),B=B.transition(a),T=T.transition(a).attr("opacity",1e-6).attr("transform",function(t){return isFinite(t=k(t))?g(t+d):this.getAttribute("transform")}),S.attr("opacity",1e-6).attr("transform",function(t){var e=this.parentNode.__axis;return g((e&&isFinite(e=e(t))?e:k(t))+d)})),T.remove(),w.attr("d",4===t||2===t?c?"M"+f*c+","+b+"H"+d+"V"+C+"H"+f*c:"M"+d+","+b+"V"+C:c?"M"+b+","+f*c+"V"+d+"H"+C+"V"+f*c:"M"+b+","+d+"H"+C),v.attr("opacity",1).attr("transform",function(t){return g(k(t)+d)}),M.attr(p+"2",f*h),B.attr(p,f*m).text(y),_.filter(l).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),_.each(function(){this.__axis=k})}return y.scale=function(t){return arguments.length?(e=t,y):e},y.ticks=function(){return r=Array.from(arguments),y},y.tickArguments=function(t){return arguments.length?(r=null==t?[]:Array.from(t),y):r.slice()},y.tickValues=function(t){return arguments.length?(i=null==t?null:Array.from(t),y):i&&i.slice()},y.tickFormat=function(t){return arguments.length?(n=t,y):n},y.tickSize=function(t){return arguments.length?(h=c=+t,y):h},y.tickSizeInner=function(t){return arguments.length?(h=+t,y):h},y.tickSizeOuter=function(t){return arguments.length?(c=+t,y):c},y.tickPadding=function(t){return arguments.length?(u=+t,y):u},y.offset=function(t){return arguments.length?(d=+t,y):d},y}function c(t){return h(1,t)}function u(t){return h(3,t)}function d(){}function f(t){return null==t?d:function(){return this.querySelector(t)}}function p(){return[]}function g(t){return null==t?p:function(){return this.querySelectorAll(t)}}function y(t){return function(){return this.matches(t)}}function m(t){return function(e){return e.matches(t)}}r.d(e,{Fp7:()=>i,qpX:()=>n0,S1K:()=>rT,iJ:()=>ow,LqH:()=>rq,PKp:()=>eJ,Z_i:()=>rS,jvg:()=>nN,VV$:()=>n,Ox9:()=>rO,tFB:()=>n3,$0Z:()=>nV,WQD:()=>rB,dCK:()=>ot,c_6:()=>nD,YY7:()=>n4,zgE:()=>oi,F5q:()=>c,jsv:()=>ov,BYU:()=>function t(){var e,r=rc();return r.copy=function(){return rh(r,t())},eV.apply(r,arguments),e=r.domain,r.ticks=function(t){var r=e();return function(t,e,r){if(e*=1,t*=1,!((r*=1)>0))return[];if(t===e)return[t];let i=e<t,[n,o,a]=i?e3(e,t,r):e3(t,e,r);if(!(o>=n))return[];let s=o-n+1,l=Array(s);if(i){if(a<0)for(let t=0;t<s;++t)l[t]=-((o-t)/a);else for(let t=0;t<s;++t)l[t]=(o-t)*a}else if(a<0)for(let t=0;t<s;++t)l[t]=-((n+t)/a);else for(let t=0;t<s;++t)l[t]=(n+t)*a;return l}(r[0],r[r.length-1],null==t?10:t)},r.tickFormat=function(t,r){var i=e();return function(t,e,r,i){var n,o,a,s=e6(t,e,r);switch((i=rd(null==i?",f":i)).type){case"s":var l=Math.max(Math.abs(t),Math.abs(e));return null==i.precision&&!isNaN(a=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(rg(l)/3)))-rg(Math.abs(s))))&&(i.precision=a),ts(i,l);case"":case"e":case"g":case"p":case"r":null==i.precision&&!isNaN(a=Math.max(0,rg(Math.abs(Math.max(Math.abs(t),Math.abs(e)))-(n=Math.abs(n=s)))-rg(n))+1)&&(i.precision=a-("e"===i.type));break;case"f":case"%":null==i.precision&&!isNaN(a=Math.max(0,-rg(Math.abs(s))))&&(i.precision=a-("%"===i.type)*2)}return ta(i)}(i[0],i[i.length-1],null==t?10:t,r)},r.nice=function(t){null==t&&(t=10);var i,n,o=e(),a=0,s=o.length-1,l=o[a],h=o[s],c=10;for(h<l&&(n=l,l=h,h=n,n=a,a=s,s=n);c-- >0;){if((n=e5(l,h,t))===i)return o[a]=l,o[s]=h,e(o);if(n>0)l=Math.floor(l/n)*n,h=Math.ceil(h/n)*n;else if(n<0)l=Math.ceil(l*n)/n,h=Math.floor(h*n)/n;else break;i=n}return r},r},Zyz:()=>r$,Dts:()=>nX,YDX:()=>rI,ve8:()=>nj,$m7:()=>os,K2I:()=>nh,Nb1:()=>nO,fGX:()=>oo,rr1:()=>rF,JHv:()=>eH,tiA:()=>function t(){var e,r,i=eJ().unknown(void 0),n=i.domain,o=i.range,a=0,s=1,l=!1,h=0,c=0,u=.5;function d(){var t=n().length,i=s<a,d=i?s:a,f=i?a:s;e=(f-d)/Math.max(1,t-h+2*c),l&&(e=Math.floor(e)),d+=(f-d-e*(t-h))*u,r=e*(1-h),l&&(d=Math.round(d),r=Math.round(r));var p=(function(t,e,r){t*=1,e*=1,r=(n=arguments.length)<2?(e=t,t=0,1):n<3?1:+r;for(var i=-1,n=0|Math.max(0,Math.ceil((e-t)/r)),o=Array(n);++i<n;)o[i]=t+i*r;return o})(t).map(function(t){return d+e*t});return o(i?p.reverse():p)}return delete i.unknown,i.domain=function(t){return arguments.length?(n(t),d()):n()},i.range=function(t){return arguments.length?([a,s]=t,a*=1,s*=1,d()):[a,s]},i.rangeRound=function(t){return[a,s]=t,a*=1,s*=1,l=!0,d()},i.bandwidth=function(){return r},i.step=function(){return e},i.round=function(t){return arguments.length?(l=!!t,d()):l},i.padding=function(t){return arguments.length?(h=Math.min(1,c=+t),d()):h},i.paddingInner=function(t){return arguments.length?(h=Math.min(1,t),d()):h},i.paddingOuter=function(t){return arguments.length?(c=+t,d()):c},i.align=function(t){return arguments.length?(u=Math.max(0,Math.min(1,t)),d()):u},i.copy=function(){return t(n(),[a,s]).round(l).paddingInner(h).paddingOuter(c).align(u)},eV.apply(d(),arguments)},U8T:()=>rv,LLu:()=>u,SxZ:()=>oC,F0B:()=>rG,WQY:()=>nK,Ys:()=>nc,OvA:()=>n9,ak_:()=>om,eA_:()=>o_,y2j:()=>rz,EFj:()=>rZ,u93:()=>n1,fxm:()=>oh,Igq:()=>rD,i$Z:()=>th,Xf:()=>nl,FdL:()=>oy});var x=Array.prototype.find;function b(){return this.firstElementChild}var C=Array.prototype.filter;function k(){return Array.from(this.children)}function _(t){return Array(t.length)}function w(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function v(t,e,r,i,n,o){for(var a,s=0,l=e.length,h=o.length;s<h;++s)(a=e[s])?(a.__data__=o[s],i[s]=a):r[s]=new w(t,o[s]);for(;s<l;++s)(a=e[s])&&(n[s]=a)}function T(t,e,r,i,n,o,a){var s,l,h,c=new Map,u=e.length,d=o.length,f=Array(u);for(s=0;s<u;++s)(l=e[s])&&(f[s]=h=a.call(l,l.__data__,s,e)+"",c.has(h)?n[s]=l:c.set(h,l));for(s=0;s<d;++s)h=a.call(t,o[s],s,o)+"",(l=c.get(h))?(i[s]=l,l.__data__=o[s],c.delete(h)):r[s]=new w(t,o[s]);for(s=0;s<u;++s)(l=e[s])&&c.get(f[s])===l&&(n[s]=l)}function S(t){return t.__data__}function M(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}w.prototype={constructor:w,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var B="http://www.w3.org/1999/xhtml";let L={svg:"http://www.w3.org/2000/svg",xhtml:B,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function F(t){var e=t+="",r=e.indexOf(":");return r>=0&&"xmlns"!==(e=t.slice(0,r))&&(t=t.slice(r+1)),L.hasOwnProperty(e)?{space:L[e],local:t}:t}function A(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function E(t,e){return t.style.getPropertyValue(e)||A(t).getComputedStyle(t,null).getPropertyValue(e)}function W(t){return t.trim().split(/^|\s+/)}function $(t){return t.classList||new O(t)}function O(t){this._node=t,this._names=W(t.getAttribute("class")||"")}function I(t,e){for(var r=$(t),i=-1,n=e.length;++i<n;)r.add(e[i])}function Z(t,e){for(var r=$(t),i=-1,n=e.length;++i<n;)r.remove(e[i])}function D(){this.textContent=""}function z(){this.innerHTML=""}function q(){this.nextSibling&&this.parentNode.appendChild(this)}function N(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function P(t){var e=F(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===B&&e.documentElement.namespaceURI===B?e.createElement(t):e.createElementNS(r,t)}})(e)}function R(){return null}function j(){var t=this.parentNode;t&&t.removeChild(this)}function Y(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function U(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function H(t){return function(){var e=this.__on;if(e){for(var r,i=0,n=-1,o=e.length;i<o;++i)(r=e[i],t.type&&r.type!==t.type||r.name!==t.name)?e[++n]=r:this.removeEventListener(r.type,r.listener,r.options);++n?e.length=n:delete this.__on}}}function V(t,e,r){return function(){var i,n=this.__on,o=function(t){e.call(this,t,this.__data__)};if(n){for(var a=0,s=n.length;a<s;++a)if((i=n[a]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=r),i.value=e;return}}this.addEventListener(t.type,o,r),i={type:t.type,name:t.name,value:e,listener:o,options:r},n?n.push(i):this.__on=[i]}}function G(t,e,r){var i=A(t),n=i.CustomEvent;"function"==typeof n?n=new n(e,r):(n=i.document.createEvent("Event"),r?(n.initEvent(e,r.bubbles,r.cancelable),n.detail=r.detail):n.initEvent(e,!1,!1)),t.dispatchEvent(n)}O.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var X=[null];function Q(t,e){this._groups=t,this._parents=e}function K(){return new Q([[document.documentElement]],X)}Q.prototype=K.prototype={constructor:Q,select:function(t){"function"!=typeof t&&(t=f(t));for(var e=this._groups,r=e.length,i=Array(r),n=0;n<r;++n)for(var o,a,s=e[n],l=s.length,h=i[n]=Array(l),c=0;c<l;++c)(o=s[c])&&(a=t.call(o,o.__data__,c,s))&&("__data__"in o&&(a.__data__=o.__data__),h[c]=a);return new Q(i,this._parents)},selectAll:function(t){if("function"==typeof t){var e;e=t,t=function(){var t;return t=e.apply(this,arguments),null==t?[]:Array.isArray(t)?t:Array.from(t)}}else t=g(t);for(var r=this._groups,i=r.length,n=[],o=[],a=0;a<i;++a)for(var s,l=r[a],h=l.length,c=0;c<h;++c)(s=l[c])&&(n.push(t.call(s,s.__data__,c,l)),o.push(s));return new Q(n,o)},selectChild:function(t){var e;return this.select(null==t?b:(e="function"==typeof t?t:m(t),function(){return x.call(this.children,e)}))},selectChildren:function(t){var e;return this.selectAll(null==t?k:(e="function"==typeof t?t:m(t),function(){return C.call(this.children,e)}))},filter:function(t){"function"!=typeof t&&(t=y(t));for(var e=this._groups,r=e.length,i=Array(r),n=0;n<r;++n)for(var o,a=e[n],s=a.length,l=i[n]=[],h=0;h<s;++h)(o=a[h])&&t.call(o,o.__data__,h,a)&&l.push(o);return new Q(i,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,S);var r=e?T:v,i=this._parents,n=this._groups;"function"!=typeof t&&(x=t,t=function(){return x});for(var o=n.length,a=Array(o),s=Array(o),l=Array(o),h=0;h<o;++h){var c=i[h],u=n[h],d=u.length,f="object"==typeof(m=t.call(c,c&&c.__data__,h,i))&&"length"in m?m:Array.from(m),p=f.length,g=s[h]=Array(p),y=a[h]=Array(p);r(c,u,g,y,l[h]=Array(d),f,e);for(var m,x,b,C,k=0,_=0;k<p;++k)if(b=g[k]){for(k>=_&&(_=k+1);!(C=y[_])&&++_<p;);b._next=C||null}}return(a=new Q(a,i))._enter=s,a._exit=l,a},enter:function(){return new Q(this._enter||this._groups.map(_),this._parents)},exit:function(){return new Q(this._exit||this._groups.map(_),this._parents)},join:function(t,e,r){var i=this.enter(),n=this,o=this.exit();return"function"==typeof t?(i=t(i))&&(i=i.selection()):i=i.append(t+""),null!=e&&(n=e(n))&&(n=n.selection()),null==r?o.remove():r(o),i&&n?i.merge(n).order():n},merge:function(t){for(var e=t.selection?t.selection():t,r=this._groups,i=e._groups,n=r.length,o=i.length,a=Math.min(n,o),s=Array(n),l=0;l<a;++l)for(var h,c=r[l],u=i[l],d=c.length,f=s[l]=Array(d),p=0;p<d;++p)(h=c[p]||u[p])&&(f[p]=h);for(;l<n;++l)s[l]=r[l];return new Q(s,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,r=t.length;++e<r;)for(var i,n=t[e],o=n.length-1,a=n[o];--o>=0;)(i=n[o])&&(a&&4^i.compareDocumentPosition(a)&&a.parentNode.insertBefore(i,a),a=i);return this},sort:function(t){function e(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}t||(t=M);for(var r=this._groups,i=r.length,n=Array(i),o=0;o<i;++o){for(var a,s=r[o],l=s.length,h=n[o]=Array(l),c=0;c<l;++c)(a=s[c])&&(h[c]=a);h.sort(e)}return new Q(n,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var i=t[e],n=0,o=i.length;n<o;++n){var a=i[n];if(a)return a}return null},size:function(){let t=0;for(let e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,r=0,i=e.length;r<i;++r)for(var n,o=e[r],a=0,s=o.length;a<s;++a)(n=o[a])&&t.call(n,n.__data__,a,o);return this},attr:function(t,e){var r=F(t);if(arguments.length<2){var i=this.node();return r.local?i.getAttributeNS(r.space,r.local):i.getAttribute(r)}return this.each((null==e?r.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof e?r.local?function(t,e){return function(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}:function(t,e){return function(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}}:r.local?function(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}:function(t,e){return function(){this.setAttribute(t,e)}})(r,e))},style:function(t,e,r){return arguments.length>1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,r){return function(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,r)}}:function(t,e,r){return function(){this.style.setProperty(t,e,r)}})(t,e,null==r?"":r)):E(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var r=W(t+"");if(arguments.length<2){for(var i=$(this.node()),n=-1,o=r.length;++n<o;)if(!i.contains(r[n]))return!1;return!0}return this.each(("function"==typeof e?function(t,e){return function(){(e.apply(this,arguments)?I:Z)(this,t)}}:e?function(t){return function(){I(this,t)}}:function(t){return function(){Z(this,t)}})(r,e))},text:function(t){return arguments.length?this.each(null==t?D:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?z:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(q)},lower:function(){return this.each(N)},append:function(t){var e="function"==typeof t?t:P(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})},insert:function(t,e){var r="function"==typeof t?t:P(t),i=null==e?R:"function"==typeof e?e:f(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),i.apply(this,arguments)||null)})},remove:function(){return this.each(j)},clone:function(t){return this.select(t?U:Y)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,r){var i,n,o=(t+"").trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");return r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),{type:t,name:e}}),a=o.length;if(arguments.length<2){var s=this.node().__on;if(s){for(var l,h=0,c=s.length;h<c;++h)for(i=0,l=s[h];i<a;++i)if((n=o[i]).type===l.type&&n.name===l.name)return l.value}return}for(i=0,s=e?V:H;i<a;++i)this.each(s(o[i],e,r));return this},dispatch:function(t,e){return this.each(("function"==typeof e?function(t,e){return function(){return G(this,t,e.apply(this,arguments))}}:function(t,e){return function(){return G(this,t,e)}})(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var i,n=t[e],o=0,a=n.length;o<a;++o)(i=n[o])&&(yield i)}};var J={value:()=>{}};function tt(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+"")||t in i||/[\s.]/.test(t))throw Error("illegal type: "+t);i[t]=[]}return new te(i)}function te(t){this._=t}function tr(t,e,r){for(var i=0,n=t.length;i<n;++i)if(t[i].name===e){t[i]=J,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=r&&t.push({name:e,value:r}),t}te.prototype=tt.prototype={constructor:te,on:function(t,e){var r,i=this._,n=(t+"").trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!i.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:e}}),o=-1,a=n.length;if(arguments.length<2){for(;++o<a;)if((r=(t=n[o]).type)&&(r=function(t,e){for(var r,i=0,n=t.length;i<n;++i)if((r=t[i]).name===e)return r.value}(i[r],t.name)))return r;return}if(null!=e&&"function"!=typeof e)throw Error("invalid callback: "+e);for(;++o<a;)if(r=(t=n[o]).type)i[r]=tr(i[r],t.name,e);else if(null==e)for(r in i)i[r]=tr(i[r],t.name,null);return this},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new te(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,i,n=Array(r),o=0;o<r;++o)n[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(i=this._[t],o=0,r=i.length;o<r;++o)i[o].value.apply(e,n)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var i=this._[t],n=0,o=i.length;n<o;++n)i[n].value.apply(e,r)}};var ti,tn,to,ta,ts,tl,th,tc,tu,td=0,tf=0,tp=0,tg=0,ty=0,tm=0,tx="object"==typeof performance&&performance.now?performance:Date,tb="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tC(){return ty||(tb(tk),ty=tx.now()+tm)}function tk(){ty=0}function t_(){this._call=this._time=this._next=null}function tw(t,e,r){var i=new t_;return i.restart(t,e,r),i}function tv(){ty=(tg=tx.now())+tm,td=tf=0;try{!function(){tC(),++td;for(var t,e=tc;e;)(t=ty-e._time)>=0&&e._call.call(void 0,t),e=e._next;--td}()}finally{td=0,function(){for(var t,e,r=tc,i=1/0;r;)r._call?(i>r._time&&(i=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:tc=e);tu=t,tS(i)}(),ty=0}}function tT(){var t=tx.now(),e=t-tg;e>1e3&&(tm-=e,tg=t)}function tS(t){!td&&(tf&&(tf=clearTimeout(tf)),t-ty>24?(t<1/0&&(tf=setTimeout(tv,t-tx.now()-tm)),tp&&(tp=clearInterval(tp))):(tp||(tg=tx.now(),tp=setInterval(tT,1e3)),td=1,tb(tv)))}function tM(t,e,r){var i=new t_;return e=null==e?0:+e,i.restart(r=>{i.stop(),t(r+e)},e,r),i}t_.prototype=tw.prototype={constructor:t_,restart:function(t,e,r){if("function"!=typeof t)throw TypeError("callback is not a function");r=(null==r?tC():+r)+(null==e?0:+e),this._next||tu===this||(tu?tu._next=this:tc=this,tu=this),this._call=t,this._time=r,tS()},stop:function(){this._call&&(this._call=null,this._time=1/0,tS())}};var tB=tt("start","end","cancel","interrupt"),tL=[];function tF(t,e,r,i,n,o){var a=t.__transition;if(a){if(r in a)return}else t.__transition={};!function(t,e,r){var i,n=t.__transition;function o(l){var h,c,u,d;if(1!==r.state)return s();for(h in n)if((d=n[h]).name===r.name){if(3===d.state)return tM(o);4===d.state?(d.state=6,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete n[h]):+h<e&&(d.state=6,d.timer.stop(),d.on.call("cancel",t,t.__data__,d.index,d.group),delete n[h])}if(tM(function(){3===r.state&&(r.state=4,r.timer.restart(a,r.delay,r.time),a(l))}),r.state=2,r.on.call("start",t,t.__data__,r.index,r.group),2===r.state){for(h=0,r.state=3,i=Array(u=r.tween.length),c=-1;h<u;++h)(d=r.tween[h].value.call(t,t.__data__,r.index,r.group))&&(i[++c]=d);i.length=c+1}}function a(e){for(var n=e<r.duration?r.ease.call(null,e/r.duration):(r.timer.restart(s),r.state=5,1),o=-1,a=i.length;++o<a;)i[o].call(t,n);5===r.state&&(r.on.call("end",t,t.__data__,r.index,r.group),s())}function s(){for(var i in r.state=6,r.timer.stop(),delete n[e],n)return;delete t.__transition}n[e]=r,r.timer=tw(function(t){r.state=1,r.timer.restart(o,r.delay,r.time),r.delay<=t&&o(t-r.delay)},0,r.time)}(t,r,{name:e,index:i,group:n,on:tB,tween:tL,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function tA(t,e){var r=tW(t,e);if(r.state>0)throw Error("too late; already scheduled");return r}function tE(t,e){var r=tW(t,e);if(r.state>3)throw Error("too late; already running");return r}function tW(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw Error("transition not found");return r}function t$(t,e){return t*=1,e*=1,function(r){return t*(1-r)+e*r}}var tO=180/Math.PI,tI={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function tZ(t,e,r,i,n,o){var a,s,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*r+e*i)&&(r-=t*l,i-=e*l),(s=Math.sqrt(r*r+i*i))&&(r/=s,i/=s,l/=s),t*i<e*r&&(t=-t,e=-e,l=-l,a=-a),{translateX:n,translateY:o,rotate:Math.atan2(e,t)*tO,skewX:Math.atan(l)*tO,scaleX:a,scaleY:s}}function tD(t,e,r,i){function n(t){return t.length?t.pop()+" ":""}return function(o,a){var s,l,h,c,u=[],d=[];return o=t(o),a=t(a),!function(t,i,n,o,a,s){if(t!==n||i!==o){var l=a.push("translate(",null,e,null,r);s.push({i:l-4,x:t$(t,n)},{i:l-2,x:t$(i,o)})}else(n||o)&&a.push("translate("+n+e+o+r)}(o.translateX,o.translateY,a.translateX,a.translateY,u,d),s=o.rotate,s!==(l=a.rotate)?(s-l>180?l+=360:l-s>180&&(s+=360),d.push({i:u.push(n(u)+"rotate(",null,i)-2,x:t$(s,l)})):l&&u.push(n(u)+"rotate("+l+i),h=o.skewX,h!==(c=a.skewX)?d.push({i:u.push(n(u)+"skewX(",null,i)-2,x:t$(h,c)}):c&&u.push(n(u)+"skewX("+c+i),!function(t,e,r,i,o,a){if(t!==r||e!==i){var s=o.push(n(o)+"scale(",null,",",null,")");a.push({i:s-4,x:t$(t,r)},{i:s-2,x:t$(e,i)})}else(1!==r||1!==i)&&o.push(n(o)+"scale("+r+","+i+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,d),o=a=null,function(t){for(var e,r=-1,i=d.length;++r<i;)u[(e=d[r]).i]=e.x(t);return u.join("")}}}var tz=tD(function(t){let e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?tI:tZ(e.a,e.b,e.c,e.d,e.e,e.f)},"px, ","px)","deg)"),tq=tD(function(t){return null==t?tI:(ti||(ti=document.createElementNS("http://www.w3.org/2000/svg","g")),ti.setAttribute("transform",t),t=ti.transform.baseVal.consolidate())?tZ((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):tI},", ",")",")");function tN(t,e,r){var i=t._id;return t.each(function(){var t=tE(this,i);(t.value||(t.value={}))[e]=r.apply(this,arguments)}),function(t){return tW(t,i).value[e]}}function tP(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function tR(t,e){var r=Object.create(t.prototype);for(var i in e)r[i]=e[i];return r}function tj(){}var tY="\\s*([+-]?\\d+)\\s*",tU="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",tH="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tV=/^#([0-9a-f]{3,8})$/,tG=RegExp(`^rgb\\(${tY},${tY},${tY}\\)$`),tX=RegExp(`^rgb\\(${tH},${tH},${tH}\\)$`),tQ=RegExp(`^rgba\\(${tY},${tY},${tY},${tU}\\)$`),tK=RegExp(`^rgba\\(${tH},${tH},${tH},${tU}\\)$`),tJ=RegExp(`^hsl\\(${tU},${tH},${tH}\\)$`),t0=RegExp(`^hsla\\(${tU},${tH},${tH},${tU}\\)$`),t1={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function t2(){return this.rgb().formatHex()}function t3(){return this.rgb().formatRgb()}function t5(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=tV.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?t6(e):3===r?new t7(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?t4(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?t4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=tG.exec(t))?new t7(e[1],e[2],e[3],1):(e=tX.exec(t))?new t7(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=tQ.exec(t))?t4(e[1],e[2],e[3],e[4]):(e=tK.exec(t))?t4(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=tJ.exec(t))?eo(e[1],e[2]/100,e[3]/100,1):(e=t0.exec(t))?eo(e[1],e[2]/100,e[3]/100,e[4]):t1.hasOwnProperty(t)?t6(t1[t]):"transparent"===t?new t7(NaN,NaN,NaN,0):null}function t6(t){return new t7(t>>16&255,t>>8&255,255&t,1)}function t4(t,e,r,i){return i<=0&&(t=e=r=NaN),new t7(t,e,r,i)}function t8(t){return(t instanceof tj||(t=t5(t)),t)?new t7((t=t.rgb()).r,t.g,t.b,t.opacity):new t7}function t9(t,e,r,i){return 1==arguments.length?t8(t):new t7(t,e,r,null==i?1:i)}function t7(t,e,r,i){this.r=+t,this.g=+e,this.b=+r,this.opacity=+i}function et(){return`#${en(this.r)}${en(this.g)}${en(this.b)}`}function ee(){let t=er(this.opacity);return`${1===t?"rgb(":"rgba("}${ei(this.r)}, ${ei(this.g)}, ${ei(this.b)}${1===t?")":`, ${t})`}`}function er(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ei(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function en(t){return((t=ei(t))<16?"0":"")+t.toString(16)}function eo(t,e,r,i){return i<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new es(t,e,r,i)}function ea(t){if(t instanceof es)return new es(t.h,t.s,t.l,t.opacity);if(t instanceof tj||(t=t5(t)),!t)return new es;if(t instanceof es)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,n=Math.min(e,r,i),o=Math.max(e,r,i),a=NaN,s=o-n,l=(o+n)/2;return s?(a=e===o?(r-i)/s+(r<i)*6:r===o?(i-e)/s+2:(e-r)/s+4,s/=l<.5?o+n:2-o-n,a*=60):s=l>0&&l<1?0:a,new es(a,s,l,t.opacity)}function es(t,e,r,i){this.h=+t,this.s=+e,this.l=+r,this.opacity=+i}function el(t){return(t=(t||0)%360)<0?t+360:t}function eh(t){return Math.max(0,Math.min(1,t||0))}function ec(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function eu(t,e,r,i,n){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*r+(1+3*t+3*o-3*a)*i+a*n)/6}tP(tj,t5,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:t2,formatHex:t2,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return ea(this).formatHsl()},formatRgb:t3,toString:t3}),tP(t7,t9,tR(tj,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new t7(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new t7(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new t7(ei(this.r),ei(this.g),ei(this.b),er(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:et,formatHex:et,formatHex8:function(){return`#${en(this.r)}${en(this.g)}${en(this.b)}${en((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:ee,toString:ee})),tP(es,function(t,e,r,i){return 1==arguments.length?ea(t):new es(t,e,r,null==i?1:i)},tR(tj,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new es(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new es(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*e,n=2*r-i;return new t7(ec(t>=240?t-240:t+120,n,i),ec(t,n,i),ec(t<120?t+240:t-120,n,i),this.opacity)},clamp(){return new es(el(this.h),eh(this.s),eh(this.l),er(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=er(this.opacity);return`${1===t?"hsl(":"hsla("}${el(this.h)}, ${100*eh(this.s)}%, ${100*eh(this.l)}%${1===t?")":`, ${t})`}`}}));let ed=t=>()=>t;function ef(t,e){return function(r){return t+r*e}}function ep(t,e){var r=e-t;return r?ef(t,r):ed(isNaN(t)?e:t)}let eg=function t(e){var r,i=1==(r=+e)?ep:function(t,e){var i,n,o;return e-t?(i=t,n=e,i=Math.pow(i,o=r),n=Math.pow(n,o)-i,o=1/o,function(t){return Math.pow(i+t*n,o)}):ed(isNaN(t)?e:t)};function n(t,e){var r=i((t=t9(t)).r,(e=t9(e)).r),n=i(t.g,e.g),o=i(t.b,e.b),a=ep(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=n(e),t.b=o(e),t.opacity=a(e),t+""}}return n.gamma=t,n}(1);function ey(t){return function(e){var r,i,n=e.length,o=Array(n),a=Array(n),s=Array(n);for(r=0;r<n;++r)i=t9(e[r]),o[r]=i.r||0,a[r]=i.g||0,s[r]=i.b||0;return o=t(o),a=t(a),s=t(s),i.opacity=1,function(t){return i.r=o(t),i.g=a(t),i.b=s(t),i+""}}}ey(function(t){var e=t.length-1;return function(r){var i=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),n=t[i],o=t[i+1],a=i>0?t[i-1]:2*n-o,s=i<e-1?t[i+2]:2*o-n;return eu((r-i/e)*e,a,n,o,s)}}),ey(function(t){var e=t.length;return function(r){var i=Math.floor(((r%=1)<0?++r:r)*e),n=t[(i+e-1)%e],o=t[i%e],a=t[(i+1)%e],s=t[(i+2)%e];return eu((r-i/e)*e,n,o,a,s)}});var em=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ex=RegExp(em.source,"g");function eb(t,e){var r,i,n,o,a,s=em.lastIndex=ex.lastIndex=0,l=-1,h=[],c=[];for(t+="",e+="";(n=em.exec(t))&&(o=ex.exec(e));)(a=o.index)>s&&(a=e.slice(s,a),h[l]?h[l]+=a:h[++l]=a),(n=n[0])===(o=o[0])?h[l]?h[l]+=o:h[++l]=o:(h[++l]=null,c.push({i:l,x:t$(n,o)})),s=ex.lastIndex;return s<e.length&&(a=e.slice(s),h[l]?h[l]+=a:h[++l]=a),h.length<2?c[0]?(r=c[0].x,function(t){return r(t)+""}):(i=e,function(){return i}):(e=c.length,function(t){for(var r,i=0;i<e;++i)h[(r=c[i]).i]=r.x(t);return h.join("")})}function eC(t,e){var r;return("number"==typeof e?t$:e instanceof t5?eg:(r=t5(e))?(e=r,eg):eb)(t,e)}var ek=K.prototype.constructor;function e_(t){return function(){this.style.removeProperty(t)}}var ew=0;function ev(t,e,r,i){this._groups=t,this._parents=e,this._name=r,this._id=i}var eT=K.prototype;ev.prototype=(function(t){return K().transition(t)}).prototype={constructor:ev,select:function(t){var e=this._name,r=this._id;"function"!=typeof t&&(t=f(t));for(var i=this._groups,n=i.length,o=Array(n),a=0;a<n;++a)for(var s,l,h=i[a],c=h.length,u=o[a]=Array(c),d=0;d<c;++d)(s=h[d])&&(l=t.call(s,s.__data__,d,h))&&("__data__"in s&&(l.__data__=s.__data__),u[d]=l,tF(u[d],e,r,d,u,tW(s,r)));return new ev(o,this._parents,e,r)},selectAll:function(t){var e=this._name,r=this._id;"function"!=typeof t&&(t=g(t));for(var i=this._groups,n=i.length,o=[],a=[],s=0;s<n;++s)for(var l,h=i[s],c=h.length,u=0;u<c;++u)if(l=h[u]){for(var d,f=t.call(l,l.__data__,u,h),p=tW(l,r),y=0,m=f.length;y<m;++y)(d=f[y])&&tF(d,e,r,y,f,p);o.push(f),a.push(l)}return new ev(o,a,e,r)},selectChild:eT.selectChild,selectChildren:eT.selectChildren,filter:function(t){"function"!=typeof t&&(t=y(t));for(var e=this._groups,r=e.length,i=Array(r),n=0;n<r;++n)for(var o,a=e[n],s=a.length,l=i[n]=[],h=0;h<s;++h)(o=a[h])&&t.call(o,o.__data__,h,a)&&l.push(o);return new ev(i,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var e=this._groups,r=t._groups,i=e.length,n=r.length,o=Math.min(i,n),a=Array(i),s=0;s<o;++s)for(var l,h=e[s],c=r[s],u=h.length,d=a[s]=Array(u),f=0;f<u;++f)(l=h[f]||c[f])&&(d[f]=l);for(;s<i;++s)a[s]=e[s];return new ev(a,this._parents,this._name,this._id)},selection:function(){return new ek(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,r=++ew,i=this._groups,n=i.length,o=0;o<n;++o)for(var a,s=i[o],l=s.length,h=0;h<l;++h)if(a=s[h]){var c=tW(a,e);tF(a,t,r,h,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new ev(i,this._parents,t,r)},call:eT.call,nodes:eT.nodes,node:eT.node,size:eT.size,empty:eT.empty,each:eT.each,on:function(t,e){var r,i,n,o=this._id;return arguments.length<2?tW(this.node(),o).on.on(t):this.each((n=(t+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})?tA:tE,function(){var a=n(this,o),s=a.on;s!==r&&(i=(r=s).copy()).on(t,e),a.on=i}))},attr:function(t,e){var r=F(t),i="transform"===r?tq:eC;return this.attrTween(t,"function"==typeof e?(r.local?function(t,e,r){var i,n,o;return function(){var a,s,l=r(this);return null==l?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local))===(s=l+"")?null:a===i&&s===n?o:(n=s,o=e(i=a,l))}}:function(t,e,r){var i,n,o;return function(){var a,s,l=r(this);return null==l?void this.removeAttribute(t):(a=this.getAttribute(t))===(s=l+"")?null:a===i&&s===n?o:(n=s,o=e(i=a,l))}})(r,i,tN(this,"attr."+t,e)):null==e?(r.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(r):(r.local?function(t,e,r){var i,n,o=r+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===i?n:n=e(i=a,r)}}:function(t,e,r){var i,n,o=r+"";return function(){var a=this.getAttribute(t);return a===o?null:a===i?n:n=e(i=a,r)}})(r,i,e))},attrTween:function(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw Error();var i=F(t);return this.tween(r,(i.local?function(t,e){var r,i;function n(){var n=e.apply(this,arguments);return n!==i&&(r=(i=n)&&function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}),r}return n._value=e,n}:function(t,e){var r,i;function n(){var n=e.apply(this,arguments);return n!==i&&(r=(i=n)&&function(e){this.setAttribute(t,n.call(this,e))}),r}return n._value=e,n})(i,e))},style:function(t,e,r){var i,n,o,a,s,l,h,c,u,d,f,p,g,y,m,x,b,C,k,_,w,v="transform"==(t+="")?tz:eC;return null==e?this.styleTween(t,(i=t,function(){var t=E(this,i),e=(this.style.removeProperty(i),E(this,i));return t===e?null:t===n&&e===o?a:a=v(n=t,o=e)})).on("end.style."+t,e_(t)):"function"==typeof e?this.styleTween(t,(s=t,l=tN(this,"style."+t,e),function(){var t=E(this,s),e=l(this),r=e+"";return null==e&&(this.style.removeProperty(s),r=e=E(this,s)),t===r?null:t===h&&r===c?u:(c=r,u=v(h=t,e))})).each((d=this._id,b="end."+(x="style."+(f=t)),function(){var t=tE(this,d),e=t.on,r=null==t.value[x]?m||(m=e_(f)):void 0;(e!==p||y!==r)&&(g=(p=e).copy()).on(b,y=r),t.on=g})):this.styleTween(t,(C=t,w=e+"",function(){var t=E(this,C);return t===w?null:t===k?_:_=v(k=t,e)}),r).on("end.style."+t,null)},styleTween:function(t,e,r){var i="style."+(t+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==e)return this.tween(i,null);if("function"!=typeof e)throw Error();return this.tween(i,function(t,e,r){var i,n;function o(){var o=e.apply(this,arguments);return o!==n&&(i=(n=o)&&function(e){this.style.setProperty(t,o.call(this,e),r)}),i}return o._value=e,o}(t,e,null==r?"":r))},text:function(t){var e,r;return this.tween("text","function"==typeof t?(e=tN(this,"text",t),function(){var t=e(this);this.textContent=null==t?"":t}):(r=null==t?"":t+"",function(){this.textContent=r}))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw Error();return this.tween(e,function(t){var e,r;function i(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&function(t){this.textContent=i.call(this,t)}),e}return i._value=t,i}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}))},tween:function(t,e){var r=this._id;if(t+="",arguments.length<2){for(var i,n=tW(this.node(),r).tween,o=0,a=n.length;o<a;++o)if((i=n[o]).name===t)return i.value;return null}return this.each((null==e?function(t,e){var r,i;return function(){var n=tE(this,t),o=n.tween;if(o!==r){i=r=o;for(var a=0,s=i.length;a<s;++a)if(i[a].name===e){(i=i.slice()).splice(a,1);break}}n.tween=i}}:function(t,e,r){var i,n;if("function"!=typeof r)throw Error();return function(){var o=tE(this,t),a=o.tween;if(a!==i){n=(i=a).slice();for(var s={name:e,value:r},l=0,h=n.length;l<h;++l)if(n[l].name===e){n[l]=s;break}l===h&&n.push(s)}o.tween=n}})(r,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){tA(this,t).delay=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){tA(this,t).delay=e}})(e,t)):tW(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){tE(this,t).duration=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){tE(this,t).duration=e}})(e,t)):tW(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw Error();return function(){tE(this,t).ease=e}}(e,t)):tW(this.node(),e).ease},easeVarying:function(t){var e;if("function"!=typeof t)throw Error();return this.each((e=this._id,function(){var r=t.apply(this,arguments);if("function"!=typeof r)throw Error();tE(this,e).ease=r}))},end:function(){var t,e,r=this,i=r._id,n=r.size();return new Promise(function(o,a){var s={value:a},l={value:function(){0==--n&&o()}};r.each(function(){var r=tE(this,i),n=r.on;n!==t&&((e=(t=n).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),r.on=e}),0===n&&o()})},[Symbol.iterator]:eT[Symbol.iterator]};var eS={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};K.prototype.interrupt=function(t){return this.each(function(){!function(t,e){var r,i,n,o=t.__transition,a=!0;if(o){for(n in e=null==e?null:e+"",o){if((r=o[n]).name!==e){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete o[n]}a&&delete t.__transition}}(this,t)})},K.prototype.transition=function(t){var e,r;t instanceof ev?(e=t._id,t=t._name):(e=++ew,(r=eS).time=tC(),t=null==t?null:t+"");for(var i=this._groups,n=i.length,o=0;o<n;++o)for(var a,s=i[o],l=s.length,h=0;h<l;++h)(a=s[h])&&tF(a,t,e,h,s,r||function(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw Error(`transition ${e} not found`);return r}(a,e));return new ev(i,this._parents,t,e)};let{abs:eM,max:eB,min:eL}=Math;function eF(t){return{type:t}}["w","e"].map(eF),["n","s"].map(eF),["n","w","e","s","nw","ne","sw","se"].map(eF);let eA=Math.PI/180,eE=180/Math.PI,eW=4/29,e$=6/29,eO=6/29*3*(6/29),eI=6/29*(6/29)*(6/29);function eZ(t){if(t instanceof eD)return new eD(t.l,t.a,t.b,t.opacity);if(t instanceof ej)return eY(t);t instanceof t7||(t=t8(t));var e,r,i=eP(t.r),n=eP(t.g),o=eP(t.b),a=ez((.2225045*i+.7168786*n+.0606169*o)/1);return i===n&&n===o?e=r=a:(e=ez((.4360747*i+.3850649*n+.1430804*o)/.96422),r=ez((.0139322*i+.0971045*n+.7141733*o)/.82521)),new eD(116*a-16,500*(e-a),200*(a-r),t.opacity)}function eD(t,e,r,i){this.l=+t,this.a=+e,this.b=+r,this.opacity=+i}function ez(t){return t>eI?Math.pow(t,1/3):t/eO+eW}function eq(t){return t>e$?t*t*t:eO*(t-eW)}function eN(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function eP(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function eR(t,e,r,i){return 1==arguments.length?function(t){if(t instanceof ej)return new ej(t.h,t.c,t.l,t.opacity);if(t instanceof eD||(t=eZ(t)),0===t.a&&0===t.b)return new ej(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*eE;return new ej(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new ej(t,e,r,null==i?1:i)}function ej(t,e,r,i){this.h=+t,this.c=+e,this.l=+r,this.opacity=+i}function eY(t){if(isNaN(t.h))return new eD(t.l,0,0,t.opacity);var e=t.h*eA;return new eD(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}function eU(t){return function(e,r){var i=t((e=eR(e)).h,(r=eR(r)).h),n=ep(e.c,r.c),o=ep(e.l,r.l),a=ep(e.opacity,r.opacity);return function(t){return e.h=i(t),e.c=n(t),e.l=o(t),e.opacity=a(t),e+""}}}tP(eD,function(t,e,r,i){return 1==arguments.length?eZ(t):new eD(t,e,r,null==i?1:i)},tR(tj,{brighter(t){return new eD(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker(t){return new eD(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=.96422*eq(e),new t7(eN(3.1338561*e-1.6168667*(t=+eq(t))-.4906146*(r=.82521*eq(r))),eN(-.9787684*e+1.9161415*t+.033454*r),eN(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),tP(ej,eR,tR(tj,{brighter(t){return new ej(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker(t){return new ej(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb(){return eY(this).rgb()}}));let eH=eU(function(t,e){var r=e-t;return r?ef(t,r>180||r<-180?r-360*Math.round(r/360):r):ed(isNaN(t)?e:t)});function eV(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}eU(ep);class eG extends Map{constructor(t,e=eQ){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(let[e,r]of t)this.set(e,r)}get(t){return super.get(eX(this,t))}has(t){return super.has(eX(this,t))}set(t,e){return super.set(function({_intern:t,_key:e},r){let i=e(r);return t.has(i)?t.get(i):(t.set(i,r),r)}(this,t),e)}delete(t){return super.delete(function({_intern:t,_key:e},r){let i=e(r);return t.has(i)&&(r=t.get(i),t.delete(i)),r}(this,t))}}function eX({_intern:t,_key:e},r){let i=e(r);return t.has(i)?t.get(i):r}function eQ(t){return null!==t&&"object"==typeof t?t.valueOf():t}let eK=Symbol("implicit");function eJ(){var t=new eG,e=[],r=[],i=eK;function n(n){let o=t.get(n);if(void 0===o){if(i!==eK)return i;t.set(n,o=e.push(n)-1)}return r[o%r.length]}return n.domain=function(r){if(!arguments.length)return e.slice();for(let i of(e=[],t=new eG,r))t.has(i)||t.set(i,e.push(i)-1);return n},n.range=function(t){return arguments.length?(r=Array.from(t),n):r.slice()},n.unknown=function(t){return arguments.length?(i=t,n):i},n.copy=function(){return eJ(e,r).unknown(i)},eV.apply(n,arguments),n}let e0=Math.sqrt(50),e1=Math.sqrt(10),e2=Math.sqrt(2);function e3(t,e,r){let i,n,o;let a=(e-t)/Math.max(0,r),s=Math.floor(Math.log10(a)),l=a/Math.pow(10,s),h=l>=e0?10:l>=e1?5:l>=e2?2:1;return(s<0?(i=Math.round(t*(o=Math.pow(10,-s)/h)),n=Math.round(e*o),i/o<t&&++i,n/o>e&&--n,o=-o):(i=Math.round(t/(o=Math.pow(10,s)*h)),n=Math.round(e/o),i*o<t&&++i,n*o>e&&--n),n<i&&.5<=r&&r<2)?e3(t,e,2*r):[i,n,o]}function e5(t,e,r){return e3(t*=1,e*=1,r*=1)[2]}function e6(t,e,r){e*=1,t*=1,r*=1;let i=e<t,n=i?e5(e,t,r):e5(t,e,r);return(i?-1:1)*(n<0?-(1/n):n)}function e4(t,e){return null==t||null==e?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function e8(t,e){return null==t||null==e?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function e9(t){let e,r,i;function n(t,i,o=0,a=t.length){if(o<a){if(0!==e(i,i))return a;do{let e=o+a>>>1;0>r(t[e],i)?o=e+1:a=e}while(o<a)}return o}return 2!==t.length?(e=e4,r=(e,r)=>e4(t(e),r),i=(e,r)=>t(e)-r):(e=t===e4||t===e8?t:e7,r=t,i=t),{left:n,center:function(t,e,r=0,o=t.length){let a=n(t,e,r,o-1);return a>r&&i(t[a-1],e)>-i(t[a],e)?a-1:a},right:function(t,i,n=0,o=t.length){if(n<o){if(0!==e(i,i))return o;do{let e=n+o>>>1;0>=r(t[e],i)?n=e+1:o=e}while(n<o)}return n}}}function e7(){return 0}let rt=e9(e4),re=rt.right;rt.left,e9(function(t){return null===t?NaN:+t}).center;function rr(t,e){return t*=1,e*=1,function(r){return Math.round(t*(1-r)+e*r)}}function ri(t){return+t}var rn=[0,1];function ro(t){return t}function ra(t,e){var r;return(e-=t*=1)?function(r){return(r-t)/e}:(r=isNaN(e)?NaN:.5,function(){return r})}function rs(t,e,r){var i=t[0],n=t[1],o=e[0],a=e[1];return n<i?(i=ra(n,i),o=r(a,o)):(i=ra(i,n),o=r(o,a)),function(t){return o(i(t))}}function rl(t,e,r){var i=Math.min(t.length,e.length)-1,n=Array(i),o=Array(i),a=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<i;)n[a]=ra(t[a],t[a+1]),o[a]=r(e[a],e[a+1]);return function(e){var r=re(t,e,1,i)-1;return o[r](n[r](e))}}function rh(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function rc(){return(function(){var t,e,r,i,n,o,a=rn,s=rn,l=function t(e,r){var i,n,o=typeof r;return null==r||"boolean"===o?ed(r):("number"===o?t$:"string"===o?(n=t5(r))?(r=n,eg):eb:r instanceof t5?eg:r instanceof Date?function(t,e){var r=new Date;return t*=1,e*=1,function(i){return r.setTime(t*(1-i)+e*i),r}}:!ArrayBuffer.isView(i=r)||i instanceof DataView?Array.isArray(r)?function(e,r){var i,n=r?r.length:0,o=e?Math.min(n,e.length):0,a=Array(o),s=Array(n);for(i=0;i<o;++i)a[i]=t(e[i],r[i]);for(;i<n;++i)s[i]=r[i];return function(t){for(i=0;i<o;++i)s[i]=a[i](t);return s}}:"function"!=typeof r.valueOf&&"function"!=typeof r.toString||isNaN(r)?function(e,r){var i,n={},o={};for(i in(null===e||"object"!=typeof e)&&(e={}),(null===r||"object"!=typeof r)&&(r={}),r)i in e?n[i]=t(e[i],r[i]):o[i]=r[i];return function(t){for(i in n)o[i]=n[i](t);return o}}:t$:function(t,e){e||(e=[]);var r,i=t?Math.min(e.length,t.length):0,n=e.slice();return function(o){for(r=0;r<i;++r)n[r]=t[r]*(1-o)+e[r]*o;return n}})(e,r)},h=ro;function c(){var t,e,r,l=Math.min(a.length,s.length);return h!==ro&&(t=a[0],e=a[l-1],t>e&&(r=t,t=e,e=r),h=function(r){return Math.max(t,Math.min(e,r))}),i=l>2?rl:rs,n=o=null,u}function u(e){return null==e||isNaN(e*=1)?r:(n||(n=i(a.map(t),s,l)))(t(h(e)))}return u.invert=function(r){return h(e((o||(o=i(s,a.map(t),t$)))(r)))},u.domain=function(t){return arguments.length?(a=Array.from(t,ri),c()):a.slice()},u.range=function(t){return arguments.length?(s=Array.from(t),c()):s.slice()},u.rangeRound=function(t){return s=Array.from(t),l=rr,c()},u.clamp=function(t){return arguments.length?(h=!!t||ro,c()):h!==ro},u.interpolate=function(t){return arguments.length?(l=t,c()):l},u.unknown=function(t){return arguments.length?(r=t,u):r},function(r,i){return t=r,e=i,c()}})()(ro,ro)}var ru=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function rd(t){var e;if(!(e=ru.exec(t)))throw Error("invalid format: "+t);return new rf({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function rf(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function rp(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,i=t.slice(0,r);return[i.length>1?i[0]+i.slice(2):i,+t.slice(r+1)]}function rg(t){return(t=rp(Math.abs(t)))?t[1]:NaN}function ry(t,e){var r=rp(t,e);if(!r)return t+"";var i=r[0],n=r[1];return n<0?"0."+Array(-n).join("0")+i:i.length>n+1?i.slice(0,n+1)+"."+i.slice(n+1):i+Array(n-i.length+2).join("0")}rd.prototype=rf.prototype,rf.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};let rm={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>ry(100*t,e),r:ry,s:function(t,e){var r=rp(t,e);if(!r)return t+"";var i=r[0],n=r[1],o=n-(tn=3*Math.max(-8,Math.min(8,Math.floor(n/3))))+1,a=i.length;return o===a?i:o>a?i+Array(o-a+1).join("0"):o>0?i.slice(0,o)+"."+i.slice(o):"0."+Array(1-o).join("0")+rp(t,Math.max(0,e+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function rx(t){return t}var rb=Array.prototype.map,rC=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];ta=(to=function(t){var e,r,i,n=void 0===t.grouping||void 0===t.thousands?rx:(e=rb.call(t.grouping,Number),r=t.thousands+"",function(t,i){for(var n=t.length,o=[],a=0,s=e[0],l=0;n>0&&s>0&&(l+s+1>i&&(s=Math.max(1,i-l)),o.push(t.substring(n-=s,n+s)),!((l+=s+1)>i));)s=e[a=(a+1)%e.length];return o.reverse().join(r)}),o=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",s=void 0===t.decimal?".":t.decimal+"",l=void 0===t.numerals?rx:(i=rb.call(t.numerals,String),function(t){return t.replace(/[0-9]/g,function(t){return i[+t]})}),h=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"\u2212":t.minus+"",u=void 0===t.nan?"NaN":t.nan+"";function d(t){var e=(t=rd(t)).fill,r=t.align,i=t.sign,d=t.symbol,f=t.zero,p=t.width,g=t.comma,y=t.precision,m=t.trim,x=t.type;"n"===x?(g=!0,x="g"):rm[x]||(void 0===y&&(y=12),m=!0,x="g"),(f||"0"===e&&"="===r)&&(f=!0,e="0",r="=");var b="$"===d?o:"#"===d&&/[boxX]/.test(x)?"0"+x.toLowerCase():"",C="$"===d?a:/[%p]/.test(x)?h:"",k=rm[x],_=/[defgprs%]/.test(x);function w(t){var o,a,h,d=b,w=C;if("c"===x)w=k(t)+w,t="";else{var v=(t*=1)<0||1/t<0;if(t=isNaN(t)?u:k(Math.abs(t),y),m&&(t=function(t){t:for(var e,r=t.length,i=1,n=-1;i<r;++i)switch(t[i]){case".":n=e=i;break;case"0":0===n&&(n=i),e=i;break;default:if(!+t[i])break t;n>0&&(n=0)}return n>0?t.slice(0,n)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==i&&(v=!1),d=(v?"("===i?i:c:"-"===i||"("===i?"":i)+d,w=("s"===x?rC[8+tn/3]:"")+w+(v&&"("===i?")":""),_){for(o=-1,a=t.length;++o<a;)if(48>(h=t.charCodeAt(o))||h>57){w=(46===h?s+t.slice(o+1):t.slice(o))+w,t=t.slice(0,o);break}}}g&&!f&&(t=n(t,1/0));var T=d.length+t.length+w.length,S=T<p?Array(p-T+1).join(e):"";switch(g&&f&&(t=n(S+t,S.length?p-w.length:1/0),S=""),r){case"<":t=d+t+w+S;break;case"=":t=d+S+t+w;break;case"^":t=S.slice(0,T=S.length>>1)+d+t+w+S.slice(T);break;default:t=S+d+t+w}return l(t)}return y=void 0===y?6:/[gprs]/.test(x)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),w.toString=function(){return t+""},w}return{format:d,formatPrefix:function(t,e){var r=d(((t=rd(t)).type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(rg(e)/3))),n=Math.pow(10,-i),o=rC[8+i/3];return function(t){return r(n*t)+o}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,ts=to.formatPrefix;let rk=new Date,r_=new Date;function rw(t,e,r,i){function n(e){return t(e=0==arguments.length?new Date:new Date(+e)),e}return n.floor=e=>(t(e=new Date(+e)),e),n.ceil=r=>(t(r=new Date(r-1)),e(r,1),t(r),r),n.round=t=>{let e=n(t),r=n.ceil(t);return t-e<r-t?e:r},n.offset=(t,r)=>(e(t=new Date(+t),null==r?1:Math.floor(r)),t),n.range=(r,i,o)=>{let a;let s=[];if(r=n.ceil(r),o=null==o?1:Math.floor(o),!(r<i)||!(o>0))return s;do s.push(a=new Date(+r)),e(r,o),t(r);while(a<r&&r<i);return s},n.filter=r=>rw(e=>{if(e>=e)for(;t(e),!r(e);)e.setTime(e-1)},(t,i)=>{if(t>=t){if(i<0)for(;++i<=0;)for(;e(t,-1),!r(t););else for(;--i>=0;)for(;e(t,1),!r(t););}}),r&&(n.count=(e,i)=>(rk.setTime(+e),r_.setTime(+i),t(rk),t(r_),Math.floor(r(rk,r_))),n.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?n.filter(i?e=>i(e)%t==0:e=>n.count(0,e)%t==0):n:null),n}let rv=rw(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);rv.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?rw(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):rv:null,rv.range;let rT=rw(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+1e3*e)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds());rT.range;let rS=rw(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getMinutes());rS.range;let rM=rw(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes());rM.range;let rB=rw(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getHours());rB.range;let rL=rw(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours());rL.range;let rF=rw(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1);rF.range;let rA=rw(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1);rA.range;let rE=rw(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5));function rW(t){return rw(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(t,e)=>{t.setDate(t.getDate()+7*e)},(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}rE.range;let r$=rW(0),rO=rW(1),rI=rW(2),rZ=rW(3),rD=rW(4),rz=rW(5),rq=rW(6);function rN(t){return rw(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)},(t,e)=>(e-t)/6048e5)}r$.range,rO.range,rI.range,rZ.range,rD.range,rz.range,rq.range;let rP=rN(0),rR=rN(1),rj=rN(2),rY=rN(3),rU=rN(4),rH=rN(5),rV=rN(6);rP.range,rR.range,rj.range,rY.range,rU.range,rH.range,rV.range;let rG=rw(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());rG.range;let rX=rw(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());rX.range;let rQ=rw(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());rQ.every=t=>isFinite(t=Math.floor(t))&&t>0?rw(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)}):null,rQ.range;let rK=rw(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());function rJ(t,e,r,i,n,o){let a=[[rT,1,1e3],[rT,5,5e3],[rT,15,15e3],[rT,30,3e4],[o,1,6e4],[o,5,3e5],[o,15,9e5],[o,30,18e5],[n,1,36e5],[n,3,108e5],[n,6,216e5],[n,12,432e5],[i,1,864e5],[i,2,1728e5],[r,1,6048e5],[e,1,2592e6],[e,3,7776e6],[t,1,31536e6]];function s(e,r,i){let n=Math.abs(r-e)/i,o=e9(([,,t])=>t).right(a,n);if(o===a.length)return t.every(e6(e/31536e6,r/31536e6,i));if(0===o)return rv.every(Math.max(e6(e,r,i),1));let[s,l]=a[n/a[o-1][2]<a[o][2]/n?o-1:o];return s.every(l)}return[function(t,e,r){let i=e<t;i&&([t,e]=[e,t]);let n=r&&"function"==typeof r.range?r:s(t,e,r),o=n?n.range(t,+e+1):[];return i?o.reverse():o},s]}rK.every=t=>isFinite(t=Math.floor(t))&&t>0?rw(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)}):null,rK.range;let[r0,r1]=rJ(rK,rX,rP,rE,rL,rM),[r2,r3]=rJ(rQ,rG,r$,rF,rB,rS);function r5(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function r6(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function r4(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}var r8={"-":"",_:" ",0:"0"},r9=/^\s*\d+/,r7=/^%/,it=/[\\^$*+?|[\]().{}]/g;function ie(t,e,r){var i=t<0?"-":"",n=(i?-t:t)+"",o=n.length;return i+(o<r?Array(r-o+1).join(e)+n:n)}function ir(t){return t.replace(it,"\\$&")}function ii(t){return RegExp("^(?:"+t.map(ir).join("|")+")","i")}function io(t){return new Map(t.map((t,e)=>[t.toLowerCase(),e]))}function ia(t,e,r){var i=r9.exec(e.slice(r,r+1));return i?(t.w=+i[0],r+i[0].length):-1}function is(t,e,r){var i=r9.exec(e.slice(r,r+1));return i?(t.u=+i[0],r+i[0].length):-1}function il(t,e,r){var i=r9.exec(e.slice(r,r+2));return i?(t.U=+i[0],r+i[0].length):-1}function ih(t,e,r){var i=r9.exec(e.slice(r,r+2));return i?(t.V=+i[0],r+i[0].length):-1}function ic(t,e,r){var i=r9.exec(e.slice(r,r+2));return i?(t.W=+i[0],r+i[0].length):-1}function iu(t,e,r){var i=r9.exec(e.slice(r,r+4));return i?(t.y=+i[0],r+i[0].length):-1}function id(t,e,r){var i=r9.exec(e.slice(r,r+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),r+i[0].length):-1}function ip(t,e,r){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),r+i[0].length):-1}function ig(t,e,r){var i=r9.exec(e.slice(r,r+1));return i?(t.q=3*i[0]-3,r+i[0].length):-1}function iy(t,e,r){var i=r9.exec(e.slice(r,r+2));return i?(t.m=i[0]-1,r+i[0].length):-1}function im(t,e,r){var i=r9.exec(e.slice(r,r+2));return i?(t.d=+i[0],r+i[0].length):-1}function ix(t,e,r){var i=r9.exec(e.slice(r,r+3));return i?(t.m=0,t.d=+i[0],r+i[0].length):-1}function ib(t,e,r){var i=r9.exec(e.slice(r,r+2));return i?(t.H=+i[0],r+i[0].length):-1}function iC(t,e,r){var i=r9.exec(e.slice(r,r+2));return i?(t.M=+i[0],r+i[0].length):-1}function ik(t,e,r){var i=r9.exec(e.slice(r,r+2));return i?(t.S=+i[0],r+i[0].length):-1}function i_(t,e,r){var i=r9.exec(e.slice(r,r+3));return i?(t.L=+i[0],r+i[0].length):-1}function iw(t,e,r){var i=r9.exec(e.slice(r,r+6));return i?(t.L=Math.floor(i[0]/1e3),r+i[0].length):-1}function iv(t,e,r){var i=r7.exec(e.slice(r,r+1));return i?r+i[0].length:-1}function iT(t,e,r){var i=r9.exec(e.slice(r));return i?(t.Q=+i[0],r+i[0].length):-1}function iS(t,e,r){var i=r9.exec(e.slice(r));return i?(t.s=+i[0],r+i[0].length):-1}function iM(t,e){return ie(t.getDate(),e,2)}function iB(t,e){return ie(t.getHours(),e,2)}function iL(t,e){return ie(t.getHours()%12||12,e,2)}function iF(t,e){return ie(1+rF.count(rQ(t),t),e,3)}function iA(t,e){return ie(t.getMilliseconds(),e,3)}function iE(t,e){return iA(t,e)+"000"}function iW(t,e){return ie(t.getMonth()+1,e,2)}function i$(t,e){return ie(t.getMinutes(),e,2)}function iO(t,e){return ie(t.getSeconds(),e,2)}function iI(t){var e=t.getDay();return 0===e?7:e}function iZ(t,e){return ie(r$.count(rQ(t)-1,t),e,2)}function iD(t){var e=t.getDay();return e>=4||0===e?rD(t):rD.ceil(t)}function iz(t,e){return t=iD(t),ie(rD.count(rQ(t),t)+(4===rQ(t).getDay()),e,2)}function iq(t){return t.getDay()}function iN(t,e){return ie(rO.count(rQ(t)-1,t),e,2)}function iP(t,e){return ie(t.getFullYear()%100,e,2)}function iR(t,e){return ie((t=iD(t)).getFullYear()%100,e,2)}function ij(t,e){return ie(t.getFullYear()%1e4,e,4)}function iY(t,e){var r=t.getDay();return ie((t=r>=4||0===r?rD(t):rD.ceil(t)).getFullYear()%1e4,e,4)}function iU(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+ie(e/60|0,"0",2)+ie(e%60,"0",2)}function iH(t,e){return ie(t.getUTCDate(),e,2)}function iV(t,e){return ie(t.getUTCHours(),e,2)}function iG(t,e){return ie(t.getUTCHours()%12||12,e,2)}function iX(t,e){return ie(1+rA.count(rK(t),t),e,3)}function iQ(t,e){return ie(t.getUTCMilliseconds(),e,3)}function iK(t,e){return iQ(t,e)+"000"}function iJ(t,e){return ie(t.getUTCMonth()+1,e,2)}function i0(t,e){return ie(t.getUTCMinutes(),e,2)}function i1(t,e){return ie(t.getUTCSeconds(),e,2)}function i2(t){var e=t.getUTCDay();return 0===e?7:e}function i3(t,e){return ie(rP.count(rK(t)-1,t),e,2)}function i5(t){var e=t.getUTCDay();return e>=4||0===e?rU(t):rU.ceil(t)}function i6(t,e){return t=i5(t),ie(rU.count(rK(t),t)+(4===rK(t).getUTCDay()),e,2)}function i4(t){return t.getUTCDay()}function i8(t,e){return ie(rR.count(rK(t)-1,t),e,2)}function i9(t,e){return ie(t.getUTCFullYear()%100,e,2)}function i7(t,e){return ie((t=i5(t)).getUTCFullYear()%100,e,2)}function nt(t,e){return ie(t.getUTCFullYear()%1e4,e,4)}function ne(t,e){var r=t.getUTCDay();return ie((t=r>=4||0===r?rU(t):rU.ceil(t)).getUTCFullYear()%1e4,e,4)}function nr(){return"+0000"}function ni(){return"%"}function nn(t){return+t}function no(t){return Math.floor(+t/1e3)}function na(t){return new Date(t)}function ns(t){return t instanceof Date?+t:+new Date(+t)}function nl(){return eV.apply((function t(e,r,i,n,o,a,s,l,h,c){var u=rc(),d=u.invert,f=u.domain,p=c(".%L"),g=c(":%S"),y=c("%I:%M"),m=c("%I %p"),x=c("%a %d"),b=c("%b %d"),C=c("%B"),k=c("%Y");function _(t){return(h(t)<t?p:l(t)<t?g:s(t)<t?y:a(t)<t?m:n(t)<t?o(t)<t?x:b:i(t)<t?C:k)(t)}return u.invert=function(t){return new Date(d(t))},u.domain=function(t){return arguments.length?f(Array.from(t,ns)):f().map(na)},u.ticks=function(t){var r=f();return e(r[0],r[r.length-1],null==t?10:t)},u.tickFormat=function(t,e){return null==e?_:c(e)},u.nice=function(t){var e,i,n,o,a,s,l,h=f();return t&&"function"==typeof t.range||(t=r(h[0],h[h.length-1],null==t?10:t)),t?f((e=h,i=t,e=e.slice(),o=0,a=e.length-1,s=e[o],(l=e[a])<s&&(n=o,o=a,a=n,n=s,s=l,l=n),e[o]=i.floor(s),e[a]=i.ceil(l),e)):u},u.copy=function(){return rh(u,t(e,r,i,n,o,a,s,l,h,c))},u})(r2,r3,rQ,rG,r$,rF,rB,rS,rT,th).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}th=(tl=function(t){var e=t.dateTime,r=t.date,i=t.time,n=t.periods,o=t.days,a=t.shortDays,s=t.months,l=t.shortMonths,h=ii(n),c=io(n),u=ii(o),d=io(o),f=ii(a),p=io(a),g=ii(s),y=io(s),m=ii(l),x=io(l),b={a:function(t){return a[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:iM,e:iM,f:iE,g:iR,G:iY,H:iB,I:iL,j:iF,L:iA,m:iW,M:i$,p:function(t){return n[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:nn,s:no,S:iO,u:iI,U:iZ,V:iz,w:iq,W:iN,x:null,X:null,y:iP,Y:ij,Z:iU,"%":ni},C={a:function(t){return a[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:iH,e:iH,f:iK,g:i7,G:ne,H:iV,I:iG,j:iX,L:iQ,m:iJ,M:i0,p:function(t){return n[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:nn,s:no,S:i1,u:i2,U:i3,V:i6,w:i4,W:i8,x:null,X:null,y:i9,Y:nt,Z:nr,"%":ni},k={a:function(t,e,r){var i=f.exec(e.slice(r));return i?(t.w=p.get(i[0].toLowerCase()),r+i[0].length):-1},A:function(t,e,r){var i=u.exec(e.slice(r));return i?(t.w=d.get(i[0].toLowerCase()),r+i[0].length):-1},b:function(t,e,r){var i=m.exec(e.slice(r));return i?(t.m=x.get(i[0].toLowerCase()),r+i[0].length):-1},B:function(t,e,r){var i=g.exec(e.slice(r));return i?(t.m=y.get(i[0].toLowerCase()),r+i[0].length):-1},c:function(t,r,i){return v(t,e,r,i)},d:im,e:im,f:iw,g:id,G:iu,H:ib,I:ib,j:ix,L:i_,m:iy,M:iC,p:function(t,e,r){var i=h.exec(e.slice(r));return i?(t.p=c.get(i[0].toLowerCase()),r+i[0].length):-1},q:ig,Q:iT,s:iS,S:ik,u:is,U:il,V:ih,w:ia,W:ic,x:function(t,e,i){return v(t,r,e,i)},X:function(t,e,r){return v(t,i,e,r)},y:id,Y:iu,Z:ip,"%":iv};function _(t,e){return function(r){var i,n,o,a=[],s=-1,l=0,h=t.length;for(r instanceof Date||(r=new Date(+r));++s<h;)37===t.charCodeAt(s)&&(a.push(t.slice(l,s)),null!=(n=r8[i=t.charAt(++s)])?i=t.charAt(++s):n="e"===i?" ":"0",(o=e[i])&&(i=o(r,n)),a.push(i),l=s+1);return a.push(t.slice(l,s)),a.join("")}}function w(t,e){return function(r){var i,n,o=r4(1900,void 0,1);if(v(o,t,r+="",0)!=r.length)return null;if("Q"in o)return new Date(o.Q);if("s"in o)return new Date(1e3*o.s+("L"in o?o.L:0));if(!e||"Z"in o||(o.Z=0),"p"in o&&(o.H=o.H%12+12*o.p),void 0===o.m&&(o.m="q"in o?o.q:0),"V"in o){if(o.V<1||o.V>53)return null;"w"in o||(o.w=1),"Z"in o?(i=(n=(i=r6(r4(o.y,0,1))).getUTCDay())>4||0===n?rR.ceil(i):rR(i),i=rA.offset(i,(o.V-1)*7),o.y=i.getUTCFullYear(),o.m=i.getUTCMonth(),o.d=i.getUTCDate()+(o.w+6)%7):(i=(n=(i=r5(r4(o.y,0,1))).getDay())>4||0===n?rO.ceil(i):rO(i),i=rF.offset(i,(o.V-1)*7),o.y=i.getFullYear(),o.m=i.getMonth(),o.d=i.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:+("W"in o)),n="Z"in o?r6(r4(o.y,0,1)).getUTCDay():r5(r4(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(n+5)%7:o.w+7*o.U-(n+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,r6(o)):r5(o)}}function v(t,e,r,i){for(var n,o,a=0,s=e.length,l=r.length;a<s;){if(i>=l)return -1;if(37===(n=e.charCodeAt(a++))){if(!(o=k[(n=e.charAt(a++))in r8?e.charAt(a++):n])||(i=o(t,r,i))<0)return -1}else if(n!=r.charCodeAt(i++))return -1}return i}return b.x=_(r,b),b.X=_(i,b),b.c=_(e,b),C.x=_(r,C),C.X=_(i,C),C.c=_(e,C),{format:function(t){var e=_(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=w(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=_(t+="",C);return e.toString=function(){return t},e},utcParse:function(t){var e=w(t+="",!0);return e.toString=function(){return t},e}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})).format,tl.parse,tl.utcFormat,tl.utcParse;let nh=function(t){for(var e=t.length/6|0,r=Array(e),i=0;i<e;)r[i]="#"+t.slice(6*i,6*++i);return r}("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function nc(t){return"string"==typeof t?new Q([[document.querySelector(t)]],[document.documentElement]):new Q([[t]],X)}function nu(t){return function(){return t}}let nd=Math.abs,nf=Math.atan2,np=Math.cos,ng=Math.max,ny=Math.min,nm=Math.sin,nx=Math.sqrt,nb=Math.PI,nC=nb/2,nk=2*nb;function n_(t){return t>=1?nC:t<=-1?-nC:Math.asin(t)}let nw=Math.PI,nv=2*nw,nT=nv-1e-6;function nS(t){this._+=t[0];for(let e=1,r=t.length;e<r;++e)this._+=arguments[e]+t[e]}class nM{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?nS:function(t){let e=Math.floor(t);if(!(e>=0))throw Error(`invalid digits: ${t}`);if(e>15)return nS;let r=10**e;return function(t){this._+=t[0];for(let e=1,i=t.length;e<i;++e)this._+=Math.round(arguments[e]*r)/r+t[e]}}(t)}moveTo(t,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,e){this._append`L${this._x1=+t},${this._y1=+e}`}quadraticCurveTo(t,e,r,i){this._append`Q${+t},${+e},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(t,e,r,i,n,o){this._append`C${+t},${+e},${+r},${+i},${this._x1=+n},${this._y1=+o}`}arcTo(t,e,r,i,n){if(t*=1,e*=1,r*=1,i*=1,(n*=1)<0)throw Error(`negative radius: ${n}`);let o=this._x1,a=this._y1,s=r-t,l=i-e,h=o-t,c=a-e,u=h*h+c*c;if(null===this._x1)this._append`M${this._x1=t},${this._y1=e}`;else if(u>1e-6){if(Math.abs(c*s-l*h)>1e-6&&n){let d=r-o,f=i-a,p=s*s+l*l,g=Math.sqrt(p),y=Math.sqrt(u),m=n*Math.tan((nw-Math.acos((p+u-(d*d+f*f))/(2*g*y)))/2),x=m/y,b=m/g;Math.abs(x-1)>1e-6&&this._append`L${t+x*h},${e+x*c}`,this._append`A${n},${n},0,0,${+(c*d>h*f)},${this._x1=t+b*s},${this._y1=e+b*l}`}else this._append`L${this._x1=t},${this._y1=e}`}}arc(t,e,r,i,n,o){if(t*=1,e*=1,r*=1,o=!!o,r<0)throw Error(`negative radius: ${r}`);let a=r*Math.cos(i),s=r*Math.sin(i),l=t+a,h=e+s,c=1^o,u=o?i-n:n-i;null===this._x1?this._append`M${l},${h}`:(Math.abs(this._x1-l)>1e-6||Math.abs(this._y1-h)>1e-6)&&this._append`L${l},${h}`,r&&(u<0&&(u=u%nv+nv),u>nT?this._append`A${r},${r},0,1,${c},${t-a},${e-s}A${r},${r},0,1,${c},${this._x1=l},${this._y1=h}`:u>1e-6&&this._append`A${r},${r},0,${+(u>=nw)},${c},${this._x1=t+r*Math.cos(n)},${this._y1=e+r*Math.sin(n)}`)}rect(t,e,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${r*=1}v${+i}h${-r}Z`}toString(){return this._}}function nB(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(null==r)e=null;else{let t=Math.floor(r);if(!(t>=0))throw RangeError(`invalid digits: ${r}`);e=t}return t},()=>new nM(e)}function nL(t){return t.innerRadius}function nF(t){return t.outerRadius}function nA(t){return t.startAngle}function nE(t){return t.endAngle}function nW(t){return t&&t.padAngle}function n$(t,e,r,i,n,o,a){var s=t-r,l=e-i,h=(a?o:-o)/nx(s*s+l*l),c=h*l,u=-h*s,d=t+c,f=e+u,p=r+c,g=i+u,y=(d+p)/2,m=(f+g)/2,x=p-d,b=g-f,C=x*x+b*b,k=n-o,_=d*g-p*f,w=(b<0?-1:1)*nx(ng(0,k*k*C-_*_)),v=(_*b-x*w)/C,T=(-_*x-b*w)/C,S=(_*b+x*w)/C,M=(-_*x+b*w)/C,B=v-y,L=T-m,F=S-y,A=M-m;return B*B+L*L>F*F+A*A&&(v=S,T=M),{cx:v,cy:T,x01:-c,y01:-u,x11:v*(n/k-1),y11:T*(n/k-1)}}function nO(){var t=nL,e=nF,r=nu(0),i=null,n=nA,o=nE,a=nW,s=null,l=nB(h);function h(){var h,c,u=+t.apply(this,arguments),d=+e.apply(this,arguments),f=n.apply(this,arguments)-nC,p=o.apply(this,arguments)-nC,g=nd(p-f),y=p>f;if(s||(s=h=l()),d<u&&(c=d,d=u,u=c),d>1e-12){if(g>nk-1e-12)s.moveTo(d*np(f),d*nm(f)),s.arc(0,0,d,f,p,!y),u>1e-12&&(s.moveTo(u*np(p),u*nm(p)),s.arc(0,0,u,p,f,y));else{var m,x,b=f,C=p,k=f,_=p,w=g,v=g,T=a.apply(this,arguments)/2,S=T>1e-12&&(i?+i.apply(this,arguments):nx(u*u+d*d)),M=ny(nd(d-u)/2,+r.apply(this,arguments)),B=M,L=M;if(S>1e-12){var F=n_(S/u*nm(T)),A=n_(S/d*nm(T));(w-=2*F)>1e-12?(F*=y?1:-1,k+=F,_-=F):(w=0,k=_=(f+p)/2),(v-=2*A)>1e-12?(A*=y?1:-1,b+=A,C-=A):(v=0,b=C=(f+p)/2)}var E=d*np(b),W=d*nm(b),$=u*np(_),O=u*nm(_);if(M>1e-12){var I,Z=d*np(C),D=d*nm(C),z=u*np(k),q=u*nm(k);if(g<nb){if(I=function(t,e,r,i,n,o,a,s){var l=r-t,h=i-e,c=a-n,u=s-o,d=u*l-c*h;if(!(d*d<1e-12))return d=(c*(e-o)-u*(t-n))/d,[t+d*l,e+d*h]}(E,W,z,q,Z,D,$,O)){var N,P=E-I[0],R=W-I[1],j=Z-I[0],Y=D-I[1],U=1/nm(((N=(P*j+R*Y)/(nx(P*P+R*R)*nx(j*j+Y*Y)))>1?0:N<-1?nb:Math.acos(N))/2),H=nx(I[0]*I[0]+I[1]*I[1]);B=ny(M,(u-H)/(U-1)),L=ny(M,(d-H)/(U+1))}else B=L=0}}v>1e-12?L>1e-12?(m=n$(z,q,E,W,d,L,y),x=n$(Z,D,$,O,d,L,y),s.moveTo(m.cx+m.x01,m.cy+m.y01),L<M?s.arc(m.cx,m.cy,L,nf(m.y01,m.x01),nf(x.y01,x.x01),!y):(s.arc(m.cx,m.cy,L,nf(m.y01,m.x01),nf(m.y11,m.x11),!y),s.arc(0,0,d,nf(m.cy+m.y11,m.cx+m.x11),nf(x.cy+x.y11,x.cx+x.x11),!y),s.arc(x.cx,x.cy,L,nf(x.y11,x.x11),nf(x.y01,x.x01),!y))):(s.moveTo(E,W),s.arc(0,0,d,b,C,!y)):s.moveTo(E,W),u>1e-12&&w>1e-12?B>1e-12?(m=n$($,O,Z,D,u,-B,y),x=n$(E,W,z,q,u,-B,y),s.lineTo(m.cx+m.x01,m.cy+m.y01),B<M?s.arc(m.cx,m.cy,B,nf(m.y01,m.x01),nf(x.y01,x.x01),!y):(s.arc(m.cx,m.cy,B,nf(m.y01,m.x01),nf(m.y11,m.x11),!y),s.arc(0,0,u,nf(m.cy+m.y11,m.cx+m.x11),nf(x.cy+x.y11,x.cx+x.x11),y),s.arc(x.cx,x.cy,B,nf(x.y11,x.x11),nf(x.y01,x.x01),!y))):s.arc(0,0,u,_,k,y):s.lineTo($,O)}}else s.moveTo(0,0);if(s.closePath(),h)return s=null,h+""||null}return h.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,i=(+n.apply(this,arguments)+ +o.apply(this,arguments))/2-nb/2;return[np(i)*r,nm(i)*r]},h.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:nu(+e),h):t},h.outerRadius=function(t){return arguments.length?(e="function"==typeof t?t:nu(+t),h):e},h.cornerRadius=function(t){return arguments.length?(r="function"==typeof t?t:nu(+t),h):r},h.padRadius=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:nu(+t),h):i},h.startAngle=function(t){return arguments.length?(n="function"==typeof t?t:nu(+t),h):n},h.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:nu(+t),h):o},h.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:nu(+t),h):a},h.context=function(t){return arguments.length?(s=null==t?null:t,h):s},h}function nI(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function nZ(t){this._context=t}function nD(t){return new nZ(t)}function nz(t){return t[0]}function nq(t){return t[1]}function nN(t,e){var r=nu(!0),i=null,n=nD,o=null,a=nB(s);function s(s){var l,h,c,u=(s=nI(s)).length,d=!1;for(null==i&&(o=n(c=a())),l=0;l<=u;++l)!(l<u&&r(h=s[l],l,s))===d&&((d=!d)?o.lineStart():o.lineEnd()),d&&o.point(+t(h,l,s),+e(h,l,s));if(c)return o=null,c+""||null}return t="function"==typeof t?t:void 0===t?nz:nu(t),e="function"==typeof e?e:void 0===e?nq:nu(e),s.x=function(e){return arguments.length?(t="function"==typeof e?e:nu(+e),s):t},s.y=function(t){return arguments.length?(e="function"==typeof t?t:nu(+t),s):e},s.defined=function(t){return arguments.length?(r="function"==typeof t?t:nu(!!t),s):r},s.curve=function(t){return arguments.length?(n=t,null!=i&&(o=n(i)),s):n},s.context=function(t){return arguments.length?(null==t?i=o=null:o=n(i=t),s):i},s}function nP(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function nR(t){return t}function nj(){var t=nR,e=nP,r=null,i=nu(0),n=nu(nk),o=nu(0);function a(a){var s,l,h,c,u,d=(a=nI(a)).length,f=0,p=Array(d),g=Array(d),y=+i.apply(this,arguments),m=Math.min(nk,Math.max(-nk,n.apply(this,arguments)-y)),x=Math.min(Math.abs(m)/d,o.apply(this,arguments)),b=x*(m<0?-1:1);for(s=0;s<d;++s)(u=g[p[s]=s]=+t(a[s],s,a))>0&&(f+=u);for(null!=e?p.sort(function(t,r){return e(g[t],g[r])}):null!=r&&p.sort(function(t,e){return r(a[t],a[e])}),s=0,h=f?(m-d*b)/f:0;s<d;++s,y=c)c=y+((u=g[l=p[s]])>0?u*h:0)+b,g[l]={data:a[l],index:s,value:u,startAngle:y,endAngle:c,padAngle:x};return g}return a.value=function(e){return arguments.length?(t="function"==typeof e?e:nu(+e),a):t},a.sortValues=function(t){return arguments.length?(e=t,r=null,a):e},a.sort=function(t){return arguments.length?(r=t,e=null,a):r},a.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:nu(+t),a):i},a.endAngle=function(t){return arguments.length?(n="function"==typeof t?t:nu(+t),a):n},a.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:nu(+t),a):o},a}function nY(){}function nU(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function nH(t){this._context=t}function nV(t){return new nH(t)}function nG(t){this._context=t}function nX(t){return new nG(t)}function nQ(t){this._context=t}function nK(t){return new nQ(t)}nM.prototype,Array.prototype.slice,nZ.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},nH.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:nU(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:nU(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},nG.prototype={areaStart:nY,areaEnd:nY,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:nU(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},nQ.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,i):this._context.moveTo(r,i);break;case 3:this._point=4;default:nU(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class nJ{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function n0(t){return new nJ(t,!0)}function n1(t){return new nJ(t,!1)}function n2(t,e){this._basis=new nH(t),this._beta=e}n2.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var i,n=t[0],o=e[0],a=t[r]-n,s=e[r]-o,l=-1;++l<=r;)i=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+i*a),this._beta*e[l]+(1-this._beta)*(o+i*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};let n3=function t(e){function r(t){return 1===e?new nH(t):new n2(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function n5(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function n6(t,e){this._context=t,this._k=(1-e)/6}n6.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:n5(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:n5(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let n4=function t(e){function r(t){return new n6(t,e)}return r.tension=function(e){return t(+e)},r}(0);function n8(t,e){this._context=t,this._k=(1-e)/6}n8.prototype={areaStart:nY,areaEnd:nY,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:n5(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let n9=function t(e){function r(t){return new n8(t,e)}return r.tension=function(e){return t(+e)},r}(0);function n7(t,e){this._context=t,this._k=(1-e)/6}n7.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:n5(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let ot=function t(e){function r(t){return new n7(t,e)}return r.tension=function(e){return t(+e)},r}(0);function oe(t,e,r){var i=t._x1,n=t._y1,o=t._x2,a=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,n=(n*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>1e-12){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*h+t._x1*t._l23_2a-e*t._l12_2a)/c,a=(a*h+t._y1*t._l23_2a-r*t._l12_2a)/c}t._context.bezierCurveTo(i,n,o,a,t._x2,t._y2)}function or(t,e){this._context=t,this._alpha=e}or.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t*=1,e*=1,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:oe(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let oi=function t(e){function r(t){return e?new or(t,e):new n6(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function on(t,e){this._context=t,this._alpha=e}on.prototype={areaStart:nY,areaEnd:nY,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t*=1,e*=1,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:oe(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let oo=function t(e){function r(t){return e?new on(t,e):new n8(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function oa(t,e){this._context=t,this._alpha=e}oa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t*=1,e*=1,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:oe(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let os=function t(e){function r(t){return e?new oa(t,e):new n7(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function ol(t){this._context=t}function oh(t){return new ol(t)}function oc(t,e,r){var i=t._x1-t._x0,n=e-t._x1,o=(t._y1-t._y0)/(i||n<0&&-0),a=(r-t._y1)/(n||i<0&&-0);return((o<0?-1:1)+(a<0?-1:1))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs((o*n+a*i)/(i+n)))||0}function ou(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function od(t,e,r){var i=t._x0,n=t._y0,o=t._x1,a=t._y1,s=(o-i)/3;t._context.bezierCurveTo(i+s,n+s*e,o-s,a-s*r,o,a)}function of(t){this._context=t}function op(t){this._context=new og(t)}function og(t){this._context=t}function oy(t){return new of(t)}function om(t){return new op(t)}function ox(t){this._context=t}function ob(t){var e,r,i=t.length-1,n=Array(i),o=Array(i),a=Array(i);for(n[0]=0,o[0]=2,a[0]=t[0]+2*t[1],e=1;e<i-1;++e)n[e]=1,o[e]=4,a[e]=4*t[e]+2*t[e+1];for(n[i-1]=2,o[i-1]=7,a[i-1]=8*t[i-1]+t[i],e=1;e<i;++e)r=n[e]/o[e-1],o[e]-=r,a[e]-=r*a[e-1];for(n[i-1]=a[i-1]/o[i-1],e=i-2;e>=0;--e)n[e]=(a[e]-n[e+1])/o[e];for(e=0,o[i-1]=(t[i]+n[i-1])/2;e<i-1;++e)o[e]=2*t[e+1]-n[e+1];return[n,o]}function oC(t){return new ox(t)}function ok(t,e){this._context=t,this._t=e}function o_(t){return new ok(t,.5)}function ow(t){return new ok(t,0)}function ov(t){return new ok(t,1)}function oT(t,e,r){this.k=t,this.x=e,this.y=r}ol.prototype={areaStart:nY,areaEnd:nY,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t*=1,e*=1,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},of.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:od(this,this._t0,ou(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e*=1,(t*=1)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,od(this,ou(this,r=oc(this,t,e)),r);break;default:od(this,this._t0,r=oc(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(op.prototype=Object.create(of.prototype)).point=function(t,e){of.prototype.point.call(this,e,t)},og.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,i,n,o){this._context.bezierCurveTo(e,t,i,r,o,n)}},ox.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r){if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var i=ob(t),n=ob(e),o=0,a=1;a<r;++o,++a)this._context.bezierCurveTo(i[0][o],n[0][o],i[1][o],n[1][o],t[a],e[a])}(this._line||0!==this._line&&1===r)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},ok.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},oT.prototype={constructor:oT,scale:function(t){return 1===t?this:new oT(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new oT(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var oS=new oT(1,0,0);oT.prototype},37914:function(t,e,r){"use strict";r.d(e,{Z:()=>tr});let{entries:i,setPrototypeOf:n,isFrozen:o,getPrototypeOf:a,getOwnPropertyDescriptor:s}=Object,{freeze:l,seal:h,create:c}=Object,{apply:u,construct:d}="undefined"!=typeof Reflect&&Reflect;l||(l=function(t){return t}),h||(h=function(t){return t}),u||(u=function(t,e,r){return t.apply(e,r)}),d||(d=function(t,e){return new t(...e)});let f=M(Array.prototype.forEach),p=M(Array.prototype.lastIndexOf),g=M(Array.prototype.pop),y=M(Array.prototype.push),m=M(Array.prototype.splice),x=M(String.prototype.toLowerCase),b=M(String.prototype.toString),C=M(String.prototype.match),k=M(String.prototype.replace),_=M(String.prototype.indexOf),w=M(String.prototype.trim),v=M(Object.prototype.hasOwnProperty),T=M(RegExp.prototype.test),S=(Q=TypeError,function(){for(var t=arguments.length,e=Array(t),r=0;r<t;r++)e[r]=arguments[r];return d(Q,e)});function M(t){return function(e){for(var r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];return u(t,e,i)}}function B(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:x;n&&n(t,null);let i=e.length;for(;i--;){let n=e[i];if("string"==typeof n){let t=r(n);t!==n&&(o(e)||(e[i]=t),n=t)}t[n]=!0}return t}function L(t){let e=c(null);for(let[r,n]of i(t))v(t,r)&&(Array.isArray(n)?e[r]=function(t){for(let e=0;e<t.length;e++)v(t,e)||(t[e]=null);return t}(n):n&&"object"==typeof n&&n.constructor===Object?e[r]=L(n):e[r]=n);return e}function F(t,e){for(;null!==t;){let r=s(t,e);if(r){if(r.get)return M(r.get);if("function"==typeof r.value)return M(r.value)}t=a(t)}return function(){return null}}let A=l(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),E=l(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),W=l(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),$=l(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),O=l(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),I=l(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Z=l(["#text"]),D=l(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),z=l(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),q=l(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),N=l(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),P=h(/\{\{[\w\W]*|[\w\W]*\}\}/gm),R=h(/<%[\w\W]*|[\w\W]*%>/gm),j=h(/\$\{[\w\W]*/gm),Y=h(/^data-[\-\w.\u00B7-\uFFFF]+$/),U=h(/^aria-[\-\w]+$/),H=h(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),V=h(/^(?:\w+script|data):/i),G=h(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),X=h(/^html$/i);var Q,K=Object.freeze({__proto__:null,ARIA_ATTR:U,ATTR_WHITESPACE:G,CUSTOM_ELEMENT:h(/^[a-z][.\w]*(-[.\w]+)+$/i),DATA_ATTR:Y,DOCTYPE_NAME:X,ERB_EXPR:R,IS_ALLOWED_URI:H,IS_SCRIPT_OR_DATA:V,MUSTACHE_EXPR:P,TMPLIT_EXPR:j});let J={element:1,text:3,progressingInstruction:7,comment:8,document:9},tt=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let r=null,i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(r=e.getAttribute(i));let n="dompurify"+(r?"#"+r:"");try{return t.createPolicy(n,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+n+" could not be created."),null}},te=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};var tr=function t(){let e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"undefined"==typeof window?null:window,n=e=>t(e);if(n.version="3.2.4",n.removed=[],!r||!r.document||r.document.nodeType!==J.document||!r.Element)return n.isSupported=!1,n;let{document:o}=r,a=o,s=a.currentScript,{DocumentFragment:h,HTMLTemplateElement:u,Node:d,Element:M,NodeFilter:P,NamedNodeMap:R=r.NamedNodeMap||r.MozNamedAttrMap,HTMLFormElement:j,DOMParser:Y,trustedTypes:U}=r,V=M.prototype,G=F(V,"cloneNode"),Q=F(V,"remove"),tr=F(V,"nextSibling"),ti=F(V,"childNodes"),tn=F(V,"parentNode");if("function"==typeof u){let t=o.createElement("template");t.content&&t.content.ownerDocument&&(o=t.content.ownerDocument)}let to="",{implementation:ta,createNodeIterator:ts,createDocumentFragment:tl,getElementsByTagName:th}=o,{importNode:tc}=a,tu=te();n.isSupported="function"==typeof i&&"function"==typeof tn&&ta&&void 0!==ta.createHTMLDocument;let{MUSTACHE_EXPR:td,ERB_EXPR:tf,TMPLIT_EXPR:tp,DATA_ATTR:tg,ARIA_ATTR:ty,IS_SCRIPT_OR_DATA:tm,ATTR_WHITESPACE:tx,CUSTOM_ELEMENT:tb}=K,{IS_ALLOWED_URI:tC}=K,tk=null,t_=B({},[...A,...E,...W,...O,...Z]),tw=null,tv=B({},[...D,...z,...q,...N]),tT=Object.seal(c(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),tS=null,tM=null,tB=!0,tL=!0,tF=!1,tA=!0,tE=!1,tW=!0,t$=!1,tO=!1,tI=!1,tZ=!1,tD=!1,tz=!1,tq=!0,tN=!1,tP=!0,tR=!1,tj={},tY=null,tU=B({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),tH=null,tV=B({},["audio","video","img","source","image","track"]),tG=null,tX=B({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),tQ="http://www.w3.org/1998/Math/MathML",tK="http://www.w3.org/2000/svg",tJ="http://www.w3.org/1999/xhtml",t0=tJ,t1=!1,t2=null,t3=B({},[tQ,tK,tJ],b),t5=B({},["mi","mo","mn","ms","mtext"]),t6=B({},["annotation-xml"]),t4=B({},["title","style","font","a","script"]),t8=null,t9=["application/xhtml+xml","text/html"],t7=null,et=null,ee=o.createElement("form"),er=function(t){return t instanceof RegExp||t instanceof Function},ei=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!et||et!==t){if(t&&"object"==typeof t||(t={}),t=L(t),t7="application/xhtml+xml"===(t8=-1===t9.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE)?b:x,tk=v(t,"ALLOWED_TAGS")?B({},t.ALLOWED_TAGS,t7):t_,tw=v(t,"ALLOWED_ATTR")?B({},t.ALLOWED_ATTR,t7):tv,t2=v(t,"ALLOWED_NAMESPACES")?B({},t.ALLOWED_NAMESPACES,b):t3,tG=v(t,"ADD_URI_SAFE_ATTR")?B(L(tX),t.ADD_URI_SAFE_ATTR,t7):tX,tH=v(t,"ADD_DATA_URI_TAGS")?B(L(tV),t.ADD_DATA_URI_TAGS,t7):tV,tY=v(t,"FORBID_CONTENTS")?B({},t.FORBID_CONTENTS,t7):tU,tS=v(t,"FORBID_TAGS")?B({},t.FORBID_TAGS,t7):{},tM=v(t,"FORBID_ATTR")?B({},t.FORBID_ATTR,t7):{},tj=!!v(t,"USE_PROFILES")&&t.USE_PROFILES,tB=!1!==t.ALLOW_ARIA_ATTR,tL=!1!==t.ALLOW_DATA_ATTR,tF=t.ALLOW_UNKNOWN_PROTOCOLS||!1,tA=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,tE=t.SAFE_FOR_TEMPLATES||!1,tW=!1!==t.SAFE_FOR_XML,t$=t.WHOLE_DOCUMENT||!1,tZ=t.RETURN_DOM||!1,tD=t.RETURN_DOM_FRAGMENT||!1,tz=t.RETURN_TRUSTED_TYPE||!1,tI=t.FORCE_BODY||!1,tq=!1!==t.SANITIZE_DOM,tN=t.SANITIZE_NAMED_PROPS||!1,tP=!1!==t.KEEP_CONTENT,tR=t.IN_PLACE||!1,tC=t.ALLOWED_URI_REGEXP||H,t0=t.NAMESPACE||tJ,t5=t.MATHML_TEXT_INTEGRATION_POINTS||t5,t6=t.HTML_INTEGRATION_POINTS||t6,tT=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&er(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(tT.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&er(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(tT.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(tT.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),tE&&(tL=!1),tD&&(tZ=!0),tj&&(tk=B({},Z),tw=[],!0===tj.html&&(B(tk,A),B(tw,D)),!0===tj.svg&&(B(tk,E),B(tw,z),B(tw,N)),!0===tj.svgFilters&&(B(tk,W),B(tw,z),B(tw,N)),!0===tj.mathMl&&(B(tk,O),B(tw,q),B(tw,N))),t.ADD_TAGS&&(tk===t_&&(tk=L(tk)),B(tk,t.ADD_TAGS,t7)),t.ADD_ATTR&&(tw===tv&&(tw=L(tw)),B(tw,t.ADD_ATTR,t7)),t.ADD_URI_SAFE_ATTR&&B(tG,t.ADD_URI_SAFE_ATTR,t7),t.FORBID_CONTENTS&&(tY===tU&&(tY=L(tY)),B(tY,t.FORBID_CONTENTS,t7)),tP&&(tk["#text"]=!0),t$&&B(tk,["html","head","body"]),tk.table&&(B(tk,["tbody"]),delete tS.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw S('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw S('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');to=(e=t.TRUSTED_TYPES_POLICY).createHTML("")}else void 0===e&&(e=tt(U,s)),null!==e&&"string"==typeof to&&(to=e.createHTML(""));l&&l(t),et=t}},en=B({},[...E,...W,...$]),eo=B({},[...O,...I]),ea=function(t){let e=tn(t);e&&e.tagName||(e={namespaceURI:t0,tagName:"template"});let r=x(t.tagName),i=x(e.tagName);return!!t2[t.namespaceURI]&&(t.namespaceURI===tK?e.namespaceURI===tJ?"svg"===r:e.namespaceURI===tQ?"svg"===r&&("annotation-xml"===i||t5[i]):!!en[r]:t.namespaceURI===tQ?e.namespaceURI===tJ?"math"===r:e.namespaceURI===tK?"math"===r&&t6[i]:!!eo[r]:t.namespaceURI===tJ?(e.namespaceURI!==tK||!!t6[i])&&(e.namespaceURI!==tQ||!!t5[i])&&!eo[r]&&(t4[r]||!en[r]):"application/xhtml+xml"===t8&&!!t2[t.namespaceURI])},es=function(t){y(n.removed,{element:t});try{tn(t).removeChild(t)}catch(e){Q(t)}},el=function(t,e){try{y(n.removed,{attribute:e.getAttributeNode(t),from:e})}catch(t){y(n.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t){if(tZ||tD)try{es(e)}catch(t){}else try{e.setAttribute(t,"")}catch(t){}}},eh=function(t){let r=null,i=null;if(tI)t="<remove></remove>"+t;else{let e=C(t,/^[\r\n\t ]+/);i=e&&e[0]}"application/xhtml+xml"===t8&&t0===tJ&&(t='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+t+"</body></html>");let n=e?e.createHTML(t):t;if(t0===tJ)try{r=new Y().parseFromString(n,t8)}catch(t){}if(!r||!r.documentElement){r=ta.createDocument(t0,"template",null);try{r.documentElement.innerHTML=t1?to:n}catch(t){}}let a=r.body||r.documentElement;return(t&&i&&a.insertBefore(o.createTextNode(i),a.childNodes[0]||null),t0===tJ)?th.call(r,t$?"html":"body")[0]:t$?r.documentElement:a},ec=function(t){return ts.call(t.ownerDocument||t,t,P.SHOW_ELEMENT|P.SHOW_COMMENT|P.SHOW_TEXT|P.SHOW_PROCESSING_INSTRUCTION|P.SHOW_CDATA_SECTION,null)},eu=function(t){return t instanceof j&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof R)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},ed=function(t){return"function"==typeof d&&t instanceof d};function ef(t,e,r){f(t,t=>{t.call(n,e,r,et)})}let ep=function(t){let e=null;if(ef(tu.beforeSanitizeElements,t,null),eu(t))return es(t),!0;let r=t7(t.nodeName);if(ef(tu.uponSanitizeElement,t,{tagName:r,allowedTags:tk}),t.hasChildNodes()&&!ed(t.firstElementChild)&&T(/<[/\w]/g,t.innerHTML)&&T(/<[/\w]/g,t.textContent)||t.nodeType===J.progressingInstruction||tW&&t.nodeType===J.comment&&T(/<[/\w]/g,t.data))return es(t),!0;if(!tk[r]||tS[r]){if(!tS[r]&&ey(r)&&(tT.tagNameCheck instanceof RegExp&&T(tT.tagNameCheck,r)||tT.tagNameCheck instanceof Function&&tT.tagNameCheck(r)))return!1;if(tP&&!tY[r]){let e=tn(t)||t.parentNode,r=ti(t)||t.childNodes;if(r&&e){let i=r.length;for(let n=i-1;n>=0;--n){let i=G(r[n],!0);i.__removalCount=(t.__removalCount||0)+1,e.insertBefore(i,tr(t))}}}return es(t),!0}return t instanceof M&&!ea(t)||("noscript"===r||"noembed"===r||"noframes"===r)&&T(/<\/no(script|embed|frames)/i,t.innerHTML)?(es(t),!0):(tE&&t.nodeType===J.text&&(e=t.textContent,f([td,tf,tp],t=>{e=k(e,t," ")}),t.textContent!==e&&(y(n.removed,{element:t.cloneNode()}),t.textContent=e)),ef(tu.afterSanitizeElements,t,null),!1)},eg=function(t,e,r){if(tq&&("id"===e||"name"===e)&&(r in o||r in ee))return!1;if(tL&&!tM[e]&&T(tg,e));else if(tB&&T(ty,e));else if(!tw[e]||tM[e]){if(!(ey(t)&&(tT.tagNameCheck instanceof RegExp&&T(tT.tagNameCheck,t)||tT.tagNameCheck instanceof Function&&tT.tagNameCheck(t))&&(tT.attributeNameCheck instanceof RegExp&&T(tT.attributeNameCheck,e)||tT.attributeNameCheck instanceof Function&&tT.attributeNameCheck(e))||"is"===e&&tT.allowCustomizedBuiltInElements&&(tT.tagNameCheck instanceof RegExp&&T(tT.tagNameCheck,r)||tT.tagNameCheck instanceof Function&&tT.tagNameCheck(r))))return!1}else if(tG[e]);else if(T(tC,k(r,tx,"")));else if(("src"===e||"xlink:href"===e||"href"===e)&&"script"!==t&&0===_(r,"data:")&&tH[t]);else if(tF&&!T(tm,k(r,tx,"")));else if(r)return!1;return!0},ey=function(t){return"annotation-xml"!==t&&C(t,tb)},em=function(t){ef(tu.beforeSanitizeAttributes,t,null);let{attributes:r}=t;if(!r||eu(t))return;let i={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:tw,forceKeepAttr:void 0},o=r.length;for(;o--;){let{name:a,namespaceURI:s,value:l}=r[o],h=t7(a),c="value"===a?l:w(l);if(i.attrName=h,i.attrValue=c,i.keepAttr=!0,i.forceKeepAttr=void 0,ef(tu.uponSanitizeAttribute,t,i),c=i.attrValue,tN&&("id"===h||"name"===h)&&(el(a,t),c="user-content-"+c),tW&&T(/((--!?|])>)|<\/(style|title)/i,c)){el(a,t);continue}if(i.forceKeepAttr||(el(a,t),!i.keepAttr))continue;if(!tA&&T(/\/>/i,c)){el(a,t);continue}tE&&f([td,tf,tp],t=>{c=k(c,t," ")});let u=t7(t.nodeName);if(eg(u,h,c)){if(e&&"object"==typeof U&&"function"==typeof U.getAttributeType){if(s);else switch(U.getAttributeType(u,h)){case"TrustedHTML":c=e.createHTML(c);break;case"TrustedScriptURL":c=e.createScriptURL(c)}}try{s?t.setAttributeNS(s,a,c):t.setAttribute(a,c),eu(t)?es(t):g(n.removed)}catch(t){}}}ef(tu.afterSanitizeAttributes,t,null)},ex=function t(e){let r=null,i=ec(e);for(ef(tu.beforeSanitizeShadowDOM,e,null);r=i.nextNode();)ef(tu.uponSanitizeShadowNode,r,null),ep(r),em(r),r.content instanceof h&&t(r.content);ef(tu.afterSanitizeShadowDOM,e,null)};return n.sanitize=function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null,o=null,s=null,l=null;if((t1=!t)&&(t="\x3c!--\x3e"),"string"!=typeof t&&!ed(t)){if("function"==typeof t.toString){if("string"!=typeof(t=t.toString()))throw S("dirty is not a string, aborting")}else throw S("toString is not a function")}if(!n.isSupported)return t;if(tO||ei(r),n.removed=[],"string"==typeof t&&(tR=!1),tR){if(t.nodeName){let e=t7(t.nodeName);if(!tk[e]||tS[e])throw S("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof d)(o=(i=eh("\x3c!----\x3e")).ownerDocument.importNode(t,!0)).nodeType===J.element&&"BODY"===o.nodeName?i=o:"HTML"===o.nodeName?i=o:i.appendChild(o);else{if(!tZ&&!tE&&!t$&&-1===t.indexOf("<"))return e&&tz?e.createHTML(t):t;if(!(i=eh(t)))return tZ?null:tz?to:""}i&&tI&&es(i.firstChild);let c=ec(tR?t:i);for(;s=c.nextNode();)ep(s),em(s),s.content instanceof h&&ex(s.content);if(tR)return t;if(tZ){if(tD)for(l=tl.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(tw.shadowroot||tw.shadowrootmode)&&(l=tc.call(a,l,!0)),l}let u=t$?i.outerHTML:i.innerHTML;return t$&&tk["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&T(X,i.ownerDocument.doctype.name)&&(u="<!DOCTYPE "+i.ownerDocument.doctype.name+">\n"+u),tE&&f([td,tf,tp],t=>{u=k(u,t," ")}),e&&tz?e.createHTML(u):u},n.setConfig=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ei(t),tO=!0},n.clearConfig=function(){et=null,tO=!1},n.isValidAttribute=function(t,e,r){return et||ei({}),eg(t7(t),t7(e),r)},n.addHook=function(t,e){"function"==typeof e&&y(tu[t],e)},n.removeHook=function(t,e){if(void 0!==e){let r=p(tu[t],e);return -1===r?void 0:m(tu[t],r,1)[0]}return g(tu[t])},n.removeHooks=function(t){tu[t]=[]},n.removeAllHooks=function(){tu=te()},n}()},26374:function(t,e,r){"use strict";r.d(e,{Z:()=>a});var i=r(40597),n=r(37079);let o=class{constructor(){this.type=n.w.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=n.w.ALL}is(t){return this.type===t}},a=new class{constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new o}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=n.w.ALL,this}_ensureHSL(){let t=this.data,{h:e,s:r,l:n}=t;void 0===e&&(t.h=i.Z.channel.rgb2hsl(t,"h")),void 0===r&&(t.s=i.Z.channel.rgb2hsl(t,"s")),void 0===n&&(t.l=i.Z.channel.rgb2hsl(t,"l"))}_ensureRGB(){let t=this.data,{r:e,g:r,b:n}=t;void 0===e&&(t.r=i.Z.channel.hsl2rgb(t,"r")),void 0===r&&(t.g=i.Z.channel.hsl2rgb(t,"g")),void 0===n&&(t.b=i.Z.channel.hsl2rgb(t,"b"))}get r(){let t=this.data,e=t.r;return this.type.is(n.w.HSL)||void 0===e?(this._ensureHSL(),i.Z.channel.hsl2rgb(t,"r")):e}get g(){let t=this.data,e=t.g;return this.type.is(n.w.HSL)||void 0===e?(this._ensureHSL(),i.Z.channel.hsl2rgb(t,"g")):e}get b(){let t=this.data,e=t.b;return this.type.is(n.w.HSL)||void 0===e?(this._ensureHSL(),i.Z.channel.hsl2rgb(t,"b")):e}get h(){let t=this.data,e=t.h;return this.type.is(n.w.RGB)||void 0===e?(this._ensureRGB(),i.Z.channel.rgb2hsl(t,"h")):e}get s(){let t=this.data,e=t.s;return this.type.is(n.w.RGB)||void 0===e?(this._ensureRGB(),i.Z.channel.rgb2hsl(t,"s")):e}get l(){let t=this.data,e=t.l;return this.type.is(n.w.RGB)||void 0===e?(this._ensureRGB(),i.Z.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set(n.w.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(n.w.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(n.w.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(n.w.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(n.w.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(n.w.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}({r:0,g:0,b:0,a:0},"transparent")},36404:function(t,e,r){"use strict";r.d(e,{Z:()=>c});var i=r(26374),n=r(37079);let o={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(35!==t.charCodeAt(0))return;let e=t.match(o.re);if(!e)return;let r=e[1],n=parseInt(r,16),a=r.length,s=a%4==0,l=a>4,h=l?1:17,c=l?8:4,u=s?0:-1,d=l?255:15;return i.Z.set({r:(n>>c*(u+3)&d)*h,g:(n>>c*(u+2)&d)*h,b:(n>>c*(u+1)&d)*h,a:s?(n&d)*h/255:1},t)},stringify:t=>{let{r:e,g:r,b:i,a:o}=t;return o<1?`#${n.Q[Math.round(e)]}${n.Q[Math.round(r)]}${n.Q[Math.round(i)]}${n.Q[Math.round(255*o)]}`:`#${n.Q[Math.round(e)]}${n.Q[Math.round(r)]}${n.Q[Math.round(i)]}`}};var a=r(40597);let s={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{let e=t.match(s.hueRe);if(e){let[,t,r]=e;switch(r){case"grad":return a.Z.channel.clamp.h(.9*parseFloat(t));case"rad":return a.Z.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return a.Z.channel.clamp.h(360*parseFloat(t))}}return a.Z.channel.clamp.h(parseFloat(t))},parse:t=>{let e=t.charCodeAt(0);if(104!==e&&72!==e)return;let r=t.match(s.re);if(!r)return;let[,n,o,l,h,c]=r;return i.Z.set({h:s._hue2deg(n),s:a.Z.channel.clamp.s(parseFloat(o)),l:a.Z.channel.clamp.l(parseFloat(l)),a:h?a.Z.channel.clamp.a(c?parseFloat(h)/100:parseFloat(h)):1},t)},stringify:t=>{let{h:e,s:r,l:i,a:n}=t;return n<1?`hsla(${a.Z.lang.round(e)}, ${a.Z.lang.round(r)}%, ${a.Z.lang.round(i)}%, ${n})`:`hsl(${a.Z.lang.round(e)}, ${a.Z.lang.round(r)}%, ${a.Z.lang.round(i)}%)`}},l={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();let e=l.colors[t];if(e)return o.parse(e)},stringify:t=>{let e=o.stringify(t);for(let t in l.colors)if(l.colors[t]===e)return t}},h={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{let e=t.charCodeAt(0);if(114!==e&&82!==e)return;let r=t.match(h.re);if(!r)return;let[,n,o,s,l,c,u,d,f]=r;return i.Z.set({r:a.Z.channel.clamp.r(o?2.55*parseFloat(n):parseFloat(n)),g:a.Z.channel.clamp.g(l?2.55*parseFloat(s):parseFloat(s)),b:a.Z.channel.clamp.b(u?2.55*parseFloat(c):parseFloat(c)),a:d?a.Z.channel.clamp.a(f?parseFloat(d)/100:parseFloat(d)):1},t)},stringify:t=>{let{r:e,g:r,b:i,a:n}=t;return n<1?`rgba(${a.Z.lang.round(e)}, ${a.Z.lang.round(r)}, ${a.Z.lang.round(i)}, ${a.Z.lang.round(n)})`:`rgb(${a.Z.lang.round(e)}, ${a.Z.lang.round(r)}, ${a.Z.lang.round(i)})`}},c={format:{keyword:l,hex:o,rgb:h,rgba:h,hsl:s,hsla:s},parse:t=>{if("string"!=typeof t)return t;let e=o.parse(t)||h.parse(t)||s.parse(t)||l.parse(t);if(e)return e;throw Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(n.w.HSL)||void 0===t.data.r?s.stringify(t):!(t.a<1)&&Number.isInteger(t.r)&&Number.isInteger(t.g)&&Number.isInteger(t.b)?o.stringify(t):h.stringify(t)}},37079:function(t,e,r){"use strict";r.d(e,{Q:()=>n,w:()=>o});var i=r(40597);let n={};for(let t=0;t<=255;t++)n[t]=i.Z.unit.dec2hex(t);let o={ALL:0,RGB:1,HSL:2}},60093:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(40597),n=r(36404);let o=(t,e,r)=>{let o=n.Z.parse(t),a=o[e],s=i.Z.channel.clamp[e](a+r);return a!==s&&(o[e]=s),n.Z.stringify(o)}},52311:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(40597),n=r(36404);let o=(t,e)=>{let r=n.Z.parse(t);for(let t in e)r[t]=i.Z.channel.clamp[t](e[t]);return n.Z.stringify(r)}},28076:function(t,e,r){"use strict";r.d(e,{Z:()=>n});var i=r(60093);let n=(t,e)=>(0,i.Z)(t,"l",-e)},34684:function(t,e,r){"use strict";r.d(e,{Z:()=>s});var i=r(40597),n=r(36404);let o=t=>{let{r:e,g:r,b:o}=n.Z.parse(t),a=.2126*i.Z.channel.toLinear(e)+.7152*i.Z.channel.toLinear(r)+.0722*i.Z.channel.toLinear(o);return i.Z.lang.round(a)},a=t=>o(t)>=.5,s=t=>!a(t)},38582:function(t,e,r){"use strict";r.d(e,{Z:()=>n});var i=r(60093);let n=(t,e)=>(0,i.Z)(t,"l",e)},62321:function(t,e,r){"use strict";r.d(e,{Z:()=>s});var i=r(40597),n=r(26374),o=r(36404),a=r(52311);let s=(t,e,r=0,s=1)=>{if("number"!=typeof t)return(0,a.Z)(t,{a:e});let l=n.Z.set({r:i.Z.channel.clamp.r(t),g:i.Z.channel.clamp.g(e),b:i.Z.channel.clamp.b(r),a:i.Z.channel.clamp.a(s)});return o.Z.stringify(l)}},40597:function(t,e,r){"use strict";r.d(e,{Z:()=>n});let i={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6)?t+(e-t)*6*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t,hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return 2.55*r;t/=360,e/=100;let o=(r/=100)<.5?r*(1+e):r+e-r*e,a=2*r-o;switch(n){case"r":return 255*i.hue2rgb(a,o,t+1/3);case"g":return 255*i.hue2rgb(a,o,t);case"b":return 255*i.hue2rgb(a,o,t-1/3)}},rgb2hsl:({r:t,g:e,b:r},i)=>{let n=Math.max(t/=255,e/=255,r/=255),o=Math.min(t,e,r),a=(n+o)/2;if("l"===i)return 100*a;if(n===o)return 0;let s=n-o;if("s"===i)return 100*(a>.5?s/(2-n-o):s/(n+o));switch(n){case t:return((e-r)/s+6*(e<r))*60;case e:return((r-t)/s+2)*60;case r:return((t-e)/s+4)*60;default:return -1}}},n={channel:i,lang:{clamp:(t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(1e10*t)/1e10},unit:{dec2hex:t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}}},16025:function(t,e,r){"use strict";r.d(e,{Z:()=>s});var i=r(83230);let n=function(t,e){for(var r=t.length;r--;)if((0,i.Z)(t[r][0],e))return r;return -1};var o=Array.prototype.splice;function a(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var i=t[e];this.set(i[0],i[1])}}a.prototype.clear=function(){this.__data__=[],this.size=0},a.prototype.delete=function(t){var e=this.__data__,r=n(e,t);return!(r<0)&&(r==e.length-1?e.pop():o.call(e,r,1),--this.size,!0)},a.prototype.get=function(t){var e=this.__data__,r=n(e,t);return r<0?void 0:e[r][1]},a.prototype.has=function(t){return n(this.__data__,t)>-1},a.prototype.set=function(t,e){var r=this.__data__,i=n(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this};let s=a},29286:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(6757),n=r(17982);let o=(0,i.Z)(n.Z,"Map")},76897:function(t,e,r){"use strict";r.d(e,{Z:()=>d});var i=(0,r(6757).Z)(Object,"create"),n=Object.prototype.hasOwnProperty,o=Object.prototype.hasOwnProperty;function a(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var i=t[e];this.set(i[0],i[1])}}a.prototype.clear=function(){this.__data__=i?i(null):{},this.size=0},a.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=+!!e,e},a.prototype.get=function(t){var e=this.__data__;if(i){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return n.call(e,t)?e[t]:void 0},a.prototype.has=function(t){var e=this.__data__;return i?void 0!==e[t]:o.call(e,t)},a.prototype.set=function(t,e){var r=this.__data__;return this.size+=+!this.has(t),r[t]=i&&void 0===e?"__lodash_hash_undefined__":e,this};var s=r(16025),l=r(29286);let h=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t},c=function(t,e){var r=t.__data__;return h(e)?r["string"==typeof e?"string":"hash"]:r.map};function u(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var i=t[e];this.set(i[0],i[1])}}u.prototype.clear=function(){this.size=0,this.__data__={hash:new a,map:new(l.Z||s.Z),string:new a}},u.prototype.delete=function(t){var e=c(this,t).delete(t);return this.size-=+!!e,e},u.prototype.get=function(t){return c(this,t).get(t)},u.prototype.has=function(t){return c(this,t).has(t)},u.prototype.set=function(t,e){var r=c(this,t),i=r.size;return r.set(t,e),this.size+=+(r.size!=i),this};let d=u},3877:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(6757),n=r(17982);let o=(0,i.Z)(n.Z,"Set")},39928:function(t,e,r){"use strict";r.d(e,{Z:()=>s});var i=r(16025),n=r(29286),o=r(76897);function a(t){var e=this.__data__=new i.Z(t);this.size=e.size}a.prototype.clear=function(){this.__data__=new i.Z,this.size=0},a.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},a.prototype.get=function(t){return this.__data__.get(t)},a.prototype.has=function(t){return this.__data__.has(t)},a.prototype.set=function(t,e){var r=this.__data__;if(r instanceof i.Z){var a=r.__data__;if(!n.Z||a.length<199)return a.push([t,e]),this.size=++r.size,this;r=this.__data__=new o.Z(a)}return r.set(t,e),this.size=r.size,this};let s=a},80894:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=r(17982).Z.Symbol},83735:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=r(17982).Z.Uint8Array},90544:function(t,e,r){"use strict";r.d(e,{Z:()=>c});let i=function(t,e){for(var r=-1,i=Array(t);++r<t;)i[r]=e(r);return i};var n=r(68519),o=r(8572),a=r(36341),s=r(24136),l=r(1705),h=Object.prototype.hasOwnProperty;let c=function(t,e){var r=(0,o.Z)(t),c=!r&&(0,n.Z)(t),u=!r&&!c&&(0,a.Z)(t),d=!r&&!c&&!u&&(0,l.Z)(t),f=r||c||u||d,p=f?i(t.length,String):[],g=p.length;for(var y in t)(e||h.call(t,y))&&!(f&&("length"==y||u&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||(0,s.Z)(y,g)))&&p.push(y);return p}},94379:function(t,e,r){"use strict";r.d(e,{Z:()=>a});var i=r(83276),n=r(83230),o=Object.prototype.hasOwnProperty;let a=function(t,e,r){var a=t[e];o.call(t,e)&&(0,n.Z)(a,r)&&(void 0!==r||e in t)||(0,i.Z)(t,e,r)}},83276:function(t,e,r){"use strict";r.d(e,{Z:()=>n});var i=r(17562);let n=function(t,e,r){"__proto__"==e&&i.Z?(0,i.Z)(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}},90355:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=function(t,e,r){for(var i=-1,n=Object(t),o=r(t),a=o.length;a--;){var s=o[++i];if(!1===e(n[s],s,n))break}return t}},65982:function(t,e,r){"use strict";r.d(e,{Z:()=>u});var i=r(80894),n=Object.prototype,o=n.hasOwnProperty,a=n.toString,s=i.Z?i.Z.toStringTag:void 0;let l=function(t){var e=o.call(t,s),r=t[s];try{t[s]=void 0;var i=!0}catch(t){}var n=a.call(t);return i&&(e?t[s]=r:delete t[s]),n};var h=Object.prototype.toString,c=i.Z?i.Z.toStringTag:void 0;let u=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":c&&c in Object(t)?l(t):h.call(t)}},59663:function(t,e,r){"use strict";r.d(e,{Z:()=>a});var i=r(99445),n=(0,r(64215).Z)(Object.keys,Object),o=Object.prototype.hasOwnProperty;let a=function(t){if(!(0,i.Z)(t))return n(t);var e=[];for(var r in Object(t))o.call(t,r)&&"constructor"!=r&&e.push(r);return e}},29183:function(t,e,r){"use strict";r.d(e,{Z:()=>a});var i=r(48233),n=r(23610),o=r(59123);let a=function(t,e){return(0,o.Z)((0,n.Z)(t,e,i.Z),t+"")}},38696:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=function(t){return function(e){return t(e)}}},8303:function(t,e,r){"use strict";r.d(e,{Z:()=>n});var i=r(83735);let n=function(t){var e=new t.constructor(t.byteLength);return new i.Z(e).set(new i.Z(t)),e}},95046:function(t,e,r){"use strict";r.d(e,{Z:()=>l});var i=r(17982),n="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=n&&"object"==typeof module&&module&&!module.nodeType&&module,a=o&&o.exports===n?i.Z.Buffer:void 0,s=a?a.allocUnsafe:void 0;let l=function(t,e){if(e)return t.slice();var r=t.length,i=s?s(r):new t.constructor(r);return t.copy(i),i}},40939:function(t,e,r){"use strict";r.d(e,{Z:()=>n});var i=r(8303);let n=function(t,e){var r=e?(0,i.Z)(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}},36013:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=function(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r<i;)e[r]=t[r];return e}},58827:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(94379),n=r(83276);let o=function(t,e,r,o){var a=!r;r||(r={});for(var s=-1,l=e.length;++s<l;){var h=e[s],c=o?o(r[h],t[h],h,r,t):void 0;void 0===c&&(c=t[h]),a?(0,n.Z)(r,h,c):(0,i.Z)(r,h,c)}return r}},71709:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(29183),n=r(74047);let o=function(t){return(0,i.Z)(function(e,r){var i=-1,o=r.length,a=o>1?r[o-1]:void 0,s=o>2?r[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&(0,n.Z)(r[0],r[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++i<o;){var l=r[i];l&&t(e,l,i,a)}return e})}},17562:function(t,e,r){"use strict";r.d(e,{Z:()=>n});var i=r(6757);let n=function(){try{var t=(0,i.Z)(Object,"defineProperty");return t({},"",{}),t}catch(t){}}()},97002:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i="object"==typeof global&&global&&global.Object===Object&&global},6757:function(t,e,r){"use strict";r.d(e,{Z:()=>g});var i,n=r(13255),o=r(17982).Z["__core-js_shared__"],a=(i=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",s=r(21367),l=r(91966),h=/^\[object .+?Constructor\]$/,c=Object.prototype,u=Function.prototype.toString,d=c.hasOwnProperty,f=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let p=function(t){return!!(0,s.Z)(t)&&(!a||!(a in t))&&((0,n.Z)(t)?f:h).test((0,l.Z)(t))},g=function(t,e){var r=null==t?void 0:t[e];return p(r)?r:void 0}},60505:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=(0,r(64215).Z)(Object.getPrototypeOf,Object)},12011:function(t,e,r){"use strict";r.d(e,{Z:()=>w});var i=r(6757),n=r(17982),o=(0,i.Z)(n.Z,"DataView"),a=r(29286),s=(0,i.Z)(n.Z,"Promise"),l=r(3877),h=(0,i.Z)(n.Z,"WeakMap"),c=r(65982),u=r(91966),d="[object Map]",f="[object Promise]",p="[object Set]",g="[object WeakMap]",y="[object DataView]",m=(0,u.Z)(o),x=(0,u.Z)(a.Z),b=(0,u.Z)(s),C=(0,u.Z)(l.Z),k=(0,u.Z)(h),_=c.Z;(o&&_(new o(new ArrayBuffer(1)))!=y||a.Z&&_(new a.Z)!=d||s&&_(s.resolve())!=f||l.Z&&_(new l.Z)!=p||h&&_(new h)!=g)&&(_=function(t){var e=(0,c.Z)(t),r="[object Object]"==e?t.constructor:void 0,i=r?(0,u.Z)(r):"";if(i)switch(i){case m:return y;case x:return d;case b:return f;case C:return p;case k:return g}return e});let w=_},88357:function(t,e,r){"use strict";r.d(e,{Z:()=>l});var i=r(21367),n=Object.create,o=function(){function t(){}return function(e){if(!(0,i.Z)(e))return{};if(n)return n(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),a=r(60505),s=r(99445);let l=function(t){return"function"!=typeof t.constructor||(0,s.Z)(t)?{}:o((0,a.Z)(t))}},24136:function(t,e,r){"use strict";r.d(e,{Z:()=>n});var i=/^(?:0|[1-9]\d*)$/;let n=function(t,e){var r=typeof t;return!!(e=null==e?0x1fffffffffffff:e)&&("number"==r||"symbol"!=r&&i.test(t))&&t>-1&&t%1==0&&t<e}},74047:function(t,e,r){"use strict";r.d(e,{Z:()=>s});var i=r(83230),n=r(73713),o=r(24136),a=r(21367);let s=function(t,e,r){if(!(0,a.Z)(r))return!1;var s=typeof e;return("number"==s?!!((0,n.Z)(r)&&(0,o.Z)(e,r.length)):"string"==s&&e in r)&&(0,i.Z)(r[e],t)}},99445:function(t,e,r){"use strict";r.d(e,{Z:()=>n});var i=Object.prototype;let n=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||i)}},98522:function(t,e,r){"use strict";r.d(e,{Z:()=>s});var i=r(97002),n="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=n&&"object"==typeof module&&module&&!module.nodeType&&module,a=o&&o.exports===n&&i.Z.process;let s=function(){try{var t=o&&o.require&&o.require("util").types;if(t)return t;return a&&a.binding&&a.binding("util")}catch(t){}}()},64215:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=function(t,e){return function(r){return t(e(r))}}},23610:function(t,e,r){"use strict";r.d(e,{Z:()=>o});let i=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)};var n=Math.max;let o=function(t,e,r){return e=n(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=n(o.length-e,0),l=Array(s);++a<s;)l[a]=o[e+a];a=-1;for(var h=Array(e+1);++a<e;)h[a]=o[a];return h[e]=r(l),i(t,this,h)}}},17982:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(97002),n="object"==typeof self&&self&&self.Object===Object&&self;let o=i.Z||n||Function("return this")()},59123:function(t,e,r){"use strict";r.d(e,{Z:()=>c});var i,n,o=r(61870),a=r(17562),s=r(48233),l=a.Z?function(t,e){return(0,a.Z)(t,"toString",{configurable:!0,enumerable:!1,value:(0,o.Z)(e),writable:!0})}:s.Z,h=Date.now;let c=(i=0,n=0,function(){var t=h(),e=16-(t-n);if(n=t,e>0){if(++i>=800)return arguments[0]}else i=0;return l.apply(void 0,arguments)})},91966:function(t,e,r){"use strict";r.d(e,{Z:()=>n});var i=Function.prototype.toString;let n=function(t){if(null!=t){try{return i.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},61870:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=function(t){return function(){return t}}},83230:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=function(t,e){return t===e||t!=t&&e!=e}},48233:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=function(t){return t}},68519:function(t,e,r){"use strict";r.d(e,{Z:()=>h});var i=r(65982),n=r(93263);let o=function(t){return(0,n.Z)(t)&&"[object Arguments]"==(0,i.Z)(t)};var a=Object.prototype,s=a.hasOwnProperty,l=a.propertyIsEnumerable;let h=o(function(){return arguments}())?o:function(t){return(0,n.Z)(t)&&s.call(t,"callee")&&!l.call(t,"callee")}},8572:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=Array.isArray},73713:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(13255),n=r(80276);let o=function(t){return null!=t&&(0,n.Z)(t.length)&&!(0,i.Z)(t)}},42113:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(73713),n=r(93263);let o=function(t){return(0,n.Z)(t)&&(0,i.Z)(t)}},36341:function(t,e,r){"use strict";r.d(e,{Z:()=>s});var i=r(17982),n="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=n&&"object"==typeof module&&module&&!module.nodeType&&module,a=o&&o.exports===n?i.Z.Buffer:void 0;let s=(a?a.isBuffer:void 0)||function(){return!1}},31570:function(t,e,r){"use strict";r.d(e,{Z:()=>d});var i=r(59663),n=r(12011),o=r(68519),a=r(8572),s=r(73713),l=r(36341),h=r(99445),c=r(1705),u=Object.prototype.hasOwnProperty;let d=function(t){if(null==t)return!0;if((0,s.Z)(t)&&((0,a.Z)(t)||"string"==typeof t||"function"==typeof t.splice||(0,l.Z)(t)||(0,c.Z)(t)||(0,o.Z)(t)))return!t.length;var e=(0,n.Z)(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if((0,h.Z)(t))return!(0,i.Z)(t).length;for(var r in t)if(u.call(t,r))return!1;return!0}},13255:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(65982),n=r(21367);let o=function(t){if(!(0,n.Z)(t))return!1;var e=(0,i.Z)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},80276:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=0x1fffffffffffff}},21367:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},93263:function(t,e,r){"use strict";r.d(e,{Z:()=>i});let i=function(t){return null!=t&&"object"==typeof t}},1705:function(t,e,r){"use strict";r.d(e,{Z:()=>c});var i=r(65982),n=r(80276),o=r(93263),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1;var s=r(38696),l=r(98522),h=l.Z&&l.Z.isTypedArray;let c=h?(0,s.Z)(h):function(t){return(0,o.Z)(t)&&(0,n.Z)(t.length)&&!!a[(0,i.Z)(t)]}},78649:function(t,e,r){"use strict";r.d(e,{Z:()=>c});var i=r(90544),n=r(21367),o=r(99445);let a=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e};var s=Object.prototype.hasOwnProperty;let l=function(t){if(!(0,n.Z)(t))return a(t);var e=(0,o.Z)(t),r=[];for(var i in t)"constructor"==i&&(e||!s.call(t,i))||r.push(i);return r};var h=r(73713);let c=function(t){return(0,h.Z)(t)?(0,i.Z)(t,!0):l(t)}},9992:function(t,e,r){"use strict";r.d(e,{Z:()=>o});var i=r(76897);function n(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw TypeError("Expected a function");var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],o=r.cache;if(o.has(n))return o.get(n);var a=t.apply(this,i);return r.cache=o.set(n,a)||o,a};return r.cache=new(n.Cache||i.Z),r}n.Cache=i.Z;let o=n},54988:function(t,e,r){"use strict";r.d(e,{Z:()=>E});var i=r(39928),n=r(83276),o=r(83230);let a=function(t,e,r){(void 0===r||(0,o.Z)(t[e],r))&&(void 0!==r||e in t)||(0,n.Z)(t,e,r)};var s=r(90355),l=r(95046),h=r(40939),c=r(36013),u=r(88357),d=r(68519),f=r(8572),p=r(42113),g=r(36341),y=r(13255),m=r(21367),x=r(65982),b=r(60505),C=r(93263),k=Object.prototype,_=Function.prototype.toString,w=k.hasOwnProperty,v=_.call(Object);let T=function(t){if(!(0,C.Z)(t)||"[object Object]"!=(0,x.Z)(t))return!1;var e=(0,b.Z)(t);if(null===e)return!0;var r=w.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&_.call(r)==v};var S=r(1705);let M=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};var B=r(58827),L=r(78649);let F=function(t,e,r,i,n,o,s){var x=M(t,r),b=M(e,r),C=s.get(b);if(C){a(t,r,C);return}var k=o?o(x,b,r+"",t,e,s):void 0,_=void 0===k;if(_){var w=(0,f.Z)(b),v=!w&&(0,g.Z)(b),F=!w&&!v&&(0,S.Z)(b);(k=b,w||v||F)?(0,f.Z)(x)?k=x:(0,p.Z)(x)?k=(0,c.Z)(x):v?(_=!1,k=(0,l.Z)(b,!0)):F?(_=!1,k=(0,h.Z)(b,!0)):k=[]:T(b)||(0,d.Z)(b)?(k=x,(0,d.Z)(x))?k=(0,B.Z)(x,(0,L.Z)(x)):(!(0,m.Z)(x)||(0,y.Z)(x))&&(k=(0,u.Z)(b)):_=!1}_&&(s.set(b,k),n(k,b,i,o,s),s.delete(b)),a(t,r,k)},A=function t(e,r,n,o,l){e!==r&&(0,s.Z)(r,function(s,h){if(l||(l=new i.Z),(0,m.Z)(s))F(e,r,h,n,t,o,l);else{var c=o?o(M(e,h),s,h+"",e,r,l):void 0;void 0===c&&(c=s),a(e,h,c)}},L.Z)},E=(0,r(71709).Z)(function(t,e,r){A(t,e,r)})},25653:function(t,e,r){"use strict";r.d(e,{L:()=>n,o:()=>l});var i=r(28923),n=(0,i.eW)(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:e+r}},"getSubGraphTitleMargins"),o={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};function a(t,e){if(void 0===t||void 0===e)return{angle:0,deltaX:0,deltaY:0};t=s(t),e=s(e);let[r,i]=[t.x,t.y],[n,o]=[e.x,e.y],a=n-r,l=o-i;return{angle:Math.atan(l/a),deltaX:a,deltaY:l}}(0,i.eW)(a,"calculateDeltaAndAngle");var s=(0,i.eW)(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),l=(0,i.eW)(t=>({x:(0,i.eW)(function(e,r,i){let n=0;if(0===r&&Object.hasOwn(o,t.arrowTypeStart)){let{angle:e,deltaX:r}=a(i[0],i[1]);n=o[t.arrowTypeStart]*Math.cos(e)*(r>=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(o,t.arrowTypeEnd)){let{angle:e,deltaX:r}=a(i[i.length-1],i[i.length-2]);n=o[t.arrowTypeEnd]*Math.cos(e)*(r>=0?1:-1)}return s(e).x+n},"x"),y:(0,i.eW)(function(e,r,i){let n=0;if(0===r&&Object.hasOwn(o,t.arrowTypeStart)){let{angle:e,deltaY:r}=a(i[0],i[1]);n=o[t.arrowTypeStart]*Math.abs(Math.sin(e))*(r>=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(o,t.arrowTypeEnd)){let{angle:e,deltaY:r}=a(i[i.length-1],i[i.length-2]);n=o[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(r>=0?1:-1)}return s(e).y+n},"y")}),"getLineFunctionsWithOffset")},84890:function(t,e,r){"use strict";r.d(e,{$m:()=>h,Cq:()=>I,Ln:()=>H,MX:()=>F,Ox:()=>B,Rb:()=>R,SH:()=>U,VG:()=>P,Vy:()=>Y,X4:()=>W,XD:()=>O,bZ:()=>q,be:()=>S,le:()=>y,tf:()=>p,w8:()=>j});var i,n=r(28923),o=r(7608),a=r(11141),s=r(9992),l=r(54988),h="\u200B",c={curveBasis:a.$0Z,curveBasisClosed:a.Dts,curveBasisOpen:a.WQY,curveBumpX:a.qpX,curveBumpY:a.u93,curveBundle:a.tFB,curveCardinalClosed:a.OvA,curveCardinalOpen:a.dCK,curveCardinal:a.YY7,curveCatmullRomClosed:a.fGX,curveCatmullRomOpen:a.$m7,curveCatmullRom:a.zgE,curveLinear:a.c_6,curveLinearClosed:a.fxm,curveMonotoneX:a.FdL,curveMonotoneY:a.ak_,curveNatural:a.SxZ,curveStep:a.eA_,curveStepAfter:a.jsv,curveStepBefore:a.iJ},u=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,d=(0,n.eW)(function(t,e){let r=f(t,/(?:init\b)|(?:initialize\b)/),i={};if(Array.isArray(r)){let t=r.map(t=>t.args);(0,n.NM)(t),i=(0,n.Yc)(i,[...t])}else i=r.args;if(!i)return;let o=(0,n.Vg)(t,e),a="config";return void 0!==i[a]&&("flowchart-v2"===o&&(o="flowchart"),i[o]=i[a],delete i[a]),i},"detectInit"),f=(0,n.eW)(function(t,e=null){try{let r;let i=RegExp(`[%]{2}(?![{]${u.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),n.cM.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);let o=[];for(;null!==(r=n.Zn.exec(t));)if(r.index===n.Zn.lastIndex&&n.Zn.lastIndex++,r&&!e||e&&r[1]?.match(e)||e&&r[2]?.match(e)){let t=r[1]?r[1]:r[2],e=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;o.push({type:t,args:e})}if(0===o.length)return{type:t,args:null};return 1===o.length?o[0]:o}catch(r){return n.cM.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),p=(0,n.eW)(function(t){return t.replace(n.Zn,"")},"removeDirectives"),g=(0,n.eW)(function(t,e){for(let[r,i]of e.entries())if(i.match(t))return r;return -1},"isSubstringInArray");function y(t,e){return t?c[`curve${t.charAt(0).toUpperCase()+t.slice(1)}`]??e:e}function m(t,e){let r=t.trim();return r?"loose"!==e.securityLevel?(0,o.sanitizeUrl)(r):r:void 0}(0,n.eW)(y,"interpolateToCurve"),(0,n.eW)(m,"formatUrl");var x=(0,n.eW)((t,...e)=>{let r=t.split("."),i=r.length-1,o=r[i],a=window;for(let e=0;e<i;e++)if(!(a=a[r[e]])){n.cM.error(`Function name: ${t} not found in window`);return}a[o](...e)},"runFunc");function b(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}function C(t){let e;let r=0;return t.forEach(t=>{r+=b(t,e),e=t}),w(t,r/2)}function k(t){return 1===t.length?t[0]:C(t)}(0,n.eW)(b,"distance"),(0,n.eW)(C,"traverseEdge"),(0,n.eW)(k,"calcLabelPosition");var _=(0,n.eW)((t,e=2)=>{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),w=(0,n.eW)((t,e)=>{let r;let i=e;for(let e of t){if(r){let t=b(e,r);if(t<i)i-=t;else{let n=i/t;if(n<=0)return r;if(n>=1)return{x:e.x,y:e.y};if(n>0&&n<1)return{x:_((1-n)*r.x+n*e.x,5),y:_((1-n)*r.y+n*e.y,5)}}}r=e}throw Error("Could not find a suitable point for the given distance")},"calculatePoint"),v=(0,n.eW)((t,e,r)=>{n.cM.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=w(e,25),o=t?10:5,a=Math.atan2(e[0].y-i.y,e[0].x-i.x),s={x:0,y:0};return s.x=Math.sin(a)*o+(e[0].x+i.x)/2,s.y=-Math.cos(a)*o+(e[0].y+i.y)/2,s},"calcCardinalityPosition");function T(t,e,r){let i=structuredClone(r);n.cM.info("our points",i),"start_left"!==e&&"start_right"!==e&&i.reverse();let o=w(i,25+t),a=10+.5*t,s=Math.atan2(i[0].y-o.y,i[0].x-o.x),l={x:0,y:0};return"start_left"===e?(l.x=Math.sin(s+Math.PI)*a+(i[0].x+o.x)/2,l.y=-Math.cos(s+Math.PI)*a+(i[0].y+o.y)/2):"end_right"===e?(l.x=Math.sin(s-Math.PI)*a+(i[0].x+o.x)/2-5,l.y=-Math.cos(s-Math.PI)*a+(i[0].y+o.y)/2-5):"end_left"===e?(l.x=Math.sin(s)*a+(i[0].x+o.x)/2-5,l.y=-Math.cos(s)*a+(i[0].y+o.y)/2-5):(l.x=Math.sin(s)*a+(i[0].x+o.x)/2,l.y=-Math.cos(s)*a+(i[0].y+o.y)/2),l}function S(t){let e="",r="";for(let i of t)void 0!==i&&(i.startsWith("color:")||i.startsWith("text-align:")?r=r+i+";":e=e+i+";");return{style:e,labelStyle:r}}(0,n.eW)(T,"calcTerminalLabelPosition"),(0,n.eW)(S,"getStylesFromArray");var M=0,B=(0,n.eW)(()=>(M++,"id-"+Math.random().toString(36).substr(2,12)+"-"+M),"generateId");function L(t){let e="",r="0123456789abcdef",i=r.length;for(let n=0;n<t;n++)e+=r.charAt(Math.floor(Math.random()*i));return e}(0,n.eW)(L,"makeRandomHex");var F=(0,n.eW)(t=>L(t.length),"random"),A=(0,n.eW)(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),E=(0,n.eW)(function(t,e){let r=e.text.replace(n.SY.lineBreakRegex," "),[,i]=P(e.fontSize),o=t.append("text");o.attr("x",e.x),o.attr("y",e.y),o.style("text-anchor",e.anchor),o.style("font-family",e.fontFamily),o.style("font-size",i),o.style("font-weight",e.fontWeight),o.attr("fill",e.fill),void 0!==e.class&&o.attr("class",e.class);let a=o.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.attr("fill",e.fill),a.text(r),o},"drawSimpleText"),W=(0,s.Z)((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},r),n.SY.lineBreakRegex.test(t)))return t;let i=t.split(" ").filter(Boolean),o=[],a="";return i.forEach((t,n)=>{let s=I(`${t} `,r),l=I(a,r);if(s>e){let{hyphenatedStrings:i,remainingWord:n}=$(t,e,"-",r);o.push(a,...i),a=n}else l+s>=e?(o.push(a),a=t):a=[a,t].filter(Boolean).join(" ");n+1===i.length&&o.push(a)}),o.filter(t=>""!==t).join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),$=(0,s.Z)((t,e,r="-",i)=>{i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},i);let n=[...t],o=[],a="";return n.forEach((t,s)=>{let l=`${a}${t}`;if(I(l,i)>=e){let t=n.length===s+1,e=`${l}${r}`;o.push(t?l:e),a=""}else a=l}),{hyphenatedStrings:o,remainingWord:a}},(t,e,r="-",i)=>`${t}${e}${r}${i.fontSize}${i.fontWeight}${i.fontFamily}`);function O(t,e){return Z(t,e).height}function I(t,e){return Z(t,e).width}(0,n.eW)(O,"calculateTextHeight"),(0,n.eW)(I,"calculateTextWidth");var Z=(0,s.Z)((t,e)=>{let{fontSize:r=12,fontFamily:i="Arial",fontWeight:o=400}=e;if(!t)return{width:0,height:0};let[,s]=P(r),l=t.split(n.SY.lineBreakRegex),c=[],u=(0,a.Ys)("body");if(!u.remove)return{width:0,height:0,lineHeight:0};let d=u.append("svg");for(let t of["sans-serif",i]){let e=0,r={width:0,height:0,lineHeight:0};for(let i of l){let n=A();n.text=i||h;let a=E(d,n).style("font-size",s).style("font-weight",o).style("font-family",t),l=(a._groups||a)[0][0].getBBox();if(0===l.width&&0===l.height)throw Error("svg element not in render tree");r.width=Math.round(Math.max(r.width,l.width)),e=Math.round(l.height),r.height+=e,r.lineHeight=Math.round(Math.max(r.lineHeight,e))}c.push(r)}d.remove();let f=isNaN(c[1].height)||isNaN(c[1].width)||isNaN(c[1].lineHeight)||c[0].height>c[1].height&&c[0].width>c[1].width&&c[0].lineHeight>c[1].lineHeight?0:1;return c[f]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),D=class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}static{(0,n.eW)(this,"InitIDGenerator")}},z=(0,n.eW)(function(t){return i=i||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),i.innerHTML=t,unescape(i.textContent)},"entityDecode");function q(t){return"str"in t}(0,n.eW)(q,"isDetailedError");var N=(0,n.eW)((t,e,r,i)=>{if(!i)return;let n=t.node()?.getBBox();n&&t.append("text").text(i).attr("x",n.x+n.width/2).attr("y",-r).attr("class",e)},"insertTitle"),P=(0,n.eW)(t=>{if("number"==typeof t)return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function R(t,e){return(0,l.Z)({},t,e)}(0,n.eW)(R,"cleanAndMerge");var j={assignWithDepth:n.Yc,wrapLabel:W,calculateTextHeight:O,calculateTextWidth:I,calculateTextDimensions:Z,cleanAndMerge:R,detectInit:d,detectDirective:f,isSubstringInArray:g,interpolateToCurve:y,calcLabelPosition:k,calcCardinalityPosition:v,calcTerminalLabelPosition:T,formatUrl:m,getStylesFromArray:S,generateId:B,random:F,runFunc:x,entityDecode:z,insertTitle:N,parseFontSize:P,InitIDGenerator:D},Y=(0,n.eW)(function(t){let e=t;return(e=(e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/#\w+;/g,function(t){let e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"\uFB02\xb0\xb0"+e+"\xb6\xdf":"\uFB02\xb0"+e+"\xb6\xdf"})},"encodeEntities"),U=(0,n.eW)(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),H=(0,n.eW)((t,e,{counter:r=0,prefix:i,suffix:n})=>`${i?`${i}_`:""}${t}_${e}_${r}${n?`_${n}`:""}`,"getEdgeId")},19039:function(t,e,r){"use strict";r.d(e,{rw:()=>tE,EY:()=>tA,QA:()=>tB});var i=r(84890),n=r(28923),o=r(11141);function a(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let s=a(),l=/[&<>"']/,h=RegExp(l.source,"g"),c=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,u=RegExp(c.source,"g"),d={"&":"&","<":"<",">":">",'"':""","'":"'"},f=t=>d[t];function p(t,e){if(e){if(l.test(t))return t.replace(h,f)}else if(c.test(t))return t.replace(u,f);return t}let g=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,y=/(^|[^\[])\^/g;function m(t,e){let r="string"==typeof t?t:t.source;e=e||"";let i={replace:(t,e)=>{let n="string"==typeof e?e:e.source;return n=n.replace(y,"$1"),r=r.replace(t,n),i},getRegex:()=>new RegExp(r,e)};return i}function x(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}let b={exec:()=>null};function C(t,e){let r=t.replace(/\|/g,(t,e,r)=>{let i=!1,n=e;for(;--n>=0&&"\\"===r[n];)i=!i;return i?"|":" |"}).split(/ \|/),i=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),e){if(r.length>e)r.splice(e);else for(;r.length<e;)r.push("")}for(;i<r.length;i++)r[i]=r[i].trim().replace(/\\\|/g,"|");return r}function k(t,e,r){let i=t.length;if(0===i)return"";let n=0;for(;n<i;){let o=t.charAt(i-n-1);if(o!==e||r){if(o!==e&&r)n++;else break}else n++}return t.slice(0,i-n)}function _(t,e,r,i){let n=e.href,o=e.title?p(e.title):null,a=t[1].replace(/\\([\[\]])/g,"$1");if("!"!==t[0].charAt(0)){i.state.inLink=!0;let t={type:"link",raw:r,href:n,title:o,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,t}return{type:"image",raw:r,href:n,title:o,text:p(a)}}class w{options;rules;lexer;constructor(t){this.options=t||s}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let t=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:k(t,"\n")}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let t=e[0],r=function(t,e){let r=t.match(/^(\s+)(?:```)/);if(null===r)return e;let i=r[1];return e.split("\n").map(t=>{let e=t.match(/^\s+/);if(null===e)return t;let[r]=e;return r.length>=i.length?t.slice(i.length):t}).join("\n")}(t,e[3]||"");return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:r}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let t=e[2].trim();if(/#$/.test(t)){let e=k(t,"#");this.options.pedantic?t=e.trim():(!e||/ $/.test(e))&&(t=e.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:k(e[0],"\n")}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let t=k(e[0],"\n").split("\n"),r="",i="",n=[];for(;t.length>0;){let e,o=!1,a=[];for(e=0;e<t.length;e++)if(/^ {0,3}>/.test(t[e]))a.push(t[e]),o=!0;else if(o)break;else a.push(t[e]);t=t.slice(e);let s=a.join("\n"),l=s.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");r=r?`${r} +${s}`:s,i=i?`${i} +${l}`:l;let h=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,n,!0),this.lexer.state.top=h,0===t.length)break;let c=n[n.length-1];if(c?.type==="code")break;if(c?.type==="blockquote"){let e=c.raw+"\n"+t.join("\n"),o=this.blockquote(e);n[n.length-1]=o,r=r.substring(0,r.length-c.raw.length)+o.raw,i=i.substring(0,i.length-c.text.length)+o.text;break}if(c?.type==="list"){let e=c.raw+"\n"+t.join("\n"),o=this.list(e);n[n.length-1]=o,r=r.substring(0,r.length-c.raw.length)+o.raw,i=i.substring(0,i.length-c.raw.length)+o.raw,t=e.substring(n[n.length-1].raw.length).split("\n");continue}}return{type:"blockquote",raw:r,tokens:n,text:i}}}list(t){let e=this.rules.block.list.exec(t);if(e){let r=e[1].trim(),i=r.length>1,n={type:"list",raw:"",ordered:i,start:i?+r.slice(0,-1):"",loose:!1,items:[]};r=i?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=i?r:"[*+-]");let o=RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),a=!1;for(;t;){let r,i=!1,s="",l="";if(!(e=o.exec(t))||this.rules.block.hr.test(t))break;s=e[0],t=t.substring(s.length);let h=e[2].split("\n",1)[0].replace(/^\t+/,t=>" ".repeat(3*t.length)),c=t.split("\n",1)[0],u=!h.trim(),d=0;if(this.options.pedantic?(d=2,l=h.trimStart()):u?d=e[1].length+1:(d=(d=e[2].search(/[^ ]/))>4?1:d,l=h.slice(d),d+=e[1].length),u&&/^ *$/.test(c)&&(s+=c+"\n",t=t.substring(c.length+1),i=!0),!i){let e=RegExp(`^ {0,${Math.min(3,d-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),r=RegExp(`^ {0,${Math.min(3,d-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),i=RegExp(`^ {0,${Math.min(3,d-1)}}(?:\`\`\`|~~~)`),n=RegExp(`^ {0,${Math.min(3,d-1)}}#`);for(;t;){let o=t.split("\n",1)[0];if(c=o,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),i.test(c)||n.test(c)||e.test(c)||r.test(t))break;if(c.search(/[^ ]/)>=d||!c.trim())l+="\n"+c.slice(d);else{if(u||h.search(/[^ ]/)>=4||i.test(h)||n.test(h)||r.test(h))break;l+="\n"+c}u||c.trim()||(u=!0),s+=o+"\n",t=t.substring(o.length+1),h=c.slice(d)}}!n.loose&&(a?n.loose=!0:/\n *\n *$/.test(s)&&(a=!0));let f=null;this.options.gfm&&(f=/^\[[ xX]\] /.exec(l))&&(r="[ ] "!==f[0],l=l.replace(/^\[[ xX]\] +/,"")),n.items.push({type:"list_item",raw:s,task:!!f,checked:r,loose:!1,text:l,tokens:[]}),n.raw+=s}n.items[n.items.length-1].raw=n.items[n.items.length-1].raw.trimEnd(),n.items[n.items.length-1].text=n.items[n.items.length-1].text.trimEnd(),n.raw=n.raw.trimEnd();for(let t=0;t<n.items.length;t++)if(this.lexer.state.top=!1,n.items[t].tokens=this.lexer.blockTokens(n.items[t].text,[]),!n.loose){let e=n.items[t].tokens.filter(t=>"space"===t.type),r=e.length>0&&e.some(t=>/\n.*\n/.test(t.raw));n.loose=r}if(n.loose)for(let t=0;t<n.items.length;t++)n.items[t].loose=!0;return n}}html(t){let e=this.rules.block.html.exec(t);if(e)return{type:"html",block:!0,raw:e[0],pre:"pre"===e[1]||"script"===e[1]||"style"===e[1],text:e[0]}}def(t){let e=this.rules.block.def.exec(t);if(e){let t=e[1].toLowerCase().replace(/\s+/g," "),r=e[2]?e[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:r,title:i}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!/[:|]/.test(e[2]))return;let r=C(e[1]),i=e[2].replace(/^\||\| *$/g,"").split("|"),n=e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split("\n"):[],o={type:"table",raw:e[0],header:[],align:[],rows:[]};if(r.length===i.length){for(let t of i)/^ *-+: *$/.test(t)?o.align.push("right"):/^ *:-+: *$/.test(t)?o.align.push("center"):/^ *:-+ *$/.test(t)?o.align.push("left"):o.align.push(null);for(let t=0;t<r.length;t++)o.header.push({text:r[t],tokens:this.lexer.inline(r[t]),header:!0,align:o.align[t]});for(let t of n)o.rows.push(C(t,o.header.length).map((t,e)=>({text:t,tokens:this.lexer.inline(t),header:!1,align:o.align[e]})));return o}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let t="\n"===e[1].charAt(e[1].length-1)?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:p(e[1])}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&/^<a /i.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let t=e[2].trim();if(!this.options.pedantic&&/^</.test(t)){if(!/>$/.test(t))return;let e=k(t.slice(0,-1),"\\");if((t.length-e.length)%2==0)return}else{let t=function(t,e){if(-1===t.indexOf(")"))return -1;let r=0;for(let i=0;i<t.length;i++)if("\\"===t[i])i++;else if("("===t[i])r++;else if(t[i]===e[1]&&--r<0)return i;return -1}(e[2],"()");if(t>-1){let r=(0===e[0].indexOf("!")?5:4)+e[1].length+t;e[2]=e[2].substring(0,t),e[0]=e[0].substring(0,r).trim(),e[3]=""}}let r=e[2],i="";if(this.options.pedantic){let t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);t&&(r=t[1],i=t[3])}else i=e[3]?e[3].slice(1,-1):"";return r=r.trim(),/^</.test(r)&&(r=this.options.pedantic&&!/>$/.test(t)?r.slice(1):r.slice(1,-1)),_(e,{href:r?r.replace(this.rules.inline.anyPunctuation,"$1"):r,title:i?i.replace(this.rules.inline.anyPunctuation,"$1"):i},e[0],this.lexer)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let t=e[(r[2]||r[1]).replace(/\s+/g," ").toLowerCase()];if(!t){let t=r[0].charAt(0);return{type:"text",raw:t,text:t}}return _(r,t,r[0],this.lexer)}}emStrong(t,e,r=""){let i=this.rules.inline.emStrongLDelim.exec(t);if(!(!i||i[3]&&r.match(/[\p{L}\p{N}]/u))&&(!(i[1]||i[2])||!r||this.rules.inline.punctuation.exec(r))){let r=[...i[0]].length-1,n,o,a=r,s=0,l="*"===i[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,e=e.slice(-1*t.length+r);null!=(i=l.exec(e));){if(!(n=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]))continue;if(o=[...n].length,i[3]||i[4]){a+=o;continue}if((i[5]||i[6])&&r%3&&!((r+o)%3)){s+=o;continue}if((a-=o)>0)continue;o=Math.min(o,o+a+s);let e=[...i[0]][0].length,l=t.slice(0,r+i.index+e+o);if(Math.min(r,o)%2){let t=l.slice(1,-1);return{type:"em",raw:l,text:t,tokens:this.lexer.inlineTokens(t)}}let h=l.slice(2,-2);return{type:"strong",raw:l,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let t=e[2].replace(/\n/g," "),r=/[^ ]/.test(t),i=/^ /.test(t)&&/ $/.test(t);return r&&i&&(t=t.substring(1,t.length-1)),t=p(t,!0),{type:"codespan",raw:e[0],text:t}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let t,r;return r="@"===e[2]?"mailto:"+(t=p(e[1])):t=p(e[1]),{type:"link",raw:e[0],text:t,href:r,tokens:[{type:"text",raw:t,text:t}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let t,r;if("@"===e[2])r="mailto:"+(t=p(e[0]));else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);t=p(e[0]),r="www."===e[1]?"http://"+e[0]:e[0]}return{type:"link",raw:e[0],text:t,href:r,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let t;return t=this.lexer.state.inRawBlock?e[0]:p(e[0]),{type:"text",raw:e[0],text:t}}}}let v=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,T=/(?:[*+-]|\d{1,9}[.)])/,S=m(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,T).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),M=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,B=/(?!\s*\])(?:\\.|[^\[\]\\])+/,L=m(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",B).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),F=m(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,T).getRegex(),A="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",E=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,W=m("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",E).replace("tag",A).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),$=m(M).replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",A).getRegex(),O={blockquote:m(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",$).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:L,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:v,html:W,lheading:S,list:F,newline:/^(?: *(?:\n|$))+/,paragraph:$,table:b,text:/^[^\n]+/},I=m("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",A).getRegex(),Z={...O,table:I,paragraph:m(M).replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",I).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",A).getRegex()},D={...O,html:m("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",E).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:b,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:m(M).replace("hr",v).replace("heading"," *#{1,6} *[^\n]").replace("lheading",S).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},z=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,q=/^( {2,}|\\)\n(?!\s*$)/,N="\\p{P}\\p{S}",P=m(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,N).getRegex(),R=m(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,N).getRegex(),j=m("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,N).getRegex(),Y=m("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,N).getRegex(),U=m(/\\([punct])/,"gu").replace(/punct/g,N).getRegex(),H=m(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),V=m(E).replace("(?:--\x3e|$)","--\x3e").getRegex(),G=m("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",V).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),X=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Q=m(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",X).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),K=m(/^!?\[(label)\]\[(ref)\]/).replace("label",X).replace("ref",B).getRegex(),J=m(/^!?\[(ref)\](?:\[\])?/).replace("ref",B).getRegex(),tt=m("reflink|nolink(?!\\()","g").replace("reflink",K).replace("nolink",J).getRegex(),te={_backpedal:b,anyPunctuation:U,autolink:H,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:q,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:b,emStrongLDelim:R,emStrongRDelimAst:j,emStrongRDelimUnd:Y,escape:z,link:Q,nolink:J,punctuation:P,reflink:K,reflinkSearch:tt,tag:G,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:b},tr={...te,link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",X).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",X).getRegex()},ti={...te,escape:m(z).replace("])","~|])").getRegex(),url:m(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},tn={...ti,br:m(q).replace("{2,}","*").getRegex(),text:m(ti.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},to={normal:O,gfm:Z,pedantic:D},ta={normal:te,gfm:ti,breaks:tn,pedantic:tr};class ts{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||s,this.options.tokenizer=this.options.tokenizer||new w,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={block:to.normal,inline:ta.normal};this.options.pedantic?(e.block=to.pedantic,e.inline=ta.pedantic):this.options.gfm&&(e.block=to.gfm,this.options.breaks?e.inline=ta.breaks:e.inline=ta.gfm),this.tokenizer.rules=e}static get rules(){return{block:to,inline:ta}}static lex(t,e){return new ts(e).lex(t)}static lexInline(t,e){return new ts(e).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,"\n"),this.blockTokens(t,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let e=this.inlineQueue[t];this.inlineTokens(e.src,e.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,e=[],r=!1){let i,n,o;for(t=this.options.pedantic?t.replace(/\t/g," ").replace(/^ +$/gm,""):t.replace(/^( *)(\t+)/gm,(t,e,r)=>e+" ".repeat(r.length));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(r=>!!(i=r.call({lexer:this},t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)))){if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length),1===i.raw.length&&e.length>0?e[e.length-1].raw+="\n":e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length),(n=e[e.length-1])&&("paragraph"===n.type||"text"===n.type)?(n.raw+="\n"+i.raw,n.text+="\n"+i.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text):e.push(i);continue}if((i=this.tokenizer.fences(t))||(i=this.tokenizer.heading(t))||(i=this.tokenizer.hr(t))||(i=this.tokenizer.blockquote(t))||(i=this.tokenizer.list(t))||(i=this.tokenizer.html(t))){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.def(t)){t=t.substring(i.raw.length),(n=e[e.length-1])&&("paragraph"===n.type||"text"===n.type)?(n.raw+="\n"+i.raw,n.text+="\n"+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if((i=this.tokenizer.table(t))||(i=this.tokenizer.lheading(t))){t=t.substring(i.raw.length),e.push(i);continue}if(o=t,this.options.extensions&&this.options.extensions.startBlock){let e,r=1/0,i=t.slice(1);this.options.extensions.startBlock.forEach(t=>{"number"==typeof(e=t.call({lexer:this},i))&&e>=0&&(r=Math.min(r,e))}),r<1/0&&r>=0&&(o=t.substring(0,r+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){n=e[e.length-1],r&&n?.type==="paragraph"?(n.raw+="\n"+i.raw,n.text+="\n"+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):e.push(i),r=o.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length),(n=e[e.length-1])&&"text"===n.type?(n.raw+="\n"+i.raw,n.text+="\n"+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):e.push(i);continue}if(t){let e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw Error(e)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let r,i,n,o,a,s;let l=t;if(this.tokens.links){let t=Object.keys(this.tokens.links);if(t.length>0)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(l));)t.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.anyPunctuation.exec(l));)l=l.slice(0,o.index)+"++"+l.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(a||(s=""),a=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(i=>!!(r=i.call({lexer:this},t,e))&&(t=t.substring(r.raw.length),e.push(r),!0)))){if(r=this.tokenizer.escape(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.tag(t)){t=t.substring(r.raw.length),(i=e[e.length-1])&&"text"===r.type&&"text"===i.type?(i.raw+=r.raw,i.text+=r.text):e.push(r);continue}if(r=this.tokenizer.link(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(r.raw.length),(i=e[e.length-1])&&"text"===r.type&&"text"===i.type?(i.raw+=r.raw,i.text+=r.text):e.push(r);continue}if((r=this.tokenizer.emStrong(t,l,s))||(r=this.tokenizer.codespan(t))||(r=this.tokenizer.br(t))||(r=this.tokenizer.del(t))||(r=this.tokenizer.autolink(t))||!this.state.inLink&&(r=this.tokenizer.url(t))){t=t.substring(r.raw.length),e.push(r);continue}if(n=t,this.options.extensions&&this.options.extensions.startInline){let e,r=1/0,i=t.slice(1);this.options.extensions.startInline.forEach(t=>{"number"==typeof(e=t.call({lexer:this},i))&&e>=0&&(r=Math.min(r,e))}),r<1/0&&r>=0&&(n=t.substring(0,r+1))}if(r=this.tokenizer.inlineText(n)){t=t.substring(r.raw.length),"_"!==r.raw.slice(-1)&&(s=r.raw.slice(-1)),a=!0,(i=e[e.length-1])&&"text"===i.type?(i.raw+=r.raw,i.text+=r.text):e.push(r);continue}if(t){let e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw Error(e)}}return e}}class tl{options;parser;constructor(t){this.options=t||s}space(t){return""}code({text:t,lang:e,escaped:r}){let i=(e||"").match(/^\S*/)?.[0],n=t.replace(/\n$/,"")+"\n";return i?'<pre><code class="language-'+p(i)+'">'+(r?n:p(n,!0))+"</code></pre>\n":"<pre><code>"+(r?n:p(n,!0))+"</code></pre>\n"}blockquote({tokens:t}){let e=this.parser.parse(t);return`<blockquote> +${e}</blockquote> +`}html({text:t}){return t}heading({tokens:t,depth:e}){return`<h${e}>${this.parser.parseInline(t)}</h${e}> +`}hr(t){return"<hr>\n"}list(t){let e=t.ordered,r=t.start,i="";for(let e=0;e<t.items.length;e++){let r=t.items[e];i+=this.listitem(r)}let n=e?"ol":"ul";return"<"+n+(e&&1!==r?' start="'+r+'"':"")+">\n"+i+"</"+n+">\n"}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens.length>0&&"paragraph"===t.tokens[0].type?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=r+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" "}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`<li>${e}</li> +`}checkbox({checked:t}){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:t}){return`<p>${this.parser.parseInline(t)}</p> +`}table(t){let e="",r="";for(let e=0;e<t.header.length;e++)r+=this.tablecell(t.header[e]);e+=this.tablerow({text:r});let i="";for(let e=0;e<t.rows.length;e++){let n=t.rows[e];r="";for(let t=0;t<n.length;t++)r+=this.tablecell(n[t]);i+=this.tablerow({text:r})}return i&&(i=`<tbody>${i}</tbody>`),"<table>\n<thead>\n"+e+"</thead>\n"+i+"</table>\n"}tablerow({text:t}){return`<tr> +${t}</tr> +`}tablecell(t){let e=this.parser.parseInline(t.tokens),r=t.header?"th":"td";return(t.align?`<${r} align="${t.align}">`:`<${r}>`)+e+`</${r}> +`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${t}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,tokens:r}){let i=this.parser.parseInline(r),n=x(t);if(null===n)return i;let o='<a href="'+(t=n)+'"';return e&&(o+=' title="'+e+'"'),o+=">"+i+"</a>"}image({href:t,title:e,text:r}){let i=x(t);if(null===i)return r;t=i;let n=`<img src="${t}" alt="${r}"`;return e&&(n+=` title="${e}"`),n+=">"}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):t.text}}class th{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}}class tc{options;renderer;textRenderer;constructor(t){this.options=t||s,this.options.renderer=this.options.renderer||new tl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new th}static parse(t,e){return new tc(e).parse(t)}static parseInline(t,e){return new tc(e).parseInline(t)}parse(t,e=!0){let r="";for(let i=0;i<t.length;i++){let n=t[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[n.type]){let t=this.options.extensions.renderers[n.type].call({parser:this},n);if(!1!==t||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(n.type)){r+=t||"";continue}}switch(n.type){case"space":r+=this.renderer.space(n);continue;case"hr":r+=this.renderer.hr(n);continue;case"heading":r+=this.renderer.heading(n);continue;case"code":r+=this.renderer.code(n);continue;case"table":r+=this.renderer.table(n);continue;case"blockquote":r+=this.renderer.blockquote(n);continue;case"list":r+=this.renderer.list(n);continue;case"html":r+=this.renderer.html(n);continue;case"paragraph":r+=this.renderer.paragraph(n);continue;case"text":{let o=n,a=this.renderer.text(o);for(;i+1<t.length&&"text"===t[i+1].type;)o=t[++i],a+="\n"+this.renderer.text(o);e?r+=this.renderer.paragraph({type:"paragraph",raw:a,text:a,tokens:[{type:"text",raw:a,text:a}]}):r+=a;continue}default:{let t='Token with "'+n.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw Error(t)}}}return r}parseInline(t,e){e=e||this.renderer;let r="";for(let i=0;i<t.length;i++){let n=t[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[n.type]){let t=this.options.extensions.renderers[n.type].call({parser:this},n);if(!1!==t||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(n.type)){r+=t||"";continue}}switch(n.type){case"escape":case"text":r+=e.text(n);break;case"html":r+=e.html(n);break;case"link":r+=e.link(n);break;case"image":r+=e.image(n);break;case"strong":r+=e.strong(n);break;case"em":r+=e.em(n);break;case"codespan":r+=e.codespan(n);break;case"br":r+=e.br(n);break;case"del":r+=e.del(n);break;default:{let t='Token with "'+n.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw Error(t)}}}return r}}class tu{options;constructor(t){this.options=t||s}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}}class td{defaults=a();options=this.setOptions;parse=this.#t(ts.lex,tc.parse);parseInline=this.#t(ts.lexInline,tc.parseInline);Parser=tc;Renderer=tl;TextRenderer=th;Lexer=ts;Tokenizer=w;Hooks=tu;constructor(...t){this.use(...t)}walkTokens(t,e){let r=[];for(let i of t)switch(r=r.concat(e.call(this,i)),i.type){case"table":for(let t of i.header)r=r.concat(this.walkTokens(t.tokens,e));for(let t of i.rows)for(let i of t)r=r.concat(this.walkTokens(i.tokens,e));break;case"list":r=r.concat(this.walkTokens(i.items,e));break;default:{let t=i;this.defaults.extensions?.childTokens?.[t.type]?this.defaults.extensions.childTokens[t.type].forEach(i=>{let n=t[i].flat(1/0);r=r.concat(this.walkTokens(n,e))}):t.tokens&&(r=r.concat(this.walkTokens(t.tokens,e)))}}return r}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(t=>{let r={...t};if(r.async=this.defaults.async||r.async||!1,t.extensions&&(t.extensions.forEach(t=>{if(!t.name)throw Error("extension name required");if("renderer"in t){let r=e.renderers[t.name];r?e.renderers[t.name]=function(...e){let i=t.renderer.apply(this,e);return!1===i&&(i=r.apply(this,e)),i}:e.renderers[t.name]=t.renderer}if("tokenizer"in t){if(!t.level||"block"!==t.level&&"inline"!==t.level)throw Error("extension level must be 'block' or 'inline'");let r=e[t.level];r?r.unshift(t.tokenizer):e[t.level]=[t.tokenizer],t.start&&("block"===t.level?e.startBlock?e.startBlock.push(t.start):e.startBlock=[t.start]:"inline"===t.level&&(e.startInline?e.startInline.push(t.start):e.startInline=[t.start]))}"childTokens"in t&&t.childTokens&&(e.childTokens[t.name]=t.childTokens)}),r.extensions=e),t.renderer){let e=this.defaults.renderer||new tl(this.defaults);for(let r in t.renderer){if(!(r in e))throw Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;let i=t.renderer[r];t.useNewRenderer||(i=this.#e(i,r,e));let n=e[r];e[r]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=n.apply(e,t)),r||""}}r.renderer=e}if(t.tokenizer){let e=this.defaults.tokenizer||new w(this.defaults);for(let r in t.tokenizer){if(!(r in e))throw Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;let i=t.tokenizer[r],n=e[r];e[r]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=n.apply(e,t)),r}}r.tokenizer=e}if(t.hooks){let e=this.defaults.hooks||new tu;for(let r in t.hooks){if(!(r in e))throw Error(`hook '${r}' does not exist`);if("options"===r)continue;let i=t.hooks[r],n=e[r];tu.passThroughHooks.has(r)?e[r]=t=>{if(this.defaults.async)return Promise.resolve(i.call(e,t)).then(t=>n.call(e,t));let r=i.call(e,t);return n.call(e,r)}:e[r]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=n.apply(e,t)),r}}r.hooks=e}if(t.walkTokens){let e=this.defaults.walkTokens,i=t.walkTokens;r.walkTokens=function(t){let r=[];return r.push(i.call(this,t)),e&&(r=r.concat(e.call(this,t))),r}}this.defaults={...this.defaults,...r}}),this}#e(t,e,r){switch(e){case"heading":return function(i){return i.type&&i.type===e?t.call(this,r.parser.parseInline(i.tokens),i.depth,r.parser.parseInline(i.tokens,r.parser.textRenderer).replace(g,(t,e)=>"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):"")):t.apply(this,arguments)};case"code":return function(r){return r.type&&r.type===e?t.call(this,r.text,r.lang,!!r.escaped):t.apply(this,arguments)};case"table":return function(r){if(!r.type||r.type!==e)return t.apply(this,arguments);let i="",n="";for(let t=0;t<r.header.length;t++)n+=this.tablecell({text:r.header[t].text,tokens:r.header[t].tokens,header:!0,align:r.align[t]});i+=this.tablerow({text:n});let o="";for(let t=0;t<r.rows.length;t++){let e=r.rows[t];n="";for(let t=0;t<e.length;t++)n+=this.tablecell({text:e[t].text,tokens:e[t].tokens,header:!1,align:r.align[t]});o+=this.tablerow({text:n})}return t.call(this,i,o)};case"blockquote":return function(r){if(!r.type||r.type!==e)return t.apply(this,arguments);let i=this.parser.parse(r.tokens);return t.call(this,i)};case"list":return function(r){if(!r.type||r.type!==e)return t.apply(this,arguments);let i=r.ordered,n=r.start,o=r.loose,a="";for(let t=0;t<r.items.length;t++){let e=r.items[t],i=e.checked,n=e.task,s="";if(e.task){let t=this.checkbox({checked:!!i});o?e.tokens.length>0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=t+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=t+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",text:t+" "}):s+=t+" "}s+=this.parser.parse(e.tokens,o),a+=this.listitem({type:"list_item",raw:s,text:s,task:n,checked:!!i,loose:o,tokens:e.tokens})}return t.call(this,a,i,n)};case"html":return function(r){return r.type&&r.type===e?t.call(this,r.text,r.block):t.apply(this,arguments)};case"paragraph":return function(r){return r.type&&r.type===e?t.call(this,this.parser.parseInline(r.tokens)):t.apply(this,arguments)};case"escape":case"text":case"codespan":return function(r){return r.type&&r.type===e?t.call(this,r.text):t.apply(this,arguments)};case"link":return function(r){return r.type&&r.type===e?t.call(this,r.href,r.title,this.parser.parseInline(r.tokens)):t.apply(this,arguments)};case"image":return function(r){return r.type&&r.type===e?t.call(this,r.href,r.title,r.text):t.apply(this,arguments)};case"strong":case"del":case"em":return function(r){return r.type&&r.type===e?t.call(this,this.parser.parseInline(r.tokens)):t.apply(this,arguments)}}return t}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return ts.lex(t,e??this.defaults)}parser(t,e){return tc.parse(t,e??this.defaults)}#t(t,e){return(r,i)=>{let n={...i},o={...this.defaults,...n};!0===this.defaults.async&&!1===n.async&&(o.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),o.async=!0);let a=this.#r(!!o.silent,!!o.async);if(null==r)return a(Error("marked(): input parameter is undefined or null"));if("string"!=typeof r)return a(Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(o.hooks&&(o.hooks.options=o),o.async)return Promise.resolve(o.hooks?o.hooks.preprocess(r):r).then(e=>t(e,o)).then(t=>o.hooks?o.hooks.processAllTokens(t):t).then(t=>o.walkTokens?Promise.all(this.walkTokens(t,o.walkTokens)).then(()=>t):t).then(t=>e(t,o)).then(t=>o.hooks?o.hooks.postprocess(t):t).catch(a);try{o.hooks&&(r=o.hooks.preprocess(r));let i=t(r,o);o.hooks&&(i=o.hooks.processAllTokens(i)),o.walkTokens&&this.walkTokens(i,o.walkTokens);let n=e(i,o);return o.hooks&&(n=o.hooks.postprocess(n)),n}catch(t){return a(t)}}}#r(t,e){return r=>{if(r.message+="\nPlease report this to https://github.com/markedjs/marked.",t){let t="<p>An error occurred:</p><pre>"+p(r.message+"",!0)+"</pre>";return e?Promise.resolve(t):t}if(e)return Promise.reject(r);throw r}}}let tf=new td;function tp(t,e){return tf.parse(t,e)}tp.options=tp.setOptions=function(t){return tf.setOptions(t),tp.defaults=tf.defaults,s=tp.defaults,tp},tp.getDefaults=a,tp.defaults=s,tp.use=function(...t){return tf.use(...t),tp.defaults=tf.defaults,s=tp.defaults,tp},tp.walkTokens=function(t,e){return tf.walkTokens(t,e)},tp.parseInline=tf.parseInline,tp.Parser=tc,tp.parser=tc.parse,tp.Renderer=tl,tp.TextRenderer=th,tp.Lexer=ts,tp.lexer=ts.lex,tp.Tokenizer=w,tp.Hooks=tu,tp.parse=tp,tp.options,tp.setOptions,tp.use,tp.walkTokens,tp.parseInline,tc.parse,ts.lex;var tg=r(11464);function ty(t,{markdownAutoWrap:e}){let r=t.replace(/<br\/>/g,"\n").replace(/\n{2,}/g,"\n"),i=(0,tg.Z)(r);return!1===e?i.replace(/ /g," "):i}function tm(t,e={}){let r=ty(t,e),i=tp.lexer(r),o=[[]],a=0;function s(t,e="normal"){"text"===t.type?t.text.split("\n").forEach((t,r)=>{0!==r&&(a++,o.push([])),t.split(" ").forEach(t=>{t&&o[a].push({content:t,type:e})})}):"strong"===t.type||"em"===t.type?t.tokens.forEach(e=>{s(e,t.type)}):"html"===t.type&&o[a].push({content:t.text,type:"normal"})}return(0,n.eW)(s,"processNode"),i.forEach(t=>{"paragraph"===t.type?t.tokens?.forEach(t=>{s(t)}):"html"===t.type&&o[a].push({content:t.text,type:"normal"})}),o}function tx(t,{markdownAutoWrap:e}={}){let r=tp.lexer(t);function i(t){if("text"===t.type)return!1===e?t.text.replace(/\n */g,"<br/>").replace(/ /g," "):t.text.replace(/\n */g,"<br/>");if("strong"===t.type)return`<strong>${t.tokens?.map(i).join("")}</strong>`;if("em"===t.type)return`<em>${t.tokens?.map(i).join("")}</em>`;if("paragraph"===t.type)return`<p>${t.tokens?.map(i).join("")}</p>`;if("space"===t.type)return"";else if("html"===t.type)return`${t.text}`;return`Unsupported markdown: ${t.type}`}return(0,n.eW)(i,"output"),r.map(i).join("")}function tb(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(t=>t.segment):[...t]}function tC(t,e){return tk(t,[],tb(e.content),e.type)}function tk(t,e,r,i){if(0===r.length)return[{content:e.join(""),type:i},{content:"",type:i}];let[n,...o]=r,a=[...e,n];return t([{content:a.join(""),type:i}])?tk(t,a,o,i):(0===e.length&&n&&(e.push(n),r.shift()),[{content:e.join(""),type:i},{content:r.join(""),type:i}])}function t_(t,e){if(t.some(({content:t})=>t.includes("\n")))throw Error("splitLineToFitWidth does not support newlines in the line");return tw(t,e)}function tw(t,e,r=[],i=[]){if(0===t.length)return i.length>0&&r.push(i),r.length>0?r:[];let n="";" "===t[0].content&&(n=" ",t.shift());let o=t.shift()??{content:" ",type:"normal"},a=[...i];if(""!==n&&a.push({content:n,type:"normal"}),a.push(o),e(a))return tw(t,e,r,a);if(i.length>0)r.push(i),t.unshift(o);else if(o.content){let[i,n]=tC(e,o);r.push([i]),n.content&&t.unshift(n)}return tw(t,e,r)}function tv(t,e){e&&t.attr("style",e)}async function tT(t,e,r,i,o=!1){let a=t.append("foreignObject");a.attr("width",`${10*r}px`),a.attr("height",`${10*r}px`);let s=a.append("xhtml:div"),l=e.label;e.label&&(0,n.l0)(e.label)&&(l=await (0,n.uT)(e.label.replace(n.SY.lineBreakRegex,"\n"),(0,n.nV)()));let h=e.isNode?"nodeLabel":"edgeLabel",c=s.append("span");c.html(l),tv(c,e.labelStyle),c.attr("class",`${h} ${i}`),tv(s,e.labelStyle),s.style("display","table-cell"),s.style("white-space","nowrap"),s.style("line-height","1.5"),s.style("max-width",r+"px"),s.style("text-align","center"),s.attr("xmlns","http://www.w3.org/1999/xhtml"),o&&s.attr("class","labelBkg");let u=s.node().getBoundingClientRect();return u.width===r&&(s.style("display","table"),s.style("white-space","break-spaces"),s.style("width",r+"px"),u=s.node().getBoundingClientRect()),a.node()}function tS(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function tM(t,e,r){let i=t.append("text"),n=tS(i,1,e);tF(n,r);let o=n.node().getComputedTextLength();return i.remove(),o}function tB(t,e,r){let i=t.append("text"),n=tS(i,1,e);tF(n,[{content:r,type:"normal"}]);let o=n.node()?.getBoundingClientRect();return o&&i.remove(),o}function tL(t,e,r,i=!1){let o=e.append("g"),a=o.insert("rect").attr("class","background").attr("style","stroke: none"),s=o.append("text").attr("y","-10.1"),l=0;for(let e of r){let r=(0,n.eW)(e=>tM(o,1.1,e)<=t,"checkWidth");for(let t of r(e)?[e]:t_(e,r))tF(tS(s,l,1.1),t),l++}if(!i)return s.node();{let t=s.node().getBBox();return a.attr("x",-2).attr("y",-2).attr("width",t.width+4).attr("height",t.height+4),o.node()}}function tF(t,e){t.text(""),e.forEach((e,r)=>{let i=t.append("tspan").attr("font-style","em"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===r?i.text(e.content):i.text(" "+e.content)})}function tA(t){return t.replace(/fa[bklrs]?:fa-[\w-]+/g,t=>`<i class='${t.replace(":"," ")}'></i>`)}(0,n.eW)(ty,"preprocessMarkdown"),(0,n.eW)(tm,"markdownToLines"),(0,n.eW)(tx,"markdownToHTML"),(0,n.eW)(tb,"splitTextToChars"),(0,n.eW)(tC,"splitWordToFitWidth"),(0,n.eW)(tk,"splitWordToFitWidthRecursion"),(0,n.eW)(t_,"splitLineToFitWidth"),(0,n.eW)(tw,"splitLineToFitWidthRecursion"),(0,n.eW)(tv,"applyStyle"),(0,n.eW)(tT,"addHtmlSpan"),(0,n.eW)(tS,"createTspan"),(0,n.eW)(tM,"computeWidthOfText"),(0,n.eW)(tB,"computeDimensionOfText"),(0,n.eW)(tL,"createFormattedText"),(0,n.eW)(tF,"updateTextContentAndStyles"),(0,n.eW)(tA,"replaceIconSubstring");var tE=(0,n.eW)(async(t,e="",{style:r="",isTitle:a=!1,classes:s="",useHtmlLabels:l=!0,isNode:h=!0,width:c=200,addSvgBackground:u=!1}={},d)=>{if(n.cM.debug("XYZ createText",e,r,a,s,l,h,"addSvgBackground: ",u),l){let o=tx(e,d),a=tA((0,i.SH)(o)),l=e.replace(/\\\\/g,"\\"),f={isNode:h,label:(0,n.l0)(e)?l:a,labelStyle:r.replace("fill:","color:")};return await tT(t,f,c,s,u)}{let i=tL(c,t,tm(e.replace(/<br\s*\/?>/g,"<br/>").replace("<br>","<br/>"),d),!!e&&u);if(h){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let t=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");(0,o.Ys)(i).attr("style",t)}else{let t=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");(0,o.Ys)(i).select("rect").attr("style",t.replace(/background:/g,"fill:"));let e=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");(0,o.Ys)(i).select("text").attr("style",e)}return i}},"createText")},37434:function(t,e,r){"use strict";r.d(e,{ef:()=>v,cN:()=>k,s4:()=>S});var i=r(28923);let n=/^[a-z0-9]+(-[a-z0-9]+)*$/,o=(t,e,r,i="")=>{let n=t.split(":");if("@"===t.slice(0,1)){if(n.length<2||n.length>3)return null;i=n.shift().slice(1)}if(n.length>3||!n.length)return null;if(n.length>1){let t=n.pop(),r=n.pop(),o={provider:n.length>0?n[0]:i,prefix:r,name:t};return e&&!a(o)?null:o}let o=n[0],s=o.split("-");if(s.length>1){let t={provider:i,prefix:s.shift(),name:s.join("-")};return e&&!a(t)?null:t}if(r&&""===i){let t={provider:i,prefix:"",name:o};return e&&!a(t,r)?null:t}return null},a=(t,e)=>!!t&&!!((""===t.provider||t.provider.match(n))&&(e&&""===t.prefix||t.prefix.match(n))&&t.name.match(n)),s=Object.freeze({left:0,top:0,width:16,height:16}),l=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),h=Object.freeze({...s,...l}),c=Object.freeze({...h,body:"",hidden:!1});function u(t,e){let r=function(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let i=((t.rotate||0)+(e.rotate||0))%4;return i&&(r.rotate=i),r}(t,e);for(let i in c)i in l?i in t&&!(i in r)&&(r[i]=l[i]):i in e?r[i]=e[i]:i in t&&(r[i]=t[i]);return r}function d(t,e,r){let i=t.icons,n=t.aliases||Object.create(null),o={};function a(t){o=u(i[t]||n[t],o)}return a(e),r.forEach(a),u(t,o)}let f=Object.freeze({...Object.freeze({width:null,height:null}),...l}),p=/(-?[0-9.]*[0-9]+[0-9.]*)/g,g=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function y(t,e,r){if(1===e)return t;if(r=r||100,"number"==typeof t)return Math.ceil(t*e*r)/r;if("string"!=typeof t)return t;let i=t.split(p);if(null===i||!i.length)return t;let n=[],o=i.shift(),a=g.test(o);for(;;){if(a){let t=parseFloat(o);isNaN(t)?n.push(o):n.push(Math.ceil(t*e*r)/r)}else n.push(o);if(void 0===(o=i.shift()))return n.join("");a=!a}}let m=t=>"unset"===t||"undefined"===t||"none"===t,x=/\sid="(\S+)"/g,b="IconifyId"+Date.now().toString(16)+(0x1000000*Math.random()|0).toString(16),C=0;var k={body:'<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/><text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text></g>',height:80,width:80},_=new Map,w=new Map,v=(0,i.eW)(t=>{for(let e of t){if(!e.name)throw Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(i.cM.debug("Registering icon pack:",e.name),"loader"in e)w.set(e.name,e.loader);else if("icons"in e)_.set(e.name,e.icons);else throw i.cM.error("Invalid icon loader:",e),Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),T=(0,i.eW)(async(t,e)=>{let r=o(t,!0,void 0!==e);if(!r)throw Error(`Invalid icon name: ${t}`);let n=r.prefix||e;if(!n)throw Error(`Icon name must contain a prefix: ${t}`);let a=_.get(n);if(!a){let t=w.get(n);if(!t)throw Error(`Icon set not found: ${r.prefix}`);try{a={...await t(),prefix:n},_.set(n,a)}catch(t){throw i.cM.error(t),Error(`Failed to load icon set: ${r.prefix}`)}}let s=function(t,e){if(t.icons[e])return d(t,e,[]);let r=function(t,e){let r=t.icons,i=t.aliases||Object.create(null),n=Object.create(null);return(e||Object.keys(r).concat(Object.keys(i))).forEach(function t(e){if(r[e])return n[e]=[];if(!(e in n)){n[e]=null;let r=i[e]&&i[e].parent,o=r&&t(r);o&&(n[e]=[r].concat(o))}return n[e]}),n}(t,[e])[e];return r?d(t,e,r):null}(a,r.name);if(!s)throw Error(`Icon not found: ${t}`);return s},"getRegisteredIconData"),S=(0,i.eW)(async(t,e)=>{let r;try{r=await T(t,e?.fallbackPrefix)}catch(t){i.cM.error(t),r=k}let n=function(t,e){let r,i;let n={...h,...t},o={...f,...e},a={left:n.left,top:n.top,width:n.width,height:n.height},s=n.body;[n,o].forEach(t=>{let e;let r=[],i=t.hFlip,n=t.vFlip,o=t.rotate;switch(i?n?o+=2:(r.push("translate("+(a.width+a.left).toString()+" "+(0-a.top).toString()+")"),r.push("scale(-1 1)"),a.top=a.left=0):n&&(r.push("translate("+(0-a.left).toString()+" "+(a.height+a.top).toString()+")"),r.push("scale(1 -1)"),a.top=a.left=0),o<0&&(o-=4*Math.floor(o/4)),o%=4){case 1:r.unshift("rotate(90 "+(e=a.height/2+a.top).toString()+" "+e.toString()+")");break;case 2:r.unshift("rotate(180 "+(a.width/2+a.left).toString()+" "+(a.height/2+a.top).toString()+")");break;case 3:r.unshift("rotate(-90 "+(e=a.width/2+a.left).toString()+" "+e.toString()+")")}o%2==1&&(a.left!==a.top&&(e=a.left,a.left=a.top,a.top=e),a.width!==a.height&&(e=a.width,a.width=a.height,a.height=e)),r.length&&(s=function(t,e,r){var i,n;let o=function(t,e="defs"){let r="",i=t.indexOf("<"+e);for(;i>=0;){let n=t.indexOf(">",i),o=t.indexOf("</"+e);if(-1===n||-1===o)break;let a=t.indexOf(">",o);if(-1===a)break;r+=t.slice(n+1,o).trim(),t=t.slice(0,i).trim()+t.slice(a+1)}return{defs:r,content:t}}(t);return i=o.defs,n=e+o.content+r,i?"<defs>"+i+"</defs>"+n:n}(s,'<g transform="'+r.join(" ")+'">',"</g>"))});let l=o.width,c=o.height,u=a.width,d=a.height;null===l?r=y(i=null===c?"1em":"auto"===c?d:c,u/d):(r="auto"===l?u:l,i=null===c?y(r,d/u):"auto"===c?d:c);let p={},g=(t,e)=>{m(e)||(p[t]=e.toString())};g("width",r),g("height",i);let x=[a.left,a.top,u,d];return p.viewBox=x.join(" "),{attributes:p,viewBox:x,body:s}}(r,e);return function(t,e){let r=-1===t.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let t in e)r+=" "+t+'="'+e[t]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+r+">"+t+"</svg>"}(function(t,e=b){let r;let i=[];for(;r=x.exec(t);)i.push(r[1]);if(!i.length)return t;let n="suffix"+(0x1000000*Math.random()|Date.now()).toString(16);return i.forEach(r=>{let i="function"==typeof e?e(r):e+(C++).toString(),o=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(RegExp('([#;"])('+o+')([")]|\\.[a-z])',"g"),"$1"+i+n+"$3")}),t=t.replace(RegExp(n,"g"),"")}(n.body),n.attributes)},"getIconSVG")},70466:function(t,e,r){"use strict";r.d(e,{P:()=>o});var i=r(28923),n=r(11141),o=(0,i.eW)(t=>{let{securityLevel:e}=(0,i.nV)(),r=(0,n.Ys)("body");if("sandbox"===e){let e=(0,n.Ys)(`#i${t}`),i=e.node()?.contentDocument??document;r=(0,n.Ys)(i.body)}return r.select(`#${t}`)},"selectSvgElement")},28923:function(t,e,r){"use strict";let i;r.d(e,{Kr:()=>t7,Vg:()=>B,Yc:()=>W,ZH:()=>t3,l0:()=>tq,NM:()=>K,Yn:()=>to,cj:()=>S,xN:()=>P,Fy:()=>er,oO:()=>tv,XV:()=>td,SY:()=>tR,eW:()=>m,u_:()=>tt,vZ:()=>Q,nV:()=>et,UO:()=>t$,cM:()=>C,iE:()=>tc,uT:()=>tP,_j:()=>U,Y4:()=>ee,_7:()=>el,j7:()=>tH,v2:()=>tU,GN:()=>t5,g2:()=>t9,r2:()=>x,Ee:()=>tQ,Ub:()=>k,eu:()=>t6,mc:()=>tf,nH:()=>tN,Cq:()=>es,dY:()=>ta,v6:()=>th,Mx:()=>t8,Zn:()=>v,M6:()=>w,Vw:()=>tx,U$:()=>t4,Rw:()=>en,ZD:()=>tl,Tb:()=>ts,Bf:()=>M,LJ:()=>tK,KO:()=>L,cq:()=>A,ku:()=>tA});var n,o=r(27693),a=r(36404),s=r(52311);let l=(t,e)=>{let r=a.Z.parse(t),i={};for(let t in e)e[t]&&(i[t]=r[t]+e[t]);return(0,s.Z)(t,i)};var h=r(62321);let c=(t,e,r=50)=>{let{r:i,g:n,b:o,a:s}=a.Z.parse(t),{r:l,g:c,b:u,a:d}=a.Z.parse(e),f=r/100,p=2*f-1,g=s-d,y=((p*g==-1?p:(p+g)/(1+p*g))+1)/2,m=1-y;return(0,h.Z)(i*y+l*m,n*y+c*m,o*y+u*m,s*f+d*(1-f))},u=(t,e=100)=>{let r=a.Z.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,c(r,t,e)};var d=r(28076),f=r(38582),p=r(34684),g=r(37914),y=Object.defineProperty,m=(t,e)=>y(t,"name",{value:e,configurable:!0}),x=(t,e)=>{for(var r in e)y(t,r,{get:e[r],enumerable:!0})},b={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},C={trace:m((...t)=>{},"trace"),debug:m((...t)=>{},"debug"),info:m((...t)=>{},"info"),warn:m((...t)=>{},"warn"),error:m((...t)=>{},"error"),fatal:m((...t)=>{},"fatal")},k=m(function(t="fatal"){let e=b.fatal;"string"==typeof t?t.toLowerCase()in b&&(e=b[t]):"number"==typeof t&&(e=t),C.trace=()=>{},C.debug=()=>{},C.info=()=>{},C.warn=()=>{},C.error=()=>{},C.fatal=()=>{},e<=b.fatal&&(C.fatal=console.error?console.error.bind(console,_("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",_("FATAL"))),e<=b.error&&(C.error=console.error?console.error.bind(console,_("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",_("ERROR"))),e<=b.warn&&(C.warn=console.warn?console.warn.bind(console,_("WARN"),"color: orange"):console.log.bind(console,`\x1b[33m`,_("WARN"))),e<=b.info&&(C.info=console.info?console.info.bind(console,_("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",_("INFO"))),e<=b.debug&&(C.debug=console.debug?console.debug.bind(console,_("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",_("DEBUG"))),e<=b.trace&&(C.trace=console.debug?console.debug.bind(console,_("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",_("TRACE")))},"setLogLevel"),_=m(t=>{let e=o().format("ss.SSS");return`%c${e} : ${t} : `},"format"),w=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,v=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,T=/\s*%%.*\n/gm,S=class extends Error{static{m(this,"UnknownDiagramError")}constructor(t){super(t),this.name="UnknownDiagramError"}},M={},B=m(function(t,e){for(let[r,{detector:i}]of(t=t.replace(w,"").replace(v,"").replace(T,"\n"),Object.entries(M)))if(i(t,e))return r;throw new S(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),L=m((...t)=>{for(let{id:e,detector:r,loader:i}of t)F(e,r,i)},"registerLazyLoadedDiagrams"),F=m((t,e,r)=>{M[t]&&C.warn(`Detector with key ${t} already exists. Overwriting.`),M[t]={detector:e,loader:r},C.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),A=m(t=>M[t].loader,"getDiagramLoader"),E=m((t,e,{depth:r=2,clobber:i=!1}={})=>{let n={depth:r,clobber:i};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(e=>E(t,e,n)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(e=>{t.includes(e)||t.push(e)}),t):void 0===t||r<=0?null!=t&&"object"==typeof t&&"object"==typeof e?Object.assign(t,e):e:(void 0!==e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).forEach(n=>{"object"==typeof e[n]&&(void 0===t[n]||"object"==typeof t[n])?(void 0===t[n]&&(t[n]=Array.isArray(e[n])?[]:{}),t[n]=E(t[n],e[n],{depth:r-1,clobber:i})):(i||"object"!=typeof t[n]&&"object"!=typeof e[n])&&(t[n]=e[n])}),t)},"assignWithDepth"),W=E,$="#ffffff",O="#f2f2f2",I=m((t,e)=>e?l(t,{s:-40,l:10}):l(t,{s:-40,l:-10}),"mkBorder"),Z=class{static{m(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||l(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||l(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||I(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||I(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||I(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||I(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,d.Z)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,d.Z)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,f.Z)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||l(this.primaryColor,{h:30}),this.cScale4=this.cScale4||l(this.primaryColor,{h:60}),this.cScale5=this.cScale5||l(this.primaryColor,{h:90}),this.cScale6=this.cScale6||l(this.primaryColor,{h:120}),this.cScale7=this.cScale7||l(this.primaryColor,{h:150}),this.cScale8=this.cScale8||l(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||l(this.primaryColor,{h:270}),this.cScale10=this.cScale10||l(this.primaryColor,{h:300}),this.cScale11=this.cScale11||l(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,d.Z)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,d.Z)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,f.Z)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,d.Z)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let t=this.darkMode?-4:-1;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||l(this.mainBkg,{h:180,s:-15,l:t*(5+3*e)}),this["surfacePeer"+e]=this["surfacePeer"+e]||l(this.mainBkg,{h:180,s:-15,l:t*(8+3*e)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||l(this.primaryColor,{h:64}),this.fillType3=this.fillType3||l(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||l(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||l(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||l(this.primaryColor,{h:128}),this.fillType7=this.fillType7||l(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||l(this.primaryColor,{l:-10}),this.pie5=this.pie5||l(this.secondaryColor,{l:-10}),this.pie6=this.pie6||l(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||l(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||l(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||l(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||l(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||l(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||l(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.archEdgeColor=this.archEdgeColor||"#777",this.archEdgeArrowColor=this.archEdgeArrowColor||"#777",this.archEdgeWidth=this.archEdgeWidth||"3",this.archGroupBorderColor=this.archGroupBorderColor||"#000",this.archGroupBorderWidth=this.archGroupBorderWidth||"2px",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||l(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||l(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||l(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||l(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||l(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||l(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,p.Z)(this.quadrant1Fill)?(0,f.Z)(this.quadrant1Fill):(0,d.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,d.Z)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||l(this.primaryColor,{h:-30}),this.git4=this.git4||l(this.primaryColor,{h:-60}),this.git5=this.git5||l(this.primaryColor,{h:-90}),this.git6=this.git6||l(this.primaryColor,{h:60}),this.git7=this.git7||l(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,f.Z)(this.git0,25),this.git1=(0,f.Z)(this.git1,25),this.git2=(0,f.Z)(this.git2,25),this.git3=(0,f.Z)(this.git3,25),this.git4=(0,f.Z)(this.git4,25),this.git5=(0,f.Z)(this.git5,25),this.git6=(0,f.Z)(this.git6,25),this.git7=(0,f.Z)(this.git7,25)):(this.git0=(0,d.Z)(this.git0,25),this.git1=(0,d.Z)(this.git1,25),this.git2=(0,d.Z)(this.git2,25),this.git3=(0,d.Z)(this.git3,25),this.git4=(0,d.Z)(this.git4,25),this.git5=(0,d.Z)(this.git5,25),this.git6=(0,d.Z)(this.git6,25),this.git7=(0,d.Z)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||$,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||O}calculate(t){if("object"!=typeof t){this.updateColors();return}let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},D=m(t=>{let e=new Z;return e.calculate(t),e},"getThemeVariables"),z=class{static{m(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,f.Z)(this.primaryColor,16),this.tertiaryColor=l(this.primaryColor,{h:-160}),this.primaryBorderColor=u(this.background),this.secondaryBorderColor=I(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=I(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,f.Z)(u("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=(0,h.Z)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=(0,d.Z)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=(0,d.Z)(this.sectionBkgColor,10),this.taskBorderColor=(0,h.Z)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=(0,h.Z)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=(0,f.Z)(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=(0,f.Z)(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=(0,f.Z)(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=l(this.primaryColor,{h:64}),this.fillType3=l(this.secondaryColor,{h:64}),this.fillType4=l(this.primaryColor,{h:-64}),this.fillType5=l(this.secondaryColor,{h:-64}),this.fillType6=l(this.primaryColor,{h:128}),this.fillType7=l(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||l(this.primaryColor,{h:30}),this.cScale4=this.cScale4||l(this.primaryColor,{h:60}),this.cScale5=this.cScale5||l(this.primaryColor,{h:90}),this.cScale6=this.cScale6||l(this.primaryColor,{h:120}),this.cScale7=this.cScale7||l(this.primaryColor,{h:150}),this.cScale8=this.cScale8||l(this.primaryColor,{h:210}),this.cScale9=this.cScale9||l(this.primaryColor,{h:270}),this.cScale10=this.cScale10||l(this.primaryColor,{h:300}),this.cScale11=this.cScale11||l(this.primaryColor,{h:330});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScalePeer"+t]=this["cScalePeer"+t]||(0,f.Z)(this["cScale"+t],10);for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||l(this.mainBkg,{h:30,s:-30,l:-(-10+4*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||l(this.mainBkg,{h:30,s:-30,l:-(-7+4*t)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||l(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||l(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||l(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||l(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||l(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||l(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,p.Z)(this.quadrant1Fill)?(0,f.Z)(this.quadrant1Fill):(0,d.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.background},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,d.Z)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,f.Z)(this.secondaryColor,20),this.git1=(0,f.Z)(this.pie2||this.secondaryColor,20),this.git2=(0,f.Z)(this.pie3||this.tertiaryColor,20),this.git3=(0,f.Z)(this.pie4||l(this.primaryColor,{h:-30}),20),this.git4=(0,f.Z)(this.pie5||l(this.primaryColor,{h:-60}),20),this.git5=(0,f.Z)(this.pie6||l(this.primaryColor,{h:-90}),10),this.git6=(0,f.Z)(this.pie7||l(this.primaryColor,{h:60}),10),this.git7=(0,f.Z)(this.pie8||l(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||u(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||u(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||(0,f.Z)(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||(0,f.Z)(this.background,2),this.nodeBorder=this.nodeBorder||"#999"}calculate(t){if("object"!=typeof t){this.updateColors();return}let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},q=m(t=>{let e=new z;return e.calculate(t),e},"getThemeVariables"),N=class{static{m(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=l(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=l(this.primaryColor,{h:-160}),this.primaryBorderColor=I(this.primaryColor,this.darkMode),this.secondaryBorderColor=I(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=I(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=(0,h.Z)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||l(this.primaryColor,{h:30}),this.cScale4=this.cScale4||l(this.primaryColor,{h:60}),this.cScale5=this.cScale5||l(this.primaryColor,{h:90}),this.cScale6=this.cScale6||l(this.primaryColor,{h:120}),this.cScale7=this.cScale7||l(this.primaryColor,{h:150}),this.cScale8=this.cScale8||l(this.primaryColor,{h:210}),this.cScale9=this.cScale9||l(this.primaryColor,{h:270}),this.cScale10=this.cScale10||l(this.primaryColor,{h:300}),this.cScale11=this.cScale11||l(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,d.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,d.Z)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,d.Z)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,d.Z)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||l(this["cScale"+t],{h:180});for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||l(this.mainBkg,{h:30,l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||l(this.mainBkg,{h:30,l:-(7+5*t)});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||u(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||u(this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=(0,f.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=l(this.primaryColor,{h:64}),this.fillType3=l(this.secondaryColor,{h:64}),this.fillType4=l(this.primaryColor,{h:-64}),this.fillType5=l(this.secondaryColor,{h:-64}),this.fillType6=l(this.primaryColor,{h:128}),this.fillType7=l(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||l(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||l(this.primaryColor,{l:-10}),this.pie5=this.pie5||l(this.secondaryColor,{l:-30}),this.pie6=this.pie6||l(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||l(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||l(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||l(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||l(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||l(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||l(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||l(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||l(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||l(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||l(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||l(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||l(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,p.Z)(this.quadrant1Fill)?(0,f.Z)(this.quadrant1Fill):(0,d.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||l(this.primaryColor,{h:-30}),this.git4=this.git4||l(this.primaryColor,{h:-60}),this.git5=this.git5||l(this.primaryColor,{h:-90}),this.git6=this.git6||l(this.primaryColor,{h:60}),this.git7=this.git7||l(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,f.Z)(this.git0,25),this.git1=(0,f.Z)(this.git1,25),this.git2=(0,f.Z)(this.git2,25),this.git3=(0,f.Z)(this.git3,25),this.git4=(0,f.Z)(this.git4,25),this.git5=(0,f.Z)(this.git5,25),this.git6=(0,f.Z)(this.git6,25),this.git7=(0,f.Z)(this.git7,25)):(this.git0=(0,d.Z)(this.git0,25),this.git1=(0,d.Z)(this.git1,25),this.git2=(0,d.Z)(this.git2,25),this.git3=(0,d.Z)(this.git3,25),this.git4=(0,d.Z)(this.git4,25),this.git5=(0,d.Z)(this.git5,25),this.git6=(0,d.Z)(this.git6,25),this.git7=(0,d.Z)(this.git7,25)),this.gitInv0=this.gitInv0||(0,d.Z)(u(this.git0),25),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||u(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||u(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||$,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||O}calculate(t){if("object"!=typeof t){this.updateColors();return}let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},P=m(t=>{let e=new N;return e.calculate(t),e},"getThemeVariables"),R=class{static{m(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=(0,f.Z)("#cde498",10),this.primaryBorderColor=I(this.primaryColor,this.darkMode),this.secondaryBorderColor=I(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=I(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.primaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=(0,d.Z)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||l(this.primaryColor,{h:30}),this.cScale4=this.cScale4||l(this.primaryColor,{h:60}),this.cScale5=this.cScale5||l(this.primaryColor,{h:90}),this.cScale6=this.cScale6||l(this.primaryColor,{h:120}),this.cScale7=this.cScale7||l(this.primaryColor,{h:150}),this.cScale8=this.cScale8||l(this.primaryColor,{h:210}),this.cScale9=this.cScale9||l(this.primaryColor,{h:270}),this.cScale10=this.cScale10||l(this.primaryColor,{h:300}),this.cScale11=this.cScale11||l(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,d.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,d.Z)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,d.Z)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,d.Z)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||l(this["cScale"+t],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||l(this.mainBkg,{h:30,s:-30,l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||l(this.mainBkg,{h:30,s:-30,l:-(8+5*t)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=l(this.primaryColor,{h:64}),this.fillType3=l(this.secondaryColor,{h:64}),this.fillType4=l(this.primaryColor,{h:-64}),this.fillType5=l(this.secondaryColor,{h:-64}),this.fillType6=l(this.primaryColor,{h:128}),this.fillType7=l(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||l(this.primaryColor,{l:-30}),this.pie5=this.pie5||l(this.secondaryColor,{l:-30}),this.pie6=this.pie6||l(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||l(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||l(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||l(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||l(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||l(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||l(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||l(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||l(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||l(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||l(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||l(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||l(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,p.Z)(this.quadrant1Fill)?(0,f.Z)(this.quadrant1Fill):(0,d.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.mainBkg},this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||l(this.primaryColor,{h:-30}),this.git4=this.git4||l(this.primaryColor,{h:-60}),this.git5=this.git5||l(this.primaryColor,{h:-90}),this.git6=this.git6||l(this.primaryColor,{h:60}),this.git7=this.git7||l(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,f.Z)(this.git0,25),this.git1=(0,f.Z)(this.git1,25),this.git2=(0,f.Z)(this.git2,25),this.git3=(0,f.Z)(this.git3,25),this.git4=(0,f.Z)(this.git4,25),this.git5=(0,f.Z)(this.git5,25),this.git6=(0,f.Z)(this.git6,25),this.git7=(0,f.Z)(this.git7,25)):(this.git0=(0,d.Z)(this.git0,25),this.git1=(0,d.Z)(this.git1,25),this.git2=(0,d.Z)(this.git2,25),this.git3=(0,d.Z)(this.git3,25),this.git4=(0,d.Z)(this.git4,25),this.git5=(0,d.Z)(this.git5,25),this.git6=(0,d.Z)(this.git6,25),this.git7=(0,d.Z)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||u(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||u(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||$,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||O}calculate(t){if("object"!=typeof t){this.updateColors();return}let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},j=m(t=>{let e=new R;return e.calculate(t),e},"getThemeVariables"),Y=class{static{m(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=(0,f.Z)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=l(this.primaryColor,{h:-160}),this.primaryBorderColor=I(this.primaryColor,this.darkMode),this.secondaryBorderColor=I(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=I(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=(0,f.Z)(this.contrast,55),this.border2=this.contrast,this.actorBorder=(0,f.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,f.Z)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,d.Z)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||l(this.mainBkg,{l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||l(this.mainBkg,{l:-(8+5*t)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=(0,f.Z)(this.contrast,30),this.sectionBkgColor2=(0,f.Z)(this.contrast,30),this.taskBorderColor=(0,d.Z)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=(0,f.Z)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=(0,d.Z)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=l(this.primaryColor,{h:64}),this.fillType3=l(this.secondaryColor,{h:64}),this.fillType4=l(this.primaryColor,{h:-64}),this.fillType5=l(this.secondaryColor,{h:-64}),this.fillType6=l(this.primaryColor,{h:128}),this.fillType7=l(this.secondaryColor,{h:128});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||l(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||l(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||l(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||l(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||l(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||l(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,p.Z)(this.quadrant1Fill)?(0,f.Z)(this.quadrant1Fill):(0,d.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,d.Z)(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||l(this.primaryColor,{h:-30}),this.git4=this.pie5||l(this.primaryColor,{h:-60}),this.git5=this.pie6||l(this.primaryColor,{h:-90}),this.git6=this.pie7||l(this.primaryColor,{h:60}),this.git7=this.pie8||l(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||$,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||O}calculate(t){if("object"!=typeof t){this.updateColors();return}let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},U={base:{getThemeVariables:D},dark:{getThemeVariables:q},default:{getThemeVariables:P},forest:{getThemeVariables:j},neutral:{getThemeVariables:m(t=>{let e=new Y;return e.calculate(t),e},"getThemeVariables")}},H={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},V={...H,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"SIMPLE"},themeCSS:void 0,themeVariables:U.default.getThemeVariables(),sequence:{...H.sequence,messageFont:m(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:m(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:m(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},gantt:{...H.gantt,tickInterval:void 0,useWidth:void 0},c4:{...H.c4,useWidth:void 0,personFont:m(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),external_personFont:m(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:m(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:m(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:m(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:m(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:m(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:m(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:m(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:m(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:m(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:m(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:m(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:m(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:m(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:m(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:m(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:m(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:m(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:m(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:m(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:m(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...H.pie,useWidth:984},xyChart:{...H.xyChart,useWidth:void 0},requirement:{...H.requirement,useWidth:void 0},packet:{...H.packet}},G=m((t,e="")=>Object.keys(t).reduce((r,i)=>Array.isArray(t[i])?r:"object"==typeof t[i]&&null!==t[i]?[...r,e+i,...G(t[i],"")]:[...r,e+i],[]),"keyify"),X=new Set(G(V,"")),Q=V,K=m(t=>{if(C.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t){if(Array.isArray(t)){t.forEach(t=>K(t));return}for(let e of Object.keys(t)){if(C.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!X.has(e)||null==t[e]){C.debug("sanitize deleting key: ",e),delete t[e];continue}if("object"==typeof t[e]){C.debug("sanitizing object",e),K(t[e]);continue}for(let r of["themeCSS","fontFamily","altFontFamily"])e.includes(r)&&(C.debug("sanitizing css option",e),t[e]=J(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}C.debug("After sanitization",t)}},"sanitizeDirective"),J=m(t=>{let e=0,r=0;for(let i of t){if(e<r)return"{ /* ERROR: Unbalanced CSS */ }";"{"===i?e++:"}"===i&&r++}return e!==r?"{ /* ERROR: Unbalanced CSS */ }":t},"sanitizeCss"),tt=Object.freeze(Q),te=W({},tt),tr=[],ti=W({},tt),tn=m((t,e)=>{let r=W({},t),i={};for(let t of e)tu(t),i=W(i,t);if(r=W(r,i),i.theme&&i.theme in U){let t=W({},n),e=W(t.themeVariables||{},i.themeVariables);r.theme&&r.theme in U&&(r.themeVariables=U[r.theme].getThemeVariables(e))}return tm(ti=r),ti},"updateCurrentConfig"),to=m(t=>(te=W({},tt),te=W(te,t),t.theme&&U[t.theme]&&(te.themeVariables=U[t.theme].getThemeVariables(t.themeVariables)),tn(te,tr),te),"setSiteConfig"),ta=m(t=>{n=W({},t)},"saveConfigFromInitialize"),ts=m(t=>(te=W(te,t),tn(te,tr),te),"updateSiteConfig"),tl=m(()=>W({},te),"getSiteConfig"),th=m(t=>(tm(t),W(ti,t),tc()),"setConfig"),tc=m(()=>W({},ti),"getConfig"),tu=m(t=>{t&&(["secure",...te.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(C.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&tu(t[e])}))},"sanitize"),td=m(t=>{K(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),tr.push(t),tn(te,tr)},"addDirective"),tf=m((t=te)=>{tn(t,tr=[])},"reset"),tp={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},tg={},ty=m(t=>{!tg[t]&&(C.warn(tp[t]),tg[t]=!0)},"issueWarning"),tm=m(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&ty("LAZY_LOAD_DEPRECATED")},"checkConfig"),tx=/<br\s*\/?>/gi,tb=m(t=>t?tL(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),tC=(i=!1,()=>{i||(tk(),i=!0)});function tk(){let t="data-temp-href-target";g.Z.addHook("beforeSanitizeAttributes",e=>{"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),g.Z.addHook("afterSanitizeAttributes",e=>{"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),"_blank"===e.getAttribute("target")&&e.setAttribute("rel","noopener"))})}m(tk,"setupDompurifyHooks");var t_=m(t=>(tC(),g.Z.sanitize(t)),"removeScript"),tw=m((t,e)=>{if(e.flowchart?.htmlLabels!==!1){let r=e.securityLevel;"antiscript"===r||"strict"===r?t=t_(t):"loose"!==r&&(t=tB(t=(t=(t=tL(t)).replace(/</g,"<").replace(/>/g,">")).replace(/=/g,"=")))}return t},"sanitizeMore"),tv=m((t,e)=>t?t=e.dompurifyConfig?g.Z.sanitize(tw(t,e),e.dompurifyConfig).toString():g.Z.sanitize(tw(t,e),{FORBID_TAGS:["style"]}).toString():t,"sanitizeText"),tT=m((t,e)=>"string"==typeof t?tv(t,e):t.flat().map(t=>tv(t,e)),"sanitizeTextOrArray"),tS=m(t=>tx.test(t),"hasBreaks"),tM=m(t=>t.split(tx),"splitBreaks"),tB=m(t=>t.replace(/#br#/g,"<br/>"),"placeholderToBreak"),tL=m(t=>t.replace(tx,"#br#"),"breakToPlaceholder"),tF=m(t=>{let e="";return t&&(e=(e=(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replaceAll(/\(/g,"\\(")).replaceAll(/\)/g,"\\)")),e},"getUrl"),tA=m(t=>!(!1===t||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),tE=m(function(...t){return Math.max(...t.filter(t=>!isNaN(t)))},"getMax"),tW=m(function(...t){return Math.min(...t.filter(t=>!isNaN(t)))},"getMin"),t$=m(function(t){let e=t.split(/(,)/),r=[];for(let t=0;t<e.length;t++){let i=e[t];if(","===i&&t>0&&t+1<e.length){let n=e[t-1],o=e[t+1];tI(n,o)&&(i=n+","+o,t++,r.pop())}r.push(tZ(i))}return r.join("")},"parseGenericTypes"),tO=m((t,e)=>Math.max(0,t.split(e).length-1),"countOccurrence"),tI=m((t,e)=>{let r=tO(t,"~"),i=tO(e,"~");return 1===r&&1===i},"shouldCombineSets"),tZ=m(t=>{let e=tO(t,"~"),r=!1;if(e<=1)return t;e%2!=0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let i=[...t],n=i.indexOf("~"),o=i.lastIndexOf("~");for(;-1!==n&&-1!==o&&n!==o;)i[n]="<",i[o]=">",n=i.indexOf("~"),o=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),tD=m(()=>void 0!==window.MathMLElement,"isMathMLSupported"),tz=/\$\$(.*)\$\$/g,tq=m(t=>(t.match(tz)?.length??0)>0,"hasKatex"),tN=m(async(t,e)=>{t=await tP(t,e);let r=document.createElement("div");r.innerHTML=t,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0";let i=document.querySelector("body");i?.insertAdjacentElement("beforeend",r);let n={width:r.clientWidth,height:r.clientHeight};return r.remove(),n},"calculateMathMLDimensions"),tP=m(async(t,e)=>{if(!tq(t))return t;if(!(tD()||e.legacyMathML||e.forceLegacyMathML))return t.replace(tz,"MathML is unsupported in this environment.");let{default:i}=await r.e("95124").then(r.bind(r,97797)),n=e.forceLegacyMathML||!tD()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(tx).map(t=>tq(t)?`<div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">${t}</div>`:`<div>${t}</div>`).join("").replace(tz,(t,e)=>i.renderToString(e,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(/<annotation.*<\/annotation>/g,""))},"renderKatex"),tR={getRows:tb,sanitizeText:tv,sanitizeTextOrArray:tT,hasBreaks:tS,splitBreaks:tM,lineBreakRegex:tx,removeScript:t_,getUrl:tF,evaluate:tA,getMax:tE,getMin:tW},tj=m(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),tY=m(function(t,e,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${e}px;`)):(i.set("height",t),i.set("width",e)),i},"calculateSvgSizeAttrs"),tU=m(function(t,e,r,i){tj(t,tY(e,r,i))},"configureSvgSize"),tH=m(function(t,e,r,i){let n=e.node().getBBox(),o=n.width,a=n.height;C.info(`SVG bounds: ${o}x${a}`,n);let s=0,l=0;C.info(`Graph bounds: ${s}x${l}`,t),s=o+2*r,l=a+2*r,C.info(`Calculated bounds: ${s}x${l}`),tU(e,l,s,i);let h=`${n.x-r} ${n.y-r} ${n.width+2*r} ${n.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox"),tV={},tG=m((t,e,r)=>{let i="";return t in tV&&tV[t]?i=tV[t](r):C.warn(`No theme found for ${t}`),` & { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + fill: ${r.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${r.errorBkgColor}; + } + & .error-text { + fill: ${r.errorTextColor}; + stroke: ${r.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 1px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + } + & .marker.cross { + stroke: ${r.lineColor}; + } + + & svg { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + } + & p { + margin: 0 + } + + ${i} + + ${e} +`},"getStyles"),tX=m((t,e)=>{void 0!==e&&(tV[t]=e)},"addStylesForDiagram"),tQ=tG,tK={};x(tK,{clear:()=>t3,getAccDescription:()=>t8,getAccTitle:()=>t6,getDiagramTitle:()=>t7,setAccDescription:()=>t4,setAccTitle:()=>t5,setDiagramTitle:()=>t9});var tJ="",t0="",t1="",t2=m(t=>tv(t,tc()),"sanitizeText"),t3=m(()=>{tJ="",t1="",t0=""},"clear"),t5=m(t=>{tJ=t2(t).replace(/^\s+/g,"")},"setAccTitle"),t6=m(()=>tJ,"getAccTitle"),t4=m(t=>{t1=t2(t).replace(/\n\s+/g,"\n")},"setAccDescription"),t8=m(()=>t1,"getAccDescription"),t9=m(t=>{t0=t2(t)},"setDiagramTitle"),t7=m(()=>t0,"getDiagramTitle"),et=tc,ee=th,er=tt,ei=m(t=>tv(t,et()),"sanitizeText"),en=tH,eo=m(()=>tK,"getCommonDb"),ea={},es=m((t,e,r)=>{ea[t]&&C.warn(`Diagram with id ${t} already registered. Overwriting.`),ea[t]=e,r&&F(t,r),tX(t,e.styles),e.injectUtils?.(C,k,et,ei,en,eo(),()=>{})},"registerDiagram"),el=m(t=>{if(t in ea)return ea[t];throw new eh(t)},"getDiagram"),eh=class extends Error{static{m(this,"DiagramNotFoundError")}constructor(t){super(`Diagram ${t} not found.`)}}},96418:function(t,e,r){"use strict";r.d(e,{i:()=>i});var i="11.2.1"},11779:function(t,e,r){"use strict";r.d(e,{C1:()=>tj,ZH:()=>ty,Yn:()=>ew,QP:()=>tW,eT:()=>ev,gU:()=>t_,aH:()=>eT,jr:()=>tY,us:()=>tg,DQ:()=>tR,Lf:()=>e_,I_:()=>tv,Jj:()=>tS});var i=r(25653),n=r(19039),o=r(84890),a=r(28923),s=r(11141);function l(t,e,r){if(t&&t.length){let[i,n]=e,o=Math.PI/180*r,a=Math.cos(o),s=Math.sin(o);for(let e of t){let[t,r]=e;e[0]=(t-i)*a-(r-n)*s+i,e[1]=(t-i)*s+(r-n)*a+n}}}function h(t,e){var r;let i=e.hachureAngle+90,n=e.hachureGap;n<0&&(n=4*e.strokeWidth),n=Math.round(Math.max(n,.1));let o=1;return e.roughness>=1&&((null===(r=e.randomizer)||void 0===r?void 0:r.next())||Math.random())>.7&&(o=n),function(t,e,r,i=1){let n=Math.max(e,.1),o=t[0]&&t[0][0]&&"number"==typeof t[0][0]?[t]:t,a=[0,0];if(r)for(let t of o)l(t,a,r);let s=function(t,e,r){let i=[];for(let e of t){var n,o;let t=[...e];n=t[0],o=t[t.length-1],n[0]===o[0]&&n[1]===o[1]||t.push([t[0][0],t[0][1]]),t.length>2&&i.push(t)}let a=[];e=Math.max(e,.1);let s=[];for(let t of i)for(let e=0;e<t.length-1;e++){let r=t[e],i=t[e+1];if(r[1]!==i[1]){let t=Math.min(r[1],i[1]);s.push({ymin:t,ymax:Math.max(r[1],i[1]),x:t===r[1]?r[0]:i[0],islope:(i[0]-r[0])/(i[1]-r[1])})}}if(s.sort((t,e)=>t.ymin<e.ymin?-1:t.ymin>e.ymin?1:t.x<e.x?-1:t.x>e.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax)),!s.length)return a;let l=[],h=s[0].ymin,c=0;for(;l.length||s.length;){if(s.length){let t=-1;for(let e=0;e<s.length&&!(s[e].ymin>h);e++)t=e;s.splice(0,t+1).forEach(t=>{l.push({s:h,edge:t})})}if((l=l.filter(t=>!(t.edge.ymax<=h))).sort((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x)),(1!==r||c%e==0)&&l.length>1)for(let t=0;t<l.length;t+=2){let e=t+1;if(e>=l.length)break;let r=l[t].edge,i=l[e].edge;a.push([[Math.round(r.x),h],[Math.round(i.x),h]])}h+=r,l.forEach(t=>{t.edge.x=t.edge.x+r*t.edge.islope}),c++}return a}(o,n,i);if(r){for(let t of o)l(t,a,-r);!function(t,e,r){let i=[];t.forEach(t=>i.push(...t)),l(i,e,r)}(s,a,-r)}return s}(t,n,i,o||1)}class c{constructor(t){this.helper=t}fillPolygons(t,e){return this._fillPolygons(t,e)}_fillPolygons(t,e){let r=h(t,e);return{type:"fillSketch",ops:this.renderLines(r,e)}}renderLines(t,e){let r=[];for(let i of t)r.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],e));return r}}function u(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class d extends c{fillPolygons(t,e){let r=e.hachureGap;r<0&&(r=4*e.strokeWidth);let i=h(t,Object.assign({},e,{hachureGap:r=Math.max(r,.1)})),n=Math.PI/180*e.hachureAngle,o=[],a=.5*r*Math.cos(n),s=.5*r*Math.sin(n);for(let[t,e]of i)u([t,e])&&o.push([[t[0]-a,t[1]+s],[...e]],[[t[0]+a,t[1]-s],[...e]]);return{type:"fillSketch",ops:this.renderLines(o,e)}}}class f extends c{fillPolygons(t,e){let r=this._fillPolygons(t,e),i=Object.assign({},e,{hachureAngle:e.hachureAngle+90}),n=this._fillPolygons(t,i);return r.ops=r.ops.concat(n.ops),r}}class p{constructor(t){this.helper=t}fillPolygons(t,e){let r=h(t,e=Object.assign({},e,{hachureAngle:0}));return this.dotsOnLines(r,e)}dotsOnLines(t,e){let r=[],i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.max(i,.1);let n=e.fillWeight;n<0&&(n=e.strokeWidth/2);let o=i/4;for(let a of t){let t=u(a),s=Math.ceil(t/i)-1,l=t-s*i,h=(a[0][0]+a[1][0])/2-i/4,c=Math.min(a[0][1],a[1][1]);for(let t=0;t<s;t++){let a=h-o+2*Math.random()*o,s=c+l+t*i-o+2*Math.random()*o,u=this.helper.ellipse(a,s,n,n,e);r.push(...u.ops)}}return{type:"fillSketch",ops:r}}}class g{constructor(t){this.helper=t}fillPolygons(t,e){let r=h(t,e);return{type:"fillSketch",ops:this.dashedLine(r,e)}}dashedLine(t,e){let r=e.dashOffset<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashOffset,i=e.dashGap<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashGap,n=[];return t.forEach(t=>{let o=u(t),a=Math.floor(o/(r+i)),s=(o+i-a*(r+i))/2,l=t[0],h=t[1];l[0]>h[0]&&(l=t[1],h=t[0]);let c=Math.atan((h[1]-l[1])/(h[0]-l[0]));for(let t=0;t<a;t++){let o=t*(r+i),a=o+r,h=[l[0]+o*Math.cos(c)+s*Math.cos(c),l[1]+o*Math.sin(c)+s*Math.sin(c)],u=[l[0]+a*Math.cos(c)+s*Math.cos(c),l[1]+a*Math.sin(c)+s*Math.sin(c)];n.push(...this.helper.doubleLineOps(h[0],h[1],u[0],u[1],e))}}),n}}class y{constructor(t){this.helper=t}fillPolygons(t,e){let r=e.hachureGap<0?4*e.strokeWidth:e.hachureGap,i=e.zigzagOffset<0?r:e.zigzagOffset,n=h(t,e=Object.assign({},e,{hachureGap:r+i}));return{type:"fillSketch",ops:this.zigzagLines(n,i,e)}}zigzagLines(t,e,r){let i=[];return t.forEach(t=>{let n=Math.round(u(t)/(2*e)),o=t[0],a=t[1];o[0]>a[0]&&(o=t[1],a=t[0]);let s=Math.atan((a[1]-o[1])/(a[0]-o[0]));for(let t=0;t<n;t++){let n=2*t*e,a=2*(t+1)*e,l=Math.sqrt(2*Math.pow(e,2)),h=[o[0]+n*Math.cos(s),o[1]+n*Math.sin(s)],c=[o[0]+a*Math.cos(s),o[1]+a*Math.sin(s)],u=[h[0]+l*Math.cos(s+Math.PI/4),h[1]+l*Math.sin(s+Math.PI/4)];i.push(...this.helper.doubleLineOps(h[0],h[1],u[0],u[1],r),...this.helper.doubleLineOps(u[0],u[1],c[0],c[1],r))}}),i}}let m={};class x{constructor(t){this.seed=t}next(){return this.seed?(0x80000000-1&(this.seed=Math.imul(48271,this.seed)))/0x80000000:Math.random()}}let b={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function C(t){let e=[],r=function(t){let e=[];for(;""!==t;)if(t.match(/^([ \t\r\n,]+)/))t=t.substr(RegExp.$1.length);else if(t.match(/^([aAcChHlLmMqQsStTvVzZ])/))e[e.length]={type:0,text:RegExp.$1},t=t.substr(RegExp.$1.length);else{if(!t.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e[e.length]={type:1,text:`${parseFloat(RegExp.$1)}`},t=t.substr(RegExp.$1.length)}return e[e.length]={type:2,text:""},e}(t),i="BOD",n=0,o=r[0];for(;2!==o.type;){let a=0,s=[];if("BOD"===i){if("M"!==o.text&&"m"!==o.text)return C("M0,0"+t);n++,a=b[o.text],i=o.text}else 1===o.type?a=b[i]:(n++,a=b[o.text],i=o.text);if(!(n+a<r.length))throw Error("Path data ended short");for(let t=n;t<n+a;t++){let e=r[t];if(1!==e.type)throw Error("Param not a number: "+i+","+e.text);s[s.length]=+e.text}if("number"!=typeof b[i])throw Error("Bad segment: "+i);{let t={key:i,data:s};e.push(t),n+=a,o=r[n],"M"===i&&(i="L"),"m"===i&&(i="l")}}return e}function k(t){let e=0,r=0,i=0,n=0,o=[];for(let{key:a,data:s}of t)switch(a){case"M":o.push({key:"M",data:[...s]}),[e,r]=s,[i,n]=s;break;case"m":e+=s[0],r+=s[1],o.push({key:"M",data:[e,r]}),i=e,n=r;break;case"L":o.push({key:"L",data:[...s]}),[e,r]=s;break;case"l":e+=s[0],r+=s[1],o.push({key:"L",data:[e,r]});break;case"C":o.push({key:"C",data:[...s]}),e=s[4],r=s[5];break;case"c":{let t=s.map((t,i)=>i%2?t+r:t+e);o.push({key:"C",data:t}),e=t[4],r=t[5];break}case"Q":o.push({key:"Q",data:[...s]}),e=s[2],r=s[3];break;case"q":{let t=s.map((t,i)=>i%2?t+r:t+e);o.push({key:"Q",data:t}),e=t[2],r=t[3];break}case"A":o.push({key:"A",data:[...s]}),e=s[5],r=s[6];break;case"a":e+=s[5],r+=s[6],o.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],e,r]});break;case"H":o.push({key:"H",data:[...s]}),e=s[0];break;case"h":e+=s[0],o.push({key:"H",data:[e]});break;case"V":o.push({key:"V",data:[...s]}),r=s[0];break;case"v":r+=s[0],o.push({key:"V",data:[r]});break;case"S":o.push({key:"S",data:[...s]}),e=s[2],r=s[3];break;case"s":{let t=s.map((t,i)=>i%2?t+r:t+e);o.push({key:"S",data:t}),e=t[2],r=t[3];break}case"T":o.push({key:"T",data:[...s]}),e=s[0],r=s[1];break;case"t":e+=s[0],r+=s[1],o.push({key:"T",data:[e,r]});break;case"Z":case"z":o.push({key:"Z",data:[]}),e=i,r=n}return o}function _(t){let e=[],r="",i=0,n=0,o=0,a=0,s=0,l=0;for(let{key:h,data:c}of t){switch(h){case"M":e.push({key:"M",data:[...c]}),[i,n]=c,[o,a]=c;break;case"C":e.push({key:"C",data:[...c]}),i=c[4],n=c[5],s=c[2],l=c[3];break;case"L":e.push({key:"L",data:[...c]}),[i,n]=c;break;case"H":i=c[0],e.push({key:"L",data:[i,n]});break;case"V":n=c[0],e.push({key:"L",data:[i,n]});break;case"S":{let t=0,o=0;"C"===r||"S"===r?(t=i+(i-s),o=n+(n-l)):(t=i,o=n),e.push({key:"C",data:[t,o,...c]}),s=c[0],l=c[1],i=c[2],n=c[3];break}case"T":{let[t,o]=c,a=0,h=0;"Q"===r||"T"===r?(a=i+(i-s),h=n+(n-l)):(a=i,h=n);let u=i+2*(a-i)/3,d=n+2*(h-n)/3,f=t+2*(a-t)/3,p=o+2*(h-o)/3;e.push({key:"C",data:[u,d,f,p,t,o]}),s=a,l=h,i=t,n=o;break}case"Q":{let[t,r,o,a]=c,h=i+2*(t-i)/3,u=n+2*(r-n)/3,d=o+2*(t-o)/3,f=a+2*(r-a)/3;e.push({key:"C",data:[h,u,d,f,o,a]}),s=t,l=r,i=o,n=a;break}case"A":{let t=Math.abs(c[0]),r=Math.abs(c[1]),o=c[2],a=c[3],s=c[4],l=c[5],h=c[6];0===t||0===r?(e.push({key:"C",data:[i,n,l,h,l,h]}),i=l,n=h):(i!==l||n!==h)&&((function t(e,r,i,n,o,a,s,l,h,c){let u=Math.PI*s/180,d=[],f=0,p=0,g=0,y=0;if(c)[f,p,g,y]=c;else{[e,r]=w(e,r,-u),[i,n]=w(i,n,-u);let t=(e-i)/2,s=(r-n)/2,c=t*t/(o*o)+s*s/(a*a);c>1&&(o*=c=Math.sqrt(c),a*=c);let d=o*o,m=a*a,x=(l===h?-1:1)*Math.sqrt(Math.abs((d*m-d*s*s-m*t*t)/(d*s*s+m*t*t)));g=x*o*s/a+(e+i)/2,y=-(x*a)*t/o+(r+n)/2,f=Math.asin(parseFloat(((r-y)/a).toFixed(9))),p=Math.asin(parseFloat(((n-y)/a).toFixed(9))),e<g&&(f=Math.PI-f),i<g&&(p=Math.PI-p),f<0&&(f=2*Math.PI+f),p<0&&(p=2*Math.PI+p),h&&f>p&&(f-=2*Math.PI),!h&&p>f&&(p-=2*Math.PI)}let m=p-f;if(Math.abs(m)>120*Math.PI/180){let e=p,r=i,l=n;d=t(i=g+o*Math.cos(p=h&&p>f?f+120*Math.PI/180*1:f+-(120*Math.PI/180*1)),n=y+a*Math.sin(p),r,l,o,a,s,0,h,[p,e,g,y])}m=p-f;let x=Math.cos(f),b=Math.cos(p),C=Math.tan(m/4),k=4/3*o*C,_=4/3*a*C,v=[e,r],T=[e+k*Math.sin(f),r-_*x],S=[i+k*Math.sin(p),n-_*b],M=[i,n];if(T[0]=2*v[0]-T[0],T[1]=2*v[1]-T[1],c)return[T,S,M].concat(d);{d=[T,S,M].concat(d);let t=[];for(let e=0;e<d.length;e+=3){let r=w(d[e][0],d[e][1],u),i=w(d[e+1][0],d[e+1][1],u),n=w(d[e+2][0],d[e+2][1],u);t.push([r[0],r[1],i[0],i[1],n[0],n[1]])}return t}})(i,n,l,h,t,r,o,a,s).forEach(function(t){e.push({key:"C",data:t})}),i=l,n=h);break}case"Z":e.push({key:"Z",data:[]}),i=o,n=a}r=h}return e}function w(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}let v={randOffset:function(t,e){return Z(t,e)},randOffsetWithRange:function(t,e,r){return I(t,e,r)},ellipse:function(t,e,r,i,n){let o=B(r,i,n);return L(t,e,n,o).opset},doubleLineOps:function(t,e,r,i,n){return D(t,e,r,i,n,!0)}};function T(t,e,r,i,n){return{type:"path",ops:D(t,e,r,i,n)}}function S(t,e,r){let i=(t||[]).length;if(i>2){let n=[];for(let e=0;e<i-1;e++)n.push(...D(t[e][0],t[e][1],t[e+1][0],t[e+1][1],r));return e&&n.push(...D(t[i-1][0],t[i-1][1],t[0][0],t[0][1],r)),{type:"path",ops:n}}return 2===i?T(t[0][0],t[0][1],t[1][0],t[1][1],r):{type:"path",ops:[]}}function M(t,e){if(t.length){let r="number"==typeof t[0][0]?[t]:t,i=q(r[0],+(1+.2*e.roughness),e),n=e.disableMultiStroke?[]:q(r[0],1.5*(1+.22*e.roughness),$(e));for(let t=1;t<r.length;t++){let o=r[t];if(o.length){let t=q(o,+(1+.2*e.roughness),e),r=e.disableMultiStroke?[]:q(o,1.5*(1+.22*e.roughness),$(e));for(let e of t)"move"!==e.op&&i.push(e);for(let t of r)"move"!==t.op&&n.push(t)}}return{type:"path",ops:i.concat(n)}}return{type:"path",ops:[]}}function B(t,e,r){let i=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t/2,2)+Math.pow(e/2,2))/2)),n=2*Math.PI/Math.ceil(Math.max(r.curveStepCount,r.curveStepCount/Math.sqrt(200)*i)),o=Math.abs(t/2),a=Math.abs(e/2),s=1-r.curveFitting;return o+=Z(o*s,r),a+=Z(a*s,r),{increment:n,rx:o,ry:a}}function L(t,e,r,i){let[n,o]=P(i.increment,t,e,i.rx,i.ry,1,i.increment*I(.1,I(.4,1,r),r),r),a=N(n,null,r);if(!r.disableMultiStroke&&0!==r.roughness){let[n]=P(i.increment,t,e,i.rx,i.ry,1.5,0,r),o=N(n,null,r);a=a.concat(o)}return{estimatedPoints:o,opset:{type:"path",ops:a}}}function F(t,e,r,i,n,o,a,s,l){let h=Math.abs(r/2),c=Math.abs(i/2);h+=Z(.01*h,l),c+=Z(.01*c,l);let u=n,d=o;for(;u<0;)u+=2*Math.PI,d+=2*Math.PI;d-u>2*Math.PI&&(u=0,d=2*Math.PI);let f=Math.min(2*Math.PI/l.curveStepCount/2,(d-u)/2),p=R(f,t,e,h,c,u,d,1,l);if(!l.disableMultiStroke){let r=R(f,t,e,h,c,u,d,1.5,l);p.push(...r)}return a&&(s?p.push(...D(t,e,t+h*Math.cos(u),e+c*Math.sin(u),l),...D(t,e,t+h*Math.cos(d),e+c*Math.sin(d),l)):p.push({op:"lineTo",data:[t,e]},{op:"lineTo",data:[t+h*Math.cos(u),e+c*Math.sin(u)]})),{type:"path",ops:p}}function A(t,e){let r=_(k(C(t))),i=[],n=[0,0],o=[0,0];for(let{key:t,data:a}of r)switch(t){case"M":o=[a[0],a[1]],n=[a[0],a[1]];break;case"L":i.push(...D(o[0],o[1],a[0],a[1],e)),o=[a[0],a[1]];break;case"C":{let[t,r,n,s,l,h]=a;i.push(...function(t,e,r,i,n,o,a,s){let l=[],h=[s.maxRandomnessOffset||1,(s.maxRandomnessOffset||1)+.3],c=[0,0],u=s.disableMultiStroke?1:2,d=s.preserveVertices;for(let f=0;f<u;f++)0===f?l.push({op:"move",data:[a[0],a[1]]}):l.push({op:"move",data:[a[0]+(d?0:Z(h[0],s)),a[1]+(d?0:Z(h[0],s))]}),c=d?[n,o]:[n+Z(h[f],s),o+Z(h[f],s)],l.push({op:"bcurveTo",data:[t+Z(h[f],s),e+Z(h[f],s),r+Z(h[f],s),i+Z(h[f],s),c[0],c[1]]});return l}(t,r,n,s,l,h,o,e)),o=[l,h];break}case"Z":i.push(...D(o[0],o[1],n[0],n[1],e)),o=[n[0],n[1]]}return{type:"path",ops:i}}function E(t,e){let r=[];for(let i of t)if(i.length){let t=e.maxRandomnessOffset||0,n=i.length;if(n>2){r.push({op:"move",data:[i[0][0]+Z(t,e),i[0][1]+Z(t,e)]});for(let o=1;o<n;o++)r.push({op:"lineTo",data:[i[o][0]+Z(t,e),i[o][1]+Z(t,e)]})}}return{type:"fillPath",ops:r}}function W(t,e){return(function(t,e){let r=t.fillStyle||"hachure";if(!m[r])switch(r){case"zigzag":m[r]||(m[r]=new d(e));break;case"cross-hatch":m[r]||(m[r]=new f(e));break;case"dots":m[r]||(m[r]=new p(e));break;case"dashed":m[r]||(m[r]=new g(e));break;case"zigzag-line":m[r]||(m[r]=new y(e));break;default:m[r="hachure"]||(m[r]=new c(e))}return m[r]})(e,v).fillPolygons(t,e)}function $(t){let e=Object.assign({},t);return e.randomizer=void 0,t.seed&&(e.seed=t.seed+1),e}function O(t){return t.randomizer||(t.randomizer=new x(t.seed||0)),t.randomizer.next()}function I(t,e,r,i=1){return r.roughness*i*(O(r)*(e-t)+t)}function Z(t,e,r=1){return I(-t,t,e,r)}function D(t,e,r,i,n,o=!1){let a=o?n.disableMultiStrokeFill:n.disableMultiStroke,s=z(t,e,r,i,n,!0,!1);if(a)return s;let l=z(t,e,r,i,n,!0,!0);return s.concat(l)}function z(t,e,r,i,n,o,a){let s=Math.pow(t-r,2)+Math.pow(e-i,2),l=Math.sqrt(s),h=1;h=l<200?1:l>500?.4:-.0016668*l+1.233334;let c=n.maxRandomnessOffset||0;c*c*100>s&&(c=l/10);let u=c/2,d=.2+.2*O(n),f=n.bowing*n.maxRandomnessOffset*(i-e)/200,p=n.bowing*n.maxRandomnessOffset*(t-r)/200;f=Z(f,n,h),p=Z(p,n,h);let g=[],y=()=>Z(u,n,h),m=()=>Z(c,n,h),x=n.preserveVertices;return o&&(a?g.push({op:"move",data:[t+(x?0:y()),e+(x?0:y())]}):g.push({op:"move",data:[t+(x?0:Z(c,n,h)),e+(x?0:Z(c,n,h))]})),a?g.push({op:"bcurveTo",data:[f+t+(r-t)*d+y(),p+e+(i-e)*d+y(),f+t+2*(r-t)*d+y(),p+e+2*(i-e)*d+y(),r+(x?0:y()),i+(x?0:y())]}):g.push({op:"bcurveTo",data:[f+t+(r-t)*d+m(),p+e+(i-e)*d+m(),f+t+2*(r-t)*d+m(),p+e+2*(i-e)*d+m(),r+(x?0:m()),i+(x?0:m())]}),g}function q(t,e,r){if(!t.length)return[];let i=[];i.push([t[0][0]+Z(e,r),t[0][1]+Z(e,r)]),i.push([t[0][0]+Z(e,r),t[0][1]+Z(e,r)]);for(let n=1;n<t.length;n++)i.push([t[n][0]+Z(e,r),t[n][1]+Z(e,r)]),n===t.length-1&&i.push([t[n][0]+Z(e,r),t[n][1]+Z(e,r)]);return N(i,null,r)}function N(t,e,r){let i=t.length,n=[];if(i>3){let o=[],a=1-r.curveTightness;n.push({op:"move",data:[t[1][0],t[1][1]]});for(let e=1;e+2<i;e++){let r=t[e];o[0]=[r[0],r[1]],o[1]=[r[0]+(a*t[e+1][0]-a*t[e-1][0])/6,r[1]+(a*t[e+1][1]-a*t[e-1][1])/6],o[2]=[t[e+1][0]+(a*t[e][0]-a*t[e+2][0])/6,t[e+1][1]+(a*t[e][1]-a*t[e+2][1])/6],o[3]=[t[e+1][0],t[e+1][1]],n.push({op:"bcurveTo",data:[o[1][0],o[1][1],o[2][0],o[2][1],o[3][0],o[3][1]]})}if(e&&2===e.length){let t=r.maxRandomnessOffset;n.push({op:"lineTo",data:[e[0]+Z(t,r),e[1]+Z(t,r)]})}}else 3===i?(n.push({op:"move",data:[t[1][0],t[1][1]]}),n.push({op:"bcurveTo",data:[t[1][0],t[1][1],t[2][0],t[2][1],t[2][0],t[2][1]]})):2===i&&n.push(...z(t[0][0],t[0][1],t[1][0],t[1][1],r,!0,!0));return n}function P(t,e,r,i,n,o,a,s){let l=[],h=[];if(0===s.roughness){t/=4,h.push([e+i*Math.cos(-t),r+n*Math.sin(-t)]);for(let o=0;o<=2*Math.PI;o+=t){let t=[e+i*Math.cos(o),r+n*Math.sin(o)];l.push(t),h.push(t)}h.push([e+ +i,r+0*n]),h.push([e+i*Math.cos(t),r+n*Math.sin(t)])}else{let c=Z(.5,s)-Math.PI/2;h.push([Z(o,s)+e+.9*i*Math.cos(c-t),Z(o,s)+r+.9*n*Math.sin(c-t)]);let u=2*Math.PI+c-.01;for(let a=c;a<u;a+=t){let t=[Z(o,s)+e+i*Math.cos(a),Z(o,s)+r+n*Math.sin(a)];l.push(t),h.push(t)}h.push([Z(o,s)+e+i*Math.cos(c+2*Math.PI+.5*a),Z(o,s)+r+n*Math.sin(c+2*Math.PI+.5*a)]),h.push([Z(o,s)+e+.98*i*Math.cos(c+a),Z(o,s)+r+.98*n*Math.sin(c+a)]),h.push([Z(o,s)+e+.9*i*Math.cos(c+.5*a),Z(o,s)+r+.9*n*Math.sin(c+.5*a)])}return[h,l]}function R(t,e,r,i,n,o,a,s,l){let h=o+Z(.1,l),c=[];c.push([Z(s,l)+e+.9*i*Math.cos(h-t),Z(s,l)+r+.9*n*Math.sin(h-t)]);for(let o=h;o<=a;o+=t)c.push([Z(s,l)+e+i*Math.cos(o),Z(s,l)+r+n*Math.sin(o)]);return c.push([e+i*Math.cos(a),r+n*Math.sin(a)]),c.push([e+i*Math.cos(a),r+n*Math.sin(a)]),N(c,null,l)}function j(t,e=0){let r=t.length;if(r<3)throw Error("A curve must have at least three points.");let i=[];if(3===r)i.push([...t[0]],[...t[1]],[...t[2]],[...t[2]]);else{let r=[];r.push(t[0],t[0]);for(let e=1;e<t.length;e++)r.push(t[e]),e===t.length-1&&r.push(t[e]);let n=[],o=1-e;i.push([...r[0]]);for(let t=1;t+2<r.length;t++){let e=r[t];n[0]=[e[0],e[1]],n[1]=[e[0]+(o*r[t+1][0]-o*r[t-1][0])/6,e[1]+(o*r[t+1][1]-o*r[t-1][1])/6],n[2]=[r[t+1][0]+(o*r[t][0]-o*r[t+2][0])/6,r[t+1][1]+(o*r[t][1]-o*r[t+2][1])/6],n[3]=[r[t+1][0],r[t+1][1]],i.push(n[1],n[2],n[3])}}return i}function Y(t,e){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function U(t,e,r){return[t[0]+(e[0]-t[0])*r,t[1]+(e[1]-t[1])*r]}function H(t,e,r,i,n){let o=n||[],a=t[e],s=t[r-1],l=0,h=1;for(let i=e+1;i<r-1;++i){let e=function(t,e,r){let i=Y(e,r);if(0===i)return Y(t,e);let n=((t[0]-e[0])*(r[0]-e[0])+(t[1]-e[1])*(r[1]-e[1]))/i;return Y(t,U(e,r,n=Math.max(0,Math.min(1,n))))}(t[i],a,s);e>l&&(l=e,h=i)}return Math.sqrt(l)>i?(H(t,e,h+1,i,o),H(t,h,r,i,o)):(o.length||o.push(a),o.push(s)),o}function V(t,e=.15,r){let i=[],n=(t.length-1)/3;for(let r=0;r<n;r++)!function t(e,r,i,n){let o=n||[];if(function(t,e){let r=t[e+0],i=t[e+1],n=t[e+2],o=t[e+3],a=3*i[0]-2*r[0]-o[0];a*=a;let s=3*i[1]-2*r[1]-o[1];s*=s;let l=3*n[0]-2*o[0]-r[0];l*=l;let h=3*n[1]-2*o[1]-r[1];return h*=h,a<l&&(a=l),s<h&&(s=h),a+s}(e,r)<i){let t=e[r+0];o.length?Math.sqrt(Y(o[o.length-1],t))>1&&o.push(t):o.push(t),o.push(e[r+3])}else{let n=e[r+0],a=e[r+1],s=e[r+2],l=e[r+3],h=U(n,a,.5),c=U(a,s,.5),u=U(s,l,.5),d=U(h,c,.5),f=U(c,u,.5),p=U(d,f,.5);t([n,h,d,p],0,i,o),t([p,f,u,l],0,i,o)}return o}(t,3*r,e,i);return r&&r>0?H(i,0,i.length,r):i}let G="none";class X{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(0x80000000*Math.random())}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,e,r){return{shape:t,sets:e||[],options:r||this.defaultOptions}}line(t,e,r,i,n){let o=this._o(n);return this._d("line",[T(t,e,r,i,o)],o)}rectangle(t,e,r,i,n){let o=this._o(n),a=[],s=S([[t,e],[t+r,e],[t+r,e+i],[t,e+i]],!0,o);if(o.fill){let n=[[t,e],[t+r,e],[t+r,e+i],[t,e+i]];"solid"===o.fillStyle?a.push(E([n],o)):a.push(W([n],o))}return o.stroke!==G&&a.push(s),this._d("rectangle",a,o)}ellipse(t,e,r,i,n){let o=this._o(n),a=[],s=B(r,i,o),l=L(t,e,o,s);if(o.fill){if("solid"===o.fillStyle){let r=L(t,e,o,s).opset;r.type="fillPath",a.push(r)}else a.push(W([l.estimatedPoints],o))}return o.stroke!==G&&a.push(l.opset),this._d("ellipse",a,o)}circle(t,e,r,i){let n=this.ellipse(t,e,r,r,i);return n.shape="circle",n}linearPath(t,e){let r=this._o(e);return this._d("linearPath",[S(t,!1,r)],r)}arc(t,e,r,i,n,o,a=!1,s){let l=this._o(s),h=[],c=F(t,e,r,i,n,o,a,!0,l);if(a&&l.fill){if("solid"===l.fillStyle){let a=Object.assign({},l);a.disableMultiStroke=!0;let s=F(t,e,r,i,n,o,!0,!1,a);s.type="fillPath",h.push(s)}else h.push(function(t,e,r,i,n,o,a){let s=Math.abs(r/2),l=Math.abs(i/2);s+=Z(.01*s,a),l+=Z(.01*l,a);let h=n,c=o;for(;h<0;)h+=2*Math.PI,c+=2*Math.PI;c-h>2*Math.PI&&(h=0,c=2*Math.PI);let u=(c-h)/a.curveStepCount,d=[];for(let r=h;r<=c;r+=u)d.push([t+s*Math.cos(r),e+l*Math.sin(r)]);return d.push([t+s*Math.cos(c),e+l*Math.sin(c)]),d.push([t,e]),W([d],a)}(t,e,r,i,n,o,l))}return l.stroke!==G&&h.push(c),this._d("arc",h,l)}curve(t,e){let r=this._o(e),i=[],n=M(t,r);if(r.fill&&r.fill!==G){if("solid"===r.fillStyle){let e=M(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else{let e=[];if(t.length)for(let i of"number"==typeof t[0][0]?[t]:t)i.length<3?e.push(...i):3===i.length?e.push(...V(j([i[0],i[0],i[1],i[2]]),10,(1+r.roughness)/2)):e.push(...V(j(i),10,(1+r.roughness)/2));e.length&&i.push(W([e],r))}}return r.stroke!==G&&i.push(n),this._d("curve",i,r)}polygon(t,e){let r=this._o(e),i=[],n=S(t,!0,r);return r.fill&&("solid"===r.fillStyle?i.push(E([t],r)):i.push(W([t],r))),r.stroke!==G&&i.push(n),this._d("polygon",i,r)}path(t,e){let r=this._o(e),i=[];if(!t)return this._d("path",i,r);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let n=r.fill&&"transparent"!==r.fill&&r.fill!==G,o=r.stroke!==G,a=!!(r.simplification&&r.simplification<1),s=function(t,e,r){let i=_(k(C(t))),n=[],o=[],a=[0,0],s=[],l=()=>{s.length>=4&&o.push(...V(s,1)),s=[]},h=()=>{l(),o.length&&(n.push(o),o=[])};for(let{key:t,data:e}of i)switch(t){case"M":h(),a=[e[0],e[1]],o.push(a);break;case"L":l(),o.push([e[0],e[1]]);break;case"C":if(!s.length){let t=o.length?o[o.length-1]:a;s.push([t[0],t[1]])}s.push([e[0],e[1]]),s.push([e[2],e[3]]),s.push([e[4],e[5]]);break;case"Z":l(),o.push([a[0],a[1]])}if(h(),!r)return n;let c=[];for(let t of n){let e=H(t,0,t.length,r);e.length&&c.push(e)}return c}(t,0,a?4-4*(r.simplification||1):(1+r.roughness)/2),l=A(t,r);if(n){if("solid"===r.fillStyle){if(1===s.length){let e=A(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else i.push(E(s,r))}else i.push(W(s,r))}return o&&(a?s.forEach(t=>{i.push(S(t,!1,r))}):i.push(l)),this._d("path",i,r)}opsToPath(t,e){let r="";for(let i of t.ops){let t="number"==typeof e&&e>=0?i.data.map(t=>+t.toFixed(e)):i.data;switch(i.op){case"move":r+=`M${t[0]} ${t[1]} `;break;case"bcurveTo":r+=`C${t[0]} ${t[1]}, ${t[2]} ${t[3]}, ${t[4]} ${t[5]} `;break;case"lineTo":r+=`L${t[0]} ${t[1]} `}}return r.trim()}toPaths(t){let e=t.sets||[],r=t.options||this.defaultOptions,i=[];for(let t of e){let e=null;switch(t.type){case"path":e={d:this.opsToPath(t),stroke:r.stroke,strokeWidth:r.strokeWidth,fill:G};break;case"fillPath":e={d:this.opsToPath(t),stroke:G,strokeWidth:0,fill:r.fill||G};break;case"fillSketch":e=this.fillSketch(t,r)}e&&i.push(e)}return i}fillSketch(t,e){let r=e.fillWeight;return r<0&&(r=e.strokeWidth/2),{d:this.opsToPath(t),stroke:e.fill||G,strokeWidth:r,fill:G}}_mergedShape(t){return t.filter((t,e)=>0===e||"move"!==t.op)}}let Q="http://www.w3.org/2000/svg";class K{constructor(t,e){this.svg=t,this.gen=new X(e)}draw(t){let e=t.sets||[],r=t.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,n=i.createElementNS(Q,"g"),o=t.options.fixedDecimalPlaceDigits;for(let a of e){let e=null;switch(a.type){case"path":(e=i.createElementNS(Q,"path")).setAttribute("d",this.opsToPath(a,o)),e.setAttribute("stroke",r.stroke),e.setAttribute("stroke-width",r.strokeWidth+""),e.setAttribute("fill","none"),r.strokeLineDash&&e.setAttribute("stroke-dasharray",r.strokeLineDash.join(" ").trim()),r.strokeLineDashOffset&&e.setAttribute("stroke-dashoffset",`${r.strokeLineDashOffset}`);break;case"fillPath":(e=i.createElementNS(Q,"path")).setAttribute("d",this.opsToPath(a,o)),e.setAttribute("stroke","none"),e.setAttribute("stroke-width","0"),e.setAttribute("fill",r.fill||""),"curve"!==t.shape&&"polygon"!==t.shape||e.setAttribute("fill-rule","evenodd");break;case"fillSketch":e=this.fillSketch(i,a,r)}e&&n.appendChild(e)}return n}fillSketch(t,e,r){let i=r.fillWeight;i<0&&(i=r.strokeWidth/2);let n=t.createElementNS(Q,"path");return n.setAttribute("d",this.opsToPath(e,r.fixedDecimalPlaceDigits)),n.setAttribute("stroke",r.fill||""),n.setAttribute("stroke-width",i+""),n.setAttribute("fill","none"),r.fillLineDash&&n.setAttribute("stroke-dasharray",r.fillLineDash.join(" ").trim()),r.fillLineDashOffset&&n.setAttribute("stroke-dashoffset",`${r.fillLineDashOffset}`),n}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,e){return this.gen.opsToPath(t,e)}line(t,e,r,i,n){let o=this.gen.line(t,e,r,i,n);return this.draw(o)}rectangle(t,e,r,i,n){let o=this.gen.rectangle(t,e,r,i,n);return this.draw(o)}ellipse(t,e,r,i,n){let o=this.gen.ellipse(t,e,r,i,n);return this.draw(o)}circle(t,e,r,i){let n=this.gen.circle(t,e,r,i);return this.draw(n)}linearPath(t,e){let r=this.gen.linearPath(t,e);return this.draw(r)}polygon(t,e){let r=this.gen.polygon(t,e);return this.draw(r)}arc(t,e,r,i,n,o,a=!1,s){let l=this.gen.arc(t,e,r,i,n,o,a,s);return this.draw(l)}curve(t,e){let r=this.gen.curve(t,e);return this.draw(r)}path(t,e){let r=this.gen.path(t,e);return this.draw(r)}}var J={svg:(t,e)=>new K(t,e)},tt=(0,a.eW)((t,e)=>{var r,i,n=t.x,o=t.y,a=e.x-n,s=e.y-o,l=t.width/2,h=t.height/2;return Math.abs(s)*l>Math.abs(a)*h?(s<0&&(h=-h),r=0===s?0:h*a/s,i=h):(a<0&&(l=-l),r=l,i=0===a?0:l*s/a),{x:n+r,y:o+i}},"intersectRect");function te(t,e){e&&t.attr("style",e)}async function tr(t){let e=(0,s.Ys)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),i=t.label;t.label&&(0,a.l0)(t.label)&&(i=await (0,a.uT)(t.label.replace(a.SY.lineBreakRegex,"\n"),(0,a.nV)()));let n=t.isNode?"nodeLabel":"edgeLabel";return r.html('<span class="'+n+'" '+(t.labelStyle?'style="'+t.labelStyle+'"':"")+">"+i+"</span>"),te(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}(0,a.eW)(te,"applyStyle"),(0,a.eW)(tr,"addHtmlLabel");var ti=(0,a.eW)(async(t,e,r,i)=>{let n=t||"";if("object"==typeof n&&(n=n[0]),(0,a.ku)((0,a.nV)().flowchart.htmlLabels)){n=n.replace(/\\n|\n/g,"<br />"),a.cM.info("vertexText"+n);let t={isNode:i,label:(0,o.SH)(n).replace(/fa[blrs]?:fa-[\w-]+/g,t=>`<i class='${t.replace(":"," ")}'></i>`),labelStyle:e?e.replace("fill:","color:"):e};return await tr(t)}{let t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let i=[];for(let e of"string"==typeof n?n.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(n)?n:[]){let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),r?i.setAttribute("class","title-row"):i.setAttribute("class","row"),i.textContent=e.trim(),t.appendChild(i)}return t}},"createLabel"),tn=(0,a.eW)((t,e,r,i,n)=>["M",t+n,e,"H",t+r-n,"A",n,n,0,0,1,t+r,e+n,"V",e+i-n,"A",n,n,0,0,1,t+r-n,e+i,"H",t+n,"A",n,n,0,0,1,t,e+i-n,"V",e+n,"A",n,n,0,0,1,t+n,e,"Z"].join(" "),"createRoundedRectPathD"),to=(0,a.eW)(t=>{let{handDrawnSeed:e}=(0,a.nV)();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),ta=(0,a.eW)(t=>{let e=ts([...t.cssCompiledStyles||[],...t.cssStyles||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),ts=(0,a.eW)(t=>{let e=new Map;return t.forEach(t=>{let[r,i]=t.split(":");e.set(r.trim(),i?.trim())}),e},"styles2Map"),tl=(0,a.eW)(t=>{let{stylesArray:e}=ta(t),r=[],i=[],n=[],o=[];return e.forEach(t=>{let e=t[0];"color"===e||"font-size"===e||"font-family"===e||"font-weight"===e||"font-style"===e||"text-decoration"===e||"text-align"===e||"text-transform"===e||"line-height"===e||"letter-spacing"===e||"word-spacing"===e||"text-shadow"===e||"text-overflow"===e||"white-space"===e||"word-wrap"===e||"word-break"===e||"overflow-wrap"===e||"hyphens"===e?r.push(t.join(":")+" !important"):(i.push(t.join(":")+" !important"),e.includes("stroke")&&n.push(t.join(":")+" !important"),"fill"===e&&o.push(t.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:i.join(";"),stylesArray:e,borderStyles:n,backgroundStyles:o}},"styles2String"),th=(0,a.eW)((t,e)=>{let{themeVariables:r,handDrawnSeed:i}=(0,a.nV)(),{nodeBorder:n,mainBkg:o}=r,{stylesMap:s}=ta(t);return Object.assign({roughness:.7,fill:s.get("fill")||o,fillStyle:"hachure",fillWeight:4,stroke:s.get("stroke")||n,seed:i,strokeWidth:1.3},e)},"userNodeOverrides"),tc=(0,a.eW)(async(t,e)=>{let r;a.cM.info("Creating subgraph rect for ",e.id,e);let o=(0,a.nV)(),{themeVariables:l,handDrawnSeed:h}=o,{clusterBkg:c,clusterBorder:u}=l,{labelStyles:d,nodeStyles:f,borderStyles:p,backgroundStyles:g}=tl(e),y=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),m=(0,a.ku)(o.flowchart.htmlLabels),x=y.insert("g").attr("class","cluster-label "),b=await (0,n.rw)(x,e.label,{style:e.labelStyle,useHtmlLabels:m,isNode:!0}),C=b.getBBox();if((0,a.ku)(o.flowchart.htmlLabels)){let t=b.children[0],e=(0,s.Ys)(b);C=t.getBoundingClientRect(),e.attr("width",C.width),e.attr("height",C.height)}let k=e.width<=C.width+e.padding?C.width+e.padding:e.width;e.width<=C.width+e.padding?e.diff=(k-e.width)/2-e.padding:e.diff=-e.padding;let _=e.height,w=e.x-k/2,v=e.y-_/2;if(a.cM.trace("Data ",e,JSON.stringify(e)),"handDrawn"===e.look){let t=J.svg(y),i=th(e,{roughness:.7,fill:c,stroke:u,fillWeight:3,seed:h}),n=t.path(tn(w,v,k,_,0),i);(r=y.insert(()=>(a.cM.debug("Rough node insert CXC",n),n),":first-child")).select("path:nth-child(2)").attr("style",p.join(";")),r.select("path").attr("style",g.join(";").replace("fill","stroke"))}else(r=y.insert("rect",":first-child")).attr("style",f).attr("rx",e.rx).attr("ry",e.ry).attr("x",w).attr("y",v).attr("width",k).attr("height",_);let{subGraphTitleTopMargin:T}=(0,i.L)(o);if(x.attr("transform",`translate(${e.x-C.width/2}, ${e.y-e.height/2+T})`),d){let t=x.select("span");t&&t.attr("style",d)}let S=r.node().getBBox();return e.offsetX=0,e.width=S.width,e.height=S.height,e.offsetY=C.height-e.padding/2,e.intersect=function(t){return tt(e,t)},{cluster:y,labelBBox:C}},"rect"),tu=(0,a.eW)((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),i=r.insert("rect",":first-child"),n=0*e.padding,o=n/2;i.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-o).attr("y",e.y-e.height/2-o).attr("width",e.width+n).attr("height",e.height+n).attr("fill","none");let a=i.node().getBBox();return e.width=a.width,e.height=a.height,e.intersect=function(t){return tt(e,t)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),td=(0,a.eW)(async(t,e)=>{let r;let i=(0,a.nV)(),{themeVariables:n,handDrawnSeed:o}=i,{altBackground:l,compositeBackground:h,compositeTitleBackground:c,nodeBorder:u}=n,d=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=d.insert("g",":first-child"),p=d.insert("g").attr("class","cluster-label"),g=d.append("rect"),y=p.node().appendChild(await ti(e.label,e.labelStyle,void 0,!0)),m=y.getBBox();if((0,a.ku)(i.flowchart.htmlLabels)){let t=y.children[0],e=(0,s.Ys)(y);m=t.getBoundingClientRect(),e.attr("width",m.width),e.attr("height",m.height)}let x=0*e.padding,b=(e.width<=m.width+e.padding?m.width+e.padding:e.width)+x;e.width<=m.width+e.padding?e.diff=(b-e.width)/2-e.padding:e.diff=-e.padding;let C=e.height+x,k=e.height+x-m.height-6,_=e.x-b/2,w=e.y-C/2;e.width=b;let v=e.y-e.height/2-x/2+m.height+2;if("handDrawn"===e.look){let t=e.cssClasses.includes("statediagram-cluster-alt"),i=J.svg(d),n=e.rx||e.ry?i.path(tn(_,w,b,C,10),{roughness:.7,fill:c,fillStyle:"solid",stroke:u,seed:o}):i.rectangle(_,w,b,C,{seed:o});r=d.insert(()=>n,":first-child");let a=i.rectangle(_,v,b,k,{fill:t?l:h,fillStyle:t?"hachure":"solid",stroke:u,seed:o});r=d.insert(()=>n,":first-child"),g=d.insert(()=>a)}else(r=f.insert("rect",":first-child")).attr("class","outer").attr("x",_).attr("y",w).attr("width",b).attr("height",C).attr("data-look",e.look),g.attr("class","inner").attr("x",_).attr("y",v).attr("width",b).attr("height",k);p.attr("transform",`translate(${e.x-m.width/2}, ${w+1-3*!(0,a.ku)(i.flowchart.htmlLabels)})`);let T=r.node().getBBox();return e.height=T.height,e.offsetX=0,e.offsetY=m.height-e.padding/2,e.labelBBox=m,e.intersect=function(t){return tt(e,t)},{cluster:d,labelBBox:m}},"roundedWithTitle"),tf={rect:tc,squareRect:tc,roundedWithTitle:td,noteGroup:tu,divider:(0,a.eW)((t,e)=>{let r;let{themeVariables:i,handDrawnSeed:n}=(0,a.nV)(),{nodeBorder:o}=i,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=s.insert("g",":first-child"),h=0*e.padding,c=e.width+h;e.diff=-e.padding;let u=e.height+h,d=e.x-c/2,f=e.y-u/2;if(e.width=c,"handDrawn"===e.look){let t=J.svg(s).rectangle(d,f,c,u,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:o,seed:n});r=s.insert(()=>t,":first-child")}else(r=l.insert("rect",":first-child")).attr("class","divider").attr("x",d).attr("y",f).attr("width",c).attr("height",u).attr("data-look",e.look);let p=r.node().getBBox();return e.height=p.height,e.offsetX=0,e.offsetY=0,e.intersect=function(t){return tt(e,t)},{cluster:s,labelBBox:{}}},"divider")},tp=new Map,tg=(0,a.eW)(async(t,e)=>{let r=e.shape||"rect",i=await tf[r](t,e);return tp.set(e.id,i),i},"insertCluster"),ty=(0,a.eW)(()=>{tp=new Map},"clear"),tm=(0,a.eW)((t,e,r,i,n)=>{e.arrowTypeStart&&tb(t,"start",e.arrowTypeStart,r,i,n),e.arrowTypeEnd&&tb(t,"end",e.arrowTypeEnd,r,i,n)},"addEdgeMarkers"),tx={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},tb=(0,a.eW)((t,e,r,i,n,o)=>{let s=tx[r];if(!s){a.cM.warn(`Unknown arrow type: ${r}`);return}t.attr(`marker-${e}`,`url(${i}#${n}_${o}-${s}${"start"===e?"Start":"End"})`)},"addEdgeMarker"),tC=new Map,tk=new Map,t_=(0,a.eW)(()=>{tC.clear(),tk.clear()},"clear"),tw=(0,a.eW)(t=>t?t.reduce((t,e)=>t+";"+e,""):"","getLabelStyles"),tv=(0,a.eW)(async(t,e)=>{let r,i=(0,a.ku)((0,a.nV)().flowchart.htmlLabels),o=await (0,n.rw)(t,e.label,{style:tw(e.labelStyle),useHtmlLabels:i,addSvgBackground:!0,isNode:!1});a.cM.info("abc82",e,e.labelType);let l=t.insert("g").attr("class","edgeLabel"),h=l.insert("g").attr("class","label");h.node().appendChild(o);let c=o.getBBox();if(i){let t=o.children[0],e=(0,s.Ys)(o);c=t.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}if(h.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),tC.set(e.id,l),e.width=c.width,e.height=c.height,e.startLabelLeft){let i=await ti(e.startLabelLeft,tw(e.labelStyle)),n=t.insert("g").attr("class","edgeTerminals"),o=n.insert("g").attr("class","inner");r=o.node().appendChild(i);let a=i.getBBox();o.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),tk.get(e.id)||tk.set(e.id,{}),tk.get(e.id).startLeft=n,tT(r,e.startLabelLeft)}if(e.startLabelRight){let i=await ti(e.startLabelRight,tw(e.labelStyle)),n=t.insert("g").attr("class","edgeTerminals"),o=n.insert("g").attr("class","inner");r=n.node().appendChild(i),o.node().appendChild(i);let a=i.getBBox();o.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),tk.get(e.id)||tk.set(e.id,{}),tk.get(e.id).startRight=n,tT(r,e.startLabelRight)}if(e.endLabelLeft){let i=await ti(e.endLabelLeft,tw(e.labelStyle)),n=t.insert("g").attr("class","edgeTerminals"),o=n.insert("g").attr("class","inner");r=o.node().appendChild(i);let a=i.getBBox();o.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),n.node().appendChild(i),tk.get(e.id)||tk.set(e.id,{}),tk.get(e.id).endLeft=n,tT(r,e.endLabelLeft)}if(e.endLabelRight){let i=await ti(e.endLabelRight,tw(e.labelStyle)),n=t.insert("g").attr("class","edgeTerminals"),o=n.insert("g").attr("class","inner");r=o.node().appendChild(i);let a=i.getBBox();o.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),n.node().appendChild(i),tk.get(e.id)||tk.set(e.id,{}),tk.get(e.id).endRight=n,tT(r,e.endLabelRight)}return o},"insertEdgeLabel");function tT(t,e){(0,a.nV)().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}(0,a.eW)(tT,"setTerminalWidth");var tS=(0,a.eW)((t,e)=>{a.cM.debug("Moving label abc88 ",t.id,t.label,tC.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=(0,a.nV)(),{subGraphTitleTotalMargin:s}=(0,i.L)(n);if(t.label){let i=tC.get(t.id),n=t.x,l=t.y;if(r){let i=o.w8.calcLabelPosition(r);a.cM.debug("Moving label "+t.label+" from (",n,",",l,") to (",i.x,",",i.y,") abc88"),e.updatedPath&&(n=i.x,l=i.y)}i.attr("transform",`translate(${n}, ${l+s/2})`)}if(t.startLabelLeft){let e=tk.get(t.id).startLeft,i=t.x,n=t.y;if(r){let e=o.w8.calcTerminalLabelPosition(10*!!t.arrowTypeStart,"start_left",r);i=e.x,n=e.y}e.attr("transform",`translate(${i}, ${n})`)}if(t.startLabelRight){let e=tk.get(t.id).startRight,i=t.x,n=t.y;if(r){let e=o.w8.calcTerminalLabelPosition(10*!!t.arrowTypeStart,"start_right",r);i=e.x,n=e.y}e.attr("transform",`translate(${i}, ${n})`)}if(t.endLabelLeft){let e=tk.get(t.id).endLeft,i=t.x,n=t.y;if(r){let e=o.w8.calcTerminalLabelPosition(10*!!t.arrowTypeEnd,"end_left",r);i=e.x,n=e.y}e.attr("transform",`translate(${i}, ${n})`)}if(t.endLabelRight){let e=tk.get(t.id).endRight,i=t.x,n=t.y;if(r){let e=o.w8.calcTerminalLabelPosition(10*!!t.arrowTypeEnd,"end_right",r);i=e.x,n=e.y}e.attr("transform",`translate(${i}, ${n})`)}},"positionEdgeLabel"),tM=(0,a.eW)((t,e)=>{let r=t.x,i=t.y,n=Math.abs(e.x-r),o=Math.abs(e.y-i),a=t.width/2,s=t.height/2;return n>=a||o>=s},"outsideNode"),tB=(0,a.eW)((t,e,r)=>{a.cM.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let i=t.x,n=t.y,o=Math.abs(i-r.x),s=t.width/2,l=r.x<e.x?s-o:s+o,h=t.height/2,c=Math.abs(e.y-r.y),u=Math.abs(e.x-r.x);if(Math.abs(n-e.y)*s>Math.abs(i-e.x)*h){let t=r.y<e.y?e.y-h-n:n-h-e.y;l=u*t/c;let i={x:r.x<e.x?r.x+l:r.x-u+l,y:r.y<e.y?r.y+c-t:r.y-c+t};return 0===l&&(i.x=e.x,i.y=e.y),0===u&&(i.x=e.x),0===c&&(i.y=e.y),a.cM.debug(`abc89 top/bottom calc, Q ${c}, q ${t}, R ${u}, r ${l}`,i),i}{let t=c*(l=r.x<e.x?e.x-s-i:i-s-e.x)/u,n=r.x<e.x?r.x+u-l:r.x-u+l,o=r.y<e.y?r.y+t:r.y-t;return a.cM.debug(`sides calc abc89, Q ${c}, q ${t}, R ${u}, r ${l}`,{_x:n,_y:o}),0===l&&(n=e.x,o=e.y),0===u&&(n=e.x),0===c&&(o=e.y),{x:n,y:o}}},"intersection"),tL=(0,a.eW)((t,e)=>{a.cM.warn("abc88 cutPathAtIntersect",t,e);let r=[],i=t[0],n=!1;return t.forEach(t=>{if(a.cM.info("abc88 checking point",t,e),tM(e,t)||n)a.cM.warn("abc88 outside",t,i),i=t,n||r.push(t);else{let o=tB(e,i,t);a.cM.debug("abc88 inside",t,i,o),a.cM.debug("abc88 intersection",o,e);let s=!1;r.forEach(t=>{s=s||t.x===o.x&&t.y===o.y}),r.some(t=>t.x===o.x&&t.y===o.y)?a.cM.warn("abc88 no intersect",o,r):r.push(o),n=!0}}),a.cM.debug("returning points",r),r},"cutPathAtIntersect");function tF(t){let e=[],r=[];for(let i=1;i<t.length-1;i++){let n=t[i-1],o=t[i],a=t[i+1];n.x===o.x&&o.y===a.y&&Math.abs(o.x-a.x)>5&&Math.abs(o.y-n.y)>5?(e.push(o),r.push(i)):n.y===o.y&&o.x===a.x&&Math.abs(o.x-n.x)>5&&Math.abs(o.y-a.y)>5&&(e.push(o),r.push(i))}return{cornerPoints:e,cornerPointPositions:r}}(0,a.eW)(tF,"extractCornerPoints");var tA=(0,a.eW)(function(t,e,r){let i=e.x-t.x,n=e.y-t.y,o=r/Math.sqrt(i*i+n*n);return{x:e.x-o*i,y:e.y-o*n}},"findAdjacentPoint"),tE=(0,a.eW)(function(t){let{cornerPointPositions:e}=tF(t),r=[];for(let i=0;i<t.length;i++)if(e.includes(i)){let e=t[i-1],n=t[i+1],o=t[i],s=tA(e,o,5),l=tA(n,o,5),h=l.x-s.x,c=l.y-s.y;r.push(s);let u=2*Math.sqrt(2),d={x:o.x,y:o.y};Math.abs(n.x-e.x)>10&&Math.abs(n.y-e.y)>=10?(a.cM.debug("Corner point fixing",Math.abs(n.x-e.x),Math.abs(n.y-e.y)),d=o.x===s.x?{x:h<0?s.x-5+u:s.x+5-u,y:c<0?s.y-u:s.y+u}:{x:h<0?s.x-u:s.x+u,y:c<0?s.y-5+u:s.y+5-u}):a.cM.debug("Corner point skipping fixing",Math.abs(n.x-e.x),Math.abs(n.y-e.y)),r.push(d,l)}else r.push(t[i]);return r},"fixCorners"),tW=(0,a.eW)(function(t,e,r,n,o,l,h){let c,u;let{handDrawnSeed:d}=(0,a.nV)(),f=e.points,p=!1;l.intersect&&o.intersect&&((f=f.slice(1,e.points.length-1)).unshift(o.intersect(f[0])),a.cM.debug("Last point APA12",e.start,"--\x3e",e.end,f[f.length-1],l,l.intersect(f[f.length-1])),f.push(l.intersect(f[f.length-1]))),e.toCluster&&(a.cM.info("to cluster abc88",r.get(e.toCluster)),f=tL(e.points,r.get(e.toCluster).node),p=!0),e.fromCluster&&(a.cM.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(f,null,2)),f=tL(f.reverse(),r.get(e.fromCluster).node).reverse(),p=!0);let g=f.filter(t=>!Number.isNaN(t.y)),y=(g=tE(g))[g.length-1];if(g.length>1){y=g[g.length-1];let t=g[g.length-2],e=(y.x-t.x)/2,r=(y.y-t.y)/2,i={x:t.x+e,y:t.y+r};g.splice(-1,0,i)}let m=s.$0Z;e.curve&&(m=e.curve);let{x,y:b}=(0,i.o)(e),C=(0,s.jvg)().x(x).y(b).curve(m);switch(e.thickness){case"normal":default:c="edge-thickness-normal";break;case"thick":c="edge-thickness-thick";break;case"invisible":c="edge-thickness-invisible"}switch(e.pattern){case"solid":default:c+=" edge-pattern-solid";break;case"dotted":c+=" edge-pattern-dotted";break;case"dashed":c+=" edge-pattern-dashed"}let k=C(g),_=Array.isArray(e.style)?e.style:[e.style];if("handDrawn"===e.look){let r=J.svg(t);Object.assign([],g);let i=r.path(k,{roughness:.3,seed:d});c+=" transition";let n=(u=(0,s.Ys)(i).select("path").attr("id",e.id).attr("class"," "+c+(e.classes?" "+e.classes:"")).attr("style",_?_.reduce((t,e)=>t+";"+e,""):"")).attr("d");u.attr("d",n),t.node().appendChild(u.node())}else u=t.append("path").attr("d",k).attr("id",e.id).attr("class"," "+c+(e.classes?" "+e.classes:"")).attr("style",_?_.reduce((t,e)=>t+";"+e,""):"");let w="";((0,a.nV)().flowchart.arrowMarkerAbsolute||(0,a.nV)().state.arrowMarkerAbsolute)&&(w=(w=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(").replace(/\)/g,"\\)")),a.cM.info("arrowTypeStart",e.arrowTypeStart),a.cM.info("arrowTypeEnd",e.arrowTypeEnd),tm(u,e,w,h,n);let v={};return p&&(v.updatedPath=f),v.originalPath=e.points,v},"insertEdge"),t$=(0,a.eW)((t,e,r,i)=>{e.forEach(e=>{tP[e](t,r,i)})},"insertMarkers"),tO=(0,a.eW)((t,e,r)=>{a.cM.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),tI=(0,a.eW)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),tZ=(0,a.eW)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),tD=(0,a.eW)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),tz=(0,a.eW)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),tq=(0,a.eW)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),tN=(0,a.eW)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),tP={extension:tO,composition:tI,aggregation:tZ,dependency:tD,lollipop:tz,point:tq,circle:tN,cross:(0,a.eW)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),barb:(0,a.eW)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb")},tR=t$,tj=(0,a.eW)(async(t,e,r)=>{let i,l,h;let c=e.useHtmlLabels||(0,a.ku)((0,a.nV)().flowchart.htmlLabels);i=r||"node default";let u=t.insert("g").attr("class",i).attr("id",e.domId||e.id),d=u.insert("g").attr("class","label").attr("style",e.labelStyle);l=void 0===e.label?"":"string"==typeof e.label?e.label:e.label[0];let f=(h=await (0,n.rw)(d,(0,a.oO)((0,o.SH)(l),(0,a.nV)()),{useHtmlLabels:c,width:e.width||(0,a.nV)().flowchart.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle})).getBBox(),p=e.padding/2;if((0,a.ku)((0,a.nV)().flowchart.htmlLabels)){let t=h.children[0],e=(0,s.Ys)(h),r=t.getElementsByTagName("img");if(r){let t=""===l.replace(/<img[^>]*>/g,"").trim();await Promise.all([...r].map(e=>new Promise(r=>{function i(){if(e.style.display="flex",e.style.flexDirection="column",t){let t=5*parseInt((0,a.nV)().fontSize?(0,a.nV)().fontSize:window.getComputedStyle(document.body).fontSize,10)+"px";e.style.minWidth=t,e.style.maxWidth=t}else e.style.width="100%";r(e)}(0,a.eW)(i,"setupImage"),setTimeout(()=>{e.complete&&i()}),e.addEventListener("error",i),e.addEventListener("load",i)})))}f=t.getBoundingClientRect(),e.attr("width",f.width),e.attr("height",f.height)}return c?d.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):d.attr("transform","translate(0, "+-f.height/2+")"),e.centerLabel&&d.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),d.insert("rect",":first-child"),{shapeSvg:u,bbox:f,halfPadding:p,label:d}},"labelHelper"),tY=(0,a.eW)((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),tU=(0,a.eW)((t,e)=>("handDrawn"===t.look?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function tH(t,e,r,i){var n=t.x,o=t.y,a=n-i.x,s=o-i.y,l=Math.sqrt(e*e*s*s+r*r*a*a),h=Math.abs(e*r*a/l);i.x<n&&(h=-h);var c=Math.abs(e*r*s/l);return i.y<o&&(c=-c),{x:n+h,y:o+c}}function tV(t,e,r){return tH(t,e,e,r)}function tG(t,e,r,i){var n,o,a,s,l,h,c,u,d,f,p,g,y;if(n=e.y-t.y,a=t.x-e.x,l=e.x*t.y-t.x*e.y,d=n*r.x+a*r.y+l,f=n*i.x+a*i.y+l,!(0!==d&&0!==f&&tX(d,f))){if(o=i.y-r.y,s=r.x-i.x,h=i.x*r.y-r.x*i.y,c=o*t.x+s*t.y+h,u=o*e.x+s*e.y+h,!(0!==c&&0!==u&&tX(c,u))&&0!=(p=n*s-o*a))return g=Math.abs(p/2),{x:(y=a*h-s*l)<0?(y-g)/p:(y+g)/p,y:(y=o*l-n*h)<0?(y-g)/p:(y+g)/p}}}function tX(t,e){return t*e>0}function tQ(t,e,r){let i=t.x,n=t.y,o=[],a=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach(function(t){a=Math.min(a,t.x),s=Math.min(s,t.y)}):(a=Math.min(a,e.x),s=Math.min(s,e.y));let l=i-t.width/2-a,h=n-t.height/2-s;for(let i=0;i<e.length;i++){let n=e[i],a=e[i<e.length-1?i+1:0],s=tG(t,r,{x:l+n.x,y:h+n.y},{x:l+a.x,y:h+a.y});s&&o.push(s)}return o.length?(o.length>1&&o.sort(function(t,e){let i=t.x-r.x,n=t.y-r.y,o=Math.sqrt(i*i+n*n),a=e.x-r.x,s=e.y-r.y,l=Math.sqrt(a*a+s*s);return o<l?-1:+(o!==l)}),o[0]):t}(0,a.eW)(function(t,e){return t.intersect(e)},"intersectNode"),(0,a.eW)(tH,"intersectEllipse"),(0,a.eW)(tV,"intersectCircle"),(0,a.eW)(tG,"intersectLine"),(0,a.eW)(tX,"sameSign"),(0,a.eW)(tQ,"intersectPolygon");var tK=(0,a.eW)(async(t,e,r)=>{let i;let{labelStyles:n,nodeStyles:o}=tl(e);e.labelStyle=n;let{shapeSvg:a,bbox:s}=await tj(t,e,tU(e)),l=Math.max(s.width+2*r.labelPaddingX,e?.width||0),h=Math.max(s.height+2*r.labelPaddingY,e?.height||0),c=-l/2,u=-h/2,{rx:d,ry:f}=e,{cssStyles:p}=e;if(r?.rx&&r.ry&&(d=r.rx,f=r.ry),"handDrawn"===e.look){let t=J.svg(a),r=th(e,{}),n=d||f?t.path(tn(c,u,l,h,d||0),r):t.rectangle(c,u,l,h,r);(i=a.insert(()=>n,":first-child")).attr("class","basic label-container").attr("style",p)}else(i=a.insert("rect",":first-child")).attr("class","basic label-container").attr("style",o).attr("rx",d).attr("data-id","abc").attr("data-et","node").attr("ry",f).attr("x",c).attr("y",u).attr("width",l).attr("height",h);return tY(e,i),e.intersect=function(t){return tt(e,t)},a},"drawRect"),tJ=(0,a.eW)(async(t,e)=>tK(t,e,{rx:5,ry:5,classes:"flowchart-node"}),"state"),t0=(0,a.eW)(async(t,e)=>{let r={rx:5,ry:5,classes:"",labelPaddingX:+(e?.padding||0),labelPaddingY:+(e?.padding||0)};return tK(t,e,r)},"roundedRect"),t1=(0,a.eW)(async(t,e)=>{let r={rx:0,ry:0,classes:"",labelPaddingX:2*(e?.padding||0),labelPaddingY:+(e?.padding||0)};return tK(t,e,r)},"squareRect"),t2=(0,a.eW)((t,e)=>{let r;let{themeVariables:i}=(0,a.nV)(),{lineColor:n}=i,o=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);if("handDrawn"===e.look){let t=J.svg(o).circle(0,0,14,to(n));r=o.insert(()=>t)}else r=o.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),tY(e,r),e.intersect=function(t){return tV(e,7,t)},o},"stateStart"),t3=(0,a.eW)((t,e)=>{let r,i;let{themeVariables:n}=(0,a.nV)(),{lineColor:o}=n,s=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);if("handDrawn"===e.look){let t=J.svg(s),e=t.circle(0,0,14,{...to(o),roughness:.5}),n=t.circle(0,0,5,{...to(o),fillStyle:"solid"});r=s.insert(()=>e),i=s.insert(()=>n)}else i=s.insert("circle",":first-child"),(r=s.insert("circle",":first-child")).attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10);return tY(e,r),e.intersect=function(t){return tV(e,7,t)},s},"stateEnd"),t5=(0,a.eW)((t,e,r)=>{let i;let{themeVariables:n}=(0,a.nV)(),{lineColor:o}=n,s=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),l=70,h=10;"LR"===r&&(l=10,h=70);let c=-1*l/2,u=-1*h/2;if("handDrawn"===e.look){let t=J.svg(s).rectangle(c,u,l,h,to(o));i=s.insert(()=>t)}else i=s.append("rect").attr("x",c).attr("y",u).attr("width",l).attr("height",h).attr("class","fork-join");tY(e,i);let d=0,f=0,p=10;return e.height&&(d=e.height),e.width&&(f=e.width),e.padding&&(p=e.padding),e.height=d+p/2,e.width=f+p/2,e.intersect=function(t){return tt(e,t)},s},"forkJoin"),t6=(0,a.eW)((t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{themeVariables:o}=(0,a.nV)(),{lineColor:s}=o,l=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),h=[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}];if("handDrawn"===e.look){let t=J.svg(l),e=h.map(function(t){return[t.x,t.y]}),i=t.polygon(e,to(s));r=l.insert(()=>i)}else r=l.insert("polygon",":first-child").attr("points",h.map(function(t){return t.x+","+t.y}).join(" "));return r.attr("class","state-start").attr("r",7).attr("width",28).attr("height",28).attr("style",n),e.width=28,e.height=28,e.intersect=function(t){return tV(e,14,t)},l},"choice"),t4=(0,a.eW)(async(t,e)=>{let r;let{themeVariables:i,handDrawnSeed:n}=(0,a.nV)(),{noteBorderColor:o,noteBkgColor:s}=i;e.useHtmlLabels||(e.centerLabel=!0);let{shapeSvg:l,bbox:h}=await tj(t,e,"node "+e.cssClasses);a.cM.info("Classes = ",e.cssClasses);let{cssStyles:c}=e,u=h.width+e.padding,d=h.height+e.padding,f=-u/2,p=-d/2;if("handDrawn"===e.look){let t=J.svg(l).rectangle(f,p,u,d,{roughness:.7,fill:s,fillWeight:3,seed:n,stroke:o});(r=l.insert(()=>t,":first-child")).attr("class","basic label-container").attr("style",c)}else(r=l.insert("rect",":first-child")).attr("rx",e.rx).attr("ry",e.ry).attr("x",f).attr("y",p).attr("width",u).attr("height",d);return tY(e,r),e.intersect=function(t){return tt(e,t)},l},"note"),t8=(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:a}=await tj(t,e,tU(e)),s=a.height+e.padding,l=a.width+s/4+e.padding,{cssStyles:h}=e;if("handDrawn"===e.look){let t=J.svg(o),i=th(e,{}),n=tn(-l/2,-s/2,l,s,s/2),a=t.path(n,i);(r=o.insert(()=>a,":first-child")).attr("class","basic label-container").attr("style",h)}else(r=o.insert("rect",":first-child")).attr("class","basic label-container").attr("style",n).attr("rx",s/2).attr("ry",s/2).attr("x",-l/2).attr("y",-s/2).attr("width",l).attr("height",s);return tY(e,r),e.intersect=function(t){return tt(e,t)},o},"stadium"),t9=(0,a.eW)(async(t,e)=>{let r,i,n;let{labelStyles:o,nodeStyles:l}=tl(e);e.labelStyle=o,r=e.cssClasses?"node "+e.cssClasses:"node default";let h=t.insert("g").attr("class",r).attr("id",e.domId||e.id),c=h.insert("g"),u=h.insert("g").attr("class","label").attr("style",l),d=e.description,f=e.label,p=u.node().appendChild(await ti(f,e.labelStyle,!0,!0)),g={width:0,height:0};if((0,a.ku)(a.nV()?.flowchart?.htmlLabels)){let t=p.children[0],e=(0,s.Ys)(p);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}a.cM.info("Text 2",d);let y=d||[],m=p.getBBox(),x=u.node().appendChild(await ti(y.join?y.join("<br/>"):y,e.labelStyle,!0,!0)),b=x.children[0],C=(0,s.Ys)(x);g=b.getBoundingClientRect(),C.attr("width",g.width),C.attr("height",g.height);let k=(e.padding||0)/2;(0,s.Ys)(x).attr("transform","translate( "+(g.width>m.width?0:(m.width-g.width)/2)+", "+(m.height+k+5)+")"),(0,s.Ys)(p).attr("transform","translate( "+(g.width<m.width?0:-(m.width-g.width)/2)+", 0)"),g=u.node().getBBox(),u.attr("transform","translate("+-g.width/2+", "+(-g.height/2-k+3)+")");let _=g.width+(e.padding||0),w=g.height+(e.padding||0),v=-g.width/2-k,T=-g.height/2-k;if("handDrawn"===e.look){let t=J.svg(h),r=th(e,{}),o=t.path(tn(v,T,_,w,e.rx||0),r),s=t.line(-g.width/2-k,-g.height/2-k+m.height+k,g.width/2+k,-g.height/2-k+m.height+k,r);n=h.insert(()=>(a.cM.debug("Rough node insert CXC",o),s),":first-child"),i=h.insert(()=>(a.cM.debug("Rough node insert CXC",o),o),":first-child")}else i=c.insert("rect",":first-child"),n=c.insert("line"),i.attr("class","outer title-state").attr("style",l).attr("x",-g.width/2-k).attr("y",-g.height/2-k).attr("width",g.width+(e.padding||0)).attr("height",g.height+(e.padding||0)),n.attr("class","divider").attr("x1",-g.width/2-k).attr("x2",g.width/2+k).attr("y1",-g.height/2-k+m.height+k).attr("y2",-g.height/2-k+m.height+k);return tY(e,i),e.intersect=function(t){return tt(e,t)},h},"rectWithTitle");function t7(t,e,r,i){return t.insert("polygon",":first-child").attr("points",i.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}(0,a.eW)(t7,"insertPolygonShape");var et=(0,a.eW)(async(t,e)=>{let{labelStyles:r,nodeStyles:i}=tl(e);e.labelStyle=r;let{shapeSvg:n,bbox:o}=await tj(t,e,tU(e)),a=(e?.padding||0)/2,s=o.width+e.padding,l=o.height+e.padding,h=-o.width/2-a,c=-o.height/2-a,u=[{x:0,y:0},{x:s,y:0},{x:s,y:-l},{x:0,y:-l},{x:0,y:0},{x:-8,y:0},{x:s+8,y:0},{x:s+8,y:-l},{x:-8,y:-l},{x:-8,y:0}];if("handDrawn"===e.look){let t=J.svg(n),r=th(e,{}),i=t.rectangle(h-8,c,s+16,l,r),o=t.line(h,c,h,c+l,r),a=t.line(h+s,c,h+s,c+l,r);n.insert(()=>o,":first-child"),n.insert(()=>a,":first-child");let u=n.insert(()=>i,":first-child"),{cssStyles:d}=e;u.attr("class","basic label-container").attr("style",d),tY(e,u)}else{let t=t7(n,s,l,u);i&&t.attr("style",i),tY(e,t)}return e.intersect=function(t){return tQ(e,u,t)},n},"subroutine"),ee=(0,a.eW)((t,e,r,i,n,o)=>`M${t},${e+o} a${n},${o} 0,0,0 ${r},0 a${n},${o} 0,0,0 ${-r},0 l0,${i} a${n},${o} 0,0,0 ${r},0 l0,${-i}`,"createCylinderPathD"),er=(0,a.eW)((t,e,r,i,n,o)=>`M${t},${e+o} M${t+r},${e+o} a${n},${o} 0,0,0 ${-r},0 l0,${i} a${n},${o} 0,0,0 ${r},0 l0,${-i}`,"createOuterCylinderPathD"),ei=(0,a.eW)((t,e,r,i,n,o)=>`M${t-r/2},${-i/2} a${n},${o} 0,0,0 ${r},0`,"createInnerCylinderPathD"),en=(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:a}=await tj(t,e,tU(e)),s=a.width+e.padding,l=s/2,h=l/(2.5+s/50),c=a.height+h+e.padding,{cssStyles:u}=e;if("handDrawn"===e.look){let t=J.svg(o),i=er(0,0,s,c,l,h),n=ei(0,h,s,c,l,h),a=t.path(i,th(e,{})),d=t.path(n,th(e,{fill:"none"}));r=o.insert(()=>d,":first-child"),(r=o.insert(()=>a,":first-child")).attr("class","basic label-container"),u&&r.attr("style",u)}else{let t=ee(0,0,s,c,l,h);r=o.insert("path",":first-child").attr("d",t).attr("class","basic label-container").attr("style",u).attr("style",n)}return r.attr("label-offset-y",h),r.attr("transform",`translate(${-s/2}, ${-(c/2+h)})`),tY(e,r),e.intersect=function(t){let r=tt(e,t),i=r.x-(e.x??0);if(0!=l&&(Math.abs(i)<(e.width??0)/2||Math.abs(i)==(e.width??0)/2&&Math.abs(r.y-(e.y??0))>(e.height??0)/2-h)){let n=h*h*(1-i*i/(l*l));n>0&&(n=Math.sqrt(n)),n=h-n,t.y-(e.y??0)>0&&(n=-n),r.y+=n}return r},o},"cylinder"),eo=(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:l}=await tj(t,e,tU(e)),h=s.width/2+l,{cssStyles:c}=e;if("handDrawn"===e.look){let t=J.svg(o),i=th(e,{}),n=t.circle(0,0,2*h,i);(r=o.insert(()=>n,":first-child")).attr("class","basic label-container").attr("style",c)}else r=o.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0);return tY(e,r),e.intersect=function(t){return a.cM.info("Circle intersect",e,h,t),tV(e,h,t)},o},"circle"),ea=(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:l}=await tj(t,e,tU(e)),h=s.width/2+l+5,c=s.width/2+l,{cssStyles:u}=e;if("handDrawn"===e.look){let t=J.svg(o),i=th(e,{roughness:.2,strokeWidth:2.5}),n=th(e,{roughness:.2,strokeWidth:1.5}),a=t.circle(0,0,2*h,i),s=t.circle(0,0,2*c,n);(r=o.insert("g",":first-child")).attr("class",e.cssClasses).attr("style",u),r.node()?.appendChild(a),r.node()?.appendChild(s)}else{let t=(r=o.insert("g",":first-child")).insert("circle",":first-child"),e=r.insert("circle");r.attr("class","basic label-container").attr("style",n),t.attr("class","outer-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0),e.attr("class","inner-circle").attr("style",n).attr("r",c).attr("cx",0).attr("cy",0)}return tY(e,r),e.intersect=function(t){return a.cM.info("DoubleCircle intersect",e,h,t),tV(e,h,t)},o},"doublecircle"),es=(0,a.eW)((t,e,r,i)=>`M${t-i/2},${e} L${t+r},${e} L${t+r},${e-i} L${t-i/2},${e-i} L${t},${e-i/2} Z`,"createPolygonPathD"),el=(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:a}=await tj(t,e,tU(e)),s=a.width+e.padding,l=a.height+e.padding,h=[{x:-l/2,y:0},{x:s,y:0},{x:s,y:-l},{x:-l/2,y:-l},{x:0,y:-l/2}],{cssStyles:c}=e;if("handDrawn"===e.look){let t=J.svg(o),i=th(e,{}),n=es(0,0,s,l),a=t.path(n,i);r=o.insert(()=>a,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),c&&r.attr("style",c)}else r=t7(o,s,l,h);return n&&r.attr("style",n),e.width=s+l,e.height=l,tY(e,r),e.intersect=function(t){return tQ(e,h,t)},o},"rect_left_inv_arrow"),eh=(0,a.eW)((t,e,r)=>`M${t+r/2},${e} L${t+r},${e-r/2} L${t+r/2},${e-r} L${t},${e-r/2} Z`,"createDecisionBoxPathD"),ec=(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:s}=await tj(t,e,tU(e)),l=s.width+e.padding+(s.height+e.padding),h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}],{cssStyles:c}=e;if("handDrawn"===e.look){let t=J.svg(o),i=th(e,{}),n=eh(0,0,l),a=t.path(n,i);r=o.insert(()=>a,":first-child").attr("transform",`translate(${-l/2}, ${l/2})`),c&&r.attr("style",c)}else r=t7(o,l,l,h);return n&&r.attr("style",n),tY(e,r),e.intersect=function(t){return a.cM.debug("APA12 Intersect called SPLIT\npoint:",t,"\nnode:\n",e,"\nres:",tQ(e,h,t)),tQ(e,h,t)},o},"question"),eu=(0,a.eW)((t,e,r,i,n)=>`M${t+n},${e} L${t+r-n},${e} L${t+r},${e-i/2} L${t+r-n},${e-i} L${t+n},${e-i} L${t},${e-i/2} Z`,"createHexagonPathD"),ed=(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:a}=await tj(t,e,tU(e)),s=a.height+e.padding,l=s/4,h=a.width+2*l+e.padding,c=[{x:l,y:0},{x:h-l,y:0},{x:h,y:-s/2},{x:h-l,y:-s},{x:l,y:-s},{x:0,y:-s/2}],{cssStyles:u}=e;if("handDrawn"===e.look){let t=J.svg(o),i=th(e,{}),n=eu(0,0,h,s,l),a=t.path(n,i);r=o.insert(()=>a,":first-child").attr("transform",`translate(${-h/2}, ${s/2})`),u&&r.attr("style",u)}else r=t7(o,h,s,c);return n&&r.attr("style",n),e.width=h,e.height=s,tY(e,r),e.intersect=function(t){return tQ(e,c,t)},o},"hexagon"),ef=(0,a.eW)((t,e,r,i)=>`M${t-2*i/6},${e} L${t+r-i/6},${e} L${t+r+2*i/6},${e-i} L${t+i/6},${e-i} Z`,"createLeanRightPathD"),ep=(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:a}=await tj(t,e,tU(e)),s=a.width+e.padding,l=a.height+e.padding,h=[{x:-2*l/6,y:0},{x:s-l/6,y:0},{x:s+2*l/6,y:-l},{x:l/6,y:-l}],{cssStyles:c}=e;if("handDrawn"===e.look){let t=J.svg(o),i=th(e,{}),n=ef(0,0,s,l),a=t.path(n,i);r=o.insert(()=>a,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),c&&r.attr("style",c)}else r=t7(o,s,l,h);return n&&r.attr("style",n),e.width=s,e.height=l,tY(e,r),e.intersect=function(t){return tQ(e,h,t)},o},"lean_right"),eg=(0,a.eW)((t,e,r,i)=>`M${t+2*i/6},${e} L${t+r+i/6},${e} L${t+r-2*i/6},${e-i} L${t-i/6},${e-i} Z`,"createLeanLeftPathD"),ey=(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:a}=await tj(t,e,tU(e)),s=a.width+e.padding,l=a.height+e.padding,h=[{x:2*l/6,y:0},{x:s+l/6,y:0},{x:s-2*l/6,y:-l},{x:-l/6,y:-l}],{cssStyles:c}=e;if("handDrawn"===e.look){let t=J.svg(o),i=th(e,{}),n=eg(0,0,s,l),a=t.path(n,i);r=o.insert(()=>a,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),c&&r.attr("style",c)}else r=t7(o,s,l,h);return n&&r.attr("style",n),e.width=s,e.height=l,tY(e,r),e.intersect=function(t){return tQ(e,h,t)},o},"lean_left"),em=(0,a.eW)((t,e,r,i)=>`M${t-2*i/6},${e} L${t+r+2*i/6},${e} L${t+r-i/6},${e-i} L${t+i/6},${e-i} Z`,"createTrapezoidPathD"),ex=(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:a}=await tj(t,e,tU(e)),s=a.width+e.padding,l=a.height+e.padding,h=[{x:-2*l/6,y:0},{x:s+2*l/6,y:0},{x:s-l/6,y:-l},{x:l/6,y:-l}],{cssStyles:c}=e;if("handDrawn"===e.look){let t=J.svg(o),i=th(e,{}),n=em(0,0,s,l),a=t.path(n,i);r=o.insert(()=>a,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),c&&r.attr("style",c)}else r=t7(o,s,l,h);return n&&r.attr("style",n),e.width=s,e.height=l,tY(e,r),e.intersect=function(t){return tQ(e,h,t)},o},"trapezoid"),eb=(0,a.eW)((t,e,r,i)=>`M${t+i/6},${e} L${t+r-i/6},${e} L${t+r+2*i/6},${e-i} L${t-2*i/6},${e-i} Z`,"createInvertedTrapezoidPathD"),eC={state:tJ,stateStart:t2,stateEnd:t3,fork:t5,join:t5,choice:t6,note:t4,roundedRect:t0,rectWithTitle:t9,squareRect:t1,stadium:t8,subroutine:et,cylinder:en,circle:eo,doublecircle:ea,odd:el,diamond:ec,hexagon:ed,lean_right:ep,lean_left:ey,trapezoid:ex,inv_trapezoid:(0,a.eW)(async(t,e)=>{let r;let{labelStyles:i,nodeStyles:n}=tl(e);e.labelStyle=i;let{shapeSvg:o,bbox:a}=await tj(t,e,tU(e)),s=a.width+e.padding,l=a.height+e.padding,h=[{x:l/6,y:0},{x:s-l/6,y:0},{x:s+2*l/6,y:-l},{x:-2*l/6,y:-l}],{cssStyles:c}=e;if("handDrawn"===e.look){let t=J.svg(o),i=th(e,{}),n=eb(0,0,s,l),a=t.path(n,i);r=o.insert(()=>a,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),c&&r.attr("style",c)}else r=t7(o,s,l,h);return n&&r.attr("style",n),e.width=s,e.height=l,tY(e,r),e.intersect=function(t){return tQ(e,h,t)},o},"inv_trapezoid"),labelRect:(0,a.eW)(async(t,e)=>{let{shapeSvg:r}=await tj(t,e,"label"),i=r.insert("rect",":first-child");return i.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),tY(e,i),e.intersect=function(t){return tt(e,t)},r},"labelRect")},ek=new Map,e_=(0,a.eW)(async(t,e,r)=>{let i,n;if("rect"===e.shape&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect"),e.link){let o;"sandbox"===(0,a.nV)().securityLevel?o="_top":e.linkTarget&&(o=e.linkTarget||"_blank"),i=t.insert("svg:a").attr("xlink:href",e.link).attr("target",o),n=await eC[e.shape](i,e,r)}else i=n=await eC[e.shape](t,e,r);return e.tooltip&&n.attr("title",e.tooltip),ek.set(e.id,i),e.haveCallback&&ek.get(e.id).attr("class",ek.get(e.id).attr("class")+" clickable"),i},"insertNode"),ew=(0,a.eW)((t,e)=>{ek.set(e.id,t)},"setNodeElem"),ev=(0,a.eW)(()=>{ek.clear()},"clear"),eT=(0,a.eW)(t=>{let e=ek.get(t.id);a.cM.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r},"positionNode")},63985:function(t,e,r){"use strict";r.d(e,{_b:()=>c,jM:()=>l,sY:()=>h});var i=r(11779),n=r(84890),o=r(28923),a={common:o.SY,getConfig:o.iE,insertCluster:i.us,insertEdge:i.QP,insertEdgeLabel:i.I_,insertMarkers:i.DQ,insertNode:i.Lf,interpolateToCurve:n.le,labelHelper:i.C1,log:o.cM,positionEdgeLabel:i.Jj},s={},l=(0,o.eW)(t=>{for(let e of t)s[e.name]=e},"registerLayoutLoaders");(0,o.eW)(()=>{l([{name:"dagre",loader:(0,o.eW)(async()=>await Promise.all([r.e("97012"),r.e("38494"),r.e("48302")]).then(r.bind(r,67739)),"loader")}])},"registerDefaultLayoutLoaders")();var h=(0,o.eW)(async(t,e)=>{if(!(t.layoutAlgorithm in s))throw Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=s[t.layoutAlgorithm];return(await r.loader()).render(t,e,a,{algorithm:r.algorithm})},"render"),c=(0,o.eW)((t="",{fallback:e="dagre"}={})=>{if(t in s)return t;if(e in s)return o.cM.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")},57396:function(t,e,r){"use strict";r.d(e,{Z:()=>ng});var i,n=r(37434),o=r(63985);r(11779),r(25653),r(19039);var a=r(84890),s=r(96418),l=r(70466),h=r(28923),c=r(11464),u=r(11141),d="comm",f="rule",p="decl",g=Math.abs,y=String.fromCharCode;function m(t,e,r){return t.replace(e,r)}function x(t,e){return 0|t.charCodeAt(e)}function b(t,e,r){return t.slice(e,r)}function C(t){return t.length}function k(t,e){return e.push(t),t}function _(t,e){for(var r="",i=0;i<t.length;i++)r+=e(t[i],i,t,e)||"";return r}function w(t,e,r,i){switch(t.type){case"@layer":if(t.children.length)break;case"@import":case p:return t.return=t.return||t.value;case d:return"";case"@keyframes":return t.return=t.value+"{"+_(t.children,i)+"}";case f:if(!C(t.value=t.props.join(",")))return""}return C(r=_(t.children,i))?t.return=t.value+"{"+r+"}":""}var v=1,T=1,S=0,M=0,B=0,L="";function F(t,e,r,i,n,o,a,s){return{value:t,root:e,parent:r,type:i,props:n,children:o,line:v,column:T,length:a,return:"",siblings:s}}function A(){return B=M<S?x(L,M++):0,T++,10===B&&(T=1,v++),B}function E(){return x(L,M)}function W(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function $(t){var e,r;return(e=M-1,r=function t(e){for(;A();)switch(B){case e:return M;case 34:case 39:34!==e&&39!==e&&t(B);break;case 40:41===e&&t(e);break;case 92:A()}return M}(91===t?t+2:40===t?t+1:t),b(L,e,r)).trim()}function O(t,e,r,i,n,o,a,s,l,h,c,u){for(var d=n-1,p=0===n?o:[""],y=p.length,x=0,C=0,k=0;x<i;++x)for(var _=0,w=b(t,d+1,d=g(C=a[x])),v=t;_<y;++_)(v=(C>0?p[_]+" "+w:m(w,/&\f/g,p[_])).trim())&&(l[k++]=v);return F(t,e,r,0===n?f:s,l,h,c,u)}function I(t,e,r,i,n){return F(t,e,r,p,b(t,0,i),b(t,i+1,-1),i,n)}var Z=r(37914),D=r(31570),z={id:"c4",detector:(0,h.eW)(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),loader:(0,h.eW)(async()=>{let{diagram:t}=await r.e("42032").then(r.bind(r,55060));return{id:"c4",diagram:t}},"loader")},q="flowchart",N=(0,h.eW)((t,e)=>e?.flowchart?.defaultRenderer!=="dagre-wrapper"&&e?.flowchart?.defaultRenderer!=="elk"&&/^\s*graph/.test(t),"detector"),P=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("49704"),r.e("19091")]).then(r.bind(r,25954));return{id:q,diagram:t}},"loader"),R={id:q,detector:N,loader:P},j="flowchart-v2",Y=(0,h.eW)((t,e)=>e?.flowchart?.defaultRenderer!=="dagre-d3"&&(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),!!/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"||/^\s*flowchart/.test(t)),"detector"),U=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("49704"),r.e("19091")]).then(r.bind(r,25954));return{id:j,diagram:t}},"loader"),H={id:j,detector:Y,loader:U},V={id:"er",detector:(0,h.eW)(t=>/^\s*erDiagram/.test(t),"detector"),loader:(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("38494"),r.e("10771")]).then(r.bind(r,9769));return{id:"er",diagram:t}},"loader")},G="gitGraph",X=(0,h.eW)(t=>/^\s*gitGraph/.test(t),"detector"),Q=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("45401"),r.e("59581")]).then(r.bind(r,64395));return{id:G,diagram:t}},"loader"),K={id:G,detector:X,loader:Q},J="gantt",tt=(0,h.eW)(t=>/^\s*gantt/.test(t),"detector"),te=(0,h.eW)(async()=>{let{diagram:t}=await r.e("97854").then(r.bind(r,11659));return{id:J,diagram:t}},"loader"),tr={id:J,detector:tt,loader:te},ti="info",tn=(0,h.eW)(t=>/^\s*info/.test(t),"detector"),to=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("45401"),r.e("23512")]).then(r.bind(r,81751));return{id:ti,diagram:t}},"loader"),ta={id:ti,detector:tn,loader:to},ts={id:"pie",detector:(0,h.eW)(t=>/^\s*pie/.test(t),"detector"),loader:(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("45401"),r.e("27908")]).then(r.bind(r,15573));return{id:"pie",diagram:t}},"loader")},tl="quadrantChart",th=(0,h.eW)(t=>/^\s*quadrantChart/.test(t),"detector"),tc=(0,h.eW)(async()=>{let{diagram:t}=await r.e("94271").then(r.bind(r,59657));return{id:tl,diagram:t}},"loader"),tu={id:tl,detector:th,loader:tc},td="xychart",tf=(0,h.eW)(t=>/^\s*xychart-beta/.test(t),"detector"),tp=(0,h.eW)(async()=>{let{diagram:t}=await r.e("28639").then(r.bind(r,65230));return{id:td,diagram:t}},"loader"),tg={id:td,detector:tf,loader:tp},ty="requirement",tm=(0,h.eW)(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),tx=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("38494"),r.e("22477")]).then(r.bind(r,3490));return{id:ty,diagram:t}},"loader"),tb={id:ty,detector:tm,loader:tx},tC="sequence",tk=(0,h.eW)(t=>/^\s*sequenceDiagram/.test(t),"detector"),t_=(0,h.eW)(async()=>{let{diagram:t}=await r.e("66806").then(r.bind(r,88250));return{id:tC,diagram:t}},"loader"),tw={id:tC,detector:tk,loader:t_},tv="class",tT=(0,h.eW)((t,e)=>e?.class?.defaultRenderer!=="dagre-wrapper"&&/^\s*classDiagram/.test(t),"detector"),tS=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("38494"),r.e("75256"),r.e("74159")]).then(r.bind(r,49390));return{id:tv,diagram:t}},"loader"),tM={id:tv,detector:tT,loader:tS},tB="classDiagram",tL=(0,h.eW)((t,e)=>!!/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"||/^\s*classDiagram-v2/.test(t),"detector"),tF=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("38494"),r.e("49704"),r.e("75256"),r.e("43002"),r.e("83468")]).then(r.bind(r,99877));return{id:tB,diagram:t}},"loader"),tA={id:tB,detector:tL,loader:tF},tE="state",tW=(0,h.eW)((t,e)=>e?.state?.defaultRenderer!=="dagre-wrapper"&&/^\s*stateDiagram/.test(t),"detector"),t$=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("38494"),r.e("49704"),r.e("15749"),r.e("48574")]).then(r.bind(r,89616));return{id:tE,diagram:t}},"loader"),tO={id:tE,detector:tW,loader:t$},tI="stateDiagram",tZ=(0,h.eW)((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),tD=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("49704"),r.e("15749"),r.e("16881")]).then(r.bind(r,86129));return{id:tI,diagram:t}},"loader"),tz={id:tI,detector:tZ,loader:tD},tq="journey",tN=(0,h.eW)(t=>/^\s*journey/.test(t),"detector"),tP=(0,h.eW)(async()=>{let{diagram:t}=await r.e("23316").then(r.bind(r,90634));return{id:tq,diagram:t}},"loader"),tR={id:tq,detector:tN,loader:tP},tj={draw:(0,h.eW)((t,e,r)=>{h.cM.debug("rendering svg for syntax error\n");let i=(0,l.P)(e),n=i.append("g");i.attr("viewBox","0 0 2412 512"),(0,h.v2)(i,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw")},tY={db:{},renderer:tj,parser:{parse:(0,h.eW)(()=>{},"parse")}},tU="flowchart-elk",tH=(0,h.eW)((t,e={})=>!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&e?.flowchart?.defaultRenderer==="elk")&&(e.layout="elk",!0),"detector"),tV=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("49704"),r.e("19091")]).then(r.bind(r,25954));return{id:tU,diagram:t}},"loader"),tG={id:tU,detector:tH,loader:tV},tX="timeline",tQ=(0,h.eW)(t=>/^\s*timeline/.test(t),"detector"),tK=(0,h.eW)(async()=>{let{diagram:t}=await r.e("2350").then(r.bind(r,17112));return{id:tX,diagram:t}},"loader"),tJ={id:tX,detector:tQ,loader:tK},t0="mindmap",t1=(0,h.eW)(t=>/^\s*mindmap/.test(t),"detector"),t2=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("93853"),r.e("85367")]).then(r.bind(r,56866));return{id:t0,diagram:t}},"loader"),t3={id:t0,detector:t1,loader:t2},t5="sankey",t6=(0,h.eW)(t=>/^\s*sankey-beta/.test(t),"detector"),t4=(0,h.eW)(async()=>{let{diagram:t}=await r.e("44473").then(r.bind(r,77015));return{id:t5,diagram:t}},"loader"),t8={id:t5,detector:t6,loader:t4},t9="packet",t7=(0,h.eW)(t=>/^\s*packet-beta/.test(t),"detector"),et=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("45401"),r.e("37066")]).then(r.bind(r,63242));return{id:t9,diagram:t}},"loader"),ee={id:t9,detector:t7,loader:et},er="block",ei=(0,h.eW)(t=>/^\s*block-beta/.test(t),"detector"),en=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("49704"),r.e("43002"),r.e("86141")]).then(r.bind(r,2355));return{id:er,diagram:t}},"loader"),eo={id:er,detector:ei,loader:en},ea="architecture",es=(0,h.eW)(t=>/^\s*architecture/.test(t),"detector"),el=(0,h.eW)(async()=>{let{diagram:t}=await Promise.all([r.e("97012"),r.e("45401"),r.e("93853"),r.e("71529")]).then(r.bind(r,14056));return{id:ea,diagram:t}},"loader"),eh={id:ea,detector:es,loader:el},ec=!1,eu=(0,h.eW)(()=>{!ec&&(ec=!0,(0,h.Cq)("error",tY,t=>"error"===t.toLowerCase().trim()),(0,h.Cq)("---",{db:{clear:(0,h.eW)(()=>{},"clear")},styles:{},renderer:{draw:(0,h.eW)(()=>{},"draw")},parser:{parse:(0,h.eW)(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:(0,h.eW)(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),(0,h.KO)(z,tA,tM,V,tr,ta,ts,tb,tw,tG,H,R,t3,tJ,K,tz,tO,tR,tu,t8,ee,tg,eo,eh))},"addDiagrams"),ed=(0,h.eW)(async()=>{h.cM.debug("Loading registered diagrams");let t=(await Promise.allSettled(Object.entries(h.Bf).map(async([t,{detector:e,loader:r}])=>{if(r)try{(0,h._7)(t)}catch{try{let{diagram:t,id:i}=await r();(0,h.Cq)(i,t,e)}catch(e){throw h.cM.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete h.Bf[t],e}}}))).filter(t=>"rejected"===t.status);if(t.length>0){for(let e of(h.cM.error(`Failed to load ${t.length} external diagrams`),t))h.cM.error(e);throw Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams");function ef(t,e){t.attr("role","graphics-document document"),""!==e&&t.attr("aria-roledescription",e)}function ep(t,e,r,i){if(void 0!==t.insert){if(r){let e=`chart-desc-${i}`;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(r)}if(e){let r=`chart-title-${i}`;t.attr("aria-labelledby",r),t.insert("title",":first-child").attr("id",r).text(e)}}}(0,h.eW)(ef,"setA11yDiagramInfo"),(0,h.eW)(ep,"addSVGa11yTitleDescription");var eg=class t{constructor(t,e,r,i,n){this.type=t,this.text=e,this.db=r,this.parser=i,this.renderer=n}static{(0,h.eW)(this,"Diagram")}static async fromText(e,r={}){let i=(0,h.iE)(),n=(0,h.Vg)(e,i);e=(0,a.Vy)(e)+"\n";try{(0,h._7)(n)}catch{let t=(0,h.cq)(n);if(!t)throw new h.cj(`Diagram ${n} not found.`);let{id:e,diagram:r}=await t();(0,h.Cq)(e,r)}let{db:o,parser:s,renderer:l,init:c}=(0,h._7)(n);return s.parser&&(s.parser.yy=o),o.clear?.(),c?.(i),r.title&&o.setDiagramTitle?.(r.title),await s.parse(e),new t(n,e,o,s,l)}async render(t,e){await this.renderer.draw(this.text,t,e,this)}getParser(){return this.parser}getType(){return this.type}},ey=[],em=(0,h.eW)(()=>{ey.forEach(t=>{t()}),ey=[]},"attachFunctions"),ex=(0,h.eW)(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function eb(t){return null==t}function eC(t){return"object"==typeof t&&null!==t}function ek(t,e){var r,i="";for(r=0;r<e;r+=1)i+=t;return i}function e_(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t}(0,h.eW)(eb,"isNothing"),(0,h.eW)(eC,"isObject"),(0,h.eW)(function(t){return Array.isArray(t)?t:eb(t)?[]:[t]},"toArray"),(0,h.eW)(function(t,e){var r,i,n,o;if(e)for(r=0,i=(o=Object.keys(e)).length;r<i;r+=1)t[n=o[r]]=e[n];return t},"extend"),(0,h.eW)(ek,"repeat"),(0,h.eW)(e_,"isNegativeZero");var ew={isNothing:eb,isObject:eC,repeat:ek,isNegativeZero:e_};function ev(t,e){var r="",i=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(r+='in "'+t.mark.name+'" '),r+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(r+="\n\n"+t.mark.snippet),i+" "+r):i}function eT(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=ev(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack||""}function eS(t,e,r,i,n){var o="",a="",s=Math.floor(n/2)-1;return i-e>s&&(e=i-s+(o=" ... ").length),r-i>s&&(r=i+s-(a=" ...").length),{str:o+t.slice(e,r).replace(/\t/g,"\u2192")+a,pos:i-e+o.length}}function eM(t,e){return ew.repeat(" ",e-t.length)+t}function eB(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,i=[0],n=[],o=-1;a=r.exec(t.buffer);)n.push(a.index),i.push(a.index+a[0].length),t.position<=a.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var a,s,l,h="",c=Math.min(t.line+e.linesAfter,n.length).toString().length,u=e.maxLength-(e.indent+c+3);for(s=1;s<=e.linesBefore&&!(o-s<0);s++)l=eS(t.buffer,i[o-s],n[o-s],t.position-(i[o]-i[o-s]),u),h=ew.repeat(" ",e.indent)+eM((t.line-s+1).toString(),c)+" | "+l.str+"\n"+h;for(l=eS(t.buffer,i[o],n[o],t.position,u),h+=ew.repeat(" ",e.indent)+eM((t.line+1).toString(),c)+" | "+l.str+"\n"+ew.repeat("-",e.indent+c+3+l.pos)+"^\n",s=1;s<=e.linesAfter&&!(o+s>=n.length);s++)l=eS(t.buffer,i[o+s],n[o+s],t.position-(i[o]-i[o+s]),u),h+=ew.repeat(" ",e.indent)+eM((t.line+s+1).toString(),c)+" | "+l.str+"\n";return h.replace(/\n$/,"")}(0,h.eW)(ev,"formatError"),(0,h.eW)(eT,"YAMLException$1"),eT.prototype=Object.create(Error.prototype),eT.prototype.constructor=eT,eT.prototype.toString=(0,h.eW)(function(t){return this.name+": "+ev(this,t)},"toString"),(0,h.eW)(eS,"getLine"),(0,h.eW)(eM,"padStart"),(0,h.eW)(eB,"makeSnippet");var eL=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],eF=["scalar","sequence","mapping"];function eA(t){var e={};return null!==t&&Object.keys(t).forEach(function(r){t[r].forEach(function(t){e[String(t)]=r})}),e}function eE(t,e){if(Object.keys(e=e||{}).forEach(function(e){if(-1===eL.indexOf(e))throw new eT('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=eA(e.styleAliases||null),-1===eF.indexOf(this.kind))throw new eT('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function eW(t,e){var r=[];return t[e].forEach(function(t){var e=r.length;r.forEach(function(r,i){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=i)}),r[e]=t}),r}function e$(){var t,e,r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(t){t.multi?(r.multi[t.kind].push(t),r.multi.fallback.push(t)):r[t.kind][t.tag]=r.fallback[t.tag]=t}for((0,h.eW)(i,"collectType"),t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(i);return r}function eO(t){return this.extend(t)}(0,h.eW)(eA,"compileStyleAliases"),(0,h.eW)(eE,"Type$1"),(0,h.eW)(eW,"compileList"),(0,h.eW)(e$,"compileMap"),(0,h.eW)(eO,"Schema$1"),eO.prototype.extend=(0,h.eW)(function(t){var e=[],r=[];if(t instanceof eE)r.push(t);else if(Array.isArray(t))r=r.concat(t);else if(t&&(Array.isArray(t.implicit)||Array.isArray(t.explicit)))t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(r=r.concat(t.explicit));else throw new eT("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.forEach(function(t){if(!(t instanceof eE))throw new eT("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new eT("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new eT("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(t){if(!(t instanceof eE))throw new eT("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(eO.prototype);return i.implicit=(this.implicit||[]).concat(e),i.explicit=(this.explicit||[]).concat(r),i.compiledImplicit=eW(i,"implicit"),i.compiledExplicit=eW(i,"explicit"),i.compiledTypeMap=e$(i.compiledImplicit,i.compiledExplicit),i},"extend");var eI=new eO({explicit:[new eE("tag:yaml.org,2002:str",{kind:"scalar",construct:(0,h.eW)(function(t){return null!==t?t:""},"construct")}),new eE("tag:yaml.org,2002:seq",{kind:"sequence",construct:(0,h.eW)(function(t){return null!==t?t:[]},"construct")}),new eE("tag:yaml.org,2002:map",{kind:"mapping",construct:(0,h.eW)(function(t){return null!==t?t:{}},"construct")})]});function eZ(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)}function eD(){return null}function ez(t){return null===t}(0,h.eW)(eZ,"resolveYamlNull"),(0,h.eW)(eD,"constructYamlNull"),(0,h.eW)(ez,"isNull");var eq=new eE("tag:yaml.org,2002:null",{kind:"scalar",resolve:eZ,construct:eD,predicate:ez,represent:{canonical:(0,h.eW)(function(){return"~"},"canonical"),lowercase:(0,h.eW)(function(){return"null"},"lowercase"),uppercase:(0,h.eW)(function(){return"NULL"},"uppercase"),camelcase:(0,h.eW)(function(){return"Null"},"camelcase"),empty:(0,h.eW)(function(){return""},"empty")},defaultStyle:"lowercase"});function eN(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)}function eP(t){return"true"===t||"True"===t||"TRUE"===t}function eR(t){return"[object Boolean]"===Object.prototype.toString.call(t)}(0,h.eW)(eN,"resolveYamlBoolean"),(0,h.eW)(eP,"constructYamlBoolean"),(0,h.eW)(eR,"isBoolean");var ej=new eE("tag:yaml.org,2002:bool",{kind:"scalar",resolve:eN,construct:eP,predicate:eR,represent:{lowercase:(0,h.eW)(function(t){return t?"true":"false"},"lowercase"),uppercase:(0,h.eW)(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:(0,h.eW)(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"});function eY(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function eU(t){return 48<=t&&t<=55}function eH(t){return 48<=t&&t<=57}function eV(t){if(null===t)return!1;var e,r=t.length,i=0,n=!1;if(!r)return!1;if(("-"===(e=t[i])||"+"===e)&&(e=t[++i]),"0"===e){if(i+1===r)return!0;if("b"===(e=t[++i])){for(i++;i<r;i++)if("_"!==(e=t[i])){if("0"!==e&&"1"!==e)return!1;n=!0}return n&&"_"!==e}if("x"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!eY(t.charCodeAt(i)))return!1;n=!0}return n&&"_"!==e}if("o"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!eU(t.charCodeAt(i)))return!1;n=!0}return n&&"_"!==e}}if("_"===e)return!1;for(;i<r;i++)if("_"!==(e=t[i])){if(!eH(t.charCodeAt(i)))return!1;n=!0}return!!n&&"_"!==e}function eG(t){var e,r=t,i=1;if(-1!==r.indexOf("_")&&(r=r.replace(/_/g,"")),("-"===(e=r[0])||"+"===e)&&("-"===e&&(i=-1),e=(r=r.slice(1))[0]),"0"===r)return 0;if("0"===e){if("b"===r[1])return i*parseInt(r.slice(2),2);if("x"===r[1])return i*parseInt(r.slice(2),16);if("o"===r[1])return i*parseInt(r.slice(2),8)}return i*parseInt(r,10)}function eX(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!ew.isNegativeZero(t)}(0,h.eW)(eY,"isHexCode"),(0,h.eW)(eU,"isOctCode"),(0,h.eW)(eH,"isDecCode"),(0,h.eW)(eV,"resolveYamlInteger"),(0,h.eW)(eG,"constructYamlInteger"),(0,h.eW)(eX,"isInteger");var eQ=new eE("tag:yaml.org,2002:int",{kind:"scalar",resolve:eV,construct:eG,predicate:eX,represent:{binary:(0,h.eW)(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:(0,h.eW)(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:(0,h.eW)(function(t){return t.toString(10)},"decimal"),hexadecimal:(0,h.eW)(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),eK=RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function eJ(t){return!!(null!==t&&eK.test(t)&&"_"!==t[t.length-1])}function e0(t){var e,r;return(r="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e)?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:r*parseFloat(e,10)}(0,h.eW)(eJ,"resolveYamlFloat"),(0,h.eW)(e0,"constructYamlFloat");var e1=/^[-+]?[0-9]+e/;function e2(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ew.isNegativeZero(t))return"-0.0";return r=t.toString(10),e1.test(r)?r.replace("e",".e"):r}function e3(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||ew.isNegativeZero(t))}(0,h.eW)(e2,"representYamlFloat"),(0,h.eW)(e3,"isFloat");var e5=new eE("tag:yaml.org,2002:float",{kind:"scalar",resolve:eJ,construct:e0,predicate:e3,represent:e2,defaultStyle:"lowercase"}),e6=eI.extend({implicit:[eq,ej,eQ,e5]}),e4=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),e8=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function e9(t){return null!==t&&(null!==e4.exec(t)||null!==e8.exec(t))}function e7(t){var e,r,i,n,o,a,s,l,h=0,c=null;if(null===(e=e4.exec(t))&&(e=e8.exec(t)),null===e)throw Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(o=+e[4],a=+e[5],s=+e[6],e[7]){for(h=e[7].slice(0,3);h.length<3;)h+="0";h*=1}return e[9]&&(c=(60*+e[10]+ +(e[11]||0))*6e4,"-"===e[9]&&(c=-c)),l=new Date(Date.UTC(r,i,n,o,a,s,h)),c&&l.setTime(l.getTime()-c),l}function rt(t){return t.toISOString()}(0,h.eW)(e9,"resolveYamlTimestamp"),(0,h.eW)(e7,"constructYamlTimestamp"),(0,h.eW)(rt,"representYamlTimestamp");var re=new eE("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:e9,construct:e7,instanceOf:Date,represent:rt});function rr(t){return"<<"===t||null===t}(0,h.eW)(rr,"resolveYamlMerge");var ri=new eE("tag:yaml.org,2002:merge",{kind:"scalar",resolve:rr}),rn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function ro(t){if(null===t)return!1;var e,r,i=0,n=t.length;for(r=0;r<n;r++)if(!((e=rn.indexOf(t.charAt(r)))>64)){if(e<0)return!1;i+=6}return i%8==0}function ra(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,o=0,a=[];for(e=0;e<n;e++)e%4==0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|rn.indexOf(i.charAt(e));return 0==(r=n%4*6)?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===r?(a.push(o>>10&255),a.push(o>>2&255)):12===r&&a.push(o>>4&255),new Uint8Array(a)}function rs(t){var e,r,i="",n=0,o=t.length;for(e=0;e<o;e++)e%3==0&&e&&(i+=rn[n>>18&63],i+=rn[n>>12&63],i+=rn[n>>6&63],i+=rn[63&n]),n=(n<<8)+t[e];return 0==(r=o%3)?(i+=rn[n>>18&63],i+=rn[n>>12&63],i+=rn[n>>6&63],i+=rn[63&n]):2===r?(i+=rn[n>>10&63],i+=rn[n>>4&63],i+=rn[n<<2&63],i+=rn[64]):1===r&&(i+=rn[n>>2&63],i+=rn[n<<4&63],i+=rn[64],i+=rn[64]),i}function rl(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)}(0,h.eW)(ro,"resolveYamlBinary"),(0,h.eW)(ra,"constructYamlBinary"),(0,h.eW)(rs,"representYamlBinary"),(0,h.eW)(rl,"isBinary");var rh=new eE("tag:yaml.org,2002:binary",{kind:"scalar",resolve:ro,construct:ra,predicate:rl,represent:rs}),rc=Object.prototype.hasOwnProperty,ru=Object.prototype.toString;function rd(t){if(null===t)return!0;var e,r,i,n,o,a=[];for(e=0,r=t.length;e<r;e+=1){if(i=t[e],o=!1,"[object Object]"!==ru.call(i))return!1;for(n in i)if(rc.call(i,n)){if(o)return!1;o=!0}if(!o||-1!==a.indexOf(n))return!1;a.push(n)}return!0}function rf(t){return null!==t?t:[]}(0,h.eW)(rd,"resolveYamlOmap"),(0,h.eW)(rf,"constructYamlOmap");var rp=new eE("tag:yaml.org,2002:omap",{kind:"sequence",resolve:rd,construct:rf}),rg=Object.prototype.toString;function ry(t){var e,r,i,n,o;if(null===t)return!0;for(e=0,o=Array(t.length),r=t.length;e<r;e+=1){if(i=t[e],"[object Object]"!==rg.call(i)||1!==(n=Object.keys(i)).length)return!1;o[e]=[n[0],i[n[0]]]}return!0}function rm(t){var e,r,i,n,o;if(null===t)return[];for(e=0,o=Array(t.length),r=t.length;e<r;e+=1)n=Object.keys(i=t[e]),o[e]=[n[0],i[n[0]]];return o}(0,h.eW)(ry,"resolveYamlPairs"),(0,h.eW)(rm,"constructYamlPairs");var rx=new eE("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:ry,construct:rm}),rb=Object.prototype.hasOwnProperty;function rC(t){var e;if(null===t)return!0;for(e in t)if(rb.call(t,e)&&null!==t[e])return!1;return!0}function rk(t){return null!==t?t:{}}(0,h.eW)(rC,"resolveYamlSet"),(0,h.eW)(rk,"constructYamlSet");var r_=new eE("tag:yaml.org,2002:set",{kind:"mapping",resolve:rC,construct:rk}),rw=e6.extend({implicit:[re,ri],explicit:[rh,rp,rx,r_]}),rv=Object.prototype.hasOwnProperty,rT=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,rS=/[\x85\u2028\u2029]/,rM=/[,\[\]\{\}]/,rB=/^(?:!|!!|![a-z\-]+!)$/i,rL=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function rF(t){return Object.prototype.toString.call(t)}function rA(t){return 10===t||13===t}function rE(t){return 9===t||32===t}function rW(t){return 9===t||32===t||10===t||13===t}function r$(t){return 44===t||91===t||93===t||123===t||125===t}function rO(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function rI(t){return 120===t?2:117===t?4:8*(85===t)}function rZ(t){return 48<=t&&t<=57?t-48:-1}function rD(t){return 48===t?"\0":97===t?"\x07":98===t?"\b":116===t?" ":9===t?" ":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"\x1b":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"\x85":95===t?"\xa0":76===t?"\u2028":80===t?"\u2029":""}function rz(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}(0,h.eW)(rF,"_class"),(0,h.eW)(rA,"is_EOL"),(0,h.eW)(rE,"is_WHITE_SPACE"),(0,h.eW)(rW,"is_WS_OR_EOL"),(0,h.eW)(r$,"is_FLOW_INDICATOR"),(0,h.eW)(rO,"fromHexCode"),(0,h.eW)(rI,"escapedHexLen"),(0,h.eW)(rZ,"fromDecimalCode"),(0,h.eW)(rD,"simpleEscapeSequence"),(0,h.eW)(rz,"charFromCodepoint");var rq=Array(256),rN=Array(256);for(i=0;i<256;i++)rq[i]=+!!rD(i),rN[i]=rD(i);function rP(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||rw,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function rR(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=eB(r),new eT(e,r)}function rj(t,e){throw rR(t,e)}function rY(t,e){t.onWarning&&t.onWarning.call(null,rR(t,e))}(0,h.eW)(rP,"State$1"),(0,h.eW)(rR,"generateError"),(0,h.eW)(rj,"throwError"),(0,h.eW)(rY,"throwWarning");var rU={YAML:(0,h.eW)(function(t,e,r){var i,n,o;null!==t.version&&rj(t,"duplication of %YAML directive"),1!==r.length&&rj(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&rj(t,"ill-formed argument of the YAML directive"),n=parseInt(i[1],10),o=parseInt(i[2],10),1!==n&&rj(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&rY(t,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:(0,h.eW)(function(t,e,r){var i,n;2!==r.length&&rj(t,"TAG directive accepts exactly two arguments"),i=r[0],n=r[1],rB.test(i)||rj(t,"ill-formed tag handle (first argument) of the TAG directive"),rv.call(t.tagMap,i)&&rj(t,'there is a previously declared suffix for "'+i+'" tag handle'),rL.test(n)||rj(t,"ill-formed tag prefix (second argument) of the TAG directive");try{n=decodeURIComponent(n)}catch(e){rj(t,"tag prefix is malformed: "+n)}t.tagMap[i]=n},"handleTagDirective")};function rH(t,e,r,i){var n,o,a,s;if(e<r){if(s=t.input.slice(e,r),i)for(n=0,o=s.length;n<o;n+=1)9===(a=s.charCodeAt(n))||32<=a&&a<=1114111||rj(t,"expected valid JSON character");else rT.test(s)&&rj(t,"the stream contains non-printable characters");t.result+=s}}function rV(t,e,r,i){var n,o,a,s;for(ew.isObject(r)||rj(t,"cannot merge mappings; the provided source object is unacceptable"),a=0,s=(n=Object.keys(r)).length;a<s;a+=1)o=n[a],rv.call(e,o)||(e[o]=r[o],i[o]=!0)}function rG(t,e,r,i,n,o,a,s,l){var h,c;if(Array.isArray(n))for(h=0,c=(n=Array.prototype.slice.call(n)).length;h<c;h+=1)Array.isArray(n[h])&&rj(t,"nested arrays are not supported inside keys"),"object"==typeof n&&"[object Object]"===rF(n[h])&&(n[h]="[object Object]");if("object"==typeof n&&"[object Object]"===rF(n)&&(n="[object Object]"),n=String(n),null===e&&(e={}),"tag:yaml.org,2002:merge"===i){if(Array.isArray(o))for(h=0,c=o.length;h<c;h+=1)rV(t,e,o[h],r);else rV(t,e,o,r)}else!t.json&&!rv.call(r,n)&&rv.call(e,n)&&(t.line=a||t.line,t.lineStart=s||t.lineStart,t.position=l||t.position,rj(t,"duplicated mapping key")),"__proto__"===n?Object.defineProperty(e,n,{configurable:!0,enumerable:!0,writable:!0,value:o}):e[n]=o,delete r[n];return e}function rX(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):rj(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function rQ(t,e,r){for(var i=0,n=t.input.charCodeAt(t.position);0!==n;){for(;rE(n);)9===n&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),n=t.input.charCodeAt(++t.position);if(e&&35===n)do n=t.input.charCodeAt(++t.position);while(10!==n&&13!==n&&0!==n);if(rA(n))for(rX(t),n=t.input.charCodeAt(t.position),i++,t.lineIndent=0;32===n;)t.lineIndent++,n=t.input.charCodeAt(++t.position);else break}return -1!==r&&0!==i&&t.lineIndent<r&&rY(t,"deficient indentation"),i}function rK(t){var e,r=t.position;return!!((45===(e=t.input.charCodeAt(r))||46===e)&&e===t.input.charCodeAt(r+1)&&e===t.input.charCodeAt(r+2)&&(r+=3,0===(e=t.input.charCodeAt(r))||rW(e)))}function rJ(t,e){1===e?t.result+=" ":e>1&&(t.result+=ew.repeat("\n",e-1))}function r0(t,e,r){var i,n,o,a,s,l,h,c,u=t.kind,d=t.result;if(rW(c=t.input.charCodeAt(t.position))||r$(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c||(63===c||45===c)&&(rW(i=t.input.charCodeAt(t.position+1))||r&&r$(i)))return!1;for(t.kind="scalar",t.result="",n=o=t.position,a=!1;0!==c;){if(58===c){if(rW(i=t.input.charCodeAt(t.position+1))||r&&r$(i))break}else if(35===c){if(rW(t.input.charCodeAt(t.position-1)))break}else if(t.position===t.lineStart&&rK(t)||r&&r$(c))break;else if(rA(c)){if(s=t.line,l=t.lineStart,h=t.lineIndent,rQ(t,!1,-1),t.lineIndent>=e){a=!0,c=t.input.charCodeAt(t.position);continue}t.position=o,t.line=s,t.lineStart=l,t.lineIndent=h;break}a&&(rH(t,n,o,!1),rJ(t,t.line-s),n=o=t.position,a=!1),rE(c)||(o=t.position+1),c=t.input.charCodeAt(++t.position)}return rH(t,n,o,!1),!!t.result||(t.kind=u,t.result=d,!1)}function r1(t,e){var r,i,n;if(39!==(r=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;0!==(r=t.input.charCodeAt(t.position));)if(39===r){if(rH(t,i,t.position,!0),39!==(r=t.input.charCodeAt(++t.position)))return!0;i=t.position,t.position++,n=t.position}else rA(r)?(rH(t,i,n,!0),rJ(t,rQ(t,!1,e)),i=n=t.position):t.position===t.lineStart&&rK(t)?rj(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);rj(t,"unexpected end of the stream within a single quoted scalar")}function r2(t,e){var r,i,n,o,a,s;if(34!==(s=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(s=t.input.charCodeAt(t.position));){if(34===s)return rH(t,r,t.position,!0),t.position++,!0;if(92===s){if(rH(t,r,t.position,!0),rA(s=t.input.charCodeAt(++t.position)))rQ(t,!1,e);else if(s<256&&rq[s])t.result+=rN[s],t.position++;else if((a=rI(s))>0){for(n=a,o=0;n>0;n--)(a=rO(s=t.input.charCodeAt(++t.position)))>=0?o=(o<<4)+a:rj(t,"expected hexadecimal character");t.result+=rz(o),t.position++}else rj(t,"unknown escape sequence");r=i=t.position}else rA(s)?(rH(t,r,i,!0),rJ(t,rQ(t,!1,e)),r=i=t.position):t.position===t.lineStart&&rK(t)?rj(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}rj(t,"unexpected end of the stream within a double quoted scalar")}function r3(t,e){var r,i,n,o,a,s,l,h,c,u,d,f,p=!0,g=t.tag,y=t.anchor,m=Object.create(null);if(91===(f=t.input.charCodeAt(t.position)))a=93,h=!1,o=[];else{if(123!==f)return!1;a=125,h=!0,o={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=o),f=t.input.charCodeAt(++t.position);0!==f;){if(rQ(t,!0,e),(f=t.input.charCodeAt(t.position))===a)return t.position++,t.tag=g,t.anchor=y,t.kind=h?"mapping":"sequence",t.result=o,!0;p?44===f&&rj(t,"expected the node content, but found ','"):rj(t,"missed comma between flow collection entries"),u=c=d=null,s=l=!1,63===f&&rW(t.input.charCodeAt(t.position+1))&&(s=l=!0,t.position++,rQ(t,!0,e)),r=t.line,i=t.lineStart,n=t.position,it(t,e,1,!1,!0),u=t.tag,c=t.result,rQ(t,!0,e),f=t.input.charCodeAt(t.position),(l||t.line===r)&&58===f&&(s=!0,f=t.input.charCodeAt(++t.position),rQ(t,!0,e),it(t,e,1,!1,!0),d=t.result),h?rG(t,o,m,u,c,d,r,i,n):s?o.push(rG(t,null,m,u,c,d,r,i,n)):o.push(c),rQ(t,!0,e),44===(f=t.input.charCodeAt(t.position))?(p=!0,f=t.input.charCodeAt(++t.position)):p=!1}rj(t,"unexpected end of the stream within a flow collection")}function r5(t,e){var r,i,n,o,a=1,s=!1,l=!1,h=e,c=0,u=!1;if(124===(o=t.input.charCodeAt(t.position)))i=!1;else{if(62!==o)return!1;i=!0}for(t.kind="scalar",t.result="";0!==o;)if(43===(o=t.input.charCodeAt(++t.position))||45===o)1===a?a=43===o?3:2:rj(t,"repeat of a chomping mode identifier");else if((n=rZ(o))>=0)0===n?rj(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?rj(t,"repeat of an indentation width identifier"):(h=e+n-1,l=!0);else break;if(rE(o)){do o=t.input.charCodeAt(++t.position);while(rE(o));if(35===o)do o=t.input.charCodeAt(++t.position);while(!rA(o)&&0!==o)}for(;0!==o;){for(rX(t),t.lineIndent=0,o=t.input.charCodeAt(t.position);(!l||t.lineIndent<h)&&32===o;)t.lineIndent++,o=t.input.charCodeAt(++t.position);if(!l&&t.lineIndent>h&&(h=t.lineIndent),rA(o)){c++;continue}if(t.lineIndent<h){3===a?t.result+=ew.repeat("\n",s?1+c:c):1===a&&s&&(t.result+="\n");break}for(i?rE(o)?(u=!0,t.result+=ew.repeat("\n",s?1+c:c)):u?(u=!1,t.result+=ew.repeat("\n",c+1)):0===c?s&&(t.result+=" "):t.result+=ew.repeat("\n",c):t.result+=ew.repeat("\n",s?1+c:c),s=!0,l=!0,c=0,r=t.position;!rA(o)&&0!==o;)o=t.input.charCodeAt(++t.position);rH(t,r,t.position,!1)}return!0}function r6(t,e){var r,i,n=t.tag,o=t.anchor,a=[],s=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),i=t.input.charCodeAt(t.position);0!==i&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,rj(t,"tab characters must not be used in indentation")),45===i&&rW(t.input.charCodeAt(t.position+1)));){if(s=!0,t.position++,rQ(t,!0,-1)&&t.lineIndent<=e){a.push(null),i=t.input.charCodeAt(t.position);continue}if(r=t.line,it(t,e,3,!1,!0),a.push(t.result),rQ(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==i)rj(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return!!s&&(t.tag=n,t.anchor=o,t.kind="sequence",t.result=a,!0)}function r4(t,e,r){var i,n,o,a,s,l,h,c=t.tag,u=t.anchor,d={},f=Object.create(null),p=null,g=null,y=null,m=!1,x=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=d),h=t.input.charCodeAt(t.position);0!==h;){if(m||-1===t.firstTabInLine||(t.position=t.firstTabInLine,rj(t,"tab characters must not be used in indentation")),i=t.input.charCodeAt(t.position+1),o=t.line,(63===h||58===h)&&rW(i))63===h?(m&&(rG(t,d,f,p,g,null,a,s,l),p=g=y=null),x=!0,m=!0,n=!0):m?(m=!1,n=!0):rj(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,h=i;else{if(a=t.line,s=t.lineStart,l=t.position,!it(t,r,2,!1,!0))break;if(t.line===o){for(h=t.input.charCodeAt(t.position);rE(h);)h=t.input.charCodeAt(++t.position);if(58===h)rW(h=t.input.charCodeAt(++t.position))||rj(t,"a whitespace character is expected after the key-value separator within a block mapping"),m&&(rG(t,d,f,p,g,null,a,s,l),p=g=y=null),x=!0,m=!1,n=!1,p=t.tag,g=t.result;else{if(!x)return t.tag=c,t.anchor=u,!0;rj(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!x)return t.tag=c,t.anchor=u,!0;rj(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}if((t.line===o||t.lineIndent>e)&&(m&&(a=t.line,s=t.lineStart,l=t.position),it(t,e,4,!0,n)&&(m?g=t.result:y=t.result),m||(rG(t,d,f,p,g,y,a,s,l),p=g=y=null),rQ(t,!0,-1),h=t.input.charCodeAt(t.position)),(t.line===o||t.lineIndent>e)&&0!==h)rj(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return m&&rG(t,d,f,p,g,null,a,s,l),x&&(t.tag=c,t.anchor=u,t.kind="mapping",t.result=d),x}function r8(t){var e,r,i,n,o=!1,a=!1;if(33!==(n=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&rj(t,"duplication of a tag property"),60===(n=t.input.charCodeAt(++t.position))?(o=!0,n=t.input.charCodeAt(++t.position)):33===n?(a=!0,r="!!",n=t.input.charCodeAt(++t.position)):r="!",e=t.position,o){do n=t.input.charCodeAt(++t.position);while(0!==n&&62!==n);t.position<t.length?(i=t.input.slice(e,t.position),n=t.input.charCodeAt(++t.position)):rj(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==n&&!rW(n);)33===n&&(a?rj(t,"tag suffix cannot contain exclamation marks"):(r=t.input.slice(e-1,t.position+1),rB.test(r)||rj(t,"named tag handle cannot contain such characters"),a=!0,e=t.position+1)),n=t.input.charCodeAt(++t.position);i=t.input.slice(e,t.position),rM.test(i)&&rj(t,"tag suffix cannot contain flow indicator characters")}i&&!rL.test(i)&&rj(t,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch(e){rj(t,"tag name is malformed: "+i)}return o?t.tag=i:rv.call(t.tagMap,r)?t.tag=t.tagMap[r]+i:"!"===r?t.tag="!"+i:"!!"===r?t.tag="tag:yaml.org,2002:"+i:rj(t,'undeclared tag handle "'+r+'"'),!0}function r9(t){var e,r;if(38!==(r=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&rj(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!rW(r)&&!r$(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&rj(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function r7(t){var e,r,i;if(42!==(i=t.input.charCodeAt(t.position)))return!1;for(i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!rW(i)&&!r$(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&rj(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),rv.call(t.anchorMap,r)||rj(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],rQ(t,!0,-1),!0}function it(t,e,r,i,n){var o,a,s,l,h,c,u,d,f,p=1,g=!1,y=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,o=a=s=4===r||3===r,i&&rQ(t,!0,-1)&&(g=!0,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)),1===p)for(;r8(t)||r9(t);)rQ(t,!0,-1)?(g=!0,s=o,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)):s=!1;if(s&&(s=g||n),(1===p||4===r)&&(d=1===r||2===r?e:e+1,f=t.position-t.lineStart,1===p?s&&(r6(t,f)||r4(t,f,d))||r3(t,d)?y=!0:(a&&r5(t,d)||r1(t,d)||r2(t,d)?y=!0:r7(t)?(y=!0,(null!==t.tag||null!==t.anchor)&&rj(t,"alias node should not have any properties")):r0(t,d,1===r)&&(y=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===p&&(y=s&&r6(t,f))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&rj(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),l=0,h=t.implicitTypes.length;l<h;l+=1)if((u=t.implicitTypes[l]).resolve(t.result)){t.result=u.construct(t.result),t.tag=u.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else if("!"!==t.tag){if(rv.call(t.typeMap[t.kind||"fallback"],t.tag))u=t.typeMap[t.kind||"fallback"][t.tag];else for(l=0,u=null,h=(c=t.typeMap.multi[t.kind||"fallback"]).length;l<h;l+=1)if(t.tag.slice(0,c[l].tag.length)===c[l].tag){u=c[l];break}u||rj(t,"unknown tag !<"+t.tag+">"),null!==t.result&&u.kind!==t.kind&&rj(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):rj(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||y}function ie(t){var e,r,i,n,o=t.position,a=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(n=t.input.charCodeAt(t.position))&&(rQ(t,!0,-1),n=t.input.charCodeAt(t.position),!(t.lineIndent>0)&&37===n);){for(a=!0,n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!rW(n);)n=t.input.charCodeAt(++t.position);for(r=t.input.slice(e,t.position),i=[],r.length<1&&rj(t,"directive name must not be less than one character in length");0!==n;){for(;rE(n);)n=t.input.charCodeAt(++t.position);if(35===n){do n=t.input.charCodeAt(++t.position);while(0!==n&&!rA(n));break}if(rA(n))break;for(e=t.position;0!==n&&!rW(n);)n=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==n&&rX(t),rv.call(rU,r)?rU[r](t,r,i):rY(t,'unknown document directive "'+r+'"')}if(rQ(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,rQ(t,!0,-1)):a&&rj(t,"directives end mark is expected"),it(t,t.lineIndent-1,4,!1,!0),rQ(t,!0,-1),t.checkLineBreaks&&rS.test(t.input.slice(o,t.position))&&rY(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&rK(t)){46===t.input.charCodeAt(t.position)&&(t.position+=3,rQ(t,!0,-1));return}t.position<t.length-1&&rj(t,"end of the stream or a document separator is expected")}function ir(t,e){t=String(t),e=e||{},0!==t.length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var r=new rP(t,e),i=t.indexOf("\0");for(-1!==i&&(r.position=i,rj(r,"null byte is not allowed in input")),r.input+="\0";32===r.input.charCodeAt(r.position);)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)ie(r);return r.documents}function ii(t,e,r){null!==e&&"object"==typeof e&&void 0===r&&(r=e,e=null);var i=ir(t,r);if("function"!=typeof e)return i;for(var n=0,o=i.length;n<o;n+=1)e(i[n])}function io(t,e){var r=ir(t,e);if(0!==r.length){if(1===r.length)return r[0];throw new eT("expected a single document in the stream, but found more")}}(0,h.eW)(rH,"captureSegment"),(0,h.eW)(rV,"mergeMappings"),(0,h.eW)(rG,"storeMappingPair"),(0,h.eW)(rX,"readLineBreak"),(0,h.eW)(rQ,"skipSeparationSpace"),(0,h.eW)(rK,"testDocumentSeparator"),(0,h.eW)(rJ,"writeFoldedLines"),(0,h.eW)(r0,"readPlainScalar"),(0,h.eW)(r1,"readSingleQuotedScalar"),(0,h.eW)(r2,"readDoubleQuotedScalar"),(0,h.eW)(r3,"readFlowCollection"),(0,h.eW)(r5,"readBlockScalar"),(0,h.eW)(r6,"readBlockSequence"),(0,h.eW)(r4,"readBlockMapping"),(0,h.eW)(r8,"readTagProperty"),(0,h.eW)(r9,"readAnchorProperty"),(0,h.eW)(r7,"readAlias"),(0,h.eW)(it,"composeNode"),(0,h.eW)(ie,"readDocument"),(0,h.eW)(ir,"loadDocuments"),(0,h.eW)(ii,"loadAll$1"),(0,h.eW)(io,"load$1");var ia=Object.prototype.toString,is=Object.prototype.hasOwnProperty,il={};il[0]="\\0",il[7]="\\a",il[8]="\\b",il[9]="\\t",il[10]="\\n",il[11]="\\v",il[12]="\\f",il[13]="\\r",il[27]="\\e",il[34]='\\"',il[92]="\\\\",il[133]="\\N",il[160]="\\_",il[8232]="\\L",il[8233]="\\P";var ih=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],ic=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function iu(t,e){var r,i,n,o,a,s,l;if(null===e)return{};for(n=0,r={},o=(i=Object.keys(e)).length;n<o;n+=1)s=String(e[a=i[n]]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(l=t.compiledTypeMap.fallback[a])&&is.call(l.styleAliases,s)&&(s=l.styleAliases[s]),r[a]=s;return r}function id(t){var e,r,i;if(e=t.toString(16).toUpperCase(),t<=255)r="x",i=2;else if(t<=65535)r="u",i=4;else if(t<=0xffffffff)r="U",i=8;else throw new eT("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+ew.repeat("0",i-e.length)+e}function ip(t){this.schema=t.schema||rw,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=ew.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=iu(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType='"'===t.quotingType?2:1,this.forceQuotes=t.forceQuotes||!1,this.replacer="function"==typeof t.replacer?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function ig(t,e){for(var r,i=ew.repeat(" ",e),n=0,o=-1,a="",s=t.length;n<s;)-1===(o=t.indexOf("\n",n))?(r=t.slice(n),n=s):(r=t.slice(n,o+1),n=o+1),r.length&&"\n"!==r&&(a+=i),a+=r;return a}function iy(t,e){return"\n"+ew.repeat(" ",t.indent*e)}function im(t,e){var r,i;for(r=0,i=t.implicitTypes.length;r<i;r+=1)if(t.implicitTypes[r].resolve(e))return!0;return!1}function ix(t){return 32===t||9===t}function ib(t){return 32<=t&&t<=126||161<=t&&t<=55295&&8232!==t&&8233!==t||57344<=t&&t<=65533&&65279!==t||65536<=t&&t<=1114111}function iC(t){return ib(t)&&65279!==t&&13!==t&&10!==t}function ik(t,e,r){var i=iC(t),n=i&&!ix(t);return(r?i:i&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t)&&35!==t&&!(58===e&&!n)||iC(e)&&!ix(e)&&35===t||58===e&&n}function i_(t){return ib(t)&&65279!==t&&!ix(t)&&45!==t&&63!==t&&58!==t&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t&&35!==t&&38!==t&&42!==t&&33!==t&&124!==t&&61!==t&&62!==t&&39!==t&&34!==t&&37!==t&&64!==t&&96!==t}function iw(t){return!ix(t)&&58!==t}function iv(t,e){var r,i=t.charCodeAt(e);return i>=55296&&i<=56319&&e+1<t.length&&(r=t.charCodeAt(e+1))>=56320&&r<=57343?(i-55296)*1024+r-56320+65536:i}function iT(t){return/^\n* /.test(t)}function iS(t,e,r,i,n,o,a,s){var l,h=0,c=null,u=!1,d=!1,f=-1!==i,p=-1,g=i_(iv(t,0))&&iw(iv(t,t.length-1));if(e||a)for(l=0;l<t.length;h>=65536?l+=2:l++){if(!ib(h=iv(t,l)))return 5;g=g&&ik(h,c,s),c=h}else{for(l=0;l<t.length;h>=65536?l+=2:l++){if(10===(h=iv(t,l)))u=!0,f&&(d=d||l-p-1>i&&" "!==t[p+1],p=l);else if(!ib(h))return 5;g=g&&ik(h,c,s),c=h}d=d||f&&l-p-1>i&&" "!==t[p+1]}return u||d?r>9&&iT(t)?5:a?2===o?5:2:d?4:3:!g||a||n(t)?2===o?5:2:1}function iM(t,e,r,i,n){t.dump=function(){if(0===e.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==ih.indexOf(e)||ic.test(e)))return 2===t.quotingType?'"'+e+'"':"'"+e+"'";var o=t.indent*Math.max(1,r),a=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-o),s=i||t.flowLevel>-1&&r>=t.flowLevel;function l(e){return im(t,e)}switch((0,h.eW)(l,"testAmbiguity"),iS(e,s,t.indent,a,l,t.quotingType,t.forceQuotes&&!i,n)){case 1:return e;case 2:return"'"+e.replace(/'/g,"''")+"'";case 3:return"|"+iB(e,t.indent)+iL(ig(e,o));case 4:return">"+iB(e,t.indent)+iL(ig(iF(e,a),o));case 5:return'"'+iE(e)+'"';default:throw new eT("impossible error: invalid scalar style")}}()}function iB(t,e){var r=iT(t)?String(e):"",i="\n"===t[t.length-1];return r+(i&&("\n"===t[t.length-2]||"\n"===t)?"+":i?"":"-")+"\n"}function iL(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function iF(t,e){for(var r,i,n,o=/(\n+)([^\n]*)/g,a=(r=-1!==(r=t.indexOf("\n"))?r:t.length,o.lastIndex=r,iA(t.slice(0,r),e)),s="\n"===t[0]||" "===t[0];n=o.exec(t);){var l=n[1],h=n[2];i=" "===h[0],a+=l+(s||i||""===h?"":"\n")+iA(h,e),s=i}return a}function iA(t,e){if(""===t||" "===t[0])return t;for(var r,i,n=/ [^ ]/g,o=0,a=0,s=0,l="";r=n.exec(t);)(s=r.index)-o>e&&(i=a>o?a:s,l+="\n"+t.slice(o,i),o=i+1),a=s;return l+="\n",t.length-o>e&&a>o?l+=t.slice(o,a)+"\n"+t.slice(a+1):l+=t.slice(o),l.slice(1)}function iE(t){for(var e,r="",i=0,n=0;n<t.length;i>=65536?n+=2:n++)!(e=il[i=iv(t,n)])&&ib(i)?(r+=t[n],i>=65536&&(r+=t[n+1])):r+=e||id(i);return r}function iW(t,e,r){var i,n,o,a="",s=t.tag;for(i=0,n=r.length;i<n;i+=1)o=r[i],t.replacer&&(o=t.replacer.call(r,String(i),o)),(iD(t,e,o,!1,!1)||void 0===o&&iD(t,e,null,!1,!1))&&(""!==a&&(a+=","+(t.condenseFlow?"":" ")),a+=t.dump);t.tag=s,t.dump="["+a+"]"}function i$(t,e,r,i){var n,o,a,s="",l=t.tag;for(n=0,o=r.length;n<o;n+=1)a=r[n],t.replacer&&(a=t.replacer.call(r,String(n),a)),(iD(t,e+1,a,!0,!0,!1,!0)||void 0===a&&iD(t,e+1,null,!0,!0,!1,!0))&&(i&&""===s||(s+=iy(t,e)),t.dump&&10===t.dump.charCodeAt(0)?s+="-":s+="- ",s+=t.dump);t.tag=l,t.dump=s||"[]"}function iO(t,e,r){var i,n,o,a,s,l="",h=t.tag,c=Object.keys(r);for(i=0,n=c.length;i<n;i+=1){if(s="",""!==l&&(s+=", "),t.condenseFlow&&(s+='"'),a=r[o=c[i]],t.replacer&&(a=t.replacer.call(r,o,a)),iD(t,e,o,!1,!1))t.dump.length>1024&&(s+="? "),s+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),iD(t,e,a,!1,!1)&&(s+=t.dump,l+=s)}t.tag=h,t.dump="{"+l+"}"}function iI(t,e,r,i){var n,o,a,s,l,h,c="",u=t.tag,d=Object.keys(r);if(!0===t.sortKeys)d.sort();else if("function"==typeof t.sortKeys)d.sort(t.sortKeys);else if(t.sortKeys)throw new eT("sortKeys must be a boolean or a function");for(n=0,o=d.length;n<o;n+=1){if(h="",i&&""===c||(h+=iy(t,e)),s=r[a=d[n]],t.replacer&&(s=t.replacer.call(r,a,s)),iD(t,e+1,a,!0,!0,!0))(l=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024)&&(t.dump&&10===t.dump.charCodeAt(0)?h+="?":h+="? "),h+=t.dump,l&&(h+=iy(t,e)),iD(t,e+1,s,!0,l)&&(t.dump&&10===t.dump.charCodeAt(0)?h+=":":h+=": ",h+=t.dump,c+=h)}t.tag=u,t.dump=c||"{}"}function iZ(t,e,r){var i,n,o,a,s,l;for(o=0,a=(n=r?t.explicitTypes:t.implicitTypes).length;o<a;o+=1)if(((s=n[o]).instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof e&&e instanceof s.instanceOf)&&(!s.predicate||s.predicate(e))){if(r?s.multi&&s.representName?t.tag=s.representName(e):t.tag=s.tag:t.tag="?",s.represent){if(l=t.styleMap[s.tag]||s.defaultStyle,"[object Function]"===ia.call(s.represent))i=s.represent(e,l);else if(is.call(s.represent,l))i=s.represent[l](e,l);else throw new eT("!<"+s.tag+'> tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function iD(t,e,r,i,n,o,a){t.tag=null,t.dump=r,iZ(t,r,!1)||iZ(t,r,!0);var s=ia.call(t.dump),l=i;i&&(i=t.flowLevel<0||t.flowLevel>e);var h,c,u,d="[object Object]"===s||"[object Array]"===s;if(d&&(u=-1!==(c=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(n=!1),u&&t.usedDuplicates[c])t.dump="*ref_"+c;else{if(d&&u&&!t.usedDuplicates[c]&&(t.usedDuplicates[c]=!0),"[object Object]"===s)i&&0!==Object.keys(t.dump).length?(iI(t,e,t.dump,n),u&&(t.dump="&ref_"+c+t.dump)):(iO(t,e,t.dump),u&&(t.dump="&ref_"+c+" "+t.dump));else if("[object Array]"===s)i&&0!==t.dump.length?(t.noArrayIndent&&!a&&e>0?i$(t,e-1,t.dump,n):i$(t,e,t.dump,n),u&&(t.dump="&ref_"+c+t.dump)):(iW(t,e,t.dump),u&&(t.dump="&ref_"+c+" "+t.dump));else if("[object String]"===s)"?"!==t.tag&&iM(t,t.dump,e,o,l);else{if("[object Undefined]"===s||t.skipInvalid)return!1;throw new eT("unacceptable kind of an object to dump "+s)}null!==t.tag&&"?"!==t.tag&&(h=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21"),h="!"===t.tag[0]?"!"+h:"tag:yaml.org,2002:"===h.slice(0,18)?"!!"+h.slice(18):"!<"+h+">",t.dump=h+" "+t.dump)}return!0}function iz(t,e){var r,i,n=[],o=[];for(iq(t,n,o),r=0,i=o.length;r<i;r+=1)e.duplicates.push(n[o[r]]);e.usedDuplicates=Array(i)}function iq(t,e,r){var i,n,o;if(null!==t&&"object"==typeof t){if(-1!==(n=e.indexOf(t)))-1===r.indexOf(n)&&r.push(n);else if(e.push(t),Array.isArray(t))for(n=0,o=t.length;n<o;n+=1)iq(t[n],e,r);else for(n=0,o=(i=Object.keys(t)).length;n<o;n+=1)iq(t[i[n]],e,r)}}(0,h.eW)(iu,"compileStyleMap"),(0,h.eW)(id,"encodeHex"),(0,h.eW)(ip,"State"),(0,h.eW)(ig,"indentString"),(0,h.eW)(iy,"generateNextLine"),(0,h.eW)(im,"testImplicitResolving"),(0,h.eW)(ix,"isWhitespace"),(0,h.eW)(ib,"isPrintable"),(0,h.eW)(iC,"isNsCharOrWhitespace"),(0,h.eW)(ik,"isPlainSafe"),(0,h.eW)(i_,"isPlainSafeFirst"),(0,h.eW)(iw,"isPlainSafeLast"),(0,h.eW)(iv,"codePointAt"),(0,h.eW)(iT,"needIndentIndicator");function iN(t,e){return function(){throw Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}function iP(t){let e=t.match(h.M6);if(!e)return{text:t,metadata:{}};let r=io(e[1],{schema:e6})??{};r="object"!=typeof r||Array.isArray(r)?{}:r;let i={};return r.displayMode&&(i.displayMode=r.displayMode.toString()),r.title&&(i.title=r.title.toString()),r.config&&(i.config=r.config),{text:t.slice(e[0].length),metadata:i}}(0,h.eW)(iS,"chooseScalarStyle"),(0,h.eW)(iM,"writeScalar"),(0,h.eW)(iB,"blockHeader"),(0,h.eW)(iL,"dropEndingNewline"),(0,h.eW)(iF,"foldString"),(0,h.eW)(iA,"foldLine"),(0,h.eW)(iE,"escapeString"),(0,h.eW)(iW,"writeFlowSequence"),(0,h.eW)(i$,"writeBlockSequence"),(0,h.eW)(iO,"writeFlowMapping"),(0,h.eW)(iI,"writeBlockMapping"),(0,h.eW)(iZ,"detectType"),(0,h.eW)(iD,"writeNode"),(0,h.eW)(iz,"getDuplicateReferences"),(0,h.eW)(iq,"inspectNode"),(0,h.eW)(function(t,e){var r=new ip(e=e||{});r.noRefs||iz(t,r);var i=t;return(r.replacer&&(i=r.replacer.call({"":i},"",i)),iD(r,0,i,!0,!0))?r.dump+"\n":""},"dump$1"),(0,h.eW)(iN,"renamed"),iN("safeLoad","load"),iN("safeLoadAll","loadAll"),iN("safeDump","dump"),(0,h.eW)(iP,"extractFrontMatter");var iR=(0,h.eW)(t=>t.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,(t,e,r)=>"<"+e+r.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),ij=(0,h.eW)(t=>{let{text:e,metadata:r}=iP(t),{displayMode:i,title:n,config:o={}}=r;return i&&(o.gantt||(o.gantt={}),o.gantt.displayMode=i),{title:n,config:o,text:e}},"processFrontmatter"),iY=(0,h.eW)(t=>{let e=a.w8.detectInit(t)??{},r=a.w8.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:t})=>"wrap"===t):r?.type==="wrap"&&(e.wrap=!0),{text:(0,a.tf)(t),directive:e}},"processDirectives");function iU(t){let e=ij(iR(t)),r=iY(e.text),i=(0,a.Rb)(e.config,r.directive);return{code:t=ex(r.text),title:e.title,config:i}}function iH(t){return btoa(Array.from(new TextEncoder().encode(t),t=>String.fromCodePoint(t)).join(""))}(0,h.eW)(iU,"preprocessDiagram"),(0,h.eW)(iH,"toBase64");var iV=["foreignobject"],iG=["dominant-baseline"];function iX(t){let e=iU(t);return(0,h.mc)(),(0,h.XV)(e.config??{}),e}async function iQ(t,e){eu();try{let{code:e,config:r}=iX(t);return{diagramType:(await i9(e)).type,config:r}}catch(t){if(e?.suppressErrors)return!1;throw t}}(0,h.eW)(iX,"processAndSetConfigs"),(0,h.eW)(iQ,"parse");var iK=(0,h.eW)((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),iJ=(0,h.eW)((t,e=new Map)=>{let r="";if(void 0!==t.themeCSS&&(r+=` +${t.themeCSS}`),void 0!==t.fontFamily&&(r+=` +:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(r+=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let i=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(t=>{(0,D.Z)(t.styles)||i.forEach(e=>{r+=iK(t.id,e,t.styles)}),(0,D.Z)(t.textStyles)||(r+=iK(t.id,"tspan",(t?.textStyles||[]).map(t=>t.replace("color","fill"))))})}return r},"createCssStyles"),i0=(0,h.eW)((t,e,r,i)=>{var n,o,a;let s=iJ(t,r),l=(0,h.Ee)(e,s,t.themeVariables);return _((a=function t(e,r,i,n,o,a,s,l,h){for(var c,u,f,p,_,w,S=0,Z=0,D=s,z=0,q=0,N=0,P=1,R=1,j=1,Y=0,U="",H=o,V=a,G=n,X=U;R;)switch(N=Y,Y=A()){case 40:if(108!=N&&58==x(X,D-1)){-1!=(_=X+=m($(Y),"&","&\f"),w=g(S?l[S-1]:0),_.indexOf("&\f",w))&&(j=-1);break}case 34:case 39:case 91:X+=$(Y);break;case 9:case 10:case 13:case 32:X+=function(t){for(;B=E();)if(B<33)A();else break;return W(t)>2||W(B)>3?"":" "}(N);break;case 92:X+=function(t,e){for(var r;--e&&A()&&!(B<48)&&!(B>102)&&(!(B>57)||!(B<65))&&(!(B>70)||!(B<97)););return r=M+(e<6&&32==E()&&32==A()),b(L,t,r)}(M-1,7);continue;case 47:switch(E()){case 42:case 47:k((c=function(t,e){for(;A();)if(t+B===57)break;else if(t+B===84&&47===E())break;return"/*"+b(L,e,M-1)+"*"+y(47===t?t:A())}(A(),M),u=r,f=i,p=h,F(c,u,f,d,y(B),b(c,2,-2),0,p)),h),(5==W(N||1)||5==W(E()||1))&&C(X)&&" "!==b(X,-1,void 0)&&(X+=" ");break;default:X+="/"}break;case 123*P:l[S++]=C(X)*j;case 125*P:case 59:case 0:switch(Y){case 0:case 125:R=0;case 59+Z:-1==j&&(X=m(X,/\f/g,"")),q>0&&(C(X)-D||0===P&&47===N)&&k(q>32?I(X+";",n,i,D-1,h):I(m(X," ","")+";",n,i,D-2,h),h);break;case 59:X+=";";default:if(k(G=O(X,r,i,S,Z,o,l,U,H=[],V=[],D,a),a),123===Y){if(0===Z)t(X,r,G,G,H,a,D,l,V);else switch(99===z&&110===x(X,3)?100:z){case 100:case 108:case 109:case 115:t(e,G,G,n&&k(O(e,G,G,0,0,o,l,U,o,H=[],D,V),V),o,V,D,l,n?H:V);break;default:t(X,G,G,G,[""],V,0,l,V)}}}S=Z=q=0,P=j=1,U=X="",D=s;break;case 58:D=1+C(X),q=N;default:if(P<1){if(123==Y)--P;else if(125==Y&&0==P++&&125==(B=M>0?x(L,--M):0,T--,10===B&&(T=1,v--),B))continue}switch(X+=y(Y),Y*P){case 38:j=Z>0?1:(X+="\f",-1);break;case 44:l[S++]=(C(X)-1)*j,j=1;break;case 64:45===E()&&(X+=$(A())),z=E(),Z=D=C(U=X+=function(t){for(;!W(E());)A();return b(L,t,M)}(M)),Y++;break;case 45:45===N&&2==C(X)&&(P=0)}}return a}("",null,null,null,[""],(o=n=`${i}{${l}}`,v=T=1,S=C(L=o),M=0,n=[]),0,[0],n),L="",a),w)},"createUserStyles"),i1=(0,h.eW)((t="",e,r)=>{let i=t;return r||e||(i=i.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),i=(i=(0,a.SH)(i)).replace(/<br>/g,"<br/>")},"cleanUpSvgCode"),i2=(0,h.eW)((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":"100%",i=iH(`<body style="margin:0">${t}</body>`);return`<iframe style="width:100%;height:${r};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${i}" sandbox="allow-top-navigation-by-user-activation allow-popups"> + The "iframe" tag is not supported by your browser. +</iframe>`},"putIntoIFrame"),i3=(0,h.eW)((t,e,r,i,n)=>{let o=t.append("div");o.attr("id",r),i&&o.attr("style",i);let a=o.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return n&&a.attr("xmlns:xlink",n),a.append("g"),t},"appendDivSvgG");function i5(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}(0,h.eW)(i5,"sandboxedIframe");var i6=(0,h.eW)((t,e,r,i)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(i)?.remove()},"removeExistingElements"),i4=(0,h.eW)(async function(t,e,r){let i,n;eu();let o=iX(e);e=o.code;let a=(0,h.iE)();h.cM.debug(a),e.length>(a?.maxTextSize??5e4)&&(e="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");let l="#"+t,c="i"+t,d="#"+c,f="d"+t,p="#"+f,g=(0,h.eW)(()=>{let t=m?d:p,e=(0,u.Ys)(t).node();e&&"remove"in e&&e.remove()},"removeTempElements"),y=(0,u.Ys)("body"),m="sandbox"===a.securityLevel,x="loose"===a.securityLevel,b=a.fontFamily;if(void 0!==r){if(r&&(r.innerHTML=""),m){let t=i5((0,u.Ys)(r),c);(y=(0,u.Ys)(t.nodes()[0].contentDocument.body)).node().style.margin=0}else y=(0,u.Ys)(r);i3(y,t,f,`font-family: ${b}`,"http://www.w3.org/1999/xlink")}else{if(i6(document,t,f,c),m){let t=i5((0,u.Ys)("body"),c);(y=(0,u.Ys)(t.nodes()[0].contentDocument.body)).node().style.margin=0}else y=(0,u.Ys)("body");i3(y,t,f)}try{i=await eg.fromText(e,{title:o.title})}catch(t){if(a.suppressErrorRendering)throw g(),t;i=await eg.fromText("error"),n=t}let C=y.select(p).node(),k=i.type,_=C.firstChild,w=_.firstChild,v=i0(a,k,i.renderer.getClasses?.(e,i),l),T=document.createElement("style");T.innerHTML=v,_.insertBefore(T,w);try{await i.renderer.draw(e,t,s.i,i)}catch(r){throw a.suppressErrorRendering?g():tj.draw(e,t,s.i),r}let S=y.select(`${p} svg`);i7(k,S,i.db.getAccTitle?.(),i.db.getAccDescription?.()),y.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let M=y.select(p).node().innerHTML;if(h.cM.debug("config.arrowMarkerAbsolute",a.arrowMarkerAbsolute),M=i1(M,m,(0,h.ku)(a.arrowMarkerAbsolute)),m?M=i2(M,y.select(p+" svg").node()):x||(M=Z.Z.sanitize(M,{ADD_TAGS:iV,ADD_ATTR:iG})),em(),n)throw n;return g(),{diagramType:k,svg:M,bindFunctions:i.db.bindFunctions}},"render");function i8(t={}){let e=(0,h.Yc)({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),(0,h.dY)(e),e?.theme&&e.theme in h._j?e.themeVariables=h._j[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=h._j.default.getThemeVariables(e.themeVariables));let r="object"==typeof e?(0,h.Yn)(e):(0,h.ZD)();(0,h.Ub)(r.logLevel),eu()}(0,h.eW)(i8,"initialize");var i9=(0,h.eW)((t,e={})=>{let{code:r}=iU(t);return eg.fromText(r,e)},"getDiagramFromText");function i7(t,e,r,i){ef(e,t),ep(e,r,i,e.attr("id"))}(0,h.eW)(i7,"addA11yInfo");var nt=Object.freeze({render:i4,parse:iQ,getDiagramFromText:i9,initialize:i8,getConfig:h.iE,setConfig:h.v6,getSiteConfig:h.ZD,updateSiteConfig:h.Tb,reset:(0,h.eW)(()=>{(0,h.mc)()},"reset"),globalReset:(0,h.eW)(()=>{(0,h.mc)(h.u_)},"globalReset"),defaultConfig:h.u_});(0,h.Ub)((0,h.iE)().logLevel),(0,h.mc)((0,h.iE)());var ne=(0,h.eW)((t,e,r)=>{h.cM.warn(t),(0,a.bZ)(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),nr=(0,h.eW)(async function(t={querySelector:".mermaid"}){try{await ni(t)}catch(e){if((0,a.bZ)(e)&&h.cM.error(e.str),np.parseError&&np.parseError(e),!t.suppressErrors)throw h.cM.error("Use the suppressErrors option to suppress these errors"),e}},"run"),ni=(0,h.eW)(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let i,n;let o=nt.getConfig();if(h.cM.debug(`${t?"":"No "}Callback function found`),r)i=r;else if(e)i=document.querySelectorAll(e);else throw Error("Nodes and querySelector are both undefined");h.cM.debug(`Found ${i.length} diagrams`),o?.startOnLoad!==void 0&&(h.cM.debug("Start On Load: "+o?.startOnLoad),nt.updateSiteConfig({startOnLoad:o?.startOnLoad}));let s=new a.w8.InitIDGenerator(o.deterministicIds,o.deterministicIDSeed),l=[];for(let e of Array.from(i)){if(h.cM.info("Rendering diagram: "+e.id),e.getAttribute("data-processed"))continue;e.setAttribute("data-processed","true");let r=`mermaid-${s.next()}`;n=e.innerHTML,n=(0,c.Z)(a.w8.entityDecode(n)).trim().replace(/<br\s*\/?>/gi,"<br/>");let i=a.w8.detectInit(n);i&&h.cM.debug("Detected early reinit: ",i);try{let{svg:i,bindFunctions:o}=await nf(r,n,e);e.innerHTML=i,t&&await t(r),o&&o(e)}catch(t){ne(t,l,np.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),nn=(0,h.eW)(function(t){nt.initialize(t)},"initialize"),no=(0,h.eW)(async function(t,e,r){h.cM.warn("mermaid.init is deprecated. Please use run instead."),t&&nn(t);let i={postRenderCallback:r,querySelector:".mermaid"};"string"==typeof e?i.querySelector=e:e&&(e instanceof HTMLElement?i.nodes=[e]:i.nodes=e),await nr(i)},"init"),na=(0,h.eW)(async(t,{lazyLoad:e=!0}={})=>{eu(),(0,h.KO)(...t),!1===e&&await ed()},"registerExternalDiagrams"),ns=(0,h.eW)(function(){if(np.startOnLoad){let{startOnLoad:t}=nt.getConfig();t&&np.run().catch(t=>h.cM.error("Mermaid failed to initialize",t))}},"contentLoaded");"undefined"!=typeof document&&window.addEventListener("load",ns,!1);var nl=(0,h.eW)(function(t){np.parseError=t},"setParseErrorHandler"),nh=[],nc=!1,nu=(0,h.eW)(async()=>{if(!nc){for(nc=!0;nh.length>0;){let t=nh.shift();if(t)try{await t()}catch(t){h.cM.error("Error executing queue",t)}}nc=!1}},"executeQueue"),nd=(0,h.eW)(async(t,e)=>new Promise((r,i)=>{let n=(0,h.eW)(()=>new Promise((n,o)=>{nt.parse(t,e).then(t=>{n(t),r(t)},t=>{h.cM.error("Error parsing",t),np.parseError?.(t),o(t),i(t)})}),"performCall");nh.push(n),nu().catch(i)}),"parse"),nf=(0,h.eW)((t,e,r)=>new Promise((i,n)=>{let o=(0,h.eW)(()=>new Promise((o,a)=>{nt.render(t,e,r).then(t=>{o(t),i(t)},t=>{h.cM.error("Error parsing",t),np.parseError?.(t),a(t),n(t)})}),"performCall");nh.push(o),nu().catch(n)}),"render"),np={startOnLoad:!0,mermaidAPI:nt,parse:nd,render:nf,init:no,run:nr,registerExternalDiagrams:na,registerLayoutLoaders:o.jM,initialize:nn,parseError:void 0,contentLoaded:ns,setParseErrorHandler:nl,detectType:h.Vg,registerIconPacks:n.ef},ng=np}}]); \ No newline at end of file diff --git a/assets/js/3200d13e.a21e5c4c.js b/assets/js/3200d13e.a21e5c4c.js new file mode 100644 index 0000000000..0c2f2a2721 --- /dev/null +++ b/assets/js/3200d13e.a21e5c4c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["69617"],{44161:function(e,s,i){i.r(s),i.d(s,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>u,metadata:()=>c,toc:()=>a});var c=i(61031),r=i(85893),n=i(80980);let u={mdx:{format:"md"},date:"2020-08-01T20:00",authors:["BuckyMaler","Drewbi","francoischalifour","mdfaizan7","mpsq","slorber","teikjun","zxuqian"]},l="2.0.0-alpha.61",o={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},a=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 8",id:"committers-8",level:2}];function t(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3083",children:"#3083"})," feat(v2): warn user when there are conflicting routes (",(0,r.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3158",children:"#3158"})," feat(v2): markdown pages (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3127",children:"#3127"})," feat(v2): dark mode toggle customization (",(0,r.jsx)(s.a,{href:"https://github.com/Drewbi",children:"@Drewbi"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3166",children:"#3166"})," feat(v2): improve Algolia search accessibility (",(0,r.jsx)(s.a,{href:"https://github.com/francoischalifour",children:"@francoischalifour"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2359",children:"#2359"})," feat(v2): support custom description for blog-only mode (",(0,r.jsx)(s.a,{href:"https://github.com/zxuqian",children:"@zxuqian"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3180",children:"#3180"})," fix(v2): fix markdown images always using webpack url-loader (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3171",children:"#3171"})," fix(v2): tab label showing outline & background when clicked (",(0,r.jsx)(s.a,{href:"https://github.com/mdfaizan7",children:"@mdfaizan7"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3168",children:"#3168"})," fix(v2): fix link items refusing attributes like target, rel etc... (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3162",children:"#3162"})," fix(v2): inability for users to pin their docusaurus version (",(0,r.jsx)(s.a,{href:"https://github.com/BuckyMaler",children:"@BuckyMaler"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3163",children:"#3163"})," docs(v2): showcase user questdb (",(0,r.jsx)(s.a,{href:"https://github.com/mpsq",children:"@mpsq"}),")"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Other\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3164",children:"#3164"})," chore(deps): bump elliptic from 6.5.2 to 6.5.3 (",(0,r.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3157",children:"#3157"})," chore(v2): remove alpha 59 doc (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-1.x"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-init-1.x"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),", ",(0,r.jsx)(s.code,{children:"lqip-loader"}),", ",(0,r.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3154",children:"#3154"})," chore(v2): prepare v2.0.0.alpha-60 release (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"committers-8",children:"Committers: 8"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Bucky Maler (",(0,r.jsx)(s.a,{href:"https://github.com/BuckyMaler",children:"@BuckyMaler"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Drew Alexander (",(0,r.jsx)(s.a,{href:"https://github.com/Drewbi",children:"@Drewbi"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Faizan (",(0,r.jsx)(s.a,{href:"https://github.com/mdfaizan7",children:"@mdfaizan7"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Fran\xe7ois Chalifour (",(0,r.jsx)(s.a,{href:"https://github.com/francoischalifour",children:"@francoischalifour"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["M\xe9ril (",(0,r.jsx)(s.a,{href:"https://github.com/mpsq",children:"@mpsq"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Teik Jun (",(0,r.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Xuqian (",(0,r.jsx)(s.a,{href:"https://github.com/zxuqian",children:"@zxuqian"}),")"]}),"\n"]})]})}function d(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(t,{...e})}):t(e)}},80980:function(e,s,i){i.d(s,{Z:()=>l,a:()=>u});var c=i(67294);let r={},n=c.createContext(r);function u(e){let s=c.useContext(n);return c.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:u(e.components),c.createElement(n.Provider,{value:s},e.children)}},61031:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.61","source":"@site/changelog/source/2.0.0-alpha.61.md","title":"2.0.0-alpha.61","description":"New Feature","date":"2020-08-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Bucky Maler","alias":"BuckyMaler","url":"https://github.com/BuckyMaler","imageURL":"https://github.com/BuckyMaler.png","key":"BuckyMaler","page":null},{"name":"Drew Alexander","alias":"Drewbi","url":"https://github.com/Drewbi","imageURL":"https://github.com/Drewbi.png","key":"Drewbi","page":null},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},{"name":"Faizan","alias":"mdfaizan7","url":"https://github.com/mdfaizan7","imageURL":"https://github.com/mdfaizan7.png","key":"mdfaizan7","page":null},{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"Xuqian","alias":"zxuqian","url":"https://github.com/zxuqian","imageURL":"https://github.com/zxuqian.png","key":"zxuqian","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-08-01T20:00","authors":["BuckyMaler","Drewbi","francoischalifour","mdfaizan7","mpsq","slorber","teikjun","zxuqian"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.62","permalink":"/changelog/2.0.0-alpha.62"},"nextItem":{"title":"2.0.0-alpha.60","permalink":"/changelog/2.0.0-alpha.60"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/3217192f.481367a6.js b/assets/js/3217192f.481367a6.js deleted file mode 100644 index 155c3a83bf..0000000000 --- a/assets/js/3217192f.481367a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[8462],{8174:s=>{s.exports=JSON.parse('{"tag":{"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description","allTagsPath":"/blog/tags","count":4,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/docusaurus","page":1,"postsPerPage":10,"totalPages":1,"totalCount":4,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/3217192f.f74bd5b5.js b/assets/js/3217192f.f74bd5b5.js new file mode 100644 index 0000000000..34e6cd8625 --- /dev/null +++ b/assets/js/3217192f.f74bd5b5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["93820"],{33376:function(s){s.exports=JSON.parse('{"tag":{"label":"Docusaurus","permalink":"/blog/tags/docusaurus","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/docusaurus","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/322917e9.8733eda4.js b/assets/js/322917e9.8733eda4.js new file mode 100644 index 0000000000..1d17f7c368 --- /dev/null +++ b/assets/js/322917e9.8733eda4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["98127"],{78295:function(e){e.exports=JSON.parse('{"author":{"name":"Alexey Pyltsyn","title":"Open-source enthusiast","url":"https://github.com/lex111","email":"lex@php.net","page":{"permalink":"/blog/authors/lex-111"},"imageURL":"https://github.com/lex111.png","key":"lex111","count":2},"listMetadata":{"permalink":"/blog/authors/lex-111","page":1,"postsPerPage":5,"totalPages":1,"totalCount":2,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/3291828e.15ca597c.js b/assets/js/3291828e.15ca597c.js new file mode 100644 index 0000000000..1dc9efc980 --- /dev/null +++ b/assets/js/3291828e.15ca597c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["50284"],{31901:function(e,s,r){r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>c});var n=r(67169),t=r(85893),i=r(80980);let o={mdx:{format:"md"},date:"2023-05-15T20:00",authors:["andrewnicols","armano2","LiberaTeMetuMortis","morsko1","SACHINnANYAKKARA","slorber","tarunrajput"]},a="2.4.1",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0]},c=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"Committers: 7",id:"committers-7",level:2}];function h(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8971",children:"#8971"})," fix(theme): fix collapsible sidebar behavior when prefers-reduced-motion (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8933",children:"#8933"}),' fix(theme-translations): fix Turkish translation for aria label "Enter key" (',(0,t.jsx)(s.a,{href:"https://github.com/LiberaTeMetuMortis",children:"@LiberaTeMetuMortis"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8908",children:"#8908"})," fix(core): Correct yarn upgrade command for yarn 2.x (",(0,t.jsx)(s.a,{href:"https://github.com/andrewnicols",children:"@andrewnicols"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,t.jsx)(s.code,{children:"docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8909",children:"#8909"})," fix(theme): add __ prefix to technical anchors, search crawlers (Algolia) should ignore them (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8906",children:"#8906"})," fix(theme-common): fix collapsible component with prefers-reduced-motion (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8873",children:"#8873"})," fix(theme-common): fix confusing theme error message: bad sidebar id suggestions (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8874",children:"#8874"})," fix(utils): handle Markdown links with spaces to route correctly (",(0,t.jsx)(s.a,{href:"https://github.com/morsko1",children:"@morsko1"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8842",children:"#8842"})," fix(theme-translations): remove redundant navigation text in aria label (",(0,t.jsx)(s.a,{href:"https://github.com/tarunrajput",children:"@tarunrajput"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8831",children:"#8831"})," fix(create): add missing await (",(0,t.jsx)(s.a,{href:"https://github.com/SACHINnANYAKKARA",children:"@SACHINnANYAKKARA"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8862",children:"#8862"})," refactor(theme): expose copy, success and word-wrap icons as standalone components (",(0,t.jsx)(s.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"committers-7",children:"Committers: 7"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Aleksandr Vladykin (",(0,t.jsx)(s.a,{href:"https://github.com/morsko1",children:"@morsko1"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Andrew Lyons (",(0,t.jsx)(s.a,{href:"https://github.com/andrewnicols",children:"@andrewnicols"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Armano (",(0,t.jsx)(s.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["MetuMortis (",(0,t.jsx)(s.a,{href:"https://github.com/LiberaTeMetuMortis",children:"@LiberaTeMetuMortis"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Sachin Nanayakkara (",(0,t.jsx)(s.a,{href:"https://github.com/SACHINnANYAKKARA",children:"@SACHINnANYAKKARA"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Tarun Chauhan (",(0,t.jsx)(s.a,{href:"https://github.com/tarunrajput",children:"@tarunrajput"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},80980:function(e,s,r){r.d(s,{Z:()=>a,a:()=>o});var n=r(67294);let t={},i=n.createContext(t);function o(e){let s=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),n.createElement(i.Provider,{value:s},e.children)}},67169:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.4.1","source":"@site/changelog/source/2.4.1.md","title":"2.4.1","description":"Bug Fix","date":"2023-05-15T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Andrew Lyons","alias":"andrewnicols","url":"https://github.com/andrewnicols","imageURL":"https://github.com/andrewnicols.png","key":"andrewnicols","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"MetuMortis","alias":"LiberaTeMetuMortis","url":"https://github.com/LiberaTeMetuMortis","imageURL":"https://github.com/LiberaTeMetuMortis.png","key":"LiberaTeMetuMortis","page":null},{"name":"Aleksandr Vladykin","alias":"morsko1","url":"https://github.com/morsko1","imageURL":"https://github.com/morsko1.png","key":"morsko1","page":null},{"name":"Sachin Nanayakkara","alias":"SACHINnANYAKKARA","url":"https://github.com/SACHINnANYAKKARA","imageURL":"https://github.com/SACHINnANYAKKARA.png","key":"SACHINnANYAKKARA","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tarun Chauhan","alias":"tarunrajput","url":"https://github.com/tarunrajput","imageURL":"https://github.com/tarunrajput.png","key":"tarunrajput","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-05-15T20:00","authors":["andrewnicols","armano2","LiberaTeMetuMortis","morsko1","SACHINnANYAKKARA","slorber","tarunrajput"]},"unlisted":false,"prevItem":{"title":"2.4.2","permalink":"/changelog/2.4.2"},"nextItem":{"title":"2.4.0","permalink":"/changelog/2.4.0"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/32a09314.1830befe.js b/assets/js/32a09314.1830befe.js new file mode 100644 index 0000000000..0414e2df15 --- /dev/null +++ b/assets/js/32a09314.1830befe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["43932"],{49820:function(t,e,s){s.r(e),s.d(e,{frontMatter:()=>d,default:()=>c,contentTitle:()=>o,assets:()=>r,toc:()=>a,metadata:()=>i});var i=JSON.parse('{"id":"tests/visibility/some-unlisteds/unlisted1","title":"Some Unlisteds - Unlisted 1","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/unlisted1.mdx","sourceDirName":"tests/visibility/some-unlisteds","slug":"/tests/visibility/some-unlisteds/unlisted1","permalink":"/tests/docs/tests/visibility/some-unlisteds/unlisted1","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"}'),n=s(85893),l=s(80980);let d={unlisted:!0,tags:["visibility","unlisted"]},o="Some Unlisteds - Unlisted 1",r={},a=[];function u(t){let e={h1:"h1",header:"header",p:"p",...(0,l.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"some-unlisteds---unlisted-1",children:"Some Unlisteds - Unlisted 1"})}),"\n",(0,n.jsx)(e.p,{children:"Doc with unlisted front matter"})]})}function c(t={}){let{wrapper:e}={...(0,l.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(u,{...t})}):u(t)}c.displayName="MDXContent(_dogfooding/_docs tests/tests/visibility/some-unlisteds/unlisted1.mdx)"},80980:function(t,e,s){s.d(e,{Z:()=>o,a:()=>d});var i=s(67294);let n={},l=i.createContext(n);function d(t){let e=i.useContext(l);return i.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:d(t.components),i.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/32bd6f31.7415c4f8.js b/assets/js/32bd6f31.7415c4f8.js new file mode 100644 index 0000000000..ead1a214d6 --- /dev/null +++ b/assets/js/32bd6f31.7415c4f8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["41254"],{47152:function(e,t,o){o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>n,toc:()=>f});var n=o(44672),s=o(85893),r=o(80980);let a={title:"Third post with footnote to test posts with same footnote reference."},i=void 0,c={authorsImageUrls:[]},f=[];function l(e){let t={a:"a",h2:"h2",li:"li",ol:"ol",p:"p",section:"section",sup:"sup",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["foo",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-1-571702",id:"user-content-fnref-1-571702","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"1"})})]}),"\n",(0,s.jsxs)(t.p,{children:["bar",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-2-571702",id:"user-content-fnref-2-571702","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"2"})})]}),"\n",(0,s.jsxs)(t.p,{children:["baz",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-3-571702",id:"user-content-fnref-3-571702","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"3"})})]}),"\n","\n",(0,s.jsxs)(t.section,{"data-footnotes":!0,className:"footnotes",children:[(0,s.jsx)(t.h2,{className:"sr-only",id:"footnote-label",children:"Footnotes"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{id:"user-content-fn-1-571702",children:["\n",(0,s.jsxs)(t.p,{children:["foo ",(0,s.jsx)(t.a,{href:"#user-content-fnref-1-571702","data-footnote-backref":"","aria-label":"Back to reference 1",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{id:"user-content-fn-2-571702",children:["\n",(0,s.jsxs)(t.p,{children:["bar ",(0,s.jsx)(t.a,{href:"#user-content-fnref-2-571702","data-footnote-backref":"","aria-label":"Back to reference 2",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{id:"user-content-fn-3-571702",children:["\n",(0,s.jsxs)(t.p,{children:["baz ",(0,s.jsx)(t.a,{href:"#user-content-fnref-3-571702","data-footnote-backref":"","aria-label":"Back to reference 3",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n"]}),"\n"]})]})}function d(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},80980:function(e,t,o){o.d(t,{Z:()=>i,a:()=>a});var n=o(67294);let s={},r=n.createContext(s);function a(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(r.Provider,{value:t},e.children)}},44672:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2022/01/21/dup-footnote","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-01-21-dup-footnote.mdx","source":"@site/_dogfooding/_blog tests/2022-01-21-dup-footnote.mdx","title":"Third post with footnote to test posts with same footnote reference.","description":"foo","date":"2022-01-21T00:00:00.000Z","tags":[],"readingTime":1.8,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Third post with footnote to test posts with same footnote reference."},"unlisted":false,"prevItem":{"title":"Second post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/22/dup-footnote"},"nextItem":{"title":"Image-only authors","permalink":"/tests/blog/2022/01/20/image-only-authors"}}')}}]); \ No newline at end of file diff --git a/assets/js/33a17176.51b09f52.js b/assets/js/33a17176.51b09f52.js new file mode 100644 index 0000000000..ff42a7774a --- /dev/null +++ b/assets/js/33a17176.51b09f52.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["79122"],{23491:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png"},34873:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-e1b6e0c51be29d4ab2d4c966d220410c.png"},95606:function(e,t,s){s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var a=s(70694),r=s(85893),n=s(80980);let o={title:"Docusaurus 3.1",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-01-05T00:00:00.000Z")},i=void 0,c={image:s(23491).Z,authorsImageUrls:[void 0]},l=[];function u(e){let t={a:"a",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["We are happy to announce ",(0,r.jsx)(t.strong,{children:"Docusaurus 3.1"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["The upgrade should be easy: as explained in our ",(0,r.jsx)(t.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,r.jsx)(t.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Docusaurus blog post social card",src:s(34873).Z+"",width:"1200",height:"600"})})]})}function p(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>o});var a=s(67294);let r={},n=a.createContext(r);function o(e){let t=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(n.Provider,{value:t},e.children)}},70694:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.1","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.1/index.mdx","source":"@site/blog/releases/3.1/index.mdx","title":"Docusaurus 3.1","description":"We are happy to announce Docusaurus 3.1.","date":"2024-01-05T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":1.665,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.1","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-01-05T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.2","permalink":"/blog/releases/3.2"},"nextItem":{"title":"Announcing Docusaurus 3.0","permalink":"/blog/releases/3.0"}}')}}]); \ No newline at end of file diff --git a/assets/js/33bfb584.1c4f31ea.js b/assets/js/33bfb584.1c4f31ea.js new file mode 100644 index 0000000000..84f2cd6312 --- /dev/null +++ b/assets/js/33bfb584.1c4f31ea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["7809"],{68480:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>u,default:()=>p,contentTitle:()=>o,assets:()=>c,toc:()=>d,metadata:()=>r});var r=JSON.parse('{"id":"api/misc/eslint-plugin/README","title":"\uD83D\uDCE6 eslint-plugin","description":"ESLint is a tool that statically analyzes your code and reports problems or suggests best practices through editor hints and command line. Docusaurus provides an ESLint plugin to enforce best Docusaurus practices.","source":"@site/docs/api/misc/eslint-plugin/README.mdx","sourceDirName":"api/misc/eslint-plugin","slug":"/api/misc/@docusaurus/eslint-plugin","permalink":"/docs/api/misc/@docusaurus/eslint-plugin","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/eslint-plugin/README.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":1,"frontMatter":{"sidebar_position":1,"slug":"/api/misc/@docusaurus/eslint-plugin"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 create-docusaurus","permalink":"/docs/api/misc/create-docusaurus"},"next":{"title":"no-html-links","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/no-html-links"}}'),t=s(85893),l=s(80980),i=s(15398),a=s(58636);let u={sidebar_position:1,slug:"/api/misc/@docusaurus/eslint-plugin"},o="\uD83D\uDCE6 eslint-plugin",c={},d=[{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Recommended config",id:"recommended-config",level:3},{value:"Manual config",id:"manual-config",level:3},{value:"Supported configs",id:"supported-configs",level:2},{value:"Supported rules",id:"supported-rules",level:2},{value:"Example configuration",id:"example-configuration",level:2}];function h(e){let n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"-eslint-plugin",children:"\uD83D\uDCE6 eslint-plugin"})}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://eslint.org/",children:"ESLint"})," is a tool that statically analyzes your code and reports problems or suggests best practices through editor hints and command line. Docusaurus provides an ESLint plugin to enforce best Docusaurus practices."]}),"\n",(0,t.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,t.jsxs)(i.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(a.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm install --save-dev @docusaurus/eslint-plugin\n"})})}),(0,t.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn add --dev @docusaurus/eslint-plugin\n"})})}),(0,t.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm add --save-dev @docusaurus/eslint-plugin\n"})})})]}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(n.h3,{id:"recommended-config",children:"Recommended config"}),"\n",(0,t.jsxs)(n.p,{children:["Add ",(0,t.jsx)(n.code,{children:"plugin:@docusaurus/recommended"})," to the ",(0,t.jsx)(n.code,{children:"extends"})," section of your ",(0,t.jsx)(n.code,{children:".eslintrc"})," configuration file:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",metastring:'title=".eslintrc"',children:'{\n "extends": ["plugin:@docusaurus/recommended"]\n}\n'})}),"\n",(0,t.jsxs)(n.p,{children:["This will enable the ",(0,t.jsx)(n.code,{children:"@docusaurus"})," eslint plugin and use the ",(0,t.jsx)(n.code,{children:"recommended"})," config. See ",(0,t.jsx)(n.a,{href:"#supported-rules",children:"Supported rules"})," below for a list of rules that this will enable."]}),"\n",(0,t.jsx)(n.h3,{id:"manual-config",children:"Manual config"}),"\n",(0,t.jsx)(n.p,{children:"For more fine-grained control, you can also enable the plugin manually and configure the rules you want to use directly:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",metastring:'title=".eslintrc"',children:'{\n "plugins": ["@docusaurus"],\n "rules": {\n "@docusaurus/string-literal-i18n-messages": "error",\n "@docusaurus/no-untranslated-text": "warn"\n }\n}\n'})}),"\n",(0,t.jsx)(n.h2,{id:"supported-configs",children:"Supported configs"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Recommended: recommended rule set for most Docusaurus sites that should be extended from."}),"\n",(0,t.jsxs)(n.li,{children:["All: ",(0,t.jsx)(n.strong,{children:"all"})," rules enabled. This will change between minor versions, so you should not use this if you want to avoid unexpected breaking changes."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"supported-rules",children:"Supported rules"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Name"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text",children:(0,t.jsx)(n.code,{children:"@docusaurus/no-untranslated-text"})})}),(0,t.jsx)(n.td,{children:"Enforce text labels in JSX to be wrapped by translate calls"}),(0,t.jsx)(n.td,{})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages",children:(0,t.jsx)(n.code,{children:"@docusaurus/string-literal-i18n-messages"})})}),(0,t.jsx)(n.td,{children:"Enforce translate APIs to be called on plain text labels"}),(0,t.jsx)(n.td,{children:"\u2705"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"/docs/api/misc/@docusaurus/eslint-plugin/no-html-links",children:(0,t.jsx)(n.code,{children:"@docusaurus/no-html-links"})})}),(0,t.jsxs)(n.td,{children:["Ensures @docusaurus/Link is used instead of ",(0,t.jsx)(n.code,{children:"<a>"})," tags"]}),(0,t.jsx)(n.td,{children:"\u2705"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading",children:(0,t.jsx)(n.code,{children:"@docusaurus/prefer-docusaurus-heading"})})}),(0,t.jsxs)(n.td,{children:["Ensures @theme/Heading is used instead of ",(0,t.jsx)(n.code,{children:"<hn>"})," tags for headings"]}),(0,t.jsx)(n.td,{children:"\u2705"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"\u2705 = recommended"}),"\n",(0,t.jsx)(n.h2,{id:"example-configuration",children:"Example configuration"}),"\n",(0,t.jsx)(n.p,{children:"Here's an example configuration:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title=".eslintrc.js"',children:"module.exports = {\n extends: ['plugin:@docusaurus/recommended'],\n rules: {\n '@docusaurus/no-untranslated-text': [\n 'warn',\n {ignoredStrings: ['\xb7', '\u2014', '\xd7']},\n ],\n },\n};\n"})})]})}function p(e={}){let{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},58636:function(e,n,s){s.d(n,{Z:()=>l});var r=s(85893);s(67294);var t=s(90496);function l(e){let{children:n,hidden:s,className:l}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,t.Z)("tabItem_pnkT",l),hidden:s,children:n})}},15398:function(e,n,s){s.d(n,{Z:()=>j});var r=s(85893),t=s(67294),l=s(90496),i=s(54947),a=s(3620),u=s(844),o=s(97486),c=s(32263),d=s(16971);function h(e){return t.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||t.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:n,tabValues:s}=e;return s.some(e=>e.value===n)}var m=s(71607);function g(e){let{className:n,block:s,selectedValue:t,selectValue:a,tabValues:u}=e,o=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{let n=e.currentTarget,s=u[o.indexOf(n)].value;s!==t&&(c(n),a(s))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let s=o.indexOf(e.currentTarget)+1;n=o[s]??o[0];break}case"ArrowLeft":{let s=o.indexOf(e.currentTarget)-1;n=o[s]??o[o.length-1]}}n?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":s},n),children:u.map(e=>{let{value:n,label:s,attributes:i}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>{o.push(e)},onKeyDown:h,onClick:d,...i,className:(0,l.Z)("tabs__item","tabItem_AQgk",i?.className,{"tabs__item--active":t===n}),children:s??n},n)})})}function f(e){let{lazy:n,children:s,selectedValue:i}=e,a=(Array.isArray(s)?s:[s]).filter(Boolean);if(n){let e=a.find(e=>e.props.value===i);return e?(0,t.cloneElement)(e,{className:(0,l.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:a.map((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==i}))})}function x(e){let n=function(e){let{defaultValue:n,queryString:s=!1,groupId:r}=e,l=function(e){let{values:n,children:s}=e;return(0,t.useMemo)(()=>{let e=n??h(s).map(e=>{let{props:{value:n,label:s,attributes:r,default:t}}=e;return{value:n,label:s,attributes:r,default:t}});return!function(e){let n=(0,c.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,s])}(e),[i,m]=(0,t.useState)(()=>(function(e){let{defaultValue:n,tabValues:s}=e;if(0===s.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:s}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${s.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let r=s.find(e=>e.default)??s[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:n,tabValues:l})),[g,f]=function(e){let{queryString:n=!1,groupId:s}=e,r=(0,a.k6)(),l=function(e){let{queryString:n=!1,groupId:s}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!s)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:n,groupId:s});return[(0,o._X)(l),(0,t.useCallback)(e=>{if(!l)return;let n=new URLSearchParams(r.location.search);n.set(l,e),r.replace({...r.location,search:n.toString()})},[l,r])]}({queryString:s,groupId:r}),[x,j]=function(e){let{groupId:n}=e,s=n?`docusaurus.tab.${n}`:null,[r,l]=(0,d.Nk)(s);return[r,(0,t.useCallback)(e=>{s&&l.set(e)},[s,l])]}({groupId:r}),b=(()=>{let e=g??x;return p({value:e,tabValues:l})?e:null})();return(0,u.Z)(()=>{b&&m(b)},[b]),{selectedValue:i,selectValue:(0,t.useCallback)(e=>{if(!p({value:e,tabValues:l}))throw Error(`Can't select invalid tab value=${e}`);m(e),f(e),j(e)},[f,j,l]),tabValues:l}}(e);return(0,r.jsxs)("div",{className:(0,l.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(g,{...n,...e}),(0,r.jsx)(f,{...n,...e})]})}function j(e){let n=(0,m.Z)();return(0,r.jsx)(x,{...e,children:h(e.children)},String(n))}},80980:function(e,n,s){s.d(n,{Z:()=>a,a:()=>i});var r=s(67294);let t={},l=r.createContext(t);function i(e){let n=r.useContext(l);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/33fc5bb8.777db569.js b/assets/js/33fc5bb8.777db569.js deleted file mode 100644 index 8aa2dadfb9..0000000000 --- a/assets/js/33fc5bb8.777db569.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[867],{1831:(e,t,n)=>{"use strict";n.d(t,{in:()=>c,OU:()=>C,Ki:()=>k,kJ:()=>x,x:()=>i,e7:()=>d,J_:()=>f,Gx:()=>y});var s=n(6540),a=n(9129),r=n(9060),o=n(4848);function i(){const e=(0,r.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const l=s.createContext(null);function c(e){let{children:t,content:n,isBlogPostPage:a=!1}=e;const r=function(e){let{content:t,isBlogPostPage:n}=e;return(0,s.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:n})),[t,n])}({content:n,isBlogPostPage:a});return(0,o.jsx)(l.Provider,{value:r,children:t})}function d(){const e=(0,s.useContext)(l);if(null===e)throw new a.dV("BlogPostProvider");return e}var u=n(5e3),m=n(1571);const h=e=>new Date(e).toISOString();function g(e){const t=e.map(j);return{author:1===t.length?t[0]:t}}function p(e,t,n){return e?{image:v({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${n}`})}:{}}function x(e){const{siteConfig:t}=(0,m.A)(),{withBaseUrl:n}=(0,u.hH)(),{metadata:{blogDescription:s,blogTitle:a,permalink:r}}=e,o=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":o,mainEntityOfPage:o,headline:a,description:s,blogPost:e.items.map((e=>function(e,t,n){const{assets:s,frontMatter:a,metadata:r}=e,{date:o,title:i,description:l,lastUpdatedAt:c}=r,d=s.image??a.image,u=a.keywords??[],m=`${t.url}${r.permalink}`,x=c?h(c):void 0;return{"@type":"BlogPosting","@id":m,mainEntityOfPage:m,url:m,headline:i,name:i,description:l,datePublished:o,...x?{dateModified:x}:{},...g(r.authors),...p(d,n,i),...u?{keywords:u}:{}}}(e.content,t,n)))}}function f(){const e=i(),{assets:t,metadata:n}=d(),{siteConfig:s}=(0,m.A)(),{withBaseUrl:a}=(0,u.hH)(),{date:r,title:o,description:l,frontMatter:c,lastUpdatedAt:x}=n,f=t.image??c.image,j=c.keywords??[],v=x?h(x):void 0,b=`${s.url}${n.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":b,mainEntityOfPage:b,url:b,headline:o,name:o,description:l,datePublished:r,...v?{dateModified:v}:{},...g(n.authors),...p(f,a,o),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function v(e){let{imageUrl:t,caption:n}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:n}}var b=n(9519),w=n(5739),A=n(29),N=n(5438);function y(e){const{pathname:t}=(0,b.zy)();return(0,s.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,N.ys)(e.permalink,t))}(e,t)))),[e,t])}function k(e){const t=(0,A.$z)(e,(e=>`${new Date(e.date).getFullYear()}`)),n=Object.entries(t);return n.reverse(),n}function C(e){let{items:t,ulClassName:n,liClassName:s,linkClassName:a,linkActiveClassName:r}=e;return(0,o.jsx)("ul",{className:n,children:t.map((e=>(0,o.jsx)("li",{className:s,children:(0,o.jsx)(w.A,{isNavLink:!0,to:e.permalink,className:a,activeClassName:r,children:e.title})},e.permalink)))})}},2473:(e,t,n)=>{"use strict";n.d(t,{A:()=>P});var s=n(6540),a=n(4848);function r(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),r=t.filter((e=>e!==n)),o=n?.props.children;return{mdxAdmonitionTitle:o,rest:r.length>0?(0,a.jsx)(a.Fragment,{children:r}):null}}(e.children),r=e.title??t;return{...e,...r&&{title:r},children:n}}var o=n(1750),i=n(4709),l=n(8532);const c="admonition_o5H7",d="admonitionHeading_FzoX",u="admonitionIcon_rXq6",m="admonitionContent_Knsx";function h(e){let{type:t,className:n,children:s}=e;return(0,a.jsx)("div",{className:(0,o.A)(l.G.common.admonition,l.G.common.admonitionType(t),c,n),children:s})}function g(e){let{icon:t,title:n}=e;return(0,a.jsxs)("div",{className:d,children:[(0,a.jsx)("span",{className:u,children:t}),n]})}function p(e){let{children:t}=e;return t?(0,a.jsx)("div",{className:m,children:t}):null}function x(e){const{type:t,icon:n,title:s,children:r,className:o}=e;return(0,a.jsxs)(h,{type:t,className:o,children:[s||n?(0,a.jsx)(g,{title:s,icon:n}):null,(0,a.jsx)(p,{children:r})]})}function f(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const j={icon:(0,a.jsx)(f,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function v(e){return(0,a.jsx)(x,{...j,...e,className:(0,o.A)("alert alert--secondary",e.className),children:e.children})}function b(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const w={icon:(0,a.jsx)(b,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function A(e){return(0,a.jsx)(x,{...w,...e,className:(0,o.A)("alert alert--success",e.className),children:e.children})}function N(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const y={icon:(0,a.jsx)(N,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function k(e){return(0,a.jsx)(x,{...y,...e,className:(0,o.A)("alert alert--info",e.className),children:e.children})}function C(e){return(0,a.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const B={icon:(0,a.jsx)(C,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function _(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const M={icon:(0,a.jsx)(_,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const T={icon:(0,a.jsx)(C,{}),title:(0,a.jsx)(i.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const L={...{note:v,tip:A,info:k,warning:function(e){return(0,a.jsx)(x,{...B,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,a.jsx)(x,{...M,...e,className:(0,o.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,a.jsx)(v,{title:"secondary",...e}),important:e=>(0,a.jsx)(k,{title:"important",...e}),success:e=>(0,a.jsx)(A,{title:"success",...e}),caution:function(e){return(0,a.jsx)(x,{...T,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})}}};function P(e){const t=r(e),n=(s=t.type,L[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),L.info));var s;return(0,a.jsx)(n,{...t})}},2013:(e,t,n)=>{"use strict";n.d(t,{A:()=>A});var s=n(6540),a=n(1750),r=n(5739),o=n(4848);const i="githubSvg_jqE4";const l="xSvg_Q0g7";const c=function(e){return(0,o.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,o.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,o.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,o.jsx)("path",{d:"M3.6 9h16.8"}),(0,o.jsx)("path",{d:"M3.6 15h16.8"}),(0,o.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,o.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})};const d="instagramSvg_Svcp";const u="threadsSvg_kngY";const m={authorSocials:"authorSocials_tPnL",authorSocialLink:"authorSocialLink_hEWM",authorSocialIcon:"authorSocialIcon_hTX6"},h={twitter:{Icon:function(e){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 209",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",...e,children:(0,o.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 250",preserveAspectRatio:"xMidYMid",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.A)(e.className,i),children:(0,o.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,o.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,o.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,o.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,o.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.A)(e.className,l),children:(0,o.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"},bluesky:{Icon:function(e){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 226",...e,children:(0,o.jsx)("path",{fill:"#1185FE",d:"M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"})})},label:"Bluesky"},instagram:{Icon:function(e){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.A)(e.className,d),children:(0,o.jsx)("path",{d:"M128 23.064c34.177 0 38.225.13 51.722.745 12.48.57 19.258 2.655 23.769 4.408 5.974 2.322 10.238 5.096 14.717 9.575 4.48 4.479 7.253 8.743 9.575 14.717 1.753 4.511 3.838 11.289 4.408 23.768.615 13.498.745 17.546.745 51.723 0 34.178-.13 38.226-.745 51.723-.57 12.48-2.655 19.257-4.408 23.768-2.322 5.974-5.096 10.239-9.575 14.718-4.479 4.479-8.743 7.253-14.717 9.574-4.511 1.753-11.289 3.839-23.769 4.408-13.495.616-17.543.746-51.722.746-34.18 0-38.228-.13-51.723-.746-12.48-.57-19.257-2.655-23.768-4.408-5.974-2.321-10.239-5.095-14.718-9.574-4.479-4.48-7.253-8.744-9.574-14.718-1.753-4.51-3.839-11.288-4.408-23.768-.616-13.497-.746-17.545-.746-51.723 0-34.177.13-38.225.746-51.722.57-12.48 2.655-19.258 4.408-23.769 2.321-5.974 5.095-10.238 9.574-14.717 4.48-4.48 8.744-7.253 14.718-9.575 4.51-1.753 11.288-3.838 23.768-4.408 13.497-.615 17.545-.745 51.723-.745M128 0C93.237 0 88.878.147 75.226.77c-13.625.622-22.93 2.786-31.071 5.95-8.418 3.271-15.556 7.648-22.672 14.764C14.367 28.6 9.991 35.738 6.72 44.155 3.555 52.297 1.392 61.602.77 75.226.147 88.878 0 93.237 0 128c0 34.763.147 39.122.77 52.774.622 13.625 2.785 22.93 5.95 31.071 3.27 8.417 7.647 15.556 14.763 22.672 7.116 7.116 14.254 11.492 22.672 14.763 8.142 3.165 17.446 5.328 31.07 5.95 13.653.623 18.012.77 52.775.77s39.122-.147 52.774-.77c13.624-.622 22.929-2.785 31.07-5.95 8.418-3.27 15.556-7.647 22.672-14.763 7.116-7.116 11.493-14.254 14.764-22.672 3.164-8.142 5.328-17.446 5.95-31.07.623-13.653.77-18.012.77-52.775s-.147-39.122-.77-52.774c-.622-13.624-2.786-22.929-5.95-31.07-3.271-8.418-7.648-15.556-14.764-22.672C227.4 14.368 220.262 9.99 211.845 6.72c-8.142-3.164-17.447-5.328-31.071-5.95C167.122.147 162.763 0 128 0Zm0 62.27C91.698 62.27 62.27 91.7 62.27 128c0 36.302 29.428 65.73 65.73 65.73 36.301 0 65.73-29.428 65.73-65.73 0-36.301-29.429-65.73-65.73-65.73Zm0 108.397c-23.564 0-42.667-19.103-42.667-42.667S104.436 85.333 128 85.333s42.667 19.103 42.667 42.667-19.103 42.667-42.667 42.667Zm83.686-110.994c0 8.484-6.876 15.36-15.36 15.36-8.483 0-15.36-6.876-15.36-15.36 0-8.483 6.877-15.36 15.36-15.36 8.484 0 15.36 6.877 15.36 15.36Z"})})},label:"Instagram"},threads:{Icon:function(e){return(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-label":"Threads",viewBox:"0 0 192 192",width:"1em",fill:"none",height:"1em",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.A)(e.className,u),children:(0,o.jsx)("path",{d:"M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.229c8.249.053 14.474 2.452 18.503 7.129 2.932 3.405 4.893 8.111 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.194 47.292 9.642 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553ZM98.44 129.507c-10.44.588-21.286-4.098-21.82-14.135-.397-7.442 5.296-15.746 22.461-16.735 1.966-.114 3.895-.169 5.79-.169 6.235 0 12.068.606 17.371 1.765-1.978 24.702-13.58 28.713-23.802 29.274Z"})})},label:"Threads"},mastodon:{Icon:function(e){const t=(0,s.useId)();return(0,o.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 61 65",width:"1em",height:"1em",...e,children:[(0,o.jsx)("path",{fill:`url(#${t})`,d:"M60.754 14.39C59.814 7.406 53.727 1.903 46.512.836 45.294.656 40.682 0 29.997 0h-.08C19.23 0 16.938.656 15.72.836 8.705 1.873 2.299 6.82.745 13.886c-.748 3.48-.828 7.338-.689 10.877.198 5.075.237 10.142.697 15.197a71.482 71.482 0 0 0 1.664 9.968c1.477 6.056 7.458 11.096 13.317 13.152a35.718 35.718 0 0 0 19.484 1.028 28.365 28.365 0 0 0 2.107-.576c1.572-.5 3.413-1.057 4.766-2.038a.154.154 0 0 0 .062-.118v-4.899a.146.146 0 0 0-.055-.111.145.145 0 0 0-.122-.028 54 54 0 0 1-12.644 1.478c-7.328 0-9.298-3.478-9.863-4.925a15.258 15.258 0 0 1-.857-3.882.142.142 0 0 1 .178-.145 52.976 52.976 0 0 0 12.437 1.477c1.007 0 2.012 0 3.02-.026 4.213-.119 8.654-.334 12.8-1.144.103-.02.206-.038.295-.065 6.539-1.255 12.762-5.196 13.394-15.176.024-.393.083-4.115.083-4.523.003-1.386.446-9.829-.065-15.017Z"}),(0,o.jsx)("path",{fill:"#fff",d:"M50.394 22.237v17.35H43.52V22.749c0-3.545-1.478-5.353-4.483-5.353-3.303 0-4.958 2.139-4.958 6.364v9.217h-6.835V23.76c0-4.225-1.657-6.364-4.96-6.364-2.988 0-4.48 1.808-4.48 5.353v16.84H10.93V22.237c0-3.545.905-6.362 2.715-8.45 1.868-2.082 4.317-3.152 7.358-3.152 3.519 0 6.178 1.354 7.951 4.057l1.711 2.871 1.714-2.871c1.773-2.704 4.432-4.056 7.945-4.056 3.038 0 5.487 1.069 7.36 3.152 1.81 2.085 2.712 4.902 2.71 8.449Z"}),(0,o.jsx)("defs",{children:(0,o.jsxs)("linearGradient",{id:t,x1:30.5,x2:30.5,y1:0,y2:65,gradientUnits:"userSpaceOnUse",children:[(0,o.jsx)("stop",{stopColor:"#6364FF"}),(0,o.jsx)("stop",{offset:1,stopColor:"#563ACC"})]})})]})},label:"Mastodon"},youtube:{Icon:function(e){return(0,o.jsxs)("svg",{viewBox:"0 0 256 180",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:[(0,o.jsx)("path",{d:"M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134Z",fill:"red"}),(0,o.jsx)("path",{fill:"#FFF",d:"m102.421 128.06 66.328-38.418-66.328-38.418z"})]})},label:"YouTube"},twitch:{Icon:function(e){return(0,o.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 2400 2800",width:"1em",height:"1em",...e,children:[(0,o.jsx)("path",{d:"m2200 1300-400 400h-400l-350 350v-350H600V200h1600z",fill:"#fff"}),(0,o.jsxs)("g",{children:[(0,o.jsx)("path",{d:"M500 0 0 500v1800h600v500l500-500h400l900-900V0H500zm1700 1300-400 400h-400l-350 350v-350H600V200h1600v1100z",fill:"#9146ff"}),(0,o.jsx)("path",{d:"M1700 550h200v600h-200zM1150 550h200v600h-200z",fill:"#9146ff"})]})]})},label:"Twitch"}};function g(e){let{platform:t,link:n}=e;const{Icon:s,label:i}=h[l=t]??{Icon:c,label:l};var l;return(0,o.jsx)(r.A,{className:m.authorSocialLink,href:n,title:i,children:(0,o.jsx)(s,{className:(0,a.A)(m.authorSocialLink)})})}function p(e){let{author:t}=e;const n=Object.entries(t.socials??{});return(0,o.jsx)("div",{className:m.authorSocials,children:n.map((e=>{let[t,n]=e;return(0,o.jsx)(g,{platform:t,link:n},t)}))})}var x=n(2409);const f={authorImage:"authorImage_p8ow","author-as-h1":"author-as-h1_Pd3R","author-as-h2":"author-as-h2_UaZL",authorDetails:"authorDetails_dWdF",authorName:"authorName_Y8Hr",authorTitle:"authorTitle_Slpj",authorBlogPostCount:"authorBlogPostCount_FxU_"};function j(e){return e.href?(0,o.jsx)(r.A,{...e}):(0,o.jsx)(o.Fragment,{children:e.children})}function v(e){let{title:t}=e;return(0,o.jsx)("small",{className:f.authorTitle,title:t,children:t})}function b(e){let{name:t,as:n}=e;return n?(0,o.jsx)(x.A,{as:n,className:f.authorName,children:t}):(0,o.jsx)("span",{className:f.authorName,children:t})}function w(e){let{count:t}=e;return(0,o.jsx)("span",{className:(0,a.A)(f.authorBlogPostCount),children:t})}function A(e){let{as:t,author:n,className:s,count:r}=e;const{name:i,title:l,url:c,imageURL:d,email:u,page:m}=n,h=m?.permalink||c||u&&`mailto:${u}`||void 0;return(0,o.jsxs)("div",{className:(0,a.A)("avatar margin-bottom--sm",s,f[`author-as-${t}`]),children:[d&&(0,o.jsx)(j,{href:h,className:"avatar__photo-link",children:(0,o.jsx)("img",{className:(0,a.A)("avatar__photo",f.authorImage),src:d,alt:i})}),(i||l)&&(0,o.jsxs)("div",{className:(0,a.A)("avatar__intro",f.authorDetails),children:[(0,o.jsxs)("div",{className:"avatar__name",children:[i&&(0,o.jsx)(j,{href:h,children:(0,o.jsx)(b,{name:i,as:t})}),void 0!==r&&(0,o.jsx)(w,{count:r})]}),!!l&&(0,o.jsx)(v,{title:l}),(0,o.jsx)(p,{author:n})]})]})}},4187:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>j});n(6540);var s=n(1750),a=n(5861),r=n(8532),o=n(4993),i=n(5739),l=n(1831),c=n(8079),d=n(7232),u=n(3308),m=n(5709),h=n(2013),g=n(4848);function p(e){let{author:t}=e;const n=(0,o.wI)(t);return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(a.be,{title:n}),(0,g.jsx)(u.A,{tag:"blog_authors_posts"})]})}function x(){const{authorsListPath:e}=(0,l.x)();return(0,g.jsx)(i.A,{href:e,children:(0,g.jsx)(o.np,{})})}function f(e){let{author:t,items:n,sidebar:s,listMetadata:a}=e;return(0,g.jsxs)(c.A,{sidebar:s,children:[(0,g.jsxs)("header",{className:"margin-bottom--xl",children:[(0,g.jsx)(h.A,{as:"h1",author:t}),t.description&&(0,g.jsx)("p",{children:t.description}),(0,g.jsx)(x,{})]}),0===n.length?(0,g.jsx)("p",{children:(0,g.jsx)(o.Y4,{})}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("hr",{}),(0,g.jsx)(m.A,{items:n}),(0,g.jsx)(d.A,{metadata:a})]})]})}function j(e){return(0,g.jsxs)(a.e3,{className:(0,s.A)(r.G.wrapper.blogPages,r.G.page.blogAuthorsPostsPage),children:[(0,g.jsx)(p,{...e}),(0,g.jsx)(f,{...e})]})}},8079:(e,t,n)=>{"use strict";n.d(t,{A:()=>P});var s=n(6540),a=n(1750),r=n(7374),o=n(242),i=n(4709),l=n(1831),c=n(6963),d=n(2409),u=n(4848);function m(e){let{year:t,yearGroupHeadingClassName:n,children:s}=e;return(0,u.jsxs)("div",{role:"group",children:[(0,u.jsx)(d.A,{as:"h3",className:n,children:t}),s]})}function h(e){let{items:t,yearGroupHeadingClassName:n,ListComponent:s}=e;if((0,c.p)().blog.sidebar.groupByYear){const e=(0,l.Ki)(t);return(0,u.jsx)(u.Fragment,{children:e.map((e=>{let[t,a]=e;return(0,u.jsx)(m,{year:t,yearGroupHeadingClassName:n,children:(0,u.jsx)(s,{items:a})},t)}))})}return(0,u.jsx)(s,{items:t})}const g=(0,s.memo)(h),p="sidebar_P3nc",x="sidebarItemTitle_VrjY",f="sidebarItemList_OSkG",j="sidebarItem_WJ0y",v="sidebarItemLink_Qrfg",b="sidebarItemLinkActive_nUeK",w="yearGroupHeading_lECJ",A=e=>{let{items:t}=e;return(0,u.jsx)(l.OU,{items:t,ulClassName:(0,a.A)(f,"clean-list"),liClassName:j,linkClassName:v,linkActiveClassName:b})};function N(e){let{sidebar:t}=e;const n=(0,l.Gx)(t.items);return(0,u.jsx)("aside",{className:"col col--3",children:(0,u.jsxs)("nav",{className:(0,a.A)(p,"thin-scrollbar"),"aria-label":(0,i.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,u.jsx)("div",{className:(0,a.A)(x,"margin-bottom--md"),children:t.title}),(0,u.jsx)(g,{items:n,ListComponent:A,yearGroupHeadingClassName:w})]})})}const y=(0,s.memo)(N);var k=n(5105);const C="yearGroupHeading_Ruz9",B=e=>{let{items:t}=e;return(0,u.jsx)(l.OU,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function _(e){let{sidebar:t}=e;const n=(0,l.Gx)(t.items);return(0,u.jsx)(g,{items:n,ListComponent:B,yearGroupHeadingClassName:C})}function M(e){return(0,u.jsx)(k.GX,{component:_,props:e})}const T=(0,s.memo)(M);function L(e){let{sidebar:t}=e;const n=(0,o.l)();return t?.items.length?"mobile"===n?(0,u.jsx)(T,{sidebar:t}):(0,u.jsx)(y,{sidebar:t}):null}function P(e){const{sidebar:t,toc:n,children:s,...o}=e,i=t&&t.items.length>0;return(0,u.jsx)(r.A,{...o,children:(0,u.jsx)("div",{className:"container margin-vert--lg",children:(0,u.jsxs)("div",{className:"row",children:[(0,u.jsx)(L,{sidebar:t}),(0,u.jsx)("main",{className:(0,a.A)("col",{"col--7":i,"col--9 col--offset-1":!i}),children:s}),n&&(0,u.jsx)("div",{className:"col col--2",children:n})]})})})}},7232:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var s=n(4709),a=n(8705),r=n(4848);function o(e){const{metadata:t}=e,{previousPage:n,nextPage:o}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,r.jsx)(a.A,{permalink:n,title:(0,r.jsx)(s.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),o&&(0,r.jsx)(a.A,{permalink:o,title:(0,r.jsx)(s.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},1187:(e,t,n)=>{"use strict";n.d(t,{A:()=>L});n(6540);var s=n(1750),a=n(1831),r=n(4848);function o(e){let{children:t,className:n}=e;return(0,r.jsx)("article",{className:n,children:t})}var i=n(5739);const l={title:"title_UBNu"};function c(e){let{className:t}=e;const{metadata:n,isBlogPostPage:o}=(0,a.e7)(),{permalink:c,title:d}=n,u=o?"h1":"h2";return(0,r.jsx)(u,{className:(0,s.A)(l.title,t),children:o?d:(0,r.jsx)(i.A,{to:c,children:d})})}var d=n(4709),u=n(7054),m=n(9153);const h={container:"container_x5Un"};function g(e){let{readingTime:t}=e;const n=function(){const{selectMessage:e}=(0,u.W)();return t=>{const n=Math.ceil(t);return e(n,(0,d.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:n(t)})}function p(e){let{date:t,formattedDate:n}=e;return(0,r.jsx)("time",{dateTime:t,children:n})}function x(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function f(e){let{className:t}=e;const{metadata:n}=(0,a.e7)(),{date:o,readingTime:i}=n,l=(0,m.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,s.A)(h.container,"margin-vert--md",t),children:[(0,r.jsx)(p,{date:o,formattedDate:(c=o,l.format(new Date(c)))}),void 0!==i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(x,{}),(0,r.jsx)(g,{readingTime:i})]})]});var c}var j=n(2013);const v={authorCol:"authorCol_bvyx",imageOnlyAuthorRow:"imageOnlyAuthorRow_L2DM",imageOnlyAuthorCol:"imageOnlyAuthorCol_oyze"};function b(e){let{className:t}=e;const{metadata:{authors:n},assets:o}=(0,a.e7)();if(0===n.length)return null;const i=n.every((e=>{let{name:t}=e;return!t})),l=1===n.length;return(0,r.jsx)("div",{className:(0,s.A)("margin-top--md margin-bottom--sm",i?v.imageOnlyAuthorRow:"row",t),children:n.map(((e,t)=>(0,r.jsx)("div",{className:(0,s.A)(!i&&(l?"col col--12":"col col--6"),i?v.imageOnlyAuthorCol:v.authorCol),children:(0,r.jsx)(j.A,{author:{...e,imageURL:o.authorsImageUrls[t]??e.imageURL}})},t)))})}function w(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(c,{}),(0,r.jsx)(f,{}),(0,r.jsx)(b,{})]})}var A=n(5819),N=n(853);function y(e){let{children:t,className:n}=e;const{isBlogPostPage:o}=(0,a.e7)();return(0,r.jsx)("div",{id:o?A.LU:void 0,className:(0,s.A)("markdown",n),children:(0,r.jsx)(N.A,{children:t})})}var k=n(8532),C=n(8800),B=n(4849);function _(){return(0,r.jsx)("b",{children:(0,r.jsx)(d.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function M(e){const{blogPostTitle:t,...n}=e;return(0,r.jsx)(i.A,{"aria-label":(0,d.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(_,{})})}function T(){const{metadata:e,isBlogPostPage:t}=(0,a.e7)(),{tags:n,title:o,editUrl:i,hasTruncateMarker:l,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&l,m=n.length>0;if(!(m||u||i))return null;if(t){const e=!!(i||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[m&&(0,r.jsx)("div",{className:(0,s.A)("row","margin-top--sm",k.G.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(B.A,{tags:n})})}),e&&(0,r.jsx)(C.A,{className:(0,s.A)("margin-top--sm",k.G.blog.blogFooterEditMetaRow),editUrl:i,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[m&&(0,r.jsx)("div",{className:(0,s.A)("col",{"col--9":u}),children:(0,r.jsx)(B.A,{tags:n})}),u&&(0,r.jsx)("div",{className:(0,s.A)("col text--right",{"col--3":m}),children:(0,r.jsx)(M,{blogPostTitle:o,to:e.permalink})})]})}function L(e){let{children:t,className:n}=e;const i=function(){const{isBlogPostPage:e}=(0,a.e7)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(o,{className:(0,s.A)(i,n),children:[(0,r.jsx)(w,{}),(0,r.jsx)(y,{children:t}),(0,r.jsx)(T,{})]})}},5709:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var s=n(1831),a=n(1187),r=n(4848);function o(e){let{items:t,component:n=a.A}=e;return(0,r.jsx)(r.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,r.jsx)(s.in,{content:t,children:(0,r.jsx)(n,{children:(0,r.jsx)(t,{})})},t.metadata.permalink)}))})}},8800:(e,t,n)=>{"use strict";n.d(t,{A:()=>x});n(6540);var s=n(1750),a=n(4709),r=n(8532),o=n(5739);const i={iconEdit:"iconEdit_IMw_"};var l=n(4848);function c(e){let{className:t,...n}=e;return(0,l.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(i.iconEdit,t),"aria-hidden":"true",...n,children:(0,l.jsx)("g",{children:(0,l.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,l.jsxs)(o.A,{to:t,className:r.G.common.editThisPage,children:[(0,l.jsx)(c,{}),(0,l.jsx)(a.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(9153);function m(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=(0,u.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,l.jsx)(a.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,l.jsx)("b",{children:(0,l.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,l.jsx)(a.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,l.jsx)("b",{children:t})},children:" by {user}"})}function g(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,l.jsxs)("span",{className:r.G.common.lastUpdated,children:[(0,l.jsx)(a.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,l.jsx)(m,{lastUpdatedAt:t}):"",byUser:n?(0,l.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const p={lastUpdated:"lastUpdated_OHCJ"};function x(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:r}=e;return(0,l.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,l.jsx)("div",{className:"col",children:n&&(0,l.jsx)(d,{editUrl:n})}),(0,l.jsx)("div",{className:(0,s.A)("col",p.lastUpdated),children:(a||r)&&(0,l.jsx)(g,{lastUpdatedAt:a,lastUpdatedBy:r})})]})}},853:(e,t,n)=>{"use strict";n.d(t,{A:()=>he});var s=n(6540),a=n(3023),r=n(2785),o=n(3754),i=n(1750),l=n(5407),c=n(6963);function d(){const{prism:e}=(0,c.p)(),{colorMode:t}=(0,l.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(8532),m=n(9934),h=n.n(m);const g=/title=(?<quote>["'])(?<title>.*?)\1/,p=/\{(?<range>[\d,-]+)\}/,x={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},f={...x,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},j=Object.keys(x);function v(e,t){const n=e.map((e=>{const{start:n,end:s}=f[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function b(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){const t=e?.split(" ").find((e=>e.startsWith("showLineNumbers")));if(t){if(t.startsWith("showLineNumbers=")){const e=t.replace("showLineNumbers=","");return parseInt(e,10)}return 1}}(n)}function w(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:r}=t;if(r&&p.test(r)){const e=r.match(p).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${r}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const o=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return v(["js","jsBlock"],t);case"jsx":case"tsx":return v(["js","jsBlock","jsx"],t);case"html":return v(["js","jsBlock","html"],t);case"python":case"py":case"bash":return v(["bash"],t);case"markdown":case"md":return v(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return v(["tex"],t);case"lua":case"haskell":return v(["lua"],t);case"sql":return v(["lua","jsBlock"],t);case"wasm":return v(["wasm"],t);case"vb":case"vba":case"visual-basic":return v(["vb","rem"],t);case"vbnet":return v(["vbnet","rem"],t);case"batch":return v(["rem"],t);case"basic":return v(["rem","f90"],t);case"fsharp":return v(["js","ml"],t);case"ocaml":case"sml":return v(["ml"],t);case"fortran":return v(["f90"],t);case"cobol":return v(["cobol"],t);default:return v(j,t)}}(s,a),i=n.split("\n"),l=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),c=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<i.length;){const e=i[h].match(o);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));c[t]?l[c[t]].range+=`${h},`:d[t]?l[d[t]].start=h:u[t]&&(l[u[t]].range+=`${l[u[t]].start}-${h-1},`),i.splice(h,1)}n=i.join("\n");const m={};return Object.entries(l).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const A="codeBlockContainer_jDV4";var N=n(4848);function y(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const r=t[s];r&&"string"==typeof a&&(n[r]=a)})),n}(d());return(0,N.jsx)(t,{...n,style:s,className:(0,i.A)(n.className,A,u.G.common.codeBlock)})}const k={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function C(e){let{children:t,className:n}=e;return(0,N.jsx)(y,{as:"pre",tabIndex:0,className:(0,i.A)(k.codeBlockStandalone,"thin-scrollbar",n),children:(0,N.jsx)("code",{className:k.codeBlockLines,children:t})})}var B=n(9129);const _={attributes:!0,characterData:!0,childList:!0,subtree:!0};function M(e,t){const[n,a]=(0,s.useState)(),r=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{r()}),[r]),function(e,t,n){void 0===n&&(n=_);const a=(0,B._q)(t),r=(0,B.Be)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,r),()=>t.disconnect()}),[e,a,r])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var T=n(7663);const L="codeLine_qRmp",P="codeLineNumber_dS_J",U="codeLineContent_XF5l";function I(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:r}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const o=a({line:t,className:(0,i.A)(n,s&&L)}),l=t.map(((e,t)=>(0,N.jsx)("span",{...r({token:e})},t)));return(0,N.jsxs)("span",{...o,children:[s?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("span",{className:P}),(0,N.jsx)("span",{className:U,children:l})]}):l,(0,N.jsx)("br",{})]})}var E=n(4709);function S(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function R(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const z={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function H(e){let{code:t,className:n}=e;const[a,r]=(0,s.useState)(!1),o=(0,s.useRef)(void 0),l=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const r=document.getSelection(),o=r.rangeCount>0&&r.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let i=!1;try{i=document.execCommand("copy")}catch{}s.remove(),o&&(r.removeAllRanges(),r.addRange(o)),a&&a.focus()}(t),r(!0),o.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(o.current)),[]),(0,N.jsx)("button",{type:"button","aria-label":a?(0,E.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,E.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,E.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.A)("clean-btn",n,z.copyButton,a&&z.copyButtonCopied),onClick:l,children:(0,N.jsxs)("span",{className:z.copyButtonIcons,"aria-hidden":"true",children:[(0,N.jsx)(S,{className:z.copyButtonIcon}),(0,N.jsx)(R,{className:z.copyButtonSuccessIcon})]})})}function O(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const F="wordWrapButtonIcon_MQXS",$="wordWrapButtonEnabled_TBIH";function G(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,E.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,N.jsx)("button",{type:"button",onClick:n,className:(0,i.A)("clean-btn",t,s&&$),"aria-label":a,title:a,children:(0,N.jsx)(O,{className:F,"aria-hidden":"true"})})}function Z(e){let{children:t,className:n="",metastring:a,title:r,showLineNumbers:l,language:u}=e;const{prism:{defaultLanguage:m,magicComments:h}}=(0,c.p)(),p=function(e){return e?.toLowerCase()}(u??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??m),x=d(),f=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),r=(0,s.useRef)(null),o=(0,s.useCallback)((()=>{const n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[r,e]),i=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=r.current,n=e>t||r.current.querySelector("code").hasAttribute("style");a(n)}),[r]);return M(r,i),(0,s.useEffect)((()=>{i()}),[e,i]),(0,s.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:o}}(),j=(0,o.A)(),v=function(e){return e?.match(g)?.groups.title??""}(a)||r,{lineClassNames:A,code:C}=w(t,{metastring:a,language:p,magicComments:h}),B=b({showLineNumbers:l,metastring:a});return(0,N.jsxs)(y,{as:"div",className:(0,i.A)(n,p&&!n.includes(`language-${p}`)&&`language-${p}`),children:[v&&(0,N.jsx)("div",{className:k.codeBlockTitle,children:v}),(0,N.jsxs)("div",{className:k.codeBlockContent,children:[(0,N.jsx)(T.f4,{theme:x,code:C,language:p??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:r}=e;return(0,N.jsx)("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,i.A)(t,k.codeBlock,"thin-scrollbar"),style:n,children:(0,N.jsx)("code",{className:(0,i.A)(k.codeBlockLines,void 0!==B&&k.codeBlockLinesWithNumbering),style:void 0===B?void 0:{counterReset:"line-count "+(B-1)},children:s.map(((e,t)=>(0,N.jsx)(I,{line:e,getLineProps:a,getTokenProps:r,classNames:A[t],showLineNumbers:void 0!==B},t)))})})}}),j?(0,N.jsxs)("div",{className:k.buttonGroup,children:[(f.isEnabled||f.isCodeScrollable)&&(0,N.jsx)(G,{className:k.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),(0,N.jsx)(H,{className:k.codeButton,code:C})]}):null]})]})}function V(e){let{children:t,...n}=e;const a=(0,o.A)(),r=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof r?Z:C;return(0,N.jsx)(i,{...n,children:r},String(a))}function D(e){return(0,N.jsx)("code",{...e})}var W=n(5739);var Y=n(6051),q=n(343);const X="details_Nokh",J="isBrowser_QrB5",Q="collapsibleContent_EoA1";function K(e){return!!e&&("SUMMARY"===e.tagName||K(e.parentElement))}function ee(e,t){return!!e&&(e===t||ee(e.parentElement,t))}function te(e){let{summary:t,children:n,...a}=e;(0,Y.A)().collectAnchor(a.id);const r=(0,o.A)(),l=(0,s.useRef)(null),{collapsed:c,setCollapsed:d}=(0,q.u)({initialState:!a.open}),[u,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,N.jsx)("summary",{children:t??"Details"});return(0,N.jsxs)("details",{...a,ref:l,open:u,"data-collapsed":c,className:(0,i.A)(X,r&&J,a.className),onMouseDown:e=>{K(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;K(t)&&ee(t,l.current)&&(e.preventDefault(),c?(d(!1),m(!0)):d(!0))},children:[h,(0,N.jsx)(q.N,{lazy:!1,collapsed:c,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,N.jsx)("div",{className:Q,children:n})})]})}const ne="details_Cn_P";function se(e){let{...t}=e;return(0,N.jsx)(te,{...t,className:(0,i.A)("alert alert--info",ne,t.className)})}function ae(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,N.jsx)(N.Fragment,{children:t.filter((e=>e!==n))});return(0,N.jsx)(se,{...e,summary:n,children:a})}var re=n(2409);function oe(e){return(0,N.jsx)(re.A,{...e})}const ie="containsTaskList_k9gM";function le(e){if(void 0!==e)return(0,i.A)(e,e?.includes("contains-task-list")&&ie)}const ce="img_vXGZ";var de=n(2473),ue=n(219);const me={Head:r.A,details:ae,Details:ae,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,N.jsx)(D,{...e}):(0,N.jsx)(V,{...e})},a:function(e){return(0,N.jsx)(W.A,{...e})},pre:function(e){return(0,N.jsx)(N.Fragment,{children:e.children})},ul:function(e){return(0,N.jsx)("ul",{...e,className:le(e.className)})},li:function(e){return(0,Y.A)().collectAnchor(e.id),(0,N.jsx)("li",{...e})},img:function(e){return(0,N.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,i.A)(t,ce))});var t},h1:e=>(0,N.jsx)(oe,{as:"h1",...e}),h2:e=>(0,N.jsx)(oe,{as:"h2",...e}),h3:e=>(0,N.jsx)(oe,{as:"h3",...e}),h4:e=>(0,N.jsx)(oe,{as:"h4",...e}),h5:e=>(0,N.jsx)(oe,{as:"h5",...e}),h6:e=>(0,N.jsx)(oe,{as:"h6",...e}),admonition:de.A,mermaid:ue.A};function he(e){let{children:t}=e;return(0,N.jsx)(a.x,{components:me,children:t})}},8705:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var s=n(1750),a=n(5739),r=n(4848);function o(e){const{permalink:t,title:n,subLabel:o,isNext:i}=e;return(0,r.jsxs)(a.A,{className:(0,s.A)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[o&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:o}),(0,r.jsx)("div",{className:"pagination-nav__label",children:n})]})}},5475:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(6540);var s=n(1750),a=n(5739);const r={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};var o=n(4848);function i(e){let{permalink:t,label:n,count:i,description:l}=e;return(0,o.jsxs)(a.A,{href:t,title:l,className:(0,s.A)(r.tag,i?r.tagWithCount:r.tagRegular),children:[n,i&&(0,o.jsx)("span",{children:i})]})}},4849:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(6540);var s=n(1750),a=n(4709),r=n(5475);const o={tags:"tags_rTaS",tag:"tag_l5va"};var i=n(4848);function l(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(a.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,s.A)(o.tags,"padding--none","margin-left--sm"),children:t.map((e=>(0,i.jsx)("li",{className:o.tag,children:(0,i.jsx)(r.A,{...e})},e.permalink)))})]})}},4993:(e,t,n)=>{"use strict";n.d(t,{Y4:()=>u,ZD:()=>i,np:()=>d,uz:()=>c,wI:()=>l});n(6540);var s=n(4709),a=n(7054),r=n(4848);function o(){const{selectMessage:e}=(0,a.W)();return t=>e(t,(0,s.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function i(e){const t=o();return(0,s.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function l(e){const t=o();return(0,s.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}const c=()=>(0,s.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function d(){return(0,r.jsx)(s.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function u(){return(0,r.jsx)(s.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}},9153:(e,t,n)=>{"use strict";n.d(t,{i:()=>a});var s=n(1571);function a(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,s.A)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},7054:(e,t,n)=>{"use strict";n.d(t,{W:()=>c});var s=n(6540),a=n(1571);const r=["zero","one","two","few","many","other"];function o(e){return r.filter((t=>e.includes(t)))}const i={locale:"en",pluralForms:o(["one","other"]),select:e=>1===e?"one":"other"};function l(){const{i18n:{currentLocale:e}}=(0,a.A)();return(0,s.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:o(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),i}}),[e])}function c(){const e=l();return{selectMessage:(t,n)=>function(e,t,n){const s=e.split("|");if(1===s.length)return s[0];s.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);const a=n.select(t),r=n.pluralForms.indexOf(a);return s[Math.min(r,s.length-1)]}(n,t,e)}}},9934:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,r]=t;if(s&&r){s=parseInt(s),r=parseInt(r);const e=s<r?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(r+=e);for(let t=s;t!==r;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},3023:(e,t,n)=>{"use strict";n.d(t,{R:()=>o,x:()=>i});var s=n(6540);const a={},r=s.createContext(a);function o(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/33fc5bb8.c2fba725.js b/assets/js/33fc5bb8.c2fba725.js new file mode 100644 index 0000000000..6303838c9c --- /dev/null +++ b/assets/js/33fc5bb8.c2fba725.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["79348"],{5666:function(e,t,n){n.d(t,{CS:()=>f,iZ:()=>p,ci:()=>y,Ne:()=>k,cH:()=>N,nO:()=>d,wj:()=>i,n4:()=>c});var r=n(85893),s=n(67294),a=n(50923),l=n(3564);function i(){let e=(0,l.Z)(),t=e?.data?.blogMetadata;if(!t)throw Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}let o=s.createContext(null);function c(e){let{children:t,content:n,isBlogPostPage:a=!1}=e,l=function(e){let{content:t,isBlogPostPage:n}=e;return(0,s.useMemo)(()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:n}),[t,n])}({content:n,isBlogPostPage:a});return(0,r.jsx)(o.Provider,{value:l,children:t})}function d(){let e=(0,s.useContext)(o);if(null===e)throw new a.i6("BlogPostProvider");return e}var u=n(83631),h=n(8156);let m=e=>new Date(e).toISOString();function g(e){let t=e.map(j);return{author:1===t.length?t[0]:t}}function x(e,t,n){return e?{image:function(e){let{imageUrl:t,caption:n}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:n}}({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${n}`})}:{}}function f(e){let{siteConfig:t}=(0,h.Z)(),{withBaseUrl:n}=(0,u.Cg)(),{metadata:{blogDescription:r,blogTitle:s,permalink:a}}=e,l=`${t.url}${a}`;return{"@context":"https://schema.org","@type":"Blog","@id":l,mainEntityOfPage:l,headline:s,description:r,blogPost:e.items.map(e=>(function(e,t,n){let{assets:r,frontMatter:s,metadata:a}=e,{date:l,title:i,description:o,lastUpdatedAt:c}=a,d=r.image??s.image,u=s.keywords??[],h=`${t.url}${a.permalink}`,f=c?m(c):void 0;return{"@type":"BlogPosting","@id":h,mainEntityOfPage:h,url:h,headline:i,name:i,description:o,datePublished:l,...f?{dateModified:f}:{},...g(a.authors),...x(d,n,i),...u?{keywords:u}:{}}})(e.content,t,n))}}function p(){let e=i(),{assets:t,metadata:n}=d(),{siteConfig:r}=(0,h.Z)(),{withBaseUrl:s}=(0,u.Cg)(),{date:a,title:l,description:o,frontMatter:c,lastUpdatedAt:f}=n,p=t.image??c.image,j=c.keywords??[],v=f?m(f):void 0,b=`${r.url}${n.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":b,mainEntityOfPage:b,url:b,headline:l,name:l,description:o,datePublished:a,...v?{dateModified:v}:{},...g(n.authors),...x(p,s,l),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${r.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}var v=n(3620),b=n(35363),w=n(32263),Z=n(71208);function N(e){let{pathname:t}=(0,v.TH)();return(0,s.useMemo)(()=>e.filter(e=>!e.unlisted||!!(0,Z.Mg)(e.permalink,t)),[e,t])}function y(e){let t=Object.entries((0,w.vM)(e,e=>`${new Date(e.date).getFullYear()}`));return t.reverse(),t}function k(e){let{items:t,ulClassName:n,liClassName:s,linkClassName:a,linkActiveClassName:l}=e;return(0,r.jsx)("ul",{className:n,children:t.map(e=>(0,r.jsx)("li",{className:s,children:(0,r.jsx)(b.Z,{isNavLink:!0,to:e.permalink,className:a,activeClassName:l,children:e.title})},e.permalink))})}},37796:function(e,t,n){n.d(t,{Z:()=>s});var r=n(85893);function s(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}n(67294)},49356:function(e,t,n){n.d(t,{Z:()=>C});var r=n(85893),s=n(67294),a=n(90496),l=n(77827),i=n(55951);let o={admonition:"admonition_o5H7",admonitionHeading:"admonitionHeading_FzoX",admonitionIcon:"admonitionIcon_rXq6",admonitionContent:"admonitionContent_Knsx"};function c(e){let{type:t,className:n,children:s}=e;return(0,r.jsx)("div",{className:(0,a.Z)(i.k.common.admonition,i.k.common.admonitionType(t),o.admonition,n),children:s})}function d(e){let{icon:t,title:n}=e;return(0,r.jsxs)("div",{className:o.admonitionHeading,children:[(0,r.jsx)("span",{className:o.admonitionIcon,children:t}),n]})}function u(e){let{children:t}=e;return t?(0,r.jsx)("div",{className:o.admonitionContent,children:t}):null}function h(e){let{type:t,icon:n,title:s,children:a,className:l}=e;return(0,r.jsxs)(c,{type:t,className:l,children:[s||n?(0,r.jsx)(d,{title:s,icon:n}):null,(0,r.jsx)(u,{children:a})]})}let m={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function g(e){return(0,r.jsx)(h,{...m,...e,className:(0,a.Z)("alert alert--secondary",e.className),children:e.children})}let x={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function f(e){return(0,r.jsx)(h,{...x,...e,className:(0,a.Z)("alert alert--success",e.className),children:e.children})}var p=n(37796);let j={icon:(0,r.jsx)(p.Z,{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function v(e){return(0,r.jsx)(h,{...j,...e,className:(0,a.Z)("alert alert--info",e.className),children:e.children})}function b(e){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let w={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},Z={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},N={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(l.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};var y=n(57922);let k={note:g,tip:f,info:v,warning:function(e){return(0,r.jsx)(h,{...w,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,r.jsx)(h,{...Z,...e,className:(0,a.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,r.jsx)(g,{title:"secondary",...e}),important:e=>(0,r.jsx)(v,{title:"important",...e}),success:e=>(0,r.jsx)(f,{title:"success",...e}),caution:function(e){return(0,r.jsx)(h,{...N,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})},"my-custom-admonition":function(e){return(0,r.jsxs)("div",{style:{border:"solid red",padding:10},children:[(0,r.jsx)(y.Z,{as:"h5",style:{color:"blue",fontSize:30},children:e.title}),(0,r.jsx)("div",{children:e.children})]})}};function C(e){let t=function(e){let{mdxAdmonitionTitle:t,rest:n}=function(e){let t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),a=t.filter(e=>e!==n);return{mdxAdmonitionTitle:n?.props.children,rest:a.length>0?(0,r.jsx)(r.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}(e),n=function(e){let t=k[e];return t||(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),k.info)}(t.type);return(0,r.jsx)(n,{...t})}},68930:function(e,t,n){n.d(t,{Z:()=>j});var r=n(85893),s=n(67294),a=n(90496),l=n(35363);let i=function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,r.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,r.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,r.jsx)("path",{d:"M3.6 9h16.8"}),(0,r.jsx)("path",{d:"M3.6 15h16.8"}),(0,r.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,r.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})},o="authorSocialLink_hEWM",c={twitter:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 209",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",...e,children:(0,r.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 250",preserveAspectRatio:"xMidYMid",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"githubSvg_jqE4"),children:(0,r.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,r.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,r.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"xSvg_Q0g7"),children:(0,r.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"},bluesky:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 226",...e,children:(0,r.jsx)("path",{fill:"#1185FE",d:"M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"})})},label:"Bluesky"},instagram:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"instagramSvg_Svcp"),children:(0,r.jsx)("path",{d:"M128 23.064c34.177 0 38.225.13 51.722.745 12.48.57 19.258 2.655 23.769 4.408 5.974 2.322 10.238 5.096 14.717 9.575 4.48 4.479 7.253 8.743 9.575 14.717 1.753 4.511 3.838 11.289 4.408 23.768.615 13.498.745 17.546.745 51.723 0 34.178-.13 38.226-.745 51.723-.57 12.48-2.655 19.257-4.408 23.768-2.322 5.974-5.096 10.239-9.575 14.718-4.479 4.479-8.743 7.253-14.717 9.574-4.511 1.753-11.289 3.839-23.769 4.408-13.495.616-17.543.746-51.722.746-34.18 0-38.228-.13-51.723-.746-12.48-.57-19.257-2.655-23.768-4.408-5.974-2.321-10.239-5.095-14.718-9.574-4.479-4.48-7.253-8.744-9.574-14.718-1.753-4.51-3.839-11.288-4.408-23.768-.616-13.497-.746-17.545-.746-51.723 0-34.177.13-38.225.746-51.722.57-12.48 2.655-19.258 4.408-23.769 2.321-5.974 5.095-10.238 9.574-14.717 4.48-4.48 8.744-7.253 14.718-9.575 4.51-1.753 11.288-3.838 23.768-4.408 13.497-.615 17.545-.745 51.723-.745M128 0C93.237 0 88.878.147 75.226.77c-13.625.622-22.93 2.786-31.071 5.95-8.418 3.271-15.556 7.648-22.672 14.764C14.367 28.6 9.991 35.738 6.72 44.155 3.555 52.297 1.392 61.602.77 75.226.147 88.878 0 93.237 0 128c0 34.763.147 39.122.77 52.774.622 13.625 2.785 22.93 5.95 31.071 3.27 8.417 7.647 15.556 14.763 22.672 7.116 7.116 14.254 11.492 22.672 14.763 8.142 3.165 17.446 5.328 31.07 5.95 13.653.623 18.012.77 52.775.77s39.122-.147 52.774-.77c13.624-.622 22.929-2.785 31.07-5.95 8.418-3.27 15.556-7.647 22.672-14.763 7.116-7.116 11.493-14.254 14.764-22.672 3.164-8.142 5.328-17.446 5.95-31.07.623-13.653.77-18.012.77-52.775s-.147-39.122-.77-52.774c-.622-13.624-2.786-22.929-5.95-31.07-3.271-8.418-7.648-15.556-14.764-22.672C227.4 14.368 220.262 9.99 211.845 6.72c-8.142-3.164-17.447-5.328-31.071-5.95C167.122.147 162.763 0 128 0Zm0 62.27C91.698 62.27 62.27 91.7 62.27 128c0 36.302 29.428 65.73 65.73 65.73 36.301 0 65.73-29.428 65.73-65.73 0-36.301-29.429-65.73-65.73-65.73Zm0 108.397c-23.564 0-42.667-19.103-42.667-42.667S104.436 85.333 128 85.333s42.667 19.103 42.667 42.667-19.103 42.667-42.667 42.667Zm83.686-110.994c0 8.484-6.876 15.36-15.36 15.36-8.483 0-15.36-6.876-15.36-15.36 0-8.483 6.877-15.36 15.36-15.36 8.484 0 15.36 6.877 15.36 15.36Z"})})},label:"Instagram"},threads:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-label":"Threads",viewBox:"0 0 192 192",width:"1em",fill:"none",height:"1em",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"threadsSvg_kngY"),children:(0,r.jsx)("path",{d:"M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.229c8.249.053 14.474 2.452 18.503 7.129 2.932 3.405 4.893 8.111 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.194 47.292 9.642 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553ZM98.44 129.507c-10.44.588-21.286-4.098-21.82-14.135-.397-7.442 5.296-15.746 22.461-16.735 1.966-.114 3.895-.169 5.79-.169 6.235 0 12.068.606 17.371 1.765-1.978 24.702-13.58 28.713-23.802 29.274Z"})})},label:"Threads"},mastodon:{Icon:function(e){let t=(0,s.useId)();return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 61 65",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{fill:`url(#${t})`,d:"M60.754 14.39C59.814 7.406 53.727 1.903 46.512.836 45.294.656 40.682 0 29.997 0h-.08C19.23 0 16.938.656 15.72.836 8.705 1.873 2.299 6.82.745 13.886c-.748 3.48-.828 7.338-.689 10.877.198 5.075.237 10.142.697 15.197a71.482 71.482 0 0 0 1.664 9.968c1.477 6.056 7.458 11.096 13.317 13.152a35.718 35.718 0 0 0 19.484 1.028 28.365 28.365 0 0 0 2.107-.576c1.572-.5 3.413-1.057 4.766-2.038a.154.154 0 0 0 .062-.118v-4.899a.146.146 0 0 0-.055-.111.145.145 0 0 0-.122-.028 54 54 0 0 1-12.644 1.478c-7.328 0-9.298-3.478-9.863-4.925a15.258 15.258 0 0 1-.857-3.882.142.142 0 0 1 .178-.145 52.976 52.976 0 0 0 12.437 1.477c1.007 0 2.012 0 3.02-.026 4.213-.119 8.654-.334 12.8-1.144.103-.02.206-.038.295-.065 6.539-1.255 12.762-5.196 13.394-15.176.024-.393.083-4.115.083-4.523.003-1.386.446-9.829-.065-15.017Z"}),(0,r.jsx)("path",{fill:"#fff",d:"M50.394 22.237v17.35H43.52V22.749c0-3.545-1.478-5.353-4.483-5.353-3.303 0-4.958 2.139-4.958 6.364v9.217h-6.835V23.76c0-4.225-1.657-6.364-4.96-6.364-2.988 0-4.48 1.808-4.48 5.353v16.84H10.93V22.237c0-3.545.905-6.362 2.715-8.45 1.868-2.082 4.317-3.152 7.358-3.152 3.519 0 6.178 1.354 7.951 4.057l1.711 2.871 1.714-2.871c1.773-2.704 4.432-4.056 7.945-4.056 3.038 0 5.487 1.069 7.36 3.152 1.81 2.085 2.712 4.902 2.71 8.449Z"}),(0,r.jsx)("defs",{children:(0,r.jsxs)("linearGradient",{id:t,x1:30.5,x2:30.5,y1:0,y2:65,gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#6364FF"}),(0,r.jsx)("stop",{offset:1,stopColor:"#563ACC"})]})})]})},label:"Mastodon"},youtube:{Icon:function(e){return(0,r.jsxs)("svg",{viewBox:"0 0 256 180",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:[(0,r.jsx)("path",{d:"M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134Z",fill:"red"}),(0,r.jsx)("path",{fill:"#FFF",d:"m102.421 128.06 66.328-38.418-66.328-38.418z"})]})},label:"YouTube"},twitch:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 2400 2800",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"m2200 1300-400 400h-400l-350 350v-350H600V200h1600z",fill:"#fff"}),(0,r.jsxs)("g",{children:[(0,r.jsx)("path",{d:"M500 0 0 500v1800h600v500l500-500h400l900-900V0H500zm1700 1300-400 400h-400l-350 350v-350H600V200h1600v1100z",fill:"#9146ff"}),(0,r.jsx)("path",{d:"M1700 550h200v600h-200zM1150 550h200v600h-200z",fill:"#9146ff"})]})]})},label:"Twitch"}};function d(e){let{platform:t,link:n}=e,{Icon:s,label:d}=c[t]??{Icon:i,label:t};return(0,r.jsx)(l.Z,{className:o,href:n,title:d,children:(0,r.jsx)(s,{className:(0,a.Z)(o)})})}function u(e){let{author:t}=e,n=Object.entries(t.socials??{});return(0,r.jsx)("div",{className:"authorSocials_tPnL",children:n.map(e=>{let[t,n]=e;return(0,r.jsx)(d,{platform:t,link:n},t)})})}var h=n(57922);let m={authorImage:"authorImage_p8ow","author-as-h1":"author-as-h1_Pd3R","author-as-h2":"author-as-h2_UaZL",authorDetails:"authorDetails_dWdF",authorName:"authorName_Y8Hr",authorTitle:"authorTitle_Slpj",authorBlogPostCount:"authorBlogPostCount_FxU_"};function g(e){return e.href?(0,r.jsx)(l.Z,{...e}):(0,r.jsx)(r.Fragment,{children:e.children})}function x(e){let{title:t}=e;return(0,r.jsx)("small",{className:m.authorTitle,title:t,children:t})}function f(e){let{name:t,as:n}=e;return n?(0,r.jsx)(h.Z,{as:n,className:m.authorName,children:t}):(0,r.jsx)("span",{className:m.authorName,children:t})}function p(e){let{count:t}=e;return(0,r.jsx)("span",{className:(0,a.Z)(m.authorBlogPostCount),children:t})}function j(e){let{as:t,author:n,className:s,count:l}=e,{name:i,title:o,url:c,imageURL:d,email:h,page:j}=n,v=j?.permalink||c||h&&`mailto:${h}`||void 0;return(0,r.jsxs)("div",{className:(0,a.Z)("avatar margin-bottom--sm",s,m[`author-as-${t}`]),children:[d&&(0,r.jsx)(g,{href:v,className:"avatar__photo-link",children:(0,r.jsx)("img",{className:(0,a.Z)("avatar__photo",m.authorImage),src:d,alt:i})}),(i||o)&&(0,r.jsxs)("div",{className:(0,a.Z)("avatar__intro",m.authorDetails),children:[(0,r.jsxs)("div",{className:"avatar__name",children:[i&&(0,r.jsx)(g,{href:v,children:(0,r.jsx)(f,{name:i,as:t})}),void 0!==l&&(0,r.jsx)(p,{count:l})]}),!!o&&(0,r.jsx)(x,{title:o}),(0,r.jsx)(u,{author:n})]})]})}},13724:function(e,t,n){n.r(t),n.d(t,{default:()=>j});var r=n(85893);n(67294);var s=n(90496),a=n(57335),l=n(55951),i=n(43764),o=n(35363),c=n(5666),d=n(9942),u=n(22272),h=n(69879),m=n(65808),g=n(68930);function x(e){let{author:t}=e,n=(0,i.ds)(t);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.d,{title:n}),(0,r.jsx)(h.Z,{tag:"blog_authors_posts"})]})}function f(){let{authorsListPath:e}=(0,c.wj)();return(0,r.jsx)(o.Z,{href:e,children:(0,r.jsx)(i.fw,{})})}function p(e){let{author:t,items:n,sidebar:s,listMetadata:a}=e;return(0,r.jsxs)(d.Z,{sidebar:s,children:[(0,r.jsxs)("header",{className:"margin-bottom--xl",children:[(0,r.jsx)(g.Z,{as:"h1",author:t}),t.description&&(0,r.jsx)("p",{children:t.description}),(0,r.jsx)(f,{})]}),0===n.length?(0,r.jsx)("p",{children:(0,r.jsx)(i.J$,{})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("hr",{}),(0,r.jsx)(m.Z,{items:n}),(0,r.jsx)(u.Z,{metadata:a})]})]})}function j(e){return(0,r.jsxs)(a.FG,{className:(0,s.Z)(l.k.wrapper.blogPages,l.k.page.blogAuthorsPostsPage),children:[(0,r.jsx)(x,{...e}),(0,r.jsx)(p,{...e})]})}},9942:function(e,t,n){n.d(t,{Z:()=>w});var r=n(85893),s=n(67294),a=n(90496),l=n(88408),i=n(28115),o=n(77827),c=n(5666),d=n(26378),u=n(57922);function h(e){let{year:t,yearGroupHeadingClassName:n,children:s}=e;return(0,r.jsxs)("div",{role:"group",children:[(0,r.jsx)(u.Z,{as:"h3",className:n,children:t}),s]})}let m=(0,s.memo)(function(e){let{items:t,yearGroupHeadingClassName:n,ListComponent:s}=e;if(!(0,d.L)().blog.sidebar.groupByYear)return(0,r.jsx)(s,{items:t});{let e=(0,c.ci)(t);return(0,r.jsx)(r.Fragment,{children:e.map(e=>{let[t,a]=e;return(0,r.jsx)(h,{year:t,yearGroupHeadingClassName:n,children:(0,r.jsx)(s,{items:a})},t)})})}}),g=e=>{let{items:t}=e;return(0,r.jsx)(c.Ne,{items:t,ulClassName:(0,a.Z)("sidebarItemList_OSkG","clean-list"),liClassName:"sidebarItem_WJ0y",linkClassName:"sidebarItemLink_Qrfg",linkActiveClassName:"sidebarItemLinkActive_nUeK"})},x=(0,s.memo)(function(e){let{sidebar:t}=e,n=(0,c.cH)(t.items);return(0,r.jsx)("aside",{className:"col col--3",children:(0,r.jsxs)("nav",{className:(0,a.Z)("sidebar_P3nc","thin-scrollbar"),"aria-label":(0,o.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,r.jsx)("div",{className:(0,a.Z)("sidebarItemTitle_VrjY","margin-bottom--md"),children:t.title}),(0,r.jsx)(m,{items:n,ListComponent:g,yearGroupHeadingClassName:"yearGroupHeading_lECJ"})]})})});var f=n(44160);let p=e=>{let{items:t}=e;return(0,r.jsx)(c.Ne,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function j(e){let{sidebar:t}=e,n=(0,c.cH)(t.items);return(0,r.jsx)(m,{items:n,ListComponent:p,yearGroupHeadingClassName:"yearGroupHeading_Ruz9"})}let v=(0,s.memo)(function(e){return(0,r.jsx)(f.Zo,{component:j,props:e})});function b(e){let{sidebar:t}=e,n=(0,i.i)();return t?.items.length?"mobile"===n?(0,r.jsx)(v,{sidebar:t}):(0,r.jsx)(x,{sidebar:t}):null}function w(e){let{sidebar:t,toc:n,children:s,...i}=e,o=t&&t.items.length>0;return(0,r.jsx)(l.Z,{...i,children:(0,r.jsx)("div",{className:"container margin-vert--lg",children:(0,r.jsxs)("div",{className:"row",children:[(0,r.jsx)(b,{sidebar:t}),(0,r.jsx)("main",{className:(0,a.Z)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:s}),n&&(0,r.jsx)("div",{className:"col col--2",children:n})]})})})}},22272:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(77827),a=n(65773);function l(e){let{metadata:t}=e,{previousPage:n,nextPage:l}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,r.jsx)(a.Z,{permalink:n,title:(0,r.jsx)(s.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),l&&(0,r.jsx)(a.Z,{permalink:l,title:(0,r.jsx)(s.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},76460:function(e,t,n){n.d(t,{Z:()=>s});var r=n(85893);function s(e){let{children:t,className:n}=e;return(0,r.jsx)("article",{className:n,children:t})}n(67294)},90437:function(e,t,n){n.d(t,{Z:()=>o});var r=n(85893);n(67294);var s=n(90496),a=n(59699),l=n(5666),i=n(84015);function o(e){let{children:t,className:n}=e,{isBlogPostPage:o}=(0,l.nO)();return(0,r.jsx)("div",{id:o?a.blogPostContainerID:void 0,className:(0,s.Z)("markdown",n),children:(0,r.jsx)(i.Z,{children:t})})}},54505:function(e,t,n){n.d(t,{Z:()=>h});var r=n(85893);n(67294);var s=n(90496),a=n(77827),l=n(11660),i=n(90177),o=n(5666);function c(e){let{readingTime:t}=e,n=function(){let{selectMessage:e}=(0,l.c)();return t=>{let n=Math.ceil(t);return e(n,(0,a.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:n(t)})}function d(e){let{date:t,formattedDate:n}=e;return(0,r.jsx)("time",{dateTime:t,children:n})}function u(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function h(e){let{className:t}=e,{metadata:n}=(0,o.nO)(),{date:a,readingTime:l}=n,h=(0,i.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,s.Z)("container_x5Un","margin-vert--md",t),children:[(0,r.jsx)(d,{date:a,formattedDate:h.format(new Date(a))}),void 0!==l&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u,{}),(0,r.jsx)(c,{readingTime:l})]})]})}},37147:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var s=n(90496),a=n(35363),l=n(5666);function i(e){let{className:t}=e,{metadata:n,isBlogPostPage:i}=(0,l.nO)(),{permalink:o,title:c}=n;return(0,r.jsx)(i?"h1":"h2",{className:(0,s.Z)("title_UBNu",t),children:i?c:(0,r.jsx)(a.Z,{to:o,children:c})})}},80145:function(e,t,n){n.d(t,{Z:()=>Z});var r=n(85893);n(67294);var s=n(90496),a=n(5666),l=n(76460),i=n(37147),o=n(54505),c=n(68930);let d={authorCol:"authorCol_bvyx",imageOnlyAuthorRow:"imageOnlyAuthorRow_L2DM",imageOnlyAuthorCol:"imageOnlyAuthorCol_oyze"};function u(e){let{className:t}=e,{metadata:{authors:n},assets:l}=(0,a.nO)();if(0===n.length)return null;let i=n.every(e=>{let{name:t}=e;return!t}),o=1===n.length;return(0,r.jsx)("div",{className:(0,s.Z)("margin-top--md margin-bottom--sm",i?d.imageOnlyAuthorRow:"row",t),children:n.map((e,t)=>(0,r.jsx)("div",{className:(0,s.Z)(!i&&(o?"col col--12":"col col--6"),i?d.imageOnlyAuthorCol:d.authorCol),children:(0,r.jsx)(c.Z,{author:{...e,imageURL:l.authorsImageUrls[t]??e.imageURL}})},t))})}function h(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(i.Z,{}),(0,r.jsx)(o.Z,{}),(0,r.jsx)(u,{})]})}var m=n(90437),g=n(55951),x=n(60114),f=n(47294),p=n(77827),j=n(35363);function v(){return(0,r.jsx)("b",{children:(0,r.jsx)(p.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function b(e){let{blogPostTitle:t,...n}=e;return(0,r.jsx)(j.Z,{"aria-label":(0,p.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(v,{})})}function w(){let{metadata:e,isBlogPostPage:t}=(0,a.nO)(),{tags:n,title:l,editUrl:i,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&o,h=n.length>0;if(!(h||u||i))return null;if(!t)return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[h&&(0,r.jsx)("div",{className:(0,s.Z)("col",{"col--9":u}),children:(0,r.jsx)(f.Z,{tags:n})}),u&&(0,r.jsx)("div",{className:(0,s.Z)("col text--right",{"col--3":h}),children:(0,r.jsx)(b,{blogPostTitle:l,to:e.permalink})})]});{let e=!!(i||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[h&&(0,r.jsx)("div",{className:(0,s.Z)("row","margin-top--sm",g.k.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(f.Z,{tags:n})})}),e&&(0,r.jsx)(x.Z,{className:(0,s.Z)("margin-top--sm",g.k.blog.blogFooterEditMetaRow),editUrl:i,lastUpdatedAt:d,lastUpdatedBy:c})]})}}function Z(e){let{children:t,className:n}=e,i=function(){let{isBlogPostPage:e}=(0,a.nO)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(l.Z,{className:(0,s.Z)(i,n),children:[(0,r.jsx)(h,{}),(0,r.jsx)(m.Z,{children:t}),(0,r.jsx)(w,{})]})}},65808:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(5666),a=n(80145);function l(e){let{items:t,component:n=a.Z}=e;return(0,r.jsx)(r.Fragment,{children:t.map(e=>{let{content:t}=e;return(0,r.jsx)(s.n4,{content:t,children:(0,r.jsx)(n,{children:(0,r.jsx)(t,{})})},t.metadata.permalink)})})}},2769:function(e,t,n){n.d(t,{Z:()=>h});var r=n(85893),s=n(67294),a=n(90496),l=n(96700),i=n(71607),o=n(97812);let c={details:"details_Nokh",isBrowser:"isBrowser_QrB5",collapsibleContent:"collapsibleContent_EoA1"};function d(e){return!!e&&("SUMMARY"===e.tagName||d(e.parentElement))}function u(e){let{summary:t,children:n,...u}=e;(0,l.Z)().collectAnchor(u.id);let h=(0,i.Z)(),m=(0,s.useRef)(null),{collapsed:g,setCollapsed:x}=(0,o.u)({initialState:!u.open}),[f,p]=(0,s.useState)(u.open),j=s.isValidElement(t)?t:(0,r.jsx)("summary",{children:t??"Details"});return(0,r.jsxs)("details",{...u,ref:m,open:f,"data-collapsed":g,className:(0,a.Z)(c.details,h&&c.isBrowser,u.className),onMouseDown:e=>{d(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;d(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,m.current)&&(e.preventDefault(),g?(x(!1),p(!0)):x(!0))},children:[j,(0,r.jsx)(o.z,{lazy:!1,collapsed:g,onCollapseTransitionEnd:e=>{x(e),p(!e)},children:(0,r.jsx)("div",{className:c.collapsibleContent,children:n})})]})}function h(e){let{...t}=e;return(0,r.jsx)(u,{...t,className:(0,a.Z)("alert alert--info","details_Cn_P",t.className)})}},60114:function(e,t,n){n.d(t,{Z:()=>g});var r=n(85893);n(67294);var s=n(90496),a=n(77827),l=n(55951),i=n(35363);function o(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)("iconEdit_IMw_",t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function c(e){let{editUrl:t}=e;return(0,r.jsxs)(i.Z,{to:t,className:l.k.common.editThisPage,children:[(0,r.jsx)(o,{}),(0,r.jsx)(a.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var d=n(90177);function u(e){let{lastUpdatedAt:t}=e,n=new Date(t),s=(0,d.P)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(a.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(a.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function m(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:l.k.common.lastUpdated,children:[(0,r.jsx)(a.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(u,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}function g(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:l}=e;return(0,r.jsxs)("div",{className:(0,s.Z)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(c,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.Z)("col","lastUpdated_OHCJ"),children:(a||l)&&(0,r.jsx)(m,{lastUpdatedAt:a,lastUpdatedBy:l})})]})}},84015:function(e,t,n){n.d(t,{Z:()=>B});var r=n(85893),s=n(67294),a=n(80980),l=n(53327),i=n(95998);function o(e){return(0,r.jsx)("code",{...e})}function c(e){return void 0!==e.children&&s.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,r.jsx)(o,{...e}):(0,r.jsx)(i.Z,{...e})}var d=n(35363),u=n(2769);function h(e){let t=s.Children.toArray(e.children),n=t.find(e=>s.isValidElement(e)&&"summary"===e.type),a=(0,r.jsx)(r.Fragment,{children:t.filter(e=>e!==n)});return(0,r.jsx)(u.Z,{...e,summary:n,children:a})}var m=n(57922);function g(e){return(0,r.jsx)(m.Z,{...e})}var x=n(90496);let f={containsTaskList:"containsTaskList_k9gM"};var p=n(96700),j=n(49356),v=n(67490),b=n(85108),w=n(26378),Z=n(45245),N=n(57396);async function y(e){let{id:t,text:n,config:r}=e;N.Z.mermaidAPI.initialize(r);try{return await N.Z.render(t,n)}catch(e){throw document.querySelector(`#d${t}`)?.remove(),e}}function k(e){let{renderResult:t}=e,n=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let e=n.current;t.bindFunctions?.(e)},[t]),(0,r.jsx)("div",{ref:n,className:"docusaurus-mermaid-container container_RUsj",dangerouslySetInnerHTML:{__html:t.svg}})}function C(e){let{value:t}=e,n=function(e){let{text:t,config:n}=e,[r,a]=(0,s.useState)(null),l=(0,s.useRef)(`mermaid-svg-${Math.round(1e7*Math.random())}`).current,i=function(){let{colorMode:e}=(0,Z.I)(),t=(0,w.L)().mermaid,n=t.theme[e],{options:r}=t;return(0,s.useMemo)(()=>({startOnLoad:!1,...r,theme:n}),[n,r])}(),o=n??i;return(0,s.useEffect)(()=>{y({id:l,text:t,config:o}).then(a).catch(e=>{a(()=>{throw e})})},[l,t,o]),r}({text:t});return null===n?null:(0,r.jsx)(k,{renderResult:n})}let _={Head:l.Z,details:h,Details:h,code:c,a:function(e){return(0,r.jsx)(d.Z,{...e})},pre:function(e){return(0,r.jsx)(r.Fragment,{children:e.children})},ul:function(e){return(0,r.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,x.Z)(e,e?.includes("contains-task-list")&&f.containsTaskList)}(e.className)})},li:function(e){return(0,p.Z)().collectAnchor(e.id),(0,r.jsx)("li",{...e})},img:function(e){var t;return(0,r.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,x.Z)(t,"img_vXGZ"))})},h1:e=>(0,r.jsx)(g,{as:"h1",...e}),h2:e=>(0,r.jsx)(g,{as:"h2",...e}),h3:e=>(0,r.jsx)(g,{as:"h3",...e}),h4:e=>(0,r.jsx)(g,{as:"h4",...e}),h5:e=>(0,r.jsx)(g,{as:"h5",...e}),h6:e=>(0,r.jsx)(g,{as:"h6",...e}),admonition:j.Z,mermaid:function(e){return(0,r.jsx)(v.Z,{fallback:e=>(0,r.jsx)(b.Ac,{...e}),children:(0,r.jsx)(C,{...e})})},Code:c,Highlight:function(e){let{children:t,color:n}=e;return(0,r.jsx)("span",{style:{backgroundColor:n,borderRadius:"2px",color:"#fff",padding:"0.2rem"},children:t})},TweetQuote:function(e){let{url:t,handle:n,name:s,job:a,children:l}=e,i=`https://unavatar.io/x/${n}`,o=`https://x.com/${n}`;return(0,r.jsxs)("figure",{className:"tweetQuote_h8Rz",children:[(0,r.jsx)("blockquote",{children:(0,r.jsx)(d.Z,{to:t,children:l})}),(0,r.jsx)("figcaption",{children:(0,r.jsx)(d.Z,{to:o,rel:"nofollow",children:(0,r.jsxs)("div",{className:"avatar",children:[(0,r.jsx)("img",{alt:s,className:(0,x.Z)("avatar__photo","avatarImg_b51M"),src:i}),(0,r.jsxs)("div",{className:(0,x.Z)("avatar__intro"),children:[(0,r.jsx)("strong",{className:"avatar__name",children:(0,r.jsx)("cite",{children:s})}),(0,r.jsx)("small",{className:"avatar__subtitle",itemProp:"description",children:a})]})]})})})]})}};function B(e){let{children:t}=e;return(0,r.jsx)(a.Z,{components:_,children:t})}},65773:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(90496),a=n(35363);function l(e){let{permalink:t,title:n,subLabel:l,isNext:i}=e;return(0,r.jsxs)(a.Z,{className:(0,s.Z)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[l&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:l}),(0,r.jsx)("div",{className:"pagination-nav__label",children:n})]})}},63479:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var s=n(90496),a=n(35363);let l={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};function i(e){let{permalink:t,label:n,count:i,description:o}=e;return(0,r.jsxs)(a.Z,{href:t,title:o,className:(0,s.Z)(l.tag,i?l.tagWithCount:l.tagRegular),children:[n,i&&(0,r.jsx)("span",{children:i})]})}},47294:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var s=n(90496),a=n(77827),l=n(63479);function i(e){let{tags:t}=e;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("b",{children:(0,r.jsx)(a.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,r.jsx)("ul",{className:(0,s.Z)("tags_rTaS","padding--none","margin-left--sm"),children:t.map(e=>(0,r.jsx)("li",{className:"tag_l5va",children:(0,r.jsx)(l.Z,{...e})},e.permalink))})]})}},43764:function(e,t,n){n.d(t,{HV:()=>c,J$:()=>u,Wi:()=>i,ds:()=>o,fw:()=>d});var r=n(85893);n(67294);var s=n(77827),a=n(11660);function l(){let{selectMessage:e}=(0,a.c)();return t=>e(t,(0,s.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function i(e){let t=l();return(0,s.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function o(e){let t=l();return(0,s.I)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}let c=()=>(0,s.I)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function d(){return(0,r.jsx)(s.Z,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function u(){return(0,r.jsx)(s.Z,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}},90177:function(e,t,n){n.d(t,{P:()=>s});var r=n(8156);function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{i18n:{currentLocale:t}}=(0,r.Z)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,r.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},11660:function(e,t,n){n.d(t,{c:()=>o});var r=n(67294),s=n(8156);let a=["zero","one","two","few","many","other"];function l(e){return a.filter(t=>e.includes(t))}let i={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,s.Z)();return(0,r.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:l(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),i}},[e])}();return{selectMessage:(t,n)=>(function(e,t,n){let r=e.split("|");if(1===r.length)return r[0];r.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${r.length}: ${e}`);let s=n.select(t);return r[Math.min(n.pluralForms.indexOf(s),r.length-1)]})(n,t,e)}}},56497:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var s=n(71607);function a(e){let{children:t,fallback:n}=e;return(0,s.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}},95998:function(e,t,n){n.d(t,{Z:()=>et});var r,s={};n.r(s),n.d(s,{ButtonExample:()=>C});var a=n(85893),l=n(67294),i=n(90496),o=n(71607),c=n(10075),d=n(77827),u=n(8156),h=n(56497),m=n(85108),g=n(45245),x=n(26378);function f(){let{prism:e}=(0,x.L)(),{colorMode:t}=(0,g.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var p=n(67490);function j(e){let{children:t}=e;return(0,a.jsx)("div",{className:(0,i.Z)("playgroundHeader_Tvsk"),children:t})}function v(){return(0,a.jsx)("div",{children:"Loading..."})}function b(){return(0,a.jsx)(h.Z,{fallback:(0,a.jsx)(v,{}),children:()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.Z,{fallback:e=>(0,a.jsx)(m.Ac,{...e}),children:(0,a.jsx)(c.i5,{})}),(0,a.jsx)(c.IF,{})]})})}function w(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{children:(0,a.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,a.jsx)("div",{className:"playgroundPreview_mApW",children:(0,a.jsx)(b,{})})]})}function Z(){let e=(0,o.Z)();return(0,a.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function N(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{children:(0,a.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,a.jsx)(Z,{})]})}let y=e=>`${e};`;function k(e){let{children:t,transformCode:n,...r}=e,{siteConfig:{themeConfig:s}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:l}}=s,i=f(),o=r.metastring?.includes("noInline")??!1;return(0,a.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,a.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:o,transformCode:n??y,theme:i,...r,children:"top"===l?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(w,{}),(0,a.jsx)(N,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N,{}),(0,a.jsx)(w,{})]})})})}function C(e){return(0,a.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let _={React:l,...l,...s};var B=n(55951),M=n(6324),L=n.n(M);let T=/title=(?<quote>["'])(?<title>.*?)\1/,I=/\{(?<range>[\d,-]+)\}/,A={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},E={...A,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},H=Object.keys(A);function R(e,t){let n=e.map(e=>{let{start:n,end:r}=E[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function P(e){let{as:t,...n}=e,r=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,a=t[r];a&&"string"==typeof s&&(n[a]=s)}),n}(f());return(0,a.jsx)(t,{...n,style:r,className:(0,i.Z)(n.className,"codeBlockContainer_jDV4",B.k.common.codeBlock)})}let z={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function F(e){let{children:t,className:n}=e;return(0,a.jsx)(P,{as:"pre",tabIndex:0,className:(0,i.Z)(z.codeBlockStandalone,"thin-scrollbar",n),children:(0,a.jsx)("code",{className:z.codeBlockLines,children:t})})}var S=n(50923);let O={attributes:!0,characterData:!0,childList:!0,subtree:!0};var $=n(7316);let U={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function V(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:s,getTokenProps:l}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let o=s({line:t,className:(0,i.Z)(n,r&&U.codeLine)}),c=t.map((e,t)=>(0,a.jsx)("span",{...l({token:e})},t));return(0,a.jsxs)("span",{...o,children:[r?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:U.codeLineNumber}),(0,a.jsx)("span",{className:U.codeLineContent,children:c})]}):c,(0,a.jsx)("br",{})]})}var D=n(44771);function W(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function G(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let Y={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function q(e){let{code:t,className:n}=e,[r,s]=(0,l.useState)(!1),o=(0,l.useRef)(void 0),c=(0,l.useCallback)(()=>{(0,D.Z)(t),s(!0),o.current=window.setTimeout(()=>{s(!1)},1e3)},[t]);return(0,l.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,a.jsx)("button",{type:"button","aria-label":r?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",n,Y.copyButton,r&&Y.copyButtonCopied),onClick:c,children:(0,a.jsxs)("span",{className:Y.copyButtonIcons,"aria-hidden":"true",children:[(0,a.jsx)(W,{className:Y.copyButtonIcon}),(0,a.jsx)(G,{className:Y.copyButtonSuccessIcon})]})})}function Q(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let J={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function X(e){let{className:t,onClick:n,isEnabled:r}=e,s=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,a.jsx)("button",{type:"button",onClick:n,className:(0,i.Z)("clean-btn",t,r&&J.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,a.jsx)(Q,{className:J.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:r="",metastring:s,title:c,showLineNumbers:d,language:u}=e,{prism:{defaultLanguage:h,magicComments:m}}=(0,x.L)(),g=(t=u??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(r)??h,t?.toLowerCase()),p=f(),j=function(){let[e,t]=(0,l.useState)(!1),[n,r]=(0,l.useState)(!1),s=(0,l.useRef)(null),a=(0,l.useCallback)(()=>{let n=s.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[s,e]),i=(0,l.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=s.current;r(e>t||s.current.querySelector("code").hasAttribute("style"))},[s]);return!function(e,t){let[n,r]=(0,l.useState)(),s=(0,l.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,l.useEffect)(()=>{s()},[s]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:O,r=(0,S.zX)(t),s=(0,S.Ql)(n);(0,l.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,s),()=>t.disconnect()},[e,r,s])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),s())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(s,i),(0,l.useEffect)(()=>{i()},[e,i]),(0,l.useEffect)(()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)}),[i]),{codeBlockRef:s,isEnabled:e,isCodeScrollable:n,toggle:a}}(),v=(0,o.Z)(),b=(s?.match(T)?.groups.title??"")||c,{lineClassNames:w,code:Z}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:a}=t;if(a&&I.test(a)){let e=a.match(I).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=s[0].className;return{lineClassNames:Object.fromEntries(L()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let l=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return R(["js","jsBlock"],t);case"jsx":case"tsx":return R(["js","jsBlock","jsx"],t);case"html":return R(["js","jsBlock","html"],t);case"python":case"py":case"bash":return R(["bash"],t);case"markdown":case"md":return R(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return R(["tex"],t);case"lua":case"haskell":return R(["lua"],t);case"sql":return R(["lua","jsBlock"],t);case"wasm":return R(["wasm"],t);case"vb":case"vba":case"visual-basic":return R(["vb","rem"],t);case"vbnet":return R(["vbnet","rem"],t);case"batch":return R(["rem"],t);case"basic":return R(["rem","f90"],t);case"fsharp":return R(["js","ml"],t);case"ocaml":case"sml":return R(["ml"],t);case"fortran":return R(["f90"],t);case"cobol":return R(["cobol"],t);default:return R(H,t)}}(r,s),i=n.split("\n"),o=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<i.length;){let t=i[e].match(l);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?o[c[n]].range+=`${e},`:d[n]?o[d[n]].start=e:u[n]&&(o[u[n]].range+=`${o[u[n]].start}-${e-1},`),i.splice(e,1)}n=i.join("\n");let h={};return Object.entries(o).forEach(e=>{let[t,{range:n}]=e;L()(n).forEach(e=>{h[e]??=[],h[e].push(t)})}),{lineClassNames:h,code:n}}(n,{metastring:s,language:g,magicComments:m}),N=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:d,metastring:s});return(0,a.jsxs)(P,{as:"div",className:(0,i.Z)(r,g&&!r.includes(`language-${g}`)&&`language-${g}`),children:[b&&(0,a.jsx)("div",{className:z.codeBlockTitle,children:b}),(0,a.jsxs)("div",{className:z.codeBlockContent,children:[(0,a.jsx)($.y$,{theme:p,code:Z,language:g??"text",children:e=>{let{className:t,style:n,tokens:r,getLineProps:s,getTokenProps:l}=e;return(0,a.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,i.Z)(t,z.codeBlock,"thin-scrollbar"),style:n,children:(0,a.jsx)("code",{className:(0,i.Z)(z.codeBlockLines,void 0!==N&&z.codeBlockLinesWithNumbering),style:void 0===N?void 0:{counterReset:`line-count ${N-1}`},children:r.map((e,t)=>(0,a.jsx)(V,{line:e,getLineProps:s,getTokenProps:l,classNames:w[t],showLineNumbers:void 0!==N},t))})})}}),v?(0,a.jsxs)("div",{className:z.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,a.jsx)(X,{className:z.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,a.jsx)(q,{className:z.codeButton,code:Z})]}):null]})]})}let ee=(r=function(e){let{children:t,...n}=e,r=(0,o.Z)(),s=l.Children.toArray(t).some(e=>(0,l.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,a.jsx)("string"==typeof s?K:F,{...n,children:s},String(r))},function(e){return e.live?(0,a.jsx)(k,{scope:_,...e}):(0,a.jsx)(r,{...e})});function et(e){return(0,a.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/340ead00.fabf33de.js b/assets/js/340ead00.fabf33de.js new file mode 100644 index 0000000000..dfb7b7c84b --- /dev/null +++ b/assets/js/340ead00.fabf33de.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["7340"],{44314:function(e,t,a){a.r(t),a.d(t,{assets:()=>h,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>u});var s=a(30124),n=a(85893),o=a(80980);let i={mdx:{format:"md"},date:"2020-09-11T20:00",authors:["ashscodes","josephMG","mpsq","rutikwankhade","Simek","slorber","thadguidry"]},r="2.0.0-alpha.64",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0]},u=[];function l(e){return(0,n.jsx)(n.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},80980:function(e,t,a){a.d(t,{Z:()=>r,a:()=>i});var s=a(67294);let n={},o=s.createContext(n);function i(e){let t=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(o.Provider,{value:t},e.children)}},30124:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.64","source":"@site/changelog/source/2.0.0-alpha.64.md","title":"2.0.0-alpha.64","description":"New Feature","date":"2020-09-11T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ash","alias":"ashscodes","url":"https://github.com/ashscodes","imageURL":"https://github.com/ashscodes.png","key":"ashscodes","page":null},{"name":"josephMG","alias":"josephMG","url":"https://github.com/josephMG","imageURL":"https://github.com/josephMG.png","key":"josephMG","page":null},{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},{"name":"Rutik Wankhade","alias":"rutikwankhade","url":"https://github.com/rutikwankhade","imageURL":"https://github.com/rutikwankhade.png","key":"rutikwankhade","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Thad Guidry","alias":"thadguidry","url":"https://github.com/thadguidry","imageURL":"https://github.com/thadguidry.png","key":"thadguidry","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-09-11T20:00","authors":["ashscodes","josephMG","mpsq","rutikwankhade","Simek","slorber","thadguidry"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.65","permalink":"/changelog/2.0.0-alpha.65"},"nextItem":{"title":"2.0.0-alpha.63","permalink":"/changelog/2.0.0-alpha.63"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/35123c02.deb5589c.js b/assets/js/35123c02.deb5589c.js new file mode 100644 index 0000000000..30c588f075 --- /dev/null +++ b/assets/js/35123c02.deb5589c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["71151"],{87797:function(t,e,s){s.r(e),s.d(e,{frontMatter:()=>d,default:()=>c,contentTitle:()=>o,assets:()=>r,toc:()=>u,metadata:()=>i});var i=JSON.parse('{"id":"tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3","title":"Only Unlisteds - Unlisted 3","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3.mdx","sourceDirName":"tests/visibility/only-unlisteds/unlisted-subcategory","slug":"/tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3","permalink":"/tests/docs/tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"}'),n=s(85893),l=s(80980);let d={unlisted:!0,tags:["visibility","unlisted"]},o="Only Unlisteds - Unlisted 3",r={},u=[];function a(t){let e={h1:"h1",header:"header",p:"p",...(0,l.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"only-unlisteds---unlisted-3",children:"Only Unlisteds - Unlisted 3"})}),"\n",(0,n.jsx)(e.p,{children:"Doc with unlisted front matter"})]})}function c(t={}){let{wrapper:e}={...(0,l.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(a,{...t})}):a(t)}c.displayName="MDXContent(_dogfooding/_docs tests/tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3.mdx)"},80980:function(t,e,s){s.d(e,{Z:()=>o,a:()=>d});var i=s(67294);let n={},l=i.createContext(n);function d(t){let e=i.useContext(l);return i.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:d(t.components),i.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/3653b226.9e232dab.js b/assets/js/3653b226.9e232dab.js new file mode 100644 index 0000000000..8dba07ee32 --- /dev/null +++ b/assets/js/3653b226.9e232dab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["50663"],{29955:function(a,e,t){t.r(e),t.d(e,{assets:()=>g,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>n,toc:()=>u});var n=t(9436),i=t(85893),s=t(80980);let l={mdx:{format:"md"},date:"2022-07-08T20:00",authors:["201flaviosilva","7Wate","AkagiYui","alewolf","alexandernst","Altomy","anaclumos","bcabanes","BenDMyers","Boulet-","cbebe","clemiee","datlechin","DharsanB","dht","difranca","dpang314","emattia","forresst","Gary50613","ghostsquad","HyunseungLee-Travis","JeremyDolle","johnie","johnnyreilly","Josh-Cena","jpdriver","jqshuv","kursatsmsek","lanegoolsby","lex111","matkoch","metal-young","mrazauskas","pincman","redcamel","reinvanhaaren","RudraSen2","sado0823","saosangmo","scopsy","SheetJSDev","sigwinch28","slorber","Smilefounder","sserrata","szilarddoro","vannyle","webbertakken","yangshun","zpao"]},o="2.0.0-beta.22",g={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},u=[];function m(a){return(0,i.jsx)(i.Fragment,{})}function h(a={}){let{wrapper:e}={...(0,s.a)(),...a.components};return e?(0,i.jsx)(e,{...a,children:(0,i.jsx)(m,{...a})}):m(a)}},80980:function(a,e,t){t.d(e,{Z:()=>o,a:()=>l});var n=t(67294);let i={},s=n.createContext(i);function l(a){let e=n.useContext(s);return n.useMemo(function(){return"function"==typeof a?a(e):{...e,...a}},[e,a])}function o(a){let e;return e=a.disableParentContext?"function"==typeof a.components?a.components(i):a.components||i:l(a.components),n.createElement(s.Provider,{value:e},a.children)}},9436:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.22","source":"@site/changelog/source/2.0.0-beta.22.md","title":"2.0.0-beta.22","description":"Breaking Change","date":"2022-07-08T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Fl\xe1vio Silva","alias":"201flaviosilva","url":"https://github.com/201flaviosilva","imageURL":"https://github.com/201flaviosilva.png","key":"201flaviosilva","page":null},{"name":"7Wate","alias":"7Wate","url":"https://github.com/7Wate","imageURL":"https://github.com/7Wate.png","key":"7Wate","page":null},{"name":"\u8D64\u57CE\u7ED3\u8863","alias":"AkagiYui","url":"https://github.com/AkagiYui","imageURL":"https://github.com/AkagiYui.png","key":"AkagiYui","page":null},{"name":"alewolf","alias":"alewolf","url":"https://github.com/alewolf","imageURL":"https://github.com/alewolf.png","key":"alewolf","page":null},{"name":"Alexander Nestorov","alias":"alexandernst","url":"https://github.com/alexandernst","imageURL":"https://github.com/alexandernst.png","key":"alexandernst","page":null},{"name":"Ahmed Altomy","alias":"Altomy","url":"https://github.com/Altomy","imageURL":"https://github.com/Altomy.png","key":"Altomy","page":null},{"name":"Sunghyun Cho","alias":"anaclumos","url":"https://github.com/anaclumos","imageURL":"https://github.com/anaclumos.png","key":"anaclumos","page":null},{"name":"Benjamin Cabanes","alias":"bcabanes","url":"https://github.com/bcabanes","imageURL":"https://github.com/bcabanes.png","key":"bcabanes","page":null},{"name":"Ben Myers","alias":"BenDMyers","url":"https://github.com/BenDMyers","imageURL":"https://github.com/BenDMyers.png","key":"BenDMyers","page":null},{"name":"Boulet","alias":"Boulet-","url":"https://github.com/Boulet-","imageURL":"https://github.com/Boulet-.png","key":"Boulet-","page":null},{"name":"Charles Ancheta","alias":"cbebe","url":"https://github.com/cbebe","imageURL":"https://github.com/cbebe.png","key":"cbebe","page":null},{"name":"Clemie McCartney","alias":"clemiee","url":"https://github.com/clemiee","imageURL":"https://github.com/clemiee.png","key":"clemiee","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Dharsan B","alias":"DharsanB","url":"https://github.com/DharsanB","imageURL":"https://github.com/DharsanB.png","key":"DharsanB","page":null},{"name":"dht","alias":"dht","url":"https://github.com/dht","imageURL":"https://github.com/dht.png","key":"dht","page":null},{"name":"Diego Fran\xe7a","alias":"difranca","url":"https://github.com/difranca","imageURL":"https://github.com/difranca.png","key":"difranca","page":null},{"name":"dpang314","alias":"dpang314","url":"https://github.com/dpang314","imageURL":"https://github.com/dpang314.png","key":"dpang314","page":null},{"name":"emattia","alias":"emattia","url":"https://github.com/emattia","imageURL":"https://github.com/emattia.png","key":"emattia","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"\u51F1\u6069 Kane","alias":"Gary50613","url":"https://github.com/Gary50613","imageURL":"https://github.com/Gary50613.png","key":"Gary50613","page":null},{"name":"Wes McNamee","alias":"ghostsquad","url":"https://github.com/ghostsquad","imageURL":"https://github.com/ghostsquad.png","key":"ghostsquad","page":null},{"name":"Hyunseung Lee","alias":"HyunseungLee-Travis","url":"https://github.com/HyunseungLee-Travis","imageURL":"https://github.com/HyunseungLee-Travis.png","key":"HyunseungLee-Travis","page":null},{"name":"DOLLE","alias":"JeremyDolle","url":"https://github.com/JeremyDolle","imageURL":"https://github.com/JeremyDolle.png","key":"JeremyDolle","page":null},{"name":"Johnie Hjelm","alias":"johnie","url":"https://github.com/johnie","imageURL":"https://github.com/johnie.png","key":"johnie","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"JP","alias":"jpdriver","url":"https://github.com/jpdriver","imageURL":"https://github.com/jpdriver.png","key":"jpdriver","page":null},{"name":"Joshua Schmitt","alias":"jqshuv","url":"https://github.com/jqshuv","imageURL":"https://github.com/jqshuv.png","key":"jqshuv","page":null},{"name":"K\xfcr\u015Fat \u015Eim\u015Fek","alias":"kursatsmsek","url":"https://github.com/kursatsmsek","imageURL":"https://github.com/kursatsmsek.png","key":"kursatsmsek","page":null},{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Matthias Koch","alias":"matkoch","url":"https://github.com/matkoch","imageURL":"https://github.com/matkoch.png","key":"matkoch","page":null},{"name":"\u674E\u5C0F\u96E8","alias":"metal-young","url":"https://github.com/metal-young","imageURL":"https://github.com/metal-young.png","key":"metal-young","page":null},{"name":"Tom Mrazauskas","alias":"mrazauskas","url":"https://github.com/mrazauskas","imageURL":"https://github.com/mrazauskas.png","key":"mrazauskas","page":null},{"name":"pincman","alias":"pincman","url":"https://github.com/pincman","imageURL":"https://github.com/pincman.png","key":"pincman","page":null},{"name":"Redcamel","alias":"redcamel","url":"https://github.com/redcamel","imageURL":"https://github.com/redcamel.png","key":"redcamel","page":null},{"name":"Rein van Haaren","alias":"reinvanhaaren","url":"https://github.com/reinvanhaaren","imageURL":"https://github.com/reinvanhaaren.png","key":"reinvanhaaren","page":null},{"name":"Rudra Sen","alias":"RudraSen2","url":"https://github.com/RudraSen2","imageURL":"https://github.com/RudraSen2.png","key":"RudraSen2","page":null},{"name":"sado","alias":"sado0823","url":"https://github.com/sado0823","imageURL":"https://github.com/sado0823.png","key":"sado0823","page":null},{"name":"Dzung Do","alias":"saosangmo","url":"https://github.com/saosangmo","imageURL":"https://github.com/saosangmo.png","key":"saosangmo","page":null},{"name":"Dima Grossman","alias":"scopsy","url":"https://github.com/scopsy","imageURL":"https://github.com/scopsy.png","key":"scopsy","page":null},{"name":"SheetJSDev","alias":"SheetJSDev","url":"https://github.com/SheetJSDev","imageURL":"https://github.com/SheetJSDev.png","key":"SheetJSDev","page":null},{"name":"Joe Harrison","alias":"sigwinch28","url":"https://github.com/sigwinch28","imageURL":"https://github.com/sigwinch28.png","key":"sigwinch28","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Huy Nguyen","alias":"Smilefounder","url":"https://github.com/Smilefounder","imageURL":"https://github.com/Smilefounder.png","key":"Smilefounder","page":null},{"name":"Steven Serrata","alias":"sserrata","url":"https://github.com/sserrata","imageURL":"https://github.com/sserrata.png","key":"sserrata","page":null},{"name":"Szil\xe1rd D\xf3r\xf3","alias":"szilarddoro","url":"https://github.com/szilarddoro","imageURL":"https://github.com/szilarddoro.png","key":"szilarddoro","page":null},{"name":"Le Thi Van","alias":"vannyle","url":"https://github.com/vannyle","imageURL":"https://github.com/vannyle.png","key":"vannyle","page":null},{"name":"Webber Takken","alias":"webbertakken","url":"https://github.com/webbertakken","imageURL":"https://github.com/webbertakken.png","key":"webbertakken","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Paul O\u2019Shannessy","alias":"zpao","url":"https://github.com/zpao","imageURL":"https://github.com/zpao.png","key":"zpao","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-07-08T20:00","authors":["201flaviosilva","7Wate","AkagiYui","alewolf","alexandernst","Altomy","anaclumos","bcabanes","BenDMyers","Boulet-","cbebe","clemiee","datlechin","DharsanB","dht","difranca","dpang314","emattia","forresst","Gary50613","ghostsquad","HyunseungLee-Travis","JeremyDolle","johnie","johnnyreilly","Josh-Cena","jpdriver","jqshuv","kursatsmsek","lanegoolsby","lex111","matkoch","metal-young","mrazauskas","pincman","redcamel","reinvanhaaren","RudraSen2","sado0823","saosangmo","scopsy","SheetJSDev","sigwinch28","slorber","Smilefounder","sserrata","szilarddoro","vannyle","webbertakken","yangshun","zpao"]},"unlisted":false,"prevItem":{"title":"2.0.0-rc.1","permalink":"/changelog/2.0.0-rc.1"},"nextItem":{"title":"2.0.0-beta.21","permalink":"/changelog/2.0.0-beta.21"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/36927.8edcaa55.js b/assets/js/36927.8edcaa55.js new file mode 100644 index 0000000000..55ec6688f8 --- /dev/null +++ b/assets/js/36927.8edcaa55.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["36927"],{49866:function(e,c,s){s.d(c,{createArchitectureServices:()=>t.i});var t=s(62771);s(78983)}}]); \ No newline at end of file diff --git a/assets/js/36994c47.9b38c7ed.js b/assets/js/36994c47.9b38c7ed.js deleted file mode 100644 index b220f49704..0000000000 --- a/assets/js/36994c47.9b38c7ed.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[9858],{5516:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/36994c47.be2787a9.js b/assets/js/36994c47.be2787a9.js new file mode 100644 index 0000000000..645450ace7 --- /dev/null +++ b/assets/js/36994c47.be2787a9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["72792"],{17934:function(e){e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/36c3cb9a.d3807023.js b/assets/js/36c3cb9a.d3807023.js new file mode 100644 index 0000000000..c7e02b91b6 --- /dev/null +++ b/assets/js/36c3cb9a.d3807023.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["84953"],{43324:function(l){l.exports=JSON.parse('{"tag":{"label":"Long-long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long-long","allTagsPath":"/tests/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/tests/blog/tags/long-long-long-long-long","page":1,"postsPerPage":3,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/37066.9fbaa909.js b/assets/js/37066.9fbaa909.js new file mode 100644 index 0000000000..5d9b33822f --- /dev/null +++ b/assets/js/37066.9fbaa909.js @@ -0,0 +1,24 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["37066"],{20849:function(t,e,a){function l(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{A:()=>l}),(0,a(28923).eW)(l,"populateCommonDb")},63242:function(t,e,a){a.d(e,{diagram:()=>C});var l=a(20849),r=a(84890),o=a(70466),i=a(28923),c=a(16750),n={packet:[]},s=structuredClone(n),d=i.vZ.packet,k=(0,i.eW)(()=>{let t=(0,r.Rb)({...d,...(0,i.iE)().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),p=(0,i.eW)(()=>s.packet,"getPacket"),b={pushWord:(0,i.eW)(t=>{t.length>0&&s.packet.push(t)},"pushWord"),getPacket:p,getConfig:k,clear:(0,i.eW)(()=>{(0,i.ZH)(),s=structuredClone(n)},"clear"),setAccTitle:i.GN,getAccTitle:i.eu,setDiagramTitle:i.g2,getDiagramTitle:i.Kr,getAccDescription:i.Mx,setAccDescription:i.U$},g=(0,i.eW)(t=>{(0,l.A)(t,b);let e=-1,a=[],r=1,{bitsPerRow:o}=b.getConfig();for(let{start:l,end:c,label:n}of t.blocks){if(c&&c<l)throw Error(`Packet block ${l} - ${c} is invalid. End must be greater than start.`);if(l!==e+1)throw Error(`Packet block ${l} - ${c??l} is not contiguous. It should start from ${e+1}.`);for(e=c??l,i.cM.debug(`Packet block ${l} - ${e} with label ${n}`);a.length<=o+1&&b.getPacket().length<1e4;){let[t,e]=f({start:l,end:c,label:n},r,o);if(a.push(t),t.end+1===r*o&&(b.pushWord(a),a=[],r++),!e)break;({start:l,end:c,label:n}=e)}}b.pushWord(a)},"populate"),f=(0,i.eW)((t,e,a)=>{if(void 0===t.end&&(t.end=t.start),t.start>t.end)throw Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*a?[t,void 0]:[{start:t.start,end:e*a-1,label:t.label},{start:e*a,end:t.end,label:t.label}]},"getNextFittingBlock"),u={parse:(0,i.eW)(async t=>{let e=await (0,c.Qc)("packet",t);i.cM.debug(e),g(e)},"parse")},h=(0,i.eW)((t,e,a,l)=>{let r=l.db,c=r.getConfig(),{rowHeight:n,paddingY:s,bitWidth:d,bitsPerRow:k}=c,p=r.getPacket(),b=r.getDiagramTitle(),g=n+s,f=g*(p.length+1)-(b?0:n),u=d*k+2,h=(0,o.P)(e);for(let[t,e]of(h.attr("viewbox",`0 0 ${u} ${f}`),(0,i.v2)(h,f,u,c.useMaxWidth),p.entries()))x(h,e,t,c);h.append("text").text(b).attr("x",u/2).attr("y",f-g/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),x=(0,i.eW)((t,e,a,{rowHeight:l,paddingX:r,paddingY:o,bitWidth:i,bitsPerRow:c,showBits:n})=>{let s=t.append("g"),d=a*(l+o)+o;for(let t of e){let e=t.start%c*i+1,a=(t.end-t.start+1)*i-r;if(s.append("rect").attr("x",e).attr("y",d).attr("width",a).attr("height",l).attr("class","packetBlock"),s.append("text").attr("x",e+a/2).attr("y",d+l/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(t.label),!n)continue;let o=t.end===t.start,k=d-2;s.append("text").attr("x",e+(o?a/2:0)).attr("y",k).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",o?"middle":"start").text(t.start),o||s.append("text").attr("x",e+a).attr("y",k).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(t.end)}},"drawWord"),$={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},C={parser:u,db:b,renderer:{draw:h},styles:(0,i.eW)(({packet:t}={})=>{let e=(0,r.Rb)($,t);return` + .packetByte { + font-size: ${e.byteFontSize}; + } + .packetByte.start { + fill: ${e.startByteColor}; + } + .packetByte.end { + fill: ${e.endByteColor}; + } + .packetLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .packetTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + .packetBlock { + stroke: ${e.blockStrokeColor}; + stroke-width: ${e.blockStrokeWidth}; + fill: ${e.blockFillColor}; + } + `},"styles")}}}]); \ No newline at end of file diff --git a/assets/js/3716f59c.6a68a990.js b/assets/js/3716f59c.6a68a990.js new file mode 100644 index 0000000000..6bb1945441 --- /dev/null +++ b/assets/js/3716f59c.6a68a990.js @@ -0,0 +1,22 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["85936"],{11313:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>u,default:()=>m,contentTitle:()=>d,assets:()=>p,toc:()=>h,metadata:()=>r});var r=JSON.parse('{"id":"api/plugins/plugin-google-gtag","title":"\uD83D\uDCE6 plugin-google-gtag","description":"The default Global Site Tag (gtag.js) plugin. It is a JavaScript tagging framework and API that allows you to send event data to Google Analytics, Google Ads, and Google Marketing Platform. This section describes how to configure a Docusaurus site to enable global site tag for Google Analytics.","source":"@site/docs/api/plugins/plugin-google-gtag.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-google-gtag","permalink":"/docs/api/plugins/@docusaurus/plugin-google-gtag","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-google-gtag.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":7,"frontMatter":{"sidebar_position":7,"slug":"/api/plugins/@docusaurus/plugin-google-gtag"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-google-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-google-analytics"},"next":{"title":"\uD83D\uDCE6 plugin-rsdoctor","permalink":"/docs/api/plugins/@docusaurus/plugin-rsdoctor"}}'),s=n(85893),o=n(80980),l=n(15398),a=n(58636),i=n(32240),c=n(66359);let u={sidebar_position:7,slug:"/api/plugins/@docusaurus/plugin-google-gtag"},d="\uD83D\uDCE6 plugin-google-gtag",p={},h=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Example configuration",id:"ex-config",level:3}];function g(e){let t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"-plugin-google-gtag",children:"\uD83D\uDCE6 plugin-google-gtag"})}),"\n","\n",(0,s.jsxs)(t.p,{children:["The default ",(0,s.jsx)(t.a,{href:"https://developers.google.com/tag-platform/gtagjs",children:"Global Site Tag (gtag.js)"})," plugin. It is a JavaScript tagging framework and API that allows you to send event data to Google Analytics, Google Ads, and Google Marketing Platform. This section describes how to configure a Docusaurus site to enable global site tag for Google Analytics."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["You can use ",(0,s.jsx)(t.a,{href:"https://tagassistant.google.com/",children:"Google's Tag Assistant"})," tool to check if your gtag is set up correctly!"]})}),"\n",(0,s.jsx)(t.admonition,{title:"production only",type:"warning",children:(0,s.jsxs)(t.p,{children:["This plugin is always inactive in development and ",(0,s.jsx)(t.strong,{children:"only active in production"})," to avoid polluting the analytics statistics."]})}),"\n",(0,s.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,s.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,s.jsx)(a.Z,{value:"npm",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-google-gtag\n"})})}),(0,s.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-google-gtag\n"})})}),(0,s.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-google-gtag\n"})})})]}),"\n",(0,s.jsxs)(t.admonition,{type:"tip",children:[(0,s.jsxs)(t.p,{children:["If you use the preset ",(0,s.jsx)(t.code,{children:"@docusaurus/preset-classic"}),", you don't need to install this plugin as a dependency."]}),(0,s.jsxs)(t.p,{children:["You can configure this plugin through the ",(0,s.jsx)(t.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),"."]})]}),"\n",(0,s.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,s.jsx)(t.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(i.Z,{children:(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Default"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"trackingID"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)("code",{children:"string | string[]"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Required"})}),(0,s.jsx)(t.td,{children:"The tracking ID of your gtag service. It is possible to provide multiple ids."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"anonymizeIP"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"boolean"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"false"})}),(0,s.jsx)(t.td,{children:"Whether the IP should be anonymized when sending requests."})]})]})]})}),"\n",(0,s.jsx)(t.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,s.jsx)(t.p,{children:"You can configure this plugin through preset options or plugin options."}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"Most Docusaurus users configure this plugin through the preset options."})}),"\n","\n",(0,s.jsx)(c.Z,{pluginName:"@docusaurus/plugin-google-gtag",presetOptionName:"gtag",code:"{\n trackingID: 'G-999X9XX9XX',\n anonymizeIP: true,\n}"})]})}function m(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(g,{...e})}):g(e)}},58636:function(e,t,n){n.d(t,{Z:()=>o});var r=n(85893);n(67294);var s=n(90496);function o(e){let{children:t,hidden:n,className:o}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,s.Z)("tabItem_pnkT",o),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>j});var r=n(85893),s=n(67294),o=n(90496),l=n(54947),a=n(3620),i=n(844),c=n(97486),u=n(32263),d=n(16971);function p(e){return s.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||s.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var g=n(71607);function m(e){let{className:t,block:n,selectedValue:s,selectValue:a,tabValues:i}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,l.o5)(),d=e=>{let t=e.currentTarget,n=i[c.indexOf(t)].value;n!==s&&(u(t),a(n))},p=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{let n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1]}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},t),children:i.map(e=>{let{value:t,label:n,attributes:l}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>{c.push(e)},onKeyDown:p,onClick:d,...l,className:(0,o.Z)("tabs__item","tabItem_AQgk",l?.className,{"tabs__item--active":s===t}),children:n??t},t)})})}function f(e){let{lazy:t,children:n,selectedValue:l}=e,a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=a.find(e=>e.props.value===l);return e?(0,s.cloneElement)(e,{className:(0,o.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:a.map((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==l}))})}function b(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:r}=e,o=function(e){let{values:t,children:n}=e;return(0,s.useMemo)(()=>{let e=t??p(n).map(e=>{let{props:{value:t,label:n,attributes:r,default:s}}=e;return{value:t,label:n,attributes:r,default:s}});return!function(e){let t=(0,u.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[l,g]=(0,s.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!h({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:o})),[m,f]=function(e){let{queryString:t=!1,groupId:n}=e,r=(0,a.k6)(),o=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(o),(0,s.useCallback)(e=>{if(!o)return;let t=new URLSearchParams(r.location.search);t.set(o,e),r.replace({...r.location,search:t.toString()})},[o,r])]}({queryString:n,groupId:r}),[b,j]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[r,o]=(0,d.Nk)(n);return[r,(0,s.useCallback)(e=>{n&&o.set(e)},[n,o])]}({groupId:r}),x=(()=>{let e=m??b;return h({value:e,tabValues:o})?e:null})();return(0,i.Z)(()=>{x&&g(x)},[x]),{selectedValue:l,selectValue:(0,s.useCallback)(e=>{if(!h({value:e,tabValues:o}))throw Error(`Can't select invalid tab value=${e}`);g(e),f(e),j(e)},[f,j,o]),tabValues:o}}(e);return(0,r.jsxs)("div",{className:(0,o.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(m,{...t,...e}),(0,r.jsx)(f,{...t,...e})]})}function j(e){let t=(0,g.Z)();return(0,r.jsx)(b,{...e,children:p(e.children)},String(t))}},56497:function(e,t,n){n.d(t,{Z:()=>o});var r=n(85893);n(67294);var s=n(71607);function o(e){let{children:t,fallback:n}=e;return(0,s.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}},32240:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893),s=n(67294),o=n(96700),l=n(3620);let a=s.forwardRef(function(e,t){let{name:n,children:a}=e,i=function(e){let t=e;for(;(0,s.isValidElement)(t);)[t]=s.Children.toArray(t.props.children);if("string"!=typeof t)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return t}(a),c=n?`${n}-${i}`:i,u=`#${c}`,d=(0,l.k6)();return(0,o.Z)().collectAnchor(c),(0,r.jsx)("tr",{id:c,tabIndex:0,ref:d.location.hash===u?t:void 0,onClick:e=>{let t="TD"===e.target.tagName.toUpperCase(),n=!!window.getSelection()?.toString();t&&!n&&d.push(u)},onKeyDown:e=>{"Enter"===e.key&&d.push(u)},children:a.props.children})});function i(e){let{children:t,name:n}=e;if("table"!==t.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[o,l]=s.Children.toArray(t.props.children),i=(0,s.useRef)(null);(0,s.useEffect)(()=>{i.current?.focus()},[i]);let c=s.Children.map(l.props.children,e=>(0,r.jsx)(a,{name:n,ref:i,children:e}));return(0,r.jsxs)("table",{className:"apiTable_e8hp",children:[o,(0,r.jsx)("tbody",{children:c})]})}},66359:function(e,t,n){n.d(t,{Z:()=>d});var r=n(85893);n(67294);var s=n(35363),o=n(90158),l=n(77827),a=n(15398),i=n(58636),c=n(95998);let u=void 0;function d(e){let{code:t,pluginName:n,presetOptionName:d}=e,p=(0,o.zu)(u).path;return(0,r.jsxs)(a.Z,{groupId:"api-config-ex",children:[(0,r.jsxs)(i.Z,{value:"preset",label:(0,l.I)({message:"Preset options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(l.Z,{id:"apiDocs.configTabs.presetOptions.description",values:{presetLink:(0,r.jsx)(s.Z,{to:`${p}/using-plugins#docusauruspreset-classic`,children:(0,r.jsx)(l.Z,{children:"preset options"})})},children:"If you use a preset, configure this plugin through the {presetLink}:"})}),(0,r.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + presets: [ + [ + '@docusaurus/preset-classic', + { + // highlight-start + ${d}: ${t.replace(/\n/g,"\n ")}, + // highlight-end + }, + ], + ], +};`})]}),(0,r.jsxs)(i.Z,{value:"plugin",label:(0,l.I)({message:"Plugin options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(l.Z,{children:"If you are using a standalone plugin, provide options directly to the plugin:"})}),(0,r.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + plugins: [ + [ + '${n}', + // highlight-start + ${t.replace(/\n/g,"\n ")}, + // highlight-end + ], + ], +};`})]})]})}},95998:function(e,t,n){n.d(t,{Z:()=>et});var r,s={};n.r(s),n.d(s,{ButtonExample:()=>I});var o=n(85893),l=n(67294),a=n(90496),i=n(71607),c=n(10075),u=n(77827),d=n(8156),p=n(56497),h=n(85108),g=n(45245),m=n(26378);function f(){let{prism:e}=(0,m.L)(),{colorMode:t}=(0,g.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var b=n(67490);function j(e){let{children:t}=e;return(0,o.jsx)("div",{className:(0,a.Z)("playgroundHeader_Tvsk"),children:t})}function x(){return(0,o.jsx)("div",{children:"Loading..."})}function v(){return(0,o.jsx)(p.Z,{fallback:(0,o.jsx)(x,{}),children:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(b.Z,{fallback:e=>(0,o.jsx)(h.Ac,{...e}),children:(0,o.jsx)(c.i5,{})}),(0,o.jsx)(c.IF,{})]})})}function y(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(j,{children:(0,o.jsx)(u.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,o.jsx)("div",{className:"playgroundPreview_mApW",children:(0,o.jsx)(v,{})})]})}function k(){let e=(0,i.Z)();return(0,o.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function w(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(j,{children:(0,o.jsx)(u.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,o.jsx)(k,{})]})}let N=e=>`${e};`;function B(e){let{children:t,transformCode:n,...r}=e,{siteConfig:{themeConfig:s}}=(0,d.Z)(),{liveCodeBlock:{playgroundPosition:l}}=s,a=f(),i=r.metastring?.includes("noInline")??!1;return(0,o.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,o.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:i,transformCode:n??N,theme:a,...r,children:"top"===l?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(y,{}),(0,o.jsx)(w,{})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(w,{}),(0,o.jsx)(y,{})]})})})}function I(e){return(0,o.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let C={React:l,...l,...s};var Z=n(55951),E=n(6324),T=n.n(E);let L=/title=(?<quote>["'])(?<title>.*?)\1/,A=/\{(?<range>[\d,-]+)\}/,_={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},S={..._,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},$=Object.keys(_);function D(e,t){let n=e.map(e=>{let{start:n,end:r}=S[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function O(e){let{as:t,...n}=e,r=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,o=t[r];o&&"string"==typeof s&&(n[o]=s)}),n}(f());return(0,o.jsx)(t,{...n,style:r,className:(0,a.Z)(n.className,"codeBlockContainer_jDV4",Z.k.common.codeBlock)})}let P={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function G(e){let{children:t,className:n}=e;return(0,o.jsx)(O,{as:"pre",tabIndex:0,className:(0,a.Z)(P.codeBlockStandalone,"thin-scrollbar",n),children:(0,o.jsx)("code",{className:P.codeBlockLines,children:t})})}var M=n(50923);let R={attributes:!0,characterData:!0,childList:!0,subtree:!0};var W=n(7316);let V={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function q(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:s,getTokenProps:l}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let i=s({line:t,className:(0,a.Z)(n,r&&V.codeLine)}),c=t.map((e,t)=>(0,o.jsx)("span",{...l({token:e})},t));return(0,o.jsxs)("span",{...i,children:[r?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:V.codeLineNumber}),(0,o.jsx)("span",{className:V.codeLineContent,children:c})]}):c,(0,o.jsx)("br",{})]})}var z=n(44771);function H(e){return(0,o.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,o.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function F(e){return(0,o.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let X={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function U(e){let{code:t,className:n}=e,[r,s]=(0,l.useState)(!1),i=(0,l.useRef)(void 0),c=(0,l.useCallback)(()=>{(0,z.Z)(t),s(!0),i.current=window.setTimeout(()=>{s(!1)},1e3)},[t]);return(0,l.useEffect)(()=>()=>window.clearTimeout(i.current),[]),(0,o.jsx)("button",{type:"button","aria-label":r?(0,u.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,u.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,u.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.Z)("clean-btn",n,X.copyButton,r&&X.copyButtonCopied),onClick:c,children:(0,o.jsxs)("span",{className:X.copyButtonIcons,"aria-hidden":"true",children:[(0,o.jsx)(H,{className:X.copyButtonIcon}),(0,o.jsx)(F,{className:X.copyButtonSuccessIcon})]})})}function J(e){return(0,o.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,o.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let Q={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function Y(e){let{className:t,onClick:n,isEnabled:r}=e,s=(0,u.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,o.jsx)("button",{type:"button",onClick:n,className:(0,a.Z)("clean-btn",t,r&&Q.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,o.jsx)(J,{className:Q.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:r="",metastring:s,title:c,showLineNumbers:u,language:d}=e,{prism:{defaultLanguage:p,magicComments:h}}=(0,m.L)(),g=(t=d??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(r)??p,t?.toLowerCase()),b=f(),j=function(){let[e,t]=(0,l.useState)(!1),[n,r]=(0,l.useState)(!1),s=(0,l.useRef)(null),o=(0,l.useCallback)(()=>{let n=s.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[s,e]),a=(0,l.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=s.current;r(e>t||s.current.querySelector("code").hasAttribute("style"))},[s]);return!function(e,t){let[n,r]=(0,l.useState)(),s=(0,l.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,l.useEffect)(()=>{s()},[s]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:R,r=(0,M.zX)(t),s=(0,M.Ql)(n);(0,l.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,s),()=>t.disconnect()},[e,r,s])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),s())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(s,a),(0,l.useEffect)(()=>{a()},[e,a]),(0,l.useEffect)(()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)}),[a]),{codeBlockRef:s,isEnabled:e,isCodeScrollable:n,toggle:o}}(),x=(0,i.Z)(),v=(s?.match(L)?.groups.title??"")||c,{lineClassNames:y,code:k}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:o}=t;if(o&&A.test(o)){let e=o.match(A).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=s[0].className;return{lineClassNames:Object.fromEntries(T()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let l=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return D(["js","jsBlock"],t);case"jsx":case"tsx":return D(["js","jsBlock","jsx"],t);case"html":return D(["js","jsBlock","html"],t);case"python":case"py":case"bash":return D(["bash"],t);case"markdown":case"md":return D(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return D(["tex"],t);case"lua":case"haskell":return D(["lua"],t);case"sql":return D(["lua","jsBlock"],t);case"wasm":return D(["wasm"],t);case"vb":case"vba":case"visual-basic":return D(["vb","rem"],t);case"vbnet":return D(["vbnet","rem"],t);case"batch":return D(["rem"],t);case"basic":return D(["rem","f90"],t);case"fsharp":return D(["js","ml"],t);case"ocaml":case"sml":return D(["ml"],t);case"fortran":return D(["f90"],t);case"cobol":return D(["cobol"],t);default:return D($,t)}}(r,s),a=n.split("\n"),i=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<a.length;){let t=a[e].match(l);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?i[c[n]].range+=`${e},`:u[n]?i[u[n]].start=e:d[n]&&(i[d[n]].range+=`${i[d[n]].start}-${e-1},`),a.splice(e,1)}n=a.join("\n");let p={};return Object.entries(i).forEach(e=>{let[t,{range:n}]=e;T()(n).forEach(e=>{p[e]??=[],p[e].push(t)})}),{lineClassNames:p,code:n}}(n,{metastring:s,language:g,magicComments:h}),w=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:u,metastring:s});return(0,o.jsxs)(O,{as:"div",className:(0,a.Z)(r,g&&!r.includes(`language-${g}`)&&`language-${g}`),children:[v&&(0,o.jsx)("div",{className:P.codeBlockTitle,children:v}),(0,o.jsxs)("div",{className:P.codeBlockContent,children:[(0,o.jsx)(W.y$,{theme:b,code:k,language:g??"text",children:e=>{let{className:t,style:n,tokens:r,getLineProps:s,getTokenProps:l}=e;return(0,o.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,a.Z)(t,P.codeBlock,"thin-scrollbar"),style:n,children:(0,o.jsx)("code",{className:(0,a.Z)(P.codeBlockLines,void 0!==w&&P.codeBlockLinesWithNumbering),style:void 0===w?void 0:{counterReset:`line-count ${w-1}`},children:r.map((e,t)=>(0,o.jsx)(q,{line:e,getLineProps:s,getTokenProps:l,classNames:y[t],showLineNumbers:void 0!==w},t))})})}}),x?(0,o.jsxs)("div",{className:P.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,o.jsx)(Y,{className:P.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,o.jsx)(U,{className:P.codeButton,code:k})]}):null]})]})}let ee=(r=function(e){let{children:t,...n}=e,r=(0,i.Z)(),s=l.Children.toArray(t).some(e=>(0,l.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,o.jsx)("string"==typeof s?K:G,{...n,children:s},String(r))},function(e){return e.live?(0,o.jsx)(B,{scope:C,...e}):(0,o.jsx)(r,{...e})});function et(e){return(0,o.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/3720c009.45662658.js b/assets/js/3720c009.45662658.js new file mode 100644 index 0000000000..4dacf983a5 --- /dev/null +++ b/assets/js/3720c009.45662658.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["62898"],{61873:function(e,t,a){a.r(t),a.d(t,{default:()=>h});var s=a(85893);a(67294);var l=a(90496),r=a(57335),n=a(55951),i=a(88715),c=a(69086),g=a(69879),o=a(57922);function u(e){let{title:t}=e;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.d,{title:t}),(0,s.jsx)(g.Z,{tag:"doc_tags_list"})]})}function d(e){let{tags:t,title:a}=e;return(0,s.jsx)(r.FG,{className:(0,l.Z)(n.k.page.docsTagsListPage),children:(0,s.jsx)("div",{className:"container margin-vert--lg",children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("main",{className:"col col--8 col--offset-2",children:[(0,s.jsx)(o.Z,{as:"h1",children:a}),(0,s.jsx)(c.Z,{tags:t})]})})})})}function h(e){let t=(0,i.M)();return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u,{...e,title:t}),(0,s.jsx)(d,{...e,title:t})]})}},63479:function(e,t,a){a.d(t,{Z:()=>i});var s=a(85893);a(67294);var l=a(90496),r=a(35363);let n={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};function i(e){let{permalink:t,label:a,count:i,description:c}=e;return(0,s.jsxs)(r.Z,{href:t,title:c,className:(0,l.Z)(n.tag,i?n.tagWithCount:n.tagRegular),children:[a,i&&(0,s.jsx)("span",{children:i})]})}},69086:function(e,t,a){a.d(t,{Z:()=>c});var s=a(85893);a(67294);var l=a(88715),r=a(63479),n=a(57922);function i(e){let{letterEntry:t}=e;return(0,s.jsxs)("article",{children:[(0,s.jsx)(n.Z,{as:"h2",id:t.letter,children:t.letter}),(0,s.jsx)("ul",{className:"padding--none",children:t.tags.map(e=>(0,s.jsx)("li",{className:"tag_SyQ5",children:(0,s.jsx)(r.Z,{...e})},e.permalink))}),(0,s.jsx)("hr",{})]})}function c(e){let{tags:t}=e,a=(0,l.P)(t);return(0,s.jsx)("section",{className:"margin-vert--lg",children:a.map(e=>(0,s.jsx)(i,{letterEntry:e},e.letter))})}},88715:function(e,t,a){a.d(t,{M:()=>l,P:()=>r});var s=a(77827);let l=()=>(0,s.I)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});function r(e){let t={};return Object.values(e).forEach(e=>{let a=e.label[0].toUpperCase();t[a]??=[],t[a].push(e)}),Object.entries(t).sort((e,t)=>{let[a]=e,[s]=t;return a.localeCompare(s)}).map(e=>{let[t,a]=e;return{letter:t,tags:a.sort((e,t)=>e.label.localeCompare(t.label))}})}}}]); \ No newline at end of file diff --git a/assets/js/37bd3c63.8028e368.js b/assets/js/37bd3c63.8028e368.js new file mode 100644 index 0000000000..f282c998e5 --- /dev/null +++ b/assets/js/37bd3c63.8028e368.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["92377"],{60466:function(e,s,r){r.r(s),r.d(s,{assets:()=>h,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>a});var i=r(68509),t=r(85893),n=r(80980);let l={mdx:{format:"md"},date:"2021-07-28T20:00",authors:["antonvasilev52","arnaudjnn","cmfcmf","covalentbond","davidzhao","dbrrt","dgeb","fmassot","forresst","Josh-Cena","lennartkoopmann","lex111","lukasbach","marssaljr","massoudmaboudi","mweststrate","NazarStreletskyi","nirtamir2","pcho","pmuens","pranabdas","rluvaton","semoal","shortcuts","slorber","taylorreece","tohidnateghi","wenerme"]},o="2.0.0-beta.4",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},a=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:":running: Performance",id:"running-performance",level:2},{value:"Committers: 28",id:"committers-28",level:2}];function c(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4912",children:"#4912"})," feat(v2): add back to top button (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5235",children:"#5235"})," feat: docusaurus.new + improve StackBlitz playground integration (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5203",children:"#5203"})," feat: docs plugin options sidebarCollapsible + sidebarCollapsed (",(0,t.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5207",children:"#5207"})," feat: multiple playground choices (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,t.jsx)(s.code,{children:"docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4273",children:"#4273"})," feat(v2): redesign mobile UX: inline TOC + doc sidebar in main menu (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5203",children:"#5203"})," feat: docs plugin options sidebarCollapsible + sidebarCollapsed (",(0,t.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,t.jsx)(s.code,{children:"docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5173",children:"#5173"})," feat(v2): generalize usage of _ prefix convention to exclude content files/folders (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,t.jsx)(s.code,{children:"docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4273",children:"#4273"})," feat(v2): redesign mobile UX: inline TOC + doc sidebar in main menu (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5232",children:"#5232"})," fix(v2): blog should parse frontMatter.date even when time is present (",(0,t.jsx)(s.a,{href:"https://github.com/wenerme",children:"@wenerme"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5230",children:"#5230"})," fix(v2): remove top margin from first element inside doc article (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5229",children:"#5229"})," fix(v2): keep mobile TOC after hydration (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5179",children:"#5179"})," fix(v2): wrap dropdown item to missing li element + remove extra attributes (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5183",children:"#5183"})," fix(v2): pass all props to CodeBlock component (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5176",children:"#5176"})," fix(v2): Fix type for navlink label (",(0,t.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5172",children:"#5172"})," fix(v2): hide mobile collapsible doc toc if no headings (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5161",children:"#5161"})," fix(v2): disable default behavior when click on collapsible item (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5151",children:"#5151"})," fix(v2): add missing french translations for mobile (",(0,t.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5104",children:"#5104"})," fix(v2): fix SkipToContent programmatic focus when updating querystring (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5214",children:"#5214"})," fix: upgrade Docsearch to avoid layout shift (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5135",children:"#5135"})," chore(v2): update @docsearch/react (",(0,t.jsx)(s.a,{href:"https://github.com/shortcuts",children:"@shortcuts"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5204",children:"#5204"})," fix: cli upgrade helper fail when no ",(0,t.jsx)(s.code,{children:"package.dependencies"})," (",(0,t.jsx)(s.a,{href:"https://github.com/mweststrate",children:"@mweststrate"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5164",children:"#5164"})," fix(v2): revert webpack.resolve.symlinks = false (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5126",children:"#5126"})," fix(v2): remove webpackConfig.resolve.symlinks: true (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5110",children:"#5110"})," fix(v2): Fix update-notifier not run at first and not notifying consistently (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5199",children:"#5199"})," fix(v2): Fix MDX docs being considered as partials when siteDir match the _ prefix convention (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5185",children:"#5185"})," fix(v2): add base URL to content attribute of head tags PWA (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5169",children:"#5169"})," refactor(v2): automatically add base URL to PWA head tags (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,t.jsx)(s.code,{children:"docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5173",children:"#5173"})," feat(v2): generalize usage of _ prefix convention to exclude content files/folders (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5159",children:"#5159"})," fix(v2): Fix Collapsible hydration layout shift (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5146",children:"#5146"})," fix(v2): improve work of useCollapsible hook with multiple clicks (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-types"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5129",children:"#5129"})," fix(v2): fix d.ts lint error (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5116",children:"#5116"})," fix(v2): introduce useCollapsible to fix collapsible animation perf issues (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5102",children:"#5102"})," fix(v2): fix redirect plugin when trailingSlash=false for .html extension (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5228",children:"#5228"})," refactor(v2): fix small typo in Russian translation (",(0,t.jsx)(s.a,{href:"https://github.com/antonvasilev52",children:"@antonvasilev52"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5222",children:"#5222"})," chore(v2): update Infima to alpha 28 (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5224",children:"#5224"})," refactor(v2): update Russian translation (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5217",children:"#5217"})," refactor(v2): improved Farsi default translations (",(0,t.jsx)(s.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5171",children:"#5171"})," refactor(v2): increase content area if blog sidebar is off (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5154",children:"#5154"})," refactor(v2): Hindi translation for semantic doc sidebar (",(0,t.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5145",children:"#5145"})," refactor(v2): use Collapsible for mobile nav items (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5138",children:"#5138"})," refactor(v2): Update Hebrew translations (",(0,t.jsx)(s.a,{href:"https://github.com/nirtamir2",children:"@nirtamir2"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5140",children:"#5140"})," refactor(v2): bn translation improvements for semantic doc sidebar (",(0,t.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5139",children:"#5139"})," feat(v2): complete Chinese code translations (",(0,t.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5118",children:"#5118"})," refactor(v2): pt-BR translations improve semantic doc sidebar and tags (",(0,t.jsx)(s.a,{href:"https://github.com/marssaljr",children:"@marssaljr"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5215",children:"#5215"})," refactor: make code block shadows consistent with new admonitions (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5193",children:"#5193"})," refactor: redesign admonitions/callouts/quotes (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5168",children:"#5168"})," refactor(v2): mobile dropdown navbar: expand when subitem become active (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5236",children:"#5236"})," docs: add Verdaccio.org to showcase (",(0,t.jsx)(s.a,{href:"https://github.com/semoal",children:"@semoal"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5218",children:"#5218"})," docs(v2): remove vector.dev from showcase (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5212",children:"#5212"})," docs: mention Link can be used for external links (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5210",children:"#5210"})," docs(v2): Elaboration of raw-loader in markdown react component (",(0,t.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5191",children:"#5191"})," docs: user should restart docusaurus after adding prism additionalLanguage (",(0,t.jsx)(s.a,{href:"https://github.com/tohidnateghi",children:"@tohidnateghi"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5175",children:"#5175"})," docs: update API docs on navbar behavior (",(0,t.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5189",children:"#5189"})," docs(v2): Add orbitjs site to showcase page (",(0,t.jsx)(s.a,{href:"https://github.com/dgeb",children:"@dgeb"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5177",children:"#5177"})," docs(v2): add easyjwt to users (",(0,t.jsx)(s.a,{href:"https://github.com/dbrrt",children:"@dbrrt"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5187",children:"#5187"})," docs(v2): Add quickwit to user.js and png. (",(0,t.jsx)(s.a,{href:"https://github.com/fmassot",children:"@fmassot"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5184",children:"#5184"})," docs(v2): Add react-complex-tree to users.js (",(0,t.jsx)(s.a,{href:"https://github.com/lukasbach",children:"@lukasbach"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5178",children:"#5178"})," docs(v2): Update tutorial link (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5158",children:"#5158"})," docs(v2): Update deploy with Qovery docs for V2 (",(0,t.jsx)(s.a,{href:"https://github.com/arnaudjnn",children:"@arnaudjnn"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5152",children:"#5152"})," docs(v2): Indent code example to improve readability (",(0,t.jsx)(s.a,{href:"https://github.com/rluvaton",children:"@rluvaton"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5133",children:"#5133"})," docs(v2): GIF format is not suported (",(0,t.jsx)(s.a,{href:"https://github.com/NazarStreletskyi",children:"@NazarStreletskyi"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5117",children:"#5117"})," docs(v2): Add Prismatic docs page to showcase. (",(0,t.jsx)(s.a,{href:"https://github.com/taylorreece",children:"@taylorreece"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5115",children:"#5115"})," docs(v2): Add LiveKit to showcase (",(0,t.jsx)(s.a,{href:"https://github.com/davidzhao",children:"@davidzhao"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5114",children:"#5114"})," docs(v2): add Blink Shell Documentation to Showcase (",(0,t.jsx)(s.a,{href:"https://github.com/pcho",children:"@pcho"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5112",children:"#5112"})," docs(v2): clarify how to disable edit links entirely (",(0,t.jsx)(s.a,{href:"https://github.com/lennartkoopmann",children:"@lennartkoopmann"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5113",children:"#5113"})," docs(v2): Add CryptoDevHub to Showcase (",(0,t.jsx)(s.a,{href:"https://github.com/pmuens",children:"@pmuens"}),")"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5234",children:"#5234"})," chore: Upgrade infima 29 (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5130",children:"#5130"})," test(v2): dogfooding: add huge sidebar for testing purposes (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Other\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5223",children:"#5223"})," chore: fix iframe background color in dark mode (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5206",children:"#5206"})," misc: add script to keep starters branch/repos up-to-date (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5167",children:"#5167"})," fix(v2): fix website PWA icon hrefs (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5166",children:"#5166"})," fix(v2): fix yarn clear command (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5137",children:"#5137"})," chore: upgrade crowdin (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5111",children:"#5111"})," misc: monitor site global data with build size bot (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"running-performance",children:":running: Performance"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5136",children:"#5136"})," perf(v2): lazy sidebar categories / collapsibles, reduce html output / build times (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5130",children:"#5130"})," test(v2): dogfooding: add huge sidebar for testing purposes (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"committers-28",children:"Committers: 28"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,t.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Arijit Kundu (",(0,t.jsx)(s.a,{href:"https://github.com/covalentbond",children:"@covalentbond"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Arnaud Jeannin (",(0,t.jsx)(s.a,{href:"https://github.com/arnaudjnn",children:"@arnaudjnn"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Christian Flach (",(0,t.jsx)(s.a,{href:"https://github.com/cmfcmf",children:"@cmfcmf"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Cl\xe9ment Vannicatte (",(0,t.jsx)(s.a,{href:"https://github.com/shortcuts",children:"@shortcuts"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Dan Gebhardt (",(0,t.jsx)(s.a,{href:"https://github.com/dgeb",children:"@dgeb"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["David Barrat (",(0,t.jsx)(s.a,{href:"https://github.com/dbrrt",children:"@dbrrt"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["David Zhao (",(0,t.jsx)(s.a,{href:"https://github.com/davidzhao",children:"@davidzhao"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Forresst (",(0,t.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Fran\xe7ois Massot (",(0,t.jsx)(s.a,{href:"https://github.com/fmassot",children:"@fmassot"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Joshua Chen (",(0,t.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Lennart Koopmann (",(0,t.jsx)(s.a,{href:"https://github.com/lennartkoopmann",children:"@lennartkoopmann"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Lukas Bach (",(0,t.jsx)(s.a,{href:"https://github.com/lukasbach",children:"@lukasbach"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Mar\xe7al Junior (",(0,t.jsx)(s.a,{href:"https://github.com/marssaljr",children:"@marssaljr"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Massoud Maboudi (",(0,t.jsx)(s.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Michel Weststrate (",(0,t.jsx)(s.a,{href:"https://github.com/mweststrate",children:"@mweststrate"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Nazar (",(0,t.jsx)(s.a,{href:"https://github.com/NazarStreletskyi",children:"@NazarStreletskyi"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Philipp Muens (",(0,t.jsx)(s.a,{href:"https://github.com/pmuens",children:"@pmuens"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Pranab Das (",(0,t.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Przemys\u0142aw Chojecki (",(0,t.jsx)(s.a,{href:"https://github.com/pcho",children:"@pcho"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Raz Luvaton (",(0,t.jsx)(s.a,{href:"https://github.com/rluvaton",children:"@rluvaton"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Sergio Moreno (",(0,t.jsx)(s.a,{href:"https://github.com/semoal",children:"@semoal"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Taylor Reece (",(0,t.jsx)(s.a,{href:"https://github.com/taylorreece",children:"@taylorreece"}),")"]}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://github.com/antonvasilev52",children:"@antonvasilev52"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://github.com/nirtamir2",children:"@nirtamir2"})}),"\n",(0,t.jsxs)(s.li,{children:["tohid nateghi (",(0,t.jsx)(s.a,{href:"https://github.com/tohidnateghi",children:"@tohidnateghi"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["\u9648\u6768\u6587 (",(0,t.jsx)(s.a,{href:"https://github.com/wenerme",children:"@wenerme"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},80980:function(e,s,r){r.d(s,{Z:()=>o,a:()=>l});var i=r(67294);let t={},n=i.createContext(t);function l(e){let s=i.useContext(n);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(n.Provider,{value:s},e.children)}},68509:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.4","source":"@site/changelog/source/2.0.0-beta.4.md","title":"2.0.0-beta.4","description":"New Feature","date":"2021-07-28T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"antonvasilev52","alias":"antonvasilev52","url":"https://github.com/antonvasilev52","imageURL":"https://github.com/antonvasilev52.png","key":"antonvasilev52","page":null},{"name":"Arnaud Jeannin","alias":"arnaudjnn","url":"https://github.com/arnaudjnn","imageURL":"https://github.com/arnaudjnn.png","key":"arnaudjnn","page":null},{"name":"Christian Flach","alias":"cmfcmf","url":"https://github.com/cmfcmf","imageURL":"https://github.com/cmfcmf.png","key":"cmfcmf","page":null},{"name":"Arijit Kundu","alias":"covalentbond","url":"https://github.com/covalentbond","imageURL":"https://github.com/covalentbond.png","key":"covalentbond","page":null},{"name":"David Zhao","alias":"davidzhao","url":"https://github.com/davidzhao","imageURL":"https://github.com/davidzhao.png","key":"davidzhao","page":null},{"name":"David Barrat","alias":"dbrrt","url":"https://github.com/dbrrt","imageURL":"https://github.com/dbrrt.png","key":"dbrrt","page":null},{"name":"Dan Gebhardt","alias":"dgeb","url":"https://github.com/dgeb","imageURL":"https://github.com/dgeb.png","key":"dgeb","page":null},{"name":"Fran\xe7ois Massot","alias":"fmassot","url":"https://github.com/fmassot","imageURL":"https://github.com/fmassot.png","key":"fmassot","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Lennart Koopmann","alias":"lennartkoopmann","url":"https://github.com/lennartkoopmann","imageURL":"https://github.com/lennartkoopmann.png","key":"lennartkoopmann","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lukas Bach","alias":"lukasbach","url":"https://github.com/lukasbach","imageURL":"https://github.com/lukasbach.png","key":"lukasbach","page":null},{"name":"Mar\xe7al Junior","alias":"marssaljr","url":"https://github.com/marssaljr","imageURL":"https://github.com/marssaljr.png","key":"marssaljr","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Michel Weststrate","alias":"mweststrate","url":"https://github.com/mweststrate","imageURL":"https://github.com/mweststrate.png","key":"mweststrate","page":null},{"name":"Nazar","alias":"NazarStreletskyi","url":"https://github.com/NazarStreletskyi","imageURL":"https://github.com/NazarStreletskyi.png","key":"NazarStreletskyi","page":null},{"name":"nirtamir2","alias":"nirtamir2","url":"https://github.com/nirtamir2","imageURL":"https://github.com/nirtamir2.png","key":"nirtamir2","page":null},{"name":"Przemys\u0142aw Chojecki","alias":"pcho","url":"https://github.com/pcho","imageURL":"https://github.com/pcho.png","key":"pcho","page":null},{"name":"Philipp Muens","alias":"pmuens","url":"https://github.com/pmuens","imageURL":"https://github.com/pmuens.png","key":"pmuens","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"Raz Luvaton","alias":"rluvaton","url":"https://github.com/rluvaton","imageURL":"https://github.com/rluvaton.png","key":"rluvaton","page":null},{"name":"Sergio Moreno","alias":"semoal","url":"https://github.com/semoal","imageURL":"https://github.com/semoal.png","key":"semoal","page":null},{"name":"Cl\xe9ment Vannicatte","alias":"shortcuts","url":"https://github.com/shortcuts","imageURL":"https://github.com/shortcuts.png","key":"shortcuts","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null},{"name":"tohid nateghi","alias":"tohidnateghi","url":"https://github.com/tohidnateghi","imageURL":"https://github.com/tohidnateghi.png","key":"tohidnateghi","page":null},{"name":"\u9648\u6768\u6587","alias":"wenerme","url":"https://github.com/wenerme","imageURL":"https://github.com/wenerme.png","key":"wenerme","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-07-28T20:00","authors":["antonvasilev52","arnaudjnn","cmfcmf","covalentbond","davidzhao","dbrrt","dgeb","fmassot","forresst","Josh-Cena","lennartkoopmann","lex111","lukasbach","marssaljr","massoudmaboudi","mweststrate","NazarStreletskyi","nirtamir2","pcho","pmuens","pranabdas","rluvaton","semoal","shortcuts","slorber","taylorreece","tohidnateghi","wenerme"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.5","permalink":"/changelog/2.0.0-beta.5"},"nextItem":{"title":"2.0.0-beta.3","permalink":"/changelog/2.0.0-beta.3"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/37de9ece.c03e02b1.js b/assets/js/37de9ece.c03e02b1.js new file mode 100644 index 0000000000..5bd83f5160 --- /dev/null +++ b/assets/js/37de9ece.c03e02b1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["56050"],{39037:function(e,t,a){a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>g,frontMatter:()=>r,metadata:()=>o,toc:()=>h});var o=a(88028),n=a(85893),i=a(80980);let r={mdx:{format:"md"},date:"2021-09-02T20:00",authors:["3alisaki","antonym","farshidinanloo","gabrielcsapo","Josh-Cena","lex111","ohkimur","oscarlorentzon","rohit-gohri","slorber"]},s="2.0.0-beta.6",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},h=[];function u(e){return(0,n.jsx)(n.Fragment,{})}function g(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},80980:function(e,t,a){a.d(t,{Z:()=>s,a:()=>r});var o=a(67294);let n={},i=o.createContext(n);function r(e){let t=o.useContext(i);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:t},e.children)}},88028:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.6","source":"@site/changelog/source/2.0.0-beta.6.md","title":"2.0.0-beta.6","description":"New Feature","date":"2021-09-02T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ali Saki","alias":"3alisaki","url":"https://github.com/3alisaki","imageURL":"https://github.com/3alisaki.png","key":"3alisaki","page":null},{"name":"Antony Messerli","alias":"antonym","url":"https://github.com/antonym","imageURL":"https://github.com/antonym.png","key":"antonym","page":null},{"name":"farshid","alias":"farshidinanloo","url":"https://github.com/farshidinanloo","imageURL":"https://github.com/farshidinanloo.png","key":"farshidinanloo","page":null},{"name":"Gabriel Csapo","alias":"gabrielcsapo","url":"https://github.com/gabrielcsapo","imageURL":"https://github.com/gabrielcsapo.png","key":"gabrielcsapo","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Daniel Costrasel","alias":"ohkimur","url":"https://github.com/ohkimur","imageURL":"https://github.com/ohkimur.png","key":"ohkimur","page":null},{"name":"Oscar Lorentzon","alias":"oscarlorentzon","url":"https://github.com/oscarlorentzon","imageURL":"https://github.com/oscarlorentzon.png","key":"oscarlorentzon","page":null},{"name":"Rohit Gohri","alias":"rohit-gohri","url":"https://github.com/rohit-gohri","imageURL":"https://github.com/rohit-gohri.png","key":"rohit-gohri","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-09-02T20:00","authors":["3alisaki","antonym","farshidinanloo","gabrielcsapo","Josh-Cena","lex111","ohkimur","oscarlorentzon","rohit-gohri","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.7","permalink":"/changelog/2.0.0-beta.7"},"nextItem":{"title":"2.0.0-beta.5","permalink":"/changelog/2.0.0-beta.5"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/3813dac9.e335424e.js b/assets/js/3813dac9.e335424e.js new file mode 100644 index 0000000000..a37aa0c006 --- /dev/null +++ b/assets/js/3813dac9.e335424e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["82146"],{7394:function(e,t,n){n.r(t),n.d(t,{default:()=>d});var a=n(85893),c=n(67294),s=n(90496),i=n(45245),r=n(88408);let u=function(){!function(e,t,n,a){function c(){if(!t.getElementById(n)){let e=t.getElementsByTagName(a)[0],n=t.createElement(a);n.type="text/javascript",n.async=!0,n.src="https://canny.io/sdk.js",e.parentNode.insertBefore(n,e)}}if("function"!=typeof e.Canny){var s=function(){s.q.push(arguments)};s.q=[],e.Canny=s,"complete"===t.readyState?c():e.attachEvent?e.attachEvent("onload",c):e.addEventListener("load",c,!1)}}(window,document,"canny-jssdk","script")};function o(e){let{basePath:t}=e;(0,c.useEffect)(()=>{u()},[]);let n=function(){let{colorMode:e}=(0,i.I)();return"light"===e?"light":"dark"}();return(0,c.useEffect)(()=>{let{Canny:e}=window;e("render",{boardToken:"054e0e53-d951-b14c-7e74-9eb8f9ed2f91",basePath:t,theme:n})},[t,n]),(0,a.jsx)("main",{className:(0,s.Z)("container","margin-vert--lg","main_LiBd"),"data-canny":!0},n)}function d(e){let{basePath:t}=e;return(0,a.jsx)(r.Z,{title:"Feedback",description:"Docusaurus 2 Feature Requests page",children:(0,a.jsx)(o,{basePath:t})})}}}]); \ No newline at end of file diff --git a/assets/js/381bbac3.26d3ede7.js b/assets/js/381bbac3.26d3ede7.js new file mode 100644 index 0000000000..4b849b0e4f --- /dev/null +++ b/assets/js/381bbac3.26d3ede7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["4956"],{52337:function(e,t,o){o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>n,toc:()=>f});var n=o(50701),s=o(85893),r=o(80980);let a={title:"First post with footnote to test posts with same footnote reference."},i=void 0,c={authorsImageUrls:[]},f=[];function l(e){let t={a:"a",h2:"h2",li:"li",ol:"ol",p:"p",section:"section",sup:"sup",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["foo",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-1-0a1759",id:"user-content-fnref-1-0a1759","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"1"})})]}),"\n",(0,s.jsxs)(t.p,{children:["bar",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-2-0a1759",id:"user-content-fnref-2-0a1759","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"2"})})]}),"\n",(0,s.jsxs)(t.p,{children:["baz",(0,s.jsx)(t.sup,{children:(0,s.jsx)(t.a,{href:"#user-content-fn-3-0a1759",id:"user-content-fnref-3-0a1759","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"3"})})]}),"\n","\n",(0,s.jsxs)(t.section,{"data-footnotes":!0,className:"footnotes",children:[(0,s.jsx)(t.h2,{className:"sr-only",id:"footnote-label",children:"Footnotes"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{id:"user-content-fn-1-0a1759",children:["\n",(0,s.jsxs)(t.p,{children:["foo ",(0,s.jsx)(t.a,{href:"#user-content-fnref-1-0a1759","data-footnote-backref":"","aria-label":"Back to reference 1",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{id:"user-content-fn-2-0a1759",children:["\n",(0,s.jsxs)(t.p,{children:["bar ",(0,s.jsx)(t.a,{href:"#user-content-fnref-2-0a1759","data-footnote-backref":"","aria-label":"Back to reference 2",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{id:"user-content-fn-3-0a1759",children:["\n",(0,s.jsxs)(t.p,{children:["baz ",(0,s.jsx)(t.a,{href:"#user-content-fnref-3-0a1759","data-footnote-backref":"","aria-label":"Back to reference 3",className:"data-footnote-backref",children:"\u21A9"})]}),"\n"]}),"\n"]}),"\n"]})]})}function d(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},80980:function(e,t,o){o.d(t,{Z:()=>i,a:()=>a});var n=o(67294);let s={},r=n.createContext(s);function a(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(r.Provider,{value:t},e.children)}},50701:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2022/04/20/dup-footnote","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-04-20-dup-footnote.mdx","source":"@site/_dogfooding/_blog tests/2022-04-20-dup-footnote.mdx","title":"First post with footnote to test posts with same footnote reference.","description":"foo","date":"2022-04-20T00:00:00.000Z","tags":[],"readingTime":1.8,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"First post with footnote to test posts with same footnote reference."},"unlisted":false,"prevItem":{"title":"A post with html slug","permalink":"/tests/blog/x/y/z.html"},"nextItem":{"title":"Second post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/22/dup-footnote"}}')}}]); \ No newline at end of file diff --git a/assets/js/383dd8e9.92413646.js b/assets/js/383dd8e9.92413646.js new file mode 100644 index 0000000000..1a2624bcdf --- /dev/null +++ b/assets/js/383dd8e9.92413646.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["72330"],{74464:function(t){t.exports=JSON.parse('{"tag":{"label":"A","permalink":"/tests/docs/tags/a","description":"Description for tag a","allTagsPath":"/tests/docs/tags","count":1,"items":[{"id":"more-test","title":"Another test page","description":"Test link","permalink":"/tests/docs/more-test"}],"unlisted":false}}')}}]); \ No newline at end of file diff --git a/assets/js/38494.9512ee6c.js b/assets/js/38494.9512ee6c.js new file mode 100644 index 0000000000..cbea4be20d --- /dev/null +++ b/assets/js/38494.9512ee6c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["38494"],{44387:function(e,n,t){t.d(n,{bK:()=>ne});var r,i=t(46390),o=t(60877),u=0;let d=function(e){var n=++u;return(0,o.Z)(e)+n};var a=t(94193),s=t(61870),h=t(17677),f=t(24541),c=Math.ceil,g=Math.max;let v=function(e,n,t,r){for(var i=-1,o=g(c((n-e)/(t||1)),0),u=Array(o);o--;)u[r?o:++i]=e,e+=t;return u};var l=t(74047),Z=t(70982);let p=function(e,n,t){return t&&"number"!=typeof t&&(0,l.Z)(e,n,t)&&(n=t=void 0),e=(0,Z.Z)(e),void 0===n?(n=e,e=0):n=(0,Z.Z)(n),t=void 0===t?e<n?1:-1:(0,Z.Z)(t),v(e,n,t,void 0)};var m=t(62145);class b{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,n=e._prev;if(n!==e)return w(n),n}enqueue(e){var n=this._sentinel;e._prev&&e._next&&w(e),e._next=n._next,n._next._prev=e,n._next=e,e._prev=n}toString(){for(var e=[],n=this._sentinel,t=n._prev;t!==n;)e.push(JSON.stringify(t,_)),t=t._prev;return"["+e.join(", ")+"]"}}function w(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function _(e,n){if("_next"!==e&&"_prev"!==e)return n}var y=s.Z(1);function k(e,n,t,r,o){var u=o?[]:void 0;return i.Z(e.inEdges(r.v),function(r){var i=e.edge(r),d=e.node(r.v);o&&u.push({v:r.v,w:r.w}),d.out-=i,E(n,t,d)}),i.Z(e.outEdges(r.v),function(r){var i=e.edge(r),o=r.w,u=e.node(o);u.in-=i,E(n,t,u)}),e.removeNode(r.v),u}function E(e,n,t){t.out?t.in?e[t.out-t.in+n].enqueue(t):e[e.length-1].enqueue(t):e[0].enqueue(t)}var x=t(54988),N=t(36873),C=t(1433),I=t(23610),L=t(59123),M=(r=function(e,n){return null==e?{}:(0,N.Z)(e,n,function(n,t){return(0,C.Z)(e,t)})},(0,L.Z)((0,I.Z)(r,void 0,h.Z),r+"")),R=t(85143),T=t(27805);let O=function(e,n){return e>n};var P=t(48233);let j=function(e){return e&&e.length?(0,T.Z)(e,P.Z,O):void 0};var F=t(51054),D=t(83276),S=t(94337),G=t(64693);let V=function(e,n){var t={};return n=(0,G.Z)(n,3),(0,S.Z)(e,function(e,r,i){(0,D.Z)(t,r,n(e,r,i))}),t};var B=t(4740),q=t(90373),Y=t(17982);let z=function(){return Y.Z.Date.now()};function A(e,n,t,r){var i;do i=d(r);while(e.hasNode(i));return t.dummy=n,e.setNode(i,t),i}function $(e){var n=new m.k({multigraph:e.isMultigraph()}).setGraph(e.graph());return i.Z(e.nodes(),function(t){e.children(t).length||n.setNode(t,e.node(t))}),i.Z(e.edges(),function(t){n.setEdge(t,e.edge(t))}),n}function J(e,n){var t,r,i=e.x,o=e.y,u=n.x-i,d=n.y-o,a=e.width/2,s=e.height/2;if(!u&&!d)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(d)*a>Math.abs(u)*s?(d<0&&(s=-s),t=s*u/d,r=s):(u<0&&(a=-a),t=a,r=a*d/u),{x:i+t,y:o+r}}function K(e){var n=f.Z(p(Q(e)+1),function(){return[]});return i.Z(e.nodes(),function(t){var r=e.node(t),i=r.rank;B.Z(i)||(n[i][r.order]=t)}),n}function H(e,n,t,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=t,i.order=r),A(e,"border",i,n)}function Q(e){return j(f.Z(e.nodes(),function(n){var t=e.node(n).rank;if(!B.Z(t))return t}))}function U(e,n){var t=z();try{return n()}finally{console.log(e+" time: "+(z()-t)+"ms")}}function W(e,n){return n()}function X(e,n,t,r,i,o){var u=i[n][o-1],d=A(e,"border",{width:0,height:0,rank:o,borderType:n},t);i[n][o]=d,e.setParent(d,r),u&&e.setEdge(u,d,{weight:1})}function ee(e){i.Z(e.nodes(),function(n){en(e.node(n))}),i.Z(e.edges(),function(n){en(e.edge(n))})}function en(e){var n=e.width;e.width=e.height,e.height=n}function et(e){e.y=-e.y}function er(e){var n=e.x;e.x=e.y,e.y=n}var ei=t(3472);let eo=function(e,n){return e&&e.length?(0,T.Z)(e,(0,G.Z)(n,2),ei.Z):void 0};function eu(e){var n={};i.Z(e.sources(),function t(r){var i=e.node(r);if(a.Z(n,r))return i.rank;n[r]=!0;var o=q.Z(f.Z(e.outEdges(r),function(n){return t(n.w)-e.edge(n).minlen}));return(o===Number.POSITIVE_INFINITY||null==o)&&(o=0),i.rank=o})}function ed(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}function ea(e){var n,t,r,o,u=new m.k({directed:!1}),d=e.nodes()[0],a=e.nodeCount();for(u.setNode(d,{});n=u,t=e,i.Z(n.nodes(),function e(r){i.Z(t.nodeEdges(r),function(i){var o=i.v,u=r===o?i.w:o;n.hasNode(u)||ed(t,i)||(n.setNode(u,{}),n.setEdge(r,u,{}),e(u))})}),n.nodeCount()<a;)r=function(e,n){return eo(n.edges(),function(t){if(e.hasNode(t.v)!==e.hasNode(t.w))return ed(n,t)})}(u,e),o=u.hasNode(r.v)?ed(e,r):-ed(e,r),function(e,n,t){i.Z(e.nodes(),function(e){n.node(e).rank+=t})}(u,e,o);return u}var es=t(16136),eh=t(69052);s.Z(1),s.Z(1);var ef=t(59663),ec=t(12011),eg=t(73713),ev=t(43917),el=(0,t(81853).Z)("length"),eZ=RegExp("[\\u200d\ud800-\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),ep="\ud800-\udfff",em="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",eb="\ud83c[\udffb-\udfff]",ew="[^"+ep+"]",e_="(?:\ud83c[\udde6-\uddff]){2}",ey="[\ud800-\udbff][\udc00-\udfff]",ek="(?:"+em+"|"+eb+")?",eE="[\\ufe0e\\ufe0f]?",ex="(?:\\u200d(?:"+[ew,e_,ey].join("|")+")"+eE+ek+")*",eN=RegExp(eb+"(?="+eb+")|"+("(?:"+[ew+em+"?",em,e_,ey,"["+ep+"]"].join("|"))+")"+(eE+ek+ex),"g");let eC=function(e){for(var n=eN.lastIndex=0;eN.test(e);)++n;return n},eI=function(e){return eZ.test(e)?eC(e):el(e)},eL=function(e){if(null==e)return 0;if((0,eg.Z)(e))return(0,ev.Z)(e)?eI(e):e.length;var n=(0,ec.Z)(e);return"[object Map]"==n||"[object Set]"==n?e.size:(0,ef.Z)(e).length};function eM(){}eM.prototype=Error();var eR=t(8572);function eT(e,n,t){eR.Z(n)||(n=[n]);var r=(e.isDirected()?e.successors:e.neighbors).bind(e),o=[],u={};return i.Z(n,function(n){if(!e.hasNode(n))throw Error("Graph does not have node: "+n);(function e(n,t,r,o,u,d){!a.Z(o,t)&&(o[t]=!0,r||d.push(t),i.Z(u(t),function(t){e(n,t,r,o,u,d)}),r&&d.push(t))})(e,n,"post"===t,u,r,o)}),o}function eO(e){n=e,t=new m.k().setGraph(n.graph()),i.Z(n.nodes(),function(e){t.setNode(e,n.node(e))}),i.Z(n.edges(),function(e){var r=t.edge(e.v,e.w)||{weight:0,minlen:1},i=n.edge(e);t.setEdge(e.v,e.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),eu(e=t);var n,t,r,o,u=ea(e);for(eF(u),eP(u,e);r=eD(u);)o=eS(u,e,r),eG(u,e,r,o)}function eP(e,n){var t=eT(e,e.nodes(),"post");t=t.slice(0,t.length-1),i.Z(t,function(t){var r,i,o,u;r=e,i=n,o=t,u=r.node(o).parent,r.edge(o,u).cutvalue=ej(r,i,o)})}function ej(e,n,t){var r=e.node(t).parent,o=!0,u=n.edge(t,r),d=0;return u||(o=!1,u=n.edge(r,t)),d=u.weight,i.Z(n.nodeEdges(t),function(i){var u=i.v===t,a=u?i.w:i.v;if(a!==r){var s,h,f,c=u===o,g=n.edge(i).weight;if(d+=c?g:-g,s=e,h=t,f=a,s.hasEdge(h,f)){var v=e.edge(t,a).cutvalue;d+=c?-v:v}}}),d}function eF(e,n){arguments.length<2&&(n=e.nodes()[0]),function e(n,t,r,o,u){var d=r,s=n.node(o);return t[o]=!0,i.Z(n.neighbors(o),function(i){a.Z(t,i)||(r=e(n,t,r,i,o))}),s.low=d,s.lim=r++,u?s.parent=u:delete s.parent,r}(e,{},1,n)}function eD(e){return es.Z(e.edges(),function(n){return e.edge(n).cutvalue<0})}function eS(e,n,t){var r=t.v,i=t.w;n.hasEdge(r,i)||(r=t.w,i=t.v);var o=e.node(r),u=e.node(i),d=o,a=!1;return o.lim>u.lim&&(d=u,a=!0),eo(eh.Z(n.edges(),function(n){return a===eV(e,e.node(n.v),d)&&a!==eV(e,e.node(n.w),d)}),function(e){return ed(n,e)})}function eG(e,n,t,r){var o,u,d,a,s=t.v,h=t.w;e.removeEdge(s,h),e.setEdge(r.v,r.w,{}),eF(e),eP(e,n),o=e,u=n,d=es.Z(o.nodes(),function(e){return!u.node(e).parent}),a=(a=eT(o,d,"pre")).slice(1),i.Z(a,function(e){var n=o.node(e).parent,t=u.edge(e,n),r=!1;t||(t=u.edge(n,e),r=!0),u.node(e).rank=u.node(n).rank+(r?t.minlen:-t.minlen)})}function eV(e,n,t){return t.low<=n.lim&&n.lim<=t.lim}t(64085),eO.initLowLimValues=eF,eO.initCutValues=eP,eO.calcCutValue=ej,eO.leaveEdge=eD,eO.enterEdge=eS,eO.exchangeEdges=eG;var eB=t(70485),eq=t(98381),eY=t(58928),ez=t(94379);let eA=function(e,n,t){for(var r=-1,i=e.length,o=n.length,u={};++r<i;){var d=r<o?n[r]:void 0;t(u,e[r],d)}return u};var e$=t(40805),eJ=t(4064),eK=t(84483),eH=t(5977);let eQ=function(e,n){var t=e.length;for(e.sort(n);t--;)e[t]=e[t].value;return e};var eU=t(38696),eW=t(98588);let eX=function(e,n){if(e!==n){var t=void 0!==e,r=null===e,i=e==e,o=(0,eW.Z)(e),u=void 0!==n,d=null===n,a=n==n,s=(0,eW.Z)(n);if(!d&&!s&&!o&&e>n||o&&u&&a&&!d&&!s||r&&u&&a||!t&&a||!i)return 1;if(!r&&!o&&!s&&e<n||s&&t&&i&&!r&&!o||d&&t&&i||!u&&i||!a)return -1}return 0},e0=function(e,n,t){for(var r=-1,i=e.criteria,o=n.criteria,u=i.length,d=t.length;++r<u;){var a=eX(i[r],o[r]);if(a){if(r>=d)return a;return a*("desc"==t[r]?-1:1)}}return e.index-n.index},e1=function(e,n,t){n=n.length?(0,eJ.Z)(n,function(e){return(0,eR.Z)(e)?function(n){return(0,eK.Z)(n,1===e.length?e[0]:e)}:e}):[P.Z];var r=-1;return n=(0,eJ.Z)(n,(0,eU.Z)(G.Z)),eQ((0,eH.Z)(e,function(e,t,i){return{criteria:(0,eJ.Z)(n,function(n){return n(e)}),index:++r,value:e}}),function(e,n){return e0(e,n,t)})};var e2=(0,t(29183).Z)(function(e,n){if(null==e)return[];var t=n.length;return t>1&&(0,l.Z)(e,n[0],n[1])?n=[]:t>2&&(0,l.Z)(n[0],n[1],n[2])&&(n=[n[0]]),e1(e,(0,e$.Z)(n,1),[])});function e3(e,n,t){for(var r;n.length&&(r=F.Z(n)).i<=t;)n.pop(),e.push(r.vs),t++;return t}function e4(e,n,t){return f.Z(n,function(n){var r,o;return r=function(e){for(var n;e.hasNode(n=d("_root")););return n}(e),o=new m.k({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(n){return e.node(n)}),i.Z(e.nodes(),function(u){var d=e.node(u),s=e.parent(u);(d.rank===n||d.minRank<=n&&n<=d.maxRank)&&(o.setNode(u),o.setParent(u,s||r),i.Z(e[t](u),function(n){var t=n.v===u?n.w:n.v,r=o.edge(t,u),i=B.Z(r)?0:r.weight;o.setEdge(t,u,{weight:e.edge(n).weight+i})}),a.Z(d,"minRank")&&o.setNode(u,{borderLeft:d.borderLeft[n],borderRight:d.borderRight[n]}))}),o})}function e8(e,n){i.Z(n,function(n){i.Z(n,function(n,t){e.node(n).order=t})})}var e7=t(61108),e6=t(90355),e5=t(78649);function e9(e,n,t){if(n>t){var r=n;n=t,t=r}var i=e[n];i||(e[n]=i={}),i[t]=!0}function ne(e,n){var t=n&&n.debugTiming?U:W;t("layout",function(){var n=t(" buildLayoutGraph",function(){var n,t,r;return n=e,t=new m.k({multigraph:!0,compound:!0}),r=nh(n.graph()),t.setGraph(x.Z({},nt,ns(r,nn),M(r,nr))),i.Z(n.nodes(),function(e){var r=nh(n.node(e));t.setNode(e,R.Z(ns(r,ni),no)),t.setParent(e,n.parent(e))}),i.Z(n.edges(),function(e){var r=nh(n.edge(e));t.setEdge(e,x.Z({},nd,ns(r,nu),M(r,na)))}),t});t(" runLayout",function(){var e,r;e=n,(r=t)(" makeSpaceForEdgeLabels",function(){var n,t;t=(n=e).graph(),t.ranksep/=2,i.Z(n.edges(),function(e){var r=n.edge(e);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)})}),r(" removeSelfEdges",function(){var n;n=e,i.Z(n.edges(),function(e){if(e.v===e.w){var t=n.node(e.v);t.selfEdges||(t.selfEdges=[]),t.selfEdges.push({e:e,label:n.edge(e)}),n.removeEdge(e)}})}),r(" acyclic",function(){var n,t,r,o,u,s;n="greedy"===e.graph().acyclicer?function(e,n){if(1>=e.nodeCount())return[];var t,r,o,u,d,a,s,c=(t=e,r=n||y,o=new m.k,u=0,d=0,i.Z(t.nodes(),function(e){o.setNode(e,{v:e,in:0,out:0})}),i.Z(t.edges(),function(e){var n=o.edge(e.v,e.w)||0,t=r(e);o.setEdge(e.v,e.w,n+t),d=Math.max(d,o.node(e.v).out+=t),u=Math.max(u,o.node(e.w).in+=t)}),a=p(d+u+3).map(function(){return new b}),s=u+1,i.Z(o.nodes(),function(e){E(a,s,o.node(e))}),{graph:o,buckets:a,zeroIdx:s}),g=function(e,n,t){for(var r,i=[],o=n[n.length-1],u=n[0];e.nodeCount();){for(;r=u.dequeue();)k(e,n,t,r);for(;r=o.dequeue();)k(e,n,t,r);if(e.nodeCount()){for(var d=n.length-2;d>0;--d)if(r=n[d].dequeue()){i=i.concat(k(e,n,t,r,!0));break}}}return i}(c.graph,c.buckets,c.zeroIdx);return h.Z(f.Z(g,function(n){return e.outEdges(n.v,n.w)}))}(e,(t=e,function(e){return t.edge(e).weight})):(r=e,o=[],u={},s={},i.Z(r.nodes(),function e(n){!a.Z(s,n)&&(s[n]=!0,u[n]=!0,i.Z(r.outEdges(n),function(n){a.Z(u,n.w)?o.push(n):e(n.w)}),delete u[n])}),o),i.Z(n,function(n){var t=e.edge(n);e.removeEdge(n),t.forwardName=n.name,t.reversed=!0,e.setEdge(n.w,n.v,t,d("rev"))})}),r(" nestingGraph.run",function(){var n,t,r,o,u,d,a,s;n=A(e,"root",{},"_root"),d=e,a={},i.Z(d.children(),function(e){!function e(n,t){var r=d.children(n);r&&r.length&&i.Z(r,function(n){e(n,t+1)}),a[n]=t}(e,1)}),t=a,o=2*(r=j(eB.Z(t))-1)+1,e.graph().nestingRoot=n,i.Z(e.edges(),function(n){e.edge(n).minlen*=o}),u=(s=e,eq.Z(s.edges(),function(e,n){return e+s.edge(n).weight},0)+1),i.Z(e.children(),function(d){(function e(n,t,r,o,u,d,a){var s=n.children(a);if(!s.length){a!==t&&n.setEdge(t,a,{weight:0,minlen:r});return}var h=H(n,"_bt"),f=H(n,"_bb"),c=n.node(a);n.setParent(h,a),c.borderTop=h,n.setParent(f,a),c.borderBottom=f,i.Z(s,function(i){e(n,t,r,o,u,d,i);var s=n.node(i),c=s.borderTop?s.borderTop:i,g=s.borderBottom?s.borderBottom:i,v=s.borderTop?o:2*o,l=c!==g?1:u-d[a]+1;n.setEdge(h,c,{weight:v,minlen:l,nestingEdge:!0}),n.setEdge(g,f,{weight:v,minlen:l,nestingEdge:!0})}),n.parent(a)||n.setEdge(t,h,{weight:0,minlen:u+d[a]})})(e,n,o,u,r,t,d)}),e.graph().nodeRankFactor=o}),r(" rank",function(){!function(e){switch(e.graph().ranker){case"network-simplex":default:eO(e);break;case"tight-tree":var n;eu(n=e),ea(n);break;case"longest-path":eu(e)}}($(e))}),r(" injectEdgeLabelProxies",function(){var n;n=e,i.Z(n.edges(),function(e){var t=n.edge(e);if(t.width&&t.height){var r=n.node(e.v),i={rank:(n.node(e.w).rank-r.rank)/2+r.rank,e:e};A(n,"edge-proxy",i,"_ep")}})}),r(" removeEmptyRanks",function(){var n,t,r,o;n=q.Z(f.Z(e.nodes(),function(n){return e.node(n).rank})),t=[],i.Z(e.nodes(),function(r){var i=e.node(r).rank-n;t[i]||(t[i]=[]),t[i].push(r)}),r=0,o=e.graph().nodeRankFactor,i.Z(t,function(n,t){B.Z(n)&&t%o!=0?--r:r&&i.Z(n,function(n){e.node(n).rank+=r})})}),r(" nestingGraph.cleanup",function(){var n;n=e.graph(),e.removeNode(n.nestingRoot),delete n.nestingRoot,i.Z(e.edges(),function(n){e.edge(n).nestingEdge&&e.removeEdge(n)})}),r(" normalizeRanks",function(){var n;n=q.Z(f.Z(e.nodes(),function(n){return e.node(n).rank})),i.Z(e.nodes(),function(t){var r=e.node(t);a.Z(r,"rank")&&(r.rank-=n)})}),r(" assignRankMinMax",function(){var n,t;n=e,t=0,i.Z(n.nodes(),function(e){var r=n.node(e);r.borderTop&&(r.minRank=n.node(r.borderTop).rank,r.maxRank=n.node(r.borderBottom).rank,t=j(t,r.maxRank))}),n.graph().maxRank=t}),r(" removeEdgeLabelProxies",function(){var n;n=e,i.Z(n.nodes(),function(e){var t=n.node(e);"edge-proxy"===t.dummy&&(n.edge(t.e).labelRank=t.rank,n.removeNode(e))})}),r(" normalize.run",function(){e.graph().dummyChains=[],i.Z(e.edges(),function(n){(function(e,n){var t,r,i,o=n.v,u=e.node(o).rank,d=n.w,a=e.node(d).rank,s=n.name,h=e.edge(n),f=h.labelRank;if(a!==u+1){for(e.removeEdge(n),i=0,++u;u<a;++i,++u)h.points=[],t=A(e,"edge",r={width:0,height:0,edgeLabel:h,edgeObj:n,rank:u},"_d"),u===f&&(r.width=h.width,r.height=h.height,r.dummy="edge-label",r.labelpos=h.labelpos),e.setEdge(o,t,{weight:h.weight},s),0===i&&e.graph().dummyChains.push(t),o=t;e.setEdge(o,d,{weight:h.weight},s)}})(e,n)})}),r(" parentDummyChains",function(){var n,t,r,o;t=e,r={},o=0,i.Z(t.children(),function e(n){var u=o;i.Z(t.children(n),e),r[n]={low:u,lim:o++}}),n=r,i.Z(e.graph().dummyChains,function(t){for(var r=e.node(t),i=r.edgeObj,o=function(e,n,t,r){var i,o,u=[],d=[],a=Math.min(n[t].low,n[r].low),s=Math.max(n[t].lim,n[r].lim);i=t;do u.push(i=e.parent(i));while(i&&(n[i].low>a||s>n[i].lim));for(o=i,i=r;(i=e.parent(i))!==o;)d.push(i);return{path:u.concat(d.reverse()),lca:o}}(e,n,i.v,i.w),u=o.path,d=o.lca,a=0,s=u[0],h=!0;t!==i.w;){if(r=e.node(t),h){for(;(s=u[a])!==d&&e.node(s).maxRank<r.rank;)a++;s===d&&(h=!1)}if(!h){for(;a<u.length-1&&e.node(s=u[a+1]).minRank<=r.rank;)a++;s=u[a]}e.setParent(t,s),t=e.successors(t)[0]}})}),r(" addBorderSegments",function(){i.Z(e.children(),function n(t){var r=e.children(t),o=e.node(t);if(r.length&&i.Z(r,n),a.Z(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var u=o.minRank,d=o.maxRank+1;u<d;++u)X(e,"borderLeft","_bl",t,o,u),X(e,"borderRight","_br",t,o,u)}})}),r(" order",function(){!function(e){var n=Q(e),t=e4(e,p(1,n+1),"inEdges"),r=e4(e,p(n-1,-1,-1),"outEdges"),o=(u={},d=eh.Z(e.nodes(),function(n){return!e.children(n).length}),s=j(f.Z(d,function(n){return e.node(n).rank})),c=f.Z(p(s+1),function(){return[]}),g=e2(d,function(n){return e.node(n).rank}),i.Z(g,function n(t){a.Z(u,t)||(u[t]=!0,c[e.node(t).rank].push(t),i.Z(e.successors(t),n))}),c);e8(e,o);for(var u,d,s,c,g,v,l=Number.POSITIVE_INFINITY,Z=0,b=0;b<4;++Z,++b){(function(e,n){var t=new m.k;i.Z(e,function(e){var r,o,u,d=e.graph().root,s=function e(n,t,r,o){var u,d,s,c,g,v,l,Z,p,m,b,w,_=n.children(t),y=n.node(t),k=y?y.borderLeft:void 0,E=y?y.borderRight:void 0,x={};k&&(_=eh.Z(_,function(e){return e!==k&&e!==E}));var N=(u=_,f.Z(u,function(e){var t=n.inEdges(e);if(!t.length)return{v:e};var r=eq.Z(t,function(e,t){var r=n.edge(t),i=n.node(t.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}},{sum:0,weight:0});return{v:e,barycenter:r.sum/r.weight,weight:r.weight}}));i.Z(N,function(t){if(n.children(t.v).length){var i,u,d=e(n,t.v,r,o);x[t.v]=d,a.Z(d,"barycenter")&&(i=t,u=d,B.Z(i.barycenter)?(i.barycenter=u.barycenter,i.weight=u.weight):(i.barycenter=(i.barycenter*i.weight+u.barycenter*u.weight)/(i.weight+u.weight),i.weight+=u.weight))}});var C=(d={},i.Z(N,function(e,n){var t=d[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:n};B.Z(e.barycenter)||(t.barycenter=e.barycenter,t.weight=e.weight)}),i.Z(r.edges(),function(e){var n=d[e.v],t=d[e.w];B.Z(n)||B.Z(t)||(t.indegree++,n.out.push(d[e.w]))}),function(e){for(var n=[];e.length;){var t=e.pop();n.push(t),i.Z(t.in.reverse(),function(e){return function(n){!n.merged&&(B.Z(n.barycenter)||B.Z(e.barycenter)||n.barycenter>=e.barycenter)&&function(e,n){var t=0,r=0;e.weight&&(t+=e.barycenter*e.weight,r+=e.weight),n.weight&&(t+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=t/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}(e,n)}}(t)),i.Z(t.out,function(n){return function(t){t.in.push(n),0==--t.indegree&&e.push(t)}}(t))}return f.Z(eh.Z(n,function(e){return!e.merged}),function(e){return M(e,["vs","i","barycenter","weight"])})}(eh.Z(d,function(e){return!e.indegree})));(function(e,n){i.Z(e,function(e){e.vs=h.Z(e.vs.map(function(e){return n[e]?n[e].vs:e}))})})(C,x);var I=(v=(s=function(e){return a.Z(e,"barycenter")},c={lhs:[],rhs:[]},i.Z(C,function(e){s(e)?c.lhs.push(e):c.rhs.push(e)}),g=c).lhs,l=e2(g.rhs,function(e){return-e.i}),Z=[],p=0,m=0,b=0,v.sort(function(e){return function(n,t){return n.barycenter<t.barycenter?-1:n.barycenter>t.barycenter?1:e?t.i-n.i:n.i-t.i}}(!!o)),b=e3(Z,l,b),i.Z(v,function(e){b+=e.vs.length,Z.push(e.vs),p+=e.barycenter*e.weight,m+=e.weight,b=e3(Z,l,b)}),w={vs:h.Z(Z)},m&&(w.barycenter=p/m,w.weight=m),w);if(k&&(I.vs=h.Z([k,I.vs,E]),n.predecessors(k).length)){var L=n.node(n.predecessors(k)[0]),R=n.node(n.predecessors(E)[0]);a.Z(I,"barycenter")||(I.barycenter=0,I.weight=0),I.barycenter=(I.barycenter*I.weight+L.order+R.order)/(I.weight+2),I.weight+=2}return I}(e,d,t,n);i.Z(s.vs,function(n,t){e.node(n).order=t}),r=s.vs,u={},i.Z(r,function(n){for(var r,i,d=e.parent(n);d;){if((r=e.parent(d))?(i=u[r],u[r]=d):(i=o,o=d),i&&i!==d){t.setEdge(i,d);return}d=r}})})})(Z%2?t:r,Z%4>=2),o=K(e);var w,_=function(e,n){for(var t=0,r=1;r<n.length;++r)t+=function(e,n,t){for(var r=eA(t||[],f.Z(t,function(e,n){return n})||[],ez.Z),o=h.Z(f.Z(n,function(n){return e2(f.Z(e.outEdges(n),function(n){return{pos:r[n.w],weight:e.edge(n).weight}}),"pos")})),u=1;u<t.length;)u<<=1;var d=2*u-1;u-=1;var a=f.Z(Array(d),function(){return 0}),s=0;return i.Z(o.forEach(function(e){var n=e.pos+u;a[n]+=e.weight;for(var t=0;n>0;)n%2&&(t+=a[n+1]),n=n-1>>1,a[n]+=e.weight;s+=e.weight*t})),s}(e,n[r-1],n[r]);return t}(e,o);_<l&&(b=0,w=o,v=(0,eY.Z)(w,5),l=_)}e8(e,v)}(e)}),r(" insertSelfEdges",function(){var n,t;t=K(n=e),i.Z(t,function(e){var t=0;i.Z(e,function(e,r){var o=n.node(e);o.order=r+t,i.Z(o.selfEdges,function(e){A(n,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:r+ ++t,e:e.e,label:e.label},"_se")}),delete o.selfEdges})})}),r(" adjustCoordinateSystem",function(){var n;("lr"===(n=e.graph().rankdir.toLowerCase())||"rl"===n)&&ee(e)}),r(" position",function(){var n,t,r,o,u,d,s,h,c,g,v,l,Z,b,w,_,y,k;_=K(w=n=$(n=e)),y=w.graph().ranksep,k=0,i.Z(_,function(e){var n=j(f.Z(e,function(e){return w.node(e).height}));i.Z(e,function(e){w.node(e).y=k+n/2}),k+=n+y}),o=K(t=n),d=x.Z((u={},eq.Z(o,function(e,n){var r=0,o=0,d=e.length,a=F.Z(n);return i.Z(n,function(e,s){var h=function(e,n){if(e.node(n).dummy)return es.Z(e.predecessors(n),function(n){return e.node(n).dummy})}(t,e),f=h?t.node(h).order:d;(h||e===a)&&(i.Z(n.slice(o,s+1),function(e){i.Z(t.predecessors(e),function(n){var i=t.node(n),o=i.order;(o<r||f<o)&&!(i.dummy&&t.node(e).dummy)&&e9(u,n,e)})}),o=s+1,r=f)}),n}),u),function(e,n){var t={};function r(n,r,o,u,d){var a;i.Z(p(r,o),function(r){a=n[r],e.node(a).dummy&&i.Z(e.predecessors(a),function(n){var r=e.node(n);r.dummy&&(r.order<u||r.order>d)&&e9(t,n,a)})})}return eq.Z(n,function(n,t){var o,u=-1,d=0;return i.Z(t,function(i,a){if("border"===e.node(i).dummy){var s=e.predecessors(i);s.length&&(o=e.node(s[0]).order,r(t,d,a,u,o),d=a,u=o)}r(t,d,t.length,o,n.length)}),t}),t}(t,o)),s={},i.Z(["u","d"],function(e){r="u"===e?o:eB.Z(o).reverse(),i.Z(["l","r"],function(n){"r"===n&&(r=f.Z(r,function(e){return eB.Z(e).reverse()}));var o,u,h,c,g=("u"===e?t.predecessors:t.successors).bind(t),v=(o=r,u={},h={},c={},i.Z(o,function(e){i.Z(e,function(e,n){u[e]=e,h[e]=e,c[e]=n})}),i.Z(o,function(e){var n=-1;i.Z(e,function(e){var t=g(e);if(t.length)for(var r=((t=e2(t,function(e){return c[e]})).length-1)/2,i=Math.floor(r),o=Math.ceil(r);i<=o;++i){var s=t[i];h[e]===e&&n<c[s]&&!function(e,n,t){if(n>t){var r=n;n=t,t=r}return a.Z(e[n],t)}(d,e,s)&&(h[s]=e,h[e]=u[e]=u[s],n=c[s])}})}),{root:u,align:h}),l=function(e,n,t,r,o){var u,d,s,h,f,c,g,v,l,Z,p={},b=(u=e,d=n,s=t,h=o,v=new m.k,Z=(f=(l=u.graph()).nodesep,c=l.edgesep,g=h,function(e,n,t){var r,i,o=e.node(n),u=e.node(t);if(r=0+o.width/2,a.Z(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":i=-o.width/2;break;case"r":i=o.width/2}if(i&&(r+=g?i:-i),i=0,r+=(o.dummy?c:f)/2,r+=(u.dummy?c:f)/2,r+=u.width/2,a.Z(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":i=u.width/2;break;case"r":i=-u.width/2}return i&&(r+=g?i:-i),i=0,r}),i.Z(d,function(e){var n;i.Z(e,function(e){var t=s[e];if(v.setNode(t),n){var r=s[n],i=v.edge(r,t);v.setEdge(r,t,Math.max(Z(u,e,n),i||0))}n=e})}),v),w=o?"borderLeft":"borderRight";function _(e,n){for(var t=b.nodes(),r=t.pop(),i={};r;)i[r]?e(r):(i[r]=!0,t.push(r),t=t.concat(n(r))),r=t.pop()}return _(function(e){p[e]=b.inEdges(e).reduce(function(e,n){return Math.max(e,p[n.v]+b.edge(n))},0)},b.predecessors.bind(b)),_(function(n){var t=b.outEdges(n).reduce(function(e,n){return Math.min(e,p[n.w]-b.edge(n))},Number.POSITIVE_INFINITY),r=e.node(n);t!==Number.POSITIVE_INFINITY&&r.borderType!==w&&(p[n]=Math.max(p[n],t))},b.successors.bind(b)),i.Z(r,function(e){p[e]=p[t[e]]}),p}(t,r,v.root,v.align,"r"===n);"r"===n&&(l=V(l,function(e){return-e})),s[e+n]=l})}),h=eo(eB.Z(s),function(e){var n,r=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return n=function(e,n){var o,u,d=(o=t,u=n,o.node(u).width/2);r=Math.max(e+d,r),i=Math.min(e-d,i)},null==e||(0,e6.Z)(e,(0,e7.Z)(n),e5.Z),r-i}),c=eB.Z(h),g=q.Z(c),v=j(c),i.Z(["u","d"],function(e){i.Z(["l","r"],function(n){var t,r=e+n,i=s[r];if(i!==h){var o=eB.Z(i);(t="l"===n?g-q.Z(o):v-j(o))&&(s[r]=V(i,function(e){return e+t}))}})}),l=t.graph().align,Z=V(s.ul,function(e,n){if(l)return s[l.toLowerCase()][n];var t=e2(f.Z(s,n));return(t[1]+t[2])/2}),b=function(e,t){n.node(t).x=e},Z&&(0,S.Z)(Z,(0,e7.Z)(b))}),r(" positionSelfEdges",function(){var n;n=e,i.Z(n.nodes(),function(e){var t=n.node(e);if("selfedge"===t.dummy){var r=n.node(t.e.v),i=r.x+r.width/2,o=r.y,u=t.x-i,d=r.height/2;n.setEdge(t.e,t.label),n.removeNode(e),t.label.points=[{x:i+2*u/3,y:o-d},{x:i+5*u/6,y:o-d},{x:i+u,y:o},{x:i+5*u/6,y:o+d},{x:i+2*u/3,y:o+d}],t.label.x=t.x,t.label.y=t.y}})}),r(" removeBorderNodes",function(){var n;n=e,i.Z(n.nodes(),function(e){if(n.children(e).length){var t=n.node(e),r=n.node(t.borderTop),i=n.node(t.borderBottom),o=n.node(F.Z(t.borderLeft)),u=n.node(F.Z(t.borderRight));t.width=Math.abs(u.x-o.x),t.height=Math.abs(i.y-r.y),t.x=o.x+t.width/2,t.y=r.y+t.height/2}}),i.Z(n.nodes(),function(e){"border"===n.node(e).dummy&&n.removeNode(e)})}),r(" normalize.undo",function(){i.Z(e.graph().dummyChains,function(n){var t,r=e.node(n),i=r.edgeLabel;for(e.setEdge(r.edgeObj,i);r.dummy;)t=e.successors(n)[0],e.removeNode(n),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),n=t,r=e.node(n)})}),r(" fixupEdgeLabelCoords",function(){var n;n=e,i.Z(n.edges(),function(e){var t=n.edge(e);if(a.Z(t,"x"))switch(("l"===t.labelpos||"r"===t.labelpos)&&(t.width-=t.labeloffset),t.labelpos){case"l":t.x-=t.width/2+t.labeloffset;break;case"r":t.x+=t.width/2+t.labeloffset}})}),r(" undoCoordinateSystem",function(){var n,t,r;("bt"===(n=e.graph().rankdir.toLowerCase())||"rl"===n)&&(t=e,i.Z(t.nodes(),function(e){et(t.node(e))}),i.Z(t.edges(),function(e){var n=t.edge(e);i.Z(n.points,et),a.Z(n,"y")&&et(n)})),("lr"===n||"rl"===n)&&(r=e,i.Z(r.nodes(),function(e){er(r.node(e))}),i.Z(r.edges(),function(e){var n=r.edge(e);i.Z(n.points,er),a.Z(n,"x")&&er(n)}),ee(e))}),r(" translateGraph",function(){(function(e){var n=Number.POSITIVE_INFINITY,t=0,r=Number.POSITIVE_INFINITY,o=0,u=e.graph(),d=u.marginx||0,s=u.marginy||0;function h(e){var i=e.x,u=e.y,d=e.width,a=e.height;n=Math.min(n,i-d/2),t=Math.max(t,i+d/2),r=Math.min(r,u-a/2),o=Math.max(o,u+a/2)}i.Z(e.nodes(),function(n){h(e.node(n))}),i.Z(e.edges(),function(n){var t=e.edge(n);a.Z(t,"x")&&h(t)}),n-=d,r-=s,i.Z(e.nodes(),function(t){var i=e.node(t);i.x-=n,i.y-=r}),i.Z(e.edges(),function(t){var o=e.edge(t);i.Z(o.points,function(e){e.x-=n,e.y-=r}),a.Z(o,"x")&&(o.x-=n),a.Z(o,"y")&&(o.y-=r)}),u.width=t-n+d,u.height=o-r+s})(e)}),r(" assignNodeIntersects",function(){var n;n=e,i.Z(n.edges(),function(e){var t,r,i=n.edge(e),o=n.node(e.v),u=n.node(e.w);i.points?(t=i.points[0],r=i.points[i.points.length-1]):(i.points=[],t=u,r=o),i.points.unshift(J(o,t)),i.points.push(J(u,r))})}),r(" reversePoints",function(){var n;n=e,i.Z(n.edges(),function(e){var t=n.edge(e);t.reversed&&t.points.reverse()})}),r(" acyclic.undo",function(){i.Z(e.edges(),function(n){var t=e.edge(n);if(t.reversed){e.removeEdge(n);var r=t.forwardName;delete t.reversed,delete t.forwardName,e.setEdge(n.w,n.v,t,r)}})})}),t(" updateInputGraph",function(){var t,r;t=e,r=n,i.Z(t.nodes(),function(e){var n=t.node(e),i=r.node(e);n&&(n.x=i.x,n.y=i.y,r.children(e).length&&(n.width=i.width,n.height=i.height))}),i.Z(t.edges(),function(e){var n=t.edge(e),i=r.edge(e);n.points=i.points,a.Z(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=r.graph().width,t.graph().height=r.graph().height})})}var nn=["nodesep","edgesep","ranksep","marginx","marginy"],nt={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},nr=["acyclicer","ranker","rankdir","align"],ni=["width","height"],no={width:0,height:0},nu=["minlen","weight","width","height","labeloffset"],nd={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},na=["labelpos"];function ns(e,n){return V(M(e,n),Number)}function nh(e){var n={};return i.Z(e,function(e,t){n[t.toLowerCase()]=e}),n}},64085:function(e,n,t){t.d(n,{k:()=>m});var r=t(94193),i=t(61870),o=t(13255),u=t(56430),d=t(69052),a=t(31570),s=t(46390),h=t(4740),f=t(40805),c=t(29183),g=t(46826),v=t(42113),l=(0,c.Z)(function(e){return(0,g.Z)((0,f.Z)(e,1,v.Z,!0))}),Z=t(70485),p=t(98381);class m{constructor(e={}){this._isDirected=!r.Z(e,"directed")||e.directed,this._isMultigraph=!!r.Z(e,"multigraph")&&e.multigraph,this._isCompound=!!r.Z(e,"compound")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=i.Z(void 0),this._defaultEdgeLabelFn=i.Z(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return o.Z(e)||(e=i.Z(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return u.Z(this._nodes)}sources(){var e=this;return d.Z(this.nodes(),function(n){return a.Z(e._in[n])})}sinks(){var e=this;return d.Z(this.nodes(),function(n){return a.Z(e._out[n])})}setNodes(e,n){var t=arguments,r=this;return s.Z(e,function(e){t.length>1?r.setNode(e,n):r.setNode(e)}),this}setNode(e,n){return r.Z(this._nodes,e)?arguments.length>1&&(this._nodes[e]=n):(this._nodes[e]=arguments.length>1?n:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount),this}node(e){return this._nodes[e]}hasNode(e){return r.Z(this._nodes,e)}removeNode(e){var n=this;if(r.Z(this._nodes,e)){var t=function(e){n.removeEdge(n._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.Z(this.children(e),function(e){n.setParent(e)}),delete this._children[e]),s.Z(u.Z(this._in[e]),t),delete this._in[e],delete this._preds[e],s.Z(u.Z(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,n){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(h.Z(n))n="\0";else{n+="";for(var t=n;!h.Z(t);t=this.parent(t))if(t===e)throw Error("Setting "+n+" as parent of "+e+" would create a cycle");this.setNode(n)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=n,this._children[n][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var n=this._parent[e];if("\0"!==n)return n}}children(e){if(h.Z(e)&&(e="\0"),this._isCompound){var n=this._children[e];if(n)return u.Z(n)}else if("\0"===e)return this.nodes();else if(this.hasNode(e))return[]}predecessors(e){var n=this._preds[e];if(n)return u.Z(n)}successors(e){var n=this._sucs[e];if(n)return u.Z(n)}neighbors(e){var n=this.predecessors(e);if(n)return l(n,this.successors(e))}isLeaf(e){var n;return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length}filterNodes(e){var n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph());var t=this;s.Z(this._nodes,function(t,r){e(r)&&n.setNode(r,t)}),s.Z(this._edgeObjs,function(e){n.hasNode(e.v)&&n.hasNode(e.w)&&n.setEdge(e,t.edge(e))});var r={};return this._isCompound&&s.Z(n.nodes(),function(e){n.setParent(e,function e(i){var o=t.parent(i);return void 0===o||n.hasNode(o)?(r[i]=o,o):o in r?r[o]:e(o)}(e))}),n}setDefaultEdgeLabel(e){return o.Z(e)||(e=i.Z(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Z.Z(this._edgeObjs)}setPath(e,n){var t=this,r=arguments;return p.Z(e,function(e,i){return r.length>1?t.setEdge(e,i,n):t.setEdge(e,i),i}),this}setEdge(){var e,n,t,i,o=!1,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(e=u.v,n=u.w,t=u.name,2==arguments.length&&(i=arguments[1],o=!0)):(e=u,n=arguments[1],t=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),e=""+e,n=""+n,h.Z(t)||(t=""+t);var d=_(this._isDirected,e,n,t);if(r.Z(this._edgeLabels,d))return o&&(this._edgeLabels[d]=i),this;if(!h.Z(t)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(n),this._edgeLabels[d]=o?i:this._defaultEdgeLabelFn(e,n,t);var a=function(e,n,t,r){var i=""+n,o=""+t;if(!e&&i>o){var u=i;i=o,o=u}var d={v:i,w:o};return r&&(d.name=r),d}(this._isDirected,e,n,t);return e=a.v,n=a.w,Object.freeze(a),this._edgeObjs[d]=a,b(this._preds[n],e),b(this._sucs[e],n),this._in[n][d]=a,this._out[e][d]=a,this._edgeCount++,this}edge(e,n,t){var r=1==arguments.length?y(this._isDirected,arguments[0]):_(this._isDirected,e,n,t);return this._edgeLabels[r]}hasEdge(e,n,t){var i=1==arguments.length?y(this._isDirected,arguments[0]):_(this._isDirected,e,n,t);return r.Z(this._edgeLabels,i)}removeEdge(e,n,t){var r=1==arguments.length?y(this._isDirected,arguments[0]):_(this._isDirected,e,n,t),i=this._edgeObjs[r];return i&&(e=i.v,n=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],w(this._preds[n],e),w(this._sucs[e],n),delete this._in[n][r],delete this._out[e][r],this._edgeCount--),this}inEdges(e,n){var t=this._in[e];if(t){var r=Z.Z(t);return n?d.Z(r,function(e){return e.v===n}):r}}outEdges(e,n){var t=this._out[e];if(t){var r=Z.Z(t);return n?d.Z(r,function(e){return e.w===n}):r}}nodeEdges(e,n){var t=this.inEdges(e,n);if(t)return t.concat(this.outEdges(e,n))}}function b(e,n){e[n]?e[n]++:e[n]=1}function w(e,n){--e[n]||delete e[n]}function _(e,n,t,r){var i=""+n,o=""+t;if(!e&&i>o){var u=i;i=o,o=u}return i+"\x01"+o+"\x01"+(h.Z(r)?"\0":r)}function y(e,n){return _(e,n.v,n.w,n.name)}m.prototype._nodeCount=0,m.prototype._edgeCount=0},62145:function(e,n,t){t.d(n,{k:()=>r.k});var r=t(64085)},27805:function(e,n,t){t.d(n,{Z:()=>i});var r=t(98588);let i=function(e,n,t){for(var i=-1,o=e.length;++i<o;){var u=e[i],d=n(u);if(null!=d&&(void 0===a?d==d&&!(0,r.Z)(d):t(d,a)))var a=d,s=u}return s}},3472:function(e,n,t){t.d(n,{Z:()=>r});let r=function(e,n){return e<n}},5977:function(e,n,t){t.d(n,{Z:()=>o});var r=t(55196),i=t(73713);let o=function(e,n){var t=-1,o=(0,i.Z)(e)?Array(e.length):[];return(0,r.Z)(e,function(e,r,i){o[++t]=n(e,r,i)}),o}},36873:function(e,n,t){t.d(n,{Z:()=>h});var r=t(84483),i=t(94379),o=t(55147),u=t(24136),d=t(21367),a=t(81004);let s=function(e,n,t,r){if(!(0,d.Z)(e))return e;n=(0,o.Z)(n,e);for(var s=-1,h=n.length,f=h-1,c=e;null!=c&&++s<h;){var g=(0,a.Z)(n[s]),v=t;if("__proto__"===g||"constructor"===g||"prototype"===g)break;if(s!=f){var l=c[g];void 0===(v=r?r(l,g,c):void 0)&&(v=(0,d.Z)(l)?l:(0,u.Z)(n[s+1])?[]:{})}(0,i.Z)(c,g,v),c=c[g]}return e},h=function(e,n,t){for(var i=-1,u=n.length,d={};++i<u;){var a=n[i],h=(0,r.Z)(e,a);t(h,a)&&s(d,(0,o.Z)(a,e),h)}return d}},85143:function(e,n,t){t.d(n,{Z:()=>s});var r=t(29183),i=t(83230),o=t(74047),u=t(78649),d=Object.prototype,a=d.hasOwnProperty;let s=(0,r.Z)(function(e,n){e=Object(e);var t=-1,r=n.length,s=r>2?n[2]:void 0;for(s&&(0,o.Z)(n[0],n[1],s)&&(r=1);++t<r;)for(var h=n[t],f=(0,u.Z)(h),c=-1,g=f.length;++c<g;){var v=f[c],l=e[v];(void 0===l||(0,i.Z)(l,d[v])&&!a.call(e,v))&&(e[v]=h[v])}return e})},16136:function(e,n,t){t.d(n,{Z:()=>h});var r,i=t(64693),o=t(73713),u=t(56430),d=t(79761),a=t(36430),s=Math.max;let h=(r=function(e,n,t){var r=null==e?0:e.length;if(!r)return -1;var o=null==t?0:(0,a.Z)(t);return o<0&&(o=s(r+o,0)),(0,d.Z)(e,(0,i.Z)(n,3),o)},function(e,n,t){var d=Object(e);if(!(0,o.Z)(e)){var a=(0,i.Z)(n,3);e=(0,u.Z)(e),n=function(e){return a(d[e],e,d)}}var s=r(e,n,t);return s>-1?d[a?e[s]:s]:void 0})},17677:function(e,n,t){t.d(n,{Z:()=>i});var r=t(40805);let i=function(e){return(null==e?0:e.length)?(0,r.Z)(e,1):[]}},43917:function(e,n,t){t.d(n,{Z:()=>u});var r=t(65982),i=t(8572),o=t(93263);let u=function(e){return"string"==typeof e||!(0,i.Z)(e)&&(0,o.Z)(e)&&"[object String]"==(0,r.Z)(e)}},51054:function(e,n,t){t.d(n,{Z:()=>r});let r=function(e){var n=null==e?0:e.length;return n?e[n-1]:void 0}},24541:function(e,n,t){t.d(n,{Z:()=>d});var r=t(4064),i=t(64693),o=t(5977),u=t(8572);let d=function(e,n){return((0,u.Z)(e)?r.Z:o.Z)(e,(0,i.Z)(n,3))}},90373:function(e,n,t){t.d(n,{Z:()=>u});var r=t(27805),i=t(3472),o=t(48233);let u=function(e){return e&&e.length?(0,r.Z)(e,o.Z,i.Z):void 0}},70982:function(e,n,t){t.d(n,{Z:()=>l});var r=/\s/;let i=function(e){for(var n=e.length;n--&&r.test(e.charAt(n)););return n};var o=/^\s+/,u=t(21367),d=t(98588),a=0/0,s=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,f=/^0o[0-7]+$/i,c=parseInt;let g=function(e){if("number"==typeof e)return e;if((0,d.Z)(e))return a;if((0,u.Z)(e)){var n,t="function"==typeof e.valueOf?e.valueOf():e;e=(0,u.Z)(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=(n=e)?n.slice(0,i(n)+1).replace(o,""):n;var r=h.test(e);return r||f.test(e)?c(e.slice(2),r?2:8):s.test(e)?a:+e};var v=1/0;let l=function(e){return e?(e=g(e))===v||e===-v?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},36430:function(e,n,t){t.d(n,{Z:()=>i});var r=t(70982);let i=function(e){var n=(0,r.Z)(e),t=n%1;return n==n?t?n-t:n:0}}}]); \ No newline at end of file diff --git a/assets/js/38caefbe.cf930b82.js b/assets/js/38caefbe.cf930b82.js new file mode 100644 index 0000000000..0bbafb8151 --- /dev/null +++ b/assets/js/38caefbe.cf930b82.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["45293"],{56497:function(e,s,n){n.d(s,{Z:()=>r});var l=n(85893);n(67294);var a=n(71607);function r(e){let{children:s,fallback:n}=e;return(0,a.Z)()?(0,l.jsx)(l.Fragment,{children:s?.()}):n??null}},61389:function(e,s,n){n.r(s),n.d(s,{default:()=>h});var l=n(85893),a=n(67294),r=n(56497),c=n(88408),t=n(57922);let u=a.lazy(()=>n.e("84303").then(n.bind(n,41776)));function h(){return(0,l.jsx)(c.Z,{children:(0,l.jsxs)("main",{style:{padding:30},children:[(0,l.jsx)(t.Z,{as:"h1",children:"React 18 tests"}),(0,l.jsx)("hr",{}),(0,l.jsx)(t.Z,{as:"h2",children:"Suspense > HeavyComponent"}),(0,l.jsx)(a.Suspense,{fallback:"[Suspense fallback] - Suspense > HeavyComponent",children:(0,l.jsx)(u,{})}),(0,l.jsx)("hr",{}),(0,l.jsx)(t.Z,{as:"h2",children:"BrowserOnly > Suspense > HeavyComponent"}),(0,l.jsx)(r.Z,{children:()=>(0,l.jsx)(a.Suspense,{fallback:"[Suspense fallback] - BrowserOnly > Suspense > HeavyComponent",children:(0,l.jsx)(u,{})})}),(0,l.jsx)("hr",{}),(0,l.jsx)(t.Z,{as:"h2",children:"Suspense > BrowserOnly > HeavyComponent"}),(0,l.jsx)(a.Suspense,{fallback:"[Suspense fallback] - Suspense > BrowserOnly > HeavyComponent",children:(0,l.jsx)(r.Z,{children:()=>(0,l.jsx)(u,{})})})]})})}}}]); \ No newline at end of file diff --git a/assets/js/38dd9662.3ba0fbdf.js b/assets/js/38dd9662.3ba0fbdf.js new file mode 100644 index 0000000000..9a680abdd3 --- /dev/null +++ b/assets/js/38dd9662.3ba0fbdf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["23265"],{14150:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/social-card-7e038d19ea67c686e90e1f599f7256d0.png"},41550:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/social-card-7e038d19ea67c686e90e1f599f7256d0.png"},35122:function(e,s,n){n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>u,default:()=>p,frontMatter:()=>c,metadata:()=>t,toc:()=>h});var t=n(28878),a=n(85893),r=n(80980),i=n(14522),o=n(15398),l=n(58636);let c={title:"Docusaurus 2.3",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2023-01-27T00:00:00.000Z")},u=void 0,d={image:n(14150).Z,authorsImageUrls:[void 0]},h=[{value:"Highlights",id:"highlights",level:2},{value:"Google Tag Manager plugin",id:"google-tag-manager-plugin",level:3},{value:"Tabs Query String Support",id:"tabs-query-string-support",level:3},{value:"Nested admonitions",id:"nested-admonitions",level:3},{value:"Blog <code>createFeedItems</code>",id:"blog-createfeeditems",level:3},{value:"Translations",id:"translations",level:3},{value:"Other changes",id:"other-changes",level:2}];function g(e){let s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(s.p,{children:["We are happy to announce ",(0,a.jsx)(s.strong,{children:"Docusaurus 2.3"}),"."]}),"\n",(0,a.jsxs)(s.p,{children:["The upgrade should be easy: as explained in our ",(0,a.jsx)(s.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,a.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"Docusaurus 2.2 social card",src:n(41550).Z+"",width:"1200",height:"600"})}),"\n",(0,a.jsx)(s.h2,{id:"highlights",children:"Highlights"}),"\n",(0,a.jsx)(s.h3,{id:"google-tag-manager-plugin",children:"Google Tag Manager plugin"}),"\n",(0,a.jsx)(s.p,{children:"Google Tag Manager is a tag management system that allows great flexibility. It enables analytics and marketing teams to easily load other third-party trackers and fire analytics tags."}),"\n",(0,a.jsxs)(s.p,{children:["We now have a ",(0,a.jsx)(s.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-tag-manager/",children:(0,a.jsx)(s.code,{children:"@docusaurus/plugin-google-tag-manager"})})," package that you can use alongside or as an alternative to the existing ",(0,a.jsx)(s.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-gtag/",children:"gtag.js plugin"})," (refer to ",(0,a.jsx)(s.a,{href:"https://support.google.com/tagmanager/answer/7582054",children:"this doc"})," to understand when to use which solution)."]}),"\n",(0,a.jsxs)(s.admonition,{title:"Google is sunsetting Universal Analytics",type:"warning",children:[(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.a,{href:"https://blog.google/products/marketingplatform/analytics/prepare-for-future-with-google-analytics-4/",children:"Google will sunset its Universal Analytics"})," on ",(0,a.jsx)(s.strong,{children:"July 1, 2023"}),", and ask users to migrate to ",(0,a.jsx)(s.strong,{children:"Google Analytics 4"}),"."]}),(0,a.jsxs)(s.p,{children:["Therefore, we are also ",(0,a.jsxs)(s.strong,{children:["deprecating our existing ",(0,a.jsx)(s.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-analytics",children:(0,a.jsx)(s.code,{children:"@docusaurus/plugin-google-analytics"})})]})," package. Docusaurus users should create a new Google Analytics 4 property, and migrate to the ",(0,a.jsx)(s.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-gtag/",children:"gtag.js plugin"}),", or the ",(0,a.jsx)(s.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-tag-manager/",children:"Google Tag Manager plugin"}),". Refer to the ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/7221",children:"dedicated Docusaurus issue"})," for details and questions."]})]}),"\n",(0,a.jsx)(s.h3,{id:"tabs-query-string-support",children:"Tabs Query String Support"}),"\n",(0,a.jsxs)(s.p,{children:["It is now possible to link a selected tab to a query string parameter. When a tab is selected, it will be stored in your browser URL as a ",(0,a.jsx)(s.code,{children:"?qs-param=tab-value"})," search parameter."]}),"\n",(0,a.jsx)(s.p,{children:"This feature allows deep-linking to a specific documentation tab that will pre-selected on page load."}),"\n",(0,a.jsxs)(s.p,{children:["When used alongside the ",(0,a.jsx)(s.code,{children:"groupId"})," prop, the query string tab value takes precedence over the ",(0,a.jsx)(s.code,{children:"localStorage"})," value."]}),"\n",(0,a.jsxs)(s.p,{children:["Make sure to check the ",(0,a.jsx)(s.a,{href:"/docs/markdown-features/tabs#query-string",children:"documentation"})," and the demo below to understand how it works:"]}),"\n","\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-tsx",children:'<Tabs groupId="current-os" queryString>\n <TabItem value="android" label="Android">\n Android\n </TabItem>\n <TabItem value="ios" label="iOS">\n iOS\n </TabItem>\n</Tabs>\n'})}),"\n",(0,a.jsx)(i.Z,{children:(0,a.jsxs)(o.Z,{groupId:"current-os",queryString:!0,children:[(0,a.jsx)(l.Z,{value:"android",label:"Android",children:(0,a.jsx)(s.p,{children:"Android"})}),(0,a.jsx)(l.Z,{value:"ios",label:"iOS",children:(0,a.jsx)(s.p,{children:"iOS"})})]})}),"\n",(0,a.jsx)(s.h3,{id:"nested-admonitions",children:"Nested admonitions"}),"\n",(0,a.jsx)(s.p,{children:"It is now possible to nest one admonition within another by adding extra colons for the outer/enclosing admonition:"}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-md",children:"::::tip[nested admonitions]\n\nYou can now nest one admonition within another!\n\n:::danger\n\nUse this sparingly when it makes sense.\n\n:::\n\n::::\n"})}),"\n",(0,a.jsxs)(s.admonition,{title:"nested admonitions",type:"tip",children:[(0,a.jsx)(s.p,{children:"You can now nest one admonition within another!"}),(0,a.jsx)(s.admonition,{type:"danger",children:(0,a.jsx)(s.p,{children:"Use this sparingly when it makes sense."})})]}),"\n",(0,a.jsxs)(s.h3,{id:"blog-createfeeditems",children:["Blog ",(0,a.jsx)(s.code,{children:"createFeedItems"})]}),"\n",(0,a.jsxs)(s.p,{children:["A new blog plugin option ",(0,a.jsx)(s.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-blog/#CreateFeedItemsFn",children:(0,a.jsx)(s.code,{children:"feedOptions.createFeedItems"})})," gives you more control over the RSS/Atom feed generation. It is now possible to transform/filter/limit feed items through a new callback."]}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-tsx",metastring:'title="docusaurus.config.js"',children:"[\n '@docusaurus/preset-classic',\n {\n blog: {\n feedOptions: {\n // highlight-start\n createFeedItems: async (params) => {\n const {blogPosts, defaultCreateFeedItems, ...rest} = params;\n return defaultCreateFeedItems({\n // keep only the 10 most recent blog posts in the feed\n blogPosts: blogPosts.filter((item, index) => index < 10),\n ...rest,\n });\n },\n // highlight-end\n },\n },\n },\n];\n"})}),"\n",(0,a.jsx)(s.h3,{id:"translations",children:"Translations"}),"\n",(0,a.jsx)(s.p,{children:"We added or completed the default theme translation support for multiple languages:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["\uD83C\uDDF8\uD83C\uDDEE ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8541",children:"#8541"})," Slovenian"]}),"\n",(0,a.jsxs)(s.li,{children:["\uD83C\uDDF9\uD83C\uDDF7 ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8289",children:"#8289"})," Turkish"]}),"\n",(0,a.jsxs)(s.li,{children:["\uD83C\uDDEE\uD83C\uDDF7 ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8406",children:"#8406"})," Farsi"]}),"\n",(0,a.jsxs)(s.li,{children:["\uD83C\uDDF5\uD83C\uDDF1 ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8525",children:"#8525"})," Polish"]}),"\n",(0,a.jsxs)(s.li,{children:["\uD83C\uDDE8\uD83C\uDDF3 ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8423",children:"#8423"})," Chinese"]}),"\n",(0,a.jsxs)(s.li,{children:["\uD83C\uDDF8\uD83C\uDDEA ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8312",children:"#8312"})," Swedish"]}),"\n",(0,a.jsxs)(s.li,{children:["\uD83C\uDDFB\uD83C\uDDF3 ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8450",children:"#8450"})," Vietnamese"]}),"\n"]}),"\n",(0,a.jsx)(s.admonition,{type:"tip",children:(0,a.jsxs)(s.p,{children:["Completing theme translations is an ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/3526",children:"ongoing effort"})," and an easy way to contribute to Docusaurus. We add new theme features regularly, for which we often ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/3526",children:"need new translations"}),"."]})}),"\n",(0,a.jsx)(s.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,a.jsx)(s.p,{children:"Other notable changes include:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8463",children:"#8463"})," and ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8328",children:"#8328"}),": fix some annoying Docusaurus layout issues"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8539",children:"#8539"}),": Algolia plugin ",(0,a.jsx)(s.code,{children:"options.searchPagePath"})," should be correctly applied to search modal footer"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8462",children:"#8462"}),": Algolia plugin now makes it easier to transform displayed search results with custom logic"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8397",children:"#8397"}),": the ",(0,a.jsx)(s.code,{children:"deploy"})," CLI now understands git url ",(0,a.jsx)(s.code,{children:"insteadOf"})," config"]}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:["Check the ",(0,a.jsx)(s.strong,{children:(0,a.jsx)(s.a,{href:"/changelog/2.3.0",children:"2.3.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function p(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(g,{...e})}):g(e)}},58636:function(e,s,n){n.d(s,{Z:()=>r});var t=n(85893);n(67294);var a=n(90496);function r(e){let{children:s,hidden:n,className:r}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,a.Z)("tabItem_pnkT",r),hidden:n,children:s})}},15398:function(e,s,n){n.d(s,{Z:()=>x});var t=n(85893),a=n(67294),r=n(90496),i=n(54947),o=n(3620),l=n(844),c=n(97486),u=n(32263),d=n(16971);function h(e){return a.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||a.isValidElement(e)&&function(e){let{props:s}=e;return!!s&&"object"==typeof s&&"value"in s}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function g(e){let{value:s,tabValues:n}=e;return n.some(e=>e.value===s)}var p=n(71607);function m(e){let{className:s,block:n,selectedValue:a,selectValue:o,tabValues:l}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,i.o5)(),d=e=>{let s=e.currentTarget,n=l[c.indexOf(s)].value;n!==a&&(u(s),o(n))},h=e=>{let s=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=c.indexOf(e.currentTarget)+1;s=c[n]??c[0];break}case"ArrowLeft":{let n=c.indexOf(e.currentTarget)-1;s=c[n]??c[c.length-1]}}s?.focus()};return(0,t.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},s),children:l.map(e=>{let{value:s,label:n,attributes:i}=e;return(0,t.jsx)("li",{role:"tab",tabIndex:a===s?0:-1,"aria-selected":a===s,ref:e=>{c.push(e)},onKeyDown:h,onClick:d,...i,className:(0,r.Z)("tabs__item","tabItem_AQgk",i?.className,{"tabs__item--active":a===s}),children:n??s},s)})})}function f(e){let{lazy:s,children:n,selectedValue:i}=e,o=(Array.isArray(n)?n:[n]).filter(Boolean);if(s){let e=o.find(e=>e.props.value===i);return e?(0,a.cloneElement)(e,{className:(0,r.Z)("margin-top--md",e.props.className)}):null}return(0,t.jsx)("div",{className:"margin-top--md",children:o.map((e,s)=>(0,a.cloneElement)(e,{key:s,hidden:e.props.value!==i}))})}function b(e){let s=function(e){let{defaultValue:s,queryString:n=!1,groupId:t}=e,r=function(e){let{values:s,children:n}=e;return(0,a.useMemo)(()=>{let e=s??h(n).map(e=>{let{props:{value:s,label:n,attributes:t,default:a}}=e;return{value:s,label:n,attributes:t,default:a}});return!function(e){let s=(0,u.lx)(e,(e,s)=>e.value===s.value);if(s.length>0)throw Error(`Docusaurus error: Duplicate values "${s.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[s,n])}(e),[i,p]=(0,a.useState)(()=>(function(e){let{defaultValue:s,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(s){if(!g({value:s,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${s}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return s}let t=n.find(e=>e.default)??n[0];if(!t)throw Error("Unexpected error: 0 tabValues");return t.value})({defaultValue:s,tabValues:r})),[m,f]=function(e){let{queryString:s=!1,groupId:n}=e,t=(0,o.k6)(),r=function(e){let{queryString:s=!1,groupId:n}=e;if("string"==typeof s)return s;if(!1===s)return null;if(!0===s&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:s,groupId:n});return[(0,c._X)(r),(0,a.useCallback)(e=>{if(!r)return;let s=new URLSearchParams(t.location.search);s.set(r,e),t.replace({...t.location,search:s.toString()})},[r,t])]}({queryString:n,groupId:t}),[b,x]=function(e){let{groupId:s}=e,n=s?`docusaurus.tab.${s}`:null,[t,r]=(0,d.Nk)(n);return[t,(0,a.useCallback)(e=>{n&&r.set(e)},[n,r])]}({groupId:t}),j=(()=>{let e=m??b;return g({value:e,tabValues:r})?e:null})();return(0,l.Z)(()=>{j&&p(j)},[j]),{selectedValue:i,selectValue:(0,a.useCallback)(e=>{if(!g({value:e,tabValues:r}))throw Error(`Can't select invalid tab value=${e}`);p(e),f(e),x(e)},[f,x,r]),tabValues:r}}(e);return(0,t.jsxs)("div",{className:(0,r.Z)("tabs-container","tabList_Qoir"),children:[(0,t.jsx)(m,{...s,...e}),(0,t.jsx)(f,{...s,...e})]})}function x(e){let s=(0,p.Z)();return(0,t.jsx)(b,{...e,children:h(e.children)},String(s))}},14522:function(e,s,n){n.d(s,{Z:()=>o});var t=n(85893);n(67294);var a=n(90496);let r="dot_giz1",i="bar_rrRL";function o(e){let{children:s,minHeight:n,url:o="http://localhost:3000",style:l,bodyStyle:c}=e;return(0,t.jsxs)("div",{className:"browserWindow_my1Q",style:{...l,minHeight:n},children:[(0,t.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,t.jsxs)("div",{className:"buttons_uHc7",children:[(0,t.jsx)("span",{className:r,style:{background:"#f25f58"}}),(0,t.jsx)("span",{className:r,style:{background:"#fbbe3c"}}),(0,t.jsx)("span",{className:r,style:{background:"#58cb42"}})]}),(0,t.jsx)("div",{className:(0,a.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:o}),(0,t.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:i}),(0,t.jsx)("span",{className:i}),(0,t.jsx)("span",{className:i})]})})]}),(0,t.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:s})]})}},80980:function(e,s,n){n.d(s,{Z:()=>o,a:()=>i});var t=n(67294);let a={},r=t.createContext(a);function i(e){let s=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),t.createElement(r.Provider,{value:s},e.children)}},28878:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/2.3","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/2.3/index.mdx","source":"@site/blog/releases/2.3/index.mdx","title":"Docusaurus 2.3","description":"We are happy to announce Docusaurus 2.3.","date":"2023-01-27T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":2.89,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.3","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2023-01-27T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2.4","permalink":"/blog/releases/2.4"},"nextItem":{"title":"Docusaurus 2.2","permalink":"/blog/releases/2.2"}}')}}]); \ No newline at end of file diff --git a/assets/js/39116.730c76bd.js b/assets/js/39116.730c76bd.js new file mode 100644 index 0000000000..cfedbe4f1e --- /dev/null +++ b/assets/js/39116.730c76bd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["39116"],{82058:function(e,s,t){t.d(s,{createGitGraphServices:()=>c.z});var c=t(80294);t(78983)}}]); \ No newline at end of file diff --git a/assets/js/393be207.2712355e.js b/assets/js/393be207.2712355e.js deleted file mode 100644 index e39d0094b4..0000000000 --- a/assets/js/393be207.2712355e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[4134],{3065:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>p,default:()=>l,frontMatter:()=>s,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"type":"mdx","permalink":"/markdown-page","source":"@site/src/pages/markdown-page.md","title":"Markdown page example","description":"You don\'t need React to write simple standalone pages.","frontMatter":{"title":"Markdown page example"},"unlisted":false}');var o=n(4848),r=n(3023);const s={title:"Markdown page example"},p="Markdown page example",c={},d=[];function i(e){const t={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"markdown-page-example",children:"Markdown page example"})}),"\n",(0,o.jsx)(t.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}},3023:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>p});var a=n(6540);const o={},r=a.createContext(o);function s(e){const t=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function p(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39485f13.08764d0f.js b/assets/js/39485f13.08764d0f.js new file mode 100644 index 0000000000..a07adb2744 --- /dev/null +++ b/assets/js/39485f13.08764d0f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["94367"],{72953:function(e,t,a){a.d(t,{Z:()=>s});let s=a.p+"assets/images/docusaurus-slash-first-birthday-71e4f41412bd9df66b30df131ce8dc67.svg"},95857:function(e,t,a){a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>l,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var s=a(37632),r=a(85893),o=a(80980);let n={title:"Happy 1st Birthday Slash!",authors:[{key:"JMarcey",title:"Co-creator of Docusaurus"}],tags:["birth"]},i=void 0,u={authorsImageUrls:[void 0]},c=[];function h(e){let t={a:"a",blockquote:"blockquote",img:"img",p:"p",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Docusaurus makes 1 year! Happy Birthday Slash!",src:a(72953).Z+"",width:"1805",height:"741"})}),"\n",(0,r.jsxs)(t.p,{children:["Docusaurus ",(0,r.jsx)(t.a,{href:"https://v1.docusaurus.io/blog/2017/12/14/introducing-docusaurus",children:"went live"})," on December 14, 2017. At the time, we had ",(0,r.jsx)(t.a,{href:"https://v1.docusaurus.io/blog/2017/12/14/introducing-docusaurus#acknowledgements",children:"8 early adopters"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["We now have nearly ",(0,r.jsx)(t.a,{href:"https://v1.docusaurus.io/en/users",children:"60 known users of Docusaurus"}),", and probably more that we don't know about. We have ",(0,r.jsx)(t.a,{href:"https://github.com/facebook/docusaurus",children:"9K GitHub stars"})," and an active community, particularly ",(0,r.jsx)(t.a,{href:"https://x.com/yangshunz",children:"Yangshun Tay"})," and ",(0,r.jsx)(t.a,{href:"https://x.com/endiliey",children:"Endilie Yacop Sucipto"}),", both of whom are the lead maintainers helping keep this project ",(0,r.jsx)(t.a,{href:"https://docusaurus.io/blog/2018/09/11/Towards-Docusaurus-2",children:"moving forward"}),"."]}),"\n",(0,r.jsx)(t.p,{children:"Thank you to everyone for your support and use of this project! I am super proud of how far this project has come in just a year."}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsxs)(t.p,{children:["Special thanks to ",(0,r.jsx)(t.a,{href:"https://x.com/ericnakagawa",children:"Eric Nakagawa"}),", creator of Slash, for creating this 1-year image of Slash enjoying cake. The Slash brand has been a boon for us!"]}),"\n"]})]})}function l(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},80980:function(e,t,a){a.d(t,{Z:()=>i,a:()=>n});var s=a(67294);let r={},o=s.createContext(r);function n(e){let t=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),s.createElement(o.Provider,{value:t},e.children)}},37632:function(e){e.exports=JSON.parse('{"permalink":"/blog/2018/12/14/Happy-First-Birthday-Slash","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2018/12-14-Happy-First-Birthday-Slash.mdx","source":"@site/blog/2018/12-14-Happy-First-Birthday-Slash.mdx","title":"Happy 1st Birthday Slash!","description":"Docusaurus makes 1 year! Happy Birthday Slash!","date":"2018-12-14T00:00:00.000Z","tags":[{"inline":false,"label":"Birth","permalink":"/blog/tags/birth"}],"readingTime":0.615,"hasTruncateMarker":true,"authors":[{"name":"Joel Marcey","title":"Co-creator of Docusaurus","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Happy 1st Birthday Slash!","authors":[{"key":"JMarcey","title":"Co-creator of Docusaurus"}],"tags":["birth"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2019 Recap","permalink":"/blog/2019/12/30/docusaurus-2019-recap"},"nextItem":{"title":"Towards Docusaurus 2","permalink":"/blog/2018/09/11/Towards-Docusaurus-2"}}')}}]); \ No newline at end of file diff --git a/assets/js/39be8897.a52ed2aa.js b/assets/js/39be8897.a52ed2aa.js new file mode 100644 index 0000000000..6d370c647c --- /dev/null +++ b/assets/js/39be8897.a52ed2aa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["88032"],{274:function(e,t,a){a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>r,default:()=>m,frontMatter:()=>s,metadata:()=>n,toc:()=>u});var n=a(91674),o=a(85893),h=a(80980);let s={mdx:{format:"md"},date:"2021-12-21T20:00",authors:["6543","christopherklint97","cmpadden","Drylozu","favna","HarshCasper","himanshu007-creator","Josh-Cena","lex111","merceyz","noomorph","notzheng","slorber","wewoor","withshubh","wowtvds","yangshun"]},r="2.0.0-beta.14",i={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},u=[];function l(e){return(0,o.jsx)(o.Fragment,{})}function m(e={}){let{wrapper:t}={...(0,h.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},80980:function(e,t,a){a.d(t,{Z:()=>r,a:()=>s});var n=a(67294);let o={},h=n.createContext(o);function s(e){let t=n.useContext(h);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(h.Provider,{value:t},e.children)}},91674:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.14","source":"@site/changelog/source/2.0.0-beta.14.md","title":"2.0.0-beta.14","description":"New Feature","date":"2021-12-21T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"6543","alias":"6543","url":"https://github.com/6543","imageURL":"https://github.com/6543.png","key":"6543","page":null},{"name":"Christopher Klint","alias":"christopherklint97","url":"https://github.com/christopherklint97","imageURL":"https://github.com/christopherklint97.png","key":"christopherklint97","page":null},{"name":"colton","alias":"cmpadden","url":"https://github.com/cmpadden","imageURL":"https://github.com/cmpadden.png","key":"cmpadden","page":null},{"name":"Drylozu","alias":"Drylozu","url":"https://github.com/Drylozu","imageURL":"https://github.com/Drylozu.png","key":"Drylozu","page":null},{"name":"Jeroen Claassens","alias":"favna","url":"https://github.com/favna","imageURL":"https://github.com/favna.png","key":"favna","page":null},{"name":"Harsh Mishra","alias":"HarshCasper","url":"https://github.com/HarshCasper","imageURL":"https://github.com/HarshCasper.png","key":"HarshCasper","page":null},{"name":"Himanshu","alias":"himanshu007-creator","url":"https://github.com/himanshu007-creator","imageURL":"https://github.com/himanshu007-creator.png","key":"himanshu007-creator","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Kristoffer K.","alias":"merceyz","url":"https://github.com/merceyz","imageURL":"https://github.com/merceyz.png","key":"merceyz","page":null},{"name":"Yaroslav Serhieiev","alias":"noomorph","url":"https://github.com/noomorph","imageURL":"https://github.com/noomorph.png","key":"noomorph","page":null},{"name":"\u4E0D\u90D1","alias":"notzheng","url":"https://github.com/notzheng","imageURL":"https://github.com/notzheng.png","key":"notzheng","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Ziv","alias":"wewoor","url":"https://github.com/wewoor","imageURL":"https://github.com/wewoor.png","key":"wewoor","page":null},{"name":"Shubhendra Singh Chauhan","alias":"withshubh","url":"https://github.com/withshubh","imageURL":"https://github.com/withshubh.png","key":"withshubh","page":null},{"name":"Wout Vandesompele","alias":"wowtvds","url":"https://github.com/wowtvds","imageURL":"https://github.com/wowtvds.png","key":"wowtvds","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-21T20:00","authors":["6543","christopherklint97","cmpadden","Drylozu","favna","HarshCasper","himanshu007-creator","Josh-Cena","lex111","merceyz","noomorph","notzheng","slorber","wewoor","withshubh","wowtvds","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.15","permalink":"/changelog/2.0.0-beta.15"},"nextItem":{"title":"2.0.0-beta.13","permalink":"/changelog/2.0.0-beta.13"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/39cc8d92.934ed8c4.js b/assets/js/39cc8d92.934ed8c4.js new file mode 100644 index 0000000000..25f3ca4dca --- /dev/null +++ b/assets/js/39cc8d92.934ed8c4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["4613"],{40672:function(e,t,n){n.r(t),n.d(t,{default:()=>o});var r=n(85893);n(67294);var s=n(35363),i=n(88408);function c(){return(0,r.jsxs)("span",{children:["Built using the ",(0,r.jsx)(s.Z,{to:"https://www.electronjs.org/",children:"Electron"})," , based on ",(0,r.jsx)(s.Z,{to:"https://www.chromium.org/",children:"Chromium"}),", and written using ",(0,r.jsx)(s.Z,{to:"https://www.typescriptlang.org/",children:"TypeScript"})," , Xplorer promises you an unprecedented experience."]})}function o(){return(0,r.jsx)(i.Z,{children:(0,r.jsx)(c,{})})}}}]); \ No newline at end of file diff --git a/assets/js/3a22feb1.1a256c0d.js b/assets/js/3a22feb1.1a256c0d.js new file mode 100644 index 0000000000..5a5cb07c65 --- /dev/null +++ b/assets/js/3a22feb1.1a256c0d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["33364"],{39819:function(e,a,t){t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>i,default:()=>h,frontMatter:()=>m,metadata:()=>n,toc:()=>p});var n=t(92870),o=t(85893),l=t(80980);let m={mdx:{format:"md"},date:"2020-05-28T20:00",authors:["jknoxville","jmcshane","kasperp","lex111","mrmuhammadali","piotros","s-pace","SamChou19815"]},i="2.0.0-alpha.56",s={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},p=[];function r(e){return(0,o.jsx)(o.Fragment,{})}function h(e={}){let{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,o.jsx)(a,{...e,children:(0,o.jsx)(r,{...e})}):r(e)}},80980:function(e,a,t){t.d(a,{Z:()=>i,a:()=>m});var n=t(67294);let o={},l=n.createContext(o);function m(e){let a=n.useContext(l);return n.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:m(e.components),n.createElement(l.Provider,{value:a},e.children)}},92870:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.56","source":"@site/changelog/source/2.0.0-alpha.56.md","title":"2.0.0-alpha.56","description":"Breaking Change","date":"2020-05-28T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"John Knox","alias":"jknoxville","url":"https://github.com/jknoxville","imageURL":"https://github.com/jknoxville.png","key":"jknoxville","page":null},{"name":"James McShane","alias":"jmcshane","url":"https://github.com/jmcshane","imageURL":"https://github.com/jmcshane.png","key":"jmcshane","page":null},{"name":"Kasper B\xf8gebjerg Pedersen","alias":"kasperp","url":"https://github.com/kasperp","imageURL":"https://github.com/kasperp.png","key":"kasperp","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Muhammad Ali","alias":"mrmuhammadali","url":"https://github.com/mrmuhammadali","imageURL":"https://github.com/mrmuhammadali.png","key":"mrmuhammadali","page":null},{"name":"Piotr Baran","alias":"piotros","url":"https://github.com/piotros","imageURL":"https://github.com/piotros.png","key":"piotros","page":null},{"name":"Sylvain Pace","alias":"s-pace","url":"https://github.com/s-pace","imageURL":"https://github.com/s-pace.png","key":"s-pace","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-05-28T20:00","authors":["jknoxville","jmcshane","kasperp","lex111","mrmuhammadali","piotros","s-pace","SamChou19815"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.57","permalink":"/changelog/2.0.0-alpha.57"},"nextItem":{"title":"2.0.0-alpha.55","permalink":"/changelog/2.0.0-alpha.55"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/3a2db09e.34531dfe.js b/assets/js/3a2db09e.34531dfe.js new file mode 100644 index 0000000000..c895e1dd82 --- /dev/null +++ b/assets/js/3a2db09e.34531dfe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["47143"],{2668:function(a){a.exports=JSON.parse('{"tags":[{"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases","count":16},{"label":"Maintenance","permalink":"/blog/tags/maintenance","count":1},{"label":"Recap","permalink":"/blog/tags/recap","description":"Blog posts about Docusaurus\' year recaps","count":3},{"label":"Search","permalink":"/blog/tags/search","count":1},{"label":"Beta","permalink":"/blog/tags/beta","count":1},{"label":"I18n","permalink":"/blog/tags/i-18-n","count":1},{"label":"Endi","permalink":"/blog/tags/endi","count":1},{"label":"Tribute","permalink":"/blog/tags/tribute","count":1},{"label":"Birth","permalink":"/blog/tags/birth","count":1},{"label":"New","permalink":"/blog/tags/new","count":1},{"label":"Adoption","permalink":"/blog/tags/adoption","count":2},{"label":"Profilo","permalink":"/blog/tags/profilo","count":1},{"label":"Documentation","permalink":"/blog/tags/documentation","count":1},{"label":"Blog","permalink":"/blog/tags/blog","count":1},{"label":"Docusaurus","permalink":"/blog/tags/docusaurus","count":1}]}')}}]); \ No newline at end of file diff --git a/assets/js/3a2db09e.4cef48fb.js b/assets/js/3a2db09e.4cef48fb.js deleted file mode 100644 index d0e5babf59..0000000000 --- a/assets/js/3a2db09e.4cef48fb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[8121],{8070:e=>{e.exports=JSON.parse('{"tags":[{"label":"Facebook","permalink":"/blog/tags/facebook","description":"Facebook tag description","count":1},{"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description","count":2},{"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description","count":4},{"label":"Hola","permalink":"/blog/tags/hola","description":"Hola tag description","count":1}]}')}}]); \ No newline at end of file diff --git a/assets/js/3a6019d8.acf7d5d9.js b/assets/js/3a6019d8.acf7d5d9.js new file mode 100644 index 0000000000..2ceae1fda6 --- /dev/null +++ b/assets/js/3a6019d8.acf7d5d9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["90394"],{76644:function(a){a.exports=JSON.parse('{"authors":[{"name":"6543","alias":"6543","url":"https://github.com/6543","imageURL":"https://github.com/6543.png","key":"6543","page":null,"count":1},{"name":"\u4E45\u67D3 | JiuRan","alias":"1084350607","url":"https://github.com/1084350607","imageURL":"https://github.com/1084350607.png","key":"1084350607","page":null,"count":1},{"name":"Alvin Bryan","alias":"alvinometric","url":"https://github.com/alvinometric","imageURL":"https://github.com/alvinometric.png","key":"alvinometric","page":null,"count":1},{"name":"Lin Huang","alias":"codimiracle","url":"https://github.com/codimiracle","imageURL":"https://github.com/codimiracle.png","key":"codimiracle","page":null,"count":1},{"name":"Zen","alias":"effozen","url":"https://github.com/effozen","imageURL":"https://github.com/effozen.png","key":"effozen","page":null,"count":1},{"name":"Zed Spencer-Milnes","alias":"GingerGeek","url":"https://github.com/GingerGeek","imageURL":"https://github.com/GingerGeek.png","key":"GingerGeek","page":null,"count":2},{"name":"Hichem Fantar","alias":"hichemfantar","url":"https://github.com/hichemfantar","imageURL":"https://github.com/hichemfantar.png","key":"hichemfantar","page":null,"count":2},{"name":"Ivan Cheban","alias":"ivancheban","url":"https://github.com/ivancheban","imageURL":"https://github.com/ivancheban.png","key":"ivancheban","page":null,"count":1},{"name":"Jake Boone","alias":"jakeboone02","url":"https://github.com/jakeboone02","imageURL":"https://github.com/jakeboone02.png","key":"jakeboone02","page":null,"count":1},{"name":"Jan Aukema","alias":"janaukema","url":"https://github.com/janaukema","imageURL":"https://github.com/janaukema.png","key":"janaukema","page":null,"count":1},{"name":"Lehoczky Zolt\xe1n","alias":"Lehoczky","url":"https://github.com/Lehoczky","imageURL":"https://github.com/Lehoczky.png","key":"Lehoczky","page":null,"count":1},{"name":"Pierre Millot","alias":"millotp","url":"https://github.com/millotp","imageURL":"https://github.com/millotp.png","key":"millotp","page":null,"count":1},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null,"count":68},{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null,"count":4},{"name":"Waldir Pimenta","alias":"waldyrious","url":"https://github.com/waldyrious","imageURL":"https://github.com/waldyrious.png","key":"waldyrious","page":null,"count":2},{"name":"William Black","alias":"WillBlack403","url":"https://github.com/WillBlack403","imageURL":"https://github.com/WillBlack403.png","key":"WillBlack403","page":null,"count":1},{"name":"Junior_Gx","alias":"goffxnca","url":"https://github.com/goffxnca","imageURL":"https://github.com/goffxnca.png","key":"goffxnca","page":null,"count":1},{"name":"Kyle Tsang","alias":"kyletsang","url":"https://github.com/kyletsang","imageURL":"https://github.com/kyletsang.png","key":"kyletsang","page":null,"count":1},{"name":"Ryoga","alias":"Ryoga-exe","url":"https://github.com/Ryoga-exe","imageURL":"https://github.com/Ryoga-exe.png","key":"Ryoga-exe","page":null,"count":1},{"name":"Zwyx","alias":"Zwyx","url":"https://github.com/Zwyx","imageURL":"https://github.com/Zwyx.png","key":"Zwyx","page":null,"count":3},{"name":"Balthasar Hofer","alias":"lebalz","url":"https://github.com/lebalz","imageURL":"https://github.com/lebalz.png","key":"lebalz","page":null,"count":4},{"name":"Andrew Asche","alias":"andrewasche","url":"https://github.com/andrewasche","imageURL":"https://github.com/andrewasche.png","key":"andrewasche","page":null,"count":1},{"name":"Boris Depoortere","alias":"B0r1sD","url":"https://github.com/B0r1sD","imageURL":"https://github.com/B0r1sD.png","key":"B0r1sD","page":null,"count":1},{"name":"Chris Cho","alias":"ccho-mongodb","url":"https://github.com/ccho-mongodb","imageURL":"https://github.com/ccho-mongodb.png","key":"ccho-mongodb","page":null,"count":1},{"name":"Flix","alias":"flixyudh","url":"https://github.com/flixyudh","imageURL":"https://github.com/flixyudh.png","key":"flixyudh","page":null,"count":1},{"name":"Liviu Ionescu","alias":"ilg-ul","url":"https://github.com/ilg-ul","imageURL":"https://github.com/ilg-ul.png","key":"ilg-ul","page":null,"count":2},{"name":"jackrabbit128","alias":"jackrabbit128","url":"https://github.com/jackrabbit128","imageURL":"https://github.com/jackrabbit128.png","key":"jackrabbit128","page":null,"count":1},{"name":"k-seltzer","alias":"k-seltzer","url":"https://github.com/k-seltzer","imageURL":"https://github.com/k-seltzer.png","key":"k-seltzer","page":null,"count":1},{"name":"Kenrick","alias":"kenrick95","url":"https://github.com/kenrick95","imageURL":"https://github.com/kenrick95.png","key":"kenrick95","page":null,"count":1},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null,"count":6},{"name":"Kamil Moska\u0142a","alias":"moskalakamil","url":"https://github.com/moskalakamil","imageURL":"https://github.com/moskalakamil.png","key":"moskalakamil","page":null,"count":1},{"name":"Nguy\u1EC5n Th\xe0nh Nam","alias":"namnguyenthanhwork","url":"https://github.com/namnguyenthanhwork","imageURL":"https://github.com/namnguyenthanhwork.png","key":"namnguyenthanhwork","page":null,"count":3},{"name":"Olexandr88","alias":"Olexandr88","url":"https://github.com/Olexandr88","imageURL":"https://github.com/Olexandr88.png","key":"Olexandr88","page":null,"count":1},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null,"count":8},{"name":"Patrick","alias":"patik123","url":"https://github.com/patik123","imageURL":"https://github.com/patik123.png","key":"patik123","page":null,"count":1},{"name":"Radovenchyk","alias":"Radovenchyk","url":"https://github.com/Radovenchyk","imageURL":"https://github.com/Radovenchyk.png","key":"Radovenchyk","page":null,"count":1},{"name":"Raghav","alias":"raghav2005","url":"https://github.com/raghav2005","imageURL":"https://github.com/raghav2005.png","key":"raghav2005","page":null,"count":1},{"name":"Joel Campos","alias":"TheMineWay","url":"https://github.com/TheMineWay","imageURL":"https://github.com/TheMineWay.png","key":"TheMineWay","page":null,"count":1},{"name":"Zenahr Barzani","alias":"Zenahr","url":"https://github.com/Zenahr","imageURL":"https://github.com/Zenahr.png","key":"Zenahr","page":null,"count":1},{"name":"Christian Stangerup","alias":"cstangerup","url":"https://github.com/cstangerup","imageURL":"https://github.com/cstangerup.png","key":"cstangerup","page":null,"count":1},{"name":"Gatien Boquet","alias":"GatienBoquet","url":"https://github.com/GatienBoquet","imageURL":"https://github.com/GatienBoquet.png","key":"GatienBoquet","page":null,"count":1},{"name":"Josh Wong","alias":"josh-wong","url":"https://github.com/josh-wong","imageURL":"https://github.com/josh-wong.png","key":"josh-wong","page":null,"count":1},{"name":"Sunghyun Cho","alias":"anaclumos","url":"https://github.com/anaclumos","imageURL":"https://github.com/anaclumos.png","key":"anaclumos","page":null,"count":4},{"name":"Alice Zhao","alias":"alicelovescake","url":"https://github.com/alicelovescake","imageURL":"https://github.com/alicelovescake.png","key":"alicelovescake","page":null,"count":1},{"name":"Ashiq Firoz","alias":"ashiq-firoz","url":"https://github.com/ashiq-firoz","imageURL":"https://github.com/ashiq-firoz.png","key":"ashiq-firoz","page":null,"count":1},{"name":"Mohammad Bagher Abiyat","alias":"Aslemammad","url":"https://github.com/Aslemammad","imageURL":"https://github.com/Aslemammad.png","key":"Aslemammad","page":null,"count":1},{"name":"Bharatesh","alias":"bharateshwq","url":"https://github.com/bharateshwq","imageURL":"https://github.com/bharateshwq.png","key":"bharateshwq","page":null,"count":1},{"name":"\uC815\uBCF4\uD604 Bohyun Jung","alias":"bohyunjung","url":"https://github.com/bohyunjung","imageURL":"https://github.com/bohyunjung.png","key":"bohyunjung","page":null,"count":1},{"name":"Markus Tamm","alias":"chirbard","url":"https://github.com/chirbard","imageURL":"https://github.com/chirbard.png","key":"chirbard","page":null,"count":1},{"name":"Daniel Li","alias":"d4nyll","url":"https://github.com/d4nyll","imageURL":"https://github.com/d4nyll.png","key":"d4nyll","page":null,"count":2},{"name":"Dhaya","alias":"dhayab","url":"https://github.com/dhayab","imageURL":"https://github.com/dhayab.png","key":"dhayab","page":null,"count":1},{"name":"franzd1","alias":"franzd1","url":"https://github.com/franzd1","imageURL":"https://github.com/franzd1.png","key":"franzd1","page":null,"count":1},{"name":"Robin Otter","alias":"Gekd","url":"https://github.com/Gekd","imageURL":"https://github.com/Gekd.png","key":"Gekd","page":null,"count":1},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null,"count":14},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null,"count":31},{"name":"Max Schmitt","alias":"mxschmitt","url":"https://github.com/mxschmitt","imageURL":"https://github.com/mxschmitt.png","key":"mxschmitt","page":null,"count":3},{"name":"Paneedah","alias":"Paneedah","url":"https://github.com/Paneedah","imageURL":"https://github.com/Paneedah.png","key":"Paneedah","page":null,"count":1},{"name":"Aaron Chen","alias":"pjchender","url":"https://github.com/pjchender","imageURL":"https://github.com/pjchender.png","key":"pjchender","page":null,"count":1},{"name":"Priyadi Iman Nurcahyo","alias":"priyadi","url":"https://github.com/priyadi","imageURL":"https://github.com/priyadi.png","key":"priyadi","page":null,"count":1},{"name":"Sergio","alias":"sergioalmela","url":"https://github.com/sergioalmela","imageURL":"https://github.com/sergioalmela.png","key":"sergioalmela","page":null,"count":1},{"name":"Tatsunori Uchino","alias":"tats-u","url":"https://github.com/tats-u","imageURL":"https://github.com/tats-u.png","key":"tats-u","page":null,"count":5},{"name":"Julian V","alias":"ultimate","url":"https://github.com/ultimate","imageURL":"https://github.com/ultimate.png","key":"ultimate","page":null,"count":1},{"name":"Rohan Thakur","alias":"Xebec19","url":"https://github.com/Xebec19","imageURL":"https://github.com/Xebec19.png","key":"Xebec19","page":null,"count":1},{"name":"yujonglee","alias":"yujonglee","url":"https://github.com/yujonglee","imageURL":"https://github.com/yujonglee.png","key":"yujonglee","page":null,"count":1},{"name":"Azzedine E.","alias":"Arsero","url":"https://github.com/Arsero","imageURL":"https://github.com/Arsero.png","key":"Arsero","page":null,"count":1},{"name":"CodeDoctor","alias":"CodeDoctorDE","url":"https://github.com/CodeDoctorDE","imageURL":"https://github.com/CodeDoctorDE.png","key":"CodeDoctorDE","page":null,"count":2},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null,"count":7},{"name":"Mahri Ilmedova","alias":"ilmedova","url":"https://github.com/ilmedova","imageURL":"https://github.com/ilmedova.png","key":"ilmedova","page":null,"count":1},{"name":"Nick Coughlin","alias":"ncoughlin","url":"https://github.com/ncoughlin","imageURL":"https://github.com/ncoughlin.png","key":"ncoughlin","page":null,"count":1},{"name":"Petar_mc","alias":"PetarMc1","url":"https://github.com/PetarMc1","imageURL":"https://github.com/PetarMc1.png","key":"PetarMc1","page":null,"count":1},{"name":"Yongmin Hong","alias":"revi","url":"https://github.com/revi","imageURL":"https://github.com/revi.png","key":"revi","page":null,"count":3},{"name":"Abdullah Saud","alias":"Abdullah-03","url":"https://github.com/Abdullah-03","imageURL":"https://github.com/Abdullah-03.png","key":"Abdullah-03","page":null,"count":1},{"name":"Andrea Mazzucchelli","alias":"andrmaz","url":"https://github.com/andrmaz","imageURL":"https://github.com/andrmaz.png","key":"andrmaz","page":null,"count":1},{"name":"Can Eldem","alias":"eldemcan","url":"https://github.com/eldemcan","imageURL":"https://github.com/eldemcan.png","key":"eldemcan","page":null,"count":1},{"name":"Guille","alias":"gagdiez","url":"https://github.com/gagdiez","imageURL":"https://github.com/gagdiez.png","key":"gagdiez","page":null,"count":1},{"name":"H3NR1KE","alias":"h3nr1ke","url":"https://github.com/h3nr1ke","imageURL":"https://github.com/h3nr1ke.png","key":"h3nr1ke","page":null,"count":1},{"name":"Alexey Ivanov","alias":"iAdramelk","url":"https://github.com/iAdramelk","imageURL":"https://github.com/iAdramelk.png","key":"iAdramelk","page":null,"count":1},{"name":"Kai Hoffman","alias":"kaihoffman","url":"https://github.com/kaihoffman","imageURL":"https://github.com/kaihoffman.png","key":"kaihoffman","page":null,"count":1},{"name":"Bairui Su","alias":"pearmini","url":"https://github.com/pearmini","imageURL":"https://github.com/pearmini.png","key":"pearmini","page":null,"count":1},{"name":"Alexander Sandor","alias":"SandPod","url":"https://github.com/SandPod","imageURL":"https://github.com/SandPod.png","key":"SandPod","page":null,"count":1},{"name":"Tommaso Sotte","alias":"tomsotte","url":"https://github.com/tomsotte","imageURL":"https://github.com/tomsotte.png","key":"tomsotte","page":null,"count":1},{"name":"Tomy Hsieh","alias":"tomy0000000","url":"https://github.com/tomy0000000","imageURL":"https://github.com/tomy0000000.png","key":"tomy0000000","page":null,"count":1},{"name":"Virgil993","alias":"Virgil993","url":"https://github.com/Virgil993","imageURL":"https://github.com/Virgil993.png","key":"Virgil993","page":null,"count":1},{"name":"volcanofr","alias":"volcanofr","url":"https://github.com/volcanofr","imageURL":"https://github.com/volcanofr.png","key":"volcanofr","page":null,"count":1},{"name":"Josue [4tro] A","alias":"4troDev","url":"https://github.com/4troDev","imageURL":"https://github.com/4troDev.png","key":"4troDev","page":null,"count":1},{"name":"Anatoly Kopyl","alias":"anatolykopyl","url":"https://github.com/anatolykopyl","imageURL":"https://github.com/anatolykopyl.png","key":"anatolykopyl","page":null,"count":1},{"name":"axel7083","alias":"axel7083","url":"https://github.com/axel7083","imageURL":"https://github.com/axel7083.png","key":"axel7083","page":null,"count":1},{"name":"\u041D\u0443\u0440\u0438\u043B\u044C \u0411\u0430\u0440\u0430\u0434\u0443\u0441\u043E\u0432","alias":"baradusov","url":"https://github.com/baradusov","imageURL":"https://github.com/baradusov.png","key":"baradusov","page":null,"count":1},{"name":"Chris Bateman","alias":"chris-bateman","url":"https://github.com/chris-bateman","imageURL":"https://github.com/chris-bateman.png","key":"chris-bateman","page":null,"count":1},{"name":"Hallbj\xf6rn Magn\xfasson","alias":"Hallinn","url":"https://github.com/Hallinn","imageURL":"https://github.com/Hallinn.png","key":"Hallinn","page":null,"count":1},{"name":"n4n5","alias":"Its-Just-Nans","url":"https://github.com/Its-Just-Nans","imageURL":"https://github.com/Its-Just-Nans.png","key":"Its-Just-Nans","page":null,"count":1},{"name":"krinza.eth","alias":"kaymomin","url":"https://github.com/kaymomin","imageURL":"https://github.com/kaymomin.png","key":"kaymomin","page":null,"count":1},{"name":"Aolin","alias":"Oreoxmt","url":"https://github.com/Oreoxmt","imageURL":"https://github.com/Oreoxmt.png","key":"Oreoxmt","page":null,"count":2},{"name":"Rafael Martins","alias":"Rafael-Martins","url":"https://github.com/Rafael-Martins","imageURL":"https://github.com/Rafael-Martins.png","key":"Rafael-Martins","page":null,"count":1},{"name":"suenryu","alias":"Suenaga-Ryuya","url":"https://github.com/Suenaga-Ryuya","imageURL":"https://github.com/Suenaga-Ryuya.png","key":"Suenaga-Ryuya","page":null,"count":1},{"name":"Fafowora Sunkanmi","alias":"sunkanmii","url":"https://github.com/sunkanmii","imageURL":"https://github.com/sunkanmii.png","key":"sunkanmii","page":null,"count":1},{"name":"Vahid Naderi","alias":"VahidNaderi","url":"https://github.com/VahidNaderi","imageURL":"https://github.com/VahidNaderi.png","key":"VahidNaderi","page":null,"count":1},{"name":"Vlad Nestorov","alias":"vlad-nestorov","url":"https://github.com/vlad-nestorov","imageURL":"https://github.com/vlad-nestorov.png","key":"vlad-nestorov","page":null,"count":1},{"name":"\u7FCA\u5C0F\u4E45","alias":"yixiaojiu","url":"https://github.com/yixiaojiu","imageURL":"https://github.com/yixiaojiu.png","key":"yixiaojiu","page":null,"count":1},{"name":"dawei-wang","alias":"dawei-wang","url":"https://github.com/dawei-wang","imageURL":"https://github.com/dawei-wang.png","key":"dawei-wang","page":null,"count":2},{"name":"eitsupi","alias":"eitsupi","url":"https://github.com/eitsupi","imageURL":"https://github.com/eitsupi.png","key":"eitsupi","page":null,"count":1},{"name":"Jack Robson","alias":"jack-robson","url":"https://github.com/jack-robson","imageURL":"https://github.com/jack-robson.png","key":"jack-robson","page":null,"count":1},{"name":"Sanjaiyan Parthipan","alias":"sanjaiyan-dev","url":"https://github.com/sanjaiyan-dev","imageURL":"https://github.com/sanjaiyan-dev.png","key":"sanjaiyan-dev","page":null,"count":3},{"name":"axmmisaka","alias":"axmmisaka","url":"https://github.com/axmmisaka","imageURL":"https://github.com/axmmisaka.png","key":"axmmisaka","page":null,"count":1},{"name":"c0h1b4","alias":"c0h1b4","url":"https://github.com/c0h1b4","imageURL":"https://github.com/c0h1b4.png","key":"c0h1b4","page":null,"count":1},{"name":"Janessa Garrow","alias":"jgarrow","url":"https://github.com/jgarrow","imageURL":"https://github.com/jgarrow.png","key":"jgarrow","page":null,"count":1},{"name":"Simen Bekkhus","alias":"SimenB","url":"https://github.com/SimenB","imageURL":"https://github.com/SimenB.png","key":"SimenB","page":null,"count":2},{"name":"Chongyi Zheng","alias":"harryzcy","url":"https://github.com/harryzcy","imageURL":"https://github.com/harryzcy.png","key":"harryzcy","page":null,"count":2},{"name":"MCR Studio","alias":"mcrstudio","url":"https://github.com/mcrstudio","imageURL":"https://github.com/mcrstudio.png","key":"mcrstudio","page":null,"count":1},{"name":"Nick Gerleman","alias":"NickGerleman","url":"https://github.com/NickGerleman","imageURL":"https://github.com/NickGerleman.png","key":"NickGerleman","page":null,"count":1},{"name":"reece-white","alias":"reece-white","url":"https://github.com/reece-white","imageURL":"https://github.com/reece-white.png","key":"reece-white","page":null,"count":1},{"name":"Shreesh Nautiyal","alias":"Shreesh09","url":"https://github.com/Shreesh09","imageURL":"https://github.com/Shreesh09.png","key":"Shreesh09","page":null,"count":1},{"name":"Wan Sim","alias":"0420syj","url":"https://github.com/0420syj","imageURL":"https://github.com/0420syj.png","key":"0420syj","page":null,"count":1},{"name":"Abhinandan Wadhwa","alias":"abhinandanwadwa","url":"https://github.com/abhinandanwadwa","imageURL":"https://github.com/abhinandanwadwa.png","key":"abhinandanwadwa","page":null,"count":1},{"name":"Abinash Satapathy","alias":"Abinashbunty","url":"https://github.com/Abinashbunty","imageURL":"https://github.com/Abinashbunty.png","key":"Abinashbunty","page":null,"count":1},{"name":"Adam Patterson","alias":"adampatterson","url":"https://github.com/adampatterson","imageURL":"https://github.com/adampatterson.png","key":"adampatterson","page":null,"count":1},{"name":"Adithya Krishna","alias":"adithyaakrishna","url":"https://github.com/adithyaakrishna","imageURL":"https://github.com/adithyaakrishna.png","key":"adithyaakrishna","page":null,"count":1},{"name":"Hayden Hong","alias":"AFRUITPIE","url":"https://github.com/AFRUITPIE","imageURL":"https://github.com/AFRUITPIE.png","key":"AFRUITPIE","page":null,"count":1},{"name":"Craigory Coppola","alias":"AgentEnder","url":"https://github.com/AgentEnder","imageURL":"https://github.com/AgentEnder.png","key":"AgentEnder","page":null,"count":1},{"name":"Akshay Bhalotia","alias":"akshaybhalotia","url":"https://github.com/akshaybhalotia","imageURL":"https://github.com/akshaybhalotia.png","key":"akshaybhalotia","page":null,"count":1},{"name":"allyw2002","alias":"allyw2002","url":"https://github.com/allyw2002","imageURL":"https://github.com/allyw2002.png","key":"allyw2002","page":null,"count":1},{"name":"Ahmad Shrif","alias":"amdshrif","url":"https://github.com/amdshrif","imageURL":"https://github.com/amdshrif.png","key":"amdshrif","page":null,"count":1},{"name":"Ahmed Mustafa Malik","alias":"amm98d","url":"https://github.com/amm98d","imageURL":"https://github.com/amm98d.png","key":"amm98d","page":null,"count":1},{"name":"Andrew Lyons","alias":"andrewnicols","url":"https://github.com/andrewnicols","imageURL":"https://github.com/andrewnicols.png","key":"andrewnicols","page":null,"count":3},{"name":"Anton Kastritskii","alias":"antonk52","url":"https://github.com/antonk52","imageURL":"https://github.com/antonk52.png","key":"antonk52","page":null,"count":1},{"name":"Antony Onipko","alias":"antonyoni","url":"https://github.com/antonyoni","imageURL":"https://github.com/antonyoni.png","key":"antonyoni","page":null,"count":1},{"name":"Aqueeb","alias":"aqueeb","url":"https://github.com/aqueeb","imageURL":"https://github.com/aqueeb.png","key":"aqueeb","page":null,"count":1},{"name":"Martin Adamko","alias":"attitude","url":"https://github.com/attitude","imageURL":"https://github.com/attitude.png","key":"attitude","page":null,"count":1},{"name":"Billy Chan","alias":"billy1624","url":"https://github.com/billy1624","imageURL":"https://github.com/billy1624.png","key":"billy1624","page":null,"count":2},{"name":"biplavmz","alias":"biplavmz","url":"https://github.com/biplavmz","imageURL":"https://github.com/biplavmz.png","key":"biplavmz","page":null,"count":2},{"name":"bitpredator","alias":"bitpredator","url":"https://github.com/bitpredator","imageURL":"https://github.com/bitpredator.png","key":"bitpredator","page":null,"count":1},{"name":"Joe Williams","alias":"BubbaJoe","url":"https://github.com/BubbaJoe","imageURL":"https://github.com/BubbaJoe.png","key":"BubbaJoe","page":null,"count":1},{"name":"Dinh Bao Dang","alias":"chillinPanda","url":"https://github.com/chillinPanda","imageURL":"https://github.com/chillinPanda.png","key":"chillinPanda","page":null,"count":1},{"name":"Bei Chu","alias":"chubei","url":"https://github.com/chubei","imageURL":"https://github.com/chubei.png","key":"chubei","page":null,"count":1},{"name":"\u521D\u51AC","alias":"chudongvip","url":"https://github.com/chudongvip","imageURL":"https://github.com/chudongvip.png","key":"chudongvip","page":null,"count":1},{"name":"Ryosuke Igarashi","alias":"cm-igarashi-ryosuke","url":"https://github.com/cm-igarashi-ryosuke","imageURL":"https://github.com/cm-igarashi-ryosuke.png","key":"cm-igarashi-ryosuke","page":null,"count":1},{"name":"Colin McDonnell","alias":"colinhacks","url":"https://github.com/colinhacks","imageURL":"https://github.com/colinhacks.png","key":"colinhacks","page":null,"count":1},{"name":"conlacda","alias":"conlacda","url":"https://github.com/conlacda","imageURL":"https://github.com/conlacda.png","key":"conlacda","page":null,"count":1},{"name":"Dan Dascalescu","alias":"dandv","url":"https://github.com/dandv","imageURL":"https://github.com/dandv.png","key":"dandv","page":null,"count":1},{"name":"Danilo Woznica","alias":"danilowoz","url":"https://github.com/danilowoz","imageURL":"https://github.com/danilowoz.png","key":"danilowoz","page":null,"count":1},{"name":"Dan Roscigno","alias":"DanRoscigno","url":"https://github.com/DanRoscigno","imageURL":"https://github.com/DanRoscigno.png","key":"DanRoscigno","page":null,"count":2},{"name":"David J. Felix","alias":"DavidJFelix","url":"https://github.com/DavidJFelix","imageURL":"https://github.com/DavidJFelix.png","key":"DavidJFelix","page":null,"count":1},{"name":"Debbie O\'Brien","alias":"debs-obrien","url":"https://github.com/debs-obrien","imageURL":"https://github.com/debs-obrien.png","key":"debs-obrien","page":null,"count":1},{"name":"Devansu Yadav","alias":"Devansu-Yadav","url":"https://github.com/Devansu-Yadav","imageURL":"https://github.com/Devansu-Yadav.png","key":"Devansu-Yadav","page":null,"count":1},{"name":"Dongjoon Lee","alias":"Djunnni","url":"https://github.com/Djunnni","imageURL":"https://github.com/Djunnni.png","key":"Djunnni","page":null,"count":2},{"name":"Dr-Electron","alias":"Dr-Electron","url":"https://github.com/Dr-Electron","imageURL":"https://github.com/Dr-Electron.png","key":"Dr-Electron","page":null,"count":3},{"name":"Eduardo M\xednguez","alias":"e-minguez","url":"https://github.com/e-minguez","imageURL":"https://github.com/e-minguez.png","key":"e-minguez","page":null,"count":1},{"name":"Gr\xe9gory Heitz","alias":"edno","url":"https://github.com/edno","imageURL":"https://github.com/edno.png","key":"edno","page":null,"count":3},{"name":"FlorinaPacurar","alias":"FlorinaPacurar","url":"https://github.com/FlorinaPacurar","imageURL":"https://github.com/FlorinaPacurar.png","key":"FlorinaPacurar","page":null,"count":1},{"name":"Charles Killer","alias":"Foosballfan","url":"https://github.com/Foosballfan","imageURL":"https://github.com/Foosballfan.png","key":"Foosballfan","page":null,"count":1},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null,"count":9},{"name":"Francesco Ciulla","alias":"FrancescoXX","url":"https://github.com/FrancescoXX","imageURL":"https://github.com/FrancescoXX.png","key":"FrancescoXX","page":null,"count":1},{"name":"Fredrik Stave","alias":"fredrikstave","url":"https://github.com/fredrikstave","imageURL":"https://github.com/fredrikstave.png","key":"fredrikstave","page":null,"count":1},{"name":"Fxpby","alias":"fxpby","url":"https://github.com/fxpby","imageURL":"https://github.com/fxpby.png","key":"fxpby","page":null,"count":1},{"name":"Gabriel Csapo","alias":"gabrielcsapo","url":"https://github.com/gabrielcsapo","imageURL":"https://github.com/gabrielcsapo.png","key":"gabrielcsapo","page":null,"count":3},{"name":"Alexander Nguyen","alias":"GalexyN","url":"https://github.com/GalexyN","imageURL":"https://github.com/GalexyN.png","key":"GalexyN","page":null,"count":1},{"name":"Gustav Ton\xe9r","alias":"gazab","url":"https://github.com/gazab","imageURL":"https://github.com/gazab.png","key":"gazab","page":null,"count":1},{"name":"Eunkwang Shin","alias":"gracefullight","url":"https://github.com/gracefullight","imageURL":"https://github.com/gracefullight.png","key":"gracefullight","page":null,"count":1},{"name":"Greg Berg\xe9","alias":"gregberge","url":"https://github.com/gregberge","imageURL":"https://github.com/gregberge.png","key":"gregberge","page":null,"count":1},{"name":"Sujal Gupta","alias":"heysujal","url":"https://github.com/heysujal","imageURL":"https://github.com/heysujal.png","key":"heysujal","page":null,"count":1},{"name":"Hidde de Vries","alias":"hidde","url":"https://github.com/hidde","imageURL":"https://github.com/hidde.png","key":"hidde","page":null,"count":1},{"name":"Hyunseung","alias":"hslee2008","url":"https://github.com/hslee2008","imageURL":"https://github.com/hslee2008.png","key":"hslee2008","page":null,"count":1},{"name":"Anna","alias":"HumbleDeer","url":"https://github.com/HumbleDeer","imageURL":"https://github.com/HumbleDeer.png","key":"HumbleDeer","page":null,"count":1},{"name":"Coupy","alias":"HyeokjinKang","url":"https://github.com/HyeokjinKang","imageURL":"https://github.com/HyeokjinKang.png","key":"HyeokjinKang","page":null,"count":1},{"name":"Jean Humann","alias":"jean-humann","url":"https://github.com/jean-humann","imageURL":"https://github.com/jean-humann.png","key":"jean-humann","page":null,"count":1},{"name":"Jesper Engberg","alias":"jeengbe","url":"https://github.com/jeengbe","imageURL":"https://github.com/jeengbe.png","key":"jeengbe","page":null,"count":1},{"name":"John Cao","alias":"jhcao23","url":"https://github.com/jhcao23","imageURL":"https://github.com/jhcao23.png","key":"jhcao23","page":null,"count":1},{"name":"JJ Style","alias":"jj-style","url":"https://github.com/jj-style","imageURL":"https://github.com/jj-style.png","key":"jj-style","page":null,"count":1},{"name":"Jody Heavener","alias":"jodyheavener","url":"https://github.com/jodyheavener","imageURL":"https://github.com/jodyheavener.png","key":"jodyheavener","page":null,"count":4},{"name":"Viktor Malmedal","alias":"JohnVicke","url":"https://github.com/JohnVicke","imageURL":"https://github.com/JohnVicke.png","key":"JohnVicke","page":null,"count":1},{"name":"Jorens Merenjanu","alias":"JorensM","url":"https://github.com/JorensM","imageURL":"https://github.com/JorensM.png","key":"JorensM","page":null,"count":1},{"name":"Juan Picado","alias":"juanpicado","url":"https://github.com/juanpicado","imageURL":"https://github.com/juanpicado.png","key":"juanpicado","page":null,"count":1},{"name":"0x24Karthick","alias":"KarthickSakthi","url":"https://github.com/KarthickSakthi","imageURL":"https://github.com/KarthickSakthi.png","key":"KarthickSakthi","page":null,"count":1},{"name":"Serenus","alias":"Kesyau","url":"https://github.com/Kesyau","imageURL":"https://github.com/Kesyau.png","key":"Kesyau","page":null,"count":1},{"name":"Naffy Dharni","alias":"knownasnaffy","url":"https://github.com/knownasnaffy","imageURL":"https://github.com/knownasnaffy.png","key":"knownasnaffy","page":null,"count":1},{"name":"la55u","alias":"la55u","url":"https://github.com/la55u","imageURL":"https://github.com/la55u.png","key":"la55u","page":null,"count":1},{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null,"count":4},{"name":"Oleksandr Fediashov","alias":"layershifter","url":"https://github.com/layershifter","imageURL":"https://github.com/layershifter.png","key":"layershifter","page":null,"count":1},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null,"count":45},{"name":"Lorenzo Lewis","alias":"lorenzolewis","url":"https://github.com/lorenzolewis","imageURL":"https://github.com/lorenzolewis.png","key":"lorenzolewis","page":null,"count":1},{"name":"Silvestar Bistrovi\u0107","alias":"maliMirkec","url":"https://github.com/maliMirkec","imageURL":"https://github.com/maliMirkec.png","key":"maliMirkec","page":null,"count":1},{"name":"Manuel","alias":"manuel-rw","url":"https://github.com/manuel-rw","imageURL":"https://github.com/manuel-rw.png","key":"manuel-rw","page":null,"count":1},{"name":"Markshawn","alias":"MarkShawn2020","url":"https://github.com/MarkShawn2020","imageURL":"https://github.com/MarkShawn2020.png","key":"MarkShawn2020","page":null,"count":1},{"name":"mcallisto","alias":"mcallisto","url":"https://github.com/mcallisto","imageURL":"https://github.com/mcallisto.png","key":"mcallisto","page":null,"count":2},{"name":"Michael Remediakis","alias":"mickremedi","url":"https://github.com/mickremedi","imageURL":"https://github.com/mickremedi.png","key":"mickremedi","page":null,"count":1},{"name":"ModupeD","alias":"ModupeD","url":"https://github.com/ModupeD","imageURL":"https://github.com/ModupeD.png","key":"ModupeD","page":null,"count":1},{"name":"Mogyuchi","alias":"Mogyuchi","url":"https://github.com/Mogyuchi","imageURL":"https://github.com/Mogyuchi.png","key":"Mogyuchi","page":null,"count":1},{"name":"Mu-Jing-Tsai","alias":"moojing","url":"https://github.com/moojing","imageURL":"https://github.com/moojing.png","key":"moojing","page":null,"count":1},{"name":"Tom Mrazauskas","alias":"mrazauskas","url":"https://github.com/mrazauskas","imageURL":"https://github.com/mrazauskas.png","key":"mrazauskas","page":null,"count":2},{"name":"Marco Stroppel","alias":"mstroppel","url":"https://github.com/mstroppel","imageURL":"https://github.com/mstroppel.png","key":"mstroppel","page":null,"count":1},{"name":"Mysterious_Dev","alias":"Mysterious-Dev","url":"https://github.com/Mysterious-Dev","imageURL":"https://github.com/Mysterious-Dev.png","key":"Mysterious-Dev","page":null,"count":2},{"name":"Naman Garg","alias":"NamanGarg2075","url":"https://github.com/NamanGarg2075","imageURL":"https://github.com/NamanGarg2075.png","key":"NamanGarg2075","page":null,"count":1},{"name":"Nathaniel Tucker","alias":"ntucker","url":"https://github.com/ntucker","imageURL":"https://github.com/ntucker.png","key":"ntucker","page":null,"count":2},{"name":"Oluwatobi Sofela","alias":"oluwatobiss","url":"https://github.com/oluwatobiss","imageURL":"https://github.com/oluwatobiss.png","key":"oluwatobiss","page":null,"count":2},{"name":"Maciek Palmowski","alias":"palmiak","url":"https://github.com/palmiak","imageURL":"https://github.com/palmiak.png","key":"palmiak","page":null,"count":1},{"name":"Paul Razvan Berg","alias":"PaulRBerg","url":"https://github.com/PaulRBerg","imageURL":"https://github.com/PaulRBerg.png","key":"PaulRBerg","page":null,"count":1},{"name":"Pinaki Bhattacharjee","alias":"pinakipb2","url":"https://github.com/pinakipb2","imageURL":"https://github.com/pinakipb2.png","key":"pinakipb2","page":null,"count":1},{"name":"prateekbytes","alias":"prateekbytes","url":"https://github.com/prateekbytes","imageURL":"https://github.com/prateekbytes.png","key":"prateekbytes","page":null,"count":1},{"name":"qwerzl","alias":"qwerzl","url":"https://github.com/qwerzl","imageURL":"https://github.com/qwerzl.png","key":"qwerzl","page":null,"count":1},{"name":"Rashid","alias":"rashidmya","url":"https://github.com/rashidmya","imageURL":"https://github.com/rashidmya.png","key":"rashidmya","page":null,"count":1},{"name":"Kolja","alias":"razzeee","url":"https://github.com/razzeee","imageURL":"https://github.com/razzeee.png","key":"razzeee","page":null,"count":1},{"name":"Rapha\xebl Barbazza","alias":"rbarbazz","url":"https://github.com/rbarbazz","imageURL":"https://github.com/rbarbazz.png","key":"rbarbazz","page":null,"count":1},{"name":"Bruce Song","alias":"recallwei","url":"https://github.com/recallwei","imageURL":"https://github.com/recallwei.png","key":"recallwei","page":null,"count":2},{"name":"Chua Chee How","alias":"rojakcoder","url":"https://github.com/rojakcoder","imageURL":"https://github.com/rojakcoder.png","key":"rojakcoder","page":null,"count":1},{"name":"rsteele6","alias":"rsteele6","url":"https://github.com/rsteele6","imageURL":"https://github.com/rsteele6.png","key":"rsteele6","page":null,"count":1},{"name":"SADIK KUZU","alias":"sadikkuzu","url":"https://github.com/sadikkuzu","imageURL":"https://github.com/sadikkuzu.png","key":"sadikkuzu","page":null,"count":1},{"name":"Sainan","alias":"Sainan","url":"https://github.com/Sainan","imageURL":"https://github.com/Sainan.png","key":"Sainan","page":null,"count":1},{"name":"samatt14","alias":"samatt14","url":"https://github.com/samatt14","imageURL":"https://github.com/samatt14.png","key":"samatt14","page":null,"count":1},{"name":"Alex","alias":"sashashura","url":"https://github.com/sashashura","imageURL":"https://github.com/sashashura.png","key":"sashashura","page":null,"count":1},{"name":"Marie","alias":"schneegansm","url":"https://github.com/schneegansm","imageURL":"https://github.com/schneegansm.png","key":"schneegansm","page":null,"count":1},{"name":"Marco Kuper","alias":"scubamaggo","url":"https://github.com/scubamaggo","imageURL":"https://github.com/scubamaggo.png","key":"scubamaggo","page":null,"count":1},{"name":"Shahriar","alias":"ShahriarKh","url":"https://github.com/ShahriarKh","imageURL":"https://github.com/ShahriarKh.png","key":"ShahriarKh","page":null,"count":1},{"name":"Shashank Kumar","alias":"shawshankkumar","url":"https://github.com/shawshankkumar","imageURL":"https://github.com/shawshankkumar.png","key":"shawshankkumar","page":null,"count":1},{"name":"Cl\xe9ment Vannicatte","alias":"shortcuts","url":"https://github.com/shortcuts","imageURL":"https://github.com/shortcuts.png","key":"shortcuts","page":null,"count":2},{"name":"Shun Wakatsuki","alias":"shwaka","url":"https://github.com/shwaka","imageURL":"https://github.com/shwaka.png","key":"shwaka","page":null,"count":2},{"name":"Gareth Dwyer","alias":"sixhobbits","url":"https://github.com/sixhobbits","imageURL":"https://github.com/sixhobbits.png","key":"sixhobbits","page":null,"count":1},{"name":"Surav Shrestha","alias":"suravshrestha","url":"https://github.com/suravshrestha","imageURL":"https://github.com/suravshrestha.png","key":"suravshrestha","page":null,"count":1},{"name":"sykp241095","alias":"sykp241095","url":"https://github.com/sykp241095","imageURL":"https://github.com/sykp241095.png","key":"sykp241095","page":null,"count":2},{"name":"Tamal Anwar Chowdhury","alias":"tamalchowdhury","url":"https://github.com/tamalchowdhury","imageURL":"https://github.com/tamalchowdhury.png","key":"tamalchowdhury","page":null,"count":1},{"name":"Tarun Chauhan","alias":"tarunrajput","url":"https://github.com/tarunrajput","imageURL":"https://github.com/tarunrajput.png","key":"tarunrajput","page":null,"count":2},{"name":"Thad Guidry","alias":"thadguidry","url":"https://github.com/thadguidry","imageURL":"https://github.com/thadguidry.png","key":"thadguidry","page":null,"count":3},{"name":"James Kerrane","alias":"thatrobotdev","url":"https://github.com/thatrobotdev","imageURL":"https://github.com/thatrobotdev.png","key":"thatrobotdev","page":null,"count":1},{"name":"thedevwonder","alias":"thedevwonder","url":"https://github.com/thedevwonder","imageURL":"https://github.com/thedevwonder.png","key":"thedevwonder","page":null,"count":1},{"name":"Andr\xe9s Villanueva","alias":"Villanuevand","url":"https://github.com/Villanuevand","imageURL":"https://github.com/Villanuevand.png","key":"Villanuevand","page":null,"count":1},{"name":"VinceCYLiao","alias":"VinceCYLiao","url":"https://github.com/VinceCYLiao","imageURL":"https://github.com/VinceCYLiao.png","key":"VinceCYLiao","page":null,"count":1},{"name":"Will Ceolin","alias":"wceolin","url":"https://github.com/wceolin","imageURL":"https://github.com/wceolin.png","key":"wceolin","page":null,"count":1},{"name":"Webber Takken","alias":"webbertakken","url":"https://github.com/webbertakken","imageURL":"https://github.com/webbertakken.png","key":"webbertakken","page":null,"count":2},{"name":"Jordan Manley","alias":"werner33","url":"https://github.com/werner33","imageURL":"https://github.com/werner33.png","key":"werner33","page":null,"count":1},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null,"count":18},{"name":"yosukekato165","alias":"yosukekato165","url":"https://github.com/yosukekato165","imageURL":"https://github.com/yosukekato165.png","key":"yosukekato165","page":null,"count":1},{"name":"Ori Shalom","alias":"ori-shalom","url":"https://github.com/ori-shalom","imageURL":"https://github.com/ori-shalom.png","key":"ori-shalom","page":null,"count":2},{"name":"TheCatLady","alias":"TheCatLady","url":"https://github.com/TheCatLady","imageURL":"https://github.com/TheCatLady.png","key":"TheCatLady","page":null,"count":2},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null,"count":7},{"name":"MetuMortis","alias":"LiberaTeMetuMortis","url":"https://github.com/LiberaTeMetuMortis","imageURL":"https://github.com/LiberaTeMetuMortis.png","key":"LiberaTeMetuMortis","page":null,"count":1},{"name":"Aleksandr Vladykin","alias":"morsko1","url":"https://github.com/morsko1","imageURL":"https://github.com/morsko1.png","key":"morsko1","page":null,"count":1},{"name":"Sachin Nanayakkara","alias":"SACHINnANYAKKARA","url":"https://github.com/SACHINnANYAKKARA","imageURL":"https://github.com/SACHINnANYAKKARA.png","key":"SACHINnANYAKKARA","page":null,"count":1},{"name":"Anas","alias":"Anasqx","url":"https://github.com/Anasqx","imageURL":"https://github.com/Anasqx.png","key":"Anasqx","page":null,"count":1},{"name":"Dewansh Thakur","alias":"dewanshDT","url":"https://github.com/dewanshDT","imageURL":"https://github.com/dewanshDT.png","key":"dewanshDT","page":null,"count":1},{"name":"Petter Dr\xf8nnen","alias":"dr0nn1","url":"https://github.com/dr0nn1","imageURL":"https://github.com/dr0nn1.png","key":"dr0nn1","page":null,"count":1},{"name":"Kagan","alias":"kagankan","url":"https://github.com/kagankan","imageURL":"https://github.com/kagankan.png","key":"kagankan","page":null,"count":1},{"name":"Moritz St\xfcckler","alias":"pReya","url":"https://github.com/pReya","imageURL":"https://github.com/pReya.png","key":"pReya","page":null,"count":1},{"name":"Tanner Dolby","alias":"tannerdolby","url":"https://github.com/tannerdolby","imageURL":"https://github.com/tannerdolby.png","key":"tannerdolby","page":null,"count":1},{"name":"TrueQAP","alias":"trueqap","url":"https://github.com/trueqap","imageURL":"https://github.com/trueqap.png","key":"trueqap","page":null,"count":1},{"name":"Vishruta Patil","alias":"Vishruta-Patil","url":"https://github.com/Vishruta-Patil","imageURL":"https://github.com/Vishruta-Patil.png","key":"Vishruta-Patil","page":null,"count":1},{"name":"Davide Donadio","alias":"ZarakiKanzaki","url":"https://github.com/ZarakiKanzaki","imageURL":"https://github.com/ZarakiKanzaki.png","key":"ZarakiKanzaki","page":null,"count":1},{"name":"S\xe9bastien Castiel","alias":"scastiel","url":"https://github.com/scastiel","imageURL":"https://github.com/scastiel.png","key":"scastiel","page":null,"count":1},{"name":"Danny Kim","alias":"0916dhkim","url":"https://github.com/0916dhkim","imageURL":"https://github.com/0916dhkim.png","key":"0916dhkim","page":null,"count":1},{"name":"Riccardo","alias":"3v0k4","url":"https://github.com/3v0k4","imageURL":"https://github.com/3v0k4.png","key":"3v0k4","page":null,"count":1},{"name":"Denis Al-Khelali","alias":"denis-alkhelali","url":"https://github.com/denis-alkhelali","imageURL":"https://github.com/denis-alkhelali.png","key":"denis-alkhelali","page":null,"count":1},{"name":"Frieder Bluemle","alias":"friederbluemle","url":"https://github.com/friederbluemle","imageURL":"https://github.com/friederbluemle.png","key":"friederbluemle","page":null,"count":1},{"name":"Josh Goldberg","alias":"JoshuaKGoldberg","url":"https://github.com/JoshuaKGoldberg","imageURL":"https://github.com/JoshuaKGoldberg.png","key":"JoshuaKGoldberg","page":null,"count":2},{"name":"Lachlan Heywood","alias":"lachieh","url":"https://github.com/lachieh","imageURL":"https://github.com/lachieh.png","key":"lachieh","page":null,"count":1},{"name":"Matija Sirk","alias":"MatijaSi","url":"https://github.com/MatijaSi","imageURL":"https://github.com/MatijaSi.png","key":"MatijaSi","page":null,"count":1},{"name":"Muhammad Hammad","alias":"mhnaeem","url":"https://github.com/mhnaeem","imageURL":"https://github.com/mhnaeem.png","key":"mhnaeem","page":null,"count":1},{"name":"mturoci","alias":"mturoci","url":"https://github.com/mturoci","imageURL":"https://github.com/mturoci.png","key":"mturoci","page":null,"count":2},{"name":"\u5B8B\u9526\u4E30","alias":"SJFCS","url":"https://github.com/SJFCS","imageURL":"https://github.com/SJFCS.png","key":"SJFCS","page":null,"count":1},{"name":"Stefan Norberg","alias":"stnor","url":"https://github.com/stnor","imageURL":"https://github.com/stnor.png","key":"stnor","page":null,"count":2},{"name":"Thomas.CA","alias":"Thomascogez","url":"https://github.com/Thomascogez","imageURL":"https://github.com/Thomascogez.png","key":"Thomascogez","page":null,"count":1},{"name":"Adnan Hashmi","alias":"adnanhashmi09","url":"https://github.com/adnanhashmi09","imageURL":"https://github.com/adnanhashmi09.png","key":"adnanhashmi09","page":null,"count":1},{"name":"Johan Fagerberg","alias":"birjj","url":"https://github.com/birjj","imageURL":"https://github.com/birjj.png","key":"birjj","page":null,"count":1},{"name":"evan","alias":"e-im","url":"https://github.com/e-im","imageURL":"https://github.com/e-im.png","key":"e-im","page":null,"count":1},{"name":"forgeRW","alias":"forgeRW","url":"https://github.com/forgeRW","imageURL":"https://github.com/forgeRW.png","key":"forgeRW","page":null,"count":1},{"name":"Jeferson S. Brito","alias":"jeferson-sb","url":"https://github.com/jeferson-sb","imageURL":"https://github.com/jeferson-sb.png","key":"jeferson-sb","page":null,"count":1},{"name":"Jan Peer St\xf6cklmair","alias":"JPeer264","url":"https://github.com/JPeer264","imageURL":"https://github.com/JPeer264.png","key":"JPeer264","page":null,"count":2},{"name":"LittleboyHarry","alias":"LittleboyHarry","url":"https://github.com/LittleboyHarry","imageURL":"https://github.com/LittleboyHarry.png","key":"LittleboyHarry","page":null,"count":2},{"name":"Masahiko Hara","alias":"pasora","url":"https://github.com/pasora","imageURL":"https://github.com/pasora.png","key":"pasora","page":null,"count":1},{"name":"Pranav Joglekar","alias":"Pranav2612000","url":"https://github.com/Pranav2612000","imageURL":"https://github.com/Pranav2612000.png","key":"Pranav2612000","page":null,"count":1},{"name":"Ramazan SANCAR","alias":"ramazansancar","url":"https://github.com/ramazansancar","imageURL":"https://github.com/ramazansancar.png","key":"ramazansancar","page":null,"count":1},{"name":"Shanmughapriyan S","alias":"shanpriyan","url":"https://github.com/shanpriyan","imageURL":"https://github.com/shanpriyan.png","key":"shanpriyan","page":null,"count":1},{"name":"Sam Wall","alias":"sjwall","url":"https://github.com/sjwall","imageURL":"https://github.com/sjwall.png","key":"sjwall","page":null,"count":2},{"name":"Xabier Lahuerta Vazquez","alias":"Xabilahu","url":"https://github.com/Xabilahu","imageURL":"https://github.com/Xabilahu.png","key":"Xabilahu","page":null,"count":1},{"name":"adventure-yunfei","alias":"adventure-yunfei","url":"https://github.com/adventure-yunfei","imageURL":"https://github.com/adventure-yunfei.png","key":"adventure-yunfei","page":null,"count":1},{"name":"Bagdasar Ovsepyan","alias":"b-ovsepian","url":"https://github.com/b-ovsepian","imageURL":"https://github.com/b-ovsepian.png","key":"b-ovsepian","page":null,"count":1},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null,"count":6},{"name":"Kevin \xd8sterkilde","alias":"Kosai106","url":"https://github.com/Kosai106","imageURL":"https://github.com/Kosai106.png","key":"Kosai106","page":null,"count":1},{"name":"Morgane Dubus","alias":"mdubus","url":"https://github.com/mdubus","imageURL":"https://github.com/mdubus.png","key":"mdubus","page":null,"count":1},{"name":"whiteand","alias":"whiteand","url":"https://github.com/whiteand","imageURL":"https://github.com/whiteand.png","key":"whiteand","page":null,"count":1},{"name":"Yoni Chechik","alias":"YoniChechik","url":"https://github.com/YoniChechik","imageURL":"https://github.com/YoniChechik.png","key":"YoniChechik","page":null,"count":1},{"name":"yzhe819","alias":"yzhe819","url":"https://github.com/yzhe819","imageURL":"https://github.com/yzhe819.png","key":"yzhe819","page":null,"count":1},{"name":"Evan","alias":"DigiPie","url":"https://github.com/DigiPie","imageURL":"https://github.com/DigiPie.png","key":"DigiPie","page":null,"count":3},{"name":"\u51F1\u6069 Kane","alias":"Gary50613","url":"https://github.com/Gary50613","imageURL":"https://github.com/Gary50613.png","key":"Gary50613","page":null,"count":3},{"name":"Wes McNamee","alias":"ghostsquad","url":"https://github.com/ghostsquad","imageURL":"https://github.com/ghostsquad.png","key":"ghostsquad","page":null,"count":2},{"name":"Jeffrey Aven","alias":"jeffreyaven","url":"https://github.com/jeffreyaven","imageURL":"https://github.com/jeffreyaven.png","key":"jeffreyaven","page":null,"count":5},{"name":"LichLord91","alias":"LichLord91","url":"https://github.com/LichLord91","imageURL":"https://github.com/LichLord91.png","key":"LichLord91","page":null,"count":1},{"name":"Arthur Brugi\xe8re","alias":"RoiArthurB","url":"https://github.com/RoiArthurB","imageURL":"https://github.com/RoiArthurB.png","key":"RoiArthurB","page":null,"count":1},{"name":"The Nguyen","alias":"treoden","url":"https://github.com/treoden","imageURL":"https://github.com/treoden.png","key":"treoden","page":null,"count":1},{"name":"Fl\xe1vio Silva","alias":"201flaviosilva","url":"https://github.com/201flaviosilva","imageURL":"https://github.com/201flaviosilva.png","key":"201flaviosilva","page":null,"count":1},{"name":"7Wate","alias":"7Wate","url":"https://github.com/7Wate","imageURL":"https://github.com/7Wate.png","key":"7Wate","page":null,"count":1},{"name":"\u8D64\u57CE\u7ED3\u8863","alias":"AkagiYui","url":"https://github.com/AkagiYui","imageURL":"https://github.com/AkagiYui.png","key":"AkagiYui","page":null,"count":1},{"name":"alewolf","alias":"alewolf","url":"https://github.com/alewolf","imageURL":"https://github.com/alewolf.png","key":"alewolf","page":null,"count":1},{"name":"Alexander Nestorov","alias":"alexandernst","url":"https://github.com/alexandernst","imageURL":"https://github.com/alexandernst.png","key":"alexandernst","page":null,"count":1},{"name":"Ahmed Altomy","alias":"Altomy","url":"https://github.com/Altomy","imageURL":"https://github.com/Altomy.png","key":"Altomy","page":null,"count":1},{"name":"Benjamin Cabanes","alias":"bcabanes","url":"https://github.com/bcabanes","imageURL":"https://github.com/bcabanes.png","key":"bcabanes","page":null,"count":1},{"name":"Ben Myers","alias":"BenDMyers","url":"https://github.com/BenDMyers","imageURL":"https://github.com/BenDMyers.png","key":"BenDMyers","page":null,"count":1},{"name":"Boulet","alias":"Boulet-","url":"https://github.com/Boulet-","imageURL":"https://github.com/Boulet-.png","key":"Boulet-","page":null,"count":1},{"name":"Charles Ancheta","alias":"cbebe","url":"https://github.com/cbebe","imageURL":"https://github.com/cbebe.png","key":"cbebe","page":null,"count":1},{"name":"Clemie McCartney","alias":"clemiee","url":"https://github.com/clemiee","imageURL":"https://github.com/clemiee.png","key":"clemiee","page":null,"count":1},{"name":"Dharsan B","alias":"DharsanB","url":"https://github.com/DharsanB","imageURL":"https://github.com/DharsanB.png","key":"DharsanB","page":null,"count":1},{"name":"dht","alias":"dht","url":"https://github.com/dht","imageURL":"https://github.com/dht.png","key":"dht","page":null,"count":1},{"name":"Diego Fran\xe7a","alias":"difranca","url":"https://github.com/difranca","imageURL":"https://github.com/difranca.png","key":"difranca","page":null,"count":1},{"name":"dpang314","alias":"dpang314","url":"https://github.com/dpang314","imageURL":"https://github.com/dpang314.png","key":"dpang314","page":null,"count":1},{"name":"emattia","alias":"emattia","url":"https://github.com/emattia","imageURL":"https://github.com/emattia.png","key":"emattia","page":null,"count":1},{"name":"Hyunseung Lee","alias":"HyunseungLee-Travis","url":"https://github.com/HyunseungLee-Travis","imageURL":"https://github.com/HyunseungLee-Travis.png","key":"HyunseungLee-Travis","page":null,"count":1},{"name":"DOLLE","alias":"JeremyDolle","url":"https://github.com/JeremyDolle","imageURL":"https://github.com/JeremyDolle.png","key":"JeremyDolle","page":null,"count":2},{"name":"Johnie Hjelm","alias":"johnie","url":"https://github.com/johnie","imageURL":"https://github.com/johnie.png","key":"johnie","page":null,"count":1},{"name":"JP","alias":"jpdriver","url":"https://github.com/jpdriver","imageURL":"https://github.com/jpdriver.png","key":"jpdriver","page":null,"count":1},{"name":"Joshua Schmitt","alias":"jqshuv","url":"https://github.com/jqshuv","imageURL":"https://github.com/jqshuv.png","key":"jqshuv","page":null,"count":1},{"name":"K\xfcr\u015Fat \u015Eim\u015Fek","alias":"kursatsmsek","url":"https://github.com/kursatsmsek","imageURL":"https://github.com/kursatsmsek.png","key":"kursatsmsek","page":null,"count":1},{"name":"Matthias Koch","alias":"matkoch","url":"https://github.com/matkoch","imageURL":"https://github.com/matkoch.png","key":"matkoch","page":null,"count":2},{"name":"\u674E\u5C0F\u96E8","alias":"metal-young","url":"https://github.com/metal-young","imageURL":"https://github.com/metal-young.png","key":"metal-young","page":null,"count":1},{"name":"pincman","alias":"pincman","url":"https://github.com/pincman","imageURL":"https://github.com/pincman.png","key":"pincman","page":null,"count":1},{"name":"Redcamel","alias":"redcamel","url":"https://github.com/redcamel","imageURL":"https://github.com/redcamel.png","key":"redcamel","page":null,"count":1},{"name":"Rein van Haaren","alias":"reinvanhaaren","url":"https://github.com/reinvanhaaren","imageURL":"https://github.com/reinvanhaaren.png","key":"reinvanhaaren","page":null,"count":1},{"name":"Rudra Sen","alias":"RudraSen2","url":"https://github.com/RudraSen2","imageURL":"https://github.com/RudraSen2.png","key":"RudraSen2","page":null,"count":1},{"name":"sado","alias":"sado0823","url":"https://github.com/sado0823","imageURL":"https://github.com/sado0823.png","key":"sado0823","page":null,"count":1},{"name":"Dzung Do","alias":"saosangmo","url":"https://github.com/saosangmo","imageURL":"https://github.com/saosangmo.png","key":"saosangmo","page":null,"count":1},{"name":"Dima Grossman","alias":"scopsy","url":"https://github.com/scopsy","imageURL":"https://github.com/scopsy.png","key":"scopsy","page":null,"count":1},{"name":"SheetJSDev","alias":"SheetJSDev","url":"https://github.com/SheetJSDev","imageURL":"https://github.com/SheetJSDev.png","key":"SheetJSDev","page":null,"count":1},{"name":"Joe Harrison","alias":"sigwinch28","url":"https://github.com/sigwinch28","imageURL":"https://github.com/sigwinch28.png","key":"sigwinch28","page":null,"count":1},{"name":"Huy Nguyen","alias":"Smilefounder","url":"https://github.com/Smilefounder","imageURL":"https://github.com/Smilefounder.png","key":"Smilefounder","page":null,"count":1},{"name":"Steven Serrata","alias":"sserrata","url":"https://github.com/sserrata","imageURL":"https://github.com/sserrata.png","key":"sserrata","page":null,"count":1},{"name":"Szil\xe1rd D\xf3r\xf3","alias":"szilarddoro","url":"https://github.com/szilarddoro","imageURL":"https://github.com/szilarddoro.png","key":"szilarddoro","page":null,"count":1},{"name":"Le Thi Van","alias":"vannyle","url":"https://github.com/vannyle","imageURL":"https://github.com/vannyle.png","key":"vannyle","page":null,"count":1},{"name":"Paul O\u2019Shannessy","alias":"zpao","url":"https://github.com/zpao","imageURL":"https://github.com/zpao.png","key":"zpao","page":null,"count":3},{"name":"Benjamin Diolez","alias":"BenDz","url":"https://github.com/BenDz","imageURL":"https://github.com/BenDz.png","key":"BenDz","page":null,"count":1},{"name":"Charles Korn","alias":"charleskorn","url":"https://github.com/charleskorn","imageURL":"https://github.com/charleskorn.png","key":"charleskorn","page":null,"count":2},{"name":"Designatory","alias":"Designatory","url":"https://github.com/Designatory","imageURL":"https://github.com/Designatory.png","key":"Designatory","page":null,"count":1},{"name":"Ggicci","alias":"ggicci","url":"https://github.com/ggicci","imageURL":"https://github.com/ggicci.png","key":"ggicci","page":null,"count":1},{"name":"Jeremy","alias":"jrmyw92","url":"https://github.com/jrmyw92","imageURL":"https://github.com/jrmyw92.png","key":"jrmyw92","page":null,"count":1},{"name":"Junjie","alias":"junjieweb","url":"https://github.com/junjieweb","imageURL":"https://github.com/junjieweb.png","key":"junjieweb","page":null,"count":1},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null,"count":4},{"name":"Akara","alias":"Messiahhh","url":"https://github.com/Messiahhh","imageURL":"https://github.com/Messiahhh.png","key":"Messiahhh","page":null,"count":1},{"name":"Michael Hughes","alias":"mhughes2k","url":"https://github.com/mhughes2k","imageURL":"https://github.com/mhughes2k.png","key":"mhughes2k","page":null,"count":1},{"name":"Nitya Narasimhan","alias":"nitya","url":"https://github.com/nitya","imageURL":"https://github.com/nitya.png","key":"nitya","page":null,"count":1},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null,"count":6},{"name":"Rui Peres","alias":"RuiAAPeres","url":"https://github.com/RuiAAPeres","imageURL":"https://github.com/RuiAAPeres.png","key":"RuiAAPeres","page":null,"count":1},{"name":"James","alias":"Zamiell","url":"https://github.com/Zamiell","imageURL":"https://github.com/Zamiell.png","key":"Zamiell","page":null,"count":1},{"name":"Steven Hicks","alias":"pepopowitz","url":"https://github.com/pepopowitz","imageURL":"https://github.com/pepopowitz.png","key":"pepopowitz","page":null,"count":1},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null,"count":6},{"name":"Sergey Gromkov","alias":"sgromkov","url":"https://github.com/sgromkov","imageURL":"https://github.com/sgromkov.png","key":"sgromkov","page":null,"count":1},{"name":"Aaron Nwabuoku","alias":"aerovulpe","url":"https://github.com/aerovulpe","imageURL":"https://github.com/aerovulpe.png","key":"aerovulpe","page":null,"count":1},{"name":"AkiraVoid","alias":"AkiraVoid","url":"https://github.com/AkiraVoid","imageURL":"https://github.com/AkiraVoid.png","key":"AkiraVoid","page":null,"count":1},{"name":"apq","alias":"AntonPalmqvist","url":"https://github.com/AntonPalmqvist","imageURL":"https://github.com/AntonPalmqvist.png","key":"AntonPalmqvist","page":null,"count":1},{"name":"ApsarasX","alias":"ApsarasX","url":"https://github.com/ApsarasX","imageURL":"https://github.com/ApsarasX.png","key":"ApsarasX","page":null,"count":1},{"name":"chelproc","alias":"chelproc","url":"https://github.com/chelproc","imageURL":"https://github.com/chelproc.png","key":"chelproc","page":null,"count":1},{"name":"Viktor Chernodub","alias":"chernodub","url":"https://github.com/chernodub","imageURL":"https://github.com/chernodub.png","key":"chernodub","page":null,"count":1},{"name":"curatorcat.pcc.eth","alias":"CuratorCat","url":"https://github.com/CuratorCat","imageURL":"https://github.com/CuratorCat.png","key":"CuratorCat","page":null,"count":1},{"name":"Cwen Yin","alias":"cwen0","url":"https://github.com/cwen0","imageURL":"https://github.com/cwen0.png","key":"cwen0","page":null,"count":1},{"name":"Fusang\u2740","alias":"cxOrz","url":"https://github.com/cxOrz","imageURL":"https://github.com/cxOrz.png","key":"cxOrz","page":null,"count":1},{"name":"Andrei Canta","alias":"deiucanta","url":"https://github.com/deiucanta","imageURL":"https://github.com/deiucanta.png","key":"deiucanta","page":null,"count":1},{"name":"deployn","alias":"deployn","url":"https://github.com/deployn","imageURL":"https://github.com/deployn.png","key":"deployn","page":null,"count":1},{"name":"Chinazaekpere Ngubo","alias":"dr-ngubo","url":"https://github.com/dr-ngubo","imageURL":"https://github.com/dr-ngubo.png","key":"dr-ngubo","page":null,"count":1},{"name":"duanwilliam","alias":"duanwilliam","url":"https://github.com/duanwilliam","imageURL":"https://github.com/duanwilliam.png","key":"duanwilliam","page":null,"count":3},{"name":"Elias Papavasileiou","alias":"elias-pap","url":"https://github.com/elias-pap","imageURL":"https://github.com/elias-pap.png","key":"elias-pap","page":null,"count":1},{"name":"Indermohan Singh","alias":"imsingh","url":"https://github.com/imsingh","imageURL":"https://github.com/imsingh.png","key":"imsingh","page":null,"count":1},{"name":"JMW","alias":"JohnnyMcWeed","url":"https://github.com/JohnnyMcWeed","imageURL":"https://github.com/JohnnyMcWeed.png","key":"JohnnyMcWeed","page":null,"count":1},{"name":"Kayce Basques","alias":"kaycebasques","url":"https://github.com/kaycebasques","imageURL":"https://github.com/kaycebasques.png","key":"kaycebasques","page":null,"count":2},{"name":"kgolubic","alias":"kgolubic","url":"https://github.com/kgolubic","imageURL":"https://github.com/kgolubic.png","key":"kgolubic","page":null,"count":1},{"name":"loic","alias":"layerzzzio","url":"https://github.com/layerzzzio","imageURL":"https://github.com/layerzzzio.png","key":"layerzzzio","page":null,"count":1},{"name":"Leedom","alias":"leedom92","url":"https://github.com/leedom92","imageURL":"https://github.com/leedom92.png","key":"leedom92","page":null,"count":1},{"name":"Martin Blom","alias":"LeviticusMB","url":"https://github.com/LeviticusMB","imageURL":"https://github.com/LeviticusMB.png","key":"LeviticusMB","page":null,"count":1},{"name":"Lukas Bach","alias":"lukasbach","url":"https://github.com/lukasbach","imageURL":"https://github.com/lukasbach.png","key":"lukasbach","page":null,"count":2},{"name":"Karl Ward","alias":"mjau-mjau","url":"https://github.com/mjau-mjau","imageURL":"https://github.com/mjau-mjau.png","key":"mjau-mjau","page":null,"count":1},{"name":"mehdim","alias":"mxhdx","url":"https://github.com/mxhdx","imageURL":"https://github.com/mxhdx.png","key":"mxhdx","page":null,"count":1},{"name":"Chau Tran","alias":"nartc","url":"https://github.com/nartc","imageURL":"https://github.com/nartc.png","key":"nartc","page":null,"count":1},{"name":"Naveen","alias":"naveensrinivasan","url":"https://github.com/naveensrinivasan","imageURL":"https://github.com/naveensrinivasan.png","key":"naveensrinivasan","page":null,"count":1},{"name":"Pablo Cordon","alias":"pcordon","url":"https://github.com/pcordon","imageURL":"https://github.com/pcordon.png","key":"pcordon","page":null,"count":1},{"name":"Lenz Weber-Tronic","alias":"phryneas","url":"https://github.com/phryneas","imageURL":"https://github.com/phryneas.png","key":"phryneas","page":null,"count":1},{"name":"Pierre-Gilles Leymarie","alias":"Pierre-Gilles","url":"https://github.com/Pierre-Gilles","imageURL":"https://github.com/Pierre-Gilles.png","key":"Pierre-Gilles","page":null,"count":3},{"name":"redhat123456","alias":"redhat123456","url":"https://github.com/redhat123456","imageURL":"https://github.com/redhat123456.png","key":"redhat123456","page":null,"count":1},{"name":"rev","alias":"rev4324","url":"https://github.com/rev4324","imageURL":"https://github.com/rev4324.png","key":"rev4324","page":null,"count":1},{"name":"Zac A","alias":"sandypockets","url":"https://github.com/sandypockets","imageURL":"https://github.com/sandypockets.png","key":"sandypockets","page":null,"count":1},{"name":"czhen","alias":"shczhen","url":"https://github.com/shczhen","imageURL":"https://github.com/shczhen.png","key":"shczhen","page":null,"count":1},{"name":"Evan","alias":"sulu5890","url":"https://github.com/sulu5890","imageURL":"https://github.com/sulu5890.png","key":"sulu5890","page":null,"count":1},{"name":"surendran82","alias":"surendran82","url":"https://github.com/surendran82","imageURL":"https://github.com/surendran82.png","key":"surendran82","page":null,"count":1},{"name":"svix-ken","alias":"svix-ken","url":"https://github.com/svix-ken","imageURL":"https://github.com/svix-ken.png","key":"svix-ken","page":null,"count":1},{"name":"Qi Zhang","alias":"zzzhangqi","url":"https://github.com/zzzhangqi","imageURL":"https://github.com/zzzhangqi.png","key":"zzzhangqi","page":null,"count":1},{"name":"Afonso Jorge Ramos","alias":"afonsojramos","url":"https://github.com/afonsojramos","imageURL":"https://github.com/afonsojramos.png","key":"afonsojramos","page":null,"count":1},{"name":"Alessandro Festa","alias":"alefesta","url":"https://github.com/alefesta","imageURL":"https://github.com/alefesta.png","key":"alefesta","page":null,"count":1},{"name":"Alois Klink","alias":"aloisklink","url":"https://github.com/aloisklink","imageURL":"https://github.com/aloisklink.png","key":"aloisklink","page":null,"count":1},{"name":"Ariful Alam","alias":"arifszn","url":"https://github.com/arifszn","imageURL":"https://github.com/arifszn.png","key":"arifszn","page":null,"count":2},{"name":"Bugo","alias":"dragomano","url":"https://github.com/dragomano","imageURL":"https://github.com/dragomano.png","key":"dragomano","page":null,"count":1},{"name":"Felipe Santos","alias":"felipecrs","url":"https://github.com/felipecrs","imageURL":"https://github.com/felipecrs.png","key":"felipecrs","page":null,"count":3},{"name":"Kyohei Fukuda","alias":"hand-dot","url":"https://github.com/hand-dot","imageURL":"https://github.com/hand-dot.png","key":"hand-dot","page":null,"count":1},{"name":"WonChul Heo","alias":"heowc","url":"https://github.com/heowc","imageURL":"https://github.com/heowc.png","key":"heowc","page":null,"count":1},{"name":"Jadon N","alias":"jadonn","url":"https://github.com/jadonn","imageURL":"https://github.com/jadonn.png","key":"jadonn","page":null,"count":1},{"name":"Roberto Vidal","alias":"jrvidal","url":"https://github.com/jrvidal","imageURL":"https://github.com/jrvidal.png","key":"jrvidal","page":null,"count":1},{"name":"nate contino","alias":"nathan-contino-mongo","url":"https://github.com/nathan-contino-mongo","imageURL":"https://github.com/nathan-contino-mongo.png","key":"nathan-contino-mongo","page":null,"count":1},{"name":"Odarpi","alias":"odarpi","url":"https://github.com/odarpi","imageURL":"https://github.com/odarpi.png","key":"odarpi","page":null,"count":1},{"name":"Nayan Patel","alias":"PatelN123","url":"https://github.com/PatelN123","imageURL":"https://github.com/PatelN123.png","key":"PatelN123","page":null,"count":3},{"name":"Pawel Kowaluk","alias":"pkowaluk","url":"https://github.com/pkowaluk","imageURL":"https://github.com/pkowaluk.png","key":"pkowaluk","page":null,"count":1},{"name":"Tsz W. TAM","alias":"rccttwd","url":"https://github.com/rccttwd","imageURL":"https://github.com/rccttwd.png","key":"rccttwd","page":null,"count":1},{"name":"Sam Gutentag","alias":"samgutentag","url":"https://github.com/samgutentag","imageURL":"https://github.com/samgutentag.png","key":"samgutentag","page":null,"count":1},{"name":"seladb","alias":"seladb","url":"https://github.com/seladb","imageURL":"https://github.com/seladb.png","key":"seladb","page":null,"count":1},{"name":"tae","alias":"taejs","url":"https://github.com/taejs","imageURL":"https://github.com/taejs.png","key":"taejs","page":null,"count":1},{"name":"Begula","alias":"vedantmgoyal2009","url":"https://github.com/vedantmgoyal2009","imageURL":"https://github.com/vedantmgoyal2009.png","key":"vedantmgoyal2009","page":null,"count":1},{"name":"Yorkie Liu","alias":"yorkie","url":"https://github.com/yorkie","imageURL":"https://github.com/yorkie.png","key":"yorkie","page":null,"count":1},{"name":"Alex Nicholls","alias":"anicholls","url":"https://github.com/anicholls","imageURL":"https://github.com/anicholls.png","key":"anicholls","page":null,"count":1},{"name":"Dmitry Vinnik","alias":"dmitryvinn","url":"https://github.com/dmitryvinn","imageURL":"https://github.com/dmitryvinn.png","key":"dmitryvinn","page":null,"count":2},{"name":"David Stotijn","alias":"dstotijn","url":"https://github.com/dstotijn","imageURL":"https://github.com/dstotijn.png","key":"dstotijn","page":null,"count":1},{"name":"Vaibhav Shinde","alias":"vaibhavshn","url":"https://github.com/vaibhavshn","imageURL":"https://github.com/vaibhavshn.png","key":"vaibhavshn","page":null,"count":2},{"name":"Gaurish","alias":"apidev234","url":"https://github.com/apidev234","imageURL":"https://github.com/apidev234.png","key":"apidev234","page":null,"count":1},{"name":"Artem Kovalov","alias":"artemkovalyov","url":"https://github.com/artemkovalyov","imageURL":"https://github.com/artemkovalyov.png","key":"artemkovalyov","page":null,"count":3},{"name":"BigDataWriter","alias":"BigDataWriter","url":"https://github.com/BigDataWriter","imageURL":"https://github.com/BigDataWriter.png","key":"BigDataWriter","page":null,"count":1},{"name":"Clement Demonchy","alias":"cdemonchy-pro","url":"https://github.com/cdemonchy-pro","imageURL":"https://github.com/cdemonchy-pro.png","key":"cdemonchy-pro","page":null,"count":1},{"name":"CookieJarApps","alias":"CookieJarApps","url":"https://github.com/CookieJarApps","imageURL":"https://github.com/CookieJarApps.png","key":"CookieJarApps","page":null,"count":1},{"name":"Dmitry Vinnik | Meta","alias":"dmitryvinn-fb","url":"https://github.com/dmitryvinn-fb","imageURL":"https://github.com/dmitryvinn-fb.png","key":"dmitryvinn-fb","page":null,"count":1},{"name":"Everardo J. Barojas M.","alias":"ebarojas","url":"https://github.com/ebarojas","imageURL":"https://github.com/ebarojas.png","key":"ebarojas","page":null,"count":1},{"name":"Erick Zhao","alias":"erickzhao","url":"https://github.com/erickzhao","imageURL":"https://github.com/erickzhao.png","key":"erickzhao","page":null,"count":3},{"name":"Daniel Kalevski","alias":"kalevski","url":"https://github.com/kalevski","imageURL":"https://github.com/kalevski.png","key":"kalevski","page":null,"count":1},{"name":"Kishan Gajera","alias":"kgajera","url":"https://github.com/kgajera","imageURL":"https://github.com/kgajera.png","key":"kgajera","page":null,"count":1},{"name":"Konstantin Tarkus","alias":"koistya","url":"https://github.com/koistya","imageURL":"https://github.com/koistya.png","key":"koistya","page":null,"count":1},{"name":"Miles Johnson","alias":"milesj","url":"https://github.com/milesj","imageURL":"https://github.com/milesj.png","key":"milesj","page":null,"count":1},{"name":"Matheus Ricardo Brunelli","alias":"mrbrunelli","url":"https://github.com/mrbrunelli","imageURL":"https://github.com/mrbrunelli.png","key":"mrbrunelli","page":null,"count":1},{"name":"Naseel Niyas","alias":"NaseelNiyas","url":"https://github.com/NaseelNiyas","imageURL":"https://github.com/NaseelNiyas.png","key":"NaseelNiyas","page":null,"count":1},{"name":"nick-verida","alias":"nick-verida","url":"https://github.com/nick-verida","imageURL":"https://github.com/nick-verida.png","key":"nick-verida","page":null,"count":1},{"name":"Nick Schonning","alias":"nschonni","url":"https://github.com/nschonni","imageURL":"https://github.com/nschonni.png","key":"nschonni","page":null,"count":2},{"name":"Muhammad Redho Ayassa","alias":"redhoyasa","url":"https://github.com/redhoyasa","imageURL":"https://github.com/redhoyasa.png","key":"redhoyasa","page":null,"count":1},{"name":"Ruben Arushanyan","alias":"Ruben-Arushanyan","url":"https://github.com/Ruben-Arushanyan","imageURL":"https://github.com/Ruben-Arushanyan.png","key":"Ruben-Arushanyan","page":null,"count":1},{"name":"seyoon20087","alias":"seyoon20087","url":"https://github.com/seyoon20087","imageURL":"https://github.com/seyoon20087.png","key":"seyoon20087","page":null,"count":1},{"name":"Tamal Web","alias":"tamalweb","url":"https://github.com/tamalweb","imageURL":"https://github.com/tamalweb.png","key":"tamalweb","page":null,"count":1},{"name":"Daniel Hanke","alias":"thedanielhanke","url":"https://github.com/thedanielhanke","imageURL":"https://github.com/thedanielhanke.png","key":"thedanielhanke","page":null,"count":1},{"name":"toto6038","alias":"toto6038","url":"https://github.com/toto6038","imageURL":"https://github.com/toto6038.png","key":"toto6038","page":null,"count":1},{"name":"Matthew Ailes","alias":"vidarc","url":"https://github.com/vidarc","imageURL":"https://github.com/vidarc.png","key":"vidarc","page":null,"count":1},{"name":"\uC774\uC815\uD658","alias":"winterlood","url":"https://github.com/winterlood","imageURL":"https://github.com/winterlood.png","key":"winterlood","page":null,"count":1},{"name":"Abdelrahman Ahmed","alias":"abahmed","url":"https://github.com/abahmed","imageURL":"https://github.com/abahmed.png","key":"abahmed","page":null,"count":1},{"name":"AJ Rice","alias":"ajrice6713","url":"https://github.com/ajrice6713","imageURL":"https://github.com/ajrice6713.png","key":"ajrice6713","page":null,"count":1},{"name":"Alexandru Grigoras","alias":"alexgrigoras","url":"https://github.com/alexgrigoras","imageURL":"https://github.com/alexgrigoras.png","key":"alexgrigoras","page":null,"count":1},{"name":"Filipe Guerra","alias":"alias-mac","url":"https://github.com/alias-mac","imageURL":"https://github.com/alias-mac.png","key":"alias-mac","page":null,"count":1},{"name":"Amir M. Mohamadi","alias":"amir2mi","url":"https://github.com/amir2mi","imageURL":"https://github.com/amir2mi.png","key":"amir2mi","page":null,"count":1},{"name":"Anthony McCaigue","alias":"antmcc49","url":"https://github.com/antmcc49","imageURL":"https://github.com/antmcc49.png","key":"antmcc49","page":null,"count":1},{"name":"Brendan Nee","alias":"brendannee","url":"https://github.com/brendannee","imageURL":"https://github.com/brendannee.png","key":"brendannee","page":null,"count":1},{"name":"Devtato","alias":"cerkiewny","url":"https://github.com/cerkiewny","imageURL":"https://github.com/cerkiewny.png","key":"cerkiewny","page":null,"count":3},{"name":"Davide Bianchi","alias":"davidebianchi","url":"https://github.com/davidebianchi","imageURL":"https://github.com/davidebianchi.png","key":"davidebianchi","page":null,"count":1},{"name":"Edouard Bonlieu","alias":"edouardb","url":"https://github.com/edouardb","imageURL":"https://github.com/edouardb.png","key":"edouardb","page":null,"count":1},{"name":"Feodor Fitsner","alias":"FeodorFitsner","url":"https://github.com/FeodorFitsner","imageURL":"https://github.com/FeodorFitsner.png","key":"FeodorFitsner","page":null,"count":1},{"name":"Chen","alias":"HiChen404","url":"https://github.com/HiChen404","imageURL":"https://github.com/HiChen404.png","key":"HiChen404","page":null,"count":1},{"name":"Joseph","alias":"josephriosIO","url":"https://github.com/josephriosIO","imageURL":"https://github.com/josephriosIO.png","key":"josephriosIO","page":null,"count":1},{"name":"Jake Witz","alias":"jwitz","url":"https://github.com/jwitz","imageURL":"https://github.com/jwitz.png","key":"jwitz","page":null,"count":1},{"name":"Kaustubh Kulkarni","alias":"kaustubhk24","url":"https://github.com/kaustubhk24","imageURL":"https://github.com/kaustubhk24.png","key":"kaustubhk24","page":null,"count":1},{"name":"kuizuo","alias":"kuizuo","url":"https://github.com/kuizuo","imageURL":"https://github.com/kuizuo.png","key":"kuizuo","page":null,"count":1},{"name":"Minh Pham","alias":"lmpham1","url":"https://github.com/lmpham1","imageURL":"https://github.com/lmpham1.png","key":"lmpham1","page":null,"count":1},{"name":"Lars Mikkelsen","alias":"ltm","url":"https://github.com/ltm","imageURL":"https://github.com/ltm.png","key":"ltm","page":null,"count":1},{"name":"Sanjay Soundarajan","alias":"megasanjay","url":"https://github.com/megasanjay","imageURL":"https://github.com/megasanjay.png","key":"megasanjay","page":null,"count":1},{"name":"Morooka Kotaro","alias":"MorookaKotaro","url":"https://github.com/MorookaKotaro","imageURL":"https://github.com/MorookaKotaro.png","key":"MorookaKotaro","page":null,"count":2},{"name":"Yaroslav Serhieiev","alias":"noomorph","url":"https://github.com/noomorph","imageURL":"https://github.com/noomorph.png","key":"noomorph","page":null,"count":2},{"name":"\xd6mer Faruk APLAK","alias":"omeraplak","url":"https://github.com/omeraplak","imageURL":"https://github.com/omeraplak.png","key":"omeraplak","page":null,"count":1},{"name":"Rishi Raj Jain","alias":"rishi-raj-jain","url":"https://github.com/rishi-raj-jain","imageURL":"https://github.com/rishi-raj-jain.png","key":"rishi-raj-jain","page":null,"count":1},{"name":"roydukkey","alias":"roydukkey","url":"https://github.com/roydukkey","imageURL":"https://github.com/roydukkey.png","key":"roydukkey","page":null,"count":2},{"name":"ruanqizhen","alias":"ruanqizhen","url":"https://github.com/ruanqizhen","imageURL":"https://github.com/ruanqizhen.png","key":"ruanqizhen","page":null,"count":1},{"name":"sgenoud","alias":"sgenoud","url":"https://github.com/sgenoud","imageURL":"https://github.com/sgenoud.png","key":"sgenoud","page":null,"count":1},{"name":"Tapan Chudasama","alias":"tapanchudasama","url":"https://github.com/tapanchudasama","imageURL":"https://github.com/tapanchudasama.png","key":"tapanchudasama","page":null,"count":1},{"name":"Vandr\xe9 Leal","alias":"vandreleal","url":"https://github.com/vandreleal","imageURL":"https://github.com/vandreleal.png","key":"vandreleal","page":null,"count":3},{"name":"wood3n","alias":"wood3n","url":"https://github.com/wood3n","imageURL":"https://github.com/wood3n.png","key":"wood3n","page":null,"count":1},{"name":"Christopher Klint","alias":"christopherklint97","url":"https://github.com/christopherklint97","imageURL":"https://github.com/christopherklint97.png","key":"christopherklint97","page":null,"count":1},{"name":"colton","alias":"cmpadden","url":"https://github.com/cmpadden","imageURL":"https://github.com/cmpadden.png","key":"cmpadden","page":null,"count":1},{"name":"Drylozu","alias":"Drylozu","url":"https://github.com/Drylozu","imageURL":"https://github.com/Drylozu.png","key":"Drylozu","page":null,"count":1},{"name":"Jeroen Claassens","alias":"favna","url":"https://github.com/favna","imageURL":"https://github.com/favna.png","key":"favna","page":null,"count":1},{"name":"Harsh Mishra","alias":"HarshCasper","url":"https://github.com/HarshCasper","imageURL":"https://github.com/HarshCasper.png","key":"HarshCasper","page":null,"count":1},{"name":"Himanshu","alias":"himanshu007-creator","url":"https://github.com/himanshu007-creator","imageURL":"https://github.com/himanshu007-creator.png","key":"himanshu007-creator","page":null,"count":1},{"name":"Kristoffer K.","alias":"merceyz","url":"https://github.com/merceyz","imageURL":"https://github.com/merceyz.png","key":"merceyz","page":null,"count":1},{"name":"\u4E0D\u90D1","alias":"notzheng","url":"https://github.com/notzheng","imageURL":"https://github.com/notzheng.png","key":"notzheng","page":null,"count":1},{"name":"Ziv","alias":"wewoor","url":"https://github.com/wewoor","imageURL":"https://github.com/wewoor.png","key":"wewoor","page":null,"count":1},{"name":"Shubhendra Singh Chauhan","alias":"withshubh","url":"https://github.com/withshubh","imageURL":"https://github.com/withshubh.png","key":"withshubh","page":null,"count":1},{"name":"Wout Vandesompele","alias":"wowtvds","url":"https://github.com/wowtvds","imageURL":"https://github.com/wowtvds.png","key":"wowtvds","page":null,"count":1},{"name":"Afshin Mehrabani","alias":"afshinm","url":"https://github.com/afshinm","imageURL":"https://github.com/afshinm.png","key":"afshinm","page":null,"count":1},{"name":"Rohit Agrawal","alias":"agrawal-rohit","url":"https://github.com/agrawal-rohit","imageURL":"https://github.com/agrawal-rohit.png","key":"agrawal-rohit","page":null,"count":1},{"name":"Christophe Chaudier","alias":"cchaudier","url":"https://github.com/cchaudier","imageURL":"https://github.com/cchaudier.png","key":"cchaudier","page":null,"count":1},{"name":"chima ilo","alias":"chimailo","url":"https://github.com/chimailo","imageURL":"https://github.com/chimailo.png","key":"chimailo","page":null,"count":1},{"name":"Shoaib Sajid","alias":"dexbiobot","url":"https://github.com/dexbiobot","imageURL":"https://github.com/dexbiobot.png","key":"dexbiobot","page":null,"count":1},{"name":"Don","alias":"dsmmcken","url":"https://github.com/dsmmcken","imageURL":"https://github.com/dsmmcken.png","key":"dsmmcken","page":null,"count":2},{"name":"Dmitriy Fishman","alias":"fishmandev","url":"https://github.com/fishmandev","imageURL":"https://github.com/fishmandev.png","key":"fishmandev","page":null,"count":2},{"name":"Fernando Maia","alias":"fsmaia","url":"https://github.com/fsmaia","imageURL":"https://github.com/fsmaia.png","key":"fsmaia","page":null,"count":1},{"name":"Hendrik Bulens","alias":"hbulens","url":"https://github.com/hbulens","imageURL":"https://github.com/hbulens.png","key":"hbulens","page":null,"count":2},{"name":"Hemant Sachdeva","alias":"HemantSachdeva","url":"https://github.com/HemantSachdeva","imageURL":"https://github.com/HemantSachdeva.png","key":"HemantSachdeva","page":null,"count":1},{"name":"Jarar","alias":"JararvisQ","url":"https://github.com/JararvisQ","imageURL":"https://github.com/JararvisQ.png","key":"JararvisQ","page":null,"count":1},{"name":"Jeff Shillitto","alias":"jeffski","url":"https://github.com/jeffski","imageURL":"https://github.com/jeffski.png","key":"jeffski","page":null,"count":1},{"name":"Matej Jellus","alias":"juffalow","url":"https://github.com/juffalow","imageURL":"https://github.com/juffalow.png","key":"juffalow","page":null,"count":1},{"name":"\u741A\u81F4\u8FDC","alias":"juzhiyuan","url":"https://github.com/juzhiyuan","imageURL":"https://github.com/juzhiyuan.png","key":"juzhiyuan","page":null,"count":4},{"name":"Konstantin Popov","alias":"KonstHardy","url":"https://github.com/KonstHardy","imageURL":"https://github.com/KonstHardy.png","key":"KonstHardy","page":null,"count":1},{"name":"Ludovico Fischer","alias":"ludofischer","url":"https://github.com/ludofischer","imageURL":"https://github.com/ludofischer.png","key":"ludofischer","page":null,"count":1},{"name":"Martin \u0160o\u0161i\u0107","alias":"Martinsos","url":"https://github.com/Martinsos","imageURL":"https://github.com/Martinsos.png","key":"Martinsos","page":null,"count":1},{"name":"Matthijs Groen","alias":"matthijsgroen","url":"https://github.com/matthijsgroen","imageURL":"https://github.com/matthijsgroen.png","key":"matthijsgroen","page":null,"count":1},{"name":"MisterFISHUP","alias":"MisterFISHUP","url":"https://github.com/MisterFISHUP","imageURL":"https://github.com/MisterFISHUP.png","key":"MisterFISHUP","page":null,"count":3},{"name":"Molly White","alias":"molly","url":"https://github.com/molly","imageURL":"https://github.com/molly.png","key":"molly","page":null,"count":1},{"name":"Oliver Ullman","alias":"oriooctopus","url":"https://github.com/oriooctopus","imageURL":"https://github.com/oriooctopus.png","key":"oriooctopus","page":null,"count":2},{"name":"pal-sig","alias":"pal-sig","url":"https://github.com/pal-sig","imageURL":"https://github.com/pal-sig.png","key":"pal-sig","page":null,"count":1},{"name":"Patitotective","alias":"Patitotective","url":"https://github.com/Patitotective","imageURL":"https://github.com/Patitotective.png","key":"Patitotective","page":null,"count":1},{"name":"Patrik M\xe4siar","alias":"patrikmasiar","url":"https://github.com/patrikmasiar","imageURL":"https://github.com/patrikmasiar.png","key":"patrikmasiar","page":null,"count":1},{"name":"Paul Biggar","alias":"pbiggar","url":"https://github.com/pbiggar","imageURL":"https://github.com/pbiggar.png","key":"pbiggar","page":null,"count":1},{"name":"Brennan Kinney","alias":"polarathene","url":"https://github.com/polarathene","imageURL":"https://github.com/polarathene.png","key":"polarathene","page":null,"count":1},{"name":"Robin M\xe9tral","alias":"robinmetral","url":"https://github.com/robinmetral","imageURL":"https://github.com/robinmetral.png","key":"robinmetral","page":null,"count":1},{"name":"Ronny Roeller","alias":"ronnyroeller","url":"https://github.com/ronnyroeller","imageURL":"https://github.com/ronnyroeller.png","key":"ronnyroeller","page":null,"count":1},{"name":"Ivan Boothe","alias":"rootwork","url":"https://github.com/rootwork","imageURL":"https://github.com/rootwork.png","key":"rootwork","page":null,"count":1},{"name":"Rey","alias":"rsapkf","url":"https://github.com/rsapkf","imageURL":"https://github.com/rsapkf.png","key":"rsapkf","page":null,"count":1},{"name":"Sergio Moreno","alias":"semoal","url":"https://github.com/semoal","imageURL":"https://github.com/semoal.png","key":"semoal","page":null,"count":4},{"name":"Can Olcer","alias":"shafy","url":"https://github.com/shafy","imageURL":"https://github.com/shafy.png","key":"shafy","page":null,"count":1},{"name":"Varun Sivapalan","alias":"sivapalan","url":"https://github.com/sivapalan","imageURL":"https://github.com/sivapalan.png","key":"sivapalan","page":null,"count":2},{"name":"Sharon Koech","alias":"skoech","url":"https://github.com/skoech","imageURL":"https://github.com/skoech.png","key":"skoech","page":null,"count":1},{"name":"Soham Shah","alias":"sohamsshah","url":"https://github.com/sohamsshah","imageURL":"https://github.com/sohamsshah.png","key":"sohamsshah","page":null,"count":1},{"name":"Paden Clayton","alias":"spyke01","url":"https://github.com/spyke01","imageURL":"https://github.com/spyke01.png","key":"spyke01","page":null,"count":1},{"name":"Stan Kocken","alias":"StanKocken","url":"https://github.com/StanKocken","imageURL":"https://github.com/StanKocken.png","key":"StanKocken","page":null,"count":1},{"name":"Swalah Amani","alias":"swalahamani","url":"https://github.com/swalahamani","imageURL":"https://github.com/swalahamani.png","key":"swalahamani","page":null,"count":1},{"name":"Swapnil M Mane","alias":"swapnilmmane","url":"https://github.com/swapnilmmane","imageURL":"https://github.com/swapnilmmane.png","key":"swapnilmmane","page":null,"count":1},{"name":"William Poetra Yoga","alias":"wpyoga","url":"https://github.com/wpyoga","imageURL":"https://github.com/wpyoga.png","key":"wpyoga","page":null,"count":2},{"name":"Avi Vahl","alias":"AviVahl","url":"https://github.com/AviVahl","imageURL":"https://github.com/AviVahl.png","key":"AviVahl","page":null,"count":1},{"name":"Dominik Meyer","alias":"dominikmeyersap","url":"https://github.com/dominikmeyersap","imageURL":"https://github.com/dominikmeyersap.png","key":"dominikmeyersap","page":null,"count":1},{"name":"Gabriel Falc\xe3o","alias":"gabrielfalcao","url":"https://github.com/gabrielfalcao","imageURL":"https://github.com/gabrielfalcao.png","key":"gabrielfalcao","page":null,"count":1},{"name":"Oscar Dominguez","alias":"oscard0m","url":"https://github.com/oscard0m","imageURL":"https://github.com/oscard0m.png","key":"oscard0m","page":null,"count":1},{"name":"Robbie Averill","alias":"robbieaverill","url":"https://github.com/robbieaverill","imageURL":"https://github.com/robbieaverill.png","key":"robbieaverill","page":null,"count":1},{"name":"Vladimir Tasic","alias":"utajum","url":"https://github.com/utajum","imageURL":"https://github.com/utajum.png","key":"utajum","page":null,"count":1},{"name":"Ying Wang","alias":"wingclover","url":"https://github.com/wingclover","imageURL":"https://github.com/wingclover.png","key":"wingclover","page":null,"count":1},{"name":"Andrew Taft","alias":"ataft","url":"https://github.com/ataft","imageURL":"https://github.com/ataft.png","key":"ataft","page":null,"count":2},{"name":"Caner Canbaz","alias":"canercanbaz","url":"https://github.com/canercanbaz","imageURL":"https://github.com/canercanbaz.png","key":"canercanbaz","page":null,"count":1},{"name":"Dimi Mikadze","alias":"DimiMikadze","url":"https://github.com/DimiMikadze","imageURL":"https://github.com/DimiMikadze.png","key":"DimiMikadze","page":null,"count":1},{"name":"Ilija Pavlic","alias":"ipavlic","url":"https://github.com/ipavlic","imageURL":"https://github.com/ipavlic.png","key":"ipavlic","page":null,"count":1},{"name":"Nathaniel Furniss","alias":"nlfurniss","url":"https://github.com/nlfurniss","imageURL":"https://github.com/nlfurniss.png","key":"nlfurniss","page":null,"count":1},{"name":"philipp985","alias":"philipp985","url":"https://github.com/philipp985","imageURL":"https://github.com/philipp985.png","key":"philipp985","page":null,"count":2},{"name":"Thanasis Katsadas","alias":"thanasis00","url":"https://github.com/thanasis00","imageURL":"https://github.com/thanasis00.png","key":"thanasis00","page":null,"count":1},{"name":"Xuqian","alias":"zxuqian","url":"https://github.com/zxuqian","imageURL":"https://github.com/zxuqian.png","key":"zxuqian","page":null,"count":2},{"name":"Aditya Kajla","alias":"akajla09","url":"https://github.com/akajla09","imageURL":"https://github.com/akajla09.png","key":"akajla09","page":null,"count":1},{"name":"Andrew Nguyen","alias":"Andrewnt219","url":"https://github.com/Andrewnt219","imageURL":"https://github.com/Andrewnt219.png","key":"Andrewnt219","page":null,"count":1},{"name":"Palash Shrivastava","alias":"BattleOfPlassey","url":"https://github.com/BattleOfPlassey","imageURL":"https://github.com/BattleOfPlassey.png","key":"BattleOfPlassey","page":null,"count":2},{"name":"Bharat Middha","alias":"bmiddha","url":"https://github.com/bmiddha","imageURL":"https://github.com/bmiddha.png","key":"bmiddha","page":null,"count":1},{"name":"David Callizaya","alias":"caleeli","url":"https://github.com/caleeli","imageURL":"https://github.com/caleeli.png","key":"caleeli","page":null,"count":1},{"name":"Chris Chinchilla","alias":"ChrisChinchilla","url":"https://github.com/ChrisChinchilla","imageURL":"https://github.com/ChrisChinchilla.png","key":"ChrisChinchilla","page":null,"count":1},{"name":"djamaile","alias":"djamaile","url":"https://github.com/djamaile","imageURL":"https://github.com/djamaile.png","key":"djamaile","page":null,"count":1},{"name":"Darshan Gada","alias":"dr5hn","url":"https://github.com/dr5hn","imageURL":"https://github.com/dr5hn.png","key":"dr5hn","page":null,"count":1},{"name":"Ekaterina Mozheiko","alias":"EkaterinaMozheiko","url":"https://github.com/EkaterinaMozheiko","imageURL":"https://github.com/EkaterinaMozheiko.png","key":"EkaterinaMozheiko","page":null,"count":1},{"name":"Gabriel T. Nardy","alias":"gtnardy","url":"https://github.com/gtnardy","imageURL":"https://github.com/gtnardy.png","key":"gtnardy","page":null,"count":1},{"name":"headline-design","alias":"headline-design","url":"https://github.com/headline-design","imageURL":"https://github.com/headline-design.png","key":"headline-design","page":null,"count":1},{"name":"Hugh Lilly","alias":"hughlilly","url":"https://github.com/hughlilly","imageURL":"https://github.com/hughlilly.png","key":"hughlilly","page":null,"count":1},{"name":"Ivar Conradi \xd8sthus","alias":"ivarconr","url":"https://github.com/ivarconr","imageURL":"https://github.com/ivarconr.png","key":"ivarconr","page":null,"count":1},{"name":"Jason Bosco","alias":"jasonbosco","url":"https://github.com/jasonbosco","imageURL":"https://github.com/jasonbosco.png","key":"jasonbosco","page":null,"count":1},{"name":"Jordan Lee","alias":"jkhaui","url":"https://github.com/jkhaui","imageURL":"https://github.com/jkhaui.png","key":"jkhaui","page":null,"count":1},{"name":"Robert Kingston","alias":"kingo55","url":"https://github.com/kingo55","imageURL":"https://github.com/kingo55.png","key":"kingo55","page":null,"count":1},{"name":"Kyriet","alias":"KyrietS","url":"https://github.com/KyrietS","imageURL":"https://github.com/KyrietS.png","key":"KyrietS","page":null,"count":1},{"name":"Mahdi Hamldar","alias":"MrTechHunter","url":"https://github.com/MrTechHunter","imageURL":"https://github.com/MrTechHunter.png","key":"MrTechHunter","page":null,"count":1},{"name":"Daniel Costrasel","alias":"ohkimur","url":"https://github.com/ohkimur","imageURL":"https://github.com/ohkimur.png","key":"ohkimur","page":null,"count":2},{"name":"Ana Carolina","alias":"printf-ana","url":"https://github.com/printf-ana","imageURL":"https://github.com/printf-ana.png","key":"printf-ana","page":null,"count":1},{"name":"Shrugsy","alias":"Shrugsy","url":"https://github.com/Shrugsy","imageURL":"https://github.com/Shrugsy.png","key":"Shrugsy","page":null,"count":1},{"name":"swyx","alias":"sw-yx","url":"https://github.com/sw-yx","imageURL":"https://github.com/sw-yx.png","key":"sw-yx","page":null,"count":1},{"name":"Vincent","alias":"vinckr","url":"https://github.com/vinckr","imageURL":"https://github.com/vinckr.png","key":"vinckr","page":null,"count":1},{"name":"Whirl","alias":"Whirl21","url":"https://github.com/Whirl21","imageURL":"https://github.com/Whirl21.png","key":"Whirl21","page":null,"count":1},{"name":"Ali Saki","alias":"3alisaki","url":"https://github.com/3alisaki","imageURL":"https://github.com/3alisaki.png","key":"3alisaki","page":null,"count":2},{"name":"Antony Messerli","alias":"antonym","url":"https://github.com/antonym","imageURL":"https://github.com/antonym.png","key":"antonym","page":null,"count":1},{"name":"farshid","alias":"farshidinanloo","url":"https://github.com/farshidinanloo","imageURL":"https://github.com/farshidinanloo.png","key":"farshidinanloo","page":null,"count":1},{"name":"Oscar Lorentzon","alias":"oscarlorentzon","url":"https://github.com/oscarlorentzon","imageURL":"https://github.com/oscarlorentzon.png","key":"oscarlorentzon","page":null,"count":1},{"name":"Rohit Gohri","alias":"rohit-gohri","url":"https://github.com/rohit-gohri","imageURL":"https://github.com/rohit-gohri.png","key":"rohit-gohri","page":null,"count":1},{"name":"David Seal","alias":"dbseal","url":"https://github.com/dbseal","imageURL":"https://github.com/dbseal.png","key":"dbseal","page":null,"count":1},{"name":"Deepak Prabhakara","alias":"deepakprabhakara","url":"https://github.com/deepakprabhakara","imageURL":"https://github.com/deepakprabhakara.png","key":"deepakprabhakara","page":null,"count":1},{"name":"Federico Aloi","alias":"faloi","url":"https://github.com/faloi","imageURL":"https://github.com/faloi.png","key":"faloi","page":null,"count":1},{"name":"Fouad Matin","alias":"fouad","url":"https://github.com/fouad","imageURL":"https://github.com/fouad.png","key":"fouad","page":null,"count":1},{"name":"Julien Neuhart","alias":"gulien","url":"https://github.com/gulien","imageURL":"https://github.com/gulien.png","key":"gulien","page":null,"count":1},{"name":"Hamza Hamidi","alias":"hamzahamidi","url":"https://github.com/hamzahamidi","imageURL":"https://github.com/hamzahamidi.png","key":"hamzahamidi","page":null,"count":2},{"name":"HaochenQ","alias":"HaochenQ","url":"https://github.com/HaochenQ","imageURL":"https://github.com/HaochenQ.png","key":"HaochenQ","page":null,"count":1},{"name":"Dmitry Zhifarsky","alias":"incendial","url":"https://github.com/incendial","imageURL":"https://github.com/incendial.png","key":"incendial","page":null,"count":1},{"name":"Isaac Philip","alias":"isaac-philip","url":"https://github.com/isaac-philip","imageURL":"https://github.com/isaac-philip.png","key":"isaac-philip","page":null,"count":1},{"name":"Yan Ivan Evdokimov","alias":"jansivans","url":"https://github.com/jansivans","imageURL":"https://github.com/jansivans.png","key":"jansivans","page":null,"count":1},{"name":"Jonny Burger","alias":"JonnyBurger","url":"https://github.com/JonnyBurger","imageURL":"https://github.com/JonnyBurger.png","key":"JonnyBurger","page":null,"count":1},{"name":"Marko Saric","alias":"metmarkosaric","url":"https://github.com/metmarkosaric","imageURL":"https://github.com/metmarkosaric.png","key":"metmarkosaric","page":null,"count":1},{"name":"Michal S\xe4nger","alias":"michalsanger","url":"https://github.com/michalsanger","imageURL":"https://github.com/michalsanger.png","key":"michalsanger","page":null,"count":1},{"name":"Garry","alias":"neaped","url":"https://github.com/neaped","imageURL":"https://github.com/neaped.png","key":"neaped","page":null,"count":1},{"name":"Tunghsiao Liu","alias":"sparanoid","url":"https://github.com/sparanoid","imageURL":"https://github.com/sparanoid.png","key":"sparanoid","page":null,"count":1},{"name":"wan-nyan-wan","alias":"wan-nyan-wan","url":"https://github.com/wan-nyan-wan","imageURL":"https://github.com/wan-nyan-wan.png","key":"wan-nyan-wan","page":null,"count":1},{"name":"antonvasilev52","alias":"antonvasilev52","url":"https://github.com/antonvasilev52","imageURL":"https://github.com/antonvasilev52.png","key":"antonvasilev52","page":null,"count":1},{"name":"Arnaud Jeannin","alias":"arnaudjnn","url":"https://github.com/arnaudjnn","imageURL":"https://github.com/arnaudjnn.png","key":"arnaudjnn","page":null,"count":2},{"name":"Christian Flach","alias":"cmfcmf","url":"https://github.com/cmfcmf","imageURL":"https://github.com/cmfcmf.png","key":"cmfcmf","page":null,"count":1},{"name":"Arijit Kundu","alias":"covalentbond","url":"https://github.com/covalentbond","imageURL":"https://github.com/covalentbond.png","key":"covalentbond","page":null,"count":2},{"name":"David Zhao","alias":"davidzhao","url":"https://github.com/davidzhao","imageURL":"https://github.com/davidzhao.png","key":"davidzhao","page":null,"count":1},{"name":"David Barrat","alias":"dbrrt","url":"https://github.com/dbrrt","imageURL":"https://github.com/dbrrt.png","key":"dbrrt","page":null,"count":2},{"name":"Dan Gebhardt","alias":"dgeb","url":"https://github.com/dgeb","imageURL":"https://github.com/dgeb.png","key":"dgeb","page":null,"count":1},{"name":"Fran\xe7ois Massot","alias":"fmassot","url":"https://github.com/fmassot","imageURL":"https://github.com/fmassot.png","key":"fmassot","page":null,"count":1},{"name":"Lennart Koopmann","alias":"lennartkoopmann","url":"https://github.com/lennartkoopmann","imageURL":"https://github.com/lennartkoopmann.png","key":"lennartkoopmann","page":null,"count":1},{"name":"Mar\xe7al Junior","alias":"marssaljr","url":"https://github.com/marssaljr","imageURL":"https://github.com/marssaljr.png","key":"marssaljr","page":null,"count":1},{"name":"Michel Weststrate","alias":"mweststrate","url":"https://github.com/mweststrate","imageURL":"https://github.com/mweststrate.png","key":"mweststrate","page":null,"count":1},{"name":"Nazar","alias":"NazarStreletskyi","url":"https://github.com/NazarStreletskyi","imageURL":"https://github.com/NazarStreletskyi.png","key":"NazarStreletskyi","page":null,"count":1},{"name":"nirtamir2","alias":"nirtamir2","url":"https://github.com/nirtamir2","imageURL":"https://github.com/nirtamir2.png","key":"nirtamir2","page":null,"count":2},{"name":"Przemys\u0142aw Chojecki","alias":"pcho","url":"https://github.com/pcho","imageURL":"https://github.com/pcho.png","key":"pcho","page":null,"count":1},{"name":"Philipp Muens","alias":"pmuens","url":"https://github.com/pmuens","imageURL":"https://github.com/pmuens.png","key":"pmuens","page":null,"count":1},{"name":"Raz Luvaton","alias":"rluvaton","url":"https://github.com/rluvaton","imageURL":"https://github.com/rluvaton.png","key":"rluvaton","page":null,"count":1},{"name":"tohid nateghi","alias":"tohidnateghi","url":"https://github.com/tohidnateghi","imageURL":"https://github.com/tohidnateghi.png","key":"tohidnateghi","page":null,"count":1},{"name":"\u9648\u6768\u6587","alias":"wenerme","url":"https://github.com/wenerme","imageURL":"https://github.com/wenerme.png","key":"wenerme","page":null,"count":1},{"name":"Adam Uhl\xed\u0159","alias":"AuHau","url":"https://github.com/AuHau","imageURL":"https://github.com/AuHau.png","key":"AuHau","page":null,"count":1},{"name":"bperlmutter","alias":"bperlmutter","url":"https://github.com/bperlmutter","imageURL":"https://github.com/bperlmutter.png","key":"bperlmutter","page":null,"count":1},{"name":"dirslashls","alias":"dirslashls","url":"https://github.com/dirslashls","imageURL":"https://github.com/dirslashls.png","key":"dirslashls","page":null,"count":1},{"name":"Ayush das","alias":"iamayushdas","url":"https://github.com/iamayushdas","imageURL":"https://github.com/iamayushdas.png","key":"iamayushdas","page":null,"count":1},{"name":"Jules Sam. Randolph","alias":"jsamr","url":"https://github.com/jsamr","imageURL":"https://github.com/jsamr.png","key":"jsamr","page":null,"count":2},{"name":"Danny Lin","alias":"kdrag0n","url":"https://github.com/kdrag0n","imageURL":"https://github.com/kdrag0n.png","key":"kdrag0n","page":null,"count":1},{"name":"Rami Yushuvaev","alias":"ramiy","url":"https://github.com/ramiy","imageURL":"https://github.com/ramiy.png","key":"ramiy","page":null,"count":2},{"name":"Eshan Tripathi","alias":"eshantri","url":"https://github.com/eshantri","imageURL":"https://github.com/eshantri.png","key":"eshantri","page":null,"count":1},{"name":"ZhengYuan Loo","alias":"loozhengyuan","url":"https://github.com/loozhengyuan","imageURL":"https://github.com/loozhengyuan.png","key":"loozhengyuan","page":null,"count":2},{"name":"Manuel Meurer","alias":"manuelmeurer","url":"https://github.com/manuelmeurer","imageURL":"https://github.com/manuelmeurer.png","key":"manuelmeurer","page":null,"count":1},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null,"count":6},{"name":"Tomasz Papiernik","alias":"tomekpapiernik","url":"https://github.com/tomekpapiernik","imageURL":"https://github.com/tomekpapiernik.png","key":"tomekpapiernik","page":null,"count":1},{"name":"antonygibbs","alias":"antonygibbs","url":"https://github.com/antonygibbs","imageURL":"https://github.com/antonygibbs.png","key":"antonygibbs","page":null,"count":1},{"name":"Arthur","alias":"ArtFlag","url":"https://github.com/ArtFlag","imageURL":"https://github.com/ArtFlag.png","key":"ArtFlag","page":null,"count":3},{"name":"besemuna","alias":"besemuna","url":"https://github.com/besemuna","imageURL":"https://github.com/besemuna.png","key":"besemuna","page":null,"count":2},{"name":"Christopher Hsieh","alias":"Christopher-Hsieh","url":"https://github.com/Christopher-Hsieh","imageURL":"https://github.com/Christopher-Hsieh.png","key":"Christopher-Hsieh","page":null,"count":1},{"name":"Ben Rometsch","alias":"dabeeeenster","url":"https://github.com/dabeeeenster","imageURL":"https://github.com/dabeeeenster.png","key":"dabeeeenster","page":null,"count":1},{"name":"e271828-","alias":"e271828-","url":"https://github.com/e271828-","imageURL":"https://github.com/e271828-.png","key":"e271828-","page":null,"count":1},{"name":"fgatti675","alias":"fgatti675","url":"https://github.com/fgatti675","imageURL":"https://github.com/fgatti675.png","key":"fgatti675","page":null,"count":1},{"name":"Tina\xebl Devresse","alias":"HunteRoi","url":"https://github.com/HunteRoi","imageURL":"https://github.com/HunteRoi.png","key":"HunteRoi","page":null,"count":1},{"name":"Jonathan Mazin","alias":"jmazin","url":"https://github.com/jmazin","imageURL":"https://github.com/jmazin.png","key":"jmazin","page":null,"count":1},{"name":"Joel","alias":"Joelpo","url":"https://github.com/Joelpo","imageURL":"https://github.com/Joelpo.png","key":"Joelpo","page":null,"count":1},{"name":"Jon Barker","alias":"jonbarker68","url":"https://github.com/jonbarker68","imageURL":"https://github.com/jonbarker68.png","key":"jonbarker68","page":null,"count":1},{"name":"Louis Gallet","alias":"l0u1sg","url":"https://github.com/l0u1sg","imageURL":"https://github.com/l0u1sg.png","key":"l0u1sg","page":null,"count":1},{"name":"Pablo Vidal","alias":"limkinZero","url":"https://github.com/limkinZero","imageURL":"https://github.com/limkinZero.png","key":"limkinZero","page":null,"count":2},{"name":"Lior Heber","alias":"liorheber","url":"https://github.com/liorheber","imageURL":"https://github.com/liorheber.png","key":"liorheber","page":null,"count":1},{"name":"Louis Grenard","alias":"louistiti","url":"https://github.com/louistiti","imageURL":"https://github.com/louistiti.png","key":"louistiti","page":null,"count":1},{"name":"Massibian","alias":"Massibian","url":"https://github.com/Massibian","imageURL":"https://github.com/Massibian.png","key":"Massibian","page":null,"count":1},{"name":"Nam Hoang Le","alias":"nam-hle","url":"https://github.com/nam-hle","imageURL":"https://github.com/nam-hle.png","key":"nam-hle","page":null,"count":2},{"name":"Pratyay Banerjee","alias":"Neilblaze","url":"https://github.com/Neilblaze","imageURL":"https://github.com/Neilblaze.png","key":"Neilblaze","page":null,"count":1},{"name":"phwt.smwt","alias":"phwt","url":"https://github.com/phwt","imageURL":"https://github.com/phwt.png","key":"phwt","page":null,"count":1},{"name":"Pedro Queiroz","alias":"pmqueiroz","url":"https://github.com/pmqueiroz","imageURL":"https://github.com/pmqueiroz.png","key":"pmqueiroz","page":null,"count":1},{"name":"PsychTech","alias":"PsychTechApS","url":"https://github.com/PsychTechApS","imageURL":"https://github.com/PsychTechApS.png","key":"PsychTechApS","page":null,"count":1},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null,"count":14},{"name":"silva-nick","alias":"silva-nick","url":"https://github.com/silva-nick","imageURL":"https://github.com/silva-nick.png","key":"silva-nick","page":null,"count":1},{"name":"mg","alias":"tiny-dancer","url":"https://github.com/tiny-dancer","imageURL":"https://github.com/tiny-dancer.png","key":"tiny-dancer","page":null,"count":1},{"name":"Lucas Correia","alias":"tsirlucas","url":"https://github.com/tsirlucas","imageURL":"https://github.com/tsirlucas.png","key":"tsirlucas","page":null,"count":1},{"name":"Fardeen Panjwani","alias":"wise-introvert","url":"https://github.com/wise-introvert","imageURL":"https://github.com/wise-introvert.png","key":"wise-introvert","page":null,"count":1},{"name":"Chris Owen","alias":"ChrisOwen101","url":"https://github.com/ChrisOwen101","imageURL":"https://github.com/ChrisOwen101.png","key":"ChrisOwen101","page":null,"count":1},{"name":"Sergio Rafael Gianazza","alias":"gianu","url":"https://github.com/gianu","imageURL":"https://github.com/gianu.png","key":"gianu","page":null,"count":1},{"name":"Joel Hans","alias":"joelhans","url":"https://github.com/joelhans","imageURL":"https://github.com/joelhans.png","key":"joelhans","page":null,"count":1},{"name":"\u041A\u043E\u0441\u0442\u044F \u0422\u0440\u0435\u0442\u044F\u043A","alias":"KostyaTretyak","url":"https://github.com/KostyaTretyak","imageURL":"https://github.com/KostyaTretyak.png","key":"KostyaTretyak","page":null,"count":1},{"name":"Rodrigo Moreno","alias":"rodmoreno","url":"https://github.com/rodmoreno","imageURL":"https://github.com/rodmoreno.png","key":"rodmoreno","page":null,"count":1},{"name":"Ian Hornik","alias":"yiliansource","url":"https://github.com/yiliansource","imageURL":"https://github.com/yiliansource.png","key":"yiliansource","page":null,"count":1},{"name":"Geoffroy Empain","alias":"gempain","url":"https://github.com/gempain","imageURL":"https://github.com/gempain.png","key":"gempain","page":null,"count":1},{"name":"Tommy Chen","alias":"tommy351","url":"https://github.com/tommy351","imageURL":"https://github.com/tommy351.png","key":"tommy351","page":null,"count":1},{"name":"alena-ko","alias":"alena-ko","url":"https://github.com/alena-ko","imageURL":"https://github.com/alena-ko.png","key":"alena-ko","page":null,"count":1},{"name":"kazk","alias":"kazk","url":"https://github.com/kazk","imageURL":"https://github.com/kazk.png","key":"kazk","page":null,"count":1},{"name":"Lisa Chandra","alias":"lisa761","url":"https://github.com/lisa761","imageURL":"https://github.com/lisa761.png","key":"lisa761","page":null,"count":3},{"name":"Luis Medina Huerta","alias":"luism3861","url":"https://github.com/luism3861","imageURL":"https://github.com/luism3861.png","key":"luism3861","page":null,"count":1},{"name":"Tommy","alias":"react-learner","url":"https://github.com/react-learner","imageURL":"https://github.com/react-learner.png","key":"react-learner","page":null,"count":1},{"name":"aehrea","alias":"aehrea","url":"https://github.com/aehrea","imageURL":"https://github.com/aehrea.png","key":"aehrea","page":null,"count":1},{"name":"Ajeet Singh Raina, Docker Captain, RedisLabs","alias":"ajeetraina","url":"https://github.com/ajeetraina","imageURL":"https://github.com/ajeetraina.png","key":"ajeetraina","page":null,"count":1},{"name":"akepecs","alias":"akepecs","url":"https://github.com/akepecs","imageURL":"https://github.com/akepecs.png","key":"akepecs","page":null,"count":1},{"name":"Anthony Bobsin","alias":"AnthonyBobsin","url":"https://github.com/AnthonyBobsin","imageURL":"https://github.com/AnthonyBobsin.png","key":"AnthonyBobsin","page":null,"count":1},{"name":"Artur Carvalho","alias":"arturcarvalho","url":"https://github.com/arturcarvalho","imageURL":"https://github.com/arturcarvalho.png","key":"arturcarvalho","page":null,"count":1},{"name":"Dennis Thompson","alias":"atomicpages","url":"https://github.com/atomicpages","imageURL":"https://github.com/atomicpages.png","key":"atomicpages","page":null,"count":1},{"name":"Guillaume Claret","alias":"clarus","url":"https://github.com/clarus","imageURL":"https://github.com/clarus.png","key":"clarus","page":null,"count":1},{"name":"Dick Wyn Yong","alias":"dickwyn","url":"https://github.com/dickwyn","imageURL":"https://github.com/dickwyn.png","key":"dickwyn","page":null,"count":1},{"name":"Foxeye-Rinx","alias":"Foxeye-Rinx","url":"https://github.com/Foxeye-Rinx","imageURL":"https://github.com/Foxeye-Rinx.png","key":"Foxeye-Rinx","page":null,"count":1},{"name":"Brent Ely","alias":"gitbrent","url":"https://github.com/gitbrent","imageURL":"https://github.com/gitbrent.png","key":"gitbrent","page":null,"count":1},{"name":"Marco Enrico","alias":"gumacahin","url":"https://github.com/gumacahin","imageURL":"https://github.com/gumacahin.png","key":"gumacahin","page":null,"count":1},{"name":"John Knox","alias":"jknoxville","url":"https://github.com/jknoxville","imageURL":"https://github.com/jknoxville.png","key":"jknoxville","page":null,"count":3},{"name":"Chris Kanich","alias":"kaytwo","url":"https://github.com/kaytwo","imageURL":"https://github.com/kaytwo.png","key":"kaytwo","page":null,"count":1},{"name":"Lucas Alves","alias":"lucalves","url":"https://github.com/lucalves","imageURL":"https://github.com/lucalves.png","key":"lucalves","page":null,"count":1},{"name":"miku86","alias":"miku86","url":"https://github.com/miku86","imageURL":"https://github.com/miku86.png","key":"miku86","page":null,"count":1},{"name":"Pedro Pi\xf1era Buend\xeda","alias":"pepibumur","url":"https://github.com/pepibumur","imageURL":"https://github.com/pepibumur.png","key":"pepibumur","page":null,"count":1},{"name":"serut","alias":"serut","url":"https://github.com/serut","imageURL":"https://github.com/serut.png","key":"serut","page":null,"count":1},{"name":"Steven Hansel","alias":"ShinteiMai","url":"https://github.com/ShinteiMai","imageURL":"https://github.com/ShinteiMai.png","key":"ShinteiMai","page":null,"count":2},{"name":"Steve","alias":"steveworley","url":"https://github.com/steveworley","imageURL":"https://github.com/steveworley.png","key":"steveworley","page":null,"count":1},{"name":"guoxudong","alias":"sunny0826","url":"https://github.com/sunny0826","imageURL":"https://github.com/sunny0826.png","key":"sunny0826","page":null,"count":1},{"name":"Tales Porto","alias":"talesporto","url":"https://github.com/talesporto","imageURL":"https://github.com/talesporto.png","key":"talesporto","page":null,"count":1},{"name":"Thiago Sciotta","alias":"thiagog3","url":"https://github.com/thiagog3","imageURL":"https://github.com/thiagog3.png","key":"thiagog3","page":null,"count":1},{"name":"Tiago Ribeiro","alias":"tiago-rr","url":"https://github.com/tiago-rr","imageURL":"https://github.com/tiago-rr.png","key":"tiago-rr","page":null,"count":1},{"name":"Tom Raviv","alias":"tomrav","url":"https://github.com/tomrav","imageURL":"https://github.com/tomrav.png","key":"tomrav","page":null,"count":1},{"name":"Tony Narlock","alias":"tony","url":"https://github.com/tony","imageURL":"https://github.com/tony.png","key":"tony","page":null,"count":1},{"name":"Harvtronix","alias":"Harvtronix","url":"https://github.com/Harvtronix","imageURL":"https://github.com/Harvtronix.png","key":"Harvtronix","page":null,"count":1},{"name":"Joon-Ha Lee","alias":"koko8829","url":"https://github.com/koko8829","imageURL":"https://github.com/koko8829.png","key":"koko8829","page":null,"count":1},{"name":"Leandro Oriente","alias":"leandrooriente","url":"https://github.com/leandrooriente","imageURL":"https://github.com/leandrooriente.png","key":"leandrooriente","page":null,"count":1},{"name":"Long Ho","alias":"longlho","url":"https://github.com/longlho","imageURL":"https://github.com/longlho.png","key":"longlho","page":null,"count":3},{"name":"Lowen","alias":"lowenhere","url":"https://github.com/lowenhere","imageURL":"https://github.com/lowenhere.png","key":"lowenhere","page":null,"count":1},{"name":"Quan","alias":"quanengineering","url":"https://github.com/quanengineering","imageURL":"https://github.com/quanengineering.png","key":"quanengineering","page":null,"count":1},{"name":"Rhodanthe1116","alias":"Rhodanthe1116","url":"https://github.com/Rhodanthe1116","imageURL":"https://github.com/Rhodanthe1116.png","key":"Rhodanthe1116","page":null,"count":1},{"name":"Zoltan Kochan","alias":"zkochan","url":"https://github.com/zkochan","imageURL":"https://github.com/zkochan.png","key":"zkochan","page":null,"count":1},{"name":"Joel M","alias":"9oelM","url":"https://github.com/9oelM","imageURL":"https://github.com/9oelM.png","key":"9oelM","page":null,"count":1},{"name":"Apurva Ojas","alias":"apurvaojas","url":"https://github.com/apurvaojas","imageURL":"https://github.com/apurvaojas.png","key":"apurvaojas","page":null,"count":1},{"name":"Jola","alias":"asystentka-jolka","url":"https://github.com/asystentka-jolka","imageURL":"https://github.com/asystentka-jolka.png","key":"asystentka-jolka","page":null,"count":1},{"name":"aukokyong","alias":"aukokyong","url":"https://github.com/aukokyong","imageURL":"https://github.com/aukokyong.png","key":"aukokyong","page":null,"count":1},{"name":"Nahiyan Kamal","alias":"ayonious","url":"https://github.com/ayonious","imageURL":"https://github.com/ayonious.png","key":"ayonious","page":null,"count":2},{"name":"Martin Ad\xe1mek","alias":"B4nan","url":"https://github.com/B4nan","imageURL":"https://github.com/B4nan.png","key":"B4nan","page":null,"count":1},{"name":"Ben","alias":"ben-qnimble","url":"https://github.com/ben-qnimble","imageURL":"https://github.com/ben-qnimble.png","key":"ben-qnimble","page":null,"count":1},{"name":"BennoDev","alias":"bennodev19","url":"https://github.com/bennodev19","imageURL":"https://github.com/bennodev19.png","key":"bennodev19","page":null,"count":1},{"name":"\xc7a\u011Flar Tural\u0131","alias":"caglarturali","url":"https://github.com/caglarturali","imageURL":"https://github.com/caglarturali.png","key":"caglarturali","page":null,"count":1},{"name":"Christian Bromann","alias":"christian-bromann","url":"https://github.com/christian-bromann","imageURL":"https://github.com/christian-bromann.png","key":"christian-bromann","page":null,"count":2},{"name":"Eduardo L\xe1zaro","alias":"edulazaro","url":"https://github.com/edulazaro","imageURL":"https://github.com/edulazaro.png","key":"edulazaro","page":null,"count":1},{"name":"Eric Carboni","alias":"eric-hc","url":"https://github.com/eric-hc","imageURL":"https://github.com/eric-hc.png","key":"eric-hc","page":null,"count":1},{"name":"Mohd Shad Mirza","alias":"iamshadmirza","url":"https://github.com/iamshadmirza","imageURL":"https://github.com/iamshadmirza.png","key":"iamshadmirza","page":null,"count":1},{"name":"Bhargav Ponnapalli","alias":"imbhargav5","url":"https://github.com/imbhargav5","imageURL":"https://github.com/imbhargav5.png","key":"imbhargav5","page":null,"count":1},{"name":"Ivan Ru\u017Eevi\u0107","alias":"iruzevic","url":"https://github.com/iruzevic","imageURL":"https://github.com/iruzevic.png","key":"iruzevic","page":null,"count":1},{"name":"Jessica Lin","alias":"jlin27","url":"https://github.com/jlin27","imageURL":"https://github.com/jlin27.png","key":"jlin27","page":null,"count":1},{"name":"Joel Marcey","alias":"JoelMarcey","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","key":"JoelMarcey","page":null,"count":4},{"name":"Juan Carlos Blanco Delgado","alias":"juancarlosjr97","url":"https://github.com/juancarlosjr97","imageURL":"https://github.com/juancarlosjr97.png","key":"juancarlosjr97","page":null,"count":1},{"name":"Kumar Aditya","alias":"kumaraditya303","url":"https://github.com/kumaraditya303","imageURL":"https://github.com/kumaraditya303.png","key":"kumaraditya303","page":null,"count":1},{"name":"Power Lin","alias":"linyuxuanlin","url":"https://github.com/linyuxuanlin","imageURL":"https://github.com/linyuxuanlin.png","key":"linyuxuanlin","page":null,"count":1},{"name":"Matteo Manzinello","alias":"manzinello","url":"https://github.com/manzinello","imageURL":"https://github.com/manzinello.png","key":"manzinello","page":null,"count":2},{"name":"Matan Borenkraout","alias":"MatanBobi","url":"https://github.com/MatanBobi","imageURL":"https://github.com/MatanBobi.png","key":"MatanBobi","page":null,"count":2},{"name":"Miroiu Emanuel","alias":"miroiu","url":"https://github.com/miroiu","imageURL":"https://github.com/miroiu.png","key":"miroiu","page":null,"count":1},{"name":"Sean Campbell","alias":"natac13","url":"https://github.com/natac13","imageURL":"https://github.com/natac13.png","key":"natac13","page":null,"count":1},{"name":"Nico Jansen","alias":"nicojs","url":"https://github.com/nicojs","imageURL":"https://github.com/nicojs.png","key":"nicojs","page":null,"count":1},{"name":"Nikolay Samokhvalov","alias":"NikolayS","url":"https://github.com/NikolayS","imageURL":"https://github.com/NikolayS.png","key":"NikolayS","page":null,"count":1},{"name":"Nathan Bosscher","alias":"ntbosscher","url":"https://github.com/ntbosscher","imageURL":"https://github.com/ntbosscher.png","key":"ntbosscher","page":null,"count":1},{"name":"Matt Oestreich","alias":"oze4","url":"https://github.com/oze4","imageURL":"https://github.com/oze4.png","key":"oze4","page":null,"count":1},{"name":"Saihajpreet Singh","alias":"saihaj","url":"https://github.com/saihaj","imageURL":"https://github.com/saihaj.png","key":"saihaj","page":null,"count":1},{"name":"Sam Hrncir","alias":"samhrncir","url":"https://github.com/samhrncir","imageURL":"https://github.com/samhrncir.png","key":"samhrncir","page":null,"count":1},{"name":"sammychinedu2ky","alias":"sammychinedu2ky","url":"https://github.com/sammychinedu2ky","imageURL":"https://github.com/sammychinedu2ky.png","key":"sammychinedu2ky","page":null,"count":2},{"name":"saydo17","alias":"saydo17","url":"https://github.com/saydo17","imageURL":"https://github.com/saydo17.png","key":"saydo17","page":null,"count":1},{"name":"Siemienik Pawel","alias":"Siemienik","url":"https://github.com/Siemienik","imageURL":"https://github.com/Siemienik.png","key":"Siemienik","page":null,"count":1},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null,"count":11},{"name":"Sam Sam","alias":"sksamuel","url":"https://github.com/sksamuel","imageURL":"https://github.com/sksamuel.png","key":"sksamuel","page":null,"count":1},{"name":"Ankur Kedia","alias":"theankurkedia","url":"https://github.com/theankurkedia","imageURL":"https://github.com/theankurkedia.png","key":"theankurkedia","page":null,"count":1},{"name":"Theodore Chu","alias":"TheodoreChu","url":"https://github.com/TheodoreChu","imageURL":"https://github.com/TheodoreChu.png","key":"TheodoreChu","page":null,"count":3},{"name":"Tien Vo Xuan","alias":"tienvx","url":"https://github.com/tienvx","imageURL":"https://github.com/tienvx.png","key":"tienvx","page":null,"count":1},{"name":"tokarchyn","alias":"tokarchyn","url":"https://github.com/tokarchyn","imageURL":"https://github.com/tokarchyn.png","key":"tokarchyn","page":null,"count":1},{"name":"Tomas Fernandez","alias":"tomsfernandez","url":"https://github.com/tomsfernandez","imageURL":"https://github.com/tomsfernandez.png","key":"tomsfernandez","page":null,"count":1},{"name":"Vamsi Krishna Reddy Satti","alias":"vamsi3","url":"https://github.com/vamsi3","imageURL":"https://github.com/vamsi3.png","key":"vamsi3","page":null,"count":1},{"name":"Kevin Viglucci","alias":"viglucci","url":"https://github.com/viglucci","imageURL":"https://github.com/viglucci.png","key":"viglucci","page":null,"count":1},{"name":"Welly","alias":"wellyshen","url":"https://github.com/wellyshen","imageURL":"https://github.com/wellyshen.png","key":"wellyshen","page":null,"count":1},{"name":"wolf20482","alias":"wolf20482","url":"https://github.com/wolf20482","imageURL":"https://github.com/wolf20482.png","key":"wolf20482","page":null,"count":1},{"name":"Yash Totale","alias":"YashTotale","url":"https://github.com/YashTotale","imageURL":"https://github.com/YashTotale.png","key":"YashTotale","page":null,"count":1},{"name":"Yamagishi Kazutoshi","alias":"ykzts","url":"https://github.com/ykzts","imageURL":"https://github.com/ykzts.png","key":"ykzts","page":null,"count":2},{"name":"Yuri Sulyma","alias":"ysulyma","url":"https://github.com/ysulyma","imageURL":"https://github.com/ysulyma.png","key":"ysulyma","page":null,"count":1},{"name":"Yuval Hazaz","alias":"yuval-hazaz","url":"https://github.com/yuval-hazaz","imageURL":"https://github.com/yuval-hazaz.png","key":"yuval-hazaz","page":null,"count":1},{"name":"Aar\xf3n Garc\xeda Herv\xe1s","alias":"aarongarciah","url":"https://github.com/aarongarciah","imageURL":"https://github.com/aarongarciah.png","key":"aarongarciah","page":null,"count":1},{"name":"hackerman","alias":"aeneasr","url":"https://github.com/aeneasr","imageURL":"https://github.com/aeneasr.png","key":"aeneasr","page":null,"count":3},{"name":"Alex1304","alias":"Alex1304","url":"https://github.com/Alex1304","imageURL":"https://github.com/Alex1304.png","key":"Alex1304","page":null,"count":1},{"name":"borool","alias":"borool","url":"https://github.com/borool","imageURL":"https://github.com/borool.png","key":"borool","page":null,"count":1},{"name":"Cindy Gu","alias":"cindygu4","url":"https://github.com/cindygu4","imageURL":"https://github.com/cindygu4.png","key":"cindygu4","page":null,"count":1},{"name":"davidmauskop","alias":"davidmauskop","url":"https://github.com/davidmauskop","imageURL":"https://github.com/davidmauskop.png","key":"davidmauskop","page":null,"count":1},{"name":"Derric Gilling","alias":"dgilling","url":"https://github.com/dgilling","imageURL":"https://github.com/dgilling.png","key":"dgilling","page":null,"count":1},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null,"count":4},{"name":"Hadrien Milano","alias":"hmil","url":"https://github.com/hmil","imageURL":"https://github.com/hmil.png","key":"hmil","page":null,"count":1},{"name":"Lo\xefc Poullain","alias":"LoicPoullain","url":"https://github.com/LoicPoullain","imageURL":"https://github.com/LoicPoullain.png","key":"LoicPoullain","page":null,"count":1},{"name":"Matija Sosic","alias":"matijaSos","url":"https://github.com/matijaSos","imageURL":"https://github.com/matijaSos.png","key":"matijaSos","page":null,"count":1},{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null,"count":4},{"name":"Rami","alias":"Romstar","url":"https://github.com/Romstar","imageURL":"https://github.com/Romstar.png","key":"Romstar","page":null,"count":1},{"name":"Sarthak kundra","alias":"sarthakkundra","url":"https://github.com/sarthakkundra","imageURL":"https://github.com/sarthakkundra.png","key":"sarthakkundra","page":null,"count":1},{"name":"Kaartic Sivaraam","alias":"sivaraam","url":"https://github.com/sivaraam","imageURL":"https://github.com/sivaraam.png","key":"sivaraam","page":null,"count":1},{"name":"Varshit Shah","alias":"Varshit07","url":"https://github.com/Varshit07","imageURL":"https://github.com/Varshit07.png","key":"Varshit07","page":null,"count":1},{"name":"Stephen Woodruff","alias":"woodrufs","url":"https://github.com/woodrufs","imageURL":"https://github.com/woodrufs.png","key":"woodrufs","page":null,"count":1},{"name":"Ma\xebl Nison","alias":"arcanis","url":"https://github.com/arcanis","imageURL":"https://github.com/arcanis.png","key":"arcanis","page":null,"count":1},{"name":"camiluc","alias":"camiluc","url":"https://github.com/camiluc","imageURL":"https://github.com/camiluc.png","key":"camiluc","page":null,"count":1},{"name":"iAmir","alias":"AmyrAhmady","url":"https://github.com/AmyrAhmady","imageURL":"https://github.com/AmyrAhmady.png","key":"AmyrAhmady","page":null,"count":1},{"name":"Beno\xeet Lemaire","alias":"belemaire","url":"https://github.com/belemaire","imageURL":"https://github.com/belemaire.png","key":"belemaire","page":null,"count":1},{"name":"David Goss","alias":"davidjgoss","url":"https://github.com/davidjgoss","imageURL":"https://github.com/davidjgoss.png","key":"davidjgoss","page":null,"count":1},{"name":"Bright Egbo","alias":"egbobright","url":"https://github.com/egbobright","imageURL":"https://github.com/egbobright.png","key":"egbobright","page":null,"count":1},{"name":"Hai","alias":"haivp3010","url":"https://github.com/haivp3010","imageURL":"https://github.com/haivp3010.png","key":"haivp3010","page":null,"count":1},{"name":"Anh Hong","alias":"hong4rc","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png","key":"hong4rc","page":null,"count":1},{"name":"Jainam Chirag Shah","alias":"jcs98","url":"https://github.com/jcs98","imageURL":"https://github.com/jcs98.png","key":"jcs98","page":null,"count":1},{"name":"Roman Bug","alias":"ka1bi4","url":"https://github.com/ka1bi4","imageURL":"https://github.com/ka1bi4.png","key":"ka1bi4","page":null,"count":1},{"name":"kenve","alias":"kenve","url":"https://github.com/kenve","imageURL":"https://github.com/kenve.png","key":"kenve","page":null,"count":1},{"name":"Nate Giraudeau","alias":"nategiraudeau","url":"https://github.com/nategiraudeau","imageURL":"https://github.com/nategiraudeau.png","key":"nategiraudeau","page":null,"count":1},{"name":"Nico Domino","alias":"ndom91","url":"https://github.com/ndom91","imageURL":"https://github.com/ndom91.png","key":"ndom91","page":null,"count":1},{"name":"Rhys Arkins","alias":"rarkins","url":"https://github.com/rarkins","imageURL":"https://github.com/rarkins.png","key":"rarkins","page":null,"count":1},{"name":"Gergely Sinka","alias":"sigewuzhere","url":"https://github.com/sigewuzhere","imageURL":"https://github.com/sigewuzhere.png","key":"sigewuzhere","page":null,"count":1},{"name":"Stephen McElhinney","alias":"smcelhinney","url":"https://github.com/smcelhinney","imageURL":"https://github.com/smcelhinney.png","key":"smcelhinney","page":null,"count":1},{"name":"Thakur Karthik","alias":"ThakurKarthik","url":"https://github.com/ThakurKarthik","imageURL":"https://github.com/ThakurKarthik.png","key":"ThakurKarthik","page":null,"count":1},{"name":"Marc Rabat Pla","alias":"vanbasten17","url":"https://github.com/vanbasten17","imageURL":"https://github.com/vanbasten17.png","key":"vanbasten17","page":null,"count":1},{"name":"Shenwei Wang","alias":"weareoutman","url":"https://github.com/weareoutman","imageURL":"https://github.com/weareoutman.png","key":"weareoutman","page":null,"count":1},{"name":"ylemkimon","alias":"ylemkimon","url":"https://github.com/ylemkimon","imageURL":"https://github.com/ylemkimon.png","key":"ylemkimon","page":null,"count":2},{"name":"aakhtar3","alias":"aakhtar3","url":"https://github.com/aakhtar3","imageURL":"https://github.com/aakhtar3.png","key":"aakhtar3","page":null,"count":2},{"name":"Abhishek Tiwari","alias":"abhishektiwari","url":"https://github.com/abhishektiwari","imageURL":"https://github.com/abhishektiwari.png","key":"abhishektiwari","page":null,"count":1},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null,"count":6},{"name":"honlyHuang","alias":"honlyHuang","url":"https://github.com/honlyHuang","imageURL":"https://github.com/honlyHuang.png","key":"honlyHuang","page":null,"count":1},{"name":"Shubham Kumar","alias":"imskr","url":"https://github.com/imskr","imageURL":"https://github.com/imskr.png","key":"imskr","page":null,"count":2},{"name":"John Gracey","alias":"jagracey","url":"https://github.com/jagracey","imageURL":"https://github.com/jagracey.png","key":"jagracey","page":null,"count":1},{"name":"Russ Taylor","alias":"russtaylor","url":"https://github.com/russtaylor","imageURL":"https://github.com/russtaylor.png","key":"russtaylor","page":null,"count":1},{"name":"SaintMalik","alias":"saintmalik","url":"https://github.com/saintmalik","imageURL":"https://github.com/saintmalik.png","key":"saintmalik","page":null,"count":1},{"name":"Shubham Zanwar","alias":"shubhamzanwar","url":"https://github.com/shubhamzanwar","imageURL":"https://github.com/shubhamzanwar.png","key":"shubhamzanwar","page":null,"count":1},{"name":"Umair Kamran","alias":"UmairKamran","url":"https://github.com/UmairKamran","imageURL":"https://github.com/UmairKamran.png","key":"UmairKamran","page":null,"count":1},{"name":"Utkarsh Goel","alias":"utkarsh867","url":"https://github.com/utkarsh867","imageURL":"https://github.com/utkarsh867.png","key":"utkarsh867","page":null,"count":1},{"name":"Henry V\xe9lez","alias":"abadon7","url":"https://github.com/abadon7","imageURL":"https://github.com/abadon7.png","key":"abadon7","page":null,"count":1},{"name":"Andrey Rublev","alias":"anru","url":"https://github.com/anru","imageURL":"https://github.com/anru.png","key":"anru","page":null,"count":1},{"name":"R\xe9mi Doreau","alias":"ayshiff","url":"https://github.com/ayshiff","imageURL":"https://github.com/ayshiff.png","key":"ayshiff","page":null,"count":2},{"name":"Jeremy Hager","alias":"jeremyhager","url":"https://github.com/jeremyhager","imageURL":"https://github.com/jeremyhager.png","key":"jeremyhager","page":null,"count":1},{"name":"Muskan Kumar","alias":"muskanvk","url":"https://github.com/muskanvk","imageURL":"https://github.com/muskanvk.png","key":"muskanvk","page":null,"count":1},{"name":"Tim Gates","alias":"timgates42","url":"https://github.com/timgates42","imageURL":"https://github.com/timgates42.png","key":"timgates42","page":null,"count":1},{"name":"Ash","alias":"ashscodes","url":"https://github.com/ashscodes","imageURL":"https://github.com/ashscodes.png","key":"ashscodes","page":null,"count":1},{"name":"josephMG","alias":"josephMG","url":"https://github.com/josephMG","imageURL":"https://github.com/josephMG.png","key":"josephMG","page":null,"count":1},{"name":"Rutik Wankhade","alias":"rutikwankhade","url":"https://github.com/rutikwankhade","imageURL":"https://github.com/rutikwankhade.png","key":"rutikwankhade","page":null,"count":1},{"name":"Sam Ko","alias":"samsisle","url":"https://github.com/samsisle","imageURL":"https://github.com/samsisle.png","key":"samsisle","page":null,"count":1},{"name":"adinaja","alias":"adinaja","url":"https://github.com/adinaja","imageURL":"https://github.com/adinaja.png","key":"adinaja","page":null,"count":1},{"name":"Franklyn Chisom","alias":"ajifrank75","url":"https://github.com/ajifrank75","imageURL":"https://github.com/ajifrank75.png","key":"ajifrank75","page":null,"count":1},{"name":"Ali Hosseini","alias":"Ako92","url":"https://github.com/Ako92","imageURL":"https://github.com/Ako92.png","key":"Ako92","page":null,"count":1},{"name":"Amy Lei","alias":"amy-lei","url":"https://github.com/amy-lei","imageURL":"https://github.com/amy-lei.png","key":"amy-lei","page":null,"count":1},{"name":"Anshul Goyal","alias":"anshulrgoyal","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","key":"anshulrgoyal","page":null,"count":3},{"name":"Archit","alias":"arcvats","url":"https://github.com/arcvats","imageURL":"https://github.com/arcvats.png","key":"arcvats","page":null,"count":1},{"name":"Arthur Flam","alias":"arthur-flam","url":"https://github.com/arthur-flam","imageURL":"https://github.com/arthur-flam.png","key":"arthur-flam","page":null,"count":1},{"name":"Bogdan Doroschenko","alias":"BogdanDor","url":"https://github.com/BogdanDor","imageURL":"https://github.com/BogdanDor.png","key":"BogdanDor","page":null,"count":1},{"name":"alex busnelli","alias":"boosh511","url":"https://github.com/boosh511","imageURL":"https://github.com/boosh511.png","key":"boosh511","page":null,"count":1},{"name":"Daniel Wilkowski","alias":"Danon","url":"https://github.com/Danon","imageURL":"https://github.com/Danon.png","key":"Danon","page":null,"count":1},{"name":"Drew Alexander","alias":"Drewbi","url":"https://github.com/Drewbi","imageURL":"https://github.com/Drewbi.png","key":"Drewbi","page":null,"count":3},{"name":"Derek","alias":"dschaller","url":"https://github.com/dschaller","imageURL":"https://github.com/dschaller.png","key":"dschaller","page":null,"count":1},{"name":"Nisarag","alias":"FocalChord","url":"https://github.com/FocalChord","imageURL":"https://github.com/FocalChord.png","key":"FocalChord","page":null,"count":1},{"name":"Govardhan Srinivas","alias":"govardhan-srinivas","url":"https://github.com/govardhan-srinivas","imageURL":"https://github.com/govardhan-srinivas.png","key":"govardhan-srinivas","page":null,"count":1},{"name":"Yang Luo","alias":"hsluoyz","url":"https://github.com/hsluoyz","imageURL":"https://github.com/hsluoyz.png","key":"hsluoyz","page":null,"count":1},{"name":"Jean-Marc Saad","alias":"JeanMarcSaad","url":"https://github.com/JeanMarcSaad","imageURL":"https://github.com/JeanMarcSaad.png","key":"JeanMarcSaad","page":null,"count":1},{"name":"Jonas Dellinger","alias":"JohnnyCrazy","url":"https://github.com/JohnnyCrazy","imageURL":"https://github.com/JohnnyCrazy.png","key":"JohnnyCrazy","page":null,"count":1},{"name":"Jonathan","alias":"Jonathannsegal","url":"https://github.com/Jonathannsegal","imageURL":"https://github.com/Jonathannsegal.png","key":"Jonathannsegal","page":null,"count":1},{"name":"lebogang Olifant","alias":"lebogangolifant","url":"https://github.com/lebogangolifant","imageURL":"https://github.com/lebogangolifant.png","key":"lebogangolifant","page":null,"count":1},{"name":"leoigel","alias":"leoigel","url":"https://github.com/leoigel","imageURL":"https://github.com/leoigel.png","key":"leoigel","page":null,"count":1},{"name":"Manuel Cepeda","alias":"mecm1993","url":"https://github.com/mecm1993","imageURL":"https://github.com/mecm1993.png","key":"mecm1993","page":null,"count":1},{"name":"Mirzayev Farid","alias":"MirzayevFarid","url":"https://github.com/MirzayevFarid","imageURL":"https://github.com/MirzayevFarid.png","key":"MirzayevFarid","page":null,"count":1},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null,"count":4},{"name":"Olawanle Joel","alias":"olawanlejoel","url":"https://github.com/olawanlejoel","imageURL":"https://github.com/olawanlejoel.png","key":"olawanlejoel","page":null,"count":1},{"name":"Orta Therox","alias":"orta","url":"https://github.com/orta","imageURL":"https://github.com/orta.png","key":"orta","page":null,"count":1},{"name":"shalinikumari50","alias":"shalinikumari50","url":"https://github.com/shalinikumari50","imageURL":"https://github.com/shalinikumari50.png","key":"shalinikumari50","page":null,"count":1},{"name":"Sourav Dey","alias":"Souravdey777","url":"https://github.com/Souravdey777","imageURL":"https://github.com/Souravdey777.png","key":"Souravdey777","page":null,"count":1},{"name":"Hani Mohammed","alias":"thehanimo","url":"https://github.com/thehanimo","imageURL":"https://github.com/thehanimo.png","key":"thehanimo","page":null,"count":1},{"name":"Tolunay Akbulut","alias":"tolunayakbulut","url":"https://github.com/tolunayakbulut","imageURL":"https://github.com/tolunayakbulut.png","key":"tolunayakbulut","page":null,"count":1},{"name":"Vincent","alias":"Vinnl","url":"https://github.com/Vinnl","imageURL":"https://github.com/Vinnl.png","key":"Vinnl","page":null,"count":1},{"name":"Bucky Maler","alias":"BuckyMaler","url":"https://github.com/BuckyMaler","imageURL":"https://github.com/BuckyMaler.png","key":"BuckyMaler","page":null,"count":1},{"name":"Faizan","alias":"mdfaizan7","url":"https://github.com/mdfaizan7","imageURL":"https://github.com/mdfaizan7.png","key":"mdfaizan7","page":null,"count":1},{"name":"Hob Adams","alias":"hobadams","url":"https://github.com/hobadams","imageURL":"https://github.com/hobadams.png","key":"hobadams","page":null,"count":1},{"name":"Mahfoudh Arous","alias":"aladin002dz","url":"https://github.com/aladin002dz","imageURL":"https://github.com/aladin002dz.png","key":"aladin002dz","page":null,"count":1},{"name":"Eric Dobbertin","alias":"aldeed","url":"https://github.com/aldeed","imageURL":"https://github.com/aldeed.png","key":"aldeed","page":null,"count":1},{"name":"Amirul Ahmad","alias":"amirulahmad","url":"https://github.com/amirulahmad","imageURL":"https://github.com/amirulahmad.png","key":"amirulahmad","page":null,"count":1},{"name":"Ayan Banerjee","alias":"ayan-b","url":"https://github.com/ayan-b","imageURL":"https://github.com/ayan-b.png","key":"ayan-b","page":null,"count":1},{"name":"Jeremy Asuncion","alias":"codemonkey800","url":"https://github.com/codemonkey800","imageURL":"https://github.com/codemonkey800.png","key":"codemonkey800","page":null,"count":1},{"name":"Daniel Hochman","alias":"danielhochman","url":"https://github.com/danielhochman","imageURL":"https://github.com/danielhochman.png","key":"danielhochman","page":null,"count":1},{"name":"Deepak Giri","alias":"dpkg","url":"https://github.com/dpkg","imageURL":"https://github.com/dpkg.png","key":"dpkg","page":null,"count":1},{"name":"ehsan jso","alias":"ehsanjso","url":"https://github.com/ehsanjso","imageURL":"https://github.com/ehsanjso.png","key":"ehsanjso","page":null,"count":1},{"name":"Arsalan Khattak","alias":"eKhattak","url":"https://github.com/eKhattak","imageURL":"https://github.com/eKhattak.png","key":"eKhattak","page":null,"count":1},{"name":"matbub","alias":"hi-matbub","url":"https://github.com/hi-matbub","imageURL":"https://github.com/hi-matbub.png","key":"hi-matbub","page":null,"count":1},{"name":"Jordan Liu","alias":"jordanliu","url":"https://github.com/jordanliu","imageURL":"https://github.com/jordanliu.png","key":"jordanliu","page":null,"count":1},{"name":"Paul Cowgill","alias":"pcowgill","url":"https://github.com/pcowgill","imageURL":"https://github.com/pcowgill.png","key":"pcowgill","page":null,"count":1},{"name":"Frida Hjelm","alias":"svtfrida","url":"https://github.com/svtfrida","imageURL":"https://github.com/svtfrida.png","key":"svtfrida","page":null,"count":1},{"name":"Taylor Allen","alias":"taylorallen0913","url":"https://github.com/taylorallen0913","imageURL":"https://github.com/taylorallen0913.png","key":"taylorallen0913","page":null,"count":1},{"name":"Rian Finnegan","alias":"xtellurian","url":"https://github.com/xtellurian","imageURL":"https://github.com/xtellurian.png","key":"xtellurian","page":null,"count":1},{"name":"belokonm","alias":"belokonm","url":"https://github.com/belokonm","imageURL":"https://github.com/belokonm.png","key":"belokonm","page":null,"count":1},{"name":"Guillaume Jacquart","alias":"guillaumejacquart","url":"https://github.com/guillaumejacquart","imageURL":"https://github.com/guillaumejacquart.png","key":"guillaumejacquart","page":null,"count":1},{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null,"count":5},{"name":"Koki Nishihara","alias":"Nishikoh","url":"https://github.com/Nishikoh","imageURL":"https://github.com/Nishikoh.png","key":"Nishikoh","page":null,"count":1},{"name":"Paul Glezen","alias":"pglezen","url":"https://github.com/pglezen","imageURL":"https://github.com/pglezen.png","key":"pglezen","page":null,"count":1},{"name":"tetunori","alias":"tetunori","url":"https://github.com/tetunori","imageURL":"https://github.com/tetunori.png","key":"tetunori","page":null,"count":1},{"name":"Tom Brien","alias":"TomBrien","url":"https://github.com/TomBrien","imageURL":"https://github.com/TomBrien.png","key":"TomBrien","page":null,"count":2},{"name":"James McShane","alias":"jmcshane","url":"https://github.com/jmcshane","imageURL":"https://github.com/jmcshane.png","key":"jmcshane","page":null,"count":1},{"name":"Kasper B\xf8gebjerg Pedersen","alias":"kasperp","url":"https://github.com/kasperp","imageURL":"https://github.com/kasperp.png","key":"kasperp","page":null,"count":1},{"name":"Muhammad Ali","alias":"mrmuhammadali","url":"https://github.com/mrmuhammadali","imageURL":"https://github.com/mrmuhammadali.png","key":"mrmuhammadali","page":null,"count":1},{"name":"Piotr Baran","alias":"piotros","url":"https://github.com/piotros","imageURL":"https://github.com/piotros.png","key":"piotros","page":null,"count":1},{"name":"Sylvain Pace","alias":"s-pace","url":"https://github.com/s-pace","imageURL":"https://github.com/s-pace.png","key":"s-pace","page":null,"count":3},{"name":"Rajiv Singh","alias":"iamrajiv","url":"https://github.com/iamrajiv","imageURL":"https://github.com/iamrajiv.png","key":"iamrajiv","page":null,"count":1},{"name":"Jimmy","alias":"jcomack","url":"https://github.com/jcomack","imageURL":"https://github.com/jcomack.png","key":"jcomack","page":null,"count":1},{"name":"Julien Deniau","alias":"jdeniau","url":"https://github.com/jdeniau","imageURL":"https://github.com/jdeniau.png","key":"jdeniau","page":null,"count":1},{"name":"Jonny Nabors","alias":"jonnynabors","url":"https://github.com/jonnynabors","imageURL":"https://github.com/jonnynabors.png","key":"jonnynabors","page":null,"count":1},{"name":"Marco Moretti","alias":"marcosvega91","url":"https://github.com/marcosvega91","imageURL":"https://github.com/marcosvega91.png","key":"marcosvega91","page":null,"count":1},{"name":"Anayo Oleru","alias":"AnayoOleru","url":"https://github.com/AnayoOleru","imageURL":"https://github.com/AnayoOleru.png","key":"AnayoOleru","page":null,"count":1},{"name":"Jay Lees","alias":"jaylees14","url":"https://github.com/jaylees14","imageURL":"https://github.com/jaylees14.png","key":"jaylees14","page":null,"count":1},{"name":"Jos\xe9 Renan","alias":"JoseRenan","url":"https://github.com/JoseRenan","imageURL":"https://github.com/JoseRenan.png","key":"JoseRenan","page":null,"count":1},{"name":"Kamil Kisiela","alias":"kamilkisiela","url":"https://github.com/kamilkisiela","imageURL":"https://github.com/kamilkisiela.png","key":"kamilkisiela","page":null,"count":1},{"name":"Krist\xf3f Poduszl\xf3","alias":"kripod","url":"https://github.com/kripod","imageURL":"https://github.com/kripod.png","key":"kripod","page":null,"count":1},{"name":"Noah Silvera","alias":"Noah-Silvera","url":"https://github.com/Noah-Silvera","imageURL":"https://github.com/Noah-Silvera.png","key":"Noah-Silvera","page":null,"count":2},{"name":"Chris Watson","alias":"watzon","url":"https://github.com/watzon","imageURL":"https://github.com/watzon.png","key":"watzon","page":null,"count":1},{"name":"Mehmet Yatk\u0131","alias":"yatki","url":"https://github.com/yatki","imageURL":"https://github.com/yatki.png","key":"yatki","page":null,"count":1},{"name":"Can Gencer","alias":"cangencer","url":"https://github.com/cangencer","imageURL":"https://github.com/cangencer.png","key":"cangencer","page":null,"count":1},{"name":"Richard Chan","alias":"iWun","url":"https://github.com/iWun","imageURL":"https://github.com/iWun.png","key":"iWun","page":null,"count":1},{"name":"38elements","alias":"38elements","url":"https://github.com/38elements","imageURL":"https://github.com/38elements.png","key":"38elements","page":null,"count":1},{"name":"bravo-kernel","alias":"bravo-kernel","url":"https://github.com/bravo-kernel","imageURL":"https://github.com/bravo-kernel.png","key":"bravo-kernel","page":null,"count":1},{"name":"Elvis Wolcott","alias":"elviswolcott","url":"https://github.com/elviswolcott","imageURL":"https://github.com/elviswolcott.png","key":"elviswolcott","page":null,"count":2},{"name":"Favour Kelvin","alias":"fakela","url":"https://github.com/fakela","imageURL":"https://github.com/fakela.png","key":"fakela","page":null,"count":1},{"name":"GermaVinsmoke","alias":"GermaVinsmoke","url":"https://github.com/GermaVinsmoke","imageURL":"https://github.com/GermaVinsmoke.png","key":"GermaVinsmoke","page":null,"count":1},{"name":"iamkun","alias":"iamkun","url":"https://github.com/iamkun","imageURL":"https://github.com/iamkun.png","key":"iamkun","page":null,"count":1},{"name":"Jefferson Licet","alias":"jeffersonlicet","url":"https://github.com/jeffersonlicet","imageURL":"https://github.com/jeffersonlicet.png","key":"jeffersonlicet","page":null,"count":1},{"name":"KohheePeace","alias":"KohheePeace","url":"https://github.com/KohheePeace","imageURL":"https://github.com/KohheePeace.png","key":"KohheePeace","page":null,"count":2},{"name":"Luke Collier","alias":"lukecollier","url":"https://github.com/lukecollier","imageURL":"https://github.com/lukecollier.png","key":"lukecollier","page":null,"count":1},{"name":"mohrash92","alias":"mohrash92","url":"https://github.com/mohrash92","imageURL":"https://github.com/mohrash92.png","key":"mohrash92","page":null,"count":1},{"name":"Nisar Hassan Naqvi","alias":"nisarhassan12","url":"https://github.com/nisarhassan12","imageURL":"https://github.com/nisarhassan12.png","key":"nisarhassan12","page":null,"count":1},{"name":"Paul Armstrong","alias":"paularmstrong","url":"https://github.com/paularmstrong","imageURL":"https://github.com/paularmstrong.png","key":"paularmstrong","page":null,"count":1},{"name":"Linus L\xe5ngberg","alias":"phoqe","url":"https://github.com/phoqe","imageURL":"https://github.com/phoqe.png","key":"phoqe","page":null,"count":2},{"name":"Ram\xf3n Lamana","alias":"rlamana","url":"https://github.com/rlamana","imageURL":"https://github.com/rlamana.png","key":"rlamana","page":null,"count":2},{"name":"ZachJW34","alias":"ZachJW34","url":"https://github.com/ZachJW34","imageURL":"https://github.com/ZachJW34.png","key":"ZachJW34","page":null,"count":1},{"name":"Amila Welihinda","alias":"amilajack","url":"https://github.com/amilajack","imageURL":"https://github.com/amilajack.png","key":"amilajack","page":null,"count":1},{"name":"Paulus Schoutsen","alias":"balloob","url":"https://github.com/balloob","imageURL":"https://github.com/balloob.png","key":"balloob","page":null,"count":1},{"name":"Robert","alias":"deniaz","url":"https://github.com/deniaz","imageURL":"https://github.com/deniaz.png","key":"deniaz","page":null,"count":1},{"name":"Hassan Farid","alias":"hassanfarid","url":"https://github.com/hassanfarid","imageURL":"https://github.com/hassanfarid.png","key":"hassanfarid","page":null,"count":1},{"name":"jartuso","alias":"jartuso","url":"https://github.com/jartuso","imageURL":"https://github.com/jartuso.png","key":"jartuso","page":null,"count":1},{"name":"Mohamed Abdel Nasser","alias":"mohamedsgap","url":"https://github.com/mohamedsgap","imageURL":"https://github.com/mohamedsgap.png","key":"mohamedsgap","page":null,"count":1},{"name":"Scott Lee","alias":"scottilee","url":"https://github.com/scottilee","imageURL":"https://github.com/scottilee.png","key":"scottilee","page":null,"count":1},{"name":"Zhenchao Cai","alias":"Zhencha0Cai","url":"https://github.com/Zhencha0Cai","imageURL":"https://github.com/Zhencha0Cai.png","key":"Zhencha0Cai","page":null,"count":1},{"name":"awalias","alias":"awalias","url":"https://github.com/awalias","imageURL":"https://github.com/awalias.png","key":"awalias","page":null,"count":1},{"name":"Elie Dutheil","alias":"edwandr","url":"https://github.com/edwandr","imageURL":"https://github.com/edwandr.png","key":"edwandr","page":null,"count":1},{"name":"Evan Rubinton","alias":"erubi","url":"https://github.com/erubi","imageURL":"https://github.com/erubi.png","key":"erubi","page":null,"count":1},{"name":"Gal Havivi","alias":"galhavivi","url":"https://github.com/galhavivi","imageURL":"https://github.com/galhavivi.png","key":"galhavivi","page":null,"count":1},{"name":"Ashley Jeffs","alias":"Jeffail","url":"https://github.com/Jeffail","imageURL":"https://github.com/Jeffail.png","key":"Jeffail","page":null,"count":1},{"name":"Joshua Williams","alias":"jjwill","url":"https://github.com/jjwill","imageURL":"https://github.com/jjwill.png","key":"jjwill","page":null,"count":1},{"name":"Jonathan Delgado","alias":"jonathanrdelgado","url":"https://github.com/jonathanrdelgado","imageURL":"https://github.com/jonathanrdelgado.png","key":"jonathanrdelgado","page":null,"count":1},{"name":"Mark Terrel","alias":"mterrel","url":"https://github.com/mterrel","imageURL":"https://github.com/mterrel.png","key":"mterrel","page":null,"count":1},{"name":"Ond\u0159ej Nepo\u017Eitek","alias":"OndrejNepozitek","url":"https://github.com/OndrejNepozitek","imageURL":"https://github.com/OndrejNepozitek.png","key":"OndrejNepozitek","page":null,"count":1},{"name":"Scott Dowding","alias":"sdowding","url":"https://github.com/sdowding","imageURL":"https://github.com/sdowding.png","key":"sdowding","page":null,"count":1},{"name":"Hanseung Yoo","alias":"trustyoo86","url":"https://github.com/trustyoo86","imageURL":"https://github.com/trustyoo86.png","key":"trustyoo86","page":null,"count":1},{"name":"Wei Gao","alias":"wgao19","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png","key":"wgao19","page":null,"count":2},{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null,"count":7},{"name":"Janko Marohni\u0107","alias":"janko","url":"https://github.com/janko","imageURL":"https://github.com/janko.png","key":"janko","page":null,"count":1},{"name":"Nick McCurdy","alias":"nickmccurdy","url":"https://github.com/nickmccurdy","imageURL":"https://github.com/nickmccurdy.png","key":"nickmccurdy","page":null,"count":1},{"name":"t11s","alias":"TransmissionsDev","url":"https://github.com/TransmissionsDev","imageURL":"https://github.com/TransmissionsDev.png","key":"TransmissionsDev","page":null,"count":1},{"name":"KYY","alias":"FeynmanDNA","url":"https://github.com/FeynmanDNA","imageURL":"https://github.com/FeynmanDNA.png","key":"FeynmanDNA","page":null,"count":1},{"name":"kaichu","alias":"qshiwu","url":"https://github.com/qshiwu","imageURL":"https://github.com/qshiwu.png","key":"qshiwu","page":null,"count":1},{"name":"Shivangna Kaistha","alias":"shivangna","url":"https://github.com/shivangna","imageURL":"https://github.com/shivangna.png","key":"shivangna","page":null,"count":1},{"name":"Binary Logic","alias":"binarylogic","url":"https://github.com/binarylogic","imageURL":"https://github.com/binarylogic.png","key":"binarylogic","page":null,"count":1},{"name":"Dongwoo Gim","alias":"gimdongwoo","url":"https://github.com/gimdongwoo","imageURL":"https://github.com/gimdongwoo.png","key":"gimdongwoo","page":null,"count":1},{"name":"Eric Carboni","alias":"ericcarboni","url":"https://github.com/ericcarboni","imageURL":"https://github.com/ericcarboni.png","key":"ericcarboni","page":null,"count":1},{"name":"Jamie Davenport","alias":"jamiedavenport","url":"https://github.com/jamiedavenport","imageURL":"https://github.com/jamiedavenport.png","key":"jamiedavenport","page":null,"count":1},{"name":"Nick McCormick","alias":"kenning","url":"https://github.com/kenning","imageURL":"https://github.com/kenning.png","key":"kenning","page":null,"count":1},{"name":"Vincent van der Walt","alias":"vinnytheviking","url":"https://github.com/vinnytheviking","imageURL":"https://github.com/vinnytheviking.png","key":"vinnytheviking","page":null,"count":1}]}')}}]); \ No newline at end of file diff --git a/assets/js/3b2c7f61.e3a587b1.js b/assets/js/3b2c7f61.e3a587b1.js new file mode 100644 index 0000000000..b1f7d54826 --- /dev/null +++ b/assets/js/3b2c7f61.e3a587b1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["90425"],{67233:function(e,t,n){n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>u});var r=n(2805),o=n(85893),a=n(80980);let s={mdx:{format:"md"},date:"2022-08-01T20:00",authors:["slorber"]},l="2.0.1",i={authorsImageUrls:[void 0]},u=[];function c(e){return(0,o.jsx)(o.Fragment,{})}function m(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>s});var r=n(67294);let o={},a=r.createContext(o);function s(e){let t=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(a.Provider,{value:t},e.children)}},2805:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.1","source":"@site/changelog/source/2.0.1.md","title":"2.0.1","description":"Fix bad npm publish of 2.0.0","date":"2022-08-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-08-01T20:00","authors":["slorber"]},"unlisted":false,"prevItem":{"title":"2.1.0","permalink":"/changelog/2.1.0"},"nextItem":{"title":"2.0.0","permalink":"/changelog/2.0.0"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/3bc24440.1ce9e641.js b/assets/js/3bc24440.1ce9e641.js new file mode 100644 index 0000000000..72db52105b --- /dev/null +++ b/assets/js/3bc24440.1ce9e641.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["67795"],{39978:function(e,t,n){n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>h});var s=n(67148),r=n(85893),o=n(80980);let a={mdx:{format:"md"},date:"2022-08-01T19:00",authors:["Josh-Cena","slorber"]},l="2.0.0",i={authorsImageUrls:[void 0,void 0]},h=[{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"Committers: 2",id:"committers-2",level:2}];function c(e){let t={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"Bad npm publish, please use 2.0.1"}),"\n",(0,r.jsx)(t.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/7781",children:"#7781"})," refactor(core): log Docusaurus & Node version before exiting (",(0,r.jsx)(t.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"committers-2",children:"Committers: 2"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Joshua Chen (",(0,r.jsx)(t.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,r.jsxs)(t.li,{children:["S\xe9bastien Lorber (",(0,r.jsx)(t.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>a});var s=n(67294);let r={},o=s.createContext(r);function a(e){let t=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},67148:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0","source":"@site/changelog/source/2.0.0.md","title":"2.0.0","description":"Bad npm publish, please use 2.0.1","date":"2022-08-01T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-08-01T19:00","authors":["Josh-Cena","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.1","permalink":"/changelog/2.0.1"},"nextItem":{"title":"2.0.0-rc.1","permalink":"/changelog/2.0.0-rc.1"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/3befc4b7.70bdca8b.js b/assets/js/3befc4b7.70bdca8b.js new file mode 100644 index 0000000000..8c4daede11 --- /dev/null +++ b/assets/js/3befc4b7.70bdca8b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["22282"],{44015:function(e,s,n){n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var r=n(51255),t=n(85893),l=n(80980);let i={mdx:{format:"md"},date:"2024-11-19T20:00",authors:["goffxnca","kyletsang","Ryoga-exe","slorber","Zwyx"]},a="3.6.2",o={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0]},c=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDD27 Maintenance",id:"wrench-maintenance",level:2},{value:"Committers: 5",id:"committers-5",level:2}];function h(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10693",children:"#10693"})," fix(types): add missing ambiant TS declarations for .md / .mdx partials (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10688",children:"#10688"})," fix(theme-translation): add and update Japanese translations (",(0,t.jsx)(s.a,{href:"https://github.com/Ryoga-exe",children:"@Ryoga-exe"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10685",children:"#10685"})," fix(cli): ",(0,t.jsx)(s.code,{children:"docusaurus --help"})," should print plugin commands using ",(0,t.jsx)(s.code,{children:"extendCli()"})," (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-bundler"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10680",children:"#10680"})," fix(bundler): allow CSS nesting by default, restore postcss-preset-env (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10676",children:"#10676"})," fix(create-docusaurus): add ts exclude to TS init template (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"docusaurus-bundler"}),", ",(0,t.jsx)(s.code,{children:"docusaurus-faster"}),", ",(0,t.jsx)(s.code,{children:"docusaurus"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10648",children:"#10648"})," fix(faster): Upgrade to Rspack 1.1.1, fix build progress bar display (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"wrench-maintenance",children:"\uD83D\uDD27 Maintenance"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10691",children:"#10691"})," chore(ci): retry ",(0,t.jsx)(s.code,{children:"yarn install"})," to ignore temporary network errors (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"committers-5",children:"Committers: 5"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Junior_Gx (",(0,t.jsx)(s.a,{href:"https://github.com/goffxnca",children:"@goffxnca"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Kyle Tsang (",(0,t.jsx)(s.a,{href:"https://github.com/kyletsang",children:"@kyletsang"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Ryoga (",(0,t.jsx)(s.a,{href:"https://github.com/Ryoga-exe",children:"@Ryoga-exe"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,t.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Zwyx (",(0,t.jsx)(s.a,{href:"https://github.com/Zwyx",children:"@Zwyx"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},80980:function(e,s,n){n.d(s,{Z:()=>a,a:()=>i});var r=n(67294);let t={},l=r.createContext(t);function i(e){let s=r.useContext(l);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),r.createElement(l.Provider,{value:s},e.children)}},51255:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.6.2","source":"@site/changelog/source/3.6.2.md","title":"3.6.2","description":"Bug Fix","date":"2024-11-19T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Junior_Gx","alias":"goffxnca","url":"https://github.com/goffxnca","imageURL":"https://github.com/goffxnca.png","key":"goffxnca","page":null},{"name":"Kyle Tsang","alias":"kyletsang","url":"https://github.com/kyletsang","imageURL":"https://github.com/kyletsang.png","key":"kyletsang","page":null},{"name":"Ryoga","alias":"Ryoga-exe","url":"https://github.com/Ryoga-exe","imageURL":"https://github.com/Ryoga-exe.png","key":"Ryoga-exe","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Zwyx","alias":"Zwyx","url":"https://github.com/Zwyx","imageURL":"https://github.com/Zwyx.png","key":"Zwyx","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-11-19T20:00","authors":["goffxnca","kyletsang","Ryoga-exe","slorber","Zwyx"]},"unlisted":false,"prevItem":{"title":"3.6.3","permalink":"/changelog/3.6.3"},"nextItem":{"title":"3.6.1","permalink":"/changelog/3.6.1"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/3c03c7ff.2bcff0de.js b/assets/js/3c03c7ff.2bcff0de.js new file mode 100644 index 0000000000..dc2528b719 --- /dev/null +++ b/assets/js/3c03c7ff.2bcff0de.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["51719"],{10487:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/crowdin-create-project-2fe25e5974adc027f7ac2c36f1717de1.png"},91039:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/crowdin-download-translations-warning-cb747bdcfc38beabea491f63781b9b40.png"},94344:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/crowdin-files-rename-5ff9bf66f6123800006cf38ead6b66ae.png"},26317:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/crowdin-french-translations-4f252e7f63a781628378eeb3a9fefb39.png"},4297:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/crowdin-hide-string-5e470a33a42e044379bf6860ff534b50.png"},5804:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/crowdin-settings-duplicate-strings-6943e2e4cab8910625a0b6c285052726.png"},37166:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/crowdin-source-files-0ba8c0433421141418462c3bf6de22ed.png"},10377:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/crowdin-translate-json-39a6b98aa60a84eba22b2f5834cbb97d.png"},86688:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/crowdin-translate-markdown-0651cd22b5f07f0e9b3031ffaebbc5b6.png"},2882:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/crowdin-upload-sources-cli-5758c2f4d4256ac05d21b637d1d517bb.png"},81269:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>c,default:()=>g,contentTitle:()=>d,assets:()=>u,toc:()=>h,metadata:()=>s});var s=JSON.parse('{"id":"i18n/crowdin","title":"i18n - Using Crowdin","description":"The i18n system of Docusaurus is decoupled from any translation software.","source":"@site/docs/i18n/i18n-crowdin.mdx","sourceDirName":"i18n","slug":"/i18n/crowdin","permalink":"/docs/i18n/crowdin","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/i18n/i18n-crowdin.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"crowdin","slug":"/i18n/crowdin","toc_max_heading_level":4},"sidebar":"docs","previous":{"title":"Using Git","permalink":"/docs/i18n/git"},"next":{"title":"What\'s next?","permalink":"/docs/guides/whats-next"}}'),r=t(85893),i=t(80980),o=t(15398),a=t(58636),l=t(95998);let c={id:"crowdin",slug:"/i18n/crowdin",toc_max_heading_level:4},d="i18n - Using Crowdin",u={},h=[{value:"Crowdin overview",id:"crowdin-overview",level:2},{value:"Crowdin tutorial",id:"crowdin-tutorial",level:2},{value:"Prepare the Docusaurus site",id:"prepare-the-docusaurus-site",level:3},{value:"Create a Crowdin project",id:"create-a-crowdin-project",level:3},{value:"Create the Crowdin configuration",id:"create-the-crowdin-configuration",level:3},{value:"Access token",id:"access-token",level:4},{value:"Other configuration fields",id:"other-configuration-fields",level:4},{value:"Install the Crowdin CLI",id:"install-the-crowdin-cli",level:3},{value:"Upload the sources",id:"upload-the-sources",level:3},{value:"Translate the sources",id:"translate-the-sources",level:3},{value:"Download the translations",id:"download-the-translations",level:3},{value:"Automate with CI",id:"automate-with-ci",level:3},{value:"Advanced Crowdin topics",id:"advanced-crowdin-topics",level:2},{value:"MDX",id:"mdx",level:3},{value:"MDX problems",id:"mdx-problems",level:4},{value:"MDX solutions",id:"mdx-solutions",level:4},{value:"Docs versioning",id:"docs-versioning",level:3},{value:"Multi-instance plugins",id:"multi-instance-plugins",level:3},{value:"Maintaining your site",id:"maintaining-your-site",level:3},{value:"VCS (Git) integrations",id:"vcs-git-integrations",level:3},{value:"In-Context localization",id:"in-context-localization",level:3},{value:"Localize edit URLs",id:"localize-edit-urls",level:3},{value:"Example configuration",id:"example-configuration",level:3},{value:"Machine Translation (MT) issue: links/image handling",id:"machine-translation-mt-issue-linksimage-handling",level:3}];function p(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"i18n---using-crowdin",children:"i18n - Using Crowdin"})}),"\n",(0,r.jsxs)(n.p,{children:["The i18n system of Docusaurus is ",(0,r.jsx)(n.strong,{children:"decoupled from any translation software"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["You can integrate Docusaurus with the ",(0,r.jsx)(n.strong,{children:"tools and SaaS of your choice"}),", as long as you put the ",(0,r.jsx)(n.strong,{children:"translation files at the correct location"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["We document the usage of ",(0,r.jsx)(n.a,{href:"https://crowdin.com/",children:"Crowdin"}),", as ",(0,r.jsx)(n.strong,{children:"one"})," possible ",(0,r.jsx)(n.strong,{children:"integration example"}),"."]}),"\n",(0,r.jsxs)(n.admonition,{type:"warning",children:[(0,r.jsxs)(n.p,{children:["This is ",(0,r.jsx)(n.strong,{children:"not an endorsement of Crowdin"})," as the unique choice to translate a Docusaurus site, but it is successfully used by Facebook to translate documentation projects such as ",(0,r.jsx)(n.a,{href:"https://jestjs.io/",children:"Jest"}),", ",(0,r.jsx)(n.a,{href:"https://docusaurus.io/",children:"Docusaurus"}),", and ",(0,r.jsx)(n.a,{href:"https://reasonml.github.io/",children:"ReasonML"}),"."]}),(0,r.jsxs)(n.p,{children:["Refer to the ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.a,{href:"https://support.crowdin.com/",children:"Crowdin documentation"})})," and ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.a,{href:"mailto:support@crowdin.com",children:"Crowdin support"})})," for help."]})]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["Use this ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/4052",children:"community-driven GitHub discussion"})})," to discuss anything related to Docusaurus + Crowdin."]})}),"\n",(0,r.jsx)(n.h2,{id:"crowdin-overview",children:"Crowdin overview"}),"\n",(0,r.jsxs)(n.p,{children:["Crowdin is a translation SaaS, offering a ",(0,r.jsx)(n.a,{href:"https://crowdin.com/page/open-source-project-setup-request",children:"free plan for open-source projects"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"We recommend the following translation workflow:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Upload sources"})," to Crowdin (untranslated files)"]}),"\n",(0,r.jsxs)(n.li,{children:["Use Crowdin to ",(0,r.jsx)(n.strong,{children:"translate the content"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Download translations"})," from Crowdin (localized translation files)"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Crowdin provides a ",(0,r.jsx)(n.a,{href:"https://support.crowdin.com/cli-tool/",children:"CLI"})," to ",(0,r.jsx)(n.strong,{children:"upload sources"})," and ",(0,r.jsx)(n.strong,{children:"download translations"}),", allowing you to automate the translation process."]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsxs)(n.a,{href:"https://support.crowdin.com/configuration-file/",children:[(0,r.jsx)(n.code,{children:"crowdin.yml"})," configuration file"]})," is convenient for Docusaurus, and permits to ",(0,r.jsx)(n.strong,{children:"download the localized translation files at the expected location"})," (in ",(0,r.jsx)(n.code,{children:"i18n/[locale]/.."}),")."]}),"\n",(0,r.jsxs)(n.p,{children:["Read the ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.a,{href:"https://support.crowdin.com/",children:"official documentation"})})," to know more about advanced features and different translation workflows."]}),"\n",(0,r.jsx)(n.h2,{id:"crowdin-tutorial",children:"Crowdin tutorial"}),"\n",(0,r.jsxs)(n.p,{children:["This is a walk-through of using Crowdin to translate a newly initialized English Docusaurus website into French, and assume you already followed the ",(0,r.jsx)(n.a,{href:"/docs/i18n/tutorial",children:"i18n tutorial"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["The end result can be seen at ",(0,r.jsx)(n.a,{href:"https://docusaurus-crowdin-example.netlify.app/",children:"docusaurus-crowdin-example.netlify.app"})," (",(0,r.jsx)(n.a,{href:"https://github.com/slorber/docusaurus-crowdin-example",children:"repository"}),")."]}),"\n",(0,r.jsx)(n.h3,{id:"prepare-the-docusaurus-site",children:"Prepare the Docusaurus site"}),"\n",(0,r.jsx)(n.p,{children:"Initialize a new Docusaurus site:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npx create-docusaurus@latest website classic\n"})}),"\n",(0,r.jsx)(n.p,{children:"Add the site configuration for the French language:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n i18n: {\n defaultLocale: 'en',\n locales: ['en', 'fr'],\n },\n themeConfig: {\n navbar: {\n items: [\n // ...\n {\n type: 'localeDropdown',\n position: 'left',\n },\n // ...\n ],\n },\n },\n // ...\n};\n"})}),"\n",(0,r.jsx)(n.p,{children:"Translate the homepage:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="src/pages/index.js"',children:"import React from 'react';\nimport Translate from '@docusaurus/Translate';\nimport Layout from '@theme/Layout';\n\nexport default function Home() {\n return (\n <Layout>\n <h1 style={{margin: 20}}>\n <Translate description=\"The homepage main heading\">\n Welcome to my Docusaurus translated site!\n </Translate>\n </h1>\n </Layout>\n );\n}\n"})}),"\n",(0,r.jsx)(n.h3,{id:"create-a-crowdin-project",children:"Create a Crowdin project"}),"\n",(0,r.jsxs)(n.p,{children:["Sign up on ",(0,r.jsx)(n.a,{href:"https://crowdin.com/",children:"Crowdin"}),", and create a project."]}),"\n",(0,r.jsx)(n.p,{children:"Use English as the source language, and French as the target language."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Create a Crowdin project with english as source language, and french as target language",src:t(10487).Z+"",width:"1868",height:"1576"})}),"\n",(0,r.jsx)(n.p,{children:"Your project is created, but it is empty for now. We will upload the files to translate in the next steps."}),"\n",(0,r.jsx)(n.h3,{id:"create-the-crowdin-configuration",children:"Create the Crowdin configuration"}),"\n",(0,r.jsxs)(n.p,{children:["This configuration (",(0,r.jsx)(n.a,{href:"https://support.crowdin.com/configuration-file/",children:"doc"}),") provides a mapping for the Crowdin CLI to understand:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Where to find the source files to upload (JSON and Markdown)"}),"\n",(0,r.jsxs)(n.li,{children:["Where to download the files after translation (in ",(0,r.jsx)(n.code,{children:"i18n/[locale]"}),")"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Create ",(0,r.jsx)(n.code,{children:"crowdin.yml"})," in ",(0,r.jsx)(n.code,{children:"website"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yml",metastring:'title="crowdin.yml"',children:"project_id: '123456'\napi_token_env: CROWDIN_PERSONAL_TOKEN\npreserve_hierarchy: true\nfiles:\n # JSON translation files\n - source: /i18n/en/**/*\n translation: /i18n/%two_letters_code%/**/%original_file_name%\n # Docs Markdown files\n - source: /docs/**/*\n translation: /i18n/%two_letters_code%/docusaurus-plugin-content-docs/current/**/%original_file_name%\n # Blog Markdown files\n - source: /blog/**/*\n translation: /i18n/%two_letters_code%/docusaurus-plugin-content-blog/**/%original_file_name%\n"})}),"\n",(0,r.jsx)(n.p,{children:"Crowdin has its own syntax for declaring source/translation paths:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"**/*"}),": everything in a subfolder"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"%two_letters_code%"}),": the 2-letters variant of Crowdin target languages (",(0,r.jsx)(n.code,{children:"fr"})," in our case)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"**/%original_file_name%"}),": the translations will preserve the original folder/file hierarchy"]}),"\n"]}),"\n",(0,r.jsxs)(n.admonition,{type:"info",children:[(0,r.jsx)(n.p,{children:"The Crowdin CLI warnings are not always easy to understand."}),(0,r.jsx)(n.p,{children:"We advise to:"}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"change one thing at a time"}),"\n",(0,r.jsx)(n.li,{children:"re-upload sources after any configuration change"}),"\n",(0,r.jsxs)(n.li,{children:["use paths starting with ",(0,r.jsx)(n.code,{children:"/"})," (",(0,r.jsx)(n.code,{children:"./"})," does not work)"]}),"\n",(0,r.jsxs)(n.li,{children:["avoid fancy globbing patterns like ",(0,r.jsx)(n.code,{children:"/docs/**/*.(md|mdx)"})," (does not work)"]}),"\n"]})]}),"\n",(0,r.jsx)(n.h4,{id:"access-token",children:"Access token"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"api_token_env"})," attribute defines the ",(0,r.jsx)(n.strong,{children:"env variable name"})," read by the Crowdin CLI."]}),"\n",(0,r.jsxs)(n.p,{children:["You can obtain a ",(0,r.jsx)(n.code,{children:"Personal Access Token"})," on ",(0,r.jsx)(n.a,{href:"https://crowdin.com/settings#api-key",children:"your personal profile page"}),"."]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["You can keep the default value ",(0,r.jsx)(n.code,{children:"CROWDIN_PERSONAL_TOKEN"}),", and set this environment variable and on your computer and on the CI server to the generated access token."]})}),"\n",(0,r.jsxs)(n.admonition,{type:"warning",children:[(0,r.jsxs)(n.p,{children:["A Personal Access Tokens grant ",(0,r.jsx)(n.strong,{children:"read-write access to all your Crowdin projects"}),"."]}),(0,r.jsxs)(n.p,{children:["You should ",(0,r.jsx)(n.strong,{children:"not commit"})," it, and it may be a good idea to create a dedicated ",(0,r.jsx)(n.strong,{children:"Crowdin profile for your company"})," instead of using a personal account."]})]}),"\n",(0,r.jsx)(n.h4,{id:"other-configuration-fields",children:"Other configuration fields"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"project_id"}),": can be hardcoded, and is found on ",(0,r.jsx)(n.code,{children:"https://crowdin.com/project/<MY_PROJECT_NAME>/settings#api"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"preserve_hierarchy"}),": preserve the folder's hierarchy of your docs on Crowdin UI instead of flattening everything"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"install-the-crowdin-cli",children:"Install the Crowdin CLI"}),"\n",(0,r.jsxs)(n.p,{children:["This tutorial uses the CLI version ",(0,r.jsx)(n.code,{children:"3.5.2"}),", but we expect ",(0,r.jsx)(n.code,{children:"3.x"})," releases to keep working."]}),"\n",(0,r.jsx)(n.p,{children:"Install the Crowdin CLI as an npm package to your Docusaurus site:"}),"\n",(0,r.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm install @crowdin/cli@3\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn add @crowdin/cli@3\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm add @crowdin/cli@3\n"})})})]}),"\n",(0,r.jsxs)(n.p,{children:["Add a ",(0,r.jsx)(n.code,{children:"crowdin"})," script:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",metastring:'title="package.json"',children:'{\n "scripts": {\n // ...\n "write-translations": "docusaurus write-translations",\n "crowdin": "crowdin"\n }\n}\n'})}),"\n",(0,r.jsx)(n.p,{children:"Test that you can run the Crowdin CLI:"}),"\n",(0,r.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run crowdin -- --version\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn crowdin --version\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm run crowdin --version\n"})})})]}),"\n",(0,r.jsxs)(n.p,{children:["Set the ",(0,r.jsx)(n.code,{children:"CROWDIN_PERSONAL_TOKEN"})," env variable on your computer, to allow the CLI to authenticate with the Crowdin API."]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["Temporarily, you can hardcode your personal token in ",(0,r.jsx)(n.code,{children:"crowdin.yml"})," with ",(0,r.jsx)(n.code,{children:"api_token: 'MY-TOKEN'"}),"."]})}),"\n",(0,r.jsx)(n.h3,{id:"upload-the-sources",children:"Upload the sources"}),"\n",(0,r.jsxs)(n.p,{children:["Generate the JSON translation files for the default language in ",(0,r.jsx)(n.code,{children:"website/i18n/en"}),":"]}),"\n",(0,r.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run write-translations\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn write-translations\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm run write-translations\n"})})})]}),"\n",(0,r.jsx)(n.p,{children:"Upload all the JSON and Markdown translation files:"}),"\n",(0,r.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run crowdin upload\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn crowdin upload\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm run crowdin upload\n"})})})]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Crowdin CLI uploading Docusaurus source files",src:t(2882).Z+"",width:"1156",height:"682"})}),"\n",(0,r.jsxs)(n.p,{children:["Your source files are now visible on the Crowdin interface: ",(0,r.jsx)(n.code,{children:"https://crowdin.com/project/<MY_PROJECT_NAME>/settings#files"})]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Crowdin UI showing Docusaurus source files",src:t(37166).Z+"",width:"2462",height:"1048"})}),"\n",(0,r.jsx)(n.h3,{id:"translate-the-sources",children:"Translate the sources"}),"\n",(0,r.jsxs)(n.p,{children:["On ",(0,r.jsx)(n.code,{children:"https://crowdin.com/project/<MY_PROJECT_NAME>"}),", click on the French target language."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Crowdin UI showing French translation files",src:t(26317).Z+"",width:"2430",height:"1736"})}),"\n",(0,r.jsx)(n.p,{children:"Translate some Markdown files."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Crowdin UI to translate a Markdown file",src:t(86688).Z+"",width:"3044",height:"1586"})}),"\n",(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsxs)(n.p,{children:["Use ",(0,r.jsx)(n.code,{children:"Hide String"})," to make sure translators ",(0,r.jsx)(n.strong,{children:"don't translate things that should not be"}),":"]}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Front matter: ",(0,r.jsx)(n.code,{children:"id"}),", ",(0,r.jsx)(n.code,{children:"slug"}),", ",(0,r.jsx)(n.code,{children:"tags"})," ..."]}),"\n",(0,r.jsxs)(n.li,{children:["Admonitions: ",(0,r.jsx)(n.code,{children:":::"}),", ",(0,r.jsx)(n.code,{children:":::note"}),", ",(0,r.jsx)(n.code,{children:":::tip"})," ..."]}),"\n"]}),(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Crowdin UI hide string",src:t(4297).Z+"",width:"1518",height:"698"})})]}),"\n",(0,r.jsx)(n.p,{children:"Translate some JSON files."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Crowdin UI to translate a JSON file",src:t(10377).Z+"",width:"2868",height:"1490"})}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"description"})," attribute of JSON translation files is visible on Crowdin to help translate the strings."]})}),"\n",(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.a,{href:"https://support.crowdin.com/pre-translation-via-machine/",children:"Pre-translate"})})," your site, and ",(0,r.jsx)(n.strong,{children:"fix pre-translation mistakes manually"})," (enable the Global Translation Memory in settings first)."]}),(0,r.jsxs)(n.p,{children:["Use the ",(0,r.jsx)(n.code,{children:"Hide String"})," feature first, as Crowdin is pre-translating things too optimistically."]})]}),"\n",(0,r.jsx)(n.h3,{id:"download-the-translations",children:"Download the translations"}),"\n",(0,r.jsx)(n.p,{children:"Use the Crowdin CLI to download the translated JSON and Markdown files."}),"\n",(0,r.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run crowdin download\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn crowdin download\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm run crowdin download\n"})})})]}),"\n",(0,r.jsxs)(n.p,{children:["The translated content should be downloaded in ",(0,r.jsx)(n.code,{children:"i18n/fr"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Start your site on the French locale:"}),"\n",(0,r.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,r.jsx)(a.Z,{value:"npm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run start -- --locale fr\n"})})}),(0,r.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"yarn run start --locale fr\n"})})}),(0,r.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"pnpm run start --locale fr\n"})})})]}),"\n",(0,r.jsxs)(n.p,{children:["Make sure that your website is now translated in French at ",(0,r.jsx)(n.a,{href:"http://localhost:3000/fr/",children:(0,r.jsx)(n.code,{children:"http://localhost:3000/fr/"})}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"automate-with-ci",children:"Automate with CI"}),"\n",(0,r.jsxs)(n.p,{children:["We will configure the CI to ",(0,r.jsx)(n.strong,{children:"download the Crowdin translations at build time"})," and keep them outside of Git."]}),"\n",(0,r.jsxs)(n.p,{children:["Add ",(0,r.jsx)(n.code,{children:"website/i18n"})," to ",(0,r.jsx)(n.code,{children:".gitignore"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Set the ",(0,r.jsx)(n.code,{children:"CROWDIN_PERSONAL_TOKEN"})," env variable on your CI."]}),"\n",(0,r.jsxs)(n.p,{children:["Create an npm script to ",(0,r.jsx)(n.code,{children:"sync"})," Crowdin (extract sources, upload sources, download translations):"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",metastring:'title="package.json"',children:'{\n "scripts": {\n "crowdin:sync": "docusaurus write-translations && crowdin upload && crowdin download"\n }\n}\n'})}),"\n",(0,r.jsxs)(n.p,{children:["Call the ",(0,r.jsx)(n.code,{children:"npm run crowdin:sync"})," script in your CI, just before building the Docusaurus site."]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["Keep your deploy-previews fast: don't download translations, and use ",(0,r.jsx)(n.code,{children:"npm run build -- --locale en"})," for feature branches."]})}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsx)(n.p,{children:"Crowdin does not support well multiple concurrent uploads/downloads: it is preferable to only include translations to your production deployment, and keep deploy previews untranslated."})}),"\n",(0,r.jsx)(n.h2,{id:"advanced-crowdin-topics",children:"Advanced Crowdin topics"}),"\n",(0,r.jsx)(n.h3,{id:"mdx",children:"MDX"}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsx)(n.p,{children:"Pay special attention to the JSX fragments in MDX documents!"})}),"\n",(0,r.jsxs)(n.p,{children:["Crowdin ",(0,r.jsx)(n.strong,{children:"does not support officially MDX"}),", but they added ",(0,r.jsxs)(n.strong,{children:["support for the ",(0,r.jsx)(n.code,{children:".mdx"})," extension"]}),", and interpret such files as Markdown (instead of plain text)."]}),"\n",(0,r.jsx)(n.h4,{id:"mdx-problems",children:"MDX problems"}),"\n",(0,r.jsx)(n.p,{children:"Crowdin thinks that the JSX syntax is embedded HTML and can mess up with the JSX markup when you download the translations, leading to a site that fails to build due to invalid JSX."}),"\n",(0,r.jsxs)(n.p,{children:["Simple JSX fragments using simple string props like ",(0,r.jsx)(n.code,{children:'<Username name="Sebastien"/>'})," will work fine; more complex JSX fragments using object/array props like ",(0,r.jsx)(n.code,{children:'<User person={{name: "Sebastien"}}/>'})," are more likely to fail due to a syntax that does not look like HTML."]}),"\n",(0,r.jsx)(n.h4,{id:"mdx-solutions",children:"MDX solutions"}),"\n",(0,r.jsxs)(n.p,{children:["We recommend extracting the complex embedded JSX code as separate standalone components. We also added an ",(0,r.jsx)(n.code,{children:"mdx-code-block"})," escape hatch syntax:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:'# How to deploy Docusaurus\n\nTo deploy Docusaurus, run the following command:\n\n````mdx-code-block\xa0\n\nimport Tabs from \'@theme/Tabs\';\n\nimport TabItem from \'@theme/TabItem\';\n\n<Tabs>\n <TabItem value="bash" label="Bash">\n\n ```bash\n GIT_USER=<GITHUB_USERNAME> yarn deploy\n ```\n\n </TabItem>\n <TabItem value="windows" label="Windows">\n\n ```batch\n cmd /C "set "GIT_USER=<GITHUB_USERNAME>" && yarn deploy"\n ```\n\n </TabItem>\n</Tabs>\n````\n'})}),"\n",(0,r.jsx)(n.p,{children:"This will:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"be interpreted by Crowdin as code blocks (and not mess-up with the markup on download)"}),"\n",(0,r.jsx)(n.li,{children:"be interpreted by Docusaurus as regular JSX (as if it was not wrapped by any code block)"}),"\n",(0,r.jsx)(n.li,{children:"unfortunately opt-out of MDX tooling (IDE syntax highlighting, Prettier...)"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"docs-versioning",children:"Docs versioning"}),"\n",(0,r.jsxs)(n.p,{children:["Configure translation files for the ",(0,r.jsx)(n.code,{children:"website/versioned_docs"})," folder."]}),"\n",(0,r.jsxs)(n.p,{children:["When creating a new version, the source strings will generally be quite similar to the current version (",(0,r.jsx)(n.code,{children:"website/docs"}),"), and you don't want to translate the new version docs again and again."]}),"\n",(0,r.jsxs)(n.p,{children:["Crowdin provides a ",(0,r.jsx)(n.code,{children:"Duplicate Strings"})," setting."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Crowdin Duplicate Strings option setting",src:t(5804).Z+"",width:"1422",height:"368"})}),"\n",(0,r.jsxs)(n.p,{children:["We recommend using ",(0,r.jsx)(n.code,{children:"Hide"}),", but the ideal setting depends on how much your versions are different."]}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["Not using ",(0,r.jsx)(n.code,{children:"Hide"})," leads to a much larger amount of ",(0,r.jsx)(n.code,{children:"source strings"})," in quotas, and will affect the pricing."]})}),"\n",(0,r.jsx)(n.h3,{id:"multi-instance-plugins",children:"Multi-instance plugins"}),"\n",(0,r.jsx)(n.p,{children:"You need to configure translation files for each plugin instance."}),"\n",(0,r.jsxs)(n.p,{children:["If you have a docs plugin instance with ",(0,r.jsx)(n.code,{children:"id=ios"}),", you will need to configure those source files as well"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"website/ios"})}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"website/ios_versioned_docs"})," (if versioned)"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"maintaining-your-site",children:"Maintaining your site"}),"\n",(0,r.jsxs)(n.p,{children:["Sometimes, you will ",(0,r.jsx)(n.strong,{children:"remove or rename a source file"})," on Git, and Crowdin will display CLI warnings:"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Crowdin CLI: download translation warning",src:t(91039).Z+"",width:"2268",height:"886"})}),"\n",(0,r.jsxs)(n.p,{children:["When your sources are refactored, you should use the Crowdin UI to ",(0,r.jsx)(n.strong,{children:"update your Crowdin files manually"}),":"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Crowdin UI: renaming a file",src:t(94344).Z+"",width:"2472",height:"1186"})}),"\n",(0,r.jsx)(n.h3,{id:"vcs-git-integrations",children:"VCS (Git) integrations"}),"\n",(0,r.jsxs)(n.p,{children:["Crowdin has multiple VCS integrations for ",(0,r.jsx)(n.a,{href:"https://support.crowdin.com/github-integration/",children:"GitHub"}),", GitLab, Bitbucket."]}),"\n",(0,r.jsx)(n.admonition,{title:"TL;DR",type:"warning",children:(0,r.jsx)(n.p,{children:"We recommend avoiding them."})}),"\n",(0,r.jsxs)(n.p,{children:["It could have been helpful to be able to edit the translations in both Git and Crowdin, and have a ",(0,r.jsx)(n.strong,{children:"bi-directional sync"})," between the 2 systems."]}),"\n",(0,r.jsxs)(n.p,{children:["In practice, ",(0,r.jsx)(n.strong,{children:"it didn't work very reliably"})," for a few reasons:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"The Crowdin -> Git sync works fine (with a pull request)"}),"\n",(0,r.jsx)(n.li,{children:"The Git -> Crowdin sync is manual (you have to press a button)"}),"\n",(0,r.jsx)(n.li,{children:"The heuristics used by Crowdin to match existing Markdown translations to existing Markdown sources are not 100% reliable, and you have to verify the result on Crowdin UI after any sync from Git"}),"\n",(0,r.jsx)(n.li,{children:"2 users concurrently editing on Git and Crowdin can lead to a translation loss"}),"\n",(0,r.jsxs)(n.li,{children:["It requires the ",(0,r.jsx)(n.code,{children:"crowdin.yml"})," file to be at the root of the repository"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"in-context-localization",children:"In-Context localization"}),"\n",(0,r.jsxs)(n.p,{children:["Crowdin has an ",(0,r.jsx)(n.a,{href:"https://support.crowdin.com/in-context-localization/",children:"In-Context localization"})," feature."]}),"\n",(0,r.jsxs)(n.admonition,{type:"warning",children:[(0,r.jsx)(n.p,{children:"Unfortunately, it does not work yet for technical reasons, but we have good hope it can be solved."}),(0,r.jsxs)(n.p,{children:["Crowdin replaces Markdown strings with technical IDs such as ",(0,r.jsx)(n.code,{children:"crowdin:id12345"}),", but it does so too aggressively, including hidden strings, and messes up with front matter, admonitions, JSX..."]})]}),"\n",(0,r.jsx)(n.h3,{id:"localize-edit-urls",children:"Localize edit URLs"}),"\n",(0,r.jsxs)(n.p,{children:["When the user is browsing a page at ",(0,r.jsx)(n.code,{children:"/fr/doc1"}),", the edit button will link by default to the unlocalized doc at ",(0,r.jsx)(n.code,{children:"website/docs/doc1.md"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["You may prefer the edit button to link to the Crowdin interface instead by using the ",(0,r.jsx)(n.code,{children:"editUrl"})," function to customize the edit URLs on a per-locale basis."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"const DefaultLocale = 'en';\n\nexport default {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n docs: {\n // highlight-start\n editUrl: ({locale, versionDocsDirPath, docPath}) => {\n // Link to Crowdin for French docs\n if (locale !== DefaultLocale) {\n return `https://crowdin.com/project/docusaurus-v2/${locale}`;\n }\n // Link to GitHub for English docs\n return `https://github.com/facebook/docusaurus/edit/main/website/${versionDocsDirPath}/${docPath}`;\n },\n // highlight-end\n },\n blog: {\n // highlight-start\n editUrl: ({locale, blogDirPath, blogPath}) => {\n if (locale !== DefaultLocale) {\n return `https://crowdin.com/project/docusaurus-v2/${locale}`;\n }\n return `https://github.com/facebook/docusaurus/edit/main/website/${blogDirPath}/${blogPath}`;\n },\n // highlight-start\n },\n },\n ],\n ],\n};\n"})}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:["It is currently ",(0,r.jsx)(n.strong,{children:"not possible to link to a specific file"})," in Crowdin."]})}),"\n",(0,r.jsx)(n.h3,{id:"example-configuration",children:"Example configuration"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.strong,{children:"Docusaurus configuration file"})," is a good example of using versioning and multi-instance:"]}),"\n","\n",(0,r.jsx)(l.Z,{className:"language-yaml",title:"crowdin.yml",children:'#\n# Your Crowdin credentials\n#\nproject_id: \'428890\'\napi_token_env: CROWDIN_PERSONAL_TOKEN\n# base_path: \'.\'\n# base_url: https://api.crowdin.com\n\n#\n# Choose file structure in Crowdin\n# e.g. true or false\n#\npreserve_hierarchy: true\n\n# We generally want to use the "two-letters-code" of a locale (ie the language)\n# But not for all locales!\n# "pt-BR" may be better to remain as "pt-BR" instead of being transformed to "pt"\n# Note: &/* is Yaml anchor syntax: https://support.atlassian.com/bitbucket-cloud/docs/yaml-anchors/\nlanguages_mapping: &languages_mapping\n two_letters_code:\n pt-BR: pt-BR\n\n#\n# Files configuration\n#\nfiles:\n - source: /website/i18n/en/**/*\n translation: /website/i18n/%two_letters_code%/**/%original_file_name%\n languages_mapping: *languages_mapping\n - source: /website/docs/**/*\n translation: /website/i18n/%two_letters_code%/docusaurus-plugin-content-docs/current/**/%original_file_name%\n languages_mapping: *languages_mapping\n - source: /website/community/**/*\n translation: /website/i18n/%two_letters_code%/docusaurus-plugin-content-docs-community/current/**/%original_file_name%\n languages_mapping: *languages_mapping\n - source: /website/versioned_docs/**/*\n translation: /website/i18n/%two_letters_code%/docusaurus-plugin-content-docs/**/%original_file_name%\n languages_mapping: *languages_mapping\n - source: /website/blog/**/*\n translation: /website/i18n/%two_letters_code%/docusaurus-plugin-content-blog/**/%original_file_name%\n languages_mapping: *languages_mapping\n - source: /website/src/pages/**/*\n translation: /website/i18n/%two_letters_code%/docusaurus-plugin-content-pages/**/%original_file_name%\n ignore: [/**/*.js, /**/*.jsx, /**/*.ts, /**/*.tsx, /**/*.css]\n languages_mapping: *languages_mapping\n#\n# Source files filter\n# e.g. "/resources/en/*.json"\n#\n#"source" : "/website/docs/**/*.md",\n#\n# Where translations will be placed\n# e.g. "/resources/docs/%two_letters_code%/%original_file_name%"\n#\n#"translation" : "/website/i18n/%language%/docs/current/%original_file_name%",\n#\n# Files or directories for ignore\n# e.g. ["/**/?.txt", "/**/[0-9].txt", "/**/*\\?*.txt"]\n#\n#"ignore" : [],\n#\n# The dest allows you to specify a file name in Crowdin\n# e.g. "/messages.json"\n#\n#"dest" : "",\n#\n# File type\n# e.g. "json"\n#\n#"type" : "",\n#\n# The parameter "update_option" is optional. If it is not set, after the files update the translations for changed strings will be removed. Use to fix typos and for minor changes in the source strings\n# e.g. "update_as_unapproved" or "update_without_changes"\n#\n#"update_option" : "",\n#\n# Start block (for XML only)\n#\n#\n# Defines whether to translate tags attributes.\n# e.g. 0 or 1 (Default is 1)\n#\n# "translate_attributes" : 1,\n#\n# Defines whether to translate texts placed inside the tags.\n# e.g. 0 or 1 (Default is 1)\n#\n# "translate_content" : 1,\n#\n# This is an array of strings, where each item is the XPaths to DOM element that should be imported\n# e.g. ["/content/text", "/content/text[@value]"]\n#\n# "translatable_elements" : [],\n#\n# Defines whether to split long texts into smaller text segments\n# e.g. 0 or 1 (Default is 1)\n#\n# "content_segmentation" : 1,\n#\n# End block (for XML only)\n#\n#\n# Start .properties block\n#\n#\n# Defines whether single quote should be escaped by another single quote or backslash in exported translations\n# e.g. 0 or 1 or 2 or 3 (Default is 3)\n# 0 - do not escape single quote;\n# 1 - escape single quote by another single quote;\n# 2 - escape single quote by backslash;\n# 3 - escape single quote by another single quote only in strings containing variables ( {0} ).\n#\n# "escape_quotes" : 3,\n#\n# Defines whether any special characters (=, :, ! and #) should be escaped by backslash in exported translations.\n# e.g. 0 or 1 (Default is 0)\n# 0 - do not escape special characters\n# 1 - escape special characters by a backslash\n#\n# "escape_special_characters": 0\n#\n#\n# End .properties block\n#\n#\n# Often software projects have custom names for the directories where translations are placed. crowdin-cli allows you to map your own languages to be understandable by Crowdin.\n#\n#"languages_mapping" : {\n# "two_letters_code" : {\n# "crowdin_language_code" : "local_name"\n# }\n#},\n#\n# Does the first line contain header?\n# e.g. true or false\n#\n#"first_line_contains_header" : true,\n#\n# for spreadsheets\n# e.g. "identifier,source_phrase,context,uk,ru,fr"\n#\n# "scheme" : "",\n'.split("\n").map(e=>!e.startsWith("#")&&e).filter(Boolean).join("\n")}),"\n",(0,r.jsx)(n.h3,{id:"machine-translation-mt-issue-linksimage-handling",children:"Machine Translation (MT) issue: links/image handling"}),"\n",(0,r.jsxs)(n.p,{children:["Crowdin recently rolled out some major changes to the markdown file format and now the links are treated differently than they were before. Before they were considered as tags, but now they appear as plain text. Because of these changes the plain text links are passed to the MT engine which attempts to translate the target, thus breaking the translation (for instance: this string ",(0,r.jsx)(n.code,{children:"Allez voir [ma merveilleuse page](/ma-merveilleuse-page)"})," is translated ",(0,r.jsx)(n.code,{children:"Check out [my wonderful page](/my-wonderful-page)"}),", and this breaks docusaurus i18n workflow as the page name should not be translated)."]}),"\n",(0,r.jsx)(n.p,{children:"As of 2023 Dec.7, they are not planning to change the logic of how links are treated, so you should have this in mind if you plan to use Crowdin with MT."})]})}function g(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},58636:function(e,n,t){t.d(n,{Z:()=>i});var s=t(85893);t(67294);var r=t(90496);function i(e){let{children:n,hidden:t,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,r.Z)("tabItem_pnkT",i),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>f});var s=t(85893),r=t(67294),i=t(90496),o=t(54947),a=t(3620),l=t(844),c=t(97486),d=t(32263),u=t(16971);function h(e){return r.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||r.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var g=t(71607);function m(e){let{className:n,block:t,selectedValue:r,selectValue:a,tabValues:l}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,o.o5)(),u=e=>{let n=e.currentTarget,t=l[c.indexOf(n)].value;t!==r&&(d(n),a(t))},h=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{let t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1]}}n?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":t},n),children:l.map(e=>{let{value:n,label:t,attributes:o}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:r===n?0:-1,"aria-selected":r===n,ref:e=>{c.push(e)},onKeyDown:h,onClick:u,...o,className:(0,i.Z)("tabs__item","tabItem_AQgk",o?.className,{"tabs__item--active":r===n}),children:t??n},n)})})}function x(e){let{lazy:n,children:t,selectedValue:o}=e,a=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=a.find(e=>e.props.value===o);return e?(0,r.cloneElement)(e,{className:(0,i.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:a.map((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==o}))})}function j(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:s}=e,i=function(e){let{values:n,children:t}=e;return(0,r.useMemo)(()=>{let e=n??h(t).map(e=>{let{props:{value:n,label:t,attributes:s,default:r}}=e;return{value:n,label:t,attributes:s,default:r}});return!function(e){let n=(0,d.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[o,g]=(0,r.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let s=t.find(e=>e.default)??t[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:n,tabValues:i})),[m,x]=function(e){let{queryString:n=!1,groupId:t}=e,s=(0,a.k6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,c._X)(i),(0,r.useCallback)(e=>{if(!i)return;let n=new URLSearchParams(s.location.search);n.set(i,e),s.replace({...s.location,search:n.toString()})},[i,s])]}({queryString:t,groupId:s}),[j,f]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[s,i]=(0,u.Nk)(t);return[s,(0,r.useCallback)(e=>{t&&i.set(e)},[t,i])]}({groupId:s}),w=(()=>{let e=m??j;return p({value:e,tabValues:i})?e:null})();return(0,l.Z)(()=>{w&&g(w)},[w]),{selectedValue:o,selectValue:(0,r.useCallback)(e=>{if(!p({value:e,tabValues:i}))throw Error(`Can't select invalid tab value=${e}`);g(e),x(e),f(e)},[x,f,i]),tabValues:i}}(e);return(0,s.jsxs)("div",{className:(0,i.Z)("tabs-container","tabList_Qoir"),children:[(0,s.jsx)(m,{...n,...e}),(0,s.jsx)(x,{...n,...e})]})}function f(e){let n=(0,g.Z)();return(0,s.jsx)(j,{...e,children:h(e.children)},String(n))}},56497:function(e,n,t){t.d(n,{Z:()=>i});var s=t(85893);t(67294);var r=t(71607);function i(e){let{children:n,fallback:t}=e;return(0,r.Z)()?(0,s.jsx)(s.Fragment,{children:n?.()}):t??null}},95998:function(e,n,t){t.d(n,{Z:()=>en});var s,r={};t.r(r),t.d(r,{ButtonExample:()=>N});var i=t(85893),o=t(67294),a=t(90496),l=t(71607),c=t(10075),d=t(77827),u=t(8156),h=t(56497),p=t(85108),g=t(45245),m=t(26378);function x(){let{prism:e}=(0,m.L)(),{colorMode:n}=(0,g.I)(),t=e.theme,s=e.darkTheme||t;return"dark"===n?s:t}var j=t(67490);function f(e){let{children:n}=e;return(0,i.jsx)("div",{className:(0,a.Z)("playgroundHeader_Tvsk"),children:n})}function w(){return(0,i.jsx)("div",{children:"Loading..."})}function b(){return(0,i.jsx)(h.Z,{fallback:(0,i.jsx)(w,{}),children:()=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(j.Z,{fallback:e=>(0,i.jsx)(p.Ac,{...e}),children:(0,i.jsx)(c.i5,{})}),(0,i.jsx)(c.IF,{})]})})}function y(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(f,{children:(0,i.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,i.jsx)("div",{className:"playgroundPreview_mApW",children:(0,i.jsx)(b,{})})]})}function v(){let e=(0,l.Z)();return(0,i.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function k(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(f,{children:(0,i.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,i.jsx)(v,{})]})}let C=e=>`${e};`;function _(e){let{children:n,transformCode:t,...s}=e,{siteConfig:{themeConfig:r}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:o}}=r,a=x(),l=s.metastring?.includes("noInline")??!1;return(0,i.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,i.jsx)(c.nu,{code:n?.replace(/\n$/,""),noInline:l,transformCode:t??C,theme:a,...s,children:"top"===o?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(y,{}),(0,i.jsx)(k,{})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(k,{}),(0,i.jsx)(y,{})]})})})}function N(e){return(0,i.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let T={React:o,...o,...r};var I=t(55951),L=t(6324),D=t.n(L);let B=/title=(?<quote>["'])(?<title>.*?)\1/,Z=/\{(?<range>[\d,-]+)\}/,S={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},E={...S,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},M=Object.keys(S);function A(e,n){let t=e.map(e=>{let{start:t,end:s}=E[e];return`(?:${t}\\s*(${n.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return RegExp(`^\\s*(?:${t})\\s*$`)}function O(e){let{as:n,...t}=e,s=function(e){let n={color:"--prism-color",backgroundColor:"--prism-background-color"},t={};return Object.entries(e.plain).forEach(e=>{let[s,r]=e,i=n[s];i&&"string"==typeof r&&(t[i]=r)}),t}(x());return(0,i.jsx)(n,{...t,style:s,className:(0,a.Z)(t.className,"codeBlockContainer_jDV4",I.k.common.codeBlock)})}let U={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function R(e){let{children:n,className:t}=e;return(0,i.jsx)(O,{as:"pre",tabIndex:0,className:(0,a.Z)(U.codeBlockStandalone,"thin-scrollbar",t),children:(0,i.jsx)("code",{className:U.codeBlockLines,children:n})})}var W=t(50923);let P={attributes:!0,characterData:!0,childList:!0,subtree:!0};var $=t(7316);let q={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function z(e){let{line:n,classNames:t,showLineNumbers:s,getLineProps:r,getTokenProps:o}=e;1===n.length&&"\n"===n[0].content&&(n[0].content="");let l=r({line:n,className:(0,a.Z)(t,s&&q.codeLine)}),c=n.map((e,n)=>(0,i.jsx)("span",{...o({token:e})},n));return(0,i.jsxs)("span",{...l,children:[s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:q.codeLineNumber}),(0,i.jsx)("span",{className:q.codeLineContent,children:c})]}):c,(0,i.jsx)("br",{})]})}var G=t(44771);function H(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function F(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let X={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function J(e){let{code:n,className:t}=e,[s,r]=(0,o.useState)(!1),l=(0,o.useRef)(void 0),c=(0,o.useCallback)(()=>{(0,G.Z)(n),r(!0),l.current=window.setTimeout(()=>{r(!1)},1e3)},[n]);return(0,o.useEffect)(()=>()=>window.clearTimeout(l.current),[]),(0,i.jsx)("button",{type:"button","aria-label":s?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.Z)("clean-btn",t,X.copyButton,s&&X.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:X.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(H,{className:X.copyButtonIcon}),(0,i.jsx)(F,{className:X.copyButtonSuccessIcon})]})})}function Y(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let V={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function K(e){let{className:n,onClick:t,isEnabled:s}=e,r=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:t,className:(0,a.Z)("clean-btn",n,s&&V.wordWrapButtonEnabled),"aria-label":r,title:r,children:(0,i.jsx)(Y,{className:V.wordWrapButtonIcon,"aria-hidden":"true"})})}function Q(e){var n;let{children:t,className:s="",metastring:r,title:c,showLineNumbers:d,language:u}=e,{prism:{defaultLanguage:h,magicComments:p}}=(0,m.L)(),g=(n=u??function(e){let n=e.split(" ").find(e=>e.startsWith("language-"));return n?.replace(/language-/,"")}(s)??h,n?.toLowerCase()),j=x(),f=function(){let[e,n]=(0,o.useState)(!1),[t,s]=(0,o.useState)(!1),r=(0,o.useRef)(null),i=(0,o.useCallback)(()=>{let t=r.current.querySelector("code");e?t.removeAttribute("style"):(t.style.whiteSpace="pre-wrap",t.style.overflowWrap="anywhere"),n(e=>!e)},[r,e]),a=(0,o.useCallback)(()=>{let{scrollWidth:e,clientWidth:n}=r.current;s(e>n||r.current.querySelector("code").hasAttribute("style"))},[r]);return!function(e,n){let[t,s]=(0,o.useState)(),r=(0,o.useCallback)(()=>{s(e.current?.closest("[role=tabpanel][hidden]"))},[e,s]);(0,o.useEffect)(()=>{r()},[r]),function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:P,s=(0,W.zX)(n),r=(0,W.Ql)(t);(0,o.useEffect)(()=>{let n=new MutationObserver(s);return e&&n.observe(e,r),()=>n.disconnect()},[e,s,r])}(t,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),r())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(r,a),(0,o.useEffect)(()=>{a()},[e,a]),(0,o.useEffect)(()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)}),[a]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:t,toggle:i}}(),w=(0,l.Z)(),b=(r?.match(B)?.groups.title??"")||c,{lineClassNames:y,code:v}=function(e,n){let t=e.replace(/\n$/,""),{language:s,magicComments:r,metastring:i}=n;if(i&&Z.test(i)){let e=i.match(Z).groups.range;if(0===r.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${i}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let n=r[0].className;return{lineClassNames:Object.fromEntries(D()(e).filter(e=>e>0).map(e=>[e-1,[n]])),code:t}}if(void 0===s)return{lineClassNames:{},code:t};let o=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return A(["js","jsBlock"],n);case"jsx":case"tsx":return A(["js","jsBlock","jsx"],n);case"html":return A(["js","jsBlock","html"],n);case"python":case"py":case"bash":return A(["bash"],n);case"markdown":case"md":return A(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return A(["tex"],n);case"lua":case"haskell":return A(["lua"],n);case"sql":return A(["lua","jsBlock"],n);case"wasm":return A(["wasm"],n);case"vb":case"vba":case"visual-basic":return A(["vb","rem"],n);case"vbnet":return A(["vbnet","rem"],n);case"batch":return A(["rem"],n);case"basic":return A(["rem","f90"],n);case"fsharp":return A(["js","ml"],n);case"ocaml":case"sml":return A(["ml"],n);case"fortran":return A(["f90"],n);case"cobol":return A(["cobol"],n);default:return A(M,n)}}(s,r),a=t.split("\n"),l=Object.fromEntries(r.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(r.filter(e=>e.line).map(e=>{let{className:n,line:t}=e;return[t,n]})),d=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.start,n]})),u=Object.fromEntries(r.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.end,n]}));for(let e=0;e<a.length;){let n=a[e].match(o);if(!n){e+=1;continue}let t=n.slice(1).find(e=>void 0!==e);c[t]?l[c[t]].range+=`${e},`:d[t]?l[d[t]].start=e:u[t]&&(l[u[t]].range+=`${l[u[t]].start}-${e-1},`),a.splice(e,1)}t=a.join("\n");let h={};return Object.entries(l).forEach(e=>{let[n,{range:t}]=e;D()(t).forEach(e=>{h[e]??=[],h[e].push(n)})}),{lineClassNames:h,code:t}}(t,{metastring:r,language:g,magicComments:p}),k=function(e){let{showLineNumbers:n,metastring:t}=e;return"boolean"==typeof n?n?1:void 0:"number"==typeof n?n:function(e){let n=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}(t)}({showLineNumbers:d,metastring:r});return(0,i.jsxs)(O,{as:"div",className:(0,a.Z)(s,g&&!s.includes(`language-${g}`)&&`language-${g}`),children:[b&&(0,i.jsx)("div",{className:U.codeBlockTitle,children:b}),(0,i.jsxs)("div",{className:U.codeBlockContent,children:[(0,i.jsx)($.y$,{theme:j,code:v,language:g??"text",children:e=>{let{className:n,style:t,tokens:s,getLineProps:r,getTokenProps:o}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,a.Z)(n,U.codeBlock,"thin-scrollbar"),style:t,children:(0,i.jsx)("code",{className:(0,a.Z)(U.codeBlockLines,void 0!==k&&U.codeBlockLinesWithNumbering),style:void 0===k?void 0:{counterReset:`line-count ${k-1}`},children:s.map((e,n)=>(0,i.jsx)(z,{line:e,getLineProps:r,getTokenProps:o,classNames:y[n],showLineNumbers:void 0!==k},n))})})}}),w?(0,i.jsxs)("div",{className:U.buttonGroup,children:[(f.isEnabled||f.isCodeScrollable)&&(0,i.jsx)(K,{className:U.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),(0,i.jsx)(J,{className:U.codeButton,code:v})]}):null]})]})}let ee=(s=function(e){let{children:n,...t}=e,s=(0,l.Z)(),r=o.Children.toArray(n).some(e=>(0,o.isValidElement)(e))?n:Array.isArray(n)?n.join(""):n;return(0,i.jsx)("string"==typeof r?Q:R,{...t,children:r},String(s))},function(e){return e.live?(0,i.jsx)(_,{scope:T,...e}):(0,i.jsx)(s,{...e})});function en(e){return(0,i.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/3c0765d5.4d11c57e.js b/assets/js/3c0765d5.4d11c57e.js new file mode 100644 index 0000000000..7329b1f4f8 --- /dev/null +++ b/assets/js/3c0765d5.4d11c57e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["17967"],{46592:function(e,t,r){r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>n,toc:()=>c});var n=r(2536),o=r(85893),s=r(80980);let l={mdx:{format:"md"},date:"2024-05-03T20:00",authors:["slorber"]},i="3.3.2",a={authorsImageUrls:[void 0]},c=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"Committers: 1",id:"committers-1",level:2}];function u(e){let t={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"docusaurus-module-type-aliases"}),", ",(0,o.jsx)(t.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/10103",children:"#10103"})," fix(core): do not recreate ReactDOM Root, fix React warning on hot reload (",(0,o.jsx)(t.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"committers-1",children:"Committers: 1"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["S\xe9bastien Lorber (",(0,o.jsx)(t.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]})]})}function d(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},80980:function(e,t,r){r.d(t,{Z:()=>i,a:()=>l});var n=r(67294);let o={},s=n.createContext(o);function l(e){let t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),n.createElement(s.Provider,{value:t},e.children)}},2536:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.3.2","source":"@site/changelog/source/3.3.2.md","title":"3.3.2","description":"Bug Fix","date":"2024-05-03T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-05-03T20:00","authors":["slorber"]},"unlisted":false,"prevItem":{"title":"3.4.0","permalink":"/changelog/3.4.0"},"nextItem":{"title":"3.3.1","permalink":"/changelog/3.3.1"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/3c0a97de.e4f01361.js b/assets/js/3c0a97de.e4f01361.js new file mode 100644 index 0000000000..bcf7eee55b --- /dev/null +++ b/assets/js/3c0a97de.e4f01361.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["97914"],{46257:function(e){e.exports=JSON.parse('{"allContent":{"docusaurus-plugin-content-docs":{"default":{"loadedVersions":[{"versionName":"current","label":"Canary \uD83D\uDEA7","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","path":"/docs","tagsPath":"/docs/tags","isLast":true,"routePriority":-1,"sidebarFilePath":"/home/runner/work/docusaurus/docusaurus/website/sidebars.ts","contentPath":"/home/runner/work/docusaurus/docusaurus/website/docs","contentPathLocalized":"/home/runner/work/docusaurus/docusaurus/website/i18n/en/docusaurus-plugin-content-docs/current","docs":[{"id":"advanced/architecture","title":"Architecture","description":"How Docusaurus works to build your app","source":"@site/docs/advanced/architecture.mdx","sourceDirName":"advanced","slug":"/advanced/architecture","permalink":"/docs/advanced/architecture","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/advanced/architecture.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"How Docusaurus works to build your app"},"sidebar":"docs","previous":{"title":"Advanced Tutorials","permalink":"/docs/advanced/"},"next":{"title":"Plugins","permalink":"/docs/advanced/plugins"}},{"id":"advanced/client","title":"Client architecture","description":"How the Docusaurus client is structured","source":"@site/docs/advanced/client.mdx","sourceDirName":"advanced","slug":"/advanced/client","permalink":"/docs/advanced/client","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/advanced/client.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"How the Docusaurus client is structured"},"sidebar":"docs","previous":{"title":"Static site generation","permalink":"/docs/advanced/ssg"},"next":{"title":"Upgrading Docusaurus","permalink":"/docs/migration"}},{"id":"advanced/index","title":"Advanced Tutorials","description":"This section is not going to be very structured, but we will cover the following topics:","source":"@site/docs/advanced/index.mdx","sourceDirName":"advanced","slug":"/advanced/","permalink":"/docs/advanced/","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/advanced/index.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"docs","previous":{"title":"What\'s next?","permalink":"/docs/guides/whats-next"},"next":{"title":"Architecture","permalink":"/docs/advanced/architecture"}},{"id":"advanced/plugins","title":"Plugins","description":"Plugins are the building blocks of features in a Docusaurus site. Each plugin handles its own individual feature. Plugins may work and be distributed as part of a bundle via presets.","source":"@site/docs/advanced/plugins.mdx","sourceDirName":"advanced","slug":"/advanced/plugins","permalink":"/docs/advanced/plugins","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/advanced/plugins.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"docs","previous":{"title":"Architecture","permalink":"/docs/advanced/architecture"},"next":{"title":"Routing","permalink":"/docs/advanced/routing"}},{"id":"advanced/routing","title":"Routing","description":"Docusaurus\' routing system follows single-page application conventions: one route, one component.","source":"@site/docs/advanced/routing.mdx","sourceDirName":"advanced","slug":"/advanced/routing","permalink":"/docs/advanced/routing","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/advanced/routing.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Docusaurus\' routing system follows single-page application conventions: one route, one component."},"sidebar":"docs","previous":{"title":"Plugins","permalink":"/docs/advanced/plugins"},"next":{"title":"Static site generation","permalink":"/docs/advanced/ssg"}},{"id":"advanced/ssg","title":"Static site generation (SSG)","description":"Docusaurus statically renders your React code into HTML, allowing faster load speed and better SEO.","source":"@site/docs/advanced/ssg.mdx","sourceDirName":"advanced","slug":"/advanced/ssg","permalink":"/docs/advanced/ssg","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/advanced/ssg.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"sidebar_label":"Static site generation","description":"Docusaurus statically renders your React code into HTML, allowing faster load speed and better SEO."},"sidebar":"docs","previous":{"title":"Routing","permalink":"/docs/advanced/routing"},"next":{"title":"Client architecture","permalink":"/docs/advanced/client"}},{"id":"api/docusaurus.config.js","title":"docusaurus.config.js","description":"API reference for Docusaurus configuration file.","source":"@site/docs/api/docusaurus.config.js.mdx","sourceDirName":"api","slug":"/api/docusaurus-config","permalink":"/docs/api/docusaurus-config","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/docusaurus.config.js.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":0,"frontMatter":{"sidebar_position":0,"description":"API reference for Docusaurus configuration file.","slug":"/api/docusaurus-config"},"sidebar":"api","previous":{"title":"Client API","permalink":"/docs/docusaurus-core"},"next":{"title":"Plugin Method References","permalink":"/docs/api/plugin-methods/"}},{"id":"api/misc/create-docusaurus","title":"\uD83D\uDCE6 create-docusaurus","description":"A scaffolding utility to help you instantly set up a functional Docusaurus app.","source":"@site/docs/api/misc/create-docusaurus.mdx","sourceDirName":"api/misc","slug":"/api/misc/create-docusaurus","permalink":"/docs/api/misc/create-docusaurus","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/create-docusaurus.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":0,"frontMatter":{"sidebar_position":0,"slug":"/api/misc/create-docusaurus"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 theme-mermaid","permalink":"/docs/api/themes/@docusaurus/theme-mermaid"},"next":{"title":"\uD83D\uDCE6 eslint-plugin","permalink":"/docs/api/misc/@docusaurus/eslint-plugin"}},{"id":"api/misc/eslint-plugin/no-html-links","title":"no-html-links","description":"Ensure that the Docusaurus ` component is used instead of ` tags.","source":"@site/docs/api/misc/eslint-plugin/no-html-links.mdx","sourceDirName":"api/misc/eslint-plugin","slug":"/api/misc/@docusaurus/eslint-plugin/no-html-links","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/no-html-links","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/eslint-plugin/no-html-links.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/api/misc/@docusaurus/eslint-plugin/no-html-links"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 eslint-plugin","permalink":"/docs/api/misc/@docusaurus/eslint-plugin"},"next":{"title":"no-untranslated-text","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text"}},{"id":"api/misc/eslint-plugin/no-untranslated-text","title":"no-untranslated-text","description":"Enforce text labels in JSX to be wrapped by translate calls.","source":"@site/docs/api/misc/eslint-plugin/no-untranslated-text.mdx","sourceDirName":"api/misc/eslint-plugin","slug":"/api/misc/@docusaurus/eslint-plugin/no-untranslated-text","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/eslint-plugin/no-untranslated-text.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/api/misc/@docusaurus/eslint-plugin/no-untranslated-text"},"sidebar":"api","previous":{"title":"no-html-links","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/no-html-links"},"next":{"title":"prefer-docusaurus-heading","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading"}},{"id":"api/misc/eslint-plugin/prefer-docusaurus-heading","title":"prefer-docusaurus-heading","description":"Ensures that the @theme/Heading theme component provided by Docusaurus theme-classic is used instead of `` tags for headings.","source":"@site/docs/api/misc/eslint-plugin/prefer-docusaurus-heading.mdx","sourceDirName":"api/misc/eslint-plugin","slug":"/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/eslint-plugin/prefer-docusaurus-heading.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading"},"sidebar":"api","previous":{"title":"no-untranslated-text","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text"},"next":{"title":"string-literal-i18n-messages","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages"}},{"id":"api/misc/eslint-plugin/README","title":"\uD83D\uDCE6 eslint-plugin","description":"ESLint is a tool that statically analyzes your code and reports problems or suggests best practices through editor hints and command line. Docusaurus provides an ESLint plugin to enforce best Docusaurus practices.","source":"@site/docs/api/misc/eslint-plugin/README.mdx","sourceDirName":"api/misc/eslint-plugin","slug":"/api/misc/@docusaurus/eslint-plugin","permalink":"/docs/api/misc/@docusaurus/eslint-plugin","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/eslint-plugin/README.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":1,"frontMatter":{"sidebar_position":1,"slug":"/api/misc/@docusaurus/eslint-plugin"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 create-docusaurus","permalink":"/docs/api/misc/create-docusaurus"},"next":{"title":"no-html-links","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/no-html-links"}},{"id":"api/misc/eslint-plugin/string-literal-i18n-messages","title":"string-literal-i18n-messages","description":"Enforce translate APIs to be called on plain text labels.","source":"@site/docs/api/misc/eslint-plugin/string-literal-i18n-messages.mdx","sourceDirName":"api/misc/eslint-plugin","slug":"/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/eslint-plugin/string-literal-i18n-messages.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages"},"sidebar":"api","previous":{"title":"prefer-docusaurus-heading","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading"},"next":{"title":"\uD83D\uDCE6 logger","permalink":"/docs/api/misc/@docusaurus/logger"}},{"id":"api/misc/logger/logger","title":"\uD83D\uDCE6 logger","description":"An encapsulated logger for semantically formatting console messages.","source":"@site/docs/api/misc/logger/logger.mdx","sourceDirName":"api/misc/logger","slug":"/api/misc/@docusaurus/logger","permalink":"/docs/api/misc/@docusaurus/logger","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/logger/logger.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":2,"frontMatter":{"sidebar_position":2,"slug":"/api/misc/@docusaurus/logger"},"sidebar":"api","previous":{"title":"string-literal-i18n-messages","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages"}},{"id":"api/plugin-methods/extend-infrastructure","title":"Extending infrastructure","description":"Docusaurus has some infrastructure like hot reloading, CLI, and swizzling, that can be extended by external plugins.","source":"@site/docs/api/plugin-methods/extend-infrastructure.mdx","sourceDirName":"api/plugin-methods","slug":"/api/plugin-methods/extend-infrastructure","permalink":"/docs/api/plugin-methods/extend-infrastructure","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugin-methods/extend-infrastructure.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"api","previous":{"title":"Lifecycle APIs","permalink":"/docs/api/plugin-methods/lifecycle-apis"},"next":{"title":"I18n lifecycles","permalink":"/docs/api/plugin-methods/i18n-lifecycles"}},{"id":"api/plugin-methods/i18n-lifecycles","title":"I18n lifecycles","description":"Plugins use these lifecycles to load i18n-related data.","source":"@site/docs/api/plugin-methods/i18n-lifecycles.mdx","sourceDirName":"api/plugin-methods","slug":"/api/plugin-methods/i18n-lifecycles","permalink":"/docs/api/plugin-methods/i18n-lifecycles","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugin-methods/i18n-lifecycles.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"api","previous":{"title":"Extending infrastructure","permalink":"/docs/api/plugin-methods/extend-infrastructure"},"next":{"title":"Static methods","permalink":"/docs/api/plugin-methods/static-methods"}},{"id":"api/plugin-methods/lifecycle-apis","title":"Lifecycle APIs","description":"During the build, plugins are loaded in parallel to fetch their own contents and render them to routes. Plugins may also configure webpack or post-process the generated files.","source":"@site/docs/api/plugin-methods/lifecycle-apis.mdx","sourceDirName":"api/plugin-methods","slug":"/api/plugin-methods/lifecycle-apis","permalink":"/docs/api/plugin-methods/lifecycle-apis","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugin-methods/lifecycle-apis.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":1,"frontMatter":{"sidebar_position":1,"toc_max_heading_level":4},"sidebar":"api","previous":{"title":"Plugin Method References","permalink":"/docs/api/plugin-methods/"},"next":{"title":"Extending infrastructure","permalink":"/docs/api/plugin-methods/extend-infrastructure"}},{"id":"api/plugin-methods/README","title":"Plugin Method References","description":"This section is a work in progress. Anchor links or even URLs are not guaranteed to be stable.","source":"@site/docs/api/plugin-methods/README.mdx","sourceDirName":"api/plugin-methods","slug":"/api/plugin-methods/","permalink":"/docs/api/plugin-methods/","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugin-methods/README.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"api","previous":{"title":"docusaurus.config.js","permalink":"/docs/api/docusaurus-config"},"next":{"title":"Lifecycle APIs","permalink":"/docs/api/plugin-methods/lifecycle-apis"}},{"id":"api/plugin-methods/static-methods","title":"Static methods","description":"Static methods are not part of the plugin instance\u2014they are attached to the constructor function. These methods are used to validate and normalize the plugin options and theme config, which are then used as constructor parameters to initialize the plugin instance.","source":"@site/docs/api/plugin-methods/static-methods.mdx","sourceDirName":"api/plugin-methods","slug":"/api/plugin-methods/static-methods","permalink":"/docs/api/plugin-methods/static-methods","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugin-methods/static-methods.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":4,"frontMatter":{"sidebar_position":4},"sidebar":"api","previous":{"title":"I18n lifecycles","permalink":"/docs/api/plugin-methods/i18n-lifecycles"},"next":{"title":"Plugins overview","permalink":"/docs/api/plugins"}},{"id":"api/plugins/plugin-client-redirects","title":"\uD83D\uDCE6 plugin-client-redirects","description":"Docusaurus Plugin to generate client-side redirects.","source":"@site/docs/api/plugins/plugin-client-redirects.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-client-redirects","permalink":"/docs/api/plugins/@docusaurus/plugin-client-redirects","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-client-redirects.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":4,"frontMatter":{"sidebar_position":4,"slug":"/api/plugins/@docusaurus/plugin-client-redirects"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-content-pages","permalink":"/docs/api/plugins/@docusaurus/plugin-content-pages"},"next":{"title":"\uD83D\uDCE6 plugin-debug","permalink":"/docs/api/plugins/@docusaurus/plugin-debug"}},{"id":"api/plugins/plugin-content-blog","title":"\uD83D\uDCE6 plugin-content-blog","description":"Provides the Blog feature and is the default blog plugin for Docusaurus.","source":"@site/docs/api/plugins/plugin-content-blog.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-content-blog","permalink":"/docs/api/plugins/@docusaurus/plugin-content-blog","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-content-blog.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":2,"frontMatter":{"sidebar_position":2,"slug":"/api/plugins/@docusaurus/plugin-content-blog"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-content-docs","permalink":"/docs/api/plugins/@docusaurus/plugin-content-docs"},"next":{"title":"\uD83D\uDCE6 plugin-content-pages","permalink":"/docs/api/plugins/@docusaurus/plugin-content-pages"}},{"id":"api/plugins/plugin-content-docs","title":"\uD83D\uDCE6 plugin-content-docs","description":"Provides the Docs functionality and is the default docs plugin for Docusaurus.","source":"@site/docs/api/plugins/plugin-content-docs.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-content-docs","permalink":"/docs/api/plugins/@docusaurus/plugin-content-docs","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-content-docs.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":1,"frontMatter":{"sidebar_position":1,"slug":"/api/plugins/@docusaurus/plugin-content-docs"},"sidebar":"api","previous":{"title":"Plugins overview","permalink":"/docs/api/plugins"},"next":{"title":"\uD83D\uDCE6 plugin-content-blog","permalink":"/docs/api/plugins/@docusaurus/plugin-content-blog"}},{"id":"api/plugins/plugin-content-pages","title":"\uD83D\uDCE6 plugin-content-pages","description":"The default pages plugin for Docusaurus. The classic template ships with this plugin with default configurations. This plugin provides creating pages functionality.","source":"@site/docs/api/plugins/plugin-content-pages.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-content-pages","permalink":"/docs/api/plugins/@docusaurus/plugin-content-pages","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-content-pages.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":3,"frontMatter":{"sidebar_position":3,"slug":"/api/plugins/@docusaurus/plugin-content-pages"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-content-blog","permalink":"/docs/api/plugins/@docusaurus/plugin-content-blog"},"next":{"title":"\uD83D\uDCE6 plugin-client-redirects","permalink":"/docs/api/plugins/@docusaurus/plugin-client-redirects"}},{"id":"api/plugins/plugin-debug","title":"\uD83D\uDCE6 plugin-debug","description":"The debug plugin will display useful debug information at http3000/docusaurus/debug.","source":"@site/docs/api/plugins/plugin-debug.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-debug","permalink":"/docs/api/plugins/@docusaurus/plugin-debug","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-debug.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":5,"frontMatter":{"sidebar_position":5,"slug":"/api/plugins/@docusaurus/plugin-debug"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-client-redirects","permalink":"/docs/api/plugins/@docusaurus/plugin-client-redirects"},"next":{"title":"\uD83D\uDCE6 plugin-google-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-google-analytics"}},{"id":"api/plugins/plugin-google-analytics","title":"\uD83D\uDCE6 plugin-google-analytics","description":"The default Google Analytics plugin. It is a JavaScript library for measuring how users interact with your website in the production build. If you are using Google Analytics 4 you might need to consider using plugin-google-gtag instead.","source":"@site/docs/api/plugins/plugin-google-analytics.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-google-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-google-analytics","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-google-analytics.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":6,"frontMatter":{"sidebar_position":6,"slug":"/api/plugins/@docusaurus/plugin-google-analytics"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-debug","permalink":"/docs/api/plugins/@docusaurus/plugin-debug"},"next":{"title":"\uD83D\uDCE6 plugin-google-gtag","permalink":"/docs/api/plugins/@docusaurus/plugin-google-gtag"}},{"id":"api/plugins/plugin-google-gtag","title":"\uD83D\uDCE6 plugin-google-gtag","description":"The default Global Site Tag (gtag.js) plugin. It is a JavaScript tagging framework and API that allows you to send event data to Google Analytics, Google Ads, and Google Marketing Platform. This section describes how to configure a Docusaurus site to enable global site tag for Google Analytics.","source":"@site/docs/api/plugins/plugin-google-gtag.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-google-gtag","permalink":"/docs/api/plugins/@docusaurus/plugin-google-gtag","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-google-gtag.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":7,"frontMatter":{"sidebar_position":7,"slug":"/api/plugins/@docusaurus/plugin-google-gtag"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-google-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-google-analytics"},"next":{"title":"\uD83D\uDCE6 plugin-rsdoctor","permalink":"/docs/api/plugins/@docusaurus/plugin-rsdoctor"}},{"id":"api/plugins/plugin-google-tag-manager","title":"\uD83D\uDCE6 plugin-google-tag-manager","description":"A plugin for adding Google Tag Manager (gtm.js) to a Docusaurus site. Use this plugin in conjunction with the standard gtag plugin for in-depth analysis of how users are using your site.","source":"@site/docs/api/plugins/plugin-google-tag-manager.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-google-tag-manager","permalink":"/docs/api/plugins/@docusaurus/plugin-google-tag-manager","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-google-tag-manager.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":8,"frontMatter":{"sidebar_position":8,"slug":"/api/plugins/@docusaurus/plugin-google-tag-manager"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-svgr","permalink":"/docs/api/plugins/@docusaurus/plugin-svgr"},"next":{"title":"\uD83D\uDCE6 plugin-ideal-image","permalink":"/docs/api/plugins/@docusaurus/plugin-ideal-image"}},{"id":"api/plugins/plugin-ideal-image","title":"\uD83D\uDCE6 plugin-ideal-image","description":"Docusaurus Plugin to generate an almost ideal image (responsive, lazy-loading, and low quality placeholder).","source":"@site/docs/api/plugins/plugin-ideal-image.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-ideal-image","permalink":"/docs/api/plugins/@docusaurus/plugin-ideal-image","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-ideal-image.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":8,"frontMatter":{"sidebar_position":8,"slug":"/api/plugins/@docusaurus/plugin-ideal-image"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-google-tag-manager","permalink":"/docs/api/plugins/@docusaurus/plugin-google-tag-manager"},"next":{"title":"\uD83D\uDCE6 plugin-pwa","permalink":"/docs/api/plugins/@docusaurus/plugin-pwa"}},{"id":"api/plugins/plugin-pwa","title":"\uD83D\uDCE6 plugin-pwa","description":"Docusaurus Plugin to add PWA support using Workbox. This plugin generates a Service Worker in production build only, and allows you to create fully PWA-compliant documentation site with offline and installation support.","source":"@site/docs/api/plugins/plugin-pwa.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-pwa","permalink":"/docs/api/plugins/@docusaurus/plugin-pwa","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-pwa.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":9,"frontMatter":{"sidebar_position":9,"slug":"/api/plugins/@docusaurus/plugin-pwa"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-ideal-image","permalink":"/docs/api/plugins/@docusaurus/plugin-ideal-image"},"next":{"title":"\uD83D\uDCE6 plugin-sitemap","permalink":"/docs/api/plugins/@docusaurus/plugin-sitemap"}},{"id":"api/plugins/plugin-rsdoctor","title":"\uD83D\uDCE6 plugin-rsdoctor","description":"A Rsdoctor plugin can help you troubleshoot the bundling phase of your Docusaurus site, supporting both Webpack and Rspack.","source":"@site/docs/api/plugins/plugin-rsdoctor.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-rsdoctor","permalink":"/docs/api/plugins/@docusaurus/plugin-rsdoctor","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-rsdoctor.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":7,"frontMatter":{"sidebar_position":7,"slug":"/api/plugins/@docusaurus/plugin-rsdoctor"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-google-gtag","permalink":"/docs/api/plugins/@docusaurus/plugin-google-gtag"},"next":{"title":"\uD83D\uDCE6 plugin-svgr","permalink":"/docs/api/plugins/@docusaurus/plugin-svgr"}},{"id":"api/plugins/plugin-sitemap","title":"\uD83D\uDCE6 plugin-sitemap","description":"This plugin creates sitemaps for your site so that search engine crawlers can crawl your site more accurately.","source":"@site/docs/api/plugins/plugin-sitemap.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-sitemap","permalink":"/docs/api/plugins/@docusaurus/plugin-sitemap","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-sitemap.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":10,"frontMatter":{"sidebar_position":10,"slug":"/api/plugins/@docusaurus/plugin-sitemap"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-pwa","permalink":"/docs/api/plugins/@docusaurus/plugin-pwa"},"next":{"title":"\uD83D\uDCE6 plugin-vercel-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-vercel-analytics"}},{"id":"api/plugins/plugin-svgr","title":"\uD83D\uDCE6 plugin-svgr","description":"An SVGR plugin to transform SVG files into React components automatically at build time.","source":"@site/docs/api/plugins/plugin-svgr.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-svgr","permalink":"/docs/api/plugins/@docusaurus/plugin-svgr","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-svgr.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":7,"frontMatter":{"sidebar_position":7,"slug":"/api/plugins/@docusaurus/plugin-svgr"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-rsdoctor","permalink":"/docs/api/plugins/@docusaurus/plugin-rsdoctor"},"next":{"title":"\uD83D\uDCE6 plugin-google-tag-manager","permalink":"/docs/api/plugins/@docusaurus/plugin-google-tag-manager"}},{"id":"api/plugins/plugin-vercel-analytics","title":"\uD83D\uDCE6 plugin-vercel-analytics","description":"Vercel Analytics provides comprehensive insights into your website\'s visitors, tracking top pages, referrers, and demographics like location, operating systems, and browser info.","source":"@site/docs/api/plugins/plugin-vercel-analytics.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-vercel-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-vercel-analytics","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-vercel-analytics.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":11,"frontMatter":{"sidebar_position":11,"slug":"/api/plugins/@docusaurus/plugin-vercel-analytics"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-sitemap","permalink":"/docs/api/plugins/@docusaurus/plugin-sitemap"},"next":{"title":"Themes overview","permalink":"/docs/api/themes"}},{"id":"api/plugins/plugins-overview","title":"Docusaurus plugins","description":"We provide official Docusaurus plugins.","source":"@site/docs/api/plugins/overview.mdx","sourceDirName":"api/plugins","slug":"/api/plugins","permalink":"/docs/api/plugins","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/overview.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":0,"frontMatter":{"sidebar_position":0,"id":"plugins-overview","sidebar_label":"Plugins overview","slug":"/api/plugins"},"sidebar":"api","previous":{"title":"Static methods","permalink":"/docs/api/plugin-methods/static-methods"},"next":{"title":"\uD83D\uDCE6 plugin-content-docs","permalink":"/docs/api/plugins/@docusaurus/plugin-content-docs"}},{"id":"api/themes/theme-classic","title":"\uD83D\uDCE6 theme-classic","description":"The classic theme for Docusaurus.","source":"@site/docs/api/themes/theme-classic.mdx","sourceDirName":"api/themes","slug":"/api/themes/@docusaurus/theme-classic","permalink":"/docs/api/themes/@docusaurus/theme-classic","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/theme-classic.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":2,"frontMatter":{"sidebar_position":2,"slug":"/api/themes/@docusaurus/theme-classic"},"sidebar":"api","previous":{"title":"Configuration","permalink":"/docs/api/themes/configuration"},"next":{"title":"\uD83D\uDCE6 theme-live-codeblock","permalink":"/docs/api/themes/@docusaurus/theme-live-codeblock"}},{"id":"api/themes/theme-configuration","title":"Theme configuration","description":"This configuration applies to all main themes.","source":"@site/docs/api/themes/theme-configuration.mdx","sourceDirName":"api/themes","slug":"/api/themes/configuration","permalink":"/docs/api/themes/configuration","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/theme-configuration.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":1,"frontMatter":{"sidebar_position":1,"sidebar_label":"Configuration","slug":"/api/themes/configuration","toc_max_heading_level":4},"sidebar":"api","previous":{"title":"Themes overview","permalink":"/docs/api/themes"},"next":{"title":"\uD83D\uDCE6 theme-classic","permalink":"/docs/api/themes/@docusaurus/theme-classic"}},{"id":"api/themes/theme-live-codeblock","title":"\uD83D\uDCE6 theme-live-codeblock","description":"This theme provides a @theme/CodeBlock component that is powered by react-live. You can read more on interactive code editor documentation.","source":"@site/docs/api/themes/theme-live-codeblock.mdx","sourceDirName":"api/themes","slug":"/api/themes/@docusaurus/theme-live-codeblock","permalink":"/docs/api/themes/@docusaurus/theme-live-codeblock","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/theme-live-codeblock.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":3,"frontMatter":{"sidebar_position":3,"slug":"/api/themes/@docusaurus/theme-live-codeblock"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 theme-classic","permalink":"/docs/api/themes/@docusaurus/theme-classic"},"next":{"title":"\uD83D\uDCE6 theme-search-algolia","permalink":"/docs/api/themes/@docusaurus/theme-search-algolia"}},{"id":"api/themes/theme-mermaid","title":"\uD83D\uDCE6 theme-mermaid","description":"This theme provides a @theme/Mermaid component that is powered by mermaid. You can read more on diagrams documentation.","source":"@site/docs/api/themes/theme-mermaid.mdx","sourceDirName":"api/themes","slug":"/api/themes/@docusaurus/theme-mermaid","permalink":"/docs/api/themes/@docusaurus/theme-mermaid","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/theme-mermaid.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":5,"frontMatter":{"sidebar_position":5,"slug":"/api/themes/@docusaurus/theme-mermaid"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 theme-search-algolia","permalink":"/docs/api/themes/@docusaurus/theme-search-algolia"},"next":{"title":"\uD83D\uDCE6 create-docusaurus","permalink":"/docs/api/misc/create-docusaurus"}},{"id":"api/themes/theme-search-algolia","title":"\uD83D\uDCE6 theme-search-algolia","description":"This theme provides a @theme/SearchBar component that integrates with Algolia DocSearch easily. Combined with @docusaurus/theme-classic, it provides a very easy search integration. You can read more on search documentation.","source":"@site/docs/api/themes/theme-search-algolia.mdx","sourceDirName":"api/themes","slug":"/api/themes/@docusaurus/theme-search-algolia","permalink":"/docs/api/themes/@docusaurus/theme-search-algolia","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/theme-search-algolia.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":4,"frontMatter":{"sidebar_position":4,"slug":"/api/themes/@docusaurus/theme-search-algolia"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 theme-live-codeblock","permalink":"/docs/api/themes/@docusaurus/theme-live-codeblock"},"next":{"title":"\uD83D\uDCE6 theme-mermaid","permalink":"/docs/api/themes/@docusaurus/theme-mermaid"}},{"id":"api/themes/themes-overview","title":"Docusaurus themes","description":"We provide official Docusaurus themes.","source":"@site/docs/api/themes/overview.mdx","sourceDirName":"api/themes","slug":"/api/themes","permalink":"/docs/api/themes","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/overview.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":0,"frontMatter":{"sidebar_position":0,"id":"themes-overview","sidebar_label":"Themes overview","slug":"/api/themes"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-vercel-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-vercel-analytics"},"next":{"title":"Configuration","permalink":"/docs/api/themes/configuration"}},{"id":"blog","title":"Blog","description":"Deploy a full-featured blog in no time with Docusaurus.","source":"@site/docs/blog.mdx","sourceDirName":".","slug":"/blog","permalink":"/docs/blog","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/blog.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Deploy a full-featured blog in no time with Docusaurus."},"sidebar":"docs","previous":{"title":"Docs Multi-instance","permalink":"/docs/docs-multi-instance"},"next":{"title":"Markdown Features","permalink":"/docs/markdown-features"}},{"id":"browser-support","title":"Browser support","description":"How to keep a reasonable bundle size while ensuring sufficient browser support.","source":"@site/docs/browser-support.mdx","sourceDirName":".","slug":"/browser-support","permalink":"/docs/browser-support","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/browser-support.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"How to keep a reasonable bundle size while ensuring sufficient browser support."},"sidebar":"docs","previous":{"title":"Search","permalink":"/docs/search"},"next":{"title":"SEO","permalink":"/docs/seo"}},{"id":"cli","title":"CLI","description":"Docusaurus provides a set of scripts to help you generate, serve, and deploy your website.","source":"@site/docs/cli.mdx","sourceDirName":".","slug":"/cli","permalink":"/docs/cli","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/cli.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Docusaurus provides a set of scripts to help you generate, serve, and deploy your website."},"sidebar":"api","next":{"title":"Client API","permalink":"/docs/docusaurus-core"}},{"id":"configuration","title":"Configuration","description":"Configuring your site\'s behavior through docusaurus.config.js and more.","source":"@site/docs/configuration.mdx","sourceDirName":".","slug":"/configuration","permalink":"/docs/configuration","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/configuration.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Configuring your site\'s behavior through docusaurus.config.js and more."},"sidebar":"docs","previous":{"title":"Installation","permalink":"/docs/installation"},"next":{"title":"Playground","permalink":"/docs/playground"}},{"id":"deployment","title":"Deployment","description":"Deploy your Docusaurus app for production on a range of static site hosting services.","source":"@site/docs/deployment.mdx","sourceDirName":".","slug":"/deployment","permalink":"/docs/deployment","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/deployment.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Deploy your Docusaurus app for production on a range of static site hosting services."},"sidebar":"docs","previous":{"title":"Using Plugins","permalink":"/docs/using-plugins"},"next":{"title":"i18n - Introduction","permalink":"/docs/i18n/introduction"}},{"id":"docusaurus-core","title":"Docusaurus Client API","description":"Docusaurus provides some APIs on the clients that can be helpful to you when building your site.","source":"@site/docs/docusaurus-core.mdx","sourceDirName":".","slug":"/docusaurus-core","permalink":"/docs/docusaurus-core","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/docusaurus-core.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"sidebar_label":"Client API"},"sidebar":"api","previous":{"title":"CLI","permalink":"/docs/cli"},"next":{"title":"docusaurus.config.js","permalink":"/docs/api/docusaurus-config"}},{"id":"guides/creating-pages","title":"Creating Pages","description":"In this section, we will learn about creating pages in Docusaurus.","source":"@site/docs/guides/creating-pages.mdx","sourceDirName":"guides","slug":"/creating-pages","permalink":"/docs/creating-pages","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/creating-pages.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/creating-pages","sidebar_label":"Pages"},"sidebar":"docs","previous":{"title":"Guides","permalink":"/docs/category/guides"},"next":{"title":"Introduction","permalink":"/docs/docs-introduction"}},{"id":"guides/docs/create-doc","title":"Create a doc","description":"Create a Markdown Document","source":"@site/docs/guides/docs/docs-create-doc.mdx","sourceDirName":"guides/docs","slug":"/create-doc","permalink":"/docs/create-doc","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/docs-create-doc.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"create-doc","description":"Create a Markdown Document","slug":"/create-doc"},"sidebar":"docs","previous":{"title":"Introduction","permalink":"/docs/docs-introduction"},"next":{"title":"Sidebar","permalink":"/docs/sidebar"}},{"id":"guides/docs/introduction","title":"Docs Introduction","description":"The docs feature provides users with a way to organize Markdown files in a hierarchical format.","source":"@site/docs/guides/docs/docs-introduction.mdx","sourceDirName":"guides/docs","slug":"/docs-introduction","permalink":"/docs/docs-introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/docs-introduction.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"introduction","sidebar_label":"Introduction","slug":"/docs-introduction"},"sidebar":"docs","previous":{"title":"Pages","permalink":"/docs/creating-pages"},"next":{"title":"Create a doc","permalink":"/docs/create-doc"}},{"id":"guides/docs/multi-instance","title":"Docs Multi-instance","description":"Use multiple docs plugin instances on a single Docusaurus site.","source":"@site/docs/guides/docs/docs-multi-instance.mdx","sourceDirName":"guides/docs","slug":"/docs-multi-instance","permalink":"/docs/docs-multi-instance","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/docs-multi-instance.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"multi-instance","description":"Use multiple docs plugin instances on a single Docusaurus site.","slug":"/docs-multi-instance"},"sidebar":"docs","previous":{"title":"Versioning","permalink":"/docs/versioning"},"next":{"title":"Blog","permalink":"/docs/blog"}},{"id":"guides/docs/sidebar/autogenerated","title":"Autogenerated","description":"Docusaurus can create a sidebar automatically from your filesystem structure: each folder creates a sidebar category, and each file creates a doc link.","source":"@site/docs/guides/docs/sidebar/autogenerated.mdx","sourceDirName":"guides/docs/sidebar","slug":"/sidebar/autogenerated","permalink":"/docs/sidebar/autogenerated","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/sidebar/autogenerated.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/sidebar/autogenerated"},"sidebar":"docs","previous":{"title":"Sidebar items","permalink":"/docs/sidebar/items"},"next":{"title":"Using multiple sidebars","permalink":"/docs/sidebar/multiple-sidebars"}},{"id":"guides/docs/sidebar/index","title":"Sidebar","description":"Creating a sidebar is useful to:","source":"@site/docs/guides/docs/sidebar/index.mdx","sourceDirName":"guides/docs/sidebar","slug":"/sidebar","permalink":"/docs/sidebar","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/sidebar/index.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/sidebar"},"sidebar":"docs","previous":{"title":"Create a doc","permalink":"/docs/create-doc"},"next":{"title":"Sidebar items","permalink":"/docs/sidebar/items"}},{"id":"guides/docs/sidebar/items","title":"Sidebar items","description":"We have introduced three types of item types in the example in the previous section autogenerated, which we will explain in detail later.","source":"@site/docs/guides/docs/sidebar/items.mdx","sourceDirName":"guides/docs/sidebar","slug":"/sidebar/items","permalink":"/docs/sidebar/items","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/sidebar/items.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_max_heading_level":4,"slug":"/sidebar/items"},"sidebar":"docs","previous":{"title":"Sidebar","permalink":"/docs/sidebar"},"next":{"title":"Autogenerated","permalink":"/docs/sidebar/autogenerated"}},{"id":"guides/docs/sidebar/multiple-sidebars","title":"Using multiple sidebars","description":"You can create a sidebar for each set of Markdown files that you want to group together.","source":"@site/docs/guides/docs/sidebar/multiple-sidebars.mdx","sourceDirName":"guides/docs/sidebar","slug":"/sidebar/multiple-sidebars","permalink":"/docs/sidebar/multiple-sidebars","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/sidebar/multiple-sidebars.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/sidebar/multiple-sidebars"},"sidebar":"docs","previous":{"title":"Autogenerated","permalink":"/docs/sidebar/autogenerated"},"next":{"title":"Versioning","permalink":"/docs/versioning"}},{"id":"guides/docs/versioning","title":"Versioning","description":"You can use the versioning CLI to create a new documentation version based on the latest content in the docs directory. That specific set of documentation will then be preserved and accessible even as the documentation in the docs directory continues to evolve.","source":"@site/docs/guides/docs/versioning.mdx","sourceDirName":"guides/docs","slug":"/versioning","permalink":"/docs/versioning","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/versioning.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/versioning"},"sidebar":"docs","previous":{"title":"Using multiple sidebars","permalink":"/docs/sidebar/multiple-sidebars"},"next":{"title":"Docs Multi-instance","permalink":"/docs/docs-multi-instance"}},{"id":"guides/markdown-features/admonitions","title":"Admonitions","description":"Handling admonitions/callouts in Docusaurus Markdown","source":"@site/docs/guides/markdown-features/markdown-features-admonitions.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/admonitions","permalink":"/docs/markdown-features/admonitions","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-admonitions.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"admonitions","description":"Handling admonitions/callouts in Docusaurus Markdown","slug":"/markdown-features/admonitions"},"sidebar":"docs","previous":{"title":"Code blocks","permalink":"/docs/markdown-features/code-blocks"},"next":{"title":"Headings and Table of contents","permalink":"/docs/markdown-features/toc"}},{"id":"guides/markdown-features/assets","title":"Assets","description":"Handling assets in Docusaurus Markdown","source":"@site/docs/guides/markdown-features/markdown-features-assets.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/assets","permalink":"/docs/markdown-features/assets","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-assets.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"assets","description":"Handling assets in Docusaurus Markdown","slug":"/markdown-features/assets"},"sidebar":"docs","previous":{"title":"Headings and Table of contents","permalink":"/docs/markdown-features/toc"},"next":{"title":"Markdown links","permalink":"/docs/markdown-features/links"}},{"id":"guides/markdown-features/code-blocks","title":"Code blocks","description":"Handling code blocks in Docusaurus Markdown","source":"@site/docs/guides/markdown-features/markdown-features-code-blocks.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/code-blocks","permalink":"/docs/markdown-features/code-blocks","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-code-blocks.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"code-blocks","description":"Handling code blocks in Docusaurus Markdown","slug":"/markdown-features/code-blocks"},"sidebar":"docs","previous":{"title":"Tabs","permalink":"/docs/markdown-features/tabs"},"next":{"title":"Admonitions","permalink":"/docs/markdown-features/admonitions"}},{"id":"guides/markdown-features/diagrams","title":"Diagrams","description":"Writing diagrams with Mermaid","source":"@site/docs/guides/markdown-features/markdown-features-diagrams.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/diagrams","permalink":"/docs/markdown-features/diagrams","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-diagrams.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"diagrams","title":"Diagrams","description":"Writing diagrams with Mermaid","slug":"/markdown-features/diagrams"},"sidebar":"docs","previous":{"title":"Math Equations","permalink":"/docs/markdown-features/math-equations"},"next":{"title":"Head metadata","permalink":"/docs/markdown-features/head-metadata"}},{"id":"guides/markdown-features/head-metadata","title":"Head metadata","description":"Declaring page-specific head metadata through MDX","source":"@site/docs/guides/markdown-features/markdown-features-head-metadata.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/head-metadata","permalink":"/docs/markdown-features/head-metadata","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-head-metadata.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"head-metadata","description":"Declaring page-specific head metadata through MDX","slug":"/markdown-features/head-metadata"},"sidebar":"docs","previous":{"title":"Diagrams","permalink":"/docs/markdown-features/diagrams"},"next":{"title":"Styling and Layout","permalink":"/docs/styling-layout"}},{"id":"guides/markdown-features/introduction","title":"Markdown Features","description":"Docusaurus uses MDX. Find out more about Docusaurus-specific features when writing Markdown.","source":"@site/docs/guides/markdown-features/markdown-features-intro.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features","permalink":"/docs/markdown-features","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-intro.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"introduction","description":"Docusaurus uses MDX. Find out more about Docusaurus-specific features when writing Markdown.","slug":"/markdown-features"},"sidebar":"docs","previous":{"title":"Blog","permalink":"/docs/blog"},"next":{"title":"MDX and React","permalink":"/docs/markdown-features/react"}},{"id":"guides/markdown-features/links","title":"Markdown links","description":"Links to other pages in Markdown","source":"@site/docs/guides/markdown-features/markdown-features-links.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/links","permalink":"/docs/markdown-features/links","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-links.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"links","description":"Links to other pages in Markdown","slug":"/markdown-features/links"},"sidebar":"docs","previous":{"title":"Assets","permalink":"/docs/markdown-features/assets"},"next":{"title":"MDX Plugins","permalink":"/docs/markdown-features/plugins"}},{"id":"guides/markdown-features/math-equations","title":"Math Equations","description":"Writing LaTeX Math Equations","source":"@site/docs/guides/markdown-features/markdown-features-math-equations.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/math-equations","permalink":"/docs/markdown-features/math-equations","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-math-equations.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"math-equations","description":"Writing LaTeX Math Equations","slug":"/markdown-features/math-equations"},"sidebar":"docs","previous":{"title":"MDX Plugins","permalink":"/docs/markdown-features/plugins"},"next":{"title":"Diagrams","permalink":"/docs/markdown-features/diagrams"}},{"id":"guides/markdown-features/plugins","title":"MDX Plugins","description":"Using MDX plugins to expand Docusaurus Markdown functionalities","source":"@site/docs/guides/markdown-features/markdown-features-plugins.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/plugins","permalink":"/docs/markdown-features/plugins","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-plugins.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"plugins","description":"Using MDX plugins to expand Docusaurus Markdown functionalities","slug":"/markdown-features/plugins"},"sidebar":"docs","previous":{"title":"Markdown links","permalink":"/docs/markdown-features/links"},"next":{"title":"Math Equations","permalink":"/docs/markdown-features/math-equations"}},{"id":"guides/markdown-features/react","title":"MDX and React","description":"Using the power of React in Docusaurus Markdown documents, thanks to MDX","source":"@site/docs/guides/markdown-features/markdown-features-react.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/react","permalink":"/docs/markdown-features/react","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-react.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"react","description":"Using the power of React in Docusaurus Markdown documents, thanks to MDX","slug":"/markdown-features/react"},"sidebar":"docs","previous":{"title":"Markdown Features","permalink":"/docs/markdown-features"},"next":{"title":"Tabs","permalink":"/docs/markdown-features/tabs"}},{"id":"guides/markdown-features/tabs","title":"Tabs","description":"Using tabs inside Docusaurus Markdown","source":"@site/docs/guides/markdown-features/markdown-features-tabs.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/tabs","permalink":"/docs/markdown-features/tabs","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-tabs.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"tabs","description":"Using tabs inside Docusaurus Markdown","slug":"/markdown-features/tabs"},"sidebar":"docs","previous":{"title":"MDX and React","permalink":"/docs/markdown-features/react"},"next":{"title":"Code blocks","permalink":"/docs/markdown-features/code-blocks"}},{"id":"guides/markdown-features/toc","title":"Headings and Table of contents","description":"Customizing headings and table-of-contents in Markdown","source":"@site/docs/guides/markdown-features/markdown-features-toc.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/toc","permalink":"/docs/markdown-features/toc","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-toc.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"toc","description":"Customizing headings and table-of-contents in Markdown","slug":"/markdown-features/toc"},"sidebar":"docs","previous":{"title":"Admonitions","permalink":"/docs/markdown-features/admonitions"},"next":{"title":"Assets","permalink":"/docs/markdown-features/assets"}},{"id":"guides/whats-next","title":"What\'s next?","description":"Congratulations! You have understood most core features of Docusaurus now. You have:","source":"@site/docs/guides/whats-next.mdx","sourceDirName":"guides","slug":"/guides/whats-next","permalink":"/docs/guides/whats-next","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/whats-next.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"docs","previous":{"title":"Using Crowdin","permalink":"/docs/i18n/crowdin"},"next":{"title":"Advanced Tutorials","permalink":"/docs/advanced/"}},{"id":"i18n/crowdin","title":"i18n - Using Crowdin","description":"The i18n system of Docusaurus is decoupled from any translation software.","source":"@site/docs/i18n/i18n-crowdin.mdx","sourceDirName":"i18n","slug":"/i18n/crowdin","permalink":"/docs/i18n/crowdin","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/i18n/i18n-crowdin.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"crowdin","slug":"/i18n/crowdin","toc_max_heading_level":4},"sidebar":"docs","previous":{"title":"Using Git","permalink":"/docs/i18n/git"},"next":{"title":"What\'s next?","permalink":"/docs/guides/whats-next"}},{"id":"i18n/git","title":"i18n - Using git","description":"A possible translation strategy is to version control the translation files with Git (or any other VCS).","source":"@site/docs/i18n/i18n-git.mdx","sourceDirName":"i18n","slug":"/i18n/git","permalink":"/docs/i18n/git","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/i18n/i18n-git.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"git","slug":"/i18n/git"},"sidebar":"docs","previous":{"title":"Tutorial","permalink":"/docs/i18n/tutorial"},"next":{"title":"Using Crowdin","permalink":"/docs/i18n/crowdin"}},{"id":"i18n/introduction","title":"i18n - Introduction","description":"It is easy to translate a Docusaurus website with its internationalization (i18n) support.","source":"@site/docs/i18n/i18n-introduction.mdx","sourceDirName":"i18n","slug":"/i18n/introduction","permalink":"/docs/i18n/introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/i18n/i18n-introduction.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"introduction","slug":"/i18n/introduction"},"sidebar":"docs","previous":{"title":"Deployment","permalink":"/docs/deployment"},"next":{"title":"Tutorial","permalink":"/docs/i18n/tutorial"}},{"id":"i18n/tutorial","title":"i18n - Tutorial","description":"This tutorial will walk you through the basics of the Docusaurus i18n system.","source":"@site/docs/i18n/i18n-tutorial.mdx","sourceDirName":"i18n","slug":"/i18n/tutorial","permalink":"/docs/i18n/tutorial","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/i18n/i18n-tutorial.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"tutorial","description":"This tutorial will walk you through the basics of the Docusaurus i18n system.","slug":"/i18n/tutorial"},"sidebar":"docs","previous":{"title":"i18n - Introduction","permalink":"/docs/i18n/introduction"},"next":{"title":"Using Git","permalink":"/docs/i18n/git"}},{"id":"installation","title":"Installation","description":"How to install Docusaurus locally, and start a Docusaurus site in no time.","source":"@site/docs/installation.mdx","sourceDirName":".","slug":"/installation","permalink":"/docs/installation","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/installation.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"How to install Docusaurus locally, and start a Docusaurus site in no time."},"sidebar":"docs","previous":{"title":"Getting Started","permalink":"/docs/category/getting-started"},"next":{"title":"Configuration","permalink":"/docs/configuration"}},{"id":"introduction","title":"Introduction","description":"Docusaurus was designed from the ground up to be easily installed and used to get your website up and running quickly.","source":"@site/docs/introduction.mdx","sourceDirName":".","slug":"/","permalink":"/docs/","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/introduction.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Docusaurus was designed from the ground up to be easily installed and used to get your website up and running quickly.","slug":"/"},"sidebar":"docs","next":{"title":"Getting Started","permalink":"/docs/category/getting-started"}},{"id":"migration/index","title":"Upgrading Docusaurus","description":"Docusaurus versioning is based on the major.minor.patch scheme and respects Semantic Versioning.","source":"@site/docs/migration/index.mdx","sourceDirName":"migration","slug":"/migration","permalink":"/docs/migration","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/index.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration"},"sidebar":"docs","previous":{"title":"Client architecture","permalink":"/docs/advanced/client"},"next":{"title":"To Docusaurus v3","permalink":"/docs/migration/v3"}},{"id":"migration/v2/migration-automated","title":"Automated migration","description":"The migration CLI automatically migrates your v1 website to a v2 website.","source":"@site/docs/migration/v2/migration-automated.mdx","sourceDirName":"migration/v2","slug":"/migration/v2/automated","permalink":"/docs/migration/v2/automated","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/v2/migration-automated.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration/v2/automated"},"sidebar":"docs","previous":{"title":"Overview","permalink":"/docs/migration/v2"},"next":{"title":"Manual migration","permalink":"/docs/migration/v2/manual"}},{"id":"migration/v2/migration-manual","title":"Manual migration","description":"This manual migration process should be run after the automated migration process, to complete the missing parts, or debug issues in the migration CLI output.","source":"@site/docs/migration/v2/migration-manual.mdx","sourceDirName":"migration/v2","slug":"/migration/v2/manual","permalink":"/docs/migration/v2/manual","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/v2/migration-manual.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration/v2/manual","toc_max_heading_level":4},"sidebar":"docs","previous":{"title":"Automated migration","permalink":"/docs/migration/v2/automated"},"next":{"title":"Versioned sites","permalink":"/docs/migration/v2/versioned-sites"}},{"id":"migration/v2/migration-overview","title":"Overview","description":"This doc guides you through migrating an existing Docusaurus 1 site to Docusaurus 2.","source":"@site/docs/migration/v2/migration-overview.mdx","sourceDirName":"migration/v2","slug":"/migration/v2","permalink":"/docs/migration/v2","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/v2/migration-overview.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration/v2"},"sidebar":"docs","previous":{"title":"To Docusaurus v3","permalink":"/docs/migration/v3"},"next":{"title":"Automated migration","permalink":"/docs/migration/v2/automated"}},{"id":"migration/v2/migration-translated-sites","title":"Translated sites","description":"This page explains how migrate a translated Docusaurus v1 site to Docusaurus v2.","source":"@site/docs/migration/v2/migration-translated-sites.mdx","sourceDirName":"migration/v2","slug":"/migration/v2/translated-sites","permalink":"/docs/migration/v2/translated-sites","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/v2/migration-translated-sites.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration/v2/translated-sites"},"sidebar":"docs","previous":{"title":"Versioned sites","permalink":"/docs/migration/v2/versioned-sites"}},{"id":"migration/v2/migration-versioned-sites","title":"Versioned sites","description":"Read up https://docusaurus.io/blog/2018/09/11/Towards-Docusaurus-2#versioning first for problems in v1\'s approach.","source":"@site/docs/migration/v2/migration-versioned-sites.mdx","sourceDirName":"migration/v2","slug":"/migration/v2/versioned-sites","permalink":"/docs/migration/v2/versioned-sites","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/v2/migration-versioned-sites.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration/v2/versioned-sites"},"sidebar":"docs","previous":{"title":"Manual migration","permalink":"/docs/migration/v2/manual"},"next":{"title":"Translated sites","permalink":"/docs/migration/v2/translated-sites"}},{"id":"migration/v3","title":"Upgrading to Docusaurus v3","description":"This documentation will help you upgrade your site from Docusaurus v2 to Docusaurus v3.","source":"@site/docs/migration/v3.mdx","sourceDirName":"migration","slug":"/migration/v3","permalink":"/docs/migration/v3","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/v3.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration/v3","sidebar_label":"To Docusaurus v3"},"sidebar":"docs","previous":{"title":"Upgrading Docusaurus","permalink":"/docs/migration"},"next":{"title":"Overview","permalink":"/docs/migration/v2"}},{"id":"playground","title":"Playground","description":"Playgrounds allow you to run Docusaurus in your browser, without installing anything!","source":"@site/docs/playground.mdx","sourceDirName":".","slug":"/playground","permalink":"/docs/playground","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/playground.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"docs","previous":{"title":"Configuration","permalink":"/docs/configuration"},"next":{"title":"TypeScript Support","permalink":"/docs/typescript-support"}},{"id":"search","title":"Search","description":"There are a few options you can use to add search to your website:","source":"@site/docs/search.mdx","sourceDirName":".","slug":"/search","permalink":"/docs/search","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/search.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"keywords":["algolia","search"]},"sidebar":"docs","previous":{"title":"Static Assets","permalink":"/docs/static-assets"},"next":{"title":"Browser support","permalink":"/docs/browser-support"}},{"id":"seo","title":"Search engine optimization (SEO)","description":"How to make your Docusaurus site maximally search-engine-friendly.","source":"@site/docs/seo.mdx","sourceDirName":".","slug":"/seo","permalink":"/docs/seo","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/seo.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"How to make your Docusaurus site maximally search-engine-friendly.","sidebar_label":"SEO","keywords":["seo","positioning"]},"sidebar":"docs","previous":{"title":"Browser support","permalink":"/docs/browser-support"},"next":{"title":"Using Plugins","permalink":"/docs/using-plugins"}},{"id":"static-assets","title":"Static Assets","description":"Static assets are the non-code files that are directly copied to the build output. Learn about how they are handled and what the best practices of using static assets are.","source":"@site/docs/static-assets.mdx","sourceDirName":".","slug":"/static-assets","permalink":"/docs/static-assets","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/static-assets.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Static assets are the non-code files that are directly copied to the build output. Learn about how they are handled and what the best practices of using static assets are."},"sidebar":"docs","previous":{"title":"Swizzling","permalink":"/docs/swizzling"},"next":{"title":"Search","permalink":"/docs/search"}},{"id":"styling-layout","title":"Styling and Layout","description":"A Docusaurus site is a pre-rendered single-page React application. You can style it the way you style React apps.","source":"@site/docs/styling-layout.mdx","sourceDirName":".","slug":"/styling-layout","permalink":"/docs/styling-layout","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/styling-layout.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"A Docusaurus site is a pre-rendered single-page React application. You can style it the way you style React apps."},"sidebar":"docs","previous":{"title":"Head metadata","permalink":"/docs/markdown-features/head-metadata"},"next":{"title":"Swizzling","permalink":"/docs/swizzling"}},{"id":"swizzling","title":"Swizzling","description":"Customize your site\'s appearance through creating your own theme components","source":"@site/docs/swizzling.mdx","sourceDirName":".","slug":"/swizzling","permalink":"/docs/swizzling","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/swizzling.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Customize your site\'s appearance through creating your own theme components"},"sidebar":"docs","previous":{"title":"Styling and Layout","permalink":"/docs/styling-layout"},"next":{"title":"Static Assets","permalink":"/docs/static-assets"}},{"id":"typescript-support","title":"TypeScript Support","description":"Docusaurus is written in TypeScript and provides first-class TypeScript support.","source":"@site/docs/typescript-support.mdx","sourceDirName":".","slug":"/typescript-support","permalink":"/docs/typescript-support","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/typescript-support.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Docusaurus is written in TypeScript and provides first-class TypeScript support."},"sidebar":"docs","previous":{"title":"Playground","permalink":"/docs/playground"},"next":{"title":"Guides","permalink":"/docs/category/guides"}},{"id":"using-plugins","title":"Using Plugins","description":"The Docusaurus core doesn\'t provide any feature of its own. All features are delegated to individual plugins: the docs feature provided by the docs plugin; the blog feature provided by the blog plugin; or individual pages provided by the pages plugin. If there are no plugins installed, the site won\'t contain any routes.","source":"@site/docs/using-plugins.mdx","sourceDirName":".","slug":"/using-plugins","permalink":"/docs/using-plugins","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/using-plugins.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"docs","previous":{"title":"SEO","permalink":"/docs/seo"},"next":{"title":"Deployment","permalink":"/docs/deployment"}}],"drafts":[],"sidebars":{"docs":[{"type":"doc","id":"introduction"},{"type":"category","label":"Getting Started","link":{"type":"generated-index","slug":"/category/getting-started","permalink":"/docs/category/getting-started"},"collapsed":false,"items":[{"type":"doc","id":"installation"},{"type":"doc","id":"configuration"},{"type":"doc","id":"playground"},{"type":"doc","id":"typescript-support"}],"collapsible":true},{"type":"category","label":"Guides","link":{"type":"generated-index","title":"Docusaurus Guides","description":"Let\'s learn about the most important Docusaurus concepts!","keywords":["guides"],"image":"/img/docusaurus.png","slug":"/category/guides","permalink":"/docs/category/guides"},"items":[{"type":"doc","id":"guides/creating-pages"},{"type":"category","label":"Docs","link":{"type":"doc","id":"guides/docs/introduction"},"items":[{"type":"doc","id":"guides/docs/create-doc"},{"type":"category","label":"Sidebar","link":{"type":"doc","id":"guides/docs/sidebar/index"},"items":[{"type":"doc","id":"guides/docs/sidebar/items"},{"type":"doc","id":"guides/docs/sidebar/autogenerated"},{"type":"doc","id":"guides/docs/sidebar/multiple-sidebars"}],"collapsed":true,"collapsible":true},{"type":"doc","id":"guides/docs/versioning"},{"type":"doc","id":"guides/docs/multi-instance"}],"collapsed":true,"collapsible":true},{"type":"doc","id":"blog"},{"type":"category","label":"Markdown Features","link":{"type":"doc","id":"guides/markdown-features/introduction"},"items":[{"type":"doc","id":"guides/markdown-features/react"},{"type":"doc","id":"guides/markdown-features/tabs"},{"type":"doc","id":"guides/markdown-features/code-blocks"},{"type":"doc","id":"guides/markdown-features/admonitions"},{"type":"doc","id":"guides/markdown-features/toc"},{"type":"doc","id":"guides/markdown-features/assets"},{"type":"doc","id":"guides/markdown-features/links"},{"type":"doc","id":"guides/markdown-features/plugins"},{"type":"doc","id":"guides/markdown-features/math-equations"},{"type":"doc","id":"guides/markdown-features/diagrams"},{"type":"doc","id":"guides/markdown-features/head-metadata"}],"collapsed":true,"collapsible":true},{"type":"doc","id":"styling-layout"},{"type":"doc","id":"swizzling"},{"type":"doc","id":"static-assets"},{"type":"doc","id":"search"},{"type":"doc","id":"browser-support"},{"type":"doc","id":"seo"},{"type":"doc","id":"using-plugins"},{"type":"doc","id":"deployment"},{"type":"category","label":"Internationalization","link":{"type":"doc","id":"i18n/introduction"},"items":[{"type":"doc","id":"i18n/tutorial","label":"Tutorial","translatable":true},{"type":"doc","id":"i18n/git","label":"Using Git","translatable":true},{"type":"doc","id":"i18n/crowdin","label":"Using Crowdin","translatable":true}],"collapsed":true,"collapsible":true},{"type":"doc","id":"guides/whats-next"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Advanced Guides","link":{"type":"doc","id":"advanced/index"},"items":[{"type":"doc","id":"advanced/architecture"},{"type":"doc","id":"advanced/plugins"},{"type":"doc","id":"advanced/routing"},{"type":"doc","id":"advanced/ssg"},{"type":"doc","id":"advanced/client"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Upgrading","link":{"type":"doc","id":"migration/index"},"items":[{"type":"doc","id":"migration/v3"},{"type":"category","label":"To Docusaurus v2","items":[{"type":"doc","id":"migration/v2/migration-overview"},{"type":"doc","id":"migration/v2/migration-automated"},{"type":"doc","id":"migration/v2/migration-manual"},{"type":"doc","id":"migration/v2/migration-versioned-sites"},{"type":"doc","id":"migration/v2/migration-translated-sites"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"api":[{"type":"doc","id":"cli"},{"type":"doc","id":"docusaurus-core"},{"type":"doc","id":"api/docusaurus.config.js"},{"type":"category","label":"Plugin method references","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"api/plugin-methods/lifecycle-apis"},{"type":"doc","id":"api/plugin-methods/extend-infrastructure"},{"type":"doc","id":"api/plugin-methods/i18n-lifecycles"},{"type":"doc","id":"api/plugin-methods/static-methods"}],"link":{"type":"doc","id":"api/plugin-methods/README"}},{"type":"category","label":"Plugins","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"api/plugins/plugin-content-docs"},{"type":"doc","id":"api/plugins/plugin-content-blog"},{"type":"doc","id":"api/plugins/plugin-content-pages"},{"type":"doc","id":"api/plugins/plugin-client-redirects"},{"type":"doc","id":"api/plugins/plugin-debug"},{"type":"doc","id":"api/plugins/plugin-google-analytics"},{"type":"doc","id":"api/plugins/plugin-google-gtag"},{"type":"doc","id":"api/plugins/plugin-rsdoctor"},{"type":"doc","id":"api/plugins/plugin-svgr"},{"type":"doc","id":"api/plugins/plugin-google-tag-manager"},{"type":"doc","id":"api/plugins/plugin-ideal-image"},{"type":"doc","id":"api/plugins/plugin-pwa"},{"type":"doc","id":"api/plugins/plugin-sitemap"},{"type":"doc","id":"api/plugins/plugin-vercel-analytics"}],"link":{"type":"doc","id":"api/plugins/plugins-overview"}},{"type":"category","label":"Themes","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"api/themes/theme-configuration","label":"Configuration"},{"type":"doc","id":"api/themes/theme-classic"},{"type":"doc","id":"api/themes/theme-live-codeblock"},{"type":"doc","id":"api/themes/theme-search-algolia"},{"type":"doc","id":"api/themes/theme-mermaid"}],"link":{"type":"doc","id":"api/themes/themes-overview"}},{"type":"category","label":"Miscellaneous","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"api/misc/create-docusaurus"},{"type":"category","label":"\uD83D\uDCE6 eslint-plugin","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"api/misc/eslint-plugin/no-html-links"},{"type":"doc","id":"api/misc/eslint-plugin/no-untranslated-text"},{"type":"doc","id":"api/misc/eslint-plugin/prefer-docusaurus-heading"},{"type":"doc","id":"api/misc/eslint-plugin/string-literal-i18n-messages"}],"link":{"type":"doc","id":"api/misc/eslint-plugin/README"}},{"type":"doc","label":"\uD83D\uDCE6 logger","id":"api/misc/logger/logger"}]}]}}]},"community":{"loadedVersions":[{"versionName":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","path":"/community","tagsPath":"/community/tags","isLast":true,"routePriority":-1,"sidebarFilePath":"/home/runner/work/docusaurus/docusaurus/website/sidebarsCommunity.js","contentPath":"/home/runner/work/docusaurus/docusaurus/website/community","contentPathLocalized":"/home/runner/work/docusaurus/docusaurus/website/i18n/en/docusaurus-plugin-content-docs-community/current","docs":[{"id":"canary","title":"Canary releases","description":"Docusaurus has a canary releases system.","source":"@site/community/4-canary.mdx","sourceDirName":".","slug":"/canary","permalink":"/community/canary","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/4-canary.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":4,"frontMatter":{},"sidebar":"community","previous":{"title":"Contributing","permalink":"/community/contributing"},"next":{"title":"Release process","permalink":"/community/release-process"}},{"id":"contributing","title":"Contributing","description":"","source":"@site/community/3-contributing.mdx","sourceDirName":".","slug":"/contributing","permalink":"/community/contributing","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/3-contributing.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":3,"frontMatter":{"title":"Contributing","hide_title":true,"sidebar_label":"Contributing"},"sidebar":"community","previous":{"title":"Awesome Resources","permalink":"/community/resources"},"next":{"title":"Canary releases","permalink":"/community/canary"}},{"id":"release-process","title":"Release process","description":"Let\'s see how Docusaurus handles versioning, releases and breaking changes.","source":"@site/community/5-release-process.mdx","sourceDirName":".","slug":"/release-process","permalink":"/community/release-process","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/5-release-process.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":5,"frontMatter":{},"sidebar":"community","previous":{"title":"Canary releases","permalink":"/community/canary"}},{"id":"resources","title":"Awesome Resources","description":"A curated list of interesting Docusaurus community projects.","source":"@site/community/2-resources.mdx","sourceDirName":".","slug":"/resources","permalink":"/community/resources","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/2-resources.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":2,"frontMatter":{},"sidebar":"community","previous":{"title":"Team","permalink":"/community/team"},"next":{"title":"Contributing","permalink":"/community/contributing"}},{"id":"support","title":"Support","description":"Docusaurus has a community of thousands of developers.","source":"@site/community/0-support.mdx","sourceDirName":".","slug":"/support","permalink":"/community/support","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/0-support.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":0,"frontMatter":{},"sidebar":"community","next":{"title":"Team","permalink":"/community/team"}},{"id":"team","title":"Team","description":"Active Team","source":"@site/community/1-team.mdx","sourceDirName":".","slug":"/team","permalink":"/community/team","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/1-team.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":1,"frontMatter":{},"sidebar":"community","previous":{"title":"Support","permalink":"/community/support"},"next":{"title":"Awesome Resources","permalink":"/community/resources"}}],"drafts":[],"sidebars":{"community":[{"type":"doc","id":"support"},{"type":"doc","id":"team"},{"type":"doc","id":"resources"},{"type":"doc","id":"contributing","label":"Contributing"},{"type":"doc","id":"canary"},{"type":"doc","id":"release-process"},{"type":"link","href":"/changelog","label":"Changelog"},{"type":"link","href":"/showcase","label":"Showcase"},{"type":"link","href":"/feature-requests","label":"Feature Requests"},{"type":"link","label":"Chat with us on Discord","href":"https://discord.gg/docusaurus"}]}}]},"docs-tests":{"loadedVersions":[{"versionName":"current","label":"Next","banner":null,"badge":false,"noIndex":true,"className":"docs-version-current","path":"/tests/docs","tagsPath":"/tests/docs/tags","isLast":true,"routePriority":-1,"sidebarFilePath":"/home/runner/work/docusaurus/docusaurus/website/_dogfooding/docs-tests-sidebars.js","contentPath":"/home/runner/work/docusaurus/docusaurus/website/_dogfooding/_docs tests","contentPathLocalized":"/home/runner/work/docusaurus/docusaurus/website/i18n/en/docusaurus-plugin-content-docs-docs-tests/current","docs":[{"id":"beginner\'s guide","title":"Beginner\'s guide","description":"#9160","source":"@site/_dogfooding/_docs tests/beginner\'s guide.mdx","sourceDirName":".","slug":"/beginner\'s guide","permalink":"/tests/docs/beginner\'s guide","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{}},{"id":"doc-with-another-sidebar","title":"Doc with another sidebar","description":"My link appears in a sidebar, but I want to display another sidebar...","source":"@site/_dogfooding/_docs tests/doc-with-another-sidebar.mdx","sourceDirName":".","slug":"/doc-with-another-sidebar","permalink":"/tests/docs/doc-with-another-sidebar","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"displayed_sidebar":"anotherSidebar"},"sidebar":"anotherSidebar"},{"id":"doc-with-last-update","title":"Doc With Last Update Front Matter","description":"","source":"@site/_dogfooding/_docs tests/doc-with-last-update.mdx","sourceDirName":".","slug":"/doc-with-last-update","permalink":"/tests/docs/doc-with-last-update","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"custom author","lastUpdatedAt":946684800000,"frontMatter":{"last_update":{"author":"custom author","date":"1/1/2000"}},"sidebar":"sidebar","previous":{"title":"Doc with another sidebar","permalink":"/tests/docs/doc-with-another-sidebar"},"next":{"title":"Tests","permalink":"/tests/docs/category/tests"}},{"id":"doc-without-sidebar","title":"Doc without sidebar","description":"My link appears in a sidebar, but I don\'t want to display that...","source":"@site/_dogfooding/_docs tests/doc-without-sidebar.mdx","sourceDirName":".","slug":"/doc-without-sidebar","permalink":"/tests/docs/doc-without-sidebar","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"displayed_sidebar":null}},{"id":"dummy","title":"Just a dummy page","description":"","source":"@site/_dogfooding/_docs tests/dummy.mdx","sourceDirName":".","slug":"/dummy.html","permalink":"/tests/docs/dummy.html","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"dummy.html"},"sidebar":"anotherSidebar"},{"id":"folder with space/doc 1","title":"Doc 1","description":"Inside folder with space","source":"@site/_dogfooding/_docs tests/folder with space/doc 1.mdx","sourceDirName":"folder with space","slug":"/folder with space/doc 1","permalink":"/tests/docs/folder with space/doc 1","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{}},{"id":"folder with space/doc 2","title":"Doc 2","description":"Inside folder with space","source":"@site/_dogfooding/_docs tests/folder with space/doc 2.mdx","sourceDirName":"folder with space","slug":"/folder with space/doc 2","permalink":"/tests/docs/folder with space/doc 2","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{}},{"id":"index","title":"Docs tests","description":"This Docusaurus docs plugin instance is meant to test fancy edge-cases that regular unit tests don\'t really cover.","source":"@site/_dogfooding/_docs tests/index.mdx","sourceDirName":".","slug":"/","permalink":"/tests/docs/","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"A","permalink":"/tests/docs/tags/a","description":"Description for tag a"},{"inline":false,"label":"Label for tag b","permalink":"/tests/docs/tags/b"},{"inline":false,"label":"C","permalink":"/tests/docs/tags/permalink-for-tag-c"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/","tags":["a","b","c"],"unlisted":true,"id":"index","sidebar_label":"Docs tests"},"sidebar":"sidebar"},{"id":"more-test","title":"Another test page","description":"Test link","source":"@site/_dogfooding/_docs tests/more-test.mdx","sourceDirName":".","slug":"/more-test","permalink":"/tests/docs/more-test","draft":false,"unlisted":false,"tags":[{"inline":false,"label":"A","permalink":"/tests/docs/tags/a","description":"Description for tag a"},{"inline":false,"label":"Label for tag e","permalink":"/tests/docs/tags/permalink-for-tag-e","description":"Description for tag e"},{"inline":false,"label":"Some-tag","permalink":"/tests/docs/tags/some-tag"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"tags":["a","e","some-tag"]},"sidebar":"sidebar","previous":{"title":"Another category with index","permalink":"/tests/docs/category/another-category-with-index"},"next":{"title":"toc-2-2","permalink":"/tests/docs/toc/toc-2-2"}},{"id":"standalone","title":"Standalone doc","description":"This doc is not in any sidebar, on purpose, to measure the build size impact of the huge sidebar","source":"@site/_dogfooding/_docs tests/standalone.mdx","sourceDirName":".","slug":"/standalone","permalink":"/tests/docs/standalone","draft":false,"unlisted":false,"tags":[{"inline":false,"label":"Label for tag b","permalink":"/tests/docs/tags/b"},{"inline":false,"label":"D","permalink":"/tests/docs/tags/d"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"tags":["b","d"]}},{"id":"tests/admonitions","title":"Admonitions tests","description":"Empty content","source":"@site/_dogfooding/_docs tests/tests/admonitions.mdx","sourceDirName":"tests","slug":"/tests/admonitions","permalink":"/tests/docs/tests/admonitions","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Case-Sensitive doc","permalink":"/tests/docs/tests/Case-Sentitive-Doc"},"next":{"title":"\xe6\xf8\xe5","permalink":"/tests/docs/tests/ascii/folder/\xe6\xf8\xe5"}},{"id":"tests/ascii/\xe6\xf8\xe5/index","title":"index","description":"Dogfood test for https://github.com/facebook/docusaurus/pull/8137","source":"@site/_dogfooding/_docs tests/tests/ascii/\xe6\xf8\xe5/index.mdx","sourceDirName":"tests/ascii/\xe6\xf8\xe5","slug":"/tests/ascii/\xe6\xf8\xe5/","permalink":"/tests/docs/tests/ascii/\xe6\xf8\xe5/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"\xe6\xf8\xe5","permalink":"/tests/docs/tests/ascii/folder/\xe6\xf8\xe5"},"next":{"title":"Category Links","permalink":"/tests/docs/category-links-generated-index-slug"}},{"id":"tests/ascii/folder/\xe6\xf8\xe5","title":"\xe6\xf8\xe5","description":"Dogfood test for https://github.com/facebook/docusaurus/pull/8137","source":"@site/_dogfooding/_docs tests/tests/ascii/folder/\xe6\xf8\xe5.mdx","sourceDirName":"tests/ascii/folder","slug":"/tests/ascii/folder/\xe6\xf8\xe5","permalink":"/tests/docs/tests/ascii/folder/\xe6\xf8\xe5","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Admonitions tests","permalink":"/tests/docs/tests/admonitions"},"next":{"title":"index","permalink":"/tests/docs/tests/ascii/\xe6\xf8\xe5/"}},{"id":"tests/Case-Sentitive-Doc","title":"Case-Sensitive doc","description":"This doc has uppercase and lowercase chars in its filename, and thus in its path / slug.","source":"@site/_dogfooding/_docs tests/tests/Case-Sentitive-Doc.mdx","sourceDirName":"tests","slug":"/tests/Case-Sentitive-Doc","permalink":"/tests/docs/tests/Case-Sentitive-Doc","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Tests","permalink":"/tests/docs/category/tests"},"next":{"title":"Admonitions tests","permalink":"/tests/docs/tests/admonitions"}},{"id":"tests/category-links/custom-index-convention/intro","title":"Introduction","description":"This file is called intro.md. Typically, it won\'t be selected by the convention; however, it is in this case, because we have used a custom one.","source":"@site/_dogfooding/_docs tests/tests/category-links/custom-index-convention/intro.mdx","sourceDirName":"tests/category-links/custom-index-convention","slug":"/tests/category-links/custom-index-convention/intro","permalink":"/tests/docs/tests/category-links/custom-index-convention/intro","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Category Links","permalink":"/tests/docs/category-links-generated-index-slug"},"next":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/custom-index-convention/sample-doc"}},{"id":"tests/category-links/custom-index-convention/sample-doc","title":"Sample doc","description":"Lorem Ipsum","source":"@site/_dogfooding/_docs tests/tests/category-links/custom-index-convention/sample-doc.mdx","sourceDirName":"tests/category-links/custom-index-convention","slug":"/tests/category-links/custom-index-convention/sample-doc","permalink":"/tests/docs/tests/category-links/custom-index-convention/sample-doc","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Introduction","permalink":"/tests/docs/tests/category-links/custom-index-convention/intro"},"next":{"title":"Index","permalink":"/tests/docs/tests/category-links/no-index-doc/"}},{"id":"tests/category-links/no-index-doc/index","title":"Index","description":"This file (index.md) is supposed to be a category index, but it isn\'t because we have set link: null in the category.json.","source":"@site/_dogfooding/_docs tests/tests/category-links/no-index-doc/index.mdx","sourceDirName":"tests/category-links/no-index-doc","slug":"/tests/category-links/no-index-doc/","permalink":"/tests/docs/tests/category-links/no-index-doc/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/custom-index-convention/sample-doc"},"next":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/no-index-doc/sample-doc"}},{"id":"tests/category-links/no-index-doc/sample-doc","title":"Sample doc","description":"Lorem Ipsum","source":"@site/_dogfooding/_docs tests/tests/category-links/no-index-doc/sample-doc.mdx","sourceDirName":"tests/category-links/no-index-doc","slug":"/tests/category-links/no-index-doc/sample-doc","permalink":"/tests/docs/tests/category-links/no-index-doc/sample-doc","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Index","permalink":"/tests/docs/tests/category-links/no-index-doc/"},"next":{"title":"No sub-docs","permalink":"/tests/docs/tests/category-links/no-subdoc/"}},{"id":"tests/category-links/no-subdoc/index","title":"No sub-docs","description":"The only doc of this category is the index page. It should show up as a regular doc link.","source":"@site/_dogfooding/_docs tests/tests/category-links/no-subdoc/index.mdx","sourceDirName":"tests/category-links/no-subdoc","slug":"/tests/category-links/no-subdoc/","permalink":"/tests/docs/tests/category-links/no-subdoc/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/no-index-doc/sample-doc"},"next":{"title":"Readme","permalink":"/tests/docs/tests/category-links/"}},{"id":"tests/category-links/readme","title":"Readme","description":"This readme.md should not be used as the category index due to the category.json link","source":"@site/_dogfooding/_docs tests/tests/category-links/readme.mdx","sourceDirName":"tests/category-links","slug":"/tests/category-links/","permalink":"/tests/docs/tests/category-links/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"No sub-docs","permalink":"/tests/docs/tests/category-links/no-subdoc/"},"next":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/regular-category/sample-doc"}},{"id":"tests/category-links/regular-category/sample-doc","title":"Sample doc","description":"Lorem Ipsum","source":"@site/_dogfooding/_docs tests/tests/category-links/regular-category/sample-doc.mdx","sourceDirName":"tests/category-links/regular-category","slug":"/tests/category-links/regular-category/sample-doc","permalink":"/tests/docs/tests/category-links/regular-category/sample-doc","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Readme","permalink":"/tests/docs/tests/category-links/"},"next":{"title":"Category with a doc of category\'s name","permalink":"/tests/docs/tests/category-links/with-category-name-doc/"}},{"id":"tests/category-links/with-category-name-doc/sample-doc","title":"Sample doc","description":"Lorem Ipsum","source":"@site/_dogfooding/_docs tests/tests/category-links/with-category-name-doc/sample-doc.mdx","sourceDirName":"tests/category-links/with-category-name-doc","slug":"/tests/category-links/with-category-name-doc/sample-doc","permalink":"/tests/docs/tests/category-links/with-category-name-doc/sample-doc","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Category with a doc of category\'s name","permalink":"/tests/docs/tests/category-links/with-category-name-doc/"},"next":{"title":"Category with index.md doc","permalink":"/tests/docs/tests/category-links/with-index-doc/"}},{"id":"tests/category-links/with-category-name-doc/with-category-name-doc","title":"Category with a doc of category\'s name","description":"You should be able to click on the category and browse this /.md doc","source":"@site/_dogfooding/_docs tests/tests/category-links/with-category-name-doc/with-category-name-doc.mdx","sourceDirName":"tests/category-links/with-category-name-doc","slug":"/tests/category-links/with-category-name-doc/","permalink":"/tests/docs/tests/category-links/with-category-name-doc/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/regular-category/sample-doc"},"next":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/with-category-name-doc/sample-doc"}},{"id":"tests/category-links/with-index-doc/index","title":"Category with index.md doc","description":"You should be able to click on the category and browse this index.md doc","source":"@site/_dogfooding/_docs tests/tests/category-links/with-index-doc/index.mdx","sourceDirName":"tests/category-links/with-index-doc","slug":"/tests/category-links/with-index-doc/","permalink":"/tests/docs/tests/category-links/with-index-doc/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/with-category-name-doc/sample-doc"},"next":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/with-index-doc/sample-doc"}},{"id":"tests/category-links/with-index-doc/sample-doc","title":"Sample doc","description":"Lorem Ipsum","source":"@site/_dogfooding/_docs tests/tests/category-links/with-index-doc/sample-doc.mdx","sourceDirName":"tests/category-links/with-index-doc","slug":"/tests/category-links/with-index-doc/sample-doc","permalink":"/tests/docs/tests/category-links/with-index-doc/sample-doc","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Category with index.md doc","permalink":"/tests/docs/tests/category-links/with-index-doc/"},"next":{"title":"Category with readme.md doc","permalink":"/tests/docs/tests/category-links/with-readme-doc/"}},{"id":"tests/category-links/with-readme-doc/README","title":"Category with readme.md doc","description":"You should be able to click on the category and browse this readme.md doc","source":"@site/_dogfooding/_docs tests/tests/category-links/with-readme-doc/README.mdx","sourceDirName":"tests/category-links/with-readme-doc","slug":"/tests/category-links/with-readme-doc/","permalink":"/tests/docs/tests/category-links/with-readme-doc/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/with-index-doc/sample-doc"},"next":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/with-readme-doc/sample-doc"}},{"id":"tests/category-links/with-readme-doc/sample-doc","title":"Sample doc","description":"Lorem Ipsum","source":"@site/_dogfooding/_docs tests/tests/category-links/with-readme-doc/sample-doc.mdx","sourceDirName":"tests/category-links/with-readme-doc","slug":"/tests/category-links/with-readme-doc/sample-doc","permalink":"/tests/docs/tests/category-links/with-readme-doc/sample-doc","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Category with readme.md doc","permalink":"/tests/docs/tests/category-links/with-readme-doc/"},"next":{"title":"Image Tests","permalink":"/tests/docs/tests/images/"}},{"id":"tests/images/index","title":"Image Tests","description":"URL encoded image","source":"@site/_dogfooding/_docs tests/tests/images/index.mdx","sourceDirName":"tests/images","slug":"/tests/images/","permalink":"/tests/docs/tests/images/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"image":"./img/oss_logo.png"},"sidebar":"sidebar","previous":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/with-readme-doc/sample-doc"},"next":{"title":"Import Bad Package","permalink":"/tests/docs/tests/import-bad-package"}},{"id":"tests/import-bad-package","title":"Import Bad Package","description":"We are importing MDX content from a file that is in a package that has a bad React version.","source":"@site/_dogfooding/_docs tests/tests/import-bad-package.mdx","sourceDirName":"tests","slug":"/tests/import-bad-package","permalink":"/tests/docs/tests/import-bad-package","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Image Tests","permalink":"/tests/docs/tests/images/"},"next":{"title":"Broken Anchors tests","permalink":"/tests/docs/tests/links/broken-anchors-tests"}},{"id":"tests/links/broken-anchors-tests","title":"Broken Anchors tests","description":"Markdown link to above anchor","source":"@site/_dogfooding/_docs tests/tests/links/broken-anchors-tests.mdx","sourceDirName":"tests/links","slug":"/tests/links/broken-anchors-tests","permalink":"/tests/docs/tests/links/broken-anchors-tests","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Import Bad Package","permalink":"/tests/docs/tests/import-bad-package"},"next":{"title":"Target doc","permalink":"/tests/docs/tests/links/target-doc-slug"}},{"id":"tests/links/target","title":"Target doc","description":"This is just a doc meant to be linked to by other docs.","source":"@site/_dogfooding/_docs tests/tests/links/target.mdx","sourceDirName":"tests/links","slug":"/tests/links/target-doc-slug","permalink":"/tests/docs/tests/links/target-doc-slug","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"target-doc-slug"},"sidebar":"sidebar","previous":{"title":"Broken Anchors tests","permalink":"/tests/docs/tests/links/broken-anchors-tests"},"next":{"title":"Test links","permalink":"/tests/docs/tests/links/test-markdown-links"}},{"id":"tests/links/test-markdown-links","title":"Test links","description":"These are dogfood tests showing that Markdown links with md/mdx file references are resolved correctly.","source":"@site/_dogfooding/_docs tests/tests/links/test-markdown-links.mdx","sourceDirName":"tests/links","slug":"/tests/links/test-markdown-links","permalink":"/tests/docs/tests/links/test-markdown-links","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Target doc","permalink":"/tests/docs/tests/links/target-doc-slug"},"next":{"title":"Sidebar Front Matter Tests","permalink":"/tests/docs/tests/sidebar-frontmatter/"}},{"id":"tests/sidebar-frontmatter/doc-with-sidebar-className","title":"Doc With Sidebar Class Name","description":"This doc has sidebar_label front matter","source":"@site/_dogfooding/_docs tests/tests/sidebar-frontmatter/doc-with-sidebar-className.mdx","sourceDirName":"tests/sidebar-frontmatter","slug":"/tests/sidebar-frontmatter/doc-with-sidebar-className","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-className","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"sidebar_class_name":"dogfood_sidebar_class_name_test"},"sidebar":"sidebar","previous":{"title":"Sidebar Front Matter Tests","permalink":"/tests/docs/tests/sidebar-frontmatter/"},"next":{"title":"Doc With Custom Props","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-custom-props"}},{"id":"tests/sidebar-frontmatter/doc-with-sidebar-custom-props","title":"Doc With Custom Props","description":"This doc has sidebarcustomprops front matter.","source":"@site/_dogfooding/_docs tests/tests/sidebar-frontmatter/doc-with-sidebar-custom-props.mdx","sourceDirName":"tests/sidebar-frontmatter","slug":"/tests/sidebar-frontmatter/doc-with-sidebar-custom-props","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-custom-props","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"sidebar_custom_props":{"prop":"custom","number":1,"boolean":true}},"sidebar":"sidebar","previous":{"title":"Doc With Sidebar Class Name","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-className"},"next":{"title":"Doc With Sidebar Label","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-label"}},{"id":"tests/sidebar-frontmatter/doc-with-sidebar-label","title":"Doc with sidebar_label","description":"This doc has sidebar_label front matter","source":"@site/_dogfooding/_docs tests/tests/sidebar-frontmatter/doc-with-sidebar-label.mdx","sourceDirName":"tests/sidebar-frontmatter","slug":"/tests/sidebar-frontmatter/doc-with-sidebar-label","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-label","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"sidebar_label":"Doc With Sidebar Label"},"sidebar":"sidebar","previous":{"title":"Doc With Custom Props","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-custom-props"},"next":{"title":"Doc Without","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-without"}},{"id":"tests/sidebar-frontmatter/doc-without","title":"Doc Without","description":"This doc doesn\'t have any sidebar_ front matter","source":"@site/_dogfooding/_docs tests/tests/sidebar-frontmatter/doc-without.mdx","sourceDirName":"tests/sidebar-frontmatter","slug":"/tests/sidebar-frontmatter/doc-without","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-without","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Doc With Sidebar Label","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-label"},"next":{"title":"TOC partial test","permalink":"/tests/docs/tests/toc-partials/"}},{"id":"tests/sidebar-frontmatter/index","title":"Sidebar front matter","description":"","source":"@site/_dogfooding/_docs tests/tests/sidebar-frontmatter/index.mdx","sourceDirName":"tests/sidebar-frontmatter","slug":"/tests/sidebar-frontmatter/","permalink":"/tests/docs/tests/sidebar-frontmatter/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"sidebar_label":"Sidebar Front Matter Tests","sidebar_class_name":"dogfood_sidebar_class_name_test"},"sidebar":"sidebar","previous":{"title":"Test links","permalink":"/tests/docs/tests/links/test-markdown-links"},"next":{"title":"Doc With Sidebar Class Name","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-className"}},{"id":"tests/toc-partials/index","title":"TOC partial test","description":"This page tests that MDX-imported content appears correctly in the table-of-contents","source":"@site/_dogfooding/_docs tests/tests/toc-partials/index.mdx","sourceDirName":"tests/toc-partials","slug":"/tests/toc-partials/","permalink":"/tests/docs/tests/toc-partials/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Doc Without","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-without"},"next":{"title":"Visibility","permalink":"/tests/docs/tests/visibility/"}},{"id":"tests/visibility/force-unlisted","title":"force_unlisted_parseFrontMatter_test","description":"This doc is hidden despite unlisted: false","source":"@site/_dogfooding/_docs tests/tests/visibility/force-unlisted.mdx","sourceDirName":"tests/visibility","slug":"/tests/visibility/force-unlisted","permalink":"/tests/docs/tests/visibility/force-unlisted","draft":false,"unlisted":true,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"force_unlisted_parseFrontMatter_test":true},"sidebar":"sidebar"},{"id":"tests/visibility/index","title":"Visibility","description":"A category to play with draft/unlisted front matter.","source":"@site/_dogfooding/_docs tests/tests/visibility/index.mdx","sourceDirName":"tests/visibility","slug":"/tests/visibility/","permalink":"/tests/docs/tests/visibility/","draft":false,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"tags":["visibility"]},"sidebar":"sidebar","previous":{"title":"TOC partial test","permalink":"/tests/docs/tests/toc-partials/"},"next":{"title":"Some Drafts - Listed 1","permalink":"/tests/docs/tests/visibility/some-drafts/draft-subcategory/listed1"}},{"id":"tests/visibility/only-unlisteds/unlisted-subcategory/index","title":"Only Unlisteds - Subcategory index unlisted","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/only-unlisteds/unlisted-subcategory/index.mdx","sourceDirName":"tests/visibility/only-unlisteds/unlisted-subcategory","slug":"/tests/visibility/only-unlisteds/unlisted-subcategory/","permalink":"/tests/docs/tests/visibility/only-unlisteds/unlisted-subcategory/","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"},{"id":"tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3","title":"Only Unlisteds - Unlisted 3","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3.mdx","sourceDirName":"tests/visibility/only-unlisteds/unlisted-subcategory","slug":"/tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3","permalink":"/tests/docs/tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"},{"id":"tests/visibility/only-unlisteds/unlisted1","title":"Only Unlisteds - Unlisted 1","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/only-unlisteds/unlisted1.mdx","sourceDirName":"tests/visibility/only-unlisteds","slug":"/tests/visibility/only-unlisteds/unlisted1","permalink":"/tests/docs/tests/visibility/only-unlisteds/unlisted1","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"},{"id":"tests/visibility/only-unlisteds/unlisted2","title":"Only Unlisteds - Unlisted 2","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/only-unlisteds/unlisted2.mdx","sourceDirName":"tests/visibility/only-unlisteds","slug":"/tests/visibility/only-unlisteds/unlisted2","permalink":"/tests/docs/tests/visibility/only-unlisteds/unlisted2","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"},{"id":"tests/visibility/some-drafts/draft-subcategory/listed1","title":"Some Drafts - Listed 1","description":"Regular doc","source":"@site/_dogfooding/_docs tests/tests/visibility/some-drafts/draft-subcategory/listed1.mdx","sourceDirName":"tests/visibility/some-drafts/draft-subcategory","slug":"/tests/visibility/some-drafts/draft-subcategory/listed1","permalink":"/tests/docs/tests/visibility/some-drafts/draft-subcategory/listed1","draft":false,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Listed","permalink":"/tests/docs/tags/listed"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"tags":["visibility","listed"]},"sidebar":"sidebar","previous":{"title":"Visibility","permalink":"/tests/docs/tests/visibility/"},"next":{"title":"Subcategory index listed","permalink":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/"}},{"id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/index","title":"Subcategory index listed","description":"Doc index, listed, but all the other category items are unlisted","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/subcategory-with-listed-index/index.mdx","sourceDirName":"tests/visibility/some-unlisteds/subcategory-with-listed-index","slug":"/tests/visibility/some-unlisteds/subcategory-with-listed-index/","permalink":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/","draft":false,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":false,"tags":["visibility","unlisted"]},"sidebar":"sidebar","previous":{"title":"Some Drafts - Listed 1","permalink":"/tests/docs/tests/visibility/some-drafts/draft-subcategory/listed1"},"next":{"title":"Some Unlisteds - Listed 1","permalink":"/tests/docs/tests/visibility/some-unlisteds/unlisted-subcategory/listed1"}},{"id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1","title":"Unlisted 1","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1.mdx","sourceDirName":"tests/visibility/some-unlisteds/subcategory-with-listed-index","slug":"/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1","permalink":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"},{"id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2","title":"Unlisted 2","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2.mdx","sourceDirName":"tests/visibility/some-unlisteds/subcategory-with-listed-index","slug":"/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2","permalink":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"},{"id":"tests/visibility/some-unlisteds/unlisted-subcategory/index","title":"Subcategory index unlisted","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/unlisted-subcategory/index.mdx","sourceDirName":"tests/visibility/some-unlisteds/unlisted-subcategory","slug":"/tests/visibility/some-unlisteds/unlisted-subcategory/","permalink":"/tests/docs/tests/visibility/some-unlisteds/unlisted-subcategory/","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"},{"id":"tests/visibility/some-unlisteds/unlisted-subcategory/listed1","title":"Some Unlisteds - Listed 1","description":"Regular doc","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/unlisted-subcategory/listed1.mdx","sourceDirName":"tests/visibility/some-unlisteds/unlisted-subcategory","slug":"/tests/visibility/some-unlisteds/unlisted-subcategory/listed1","permalink":"/tests/docs/tests/visibility/some-unlisteds/unlisted-subcategory/listed1","draft":false,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Listed","permalink":"/tests/docs/tags/listed"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"tags":["visibility","listed"]},"sidebar":"sidebar","previous":{"title":"Subcategory index listed","permalink":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/"},"next":{"title":"Sidebar item description tests","permalink":"/tests/docs/category/sidebar-item-description-tests"}},{"id":"tests/visibility/some-unlisteds/unlisted-subcategory/unlisted3","title":"Some Unlisteds - Unlisted 3","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/unlisted-subcategory/unlisted3.mdx","sourceDirName":"tests/visibility/some-unlisteds/unlisted-subcategory","slug":"/tests/visibility/some-unlisteds/unlisted-subcategory/unlisted3","permalink":"/tests/docs/tests/visibility/some-unlisteds/unlisted-subcategory/unlisted3","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"},{"id":"tests/visibility/some-unlisteds/unlisted1","title":"Some Unlisteds - Unlisted 1","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/unlisted1.mdx","sourceDirName":"tests/visibility/some-unlisteds","slug":"/tests/visibility/some-unlisteds/unlisted1","permalink":"/tests/docs/tests/visibility/some-unlisteds/unlisted1","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"},{"id":"tests/visibility/some-unlisteds/unlisted2","title":"Some Unlisteds - Unlisted 2","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/unlisted2.mdx","sourceDirName":"tests/visibility/some-unlisteds","slug":"/tests/visibility/some-unlisteds/unlisted2","permalink":"/tests/docs/tests/visibility/some-unlisteds/unlisted2","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"},{"id":"toc/toc-_-_","title":"toc-_-_","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-_-_.mdx","sourceDirName":"toc","slug":"/toc/toc-_-_","permalink":"/tests/docs/toc/toc-_-_","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"toc-_-5","permalink":"/tests/docs/toc/toc-_-5"},"next":{"title":"toc-test-bad","permalink":"/tests/docs/toc/toc-test-bad"}},{"id":"toc/toc-_-5","title":"toc-_-5","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-_-5.mdx","sourceDirName":"toc","slug":"/toc/toc-_-5","permalink":"/tests/docs/toc/toc-_-5","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_max_heading_level":5},"sidebar":"sidebar","previous":{"title":"toc-5-5","permalink":"/tests/docs/toc/toc-5-5"},"next":{"title":"toc-_-_","permalink":"/tests/docs/toc/toc-_-_"}},{"id":"toc/toc-2-2","title":"toc-2-2","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-2-2.mdx","sourceDirName":"toc","slug":"/toc/toc-2-2","permalink":"/tests/docs/toc/toc-2-2","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":2,"toc_max_heading_level":2},"sidebar":"sidebar","previous":{"title":"Another test page","permalink":"/tests/docs/more-test"},"next":{"title":"toc-2-3","permalink":"/tests/docs/toc/toc-2-3"}},{"id":"toc/toc-2-3","title":"toc-2-3","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-2-3.mdx","sourceDirName":"toc","slug":"/toc/toc-2-3","permalink":"/tests/docs/toc/toc-2-3","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":2,"toc_max_heading_level":3},"sidebar":"sidebar","previous":{"title":"toc-2-2","permalink":"/tests/docs/toc/toc-2-2"},"next":{"title":"toc-2-4","permalink":"/tests/docs/toc/toc-2-4"}},{"id":"toc/toc-2-4","title":"toc-2-4","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-2-4.mdx","sourceDirName":"toc","slug":"/toc/toc-2-4","permalink":"/tests/docs/toc/toc-2-4","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":2,"toc_max_heading_level":4},"sidebar":"sidebar","previous":{"title":"toc-2-3","permalink":"/tests/docs/toc/toc-2-3"},"next":{"title":"toc-2-5","permalink":"/tests/docs/toc/toc-2-5"}},{"id":"toc/toc-2-5","title":"toc-2-5","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-2-5.mdx","sourceDirName":"toc","slug":"/toc/toc-2-5","permalink":"/tests/docs/toc/toc-2-5","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":2,"toc_max_heading_level":5},"sidebar":"sidebar","previous":{"title":"toc-2-4","permalink":"/tests/docs/toc/toc-2-4"},"next":{"title":"toc-3-5","permalink":"/tests/docs/toc/toc-3-5"}},{"id":"toc/toc-3-_","title":"toc-3-_","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-3-_.mdx","sourceDirName":"toc","slug":"/toc/toc-3-_","permalink":"/tests/docs/toc/toc-3-_","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":3},"sidebar":"sidebar","previous":{"title":"toc-3-5","permalink":"/tests/docs/toc/toc-3-5"},"next":{"title":"toc-4-5","permalink":"/tests/docs/toc/toc-4-5"}},{"id":"toc/toc-3-5","title":"toc-3-5","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-3-5.mdx","sourceDirName":"toc","slug":"/toc/toc-3-5","permalink":"/tests/docs/toc/toc-3-5","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":3,"toc_max_heading_level":5},"sidebar":"sidebar","previous":{"title":"toc-2-5","permalink":"/tests/docs/toc/toc-2-5"},"next":{"title":"toc-3-_","permalink":"/tests/docs/toc/toc-3-_"}},{"id":"toc/toc-4-5","title":"toc-4-5","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-4-5.mdx","sourceDirName":"toc","slug":"/toc/toc-4-5","permalink":"/tests/docs/toc/toc-4-5","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":4,"toc_max_heading_level":5},"sidebar":"sidebar","previous":{"title":"toc-3-_","permalink":"/tests/docs/toc/toc-3-_"},"next":{"title":"toc-5-5","permalink":"/tests/docs/toc/toc-5-5"}},{"id":"toc/toc-5-5","title":"toc-5-5","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-5-5.mdx","sourceDirName":"toc","slug":"/toc/toc-5-5","permalink":"/tests/docs/toc/toc-5-5","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":5,"toc_max_heading_level":5},"sidebar":"sidebar","previous":{"title":"toc-4-5","permalink":"/tests/docs/toc/toc-4-5"},"next":{"title":"toc-_-5","permalink":"/tests/docs/toc/toc-_-5"}},{"id":"toc/toc-test-bad","title":"toc-test-bad","description":"Test the TOC behavior of a real-world MD doc with invalid headings","source":"@site/_dogfooding/_docs tests/toc/toc-test-bad.mdx","sourceDirName":"toc","slug":"/toc/toc-test-bad","permalink":"/tests/docs/toc/toc-test-bad","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":2,"toc_max_heading_level":6},"sidebar":"sidebar","previous":{"title":"toc-_-_","permalink":"/tests/docs/toc/toc-_-_"},"next":{"title":"toc-test-good","permalink":"/tests/docs/toc/toc-test-good"}},{"id":"toc/toc-test-good","title":"toc-test-good","description":"Test the TOC behavior of a real-world MD doc with valid headings","source":"@site/_dogfooding/_docs tests/toc/toc-test-good.mdx","sourceDirName":"toc","slug":"/toc/toc-test-good","permalink":"/tests/docs/toc/toc-test-good","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":2,"toc_max_heading_level":6},"sidebar":"sidebar","previous":{"title":"toc-test-bad","permalink":"/tests/docs/toc/toc-test-bad"}}],"drafts":[{"id":"tests/another-draft","title":"Another Draft","description":"This page should only be visible in local development","source":"@site/_dogfooding/_docs tests/tests/another-draft.mdx","sourceDirName":"tests","slug":"/tests/another-draft","permalink":"/tests/docs/tests/another-draft","draft":true,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"draft":true}},{"id":"tests/visibility/only-drafts/draft1","title":"Only Drafts - Draft 1","description":"Doc with draft front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/only-drafts/draft1.mdx","sourceDirName":"tests/visibility/only-drafts","slug":"/tests/visibility/only-drafts/draft1","permalink":"/tests/docs/tests/visibility/only-drafts/draft1","draft":true,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Draft","permalink":"/tests/docs/tags/draft"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"draft":true,"tags":["visibility","draft"]}},{"id":"tests/visibility/only-drafts/draft2","title":"Only Drafts - Draft 2","description":"Doc with draft front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/only-drafts/draft2.mdx","sourceDirName":"tests/visibility/only-drafts","slug":"/tests/visibility/only-drafts/draft2","permalink":"/tests/docs/tests/visibility/only-drafts/draft2","draft":true,"unlisted":false,"tags":[{"inline":false,"label":"Draft","permalink":"/tests/docs/tags/draft"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"draft":true,"tags":["draft"]}},{"id":"tests/visibility/some-drafts/draft1","title":"Some Drafts - Draft 1","description":"Doc with draft front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-drafts/draft1.mdx","sourceDirName":"tests/visibility/some-drafts","slug":"/tests/visibility/some-drafts/draft1","permalink":"/tests/docs/tests/visibility/some-drafts/draft1","draft":true,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Draft","permalink":"/tests/docs/tags/draft"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"draft":true,"tags":["visibility","draft"]}},{"id":"tests/visibility/some-drafts/draft2","title":"Some Drafts - Draft 2","description":"Doc with draft front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-drafts/draft2.mdx","sourceDirName":"tests/visibility/some-drafts","slug":"/tests/visibility/some-drafts/draft2","permalink":"/tests/docs/tests/visibility/some-drafts/draft2","draft":true,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Draft","permalink":"/tests/docs/tags/draft"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"draft":true,"tags":["visibility","draft"]}},{"id":"tests/visibility/only-drafts/draft-subcategory/draft3","title":"Only Drafts - Draft 3","description":"Doc with draft front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/only-drafts/draft-subcategory/draft3.mdx","sourceDirName":"tests/visibility/only-drafts/draft-subcategory","slug":"/tests/visibility/only-drafts/draft-subcategory/draft3","permalink":"/tests/docs/tests/visibility/only-drafts/draft-subcategory/draft3","draft":true,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Draft","permalink":"/tests/docs/tags/draft"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"draft":true,"tags":["visibility","draft"]}},{"id":"tests/visibility/only-drafts/draft-subcategory/index","title":"Only Drafts - Subcategory index draft","description":"Doc with draft front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/only-drafts/draft-subcategory/index.mdx","sourceDirName":"tests/visibility/only-drafts/draft-subcategory","slug":"/tests/visibility/only-drafts/draft-subcategory/","permalink":"/tests/docs/tests/visibility/only-drafts/draft-subcategory/","draft":true,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Draft","permalink":"/tests/docs/tags/draft"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"draft":true,"tags":["visibility","draft"]}},{"id":"tests/visibility/some-drafts/draft-subcategory/draft3","title":"Some Drafts - Draft 3","description":"Doc with draft front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-drafts/draft-subcategory/draft3.mdx","sourceDirName":"tests/visibility/some-drafts/draft-subcategory","slug":"/tests/visibility/some-drafts/draft-subcategory/draft3","permalink":"/tests/docs/tests/visibility/some-drafts/draft-subcategory/draft3","draft":true,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Draft","permalink":"/tests/docs/tags/draft"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"draft":true,"tags":["visibility","draft"]}},{"id":"tests/visibility/some-drafts/draft-subcategory/index","title":"Some Drafts - Subcategory index draft","description":"Doc with draft front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-drafts/draft-subcategory/index.mdx","sourceDirName":"tests/visibility/some-drafts/draft-subcategory","slug":"/tests/visibility/some-drafts/draft-subcategory/","permalink":"/tests/docs/tests/visibility/some-drafts/draft-subcategory/","draft":true,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Draft","permalink":"/tests/docs/tags/draft"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"draft":true,"tags":["visibility","draft"]}}],"sidebars":{"sidebar":[{"type":"doc","id":"index","className":"red","label":"Index","translatable":true},{"type":"doc","id":"doc-without-sidebar"},{"type":"doc","id":"doc-with-another-sidebar"},{"type":"doc","id":"doc-with-last-update"},{"type":"category","label":"Tests","link":{"type":"generated-index","slug":"/category/tests","permalink":"/tests/docs/category/tests"},"items":[{"type":"doc","id":"tests/Case-Sentitive-Doc"},{"type":"doc","id":"tests/admonitions"},{"type":"category","label":"ascii","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"folder","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/ascii/folder/\xe6\xf8\xe5"}]},{"type":"doc","label":"index","id":"tests/ascii/\xe6\xf8\xe5/index"}]},{"type":"category","label":"Category Links","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Introduction","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/category-links/custom-index-convention/sample-doc"}],"link":{"type":"doc","id":"tests/category-links/custom-index-convention/intro"}},{"type":"category","label":"no-index-doc","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/category-links/no-index-doc/index"},{"type":"doc","id":"tests/category-links/no-index-doc/sample-doc"}]},{"type":"doc","label":"No sub-docs","id":"tests/category-links/no-subdoc/index"},{"type":"doc","id":"tests/category-links/readme"},{"type":"category","label":"regular-category","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/category-links/regular-category/sample-doc"}]},{"type":"category","label":"Category with a doc of category\'s name","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/category-links/with-category-name-doc/sample-doc"}],"link":{"type":"doc","id":"tests/category-links/with-category-name-doc/with-category-name-doc"}},{"type":"category","label":"Category with index.md doc","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/category-links/with-index-doc/sample-doc"}],"link":{"type":"doc","id":"tests/category-links/with-index-doc/index"}},{"type":"category","label":"Category with readme.md doc","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/category-links/with-readme-doc/sample-doc"}],"link":{"type":"doc","id":"tests/category-links/with-readme-doc/README"}}],"description":"Category Links - Custom Description","link":{"type":"generated-index","slug":"/category-links-generated-index-slug","permalink":"/tests/docs/category-links-generated-index-slug"}},{"type":"doc","label":"Image Tests","id":"tests/images/index"},{"type":"doc","id":"tests/import-bad-package"},{"type":"category","label":"links","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/links/broken-anchors-tests"},{"type":"doc","id":"tests/links/target"},{"type":"doc","id":"tests/links/test-markdown-links"}]},{"type":"category","label":"Sidebar Front Matter Tests","collapsible":true,"collapsed":true,"className":"dogfood_sidebar_class_name_test","items":[{"type":"doc","id":"tests/sidebar-frontmatter/doc-with-sidebar-className","className":"dogfood_sidebar_class_name_test"},{"type":"doc","id":"tests/sidebar-frontmatter/doc-with-sidebar-custom-props","customProps":{"prop":"custom","number":1,"boolean":true}},{"type":"doc","id":"tests/sidebar-frontmatter/doc-with-sidebar-label","label":"Doc With Sidebar Label"},{"type":"doc","id":"tests/sidebar-frontmatter/doc-without"}],"link":{"type":"doc","id":"tests/sidebar-frontmatter/index"}},{"type":"doc","label":"TOC partial test","id":"tests/toc-partials/index"},{"type":"category","label":"Visibility","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/visibility/force-unlisted"},{"type":"category","label":"only-unlisteds","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Only Unlisteds - Subcategory index unlisted","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/visibility/only-unlisteds/unlisted-subcategory/unlisted3"}],"link":{"type":"doc","id":"tests/visibility/only-unlisteds/unlisted-subcategory/index"}},{"type":"doc","id":"tests/visibility/only-unlisteds/unlisted1"},{"type":"doc","id":"tests/visibility/only-unlisteds/unlisted2"}]},{"type":"category","label":"some-drafts","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"draft-subcategory","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/visibility/some-drafts/draft-subcategory/listed1"}]}]},{"type":"category","label":"some-unlisteds","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Subcategory index listed","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1"},{"type":"doc","id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2"}],"link":{"type":"doc","id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/index"}},{"type":"category","label":"Subcategory index unlisted","collapsible":true,"collapsed":true,"items":[{"type":"doc","id":"tests/visibility/some-unlisteds/unlisted-subcategory/listed1"},{"type":"doc","id":"tests/visibility/some-unlisteds/unlisted-subcategory/unlisted3"}],"link":{"type":"doc","id":"tests/visibility/some-unlisteds/unlisted-subcategory/index"}},{"type":"doc","id":"tests/visibility/some-unlisteds/unlisted1"},{"type":"doc","id":"tests/visibility/some-unlisteds/unlisted2"}]}],"link":{"type":"doc","id":"tests/visibility/index"}},{"type":"link","label":"External Link test","href":"https://docusaurus.io"},{"type":"category","label":"Sidebar item description tests","description":"Some custom category description","link":{"type":"generated-index","slug":"/category/sidebar-item-description-tests","permalink":"/tests/docs/category/sidebar-item-description-tests"},"items":[{"type":"link","label":"Link without description","href":"https://docusaurus.io"},{"type":"link","label":"Link with description","href":"https://docusaurus.io","description":"Some link description"},{"type":"category","label":"Category without description","items":[{"type":"link","label":"Link ","href":"https://docusaurus.io"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category with description","description":"Some category description","items":[{"type":"link","label":"Link ","href":"https://docusaurus.io"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Another category with index","collapsible":false,"link":{"type":"generated-index","slug":"/category/another-category-with-index","permalink":"/tests/docs/category/another-category-with-index"},"items":[{"type":"doc","id":"more-test"}],"collapsed":false},{"type":"category","label":"Huge sidebar category","items":[{"type":"link","href":"/","label":"Test Test test test test test test"},{"type":"link","href":"/","label":"Link 0 (level 1)"},{"type":"link","href":"/","label":"Link 1 (level 1)"},{"type":"link","href":"/","label":"Link 2 (level 1)"},{"type":"link","href":"/","label":"Link 3 (level 1)"},{"type":"link","href":"/","label":"Link 4 (level 1)"},{"type":"link","href":"/","label":"Link 5 (level 1)"},{"type":"link","href":"/","label":"Link 6 (level 1)"},{"type":"link","href":"/","label":"Link 7 (level 1)"},{"type":"category","label":"Category 0 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 1)","items":[{"type":"link","href":"/","label":"Link 0 (level 2)"},{"type":"link","href":"/","label":"Link 1 (level 2)"},{"type":"link","href":"/","label":"Link 2 (level 2)"},{"type":"link","href":"/","label":"Link 3 (level 2)"},{"type":"link","href":"/","label":"Link 4 (level 2)"},{"type":"link","href":"/","label":"Link 5 (level 2)"},{"type":"link","href":"/","label":"Link 6 (level 2)"},{"type":"link","href":"/","label":"Link 7 (level 2)"},{"type":"category","label":"Category 0 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 2)","items":[{"type":"link","href":"/","label":"Link 0 (level 3)"},{"type":"link","href":"/","label":"Link 1 (level 3)"},{"type":"link","href":"/","label":"Link 2 (level 3)"},{"type":"link","href":"/","label":"Link 3 (level 3)"},{"type":"link","href":"/","label":"Link 4 (level 3)"},{"type":"link","href":"/","label":"Link 5 (level 3)"},{"type":"link","href":"/","label":"Link 6 (level 3)"},{"type":"link","href":"/","label":"Link 7 (level 3)"},{"type":"category","label":"Category 0 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 1 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 2 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 3 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 4 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 5 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 6 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Category 7 (level 3)","items":[{"type":"link","href":"/","label":"Link (level 4)"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Link tests","className":"red","items":[{"type":"link","label":"External link absolute","href":"https://github.com/facebook/docusaurus"},{"type":"link","label":"pathname:/// link","href":"pathname:///some/local/path"},{"type":"link","label":"pathname:/// link (no baseUrl)","href":"pathname:///some/local/path","autoAddBaseUrl":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"TOC tests","className":"red","items":[{"type":"doc","id":"toc/toc-2-2"},{"type":"doc","id":"toc/toc-2-3"},{"type":"doc","id":"toc/toc-2-4"},{"type":"doc","id":"toc/toc-2-5"},{"type":"doc","id":"toc/toc-3-5"},{"type":"doc","id":"toc/toc-3-_"},{"type":"doc","id":"toc/toc-4-5"},{"type":"doc","id":"toc/toc-5-5"},{"type":"doc","id":"toc/toc-_-5"},{"type":"doc","id":"toc/toc-_-_"},{"type":"doc","id":"toc/toc-test-bad"},{"type":"doc","id":"toc/toc-test-good"}],"collapsed":true,"collapsible":true},{"type":"category","label":"HTML items tests","collapsed":false,"collapsible":false,"items":[{"type":"html","value":"Some Text","defaultStyle":true},{"type":"html","value":"<span style=\\"border-top: 1px solid var(--ifm-color-gray-500); display: block;margin: 0.5rem 0 0.25rem 1rem;\\" ></span>"},{"type":"html","defaultStyle":true,"value":"\\n <span style=\\"font-size: 0.5rem; color: lightgrey;\\">Powered by</span>\\n <img style=\\"width: 100px; height: 100px; display: block;\\" src=\\"/img/docusaurus.png\\" alt=\\"Docusaurus Logo\\" />\\n "}]}],"anotherSidebar":[{"type":"doc","id":"dummy"}]}}]}},"docusaurus-plugin-content-blog":{"default":{"blogSidebarTitle":"All our posts","blogPosts":[{"id":"/releases/3.7","metadata":{"permalink":"/blog/releases/3.7","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.7/index.mdx","source":"@site/blog/releases/3.7/index.mdx","title":"Docusaurus 3.7","description":"We are happy to announce Docusaurus 3.7.","date":"2025-01-03T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":2.41,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.7","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2025-01-03T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","nextItem":{"title":"Docusaurus 3.6","permalink":"/blog/releases/3.6"}},"content":"We are happy to announce **Docusaurus 3.7**.\\n\\nDocusaurus is now compatible with [React 19](https://react.dev/blog/2024/12/05/react-19).\\n\\nUpgrading should be easy. Our [release process](/community/release-process) respects [Semantic Versioning](https://semver.org/). Minor versions do not include any breaking changes.\\n\\n![Docusaurus blog post social card](./img/social-card.png)\\n\\n{/* truncate */}\\n\\n## Highlight\\n\\n### React 19\\n\\nIn [#10763](https://github.com/facebook/docusaurus/pull/10763), we added support for [React 19](https://react.dev/blog/2024/12/05/react-19), and the Docusaurus website is running on React 19 already.\\n\\nFrom now on, all newly initialized sites will run on React 19 by default, and React 19 will be the minimum required version Docusaurus v4.\\n\\nHowever, React 18 remains supported, and existing Docusaurus sites can either choose to stay on React 18, or upgrade their dependencies to React 19:\\n\\n```diff\\n{\\n \\"name\\": \\"my-docusaurus-site\\",\\n \\"dependencies\\": {\\n- \\"react\\": \\"^18.0.0\\",\\n- \\"react-dom\\": \\"^18.0.0\\"\\n+ \\"react\\": \\"^19.0.0\\",\\n+ \\"react-dom\\": \\"^19.0.0\\"\\n }\\n}\\n```\\n\\n:::warning\\n\\nThere\'s no urge to upgrade your site immediately.\\n\\nReact 19 is a bit heavier than React 18. Since we support both versions, we don\'t leverage yet the new features that are exclusive to React 19.\\n\\nHowever, upgrading to React 19 prepares your site for Docusaurus v4, that will drop support for React 18.\\n\\nHere are good reasons to upgrade your site before Docusaurus v4:\\n\\n- You have custom React code and want to ensure it is ready for React19\\n- You plan to leverage the brand-new React 19 features in your own code\\n- You use custom or third-party plugins and want to ensure their compatibility\\n- You have a monorepo and want to align the React dependency to v19 for all packages\\n\\n:::\\n\\nAlong the way, we [fixed](https://github.com/facebook/docusaurus/pull/10786) all the remaining hydration errors reported by React 19, some of them produced by our aggressive HTML minifier settings.\\n\\n### SVGR plugin\\n\\nDocusaurus has built-in support for [SVGR](https://github.com/gregberge/svgr), allowing you to seamlessly import and use SVG files as React components:\\n\\n```tsx\\nimport DocusaurusSvg from \'./docusaurus.svg\';\\n\\n<DocusaurusSvg />;\\n```\\n\\nThis built-in support has been the source of various bug reports due to the inability to customize the [SVGR Options](https://react-svgr.com/docs/options/), in particular the [SVG Optimizer](https://svgo.dev/) options.\\n\\nIn [#10677](https://github.com/facebook/docusaurus/pull/10677), we extracted a new [`@docusaurus/plugin-svgr`](/docs/api/plugins/@docusaurus/plugin-svgr) that you can now configure according to your needs. It is included by default in our classic preset:\\n\\n```js\\nexport default {\\n presets: [\\n [\\n \'classic\',\\n {\\n svgr: {\\n svgrConfig: {\\n // Your SVGR options ...\\n svgoConfig: {\\n // Your SVGO options ...\\n // Use \\"svgoConfig: undefined\\" to use a svgo.config.js file\\n },\\n },\\n },\\n },\\n ],\\n ],\\n};\\n```\\n\\n## Other changes\\n\\nOther notable changes include:\\n\\n- [#10768](https://github.com/facebook/docusaurus/pull/10768): Blog authors have built-in icons for social platforms bluesky, mastodon, threads, twitch, youtube, instagram.\\n- [#10729](https://github.com/facebook/docusaurus/pull/10729): Blog now supports `frontMatter.sidebar_label`\\n- [#10803](https://github.com/facebook/docusaurus/pull/10803): `@docusaurus/remark-plugin-npm2yarn` now supports Bun conversions.\\n- [#10672](https://github.com/facebook/docusaurus/pull/10672): Upgrade Algolia DocSearch to `algoliasearch` v5.\\n- [#10800](https://github.com/facebook/docusaurus/pull/10800): Docusaurus Faster turns Rspack incremental mode on by default.\\n- [#10783](https://github.com/facebook/docusaurus/pull/10783): Improve Dutch theme translations.\\n- [#10760](https://github.com/facebook/docusaurus/pull/10760): Improve Korean theme translations.\\n\\nCheck the **[3.7.0 changelog entry](/changelog/3.7.0)** for an exhaustive list of changes."},{"id":"/releases/3.6","metadata":{"permalink":"/blog/releases/3.6","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.6/index.mdx","source":"@site/blog/releases/3.6/index.mdx","title":"Docusaurus 3.6","description":"We are happy to announce Docusaurus 3.6.","date":"2024-11-04T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":5.91,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.6","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-11-04T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.7","permalink":"/blog/releases/3.7"},"nextItem":{"title":"Docusaurus 3.5","permalink":"/blog/releases/3.5"}},"content":"We are happy to announce **Docusaurus 3.6**.\\n\\nDocusaurus is now \u26A1\uFE0F\u26A1\uFE0F\u26A1\uFE0F **much faster** to build your site.\\n\\nUpgrading should be easy. Our [release process](/community/release-process) respects [Semantic Versioning](https://semver.org/). Minor versions do not include any breaking changes.\\n\\n![Docusaurus blog post social card](./img/social-card.png)\\n\\n{/* truncate */}\\n\\n## Highlights\\n\\nThis release has been mostly focused on build performance through the [Docusaurus Faster](https://github.com/facebook/docusaurus/issues/10556) project.\\n\\n## Docusaurus Faster\\n\\nThe [Docusaurus Faster](https://github.com/facebook/docusaurus/issues/10556) project\'s goal is to reduce the build times and memory consumption.\\n\\nWe have worked on multiple optimizations and modernized our infrastructure to use faster Rust-based tools, notably:\\n\\n- \uD83E\uDD80 [Rspack](https://rspack.dev/): Fast Rust-based web bundler, almost drop-in replacement for [webpack](https://webpack.js.org/)\\n- \uD83E\uDD80 [SWC](https://swc.rs/): Speedy Web Compiler, Rust-based platform for the Web (HTML, CSS, JS)\\n- \uD83E\uDD80 [Lightning CSS](https://lightningcss.dev/): An extremely fast CSS parser, transformer, bundler, and minifier\\n\\n### Impacts\\n\\nAdopting a new infrastructure can have various impacts. It\'s impossible to list them all exhaustively, so let\'s focus on the major ones.\\n\\nTo help you adopt it easily, we have been fairly conservative in terms of expected static site output and [browser support](/docs/browser-support).\\n\\n#### Build Time\\n\\nBenchmarks on community site show that you can expect your production site to build \u26A1\uFE0F**2 to 4 times faster**! \uD83D\uDD25:\\n\\n- [React Native website](https://github.com/facebook/react-native-website/pull/4268): 3.04x faster \uD83D\uDD25\\n- [Babel website](https://github.com/babel/website/pull/2997): 3.27x faster \uD83D\uDD25\\n- [Lexical website](https://github.com/facebook/lexical/pull/6761): 2x faster \uD83D\uDD25\\n\\n[How to benchmark](https://github.com/facebook/docusaurus/issues/10556#issuecomment-2407671873)\\n\\n:::note About rebuilds\\n\\n[Rspack doesn\'t support persistent caching yet](https://rspack.dev/misc/planning/roadmap#persistent-cache), but it\'s on the roadmap and should be implemented soon. We think it\'s not a problem for the adoption of Rspack considering a cold Rspack build is usually as fast as a warm Webpack build using persistent caching.\\n\\n:::\\n\\n#### Memory Consumption\\n\\nYou should also notice an improvement in memory consumption:\\n\\n- The new infrastructure consumes less memory overall\\n- We fixed an important [memory leak](https://github.com/facebook/docusaurus/pull/10599) that affects in particular i18n sites\\n- We added [CI checks](https://github.com/facebook/docusaurus/pull/10601) to ensure that we don\'t regress, and that our site and init template can both build in a memory-constrained environments\\n- We added [internal tooling](https://github.com/facebook/docusaurus/pull/10590) to better understand which step of a build consumes memory\\n- We [removed a `process.exit(0)`](https://github.com/facebook/docusaurus/pull/10410) that can hide memory leaks in your own code and third-party plugins\\n\\n#### Other Impacts\\n\\n- The HTML minifier now [emits warnings in case of invalid HTML markup](https://github.com/facebook/docusaurus/discussions/10580)\\n- The static HTML output is [~5% smaller](https://github.com/facebook/docusaurus/pull/10554)\\n- Some bugs are automatically fixed by the new infrastructure\\n\\n### Adoption Strategy\\n\\nThis new infrastructure is a breaking change, but it is opt-in and does not require a new major version of Docusaurus.\\n\\nBefore using Docusaurus Faster, add this new package:\\n\\n```bash npm2yarn\\nnpm install @docusaurus/faster\\n```\\n\\nTo help you **adopt it incrementally under Docusaurus v3**, we\'re introducing a set of feature flags that you can activate progressively.\\n\\nWe recommend turning them on all at once with this simple boolean shortcut:\\n\\n```js\\nconst config = {\\n future: {\\n experimental_faster: true,\\n },\\n};\\n```\\n\\nIn case one of the flags does not work for your site, it\'s possible to turn feature flags on independently:\\n\\n```ts\\nconst config = {\\n future: {\\n experimental_faster: {\\n swcJsLoader: true,\\n swcJsMinimizer: true,\\n swcHtmlMinimizer: true,\\n lightningCssMinimizer: true,\\n rspackBundler: true,\\n mdxCrossCompilerCache: true,\\n },\\n },\\n};\\n```\\n\\n- [`swcJsLoader`](https://github.com/facebook/docusaurus/pull/10435): Use [SWC](https://swc.rs/) to transpile JS (instead of [Babel](https://babeljs.io/))\\n- [`swcJsMinimizer`](https://github.com/facebook/docusaurus/pull/10441): Use [SWC](https://swc.rs/) to minify JS (instead of [Terser](https://github.com/terser/terser))\\n- [`swcHtmlMinimizer `](https://github.com/facebook/docusaurus/pull/10554): Use [SWC](https://swc.rs/) to minify HTML and inlined JS/CSS (instead of [html-minifier-terser](https://github.com/terser/html-minifier-terser))\\n- [`lightningCssMinimizer`](https://github.com/facebook/docusaurus/pull/10522): Use [Lightning CSS](https://lightningcss.dev/) to minify CSS (instead of [cssnano](https://github.com/cssnano/cssnano) and [clean-css](https://github.com/clean-css/clean-css))\\n- [`rspackBundler`](https://github.com/facebook/docusaurus/pull/10402): Use [Rspack](https://rspack.dev/) to bundle your app (instead of [webpack](https://webpack.js.org/))\\n- [`mdxCrossCompilerCache`](https://github.com/facebook/docusaurus/pull/10479): Compile MDX files once for both browser/Node.js environments instead of twice\\n\\n:::tip Experimental but safe\\n\\nDon\'t be afraid to turn this feature on. What\'s experimental is the config options.\\n\\nThe new infrastructure is robust and well-tested by our CI pipeline. The [Docusaurus site](https://docusaurus.io/) already uses it in production, and we plan to use it on other Meta docs sites as well.\\n\\n:::\\n\\n#### Plugins\\n\\nThe new infrastructure uses [Rspack](https://rspack.dev/). By chance, Rspack is almost 100% compatible with [webpack](https://webpack.js.org/), and Rspack shouldn\'t break our plugin ecosystem.\\n\\nMost Docusaurus plugins should work out of the box with Rspack, even those implementing [`configureWebpack`](/docs/api/plugin-methods/lifecycle-apis#configureWebpack).\\n\\nHowever, some of them will require small modifications to make them compatible with Rspack. The general idea is to avoid importing `webpack` directly, and use the \\"dynamically provided\\" webpack instance instead:\\n\\n```diff\\n-import webpack from \'webpack\';\\n\\nexport default function (context, options) {\\n return {\\n name: \'custom-docusaurus-plugin\',\\n- configureWebpack(config, isServer) {\\n+ configureWebpack(config, isServer, {currentBundler}) {\\n return {\\n plugins: [\\n- new webpack.DefinePlugin({}),\\n+ new currentBundler.instance.DefinePlugin({}),\\n ]\\n };\\n },\\n };\\n}\\n```\\n\\n:::tip For plugins authors\\n\\nCheck the [dedicated issue](https://github.com/facebook/docusaurus/issues/10572) for guidelines and support.\\n\\n:::\\n\\n### Next Steps\\n\\nIt\'s only the beginning: we will continue working on the [Docusaurus Faster](https://github.com/facebook/docusaurus/issues/10556) project and already have a few more performance improvements planned.\\n\\nDepending on [your feedback](https://github.com/facebook/docusaurus/issues/10556), we plan to make this new infrastructure the default in an upcoming major version of Docusaurus.\\n\\n\uD83D\uDE4F We\'d like to thank the authors of all these great tools that already helped us make Docusaurus much faster than before. In particular the [Rspack team](https://rspack.dev/misc/team/core-team) that supported us along the way, handled our feedback very quickly and implemented all the missing features we needed to make it happen. \uD83D\uDC4F\\n\\n## Rsdoctor plugin\\n\\nIn [#10588](https://github.com/facebook/docusaurus/pull/10588), we created a Docusaurus plugin for [Rsdoctor](https://rsdoctor.dev/). It analyzes the bundling phase of Docusaurus and helps you figure out what slows down the bundler in terms of loaders, plugins and minimizers. It works for both webpack and Rspack.\\n\\n![Loader timeline example](./img/rsdoctor.jpg)\\n\\nTo use it, install the new [`@docusaurus/plugin-rsdoctor`](/docs/api/plugins/@docusaurus/plugin-rsdoctor) package, and then use the plugin in your config:\\n\\n```ts title=\\"docusaurus.config.js\\"\\nexport default {\\n plugins: [\\n [\\n \'rsdoctor\',\\n {\\n /* options */\\n },\\n ],\\n ],\\n};\\n```\\n\\n:::tip\\n\\nTurn it on conditionally, based on an environment variable:\\n\\n```ts title=\\"docusaurus.config.js\\"\\nexport default {\\n plugins: [\\n process.env.RSDOCTOR === \'true\' && [\\n \'rsdoctor\',\\n {\\n /* options */\\n },\\n ],\\n ],\\n};\\n```\\n\\n```bash\\n# Build without Rsdoctor\\nnpm run build\\n\\n# Build with Rsdoctor\\nRSDOCTOR=true npm run build\\n```\\n\\n:::\\n\\n## Mermaid\\n\\nIn [#10510](https://github.com/facebook/docusaurus/pull/10510), we relaxed our [Mermaid diagrams](https://mermaid.js.org/) dependency range to allow newer major versions of Mermaid. We now support both Mermaid 10/11, and expect upcoming versions to be compatible, letting you upgrade on your own terms.\\n\\nThis unlocks new types of diagrams, such as [Architecture Diagrams](https://mermaid.js.org/syntax/architecture):\\n\\n```mermaid\\narchitecture-beta\\n group api(cloud)[API]\\n\\n service db(database)[Database] in api\\n service disk1(disk)[Storage] in api\\n service disk2(disk)[Storage] in api\\n service server(server)[Server] in api\\n\\n db:L -- R:server\\n disk1:T -- B:server\\n disk2:T -- B:db\\n```\\n\\n## Translations\\n\\n- \uD83C\uDDF8\uD83C\uDDEE [#10551](https://github.com/facebook/docusaurus/pull/10551): Improve Slovenian theme translations.\\n- \uD83C\uDDFB\uD83C\uDDF3 [#10507](https://github.com/facebook/docusaurus/pull/10507): Improve Vietnamese theme translations.\\n- \uD83C\uDDEA\uD83C\uDDF8 [#10413](https://github.com/facebook/docusaurus/pull/10413): Improve Spanish theme translations.\\n\\n## Other changes\\n\\nOther notable changes include:\\n\\n- [#10586](https://github.com/facebook/docusaurus/pull/10586): Blog support for `frontMatter.title_meta` to override `frontMatter.title` for SEO reason.\\n- [#10600](https://github.com/facebook/docusaurus/pull/10600): `docusaurus build` and `docusaurus deploy` now support multiple `--locale` CLI args.\\n- [#10454](https://github.com/facebook/docusaurus/pull/10454): `docusaurus-remark-plugin-npm2yarn` upgrades to [`npm-to-yarn` v3](https://github.com/nebrelbug/npm-to-yarn/releases/tag/v3.0.0) and can convert `npx` commands.\\n- [#10612](https://github.com/facebook/docusaurus/pull/10612): Canary releases will use `3.5.2-canary-<number>` instead of `0.0.0-canary-<number>` to respect plugins `peerDependency` constraints.\\n- [#10547](https://github.com/facebook/docusaurus/pull/10547): `@docusaurus/tsconfig` upgrades to `target: \'es2022\'`.\\n- [#10514](https://github.com/facebook/docusaurus/pull/10514): Remove `babel.config.js` from Docusaurus init templates to discourage customizing Babel.\\n\\nCheck the **[3.6.0 changelog entry](/changelog/3.6.0)** for an exhaustive list of changes."},{"id":"/releases/3.5","metadata":{"permalink":"/blog/releases/3.5","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.5/index.mdx","source":"@site/blog/releases/3.5/index.mdx","title":"Docusaurus 3.5","description":"We are happy to announce Docusaurus 3.5.","date":"2024-08-09T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.91,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.5","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-08-09T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.6","permalink":"/blog/releases/3.6"},"nextItem":{"title":"Docusaurus 3.4","permalink":"/blog/releases/3.4"}},"content":"We are happy to announce **Docusaurus 3.5**.\\n\\nThis release contains many **new exciting blog features**.\\n\\nUpgrading should be easy. Our [release process](/community/release-process) respects [Semantic Versioning](https://semver.org/). Minor versions do not include any breaking changes.\\n\\n![Docusaurus blog post social card](./img/social-card.png)\\n\\n{/* truncate */}\\n\\n## Highlights\\n\\n### Blog Social Icons\\n\\nIn [#10222](https://github.com/facebook/docusaurus/pull/10222), we added the possibility to associate social links to blog authors, for inline authors declared in front matter or global through the `authors.yml` file.\\n\\n```yml title=\\"blog/authors.yml\\"\\nslorber:\\n name: S\xe9bastien Lorber\\n # other author properties...\\n # highlight-start\\n socials:\\n x: sebastienlorber\\n linkedin: sebastienlorber\\n github: slorber\\n newsletter: https://thisweekinreact.com\\n # highlight-end\\n```\\n\\n![Author socials screenshot displaying `slorber` author with 4 social platform icons](./img/author-socials.png)\\n\\nIcons and handle shortcuts are provided for pre-defined platforms `x`, `linkedin`, `github` and `stackoverflow`. It\'s possible to provide any additional platform entry (like `newsletter` in the example above) with a full URL.\\n\\n### Blog Authors Pages\\n\\nIn [#10216](https://github.com/facebook/docusaurus/pull/10216), we added the possibility for [global blog authors](/docs/blog#global-authors) (declared in `authors.yml`) to have their own dedicated page listing all the blog posts they contributed to.\\n\\nThis feature is opt-in and mostly relevant for **multi-author blogs**. You can turn it on for a specific author by setting the `page: true` property:\\n\\n```yml title=\\"blog/authors.yml\\"\\nslorber:\\n name: S\xe9bastien Lorber\\n # the description will be displayed on the author\'s page\\n description: \'A freelance React and React-Native developer...\'\\n # highlight-next-line\\n page: true # Turns the feature on\\n```\\n\\nThis creates a [dedicated author page](/blog/authors/slorber) at `/blog/authors/slorber`.\\n\\n![Author page screenshot for `slorber` global author](./img/author-page.png)\\n\\nAn [authors index page](/blog/authors) is also created, listing all the blog authors.\\n\\n![Author index page listing multiple authors](./img/author-index.png)\\n\\nCheck the [blog authors pages guide](/docs/blog#authors-pages) for details.\\n\\n### Blog Feeds Styling\\n\\nIn [#9252](https://github.com/facebook/docusaurus/pull/9252), we added support for [styling your blog feeds](https://darekkay.com/blog/rss-styling/) by providing custom XSLT `.xls` files for the RSS and Atom feeds. This allows browsers to render the feeds in a more visually appealing way, like a regular HTML page, instead of the default XML view.\\n\\n```js title=\\"website/docusaurus.config.js\\"\\nconst blogOptions = {\\n feedOptions: {\\n // highlight-start\\n xslt: {\\n rss: \'custom-rss.xsl\',\\n atom: \'custom-atom.xsl\',\\n },\\n // highlight-end\\n },\\n};\\n```\\n\\nWriting your own XSLT can be complex, but you can also use `xslt: true` to turn on the built-in style:\\n\\n```js title=\\"website/docusaurus.config.js\\"\\nconst blogOptions = {\\n feedOptions: {\\n // highlight-start\\n xslt: true,\\n // highlight-end\\n },\\n};\\n```\\n\\n![Screenshot of the Docusaurus blog RSS feed, beautifully styled](./img/blog-feed-xslt.png)\\n\\n### Blog Sidebar Grouping\\n\\nIn [#10252](https://github.com/facebook/docusaurus/pull/10252), we added support for grouping blog posts by years in the blog sidebar.\\n\\n![Screenshot of the Docusaurus blog, in particular the sidebar items grouped by year](./img/blog-sidebar-years.png)\\n\\nThis feature is now turned on by default, but can be disabled with `themeConfig.blog.sidebar.groupByYear: false`.\\n\\n### Blog Consistency Options\\n\\nWe added new blog options to enforce recommended practices for your blog posts:\\n\\n#### `onInlineAuthors`\\n\\nWe believe large multi-blogs are easier to manage by using [global authors](/docs/blog#global-authors), declared in `authors.yml`. This notably permits to avoids duplicating author information across multiple blog posts, and now permits to generate [author pages](/docs/blog#authors-pages).\\n\\nIn [#10224](https://github.com/facebook/docusaurus/pull/10224), we added the `onInlineAuthors` option. Use `onInlineAuthors: \'throw\'` to forbid [inline authors](/docs/blog#inline-authors), and enforce a consistent usage of [global authors](/docs/blog#global-authors).\\n\\n#### `onUntruncatedBlogPosts`\\n\\nWe believe blog posts are better using [truncation markers](/docs/blog#blog-list) (`\x3c!-- truncate --\x3e` or `{/* truncate */}`). On paginated lists (blog home, tags pages, authors pages), this permits to render a more concise preview of the blog post instead of a full blog post.\\n\\nIn [#10375](https://github.com/facebook/docusaurus/pull/10375), we added the `onUntruncatedBlogPosts` option. Use `onUntruncatedBlogPosts: \'throw\'` to enforce a consistent usage of [truncation markers](/docs/blog#blog-list).\\n\\n## Translations\\n\\n- \uD83C\uDDEA\uD83C\uDDEA [#10339](https://github.com/facebook/docusaurus/pull/10339): Add Estonian theme translations.\\n- \uD83C\uDDEE\uD83C\uDDE9 [#10325](https://github.com/facebook/docusaurus/pull/10325): Add Indonesian theme translations.\\n- \uD83C\uDDEA\uD83C\uDDF8 [#10360](https://github.com/facebook/docusaurus/pull/10360): Improve Spanish theme translations.\\n- \uD83C\uDDE9\uD83C\uDDEA [#10235](https://github.com/facebook/docusaurus/pull/10235): Improve German theme translations.\\n- \uD83C\uDDE8\uD83C\uDDF3 [#10257](https://github.com/facebook/docusaurus/pull/10257): Improve Traditional Chinese (zh-Hant) theme translations.\\n\\n## Other changes\\n\\nOther notable changes include:\\n\\n- [#10369](https://github.com/facebook/docusaurus/pull/10369): Add support for [pkg.pr.new](https://pkg.pr.new) continuous releases so that you can test any pull-request code in a StackBlitz playground.\\n- [#10376](https://github.com/facebook/docusaurus/pull/10376): Theme unlisted/draft banners are also shown in dev so that you don\'t forget to publish your content.\\n- [#10335](https://github.com/facebook/docusaurus/pull/10335): The Markdown top-level headings `# title` are automatically wrapped in `<header>` for consistency with front matter `title: Title`.\\n- [#10286](https://github.com/facebook/docusaurus/pull/10286): Allows Docusaurus plugins to self-disable by returning `null`.\\n- [#10241](https://github.com/facebook/docusaurus/pull/10241): Add support for [MDX processor `recmaPlugins` option](https://mdxjs.com/packages/mdx/#processoroptions) to modify the MDX Estree AST.\\n- [#10324](https://github.com/facebook/docusaurus/pull/10324): The docs autogenerated `_category_.json` accepts a new `description` property that gets displayed on generated index pages.\\n- [#10368](https://github.com/facebook/docusaurus/pull/10368): The CLI command `docusaurus --version` now actually returns the Docusaurus version.\\n- [#10240](https://github.com/facebook/docusaurus/pull/10240): Markdown `mdx-code-block` now supports indentation.\\n- [#10219](https://github.com/facebook/docusaurus/pull/10219): Fix `<TabItem lazy>` support the for `className` prop.\\n- [#10313](https://github.com/facebook/docusaurus/pull/10313): Blog-related `@docusaurus/theme-common/internal` APIs have been moved to `@docusaurus/plugin-content-blog/client`.\\n- [#10316](https://github.com/facebook/docusaurus/pull/10316): Docs-related `@docusaurus/theme-common/internal` APIs have been moved to `@docusaurus/plugin-content-docs/client`.\\n\\nCheck the **[3.5.0 changelog entry](/changelog/3.5.0)** for an exhaustive list of changes."},{"id":"/releases/3.4","metadata":{"permalink":"/blog/releases/3.4","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.4/index.mdx","source":"@site/blog/releases/3.4/index.mdx","title":"Docusaurus 3.4","description":"We are happy to announce Docusaurus 3.4.","date":"2024-05-31T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.045,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.4","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-05-31T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.5","permalink":"/blog/releases/3.5"},"nextItem":{"title":"Docusaurus 3.3","permalink":"/blog/releases/3.3"}},"content":"We are happy to announce **Docusaurus 3.4**.\\n\\nUpgrading should be easy. Our [release process](/community/release-process) respects [Semantic Versioning](https://semver.org/). Minor versions do not include any breaking changes.\\n\\n![Docusaurus blog post social card](./img/social-card.png)\\n\\n\x3c!--truncate--\x3e\\n\\n## Highlights\\n\\n### Tags files\\n\\nThe docs and blog plugins both already supported a `tags` front matter attribute, enabling you to group related content. But tags declared inline in the front matter are not always ideal.\\n\\nWith [#10137](https://github.com/facebook/docusaurus/pull/10137), you can now declare a list of pre-defined tags in a `tags.yml` file:\\n\\n```yml title=\\"blog/tags.yml\\"\\ntag1:\\n label: \'Tag 1\'\\n description: \'Tag 1 description\'\\n permalink: /tag-1-permalink\\n\\ntag2:\\n label: \'Tag 2\'\\n description: \'Tag 2 description\'\\n permalink: /tag-2-permalink\\n```\\n\\nThese predefined tags can be used in the front matter of your blog or docs files:\\n\\n```md title=\\"blog/2024-05-31-my-blog-post.md\\"\\n---\\ntags: [tag1, tag2]\\n---\\n\\n# Title\\n\\nContent\\n```\\n\\n:::tip Keeping tags usage consistent\\n\\nUse the new `onInlineTags: \'throw\'` plugin option to enforce the usage of predefined tags and prevent contributors from creating new unwanted tags.\\n\\n:::\\n\\n### Hash Router - Experimental\\n\\nWith [9859](https://github.com/facebook/docusaurus/pull/9859), we added a new **experimental** hash router config option, useful for **offline browsing** by opening your site locally through the `file://` protocol.\\n\\n```tsx title=\\"docusaurus.config.js\\"\\nexport default {\\n future: {\\n experimental_router: \'hash\',\\n },\\n};\\n```\\n\\n:::warning\\n\\nThis mode is **not recommended for sites deployed through a web server**.\\n\\n:::\\n\\nWhen this mode is turned on, Docusaurus will opt out of static site rendering, and build a client-side single page application where all routes are prefixed with `/#/`. A single `index.html` file is generated. This file can be opened locally in your browser by simply clicking it, using the browser `file://` protocol. This makes it possible to distribute a Docusaurus site as a `.zip` file so that readers can browse it offline, without having to install anything complex on their computer apart a web browser.\\n\\n![Docusaurus hash router - local browsing using the file:// protocol](./img/hash.png)\\n\\nTry browsing our own Docusaurus site built with the hash router:\\n\\n- [Docusaurus website - Hash Router web deployment](https://facebook.github.io/docusaurus/#/)\\n- [Docusaurus website - Hash Router downloadable GitHub artifacts](https://github.com/facebook/docusaurus/actions/workflows/build-hash-router.yml)\\n\\n:::caution Experimental\\n\\nThis feature is **experimental**. If you try it out, please let us know how it works for you [here](https://github.com/facebook/docusaurus/issues/3825).\\n\\n:::\\n\\n### Site Storage - Experimental\\n\\nDocusaurus uses the browser `localStorage` API to persist UI state.\\n\\nBut sometimes the storage space is \\"shared\\" between multiple sites using the same domain, leading to **storage key conflicts**. This generally happens in two cases\\n\\n- when working on multiple `http://localhost:3000` sites\\n- when hosting multiple sites under the same domain: `https://example.com/site1/` and `https://example.com/site2/`\\n\\nFor this reason, we introduced a new **experimental** `siteStorage` configuration option:\\n\\n```tsx\\nexport default {\\n future: {\\n experimental_storage: {\\n type: \'localStorage\',\\n namespace: true,\\n },\\n },\\n};\\n```\\n\\nWhen `namespace: true` is set, we apply a hash suffix to all the storage keys, making them unique to the current site (based on `config.url` and `config.baseUrl`. For example, the `theme` storage key becomes `theme-x6f`. It is also possible to provide your own custom suffix `namespace: \'suffix\'`. We also made it possible to use `type: \'sessionStorage\'` instead of the default `localStorage`.\\n\\n:::caution Experimental\\n\\nThis feature is **experimental**. If you try it out, please let us know how it works for you [here](https://github.com/facebook/docusaurus/pull/10121).\\n\\n:::\\n\\n## Other changes\\n\\nOther notable changes include:\\n\\n- [#10151](https://github.com/facebook/docusaurus/pull/10151): add Turkmen (tk) theme translations\\n- [#10111](https://github.com/facebook/docusaurus/pull/10111): add Bulgarian (bg) theme translations\\n- [#10168](https://github.com/facebook/docusaurus/pull/10168): fix many long overdue Markdown link resolution bugs\\n- [#10178](https://github.com/facebook/docusaurus/pull/10178): the `/search` page now respects the `contextualSearch: false` setting\\n- [#10118](https://github.com/facebook/docusaurus/pull/10118): fix bad pluralization on docs generated index category card description\\n- [#10130](https://github.com/facebook/docusaurus/pull/10130): fix false positives reported by the broken anchor checker due to trailing slashes\\n\\nCheck the **[3.4.0 changelog entry](/changelog/3.4.0)** for an exhaustive list of changes."},{"id":"/releases/3.3","metadata":{"permalink":"/blog/releases/3.3","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.3/index.mdx","source":"@site/blog/releases/3.3/index.mdx","title":"Docusaurus 3.3","description":"We are happy to announce Docusaurus 3.3.","date":"2024-05-03T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":2.56,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.3","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-05-03T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.4","permalink":"/blog/releases/3.4"},"nextItem":{"title":"Docusaurus 3.2","permalink":"/blog/releases/3.2"}},"content":"We are happy to announce **Docusaurus 3.3**.\\n\\nUpgrading should be easy. Our [release process](/community/release-process) respects [Semantic Versioning](https://semver.org/). Minor versions do not include any breaking changes.\\n\\n![Docusaurus blog post social card](./img/social-card.png)\\n\\n\x3c!--truncate--\x3e\\n\\nimport BrowserWindow from \'@site/src/components/BrowserWindow\';\\nimport IframeWindow from \'@site/src/components/BrowserWindow/IframeWindow\';\\n\\n## Highlights\\n\\n### Prepare for React 19\\n\\nThe React core team recently [released the first **React 19 beta**](https://react.dev/blog/2024/04/25/react-19). They also [published an upgrade guide and a **React v18.3 release**](https://react.dev/blog/2024/04/25/react-19-upgrade-guide) with new warnings to help us identify issues **before upgrading to React 19**.\\n\\nDocusaurus v3 depends on React `18.x`. When initializing a new Docusaurus sites, it will use that new React `18.3` release. It\'s also the case if you decide to upgrade your dependencies, or re-generate your package manager lockfile.\\n\\nIt turns out in its current state, **Docusaurus had a few of those extra warnings to fix**, notably this one immediately appearing on your dev console on any page load and navigation:\\n\\n> Warning: LoadableComponent uses the legacy contextTypes API which is no longer supported and will be removed in the next major release. Use React.createContext() with static contextType instead.\\n\\nIn [#10079](https://github.com/facebook/docusaurus/pull/10079), we got Docusaurus ready for React 19. We fixed all the React 18.3 warnings we encountered. In case we missed any, don\'t hesitate to [**report new warnings**](https://github.com/facebook/docusaurus/issues/10099) if you see them, to us but also to other Docusaurus third-party plugin authors.\\n\\n### `createSitemapItems`\\n\\nIn [#10083](https://github.com/facebook/docusaurus/pull/10083), we introduced a new flexible `createSitemapItems()` hook to the sitemap plugin. This enables users to create/filter/transform/enhance the sitemap items with their own custom logic.\\n\\n```ts\\nexport default {\\n presets: [\\n [\\n \'@docusaurus/preset-classic\',\\n {\\n sitemap: {\\n // highlight-start\\n createSitemapItems: async ({\\n defaultCreateSitemapItems,\\n ...params\\n }) => {\\n const items = await defaultCreateSitemapItems(params);\\n return items.filter((item) => !item.url.includes(\'/tags/\'));\\n },\\n // highlight-end\\n },\\n },\\n ],\\n ],\\n};\\n```\\n\\n### Pages plugin improvements\\n\\nThe Docusaurus [pages plugin](/docs/api/plugins/@docusaurus/plugin-content-pages) has historically been lagging behind the docs and blog plugins in terms of available feature.\\n\\nIn [#10032](https://github.com/facebook/docusaurus/pull/10032) we normalized the options available on each core content plugins by adding a few the missing page plugins APIs related to the edit url and the last update metadata displayed at the bottom on Markdown pages.\\n\\n```js\\nexport default {\\n presets: [\\n [\\n \'@docusaurus/preset-classic\',\\n {\\n pages: {\\n // highlight-start\\n editUrl:\\n \'https://github.com/facebook/docusaurus/tree/main/website/src/pages\',\\n editLocalizedFiles: true,\\n showLastUpdateAuthor: true,\\n showLastUpdateTime: true,\\n // highlight-end\\n },\\n },\\n ],\\n ],\\n};\\n```\\n\\n<IframeWindow url=\\"/examples/markdownPageExample\\" />\\n\\n:::note Only for Markdown pages\\n\\nThese new plugin options only apply to Markdown pages, and have no effect on React pages for which you have full control over the layout with JSX.\\n\\n:::\\n\\n## Other changes\\n\\nOther notable changes include:\\n\\n- [#10064](https://github.com/facebook/docusaurus/pull/10064): new site config option `siteConfig.markdown.anchors.maintainCase`\\n- [#9767](https://github.com/facebook/docusaurus/pull/9767): new `docusaurus deploy --target-dir` option\\n- [#10042](https://github.com/facebook/docusaurus/pull/10042): new (experimental) plugin API: `route.props`\\n- [#10060](https://github.com/facebook/docusaurus/pull/10060): optimizes the App entrypoint, avoid useless re-renders on navigations\\n- [#10080](https://github.com/facebook/docusaurus/pull/10080): `<Admonition>` component can render properly without heading/icon\\n- [#10091](https://github.com/facebook/docusaurus/pull/10091): `<Tabs>` props can now override defaults\\n- [#10090](https://github.com/facebook/docusaurus/pull/10090): `docusaurus serve` works better with a `/baseUrl/` pathname prefix\\n- [#10070](https://github.com/facebook/docusaurus/pull/10070): add missing theme translations for `pt-BR`\\n- [#10025](https://github.com/facebook/docusaurus/pull/10025): doc sidebar item label now impacts the doc pagination label\\n\\nCheck the **[3.3.0 changelog entry](/changelog/3.3.0)** for an exhaustive list of changes."},{"id":"/releases/3.2","metadata":{"permalink":"/blog/releases/3.2","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.2/index.mdx","source":"@site/blog/releases/3.2/index.mdx","title":"Docusaurus 3.2","description":"We are happy to announce Docusaurus 3.2.","date":"2024-03-29T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.475,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.2","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-03-29T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.3","permalink":"/blog/releases/3.3"},"nextItem":{"title":"Docusaurus 3.1","permalink":"/blog/releases/3.1"}},"content":"We are happy to announce **Docusaurus 3.2**.\\n\\nThe upgrade should be easy: as explained in our [release process documentation](/community/release-process), minor versions respect [Semantic Versioning](https://semver.org/).\\n\\n![Docusaurus blog post social card](./img/social-card.png)\\n\\n\x3c!--truncate--\x3e\\n\\nimport BrowserWindow from \'@site/src/components/BrowserWindow\';\\nimport IframeWindow from \'@site/src/components/BrowserWindow/IframeWindow\';\\nimport ErrorBoundaryTestButton from \'@site/src/components/ErrorBoundaryTestButton\';\\n\\n## Highlights\\n\\n### Faster builds\\n\\nWe worked hard to reduce the time it takes to build a Docusaurus site in production mode.\\n\\nBetween v3.1.0 and v3.2.0, several changes have been made, leading to significantly faster production builds for many sites.\\n\\nLet\'s take an example. Our benchmark on the [React Native website upgrading to v3.2](https://github.com/facebook/react-native-website/pull/4072) reports the following results:\\n\\n- \uD83D\uDD25 Cold builds: 95s \u27A1\uFE0F 66s (~30% faster)\\n- \uD83D\uDD25 Incremental builds: 55s \u27A1\uFE0F 22s (~60% faster)\\n\\nThe results will vary depending on your site\'s topology and the options you turned on, but we expect the largest sites will see the most significant improvements.\\n\\nNote that this is only the beginning, and Docusaurus performance can still be significantly improved, notably the bundling time and the memory consumption. Track our [performance issue](https://github.com/facebook/docusaurus/issues/4765) for upcoming improvements.\\n\\n<details>\\n <summary>What is the difference between a cold build and an incremental build?</summary>\\n\\nA cold build is when the Docusaurus caches are empty, generally after running `docusaurus clear`.\\n\\nAn incremental build happens when you run another time the `docusaurus build` command. Docusaurus automatically tries to \\"re-use\\" computations from former builds to make subsequent builds faster. In practice it\'s based on [Webpack persistent caching](https://webpack.js.org/guides/build-performance/#persistent-cache). To enable incremental builds on your CI server, you can persist the `node_modules/.cache` folder across builds.\\n\\n</details>\\n\\n### Faster Dev Server\\n\\nWe also worked on improving the performance of the dev server, so that you can get a faster feedback when editing Markdown/MDX files.\\n\\nThe way we initially implemented content reloading wasn\'t great. For example, editing a blog post file would also trigger a useless reload of the unrelated docs plugin. From now on, when editing a plugin\'s content, only that plugin will reload. It\'s hard to measure precisely the impact of this change, but I estimate edits should appear in your browser at least 50% faster \uD83D\uDD25.\\n\\nWe plan to keep improving the speed of our dev server, with even more granular hot reloads, ensuring we don\'t run useless computations that would always keep giving the same result.\\n\\n### MDX partials table-of-contents\\n\\nWith [#9684](https://github.com/facebook/docusaurus/pull/9684), Docusaurus is now able to render headings coming from an imported partial into the table-of-contents.\\n\\nDocusaurus and MDX allows you to [import one Markdown file into another](/docs/markdown-features/react#importing-markdown). We usually call the imported Markdown file a \\"partial\\", and use the `_` prefix so that this file does not lead to the creation of a new page.\\n\\n```md title=\\"myDoc.mdx\\"\\n# My Doc\\n\\n## Doc heading\\n\\nContent is imported from another MDX file:\\n\\nimport ImportedDoc from \'./\\\\_importedDoc.mdx\';\\n\\n<ImportedDoc />\\n```\\n\\n```md title=\\"_myPartial.mdx\\"\\n## Partial heading\\n\\nSome paragraph\\n```\\n\\nPreviously, the heading `Partial heading` did not appear in the table-of-contents, but now it will!\\n\\n### Blog improvements\\n\\nWe improved the blog plugin with several new options to make it even more powerful and flexible:\\n\\n- [#9912](https://github.com/facebook/docusaurus/pull/9912): you can now display the last update time and author of a blog post, a feature the docs plugin already had.\\n- [#9886](https://github.com/facebook/docusaurus/pull/9886): a new `processBlogPosts` option allow you to filter/transform/sort blog posts.\\n- [#9838](https://github.com/facebook/docusaurus/pull/9838): a new `pageBasePath` option allows you to customize the blog pagination URL segment (`/blog/page/2`)\\n\\n### Sitemap lastmod\\n\\nWith [#9954](https://github.com/facebook/docusaurus/pull/9954), the sitemap plugin has a new `lastmod` option that can now emit a `<lastmod>` tag on the XML. The value is read from the Git history by default, but can be overridden with docs and blog `last_update` front matter.\\n\\nWe also made it possible to opt-out of emitting `<priority>` and `<frequency>` tags, which are generally ignored by crawlers (notably [Google](https://developers.google.com/search/blog/2023/06/sitemaps-lastmod-ping)).\\n\\nWe recommend using the following sitemap plugin config, that will become the default in Docusaurus V4:\\n\\n```js\\n{\\n lastmod: \'date\',\\n priority: null,\\n changefreq: null,\\n}\\n```\\n\\n## Other changes\\n\\n- [#9687](https://github.com/facebook/docusaurus/pull/9687): new Vercel Analytics plugin\\n- [#9681](https://github.com/facebook/docusaurus/pull/9681) and [#9442](https://github.com/facebook/docusaurus/pull/9442): `docusaurus swizzle` and `create-docusaurus` CLIs now ask users if they prefer to use TypeScript\\n- [#9928](https://github.com/facebook/docusaurus/pull/9928): new Icelandic translation\\n- [#9928](https://github.com/facebook/docusaurus/pull/9931): new `allContentLoaded` plugin lifecycle (experimental)\\n\\nCheck the **[3.2.0 changelog entry](/changelog/3.2.0)** for an exhaustive list of changes."},{"id":"/releases/3.1","metadata":{"permalink":"/blog/releases/3.1","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.1/index.mdx","source":"@site/blog/releases/3.1/index.mdx","title":"Docusaurus 3.1","description":"We are happy to announce Docusaurus 3.1.","date":"2024-01-05T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":1.665,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.1","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-01-05T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.2","permalink":"/blog/releases/3.2"},"nextItem":{"title":"Announcing Docusaurus 3.0","permalink":"/blog/releases/3.0"}},"content":"We are happy to announce **Docusaurus 3.1**.\\n\\nThe upgrade should be easy: as explained in our [release process documentation](/community/release-process), minor versions respect [Semantic Versioning](https://semver.org/).\\n\\n![Docusaurus blog post social card](./img/social-card.png)\\n\\n\x3c!--truncate--\x3e\\n\\nimport BrowserWindow from \'@site/src/components/BrowserWindow\';\\nimport IframeWindow from \'@site/src/components/BrowserWindow/IframeWindow\';\\nimport ErrorBoundaryTestButton from \'@site/src/components/ErrorBoundaryTestButton\';\\n\\n## Highlights\\n\\n### Broken anchors checker\\n\\nIn [#9528](https://github.com/facebook/docusaurus/pull/9528), we improved the built-in broken links checker to also detect broken anchors.\\n\\n![Docusaurus blog post social card](./img/broken-anchor.jpg)\\n\\n:::tip[Make it fail fast]\\n\\nThe new [`onBrokenAnchors`](/docs/api/docusaurus-config#onBrokenAnchors) option has value `warn` by default, for retro-compatibility reasons.\\n\\nWe recommend to turn it to `throw` and fail your CI builds instead of deploying broken anchors to productions.\\n\\n:::\\n\\n:::note\\n\\nFor users and plugin authors implementing custom `<Heading>` and `<Link>` components, we provide a new [`useBrokenLinks`](/docs/docusaurus-core#useBrokenLinks) React hook API.\\n\\n**Most Docusaurus users don\'t need to care about it**, built-in components (`docusaurus/Link` and `@theme/Heading`) already use it internally.\\n\\n:::\\n\\n### `parseFrontMatter` hook\\n\\nIn [#9624](https://github.com/facebook/docusaurus/pull/9624), we added a new [`siteConfig.markdown.parseFrontMatter` function hook](/docs/api/docusaurus-config#markdown).\\n\\nThis makes it possible to implement convenient front matter transformations, shortcuts, or to integrate with external systems using front matter that Docusaurus plugins do not support.\\n\\n```js title=\\"docusaurus.config.js\\"\\nexport default {\\n markdown: {\\n // highlight-start\\n parseFrontMatter: async (params) => {\\n // Reuse the default parser\\n const result = await params.defaultParseFrontMatter(params);\\n\\n // Process front matter description placeholders\\n result.frontMatter.description =\\n result.frontMatter.description?.replaceAll(\'{{MY_VAR}}\', \'MY_VALUE\');\\n\\n // Create your own front matter shortcut\\n if (result.frontMatter.i_do_not_want_docs_pagination) {\\n result.frontMatter.pagination_prev = null;\\n result.frontMatter.pagination_next = null;\\n }\\n\\n // Rename an unsupported front matter coming from another system\\n if (result.frontMatter.cms_seo_summary) {\\n result.frontMatter.description = result.frontMatter.cms_seo_summary;\\n delete result.frontMatter.cms_seo_summary;\\n }\\n\\n return result;\\n },\\n // highlight-end\\n },\\n};\\n```\\n\\nRead the [front matter guide](/docs/markdown-features#front-matter) and the [`parseFrontMatter` API ref](/docs/api/docusaurus-config#markdown) for details.\\n\\n## Other changes\\n\\nOther notable changes include:\\n\\n- [#9674](https://github.com/facebook/docusaurus/pull/9674): add `siteConfig.markdown.remarkRehypeOptions` to pass options to `remark-rehype`, letting you customize things such as MDX footnote label\\n- [#9671](https://github.com/facebook/docusaurus/pull/9671): add code block MagicComments support for (Visual) Basic/Batch/Fortran/COBOL/ML\\n- [#9610](https://github.com/facebook/docusaurus/pull/9610): enable CLI port configuration via `PORT` environment variable\\n- [#9477](https://github.com/facebook/docusaurus/pull/9477): complete Brazilian Portuguese (pt-BR) translations\\n\\nCheck the **[3.1.0 changelog entry](/changelog/3.1.0)** for an exhaustive list of changes."},{"id":"/releases/3.0","metadata":{"permalink":"/blog/releases/3.0","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.0/index.mdx","source":"@site/blog/releases/3.0/index.mdx","title":"Announcing Docusaurus 3.0","description":"Today, we are happy to announce Docusaurus 3.0! \uD83E\uDD73","date":"2023-10-31T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":10.515,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Announcing Docusaurus 3.0","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2023-10-31T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.1","permalink":"/blog/releases/3.1"},"nextItem":{"title":"Preparing your site for Docusaurus v3","permalink":"/blog/preparing-your-site-for-docusaurus-v3"}},"content":"Today, we are happy to **announce Docusaurus 3.0**! \uD83E\uDD73\\n\\nAt [**Meta Open Source**](https://opensource.fb.com/), we believe Docusaurus will help you build the **best documentation websites** with **minimal effort**, letting you **focus on what really matters**: writing the content.\\n\\nThis is a new **major version** of Docusaurus, coming with **new exciting features** and upgraded dependencies.\\n\\nIn line with the [**Semantic Versioning**](https://semver.org/) principles, this release includes **breaking changes** we documented thoroughly in the [**v3 upgrade guide**](/docs/migration/v3/). Breaking changes can be bothersome, but they are necessary to set the ground for a **new wave of Docusaurus features** we plan to implement.\\n\\n![v3.0 social-card image](./img/social-card.png)\\n\\n{/* truncate */}\\n\\nWe initially planned to release more frequent major versions, but Docusaurus v3 has taken longer than expected. Among the breaking changes that we accrued, **upgrading to MDX v3** is probably the main challenge to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding [compatibility options for MDX v1](/docs/api/docusaurus-config#markdown).\\n\\nThe simplest sites will only need to upgrade a few npm dependencies. For more complex sites, we came up with a few strategies that can help you upgrade more confidently:\\n\\n- [Prepare your site](/blog/preparing-your-site-for-docusaurus-v3) ahead of time, incrementally, while staying on Docusaurus v2\\n- [Set up visual regression tests](/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing) to catch unexpected visual changes happening during the upgrade\\n\\n:::info About Docusaurus v2\\n\\nAccording to our [release process](/community/release-process#stable-version), Docusaurus v2 has now entered **maintenance mode**. It will only receive support for major security issues for 3 months, until 31 January 2024. It is recommended to upgrade within that time frame to v3.\\n\\n:::\\n\\nimport IframeWindow from \'@site/src/components/BrowserWindow/IframeWindow\';\\n\\n## Breaking changes\\n\\nThis section only gives you a quick glance. All the breaking changes are thoroughly documented in the [**v3 upgrade guide**](/docs/migration/v3).\\n\\nDocusaurus v3 upgraded a few dependencies to new major versions, each coming with its own breaking changes:\\n\\n- Node.js v16 \u27A1\uFE0F v18\\n- React v17 \u27A1\uFE0F v18\\n- MDX v1 \u27A1\uFE0F v3\\n- TypeScript v4 \u27A1\uFE0F v5\\n- prism-react-renderer v1 \u27A1\uFE0F v2\\n- react-live v2 \u27A1\uFE0F v4\\n- Mermaid v9 \u27A1\uFE0F v10\\n- import-fresh v3 \u27A1\uFE0F jiti v1\\n- remark-emoji v2 \u27A1\uFE0F v4\\n\\nA typical `package.json` dependency upgrade looks like:\\n\\n```diff title=\\"package.json\\"\\n {\\n \\"dependencies\\": {\\n // upgrade to Docusaurus v3\\n- \\"@docusaurus/core\\": \\"2.4.3\\",\\n- \\"@docusaurus/preset-classic\\": \\"2.4.3\\",\\n+ \\"@docusaurus/core\\": \\"3.0.0\\",\\n+ \\"@docusaurus/preset-classic\\": \\"3.0.0\\",\\n // upgrade to MDX v3\\n- \\"@mdx-js/react\\": \\"^1.6.22\\",\\n+ \\"@mdx-js/react\\": \\"^3.0.0\\",\\n // upgrade to prism-react-renderer v2.0+\\n- \\"prism-react-renderer\\": \\"^1.3.5\\",\\n+ \\"prism-react-renderer\\": \\"^2.1.0\\",\\n // upgrade to React v18.0+\\n- \\"react\\": \\"^17.0.2\\",\\n- \\"react-dom\\": \\"^17.0.2\\"\\n+ \\"react\\": \\"^18.2.0\\",\\n+ \\"react-dom\\": \\"^18.2.0\\"\\n },\\n \\"devDependencies\\": {\\n // upgrade Docusaurus dev dependencies to v3\\n- \\"@docusaurus/module-type-aliases\\": \\"2.4.3\\",\\n- \\"@docusaurus/types\\": \\"2.4.3\\"\\n+ \\"@docusaurus/module-type-aliases\\": \\"3.0.0\\",\\n+ \\"@docusaurus/types\\": \\"3.0.0\\"\\n }\\n \\"engines\\": {\\n // require Node.js 18.0+\\n- \\"node\\": \\">=16.14\\"\\n+ \\"node\\": \\">=18.0\\"\\n }\\n }\\n```\\n\\nApart from MDX v3, most breaking changes coming with those upgraded dependencies have been handled internally for you: most of the time, you shouldn\'t have to do anything. Outside of dependencies, the only functional breaking changes coming explicitly from the Docusaurus codebase are:\\n\\n- [#9189](https://github.com/facebook/docusaurus/pull/9189): new default blog RSS feed limit of 20 entries\\n- [#9308](https://github.com/facebook/docusaurus/pull/9308): fix and re-introduce the `:::warning` admonition, deprecate `:::caution`\\n- [#9310](https://github.com/facebook/docusaurus/pull/9310): remove the legacy versioned sidebar id prefix, used for sites versioned before `v2.0.0-beta.10` (December 2021)\\n- [#7966](https://github.com/facebook/docusaurus/pull/7966): refactor docs theme components, eventually requiring to you re-swizzle them\\n\\n## Highlights\\n\\nBelow is a non-exhaustive list of new useful features coming with this new version. All the features are listed in the [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0).\\n\\n### Markdown\\n\\nDocusaurus v3 upgraded from MDX v1 to MDX v3:\\n\\n- in [#8288](https://github.com/facebook/docusaurus/pull/8288), we upgraded to [**MDX v2**](https://mdxjs.com/blog/v2/) ([migration guide](https://mdxjs.com/migrating/v2/))\\n- in [#9451](https://github.com/facebook/docusaurus/pull/9451), we upgraded to [**MDX v3**](https://mdxjs.com/blog/v3/) ([migration guide](https://mdxjs.com/migrating/v3/))\\n\\nThis new MDX version is **much better for content writers and plugin authors**, and lays the ground for implementing new exciting Markdown features.\\n\\n:::warning MDX v3 - the main challenge\\n\\nThe transition from MDX v1 to MDX v3 is the **main challenge** to the adoption of Docusaurus v3.\\n\\nSome documents that compiled successfully under Docusaurus v2 might now **fail to compile** under Docusaurus v3, while others might **render differently**.\\n\\nMost breaking changes come from [MDX v2](https://mdxjs.com/blog/v2/), and [MDX v3](https://mdxjs.com/blog/v3/) is a relatively small release. The [MDX v2 migration guide](https://mdxjs.com/migrating/v2/) has a section on how to [update MDX files](https://mdxjs.com/migrating/v2/#update-mdx-files) that will be particularly relevant to us. Also make sure to read the [Troubleshooting MDX](https://mdxjs.com/docs/troubleshooting-mdx/) page that can help you interpret common MDX error messages.\\n\\n**Don\'t be intimidated**. Most problems are **easy to fix** and often related to `{` and `<` characters that you now need to escape. However, depending on the size of your site, you might need to edit many files and feel overwhelmed. For this reason, we provide a command [`npx docusaurus-mdx-checker`](https://github.com/slorber/docusaurus-mdx-checker) to help you get an estimate of the work to be done, and we recommend to [prepare your site in advance](/blog/preparing-your-site-for-docusaurus-v3).\\n\\nIf you created custom [MDX plugins](/docs/markdown-features/plugins) (Remark/Rehype), the AST is slightly different, and you might need to refactor them.\\n\\n:::\\n\\nThis notably enables us to add a [CommonMark mode](/docs/markdown-features#mdx-vs-commonmark) that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and **experimental** and limited ([some Docusaurus features will not work](https://github.com/facebook/docusaurus/issues/9092)). In Docusaurus v3, all files are still interpreted as MDX, but we plan to interpret `.md` files as CommonMark in an upcoming major version, and recommend to use the `.mdx` extension for any file using JSX or ES modules.\\n\\nWe also introduced a new way to [configure Markdown globally for your site](/docs/api/docusaurus-config#markdown), and plan to add more flexible options later.\\n\\n```js title=\\"docusaurus.config.js\\"\\nexport default {\\n markdown: {\\n format: \'mdx\',\\n mermaid: true,\\n preprocessor: ({filePath, fileContent}) => {\\n return fileContent.replaceAll(\'{{MY_VAR}}\', \'MY_VALUE\');\\n },\\n mdx1Compat: {\\n comments: true,\\n admonitions: true,\\n headingIds: true,\\n },\\n },\\n};\\n```\\n\\nDocusaurus now uses the [remark-directive](https://github.com/remarkjs/remark-directive) plugin to support admonitions. This also offers you the ability to create your own Remark plugins to extend Markdown with your own [custom directives](https://talk.commonmark.org/t/generic-directives-plugins-syntax/444) such as `:textDirective`, `::leafDirective` or `:::containerDirective`.\\n\\n### ESM and TypeScript configs {#esm-ts-configs}\\n\\nIn [#9317](https://github.com/facebook/docusaurus/pull/9317), we added support for ES Modules and TypeScript config files, including site config, docs sidebars, plugins and presets.\\n\\nHere are 2 TypeScript examples, giving you a modern experience with IDE autocompletion:\\n\\n```ts title=\\"docusaurus.config.ts\\"\\nimport type {Config} from \'@docusaurus/types\';\\nimport type * as Preset from \'@docusaurus/preset-classic\';\\n\\nconst config: Config = {\\n title: \'My Site\',\\n favicon: \'img/favicon.ico\',\\n // your site config ...\\n presets: [\\n [\\n \'classic\',\\n {\\n // your preset config ...\\n } satisfies Preset.Options,\\n ],\\n ],\\n themeConfig: {\\n // your theme config ...\\n } satisfies Preset.ThemeConfig,\\n};\\n\\nexport default config;\\n```\\n\\n```ts title=\\"sidebars.ts\\"\\nimport type {SidebarsConfig} from \'@docusaurus/plugin-content-docs\';\\n\\nconst sidebars: SidebarsConfig = {\\n docs: [\'introduction\'],\\n};\\n\\nexport default sidebars;\\n```\\n\\n### Unlisted content\\n\\nDocusaurus already supported a `draft: true` front matter option in our 3 content plugins (docs, blog, pages), which allows you to remove some pages from your production builds.\\n\\nIn [#8004](https://github.com/facebook/docusaurus/pull/8004), we introduced a new `unlisted: true` front matter option, which will keep your pages available in production builds, while \\"hiding\\" them and making them impossible to discover unless you have the url. This enables convenient workflows where you can easily ask for feedback on a piece of content before the final publication.\\n\\nUnlisted content will:\\n\\n- be excluded from `sitemap.xml`\\n- be excluded from SEO results thanks to `<meta name=\\"robots\\" content=\\"noindex, nofollow\\" />`\\n- be excluded from blog RSS feeds\\n- be excluded from Algolia DocSearch results\\n- be filtered from site navbar items, docs sidebars, blog sidebar, blog archives, tags pages...\\n\\nUnlisted content will also display a banner so that you don\'t forget to turn it off once your content is ready for prime time. Here\'s an example of an [unlisted blog post](/tests/blog/unlisted-post):\\n\\n<IframeWindow url=\\"/tests/blog/unlisted-post\\" />\\n\\n### React 18\\n\\nIn [#8961](https://github.com/facebook/docusaurus/pull/8961), we upgraded to React 18. This is important, notably for the [gradual adoption of Concurrent React features](https://react.dev/blog/2022/03/29/react-v18#gradually-adopting-concurrent-features), as well as upcoming exciting features such as [build-time React Server Components](https://github.com/facebook/docusaurus/issues/9089).\\n\\nThis new version of React should be a drop-in replacement for most Docusaurus sites. It comes with breaking changes that we handled internally in the Docusaurus codebase. If your site is using a lot of custom React code, we recommend you to take a look at the official article on [How to Upgrade to React 18](https://react.dev/blog/2022/03/08/react-18-upgrade-guide), notably the new [automatic batching](https://react.dev/blog/2022/03/08/react-18-upgrade-guide#automatic-batching) behavior.\\n\\n:::danger Experimental support for React 18 features\\n\\nReact 18 comes with new features:\\n\\n- `<Suspense>`\\n- `React.lazy()`\\n- `startTransition()`\\n\\nTheir Docusaurus support is considered as **experimental**. We might have to adjust the integration in the future, leading to a different runtime behavior.\\n\\n:::\\n\\n### Automatic JSX runtime\\n\\nDocusaurus now uses the [\\"automatic\\" JSX runtime](https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html).\\n\\nIt is not needed anymore to import React in JSX files that do not use any React API.\\n\\n```diff title=\\"src/components/MyComponent.js\\"\\n- import React from \'react\';\\n\\n export default function MyComponent() {\\n return <div>Hello</div>;\\n }\\n```\\n\\n### Debug builds\\n\\nIt is now possible to build your static site in dev mode.\\n\\n```bash\\ndocusaurus build --dev\\n```\\n\\n:::tip Debug React-related problems\\n\\nDocusaurus will log more errors to the console, notably React 18 hydration errors through the new [`onRecoverableError` callback](https://react.dev/reference/react-dom/client/hydrateRoot#parameters).\\n\\nThis new build mode is particularly helpful for **troubleshooting React problems**. Docusaurus will use the development build of React, thus producing detailed and readable error messages instead of minified ones linking to the [React Error Decoder page](https://reactjs.org/docs/error-decoder.html/).\\n\\n:::\\n\\n### TypeScript\\n\\nDocusaurus v3 now requires a minimum version of TypeScript 5.0.\\n\\nWe re-internalized the base recommended TypeScript config to a new official package:\\n\\n```diff title=\\"tsconfig.json\\"\\n {\\n- \\"extends\\": \\"@tsconfig/docusaurus/tsconfig.json\\",\\n+ \\"extends\\": \\"@docusaurus/tsconfig\\",\\n \\"compilerOptions\\": {\\n \\"baseUrl\\": \\".\\"\\n }\\n }\\n```\\n\\nWe also have cleaner, normalized exports for Docusaurus core type, plugin, and preset options, which you can use within the brand-new [TypeScript config files](#esm-ts-configs):\\n\\n```ts title=\\"docusaurus.config.ts\\"\\nimport type {Config} from \'@docusaurus/types\';\\nimport type {Options, ThemeConfig} from \'@docusaurus/preset-classic\';\\nimport type {SidebarsConfig} from \'@docusaurus/plugin-content-docs\';\\n```\\n\\n### Code blocks\\n\\nIn [#9316](https://github.com/facebook/docusaurus/pull/9316), we improved on syntax highlighting thanks to the [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer) v2 upgrade. For example, a bash param `--save` is now colored:\\n\\n```bash\\nnpm install --save some-package\\n```\\n\\nThe [interactive code editor](/docs/markdown-features/code-blocks#interactive-code-editor) also upgrades to [react-live](https://github.com/FormidableLabs/react-live) v4, coming with a new [sucrase](https://github.com/alangpierce/sucrase) compiler. It is faster, lighter, and supports modern features, notably TypeScript type annotations.\\n\\n```js live\\nfunction Hello() {\\n const name: string = \'World\';\\n return <div>Hello {name}</div>;\\n}\\n```\\n\\nIn [#8982](https://github.com/facebook/docusaurus/pull/8982) and [#8870](https://github.com/facebook/docusaurus/pull/8870), we also added [magic comments](/docs/markdown-features/code-blocks#custom-magic-comments) support for TeX-like, Haskell-like, and WebAssembly comment syntax.\\n\\n```haskell title=\\"haskell.hs\\"\\nstringLength :: String -> Int\\n-- highlight-next-line\\nstringLength [] = 0\\nstringLength (x:xs) = 1 + stringLength xs\\n```\\n\\n```matlab title=\\"matlab.m\\"\\n% highlight-start\\nfunction result = times2(n)\\n result = n * 2;\\nend\\n% highlight-end\\nx = 10;\\n% highlight-next-line\\ny = times2(x);\\n```\\n\\n### Mermaid diagrams\\n\\nIn [#9305](https://github.com/facebook/docusaurus/pull/9305), we upgraded to Mermaid v10.4 and added support for async diagram rendering. Docusaurus is now able to render new types of diagrams.\\n\\n<details>\\n <summary>Mindmap</summary>\\n\\n```mermaid\\nmindmap\\n root((mindmap))\\n Research\\n Creative techniques\\n Strategic planning\\n Argument mapping\\n Tools\\n Pen and paper\\n Mermaid\\n```\\n\\n</details>\\n\\n<details>\\n <summary>Quadrant chart</summary>\\n\\n```mermaid\\nquadrantChart\\n title Reach and engagement of campaigns\\n x-axis Low Reach --\x3e High Reach\\n y-axis Low Engagement --\x3e High Engagement\\n quadrant-1 We should expand\\n quadrant-2 Need to promote\\n quadrant-3 Re-evaluate\\n quadrant-4 May be improved\\n Campaign A: [0.3, 0.6]\\n Campaign B: [0.45, 0.23]\\n Campaign C: [0.57, 0.69]\\n Campaign D: [0.78, 0.34]\\n Campaign E: [0.40, 0.34]\\n Campaign F: [0.35, 0.78]\\n```\\n\\n</details>\\n\\n### Query-string data attributes\\n\\nIn [#9028](https://github.com/facebook/docusaurus/pull/9028), we made it possible to set custom HTML [data attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/data-*) though `docusaurus-data-x` query-string parameters. This makes it easier to embed a Docusaurus iframe on another site, and lets you customize the appearance of the embedded version with CSS.\\n\\n```css title=\\"/src/css/custom.css\\"\\nhtml[data-navbar=\'false\'] .navbar {\\n display: none;\\n}\\n\\nhtml[data-red-border] div#__docusaurus {\\n border: red solid thick;\\n}\\n```\\n\\n<IframeWindow url=\\"/docs/?docusaurus-data-navbar=false&docusaurus-data-red-border\\" />\\n\\n### Other features\\n\\nOther new features worth mentioning:\\n\\n- [#9189](https://github.com/facebook/docusaurus/pull/9189): new blog `feedOptions.limit` option\\n- [#9071](https://github.com/facebook/docusaurus/pull/9071): add normalized SEO front matter support for the pages plugin\\n- [#9171](https://github.com/facebook/docusaurus/pull/9028): the client-redirects plugin now supports fully qualified urls and query-string/hash in destination url\\n- [#9171](https://github.com/facebook/docusaurus/pull/9171): new ESLint rule [`no-html-links`](/docs/api/misc/@docusaurus/eslint-plugin/no-html-links)\\n- [#8384](https://github.com/facebook/docusaurus/pull/8384): new ESLint rule [`prefer-docusaurus-heading`](/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading)\\n\\nRead [**Docusaurus v3.0.0 release notes**](https://github.com/facebook/docusaurus/releases/tag/v3.0.0) for an exhaustive list of changes.\\n\\n## Conclusion\\n\\nThis release comes with a few features, but more importantly **upgrades many pieces of the Docusaurus infrastructure**.\\n\\nThe **MDX upgrade** consumed a lot of our time this year, and we worked hard to make this important upgrade less difficult for all of you.\\n\\nNow that we\'ve caught up with our infrastructure, we\'ll be back **delivering useful documentation features** very soon, in upcoming minor versions.\\n\\nWe would like to thank you for using Docusaurus over the years. The documentation framework space is becoming more competitive lately, and we will do our best to ensure that Docusaurus remains a **competitive solution** that stands out for its great **flexibility**."},{"id":"/preparing-your-site-for-docusaurus-v3","metadata":{"permalink":"/blog/preparing-your-site-for-docusaurus-v3","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2023/09-29-preparing-your-site-for-docusaurus-v3/index.mdx","source":"@site/blog/2023/09-29-preparing-your-site-for-docusaurus-v3/index.mdx","title":"Preparing your site for Docusaurus v3","description":"This blog post was written when Docusaurus v3 was in beta. There are some changes in dependency versions and upgrade steps you should be aware of if upgrading to Docusaurus v3 current stable releases. Use the upgrade guide for the most up-to-date migration steps.","date":"2023-09-29T00:00:00.000Z","tags":[{"inline":false,"label":"Maintenance","permalink":"/blog/tags/maintenance"}],"readingTime":13.975,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Preparing your site for Docusaurus v3","authors":["slorber"],"tags":["maintenance"],"slug":"/preparing-your-site-for-docusaurus-v3","image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Announcing Docusaurus 3.0","permalink":"/blog/releases/3.0"},"nextItem":{"title":"Upgrading frontend dependencies with confidence","permalink":"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing"}},"content":":::warning\\n\\nThis blog post was written when Docusaurus v3 was in beta. There are some changes in dependency versions and upgrade steps you should be aware of if upgrading to Docusaurus v3 current stable releases. Use the [upgrade guide](https://docusaurus.io/docs/next/migration/v3) for the most up-to-date migration steps.\\n\\n:::\\n\\n**Docusaurus v3** is now [**in beta**](https://github.com/facebook/docusaurus/discussions/9312) and the official release is around the corner. This is the perfect time to start **preparing your site** for this new major version.\\n\\nDocusaurus v3 comes with a few **breaking changes**, many of which can be **handled today under Docusaurus v2**. Preparing your site ahead of time can be done incrementally, and will make it easier to upgrade to v3.\\n\\nThe main breaking change is the upgrade from MDX v1 to MDX v3. Read the [**MDX v2**](https://mdxjs.com/blog/v2/) and [**MDX v3**](https://mdxjs.com/blog/v3/) release notes for details. MDX will now compile your Markdown content **more strictly** and with **subtle differences**.\\n\\nThis article will mostly focus on how to prepare your content for this new MDX version, and will also list a few other breaking changes that you can handle today.\\n\\n![Preparing your site for Docusaurus v3 - social card](./img/social-card.png)\\n\\n\x3c!--truncate--\x3e\\n\\n:::warning\\n\\nThis article mentions most Docusaurus v3 breaking changes, but is not exhaustive. Read the [v3.0.0-beta.0 release notes](https://github.com/facebook/docusaurus/discussions/9312) for an exhaustive list.\\n\\n:::\\n\\n:::tip Don\'t be afraid\\n\\nThere\'s a lot of content in this blog post, but many Docusaurus v2 sites can upgrade with very few changes.\\n\\nIf your site is relatively small, with only a few customizations, you can probably [upgrade to Docusaurus v3](#try-docusaurus-v3-today) immediately.\\n\\n:::\\n\\n## Preparatory work\\n\\nBefore preparing for the Docusaurus v3 upgrade, we recommend upgrading to the latest [Docusaurus v2 version](/versions).\\n\\nDepending on the complexity of your site, it may be a good idea to adopt the [visual regression testing workflow](/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing) that we recently presented. It could help you catch unexpected visual side effects occurring during the Docusaurus v3 upgrade.\\n\\nWe also recommend using the `.mdx` extension whenever you use JSX, `import`, or `export` (i.e. MDX features) inside a Markdown file. It is semantically more correct and improves compatibility with external tools (IDEs, formatters, linters, etc.). In future versions of Docusaurus, `.md` files will be parsed as standard [CommonMark](https://commonmark.org/), which does not support these features. In Docusaurus v3, `.md` files keep being compiled as MDX files, but it will be possible to [opt-in for CommonMark](https://github.com/facebook/docusaurus/issues/3018).\\n\\n## Preparing content for MDX v3\\n\\nMDX is a major dependency of Docusaurus responsible for compiling your `.md` and `.mdx` files to React components.\\n\\nMDX v3 is much better, but also comes with changes that probably require you to refactor your content a bit. MDX v3 is stricter, and some components that compiled fine under v1 might now fail to compile under v3, most likely because of `{` and `<` characters.\\n\\nUpgrading MDX comes with all the breaking changes documented on the [MDX v2](https://mdxjs.com/blog/v2/) and [MDX v3](https://mdxjs.com/blog/v3/) release blog posts. Most breaking changes come from MDX v2. The [MDX v2 migration guide](https://mdxjs.com/migrating/v2/) has a section on how to [update MDX files](https://mdxjs.com/migrating/v2/#update-mdx-files) that will be particularly relevant to us. Also make sure to read the [Troubleshooting MDX](https://mdxjs.com/docs/troubleshooting-mdx/) page that can help you interpret common MDX error messages.\\n\\nMake sure to also read our updated [**MDX and React**](/docs/markdown-features/react) documentation page.\\n\\n:::tip Ask for help\\n\\nWe have a dedicated [MDX v3 - Upgrade Support](https://github.com/facebook/docusaurus/discussions/9053) discussion.\\n\\n:::\\n\\n### Using the MDX playground\\n\\nThe MDX playground is your new best friend. It permits to understand how your content is **compiled to React components**, and troubleshoot compilation or rendering issues in isolation.\\n\\nEach MDX version comes with its own playground:\\n\\n- [MDX playground - current version](https://mdxjs.com/playground/)\\n- [MDX playground - v1](https://mdx-git-renovate-babel-monorepo-mdx.vercel.app/playground/)\\n\\n<details>\\n <summary>Configuring the MDX playground options for Docusaurus</summary>\\n\\nTo obtain a compilation behavior similar to what Docusaurus v2 uses, please turn on these options on the [MDX playground](https://mdxjs.com/playground/):\\n\\n- Use `MDX`\\n- Use `remark-gfm`\\n- Use `remark-directive`\\n\\n![Screenshot of the MDX playground\'s options panel, with only the \\"Use `MDX`\\", \\"Use `remark-gfm`\\", and \\"Use `remark-directive`\\" options checked](./img/mdx2-playground-options.png)\\n\\n</details>\\n\\nUsing the two MDX playgrounds side-by-side, you will soon notice that some content is compiled differently or fails to compile in v3.\\n\\n:::tip Making your content future-proof\\n\\nThe goal will be to refactor your problematic content so that it **works fine with both versions of MDX**. This way, when you upgrade to Docusaurus v3, this content will already work out-of-the-box.\\n\\n:::\\n\\n### Using the MDX checker CLI\\n\\nWe provide a [docusaurus-mdx-checker](https://github.com/slorber/docusaurus-mdx-checker) CLI that permits to easily spot problematic content. Run this command today on your Docusaurus v2 site to obtain a list of files that will fail to compile under MDX v3.\\n\\n```bash\\nnpx docusaurus-mdx-checker\\n```\\n\\nFor each compilation issue, the CLI will log the file path and a line number to look at.\\n\\n![Screenshot of the terminal showing an example MDX checker CLI output, with a few error messages](./img/mdx-checker-output.png)\\n\\n:::tip\\n\\nUse this CLI to estimate of how much work will be required to make your content compatible with MDX v3.\\n\\n:::\\n\\n:::warning\\n\\nThis CLI is a best effort, and will only report compilation errors.\\n\\nIt will not report subtle compilation changes that do not produce errors but can affect how your content is displayed. To catch these problems, we recommend using [visual regression tests](/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing).\\n\\n:::\\n\\n### Common MDX problems\\n\\nWe upgraded a few Docusaurus sites to Docusaurus v3 and MDX v3:\\n\\n- [Docusaurus PR](https://github.com/facebook/docusaurus/pull/8288)\\n- [React-Native PR](https://github.com/facebook/react-native-website/pull/3780)\\n- [Jest PR](https://github.com/jestjs/jest/pull/14463)\\n\\nThese upgrades permitted us to aggregate the most common content problems, and document how to best handle them.\\n\\n#### Bad usage of `{`\\n\\nThe `{` character is used for opening [JavaScript expressions](https://mdxjs.com/docs/what-is-mdx/#expressions). MDX will now fail if what you put inside `{expression}` is not a valid expression.\\n\\n```md title=\\"example.md\\"\\nThe object shape looks like {username: string, age: number}\\n```\\n\\n:::danger Error message\\n\\n> Could not parse expression with acorn: Unexpected content after expression\\n\\n:::\\n\\n:::tip How to prepare\\n\\nAvailable options to fix this error:\\n\\n- Use inline code: `{username: string, age: number}`\\n- Use the HTML code: `{`\\n- Escape it: `\\\\{`\\n\\n:::\\n\\n#### Bad usage of `<`\\n\\nThe `<` character is used for opening [JSX tags](https://mdxjs.com/docs/what-is-mdx/#jsx). MDX will now fail if it thinks your JSX is invalid.\\n\\n```md title=\\"example.md\\"\\nUse Android version <5\\n\\nYou can use a generic type like Array<T>\\n\\nFollow the template \\"Road to <YOUR_MINOR_VERSION>\\"\\n```\\n\\n:::danger Error messages\\n\\n> Unexpected character `5` (U+0035) before name, expected a character that can start a name, such as a letter, `$`, or `_`\\n\\n> Expected a closing tag for `<T>` (1:6-1:9) before the end of `paragraph` end-tag-mismatch mdast-util-mdx-jsx\\n\\n> Expected a closing tag for `<YOUR_MINOR_VERSION>` (134:19-134:39) before the end of `paragraph`\\n\\n:::\\n\\n:::tip How to prepare\\n\\nAvailable options to fix this error:\\n\\n- Use inline code: `Array<T>`\\n- Use the HTML code: `<` or `<`\\n- Escape it: `\\\\<` (unfortunately the `\\\\` will be displayed under MDX v1)\\n\\n:::\\n\\n#### Bad usage of GFM Autolink\\n\\nDocusaurus supports [GitHub Flavored Markdown (GFM)](https://github.github.com/gfm/), but [autolink](https://github.github.com/gfm/#autolinks) using the `<link>` syntax is not supported anymore by MDX.\\n\\n```md title=\\"example.md\\"\\n<sebastien@thisweekinreact.com>\\n\\n<http://localhost:3000>\\n```\\n\\n:::danger Error messages\\n\\n> Unexpected character `@` (U+0040) in name, expected a name character such as letters, digits, `$`, or `_`; whitespace before attributes; or the end of the tag (note: to create a link in MDX, use `[text](url)`)\\n\\n> Unexpected character `/` (U+002F) before local name, expected a character that can start a name, such as a letter, `$`, or `_` (note: to create a link in MDX, use `[text](url)`)\\n\\n:::\\n\\n:::tip How to prepare\\n\\nUse regular Markdown links, or remove the `<` and `>`. MDX and GFM are able to autolink literals already.\\n\\n{/* prettier-ignore */}\\n```md title=\\"example.md\\"\\nsebastien@thisweekinreact.com\\n[sebastien@thisweekinreact.com](mailto:sebastien@thisweekinreact.com)\\n\\nhttp://localhost:3000\\n[http://localhost:3000](http://localhost:3000)\\n```\\n\\n:::\\n\\n#### Lower-case MDXComponent mapping\\n\\nFor users providing a [custom `MDXComponent`mapping](/docs/markdown-features/react#mdx-component-scope), components are now \\"sandboxed\\":\\n\\n- a `MDXComponent` mapping for `h1` only gets used for `# hi` but not for `<h1>hi</h1>`\\n- a **lower-cased** custom element name will not be substituted by its respective `MDXComponent` component anymore\\n\\n:::danger visual difference\\n\\nYour [`MDXComponent` component mapping](/docs/markdown-features/react#mdx-component-scope) might not be applied as before, and your custom components might no longer be used.\\n\\n:::\\n\\n:::tip How to prepare\\n\\nFor native Markdown elements, you can keep using **lower-case**: `p`, `h1`, `img`, `a`...\\n\\nFor any other element, **use upper-case names**.\\n\\n```diff title=\\"src/theme/MDXComponents.js\\"\\n import MDXComponents from \'@theme-original/MDXComponents\';\\n\\n export default {\\n ...MDXComponents,\\n p: (props) => <p {...props} className=\\"my-paragraph\\"/>\\n- myElement: (props) => <div {...props} className=\\"my-class\\" />,\\n+ MyElement: (props) => <div {...props} className=\\"my-class\\" />,\\n };\\n```\\n\\n:::\\n\\n#### Unintended extra paragraphs\\n\\nIn MDX, it is now possible to interleave JSX and Markdown more easily without requiring extra line breaks. Writing content on multiple lines can also produce new expected `<p>` tags.\\n\\n:::danger visual difference\\n\\nSee how this content is rendered differently by MDX v1 and v3.\\n\\n```md title=\\"example.md\\"\\n<div>Some **Markdown** content</div>\\n<div>\\n Some **Markdown** content\\n</div>\\n```\\n\\n{/* prettier-ignore */}\\n```html title=\\"MDX v1 output\\"\\n<div>Some **Markdown** content</div>\\n<div>Some **Markdown** content</div>\\n```\\n\\n{/* prettier-ignore */}\\n```html title=\\"MDX v3 output\\"\\n<div>Some <strong>Markdown</strong> content</div>\\n<div><p>Some <strong>Markdown</strong> content</p></div>\\n```\\n\\n:::\\n\\n:::tip How to prepare\\n\\nIf you don\'t want an extra `<p>` tag, refactor content on a case by case basis to use a single-line JSX tag.\\n\\n```diff\\n <figure>\\n <img src=\\"/img/myImage.png\\" alt=\\"My alt\\" />\\n- <figcaption>\\n- My image caption\\n- </figcaption>\\n+ <figcaption>My image caption</figcaption>\\n </figure>\\n```\\n\\nIf your content contains \\"Markdown inlines\\" (`**`, `*`, `_`, `[link](/path)`), you might not be able to refactor it ahead of time, and will have to do it alongside the Docusaurus v3 upgrade.\\n\\n:::\\n\\n#### Unintended usage of directives\\n\\nDocusaurus v3 now uses [Markdown Directives](https://talk.commonmark.org/t/generic-directives-plugins-syntax/444) (implemented with [remark-directive](https://github.com/remarkjs/remark-directive)) as a generic way to provide support for admonitions, and other upcoming Docusaurus features.\\n\\n```md title=\\"example.md\\"\\nThis is a :textDirective\\n\\n::leafDirective\\n\\n:::containerDirective\\n\\nContainer directive content\\n\\n:::\\n```\\n\\n:::danger Visual change\\n\\nDirectives are parsed with the purpose of being handled by other Remark plugins. Unhandled directives will be ignored, and won\'t be rendered back in their original form.\\n\\n```md title=\\"example.md\\"\\nThe AWS re:Invent conf is great\\n```\\n\\nDue to `:Invent` being parsed as a text directive, this will now be rendered as:\\n\\n```\\nThe AWS re\\nconf is great\\n```\\n\\n:::\\n\\n:::tip How to prepare\\n\\n- Use the HTML code: `:`\\n- Add a space after `:` (if it makes sense): `: text`\\n- Escape it: `\\\\:` (unfortunately the `\\\\` will be displayed under MDX v1)\\n\\n:::\\n\\n#### Unsupported indented code blocks\\n\\nMDX does not transform indented text as code blocks anymore.\\n\\n```md title=\\"example.md\\"\\n console.log(\\"hello\\");\\n```\\n\\n:::danger Visual change\\n\\nThe upgrade does not generally produce new MDX compilation errors, but can lead to content being rendered in an unexpected way because there isn\'t a code block anymore.\\n\\n:::\\n\\n:::tip How to prepare\\n\\nUse the regular code block syntax instead of indentation:\\n\\n````md title=\\"example.md\\"\\n```js\\nconsole.log(\'hello\');\\n```\\n````\\n\\n:::\\n\\n### MDX plugins\\n\\nAll the official packages (Unified, Remark, Rehype...) in the MDX ecosystem are now [**ES Modules only**](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) and do not support [CommonJS](https://nodejs.org/api/modules.html#modules-commonjs-modules) anymore.\\n\\nIn practice this means that you can\'t do `require(\\"remark-plugin\\")` anymore.\\n\\n:::tip How to prepare\\n\\nDocusaurus v3 now supports [**ES Modules**](https://flaviocopes.com/es-modules/) configuration files. We recommend that you migrate your config file to ES module, that enables you to import the Remark plugins easily:\\n\\n```js title=\\"docusaurus.config.js\\"\\nimport remarkPlugin from \'remark-plugin\';\\n\\nexport default {\\n title: \'Docusaurus\',\\n /* site config using remark plugins here */\\n};\\n```\\n\\nIf you want to keep using CommonJS modules, you can use dynamic imports as a workaround that enables you to import ES modules inside a CommonJS module. Fortunately, the [Docusaurus config supports the usage of an async function](/docs/configuration#syntax-to-declare-docusaurus-config) to let you do so.\\n\\n```js title=\\"docusaurus.config.js\\"\\nmodule.exports = async function () {\\n const myPlugin = (await import(\'remark-plugin\')).default;\\n return {\\n // site config...\\n };\\n};\\n```\\n\\n:::\\n\\n:::info For plugin authors\\n\\nIf you created custom Remark or Rehype plugins, you may need to refactor those, or eventually rewrite them completely, due to how the new AST is structured. We have created a [dedicated support discussion](https://github.com/facebook/docusaurus/discussions/9337) to help plugin authors upgrade their code.\\n\\n:::\\n\\n## Other breaking changes\\n\\nApart from MDX, there are other breaking changes that you can already prepare your site for, notably major version upgrades of important dependencies.\\n\\n### Node.js 18.0\\n\\nNode.js 16 [reached End-of-Life](https://nodejs.org/en/blog/announcements/nodejs16-eol), and Docusaurus v3 now requires **Node.js >= 18.0**.\\n\\n:::tip How to prepare\\n\\nUpgrade your Docusaurus v2 site to Node.js 18 before upgrading to Docusaurus v3.\\n\\n:::\\n\\n### React 18.0\\n\\nDocusaurus v3 now requires **React >= 18.0**.\\n\\nReact 18 comes with its own breaking changes that should be relatively easy to handle, depending on the amount of custom React code you created for your site.\\n\\nSimple Docusaurus sites that only use our official theme code without swizzling do not have anything to do.\\n\\n:::tip How to prepare\\n\\nRead the official [React v18.0](https://react.dev/blog/2022/03/29/react-v18) and [How to Upgrade to React 18](https://react.dev/blog/2022/03/08/react-18-upgrade-guide), and look at your first-party React code to figure out which components might be affected this React 18 upgrade.\\n\\nWe recommend to particularly look for:\\n\\n- Automatic batching for stateful components\\n- New React hydration errors reported to the console\\n\\n:::\\n\\n### TypeScript 5.0\\n\\nDocusaurus v3 now requires **TypeScript >= 5.0**.\\n\\n:::tip How to prepare\\n\\nUpgrade your Docusaurus v2 site to TypeScript 5 before upgrading to Docusaurus v3.\\n\\n:::\\n\\n### TypeScript base config\\n\\nThe official Docusaurus TypeScript config has been re-internalized from the external package [`@tsconfig/docusaurus`](https://www.npmjs.com/package/@tsconfig/docusaurus) to our new monorepo package [`@docusaurus/tsconfig`](https://www.npmjs.com/package/@docusaurus/tsconfig).\\n\\nThis new package is versioned alongside all the other Docusaurus core packages, and will be used to ensure TypeScript retro-compatibility and breaking changes on major version upgrades.\\n\\n:::tip How to prepare\\n\\nThe new Docusaurus v3 TypeScript config is sensibly the same as the former Docusaurus v2 TypeScript config. If you upgraded to TypeScript 5, using the Docusaurus v3 config on a v2 site is already possible:\\n\\n```diff title=\\"package.json\\"\\n {\\n \\"devDependencies\\": {\\n- \\"@tsconfig/docusaurus\\": \\"^1.0.7\\",\\n+ \\"@docusaurus/tsconfig\\": \\"^3.0.0-beta.0\\",\\n }\\n }\\n```\\n\\n```diff title=\\"tsconfig.json\\"\\n {\\n- \\"extends\\": \\"@tsconfig/docusaurus/tsconfig.json\\",\\n+ \\"extends\\": \\"@docusaurus/tsconfig\\",\\n \\"compilerOptions\\": {\\n \\"baseUrl\\": \\".\\"\\n }\\n }\\n```\\n\\n:::\\n\\n### Admonition warning\\n\\nFor historical reasons, we support an undocumented admonition `:::warning` that renders with a red color.\\n\\n:::danger Warning\\n\\nThis is a Docusaurus v2 `:::warning` admonition.\\n\\n:::\\n\\nHowever, the color and icon is historically wrong. Docusaurus v3 re-introduces `:::warning` admonition officially, documents it, and fix the color and icon.\\n\\n:::warning\\n\\nThis is a Docusaurus v3 `:::warning` admonition.\\n\\n:::\\n\\n:::tip How to prepare\\n\\nIf you previously used the undocumented `:::warning` admonition, make sure to verify for each usage if yellow is now an appropriate color. If you want to keep the red color, use `:::danger` instead.\\n\\nDocusaurus v3 also [deprecated the `:::caution`](https://github.com/facebook/docusaurus/pull/9308) admonition. Please refactor `:::caution` (yellow) to either `:::warning` (yellow) or `:::danger` (red).\\n\\n:::\\n\\n### Versioned sidebars\\n\\nThis breaking change will only affect **Docusaurus v2 early adopters** who versioned their docs before `v2.0.0-beta.10` (December 2021).\\n\\nWhen creating version `v1.0.0`, the sidebar file contained a prefix `version-v1.0.0/` that [Docusaurus v3 does not support anymore](https://github.com/facebook/docusaurus/pull/9310).\\n\\n```json title=\\"versioned_sidebars/version-v1.0.0-sidebars.json\\"\\n{\\n \\"version-v1.0.0/docs\\": [\\n \\"version-v1.0.0/introduction\\",\\n \\"version-v1.0.0/prerequisites\\"\\n ]\\n}\\n```\\n\\n:::tip How to prepare\\n\\nYour Docusaurus v2 site is able to handle the 2 sidebar formats similarly.\\n\\nYou can remove the useless versioned prefix from your versioned sidebars.\\n\\n```json title=\\"versioned_sidebars/version-v1.0.0-sidebars.json\\"\\n{\\n \\"docs\\": [\\"introduction\\", \\"prerequisites\\"]\\n}\\n```\\n\\n:::\\n\\n## Try Docusaurus v3 today {#try-docusaurus-v3-today}\\n\\nDocusaurus v3 is now [in beta](https://github.com/facebook/docusaurus/discussions/9312), and already used in production by [React-Native](https://reactnative.dev), [Jest](https://jestjs.io), and [our own website](https://docusaurus.io/).\\n\\nWe think this new Docusaurus version is **robust and ready to be deployed in production**. It should be released officially soon, after receiving a positive feedback from early adopters of our community.\\n\\nWe would really appreciate it if you try upgrading and report issues on the [3.0.0-beta.0 release discussion thread](https://github.com/facebook/docusaurus/discussions/9312).\\n\\nFor most sites, the upgrade should be easy. If you prepared your site ahead of time as documented here, upgrading the following dependencies should be enough:\\n\\n```diff title=\\"package.json\\"\\n {\\n \\"dependencies\\": {\\n- \\"@docusaurus/core\\": \\"2.4.3\\",\\n- \\"@docusaurus/preset-classic\\": \\"2.4.3\\",\\n- \\"@mdx-js/react\\": \\"^1.6.22\\",\\n+ \\"@docusaurus/core\\": \\"3.0.0-beta.0\\",\\n+ \\"@docusaurus/preset-classic\\": \\"3.0.0-beta.0\\",\\n+ \\"@mdx-js/react\\": \\"^3.0.0\\",\\n \\"clsx\\": \\"^2.0.0\\",\\n \\"prism-react-renderer\\": \\"^1.3.5\\",\\n- \\"react\\": \\"^17.0.2\\",\\n- \\"react-dom\\": \\"^17.0.2\\"\\n+ \\"react\\": \\"^18.2.0\\",\\n+ \\"react-dom\\": \\"^18.2.0\\"\\n },\\n \\"devDependencies\\": {\\n- \\"@docusaurus/module-type-aliases\\": \\"2.4.3\\"\\n+ \\"@docusaurus/module-type-aliases\\": \\"3.0.0-beta.0\\"\\n }\\n }\\n```\\n\\n## Ask for help\\n\\nWe will be there to help you upgrade through the following support channels:\\n\\n- [Docusaurus v3 - Upgrade Support](https://github.com/facebook/docusaurus/discussions/9336)\\n- [Docusaurus v3 - Discord channel #migration-v2-to-v3](https://discord.com/channels/398180168688074762/1154771869094912090)\\n- [MDX v3 - Upgrade Support](https://github.com/facebook/docusaurus/discussions/9053)\\n- [MDX v3 - Remark/Rehype Plugins Support](https://github.com/facebook/docusaurus/discussions/9337)\\n- [MDX v3 - Discord channel #migration-mdx-v3](https://discord.com/channels/398180168688074762/1116724556976111616)\\n\\nAlternatively, you can look for a paid [Docusaurus Service Provider](https://github.com/facebook/docusaurus/discussions/9281) to execute this upgrade for you. If your site is open source, you can also ask our community for [free, benevolent help](https://github.com/facebook/docusaurus/discussions/9283).\\n\\n## Conclusion\\n\\nDocusaurus v3 is ready to try, and will be released soon. This article already gives you a good idea of all the major changes required to upgrade.\\n\\nThe initial 3.0 release is focusing on dependency and infrastructure upgrades that will permit us to implement new exciting features. It also comes with a few useful features that we will detail in the final release notes."},{"id":"/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing","metadata":{"permalink":"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2023/09-22-upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing/index.mdx","source":"@site/blog/2023/09-22-upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing/index.mdx","title":"Upgrading frontend dependencies with confidence","description":"Upgrade npm dependencies with confidence thanks to a visual regression testing workflow using GitHub Actions, Playwright and Argos.","date":"2023-09-22T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":8.355,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"authors":["slorber"],"tags":["release"],"slug":"/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing","description":"Upgrade npm dependencies with confidence thanks to a visual regression testing workflow using GitHub Actions, Playwright and Argos.","image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Preparing your site for Docusaurus v3","permalink":"/blog/preparing-your-site-for-docusaurus-v3"},"nextItem":{"title":"Docusaurus 2.4","permalink":"/blog/releases/2.4"}},"content":"Frontend developers often need to **upgrade npm dependencies**, but those upgrades can feel scary and lead to **subtle UI side effects** not caught by your regular test suite.\\n\\nUpgrading Docusaurus is a good example: without reviewing all the pages one by one, it\'s hard to be sure there\'s no visual regression. **Docusaurus v3 is around the corner** (currently in [beta](https://github.com/facebook/docusaurus/discussions/9312)), and we would like to help you do this upgrade with confidence.\\n\\nThis article introduces a **visual regression testing** workflow based on [**GitHub Actions**](https://github.com/features/actions), [**Playwright**](https://playwright.dev/), and [**Argos**](https://argos-ci.com/). It is not directly coupled to Docusaurus or React, and can be adapted to work with other frontend applications and frameworks.\\n\\n![Upgrading frontend dependencies with confidence - social card](./img/social-card.png)\\n\\n\x3c!--truncate--\x3e\\n\\nThis workflow has been tested while upgrading Docusaurus v2 to v3, and already helped catch a few visual regressions on sites such as [React Native](https://reactnative.dev/), [Jest](https://jestjs.io/), and the [Docusaurus](https://docusaurus.io/) site itself.\\n\\nDocusaurus v3 comes with infrastructure changes and major dependency upgrades such as [MDX v3](https://mdxjs.com/blog/v3/) and [React 18](https://react.dev/blog/2022/03/29/react-v18), which can produce unexpected side effects. It would have been difficult to notice all the visual regressions without such a workflow. That\'s why we encourage site owners to consider adopting visual regression testing, especially for highly customized sites.\\n\\n## Workflow overview\\n\\nThe general idea is pretty simple:\\n\\n- Build your site in CI with [GitHub Actions](https://github.com/features/actions)\\n- Take screenshots of all `sitemap.xml` pages with [Playwright](https://playwright.dev/)\\n- Upload them to [Argos](https://argos-ci.com/)\\n- Do this for both Git branches `main` and `pr-branch`\\n- Compare the screenshots side-by-side in [Argos](https://argos-ci.com/)\\n\\nArgos will then **report visual differences** found between `main` and `pr-branch` as a GitHub commit status and pull-request comment. This can help you detect visual regressions ahead of time in an automated way.\\n\\n![Argos GitHub commit status](./img/argos-github-status.png)\\n\\n![Argos GitHub PR comment](./img/argos-github-comment.png)\\n\\nArgos creates a report referencing all the visual differences found while comparing the 2 Git branches sites side-by-side, and provides a convenient UX to easily spot the difference.\\n\\nCheck the [Docusaurus Argos page](https://app.argos-ci.com/meta-open-source/docusaurus) to explore our own website reports.\\n\\nHere is a more concrete example of Argos [reporting a visual regression](https://app.argos-ci.com/slorber/rnw-visual-tests/builds/32/56012838) found while upgrading the React-Native website:\\n\\n[![Argos GitHub PR comment](./img/argos-react-native-regression.png)](https://app.argos-ci.com/slorber/rnw-visual-tests/builds/32/56012838)\\n\\n## Workflow implementation\\n\\nThis section will describe the implementation details of each step of the workflow.\\n\\nYou will need to [sign up to Argos](https://app.argos-ci.com/signup) and [connect Argos to your GitHub repository](https://argos-ci.com/docs/github)\\n\\n### Dependencies\\n\\nThis workflow requires the following dev dependencies, in addition to the usual Docusaurus ones:\\n\\n```bash\\nyarn add -D @argos-ci/cli @argos-ci/playwright @playwright/test cheerio\\n```\\n\\n### GitHub Action\\n\\nThe GitHub action is responsible for executing the workflow for each Git branch.\\n\\nA minimal workflow could look like:\\n\\n```yaml title=\\".github/workflows/argos.yml\\"\\nname: Argos CI Screenshots\\n\\non:\\n push:\\n branches: [main]\\n pull_request:\\n branches: [main]\\n\\njobs:\\n take-screenshots:\\n runs-on: ubuntu-latest\\n steps:\\n - name: Check out repository code\\n uses: actions/checkout@v4\\n\\n - name: Use Node.js\\n uses: actions/setup-node@v3\\n with:\\n node-version: current\\n\\n - name: Install dependencies\\n run: yarn install --frozen-lockfile\\n\\n - name: Install Playwright browsers\\n run: yarn playwright install --with-deps chromium\\n\\n - name: Build the website\\n run: yarn docusaurus build\\n\\n - name: Take screenshots with Playwright\\n run: yarn playwright test\\n\\n - name: Upload screenshots to Argos\\n run: yarn argos upload ./screenshots\\n```\\n\\n### Playwright config\\n\\nPlaywright is responsible for taking screenshots of the website previously built locally by the GitHub action.\\n\\nA minimal [Playwright config](https://playwright.dev/docs/test-configuration) could look like:\\n\\n```ts title=\\"playwright.config.ts\\"\\nimport {devices} from \'@playwright/test\';\\nimport type {PlaywrightTestConfig} from \'@playwright/test\';\\n\\nconst config: PlaywrightTestConfig = {\\n webServer: {\\n port: 3000,\\n command: \'yarn docusaurus serve\',\\n },\\n projects: [\\n {\\n name: \'chromium\',\\n use: {\\n ...devices[\'Desktop Chrome\'],\\n },\\n },\\n ],\\n};\\n\\nexport default config;\\n```\\n\\n### Playwright test\\n\\nA Playwright config is not enough: we also need to write a Playwright test file to generate the site screenshots.\\n\\n```ts title=\\"screenshot.spec.ts\\"\\nimport * as fs from \'fs\';\\nimport {test} from \'@playwright/test\';\\nimport {argosScreenshot} from \'@argos-ci/playwright\';\\nimport {extractSitemapPathnames, pathnameToArgosName} from \'./utils\';\\n\\n// Constants\\nconst siteUrl = \'http://localhost:3000\';\\nconst sitemapPath = \'./build/sitemap.xml\';\\nconst stylesheetPath = \'./screenshot.css\';\\nconst stylesheet = fs.readFileSync(stylesheetPath).toString();\\n\\n// Wait for hydration, requires Docusaurus v2.4.3+\\n// Docusaurus adds a <html data-has-hydrated=\\"true\\"> once hydrated\\n// See https://github.com/facebook/docusaurus/pull/9256\\nfunction waitForDocusaurusHydration() {\\n return document.documentElement.dataset.hasHydrated === \'true\';\\n}\\n\\nfunction screenshotPathname(pathname: string) {\\n test(`pathname ${pathname}`, async ({page}) => {\\n const url = siteUrl + pathname;\\n await page.goto(url);\\n await page.waitForFunction(waitForDocusaurusHydration);\\n await page.addStyleTag({content: stylesheet});\\n await argosScreenshot(page, pathnameToArgosName(pathname));\\n });\\n}\\n\\ntest.describe(\'Docusaurus site screenshots\', () => {\\n const pathnames = extractSitemapPathnames(sitemapPath);\\n console.log(\'Pathnames to screenshot:\', pathnames);\\n pathnames.forEach(screenshotPathname);\\n});\\n```\\n\\n<details>\\n <summary>Why do we take screenshots with Argos instead of Playwright?</summary>\\n\\nArgos has a [Playwright integration](https://argos-ci.com/docs/playwright) that wraps the original Playwright screenshot API and provides better defaults to make screenshots more deterministic.\\n\\n</details>\\n\\n<details>\\n<summary>What\'s inside <code>utils.ts</code>?</summary>\\n\\nThis module contains implementation details that we choose to hide for clarity.\\n\\n```ts\\nimport * as cheerio from \'cheerio\';\\nimport * as fs from \'fs\';\\n\\n// Extract a list of pathnames, given a fs path to a sitemap.xml file\\n// Docusaurus generates a build/sitemap.xml file for you!\\nexport function extractSitemapPathnames(sitemapPath: string): string[] {\\n const sitemap = fs.readFileSync(sitemapPath).toString();\\n const $ = cheerio.load(sitemap, {xmlMode: true});\\n const urls: string[] = [];\\n $(\'loc\').each(function handleLoc() {\\n urls.push($(this).text());\\n });\\n return urls.map((url) => new URL(url).pathname);\\n}\\n\\n// Converts a pathname to a decent screenshot name\\nexport function pathnameToArgosName(pathname: string): string {\\n return pathname.replace(/^\\\\/|\\\\/$/g, \'\') || \'index\';\\n}\\n```\\n\\n</details>\\n\\n### Stylesheet\\n\\nScreenshots are not always deterministic, and taking a screenshot of a page twice can lead to subtle variations that will be reported by Argos as **false positive** visual regressions.\\n\\nFor this reason, we recommend injecting an extra stylesheet to hide the problematic elements. You will probably need to add new CSS rules to this base stylesheet, according to flaky elements found on your own site. Read [Argos - About flaky tests docs](https://argos-ci.com/docs/about-flaky) for details.\\n\\n```css title=\\"screenshot.css\\"\\n/* Iframes can load lazily */\\niframe,\\n/* Avatars can be flaky due to using external sources: GitHub/Unavatar */\\n.avatar__photo,\\n/* Gifs load lazily and are animated */\\nimg[src$=\'.gif\'],\\n/* Algolia keyboard shortcuts appear with a little delay */\\n.DocSearch-Button-Keys > kbd,\\n/* The live playground preview can often display dates/counters */\\n[class*=\'playgroundPreview\'] {\\n visibility: hidden;\\n}\\n\\n/* Different docs last-update dates can alter layout */\\n.theme-last-updated,\\n/* Mermaid diagrams are rendered client-side and produce layout shifts */\\n.docusaurus-mermaid-container {\\n display: none;\\n}\\n```\\n\\n:::tip prevent layout shifts\\n\\nWe recommend hiding flaky UI elements affecting layout with `display: none;`.\\n\\nFor example, the docs \\"Last Updated on\\" might render on more than 1 line, eventually \\"pushing\\" the rest of your content further down, leading to Argos detecting many different pixels.\\n\\n:::\\n\\n## Example repository\\n\\nThe [slorber/docusaurus-argos-example](https://github.com/slorber/docusaurus-argos-example) repo shows a complete example of implementing this workflow on a newly initialized Docusaurus v2 site, using a Yarn monorepo.\\n\\n[![Docusaurus + Argos monorepo example screenshot](./img/docusaurus-argos-example-repo-screenshot.png)](https://github.com/slorber/docusaurus-argos-example)\\n\\nRelevant pull-requests:\\n\\n- [PR - Set up GitHub Action + Playwright + Argos](https://github.com/slorber/docusaurus-argos-example/pull/1): implements the minimal workflow described above\\n- [PR - Upgrading Docusaurus from v2 to v3](https://github.com/slorber/docusaurus-argos-example/pull/2): shows how Argos caught 3 visual regressions while upgrading\\n\\n:::tip More advanced example?\\n\\nBrowse the Docusaurus repository for a more advanced integration:\\n\\n- [GitHub Action](https://github.com/facebook/docusaurus/blob/main/.github/workflows/argos.yml)\\n- [Playwright + Argos tests](https://github.com/facebook/docusaurus/tree/main/argos)\\n\\n:::\\n\\n## Make it cheap\\n\\nThe tools we choose are implementation details of this visual regression testing workflow.\\n\\nFor Docusaurus, we choose [Argos](https://argos-ci.com/): it works well for us, and offers [free](https://argos-ci.com/pricing) and [open source](https://argos-ci.com/docs/open-source) plans. However, you are free to adopt alternative tools.\\n\\nIn case you don\'t mind storing large screenshots in Git, you can also try the free, self-hosted [Playwright Visual Comparisons](https://playwright.dev/docs/test-snapshots) and browse visual differences with `npx playwright show-report`. However, we found using a dedicated external tool is more convenient.\\n\\nExternal tools can be expensive, but generally offer free plans with an ample quota of screenshots. You can reduce your screenshot consumption by implementing a few tricks below.\\n\\n### Limit the number of pathnames\\n\\nThe base setup involves taking a screenshot of every single pathname found in `sitemap.xml`. For large sites, that can lead to a lot of screenshots.\\n\\nYou can decide to filter the pathnames to only take screenshots of the most critical pages.\\n\\nFor the Docusaurus website, do not take screenshots for versioned docs pages:\\n\\n```ts title=\\"screenshot.spec.ts\\"\\n// highlight-start\\nfunction isVersionedDocsPathname(pathname: string): boolean {\\n return pathname.match(/^\\\\/docs\\\\/((\\\\d\\\\.\\\\d\\\\.\\\\d)|(next))\\\\//);\\n}\\n// highlight-end\\n\\ntest.describe(\'Docusaurus site screenshots\', () => {\\n const pathnames = extractSitemapPathnames(sitemapPath)\\n // highlight-next-line\\n .filter(isVersionedDocsPathname);\\n\\n pathnames.forEach(screenshotPathname);\\n});\\n```\\n\\n### Limit the workflow concurrency\\n\\nImplementing [GitHub Actions concurrency groups](https://docs.github.com/en/actions/using-jobs/using-concurrency) will prevent successive commits to trigger multiple useless workflow runs. The workflow will only be executed for the last commit, and previous commits will be canceled automatically.\\n\\n```yaml title=\\".github/workflows/argos.yml\\"\\nconcurrency:\\n group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}\\n cancel-in-progress: true\\n```\\n\\n### Run your workflow conditionally\\n\\nIt\'s not worth running this workflow for every single commit and pull-request.\\n\\nFor example, if someone corrects a typo in your documentation, you probably don\'t want to take hundreds of screenshots and have Argos to point out that only the modified page has a visual difference: duh, that\'s a bit expected!\\n\\nFor the Docusaurus website, we only run the workflow for pull-request having the `Argos` label:\\n\\n```yaml title=\\".github/workflows/argos.yml\\"\\nname: Argos CI Screenshots\\n\\non:\\n push:\\n branches: [main]\\n pull_request:\\n branches: [main]\\n # highlight-start\\n types:\\n - opened\\n - synchronize\\n - reopened\\n - labeled\\n # highlight-end\\n\\njobs:\\n take-screenshots:\\n # highlight-start\\n if: ${{ github.ref_name == \'main\' || (github.event_name == \'pull_request\' && contains(github.event.pull_request.labels.*.name, \'Argos\')) }}\\n # highlight-end\\n runs-on: ubuntu-latest\\n steps:\\n # Your job steps here ...\\n```\\n\\nThere are many options to explore, such as [triggering the workflow manually](https://docs.github.com/en/actions/using-workflows/manually-running-a-workflow) or [only when files matching a specific pattern are modified](https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#example-including-paths).\\n\\n## Conclusion\\n\\nI believe **visual regression testing is underused** in the frontend ecosystem.\\n\\nTaking full-page screenshots is a **low-hanging fruit** that is easy to set up and can help you **catch a new class of bugs** that your regular test suite would miss. This technique shines not only for npm package upgrades, but also for **any kind of refactoring** that shouldn\'t change the user interface.\\n\\nSo why not give it a try?\\n\\nHappy hacking!\\n\\n## See also\\n\\nUseful documentation links:\\n\\n- [Playwright - Installation](https://playwright.dev/docs/intro)\\n- [Playwright - Test config guide](https://playwright.dev/docs/test-configuration)\\n- [Playwright - Test config API](https://playwright.dev/docs/api/class-testconfig)\\n- [Argos - Installation](https://argos-ci.com/docs/installation)\\n- [Argos - Use with GitHub Actions](https://argos-ci.com/docs/github-actions)\\n- [Argos - Use with Playwright](https://argos-ci.com/docs/playwright)\\n- [Argos - About flaky tests](https://argos-ci.com/docs/about-flaky)"},{"id":"/releases/2.4","metadata":{"permalink":"/blog/releases/2.4","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/2.4/index.mdx","source":"@site/blog/releases/2.4/index.mdx","title":"Docusaurus 2.4","description":"We are happy to announce Docusaurus 2.4.","date":"2023-03-23T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.05,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.4","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2023-03-23T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Upgrading frontend dependencies with confidence","permalink":"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing"},"nextItem":{"title":"Docusaurus 2.3","permalink":"/blog/releases/2.3"}},"content":"We are happy to announce **Docusaurus 2.4**.\\n\\nThe upgrade should be easy: as explained in our [release process documentation](/community/release-process), minor versions respect [Semantic Versioning](https://semver.org/).\\n\\n![Docusaurus blog post social card](./img/social-card.png)\\n\\n\x3c!--truncate--\x3e\\n\\nimport BrowserWindow from \'@site/src/components/BrowserWindow\';\\nimport IframeWindow from \'@site/src/components/BrowserWindow/IframeWindow\';\\nimport ErrorBoundaryTestButton from \'@site/src/components/ErrorBoundaryTestButton\';\\n\\n## Highlights\\n\\n### Sidebar item description\\n\\nIn [#8236](https://github.com/facebook/docusaurus/pull/8236), we made it possible to provide a new `description` attribute for docs sidebar items of type `link` and `category`.\\n\\n```tsx title=\\"sidebars.js\\"\\n[\\n {\\n type: \'link\',\\n label: \'Link with description\',\\n href: \'https://docusaurus.io\',\\n // highlight-next-line\\n description: \'Some link description\',\\n },\\n {\\n type: \'category\',\\n label: \'Category with description\',\\n // highlight-next-line\\n description: \'Some category description\',\\n items: [],\\n },\\n];\\n```\\n\\nThese descriptions will be used in category generated index pages.\\n\\n![Show sidebar category generated index with custom descriptions](./img/sidebar-item-description.jpg)\\n\\n### Theme Query String\\n\\nIn [#8708](https://github.com/facebook/docusaurus/pull/8708), we added the possibility to force Docusaurus to initialize itself in `light` or `dark` mode through a new `docusaurus-theme` query-string parameter.\\n\\nThis is useful to ensure a consistent theme when embedding an existing Docusaurus page into an iframe or WebView.\\n\\n<IframeWindow url=\\"/docs/?docusaurus-theme=light\\" />\\n<IframeWindow url=\\"/docs/?docusaurus-theme=dark\\" />\\n\\n### Remark plugin npm2yarn upgrade\\n\\nIn [#8690](https://github.com/facebook/docusaurus/pull/8690), we upgraded our Remark plugin [@docusaurus/remark-plugin-npm2yarn](https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-remark-plugin-npm2yarn) with many conversion bug fixes, first-class support for pnpm, and the ability to register custom converters producing new tabs.\\n\\n````markdown\\nRun these commands!\\n\\n```bash npm2yarn\\nnpm install\\nnpm run build\\nnpm run myCustomScript -- --some-arg\\n```\\n````\\n\\n<BrowserWindow>\\n\\n```bash npm2yarn\\nnpm install\\nnpm run build\\nnpm run myCustomScript -- --some-arg\\n```\\n\\n</BrowserWindow>\\n\\n### gtag support for multiple tracking IDs\\n\\nIn [#8620](https://github.com/facebook/docusaurus/pull/8620) we added support for the [@docusaurus/plugin-google-gtag](/docs/api/plugins/@docusaurus/plugin-google-gtag) plugin to declare multiple tracking IDs.\\n\\n```js title=\\"docusaurus.config.js\\"\\nmodule.exports = {\\n presets: [\\n [\\n \'@docusaurus/preset-classic\',\\n {\\n gtag: {\\n trackingID: [\\n // highlight-next-line\\n \'G-<YOUR-NEW-GA4-ID>\',\\n // highlight-next-line\\n \'UA-<YOUR-OLD-UA-ID>\',\\n ],\\n },\\n },\\n ],\\n ],\\n};\\n```\\n\\n:::warning Google is sunsetting Universal Analytics\\n\\n**[Google will sunset its Universal Analytics](https://blog.google/products/marketingplatform/analytics/prepare-for-future-with-google-analytics-4/)** on **July 1, 2023**.\\n\\nDocusaurus users should migrate to Google Analytics 4. Google **does not permit to migrate your existing Universal Analytics data** to your new Google Analytics 4 property.\\n\\nTo preserve the continuity of your analytics, we temporarily recommend that you report events to 2 tracking IDs at the same time: the old one (`UA-*`) and new one (`G-*`). Refer to the **[dedicated issue](https://github.com/facebook/docusaurus/issues/7221)** for details.\\n\\n:::\\n\\n### Developer Experience\\n\\nIn [#8736](https://github.com/facebook/docusaurus/pull/8736), we improved how we render error messages and added initial support to render the full causal chain of an error (see [ES2022 Error Cause](https://h3manth.com/ES2022/#error-cause)).\\n\\n:::tip\\n\\nTo see it in action, click here: <ErrorBoundaryTestButton cause=\\"Probably undefined is not a function \uD83D\uDE04\\"/>\\n\\n:::\\n\\nIn [#8735](https://github.com/facebook/docusaurus/pull/8735) we also made navbar-related error messages clearer to help users understand what they did wrong.\\n\\n![Docusaurus navbar error message screenshot](./img/navbar-error.jpg)\\n\\n### Translations\\n\\nWe made it possible to translate some new elements:\\n\\n- [#8677](https://github.com/facebook/docusaurus/pull/8677) introduces a new `process.env.DOCUSAURUS_CURRENT_LOCALE` (experimental) allowing you to localize your config file, including site title, tagline, announcement bar, baseUrl...\\n- [#8616](https://github.com/facebook/docusaurus/pull/8616) allows to translate the navbar and footer logo alt text\\n\\nWe added default theme translation support for multiple languages:\\n\\n- \uD83C\uDDED\uD83C\uDDFA [#8668](https://github.com/facebook/docusaurus/pull/8668): Hungarian\\n- \uD83C\uDDF3\uD83C\uDDF4 [#8631](https://github.com/facebook/docusaurus/pull/8631): Norwegian (Bokm\xe5l)\\n\\n:::tip\\n\\nCompleting theme translations is an [ongoing effort](https://github.com/facebook/docusaurus/issues/3526) and an easy way to contribute to Docusaurus. We add new theme features regularly, for which we often [need new translations](https://github.com/facebook/docusaurus/issues/3526).\\n\\n:::\\n\\n## Other changes\\n\\nOther notable changes include:\\n\\n- [#8674](https://github.com/facebook/docusaurus/pull/8674): respect `prefers-reduced-motion: reduce` media query\\n- [#8712](https://github.com/facebook/docusaurus/pull/8712): use a navbar item of type `docSidebar` in template\\n- [#8801](https://github.com/facebook/docusaurus/pull/8801): allow tabs children to be falsy\\n- [#8757](https://github.com/facebook/docusaurus/pull/8757): make search page react to external query-string changes\\n- [#8803](https://github.com/facebook/docusaurus/pull/8803): fix code block buttons position in RTL\\n- [#8615](https://github.com/facebook/docusaurus/pull/8615): fix color mode toggle when using dark navbar\\n- [#8699](https://github.com/facebook/docusaurus/pull/8699): fix navbar dropdown tab focus bug\\n\\nCheck the **[2.4.0 changelog entry](/changelog/2.4.0)** for an exhaustive list of changes."},{"id":"/releases/2.3","metadata":{"permalink":"/blog/releases/2.3","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/2.3/index.mdx","source":"@site/blog/releases/2.3/index.mdx","title":"Docusaurus 2.3","description":"We are happy to announce Docusaurus 2.3.","date":"2023-01-27T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":2.89,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.3","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2023-01-27T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2.4","permalink":"/blog/releases/2.4"},"nextItem":{"title":"Docusaurus 2.2","permalink":"/blog/releases/2.2"}},"content":"We are happy to announce **Docusaurus 2.3**.\\n\\nThe upgrade should be easy: as explained in our [release process documentation](/community/release-process), minor versions respect [Semantic Versioning](https://semver.org/).\\n\\n![Docusaurus 2.2 social card](./img/social-card.png)\\n\\n\x3c!--truncate--\x3e\\n\\n## Highlights\\n\\n### Google Tag Manager plugin\\n\\nGoogle Tag Manager is a tag management system that allows great flexibility. It enables analytics and marketing teams to easily load other third-party trackers and fire analytics tags.\\n\\nWe now have a [`@docusaurus/plugin-google-tag-manager`](/docs/api/plugins/@docusaurus/plugin-google-tag-manager/) package that you can use alongside or as an alternative to the existing [gtag.js plugin](/docs/api/plugins/@docusaurus/plugin-google-gtag/) (refer to [this doc](https://support.google.com/tagmanager/answer/7582054) to understand when to use which solution).\\n\\n:::warning Google is sunsetting Universal Analytics\\n\\n[Google will sunset its Universal Analytics](https://blog.google/products/marketingplatform/analytics/prepare-for-future-with-google-analytics-4/) on **July 1, 2023**, and ask users to migrate to **Google Analytics 4**.\\n\\nTherefore, we are also **deprecating our existing [`@docusaurus/plugin-google-analytics`](/docs/api/plugins/@docusaurus/plugin-google-analytics)** package. Docusaurus users should create a new Google Analytics 4 property, and migrate to the [gtag.js plugin](/docs/api/plugins/@docusaurus/plugin-google-gtag/), or the [Google Tag Manager plugin](/docs/api/plugins/@docusaurus/plugin-google-tag-manager/). Refer to the [dedicated Docusaurus issue](https://github.com/facebook/docusaurus/issues/7221) for details and questions.\\n\\n:::\\n\\n### Tabs Query String Support\\n\\nIt is now possible to link a selected tab to a query string parameter. When a tab is selected, it will be stored in your browser URL as a `?qs-param=tab-value` search parameter.\\n\\nThis feature allows deep-linking to a specific documentation tab that will pre-selected on page load.\\n\\nWhen used alongside the `groupId` prop, the query string tab value takes precedence over the `localStorage` value.\\n\\nMake sure to check the [documentation](/docs/markdown-features/tabs#query-string) and the demo below to understand how it works:\\n\\nimport BrowserWindow from \'@site/src/components/BrowserWindow\';\\nimport Tabs from \'@theme/Tabs\';\\nimport TabItem from \'@theme/TabItem\';\\n\\n```tsx\\n<Tabs groupId=\\"current-os\\" queryString>\\n <TabItem value=\\"android\\" label=\\"Android\\">\\n Android\\n </TabItem>\\n <TabItem value=\\"ios\\" label=\\"iOS\\">\\n iOS\\n </TabItem>\\n</Tabs>\\n```\\n\\n<BrowserWindow>\\n <Tabs groupId=\\"current-os\\" queryString>\\n <TabItem value=\\"android\\" label=\\"Android\\">\\n Android\\n </TabItem>\\n <TabItem value=\\"ios\\" label=\\"iOS\\">\\n iOS\\n </TabItem>\\n </Tabs>\\n</BrowserWindow>\\n\\n### Nested admonitions\\n\\nIt is now possible to nest one admonition within another by adding extra colons for the outer/enclosing admonition:\\n\\n```md\\n::::tip nested admonitions\\n\\nYou can now nest one admonition within another!\\n\\n:::danger\\n\\nUse this sparingly when it makes sense.\\n\\n:::\\n\\n::::\\n```\\n\\n::::tip nested admonitions\\n\\nYou can now nest one admonition within another!\\n\\n:::danger\\n\\nUse this sparingly when it makes sense.\\n\\n:::\\n\\n::::\\n\\n### Blog `createFeedItems`\\n\\nA new blog plugin option [`feedOptions.createFeedItems`](/docs/api/plugins/@docusaurus/plugin-content-blog/#CreateFeedItemsFn) gives you more control over the RSS/Atom feed generation. It is now possible to transform/filter/limit feed items through a new callback.\\n\\n```tsx title=\\"docusaurus.config.js\\"\\n[\\n \'@docusaurus/preset-classic\',\\n {\\n blog: {\\n feedOptions: {\\n // highlight-start\\n createFeedItems: async (params) => {\\n const {blogPosts, defaultCreateFeedItems, ...rest} = params;\\n return defaultCreateFeedItems({\\n // keep only the 10 most recent blog posts in the feed\\n blogPosts: blogPosts.filter((item, index) => index < 10),\\n ...rest,\\n });\\n },\\n // highlight-end\\n },\\n },\\n },\\n];\\n```\\n\\n### Translations\\n\\nWe added or completed the default theme translation support for multiple languages:\\n\\n- \uD83C\uDDF8\uD83C\uDDEE [#8541](https://github.com/facebook/docusaurus/pull/8541) Slovenian\\n- \uD83C\uDDF9\uD83C\uDDF7 [#8289](https://github.com/facebook/docusaurus/pull/8289) Turkish\\n- \uD83C\uDDEE\uD83C\uDDF7 [#8406](https://github.com/facebook/docusaurus/pull/8406) Farsi\\n- \uD83C\uDDF5\uD83C\uDDF1 [#8525](https://github.com/facebook/docusaurus/pull/8525) Polish\\n- \uD83C\uDDE8\uD83C\uDDF3 [#8423](https://github.com/facebook/docusaurus/pull/8423) Chinese\\n- \uD83C\uDDF8\uD83C\uDDEA [#8312](https://github.com/facebook/docusaurus/pull/8312) Swedish\\n- \uD83C\uDDFB\uD83C\uDDF3 [#8450](https://github.com/facebook/docusaurus/pull/8450) Vietnamese\\n\\n:::tip\\n\\nCompleting theme translations is an [ongoing effort](https://github.com/facebook/docusaurus/issues/3526) and an easy way to contribute to Docusaurus. We add new theme features regularly, for which we often [need new translations](https://github.com/facebook/docusaurus/issues/3526).\\n\\n:::\\n\\n## Other changes\\n\\nOther notable changes include:\\n\\n- [#8463](https://github.com/facebook/docusaurus/pull/8463) and [#8328](https://github.com/facebook/docusaurus/pull/8328): fix some annoying Docusaurus layout issues\\n- [#8539](https://github.com/facebook/docusaurus/pull/8539): Algolia plugin `options.searchPagePath` should be correctly applied to search modal footer\\n- [#8462](https://github.com/facebook/docusaurus/pull/8462): Algolia plugin now makes it easier to transform displayed search results with custom logic\\n- [#8397](https://github.com/facebook/docusaurus/pull/8397): the `deploy` CLI now understands git url `insteadOf` config\\n\\nCheck the **[2.3.0 changelog entry](/changelog/2.3.0)** for an exhaustive list of changes."},{"id":"/releases/2.2","metadata":{"permalink":"/blog/releases/2.2","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/2.2/index.mdx","source":"@site/blog/releases/2.2/index.mdx","title":"Docusaurus 2.2","description":"We are happy to announce Docusaurus 2.2.","date":"2022-10-29T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":2.2,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.2","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2022-10-29T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2.3","permalink":"/blog/releases/2.3"},"nextItem":{"title":"Docusaurus 2.1","permalink":"/blog/2022/09/01/docusaurus-2.1"}},"content":"We are happy to announce **Docusaurus 2.2**.\\n\\nThe upgrade should be easy: as explained in our [release process documentation](/community/release-process), minor versions respect [Semantic Versioning](https://semver.org/).\\n\\n![Docusaurus 2.2 social card](./img/social-card.png)\\n\\n{/* truncate */}\\n\\n## Highlights\\n\\n### Mermaid diagrams\\n\\nIn [#7490](https://github.com/facebook/docusaurus/pull/7490), we added support for Mermaid diagrams. This fills the gap between GitHub Flavored Markdown which also [added support recently](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/). You can create Mermaid diagrams using Markdown code blocks:\\n\\n````md\\n```mermaid\\nsequenceDiagram\\n participant Alice\\n participant Bob\\n Alice->>John: Hello John, how are you?\\n loop Health check\\n John->>John: Fight against hypochondria\\n end\\n Note right of John: Rational thoughts <br/>prevail!\\n John--\x3e>Alice: Great!\\n John->>Bob: How about you?\\n Bob--\x3e>John: Jolly good!\\n```\\n````\\n\\n````mdx-code-block\\nimport BrowserWindow from \'@site/src/components/BrowserWindow\';\\n\\n<BrowserWindow>\\n\\n```mermaid\\nsequenceDiagram\\n participant Alice\\n participant Bob\\n Alice->>John: Hello John, how are you?\\n loop Health check\\n John->>John: Fight against hypochondria\\n end\\n Note right of John: Rational thoughts <br/>prevail!\\n John--\x3e>Alice: Great!\\n John->>Bob: How about you?\\n Bob--\x3e>John: Jolly good!\\n```\\n\\n</BrowserWindow>\\n\\n````\\n\\nMake sure to check the [documentation](/docs/markdown-features/diagrams), and the [more advanced examples](/tests/pages/diagrams)\\n\\n### Config `headTags`\\n\\nIn [#8151](https://github.com/facebook/docusaurus/pull/8151), we added the ability to apply arbitrary HTML `<head>` tags to all pages of your site.\\n\\n```js title=\\"docusaurus.config.js\\"\\nmodule.exports = {\\n headTags: [\\n {\\n tagName: \'link\',\\n attributes: {\\n rel: \'icon\',\\n href: \'/img/docusaurus.png\',\\n },\\n },\\n ],\\n};\\n```\\n\\n### Accessibility\\n\\nWe did several accessibility improvements:\\n\\n- [#8207](https://github.com/facebook/docusaurus/pull/8207): improves keyboard navigation for mobile drawer hamburger button\\n- [#8161](https://github.com/facebook/docusaurus/pull/8161): improves keyboard navigation for tabs\\n- [#8204](https://github.com/facebook/docusaurus/pull/8204): makes the skip to content button support progressive enhancement\\n- [#8174](https://github.com/facebook/docusaurus/pull/8174): improves screen reader announcement when toggling between light/dark mode\\n\\n### Developer Experience\\n\\nWe made validation stricter and improved error messages:\\n\\n- [#8234](https://github.com/facebook/docusaurus/pull/8234): in case of doc processing failure, prints the problematic markdown file path in the error message\\n- [#8192](https://github.com/facebook/docusaurus/pull/8192) and [#8159](https://github.com/facebook/docusaurus/pull/8159): validates `siteConfig.url` more strictly and with better error message\\n- [#8066](https://github.com/facebook/docusaurus/pull/8066): makes config `url` and `baseUrl` fail-safe and less sensitive to the presence or absence of a leading or trailing slash\\n\\n### Translations\\n\\nWe completed the default theme translation support for multiple languages:\\n\\n- \uD83C\uDDF9\uD83C\uDDF7 [#8105](https://github.com/facebook/docusaurus/pull/8105): completes Turkish translations\\n- \uD83C\uDDF7\uD83C\uDDFA [#8253](https://github.com/facebook/docusaurus/pull/8253): completes Russian translations\\n- \uD83C\uDDEB\uD83C\uDDF7 [#8243](https://github.com/facebook/docusaurus/pull/8243): completes French translations\\n- \uD83C\uDDEF\uD83C\uDDF5 [#8075](https://github.com/facebook/docusaurus/pull/8075): completes Japanese translations\\n\\n:::tip\\n\\nCompleting theme translations is an [ongoing effort](https://github.com/facebook/docusaurus/issues/3526) and an easy way to contribute to Docusaurus. We add new theme features regularly, for which we often [need new translations](https://github.com/facebook/docusaurus/issues/3526).\\n\\n:::\\n\\n## Other changes\\n\\nOther notable changes include:\\n\\n- [#8210](https://github.com/facebook/docusaurus/pull/8210): the `docusaurus swizzle` CLI has a new `--config` option\\n- [#8109](https://github.com/facebook/docusaurus/pull/8109): mobile navigation performance optimizations, prefetch resources earlier\\n- [#8059](https://github.com/facebook/docusaurus/pull/8059): versions/locales navbar dropdowns preserve hash and querystring on navigation\\n- [#8227](https://github.com/facebook/docusaurus/pull/8227): the client redirect plugin preserves hash and querystring on redirect\\n\\nCheck the **[2.2.0 changelog entry](/changelog/2.2.0)** for an exhaustive list of changes."},{"id":"/2022/09/01/docusaurus-2.1","metadata":{"permalink":"/blog/2022/09/01/docusaurus-2.1","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2022/09-01-docusaurus-2.1/index.mdx","source":"@site/blog/2022/09-01-docusaurus-2.1/index.mdx","title":"Docusaurus 2.1","description":"We are happy to announce Docusaurus 2.1, our very first minor version release.","date":"2022-09-01T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":1.725,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.1","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2.2","permalink":"/blog/releases/2.2"},"nextItem":{"title":"Announcing Docusaurus 2.0","permalink":"/blog/2022/08/01/announcing-docusaurus-2.0"}},"content":"We are happy to announce **Docusaurus 2.1**, our very first minor version release.\\n\\nThe upgrade should be easy: as explained in our [release process documentation](/community/release-process), minor versions respect [Semantic Versioning](https://semver.org/).\\n\\n![Docusaurus 2.1 social card](./img/social-card.png)\\n\\n\x3c!--truncate--\x3e\\n\\n## Highlights\\n\\n### DocCardList improvements\\n\\nIn [#8008](https://github.com/facebook/docusaurus/pull/8008), we simplified the usage of the`<DocCardList>` component, that is notably used on sidebar category generated index pages.\\n\\nThe `items` prop is now optional, and will be automatically inferred from the content of the parent sidebar category:\\n\\n```diff\\nimport DocCardList from \'@theme/DocCardList\';\\n- import {useCurrentSidebarCategory} from \'@docusaurus/theme-common\';\\n\\n- <DocCardList items={useCurrentSidebarCategory().items}/>\\n+ <DocCardList/>\\n```\\n\\nAlso, we made it possible to use it on any document, including regular docs not linked to any sidebar category.\\n\\n![simplified DocCardList component](./img/doc-card-list.png)\\n\\n### `noindex` improvements\\n\\nWe improved the support of the [`noindex` meta `robots` directive](https://developers.google.com/search/docs/advanced/crawling/block-indexing), a way to signal search engines you don\'t want a specific page to be indexed.\\n\\nIn [#7963](https://github.com/facebook/docusaurus/pull/7963), we allow `noindex` to be configured on a per-docs-version basis.\\n\\nUse the following plugin options to tell crawlers you don\'t want the `1.0.0` version to be indexed:\\n\\n```jsx\\nconst options = {\\n versions: {\\n \'1.0.0\': {\\n noIndex: true,\\n },\\n },\\n};\\n```\\n\\nIn practice, Docusaurus will add the following meta to each page of that version:\\n\\n```html\\n<meta name=\\"robots\\" content=\\"noindex, nofollow\\" />\\n```\\n\\nIn [#7964](https://github.com/facebook/docusaurus/pull/7964), we also fixed a bug where the sitemap plugin would still contain pages that have a `noindex` directive. Now the sitemap plugin will reliably filter out all the pages containing `noindex` directives.\\n\\n### Overriding default meta tags\\n\\nIn [#7952](https://github.com/facebook/docusaurus/pull/7952), it becomes possible to override default html meta tags you couldn\'t before:\\n\\n```jsx\\n<>\\n {siteConfig.noIndex && <meta name=\\"robots\\" content=\\"nofollow, noindex\\" />}\\n <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1.0\\" />\\n</>\\n```\\n\\nIt is now possible to use `<Head>` or `themeConfig.metadata`:\\n\\n- to override the `viewport` meta\\n- to override the `robots` meta: you could mark your site as `noIndex`, but except for specific pages that should be indexed\\n\\n### Ukrainian translations\\n\\nIn [#7953](https://github.com/facebook/docusaurus/pull/7953), we added default classic theme translations for the Ukrainian language.\\n\\n## Other changes\\n\\nCheck the [2.1.0 changelog entry](/changelog/2.1.0) for an exhaustive list of changes."},{"id":"/2022/08/01/announcing-docusaurus-2.0","metadata":{"permalink":"/blog/2022/08/01/announcing-docusaurus-2.0","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2022/08-01-announcing-docusaurus-2.0/index.mdx","source":"@site/blog/2022/08-01-announcing-docusaurus-2.0/index.mdx","title":"Announcing Docusaurus 2.0","description":"Today we are extremely happy to finally announce Docusaurus 2.0! \uD83E\uDD73\uFE0F","date":"2022-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":12.075,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Joshua Chen","title":"Working hard on Docusaurus","url":"https://joshcena.com/","email":"sidachen2003@gmail.com","page":{"permalink":"/blog/authors/josh-cena"},"imageURL":"https://github.com/josh-cena.png","key":"Josh-Cena"},{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"},{"name":"Alexey Pyltsyn","title":"Open-source enthusiast","url":"https://github.com/lex111","email":"lex@php.net","page":{"permalink":"/blog/authors/lex-111"},"imageURL":"https://github.com/lex111.png","key":"lex111"},{"name":"Paul O\u2019Shannessy","title":"Engineering Manager at Meta","url":"https://x.com/zpao","page":{"permalink":"/blog/authors/zpao"},"socials":{"x":"https://x.com/zpao","github":"https://github.com/zpao"},"imageURL":"https://github.com/zpao.png","key":"zpao"},{"name":"Joel Marcey","title":"Co-creator of Docusaurus 1","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Announcing Docusaurus 2.0","authors":["slorber","Josh-Cena","yangshun","lex111","zpao",{"key":"JMarcey","title":"Co-creator of Docusaurus 1"}],"tags":["release"],"image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2.1","permalink":"/blog/2022/09/01/docusaurus-2.1"},"nextItem":{"title":"Docusaurus 2021 Recap","permalink":"/blog/2022/01/24/docusaurus-2021-recap"}},"content":"```mdx-code-block\\nimport LiteYouTubeEmbed from \'react-lite-youtube-embed\';\\nimport \'react-lite-youtube-embed/dist/LiteYouTubeEmbed.css\';\\nimport BrowserWindow from \'@site/src/components/BrowserWindow\';\\nimport ProductHuntCard from \'@site/src/components/ProductHuntCard\';\\nimport HackerNewsIcon from \'@site/src/components/HackerNewsIcon\';\\nimport ColorModeToggle from \'@theme/Navbar/ColorModeToggle\';\\nimport useBaseUrl from \'@docusaurus/useBaseUrl\';\\nimport ThemedImage from \'@theme/ThemedImage\';\\nimport {ShowcaseCarouselV1, ShowcaseCarouselV2, ShowcaseCarouselV2Theming} from \'./ShowcaseCarousel\';\\n```\\n\\nToday we are extremely happy to finally **announce Docusaurus 2.0**! \uD83E\uDD73\uFE0F\\n\\nAt [**Meta Open Source**](https://opensource.fb.com/), we believe Docusaurus will help you build the **best documentation websites** with **minimal effort**, letting you **focus on what really matters**: writing the content.\\n\\nAfter **4 years of work, [75 alphas](https://github.com/facebook/docusaurus/releases/tag/v2.0.0-alpha.75) and [22 betas](https://github.com/facebook/docusaurus/releases/tag/v2.0.0-beta.22)**, the next generation of Docusaurus is **ready for prime time**. From now on, we now plan to **respect [Semantic Versioning](https://semver.org/)** and will release **major versions more frequently**.\\n\\n![social-card image](./img/social-card.png)\\n\\n{/* truncate */}\\n\\n:::info We are on [ProductHunt](https://www.producthunt.com/posts/docusaurus-2-0) and [Hacker News](https://news.ycombinator.com/item?id=32303052)!\\n\\n**Now** is the best time to show your love for Docusaurus!\\n\\n<div style={{display: \'flex\'}}>\\n <ProductHuntCard />\\n <HackerNewsIcon />\\n</div>\\n\\n:::\\n\\n:::tip\\n\\nIn a hurry? Check [what\'s new in Docusaurus 2.0](#whats-new-in-20)!\\n\\n:::\\n\\n## What is Docusaurus exactly?\\n\\nDocusaurus is a **static site generator** that helps you ship **beautiful documentation websites** in **no time**.\\n\\nFocus on your content: just write **Markdown files**. Docusaurus will generate an optimized **website** for you that\'s easy to **host anywhere**.\\n\\nDocusaurus is **full-featured** and very **flexible**: we ship with well-designed docs and blog layout, as well as out-of-the-box versioning, search, and internationalization functionalities, with a call to accessibility and search engine optimizations. Its flexible theming system permits to **adapt the UI to match your branding** so that it integrates nicely with your main website or documentation portal. Its usage of **React** enables a **modern client-side navigation**, and the ability to build an **interactive documentation**.\\n\\n![Introducing Slash](/img/slash-introducing.svg)\\n\\nThe Docusaurus philosophy is akin to the **Pareto principle**: you can get **80% of the results** for **20% of the effort**. This enables you to compete with top-notch documentation sites with **minimal effort**.\\n\\n<TweetQuote\\n url=\\"https://x.com/rachelnabors/status/1452697991039660038\\"\\n handle=\\"rachelnabors\\"\\n name=\\"Rachel Nabors\\"\\n job=\\"Former ReactJS & React-Native docs manager\\">\\n Unless you\'re spinning up a documentation team with engineering resources, you\\n probably want Docusaurus!\\n</TweetQuote>\\n\\nDocusaurus aims to be the **best documentation tool**, but you can use it for **other use-cases** as well: a blog, a knowledge base, a developer portfolio, a second brain, or even to scaffold landing pages!\\n\\n<TweetQuote\\n url=\\"https://x.com/johnny_reilly/status/1551861926334025728\\"\\n handle=\\"johnny_reilly\\"\\n name=\\"Johnny Reilly\\"\\n job=\\"Group Principal Engineer at Investec\\">\\n Using Docusaurus for my tech blog has been a fantastic choice. It looks\\n tremendous out-of-the-box and the awesome DX means I write way more\\n</TweetQuote>\\n\\n:::tip\\n\\nTry Docusaurus now with our [online playgrounds](/docs/playground) and [5 minutes tutorial](https://tutorial.docusaurus.io/) \u23F1\uFE0F\\n\\n:::\\n\\n## The story behind Docusaurus\\n\\nDocusaurus was created at **Facebook Open Source** in **2017** (now [Meta Open Source](https://opensource.fb.com/)). We had a lot of internal and open source projects to document. It\'s **complicated enough to write good documentation**, let alone to create the HTML, CSS, and JavaScript for a good-looking website. We wanted project leaders to be able to **focus on the content**, and **Markdown** is great for that.\\n\\nAt that time, our solution was to **copy/paste a Jekyll template** over and over again. This naturally became **hard to maintain**, so we created a tool to **solve our own pain** once for all.\\n\\n**[Docusaurus v1 was born](/blog/2017/12-14-introducing-docusaurus.mdx)!**\\n\\n![Birth of Slash](/img/slash-birth.png)\\n\\nIt quickly built momentum at Facebook and in the frontend ecosystem, adopted by many popular projects such as [Prettier](https://prettier.io/), [Babel](https://babeljs.io/), [React-Native](https://archive.reactnative.dev/), [KaTeX](https://katex.org/docs/), and of course [Docusaurus v1](http://v1.docusaurus.io/) itself.\\n\\n<ShowcaseCarouselV1 />\\n\\n<br />\\n\\n:::note\\n\\nNotice that the sample sites above use different colors, but still look quite the same.\\n\\n:::\\n\\n## Toward Docusaurus 2.0\\n\\n[**Docusaurus v1**](http://v1.docusaurus.io/) has been very successful, but we started to **question some architectural choices**:\\n\\n- React was only used as a **server-side templating language**, and not used on the client\\n- **Theming system was pretty limited**, and apart from changing a few colors with CSS, it was difficult to do more advanced customizations\\n- The **docs versioning system was confusing**, since it was based on a diff algorithm\\n- The codebase was **monolithic**, neither well-tested nor easy to extend\\n\\n[**Docusaurus v2**](https://docusaurus.io/) was **rebuilt** from the ground up with a new **modular architecture**:\\n\\n- React is now also used on the client, enabling a **modern Single Page Application navigation**\\n- **Plugins** empower the community to contribute useful features as third-party packages\\n- **Theming** is more **flexible** than ever\\n- Docs versioning is now based on snapshot copies, much easier to understand\\n- We kept **everything good from v1**: docs, blog, pages, versioning, i18n...\\n- We implemented **several new features**\\n\\nMore details in the [Docusaurus 2 project announcement](/blog/2018/09-11-Towards-Docusaurus-2.mdx) and [v1 to v2 migration guide](https://docusaurus.io/docs/migration)\\n\\n## Who uses Docusaurus 2.0?\\n\\nDespite being in pre-release, it didn\'t take long for **Docusaurus v2 to outgrow Docusaurus v1** in terms of NPM downloads:\\n\\n[![NPM downloads: v2 outgrows v1](./img/npm-downloads.png)](https://npmtrends.com/docusaurus-vs-@docusaurus/core)\\n\\nOur GitHub star trend is very positive, competing with major frameworks:\\n\\n[![GitHub stars: Docusaurus is well-positioned](./img/star-history.png)](https://star-history.com/#facebook/docusaurus&vercel/next.js&gatsbyjs/gatsby&hexojs/hexo&nuxt/nuxt.js&vuejs/vuepress&11ty/eleventy&gohugoio/hugo&remix-run/remix&mkdocs/mkdocs&Timeline)\\n\\nToday, Docusaurus v2 has already been a great success even before its launch:\\n\\n- We received so many [lovely testimonials](https://x.com/sebastienlorber/timelines/1392048416872706049)\\n- Companies like [1Password](https://blog.1password.com/docusaurus-documentation-framework/) and [Courier](https://www.courier.com/blog/how-we-built-our-documentation/) are writing down their positive experience\\n- Our [site showcase](/showcase) references hundreds of sites, and this is only the tip of the iceberg.\\n\\n<ShowcaseCarouselV2 />\\n\\n<br />\\n\\n:::tip\\n\\nPlease add your site to our [site showcase](/showcase)! It only takes a few seconds: just [post a comment here](https://github.com/facebook/docusaurus/discussions/7826).\\n\\n:::\\n\\n<TweetQuote\\n url=\\"https://x.com/maxlynch/status/1549415692704825346\\"\\n handle=\\"maxlynch\\"\\n name=\\"Max Lynch\\"\\n job=\\"Ionic co-founder and CEO\\">\\n We use Docusaurus everywhere now and love it\\n</TweetQuote>\\n\\n<TweetQuote\\n url=\\"https://x.com/supabase/status/1328960757149671425\\"\\n handle=\\"supabase\\"\\n name=\\"Supabase\\"\\n job=\\"Open Source Firebase alternative\\">\\n We\'ve been using V2 since January and it has been great\\n</TweetQuote>\\n\\n<TweetQuote\\n url=\\"https://x.com/gabrielcsapo/status/1415061312917233665\\"\\n handle=\\"gabrielcsapo\\"\\n name=\\"Gabriel Csapo\\"\\n job=\\"Staff Software Engineer at LinkedIn\\">\\n Docusaurus is next level easy for literally everything you would need for\\n documentation in your project.\\n</TweetQuote>\\n\\n<TweetQuote\\n url=\\"https://x.com/ItWasMattGregg/status/1526682295075102721\\"\\n handle=\\"ItWasMattGregg\\"\\n name=\\"Matt Gregg\\"\\n job=\\"Senior Front End Developer at Shopify\\">\\n Docusaurus is awesome. We use it\\n</TweetQuote>\\n\\n## What\'s New in 2.0?\\n\\nIt would be difficult to describe every single new feature coming with Docusaurus v2. Let\'s focus on the features we believe are the **most impactful**.\\n\\n### MDX\\n\\n[MDX](https://github.com/mdx-js/mdx) allows you to **interleave React components** in Markdown. This enables you to build top-notch **interactive documentation experiences** very easily.\\n\\nA demo is worth a thousand words:\\n\\n```md title=\\"docs/my-document.mdx\\"\\n### Give it a try: press that button!\\n\\nimport ColorModeToggle from \'@theme/ColorModeToggle\';\\n\\n<ColorModeToggle/>\\n```\\n\\n```mdx-code-block\\n<BrowserWindow>\\n\\n<h3>Give it a try: press that button!</h3>\\n\\n<ColorModeToggle/>\\n\\n</BrowserWindow>\\n```\\n\\n:::info\\n\\nMDX has its own [plugin system](https://mdxjs.com/docs/extending-mdx/). You to customize your Markdown authoring experience, and even create your own Markdown syntax.\\n\\n:::\\n\\n<TweetQuote\\n url=\\"https://x.com/HamelHusain/status/1551962275250053123\\"\\n handle=\\"HamelHusain\\"\\n name=\\"Hamel Husain\\"\\n job=\\"Head Of Data Science at Outerbounds\\">\\n Docusaurus + MDX is great: we were able to implement a beautiful two-pane\\n layout and give the author fine-grained control on the placement of code and\\n corresponding prose.\\n</TweetQuote>\\n\\n### File system conventions\\n\\nOur goal is to make Docusaurus very **intuitive** to use. We added file system conventions, and adding a doc page is as easy as creating one Markdown file.\\n\\n<LiteYouTubeEmbed\\n id=\\"T3S8GyFIXjo\\"\\n params=\\"autoplay=1&autohide=1&showinfo=0&rel=0\\"\\n title=\\"Explain Like I\'m 5: Docusaurus\\"\\n poster=\\"maxresdefault\\"\\n webp\\n/>\\n\\n<br />\\n\\n<TweetQuote\\n url=\\"https://x.com/paularmstrong/status/1552005085168865281\\"\\n handle=\\"paularmstrong\\"\\n name=\\"Paul Armstrong\\"\\n job=\\"Principal Engineer at Microsoft\\">\\n Using the auto-generated sidebars makes it so simple to just create a page and\\n not worry about any other configuration.\\n</TweetQuote>\\n\\n### Plugins\\n\\nDocusaurus now has a **modular architecture** with a plugin system \u2014 our **core features** like docs, blog, pages, and search are all powered by individual plugins.\\n\\nMore importantly, it enables our community to **enhance Docusaurus** with additional features.\\n\\nLet\'s highlight some examples:\\n\\n- [redocusaurus](https://github.com/rohit-gohri/redocusaurus): seamless integration with [OpenAPI](https://www.openapis.org/) and [Redoc](https://github.com/Redocly/redoc)\\n\\n![redocusaurus plugin example](./img/plugins/redocusaurus.png)\\n\\n- [docusaurus-preset-shiki-twoslash](https://www.npmjs.com/package/docusaurus-preset-shiki-twoslash): use [Shiki](https://github.com/shikijs/shiki) code block syntax highlighting with [TwoSlash](https://shikijs.github.io/twoslash/) TypeScript compiler hints\\n\\n![shiki-twoslash plugin example](./img/plugins/shiki-twoslash.png)\\n\\n<TweetQuote\\n url=\\"https://x.com/orta\\"\\n handle=\\"orta\\"\\n name=\\"Orta Therox\\"\\n job=\\"Former TypeScript core team at Microsoft\\">\\n The plugin API was a breeze to use, and powerful enough that I could port the\\n code sample renderer from the TypeScript website site in a couple of hours.\\n</TweetQuote>\\n\\n- [docusaurus-search-local](https://github.com/easyops-cn/docusaurus-search-local): one of the various local search alternatives to the built-in Algolia plugin\\n\\n![local search plugin example](./img/plugins/search.png)\\n\\n:::tip\\n\\nWe have a curated list of outstanding plugins in our [community resources](/community/resources) page.\\n\\n:::\\n\\n<TweetQuote\\n url=\\"https://x.com/jodyheavener/status/1551974535452311552\\"\\n handle=\\"jodyheavener\\"\\n name=\\"Jody Heavener\\"\\n job=\\"Senior Developer at 1Password\\">\\n The plugin system in Docusaurus v2 has made expanding 1Password\'s developer\\n portal so easy and fun. Super excited to show you what we\'ve got cooking up.\\n</TweetQuote>\\n\\n### Theming\\n\\nTheming is one of the most important features of Docusaurus: we believe a professional documentation site should **respect your company\'s branding** and create a consistent experience.\\n\\nDocusaurus theming gives a lot of **flexibility** on multiple levels:\\n\\n- Customize CSS variables to adjust colors, fonts, and more\\n- Provide your own CSS stylesheets\\n- Implement your own theme from scratch\\n- **Override any React component** provided by our default theme: we call this [swizzling](https://docusaurus.io/docs/swizzling)\\n\\n<TweetQuote\\n url=\\"https://x.com/hung_dev/status/1546918275065741312\\"\\n handle=\\"hung_dev\\"\\n name=\\"\\nHung Viet Nguyen\\"\\n job=\\"Creator of JestPreview\\">\\n I love Docusaurus Swizzling feature. It\u2019s opinionated and flexible at the same\\n time. This is super cool since a framework usually needs to sacrifice one for\\n the other.\\n</TweetQuote>\\n\\nThis enables users willing to invest a bit more time on **customizations** to build sites that **look different** from others.\\n\\n<ShowcaseCarouselV2Theming />\\n\\n<TweetQuote\\n url=\\"https://x.com/dabit3/status/1382855449813389315\\"\\n handle=\\"dabit3\\"\\n name=\\"Nader Dabit\\"\\n job=\\"Web3 developer, Developer DAO founder\\">\\n So far it\u2019s working out really nicely. It\u2019s been really easy to style up the\\n way that we wanted it to look. No blockers at all.\\n</TweetQuote>\\n\\n### Other features\\n\\nDocusaurus 2 comes with a very long list of useful features:\\n\\n- Theme: dark mode, better UI and UX, flexible `themeConfig` options...\\n- Docs versioning: flexible plugin options to adapt to your workflow\\n- Docs sidebar: collapsible category, category index pages...\\n- Blog: multiple authors, authors map, archive page...\\n- Markdown: tabs, math equations, live code blocks, linking, flexible front matter...\\n- Search: use the new Algolia DocSearch 3 experience\\n- Assets: make it easy to incorporate images and other kinds of files\\n- Internationalization: config options, default theme translations...\\n- Accessibility: aria labels, color contrasts, skip-to-content, keyboard navigation, progressive enhancement...\\n- SEO: sensible defaults, easy to customize, canonical url, social card, no-index, sitemap, microdata, hreflang...\\n- PWA: add offline support to your site, and make it installable\\n- Fail-fast: strict config validation, detect broken links, and prevent bad production deployments\\n- TypeScript support for config files, plugins, custom pages and theme authors\\n- Playgrounds: assess Docusaurus easily from your browser with [docusaurus.new](https://docusaurus.new)\\n- Canary releases: use the @canary npm tag to use the upcoming release before anyone else\\n- Tests: Docusaurus is well-tested, we dogfood features and ensure they keep working\\n\\n<TweetQuote\\n url=\\"https://x.com/alexbdebrie/status/1540010328335032320\\"\\n handle=\\"alexbdebrie\\"\\n name=\\"Alex DeBrie\\"\\n job=\\"AWS Data Hero, author of The DynamoDB Book\\">\\n Recently, I was shocked at how good Docusaurus is out of the box. Super solid,\\n a good bit of configuration without being overwhelming, and the ability to\\n really customize the styling if you\'re braver than I am.\\n</TweetQuote>\\n\\n## Why 2.0 now?\\n\\nMany enthusiastic followers of ours have been curious **why it took us 4 years to release Docusaurus 2.0**, considering the beta is already successful and **widely used in production**.\\n\\nThe reason is that we aim to **respect [Semantic Versioning](https://semver.org/)**, which means we will be incrementing the major version number whenever we release a **breaking change**.\\n\\nIt is important for multiple reasons:\\n\\n- It **guarantees simple minor version upgrades**, as long as you only use the [public API](/community/release-process#public-api-surface)\\n- It follows front-end ecosystem conventions\\n- A new major version is an opportunity to thoroughly document breaking changes\\n- A new major/minor version is an opportunity to communicate new features through a blog post\\n\\nThe problem is that our flexible theming system inherently creates a very **implicit API surface** on which it is **hard to know what is a breaking change** in the first place. Highly customized Docusaurus sites sometimes have a hard time upgrading Docusaurus because they achieve customizations using internal APIs. We dedicated time to extensive theme refactors and clearly defining our [public API](/community/release-process#public-api-surface), so that future code changes can be made more safely. We will continue to expand this public theming API so that the most common site customizations do not need to use any internal API.\\n\\n:::info\\n\\nFrom now on, Docusaurus will **release new major versions more frequently**. In practice, you can expect a **new major version every 2 to 4 months**.\\n\\n[Major version numbers are not sacred](https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html), but we still group breaking changes together and avoid releasing major versions too often.\\n\\nCheck our [release process](/community/release-process) documentation for details.\\n\\n:::\\n\\n## What\'s Next?\\n\\n![Slash Up and Running](/img/slash-up-and-running.png)\\n\\nThe work on Docusaurus 3.0 has started, and this next version will be released only in a few months. We will **backport retro-compatible changes in Docusaurus 2.x** minor versions to make them available as soon as possible to the community on a stable channel.\\n\\nA sample of the features on our roadmap for the upcoming major versions of Docusaurus:\\n\\n- [Upgrade to MDX 2.0](https://github.com/facebook/docusaurus/issues/4029)\\n- [Improve Markdown infrastructure](https://github.com/facebook/docusaurus/issues/4625)\\n- [Improve theming and swizzle](https://github.com/facebook/docusaurus/issues/6114)\\n- [TailwindCSS theme](https://github.com/facebook/docusaurus/issues/2961)\\n- [Theme; support custom item types for navbar, doc sidebar, blog sidebar, footer](https://github.com/facebook/docusaurus/issues/7227)\\n- [Dynamic navbar: navbar item activation strategies](https://github.com/facebook/docusaurus/issues/4389)\\n- [Custom Social Cards](https://github.com/facebook/docusaurus/issues/2968)\\n- [CSS-in-JS support](https://github.com/facebook/docusaurus/issues/3236)\\n- [Use Node.js ES Modules](https://github.com/facebook/docusaurus/issues/6520)\\n- [Improve build time performance](https://github.com/facebook/docusaurus/issues/4765)\\n- [Extend Docusaurus plugins, CMS integration](https://github.com/facebook/docusaurus/issues/4138)\\n\\n## Thank You\\n\\nWe\'d like to express our gratitude to [all our contributors](https://github.com/facebook/docusaurus/graphs/contributors), including:\\n\\n- The Docusaurus core team: [Alexey Pyltsyn](https://github.com/lex111), [Joshua Chen](https://github.com/Josh-Cena), [S\xe9bastien Lorber](https://github.com/slorber), [Yangshun Tay](https://github.com/yangshun) and all our [former team members](https://docusaurus.io/community/team)\\n- [Joel Marcey](https://github.com/JoelMarcey) for creating Docusaurus 1.0 and supporting the Docusaurus 2.0 project at Meta Open Source\\n- [Paul O\u2019Shannessy](https://github.com/zpao) for supporting the development of all the next versions of Docusaurus at Meta Open Source\\n- [Eric Nakagawa](https://github.com/ericnakagawa) for creating our cutest mascot Slash\\n- [Endilie Yacop Sucipto](https://github.com/endiliey) for his significant [initial work on Docusaurus v2](/blog/2020/01-07-tribute-to-endi.mdx)\\n- [Cl\xe9ment Vannicatte](https://github.com/shortcuts), [Kevin Granger](https://github.com/Shipow) and the whole Algolia team for their support\\n- All the community members for making valuable code contributions, improving our documentation, and answering questions on [Discord](https://discordapp.com/invite/docusaurus)\\n\\nWe\'d like to thank in particular all our **Docusaurus 2.0 early adopters** for assessing its alpha, beta and canary releases, providing a ton of **invaluable feedback**. We sincerely hope you had a great experience using it, and that you will continue to provide feedback on the upcoming pre-releases of Docusaurus 3.0.\\n\\nAt [Meta Open Source](https://opensource.fb.com/), Docusaurus is one of our **most successful projects**. We can\'t wait to see all the outstanding documentation websites that you will create! Don\'t forget to **submit them to our [site showcase](/showcase)**!\\n\\n**Now, let your imagination run wild \uD83E\uDD2A!**\\n\\n\u2014 Slash\\n\\n:::info We are on [ProductHunt](https://www.producthunt.com/posts/docusaurus-2-0) and [Hacker News](https://news.ycombinator.com/item?id=32303052)!\\n\\n\uD83D\uDE4F Share your experience using Docusaurus with the community!\\n\\n<div style={{display: \'flex\'}}>\\n <ProductHuntCard />\\n <HackerNewsIcon />\\n</div>\\n\\n:::\\n\\n![Slash plushies](./img/slash-plushies.jpg)"},{"id":"/2022/01/24/docusaurus-2021-recap","metadata":{"permalink":"/blog/2022/01/24/docusaurus-2021-recap","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2022/01-24-docusaurus-2021-recap/index.mdx","source":"@site/blog/2022/01-24-docusaurus-2021-recap/index.mdx","title":"Docusaurus 2021 Recap","description":"Docusaurus has made great progress in 2021! We\'ve seen a lot of traction and just crossed 30k stars on GitHub!","date":"2022-01-24T00:00:00.000Z","tags":[{"inline":false,"label":"Recap","permalink":"/blog/tags/recap","description":"Blog posts about Docusaurus\' year recaps"}],"readingTime":6.01,"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","title":"Working hard on Docusaurus","url":"https://joshcena.com/","email":"sidachen2003@gmail.com","page":{"permalink":"/blog/authors/josh-cena"},"imageURL":"https://github.com/josh-cena.png","key":"Josh-Cena"}],"frontMatter":{"title":"Docusaurus 2021 Recap","authors":["Josh-Cena"],"tags":["recap"],"image":"./img/thumbnail.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Announcing Docusaurus 2.0","permalink":"/blog/2022/08/01/announcing-docusaurus-2.0"},"nextItem":{"title":"DocSearch migration","permalink":"/blog/2021/11/21/algolia-docsearch-migration"}},"content":"Docusaurus has made great progress in 2021! We\'ve seen a lot of traction and just crossed **30k stars on GitHub**!\\n\\nWe\'ve **reached full feature parity** with v1 after [the release of internationalization](/blog/2021/03-09-releasing-docusaurus-i18n.mdx), [announced our **first beta**](/blog/2021/05-12-announcing-docusaurus-two-beta/index.mdx), and welcomed **significantly more users** this year.\\n\\nThe **official v2 release** is just around the corner! Follow the [roadmap issue](https://github.com/facebook/docusaurus/issues/6113) for any latest news.\\n\\n![](./img/thumbnail.png)\\n\\n\x3c!--truncate--\x3e\\n\\n## Highlights\\n\\nLet\'s begin by going over a few highlights this year. Remember the [todo-list](/blog/2021/05-12-announcing-docusaurus-two-beta/index.mdx#whats-next) from half a year ago? Time to take it out again and see how far we\'ve come!\\n\\n- **Internationalization**: officially released four months after its initial landing in late 2020. Seen great success in [many projects](/showcase?tags=i18n)\\n- **Autogenerated sidebars**: no need to maintain a big `sidebars.js` anymore\\n- **Webpack 5**: significantly improved build performance\\n- **Trailing slash config**: seamless integration with any content hosting provider\\n- **Redesigned mobile navigation**: mobile users now enjoy all navigation features as on desktop\\n- **UI improvements**: more accessible quotes, better admonitions, back-to-top button...\\n- **Blog multi-authors**: credit all the amazing contributors that collaborated on one blog post!\\n- **More blog features**: archive page, structured data for SEO, full post content in feeds \u2013 empowering you to ship a fully-featured blog in no time\\n- **Asset collocation**: no need for a bloated static folder anymore: colocate your images with Markdown files\\n- **Sidebar category index pages**: category labels can now be associated with pages, enabling better doc organization\\n\\nOur codebase has been polished over time as well. We have improved test coverage, migrated all packages to TypeScript, and reduced our published bundle size by a maximum of 60%!\\n\\n## Trends\\n\\n### npm\\n\\nDocusaurus v2 continues to grow steadily. V2 installation is now 8 times more than v1. In terms of weekly downloads, we have witnessed another three-fold increase (+209.4%), growing from 28,066 in early January to a peak of 86,846 in mid-December.\\n\\n[![Docusaurus v1 vs. v2 npm trends of the year 2021. The installations of Docusaurus v2 is constantly rising, while v1 is almost constant. V1 stays at 10000, while v2 grows from 30000 to almost 90000. There\'s a sharp drop from 90000 to 40000 just before the Jan 2022 line.](./img/npm-trend.png)](https://www.npmtrends.com/docusaurus-vs-@docusaurus/core)\\n\\n(Ah, the classic Christmas dip...)\\n\\nWe released 18 versions, going from `2.0.0-alpha.71` to `2.0.0-beta.14`. That\'s one release every 20 days!\\n\\n### GitHub\\n\\n- **Stars**: 20,460 \u2192 29,679 (+45.1% y/y). And, just before this blog post is published, we have reached 30k stars!\\n- **Total contributors**: 512 \u2192 773 (+51.0% y/y)\\n- **Dependents**: 5,039 \u2192 14,579 (+189.3% y/y) for v2, and 6,311 \u2192 7,581 (+20.1% y/y) for v1\\n- **Commits**: 1,187 commits in the past year, averaging 23 commits every week\\n- **Issues**: 619 issues opened, 505 of them eventually resolved\\n- A [**new core team member**](https://github.com/Josh-Cena) (yep, that\'s me \uD83D\uDE1D)\\n\\nOur star trend is also very positive. Compared to similar projects, we are **growing at a faster rate**:\\n\\n![Stars trend by year of 9 static site generators. Next.js grows the fastest, with Docusaurus at the 4th place in terms of growth rate.](./img/star-history.png)\\n\\nWith an 8.4k increase in stars, we are ranked number 3 in this year\'s [JavaScript rising stars of static site generators](https://risingstars.js.org/2021/en#section-ssg), preceded only by Next.js and Astro.\\n\\n![Docusaurus placing 3rd in the \\"Static Sites\\" ranking list](./img/rising-stars.png)\\n\\n## Featured adoptions\\n\\nOur showcase has welcomed a few new [\\"favorite\\" sites](/showcase?tags=favorite) that showcase the true potential of Docusaurus 2\'s pluggable architecture.\\n\\n- [**IOTA-wiki**](https://wiki.iota.org/)\\n\\n![Iota wiki light mode](./img/iota-light.png#gh-light-mode-only)![Iota wiki dark mode](./img/iota-dark.png#gh-dark-mode-only)\\n\\n- [**Dyte**](https://docs.dyte.io/docs/home/introduction/)\\n\\n![Dyte light mode](./img/dyte-light.png#gh-light-mode-only)![Dyte dark mode](./img/dyte-dark.png#gh-dark-mode-only)\\n\\n- [**Ionic**](https://ionicframework.com/docs)\\n\\n![Ionic light mode](./img/ionic-light.png#gh-light-mode-only)![Ionic dark mode](./img/ionic-dark.png#gh-dark-mode-only)\\n\\n- [**Courier**](https://www.courier.com/docs/)\\n\\n![Courier](./img/courier.png)\\n\\nThe creativity of Docusaurus users is beyond our imagination \uD83E\uDD29 We look forward to more and more adopters leveraging the content features of Docusaurus while exploring original theme designs! If your site uses Docusaurus, we would love to [have it in our showcase](https://github.com/facebook/docusaurus/edit/main/website/src/data/users.tsx).\\n\\n## Community\\n\\nAs an active moderator on [Discord](https://discord.gg/docusaurus), I can clearly see the community thriving. Many frequently asked questions are now integrated into our documentation, and some feature requests have been implemented as well. The project and the community reciprocally benefit each other \u2013 case in point, I was formerly a community contributor before becoming a maintainer.\\n\\nWe are constantly mentioned on X with inspirational feedback:\\n\\n> **@docusaurus** is amazing! cant believe it\'s THAT simple to use.\\n\\n> No extra plugins, tooling or compilation steps. It just works out of the box.\\n\\n> I love **@docusaurus**. I couldn\'t have built the APIs, tutorials, and blogs contained in my site efficiently and beautifully in my workflow without Docusaurus.\\n\\nAnd we keep every one of them in [our little box](https://x.com/sebastienlorber/timelines/1392048416872706049) \uD83D\uDE04 If you enjoy Docusaurus yourself, keep tagging us with your comments!\\n\\nAs we approach the official release, we are interested in knowing more about what people are doing out there: [plugin authors](https://github.com/facebook/docusaurus/discussions/4025), [creators of customized sites](https://github.com/facebook/docusaurus/discussions/5468), and [all new users](https://github.com/facebook/docusaurus/discussions/4610) \u2013 please keep us posted about your achievements so we can steer our development to better serve your needs.\\n\\n## Going forward\\n\\nIn the past few months, we have been constantly speaking about the release-candidate phase of Docusaurus, and yes, it\'s almost there. We have created a dedicated [milestone](https://github.com/facebook/docusaurus/milestone/15) to keep track of all issues to solve before we can confidently progress to the next stage. In short, we want to build a **more robust theming workflow**, empowering creative site creators to customize our default theme without fearing breaking changes as they upgrade. This will include:\\n\\n- Guidelines on **component organization**. We want the theme components to have the right granularity so when you want to customize a part of your site, there\'s always a component doing just what you need.\\n- Improvements to the **swizzle CLI**. We want users to use it with delight and let it aid you through all possible swizzling scenarios.\\n- Refactoring our **theme APIs**. We want all swizzlable components to be actually appropriate for swizzling, so non-UI components will be re-located.\\n- **Docs**. We want our docs to be maximally accessible to everyone \u2013 from first-time coders to experienced web developers. We will organize it as a more progressive tutorial that can be beneficial for every skill level.\\n\\nRead more about plans for Docusaurus 2.0 in this [roadmap issue](https://github.com/facebook/docusaurus/issues/6113). 2.0 will be a greater release with the help from the community, so please share your opinions and suggestions under any of the milestone issues!\\n\\nAs the core team is working hard to ship the general availability release, we plan to release other useful features as minor versions after 2.0. We have even made further plans for [architectural changes in 3.0](https://github.com/facebook/docusaurus/milestone/16)!\\n\\nWith the official release of Docusaurus 2.0, we are confident to see much more new adoptions and migrations from v1.\\n\\nWe\'d like to express our gratitude to [all the contributors in 2021](https://github.com/facebook/docusaurus/graphs/contributors?from=2021-01-01&to=2022-01-01&type=c), including:\\n\\n- The core team: [Alexey Pyltsyn](https://github.com/lex111), [S\xe9bastien Lorber](https://github.com/slorber), [Joshua Chen](https://github.com/Josh-Cena), and [Yangshun Tay](https://github.com/yangshun) for moderating the community, publicizing Docusaurus, triaging issues, and implementing new features\\n- [Joel Marcey](https://github.com/JoelMarcey) for creating Docusaurus and supporting its development all along\\n- The Algolia team for helping Docusaurus users [migrate to the new DocSearch](/blog/2021/11-21-algolia-docsearch-migration/index.mdx) and answering search-related questions\\n- All the active community members for making valuable code contributions, improving our documentation, and answering questions on Discord\\n\\nSo long, 2021, and let\'s greet a great 2022!"},{"id":"/2021/11/21/algolia-docsearch-migration","metadata":{"permalink":"/blog/2021/11/21/algolia-docsearch-migration","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2021/11-21-algolia-docsearch-migration/index.mdx","source":"@site/blog/2021/11-21-algolia-docsearch-migration/index.mdx","title":"DocSearch migration","description":"DocSearch is migrating to a new, more powerful system, which gives users their own Algolia application and new credentials.","date":"2021-11-21T00:00:00.000Z","tags":[{"inline":false,"label":"Search","permalink":"/blog/tags/search"}],"readingTime":2.96,"hasTruncateMarker":true,"authors":[{"name":"Cl\xe9ment Vannicatte","title":"Software Engineer @ Algolia","url":"https://github.com/shortcuts","socials":{"x":"https://x.com/sh0rtcts","github":"https://github.com/shortcuts"},"imageURL":"https://github.com/shortcuts.png","key":"shortcuts","page":null},{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"DocSearch migration","authors":["shortcuts","slorber"],"tags":["search"],"image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2021 Recap","permalink":"/blog/2022/01/24/docusaurus-2021-recap"},"nextItem":{"title":"Announcing Docusaurus 2 Beta","permalink":"/blog/2021/05/12/announcing-docusaurus-two-beta"}},"content":"[DocSearch](https://docsearch.algolia.com/) is migrating to a new, more powerful system, which gives users their own Algolia application and new credentials.\\n\\nDocusaurus site owners should upgrade their configuration with their new credentials **by February 1, 2022**, existing search indexes will be frozen and become read-only after this date.\\n\\n\x3c!--truncate--\x3e\\n\\n## Upgrading your Docusaurus site\\n\\nIn the next few weeks, Docusaurus site owners will receive an email inviting them to join their personal Algolia application.\\n\\nThis email will include a new `appId` and `apiKey` to use in your Docusaurus configuration.\\n\\nThe only things you have to do:\\n\\n- Join the Algolia application (eventually creating a new Algolia account)\\n- Update your site configuration.\\n\\n```js title=\\"docusaurus.config.js\\"\\nconst config = {\\n themeConfig: {\\n algolia: {\\n // highlight-start\\n appId: \'<NEW_APP_ID>\',\\n apiKey: \'<NEW_SEARCH_API_KEY>\',\\n // highlight-end\\n },\\n },\\n};\\n\\nmodule.exports = config;\\n```\\n\\n:::info\\n\\n`appId` is now **required**.\\n\\nThese keys are not secrets and can be added to your Git repository.\\n\\n:::\\n\\n## DocSearch has a new home!\\n\\n### What is DocSearch?\\n\\n[DocSearch](https://docsearch.algolia.com/) is a program created by [Algolia](http://algolia.com/), which offers search to technical documentation of Open Source projects and technical blogs **for free**.\\n\\nYou can [read more here](https://docsearch.algolia.com/docs/what-is-docsearch/), and [apply](https://docsearch.algolia.com/apply) if you\'d like to give it a try!\\n\\n## What is this migration about?\\n\\n### Motivation\\n\\nWith the upcoming stable release of [DocSearch UI](https://docsearch.algolia.com/docs/DocSearch-v3), we wanted to go further and provide better tooling for our users to improve their search, but also leverage the full potential of Algolia.\\n\\n### What\'s new?\\n\\nDocSearch now leverages the [Algolia Crawler](https://www.algolia.com/products/search-and-discovery/crawler/), which includes a web interface that will allow you to:\\n\\n- Start, schedule and monitor your crawls\\n- Edit your config file from a live editor\\n- Test your results with DocSearch v3\\n\\n![The Algolia crawler front page showing the project\'s overview, such as last complete crawl and indices](./img/crawler-overview.png)\\n\\n![The Algolia config editor opened to the docusaurus-2 config. The right pane shows the results for index and various facet filters.](./img/editor.png)\\n\\nBut also, more Algolia features in **your own Algolia app**:\\n\\n- Team management\\n- Browse and see how your records are indexed in Algolia\\n- Try other Algolia features with free trials\\n\\n![The Algolia index overview page, showing various filters and the details of every single index](./img/index-overview.png)\\n\\n![The Algolia index analytics page, showing trends for total users, total searches, etc.](./img/index-analytics.png)\\n\\nAnd of course, **a lot more, for free**.\\n\\n## FAQ\\n\\n### I\'m using Docusaurus and DocSearch, can I migrate? {#im-using-docusaurus-and-docsearch-can-i-migrate}\\n\\nAt the time we are writing this, we are still at an early stage of the migration. We are doing small batches every week but will increase the load shortly, so please be patient and keep an eye out in your mailbox, you\'ll be contacted as soon as your Algolia app is ready!\\n\\n### Where can I read more about this?\\n\\nWe wrote a small [migration guide](https://docsearch.algolia.com/docs/migrating-from-legacy) but you\'ll have more detailed information in the migration email.\\n\\n### I received the migration email but the invite expired\\n\\nPlease contact us via either [email](mailto:docsearch@algolia.com) or [DocSearch\'s Discord](https://discord.gg/bRTacwYrfX) or on [Docusaurus\'s Discord #algolia channel](https://discordapp.com/invite/docusaurus)\\n\\n### I have feedback!\\n\\nFor any feedback regarding our documentation or the DocSearch UI component, you can open an issue [on our GitHub repository](https://github.com/algolia/docsearch/issues), but also contact us via the methods above.\\n\\n### Can I still run my own DocSearch instance?\\n\\nIn favor of the new infrastructure and DocSearch v3, we will no longer maintain our beloved [DocSearch scraper](https://github.com/algolia/docsearch-scraper) and [DocSearch v2](https://github.com/algolia/docsearch/tree/master), but the repositories will still be available and open to pull requests.\\n\\nThe previous documentation (now called `legacy`) remains available as well as our [`run your own`](https://docsearch.algolia.com/docs/legacy/run-your-own) guide."},{"id":"/2021/05/12/announcing-docusaurus-two-beta","metadata":{"permalink":"/blog/2021/05/12/announcing-docusaurus-two-beta","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2021/05-12-announcing-docusaurus-two-beta/index.mdx","source":"@site/blog/2021/05-12-announcing-docusaurus-two-beta/index.mdx","title":"Announcing Docusaurus 2 Beta","description":"After a lengthy alpha stage in order to ensure feature parity and quality, we are excited to officially release the first Docusaurus 2 beta.","date":"2021-05-12T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"},{"inline":false,"label":"Beta","permalink":"/blog/tags/beta"}],"readingTime":3.52,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{},"imageURL":"./img/slorber.png","key":"slorber","image_url":"./img/slorber.png"},{"name":"Joel Marcey","title":"Developer Advocate at Meta","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{"x":"https://x.com/joelmarcey","github":"https://github.com/JoelMarcey"},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"},{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"},{"name":"Alexey Pyltsyn","title":"Open-source enthusiast","url":"https://github.com/lex111","email":"lex@php.net","page":{"permalink":"/blog/authors/lex-111"},"imageURL":"https://github.com/lex111.png","key":"lex111"}],"frontMatter":{"title":"Announcing Docusaurus 2 Beta","authors":[{"key":"slorber","image_url":"./img/slorber.png","imageURL":"./img/slorber.png"},"JMarcey","yangshun","lex111"],"tags":["release","beta"],"image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"DocSearch migration","permalink":"/blog/2021/11/21/algolia-docsearch-migration"},"nextItem":{"title":"Releasing Docusaurus i18n","permalink":"/blog/2021/03/09/releasing-docusaurus-i18n"}},"content":"After a lengthy alpha stage in order to ensure feature parity and quality, we are excited to officially release the first **[Docusaurus 2 beta](https://github.com/facebook/docusaurus/releases/tag/v2.0.0-beta.0)**.\\n\\nWith the announcement of this beta, the team is even more confident that Docusaurus 2 is **ready for mainstream adoption**!\\n\\n![](./img/image_cropped.png)\\n\\n\x3c!--truncate--\x3e\\n\\n## Docusaurus adoption\\n\\n**Don\'t fear the beta tag!**\\n\\nDocusaurus 2 is widely adopted and growing fast:\\n\\n[![Docusaurus v1 vs. v2 npm trends from 2019 to mid 2021. The installations of Docusaurus v2 is sharply rising, while v1 is mostly stable. V1 fluctuates between 10000 and 20000, while v2 starts at 0 and ends at almost 60000. The intersection happens around June 2020.](./img/trend.png)](https://www.npmtrends.com/docusaurus-vs-@docusaurus/core)\\n\\nTo get a fuller understanding of the quality of current Docusaurus 2 sites, our new [showcase](https://docusaurus.io/showcase) page allows you to filter Docusaurus sites by features, so you may get inspired by real-world production sites with a similar use-case as yours!\\n\\nDon\'t miss our [favorite](https://docusaurus.io/showcase?tags=favorite) sites; they all stand out with something unique:\\n\\n[![A screenshot of the showcase\'s favorites section, with 12 cards each displaying the information and preview of one site](./img/favorites.png)](https://docusaurus.io/showcase?tags=favorite)\\n\\n## Why was Docusaurus v2 in alpha for so long?\\n\\nIt\'s hard to believe that the first alpha release [v2.0.0-alpha.0](https://github.com/facebook/docusaurus/releases/tag/v2.0.0-alpha.0) was 2 years ago \uD83D\uDE33 , unusually long for a software alpha.\\n\\nAs this was a substantial re-architecture of the code base, we wanted to ensure that we had confidence in the stability and features of Docusaurus 2 before moving on to a beta stage, since beta suggests a high level of quality. We are happy to say that Docusaurus 2 has reached **feature parity** with Docusaurus 1 with **[i18n](https://docusaurus.io/blog/2021/03/09/releasing-docusaurus-i18n)**, and it has been **successfully adopted** by many Docusaurus sites (see [i18n showcase](https://docusaurus.io/showcase?tags=i18n)).\\n\\nWe\'re now quite confident that the core features of Docusaurus 2 are stable enough to be in beta.\\n\\n## What are the goals of the beta?\\n\\nNow that Docusaurus 2 is stable and major feature complete, the goal of the beta is to inspire confidence in new users on the production-readiness of Docusaurus 2, migrate more remaining Docusaurus 1 users to version 2, and officially deprecate Docusaurus 1. We will, of course, continue to resolve any issues and bugs that may be discovered.\\n\\nIn addition, we will use the beta phase to **improve our theming system**.\\n\\nWe want to make it:\\n\\n- **easier to implement a custom theme**, including for ourselves. We want to provide [multiple official themes](https://github.com/facebook/docusaurus/issues/3522) (including [Tailwind CSS](https://github.com/facebook/docusaurus/issues/2961)) for a long time.\\n\\n- **safer to extend an existing theme**: it can be painful to upgrade a highly customized Docusaurus site, as customizations can conflict with internal changes. We need to make the theme public API surface more explicit, and make it clear what is safe to customize.\\n\\nWe will build a better **theming infrastructure** and refactor the classic theme to use it.\\n\\nIf you customize your site, you may find these planned improvements quite valuable.\\n\\n## What\'s new?\\n\\nIn case you missed it, we recently shipped two major improvements:\\n\\n- [Auto-generated sidebars](https://docusaurus.io/docs/sidebar#sidebar-item-autogenerated): no need to maintain a `sidebars.js` file anymore!\\n- [Webpack 5 / PostCSS 8](https://github.com/facebook/docusaurus/issues/4027): persistent caching significantly speeds up **rebuild time**!\\n\\n## What\'s next?\\n\\nShipping the official 2.0 release!\\n\\nTo get there, we will continue to **fix bugs** and implement the **most wanted features**, including:\\n\\n- [Sidebar category index pages](https://github.com/facebook/docusaurus/issues/2643)\\n- [Better mobile navigation UX](https://github.com/facebook/docusaurus/issues/2220)\\n- [Better admonition design](https://github.com/facebookincubator/infima/issues/55)\\n- [CSS-in-JS support](https://github.com/facebook/docusaurus/issues/3236)\\n- [Improve build time performance](https://github.com/facebook/docusaurus/issues/4765)\\n- [Extend Docusaurus plugins, CMS integration](https://github.com/facebook/docusaurus/issues/4138)\\n- [Fix trailing slashes and relative link issues](https://github.com/facebook/docusaurus/issues/3372)\\n- [Better compatibility with CommonMark](https://github.com/facebook/docusaurus/issues/3018)\\n- [Upgrade to MDX 2.0](https://github.com/facebook/docusaurus/issues/4029)\\n\\n## Conclusion\\n\\nThis is an exciting time for Docusaurus.\\n\\nWe are inspired by the [positive feedback](https://x.com/sebastienlorber/timelines/1392048416872706049) about Docusaurus, and discover new sites online every single day.\\n\\nWe are so excited for this beta release. We strove for quality and stability while continuing to try to increase the adoption of Docusaurus. For those that have been on the fence from migrating an existing Docusaurus site to Docusaurus 2, it is a great time to upgrade. We want you running on the latest infrastructure when we deprecate Docusaurus 1 at the end of this beta period. Let us know how we can help.\\n\\nThank you to everyone for reading and to the entire community who supports Docusaurus. \uD83E\uDD17"},{"id":"/2021/03/09/releasing-docusaurus-i18n","metadata":{"permalink":"/blog/2021/03/09/releasing-docusaurus-i18n","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2021/03-09-releasing-docusaurus-i18n.mdx","source":"@site/blog/2021/03-09-releasing-docusaurus-i18n.mdx","title":"Releasing Docusaurus i18n","description":"Today, we officially release Docusaurus 2 i18n (internationalization), as part of 2.0.0-alpha.71.","date":"2021-03-09T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"},{"inline":false,"label":"I18n","permalink":"/blog/tags/i-18-n"}],"readingTime":3.445,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Releasing Docusaurus i18n","authors":["slorber"],"tags":["release","i18n"],"image":"/img/blog/2021-03-09-releasing-docusaurus-i18n/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Announcing Docusaurus 2 Beta","permalink":"/blog/2021/05/12/announcing-docusaurus-two-beta"},"nextItem":{"title":"Docusaurus 2020 Recap","permalink":"/blog/2021/01/19/docusaurus-2020-recap"}},"content":"Today, we officially release **[Docusaurus 2 i18n](https://docusaurus.io/docs/i18n/introduction)** ([internationalization](https://en.wikipedia.org/wiki/Internationalization_and_localization)), as part of [2.0.0-alpha.71](https://github.com/facebook/docusaurus/releases/tag/v2.0.0-alpha.71).\\n\\nDocusaurus 2 has now reached **full feature parity with Docusaurus 1**. \uD83C\uDF89 And soon, after a few additional infrastructure updates and a bit more testing, the **first Docusaurus 2 beta** will be released.\\n\\n**We went the extra mile**, and the new i18n support is **even better than in Docusaurus 1**.\\n\\nIn this post, we will present you the **translation workflow**, explain some **design decisions** and **showcase early adopter sites** that just went live: [Jest](https://jestjs.io/), [Redwood](https://learn.redwoodjs.com/), and [Datagit](https://datagit.ir/).\\n\\nWe also **dogfood** the i18n support on the **Docusaurus 2 site itself**, and this post is already available in [English](https://docusaurus.io/blog/2021/03/09/releasing-docusaurus-i18n) and [French](https://docusaurus.io/fr/blog/2021/03/09/releasing-docusaurus-i18n)!\\n\\n\x3c!--truncate--\x3e\\n\\n## Translate your site\\n\\nYou can translate a Docusaurus site in **3 simple steps**:\\n\\n1. **Configure**: declare the default locale and alternative locales in `docusaurus.config.js`\\n1. **Translate**: put the translation files at the [correct filesystem location](https://docusaurus.io/docs/next/i18n/introduction#translation-files-location)\\n1. **Deploy**: build and deploy your site using a single or multi-domain strategy\\n\\nThe i18n support is **very flexible** and based on the **filesystem**.\\n\\nThe **[i18n tutorial](https://docusaurus.io/docs/i18n/tutorial)** is the best way to get started, and we provide help to use **[Git](https://docusaurus.io/docs/i18n/git)** or **[Crowdin](https://docusaurus.io/docs/i18n/crowdin)**.\\n\\n## Design decisions\\n\\nThe goals of the Docusaurus i18n system are:\\n\\n- **Simple**: just put the translated files in the [correct filesystem location](https://docusaurus.io/docs/next/i18n/introduction#translation-files-location)\\n- **Flexible translation workflows**: use Git (monorepo, forks, or submodules), SaaS software, FTP\\n- **Flexible deployment options**: single, multiple domains, or hybrid\\n- **Modular**: allow plugin authors to provide i18n support\\n- **Low-overhead runtime**: documentation is mostly static and does not require a heavy JS library or polyfills\\n- **Scalable build-times**: allow building and deploying localized sites independently\\n- **Localize assets**: an image of your site might contain text that should be translated\\n- **No coupling**: not forced to use any SaaS, yet integrations are possible\\n- **Easy to use with [Crowdin](https://crowdin.com/)**: multiple Docusaurus 1 sites use Crowdin, and should be able to migrate to v2\\n- **Good SEO defaults**: we set useful SEO headers like [`hreflang`](https://developers.google.com/search/docs/advanced/crawling/localized-versions) for you\\n- **RTL support**: locales reading right-to-left (Arabic, Hebrew, etc.) are supported and easy to implement\\n- **Default translations**: classic theme labels are translated for you in [many languages](https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-translations/locales)\\n\\n## Showcase\\n\\nWe worked with a few volunteers to **dogfood the i18n support** before releasing it.\\n\\n### Jest: upgrading Docusaurus\\n\\nWe have made it possible to **upgrade** a **translated Docusaurus 1 site** to Docusaurus 2.\\n\\n**[Jest](https://jestjs.io)**, using Docusaurus 1 and Crowdin was one of those sites.\\n\\nThe Docusaurus 2 migration was successful and the new site is now deployed in production ([announcement post](https://jestjs.io/blog/2021/03/09/jest-website-upgrade)).\\n\\n[![Jest\'s website front page in Japanese](/img/blog/2021-03-09-releasing-docusaurus-i18n/jest.png)](https://jestjs.io)\\n\\n### Redwood: adopting Docusaurus\\n\\n[Redwood](https://redwoodjs.com/) is a React full-stack Jamstack framework.\\n\\nThey were looking for a solution to create an **internationalized learning platform**, and became early adopters of Docusaurus 2 i18n for [learn.redwoodjs.com](https://learn.redwoodjs.com/), using Crowdin to get it translated to French.\\n\\n[![Redwood\'s doc page in French](/img/blog/2021-03-09-releasing-docusaurus-i18n/redwood.png)](https://learn.redwoodjs.com/)\\n\\n### Datagit: using LTR support\\n\\nThe i18n system should work with any language, including **Right-to-Left languages**.\\n\\n[Datagit.ir](https://datagit.ir/) is using Farsi, and a simple configuration option is able to **flip the Docusaurus theme** to add the required Right-to-Left support.\\n\\n[![Datagit\'s website in Persian, a right-to-left language. The sidebar appears on the right of the window and the TOC appears on the left.](/img/blog/2021-03-09-releasing-docusaurus-i18n/datagit.png)](https://datagit.ir/)\\n\\n## Conclusion\\n\\nWe sincerely hope you will adopt and like the new i18n support.\\n\\nThis feature has not been an easy one, and we would like to thank everyone that got involved in this journey:\\n\\n- [Alexey](https://github.com/lex111) for his help to make the i18n support exhaustive and even better than v1\\n- [Simen](https://github.com/SimenB) for volunteering and supporting the Jest migration\\n- [Claire](https://github.com/clairefro) for adopting Docusaurus 2 on the new Redwood platform and providing many feedbacks\\n- [Massoud](https://github.com/massoudmaboudi) for reviewing my work on LTR and adopting it on Datagit\\n- [Crowdin](https://crowdin.com/) for their support and willingness to improve their translation SaaS\\n- The Docusaurus community for their patience, and providing many useful feedbacks on GitHub\\n\\nThanks for reading.\\n\\n\uD83D\uDE4F And please, add your brand new i18n sites to our [showcase page](https://docusaurus.io/showcase). We accept any all polished Docusaurus site here, and we are working on a [redesign](https://github.com/facebook/docusaurus/issues/4238) allowing you to filter sites by features."},{"id":"/2021/01/19/docusaurus-2020-recap","metadata":{"permalink":"/blog/2021/01/19/docusaurus-2020-recap","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2021/01-19-docusaurus-2020-recap.mdx","source":"@site/blog/2021/01-19-docusaurus-2020-recap.mdx","title":"Docusaurus 2020 Recap","description":"2020 was great for Docusaurus, despite a regrettable start and a tumultuous year for everyone.","date":"2021-01-19T00:00:00.000Z","tags":[{"inline":false,"label":"Recap","permalink":"/blog/tags/recap","description":"Blog posts about Docusaurus\' year recaps"}],"readingTime":5.04,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2020 Recap","authors":["slorber"],"tags":["recap"],"image":"/img/docusaurus-2020-recap.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Releasing Docusaurus i18n","permalink":"/blog/2021/03/09/releasing-docusaurus-i18n"},"nextItem":{"title":"Tribute to Endi","permalink":"/blog/2020/01/07/tribute-to-endi"}},"content":"**2020 was great for Docusaurus**, despite [a regrettable start](https://docusaurus.io/blog/2020/01/07/tribute-to-endi) and a tumultuous year for everyone.\\n\\nWe continued to invest in [Docusaurus 2](https://docusaurus.io/), and made it reach **full feature parity** with [Docusaurus 1](https://v1.docusaurus.io/).\\n\\nWe now **recommend Docusaurus 2** as the **default choice** to start a new Docusaurus project and encourage v1 users to [migrate to Docusaurus 2](https://docusaurus.io/docs/migration).\\n\\nWe are **still in alpha**, but expect **some good news very soon**!\\n\\n![Three Docusaurus plushies laid side-by-side on the table](/img/blog/2020-recap/docusaurus-plushie-banner.jpeg)\\n\\n\x3c!--truncate--\x3e\\n\\n## Docusaurus 2 highlights\\n\\nWe have worked on many features this year, and would like to highlight the most significant ones:\\n\\n- **i18n**: easily translate your Docusaurus site, released soon! ([preview](https://github.com/facebook/docusaurus/pull/3325), [doc](https://docusaurus.io/docs/next/i18n/introduction))\\n- **Version dropdown**: enable contextual version switch\\n- **Versioning options**: solving the most common pain-points users had with versioning\\n- **Contextual search**: search in the current version, use the brand-new DocSearch 3 experience\\n- **Markdown pages**: use Markdown instead of React components to create standalone pages\\n- **Better theme**: various UI, UX and accessibility improvements\\n- **PWA**: add offline support to your site, and make it installable\\n- **Fail-fast**: strict config validation, detect broken links, and prevent bad production deployments\\n- **Multi-instance**: use the docs plugin twice on a single site (e.g. iOS/Android SDK docs)\\n- **Migration CLI**: automate the upgrade from Docusaurus 1\\n- **CodeSandbox**: assess Docusaurus easily from your browser with [new.docusaurus.io](https://new.docusaurus.io/)\\n- **Canary releases**: use the `@canary` npm tag to use the upcoming release before anyone else\\n- **TypeScript**: progressive adoption for internal code, and improve usage for users\\n- **Publish Infima**: it is now [open-source](https://github.com/facebookincubator/infima)\\n\\n## Docusaurus 2 growth\\n\\nThe plan to [rebuild Docusaurus from scratch in 2019](https://docusaurus.io/blog/2019/12/30/docusaurus-2019-recap) paid off: after a slow start, Docusaurus 2 has been widely adopted and has **already outgrown Docusaurus 1** usage.\\n\\n![Docusaurus v1 vs. v2 npm trends of the year 2020. The installations of Docusaurus v2 is visibly up-growing, while v1 is slightly downward. V1 starts at 15000 and ends at 10000, while v2 starts at 2000 and ends at 25000. The intersection happens around June 2020.](/img/blog/2020-recap/docusaurus-npm-trends.png)\\n\\nNotable **projects, startups, large companies, and individuals** adopted Docusaurus 2 ([showcase](https://docusaurus.io/showcase)):\\n\\n- [Supabase](https://supabase.io)\\n- [React Navigation](https://reactnavigation.org)\\n- [React Redux](https://react-redux.js.org/)\\n- [Vector](https://vector.dev)\\n- [Algolia DocSearch](https://docsearch.algolia.com)\\n- [SAP Cloud SDK](https://sap.github.io/cloud-sdk)\\n- [Palo Alto Cortex XSOAR](https://xsoar.pan.dev)\\n- [Qudd\xfas George\'s website](https://portfoliosaurus.now.sh)\\n\\nWe helped **large scale Docusaurus 1 sites to upgrade**, ensuring a proper **migration path** and **feature parity**.\\n\\n[React Native](https://reactnative.dev/) was successfully upgraded to Docusaurus 2 ([archived v1 site](http://archive.reactnative.dev/)):\\n\\n![React Native\'s new website built with Docusaurus v2](/img/blog/2020-recap/react-native-screenshot.png)\\n\\nLocalized Docusaurus 1 sites (like **Jest**) will be able to upgrade too:\\n\\n![Jest\'s new website built with Docusaurus v2 in Japanese](/img/blog/2020-recap/jest-screenshot.png)\\n\\nWe also saw the **[first right-to-left](https://datagit.ir/)** Docusaurus 2 site published:\\n\\n![Datagit\'s website in Persian, a right-to-left language. The sidebar appears on the right of the window and the TOC appears on the left.](/img/blog/2020-recap/datagit-rtl-screenshot.png)\\n\\n## GitHub Activity\\n\\n- **Stars**: 14632 \u2192 20946 (+43.2% y/y)\\n- **Total Contributors**: 303 \u2192 512 (+68.9% y/y). Most of which are non-Facebook contributors\\n- **Weekly npm Downloads**: 2356 \u2192 25592 (+986% y/y)\\n- **On GitHub**, Docusaurus 1 is used by 6311 projects (+62.9% y/y) while Docusaurus 2 is used by 5039 projects (+1940% y/y)\\n\\n## Collaboration with Major League Hacking\\n\\nWe have welcomed [Major League Hacking](https://mlh.io/) (MLH) fellows for 2 seasons already.\\n\\nWe are very thankful for the **various contributions** they made, such as:\\n\\n- Writing the foundations of the v1 to v2 migration CLI\\n- Help migrate the React Native website from v1 to v2\\n- Making the config validation more strict and exhaustive, returning helpful error messages\\n- Adding CodeSandbox support\\n- Improving the CI pipelines: build size and Lighthouse bots\\n\\nWe look forward to continuing this collaboration in 2021.\\n\\n## Media\\n\\nDmitry Vinnik (Developer Advocate @ Facebook) explains Docusaurus in [60 seconds](https://www.youtube.com/watch?v=_An9EsKPhp0) or [15min](https://www.youtube.com/watch?v=Yhyx7otSksg) videos.\\n\\nRachel Nabors (Documentation Engineer @ Facebook) talked a bit about Docusaurus in [React Native Radio 178 (podcast)](https://reactnativeradio.com/episodes/178-documenting-react-native-with-rachel-nabors-gWxwySPl), and William Candillon the [React Native website migration (video)](https://www.youtube.com/watch?v=-zhjq2ECKq4).\\n\\nMany blog posts have been published:\\n\\n- [To the Makers of Docusaurus](https://portfoliosaurus.now.sh/blog/toTheMakers) by Quddus George\\n- [Richer API documentation with Redoc and Docusaurus](https://davidgoss.co/blog/api-documentation-redoc-docusaurus/) by David Goss\\n- [How to Build a Plugin for Docusaurus v2](https://aknapen.nl/blog/how-to-build-a-plugin-for-docusaurus-v2/) by Adriaan Knapen\\n- [React Tracked Documentation Website with Docusaurus v2](https://blog.axlight.com/posts/react-tracked-documentation-website-with-docusaurus-v2/) by Daishi Kato\\n- [Easy documentation with Docusaurus](https://blog.logrocket.com/easy-documentation-with-docusaurus/) by Anshul Goyal (MLH fellow)\\n- [Build Beautiful Documentation Websites with Docusaurus](https://lo-victoria.com/build-beautiful-documentation-websites-with-docusaurus) by Victoria Lo\\n\\n## Community\\n\\nThe Docusaurus community continues to grow, the [Discord](https://discord.gg/docusaurus) server is quite active, and [Stack Overflow questions](https://stackoverflow.com/questions/tagged/docusaurus) keep being posted.\\n\\nThe **modular architecture** of Docusaurus 2 allowed the community to build and publish [third-party plugins](https://docusaurus.io/community/resources#community-plugins-). As we would like to federate better our community, if you are building a plugin, please [let us know](https://github.com/facebook/docusaurus/discussions/4025).\\n\\n## What\'s next?\\n\\nAs the **core features of Docusaurus 2** have finally been built, we will be able to dedicate more time to solve the pain points and bugs reported by the community, and make Docusaurus stable and convenient enough to enter the **beta and release-candidate phase**.\\n\\nWith proper support for **i18n and versioning**, and **large scale migrations** such as **React Native** and **Jest**, we now have a clear migration path for all Docusaurus 1 sites.\\n\\nWe still have a few **major features** that we would like to work on:\\n\\n- [Create a theme gallery](https://github.com/facebook/docusaurus/issues/3522), make it easy to switch from one another, and include **first-class Tailwind support**\\n- [Upgrade to Webpack 5](https://github.com/facebook/docusaurus/issues/4027), improve performances and build times\\n- [Better compatibility with CommonMark](https://github.com/facebook/docusaurus/issues/3018), as MDX and makes it harder for CommonMark-based sites to adopt Docusaurus\\n- [Upgrade to MDX 2.0](https://github.com/facebook/docusaurus/issues/4029)\\n- Other tasks that we might discover during 2021\\n\\nHuge thanks to the community for [their contributions in 2020](https://github.com/facebook/docusaurus/graphs/contributors?from=2020-01-01&to=2021-01-01&type=c), especially:\\n\\n- [Joel Marcey](https://github.com/JoelMarcey) for creating Docusaurus and supporting the project all this time\\n- the core team - [Alexey Pyltsyn](https://github.com/lex111), [S\xe9bastien Lorber](https://sebastienlorber.com), [Yangshun Tay](https://x.com/yangshunz)\\n- the Major League Hacking and Facebook interns for their significant impact\\n- the Algolia team for DocSearch 3 and their support\\n- [Bartosz Kaszubowski](https://github.com/Simek) for his investment in the React Native migration\\n- the whole community for their contributions, and providing support to each other\\n\\nCheers to a great 2021! \uD83C\uDF89"},{"id":"/2020/01/07/tribute-to-endi","metadata":{"permalink":"/blog/2020/01/07/tribute-to-endi","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2020/01-07-tribute-to-endi.mdx","source":"@site/blog/2020/01-07-tribute-to-endi.mdx","title":"Tribute to Endi","description":"It is with great sadness to announce that our primary external Docusaurus contributor, Endilie Yacop Sucipto (Endi to those who knew him), passed away over the weekend after an illness associated with his bout with cancer.","date":"2020-01-07T00:00:00.000Z","tags":[{"inline":false,"label":"Endi","permalink":"/blog/tags/endi"},{"inline":false,"label":"Tribute","permalink":"/blog/tags/tribute"}],"readingTime":0.895,"hasTruncateMarker":true,"authors":[{"name":"Joel Marcey","title":"Developer Advocate at Meta","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{"x":"https://x.com/joelmarcey","github":"https://github.com/JoelMarcey"},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Tribute to Endi","authors":"JMarcey","tags":["endi","tribute"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2020 Recap","permalink":"/blog/2021/01/19/docusaurus-2020-recap"},"nextItem":{"title":"Docusaurus 2019 Recap","permalink":"/blog/2019/12/30/docusaurus-2019-recap"}},"content":"It is with great sadness to announce that our primary external Docusaurus contributor, [Endilie Yacop Sucipto](https://github.com/endiliey) (Endi to those who knew him), [passed away](https://give.asia/campaign/help_endi_beat_cancer#/updates) over the weekend after an illness associated with his bout with cancer.\\n\\n\x3c!--truncate--\x3e\\n\\nIt is impossible to overstate Endi\'s impact on this project:\\n\\n- Docusaurus\' top contributor, [by far](https://github.com/facebook/docusaurus/graphs/contributors).\\n- [Lead developer](https://docusaurus.io/blog/2018/09/11/Towards-Docusaurus-2) on the nearly complete [version 2 of Docusaurus](https://docusaurus.io/blog/2019/12/30/docusaurus-2019-recap).\\n- Overall passionate advocate of the project on [X](https://x.com/endiliey), [Discord](https://discord.gg/docusaurus) and other social media\\n\\nThinking about it now, it is absolutely amazing how much Endi accomplished on Docusaurus given what he was battling with his health.\\n\\nWe are working on ways to honor Endi\'s contributions - a commemorative sticker, possibly - and we are open to ideas. Leave a comment here or [tweet](https://x.com/docusaurus) if you have a suggestion.\\n\\nThe Docusaurus project will not be the same without Endi, and those of us who worked with him will miss him greatly. \uD83D\uDE14\\n\\n![A photo from behind Endi\'s back, with Endi sitting on a rock cliff, facing the vast sea. His right hand forms a V pose.](/img/endi.jpg)"},{"id":"/2019/12/30/docusaurus-2019-recap","metadata":{"permalink":"/blog/2019/12/30/docusaurus-2019-recap","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2019/12-30-docusaurus-2019-recap.mdx","source":"@site/blog/2019/12-30-docusaurus-2019-recap.mdx","title":"Docusaurus 2019 Recap","description":"2019 was a great year for Docusaurus - we\'ve made tremendous progress on Docusaurus 2. Current Docusaurus 1 users who aren\'t using the translations feature can feel free to check it out and migrate to it! Otherwise we will work with you to make that happen in 2020 :)","date":"2019-12-30T00:00:00.000Z","tags":[{"inline":false,"label":"Recap","permalink":"/blog/tags/recap","description":"Blog posts about Docusaurus\' year recaps"}],"readingTime":2.72,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"title":"Docusaurus 2019 Recap","authors":"yangshun","tags":["recap"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Tribute to Endi","permalink":"/blog/2020/01/07/tribute-to-endi"},"nextItem":{"title":"Happy 1st Birthday Slash!","permalink":"/blog/2018/12/14/Happy-First-Birthday-Slash"}},"content":"2019 was a great year for Docusaurus - we\'ve made tremendous progress on [Docusaurus 2](https://docusaurus.io/). Current Docusaurus 1 users who aren\'t using the translations feature can feel free to check it out and [migrate](https://docusaurus.io/docs/migration) to it! Otherwise we will work with you to make that happen in 2020 :)\\n\\n\x3c!--truncate--\x3e\\n\\n## Docusaurus 2 (D2)\\n\\nIn 2018, we proposed to rebuild [Docusaurus from the ground up](https://github.com/facebook/docusaurus/issues/789). It involved a major rearchitecture effort - we created a content-centric CSS framework from scratch, a plugins system, and moved from static HTML pages to be a single page-app with prerendered routes. It was a wild adventure and a tough feat, especially with no dedicated FTE working on the project. With the help of [@endilie](https://github.com/endiliey), our ex-intern-turned-contributor-turned-maintainer, we made really good progress on D2 and are currently on version 2.0.0-alpha.40. All features in Docusaurus 1 except for translations have been ported over.\\n\\nD2\'s killer features are **Dark Mode** and its **superb performance**. D2 has dark mode support out-of-the-box and it is near effortless to create a dark mode-friendly documentation site. Endilie put in great effort into optimizing the performance of the site and a bunch of performance optimization tricks have been done under the hood by default - optimized images, prerendering every route to static HTML and client-side routing thereafter, prefetching assets needed by future navigations whenever the user hovers over a navigation link, etc.\\n\\nLast but not least, we implemented a plugins architecture and turned the repo into a [Lerna monorepo](https://github.com/facebook/docusaurus/tree/main/packages). We believe this plugin architecture will be helpful towards building a community and also allowing users to build their own features for their unique use cases.\\n\\n## GitHub Activity\\n\\n- Stars: 10050 \u2192 14632 (+45.6% y/y)\\n- Total Contributors: 182 \u2192 303 (+66.4% y/y). Most of which are non-Facebook contributors\\n- Daily npm Downloads: 728 \u2192 2320 (+218.7% y/y). The peak was in November\\n- D1 is currently used by 3872 projects on GitHub while D2 is used by 247 projects on GitHub\\n- We now have 4 active core contributors! (+100% y/y)\\n\\n## Notable Users\\n\\nA good portion of the projects within the Open Source community use Docusaurus. This half we also onboarded more notable projects onto Docusaurus 2:\\n\\n- [Create React App](https://create-react-app.dev/)\\n- [Redux](https://redux.js.org/)\\n- [Draft.js](https://draftjs.org/)\\n- [Flux](http://facebook.github.io/flux/)\\n\\nAnd welcomed more projects to Docusaurus 1:\\n\\n- [Libra](https://developers.libra.org/)\\n- [MobX](https://mobx.js.org/)\\n- [Immer](https://immerjs.github.io/immer/)\\n- [Sorbet](https://sorbet.org/)\\n\\n## Media\\n\\nYangshun gave a classroom session during F8 about [Using Docusaurus to Create Open Source Websites](https://www.youtube.com/watch?v=QcGJsf6mgZE).\\n\\n## Community\\n\\nA few third-party hosting/development services also has first-class integration with a Docusaurus setup:\\n\\n- [Vercel deployment](https://github.com/vercel/vercel/tree/main/examples/docusaurus)\\n- [CodeSandbox](https://codesandbox.io/s/docusaurus-template-x3vg9)\\n- [Render](https://render.com/docs/deploy-docusaurus)\\n\\n## Looking Ahead\\n\\nD2 has gained some traction among the [developer community](https://docusaurus.io/showcase). In 2020, we want to achieve full feature parity with D1 by the first half and help the remaining Facebook projects on D1 move to D2. It would also be great if we could use Docusaurus for internal documentation, but that is a non-trivial undertaking. If you have a need for it or have some ideas, come speak with us!\\n\\nHuge thanks to the community for their contributions, especially the core team - [Endilie Yacop Sucipto](https://github.com/endiliey), [Alexey Pyltsyn](https://github.com/lex111), [Wei Gao](https://github.com/wgao19). Lastly, thank you [Joel Marcey](https://github.com/JoelMarcey) for starting Docusaurus and supporting the project all this time.\\n\\nCheers to a great 2020! \uD83C\uDF89"},{"id":"/2018/12/14/Happy-First-Birthday-Slash","metadata":{"permalink":"/blog/2018/12/14/Happy-First-Birthday-Slash","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2018/12-14-Happy-First-Birthday-Slash.mdx","source":"@site/blog/2018/12-14-Happy-First-Birthday-Slash.mdx","title":"Happy 1st Birthday Slash!","description":"Docusaurus makes 1 year! Happy Birthday Slash!","date":"2018-12-14T00:00:00.000Z","tags":[{"inline":false,"label":"Birth","permalink":"/blog/tags/birth"}],"readingTime":0.615,"hasTruncateMarker":true,"authors":[{"name":"Joel Marcey","title":"Co-creator of Docusaurus","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Happy 1st Birthday Slash!","authors":[{"key":"JMarcey","title":"Co-creator of Docusaurus"}],"tags":["birth"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2019 Recap","permalink":"/blog/2019/12/30/docusaurus-2019-recap"},"nextItem":{"title":"Towards Docusaurus 2","permalink":"/blog/2018/09/11/Towards-Docusaurus-2"}},"content":"![Docusaurus makes 1 year! Happy Birthday Slash!](/img/docusaurus-slash-first-birthday.svg)\\n\\nDocusaurus [went live](https://v1.docusaurus.io/blog/2017/12/14/introducing-docusaurus) on December 14, 2017. At the time, we had [8 early adopters](https://v1.docusaurus.io/blog/2017/12/14/introducing-docusaurus#acknowledgements).\\n\\n\x3c!--truncate--\x3e\\n\\nWe now have nearly [60 known users of Docusaurus](https://v1.docusaurus.io/en/users), and probably more that we don\'t know about. We have [9K GitHub stars](https://github.com/facebook/docusaurus) and an active community, particularly [Yangshun Tay](https://x.com/yangshunz) and [Endilie Yacop Sucipto](https://x.com/endiliey), both of whom are the lead maintainers helping keep this project [moving forward](https://docusaurus.io/blog/2018/09/11/Towards-Docusaurus-2).\\n\\nThank you to everyone for your support and use of this project! I am super proud of how far this project has come in just a year.\\n\\n> Special thanks to [Eric Nakagawa](https://x.com/ericnakagawa), creator of Slash, for creating this 1-year image of Slash enjoying cake. The Slash brand has been a boon for us!"},{"id":"/2018/09/11/Towards-Docusaurus-2","metadata":{"permalink":"/blog/2018/09/11/Towards-Docusaurus-2","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2018/09-11-Towards-Docusaurus-2.mdx","source":"@site/blog/2018/09-11-Towards-Docusaurus-2.mdx","title":"Towards Docusaurus 2","description":"Docusaurus was officially announced over nine months ago as a way to easily build open source documentation websites. Since then, it has amassed over 8,600 GitHub Stars, and is used by many popular open source projects such as React Native, Babel, Jest, Reason and Prettier.","date":"2018-09-11T00:00:00.000Z","tags":[{"inline":false,"label":"New","permalink":"/blog/tags/new"},{"inline":false,"label":"Adoption","permalink":"/blog/tags/adoption"}],"readingTime":9.25,"hasTruncateMarker":true,"authors":[{"name":"Endilie Yacop Sucipto","title":"Maintainer of Docusaurus","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null}],"frontMatter":{"title":"Towards Docusaurus 2","authors":"endiliey","tags":["new","adoption"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Happy 1st Birthday Slash!","permalink":"/blog/2018/12/14/Happy-First-Birthday-Slash"},"nextItem":{"title":"How I Converted Profilo to Docusaurus in Under 2 Hours","permalink":"/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"}},"content":"Docusaurus was [officially announced](https://v1.docusaurus.io/blog/2017/12/14/introducing-docusaurus) over nine months ago as a way to easily build open source documentation websites. Since then, it has amassed over 8,600 GitHub Stars, and is used by many popular open source projects such as [React Native](https://facebook.github.io/react-native/), [Babel](https://babeljs.io/), [Jest](https://jestjs.io/), [Reason](https://reasonml.github.io/) and [Prettier](https://prettier.io/).\\n\\nThere is a saying that the very best software is constantly evolving, and the very worst is not. In case you are not aware, we have been planning and working on the next version of Docusaurus \uD83C\uDF89.\\n\\n\x3c!--truncate--\x3e\\n\\n## Introduction\\n\\nIt all started with this [RFC issue](https://github.com/facebook/docusaurus/issues/789) opened by [Yangshun](https://github.com/yangshun) towards the end of June 2018.\\n\\n<blockquote>\\n <h4>\\n <a href=\\"https://github.com/facebook/docusaurus/issues/789\\">\\n {\'[RFC] Docusaurus v2 \xb7 Issue #789 \xb7 facebook/docusaurus\'}\\n </a>\\n </h4>\\n These are some of the problems I\'m seeing in Docusaurus now and also how we can\\n address them in v2. A number of the ideas here were inspired by VuePress and other\\n static site generators. In the current static site generators ecosystem, t...\\n</blockquote>\\n\\nMost of the suggested improvements are mentioned in the issue; I will provide details on some of issues in Docusaurus 1 and how we are going to address them in Docusaurus 2.\\n\\n## Infrastructure\\n\\n### Content\\n\\nA Docusaurus 1 website is, in fact, built into a bunch of static HTML pages. Despite using React, we were not fully utilizing the features React offered, such as component state, which allows for dynamic and interactive pages. React was only used as a templating engine for static content and interactivity has to be added through script tags and `dangerouslySetInnerHTML` \uD83D\uDE31.\\n\\nIn addition, there is not an easy way to change how Docusaurus loads content. For example, adding CSS preprocessors such as Sass and Less was not supported natively and involved many user hacks of adding custom scripts.\\n\\nFor Docusaurus 2, we will be using [webpack](https://webpack.js.org/) as a module bundler and we are changing the way we serve content. Adding CSS preprocessors will be as easy as adding a webpack loader. Instead of a pure static HTML, **during build time we will create a server-rendered version of the app** and render the corresponding HTML. A Docusaurus site will be essentially an isomorphic/universal application. This approach is heavily inspired by [Gatsby](https://github.com/gatsbyjs/gatsby).\\n\\n### Versioning\\n\\nIf you have been using Docusaurus for a while, you might notice that Docusaurus creates versioned docs **if and only if** the docs content are **different**.\\n\\nFor example, if we have `docs/hello.md`:\\n\\n```text\\n---\\nid: hello\\ntitle: hello\\n---\\nHello world !\\n```\\n\\nAnd **we cut version 1.0.0,** Docusaurus will create `versioned_docs/version-1.0.0/hello.md`:\\n\\n```text\\n---\\nid: version-1.0.0-hello\\ntitle: hello\\noriginal_id: hello\\n---\\nHello world !\\n```\\n\\nHowever, if there are no changes to `hello.md` when cutting v2.0.0, Docusaurus will not create any versioned docs for that document. In other words, `versioned_docs/version-2.0.0/hello.md` will not exist.\\n\\nThis can be very confusing for users; if they want to edit the v2.0.0 docs, they have to edit `versioned_docs/version-1.0.0/hello.md` or manually add `versioned_docs/version-2.0.0/hello.md`. This could potentially lead to unwanted bugs. Here is a [real scenario in Jest](https://github.com/facebook/jest/pull/6758#issuecomment-408274413).\\n\\nIn addition, this adds complexity within the codebase as we require a mechanism for version fallbacks. And during build time, Docusaurus has to replace the linking to the correct version. This is also the cause of a bug where [renaming docs breaks links in old versions](https://github.com/facebook/docusaurus/issues/845).\\n\\nFor Docusaurus 2, **every time we cut a new version, we will instead take a snapshot of all the docs**. We will not require the content of a document to have changed. This is a space complexity trade-off for a better developer and user experience. We will use more space for better separation of concerns and guaranteed correctness.\\n\\n### Translation\\n\\nDocusaurus allows for easy translation functionality by using [Crowdin](https://crowdin.com/). Documentation files written in English are uploaded to Crowdin for translation by users within a community. We always assumed that **English** is the default language, but this might not be the case for all users. We have seen plenty of non-English open source projects using Docusaurus.\\n\\nFor Docusaurus 2, **we will not assume English is the default language**. When a user enables internationalization, they have to set a default language in `siteConfig.js`. We will then assume that all the files in `docs` are written in that language.\\n\\nIn addition, after working on the MVP of Docusaurus 2, I realized that it is possible not to use Crowdin for translations. Thus, we might need to add an additional workflow to enable that scenario. However, we will still strongly recommend people use Crowdin for easier integration.\\n\\n## Customizability\\n\\n### Layout\\n\\nThe current state of Docusaurus is that it is in charge of the entire layout and styling, unintentionally making it very hard for users to customize their site\'s appearance to their wishes.\\n\\nFor Docusaurus 2, **layout and styling should be controlled by the user**. Docusaurus will handle the content generation, routing, translation, and versioning. Inspired by [create-react-app](https://github.com/facebook/create-react-app) and [VuePress](https://vuepress.vuejs.org/), Docusaurus will still provide a default theme, which the user can eject from, for further layout and styling customization. This means that it is very possible for the user to even change the HTML meta by using [React Helmet](https://github.com/nfl/react-helmet). Community-based themes are also very possible. This approach of allowing users to be in charge of layout and styling is taken by most static site generators.\\n\\n### Markdown\\n\\nOur Markdown parsing is currently powered by [Remarkable](https://github.com/jonschlinkert/remarkable). What if the user wants to use [Markdown-it](https://github.com/Markdown-it/Markdown-it) or even [MDX](https://github.com/mdx-js/mdx)? And then there is an issue of which syntax highlighter to use, (e.g: [Prism](https://prismjs.com/) vs [Highlight.js](https://highlightjs.org/)). We should leave these choices open to the user.\\n\\nFor Docusaurus 2, **users can eject and choose their own Markdown parser**. It does not matter if they want to use another Markdown parser such as [Remark](https://github.com/remarkjs/remark), or even their own in-house Markdown parser. As a rule of thumb, the user has to provide a React component, in which we will provide a children props containing the _RAW string of Markdown_. By default, we will use Remarkable for the Markdown parser and Highlight.js for the syntax highlighting. The default parser could still change in the future as we\'re still experimenting with different Markdown parsers.\\n\\n### Search\\n\\nOur core search functionality is based on [Algolia](https://www.algolia.com/). There are requests by users to be able to use different search offerings, such as `lunrjs` for offline search.\\n\\nI personally like Algolia and we have a great experience working with them. They are very responsive; we can easily submit a pull request to Algolia since their `DocSearch` is open source. For example, I recently submitted [this PR that enables DocSearch to scrape alternate languages in sitemap](https://github.com/algolia/docsearch-scraper/pull/387).\\n\\nFor Docusaurus 2, **we will allow users to customize the search box**. Users simply need to eject from the default theme and modify the Search UI (a React component). However, we will still use Algolia in the default theme.\\n\\n## Stability\\n\\nSoftware is never going to be perfect, but we want Docusaurus to not break as we add new features. When Docusaurus was first released, it did not have any strong automated test suites. As a result, there were a lot of regressions not caught early. Although we have recently added a lot of tests, the test coverage is still relatively low.\\n\\nFor Docusaurus 2, **we are adding tests as we develop** since we are going for a fresh rewrite. Hence, I believe that it should be more stable than ever and it should be harder to break things compared to Docusaurus 1.\\n\\n## Frequently Asked Questions\\n\\n### Will there be any breaking changes?\\n\\nIf you\'ve read the post up until to this point, you should be able to notice that there will be breaking changes. While we will try to **minimize the number of breaking changes** and make it backward compatible as much as possible, we believe that some breaking changes are required. This is mostly due to Docusaurus 2 being a **major rewrite and re-architecting** of the codebase.\\n\\nThe exact list of breaking changes is not totally known yet as development is not 100% finalized. However, one thing that I will highlight is that we will deprecate a lot of options in `siteConfig.js` and we plan to keep it as lean as possible. For example, the `cleanUrl` siteConfig will be deprecated as all the URL for Docusaurus 2 sites will be without the `.html` suffix.\\n\\nOur goal is that most sites should be able to upgrade to Docusaurus 2 without a lot of pain. We will also include a migration guide when we release Docusaurus 2. When the times come, feel free to ping us on [Discord](https://discord.gg/docusaurus) or [X](https://x.com/docusaurus) for questions and help.\\n\\n### When is the release of Docusaurus 2?\\n\\nAs of now, we do not have an exact date planned for the release. I personally estimate that we might be able to release an alpha version in the next one to two months, but this is, of course, just an estimate.\\n\\nOne thing that I would like to share is that while Docusaurus is part of [Facebook Open Source](https://opensource.fb.com/) and most of the team are Facebook employees, the maintenance and development work is mostly done outside of normal working hours. I am currently a final year undergraduate student at [NTU Singapore](https://x.com/NTUsg), so I had to juggle between doing my coursework, my final year project and maintaining/developing Docusaurus. However, that does not mean that we do not want to make Docusaurus better. In fact, **we want to make it as awesome as possible**.\\n\\nFor now, the actual Docusaurus 2 work is still hosted in a private repository. In the near future, we will move them into the [public repository](https://github.com/facebook/docusaurus). When that time arrives, I encourage everyone to look into it and hopefully contribute in some way. Before then, please stay tuned \uD83D\uDE09!\\n\\n## Final Thoughts\\n\\nDocusaurus has had a large impact on the open source community as seen from the [many popular projects](https://v1.docusaurus.io/en/users) which use Docusaurus for documentation. In order to move faster in the future, we are taking the opportunity to fix some core problems with Docusaurus 1 and striving to make Docusaurus better for everyone. In fact, it is safe to say that Docusaurus 2 is not just a plan any longer; the work on it has started and, hopefully, we will be able to see it materialize in the near future.\\n\\nDocusaurus\' mission has always been to make it really easy for you to get a website with documentation up and running out of the box. That mission does not change with Docusaurus 2.\\n\\nWe also want to let people know that **due to work on Docusaurus 2, we will be less likely to accept new features/major changes on Docusaurus 1.**\\n\\nIf you are using Docusaurus, you are part of our community; keep letting us know how we can make Docusaurus better for you. If you appreciate the work we\'re doing, you can support [Docusaurus on Open Collective](https://opencollective.com/Docusaurus).\\n\\n> If you are sponsoring our work on [Open Collective](https://opencollective.com/Docusaurus), we\'ll personally offer you a helping hand for maintenance and upgrading of Docusaurus website.\\n\\nLastly, if you haven\'t done so already, click the **star** and **watch** button on [GitHub](https://github.com/facebook/docusaurus), and follow us on [X](https://x.com/docusaurus)."},{"id":"/2018/04/30/How-I-Converted-Profilo-To-Docusaurus","metadata":{"permalink":"/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2018/04-30-How-I-Converted-Profilo-To-Docusaurus.mdx","source":"@site/blog/2018/04-30-How-I-Converted-Profilo-To-Docusaurus.mdx","title":"How I Converted Profilo to Docusaurus in Under 2 Hours","description":"\u201CJoel and I were discussing having a website and how it would have been great to launch with it. So I challenged myself to add Docusaurus support. It took just over an hour and a half. I\'m going to send you a PR with the addition so you can take a look and see if you like it. Your workflow for adding docs wouldn\'t be much different from editing those Markdown files.\u201D","date":"2018-04-30T00:00:00.000Z","tags":[{"inline":false,"label":"Profilo","permalink":"/blog/tags/profilo"},{"inline":false,"label":"Adoption","permalink":"/blog/tags/adoption"}],"readingTime":5.95,"hasTruncateMarker":true,"authors":[{"name":"Christine Abernathy","url":"http://x.com/abernathyca","socials":{"x":"https://x.com/abernathyca"},"imageURL":"https://github.com/caabernathy.png","key":"abernathyca","page":null}],"frontMatter":{"title":"How I Converted Profilo to Docusaurus in Under 2 Hours","authors":["abernathyca"],"tags":["profilo","adoption"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Towards Docusaurus 2","permalink":"/blog/2018/09/11/Towards-Docusaurus-2"},"nextItem":{"title":"Introducing Docusaurus","permalink":"/blog/2017/12/14/introducing-docusaurus"}},"content":"> _\u201CJoel and I were discussing having a website and how it would have been great to launch with it. So I challenged myself to add Docusaurus support. It took just over an hour and a half. I\'m going to send you a PR with the addition so you can take a look and see if you like it. Your workflow for adding docs wouldn\'t be much different from editing those Markdown files.\u201D_\\n>\\n> _\u2014 Note sent to the Profilo team_\\n\\nThis is the story of the rather short journey it took to create the [Profilo](https://facebookincubator.github.io/profilo/) website using Docusaurus.\\n\\nProfilo, an Android library for collecting performance traces from production, [was announced](https://code.fb.com/android/profilo-understanding-app-performance-in-the-wild/) earlier this year. The project was [published on GitHub](https://github.com/facebookincubator/profilo/tree/802042f90f990998a272387e371b893af52465b8) with a less than [a handful or Markdown files](https://github.com/facebookincubator/profilo/tree/802042f90f990998a272387e371b893af52465b8/docs) to describe its functionality and no website to showcase any branding and highlight the logo. The task at hand was to turn these existing docs and logo into a website.\\n\\n\x3c!--truncate--\x3e\\n\\nIn general, when creating a website with Docusaurus you do the following:\\n\\n1. Generate a template website using Docusaurus scripts.\\n1. Customize the generated template files for your desired site colors and your project configuration (ex: website and GitHub links).\\n1. Create the website content:\\n 1. Add your docs and any supporting assets.\\n 1. Customize the default landing page provided by Docusaurus to suit your needs.\\n 1. Configure the default site navigation file.\\n1. Publish the website and set up how it will be published for future changes.\\n\\nGiven I had pre-existing Markdown files, I didn\'t have to generate the core content but simply make sure that Docusaurus could process the files by adding the expected metadata to them. Most of the work would therefore consist of customizing the defaults provided by Docusaurus.\\n\\n## Overview of Steps Taken\\n\\nHere\'s an overview of the steps taken to convert to a website. I\'ll discuss some of the design aspects in a later section.\\n\\n**Design and colors:**\\n\\n1. Got all the desired logo formats from designer. I had to create the _.favicon_ one.\\n1. Worked out some passable primary and secondary website colors using the http://paletton.com/ tools - very handy!\\n\\n**Initial website setup:**\\n\\n1. Forked the [Profilo project](https://github.com/facebookincubator/profilo/) on GitHub and created a local clone of the fork to set up the website.\\n1. Created the initial Docusaurus website using the [installation instructions](https://v1.docusaurus.io/docs/en/installation.html).\\n1. Deleted the `docs-examples-from-docusaurus` and `website/blog-examples-from-docusaurus` folders as these would not be needed. Profilo had existing docs we could use and there was no need for blogs at this time.\\n\\n**Content creation:**\\n\\n1. Added metadata to the existing Markdown files found in the `docs` folder, for example:\\n\\n ```md\\n ---\\n id: architecture\\n title: Architecture\\n sidebar_label: Architecture\\n ---\\n ```\\n\\n2. Added the logo assets to the `website/static/img` folder.\\n3. Modified `website/pages/en/index.js`, the landing page, to highlight Profilo features.\\n4. Modified `website/core/Footer.js`, the footer, to simplify it for Profilo.\\n5. Edited `website/siteConfig.js` (website configuration file) to specify the previously chosen primary and secondary colors.\\n6. Modified `website/sidebars.json` that specifies the sidebar navigation. Listed all the docs and customized it based on the metadata added to the Markdown files.\\n7. Edited the website configuration file to specify the GitHub properties, logo images, header links, and the website link.\\n8. Tested the website locally throughout this phase. (I ran `yarn start` from the `website` folder to start the server.)\\n\\n**Feedback and review changes:**\\n\\n1. Sent a [pull request](https://github.com/facebookincubator/profilo/pull/6) to the project.\\n2. Updated the colors after the designer rightly gasped at the ones I had chosen (IANAD).\\n3. Updated the colors and updated the PR.\\n4. The PR was then accepted and [merged](https://github.com/facebookincubator/profilo/commit/6ad033aaf5a7d54e6d842f45a5bccd051a8e45ad). Yay!\\n\\n**Website publishing:**\\n\\n1. Pushed the first website version by running the Docusaurus publish script from the command line:\\n\\n ```bash\\n USE_SSH=true \\\\\\n GIT_USER=caabernathy \\\\\\n CURRENT_BRANCH=master \\\\\\n yarn run publish-gh-pages\\n ```\\n\\n2. Configured CircleCI using the [provided Docusaurus instructions](https://v1.docusaurus.io/docs/en/publishing.html#automating-deployments-using-continuous-integration). There were 2 PRs for this, [the first](https://github.com/facebookincubator/profilo/pull/8)for the initial config and [the second](https://github.com/facebookincubator/profilo/pull/12) to make sure CircleCI only triggered for changes in the master branch (thanks Joel Marcey!).\\n\\nThe final website was published on https://facebookincubator.github.io/profilo/. It had taken 1.5 hours to get to the initial PR stage and another half an hour or so to respond to review feedback and publish the website.\\n\\n## Design\\n\\nHere\'s what the initial website looked like when the first pull request was sent out:\\n\\n![The website\'s front page, with a quite bright and saturated red color as the primary color, closely resembling the Profilo logo color, making the logo unrecognizable in the navbar](/img/profilo_blog_post_website_initial.png)\\n\\nMost of the time in the content creation was spent picking colors that worked reasonably well with the given logo. These colors were a good jumping off point for designer feedback. I used Photoshop to sample various portions of the logo.\\n\\n![Picking colors in Photoshop, with the Profilo logo and the main working area in the background and a color picker dialog in the foreground, selected to a red shade](/img/profilo_blog_post_photoshop_color_picker.png)\\n\\nI then took the RGB representation of the color and set it as the baseline color on [Paletton](http://paletton.com/). The website then gave me various color options to try on the website by editing the Docusaurus website configuration file.\\n\\n![Using Paletton to generate a full palette from the red shade selected. There\'s a color wheel showing all hues on the left, and a square showing various shades of red on the right.](/img/profilo_blog_post_palette_website_color_picker.png)\\n\\nThe selected primary and secondary colors were a good jumping off point for designer feedback.\\n\\nThere were also modifications made to the default website generated by Docusaurus. These changes were mainly around simplifying the footer and creating a customized landing page for Profilo that listed the project\'s features.\\n\\nHere\'s what the final website looked like:\\n\\n![The website\'s front page, with a much darker red color as the primary color, making both the logo and the primary-colored title text clearly legible.](/img/profilo_blog_post_website_final.png)\\n\\nThis is an example page showing the core content, in this case the Getting Started page:\\n\\n![A doc page with the sidebar on the left quarter of the screen and the main content occupying the rest. Some text is using the primary color and the main body uses multiple kinds of typesetting including bold, list, and code](/img/profilo_blog_post_website_final_docs.png)\\n\\nThis also shows the sidebar structure that was set up through editing `website/sidebars.json`.\\n\\nLastly, I didn\'t have to worry about handling responsive design. You get this out of the box with Docusaurus!\\n\\n![Mobile screenshots of the front page and sample doc page. The layout is automatically adjusted to make it appear more natural. The doc sidebar is hidden behind a button.](/img/profilo_blog_post_android_ios.png)\\n\\n## Final Thoughts\\n\\nThe Profilo engineers were happy to see that they didn\'t have to change their workflow to update existing content. They were able to continue working with Markdown files. This will still be true in the future if new docs are added, although there may be some config changes needed if the sidebar navigation needs to be updated.\\n\\nThe infrastructure provided by Docusaurus made it easy to convert Markdown files into a working website. Even though the project had only three docs, this gave Profilo a more professional look. So, it was well worth the short time investment to get it done."},{"id":"/2017/12/14/introducing-docusaurus","metadata":{"permalink":"/blog/2017/12/14/introducing-docusaurus","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2017/12-14-introducing-docusaurus.mdx","source":"@site/blog/2017/12-14-introducing-docusaurus.mdx","title":"Introducing Docusaurus","description":"We are very happy to introduce Docusaurus to help you manage one or many open source websites.","date":"2017-12-14T00:00:00.000Z","tags":[{"inline":false,"label":"Documentation","permalink":"/blog/tags/documentation"},{"inline":false,"label":"Blog","permalink":"/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus"}],"readingTime":8.215,"hasTruncateMarker":true,"authors":[{"name":"Joel Marcey","title":"Developer Advocate at Meta","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{"x":"https://x.com/joelmarcey","github":"https://github.com/JoelMarcey"},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Introducing Docusaurus","authors":"JMarcey","tags":["documentation","blog","docusaurus"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"How I Converted Profilo to Docusaurus in Under 2 Hours","permalink":"/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"}},"content":"![](/img/slash-introducing.svg)\\n\\nWe are very happy to introduce [Docusaurus](https://github.com/facebook/docusaurus) to help you manage one or many open source websites.\\n\\nWe created [Docusaurus](https://docusaurus.io) for the following reasons:\\n\\n1. To put the focus on writing good documentation instead of worrying about the infrastructure of a website.\\n1. To provide features that many of our open source websites need like blog support, search and versioning.\\n1. To make it easy to push updates, new features, and bug fixes to everyone all at once.\\n1. And, finally, to provide a consistent look and feel across all of our open source projects.\\n\\n\x3c!--truncate--\x3e\\n\\nDocusaurus is a tool designed to make it easy for teams to publish documentation websites without having to worry about the infrastructure and design details. At its core, all a user has to provide are documentation files written in Markdown, customization of a provided home page written in React, and a few configuration modifications. Docusaurus handles the rest by providing default styles, site formatting, and simple document navigation. Getting started is easy, as users can [install](https://v1.docusaurus.io/docs/en/installation.html) it using `npm` or `yarn` via a simple initialization script that [creates a working example website out of the box](https://v1.docusaurus.io/docs/en/site-preparation.html).\\n\\nDocusaurus also provides core website and documentation features out-of-the-box including [blog support](https://v1.docusaurus.io/docs/en/blog.html), [internationalization](https://v1.docusaurus.io/docs/en/translation.html), [search](https://v1.docusaurus.io/docs/en/search.html), and [versioning](https://v1.docusaurus.io/docs/en/versioning.html). While some projects may not require any of these features, enabling them is generally a matter of updating configuration options instead of having to add the infrastructure from the ground up. As more features get added to Docusaurus, users just can easily update to the latest version. This can be done by simply running npm or yarn update and updating configuration options. Users or teams will no longer need to manually rework their entire website infrastructure each time a new feature gets added.\\n\\n## The Birth of docusaurus\\n\\n![](/img/slash-birth.png)\\n\\nWhen Facebook first started their open source program, many teams implemented a custom website for each of their open source projects. This approach presented challenges when the open source program team was asked to help the project teams improve their documentation. Since each site was unique, adding basic infrastructure such as a blog, consistent navigation, search, etc. became challenging undertakings.\\n\\nThe open source team tried to help mitigate this problem by coming up with a standard template, based on Jekyll, that could be used as a starting point for a project website. We asked our new projects to manually copy our template source to their repo, write their docs, and publish. This template approach was adopted by most of open source projects launched; some existing projects even converted their custom website implementations to the new template as well.\\n\\nThe problem with the \\"copy the template to your repo\\" approach is that, even though the platform is consistent, pushing updates becomes unmaintainable across an entire suite of projects already using the template. This is because we lost control of the template after a project copied it to their repo. Projects were free to modify the template as desired and apply their own project-specific features to it. So while projects share the same site generation platform, they have now diverted enough where they cannot take advantage of the new features we have added to the template over time. There was no easy way we could ask all current projects to \\"copy\\" a new version of the template since it might break their existing site or remove features that they have added on their own. Instead, we would have to apply the updates manually to each project one-by-one. This became very problematic when projects started asking for our team for internationalization support within the template, requiring low-level changes to how the template was structured and generated.\\n\\nSo we started thinking about what we could do to help mitigate the challenge of keeping sites updated and consistent across our entire portfolio. We also wanted multiple projects to share the same site generation software. We wanted them to start out with the same template, and yet have the flexibility to customize and adapt their site theme to suit their needs. They should be able to extend and customize their site, but when we update the underlying infrastructure with fixes and features, the project should be able update simply and without any breaking changes.\\n\\nDocusaurus was born!\\n\\nAt Facebook, Docusaurus allows us to quickly get different projects up and running with documentation websites, especially for teams who don\'t have much experience with web development or primarily want a basic site to showcase their project. Docusaurus already supports sites needing more advanced features like internationalization for Jest and versioning for React Native. As different projects request new features for their sites, they are added to Docusaurus and simultaneously provided to all projects! All together, this ends up greatly reducing the work needed to maintain different sites for different projects. Our teams are able to focus on keeping their projects healthier by spending more time adding features, fixing bugs, and writing documentation.\\n\\n## Getting Up and Running\\n\\n![](/img/slash-up-and-running.png)\\n\\nAt its core, we wanted sites running Docusaurus to be simple to use. With one [installation](https://v1.docusaurus.io/docs/en/installation.html) command and some simple [configuration](https://v1.docusaurus.io/docs/en/site-preparation.html), you can actually have a default running website.\\n\\nWhen you run `docusaurus-init`, you will see a structure similar to:\\n\\n```bash\\nroot-of-repo\\n\u251C\u2500\u2500 docs-examples-from-docusaurus\\n\u2502 \u251C\u2500\u2500 doc1.md\\n\u2502 \u251C\u2500\u2500 doc2.md\\n\u2502 \u251C\u2500\u2500 doc3.md\\n\u2502 \u251C\u2500\u2500 example-doc4.md\\n\u2502 \u2514\u2500\u2500 example-doc5.md\\n\u251C\u2500\u2500 website\\n\u2502 \u251C\u2500\u2500 blog-examples-from-docusaurus\\n\u2502 \u2502 \u251C\u2500\u2500 2016-03-11-blog-post.md\\n\u2502 \u2502 \u2514\u2500\u2500 2017-04-10-blog-post-two.md\\n\u2502 \u251C\u2500\u2500 core\\n\u2502 \u2502 \u2514\u2500\u2500 Footer.js\\n\u2502 \u251C\u2500\u2500 node_modules\\n\u2502 \u251C\u2500\u2500 package.json\\n\u2502 \u251C\u2500\u2500 pages\\n\u2502 \u251C\u2500\u2500 sidebars.json\\n\u2502 \u251C\u2500\u2500 siteConfig.js\\n\u2502 \u2514\u2500\u2500 static\\n```\\n\\nWith the exception of node_modules and package.json, all the directories and files you see are where you customize and add content to your Docusaurus-based website. The docs folder is where you add your Markdown that represents your documentation; the blog folder is where you add your Markdown for your [blog posts](https://v1.docusaurus.io/docs/en/blog.html); `siteConfig.js` is where you make most of the [customizations](https://v1.docusaurus.io/docs/en/site-config.html) for your site; `sidebars.json` is where you maintain the layout and content of the [sidebar](https://v1.docusaurus.io/docs/en/navigation.html) for your documentation; the `pages` folder is where you add [custom](https://v1.docusaurus.io/docs/en/custom-pages.html) pages for your site; the `static` folder is where all of your static assets go (e.g., CSS stylesheets and images); and the `core` folder is where you can customize core components of the site, in this case the footer.\\n\\n## How does Docusaurus work?\\n\\nDocusaurus is written primarily in JavaScript and [React](https://facebook.github.io/react), replacing Jekyll which we used in the old template. We use [Remarkable](https://github.com/jonschlinkert/remarkable) for our Markdown rendering and [highlight.js](https://highlightjs.org/) for our code block syntax highlighting. The core of Docusaurus\' functionality is in the [lib directory](https://github.com/facebookexperimental/Docusaurus/tree/master/lib) of the [Docusaurus repo](https://github.com/facebook/docusaurus/). The general structure looks like:\\n\\n```bash\\nroot-of-Docusaurus\\n\u251C\u2500\u2500 lib\\n\u2502 \u251C\u2500\u2500 core\\n\u2502 \u251C\u2500\u2500 server\\n\u2502 \u2502 \u251C\u2500\u2500 generate.js\\n\u2502 \u2502 \u251C\u2500\u2500 server.js\\n\u2502 \u2502 \u2514\u2500\u2500 ...and more files\\n\u2502 \u251C\u2500\u2500 static\\n\u2502 \u251C\u2500\u2500 build-files.js\\n\u2502 \u251C\u2500\u2500 copy-examples.js\\n\u2502 \u251C\u2500\u2500 generate-feed.js\\n\u2502 \u251C\u2500\u2500 publish-gh-pages.js\\n\u2502 \u251C\u2500\u2500 rename-version.js\\n\u2502 \u251C\u2500\u2500 start-server.js\\n\u2502 \u251C\u2500\u2500 versions.js\\n\u2502 \u2514\u2500\u2500 write-translations.js\\n```\\n\\nThe key files here are build-files.js and start-server.js. There are many similarities between these two files: `build-files.js` is used to build the physical artifacts for serving by an external web server. `start-server.js` is used to run the Docusaurus server and locally test your site. Both go through the following general process to take all of the Markdown and configuration to create a runnable website:\\n\\n1. Process your website settings in `siteConfig.js`\\n1. Read the document metadata that exists in all the Markdown files in your docs directory.\\n1. Create a table of contents for your documents based upon the IDs extracted from the metadata.\\n1. Convert the Markdown to HTML, including doing link replacement.\\n1. These files will go in a build/docs directory of the compiled site, and any translated versions will go into a language specific folder within the build/docs folder.\\n1. Repeat 1-3 for blog posts.\\n1. The blog file will go in a build/blog directory of the compiled site.\\n1. Read the main.css file and concatenate any user-defined css into master css file that will be in the build/css directory of the compiled site.\\n1. Copy images into an build/img directory of the compiled site.\\n1. Take any custom pages that were added to the pages folder of the site and compile/copy those into the root build directory of the compiled site. Any translated versions will go into a language specific folder within build.\\n1. Create CNAME and sitemap.xml files and add those to build.\\n\\nNote that this process does not take into full account how translations or versioning works. The underlying details of those features will be saved for future blog posts.\\n\\nThe final structure of your compiled site will look similar to:\\n\\n```bash\\nbuild\\n\u251C\u2500\u2500 website\\n\u2502 \u251C\u2500\u2500 CNAME\\n\u2502 \u251C\u2500\u2500 blog\\n\u2502 \u251C\u2500\u2500 css\\n\u2502 \u251C\u2500\u2500 docs\\n\u2502 \u251C\u2500\u2500 en\\n\u2502 \u251C\u2500\u2500 help.html # custom page\\n\u2502 \u251C\u2500\u2500 img\\n\u2502 \u251C\u2500\u2500 index.html # landing page\\n\u2502 \u251C\u2500\u2500 sitemap.xml\\n\u2502 \u2514\u2500\u2500 users.html # custom page\\n```\\n\\n## Community\\n\\n![](/img/docusaurus.svg)\\n\\nWe welcome your [contributions](https://github.com/facebook/docusaurus/blob/master/CONTRIBUTING.md) to Docusaurus, whether you want to use it for your own site, you want to [contribute](https://github.com/facebook/docusaurus/blob/master/CONTRIBUTING.md) to the Docusaurus core or just have questions. Follow us on [GitHub](https://github.com/facebook/docusaurus) and [X)](https://x.com/docusaurus).\\n\\n## Acknowledgements\\n\\nDocusaurus wouldn\'t exist without the work of the rest of the core Docusaurus team: [Eric Nakagawa](http://x.com/ericnakagawa), [Hector Ramos](https://x.com/hectorramos), [Eric Vicenti](https://x.com/EricVicenti) and [Frank Li](https://github.com/deltice) \u2014 a former intern at Facebook who implemented the core technology and features.\\n\\nSpecial thanks also goes out to our earliest [adopters](https://v1.docusaurus.io/en/users.html) of Docusaurus:\\n\\n- [BuckleScript](https://bucklescript.github.io/)\\n- [FastText](https://fasttext.cc)\\n- [Jest](https://jestjs.io)\\n- [Make It Open](http://makeitopen.com)\\n- [Prettier](https://prettier.io/)\\n- [Reason-react](https://reasonml.github.io/reason-react/)\\n- [React Native](https://facebook.github.io/react-native/)\\n- [Relay](https://facebook.github.io/relay/)\\n\\nWithout their dedication to creating or migrating their websites over to the platform, we would have not have been in the position where we are today.\\n\\n## Resources\\n\\n- [Read our documentation](https://v1.docusaurus.io)\\n- [Follow our X feed](https://x.com/docusaurus)\\n- [Follow us on GitHub](https://github.com/facebook/docusaurus)\\n- [About Slash, the Docusaurus mascot](https://v1.docusaurus.io/about-slash.html)"}],"blogListPaginated":[{"items":["/releases/3.7","/releases/3.6","/releases/3.5","/releases/3.4","/releases/3.3"],"metadata":{"permalink":"/blog","page":1,"postsPerPage":5,"totalPages":6,"totalCount":26,"nextPage":"/blog/page/2","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}},{"items":["/releases/3.2","/releases/3.1","/releases/3.0","/preparing-your-site-for-docusaurus-v3","/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing"],"metadata":{"permalink":"/blog/page/2","page":2,"postsPerPage":5,"totalPages":6,"totalCount":26,"previousPage":"/blog","nextPage":"/blog/page/3","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}},{"items":["/releases/2.4","/releases/2.3","/releases/2.2","/2022/09/01/docusaurus-2.1","/2022/08/01/announcing-docusaurus-2.0"],"metadata":{"permalink":"/blog/page/3","page":3,"postsPerPage":5,"totalPages":6,"totalCount":26,"previousPage":"/blog/page/2","nextPage":"/blog/page/4","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}},{"items":["/2022/01/24/docusaurus-2021-recap","/2021/11/21/algolia-docsearch-migration","/2021/05/12/announcing-docusaurus-two-beta","/2021/03/09/releasing-docusaurus-i18n","/2021/01/19/docusaurus-2020-recap"],"metadata":{"permalink":"/blog/page/4","page":4,"postsPerPage":5,"totalPages":6,"totalCount":26,"previousPage":"/blog/page/3","nextPage":"/blog/page/5","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}},{"items":["/2020/01/07/tribute-to-endi","/2019/12/30/docusaurus-2019-recap","/2018/12/14/Happy-First-Birthday-Slash","/2018/09/11/Towards-Docusaurus-2","/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"],"metadata":{"permalink":"/blog/page/5","page":5,"postsPerPage":5,"totalPages":6,"totalCount":26,"previousPage":"/blog/page/4","nextPage":"/blog/page/6","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}},{"items":["/2017/12/14/introducing-docusaurus"],"metadata":{"permalink":"/blog/page/6","page":6,"postsPerPage":5,"totalPages":6,"totalCount":26,"previousPage":"/blog/page/5","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"blogTags":{"/blog/tags/release":{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases","items":["/releases/3.7","/releases/3.6","/releases/3.5","/releases/3.4","/releases/3.3","/releases/3.2","/releases/3.1","/releases/3.0","/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing","/releases/2.4","/releases/2.3","/releases/2.2","/2022/09/01/docusaurus-2.1","/2022/08/01/announcing-docusaurus-2.0","/2021/05/12/announcing-docusaurus-two-beta","/2021/03/09/releasing-docusaurus-i18n"],"pages":[{"items":["/releases/3.7","/releases/3.6","/releases/3.5","/releases/3.4","/releases/3.3"],"metadata":{"permalink":"/blog/tags/release","page":1,"postsPerPage":5,"totalPages":4,"totalCount":16,"nextPage":"/blog/tags/release/page/2","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}},{"items":["/releases/3.2","/releases/3.1","/releases/3.0","/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing","/releases/2.4"],"metadata":{"permalink":"/blog/tags/release/page/2","page":2,"postsPerPage":5,"totalPages":4,"totalCount":16,"previousPage":"/blog/tags/release","nextPage":"/blog/tags/release/page/3","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}},{"items":["/releases/2.3","/releases/2.2","/2022/09/01/docusaurus-2.1","/2022/08/01/announcing-docusaurus-2.0","/2021/05/12/announcing-docusaurus-two-beta"],"metadata":{"permalink":"/blog/tags/release/page/3","page":3,"postsPerPage":5,"totalPages":4,"totalCount":16,"previousPage":"/blog/tags/release/page/2","nextPage":"/blog/tags/release/page/4","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}},{"items":["/2021/03/09/releasing-docusaurus-i18n"],"metadata":{"permalink":"/blog/tags/release/page/4","page":4,"postsPerPage":5,"totalPages":4,"totalCount":16,"previousPage":"/blog/tags/release/page/3","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/maintenance":{"inline":false,"label":"Maintenance","permalink":"/blog/tags/maintenance","items":["/preparing-your-site-for-docusaurus-v3"],"pages":[{"items":["/preparing-your-site-for-docusaurus-v3"],"metadata":{"permalink":"/blog/tags/maintenance","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/recap":{"inline":false,"label":"Recap","permalink":"/blog/tags/recap","description":"Blog posts about Docusaurus\' year recaps","items":["/2022/01/24/docusaurus-2021-recap","/2021/01/19/docusaurus-2020-recap","/2019/12/30/docusaurus-2019-recap"],"pages":[{"items":["/2022/01/24/docusaurus-2021-recap","/2021/01/19/docusaurus-2020-recap","/2019/12/30/docusaurus-2019-recap"],"metadata":{"permalink":"/blog/tags/recap","page":1,"postsPerPage":5,"totalPages":1,"totalCount":3,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/search":{"inline":false,"label":"Search","permalink":"/blog/tags/search","items":["/2021/11/21/algolia-docsearch-migration"],"pages":[{"items":["/2021/11/21/algolia-docsearch-migration"],"metadata":{"permalink":"/blog/tags/search","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/beta":{"inline":false,"label":"Beta","permalink":"/blog/tags/beta","items":["/2021/05/12/announcing-docusaurus-two-beta"],"pages":[{"items":["/2021/05/12/announcing-docusaurus-two-beta"],"metadata":{"permalink":"/blog/tags/beta","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/i-18-n":{"inline":false,"label":"I18n","permalink":"/blog/tags/i-18-n","items":["/2021/03/09/releasing-docusaurus-i18n"],"pages":[{"items":["/2021/03/09/releasing-docusaurus-i18n"],"metadata":{"permalink":"/blog/tags/i-18-n","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/endi":{"inline":false,"label":"Endi","permalink":"/blog/tags/endi","items":["/2020/01/07/tribute-to-endi"],"pages":[{"items":["/2020/01/07/tribute-to-endi"],"metadata":{"permalink":"/blog/tags/endi","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/tribute":{"inline":false,"label":"Tribute","permalink":"/blog/tags/tribute","items":["/2020/01/07/tribute-to-endi"],"pages":[{"items":["/2020/01/07/tribute-to-endi"],"metadata":{"permalink":"/blog/tags/tribute","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/birth":{"inline":false,"label":"Birth","permalink":"/blog/tags/birth","items":["/2018/12/14/Happy-First-Birthday-Slash"],"pages":[{"items":["/2018/12/14/Happy-First-Birthday-Slash"],"metadata":{"permalink":"/blog/tags/birth","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/new":{"inline":false,"label":"New","permalink":"/blog/tags/new","items":["/2018/09/11/Towards-Docusaurus-2"],"pages":[{"items":["/2018/09/11/Towards-Docusaurus-2"],"metadata":{"permalink":"/blog/tags/new","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/adoption":{"inline":false,"label":"Adoption","permalink":"/blog/tags/adoption","items":["/2018/09/11/Towards-Docusaurus-2","/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"],"pages":[{"items":["/2018/09/11/Towards-Docusaurus-2","/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"],"metadata":{"permalink":"/blog/tags/adoption","page":1,"postsPerPage":5,"totalPages":1,"totalCount":2,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/profilo":{"inline":false,"label":"Profilo","permalink":"/blog/tags/profilo","items":["/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"],"pages":[{"items":["/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"],"metadata":{"permalink":"/blog/tags/profilo","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/documentation":{"inline":false,"label":"Documentation","permalink":"/blog/tags/documentation","items":["/2017/12/14/introducing-docusaurus"],"pages":[{"items":["/2017/12/14/introducing-docusaurus"],"metadata":{"permalink":"/blog/tags/documentation","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/blog":{"inline":false,"label":"Blog","permalink":"/blog/tags/blog","items":["/2017/12/14/introducing-docusaurus"],"pages":[{"items":["/2017/12/14/introducing-docusaurus"],"metadata":{"permalink":"/blog/tags/blog","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false},"/blog/tags/docusaurus":{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","items":["/2017/12/14/introducing-docusaurus"],"pages":[{"items":["/2017/12/14/introducing-docusaurus"],"metadata":{"permalink":"/blog/tags/docusaurus","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}],"unlisted":false}},"blogTagsListPath":"/blog/tags","authorsMap":{"JMarcey":{"name":"Joel Marcey","title":"Developer Advocate at Meta","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{"x":"https://x.com/joelmarcey","github":"https://github.com/JoelMarcey"},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"},"zpao":{"name":"Paul O\u2019Shannessy","title":"Engineering Manager at Meta","url":"https://x.com/zpao","page":{"permalink":"/blog/authors/zpao"},"socials":{"x":"https://x.com/zpao","github":"https://github.com/zpao"},"imageURL":"https://github.com/zpao.png","key":"zpao"},"slorber":{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},"yangshun":{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"},"lex111":{"name":"Alexey Pyltsyn","title":"Open-source enthusiast","url":"https://github.com/lex111","email":"lex@php.net","page":{"permalink":"/blog/authors/lex-111"},"imageURL":"https://github.com/lex111.png","key":"lex111"},"Josh-Cena":{"name":"Joshua Chen","title":"Working hard on Docusaurus","url":"https://joshcena.com/","email":"sidachen2003@gmail.com","page":{"permalink":"/blog/authors/josh-cena"},"imageURL":"https://github.com/josh-cena.png","key":"Josh-Cena"},"endiliey":{"name":"Endilie Yacop Sucipto","title":"Maintainer of Docusaurus","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},"abernathyca":{"name":"Christine Abernathy","url":"http://x.com/abernathyca","socials":{"x":"https://x.com/abernathyca"},"imageURL":"https://github.com/caabernathy.png","key":"abernathyca","page":null},"shortcuts":{"name":"Cl\xe9ment Vannicatte","title":"Software Engineer @ Algolia","url":"https://github.com/shortcuts","socials":{"x":"https://x.com/sh0rtcts","github":"https://github.com/shortcuts"},"imageURL":"https://github.com/shortcuts.png","key":"shortcuts","page":null}}},"blog-tests":{"blogSidebarTitle":"Recent posts","blogPosts":[{"id":"/2024/07/03/dual-author","metadata":{"permalink":"/tests/blog/2024/07/03/dual-author","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2024-07-03-dual-author.mdx","source":"@site/_dogfooding/_blog tests/2024-07-03-dual-author.mdx","title":"Dual author socials","description":"Content","date":"2024-07-03T00:00:00.000Z","tags":[],"readingTime":1.4,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null}],"frontMatter":{"title":"Dual author socials","authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"}}]},"unlisted":false,"nextItem":{"title":"How multiple authors with socials looks","permalink":"/tests/blog/2024/07/03/multiple-authors"}},"content":"## Content\\n\\nContent about the blog post"},{"id":"/2024/07/03/multiple-authors","metadata":{"permalink":"/tests/blog/2024/07/03/multiple-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2024-07-03-multiple-authors.mdx","source":"@site/_dogfooding/_blog tests/2024-07-03-multiple-authors.mdx","title":"How multiple authors with socials looks","description":"Content","date":"2024-07-03T00:00:00.000Z","tags":[],"readingTime":1.4,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","stackoverflow":"https://stackoverflow.com/users/82609/sebastien-lorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","instagram":"https://www.instagram.com/thisweekinreact/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","instagram":"https://www.instagram.com/thisweekinreact"},"key":null,"page":null},{"name":"Zed Spencer-Milnes","title":"All the socials test","urL":"https://gingergeek.co.uk","image_url":"https://github.com/GingerGeek.png","page":false,"socials":{"x":"https://x.com/GingerGeek","github":"https://github.com/gingergeek","linkedin":"https://www.linkedin.com/in/zedspencermilnes/","youtube":"https://youtube.com/@gingergeekuk","bluesky":"https://bsky.app/profile/gingergeek.co.uk","stackoverflow":"https://stackoverflow.com/users/2064409","twitch":"https://twitch.tv/gingergeek","threads":"https://www.threads.net/@gingergeekuk","mastodon":"https://hachyderm.io/@zed"},"imageURL":"https://github.com/GingerGeek.png","key":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter","q":"https://thisweekinreact.com/newsletter","r":"https://thisweekinreact.com/newsletter","s":"https://thisweekinreact.com/newsletter","t":"https://thisweekinreact.com/newsletter","u":"https://thisweekinreact.com/newsletter","v":"https://thisweekinreact.com/newsletter","w":"https://thisweekinreact.com/newsletter","x":"https://thisweekinreact.com/newsletter","y":"https://thisweekinreact.com/newsletter","z":"https://thisweekinreact.com/newsletter"},"key":null,"page":null}],"frontMatter":{"title":"How multiple authors with socials looks","authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","stackoverflow":"https://stackoverflow.com/users/82609/sebastien-lorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","instagram":"https://www.instagram.com/thisweekinreact/","newsletter":"https://thisweekinreact.com/newsletter"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","instagram":"thisweekinreact"}},{"name":"Zed Spencer-Milnes","title":"All the socials test","urL":"https://gingergeek.co.uk","image_url":"https://github.com/GingerGeek.png","page":false,"socials":{"x":"GingerGeek","github":"gingergeek","linkedin":"zedspencermilnes","youtube":"gingergeekuk","bluesky":"gingergeek.co.uk","stackoverflow":"2064409","twitch":"gingergeek","threads":"gingergeekuk","mastodon":"https://hachyderm.io/@zed"},"imageURL":"https://github.com/GingerGeek.png"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter","q":"https://thisweekinreact.com/newsletter","r":"https://thisweekinreact.com/newsletter","s":"https://thisweekinreact.com/newsletter","t":"https://thisweekinreact.com/newsletter","u":"https://thisweekinreact.com/newsletter","v":"https://thisweekinreact.com/newsletter","w":"https://thisweekinreact.com/newsletter","x":"https://thisweekinreact.com/newsletter","y":"https://thisweekinreact.com/newsletter","z":"https://thisweekinreact.com/newsletter"}}]},"unlisted":false,"prevItem":{"title":"Dual author socials","permalink":"/tests/blog/2024/07/03/dual-author"},"nextItem":{"title":"Single author socials","permalink":"/tests/blog/2024/07/03/single-author"}},"content":"## Content\\n\\nContent about the blog post"},{"id":"/2024/07/03/single-author","metadata":{"permalink":"/tests/blog/2024/07/03/single-author","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2024-07-03-single-author.mdx","source":"@site/_dogfooding/_blog tests/2024-07-03-single-author.mdx","title":"Single author socials","description":"Content","date":"2024-07-03T00:00:00.000Z","tags":[],"readingTime":1.4,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null}],"frontMatter":{"title":"Single author socials","authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"}}]},"unlisted":false,"prevItem":{"title":"How multiple authors with socials looks","permalink":"/tests/blog/2024/07/03/multiple-authors"},"nextItem":{"title":"Ensure heading anchor slugs respect GitHub emoji behavior","permalink":"/tests/blog/2023/08/05/"}},"content":"## Content\\n\\nContent about the blog post"},{"id":"/2023/08/05/","metadata":{"permalink":"/tests/blog/2023/08/05/","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2023-08-05.mdx","source":"@site/_dogfooding/_blog tests/2023-08-05.mdx","title":"Ensure heading anchor slugs respect GitHub emoji behavior","description":"This is a friendly header","date":"2023-08-05T00:00:00.000Z","tags":[],"readingTime":3.2,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Ensure heading anchor slugs respect GitHub emoji behavior","date":"2023-08-05T00:00:00.000Z","sidebar_label":"Ensure heading... (custom label)"},"unlisted":false,"prevItem":{"title":"Single author socials","permalink":"/tests/blog/2024/07/03/single-author"},"nextItem":{"title":"Test if href in feed resolved correctly","permalink":"/tests/blog/2023/07/19/a"}},"content":"## :smiley: This is a friendly header\\n\\n## \uD83D\uDE03 This is a friendly header (real smiley)"},{"id":"/2023/07/19/a","metadata":{"permalink":"/tests/blog/2023/07/19/a","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2023-07-19-a.mdx","source":"@site/_dogfooding/_blog tests/2023-07-19-a.mdx","title":"Test if href in feed resolved correctly","description":"absolute full url","date":"2023-07-19T00:00:00.000Z","tags":[],"readingTime":2.2,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Test if href in feed resolved correctly"},"unlisted":false,"prevItem":{"title":"Ensure heading anchor slugs respect GitHub emoji behavior","permalink":"/tests/blog/2023/08/05/"},"nextItem":{"title":"Test Relative Path","permalink":"/tests/blog/2023/07/19/b"}},"content":"[absolute full url](https://github.com/facebook/docusaurus)\\n\\n[absolute url with implicit domain name](/tests/blog/2023/07/19/b)\\n\\n[relative url](2023-07-19-b.mdx)"},{"id":"/2023/07/19/b","metadata":{"permalink":"/tests/blog/2023/07/19/b","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2023-07-19-b.mdx","source":"@site/_dogfooding/_blog tests/2023-07-19-b.mdx","title":"Test Relative Path","description":"","date":"2023-07-19T00:00:00.000Z","tags":[],"readingTime":0,"hasTruncateMarker":false,"authors":[],"frontMatter":{},"unlisted":false,"prevItem":{"title":"Test if href in feed resolved correctly","permalink":"/tests/blog/2023/07/19/a"},"nextItem":{"title":"A post with html slug","permalink":"/tests/blog/x/y/z.html"}},"content":""},{"id":"/x/y/z.html","metadata":{"permalink":"/tests/blog/x/y/z.html","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-10-02-html-slug.mdx","source":"@site/_dogfooding/_blog tests/2022-10-02-html-slug.mdx","title":"A post with html slug","description":"This is a blog post with an html slug!","date":"2022-10-02T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":3.4,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"A post with html slug","tags":["paginated-tag"],"slug":"/x/y/z.html"},"unlisted":false,"prevItem":{"title":"Test Relative Path","permalink":"/tests/blog/2023/07/19/b"},"nextItem":{"title":"First post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/04/20/dup-footnote"}},"content":"This is a blog post with an html slug!\\n\\n```mdx-code-block\\nimport Partial from \\"./_partial.mdx\\"\\n\\n<Partial />\\n```"},{"id":"/unlisted-post","metadata":{"permalink":"/tests/blog/unlisted-post","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-08-24-post-unlisted.mdx","source":"@site/_dogfooding/_blog tests/2022-08-24-post-unlisted.mdx","title":"Unlisted blog post","description":"This unlisted blog post should be \\"hidden\\" in production, but remain accessible.","date":"2022-08-24T00:00:00.000Z","tags":[{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Visibility","permalink":"/tests/blog/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/blog/tags/unlisted"}],"readingTime":4.2,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Unlisted blog post","unlisted":true,"tags":["blog","visibility","unlisted"],"slug":"/unlisted-post"},"unlisted":true},"content":"This unlisted blog post should be \\"hidden\\" in production, but remain accessible.\\n\\nIt is filtered from the sidebar, sitemap, SEO indexation..."},{"id":"/2022/04/20/dup-footnote","metadata":{"permalink":"/tests/blog/2022/04/20/dup-footnote","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-04-20-dup-footnote.mdx","source":"@site/_dogfooding/_blog tests/2022-04-20-dup-footnote.mdx","title":"First post with footnote to test posts with same footnote reference.","description":"foo","date":"2022-04-20T00:00:00.000Z","tags":[],"readingTime":1.8,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"First post with footnote to test posts with same footnote reference."},"unlisted":false,"prevItem":{"title":"A post with html slug","permalink":"/tests/blog/x/y/z.html"},"nextItem":{"title":"Second post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/22/dup-footnote"}},"content":"foo[^1]\\n\\nbar[^2]\\n\\nbaz[^3]\\n\\n[^1]: foo\\n[^2]: bar\\n[^3]: baz"},{"id":"/2022/01/22/dup-footnote","metadata":{"permalink":"/tests/blog/2022/01/22/dup-footnote","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-01-22-dup-footnote.mdx","source":"@site/_dogfooding/_blog tests/2022-01-22-dup-footnote.mdx","title":"Second post with footnote to test posts with same footnote reference.","description":"foo","date":"2022-01-22T00:00:00.000Z","tags":[],"readingTime":1.8,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Second post with footnote to test posts with same footnote reference."},"unlisted":false,"prevItem":{"title":"First post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/04/20/dup-footnote"},"nextItem":{"title":"Third post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/21/dup-footnote"}},"content":"foo[^1]\\n\\nbar[^2]\\n\\nbaz[^3]\\n\\n[^1]: foo\\n[^2]: bar\\n[^3]: baz"},{"id":"/2022/01/21/dup-footnote","metadata":{"permalink":"/tests/blog/2022/01/21/dup-footnote","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-01-21-dup-footnote.mdx","source":"@site/_dogfooding/_blog tests/2022-01-21-dup-footnote.mdx","title":"Third post with footnote to test posts with same footnote reference.","description":"foo","date":"2022-01-21T00:00:00.000Z","tags":[],"readingTime":1.8,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Third post with footnote to test posts with same footnote reference."},"unlisted":false,"prevItem":{"title":"Second post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/22/dup-footnote"},"nextItem":{"title":"Image-only authors","permalink":"/tests/blog/2022/01/20/image-only-authors"}},"content":"foo[^1]\\n\\nbar[^2]\\n\\nbaz[^3]\\n\\n[^1]: foo\\n[^2]: bar\\n[^3]: baz"},{"id":"/2022/01/20/image-only-authors","metadata":{"permalink":"/tests/blog/2022/01/20/image-only-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-01-20-image-only-authors.mdx","source":"@site/_dogfooding/_blog tests/2022-01-20-image-only-authors.mdx","title":"Image-only authors","description":"You can make a compact authors list without author names!","date":"2022-01-20T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":2,"hasTruncateMarker":false,"authors":[{"image_url":"https://github.com/endiliey.png","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/lex111.png","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/slorber.png","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/yangshun.png","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/JoelMarcey.png","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/Josh-Cena.png","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/deltice.png","url":"https://github.com/deltice","imageURL":"https://github.com/deltice.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/SamChou19815.png","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/ericnakagawa.png","url":"https://github.com/ericnakagawa","imageURL":"https://github.com/ericnakagawa.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/Simek.png","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/hramos.png","url":"https://github.com/hramos","imageURL":"https://github.com/hramos.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/wgao19.png","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/rickyvetter.png","url":"https://github.com/rickyvetter","imageURL":"https://github.com/rickyvetter.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/fanny.png","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/armano2.png","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/RDIL.png","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/teikjun.png","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/hong4rc.png","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/anshulrgoyal.png","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","socials":{},"key":null,"page":null},{"image_url":"https://github.com/italicize.png","url":"https://github.com/italicize","imageURL":"https://github.com/italicize.png","socials":{},"key":null,"page":null}],"frontMatter":{"authors":[{"image_url":"https://github.com/endiliey.png","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png"},{"image_url":"https://github.com/lex111.png","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png"},{"image_url":"https://github.com/slorber.png","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png"},{"image_url":"https://github.com/yangshun.png","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png"},{"image_url":"https://github.com/JoelMarcey.png","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png"},{"image_url":"https://github.com/Josh-Cena.png","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png"},{"image_url":"https://github.com/deltice.png","url":"https://github.com/deltice","imageURL":"https://github.com/deltice.png"},{"image_url":"https://github.com/SamChou19815.png","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png"},{"image_url":"https://github.com/ericnakagawa.png","url":"https://github.com/ericnakagawa","imageURL":"https://github.com/ericnakagawa.png"},{"image_url":"https://github.com/Simek.png","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png"},{"image_url":"https://github.com/hramos.png","url":"https://github.com/hramos","imageURL":"https://github.com/hramos.png"},{"image_url":"https://github.com/wgao19.png","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png"},{"image_url":"https://github.com/rickyvetter.png","url":"https://github.com/rickyvetter","imageURL":"https://github.com/rickyvetter.png"},{"image_url":"https://github.com/fanny.png","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png"},{"image_url":"https://github.com/armano2.png","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png"},{"image_url":"https://github.com/RDIL.png","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png"},{"image_url":"https://github.com/teikjun.png","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png"},{"image_url":"https://github.com/hong4rc.png","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png"},{"image_url":"https://github.com/anshulrgoyal.png","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png"},{"image_url":"https://github.com/italicize.png","url":"https://github.com/italicize","imageURL":"https://github.com/italicize.png"}],"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Third post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/21/dup-footnote"},"nextItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/11/13/dup-title"}},"content":"You can make a compact authors list without author names!"},{"id":"/2021/11/13/dup-title","metadata":{"permalink":"/tests/blog/2021/11/13/dup-title","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-11-13-dup-title.mdx","source":"@site/_dogfooding/_blog tests/2021-11-13-dup-title.mdx","title":"Post with duplicate title","description":"I hope I\'m still here","date":"2021-11-13T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":1,"hasTruncateMarker":false,"authors":[],"frontMatter":{"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Image-only authors","permalink":"/tests/blog/2022/01/20/image-only-authors"},"nextItem":{"title":"Blog post MDX require Feed tests","permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests"}},"content":"I hope I\'m still here"},{"id":"/2021/10/08/blog-post-mdx-require-feed-tests","metadata":{"permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-10-08-blog-post-mdx-require-feed-tests.mdx","source":"@site/_dogfooding/_blog tests/2021-10-08-blog-post-mdx-require-feed-tests.mdx","title":"Blog post MDX require Feed tests","description":"Some MDX tests, mostly to test how the RSS feed render those","date":"2021-10-08T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"},{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long"},{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long"},{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long"}],"readingTime":6.6,"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Blog post MDX require Feed tests","authors":["slorber"],"tags":["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"]},"unlisted":false,"prevItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/11/13/dup-title"},"nextItem":{"title":"Blog post MDX Feed tests","permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests"}},"content":"Some MDX tests, mostly to test how the RSS feed render those\\n\\n{/* truncate */}\\n\\nTest MDX with require calls\\n\\nimport useBaseUrl from \'@docusaurus/useBaseUrl\';\\n\\n<img src={useBaseUrl(\'/img/docusaurus.png\')} />\\n\\n<img src={require(\'../../static/img/docusaurus.png\').default} />\\n\\n<img src={require(\'@site/static/img/docusaurus.png\').default} />"},{"id":"/2021/10/07/blog-post-mdx-feed-tests","metadata":{"permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx","source":"@site/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx","title":"Blog post MDX Feed tests","description":"Some MDX tests, mostly to test how the RSS feed render those","date":"2021-10-07T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"},{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long"},{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long"},{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long"}],"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Blog post MDX Feed tests","authors":["slorber"],"tags":["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"],"hide_reading_time":true},"unlisted":false,"prevItem":{"title":"Blog post MDX require Feed tests","permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests"},"nextItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/09/13/dup-title"}},"content":"Some MDX tests, mostly to test how the RSS feed render those\\n\\n{/* truncate */}\\n\\n## Imports\\n\\nHere are some imports:\\n\\nimport Tabs from \'@theme/Tabs\';\\nimport TabItem from \'@theme/TabItem\';\\n\\n## Exports\\n\\nHere are some exports:\\n\\nexport const someExport = 42;\\n\\n## Tabs test\\n\\nHere are some tabs:\\n\\n<Tabs>\\n <TabItem value=\\"apple\\" label=\\"Apple\\">\\n This is an apple \uD83C\uDF4E\\n </TabItem>\\n <TabItem value=\\"orange\\" label=\\"Orange\\">\\n This is an orange \uD83C\uDF4A\\n </TabItem>\\n</Tabs>\\n\\nHere are some tabs, inside `mdx-code-block`:\\n\\n```mdx-code-block\\n<Tabs>\\n <TabItem value=\\"apple\\" label=\\"Apple\\">\\n This is an apple \uD83C\uDF4E\\n </TabItem>\\n <TabItem value=\\"orange\\" label=\\"Orange\\">\\n This is an orange \uD83C\uDF4A\\n </TabItem>\\n</Tabs>\\n```"},{"id":"/2021/09/13/dup-title","metadata":{"permalink":"/tests/blog/2021/09/13/dup-title","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-09-13-dup-title.mdx","source":"@site/_dogfooding/_blog tests/2021-09-13-dup-title.mdx","title":"Post with duplicate title","description":"See https://github.com/facebook/docusaurus/issues/6059. This one and 2021-11-13-dup-title.md should both show up.","date":"2021-09-13T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":2,"hasTruncateMarker":false,"authors":[{"name":"Josh-Cena1","socials":{},"key":null,"page":null},{"name":"Josh-Cena2","image_url":"https://github.com/Josh-Cena.png","imageURL":"https://github.com/Josh-Cena.png","socials":{},"key":null,"page":null},{"name":"Josh-Cena3","url":"https://github.com/Josh-Cena","socials":{},"key":null,"page":null},{"name":"Josh-Cena4","email":"sidechen2003@gmail.com","socials":{},"key":null,"page":null}],"frontMatter":{"tags":["paginated-tag"],"authors":[{"name":"Josh-Cena1"},{"name":"Josh-Cena2","image_url":"https://github.com/Josh-Cena.png","imageURL":"https://github.com/Josh-Cena.png"},{"name":"Josh-Cena3","url":"https://github.com/Josh-Cena"},{"name":"Josh-Cena4","email":"sidechen2003@gmail.com"}]},"unlisted":false,"prevItem":{"title":"Blog post MDX Feed tests","permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests"},"nextItem":{"title":"Multiple authors","permalink":"/tests/blog/2021/08/23/multiple-authors"}},"content":"See https://github.com/facebook/docusaurus/issues/6059. This one and [2021-11-13-dup-title.md](./2021-11-13-dup-title.mdx) should both show up."},{"id":"/2021/08/23/multiple-authors","metadata":{"permalink":"/tests/blog/2021/08/23/multiple-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-08-23-multiple-authors.mdx","source":"@site/_dogfooding/_blog tests/2021-08-23-multiple-authors.mdx","title":"Multiple authors","description":"You can have multiple authors for one blog post!","date":"2021-08-23T00:00:00.000Z","tags":[{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"},{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Long","permalink":"/tests/blog/tags/long"},{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long"},{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long"},{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long"},{"inline":false,"label":"Long-long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long-long"}],"readingTime":1.8,"hasTruncateMarker":false,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Josh-Cena","image_url":"https://avatars.githubusercontent.com/u/55398995?v=4","url":"https://joshcena.com","imageURL":"https://avatars.githubusercontent.com/u/55398995?v=4","socials":{},"key":null,"page":null}],"frontMatter":{"authors":["slorber",{"name":"Josh-Cena","image_url":"https://avatars.githubusercontent.com/u/55398995?v=4","url":"https://joshcena.com","imageURL":"https://avatars.githubusercontent.com/u/55398995?v=4"}],"tags":["blog","docusaurus","paginated-tag","long","long-long","long-long-long","long-long-long-long","long-long-long-long-long"]},"unlisted":false,"prevItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/09/13/dup-title"},"nextItem":{"title":"Hmmm!","permalink":"/tests/blog/2021/08/22/no-author"}},"content":"You can have multiple authors for one blog post!"},{"id":"/2021/08/22/no-author","metadata":{"permalink":"/tests/blog/2021/08/22/no-author","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-08-22-no-author.mdx","source":"@site/_dogfooding/_blog tests/2021-08-22-no-author.mdx","title":"Hmmm!","description":"This is a blog post from an anonymous author!","date":"2021-08-22T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":3.4,"hasTruncateMarker":false,"authors":[],"frontMatter":{"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Multiple authors","permalink":"/tests/blog/2021/08/23/multiple-authors"},"nextItem":{"title":"Blog TOC FrontMatter tests","permalink":"/tests/blog/2021/08/21/blog-post-toc-tests"}},"content":"This is a blog post from an anonymous author!\\n\\n```mdx-code-block\\nimport Partial from \\"./_partial.mdx\\"\\n\\n<Partial />\\n```"},{"id":"/2021/08/21/blog-post-toc-tests","metadata":{"permalink":"/tests/blog/2021/08/21/blog-post-toc-tests","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-08-21-blog-post-toc-tests.mdx","source":"@site/_dogfooding/_blog tests/2021-08-21-blog-post-toc-tests.mdx","title":"Blog TOC FrontMatter tests","description":"{/ truncate /}","date":"2021-08-21T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":1.8,"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Blog TOC FrontMatter tests","authors":["slorber"],"toc_min_heading_level":2,"toc_max_heading_level":4,"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Hmmm!","permalink":"/tests/blog/2021/08/22/no-author"},"nextItem":{"title":"Using twice the blog plugin","permalink":"/tests/blog/2020/08/03/demo/second-blog-intro"}},"content":"{/* truncate */}\\n\\nimport Content from \'@site/_dogfooding/_partials/toc-tests.mdx\';\\n\\n<Content />"},{"id":"/2020/08/03/demo/second-blog-intro","metadata":{"permalink":"/tests/blog/2020/08/03/demo/second-blog-intro","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/demo/2020-08-03-second-blog-intro.mdx","source":"@site/_dogfooding/_blog tests/demo/2020-08-03-second-blog-intro.mdx","title":"Using twice the blog plugin","description":"Did you know you can use multiple instances of the same plugin?","date":"2020-08-03T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"}],"readingTime":7,"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Using twice the blog plugin","authors":["slorber"],"tags":["paginated-tag","blog","docusaurus"]},"unlisted":false,"prevItem":{"title":"Blog TOC FrontMatter tests","permalink":"/tests/blog/2021/08/21/blog-post-toc-tests"}},"content":"Did you know you can use multiple instances of the same plugin?\\n\\n{/* truncate */}\\n\\n:::tip\\n\\nUsing twice the blog plugin permits you to create more than one blog on the same Docusaurus website!\\n\\n:::"}],"blogListPaginated":[{"items":["/2024/07/03/dual-author","/2024/07/03/multiple-authors","/2024/07/03/single-author"],"metadata":{"permalink":"/tests/blog","page":1,"postsPerPage":3,"totalPages":7,"totalCount":19,"nextPage":"/tests/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/2023/08/05/","/2023/07/19/a","/2023/07/19/b"],"metadata":{"permalink":"/tests/blog/page/2","page":2,"postsPerPage":3,"totalPages":7,"totalCount":19,"previousPage":"/tests/blog","nextPage":"/tests/blog/page/3","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/x/y/z.html","/2022/04/20/dup-footnote","/2022/01/22/dup-footnote"],"metadata":{"permalink":"/tests/blog/page/3","page":3,"postsPerPage":3,"totalPages":7,"totalCount":19,"previousPage":"/tests/blog/page/2","nextPage":"/tests/blog/page/4","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/2022/01/21/dup-footnote","/2022/01/20/image-only-authors","/2021/11/13/dup-title"],"metadata":{"permalink":"/tests/blog/page/4","page":4,"postsPerPage":3,"totalPages":7,"totalCount":19,"previousPage":"/tests/blog/page/3","nextPage":"/tests/blog/page/5","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/09/13/dup-title"],"metadata":{"permalink":"/tests/blog/page/5","page":5,"postsPerPage":3,"totalPages":7,"totalCount":19,"previousPage":"/tests/blog/page/4","nextPage":"/tests/blog/page/6","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/2021/08/23/multiple-authors","/2021/08/22/no-author","/2021/08/21/blog-post-toc-tests"],"metadata":{"permalink":"/tests/blog/page/6","page":6,"postsPerPage":3,"totalPages":7,"totalCount":19,"previousPage":"/tests/blog/page/5","nextPage":"/tests/blog/page/7","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/2020/08/03/demo/second-blog-intro"],"metadata":{"permalink":"/tests/blog/page/7","page":7,"postsPerPage":3,"totalPages":7,"totalCount":19,"previousPage":"/tests/blog/page/6","blogDescription":"Blog","blogTitle":"Blog"}}],"blogTags":{"/tests/blog/tags/paginated-tag":{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag","items":["/x/y/z.html","/2022/01/20/image-only-authors","/2021/11/13/dup-title","/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/09/13/dup-title","/2021/08/23/multiple-authors","/2021/08/22/no-author","/2021/08/21/blog-post-toc-tests","/2020/08/03/demo/second-blog-intro"],"pages":[{"items":["/x/y/z.html","/2022/01/20/image-only-authors","/2021/11/13/dup-title"],"metadata":{"permalink":"/tests/blog/tags/paginated-tag","page":1,"postsPerPage":3,"totalPages":4,"totalCount":10,"nextPage":"/tests/blog/tags/paginated-tag/page/2","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/09/13/dup-title"],"metadata":{"permalink":"/tests/blog/tags/paginated-tag/page/2","page":2,"postsPerPage":3,"totalPages":4,"totalCount":10,"previousPage":"/tests/blog/tags/paginated-tag","nextPage":"/tests/blog/tags/paginated-tag/page/3","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/2021/08/23/multiple-authors","/2021/08/22/no-author","/2021/08/21/blog-post-toc-tests"],"metadata":{"permalink":"/tests/blog/tags/paginated-tag/page/3","page":3,"postsPerPage":3,"totalPages":4,"totalCount":10,"previousPage":"/tests/blog/tags/paginated-tag/page/2","nextPage":"/tests/blog/tags/paginated-tag/page/4","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/2020/08/03/demo/second-blog-intro"],"metadata":{"permalink":"/tests/blog/tags/paginated-tag/page/4","page":4,"postsPerPage":3,"totalPages":4,"totalCount":10,"previousPage":"/tests/blog/tags/paginated-tag/page/3","blogDescription":"Blog","blogTitle":"Blog"}}],"unlisted":false},"/tests/blog/tags/blog":{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog","items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/08/23/multiple-authors","/2020/08/03/demo/second-blog-intro"],"pages":[{"items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/08/23/multiple-authors"],"metadata":{"permalink":"/tests/blog/tags/blog","page":1,"postsPerPage":3,"totalPages":2,"totalCount":4,"nextPage":"/tests/blog/tags/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/2020/08/03/demo/second-blog-intro"],"metadata":{"permalink":"/tests/blog/tags/blog/page/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":4,"previousPage":"/tests/blog/tags/blog","blogDescription":"Blog","blogTitle":"Blog"}}],"unlisted":false},"/tests/blog/tags/visibility":{"inline":false,"label":"Visibility","permalink":"/tests/blog/tags/visibility","items":["/unlisted-post"],"pages":[{"items":["/unlisted-post"],"metadata":{"permalink":"/tests/blog/tags/visibility","page":1,"postsPerPage":3,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}],"unlisted":true},"/tests/blog/tags/unlisted":{"inline":false,"label":"Unlisted","permalink":"/tests/blog/tags/unlisted","items":["/unlisted-post"],"pages":[{"items":["/unlisted-post"],"metadata":{"permalink":"/tests/blog/tags/unlisted","page":1,"postsPerPage":3,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}],"unlisted":true},"/tests/blog/tags/docusaurus":{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus","items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/08/23/multiple-authors","/2020/08/03/demo/second-blog-intro"],"pages":[{"items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/08/23/multiple-authors"],"metadata":{"permalink":"/tests/blog/tags/docusaurus","page":1,"postsPerPage":3,"totalPages":2,"totalCount":4,"nextPage":"/tests/blog/tags/docusaurus/page/2","blogDescription":"Blog","blogTitle":"Blog"}},{"items":["/2020/08/03/demo/second-blog-intro"],"metadata":{"permalink":"/tests/blog/tags/docusaurus/page/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":4,"previousPage":"/tests/blog/tags/docusaurus","blogDescription":"Blog","blogTitle":"Blog"}}],"unlisted":false},"/tests/blog/tags/long-long":{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long","items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/08/23/multiple-authors"],"pages":[{"items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/08/23/multiple-authors"],"metadata":{"permalink":"/tests/blog/tags/long-long","page":1,"postsPerPage":3,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}],"unlisted":false},"/tests/blog/tags/long-long-long":{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long","items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/08/23/multiple-authors"],"pages":[{"items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/08/23/multiple-authors"],"metadata":{"permalink":"/tests/blog/tags/long-long-long","page":1,"postsPerPage":3,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}],"unlisted":false},"/tests/blog/tags/long-long-long-long":{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long","items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/08/23/multiple-authors"],"pages":[{"items":["/2021/10/08/blog-post-mdx-require-feed-tests","/2021/10/07/blog-post-mdx-feed-tests","/2021/08/23/multiple-authors"],"metadata":{"permalink":"/tests/blog/tags/long-long-long-long","page":1,"postsPerPage":3,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}],"unlisted":false},"/tests/blog/tags/long":{"inline":false,"label":"Long","permalink":"/tests/blog/tags/long","items":["/2021/08/23/multiple-authors"],"pages":[{"items":["/2021/08/23/multiple-authors"],"metadata":{"permalink":"/tests/blog/tags/long","page":1,"postsPerPage":3,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}],"unlisted":false},"/tests/blog/tags/long-long-long-long-long":{"inline":false,"label":"Long-long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long-long","items":["/2021/08/23/multiple-authors"],"pages":[{"items":["/2021/08/23/multiple-authors"],"metadata":{"permalink":"/tests/blog/tags/long-long-long-long-long","page":1,"postsPerPage":3,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}],"unlisted":false}},"blogTagsListPath":"/tests/blog/tags","authorsMap":{"slorber":{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"},"ozaki":{"name":"ozaki","page":{"permalink":"/tests/blog/authors/custom/ozaki/permalink"},"key":"ozaki"}}}},"docusaurus-plugin-content-pages":{"default":[{"type":"jsx","permalink":"/","source":"@site/src/pages/index.tsx"},{"type":"mdx","permalink":"/tests","source":"@site/src/pages/tests.mdx","title":"Tests","description":"Docusaurus use some extra plugin instances for testing / dogfooding purpose:","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/src/pages/tests.mdx","unlisted":false},{"type":"jsx","permalink":"/versions","source":"@site/src/pages/versions.tsx"},{"type":"mdx","permalink":"/examples/markdownPageExample","source":"@site/src/pages/examples/markdownPageExample.mdx","title":"Markdown Page example","description":"Markdown Page example","frontMatter":{"title":"Markdown Page example","description":"Markdown Page example","wrapperClassName":"docusaurus-markdown-example"},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/src/pages/examples/markdownPageExample.mdx","unlisted":false},{"type":"mdx","permalink":"/examples/noIndex","source":"@site/src/pages/examples/noIndex.mdx","title":"No Index Page example","description":"This page will not be indexed by search engines because it contains the page following page metadata markup:","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/src/pages/examples/noIndex.mdx","unlisted":false},{"type":"jsx","permalink":"/showcase/","source":"@site/src/pages/showcase/index.tsx"}],"pages-tests":[{"type":"jsx","permalink":"/tests/pages/analytics","source":"@site/_dogfooding/_pages tests/analytics.tsx"},{"type":"mdx","permalink":"/tests/pages/code-block-tests","source":"@site/_dogfooding/_pages tests/code-block-tests.mdx","title":"Code block tests","description":"This test page is quite outdated: MDX v2 lowercase tags are not substituted anymore in the same way as they were in v1.","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/code-block-tests.mdx","unlisted":false},{"type":"jsx","permalink":"/tests/pages/crashTest","source":"@site/_dogfooding/_pages tests/crashTest.tsx"},{"type":"mdx","permalink":"/tests/pages/diagrams","source":"@site/_dogfooding/_pages tests/diagrams.mdx","title":"Diagram Examples","description":"Invalid Diagrams","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/diagrams.mdx","unlisted":false},{"type":"jsx","permalink":"/tests/pages/embeds","source":"@site/_dogfooding/_pages tests/embeds.tsx"},{"type":"jsx","permalink":"/tests/pages/error-boundary-tests","source":"@site/_dogfooding/_pages tests/error-boundary-tests.tsx"},{"type":"mdx","permalink":"/tests/pages/head-metadata","source":"@site/_dogfooding/_pages tests/head-metadata.mdx","description":"Head Metadata tests","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/head-metadata.mdx","unlisted":false},{"type":"jsx","permalink":"/tests/pages/hydration-tests","source":"@site/_dogfooding/_pages tests/hydration-tests.tsx"},{"type":"mdx","permalink":"/tests/pages/","source":"@site/_dogfooding/_pages tests/index.mdx","description":"Page","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/index.mdx","unlisted":false},{"type":"jsx","permalink":"/tests/pages/layout-no-children","source":"@site/_dogfooding/_pages tests/layout-no-children.tsx"},{"type":"jsx","permalink":"/tests/pages/link-tests","source":"@site/_dogfooding/_pages tests/link-tests.tsx"},{"type":"mdx","permalink":"/tests/pages/markdown-tests-md","source":"@site/_dogfooding/_pages tests/markdown-tests-md.md","title":"Markdown Page tests title","description":"Markdown Page tests description","frontMatter":{"title":"Markdown Page tests title","description":"Markdown Page tests description","wrapperClassName":"docusaurus-markdown-example"},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/markdown-tests-md.md","unlisted":false},{"type":"mdx","permalink":"/tests/pages/markdown-tests-mdx","source":"@site/_dogfooding/_pages tests/markdown-tests-mdx.mdx","title":"Markdown Page tests title","description":"Markdown Page tests description","frontMatter":{"title":"Markdown Page tests title","description":"Markdown Page tests description","wrapperClassName":"docusaurus-markdown-example"},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/markdown-tests-mdx.mdx","unlisted":false},{"type":"mdx","permalink":"/tests/pages/navbar-dropdown-tests","source":"@site/_dogfooding/_pages tests/navbar-dropdown-tests.mdx","title":"navbar-dropdown-tests","description":"1. Make sure that the theme switcher is placed immediately after the language switcher in the navbar.","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/navbar-dropdown-tests.mdx","unlisted":false},{"type":"mdx","permalink":"/tests/pages/page-toc-tests","source":"@site/_dogfooding/_pages tests/page-toc-tests.mdx","frontMatter":{"toc_min_heading_level":2,"toc_max_heading_level":4},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/page-toc-tests.mdx","unlisted":false},{"type":"mdx","permalink":"/tests/pages/seo","source":"@site/_dogfooding/_pages tests/seo.md","title":"custom SEO title","description":"custom SEO description","frontMatter":{"title":"custom SEO title","description":"custom SEO description","keywords":["custom","keywords"],"image":"./local-image.png"},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/seo.md","unlisted":false},{"type":"mdx","permalink":"/tests/pages/tabs-tests","source":"@site/_dogfooding/_pages tests/tabs-tests.mdx","title":"Tabs tests","description":"Tabs sync with different heights","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/tabs-tests.mdx","unlisted":false},{"type":"mdx","permalink":"/tests/pages/unlisted","source":"@site/_dogfooding/_pages tests/unlisted.mdx","title":"Unlisted page","description":"This unlisted page should always be directly accessible, but hidden from search engines","frontMatter":{"unlisted":true},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/unlisted.mdx","unlisted":true},{"type":"jsx","permalink":"/tests/pages/z-index-tests","source":"@site/_dogfooding/_pages tests/z-index-tests.tsx"},{"type":"jsx","permalink":"/tests/pages/react-18/","source":"@site/_dogfooding/_pages tests/react-18/index.tsx"},{"type":"mdx","permalink":"/tests/pages/svg/","source":"@site/_dogfooding/_pages tests/svg/index.mdx","title":"Many inline SVGs","description":"Have a bunch of SVGs, they\'re written to intentionally override each others styled when inlined on the same page.","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/svg/index.mdx","unlisted":false}]},"docusaurus-plugin-debug":{},"docusaurus-plugin-google-gtag":{},"docusaurus-plugin-svgr":{},"docusaurus-theme-classic":{},"docusaurus-theme-search-algolia":{},"changelog-plugin":{"default":{"blogSidebarTitle":"Changelog","blogPosts":[{"id":"/3.7.0","metadata":{"permalink":"/changelog/3.7.0","source":"@site/changelog/source/3.7.0.md","title":"3.7.0","description":"New Feature","date":"2025-01-03T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alvin Bryan","alias":"alvinometric","url":"https://github.com/alvinometric","imageURL":"https://github.com/alvinometric.png","key":"alvinometric","page":null},{"name":"Lin Huang","alias":"codimiracle","url":"https://github.com/codimiracle","imageURL":"https://github.com/codimiracle.png","key":"codimiracle","page":null},{"name":"Zen","alias":"effozen","url":"https://github.com/effozen","imageURL":"https://github.com/effozen.png","key":"effozen","page":null},{"name":"Zed Spencer-Milnes","alias":"GingerGeek","url":"https://github.com/GingerGeek","imageURL":"https://github.com/GingerGeek.png","key":"GingerGeek","page":null},{"name":"Hichem Fantar","alias":"hichemfantar","url":"https://github.com/hichemfantar","imageURL":"https://github.com/hichemfantar.png","key":"hichemfantar","page":null},{"name":"Ivan Cheban","alias":"ivancheban","url":"https://github.com/ivancheban","imageURL":"https://github.com/ivancheban.png","key":"ivancheban","page":null},{"name":"Jake Boone","alias":"jakeboone02","url":"https://github.com/jakeboone02","imageURL":"https://github.com/jakeboone02.png","key":"jakeboone02","page":null},{"name":"Jan Aukema","alias":"janaukema","url":"https://github.com/janaukema","imageURL":"https://github.com/janaukema.png","key":"janaukema","page":null},{"name":"Lehoczky Zolt\xe1n","alias":"Lehoczky","url":"https://github.com/Lehoczky","imageURL":"https://github.com/Lehoczky.png","key":"Lehoczky","page":null},{"name":"Pierre Millot","alias":"millotp","url":"https://github.com/millotp","imageURL":"https://github.com/millotp.png","key":"millotp","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null},{"name":"Waldir Pimenta","alias":"waldyrious","url":"https://github.com/waldyrious","imageURL":"https://github.com/waldyrious.png","key":"waldyrious","page":null},{"name":"William Black","alias":"WillBlack403","url":"https://github.com/WillBlack403","imageURL":"https://github.com/WillBlack403.png","key":"WillBlack403","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2025-01-03T20:00","authors":["alvinometric","codimiracle","effozen","GingerGeek","hichemfantar","ivancheban","jakeboone02","janaukema","Lehoczky","millotp","slorber","taylorreece","waldyrious","WillBlack403"]},"unlisted":false,"nextItem":{"title":"3.6.3","permalink":"/changelog/3.6.3"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-faster`, `docusaurus`\\n - [#10800](https://github.com/facebook/docusaurus/pull/10800) feat(core): Turn Rspack incremental on by default (again) ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#10768](https://github.com/facebook/docusaurus/pull/10768) feat(blog): Add author social icons for bluesky, mastodon, threads, twitch, youtube, instagram ([@GingerGeek](https://github.com/GingerGeek))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-rsdoctor`, `docusaurus-plugin-sitemap`, `docusaurus-plugin-svgr`, `docusaurus-plugin-vercel-analytics`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus`\\n - [#10763](https://github.com/facebook/docusaurus/pull/10763) feat: Add React 19 support to Docusaurus v3 ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`\\n - [#10729](https://github.com/facebook/docusaurus/pull/10729) feat(blog): Add `frontMatter.sidebar_label` ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-svgr`, `docusaurus-preset-classic`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#10677](https://github.com/facebook/docusaurus/pull/10677) feat(svgr): create new Docusaurus SVGR plugin ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-remark-plugin-npm2yarn`\\n - [#10803](https://github.com/facebook/docusaurus/pull/10803) fix(npm-to-yarn): add missing npm-to-yarn converter for Bun ([@Lehoczky](https://github.com/Lehoczky))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#10796](https://github.com/facebook/docusaurus/pull/10796) fix(theme): Footer Column/Link should merge provided className ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`, `docusaurus-theme-common`\\n - [#10786](https://github.com/facebook/docusaurus/pull/10786) fix(core): fix React hydration errors, change html minifier settings ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-common`\\n - [#10782](https://github.com/facebook/docusaurus/pull/10782) fix(theme-common): code block magic comments should support SQL block comments ([@WillBlack403](https://github.com/WillBlack403))\\n- `docusaurus-theme-translations`\\n - [#10783](https://github.com/facebook/docusaurus/pull/10783) fix(theme-translations): Add missing Dutch (nl) theme translations ([@janaukema](https://github.com/janaukema))\\n - [#10760](https://github.com/facebook/docusaurus/pull/10760) fix(theme-translation): add missing Korean (ko) theme translations ([@effozen](https://github.com/effozen))\\n- `docusaurus-plugin-content-docs`\\n - [#10754](https://github.com/facebook/docusaurus/pull/10754) fix(docs): fix sidebar item visibility bug for category index ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#10727](https://github.com/facebook/docusaurus/pull/10727) fix(core): fix codegen routesChunkName possible hash collision ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`\\n - [#10723](https://github.com/facebook/docusaurus/pull/10723) fix(mdx-loader): fix md image paths with spaces bug related to transformImage encoding problem ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- [#10740](https://github.com/facebook/docusaurus/pull/10740) docs: Link initialization docs together ([@waldyrious](https://github.com/waldyrious))\\n\\n## :robot: Dependencies\\n\\n- [#10771](https://github.com/facebook/docusaurus/pull/10771) chore(deps): bump nanoid from 3.3.7 to 3.3.8 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10721](https://github.com/facebook/docusaurus/pull/10721) chore(deps): bump actions/dependency-review-action from 4.4.0 to 4.5.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n\\n## :wrench: Maintenance\\n\\n- Other\\n - [#10770](https://github.com/facebook/docusaurus/pull/10770) chore: Devcontainer upgrade to Ubuntu Noble & Node 22 ([@GingerGeek](https://github.com/GingerGeek))\\n- `docusaurus-theme-search-algolia`\\n - [#10801](https://github.com/facebook/docusaurus/pull/10801) refactor(algolia): simplify SearchBar component ([@slorber](https://github.com/slorber))\\n - [#10672](https://github.com/facebook/docusaurus/pull/10672) chore(algolia): upgrade algoliasearch to v5 ([@millotp](https://github.com/millotp))\\n- `docusaurus`\\n - [#10798](https://github.com/facebook/docusaurus/pull/10798) refactor(core): Use Intl native API to get locale direction, remove rtl-detect depend\u2026 ([@slorber](https://github.com/slorber))\\n - [#10747](https://github.com/facebook/docusaurus/pull/10747) refactor(core): swizzle wrap should use ReactNode instead of JSX.Element ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-module-type-aliases`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus`\\n - [#10746](https://github.com/facebook/docusaurus/pull/10746) refactor: prepare types for React 19 ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-common`\\n - [#10728](https://github.com/facebook/docusaurus/pull/10728) refactor(theme-common): change storageUtils useSyncExternalCode getSnapshot workaround ([@slorber](https://github.com/slorber))\\n\\n## Committers: 14\\n\\n- Alvin Bryan ([@alvinometric](https://github.com/alvinometric))\\n- Hichem Fantar ([@hichemfantar](https://github.com/hichemfantar))\\n- Ivan Cheban ([@ivancheban](https://github.com/ivancheban))\\n- Jake Boone ([@jakeboone02](https://github.com/jakeboone02))\\n- Jan Aukema ([@janaukema](https://github.com/janaukema))\\n- Lehoczky Zolt\xe1n ([@Lehoczky](https://github.com/Lehoczky))\\n- Lin Huang ([@codimiracle](https://github.com/codimiracle))\\n- Pierre Millot ([@millotp](https://github.com/millotp))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Taylor Reece ([@taylorreece](https://github.com/taylorreece))\\n- Waldir Pimenta ([@waldyrious](https://github.com/waldyrious))\\n- William Black ([@WillBlack403](https://github.com/WillBlack403))\\n- Zed Spencer-Milnes ([@GingerGeek](https://github.com/GingerGeek))\\n- Zen ([@effozen](https://github.com/effozen))"},{"id":"/3.6.3","metadata":{"permalink":"/changelog/3.6.3","source":"@site/changelog/source/3.6.3.md","title":"3.6.3","description":"Bug Fix","date":"2024-11-22T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-11-22T20:00","authors":["slorber"]},"unlisted":false,"prevItem":{"title":"3.7.0","permalink":"/changelog/3.7.0"},"nextItem":{"title":"3.6.2","permalink":"/changelog/3.6.2"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#10712](https://github.com/facebook/docusaurus/pull/10712) fix(core): disable Rspack incremental in dev ([@slorber](https://github.com/slorber))\\n\\n## Committers: 1\\n\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))"},{"id":"/3.6.2","metadata":{"permalink":"/changelog/3.6.2","source":"@site/changelog/source/3.6.2.md","title":"3.6.2","description":"Bug Fix","date":"2024-11-19T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Junior_Gx","alias":"goffxnca","url":"https://github.com/goffxnca","imageURL":"https://github.com/goffxnca.png","key":"goffxnca","page":null},{"name":"Kyle Tsang","alias":"kyletsang","url":"https://github.com/kyletsang","imageURL":"https://github.com/kyletsang.png","key":"kyletsang","page":null},{"name":"Ryoga","alias":"Ryoga-exe","url":"https://github.com/Ryoga-exe","imageURL":"https://github.com/Ryoga-exe.png","key":"Ryoga-exe","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Zwyx","alias":"Zwyx","url":"https://github.com/Zwyx","imageURL":"https://github.com/Zwyx.png","key":"Zwyx","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-11-19T20:00","authors":["goffxnca","kyletsang","Ryoga-exe","slorber","Zwyx"]},"unlisted":false,"prevItem":{"title":"3.6.3","permalink":"/changelog/3.6.3"},"nextItem":{"title":"3.6.1","permalink":"/changelog/3.6.1"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-module-type-aliases`\\n - [#10693](https://github.com/facebook/docusaurus/pull/10693) fix(types): add missing ambiant TS declarations for .md / .mdx partials ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#10688](https://github.com/facebook/docusaurus/pull/10688) fix(theme-translation): add and update Japanese translations ([@Ryoga-exe](https://github.com/Ryoga-exe))\\n- `docusaurus`\\n - [#10685](https://github.com/facebook/docusaurus/pull/10685) fix(cli): `docusaurus --help` should print plugin commands using `extendCli()` ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`\\n - [#10680](https://github.com/facebook/docusaurus/pull/10680) fix(bundler): allow CSS nesting by default, restore postcss-preset-env ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`\\n - [#10676](https://github.com/facebook/docusaurus/pull/10676) fix(create-docusaurus): add ts exclude to TS init template ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`, `docusaurus-faster`, `docusaurus`\\n - [#10648](https://github.com/facebook/docusaurus/pull/10648) fix(faster): Upgrade to Rspack 1.1.1, fix build progress bar display ([@slorber](https://github.com/slorber))\\n\\n## :wrench: Maintenance\\n\\n- [#10691](https://github.com/facebook/docusaurus/pull/10691) chore(ci): retry `yarn install` to ignore temporary network errors ([@slorber](https://github.com/slorber))\\n\\n## Committers: 5\\n\\n- Junior_Gx ([@goffxnca](https://github.com/goffxnca))\\n- Kyle Tsang ([@kyletsang](https://github.com/kyletsang))\\n- Ryoga ([@Ryoga-exe](https://github.com/Ryoga-exe))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Zwyx ([@Zwyx](https://github.com/Zwyx))"},{"id":"/3.6.1","metadata":{"permalink":"/changelog/3.6.1","source":"@site/changelog/source/3.6.1.md","title":"3.6.1","description":"Bug Fix","date":"2024-11-08T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Balthasar Hofer","alias":"lebalz","url":"https://github.com/lebalz","imageURL":"https://github.com/lebalz.png","key":"lebalz","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-11-08T20:00","authors":["lebalz","slorber"]},"unlisted":false,"prevItem":{"title":"3.6.2","permalink":"/changelog/3.6.2"},"nextItem":{"title":"3.6.0","permalink":"/changelog/3.6.0"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#10658](https://github.com/facebook/docusaurus/pull/10658) fix(core): bundler should not minimize static assets ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`, `docusaurus-faster`, `docusaurus-utils-common`, `docusaurus-utils`\\n - [#10649](https://github.com/facebook/docusaurus/pull/10649) fix(faster,utils): fix faster/types peerDependencies ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-bundler`, `docusaurus-types`, `docusaurus`\\n - [#10655](https://github.com/facebook/docusaurus/pull/10655) refactor(faster,bundler,core): improve js loader DX ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- [#10657](https://github.com/facebook/docusaurus/pull/10657) docs: fix old base ts config ref ([@slorber](https://github.com/slorber))\\n\\n## :wrench: Maintenance\\n\\n- `docusaurus-mdx-loader`\\n - [#10651](https://github.com/facebook/docusaurus/pull/10651) refactor(mdx-loader): streamline typescript usage for remark plugin types ([@lebalz](https://github.com/lebalz))\\n- Other\\n - [#10650](https://github.com/facebook/docusaurus/pull/10650) chore: Argos screenshot dogfooding test pages ([@slorber](https://github.com/slorber))\\n\\n## Committers: 2\\n\\n- Balthasar Hofer ([@lebalz](https://github.com/lebalz))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))"},{"id":"/3.6.0","metadata":{"permalink":"/changelog/3.6.0","source":"@site/changelog/source/3.6.0.md","title":"3.6.0","description":"New Feature","date":"2024-11-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Andrew Asche","alias":"andrewasche","url":"https://github.com/andrewasche","imageURL":"https://github.com/andrewasche.png","key":"andrewasche","page":null},{"name":"Boris Depoortere","alias":"B0r1sD","url":"https://github.com/B0r1sD","imageURL":"https://github.com/B0r1sD.png","key":"B0r1sD","page":null},{"name":"Chris Cho","alias":"ccho-mongodb","url":"https://github.com/ccho-mongodb","imageURL":"https://github.com/ccho-mongodb.png","key":"ccho-mongodb","page":null},{"name":"Flix","alias":"flixyudh","url":"https://github.com/flixyudh","imageURL":"https://github.com/flixyudh.png","key":"flixyudh","page":null},{"name":"Liviu Ionescu","alias":"ilg-ul","url":"https://github.com/ilg-ul","imageURL":"https://github.com/ilg-ul.png","key":"ilg-ul","page":null},{"name":"jackrabbit128","alias":"jackrabbit128","url":"https://github.com/jackrabbit128","imageURL":"https://github.com/jackrabbit128.png","key":"jackrabbit128","page":null},{"name":"k-seltzer","alias":"k-seltzer","url":"https://github.com/k-seltzer","imageURL":"https://github.com/k-seltzer.png","key":"k-seltzer","page":null},{"name":"Kenrick","alias":"kenrick95","url":"https://github.com/kenrick95","imageURL":"https://github.com/kenrick95.png","key":"kenrick95","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Kamil Moska\u0142a","alias":"moskalakamil","url":"https://github.com/moskalakamil","imageURL":"https://github.com/moskalakamil.png","key":"moskalakamil","page":null},{"name":"Nguy\u1EC5n Th\xe0nh Nam","alias":"namnguyenthanhwork","url":"https://github.com/namnguyenthanhwork","imageURL":"https://github.com/namnguyenthanhwork.png","key":"namnguyenthanhwork","page":null},{"name":"Olexandr88","alias":"Olexandr88","url":"https://github.com/Olexandr88","imageURL":"https://github.com/Olexandr88.png","key":"Olexandr88","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Patrick","alias":"patik123","url":"https://github.com/patik123","imageURL":"https://github.com/patik123.png","key":"patik123","page":null},{"name":"Radovenchyk","alias":"Radovenchyk","url":"https://github.com/Radovenchyk","imageURL":"https://github.com/Radovenchyk.png","key":"Radovenchyk","page":null},{"name":"Raghav","alias":"raghav2005","url":"https://github.com/raghav2005","imageURL":"https://github.com/raghav2005.png","key":"raghav2005","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Joel Campos","alias":"TheMineWay","url":"https://github.com/TheMineWay","imageURL":"https://github.com/TheMineWay.png","key":"TheMineWay","page":null},{"name":"Zenahr Barzani","alias":"Zenahr","url":"https://github.com/Zenahr","imageURL":"https://github.com/Zenahr.png","key":"Zenahr","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-11-04T20:00","authors":["andrewasche","B0r1sD","ccho-mongodb","flixyudh","ilg-ul","jackrabbit128","k-seltzer","kenrick95","moonrailgun","moskalakamil","namnguyenthanhwork","Olexandr88","OzakIOne","patik123","Radovenchyk","raghav2005","slorber","TheMineWay","Zenahr"]},"unlisted":false,"prevItem":{"title":"3.6.1","permalink":"/changelog/3.6.1"},"nextItem":{"title":"3.5.2","permalink":"/changelog/3.5.2"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#10586](https://github.com/facebook/docusaurus/pull/10586) feat(blog): Add `frontMatter.title_meta` to override title for SEO ([@ilg-ul](https://github.com/ilg-ul))\\n- `docusaurus`\\n - [#10600](https://github.com/facebook/docusaurus/pull/10600) feat(cli): build/deploy should allow multiple `--locale` options ([@slorber](https://github.com/slorber))\\n- `docusaurus-logger`\\n - [#10590](https://github.com/facebook/docusaurus/pull/10590) feat(core): add Node.js memory perf logging ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-rsdoctor`\\n - [#10588](https://github.com/facebook/docusaurus/pull/10588) feat: new Rsdoctor official plugin ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`, `docusaurus-faster`, `docusaurus-theme-classic`, `docusaurus`\\n - [#10402](https://github.com/facebook/docusaurus/pull/10402) feat(core): Replace Webpack with Rspack - `siteConfig.future.experimental_faster.rspackBundler` ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`, `docusaurus-faster`, `docusaurus-types`, `docusaurus`\\n - [#10554](https://github.com/facebook/docusaurus/pull/10554) feat(core): faster HTML minimizer - `siteConfig.future.experimental_faster.swcHtmlMinimizer` ([@slorber](https://github.com/slorber))\\n - [#10522](https://github.com/facebook/docusaurus/pull/10522) feat(core): faster CSS minimizer - `siteConfig.future.experimental_faster.lightningCssMinimizer` ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-mermaid`\\n - [#10510](https://github.com/facebook/docusaurus/pull/10510) feat(theme-mermaid): support Mermaid 11+ including new types of diagrams ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-types`, `docusaurus`\\n - [#10479](https://github.com/facebook/docusaurus/pull/10479) feat(core, mdx-loader): deduplicate MDX compilation - `siteConfig.future.experimental_faster.mdxCrossCompilerCache` ([@slorber](https://github.com/slorber))\\n- `docusaurus-faster`, `docusaurus-types`, `docusaurus`\\n - [#10441](https://github.com/facebook/docusaurus/pull/10441) feat(core): faster JS minimizer - `siteConfig.future.experimental_faster.swcJsMinimizer` ([@slorber](https://github.com/slorber))\\n- `docusaurus-faster`, `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus`\\n - [#10435](https://github.com/facebook/docusaurus/pull/10435) feat(core): faster transpiler option - `siteConfig.future.experimental_faster.swcJsLoader` ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-bundler`, `docusaurus`\\n - [#10632](https://github.com/facebook/docusaurus/pull/10632) fix(core): restore Rspack ProgressBar colors ([@slorber](https://github.com/slorber))\\n - [#10581](https://github.com/facebook/docusaurus/pull/10581) fix(core): fix handling of Swc html minifier warnings ([@slorber](https://github.com/slorber))\\n - [#10573](https://github.com/facebook/docusaurus/pull/10573) fix(core): move @docusaurus/faster to bundler peerDeps ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`\\n - [#10617](https://github.com/facebook/docusaurus/pull/10617) fix(faster): allow Rspack + babel-loader ([@slorber](https://github.com/slorber))\\n - [#10614](https://github.com/facebook/docusaurus/pull/10614) fix(faster): fix error message typo + add color ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#10618](https://github.com/facebook/docusaurus/pull/10618) fix(theme): Restore former globalThis.Prism ([@slorber](https://github.com/slorber))\\n - [#10585](https://github.com/facebook/docusaurus/pull/10585) fix(theme): light & dark mode checkbox doesn\'t announce state switches ([@andrewasche](https://github.com/andrewasche))\\n - [#10439](https://github.com/facebook/docusaurus/pull/10439) fix(theme): upgrade infima, fix footer link width bug ([@slorber](https://github.com/slorber))\\n- `docusaurus-faster`\\n - [#10616](https://github.com/facebook/docusaurus/pull/10616) fix(faster): add missing tslib dependency ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#10611](https://github.com/facebook/docusaurus/pull/10611) fix(core): fix DOCUSAURUS_CURRENT_LOCALE = \'undefined\' ([@slorber](https://github.com/slorber))\\n - [#10423](https://github.com/facebook/docusaurus/pull/10423) fix(core): always use hash for CSS module class names ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`, `docusaurus-faster`\\n - [#10605](https://github.com/facebook/docusaurus/pull/10605) fix(core): Use proper swc loader options ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#10551](https://github.com/facebook/docusaurus/pull/10551) fix(translations): complete missing slovenian theme translations ([@patik123](https://github.com/patik123))\\n - [#10507](https://github.com/facebook/docusaurus/pull/10507) fix(theme-translations): add missing Vietnamese translations ([@namnguyenthanhwork](https://github.com/namnguyenthanhwork))\\n - [#10413](https://github.com/facebook/docusaurus/pull/10413) fix(translations): fix Spanish translation for \\"breadcrumbs\\" ([@TheMineWay](https://github.com/TheMineWay))\\n- `docusaurus-mdx-loader`\\n - [#10553](https://github.com/facebook/docusaurus/pull/10553) fix(mdx-loader): fix cross-compiler cache randomly loading mdx with client/server envs ([@slorber](https://github.com/slorber))\\n- `docusaurus-tsconfig`\\n - [#10547](https://github.com/facebook/docusaurus/pull/10547) fix(tsconfig): add `@docusaurus/tsconfig` target es2022 ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`\\n - [#10424](https://github.com/facebook/docusaurus/pull/10424) fix(blog): normalize inline authors socials ([@OzakIOne](https://github.com/OzakIOne))\\n - [#10440](https://github.com/facebook/docusaurus/pull/10440) fix(blog): apply baseUrl to relative image in blog authors ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`\\n - [#10431](https://github.com/facebook/docusaurus/pull/10431) fix(blog): authors count incorrectly rendered ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-types`, `docusaurus`\\n - [#10420](https://github.com/facebook/docusaurus/pull/10420) fix(types): fix type of PluginModule ([@slorber](https://github.com/slorber))\\n\\n## :running: Performance\\n\\n- `docusaurus-bundler`, `docusaurus-faster`\\n - [#10605](https://github.com/facebook/docusaurus/pull/10605) fix(core): Use proper swc loader options ([@slorber](https://github.com/slorber))\\n- Other\\n - [#10601](https://github.com/facebook/docusaurus/pull/10601) perf(ci): Add CI checks to prevent memory, build-time and build-size regressions ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#10599](https://github.com/facebook/docusaurus/pull/10599) fix(core): fix i18n sites SSG memory leak - require.cache ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`\\n - [#10470](https://github.com/facebook/docusaurus/pull/10470) refactor(mdx-loader): re-export metadata module instead of serializing it ([@slorber](https://github.com/slorber))\\n - [#10457](https://github.com/facebook/docusaurus/pull/10457) refactor(mdx-loader): read metadata from memory (loaded content) instead of fs ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#10631](https://github.com/facebook/docusaurus/pull/10631) docs: fix frontMatter.mdx.format docs ([@slorber](https://github.com/slorber))\\n - [#10630](https://github.com/facebook/docusaurus/pull/10630) docs: Add missing API ref docs for Docusaurus Faster options ([@slorber](https://github.com/slorber))\\n - [#10592](https://github.com/facebook/docusaurus/pull/10592) docs: resource add docusaurus-i18n ([@moonrailgun](https://github.com/moonrailgun))\\n - [#10535](https://github.com/facebook/docusaurus/pull/10535) docs: add tip about harmless vulnerabilities ([@ilg-ul](https://github.com/ilg-ul))\\n - [#10545](https://github.com/facebook/docusaurus/pull/10545) docs: clarify component naming for markdown import ([@jackrabbit128](https://github.com/jackrabbit128))\\n - [#10416](https://github.com/facebook/docusaurus/pull/10416) docs: corrected typo in search.mdx ([@B0r1sD](https://github.com/B0r1sD))\\n - [#10405](https://github.com/facebook/docusaurus/pull/10405) docs(website): small spellfix on 3.5 update notes ([@Zenahr](https://github.com/Zenahr))\\n- `create-docusaurus`\\n - [#10608](https://github.com/facebook/docusaurus/pull/10608) docs: mention config/sidebars run in Node.js runtime ([@slorber](https://github.com/slorber))\\n\\n## :robot: Dependencies\\n\\n- Other\\n - [#10623](https://github.com/facebook/docusaurus/pull/10623) chore(deps): bump actions/setup-node from 4.0.4 to 4.1.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#10624](https://github.com/facebook/docusaurus/pull/10624) chore(deps): bump actions/dependency-review-action from 4.3.4 to 4.4.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#10539](https://github.com/facebook/docusaurus/pull/10539) chore(deps): bump preactjs/compressed-size-action from 2.6.0 to 2.7.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#10530](https://github.com/facebook/docusaurus/pull/10530) chore(deps): bump rollup from 2.79.1 to 2.79.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#10518](https://github.com/facebook/docusaurus/pull/10518) chore(deps): bump actions/setup-node from 4.0.2 to 4.0.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#10505](https://github.com/facebook/docusaurus/pull/10505) chore(deps): bump dompurify from 3.0.5 to 3.1.6 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#10488](https://github.com/facebook/docusaurus/pull/10488) chore(deps): bump express from 4.19.2 to 4.20.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#10449](https://github.com/facebook/docusaurus/pull/10449) chore(deps): bump github/codeql-action from 3.26.3 to 3.26.5 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#10444](https://github.com/facebook/docusaurus/pull/10444) chore(deps): bump micromatch from 4.0.5 to 4.0.8 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#10425](https://github.com/facebook/docusaurus/pull/10425) chore(deps): bump github/codeql-action from 3.26.0 to 3.26.3 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- `docusaurus-plugin-pwa`\\n - [#10455](https://github.com/facebook/docusaurus/pull/10455) chore(deps): bump webpack from 5.88.1 to 5.94.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n\\n## :wrench: Maintenance\\n\\n- Other\\n - [#10612](https://github.com/facebook/docusaurus/pull/10612) chore: fix canary version prefix ([@slorber](https://github.com/slorber))\\n - [#10438](https://github.com/facebook/docusaurus/pull/10438) chore(ci): fix setup-node, use LTS by default ([@slorber](https://github.com/slorber))\\n - [#10418](https://github.com/facebook/docusaurus/pull/10418) chore(website): add Rsdoctor plugin ([@slorber](https://github.com/slorber))\\n- `docusaurus-babel`, `docusaurus-bundler`, `docusaurus-mdx-loader`, `docusaurus-plugin-debug`, `docusaurus-plugin-pwa`, `docusaurus-plugin-rsdoctor`, `docusaurus-theme-live-codeblock`, `docusaurus`\\n - [#10610](https://github.com/facebook/docusaurus/pull/10610) chore: upgrade minor dependencies ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`, `docusaurus-faster`\\n - [#10609](https://github.com/facebook/docusaurus/pull/10609) chore: upgrade faster packages ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`, `docusaurus-logger`, `docusaurus-types`, `docusaurus`\\n - [#10593](https://github.com/facebook/docusaurus/pull/10593) refactor(core): refactor SSG infrastructure ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#10587](https://github.com/facebook/docusaurus/pull/10587) refactor(core): replace serve-handler fork by official deps ([@slorber](https://github.com/slorber))\\n - [#10579](https://github.com/facebook/docusaurus/pull/10579) refactor(core): remove useless Webpack wait plugin ([@slorber](https://github.com/slorber))\\n - [#10485](https://github.com/facebook/docusaurus/pull/10485) refactor(core): rewrite Webpack ChunkAssetPlugin with RuntimeModule ([@slorber](https://github.com/slorber))\\n - [#10448](https://github.com/facebook/docusaurus/pull/10448) refactor(core): Restore null-loader ([@slorber](https://github.com/slorber))\\n - [#10442](https://github.com/facebook/docusaurus/pull/10442) fix(core): use serve-handler fork to remove annoying punycode warning ([@slorber](https://github.com/slorber))\\n - [#10410](https://github.com/facebook/docusaurus/pull/10410) refactor(core): remove useless build forceTerminate exit ([@slorber](https://github.com/slorber))\\n- `docusaurus-bundler`, `docusaurus-plugin-pwa`, `docusaurus-types`, `docusaurus`\\n - [#10548](https://github.com/facebook/docusaurus/pull/10548) chore: upgrade Webpack to 5.95 and related deps ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`\\n - [#10514](https://github.com/facebook/docusaurus/pull/10514) refactor: remove babel.config.js from init templates + website ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-babel`, `docusaurus-bundler`, `docusaurus-mdx-loader`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-translations`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#10511](https://github.com/facebook/docusaurus/pull/10511) refactor: create `@docusaurus/bundler` and `@docusaurus/babel` packages ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-mermaid`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`\\n - [#10509](https://github.com/facebook/docusaurus/pull/10509) chore: Rename Twitter links/labels to X ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus`\\n - [#10497](https://github.com/facebook/docusaurus/pull/10497) refactor(core): prepare codebase for swappable bundler ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-utils`\\n - [#10486](https://github.com/facebook/docusaurus/pull/10486) chore: upgrade to TS 5.6 + temporarily use skipLibCheck for TS 5.6 ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-logger`, `docusaurus-theme-translations`, `docusaurus`\\n - [#10480](https://github.com/facebook/docusaurus/pull/10480) refactor: move PerfLogger from core to @docusaurus/logger ([@slorber](https://github.com/slorber))\\n- `docusaurus-remark-plugin-npm2yarn`\\n - [#10454](https://github.com/facebook/docusaurus/pull/10454) chore: upgrade npm-to-yarn to v3 ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus`\\n - [#10450](https://github.com/facebook/docusaurus/pull/10450) refactor(mdx-loader): refactor mdx-loader, expose loader creation utils ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-utils`, `docusaurus`\\n - [#10429](https://github.com/facebook/docusaurus/pull/10429) refactor(core): improve handling of server bundle ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`\\n - [#10422](https://github.com/facebook/docusaurus/pull/10422) refactor(mdx-loader): remove useless usage of mdx loader this.query ([@slorber](https://github.com/slorber))\\n\\n## Committers: 19\\n\\n- Andrew Asche ([@andrewasche](https://github.com/andrewasche))\\n- Boris Depoortere ([@B0r1sD](https://github.com/B0r1sD))\\n- Chris Cho ([@ccho-mongodb](https://github.com/ccho-mongodb))\\n- Flix ([@flixyudh](https://github.com/flixyudh))\\n- Joel Campos ([@TheMineWay](https://github.com/TheMineWay))\\n- Kamil Moska\u0142a ([@moskalakamil](https://github.com/moskalakamil))\\n- Kenrick ([@kenrick95](https://github.com/kenrick95))\\n- Liviu Ionescu ([@ilg-ul](https://github.com/ilg-ul))\\n- Nguy\u1EC5n Th\xe0nh Nam ([@namnguyenthanhwork](https://github.com/namnguyenthanhwork))\\n- Patrick ([@patik123](https://github.com/patik123))\\n- Raghav ([@raghav2005](https://github.com/raghav2005))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Zenahr Barzani ([@Zenahr](https://github.com/Zenahr))\\n- [@Olexandr88](https://github.com/Olexandr88)\\n- [@Radovenchyk](https://github.com/Radovenchyk)\\n- [@jackrabbit128](https://github.com/jackrabbit128)\\n- [@k-seltzer](https://github.com/k-seltzer)\\n- moonrailgun ([@moonrailgun](https://github.com/moonrailgun))\\n- ozaki ([@OzakIOne](https://github.com/OzakIOne))"},{"id":"/3.5.2","metadata":{"permalink":"/changelog/3.5.2","source":"@site/changelog/source/3.5.2.md","title":"3.5.2","description":"Bug Fix","date":"2024-08-13T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Christian Stangerup","alias":"cstangerup","url":"https://github.com/cstangerup","imageURL":"https://github.com/cstangerup.png","key":"cstangerup","page":null},{"name":"Gatien Boquet","alias":"GatienBoquet","url":"https://github.com/GatienBoquet","imageURL":"https://github.com/GatienBoquet.png","key":"GatienBoquet","page":null},{"name":"Josh Wong","alias":"josh-wong","url":"https://github.com/josh-wong","imageURL":"https://github.com/josh-wong.png","key":"josh-wong","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-08-13T20:00","authors":["cstangerup","GatienBoquet","josh-wong","slorber"]},"unlisted":false,"prevItem":{"title":"3.6.0","permalink":"/changelog/3.6.0"},"nextItem":{"title":"3.5.1","permalink":"/changelog/3.5.1"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-common`\\n - [#10397](https://github.com/facebook/docusaurus/pull/10397) fix(theme-common): restore useContextualSearchFilters public API for retrocompatibility ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#10391](https://github.com/facebook/docusaurus/pull/10391) fix(core): always alias React/ReactDOM to site dependency so that importing MDX from anywhere works ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-plugin-content-blog`\\n - [#10392](https://github.com/facebook/docusaurus/pull/10392) fix(create-docusaurus): Improve init templates blog setup + fix warnings ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#10390](https://github.com/facebook/docusaurus/pull/10390) fix(theme): Adjust blog authors line height to show descenders in lowercase letters (`g`, `j`, `p`, `q`, and `y`) ([@josh-wong](https://github.com/josh-wong))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`\\n - [#10394](https://github.com/facebook/docusaurus/pull/10394) fix(translations): change casing of some en labels ([@cstangerup](https://github.com/cstangerup))\\n\\n## :memo: Documentation\\n\\n- [#10393](https://github.com/facebook/docusaurus/pull/10393) docs(showcase): remove sites not using Docusaurus anymore ([@GatienBoquet](https://github.com/GatienBoquet))\\n\\n## :robot: Dependencies\\n\\n- [#10396](https://github.com/facebook/docusaurus/pull/10396) chore(deps): bump github/codeql-action from 3.25.13 to 3.26.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n\\n## Committers: 4\\n\\n- Christian Stangerup ([@cstangerup](https://github.com/cstangerup))\\n- Gatien Boquet ([@GatienBoquet](https://github.com/GatienBoquet))\\n- Josh Wong ([@josh-wong](https://github.com/josh-wong))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))"},{"id":"/3.5.1","metadata":{"permalink":"/changelog/3.5.1","source":"@site/changelog/source/3.5.1.md","title":"3.5.1","description":"Bug Fix","date":"2024-08-09T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Sunghyun Cho","alias":"anaclumos","url":"https://github.com/anaclumos","imageURL":"https://github.com/anaclumos.png","key":"anaclumos","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-08-09T20:00","authors":["anaclumos","slorber"]},"unlisted":false,"prevItem":{"title":"3.5.2","permalink":"/changelog/3.5.2"},"nextItem":{"title":"3.5.0","permalink":"/changelog/3.5.0"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-search-algolia`\\n - [#10384](https://github.com/facebook/docusaurus/pull/10384) fix(core): algolia context import ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-search-algolia`\\n - [#10382](https://github.com/facebook/docusaurus/pull/10382) fix(theme-algolia): useDocusaurusContext import error ([@anaclumos](https://github.com/anaclumos))\\n\\n## Committers: 2\\n\\n- Sunghyun Cho ([@anaclumos](https://github.com/anaclumos))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))"},{"id":"/3.5.0","metadata":{"permalink":"/changelog/3.5.0","source":"@site/changelog/source/3.5.0.md","title":"3.5.0","description":"New Feature","date":"2024-08-09T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alice Zhao","alias":"alicelovescake","url":"https://github.com/alicelovescake","imageURL":"https://github.com/alicelovescake.png","key":"alicelovescake","page":null},{"name":"Ashiq Firoz","alias":"ashiq-firoz","url":"https://github.com/ashiq-firoz","imageURL":"https://github.com/ashiq-firoz.png","key":"ashiq-firoz","page":null},{"name":"Mohammad Bagher Abiyat","alias":"Aslemammad","url":"https://github.com/Aslemammad","imageURL":"https://github.com/Aslemammad.png","key":"Aslemammad","page":null},{"name":"Bharatesh","alias":"bharateshwq","url":"https://github.com/bharateshwq","imageURL":"https://github.com/bharateshwq.png","key":"bharateshwq","page":null},{"name":"\uC815\uBCF4\uD604 Bohyun Jung","alias":"bohyunjung","url":"https://github.com/bohyunjung","imageURL":"https://github.com/bohyunjung.png","key":"bohyunjung","page":null},{"name":"Markus Tamm","alias":"chirbard","url":"https://github.com/chirbard","imageURL":"https://github.com/chirbard.png","key":"chirbard","page":null},{"name":"Daniel Li","alias":"d4nyll","url":"https://github.com/d4nyll","imageURL":"https://github.com/d4nyll.png","key":"d4nyll","page":null},{"name":"Dhaya","alias":"dhayab","url":"https://github.com/dhayab","imageURL":"https://github.com/dhayab.png","key":"dhayab","page":null},{"name":"franzd1","alias":"franzd1","url":"https://github.com/franzd1","imageURL":"https://github.com/franzd1.png","key":"franzd1","page":null},{"name":"Robin Otter","alias":"Gekd","url":"https://github.com/Gekd","imageURL":"https://github.com/Gekd.png","key":"Gekd","page":null},{"name":"Hichem Fantar","alias":"hichemfantar","url":"https://github.com/hichemfantar","imageURL":"https://github.com/hichemfantar.png","key":"hichemfantar","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Balthasar Hofer","alias":"lebalz","url":"https://github.com/lebalz","imageURL":"https://github.com/lebalz.png","key":"lebalz","page":null},{"name":"Max Schmitt","alias":"mxschmitt","url":"https://github.com/mxschmitt","imageURL":"https://github.com/mxschmitt.png","key":"mxschmitt","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Paneedah","alias":"Paneedah","url":"https://github.com/Paneedah","imageURL":"https://github.com/Paneedah.png","key":"Paneedah","page":null},{"name":"Aaron Chen","alias":"pjchender","url":"https://github.com/pjchender","imageURL":"https://github.com/pjchender.png","key":"pjchender","page":null},{"name":"Priyadi Iman Nurcahyo","alias":"priyadi","url":"https://github.com/priyadi","imageURL":"https://github.com/priyadi.png","key":"priyadi","page":null},{"name":"Sergio","alias":"sergioalmela","url":"https://github.com/sergioalmela","imageURL":"https://github.com/sergioalmela.png","key":"sergioalmela","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tatsunori Uchino","alias":"tats-u","url":"https://github.com/tats-u","imageURL":"https://github.com/tats-u.png","key":"tats-u","page":null},{"name":"Julian V","alias":"ultimate","url":"https://github.com/ultimate","imageURL":"https://github.com/ultimate.png","key":"ultimate","page":null},{"name":"Rohan Thakur","alias":"Xebec19","url":"https://github.com/Xebec19","imageURL":"https://github.com/Xebec19.png","key":"Xebec19","page":null},{"name":"yujonglee","alias":"yujonglee","url":"https://github.com/yujonglee","imageURL":"https://github.com/yujonglee.png","key":"yujonglee","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-08-09T19:00","authors":["alicelovescake","ashiq-firoz","Aslemammad","bharateshwq","bohyunjung","chirbard","d4nyll","dhayab","franzd1","Gekd","hichemfantar","johnnyreilly","Josh-Cena","lebalz","mxschmitt","OzakIOne","Paneedah","pjchender","priyadi","sergioalmela","slorber","tats-u","ultimate","Xebec19","yujonglee"]},"unlisted":false,"prevItem":{"title":"3.5.1","permalink":"/changelog/3.5.1"},"nextItem":{"title":"3.4.0","permalink":"/changelog/3.4.0"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-blog`\\n - [#10375](https://github.com/facebook/docusaurus/pull/10375) feat(blog): add `onUntruncatedBlogPosts` blog options ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`\\n - [#10376](https://github.com/facebook/docusaurus/pull/10376) feat(theme): show unlisted/draft banners in dev mode ([@OzakIOne](https://github.com/OzakIOne))\\n- `create-docusaurus`, `docusaurus-plugin-content-blog`\\n - [#9252](https://github.com/facebook/docusaurus/pull/9252) feat(blog): add feed xlst options to render beautiful RSS and Atom feeds ([@Xebec19](https://github.com/Xebec19))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`, `docusaurus-utils`\\n - [#10216](https://github.com/facebook/docusaurus/pull/10216) feat(blog): authors page ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-theme-translations`\\n - [#10339](https://github.com/facebook/docusaurus/pull/10339) feat(translation): add Estonian default translation ([@chirbard](https://github.com/chirbard))\\n - [#10325](https://github.com/facebook/docusaurus/pull/10325) feat(translations): Indonesian translation ([@priyadi](https://github.com/priyadi))\\n- `docusaurus-mdx-loader`\\n - [#10335](https://github.com/facebook/docusaurus/pull/10335) feat(mdx-loader): wrap mdx content title (`# Title`) in `<header>` for concistency ([@OzakIOne](https://github.com/OzakIOne))\\n- `create-docusaurus`, `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-utils`\\n - [#10222](https://github.com/facebook/docusaurus/pull/10222) feat(blog): author header social icons ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-plugin-vercel-analytics`, `docusaurus-types`, `docusaurus`\\n - [#10286](https://github.com/facebook/docusaurus/pull/10286) feat(core): allow plugins to self-disable by returning null ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#10252](https://github.com/facebook/docusaurus/pull/10252) feat(blog): group sidebar items by year (`themeConfig.blog.sidebar.groupByYear`) ([@alicelovescake](https://github.com/alicelovescake))\\n- `docusaurus-plugin-content-blog`, `docusaurus-utils`\\n - [#10224](https://github.com/facebook/docusaurus/pull/10224) feat(blog): warn duplicate and inline authors ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils-validation`\\n - [#10241](https://github.com/facebook/docusaurus/pull/10241) feat(mdx): support recma plugins ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-translations`\\n - [#10344](https://github.com/facebook/docusaurus/pull/10344) fix(translations): fix wrong Estonian (et) translations and typos ([@Gekd](https://github.com/Gekd))\\n - [#10360](https://github.com/facebook/docusaurus/pull/10360) fix(translations): Fix and Improve Spanish translations ([@sergioalmela](https://github.com/sergioalmela))\\n - [#10235](https://github.com/facebook/docusaurus/pull/10235) fix(theme-translation): add missing German (de) theme.admonition translations ([@franzd1](https://github.com/franzd1))\\n- `docusaurus-theme-search-algolia`\\n - [#10342](https://github.com/facebook/docusaurus/pull/10342) fix(search): fix algolia search ignore ctrl + F in search input ([@mxschmitt](https://github.com/mxschmitt))\\n- `docusaurus-plugin-content-docs`\\n - [#10324](https://github.com/facebook/docusaurus/pull/10324) fix(docs): the _category_.json description attribute should display on generated index pages ([@bharateshwq](https://github.com/bharateshwq))\\n - [#10309](https://github.com/facebook/docusaurus/pull/10309) fix(theme): docsVersionDropdown navbar item not showing the appropriate version ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus`\\n - [#10368](https://github.com/facebook/docusaurus/pull/10368) fix(cli): Fix bad docusaurus CLI behavior on for --version, -V, --help, -h ([@ashiq-firoz](https://github.com/ashiq-firoz))\\n - [#10311](https://github.com/facebook/docusaurus/pull/10311) fix(core): revert wrong anchor link implementation change ([@slorber](https://github.com/slorber))\\n - [#10239](https://github.com/facebook/docusaurus/pull/10239) fix(core): fail fast if plugin has no name ([@slorber](https://github.com/slorber))\\n - [#10225](https://github.com/facebook/docusaurus/pull/10225) fix(core): fix sites unable to start/build without a static dir ([@slorber](https://github.com/slorber))\\n - [#10223](https://github.com/facebook/docusaurus/pull/10223) fix: escape period ([@d4nyll](https://github.com/d4nyll))\\n- `docusaurus-theme-classic`\\n - [#10288](https://github.com/facebook/docusaurus/pull/10288) fix(theme): fix DocsVersionDropdownNavbarItem version link target ([@slorber](https://github.com/slorber))\\n - [#10219](https://github.com/facebook/docusaurus/pull/10219) fix(theme): ignored className attribute on lazy loaded TabItem ([@lebalz](https://github.com/lebalz))\\n- `docusaurus-utils`\\n - [#10240](https://github.com/facebook/docusaurus/pull/10240) fix(markdown): mdx-code-block should support intentation ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-translations`\\n - [#10257](https://github.com/facebook/docusaurus/pull/10257) chore(theme-translations): add more Traditional Chinese(zh-Hant) translations ([@pjchender](https://github.com/pjchender))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#10361](https://github.com/facebook/docusaurus/pull/10361) docs: rename @getcanary/docusaurus-pagefind in docs ([@yujonglee](https://github.com/yujonglee))\\n - [#10345](https://github.com/facebook/docusaurus/pull/10345) docs: Add @getcanary/docusaurus-pagefind in docs ([@yujonglee](https://github.com/yujonglee))\\n - [#10337](https://github.com/facebook/docusaurus/pull/10337) docs: fix default value for `docRootComponent` ([@ultimate](https://github.com/ultimate))\\n - [#10310](https://github.com/facebook/docusaurus/pull/10310) docs: remove deprecated partial toc warning ([@slorber](https://github.com/slorber))\\n - [#10245](https://github.com/facebook/docusaurus/pull/10245) docs: add emoji for consistency ([@Paneedah](https://github.com/Paneedah))\\n - [#10180](https://github.com/facebook/docusaurus/pull/10180) docs: backport #10173 to v3.3 + v3.4 & revise the content ([@tats-u](https://github.com/tats-u))\\n - [#10233](https://github.com/facebook/docusaurus/pull/10233) docs(search): update docsearch api url ([@dhayab](https://github.com/dhayab))\\n- `docusaurus-plugin-google-gtag`\\n - [#10338](https://github.com/facebook/docusaurus/pull/10338) docs(plugin-google-gtag): replace the broken Google Developers links with valid ones ([@bohyunjung](https://github.com/bohyunjung))\\n\\n## :robot: Dependencies\\n\\n- [#10330](https://github.com/facebook/docusaurus/pull/10330) chore(deps): bump github/codeql-action from 3.25.12 to 3.25.13 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10299](https://github.com/facebook/docusaurus/pull/10299) chore(deps): bump actions/dependency-review-action from 4.3.3 to 4.3.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10300](https://github.com/facebook/docusaurus/pull/10300) chore(deps): bump github/codeql-action from 3.25.11 to 3.25.12 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10259](https://github.com/facebook/docusaurus/pull/10259) chore(deps): bump github/codeql-action from 3.25.10 to 3.25.11 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10247](https://github.com/facebook/docusaurus/pull/10247) chore(deps): bump treosh/lighthouse-ci-action from 11.4.0 to 12.1.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10226](https://github.com/facebook/docusaurus/pull/10226) chore(deps): bump github/codeql-action from 3.25.8 to 3.25.10 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10227](https://github.com/facebook/docusaurus/pull/10227) chore(deps): bump ws from 7.5.9 to 7.5.10 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10210](https://github.com/facebook/docusaurus/pull/10210) chore(deps): bump braces from 3.0.2 to 3.0.3 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10209](https://github.com/facebook/docusaurus/pull/10209) chore(deps): bump actions/dependency-review-action from 4.3.2 to 4.3.3 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10208](https://github.com/facebook/docusaurus/pull/10208) chore(deps): bump github/codeql-action from 3.25.7 to 3.25.8 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10195](https://github.com/facebook/docusaurus/pull/10195) chore(deps): bump github/codeql-action from 3.25.6 to 3.25.7 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n\\n## :wrench: Maintenance\\n\\n- Other\\n - [#10369](https://github.com/facebook/docusaurus/pull/10369) feat(ci): continuous releases for main and PRs with pkg.pr.new ([@Aslemammad](https://github.com/Aslemammad))\\n- `docusaurus-theme-classic`\\n - [#10343](https://github.com/facebook/docusaurus/pull/10343) chore(deps): update infima npm dependency to version 0.2.0-alpha.44 ([@hichemfantar](https://github.com/hichemfantar))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`\\n - [#10316](https://github.com/facebook/docusaurus/pull/10316) refactor(docs): theme-common shouldn\'t depend on docs content ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#10313](https://github.com/facebook/docusaurus/pull/10313) refactor(blog): theme-common shouldn\'t depend on blog content plugins ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-plugin-vercel-analytics`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`, `lqip-loader`, `stylelint-copyright`\\n - [#10256](https://github.com/facebook/docusaurus/pull/10256) chore: simplify TypeScript configs, use TS 5.5 configDir placeholder ([@slorber](https://github.com/slorber))\\n\\n## Committers: 25\\n\\n- Aaron Chen ([@pjchender](https://github.com/pjchender))\\n- Alice Zhao ([@alicelovescake](https://github.com/alicelovescake))\\n- Ashiq Firoz ([@ashiq-firoz](https://github.com/ashiq-firoz))\\n- Balthasar Hofer ([@lebalz](https://github.com/lebalz))\\n- Bharatesh ([@bharateshwq](https://github.com/bharateshwq))\\n- Daniel Li ([@d4nyll](https://github.com/d4nyll))\\n- Dhaya ([@dhayab](https://github.com/dhayab))\\n- Hichem Fantar ([@hichemfantar](https://github.com/hichemfantar))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Julian V ([@ultimate](https://github.com/ultimate))\\n- Markus Tamm ([@chirbard](https://github.com/chirbard))\\n- Max Schmitt ([@mxschmitt](https://github.com/mxschmitt))\\n- Mohammad Bagher Abiyat ([@Aslemammad](https://github.com/Aslemammad))\\n- Paneedah ([@Paneedah](https://github.com/Paneedah))\\n- Priyadi Iman Nurcahyo ([@priyadi](https://github.com/priyadi))\\n- Robin Otter ([@Gekd](https://github.com/Gekd))\\n- Rohan Thakur ([@Xebec19](https://github.com/Xebec19))\\n- Sergio ([@sergioalmela](https://github.com/sergioalmela))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tatsunori Uchino ([@tats-u](https://github.com/tats-u))\\n- [@franzd1](https://github.com/franzd1)\\n- ozaki ([@OzakIOne](https://github.com/OzakIOne))\\n- yujonglee ([@yujonglee](https://github.com/yujonglee))\\n- \uC815\uBCF4\uD604 Bohyun Jung ([@bohyunjung](https://github.com/bohyunjung))"},{"id":"/3.4.0","metadata":{"permalink":"/changelog/3.4.0","source":"@site/changelog/source/3.4.0.md","title":"3.4.0","description":"New Feature","date":"2024-05-31T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Azzedine E.","alias":"Arsero","url":"https://github.com/Arsero","imageURL":"https://github.com/Arsero.png","key":"Arsero","page":null},{"name":"CodeDoctor","alias":"CodeDoctorDE","url":"https://github.com/CodeDoctorDE","imageURL":"https://github.com/CodeDoctorDE.png","key":"CodeDoctorDE","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Mahri Ilmedova","alias":"ilmedova","url":"https://github.com/ilmedova","imageURL":"https://github.com/ilmedova.png","key":"ilmedova","page":null},{"name":"Nguy\u1EC5n Th\xe0nh Nam","alias":"namnguyenthanhwork","url":"https://github.com/namnguyenthanhwork","imageURL":"https://github.com/namnguyenthanhwork.png","key":"namnguyenthanhwork","page":null},{"name":"Nick Coughlin","alias":"ncoughlin","url":"https://github.com/ncoughlin","imageURL":"https://github.com/ncoughlin.png","key":"ncoughlin","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Petar_mc","alias":"PetarMc1","url":"https://github.com/PetarMc1","imageURL":"https://github.com/PetarMc1.png","key":"PetarMc1","page":null},{"name":"Yongmin Hong","alias":"revi","url":"https://github.com/revi","imageURL":"https://github.com/revi.png","key":"revi","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tatsunori Uchino","alias":"tats-u","url":"https://github.com/tats-u","imageURL":"https://github.com/tats-u.png","key":"tats-u","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-05-31T20:00","authors":["Arsero","CodeDoctorDE","homotechsual","ilmedova","namnguyenthanhwork","ncoughlin","OzakIOne","PetarMc1","revi","slorber","tats-u"]},"unlisted":false,"prevItem":{"title":"3.5.0","permalink":"/changelog/3.5.0"},"nextItem":{"title":"3.3.2","permalink":"/changelog/3.3.2"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `create-docusaurus`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-utils-validation`, `docusaurus-utils`\\n - [#10137](https://github.com/facebook/docusaurus/pull/10137) feat(docs, blog): add support for `tags.yml`, predefined list of tags ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-theme-translations`\\n - [#10151](https://github.com/facebook/docusaurus/pull/10151) feat(theme-translations): Added Turkmen (tk) default theme translations ([@ilmedova](https://github.com/ilmedova))\\n - [#10111](https://github.com/facebook/docusaurus/pull/10111) feat(theme-translations): Add Bulgarian default theme translations (bg) ([@PetarMc1](https://github.com/PetarMc1))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#9859](https://github.com/facebook/docusaurus/pull/9859) feat(core): hash router option - browse site offline (experimental) ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus`\\n - [#10121](https://github.com/facebook/docusaurus/pull/10121) feat(core): site storage config options (experimental) ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#10185](https://github.com/facebook/docusaurus/pull/10185) fix(docs, blog): Markdown link resolution does not support hot reload ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-search-algolia`\\n - [#10178](https://github.com/facebook/docusaurus/pull/10178) fix(theme): SearchPage should respect `contextualSearch: false` setting ([@ncoughlin](https://github.com/ncoughlin))\\n - [#10164](https://github.com/facebook/docusaurus/pull/10164) fix(search): fix algolia search container bug ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils`\\n - [#10168](https://github.com/facebook/docusaurus/pull/10168) fix(mdx-loader): resolve Markdown/MDX links with Remark instead of RegExp ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#10165](https://github.com/facebook/docusaurus/pull/10165) fix(theme-translation): add missing Korean (ko) theme translations ([@revi](https://github.com/revi))\\n - [#10157](https://github.com/facebook/docusaurus/pull/10157) fix(theme-translations): complete Vietnamese theme translations ([@namnguyenthanhwork](https://github.com/namnguyenthanhwork))\\n- `docusaurus`\\n - [#10145](https://github.com/facebook/docusaurus/pull/10145) fix(core): fix serve workaround regexp ([@slorber](https://github.com/slorber))\\n - [#10142](https://github.com/facebook/docusaurus/pull/10142) fix(core): fix `docusaurus serve` broken for assets when using trailingSlash ([@slorber](https://github.com/slorber))\\n - [#10130](https://github.com/facebook/docusaurus/pull/10130) fix(core): the broken anchor checker should not be sensitive pathname trailing slashes ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#10144](https://github.com/facebook/docusaurus/pull/10144) fix(theme): fix announcement bar layout shift due to missing storage key namespace ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#10132](https://github.com/facebook/docusaurus/pull/10132) fix(core): `configurePostCss()` should run after `configureWebpack()` ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils`, `docusaurus`\\n - [#10131](https://github.com/facebook/docusaurus/pull/10131) fix(core): codegen should generate unique route prop filenames ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-translations`\\n - [#10118](https://github.com/facebook/docusaurus/pull/10118) fix(theme-translations): fix missing pluralization for label DocCard.categoryDescription.plurals ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- [#10176](https://github.com/facebook/docusaurus/pull/10176) docs: add community plugin docusaurus-graph ([@Arsero](https://github.com/Arsero))\\n- [#10173](https://github.com/facebook/docusaurus/pull/10173) docs: improve how to use `<details>` ([@tats-u](https://github.com/tats-u))\\n- [#10167](https://github.com/facebook/docusaurus/pull/10167) docs: suggest using `{<...>...</...>}` if don\'t use Markdown in migra\u2026 ([@tats-u](https://github.com/tats-u))\\n- [#10143](https://github.com/facebook/docusaurus/pull/10143) docs: recommend users to remove hast-util-is-element in migration to v3 ([@tats-u](https://github.com/tats-u))\\n- [#10124](https://github.com/facebook/docusaurus/pull/10124) docs: v3 prepare your site blog post should point users to the upgrade guide ([@homotechsual](https://github.com/homotechsual))\\n\\n## :robot: Dependencies\\n\\n- [#10155](https://github.com/facebook/docusaurus/pull/10155) chore(deps): bump peaceiris/actions-gh-pages from 3 to 4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10154](https://github.com/facebook/docusaurus/pull/10154) chore(deps): bump github/codeql-action from 2.13.4 to 3.25.6 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10112](https://github.com/facebook/docusaurus/pull/10112) chore(deps): bump actions/dependency-review-action from 4.3.1 to 4.3.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n\\n## Committers: 11\\n\\n- Azzedine E. ([@Arsero](https://github.com/Arsero))\\n- CodeDoctor ([@CodeDoctorDE](https://github.com/CodeDoctorDE))\\n- Mahri Ilmedova ([@ilmedova](https://github.com/ilmedova))\\n- Mikey O\'Toole ([@homotechsual](https://github.com/homotechsual))\\n- Nguy\u1EC5n Th\xe0nh Nam ([@namnguyenthanhwork](https://github.com/namnguyenthanhwork))\\n- Nick Coughlin ([@ncoughlin](https://github.com/ncoughlin))\\n- Petar_mc ([@PetarMc1](https://github.com/PetarMc1))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tatsunori Uchino ([@tats-u](https://github.com/tats-u))\\n- Yongmin ([@revi](https://github.com/revi))\\n- ozaki ([@OzakIOne](https://github.com/OzakIOne))"},{"id":"/3.3.2","metadata":{"permalink":"/changelog/3.3.2","source":"@site/changelog/source/3.3.2.md","title":"3.3.2","description":"Bug Fix","date":"2024-05-03T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-05-03T20:00","authors":["slorber"]},"unlisted":false,"prevItem":{"title":"3.4.0","permalink":"/changelog/3.4.0"},"nextItem":{"title":"3.3.1","permalink":"/changelog/3.3.1"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-module-type-aliases`, `docusaurus`\\n - [#10103](https://github.com/facebook/docusaurus/pull/10103) fix(core): do not recreate ReactDOM Root, fix React warning on hot reload ([@slorber](https://github.com/slorber))\\n\\n## Committers: 1\\n\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))"},{"id":"/3.3.1","metadata":{"permalink":"/changelog/3.3.1","source":"@site/changelog/source/3.3.1.md","title":"3.3.1","description":"Failed release","date":"2024-05-03T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2024-05-03T19:00"},"unlisted":false,"prevItem":{"title":"3.3.2","permalink":"/changelog/3.3.2"},"nextItem":{"title":"3.3.0","permalink":"/changelog/3.3.0"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\nFailed release"},{"id":"/3.3.0","metadata":{"permalink":"/changelog/3.3.0","source":"@site/changelog/source/3.3.0.md","title":"3.3.0","description":"New Feature","date":"2024-05-03T18:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Abdullah Saud","alias":"Abdullah-03","url":"https://github.com/Abdullah-03","imageURL":"https://github.com/Abdullah-03.png","key":"Abdullah-03","page":null},{"name":"Andrea Mazzucchelli","alias":"andrmaz","url":"https://github.com/andrmaz","imageURL":"https://github.com/andrmaz.png","key":"andrmaz","page":null},{"name":"Daniel Li","alias":"d4nyll","url":"https://github.com/d4nyll","imageURL":"https://github.com/d4nyll.png","key":"d4nyll","page":null},{"name":"Can Eldem","alias":"eldemcan","url":"https://github.com/eldemcan","imageURL":"https://github.com/eldemcan.png","key":"eldemcan","page":null},{"name":"Guille","alias":"gagdiez","url":"https://github.com/gagdiez","imageURL":"https://github.com/gagdiez.png","key":"gagdiez","page":null},{"name":"H3NR1KE","alias":"h3nr1ke","url":"https://github.com/h3nr1ke","imageURL":"https://github.com/h3nr1ke.png","key":"h3nr1ke","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Alexey Ivanov","alias":"iAdramelk","url":"https://github.com/iAdramelk","imageURL":"https://github.com/iAdramelk.png","key":"iAdramelk","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Kai Hoffman","alias":"kaihoffman","url":"https://github.com/kaihoffman","imageURL":"https://github.com/kaihoffman.png","key":"kaihoffman","page":null},{"name":"Balthasar Hofer","alias":"lebalz","url":"https://github.com/lebalz","imageURL":"https://github.com/lebalz.png","key":"lebalz","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Bairui Su","alias":"pearmini","url":"https://github.com/pearmini","imageURL":"https://github.com/pearmini.png","key":"pearmini","page":null},{"name":"Alexander Sandor","alias":"SandPod","url":"https://github.com/SandPod","imageURL":"https://github.com/SandPod.png","key":"SandPod","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tommaso Sotte","alias":"tomsotte","url":"https://github.com/tomsotte","imageURL":"https://github.com/tomsotte.png","key":"tomsotte","page":null},{"name":"Tomy Hsieh","alias":"tomy0000000","url":"https://github.com/tomy0000000","imageURL":"https://github.com/tomy0000000.png","key":"tomy0000000","page":null},{"name":"Virgil993","alias":"Virgil993","url":"https://github.com/Virgil993","imageURL":"https://github.com/Virgil993.png","key":"Virgil993","page":null},{"name":"volcanofr","alias":"volcanofr","url":"https://github.com/volcanofr","imageURL":"https://github.com/volcanofr.png","key":"volcanofr","page":null},{"name":"Zwyx","alias":"Zwyx","url":"https://github.com/Zwyx","imageURL":"https://github.com/Zwyx.png","key":"Zwyx","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-05-03T18:00","authors":["Abdullah-03","andrmaz","d4nyll","eldemcan","gagdiez","h3nr1ke","homotechsual","iAdramelk","johnnyreilly","kaihoffman","lebalz","OzakIOne","pearmini","SandPod","slorber","tomsotte","tomy0000000","Virgil993","volcanofr","Zwyx"]},"unlisted":false,"prevItem":{"title":"3.3.1","permalink":"/changelog/3.3.1"},"nextItem":{"title":"3.2.1","permalink":"/changelog/3.2.1"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-sitemap`\\n - [#10083](https://github.com/facebook/docusaurus/pull/10083) feat: add createSitemapItems hook ([@johnnyreilly](https://github.com/johnnyreilly))\\n- `docusaurus-mdx-loader`, `docusaurus-types`, `docusaurus`\\n - [#10064](https://github.com/facebook/docusaurus/pull/10064) feat(core): add new site config option `siteConfig.markdown.anchors.maintainCase` ([@iAdramelk](https://github.com/iAdramelk))\\n- `docusaurus`\\n - [#9767](https://github.com/facebook/docusaurus/pull/9767) feat(cli): docusaurus deploy should support a --target-dir option ([@SandPod](https://github.com/SandPod))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-types`, `docusaurus`\\n - [#10042](https://github.com/facebook/docusaurus/pull/10042) feat(core): simplify plugin API, support route.props ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#10032](https://github.com/facebook/docusaurus/pull/10032) feat(pages): add LastUpdateAuthor & LastUpdateTime & editUrl ([@OzakIOne](https://github.com/OzakIOne))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-cssnano-preset`, `docusaurus-utils`, `docusaurus`\\n - [#10092](https://github.com/facebook/docusaurus/pull/10092) chore: Upgrade svgr / svgo / cssnano ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#10091](https://github.com/facebook/docusaurus/pull/10091) fix(theme): `<Tabs>` props should allow overriding defaults ([@gagdiez](https://github.com/gagdiez))\\n - [#10080](https://github.com/facebook/docusaurus/pull/10080) fix(theme): `<Admonition>` should render properly without heading/icon ([@andrmaz](https://github.com/andrmaz))\\n- `docusaurus`\\n - [#10090](https://github.com/facebook/docusaurus/pull/10090) fix(core): `docusaurus serve` redirects should include the site `/baseUrl/` prefix ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus`\\n - [#10079](https://github.com/facebook/docusaurus/pull/10079) fix: handle React v18.3 warnings ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#10070](https://github.com/facebook/docusaurus/pull/10070) fix(theme-translations): add missing theme translations for pt-BR ([@h3nr1ke](https://github.com/h3nr1ke))\\n - [#10051](https://github.com/facebook/docusaurus/pull/10051) fix(theme-translations): correct label for tip admonition in italian ([@tomsotte](https://github.com/tomsotte))\\n- `docusaurus-theme-search-algolia`\\n - [#10048](https://github.com/facebook/docusaurus/pull/10048) fix(algolia): add insights property on Algolia Theme Config object TS definition ([@Virgil993](https://github.com/Virgil993))\\n- `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#10054](https://github.com/facebook/docusaurus/pull/10054) fix(core): sortRoutes shouldn\'t have a default baseUrl value, this led to a bug ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`\\n - [#10025](https://github.com/facebook/docusaurus/pull/10025) fix(docs): sidebar item label impact the pagination label of docs ([@Abdullah-03](https://github.com/Abdullah-03))\\n- `docusaurus-utils`\\n - [#10022](https://github.com/facebook/docusaurus/pull/10022) fix(utils): getFileCommitDate should support `log.showSignature=true` ([@slorber](https://github.com/slorber))\\n\\n## :running: Performance\\n\\n- `docusaurus`\\n - [#10060](https://github.com/facebook/docusaurus/pull/10060) refactor(core): optimize App entrypoint, it should not re-render when navigating ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#10061](https://github.com/facebook/docusaurus/pull/10061) refactor(theme): simplify CSS solution to solve empty search container ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-common`\\n - [#10023](https://github.com/facebook/docusaurus/pull/10023) refactor(website): refactor showcase components ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- [#10096](https://github.com/facebook/docusaurus/pull/10096) docs: Fix `d\xe9ja` to `d\xe9j\xe0` in `swizzling.mdx` ([@Zwyx](https://github.com/Zwyx))\\n- [#10093](https://github.com/facebook/docusaurus/pull/10093) docs: Fix dead Typesense links ([@kaihoffman](https://github.com/kaihoffman))\\n- [#10085](https://github.com/facebook/docusaurus/pull/10085) docs: make `ThemedImage` example work out of the box ([@lebalz](https://github.com/lebalz))\\n- [#10082](https://github.com/facebook/docusaurus/pull/10082) docs: add note regarding ts extension for config file. ([@homotechsual](https://github.com/homotechsual))\\n- [#9490](https://github.com/facebook/docusaurus/pull/9490) docs: add troubleshooting steps to migration/upgrade page ([@homotechsual](https://github.com/homotechsual))\\n- [#10056](https://github.com/facebook/docusaurus/pull/10056) docs(search): Algolia troubleshooting section for index configuration problems ([@slorber](https://github.com/slorber))\\n- [#10039](https://github.com/facebook/docusaurus/pull/10039) docs: visit is a named export of unist-util-visit ([@pearmini](https://github.com/pearmini))\\n- [#10020](https://github.com/facebook/docusaurus/pull/10020) docs: Fix wrong path example ([@tomy0000000](https://github.com/tomy0000000))\\n- [#10011](https://github.com/facebook/docusaurus/pull/10011) docs: add stormkit as deployment platform ([@eldemcan](https://github.com/eldemcan))\\n\\n## :robot: Dependencies\\n\\n- [#10097](https://github.com/facebook/docusaurus/pull/10097) chore(deps): bump ejs from 3.1.9 to 3.1.10 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10089](https://github.com/facebook/docusaurus/pull/10089) chore(deps): bump actions/dependency-review-action from 4.2.5 to 4.3.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10088](https://github.com/facebook/docusaurus/pull/10088) chore(deps): bump preactjs/compressed-size-action from 2.5.0 to 2.6.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#10034](https://github.com/facebook/docusaurus/pull/10034) chore(deps): bump semver from 7.3.4 to 7.6.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n\\n## :wrench: Maintenance\\n\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-plugin-vercel-analytics`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`, `lqip-loader`, `stylelint-copyright`\\n - [#10065](https://github.com/facebook/docusaurus/pull/10065) refactor: extract base TS client config + upgrade TS + refactor TS setup ([@slorber](https://github.com/slorber))\\n- Other\\n - [#10063](https://github.com/facebook/docusaurus/pull/10063) test(e2e): TypeCheck website/starter in min/max range of TS versions ([@slorber](https://github.com/slorber))\\n - [#10049](https://github.com/facebook/docusaurus/pull/10049) fix(website): fix website manifest.json name \\"Docusaurus v2\\" to just \\"Docusaurus\\" ([@volcanofr](https://github.com/volcanofr))\\n\\n## Committers: 20\\n\\n- Abdullah Saud ([@Abdullah-03](https://github.com/Abdullah-03))\\n- Alexander Sandor ([@SandPod](https://github.com/SandPod))\\n- Alexey Ivanov ([@iAdramelk](https://github.com/iAdramelk))\\n- Andrea Mazzucchelli ([@andrmaz](https://github.com/andrmaz))\\n- Bairui Su ([@pearmini](https://github.com/pearmini))\\n- Balthasar Hofer ([@lebalz](https://github.com/lebalz))\\n- Can Eldem ([@eldemcan](https://github.com/eldemcan))\\n- Daniel Li ([@d4nyll](https://github.com/d4nyll))\\n- Guille ([@gagdiez](https://github.com/gagdiez))\\n- H3NR1KE ([@h3nr1ke](https://github.com/h3nr1ke))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Kai Hoffman ([@kaihoffman](https://github.com/kaihoffman))\\n- Mikey O\'Toole ([@homotechsual](https://github.com/homotechsual))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tommaso Sotte ([@tomsotte](https://github.com/tomsotte))\\n- Tomy Hsieh ([@tomy0000000](https://github.com/tomy0000000))\\n- Zwyx ([@Zwyx](https://github.com/Zwyx))\\n- [@Virgil993](https://github.com/Virgil993)\\n- [@volcanofr](https://github.com/volcanofr)\\n- ozaki ([@OzakIOne](https://github.com/OzakIOne))"},{"id":"/3.2.1","metadata":{"permalink":"/changelog/3.2.1","source":"@site/changelog/source/3.2.1.md","title":"3.2.1","description":"Bug Fix","date":"2024-04-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-04-04T20:00","authors":["OzakIOne","slorber"]},"unlisted":false,"prevItem":{"title":"3.3.0","permalink":"/changelog/3.3.0"},"nextItem":{"title":"3.2.0","permalink":"/changelog/3.2.0"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#10012](https://github.com/facebook/docusaurus/pull/10012) fix(core): fix configurePostCss v3.2 regression ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- [#9980](https://github.com/facebook/docusaurus/pull/9980) docs: remove old github action description ([@OzakIOne](https://github.com/OzakIOne))\\n- [#10014](https://github.com/facebook/docusaurus/pull/10014) docs(website): fix SEO docs headTags example ([@OzakIOne](https://github.com/OzakIOne))\\n- [#10004](https://github.com/facebook/docusaurus/pull/10004) docs(website): Announce v3.2 on website/homepage ([@slorber](https://github.com/slorber))\\n\\n## :robot: Dependencies\\n\\n- [#10006](https://github.com/facebook/docusaurus/pull/10006) chore(deps): bump actions/dependency-review-action from 4.2.4 to 4.2.5 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n\\n## Committers: 2\\n\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- ozaki ([@OzakIOne](https://github.com/OzakIOne))"},{"id":"/3.2.0","metadata":{"permalink":"/changelog/3.2.0","source":"@site/changelog/source/3.2.0.md","title":"3.2.0","description":"New Feature","date":"2024-03-29T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Josue [4tro] A","alias":"4troDev","url":"https://github.com/4troDev","imageURL":"https://github.com/4troDev.png","key":"4troDev","page":null},{"name":"Anatoly Kopyl","alias":"anatolykopyl","url":"https://github.com/anatolykopyl","imageURL":"https://github.com/anatolykopyl.png","key":"anatolykopyl","page":null},{"name":"axel7083","alias":"axel7083","url":"https://github.com/axel7083","imageURL":"https://github.com/axel7083.png","key":"axel7083","page":null},{"name":"\u041D\u0443\u0440\u0438\u043B\u044C \u0411\u0430\u0440\u0430\u0434\u0443\u0441\u043E\u0432","alias":"baradusov","url":"https://github.com/baradusov","imageURL":"https://github.com/baradusov.png","key":"baradusov","page":null},{"name":"Chris Bateman","alias":"chris-bateman","url":"https://github.com/chris-bateman","imageURL":"https://github.com/chris-bateman.png","key":"chris-bateman","page":null},{"name":"Zed Spencer-Milnes","alias":"GingerGeek","url":"https://github.com/GingerGeek","imageURL":"https://github.com/GingerGeek.png","key":"GingerGeek","page":null},{"name":"Hallbj\xf6rn Magn\xfasson","alias":"Hallinn","url":"https://github.com/Hallinn","imageURL":"https://github.com/Hallinn.png","key":"Hallinn","page":null},{"name":"Liviu Ionescu","alias":"ilg-ul","url":"https://github.com/ilg-ul","imageURL":"https://github.com/ilg-ul.png","key":"ilg-ul","page":null},{"name":"n4n5","alias":"Its-Just-Nans","url":"https://github.com/Its-Just-Nans","imageURL":"https://github.com/Its-Just-Nans.png","key":"Its-Just-Nans","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"krinza.eth","alias":"kaymomin","url":"https://github.com/kaymomin","imageURL":"https://github.com/kaymomin.png","key":"kaymomin","page":null},{"name":"Max Schmitt","alias":"mxschmitt","url":"https://github.com/mxschmitt","imageURL":"https://github.com/mxschmitt.png","key":"mxschmitt","page":null},{"name":"Aolin","alias":"Oreoxmt","url":"https://github.com/Oreoxmt","imageURL":"https://github.com/Oreoxmt.png","key":"Oreoxmt","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Rafael Martins","alias":"Rafael-Martins","url":"https://github.com/Rafael-Martins","imageURL":"https://github.com/Rafael-Martins.png","key":"Rafael-Martins","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"suenryu","alias":"Suenaga-Ryuya","url":"https://github.com/Suenaga-Ryuya","imageURL":"https://github.com/Suenaga-Ryuya.png","key":"Suenaga-Ryuya","page":null},{"name":"Fafowora Sunkanmi","alias":"sunkanmii","url":"https://github.com/sunkanmii","imageURL":"https://github.com/sunkanmii.png","key":"sunkanmii","page":null},{"name":"Vahid Naderi","alias":"VahidNaderi","url":"https://github.com/VahidNaderi","imageURL":"https://github.com/VahidNaderi.png","key":"VahidNaderi","page":null},{"name":"Vlad Nestorov","alias":"vlad-nestorov","url":"https://github.com/vlad-nestorov","imageURL":"https://github.com/vlad-nestorov.png","key":"vlad-nestorov","page":null},{"name":"\u7FCA\u5C0F\u4E45","alias":"yixiaojiu","url":"https://github.com/yixiaojiu","imageURL":"https://github.com/yixiaojiu.png","key":"yixiaojiu","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-03-29T20:00","authors":["4troDev","anatolykopyl","axel7083","baradusov","chris-bateman","GingerGeek","Hallinn","ilg-ul","Its-Just-Nans","johnnyreilly","Josh-Cena","kaymomin","mxschmitt","Oreoxmt","OzakIOne","Rafael-Martins","slorber","Suenaga-Ryuya","sunkanmii","VahidNaderi","vlad-nestorov","yixiaojiu"]},"unlisted":false,"prevItem":{"title":"3.2.1","permalink":"/changelog/3.2.1"},"nextItem":{"title":"3.1.1","permalink":"/changelog/3.1.1"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#9954](https://github.com/facebook/docusaurus/pull/9954) feat(sitemap): add support for \\"lastmod\\" ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus-utils`\\n - [#9912](https://github.com/facebook/docusaurus/pull/9912) feat(blog): add LastUpdateAuthor & LastUpdateTime ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-plugin-debug`, `docusaurus-types`, `docusaurus`\\n - [#9931](https://github.com/facebook/docusaurus/pull/9931) feat(core): add new plugin allContentLoaded lifecycle ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#9928](https://github.com/facebook/docusaurus/pull/9928) feat(theme-translations) Icelandic (is) ([@Hallinn](https://github.com/Hallinn))\\n- `docusaurus-plugin-content-blog`\\n - [#9886](https://github.com/facebook/docusaurus/pull/9886) feat(blog): allow processing blog posts through a processBlogPosts function ([@OzakIOne](https://github.com/OzakIOne))\\n - [#9838](https://github.com/facebook/docusaurus/pull/9838) feat(blog): add blog pageBasePath plugin option ([@ilg-ul](https://github.com/ilg-ul))\\n- `docusaurus`\\n - [#9681](https://github.com/facebook/docusaurus/pull/9681) feat(swizzle): ask user preferred language if no language CLI option provided ([@yixiaojiu](https://github.com/yixiaojiu))\\n- `create-docusaurus`, `docusaurus-utils`\\n - [#9442](https://github.com/facebook/docusaurus/pull/9442) feat(create-docusaurus): ask user for preferred language when no language CLI option provided ([@Rafael-Martins](https://github.com/Rafael-Martins))\\n- `docusaurus-plugin-vercel-analytics`\\n - [#9687](https://github.com/facebook/docusaurus/pull/9687) feat(plugin-vercel-analytics): add new vercel analytics plugin ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-mdx-loader`\\n - [#9684](https://github.com/facebook/docusaurus/pull/9684) feat(mdx-loader): the table-of-contents should display toc/headings of imported MDX partials ([@anatolykopyl](https://github.com/anatolykopyl))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-mdx-loader`\\n - [#9999](https://github.com/facebook/docusaurus/pull/9999) fix(mdx-loader): Ignore contentTitle coming after Markdown thematicBreak ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-search-algolia`\\n - [#9945](https://github.com/facebook/docusaurus/pull/9945) fix(a11y): move focus algolia-search focus back to search input on Escape ([@mxschmitt](https://github.com/mxschmitt))\\n- `docusaurus-plugin-content-blog`\\n - [#9920](https://github.com/facebook/docusaurus/pull/9920) fix(blog): apply trailing slash to blog feed ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-theme-classic`\\n - [#9944](https://github.com/facebook/docusaurus/pull/9944) fix(theme): improve a11y of DocSidebarItemCategory expand/collapsed button ([@mxschmitt](https://github.com/mxschmitt))\\n- `docusaurus-theme-translations`\\n - [#9915](https://github.com/facebook/docusaurus/pull/9915) fix(theme-translations): complete and modify Japanese translations ([@Suenaga-Ryuya](https://github.com/Suenaga-Ryuya))\\n - [#9910](https://github.com/facebook/docusaurus/pull/9910) fix(theme-translations): add Japanese translations ([@Suenaga-Ryuya](https://github.com/Suenaga-Ryuya))\\n - [#9872](https://github.com/facebook/docusaurus/pull/9872) fix(theme-translations): complete and improve Spanish theme translations ([@4troDev](https://github.com/4troDev))\\n - [#9812](https://github.com/facebook/docusaurus/pull/9812) fix(i18n): add missing theme translations for fa locale ([@VahidNaderi](https://github.com/VahidNaderi))\\n- `docusaurus-utils`\\n - [#9897](https://github.com/facebook/docusaurus/pull/9897) fix(mdx-loader): mdx-code-block should support CRLF ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#9878](https://github.com/facebook/docusaurus/pull/9878) fix(core): fix default i18n calendar used, infer it from locale if possible ([@slorber](https://github.com/slorber))\\n - [#9852](https://github.com/facebook/docusaurus/pull/9852) fix(core): ensure core error boundary is able to render theme layout ([@slorber](https://github.com/slorber))\\n- `docusaurus-remark-plugin-npm2yarn`\\n - [#9861](https://github.com/facebook/docusaurus/pull/9861) fix(remark-npm2yarn): update npm-to-yarn from 2.0.0 to 2.2.1, fix pnpm extra args syntax ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-theme-classic`, `docusaurus-theme-translations`\\n - [#9851](https://github.com/facebook/docusaurus/pull/9851) fix(theme-classic): should use plurals for category items description ([@baradusov](https://github.com/baradusov))\\n\\n## :running: Performance\\n\\n- `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#9975](https://github.com/facebook/docusaurus/pull/9975) refactor(core): improve dev perf, fine-grained site reloads - part 3 ([@slorber](https://github.com/slorber))\\n- `docusaurus-types`, `docusaurus`\\n - [#9968](https://github.com/facebook/docusaurus/pull/9968) refactor(core): improve dev perf, fine-grained site reloads - part2 ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-types`, `docusaurus`\\n - [#9903](https://github.com/facebook/docusaurus/pull/9903) refactor(core): improve dev perf, fine-grained site reloads - part1 ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#9890](https://github.com/facebook/docusaurus/pull/9890) perf: optimize getFileCommitDate, make it async ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#9798](https://github.com/facebook/docusaurus/pull/9798) refactor(core): internalize, simplify and optimize the SSG logic ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#9868](https://github.com/facebook/docusaurus/pull/9868) refactor(theme): dates should be formatted on the client-side instead of in nodejs code ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`\\n - [#9669](https://github.com/facebook/docusaurus/pull/9669) refactor(theme): use JSON-LD instead of microdata for blog structured data ([@johnnyreilly](https://github.com/johnnyreilly))\\n- `docusaurus-plugin-content-docs`\\n - [#9839](https://github.com/facebook/docusaurus/pull/9839) refactor(blog): improve doc global data hook error message + add doc warning to blogOnly mode ([@OzakIOne](https://github.com/OzakIOne))\\n\\n## :memo: Documentation\\n\\n- [#9937](https://github.com/facebook/docusaurus/pull/9937) docs: use official GitHub Action to deploy to GitHub Pages ([@vlad-nestorov](https://github.com/vlad-nestorov))\\n- [#9971](https://github.com/facebook/docusaurus/pull/9971) docs: replace VuePress by VitePress on tool comparison section ([@sunkanmii](https://github.com/sunkanmii))\\n- [#9914](https://github.com/facebook/docusaurus/pull/9914) docs: update legacy MDX v1 links to markdown links ([@OzakIOne](https://github.com/OzakIOne))\\n- [#9913](https://github.com/facebook/docusaurus/pull/9913) docs: update legacy MDX v1 links to markdown links ([@OzakIOne](https://github.com/OzakIOne))\\n- [#9906](https://github.com/facebook/docusaurus/pull/9906) docs: emphasize \\"index slug\\" convention ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#9877](https://github.com/facebook/docusaurus/pull/9877) docs: fix typos in deployment.mdx ([@Oreoxmt](https://github.com/Oreoxmt))\\n- [#9845](https://github.com/facebook/docusaurus/pull/9845) docs: typo ([@OzakIOne](https://github.com/OzakIOne))\\n- [#9816](https://github.com/facebook/docusaurus/pull/9816) docs: Add docs for Mermaid Component ([@Its-Just-Nans](https://github.com/Its-Just-Nans))\\n\\n## :robot: Dependencies\\n\\n- [#9981](https://github.com/facebook/docusaurus/pull/9981) chore(deps): bump actions/dependency-review-action from 4.1.3 to 4.2.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#9982](https://github.com/facebook/docusaurus/pull/9982) chore(deps): bump katex from 0.16.8 to 0.16.10 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#9983](https://github.com/facebook/docusaurus/pull/9983) chore(deps): bump express from 4.18.2 to 4.19.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#9977](https://github.com/facebook/docusaurus/pull/9977) chore(deps): bump webpack-dev-middleware from 5.3.3 to 5.3.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#9958](https://github.com/facebook/docusaurus/pull/9958) chore(deps): bump follow-redirects from 1.15.4 to 1.15.6 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#9892](https://github.com/facebook/docusaurus/pull/9892) chore(deps): bump actions/dependency-review-action from 4.1.2 to 4.1.3 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#9869](https://github.com/facebook/docusaurus/pull/9869) chore(deps): bump actions/dependency-review-action from 4.0.0 to 4.1.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#9874](https://github.com/facebook/docusaurus/pull/9874) chore(deps): bump ip from 2.0.0 to 2.0.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#9843](https://github.com/facebook/docusaurus/pull/9843) chore(deps): bump actions/setup-node from 4.0.1 to 4.0.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#9824](https://github.com/facebook/docusaurus/pull/9824) chore(deps): bump treosh/lighthouse-ci-action from 10.1.0 to 11.4.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- [#9823](https://github.com/facebook/docusaurus/pull/9823) chore(deps): bump marocchino/sticky-pull-request-comment from 2.8.0 to 2.9.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n\\n## :wrench: Maintenance\\n\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-docs`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#9972](https://github.com/facebook/docusaurus/pull/9972) refactor(utils): remove duplicated function ([@OzakIOne](https://github.com/OzakIOne))\\n- Other\\n - [#9965](https://github.com/facebook/docusaurus/pull/9965) refactor(website): organise blog posts by year ([@GingerGeek](https://github.com/GingerGeek))\\n - [#9865](https://github.com/facebook/docusaurus/pull/9865) chore(website): update @crowdin/crowdin-api-client ([@chris-bateman](https://github.com/chris-bateman))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils`\\n - [#9963](https://github.com/facebook/docusaurus/pull/9963) refactor(docs,blog): last update timestamp should be in milliseconds instead of seconds ([@slorber](https://github.com/slorber))\\n\\n## Committers: 22\\n\\n- Aolin ([@Oreoxmt](https://github.com/Oreoxmt))\\n- Anatoly Kopyl ([@anatolykopyl](https://github.com/anatolykopyl))\\n- Chris Bateman ([@chris-bateman](https://github.com/chris-bateman))\\n- Fafowora Sunkanmi ([@sunkanmii](https://github.com/sunkanmii))\\n- Hallbj\xf6rn Magn\xfasson ([@Hallinn](https://github.com/Hallinn))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Josue [4tro] A ([@4troDev](https://github.com/4troDev))\\n- Liviu Ionescu ([@ilg-ul](https://github.com/ilg-ul))\\n- Max Schmitt ([@mxschmitt](https://github.com/mxschmitt))\\n- Rafael Martins ([@Rafael-Martins](https://github.com/Rafael-Martins))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Vahid Naderi ([@VahidNaderi](https://github.com/VahidNaderi))\\n- Vlad Nestorov ([@vlad-nestorov](https://github.com/vlad-nestorov))\\n- Zed Spencer-Milnes ([@GingerGeek](https://github.com/GingerGeek))\\n- axel7083 ([@axel7083](https://github.com/axel7083))\\n- krinza.eth ([@kaymomin](https://github.com/kaymomin))\\n- n4n5 ([@Its-Just-Nans](https://github.com/Its-Just-Nans))\\n- ozaki ([@OzakIOne](https://github.com/OzakIOne))\\n- suenryu ([@Suenaga-Ryuya](https://github.com/Suenaga-Ryuya))\\n- \u041D\u0443\u0440\u0438\u043B\u044C \u0411\u0430\u0440\u0430\u0434\u0443\u0441\u043E\u0432 ([@baradusov](https://github.com/baradusov))\\n- \u7FCA\u5C0F\u4E45 ([@yixiaojiu](https://github.com/yixiaojiu))"},{"id":"/3.1.1","metadata":{"permalink":"/changelog/3.1.1","source":"@site/changelog/source/3.1.1.md","title":"3.1.1","description":"Bug Fix","date":"2024-01-26T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"dawei-wang","alias":"dawei-wang","url":"https://github.com/dawei-wang","imageURL":"https://github.com/dawei-wang.png","key":"dawei-wang","page":null},{"name":"eitsupi","alias":"eitsupi","url":"https://github.com/eitsupi","imageURL":"https://github.com/eitsupi.png","key":"eitsupi","page":null},{"name":"Jack Robson","alias":"jack-robson","url":"https://github.com/jack-robson","imageURL":"https://github.com/jack-robson.png","key":"jack-robson","page":null},{"name":"Sanjaiyan Parthipan","alias":"sanjaiyan-dev","url":"https://github.com/sanjaiyan-dev","imageURL":"https://github.com/sanjaiyan-dev.png","key":"sanjaiyan-dev","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tatsunori Uchino","alias":"tats-u","url":"https://github.com/tats-u","imageURL":"https://github.com/tats-u.png","key":"tats-u","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-01-26T20:00","authors":["dawei-wang","eitsupi","jack-robson","sanjaiyan-dev","slorber","tats-u"]},"unlisted":false,"prevItem":{"title":"3.2.0","permalink":"/changelog/3.2.0"},"nextItem":{"title":"3.1.0","permalink":"/changelog/3.1.0"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-types`, `docusaurus`\\n - [#9791](https://github.com/facebook/docusaurus/pull/9791) fix(core): broken links optimization behaves differently than non-optimized logic ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#9788](https://github.com/facebook/docusaurus/pull/9788) fix(core): links with target \\"\\\\_blank\\" should no be checked by the broken link checker ([@slorber](https://github.com/slorber))\\n - [#9407](https://github.com/facebook/docusaurus/pull/9407) fix(core): conditionally include `hostname` parameter when using\u2026 ([@jack-robson](https://github.com/jack-robson))\\n- `docusaurus-utils`\\n - [#9776](https://github.com/facebook/docusaurus/pull/9776) fix(mdx-loader): allow spaces before `mdx-code-block` info string ([@eitsupi](https://github.com/eitsupi))\\n- `create-docusaurus`\\n - [#9783](https://github.com/facebook/docusaurus/pull/9783) fix(create-docusaurus): fix typo in init template sample docs ([@dawei-wang](https://github.com/dawei-wang))\\n- `docusaurus-theme-common`\\n - [#9727](https://github.com/facebook/docusaurus/pull/9727) fix(theme-common): fix missing code block MagicComments style in Visual Basic (.NET) 16 ([@tats-u](https://github.com/tats-u))\\n- `docusaurus-theme-classic`, `docusaurus-theme-mermaid`\\n - [#9733](https://github.com/facebook/docusaurus/pull/9733) fix: remove old useless mdx typedefs ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils`, `docusaurus`\\n - [#9732](https://github.com/facebook/docusaurus/pull/9732) fix(core): various broken anchor link fixes ([@slorber](https://github.com/slorber))\\n\\n## :running: Performance\\n\\n- `docusaurus`\\n - [#9778](https://github.com/facebook/docusaurus/pull/9778) perf(core): optimize broken links checker ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#9470](https://github.com/facebook/docusaurus/pull/9470) polish(theme): MDX images should use async decoding ([@sanjaiyan-dev](https://github.com/sanjaiyan-dev))\\n\\n## Committers: 6\\n\\n- Jack Robson ([@jack-robson](https://github.com/jack-robson))\\n- Sanjaiyan Parthipan ([@sanjaiyan-dev](https://github.com/sanjaiyan-dev))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tatsunori Uchino ([@tats-u](https://github.com/tats-u))\\n- [@dawei-wang](https://github.com/dawei-wang)\\n- [@eitsupi](https://github.com/eitsupi)"},{"id":"/3.1.0","metadata":{"permalink":"/changelog/3.1.0","source":"@site/changelog/source/3.1.0.md","title":"3.1.0","description":"New Feature","date":"2024-01-05T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"axmmisaka","alias":"axmmisaka","url":"https://github.com/axmmisaka","imageURL":"https://github.com/axmmisaka.png","key":"axmmisaka","page":null},{"name":"c0h1b4","alias":"c0h1b4","url":"https://github.com/c0h1b4","imageURL":"https://github.com/c0h1b4.png","key":"c0h1b4","page":null},{"name":"Janessa Garrow","alias":"jgarrow","url":"https://github.com/jgarrow","imageURL":"https://github.com/jgarrow.png","key":"jgarrow","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Simen Bekkhus","alias":"SimenB","url":"https://github.com/SimenB","imageURL":"https://github.com/SimenB.png","key":"SimenB","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tatsunori Uchino","alias":"tats-u","url":"https://github.com/tats-u","imageURL":"https://github.com/tats-u.png","key":"tats-u","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-01-05T20:00","authors":["axmmisaka","c0h1b4","jgarrow","Josh-Cena","OzakIOne","SimenB","slorber","tats-u"]},"unlisted":false,"prevItem":{"title":"3.1.1","permalink":"/changelog/3.1.1"},"nextItem":{"title":"3.0.1","permalink":"/changelog/3.0.1"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-mdx-loader`, `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#9528](https://github.com/facebook/docusaurus/pull/9528) feat(core): make broken link checker detect broken anchors - add `onBrokenAnchors` config ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-mdx-loader`, `docusaurus-types`, `docusaurus`\\n - [#9674](https://github.com/facebook/docusaurus/pull/9674) feat(mdx-loader): add support for siteConfig.markdown.remarkRehypeOptions ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-common`\\n - [#9671](https://github.com/facebook/docusaurus/pull/9671) feat(theme-common): code block MagicComments support for (Visual) Basic/Batch/Fortran/COBOL/ML ([@tats-u](https://github.com/tats-u))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#9624](https://github.com/facebook/docusaurus/pull/9624) feat: siteConfig.markdown.parseFrontMatter hook ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils`\\n - [#9610](https://github.com/facebook/docusaurus/pull/9610) feat(core): enable port configuration via environment variable ([@OzakIOne](https://github.com/OzakIOne))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#9704](https://github.com/facebook/docusaurus/pull/9704) fix(theme): allow empty code blocks and live playgrounds ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`\\n - [#9696](https://github.com/facebook/docusaurus/pull/9696) fix(create-docusaurus): fix init template code blocks, and little improvements ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-pwa`\\n - [#9668](https://github.com/facebook/docusaurus/pull/9668) fix(pwa-plugin): upgrade workbox ([@SimenB](https://github.com/SimenB))\\n- `docusaurus`\\n - [#9648](https://github.com/facebook/docusaurus/pull/9648) fix(cli): output help when no conventional config + no subcommand ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-live-codeblock`\\n - [#9631](https://github.com/facebook/docusaurus/pull/9631) fix(live-codeblock): stabilize react-live transformCode callback, fix editor/preview desync ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils`\\n - [#9617](https://github.com/facebook/docusaurus/pull/9617) fix(utils): Markdown link replacement with <> but no spaces ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`\\n - [#9612](https://github.com/facebook/docusaurus/pull/9612) fix(type-aliases): add `title` prop for imported inline SVG React components ([@axmmisaka](https://github.com/axmmisaka))\\n- `docusaurus-plugin-content-blog`\\n - [#9581](https://github.com/facebook/docusaurus/pull/9581) fix(content-blog): add baseUrl for author.image_url ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-theme-translations`\\n - [#9477](https://github.com/facebook/docusaurus/pull/9477) fix(i18n): complete translations for theme-common.json Brazilian Portuguese (pt-BR) ([@c0h1b4](https://github.com/c0h1b4))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-common`\\n - [#9335](https://github.com/facebook/docusaurus/pull/9335) refactor(theme-common): allow optional desktopBreakpoint param in useWindowSize ([@jgarrow](https://github.com/jgarrow))\\n\\n## :wrench: Maintenance\\n\\n- `docusaurus-theme-search-algolia`\\n - [#9604](https://github.com/facebook/docusaurus/pull/9604) chore: add lint autofix CI job ([@slorber](https://github.com/slorber))\\n\\n## Committers: 8\\n\\n- Janessa Garrow ([@jgarrow](https://github.com/jgarrow))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Simen Bekkhus ([@SimenB](https://github.com/SimenB))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tatsunori Uchino ([@tats-u](https://github.com/tats-u))\\n- [@c0h1b4](https://github.com/c0h1b4)\\n- axmmisaka ([@axmmisaka](https://github.com/axmmisaka))\\n- ozaki ([@OzakIOne](https://github.com/OzakIOne))"},{"id":"/3.0.1","metadata":{"permalink":"/changelog/3.0.1","source":"@site/changelog/source/3.0.1.md","title":"3.0.1","description":"Bug Fix","date":"2023-11-30T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Chongyi Zheng","alias":"harryzcy","url":"https://github.com/harryzcy","imageURL":"https://github.com/harryzcy.png","key":"harryzcy","page":null},{"name":"MCR Studio","alias":"mcrstudio","url":"https://github.com/mcrstudio","imageURL":"https://github.com/mcrstudio.png","key":"mcrstudio","page":null},{"name":"Nick Gerleman","alias":"NickGerleman","url":"https://github.com/NickGerleman","imageURL":"https://github.com/NickGerleman.png","key":"NickGerleman","page":null},{"name":"reece-white","alias":"reece-white","url":"https://github.com/reece-white","imageURL":"https://github.com/reece-white.png","key":"reece-white","page":null},{"name":"Shreesh Nautiyal","alias":"Shreesh09","url":"https://github.com/Shreesh09","imageURL":"https://github.com/Shreesh09.png","key":"Shreesh09","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-11-30T20:00","authors":["harryzcy","mcrstudio","NickGerleman","reece-white","Shreesh09","slorber"]},"unlisted":false,"prevItem":{"title":"3.1.0","permalink":"/changelog/3.1.0"},"nextItem":{"title":"3.0.0","permalink":"/changelog/3.0.0"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-utils`\\n - [#9570](https://github.com/facebook/docusaurus/pull/9570) fix: add v2 retrocompatible support for quoted admonitions ([@slorber](https://github.com/slorber))\\n - [#9535](https://github.com/facebook/docusaurus/pull/9535) fix: v3 admonitions should support v2 title syntax for nested admonitions ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#9567](https://github.com/facebook/docusaurus/pull/9567) fix(theme): upgrade prism-react-renderer, fix html script and style tag highlighting ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-common`\\n - [#9531](https://github.com/facebook/docusaurus/pull/9531) fix(theme): docs html sidebar items should always be visible ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#9530](https://github.com/facebook/docusaurus/pull/9530) fix(theme): fix firefox CSS :has() support bug ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`\\n - [#9487](https://github.com/facebook/docusaurus/pull/9487) fix(create-docusaurus): fix readme docusaurus 2 ref ([@slorber](https://github.com/slorber))\\n\\n## :robot: Dependencies\\n\\n- `docusaurus-plugin-debug`\\n - [#9566](https://github.com/facebook/docusaurus/pull/9566) chore(debug-plugin): migrate to a new maintained JSON Viewer ([@mcrstudio](https://github.com/mcrstudio))\\n- `create-docusaurus`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#9572](https://github.com/facebook/docusaurus/pull/9572) chore: upgrade prism-react-renderer to 2.3.0 to avoid older clsx ([@harryzcy](https://github.com/harryzcy))\\n - [#9567](https://github.com/facebook/docusaurus/pull/9567) fix(theme): upgrade prism-react-renderer, fix html script and style tag highlighting ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`\\n - [#9464](https://github.com/facebook/docusaurus/pull/9464) chore: Upgrade clsx to 2.0.0 ([@harryzcy](https://github.com/harryzcy))\\n- `docusaurus`\\n - [#9547](https://github.com/facebook/docusaurus/pull/9547) chore(core): replace `wait-on` dependency with custom lighter code ([@NickGerleman](https://github.com/NickGerleman))\\n- `docusaurus-plugin-pwa`, `docusaurus`\\n - [#9529](https://github.com/facebook/docusaurus/pull/9529) chore: ugrade babel dependencies to v7.23.3 ([@reece-white](https://github.com/reece-white))\\n\\n## Committers: 6\\n\\n- Chongyi Zheng ([@harryzcy](https://github.com/harryzcy))\\n- MCR Studio ([@mcrstudio](https://github.com/mcrstudio))\\n- Nick Gerleman ([@NickGerleman](https://github.com/NickGerleman))\\n- Shreesh Nautiyal ([@Shreesh09](https://github.com/Shreesh09))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- [@reece-white](https://github.com/reece-white)"},{"id":"/3.0.0","metadata":{"permalink":"/changelog/3.0.0","source":"@site/changelog/source/3.0.0.md","title":"3.0.0","description":"Breaking Change","date":"2023-10-31T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Wan Sim","alias":"0420syj","url":"https://github.com/0420syj","imageURL":"https://github.com/0420syj.png","key":"0420syj","page":null},{"name":"Abhinandan Wadhwa","alias":"abhinandanwadwa","url":"https://github.com/abhinandanwadwa","imageURL":"https://github.com/abhinandanwadwa.png","key":"abhinandanwadwa","page":null},{"name":"Abinash Satapathy","alias":"Abinashbunty","url":"https://github.com/Abinashbunty","imageURL":"https://github.com/Abinashbunty.png","key":"Abinashbunty","page":null},{"name":"Adam Patterson","alias":"adampatterson","url":"https://github.com/adampatterson","imageURL":"https://github.com/adampatterson.png","key":"adampatterson","page":null},{"name":"Adithya Krishna","alias":"adithyaakrishna","url":"https://github.com/adithyaakrishna","imageURL":"https://github.com/adithyaakrishna.png","key":"adithyaakrishna","page":null},{"name":"Hayden Hong","alias":"AFRUITPIE","url":"https://github.com/AFRUITPIE","imageURL":"https://github.com/AFRUITPIE.png","key":"AFRUITPIE","page":null},{"name":"Craigory Coppola","alias":"AgentEnder","url":"https://github.com/AgentEnder","imageURL":"https://github.com/AgentEnder.png","key":"AgentEnder","page":null},{"name":"Akshay Bhalotia","alias":"akshaybhalotia","url":"https://github.com/akshaybhalotia","imageURL":"https://github.com/akshaybhalotia.png","key":"akshaybhalotia","page":null},{"name":"allyw2002","alias":"allyw2002","url":"https://github.com/allyw2002","imageURL":"https://github.com/allyw2002.png","key":"allyw2002","page":null},{"name":"Ahmad Shrif","alias":"amdshrif","url":"https://github.com/amdshrif","imageURL":"https://github.com/amdshrif.png","key":"amdshrif","page":null},{"name":"Ahmed Mustafa Malik","alias":"amm98d","url":"https://github.com/amm98d","imageURL":"https://github.com/amm98d.png","key":"amm98d","page":null},{"name":"Sunghyun Cho","alias":"anaclumos","url":"https://github.com/anaclumos","imageURL":"https://github.com/anaclumos.png","key":"anaclumos","page":null},{"name":"Andrew Lyons","alias":"andrewnicols","url":"https://github.com/andrewnicols","imageURL":"https://github.com/andrewnicols.png","key":"andrewnicols","page":null},{"name":"Anton Kastritskii","alias":"antonk52","url":"https://github.com/antonk52","imageURL":"https://github.com/antonk52.png","key":"antonk52","page":null},{"name":"Antony Onipko","alias":"antonyoni","url":"https://github.com/antonyoni","imageURL":"https://github.com/antonyoni.png","key":"antonyoni","page":null},{"name":"Aqueeb","alias":"aqueeb","url":"https://github.com/aqueeb","imageURL":"https://github.com/aqueeb.png","key":"aqueeb","page":null},{"name":"Martin Adamko","alias":"attitude","url":"https://github.com/attitude","imageURL":"https://github.com/attitude.png","key":"attitude","page":null},{"name":"Billy Chan","alias":"billy1624","url":"https://github.com/billy1624","imageURL":"https://github.com/billy1624.png","key":"billy1624","page":null},{"name":"biplavmz","alias":"biplavmz","url":"https://github.com/biplavmz","imageURL":"https://github.com/biplavmz.png","key":"biplavmz","page":null},{"name":"bitpredator","alias":"bitpredator","url":"https://github.com/bitpredator","imageURL":"https://github.com/bitpredator.png","key":"bitpredator","page":null},{"name":"Joe Williams","alias":"BubbaJoe","url":"https://github.com/BubbaJoe","imageURL":"https://github.com/BubbaJoe.png","key":"BubbaJoe","page":null},{"name":"Dinh Bao Dang","alias":"chillinPanda","url":"https://github.com/chillinPanda","imageURL":"https://github.com/chillinPanda.png","key":"chillinPanda","page":null},{"name":"Bei Chu","alias":"chubei","url":"https://github.com/chubei","imageURL":"https://github.com/chubei.png","key":"chubei","page":null},{"name":"\u521D\u51AC","alias":"chudongvip","url":"https://github.com/chudongvip","imageURL":"https://github.com/chudongvip.png","key":"chudongvip","page":null},{"name":"Ryosuke Igarashi","alias":"cm-igarashi-ryosuke","url":"https://github.com/cm-igarashi-ryosuke","imageURL":"https://github.com/cm-igarashi-ryosuke.png","key":"cm-igarashi-ryosuke","page":null},{"name":"Colin McDonnell","alias":"colinhacks","url":"https://github.com/colinhacks","imageURL":"https://github.com/colinhacks.png","key":"colinhacks","page":null},{"name":"conlacda","alias":"conlacda","url":"https://github.com/conlacda","imageURL":"https://github.com/conlacda.png","key":"conlacda","page":null},{"name":"Dan Dascalescu","alias":"dandv","url":"https://github.com/dandv","imageURL":"https://github.com/dandv.png","key":"dandv","page":null},{"name":"Danilo Woznica","alias":"danilowoz","url":"https://github.com/danilowoz","imageURL":"https://github.com/danilowoz.png","key":"danilowoz","page":null},{"name":"Dan Roscigno","alias":"DanRoscigno","url":"https://github.com/DanRoscigno","imageURL":"https://github.com/DanRoscigno.png","key":"DanRoscigno","page":null},{"name":"David J. Felix","alias":"DavidJFelix","url":"https://github.com/DavidJFelix","imageURL":"https://github.com/DavidJFelix.png","key":"DavidJFelix","page":null},{"name":"dawei-wang","alias":"dawei-wang","url":"https://github.com/dawei-wang","imageURL":"https://github.com/dawei-wang.png","key":"dawei-wang","page":null},{"name":"Debbie O\'Brien","alias":"debs-obrien","url":"https://github.com/debs-obrien","imageURL":"https://github.com/debs-obrien.png","key":"debs-obrien","page":null},{"name":"Devansu Yadav","alias":"Devansu-Yadav","url":"https://github.com/Devansu-Yadav","imageURL":"https://github.com/Devansu-Yadav.png","key":"Devansu-Yadav","page":null},{"name":"Dongjoon Lee","alias":"Djunnni","url":"https://github.com/Djunnni","imageURL":"https://github.com/Djunnni.png","key":"Djunnni","page":null},{"name":"Dr-Electron","alias":"Dr-Electron","url":"https://github.com/Dr-Electron","imageURL":"https://github.com/Dr-Electron.png","key":"Dr-Electron","page":null},{"name":"Eduardo M\xednguez","alias":"e-minguez","url":"https://github.com/e-minguez","imageURL":"https://github.com/e-minguez.png","key":"e-minguez","page":null},{"name":"Gr\xe9gory Heitz","alias":"edno","url":"https://github.com/edno","imageURL":"https://github.com/edno.png","key":"edno","page":null},{"name":"FlorinaPacurar","alias":"FlorinaPacurar","url":"https://github.com/FlorinaPacurar","imageURL":"https://github.com/FlorinaPacurar.png","key":"FlorinaPacurar","page":null},{"name":"Charles Killer","alias":"Foosballfan","url":"https://github.com/Foosballfan","imageURL":"https://github.com/Foosballfan.png","key":"Foosballfan","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Francesco Ciulla","alias":"FrancescoXX","url":"https://github.com/FrancescoXX","imageURL":"https://github.com/FrancescoXX.png","key":"FrancescoXX","page":null},{"name":"Fredrik Stave","alias":"fredrikstave","url":"https://github.com/fredrikstave","imageURL":"https://github.com/fredrikstave.png","key":"fredrikstave","page":null},{"name":"Fxpby","alias":"fxpby","url":"https://github.com/fxpby","imageURL":"https://github.com/fxpby.png","key":"fxpby","page":null},{"name":"Gabriel Csapo","alias":"gabrielcsapo","url":"https://github.com/gabrielcsapo","imageURL":"https://github.com/gabrielcsapo.png","key":"gabrielcsapo","page":null},{"name":"Alexander Nguyen","alias":"GalexyN","url":"https://github.com/GalexyN","imageURL":"https://github.com/GalexyN.png","key":"GalexyN","page":null},{"name":"Gustav Ton\xe9r","alias":"gazab","url":"https://github.com/gazab","imageURL":"https://github.com/gazab.png","key":"gazab","page":null},{"name":"Eunkwang Shin","alias":"gracefullight","url":"https://github.com/gracefullight","imageURL":"https://github.com/gracefullight.png","key":"gracefullight","page":null},{"name":"Greg Berg\xe9","alias":"gregberge","url":"https://github.com/gregberge","imageURL":"https://github.com/gregberge.png","key":"gregberge","page":null},{"name":"Chongyi Zheng","alias":"harryzcy","url":"https://github.com/harryzcy","imageURL":"https://github.com/harryzcy.png","key":"harryzcy","page":null},{"name":"Sujal Gupta","alias":"heysujal","url":"https://github.com/heysujal","imageURL":"https://github.com/heysujal.png","key":"heysujal","page":null},{"name":"Hidde de Vries","alias":"hidde","url":"https://github.com/hidde","imageURL":"https://github.com/hidde.png","key":"hidde","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Hyunseung","alias":"hslee2008","url":"https://github.com/hslee2008","imageURL":"https://github.com/hslee2008.png","key":"hslee2008","page":null},{"name":"Anna","alias":"HumbleDeer","url":"https://github.com/HumbleDeer","imageURL":"https://github.com/HumbleDeer.png","key":"HumbleDeer","page":null},{"name":"Coupy","alias":"HyeokjinKang","url":"https://github.com/HyeokjinKang","imageURL":"https://github.com/HyeokjinKang.png","key":"HyeokjinKang","page":null},{"name":"Jean Humann","alias":"jean-humann","url":"https://github.com/jean-humann","imageURL":"https://github.com/jean-humann.png","key":"jean-humann","page":null},{"name":"Jesper Engberg","alias":"jeengbe","url":"https://github.com/jeengbe","imageURL":"https://github.com/jeengbe.png","key":"jeengbe","page":null},{"name":"John Cao","alias":"jhcao23","url":"https://github.com/jhcao23","imageURL":"https://github.com/jhcao23.png","key":"jhcao23","page":null},{"name":"JJ Style","alias":"jj-style","url":"https://github.com/jj-style","imageURL":"https://github.com/jj-style.png","key":"jj-style","page":null},{"name":"Jody Heavener","alias":"jodyheavener","url":"https://github.com/jodyheavener","imageURL":"https://github.com/jodyheavener.png","key":"jodyheavener","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Viktor Malmedal","alias":"JohnVicke","url":"https://github.com/JohnVicke","imageURL":"https://github.com/JohnVicke.png","key":"JohnVicke","page":null},{"name":"Jorens Merenjanu","alias":"JorensM","url":"https://github.com/JorensM","imageURL":"https://github.com/JorensM.png","key":"JorensM","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Juan Picado","alias":"juanpicado","url":"https://github.com/juanpicado","imageURL":"https://github.com/juanpicado.png","key":"juanpicado","page":null},{"name":"0x24Karthick","alias":"KarthickSakthi","url":"https://github.com/KarthickSakthi","imageURL":"https://github.com/KarthickSakthi.png","key":"KarthickSakthi","page":null},{"name":"Serenus","alias":"Kesyau","url":"https://github.com/Kesyau","imageURL":"https://github.com/Kesyau.png","key":"Kesyau","page":null},{"name":"Naffy Dharni","alias":"knownasnaffy","url":"https://github.com/knownasnaffy","imageURL":"https://github.com/knownasnaffy.png","key":"knownasnaffy","page":null},{"name":"la55u","alias":"la55u","url":"https://github.com/la55u","imageURL":"https://github.com/la55u.png","key":"la55u","page":null},{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null},{"name":"Oleksandr Fediashov","alias":"layershifter","url":"https://github.com/layershifter","imageURL":"https://github.com/layershifter.png","key":"layershifter","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lorenzo Lewis","alias":"lorenzolewis","url":"https://github.com/lorenzolewis","imageURL":"https://github.com/lorenzolewis.png","key":"lorenzolewis","page":null},{"name":"Silvestar Bistrovi\u0107","alias":"maliMirkec","url":"https://github.com/maliMirkec","imageURL":"https://github.com/maliMirkec.png","key":"maliMirkec","page":null},{"name":"Manuel","alias":"manuel-rw","url":"https://github.com/manuel-rw","imageURL":"https://github.com/manuel-rw.png","key":"manuel-rw","page":null},{"name":"Markshawn","alias":"MarkShawn2020","url":"https://github.com/MarkShawn2020","imageURL":"https://github.com/MarkShawn2020.png","key":"MarkShawn2020","page":null},{"name":"mcallisto","alias":"mcallisto","url":"https://github.com/mcallisto","imageURL":"https://github.com/mcallisto.png","key":"mcallisto","page":null},{"name":"Michael Remediakis","alias":"mickremedi","url":"https://github.com/mickremedi","imageURL":"https://github.com/mickremedi.png","key":"mickremedi","page":null},{"name":"ModupeD","alias":"ModupeD","url":"https://github.com/ModupeD","imageURL":"https://github.com/ModupeD.png","key":"ModupeD","page":null},{"name":"Mogyuchi","alias":"Mogyuchi","url":"https://github.com/Mogyuchi","imageURL":"https://github.com/Mogyuchi.png","key":"Mogyuchi","page":null},{"name":"Mu-Jing-Tsai","alias":"moojing","url":"https://github.com/moojing","imageURL":"https://github.com/moojing.png","key":"moojing","page":null},{"name":"Tom Mrazauskas","alias":"mrazauskas","url":"https://github.com/mrazauskas","imageURL":"https://github.com/mrazauskas.png","key":"mrazauskas","page":null},{"name":"Marco Stroppel","alias":"mstroppel","url":"https://github.com/mstroppel","imageURL":"https://github.com/mstroppel.png","key":"mstroppel","page":null},{"name":"Max Schmitt","alias":"mxschmitt","url":"https://github.com/mxschmitt","imageURL":"https://github.com/mxschmitt.png","key":"mxschmitt","page":null},{"name":"Mysterious_Dev","alias":"Mysterious-Dev","url":"https://github.com/Mysterious-Dev","imageURL":"https://github.com/Mysterious-Dev.png","key":"Mysterious-Dev","page":null},{"name":"Naman Garg","alias":"NamanGarg2075","url":"https://github.com/NamanGarg2075","imageURL":"https://github.com/NamanGarg2075.png","key":"NamanGarg2075","page":null},{"name":"Nathaniel Tucker","alias":"ntucker","url":"https://github.com/ntucker","imageURL":"https://github.com/ntucker.png","key":"ntucker","page":null},{"name":"Oluwatobi Sofela","alias":"oluwatobiss","url":"https://github.com/oluwatobiss","imageURL":"https://github.com/oluwatobiss.png","key":"oluwatobiss","page":null},{"name":"Aolin","alias":"Oreoxmt","url":"https://github.com/Oreoxmt","imageURL":"https://github.com/Oreoxmt.png","key":"Oreoxmt","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Maciek Palmowski","alias":"palmiak","url":"https://github.com/palmiak","imageURL":"https://github.com/palmiak.png","key":"palmiak","page":null},{"name":"Paul Razvan Berg","alias":"PaulRBerg","url":"https://github.com/PaulRBerg","imageURL":"https://github.com/PaulRBerg.png","key":"PaulRBerg","page":null},{"name":"Pinaki Bhattacharjee","alias":"pinakipb2","url":"https://github.com/pinakipb2","imageURL":"https://github.com/pinakipb2.png","key":"pinakipb2","page":null},{"name":"prateekbytes","alias":"prateekbytes","url":"https://github.com/prateekbytes","imageURL":"https://github.com/prateekbytes.png","key":"prateekbytes","page":null},{"name":"qwerzl","alias":"qwerzl","url":"https://github.com/qwerzl","imageURL":"https://github.com/qwerzl.png","key":"qwerzl","page":null},{"name":"Rashid","alias":"rashidmya","url":"https://github.com/rashidmya","imageURL":"https://github.com/rashidmya.png","key":"rashidmya","page":null},{"name":"Kolja","alias":"razzeee","url":"https://github.com/razzeee","imageURL":"https://github.com/razzeee.png","key":"razzeee","page":null},{"name":"Rapha\xebl Barbazza","alias":"rbarbazz","url":"https://github.com/rbarbazz","imageURL":"https://github.com/rbarbazz.png","key":"rbarbazz","page":null},{"name":"Bruce Song","alias":"recallwei","url":"https://github.com/recallwei","imageURL":"https://github.com/recallwei.png","key":"recallwei","page":null},{"name":"Chua Chee How","alias":"rojakcoder","url":"https://github.com/rojakcoder","imageURL":"https://github.com/rojakcoder.png","key":"rojakcoder","page":null},{"name":"rsteele6","alias":"rsteele6","url":"https://github.com/rsteele6","imageURL":"https://github.com/rsteele6.png","key":"rsteele6","page":null},{"name":"SADIK KUZU","alias":"sadikkuzu","url":"https://github.com/sadikkuzu","imageURL":"https://github.com/sadikkuzu.png","key":"sadikkuzu","page":null},{"name":"Sainan","alias":"Sainan","url":"https://github.com/Sainan","imageURL":"https://github.com/Sainan.png","key":"Sainan","page":null},{"name":"samatt14","alias":"samatt14","url":"https://github.com/samatt14","imageURL":"https://github.com/samatt14.png","key":"samatt14","page":null},{"name":"Sanjaiyan Parthipan","alias":"sanjaiyan-dev","url":"https://github.com/sanjaiyan-dev","imageURL":"https://github.com/sanjaiyan-dev.png","key":"sanjaiyan-dev","page":null},{"name":"Alex","alias":"sashashura","url":"https://github.com/sashashura","imageURL":"https://github.com/sashashura.png","key":"sashashura","page":null},{"name":"Marie","alias":"schneegansm","url":"https://github.com/schneegansm","imageURL":"https://github.com/schneegansm.png","key":"schneegansm","page":null},{"name":"Marco Kuper","alias":"scubamaggo","url":"https://github.com/scubamaggo","imageURL":"https://github.com/scubamaggo.png","key":"scubamaggo","page":null},{"name":"Shahriar","alias":"ShahriarKh","url":"https://github.com/ShahriarKh","imageURL":"https://github.com/ShahriarKh.png","key":"ShahriarKh","page":null},{"name":"Shashank Kumar","alias":"shawshankkumar","url":"https://github.com/shawshankkumar","imageURL":"https://github.com/shawshankkumar.png","key":"shawshankkumar","page":null},{"name":"Cl\xe9ment Vannicatte","alias":"shortcuts","url":"https://github.com/shortcuts","imageURL":"https://github.com/shortcuts.png","key":"shortcuts","page":null},{"name":"Shun Wakatsuki","alias":"shwaka","url":"https://github.com/shwaka","imageURL":"https://github.com/shwaka.png","key":"shwaka","page":null},{"name":"Gareth Dwyer","alias":"sixhobbits","url":"https://github.com/sixhobbits","imageURL":"https://github.com/sixhobbits.png","key":"sixhobbits","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Surav Shrestha","alias":"suravshrestha","url":"https://github.com/suravshrestha","imageURL":"https://github.com/suravshrestha.png","key":"suravshrestha","page":null},{"name":"sykp241095","alias":"sykp241095","url":"https://github.com/sykp241095","imageURL":"https://github.com/sykp241095.png","key":"sykp241095","page":null},{"name":"Tamal Anwar Chowdhury","alias":"tamalchowdhury","url":"https://github.com/tamalchowdhury","imageURL":"https://github.com/tamalchowdhury.png","key":"tamalchowdhury","page":null},{"name":"Tarun Chauhan","alias":"tarunrajput","url":"https://github.com/tarunrajput","imageURL":"https://github.com/tarunrajput.png","key":"tarunrajput","page":null},{"name":"Tatsunori Uchino","alias":"tats-u","url":"https://github.com/tats-u","imageURL":"https://github.com/tats-u.png","key":"tats-u","page":null},{"name":"Thad Guidry","alias":"thadguidry","url":"https://github.com/thadguidry","imageURL":"https://github.com/thadguidry.png","key":"thadguidry","page":null},{"name":"James Kerrane","alias":"thatrobotdev","url":"https://github.com/thatrobotdev","imageURL":"https://github.com/thatrobotdev.png","key":"thatrobotdev","page":null},{"name":"thedevwonder","alias":"thedevwonder","url":"https://github.com/thedevwonder","imageURL":"https://github.com/thedevwonder.png","key":"thedevwonder","page":null},{"name":"Andr\xe9s Villanueva","alias":"Villanuevand","url":"https://github.com/Villanuevand","imageURL":"https://github.com/Villanuevand.png","key":"Villanuevand","page":null},{"name":"VinceCYLiao","alias":"VinceCYLiao","url":"https://github.com/VinceCYLiao","imageURL":"https://github.com/VinceCYLiao.png","key":"VinceCYLiao","page":null},{"name":"Waldir Pimenta","alias":"waldyrious","url":"https://github.com/waldyrious","imageURL":"https://github.com/waldyrious.png","key":"waldyrious","page":null},{"name":"Will Ceolin","alias":"wceolin","url":"https://github.com/wceolin","imageURL":"https://github.com/wceolin.png","key":"wceolin","page":null},{"name":"Webber Takken","alias":"webbertakken","url":"https://github.com/webbertakken","imageURL":"https://github.com/webbertakken.png","key":"webbertakken","page":null},{"name":"Jordan Manley","alias":"werner33","url":"https://github.com/werner33","imageURL":"https://github.com/werner33.png","key":"werner33","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"yosukekato165","alias":"yosukekato165","url":"https://github.com/yosukekato165","imageURL":"https://github.com/yosukekato165.png","key":"yosukekato165","page":null},{"name":"Zwyx","alias":"Zwyx","url":"https://github.com/Zwyx","imageURL":"https://github.com/Zwyx.png","key":"Zwyx","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-10-31T20:00","authors":["0420syj","abhinandanwadwa","Abinashbunty","adampatterson","adithyaakrishna","AFRUITPIE","AgentEnder","akshaybhalotia","allyw2002","amdshrif","amm98d","anaclumos","andrewnicols","antonk52","antonyoni","aqueeb","attitude","billy1624","biplavmz","bitpredator","BubbaJoe","chillinPanda","chubei","chudongvip","cm-igarashi-ryosuke","colinhacks","conlacda","dandv","danilowoz","DanRoscigno","DavidJFelix","dawei-wang","debs-obrien","Devansu-Yadav","Djunnni","Dr-Electron","e-minguez","edno","FlorinaPacurar","Foosballfan","forresst","FrancescoXX","fredrikstave","fxpby","gabrielcsapo","GalexyN","gazab","gracefullight","gregberge","harryzcy","heysujal","hidde","homotechsual","hslee2008","HumbleDeer","HyeokjinKang","jean-humann","jeengbe","jhcao23","jj-style","jodyheavener","johnnyreilly","JohnVicke","JorensM","Josh-Cena","juanpicado","KarthickSakthi","Kesyau","knownasnaffy","la55u","lanegoolsby","layershifter","lex111","lorenzolewis","maliMirkec","manuel-rw","MarkShawn2020","mcallisto","mickremedi","ModupeD","Mogyuchi","moojing","mrazauskas","mstroppel","mxschmitt","Mysterious-Dev","NamanGarg2075","ntucker","oluwatobiss","Oreoxmt","OzakIOne","palmiak","PaulRBerg","pinakipb2","prateekbytes","qwerzl","rashidmya","razzeee","rbarbazz","recallwei","rojakcoder","rsteele6","sadikkuzu","Sainan","samatt14","sanjaiyan-dev","sashashura","schneegansm","scubamaggo","ShahriarKh","shawshankkumar","shortcuts","shwaka","sixhobbits","slorber","suravshrestha","sykp241095","tamalchowdhury","tarunrajput","tats-u","thadguidry","thatrobotdev","thedevwonder","Villanuevand","VinceCYLiao","waldyrious","wceolin","webbertakken","werner33","yangshun","yosukekato165","Zwyx"]},"unlisted":false,"prevItem":{"title":"3.0.1","permalink":"/changelog/3.0.1"},"nextItem":{"title":"2.4.3","permalink":"/changelog/2.4.3"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`\\n - [#9451](https://github.com/facebook/docusaurus/pull/9451) feat(mdx-loader): upgrade to MDX v3 ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#9317](https://github.com/facebook/docusaurus/pull/9317) feat(core): support TypeScript + ESM configuration ([@harryzcy](https://github.com/harryzcy))\\n- `create-docusaurus`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus`\\n - [#9316](https://github.com/facebook/docusaurus/pull/9316) chore: upgrade syntax highlighting dependencies, `prism-react-renderer` to v2, `react-live` to v4 ([@harryzcy](https://github.com/harryzcy))\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`, `lqip-loader`\\n - [#9348](https://github.com/facebook/docusaurus/pull/9348) chore: update node engine version 18 ([@OzakIOne](https://github.com/OzakIOne))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#9310](https://github.com/facebook/docusaurus/pull/9310) chore(plugin-docs): remove legacy versioned prefix on doc ids and sidebar names in versioned sidebars ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-translations`\\n - [#9308](https://github.com/facebook/docusaurus/pull/9308) fix(theme): make warning a first-class admonition, and deprecate caution admonition ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`\\n - [#9305](https://github.com/facebook/docusaurus/pull/9305) feat(theme-mermaid): upgrade Mermaid to v10.4 - handle async rendering ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-tsconfig`, `docusaurus`\\n - [#9258](https://github.com/facebook/docusaurus/pull/9258) feat: Docusaurus v3 upgrades and require TypeScript 5 ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`\\n - [#9189](https://github.com/facebook/docusaurus/pull/9189) feat(blog-plugin): limit option for blog feedOptions ([@johnnyreilly](https://github.com/johnnyreilly))\\n- `create-docusaurus`, `docusaurus-tsconfig`\\n - [#9050](https://github.com/facebook/docusaurus/pull/9050) feat: create official TypeScript base config @docusaurus/tsconfig ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus`\\n - [#8961](https://github.com/facebook/docusaurus/pull/8961) feat: React 18 + automatic JSX runtime + build --dev ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`\\n - [#9026](https://github.com/facebook/docusaurus/pull/9026) chore: remove facebook template ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-content-blog`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-mermaid`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#8288](https://github.com/facebook/docusaurus/pull/8288) feat: upgrade to MDX v2 ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus`\\n - [#7966](https://github.com/facebook/docusaurus/pull/7966) fix(plugin-docs,theme): refactor docs plugin routes and component tree ([@slorber](https://github.com/slorber))\\n\\n## :rocket: New Feature\\n\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`\\n - [#9451](https://github.com/facebook/docusaurus/pull/9451) feat(mdx-loader): upgrade to MDX v3 ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-utils`\\n - [#9394](https://github.com/facebook/docusaurus/pull/9394) feat(mdx-loader): Remark plugin to report unused MDX / Markdown directives ([@OzakIOne](https://github.com/OzakIOne))\\n- `create-docusaurus`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#9317](https://github.com/facebook/docusaurus/pull/9317) feat(core): support TypeScript + ESM configuration ([@harryzcy](https://github.com/harryzcy))\\n- `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`\\n - [#9305](https://github.com/facebook/docusaurus/pull/9305) feat(theme-mermaid): upgrade Mermaid to v10.4 - handle async rendering ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`\\n - [#9241](https://github.com/facebook/docusaurus/pull/9241) feat: support bun package manager in `create-docusaurus` ([@colinhacks](https://github.com/colinhacks))\\n- `docusaurus-plugin-content-blog`\\n - [#9189](https://github.com/facebook/docusaurus/pull/9189) feat(blog-plugin): limit option for blog feedOptions ([@johnnyreilly](https://github.com/johnnyreilly))\\n- `docusaurus-theme-classic`\\n - [#9152](https://github.com/facebook/docusaurus/pull/9152) feat(theme): add support for meta og locale and alternates ([@FlorinaPacurar](https://github.com/FlorinaPacurar))\\n - [#9028](https://github.com/facebook/docusaurus/pull/9028) feat(theme): add ability to inject data attributes from query-string - possibility to create an iframe/embed variant of a page ([@slorber](https://github.com/slorber))\\n - [#8915](https://github.com/facebook/docusaurus/pull/8915) feat(theme): add queryString option to localeDropdown ([@wceolin](https://github.com/wceolin))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-utils-validation`\\n - [#9171](https://github.com/facebook/docusaurus/pull/9171) feat(client-redirects-plugin): support fully qualified urls and querystring/hash in destination/to url ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#9102](https://github.com/facebook/docusaurus/pull/9102) feat(cli): deploy command should allow customizing git config user.name / user.email in deployment branch (#9101) ([@amdshrif](https://github.com/amdshrif))\\n- `docusaurus-mdx-loader`, `docusaurus-types`, `docusaurus`\\n - [#9097](https://github.com/facebook/docusaurus/pull/9097) feat(mdx): add siteConfig.markdown.format to configure the default content parser (MDX / CommonMark) ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`\\n - [#9071](https://github.com/facebook/docusaurus/pull/9071) feat(pages): add support for missing SEO front matter + improve SEO docs ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-tsconfig`\\n - [#9050](https://github.com/facebook/docusaurus/pull/9050) feat: create official TypeScript base config @docusaurus/tsconfig ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus`\\n - [#8961](https://github.com/facebook/docusaurus/pull/8961) feat: React 18 + automatic JSX runtime + build --dev ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-common`\\n - [#8982](https://github.com/facebook/docusaurus/pull/8982) feat(theme-common): code block MagicComments support for TeX/LaTeX/Matlab ([@jj-style](https://github.com/jj-style))\\n - [#8870](https://github.com/facebook/docusaurus/pull/8870) feat(theme-common): code block MagicComments support for Lua/Haskell -- and WebAssembly ;; ([@tarunrajput](https://github.com/tarunrajput))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-content-blog`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-mermaid`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#8288](https://github.com/facebook/docusaurus/pull/8288) feat: upgrade to MDX v2 ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#8890](https://github.com/facebook/docusaurus/pull/8890) feat(theme): create more generic ThemedComponent util from ThemedImage ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `eslint-plugin`\\n - [#8384](https://github.com/facebook/docusaurus/pull/8384) feat(eslint-plugin): new prefer-docusaurus-heading rule ([@Devansu-Yadav](https://github.com/Devansu-Yadav))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus`, `eslint-plugin`\\n - [#8156](https://github.com/facebook/docusaurus/pull/8156) feat: add eslint plugin no-html-links ([@JohnVicke](https://github.com/JohnVicke))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`, `docusaurus-utils-validation`, `docusaurus-utils`\\n - [#8004](https://github.com/facebook/docusaurus/pull/8004) feat(docs,blog,pages): add support for \\"unlisted\\" front matter - hide md content in production ([@jodyheavener](https://github.com/jodyheavener))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-common`\\n - [#9446](https://github.com/facebook/docusaurus/pull/9446) fix(theme): fix useWindowSize React hydration issue ([@slorber](https://github.com/slorber))\\n - [#9276](https://github.com/facebook/docusaurus/pull/9276) fix(theme-common): remove useless useSyncExternalStore shim ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`\\n - [#9437](https://github.com/facebook/docusaurus/pull/9437) fix(plugin-blog): blog archive should hide unlisted blog posts ([@slorber](https://github.com/slorber))\\n - [#9151](https://github.com/facebook/docusaurus/pull/9151) fix(content-blog): links in feed should be absolute ([@VinceCYLiao](https://github.com/VinceCYLiao))\\n- `docusaurus`\\n - [#9387](https://github.com/facebook/docusaurus/pull/9387) fix(core): log missing errorInfo in React 18 onRecoverableError callback ([@johnnyreilly](https://github.com/johnnyreilly))\\n - [#9309](https://github.com/facebook/docusaurus/pull/9309) fix(cli): disable vertical borders of the update notification ([@qwerzl](https://github.com/qwerzl))\\n - [#9112](https://github.com/facebook/docusaurus/pull/9112) fix(core): throw error if build folder already exists on initial clean ([@thedevwonder](https://github.com/thedevwonder))\\n - [#9006](https://github.com/facebook/docusaurus/pull/9006) fix(core): docusaurus CLI should detect the correct yarn version when suggesting upgrades ([@0420syj](https://github.com/0420syj))\\n - [#7951](https://github.com/facebook/docusaurus/pull/7951) fix(core): make webpack HMR always listen to current location ([@jeengbe](https://github.com/jeengbe))\\n- `docusaurus-mdx-loader`\\n - [#9386](https://github.com/facebook/docusaurus/pull/9386) fix(mdx-loader): get correct error line numbers, handle front matter + contentTitle with remark ([@slorber](https://github.com/slorber))\\n - [#9262](https://github.com/facebook/docusaurus/pull/9262) fix(mdx-loader): improve mdxJsxTextElementToHtml ([@slorber](https://github.com/slorber))\\n - [#9202](https://github.com/facebook/docusaurus/pull/9202) fix(mdx-loader): ensure heading anchor slugs respect GitHub emoji behavior ([@yosukekato165](https://github.com/yosukekato165))\\n - [#9100](https://github.com/facebook/docusaurus/pull/9100) fix(mdx): fix for html multi-line comments ([@slorber](https://github.com/slorber))\\n - [#9091](https://github.com/facebook/docusaurus/pull/9091) fix(mdx-loader): loader error message should display stacktrace if no extra MDX details ([@slorber](https://github.com/slorber))\\n - [#8960](https://github.com/facebook/docusaurus/pull/8960) fix: allow html syntax in MDX v2 with format md ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#9385](https://github.com/facebook/docusaurus/pull/9385) fix(theme): avoid rendering empty search container if site has no search plugin ([@slorber](https://github.com/slorber))\\n - [#9183](https://github.com/facebook/docusaurus/pull/9183) fix(theme): make Prism code block language / additionalLanguages case insensitive ([@heysujal](https://github.com/heysujal))\\n - [#9216](https://github.com/facebook/docusaurus/pull/9216) fix(theme): fix typo in swizzle component config ([@sixhobbits](https://github.com/sixhobbits))\\n - [#9093](https://github.com/facebook/docusaurus/pull/9093) fix(theme): support details/summary in CommonMark + add md dogfood test cases ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-utils`\\n - [#9369](https://github.com/facebook/docusaurus/pull/9369) fix(mdx-loader): prevent Open Graph images from being inserted as base64 ([@Zwyx](https://github.com/Zwyx))\\n- `docusaurus-theme-translations`\\n - [#9362](https://github.com/facebook/docusaurus/pull/9362) fix(theme-translations): add Japanese translation for \\"warning\\" ([@tats-u](https://github.com/tats-u))\\n - [#9321](https://github.com/facebook/docusaurus/pull/9321) fix(theme-translations): add missing zh-Hans messages ([@chudongvip](https://github.com/chudongvip))\\n - [#9338](https://github.com/facebook/docusaurus/pull/9338) fix(theme-translations): complete and fix hungarian translations ([@la55u](https://github.com/la55u))\\n - [#9292](https://github.com/facebook/docusaurus/pull/9292) fix(theme-translations): add missing Spanish theme translations ([@Villanuevand](https://github.com/Villanuevand))\\n - [#9021](https://github.com/facebook/docusaurus/pull/9021) fix(theme-transalations): fix Swedish translation of \\"last updated\\" ([@gazab](https://github.com/gazab))\\n- `docusaurus-theme-classic`, `docusaurus-theme-translations`\\n - [#9308](https://github.com/facebook/docusaurus/pull/9308) fix(theme): make warning a first-class admonition, and deprecate caution admonition ([@slorber](https://github.com/slorber))\\n - [#9269](https://github.com/facebook/docusaurus/pull/9269) fix(theme): improve docs sidebar category caret aria-label accessibility ([@pinakipb2](https://github.com/pinakipb2))\\n- Other\\n - [#9260](https://github.com/facebook/docusaurus/pull/9260) fix(website): fix showcase search input ([@biplavmz](https://github.com/biplavmz))\\n - [#8193](https://github.com/facebook/docusaurus/pull/8193) fix(website): mobile scroll on homepage announcement ([@maliMirkec](https://github.com/maliMirkec))\\n - [#8042](https://github.com/facebook/docusaurus/pull/8042) fix(website): fix blog post social card ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`\\n - [#9217](https://github.com/facebook/docusaurus/pull/9217) fix(create-docusaurus): increase Browserslist support query in dev ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils`, `docusaurus`\\n - [#9160](https://github.com/facebook/docusaurus/pull/9160) fix(core): handle single quotes inside file paths ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-debug`\\n - [#9116](https://github.com/facebook/docusaurus/pull/9116) fix(debug-plugin): upgrade react-json-view to maintained React-18 compatible fork ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils`\\n - [#9046](https://github.com/facebook/docusaurus/pull/9046) fix(utils): better handling of code blocks in link replacement ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#8927](https://github.com/facebook/docusaurus/pull/8927) fix(utils): make Markdown link replacement much more rigorous ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7864](https://github.com/facebook/docusaurus/pull/7864) fix(utils): always match exclusion root dirs as complete folder paths ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7801](https://github.com/facebook/docusaurus/pull/7801) fix(utils): recognize ~~~ as code fences in link replacement ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-pwa`, `docusaurus`\\n - [#8872](https://github.com/facebook/docusaurus/pull/8872) fix(core): better error logging on SSR/dev failures + log stacktraces and error causes ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils-validation`, `docusaurus`\\n - [#8258](https://github.com/facebook/docusaurus/pull/8258) fix(docusaurus-utils-validation): baseUrl + routeBasePath: allow empty string, normalized as \\"/\\" ([@Djunnni](https://github.com/Djunnni))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#8319](https://github.com/facebook/docusaurus/pull/8319) fix(docs,theme): auto-generated category index should not display unlisted content ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`\\n - [#8015](https://github.com/facebook/docusaurus/pull/8015) fix(live-codeblock): add error boundary to live code preview ([@rashidmya](https://github.com/rashidmya))\\n- `docusaurus-mdx-loader`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus`\\n - [#7945](https://github.com/facebook/docusaurus/pull/7945) refactor(theme): split admonitions, make swizzle easier, better retrocompatibility ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus`\\n - [#7966](https://github.com/facebook/docusaurus/pull/7966) fix(plugin-docs,theme): refactor docs plugin routes and component tree ([@slorber](https://github.com/slorber))\\n\\n## :running: Performance\\n\\n- `docusaurus`\\n - [#9051](https://github.com/facebook/docusaurus/pull/9051) perf(core): use React 18 startTransition for hydration ([@sanjaiyan-dev](https://github.com/sanjaiyan-dev))\\n - [#8081](https://github.com/facebook/docusaurus/pull/8081) perf(core): move scripts to document head + defer ([@sanjaiyan-dev](https://github.com/sanjaiyan-dev))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus`\\n - [#8972](https://github.com/facebook/docusaurus/pull/8972) fix: remove useless js-loader in front of mdx-loader ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#9438](https://github.com/facebook/docusaurus/pull/9438) refactor(blog-plugin): blog archive reverse ordering of posts ([@slorber](https://github.com/slorber))\\n - [#9184](https://github.com/facebook/docusaurus/pull/9184) fix(theme): change schema.org itemType prop urls from http to https ([@thedevwonder](https://github.com/thedevwonder))\\n- `docusaurus`\\n - [#9381](https://github.com/facebook/docusaurus/pull/9381) feat(core): throw error when official docusaurus dependencies use different versions ([@JorensM](https://github.com/JorensM))\\n- `docusaurus-theme-translations`\\n - [#9302](https://github.com/facebook/docusaurus/pull/9302) chore(theme-translations): complete zh-Hant translations ([@qwerzl](https://github.com/qwerzl))\\n - [#9025](https://github.com/facebook/docusaurus/pull/9025) chore(theme-translations): complete it translations ([@bitpredator](https://github.com/bitpredator))\\n- `create-docusaurus`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus`\\n - [#9133](https://github.com/facebook/docusaurus/pull/9133) fix(init): change initial site URL to one that is safe for the future ([@tats-u](https://github.com/tats-u))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#8150](https://github.com/facebook/docusaurus/pull/8150) fix(theme-classic): polish admonition details, render title-only admonitions ([@attitude](https://github.com/attitude))\\n- `docusaurus-plugin-google-gtag`\\n - [#8143](https://github.com/facebook/docusaurus/pull/8143) refactor(plugin-gtag): update gtag plugin to modern SPA recommendations ([@lanegoolsby](https://github.com/lanegoolsby))\\n- `docusaurus-mdx-loader`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus`\\n - [#7945](https://github.com/facebook/docusaurus/pull/7945) refactor(theme): split admonitions, make swizzle easier, better retrocompatibility ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#9452](https://github.com/facebook/docusaurus/pull/9452) docs: v3 upgrade guide should mention MDX v1 compat options ([@slorber](https://github.com/slorber))\\n - [#9430](https://github.com/facebook/docusaurus/pull/9430) docs: update Kinsta deployment documentation ([@palmiak](https://github.com/palmiak))\\n - [#9417](https://github.com/facebook/docusaurus/pull/9417) docs: add Docusaurus v3.0 upgrade guide ([@slorber](https://github.com/slorber))\\n - [#9396](https://github.com/facebook/docusaurus/pull/9396) docs: fix typos in website/docs/i18n/i18n-git.mdx ([@suravshrestha](https://github.com/suravshrestha))\\n - [#9397](https://github.com/facebook/docusaurus/pull/9397) docs: fix typos in website/docs/migration/migration-manual.mdx ([@suravshrestha](https://github.com/suravshrestha))\\n - [#9388](https://github.com/facebook/docusaurus/pull/9388) docs: fix algolia crowler config template link for v3 ([@slorber](https://github.com/slorber))\\n - [#9377](https://github.com/facebook/docusaurus/pull/9377) docs(deployment): add permissions config to github action file in v2.4.3 ([@chillinPanda](https://github.com/chillinPanda))\\n - [#9333](https://github.com/facebook/docusaurus/pull/9333) docs: \\"Preparing your site for Docusaurus v3\\" blog post ([@slorber](https://github.com/slorber))\\n - [#9330](https://github.com/facebook/docusaurus/pull/9330) docs: \\"Upgrading frontend dependencies with confidence\\" blog post ([@slorber](https://github.com/slorber))\\n - [#9288](https://github.com/facebook/docusaurus/pull/9288) docs: fix bad link for create doc ([@forresst](https://github.com/forresst))\\n - [#9267](https://github.com/facebook/docusaurus/pull/9267) docs: fix typo in docs-introduction ([@HyeokjinKang](https://github.com/HyeokjinKang))\\n - [#9247](https://github.com/facebook/docusaurus/pull/9247) docs: Reword comparison between React authoring and CSS authoring ([@hidde](https://github.com/hidde))\\n - [#9223](https://github.com/facebook/docusaurus/pull/9223) docs: fix grammatical error, rewrite sentence to make clearer ([@thatrobotdev](https://github.com/thatrobotdev))\\n - [#9233](https://github.com/facebook/docusaurus/pull/9233) docs(website): Add a \\"clearAll\\" Feature to site showcase ([@biplavmz](https://github.com/biplavmz))\\n - [#9180](https://github.com/facebook/docusaurus/pull/9180) docs: remove \'import type\' declaration in javascript snippet ([@oluwatobiss](https://github.com/oluwatobiss))\\n - [#9177](https://github.com/facebook/docusaurus/pull/9177) docs: improve the opening sentence\'s clarity ([@oluwatobiss](https://github.com/oluwatobiss))\\n - [#9149](https://github.com/facebook/docusaurus/pull/9149) docs: improve yarn deps upgrade command ([@webbertakken](https://github.com/webbertakken))\\n - [#9139](https://github.com/facebook/docusaurus/pull/9139) docs: add Flightcontrol as a deployment option ([@ModupeD](https://github.com/ModupeD))\\n - [#9082](https://github.com/facebook/docusaurus/pull/9082) docs: fix themeConfig.prism.defaultLanguage table api ref docs ([@razzeee](https://github.com/razzeee))\\n - [#9074](https://github.com/facebook/docusaurus/pull/9074) docs: fix filenames in docs/swizzling.mdx ([@shwaka](https://github.com/shwaka))\\n - [#9065](https://github.com/facebook/docusaurus/pull/9065) docs: update link for commonly used languages ([@heysujal](https://github.com/heysujal))\\n - [#9055](https://github.com/facebook/docusaurus/pull/9055) docs: update outdated links in showcase ([@manuel-rw](https://github.com/manuel-rw))\\n - [#9063](https://github.com/facebook/docusaurus/pull/9063) docs: add @markprompt/docusaurus-theme-search ([@schneegansm](https://github.com/schneegansm))\\n - [#9033](https://github.com/facebook/docusaurus/pull/9033) docs: update info for community plugin docusaurus2-graphql-doc-generator ([@edno](https://github.com/edno))\\n - [#9044](https://github.com/facebook/docusaurus/pull/9044) docs: fix prism theme broken link in code blocks docs ([@adithyaakrishna](https://github.com/adithyaakrishna))\\n - [#9043](https://github.com/facebook/docusaurus/pull/9043) docs: fix grammar typo in swizzling.mdx ([@adampatterson](https://github.com/adampatterson))\\n - [#9018](https://github.com/facebook/docusaurus/pull/9018) docs: fix link to rehype ([@Mogyuchi](https://github.com/Mogyuchi))\\n - [#8993](https://github.com/facebook/docusaurus/pull/8993) docs: fix broken link in code blocks docs ([@NamanGarg2075](https://github.com/NamanGarg2075))\\n - [#8975](https://github.com/facebook/docusaurus/pull/8975) docs: update link in md code blocks section ([@rbarbazz](https://github.com/rbarbazz))\\n - [#8976](https://github.com/facebook/docusaurus/pull/8976) docs: update broken links theme configuration page ([@rbarbazz](https://github.com/rbarbazz))\\n - [#8904](https://github.com/facebook/docusaurus/pull/8904) docs: fix broken link to Prism includeLangs.js default list of languages ([@conlacda](https://github.com/conlacda))\\n - [#8951](https://github.com/facebook/docusaurus/pull/8951) docs: mention equivalent config syntaxes ([@thadguidry](https://github.com/thadguidry))\\n - [#8950](https://github.com/facebook/docusaurus/pull/8950) docs: bidirectional link between api config and guide config ([@thadguidry](https://github.com/thadguidry))\\n - [#8953](https://github.com/facebook/docusaurus/pull/8953) docs: mention blog truncating marker edge case ([@allyw2002](https://github.com/allyw2002))\\n - [#8941](https://github.com/facebook/docusaurus/pull/8941) docs: rewrite some docs for mdx v2 ([@slorber](https://github.com/slorber))\\n - [#8943](https://github.com/facebook/docusaurus/pull/8943) docs: mention docusaurus.community site in resources ([@thadguidry](https://github.com/thadguidry))\\n - [#8920](https://github.com/facebook/docusaurus/pull/8920) docs: mdx-js is using v2 for next edition ([@jhcao23](https://github.com/jhcao23))\\n - [#8888](https://github.com/facebook/docusaurus/pull/8888) docs: improve sidebar items custom props docs ([@slorber](https://github.com/slorber))\\n - [#8877](https://github.com/facebook/docusaurus/pull/8877) docs: add \\"permissions.content: write\\" to GH workflow examples ([@e-minguez](https://github.com/e-minguez))\\n - [#8845](https://github.com/facebook/docusaurus/pull/8845) docs: add description on blog post file/folder naming conventions and date extraction patterns ([@rojakcoder](https://github.com/rojakcoder))\\n - [#8865](https://github.com/facebook/docusaurus/pull/8865) docs: correct small grammar error ([@werner33](https://github.com/werner33))\\n - [#8830](https://github.com/facebook/docusaurus/pull/8830) docs: link to mermaid config types ([@PaulRBerg](https://github.com/PaulRBerg))\\n - [#8804](https://github.com/facebook/docusaurus/pull/8804) docs: update suggestion for OSS meta projects ([@antonk52](https://github.com/antonk52))\\n - [#8788](https://github.com/facebook/docusaurus/pull/8788) docs: remove problematic mdx2 anchor id docs for MDX 2 migration ([@slorber](https://github.com/slorber))\\n - [#8780](https://github.com/facebook/docusaurus/pull/8780) docs: fix localhost url without link ([@slorber](https://github.com/slorber))\\n - [#8779](https://github.com/facebook/docusaurus/pull/8779) docs: v2 docs should discourage the usage of a lower-case MDX component (will not work in v3) ([@slorber](https://github.com/slorber))\\n - [#8761](https://github.com/facebook/docusaurus/pull/8761) docs: add mention that themeConfig.footer.copyright supports html strings ([@fxpby](https://github.com/fxpby))\\n - [#8723](https://github.com/facebook/docusaurus/pull/8723) docs: add TypeScript playgrounds to docusaurus.new + Playground page ([@slorber](https://github.com/slorber))\\n - [#8709](https://github.com/facebook/docusaurus/pull/8709) docs: add dark mode version of BrowserStack logo ([@fredrikstave](https://github.com/fredrikstave))\\n - [#8642](https://github.com/facebook/docusaurus/pull/8642) docs: clarify query string behavior ([@homotechsual](https://github.com/homotechsual))\\n - [#8576](https://github.com/facebook/docusaurus/pull/8576) docs(playground): use CodeSandbox cloud sandboxes ([@danilowoz](https://github.com/danilowoz))\\n - [#8543](https://github.com/facebook/docusaurus/pull/8543) docs: add link to pluralization docs ([@homotechsual](https://github.com/homotechsual))\\n - [#8556](https://github.com/facebook/docusaurus/pull/8556) docs: document plugin-content-pages wrapperClassName frontmatter. ([@homotechsual](https://github.com/homotechsual))\\n - [#8548](https://github.com/facebook/docusaurus/pull/8548) docs: fix typo \'validationOptions\' ([@gracefullight](https://github.com/gracefullight))\\n - [#8509](https://github.com/facebook/docusaurus/pull/8509) docs(website): fix broken external links wrongly modified to use the .mdx extension (ex: github README.mdx) ([@Kesyau](https://github.com/Kesyau))\\n - [#8507](https://github.com/facebook/docusaurus/pull/8507) docs: blog + community + dogfood docs should use .mdx extension ([@slorber](https://github.com/slorber))\\n - [#8490](https://github.com/facebook/docusaurus/pull/8490) docs(website): use .mdx extension for every docs ([@slorber](https://github.com/slorber))\\n - [#8484](https://github.com/facebook/docusaurus/pull/8484) docs: `plugin-content-sitemap` -> `plugin-sitemap` ([@chubei](https://github.com/chubei))\\n - [#8454](https://github.com/facebook/docusaurus/pull/8454) fix(docs): Update link for tooljet website(broken) ([@shawshankkumar](https://github.com/shawshankkumar))\\n - [#8443](https://github.com/facebook/docusaurus/pull/8443) docs: fix website home testimonials broken image URLs ([@abhinandanwadwa](https://github.com/abhinandanwadwa))\\n - [#8438](https://github.com/facebook/docusaurus/pull/8438) docs: add hyperlink to swizzling in Search page ([@dandv](https://github.com/dandv))\\n - [#8431](https://github.com/facebook/docusaurus/pull/8431) docs: add diagrams page to 2.2.0 sidebar ([@homotechsual](https://github.com/homotechsual))\\n - [#8307](https://github.com/facebook/docusaurus/pull/8307) docs: clarify additionalLanguages with custom language definitions. ([@homotechsual](https://github.com/homotechsual))\\n - [#8390](https://github.com/facebook/docusaurus/pull/8390) docs: changed actions/checkout version from 2 to 3 ([@cm-igarashi-ryosuke](https://github.com/cm-igarashi-ryosuke))\\n - [#8262](https://github.com/facebook/docusaurus/pull/8262) docs: fix links to external plugin description ([@scubamaggo](https://github.com/scubamaggo))\\n - [#8375](https://github.com/facebook/docusaurus/pull/8375) docs: add Kinsta to deployment page ([@palmiak](https://github.com/palmiak))\\n - [#8417](https://github.com/facebook/docusaurus/pull/8417) docs: document theme-mermaid in API sidebar ([@homotechsual](https://github.com/homotechsual))\\n - [#8392](https://github.com/facebook/docusaurus/pull/8392) docs: add i18n guide doc should link to i18n core config doc ([@mcallisto](https://github.com/mcallisto))\\n - [#8388](https://github.com/facebook/docusaurus/pull/8388) docs: point to where commit types are listed ([@dandv](https://github.com/dandv))\\n - [#8352](https://github.com/facebook/docusaurus/pull/8352) docs: actually demo the zero-width space workaround in MDX ([@waldyrious](https://github.com/waldyrious))\\n - [#8363](https://github.com/facebook/docusaurus/pull/8363) docs: fix unclosed admonition code block ([@Zwyx](https://github.com/Zwyx))\\n - [#8364](https://github.com/facebook/docusaurus/pull/8364) docs: autogenerated page comment does not matching dirName in examples ([@HumbleDeer](https://github.com/HumbleDeer))\\n - [#8359](https://github.com/facebook/docusaurus/pull/8359) docs: fix anchor link `#customFields` ([@Zwyx](https://github.com/Zwyx))\\n - [#8320](https://github.com/facebook/docusaurus/pull/8320) docs: remove blog.johnnyreilly.com Google Analytics tag from docs part 2 ([@johnnyreilly](https://github.com/johnnyreilly))\\n - [#8335](https://github.com/facebook/docusaurus/pull/8335) docs: use Mermaid diagram for routing page ([@Mysterious-Dev](https://github.com/Mysterious-Dev))\\n - [#8313](https://github.com/facebook/docusaurus/pull/8313) docs: link to migration guide from Blogger to Docusaurus / remove blog.johnnyreilly.com Google Analytics tag from docs ([@johnnyreilly](https://github.com/johnnyreilly))\\n - [#8292](https://github.com/facebook/docusaurus/pull/8292) docs: document tag types for insertHtmlContent ([@homotechsual](https://github.com/homotechsual))\\n - [#8272](https://github.com/facebook/docusaurus/pull/8272) docs: fix mermaid theme options typo ([@ntucker](https://github.com/ntucker))\\n - [#8209](https://github.com/facebook/docusaurus/pull/8209) docs: removing community resource docusaurus-plugin-relative-paths ([@ShahriarKh](https://github.com/ShahriarKh))\\n - [#8146](https://github.com/facebook/docusaurus/pull/8146) docs(content-docs): add api doc for displayed_sidebar front matter ([@slorber](https://github.com/slorber))\\n - [#8115](https://github.com/facebook/docusaurus/pull/8115) docs: add caveat about using Translate in string contexts ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#8053](https://github.com/facebook/docusaurus/pull/8053) docs: document usage of docs `frontMatter.custom_edit_url: null` ([@homotechsual](https://github.com/homotechsual))\\n - [#8010](https://github.com/facebook/docusaurus/pull/8010) docs(showcase): add 74 new showcase sites ([@slorber](https://github.com/slorber))\\n - [#7955](https://github.com/facebook/docusaurus/pull/7955) docs: add docusaurus-post-generator to community resource list ([@moojing](https://github.com/moojing))\\n - [#7906](https://github.com/facebook/docusaurus/pull/7906) docs: add TOC heading level options to guide ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7884](https://github.com/facebook/docusaurus/pull/7884) docs: add baseUrl to example tsconfig ([@Foosballfan](https://github.com/Foosballfan))\\n - [#7835](https://github.com/facebook/docusaurus/pull/7835) docs: update workbox doc link ([@hslee2008](https://github.com/hslee2008))\\n - [#7799](https://github.com/facebook/docusaurus/pull/7799) docs: formally document how admonitions can be customized ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7796](https://github.com/facebook/docusaurus/pull/7796) docs: modify the description of deploying to Netlify ([@Oreoxmt](https://github.com/Oreoxmt))\\n- `docusaurus-logger`\\n - [#9210](https://github.com/facebook/docusaurus/pull/9210) docs: add the missing import logger statement ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#8047](https://github.com/facebook/docusaurus/pull/8047) docs: improve alt messages ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#8944](https://github.com/facebook/docusaurus/pull/8944) polish(create-docusaurus): add comment in config to mention different ways to declare config + doc link ([@thadguidry](https://github.com/thadguidry))\\n - [#8323](https://github.com/facebook/docusaurus/pull/8323) docs: fix typo \'internalization\' ([@dandv](https://github.com/dandv))\\n- `docusaurus-plugin-ideal-image`\\n - [#8630](https://github.com/facebook/docusaurus/pull/8630) docs: normalize README for ideal-image plugin ([@Mysterious-Dev](https://github.com/Mysterious-Dev))\\n- `docusaurus-mdx-loader`\\n - [#8419](https://github.com/facebook/docusaurus/pull/8419) docs: document siteConfig.markdown + better mdx-loader retrocompat ([@slorber](https://github.com/slorber))\\n\\n## :robot: Dependencies\\n\\n- Other\\n - [#9440](https://github.com/facebook/docusaurus/pull/9440) chore(deps): bump actions/setup-node from 3 to 4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9441](https://github.com/facebook/docusaurus/pull/9441) chore(deps): bump actions/checkout from 4.1.0 to 4.1.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9367](https://github.com/facebook/docusaurus/pull/9367) chore(deps): bump postcss from 8.4.26 to 8.4.31 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9344](https://github.com/facebook/docusaurus/pull/9344) chore(deps): bump actions/checkout from 4.0.0 to 4.1.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9298](https://github.com/facebook/docusaurus/pull/9298) chore(deps): bump actions/dependency-review-action from 3.0.8 to 3.1.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9277](https://github.com/facebook/docusaurus/pull/9277) chore(deps): bump actions/checkout from 3 to 4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9251](https://github.com/facebook/docusaurus/pull/9251) chore(deps): bump actions/dependency-review-action from 3.0.7 to 3.0.8 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9250](https://github.com/facebook/docusaurus/pull/9250) chore(deps): bump marocchino/sticky-pull-request-comment from 2.7.0 to 2.8.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9227](https://github.com/facebook/docusaurus/pull/9227) chore(deps): bump actions/dependency-review-action from 3.0.6 to 3.0.7 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9174](https://github.com/facebook/docusaurus/pull/9174) chore(deps): bump marocchino/sticky-pull-request-comment from 2.6.2 to 2.7.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9096](https://github.com/facebook/docusaurus/pull/9096) chore(deps): bump semver from 7.3.8 to 7.5.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9061](https://github.com/facebook/docusaurus/pull/9061) chore(deps): bump github/codeql-action from 2.3.6 to 2.13.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9038](https://github.com/facebook/docusaurus/pull/9038) chore(deps): bump github/codeql-action from 2.3.5 to 2.3.6 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9039](https://github.com/facebook/docusaurus/pull/9039) chore(deps): bump actions/dependency-review-action from 3.0.4 to 3.0.6 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#9019](https://github.com/facebook/docusaurus/pull/9019) chore(deps): bump github/codeql-action from 2.3.3 to 2.3.5 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8964](https://github.com/facebook/docusaurus/pull/8964) chore(deps): bump github/codeql-action from 2.3.2 to 2.3.3 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8955](https://github.com/facebook/docusaurus/pull/8955) chore(deps): bump github/codeql-action from 2.3.0 to 2.3.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8922](https://github.com/facebook/docusaurus/pull/8922) chore(deps): bump marocchino/sticky-pull-request-comment from 2.5.0 to 2.6.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8923](https://github.com/facebook/docusaurus/pull/8923) chore(deps): bump treosh/lighthouse-ci-action from 9.6.8 to 10.1.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8924](https://github.com/facebook/docusaurus/pull/8924) chore(deps): bump github/codeql-action from 2.2.12 to 2.3.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8899](https://github.com/facebook/docusaurus/pull/8899) chore(deps): bump github/codeql-action from 2.2.11 to 2.2.12 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8900](https://github.com/facebook/docusaurus/pull/8900) chore(deps): bump actions/checkout from 3.5.0 to 3.5.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8879](https://github.com/facebook/docusaurus/pull/8879) chore(deps): bump actions/github-script from 6.4.0 to 6.4.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8878](https://github.com/facebook/docusaurus/pull/8878) chore(deps): bump github/codeql-action from 2.2.9 to 2.2.11 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8836](https://github.com/facebook/docusaurus/pull/8836) chore(deps): bump github/codeql-action from 2.2.7 to 2.2.9 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8837](https://github.com/facebook/docusaurus/pull/8837) chore(deps): bump actions/checkout from 3.4.0 to 3.5.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8797](https://github.com/facebook/docusaurus/pull/8797) chore(deps): bump actions/checkout from 3.3.0 to 3.4.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8796](https://github.com/facebook/docusaurus/pull/8796) chore(deps): bump actions/dependency-review-action from 3.0.3 to 3.0.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8795](https://github.com/facebook/docusaurus/pull/8795) chore(deps): bump github/codeql-action from 2.2.6 to 2.2.7 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8766](https://github.com/facebook/docusaurus/pull/8766) chore(deps): bump treosh/lighthouse-ci-action from 9.3.1 to 9.6.8 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8767](https://github.com/facebook/docusaurus/pull/8767) chore(deps): bump github/codeql-action from 2.2.5 to 2.2.6 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8739](https://github.com/facebook/docusaurus/pull/8739) chore(deps): bump github/codeql-action from 2.2.4 to 2.2.5 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8663](https://github.com/facebook/docusaurus/pull/8663) chore(deps): bump marocchino/sticky-pull-request-comment from 2.3.1 to 2.5.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8662](https://github.com/facebook/docusaurus/pull/8662) chore(deps): bump github/codeql-action from 2.2.2 to 2.2.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8638](https://github.com/facebook/docusaurus/pull/8638) chore(deps): bump github/codeql-action from 2.2.1 to 2.2.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8624](https://github.com/facebook/docusaurus/pull/8624) chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8604](https://github.com/facebook/docusaurus/pull/8604) chore(deps): bump actions/github-script from 6.3.3 to 6.4.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8605](https://github.com/facebook/docusaurus/pull/8605) chore(deps): bump github/codeql-action from 2.1.39 to 2.2.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8572](https://github.com/facebook/docusaurus/pull/8572) chore(deps): bump github/codeql-action from 2.1.38 to 2.1.39 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8553](https://github.com/facebook/docusaurus/pull/8553) chore(deps): bump github/codeql-action from 2.1.37 to 2.1.38 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8531](https://github.com/facebook/docusaurus/pull/8531) chore(deps): bump actions/checkout from 3.2.0 to 3.3.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8532](https://github.com/facebook/docusaurus/pull/8532) chore(deps): bump actions/dependency-review-action from 3.0.2 to 3.0.3 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8533](https://github.com/facebook/docusaurus/pull/8533) chore(deps): bump actions/setup-node from 3.5.1 to 3.6.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8496](https://github.com/facebook/docusaurus/pull/8496) chore(deps): bump jakepartusch/wait-for-netlify-action from 1.3 to 1.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8464](https://github.com/facebook/docusaurus/pull/8464) chore(deps): bump actions/dependency-review-action from 3.0.1 to 3.0.2 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8440](https://github.com/facebook/docusaurus/pull/8440) chore(deps): bump github/codeql-action from 2.1.36 to 2.1.37 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8435](https://github.com/facebook/docusaurus/pull/8435) chore(deps): bump github/codeql-action from 2.1.35 to 2.1.36 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8434](https://github.com/facebook/docusaurus/pull/8434) chore(deps): bump actions/checkout from 3.1.0 to 3.2.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8412](https://github.com/facebook/docusaurus/pull/8412) chore(deps): bump github/codeql-action from 2.1.32 to 2.1.35 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8385](https://github.com/facebook/docusaurus/pull/8385) chore(deps): bump marocchino/sticky-pull-request-comment from 2.3.0 to 2.3.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8360](https://github.com/facebook/docusaurus/pull/8360) chore(deps): bump actions/dependency-review-action from 3.0.0 to 3.0.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8341](https://github.com/facebook/docusaurus/pull/8341) chore(deps): bump github/codeql-action from 2.1.31 to 2.1.32 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8340](https://github.com/facebook/docusaurus/pull/8340) chore(deps): bump actions/dependency-review-action from 2.5.1 to 3.0.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8339](https://github.com/facebook/docusaurus/pull/8339) chore(deps): bump treosh/lighthouse-ci-action from 9.3.0 to 9.3.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8295](https://github.com/facebook/docusaurus/pull/8295) chore(deps): bump github/codeql-action from 2.1.29 to 2.1.31 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8271](https://github.com/facebook/docusaurus/pull/8271) chore(deps): bump github/codeql-action from 2.1.28 to 2.1.29 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8270](https://github.com/facebook/docusaurus/pull/8270) chore(deps): bump marocchino/sticky-pull-request-comment from 2.2.1 to 2.3.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8240](https://github.com/facebook/docusaurus/pull/8240) chore(deps): bump actions/dependency-review-action from 2.5.0 to 2.5.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8241](https://github.com/facebook/docusaurus/pull/8241) chore(deps): bump github/codeql-action from 2.1.27 to 2.1.28 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8221](https://github.com/facebook/docusaurus/pull/8221) chore(deps): bump marocchino/sticky-pull-request-comment from 2.2.0 to 2.2.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8220](https://github.com/facebook/docusaurus/pull/8220) chore(deps): bump actions/dependency-review-action from 2.4.0 to 2.5.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8219](https://github.com/facebook/docusaurus/pull/8219) chore(deps): bump actions/github-script from 6.3.1 to 6.3.3 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8222](https://github.com/facebook/docusaurus/pull/8222) chore(deps): bump actions/setup-node from 3.5.0 to 3.5.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8200](https://github.com/facebook/docusaurus/pull/8200) chore(deps): bump github/codeql-action from 2.1.26 to 2.1.27 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8199](https://github.com/facebook/docusaurus/pull/8199) chore(deps): bump actions/checkout from 3.0.2 to 3.1.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8169](https://github.com/facebook/docusaurus/pull/8169) chore(deps): bump github/codeql-action from 2.1.22 to 2.1.26 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8170](https://github.com/facebook/docusaurus/pull/8170) chore(deps): bump actions/setup-node from 3.4.1 to 3.5.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8167](https://github.com/facebook/docusaurus/pull/8167) chore(deps): bump actions/github-script from 6.2.0 to 6.3.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8168](https://github.com/facebook/docusaurus/pull/8168) chore(deps): bump actions/dependency-review-action from 2.1.0 to 2.4.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8064](https://github.com/facebook/docusaurus/pull/8064) chore: bump react-medium-image-zoom ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#8051](https://github.com/facebook/docusaurus/pull/8051) chore(deps): bump github/codeql-action from 2.1.21 to 2.1.22 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8019](https://github.com/facebook/docusaurus/pull/8019) chore(deps): bump actions/github-script from 6.1.1 to 6.2.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#8020](https://github.com/facebook/docusaurus/pull/8020) chore(deps): bump github/codeql-action from 2.1.20 to 2.1.21 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#7988](https://github.com/facebook/docusaurus/pull/7988) chore(deps): bump actions/dependency-review-action from 2.0.4 to 2.1.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#7987](https://github.com/facebook/docusaurus/pull/7987) chore(deps): bump github/codeql-action from 2.1.18 to 2.1.20 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#7957](https://github.com/facebook/docusaurus/pull/7957) chore(deps): bump actions/github-script from 6.1.0 to 6.1.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#7925](https://github.com/facebook/docusaurus/pull/7925) chore(deps): bump github/codeql-action from 2.1.17 to 2.1.18 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#7879](https://github.com/facebook/docusaurus/pull/7879) chore(deps): bump github/codeql-action from 2.1.16 to 2.1.17 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#7804](https://github.com/facebook/docusaurus/pull/7804) chore(deps): bump github/codeql-action from 2.1.15 to 2.1.16 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#7805](https://github.com/facebook/docusaurus/pull/7805) chore(deps): bump actions/dependency-review-action from 2.0.2 to 2.0.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#7806](https://github.com/facebook/docusaurus/pull/7806) chore(deps): bump actions/setup-node from 3.4.0 to 3.4.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`, `lqip-loader`, `stylelint-copyright`\\n - [#9148](https://github.com/facebook/docusaurus/pull/9148) chore: upgrade dependencies (non-major) ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#8749](https://github.com/facebook/docusaurus/pull/8749) chore: upgrade dependencies (non-major) ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#8534](https://github.com/facebook/docusaurus/pull/8534) chore: upgrade dependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#8926](https://github.com/facebook/docusaurus/pull/8926) chore: upgrade TypeScript to v5.0 ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils`, `docusaurus`\\n - [#8537](https://github.com/facebook/docusaurus/pull/8537) chore: bump dependencies major versions ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`, `lqip-loader`, `stylelint-copyright`\\n - [#7993](https://github.com/facebook/docusaurus/pull/7993) chore: upgrade dependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`\\n - [#7883](https://github.com/facebook/docusaurus/pull/7883) chore: upgrade dependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-pwa`, `docusaurus-theme-search-algolia`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`\\n - [#7822](https://github.com/facebook/docusaurus/pull/7822) chore: upgrade dependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-plugin-pwa`, `docusaurus`, `eslint-plugin`\\n - [#7794](https://github.com/facebook/docusaurus/pull/7794) chore: upgrade dependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :wrench: Maintenance\\n\\n- `docusaurus-migrate`\\n - [#9400](https://github.com/facebook/docusaurus/pull/9400) chore: remove docusaurus-migrate ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-search-algolia`\\n - [#9320](https://github.com/facebook/docusaurus/pull/9320) chore(theme-search-algolia): revert docsearch package range downgrade after bugfix release ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#9304](https://github.com/facebook/docusaurus/pull/9304) chore(theme-translations): complete French translations ([@forresst](https://github.com/forresst))\\n- Other\\n - [#9264](https://github.com/facebook/docusaurus/pull/9264) ci: only install Chromium for Playwright Argos tests ([@mxschmitt](https://github.com/mxschmitt))\\n - [#9245](https://github.com/facebook/docusaurus/pull/9245) chore: bump devcontainer to Ubuntu 22.04 to resolve arm64 incompatibility ([@AFRUITPIE](https://github.com/AFRUITPIE))\\n - [#8947](https://github.com/facebook/docusaurus/pull/8947) test: add visual regression tests with Argos CI ([@slorber](https://github.com/slorber))\\n - [#8911](https://github.com/facebook/docusaurus/pull/8911) chore: migrate website config to createConfigAsync ([@slorber](https://github.com/slorber))\\n - [#8578](https://github.com/facebook/docusaurus/pull/8578) docs: fix dead anchor for issue reporting guidelines in template ([@Sainan](https://github.com/Sainan))\\n - [#8447](https://github.com/facebook/docusaurus/pull/8447) chore: update lerna to v6.2.0 ([@AgentEnder](https://github.com/AgentEnder))\\n - [#7967](https://github.com/facebook/docusaurus/pull/7967) test: improve e2e verdaccio configuration ([@juanpicado](https://github.com/juanpicado))\\n - [#7863](https://github.com/facebook/docusaurus/pull/7863) docs: publish 2.0.0 release blog post + adapt website for the launch ([@slorber](https://github.com/slorber))\\n - [#7828](https://github.com/facebook/docusaurus/pull/7828) misc: change showcase submission process, use GitHub discussion ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`\\n - [#9195](https://github.com/facebook/docusaurus/pull/9195) test(blog-plugin): fix ability to generate proper blog website fixture build snapshot ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-theme-classic`\\n - [#9024](https://github.com/facebook/docusaurus/pull/9024) docs: remove Meta Data Policy footer link on website ([@KarthickSakthi](https://github.com/KarthickSakthi))\\n- `docusaurus`\\n - [#8660](https://github.com/facebook/docusaurus/pull/8660) chore: bump update-notifier ([@layershifter](https://github.com/layershifter))\\n\\n## Committers: 132\\n\\n- 0x24Karthick ([@KarthickSakthi](https://github.com/KarthickSakthi))\\n- Abhinandan Wadhwa ([@abhinandanwadwa](https://github.com/abhinandanwadwa))\\n- Abinash Satapathy ([@Abinashbunty](https://github.com/Abinashbunty))\\n- Adam Patterson ([@adampatterson](https://github.com/adampatterson))\\n- Adithya Krishna ([@adithyaakrishna](https://github.com/adithyaakrishna))\\n- Ahmad Shrif ([@amdshrif](https://github.com/amdshrif))\\n- Ahmed Mustafa Malik ([@amm98d](https://github.com/amm98d))\\n- Akshay Bhalotia ([@akshaybhalotia](https://github.com/akshaybhalotia))\\n- Alex ([@sashashura](https://github.com/sashashura))\\n- Alexander Nguyen ([@GalexyN](https://github.com/GalexyN))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Andrew Lyons ([@andrewnicols](https://github.com/andrewnicols))\\n- Andr\xe9s Villanueva ([@Villanuevand](https://github.com/Villanuevand))\\n- Anna ([@HumbleDeer](https://github.com/HumbleDeer))\\n- Anton Kastritskii ([@antonk52](https://github.com/antonk52))\\n- Antony Onipko ([@antonyoni](https://github.com/antonyoni))\\n- Aolin ([@Oreoxmt](https://github.com/Oreoxmt))\\n- Aqueeb ([@aqueeb](https://github.com/aqueeb))\\n- Bei Chu ([@chubei](https://github.com/chubei))\\n- Billy Chan ([@billy1624](https://github.com/billy1624))\\n- Biplav Kumar Mazumdar ([@biplavmz](https://github.com/biplavmz))\\n- Bruce ([@recallwei](https://github.com/recallwei))\\n- Charles Killer ([@Foosballfan](https://github.com/Foosballfan))\\n- Chongyi Zheng ([@harryzcy](https://github.com/harryzcy))\\n- Chua Chee How ([@rojakcoder](https://github.com/rojakcoder))\\n- Cl\xe9ment Vannicatte ([@shortcuts](https://github.com/shortcuts))\\n- Colin McDonnell ([@colinhacks](https://github.com/colinhacks))\\n- Coupy ([@HyeokjinKang](https://github.com/HyeokjinKang))\\n- Craigory Coppola ([@AgentEnder](https://github.com/AgentEnder))\\n- Dan Dascalescu ([@dandv](https://github.com/dandv))\\n- Dan Roscigno ([@DanRoscigno](https://github.com/DanRoscigno))\\n- Danilo Woznica ([@danilowoz](https://github.com/danilowoz))\\n- David J. Felix ([@DavidJFelix](https://github.com/DavidJFelix))\\n- Debbie O\'Brien ([@debs-obrien](https://github.com/debs-obrien))\\n- Devansu Yadav ([@Devansu-Yadav](https://github.com/Devansu-Yadav))\\n- Dinh Bao Dang ([@chillinPanda](https://github.com/chillinPanda))\\n- Dongjoon Lee ([@Djunnni](https://github.com/Djunnni))\\n- Eduardo M\xednguez ([@e-minguez](https://github.com/e-minguez))\\n- Eunkwang Shin ([@gracefullight](https://github.com/gracefullight))\\n- Forresst ([@forresst](https://github.com/forresst))\\n- Francesco Ciulla ([@FrancescoXX](https://github.com/FrancescoXX))\\n- Fredrik Stave ([@fredrikstave](https://github.com/fredrikstave))\\n- Fxpby ([@fxpby](https://github.com/fxpby))\\n- Gabriel Csapo ([@gabrielcsapo](https://github.com/gabrielcsapo))\\n- Gareth Dwyer ([@sixhobbits](https://github.com/sixhobbits))\\n- Greg Berg\xe9 ([@gregberge](https://github.com/gregberge))\\n- Gr\xe9gory Heitz ([@edno](https://github.com/edno))\\n- Gustav Ton\xe9r ([@gazab](https://github.com/gazab))\\n- Hayden Hong ([@AFRUITPIE](https://github.com/AFRUITPIE))\\n- Hidde de Vries ([@hidde](https://github.com/hidde))\\n- Hyunseung ([@hslee2008](https://github.com/hslee2008))\\n- JJ Style ([@jj-style](https://github.com/jj-style))\\n- James Kerrane ([@thatrobotdev](https://github.com/thatrobotdev))\\n- Jean Humann ([@jean-humann](https://github.com/jean-humann))\\n- Jesper Engberg ([@jeengbe](https://github.com/jeengbe))\\n- Jody Heavener ([@jodyheavener](https://github.com/jodyheavener))\\n- Joe Williams ([@BubbaJoe](https://github.com/BubbaJoe))\\n- John Cao ([@jhcao23](https://github.com/jhcao23))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Jordan Manley ([@werner33](https://github.com/werner33))\\n- Jorens Merenjanu ([@JorensM](https://github.com/JorensM))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Juan Picado ([@juanpicado](https://github.com/juanpicado))\\n- Kolja ([@razzeee](https://github.com/razzeee))\\n- Lane Goolsby ([@lanegoolsby](https://github.com/lanegoolsby))\\n- Lorenzo Lewis ([@lorenzolewis](https://github.com/lorenzolewis))\\n- Maciek Palmowski ([@palmiak](https://github.com/palmiak))\\n- Manuel ([@manuel-rw](https://github.com/manuel-rw))\\n- Marco Kuper ([@scubamaggo](https://github.com/scubamaggo))\\n- Marco Stroppel ([@mstroppel](https://github.com/mstroppel))\\n- Marie ([@schneegansm](https://github.com/schneegansm))\\n- Markshawn ([@MarkShawn2020](https://github.com/MarkShawn2020))\\n- Martin Adamko ([@attitude](https://github.com/attitude))\\n- Max Schmitt ([@mxschmitt](https://github.com/mxschmitt))\\n- Michael Remediakis ([@mickremedi](https://github.com/mickremedi))\\n- Mikey O\'Toole ([@homotechsual](https://github.com/homotechsual))\\n- ModupeD ([@ModupeD](https://github.com/ModupeD))\\n- Mu-Jing-Tsai ([@moojing](https://github.com/moojing))\\n- Mysterious_Dev ([@Mysterious-Dev](https://github.com/Mysterious-Dev))\\n- Naffy Dharni ([@knownasnaffy](https://github.com/knownasnaffy))\\n- Naman Garg ([@NamanGarg2075](https://github.com/NamanGarg2075))\\n- Nathaniel Tucker ([@ntucker](https://github.com/ntucker))\\n- Oleksandr Fediashov ([@layershifter](https://github.com/layershifter))\\n- Oluwatobi Sofela ([@oluwatobiss](https://github.com/oluwatobiss))\\n- Paul Razvan Berg ([@PaulRBerg](https://github.com/PaulRBerg))\\n- Pinaki Bhattacharjee ([@pinakipb2](https://github.com/pinakipb2))\\n- Rapha\xebl Barbazza ([@rbarbazz](https://github.com/rbarbazz))\\n- Rashid ([@rashidmya](https://github.com/rashidmya))\\n- Ryosuke Igarashi ([@cm-igarashi-ryosuke](https://github.com/cm-igarashi-ryosuke))\\n- SADIK KUZU ([@sadikkuzu](https://github.com/sadikkuzu))\\n- Sanjaiyan Parthipan ([@sanjaiyan-dev](https://github.com/sanjaiyan-dev))\\n- Serenus ([@Kesyau](https://github.com/Kesyau))\\n- Shahriar ([@ShahriarKh](https://github.com/ShahriarKh))\\n- Shashank Kumar ([@shawshankkumar](https://github.com/shawshankkumar))\\n- Shun Wakatsuki ([@shwaka](https://github.com/shwaka))\\n- Silvestar Bistrovi\u0107 ([@maliMirkec](https://github.com/maliMirkec))\\n- Sujal Gupta ([@heysujal](https://github.com/heysujal))\\n- Sunghyun Cho ([@anaclumos](https://github.com/anaclumos))\\n- Surav Shrestha ([@suravshrestha](https://github.com/suravshrestha))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tamal Anwar Chowdhury ([@tamalchowdhury](https://github.com/tamalchowdhury))\\n- Tarun Chauhan ([@tarunrajput](https://github.com/tarunrajput))\\n- Tatsunori Uchino ([@tats-u](https://github.com/tats-u))\\n- Thad Guidry ([@thadguidry](https://github.com/thadguidry))\\n- Tom Mrazauskas ([@mrazauskas](https://github.com/mrazauskas))\\n- Viktor Malmedal ([@JohnVicke](https://github.com/JohnVicke))\\n- Waldir Pimenta ([@waldyrious](https://github.com/waldyrious))\\n- Wan Sim ([@0420syj](https://github.com/0420syj))\\n- Webber Takken ([@webbertakken](https://github.com/webbertakken))\\n- Will Ceolin ([@wceolin](https://github.com/wceolin))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- Zwyx ([@Zwyx](https://github.com/Zwyx))\\n- [@Dr-Electron](https://github.com/Dr-Electron)\\n- [@FlorinaPacurar](https://github.com/FlorinaPacurar)\\n- [@Mogyuchi](https://github.com/Mogyuchi)\\n- [@Sainan](https://github.com/Sainan)\\n- [@VinceCYLiao](https://github.com/VinceCYLiao)\\n- [@allyw2002](https://github.com/allyw2002)\\n- [@bitpredator](https://github.com/bitpredator)\\n- [@conlacda](https://github.com/conlacda)\\n- [@dawei-wang](https://github.com/dawei-wang)\\n- [@la55u](https://github.com/la55u)\\n- [@mcallisto](https://github.com/mcallisto)\\n- [@prateekbytes](https://github.com/prateekbytes)\\n- [@qwerzl](https://github.com/qwerzl)\\n- [@rsteele6](https://github.com/rsteele6)\\n- [@samatt14](https://github.com/samatt14)\\n- [@thedevwonder](https://github.com/thedevwonder)\\n- [@yosukekato165](https://github.com/yosukekato165)\\n- ozaki ([@OzakIOne](https://github.com/OzakIOne))\\n- sykp241095 ([@sykp241095](https://github.com/sykp241095))\\n- \u521D\u51AC ([@chudongvip](https://github.com/chudongvip))"},{"id":"/2.4.3","metadata":{"permalink":"/changelog/2.4.3","source":"@site/changelog/source/2.4.3.md","title":"2.4.3","description":"Bug Fix","date":"2023-09-20T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Ori Shalom","alias":"ori-shalom","url":"https://github.com/ori-shalom","imageURL":"https://github.com/ori-shalom.png","key":"ori-shalom","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"TheCatLady","alias":"TheCatLady","url":"https://github.com/TheCatLady","imageURL":"https://github.com/TheCatLady.png","key":"TheCatLady","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-09-20T20:00","authors":["homotechsual","ori-shalom","slorber","TheCatLady"]},"unlisted":false,"prevItem":{"title":"3.0.0","permalink":"/changelog/3.0.0"},"nextItem":{"title":"2.4.2","permalink":"/changelog/2.4.2"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-docs`\\n - [#9107](https://github.com/facebook/docusaurus/pull/9107) fix(content-docs): sidebar generator should return customProps for doc items ([@TheCatLady](https://github.com/TheCatLady))\\n- `docusaurus-theme-classic`\\n - [#9108](https://github.com/facebook/docusaurus/pull/9108) feat(theme-classic): add description & keywords microdata to blog posts ([@TheCatLady](https://github.com/TheCatLady))\\n - [#9099](https://github.com/facebook/docusaurus/pull/9099) fix(theme): only set classname on ul elements if they have an existing class ([@homotechsual](https://github.com/homotechsual))\\n - [#9243](https://github.com/facebook/docusaurus/pull/9243) fix(theme-common): ThemedComponent should display something when JS is disabled ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#9130](https://github.com/facebook/docusaurus/pull/9130) fix(theme): canonical url should be not change after hydration if url accessed with/without trailing slash ([@ori-shalom](https://github.com/ori-shalom))\\n\\n## Committers: 4\\n\\n- Mikey O\'Toole ([@homotechsual](https://github.com/homotechsual))\\n- Ori Shalom ([@ori-shalom](https://github.com/ori-shalom))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- [@TheCatLady](https://github.com/TheCatLady)"},{"id":"/2.4.2","metadata":{"permalink":"/changelog/2.4.2","source":"@site/changelog/source/2.4.2.md","title":"2.4.2","description":"Bad npm publish, please use 2.4.3","date":"2023-09-20T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2023-09-20T19:00"},"unlisted":false,"prevItem":{"title":"2.4.3","permalink":"/changelog/2.4.3"},"nextItem":{"title":"2.4.1","permalink":"/changelog/2.4.1"},"listPageLink":"/changelog/"},"content":"\x3c!-- truncate --\x3e\\n\\nBad npm publish, please use 2.4.3"},{"id":"/2.4.1","metadata":{"permalink":"/changelog/2.4.1","source":"@site/changelog/source/2.4.1.md","title":"2.4.1","description":"Bug Fix","date":"2023-05-15T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Andrew Lyons","alias":"andrewnicols","url":"https://github.com/andrewnicols","imageURL":"https://github.com/andrewnicols.png","key":"andrewnicols","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"MetuMortis","alias":"LiberaTeMetuMortis","url":"https://github.com/LiberaTeMetuMortis","imageURL":"https://github.com/LiberaTeMetuMortis.png","key":"LiberaTeMetuMortis","page":null},{"name":"Aleksandr Vladykin","alias":"morsko1","url":"https://github.com/morsko1","imageURL":"https://github.com/morsko1.png","key":"morsko1","page":null},{"name":"Sachin Nanayakkara","alias":"SACHINnANYAKKARA","url":"https://github.com/SACHINnANYAKKARA","imageURL":"https://github.com/SACHINnANYAKKARA.png","key":"SACHINnANYAKKARA","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tarun Chauhan","alias":"tarunrajput","url":"https://github.com/tarunrajput","imageURL":"https://github.com/tarunrajput.png","key":"tarunrajput","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-05-15T20:00","authors":["andrewnicols","armano2","LiberaTeMetuMortis","morsko1","SACHINnANYAKKARA","slorber","tarunrajput"]},"unlisted":false,"prevItem":{"title":"2.4.2","permalink":"/changelog/2.4.2"},"nextItem":{"title":"2.4.0","permalink":"/changelog/2.4.0"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#8971](https://github.com/facebook/docusaurus/pull/8971) fix(theme): fix collapsible sidebar behavior when prefers-reduced-motion ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#8933](https://github.com/facebook/docusaurus/pull/8933) fix(theme-translations): fix Turkish translation for aria label \\"Enter key\\" ([@LiberaTeMetuMortis](https://github.com/LiberaTeMetuMortis))\\n- `docusaurus`\\n - [#8908](https://github.com/facebook/docusaurus/pull/8908) fix(core): Correct yarn upgrade command for yarn 2.x ([@andrewnicols](https://github.com/andrewnicols))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-common`, `docusaurus-utils-common`, `docusaurus`\\n - [#8909](https://github.com/facebook/docusaurus/pull/8909) fix(theme): add \\\\_\\\\_ prefix to technical anchors, search crawlers (Algolia) should ignore them ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-common`\\n - [#8906](https://github.com/facebook/docusaurus/pull/8906) fix(theme-common): fix collapsible component with prefers-reduced-motion ([@slorber](https://github.com/slorber))\\n - [#8873](https://github.com/facebook/docusaurus/pull/8873) fix(theme-common): fix confusing theme error message: bad sidebar id suggestions ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils`\\n - [#8874](https://github.com/facebook/docusaurus/pull/8874) fix(utils): handle Markdown links with spaces to route correctly ([@morsko1](https://github.com/morsko1))\\n- `docusaurus-theme-classic`, `docusaurus-theme-translations`\\n - [#8842](https://github.com/facebook/docusaurus/pull/8842) fix(theme-translations): remove redundant navigation text in aria label ([@tarunrajput](https://github.com/tarunrajput))\\n- `create-docusaurus`\\n - [#8831](https://github.com/facebook/docusaurus/pull/8831) fix(create): add missing await ([@SACHINnANYAKKARA](https://github.com/SACHINnANYAKKARA))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#8862](https://github.com/facebook/docusaurus/pull/8862) refactor(theme): expose copy, success and word-wrap icons as standalone components ([@armano2](https://github.com/armano2))\\n\\n## Committers: 7\\n\\n- Aleksandr Vladykin ([@morsko1](https://github.com/morsko1))\\n- Andrew Lyons ([@andrewnicols](https://github.com/andrewnicols))\\n- Armano ([@armano2](https://github.com/armano2))\\n- MetuMortis ([@LiberaTeMetuMortis](https://github.com/LiberaTeMetuMortis))\\n- Sachin Nanayakkara ([@SACHINnANYAKKARA](https://github.com/SACHINnANYAKKARA))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tarun Chauhan ([@tarunrajput](https://github.com/tarunrajput))"},{"id":"/2.4.0","metadata":{"permalink":"/changelog/2.4.0","source":"@site/changelog/source/2.4.0.md","title":"2.4.0","description":"New Feature","date":"2023-03-23T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Anas","alias":"Anasqx","url":"https://github.com/Anasqx","imageURL":"https://github.com/Anasqx.png","key":"Anasqx","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"biplavmz","alias":"biplavmz","url":"https://github.com/biplavmz","imageURL":"https://github.com/biplavmz.png","key":"biplavmz","page":null},{"name":"Dewansh Thakur","alias":"dewanshDT","url":"https://github.com/dewanshDT","imageURL":"https://github.com/dewanshDT.png","key":"dewanshDT","page":null},{"name":"Petter Dr\xf8nnen","alias":"dr0nn1","url":"https://github.com/dr0nn1","imageURL":"https://github.com/dr0nn1.png","key":"dr0nn1","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Kagan","alias":"kagankan","url":"https://github.com/kagankan","imageURL":"https://github.com/kagankan.png","key":"kagankan","page":null},{"name":"Mysterious_Dev","alias":"Mysterious-Dev","url":"https://github.com/Mysterious-Dev","imageURL":"https://github.com/Mysterious-Dev.png","key":"Mysterious-Dev","page":null},{"name":"Moritz St\xfcckler","alias":"pReya","url":"https://github.com/pReya","imageURL":"https://github.com/pReya.png","key":"pReya","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tanner Dolby","alias":"tannerdolby","url":"https://github.com/tannerdolby","imageURL":"https://github.com/tannerdolby.png","key":"tannerdolby","page":null},{"name":"TrueQAP","alias":"trueqap","url":"https://github.com/trueqap","imageURL":"https://github.com/trueqap.png","key":"trueqap","page":null},{"name":"Vishruta Patil","alias":"Vishruta-Patil","url":"https://github.com/Vishruta-Patil","imageURL":"https://github.com/Vishruta-Patil.png","key":"Vishruta-Patil","page":null},{"name":"Davide Donadio","alias":"ZarakiKanzaki","url":"https://github.com/ZarakiKanzaki","imageURL":"https://github.com/ZarakiKanzaki.png","key":"ZarakiKanzaki","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-03-23T20:00","authors":["Anasqx","armano2","biplavmz","dewanshDT","dr0nn1","Josh-Cena","kagankan","Mysterious-Dev","pReya","slorber","tannerdolby","trueqap","Vishruta-Patil","ZarakiKanzaki"]},"unlisted":false,"prevItem":{"title":"2.4.1","permalink":"/changelog/2.4.1"},"nextItem":{"title":"2.3.1","permalink":"/changelog/2.3.1"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#8236](https://github.com/facebook/docusaurus/pull/8236) feat(content-docs): add support for sidebar item category/link descriptions in generated index page ([@ZarakiKanzaki](https://github.com/ZarakiKanzaki))\\n- `docusaurus-theme-classic`\\n - [#8708](https://github.com/facebook/docusaurus/pull/8708) feat(theme): allow to load a Docusaurus page with theme from query-string: ?docusaurus-theme=dark ([@slorber](https://github.com/slorber))\\n - [#8616](https://github.com/facebook/docusaurus/pull/8616) feat(theme): add ability to translate navbar+footer logo alt text ([@Mysterious-Dev](https://github.com/Mysterious-Dev))\\n- `docusaurus-remark-plugin-npm2yarn`\\n - [#8690](https://github.com/facebook/docusaurus/pull/8690) feat(npm-to-yarn): add support for PnPm and custom converters ([@armano2](https://github.com/armano2))\\n- `docusaurus`\\n - [#8677](https://github.com/facebook/docusaurus/pull/8677) feat(core): add script env variables: NODE_ENV + BABEL_ENV + DOCUSAURUS_CURRENT_LOCALE (temporary i18n workaround) ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#8674](https://github.com/facebook/docusaurus/pull/8674) feat(theme-classic): respect `prefers-reduced-motion: reduce` mediaquery, bump Infima to alpha.43 ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#8668](https://github.com/facebook/docusaurus/pull/8668) feat(theme-translations): add Hungarian theme translations ([@trueqap](https://github.com/trueqap))\\n - [#8631](https://github.com/facebook/docusaurus/pull/8631) feat(theme-translations): add Norwegian (Bokm\xe5l) theme translation ([@dr0nn1](https://github.com/dr0nn1))\\n- `docusaurus-theme-common`\\n - [#8656](https://github.com/facebook/docusaurus/pull/8656) feat(theme-common): allow passing a string for details summary ([@pReya](https://github.com/pReya))\\n- `docusaurus-plugin-google-gtag`\\n - [#8620](https://github.com/facebook/docusaurus/pull/8620) feat(gtag-plugin): gtag should support multiple tracking ids, notably for the UA => GA4 transition ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#8803](https://github.com/facebook/docusaurus/pull/8803) fix(theme): codeblock buttons should be kept on the right when using RTL locale ([@Vishruta-Patil](https://github.com/Vishruta-Patil))\\n - [#8615](https://github.com/facebook/docusaurus/pull/8615) fix(theme): improve color toggle when using dark navbar ([@dewanshDT](https://github.com/dewanshDT))\\n - [#8699](https://github.com/facebook/docusaurus/pull/8699) fix(theme-classic): fix tab focus bug in dropdown (#8697) ([@kagankan](https://github.com/kagankan))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#8801](https://github.com/facebook/docusaurus/pull/8801) fix(theme): allow tabs children to be falsy ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-common`, `docusaurus-theme-search-algolia`\\n - [#8757](https://github.com/facebook/docusaurus/pull/8757) fix(search): search page should react to querystring changes + cleanup/refactor ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#8746](https://github.com/facebook/docusaurus/pull/8746) fix(core): baseUrl error banner link anchor case ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#8744](https://github.com/facebook/docusaurus/pull/8744) fix(theme-translations): fix wrong arabic words (tip/next) ([@Anasqx](https://github.com/Anasqx))\\n\\n## :nail_care: Polish\\n\\n- `create-docusaurus`\\n - [#8712](https://github.com/facebook/docusaurus/pull/8712) polish(create-docusaurus): the starter template should use a navbar item \\"docSidebar\\" instead of \\"doc\\" (less fragile on updates) ([@biplavmz](https://github.com/biplavmz))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-common`, `docusaurus`\\n - [#8735](https://github.com/facebook/docusaurus/pull/8735) polish(theme): better error messages on navbar item rendering failures + ErrorCauseBoundary API ([@tannerdolby](https://github.com/tannerdolby))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus`\\n - [#8736](https://github.com/facebook/docusaurus/pull/8736) polish(core): better styling for error screens ([@tannerdolby](https://github.com/tannerdolby))\\n\\n## Committers: 14\\n\\n- Anas ([@Anasqx](https://github.com/Anasqx))\\n- Armano ([@armano2](https://github.com/armano2))\\n- Davide Donadio ([@ZarakiKanzaki](https://github.com/ZarakiKanzaki))\\n- Dewansh Thakur ([@dewanshDT](https://github.com/dewanshDT))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Kagan ([@kagankan](https://github.com/kagankan))\\n- Moritz St\xfcckler ([@pReya](https://github.com/pReya))\\n- Mysterious_Dev ([@Mysterious-Dev](https://github.com/Mysterious-Dev))\\n- Petter Dr\xf8nnen ([@dr0nn1](https://github.com/dr0nn1))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tanner Dolby ([@tannerdolby](https://github.com/tannerdolby))\\n- TrueQAP ([@trueqap](https://github.com/trueqap))\\n- Vishruta Patil ([@Vishruta-Patil](https://github.com/Vishruta-Patil))\\n- [@biplavmz](https://github.com/biplavmz)"},{"id":"/2.3.1","metadata":{"permalink":"/changelog/2.3.1","source":"@site/changelog/source/2.3.1.md","title":"2.3.1","description":"Bug Fix","date":"2023-02-03T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"S\xe9bastien Castiel","alias":"scastiel","url":"https://github.com/scastiel","imageURL":"https://github.com/scastiel.png","key":"scastiel","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-02-03T20:00","authors":["Josh-Cena","scastiel","slorber"]},"unlisted":false,"prevItem":{"title":"2.4.0","permalink":"/changelog/2.4.0"},"nextItem":{"title":"2.3.0","permalink":"/changelog/2.3.0"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-common`\\n - [#8628](https://github.com/facebook/docusaurus/pull/8628) fix(theme-common): fix issue in tab scroll position restoration on tab click ([@slorber](https://github.com/slorber))\\n - [#8619](https://github.com/facebook/docusaurus/pull/8619) fix(theme-common): localStorage utils dispatch too many storage events leading to infinite loop ([@slorber](https://github.com/slorber))\\n - [#8618](https://github.com/facebook/docusaurus/pull/8618) fix(theme-common): prepare usage of useSyncExternalStore compatibility with React 18 ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#8593](https://github.com/facebook/docusaurus/pull/8593) fix(theme-classic): allow rendering single tab item ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-utils`\\n - [#8606](https://github.com/facebook/docusaurus/pull/8606) fix(utils): handle CRLF when parsing MDX imports ([@scastiel](https://github.com/scastiel))\\n- `docusaurus-preset-classic`\\n - [#8597](https://github.com/facebook/docusaurus/pull/8597) fix(preset-classic): install the right plugin for googleTagManager ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-translations`\\n - [#8614](https://github.com/facebook/docusaurus/pull/8614) chore(theme-translations): complete zh translations ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :robot: Dependencies\\n\\n- `docusaurus-plugin-client-redirects`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#8610](https://github.com/facebook/docusaurus/pull/8610) chore(deps): bump eta from 1.12.3 to 2.0.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n\\n## Committers: 3\\n\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- S\xe9bastien Castiel ([@scastiel](https://github.com/scastiel))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))"},{"id":"/2.3.0","metadata":{"permalink":"/changelog/2.3.0","source":"@site/changelog/source/2.3.0.md","title":"2.3.0","description":"New Feature","date":"2023-01-26T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Danny Kim","alias":"0916dhkim","url":"https://github.com/0916dhkim","imageURL":"https://github.com/0916dhkim.png","key":"0916dhkim","page":null},{"name":"Riccardo","alias":"3v0k4","url":"https://github.com/3v0k4","imageURL":"https://github.com/3v0k4.png","key":"3v0k4","page":null},{"name":"Denis Al-Khelali","alias":"denis-alkhelali","url":"https://github.com/denis-alkhelali","imageURL":"https://github.com/denis-alkhelali.png","key":"denis-alkhelali","page":null},{"name":"Dongjoon Lee","alias":"Djunnni","url":"https://github.com/Djunnni","imageURL":"https://github.com/Djunnni.png","key":"Djunnni","page":null},{"name":"Frieder Bluemle","alias":"friederbluemle","url":"https://github.com/friederbluemle","imageURL":"https://github.com/friederbluemle.png","key":"friederbluemle","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Josh Goldberg","alias":"JoshuaKGoldberg","url":"https://github.com/JoshuaKGoldberg","imageURL":"https://github.com/JoshuaKGoldberg.png","key":"JoshuaKGoldberg","page":null},{"name":"Lachlan Heywood","alias":"lachieh","url":"https://github.com/lachieh","imageURL":"https://github.com/lachieh.png","key":"lachieh","page":null},{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null},{"name":"Matija Sirk","alias":"MatijaSi","url":"https://github.com/MatijaSi","imageURL":"https://github.com/MatijaSi.png","key":"MatijaSi","page":null},{"name":"Muhammad Hammad","alias":"mhnaeem","url":"https://github.com/mhnaeem","imageURL":"https://github.com/mhnaeem.png","key":"mhnaeem","page":null},{"name":"mturoci","alias":"mturoci","url":"https://github.com/mturoci","imageURL":"https://github.com/mturoci.png","key":"mturoci","page":null},{"name":"\u5B8B\u9526\u4E30","alias":"SJFCS","url":"https://github.com/SJFCS","imageURL":"https://github.com/SJFCS.png","key":"SJFCS","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Stefan Norberg","alias":"stnor","url":"https://github.com/stnor","imageURL":"https://github.com/stnor.png","key":"stnor","page":null},{"name":"Thomas.CA","alias":"Thomascogez","url":"https://github.com/Thomascogez","imageURL":"https://github.com/Thomascogez.png","key":"Thomascogez","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-01-26T20:00","authors":["0916dhkim","3v0k4","denis-alkhelali","Djunnni","friederbluemle","johnnyreilly","Josh-Cena","JoshuaKGoldberg","lachieh","lanegoolsby","MatijaSi","mhnaeem","mturoci","SJFCS","slorber","stnor","Thomascogez"]},"unlisted":false,"prevItem":{"title":"2.3.1","permalink":"/changelog/2.3.1"},"nextItem":{"title":"2.2.0","permalink":"/changelog/2.2.0"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-translations`\\n - [#8541](https://github.com/facebook/docusaurus/pull/8541) feat(theme-translations): default translations for Slovenian (sl-SI) ([@MatijaSi](https://github.com/MatijaSi))\\n- `docusaurus-plugin-content-blog`\\n - [#8378](https://github.com/facebook/docusaurus/pull/8378) feat(blog): add options.createFeedItems to filter/limit/transform feed items ([@johnnyreilly](https://github.com/johnnyreilly))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus`\\n - [#8225](https://github.com/facebook/docusaurus/pull/8225) feat(theme-classic): store selected tab in query string. ([@mturoci](https://github.com/mturoci))\\n- `docusaurus`\\n - [#8397](https://github.com/facebook/docusaurus/pull/8397) feat(core): deploy CLI - add support for git url \\"insteadOf\\": use \'remote get-url\' to determine source repo url ([@friederbluemle](https://github.com/friederbluemle))\\n- `docusaurus-theme-search-algolia`\\n - [#8428](https://github.com/facebook/docusaurus/pull/8428) feat(theme-algolia): add option.replaceSearchResultPathname to process/replaceAll search result urls\\n- `docusaurus-plugin-google-tag-manager`\\n - [#8470](https://github.com/facebook/docusaurus/pull/8470) feat(plugin-google-tag-manager): add new google-tag-manager plugin + deprecate google-analytics plugin ([@lanegoolsby](https://github.com/lanegoolsby))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-mdx-loader`\\n - [#8303](https://github.com/facebook/docusaurus/pull/8303) fix(mdx-loader): support nested admonitions\\n - [#8282](https://github.com/facebook/docusaurus/pull/8282) fix(mermaid): fix Mermaid integration for v9.2 release\\n- `docusaurus-theme-common`\\n - [#8539](https://github.com/facebook/docusaurus/pull/8539) fix(algolia): make search footer respect searchPagePath ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#8538](https://github.com/facebook/docusaurus/pull/8538) fix(core): avoid hash collision when generating chunk names ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#8481](https://github.com/facebook/docusaurus/pull/8481) fix(core): explicitly define CopyWebpackPlugin toType: \'dir\' ([@Thomascogez](https://github.com/Thomascogez))\\n - [#8342](https://github.com/facebook/docusaurus/pull/8342) fix(core): normalize input for poll option ([@mhnaeem](https://github.com/mhnaeem))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#8445](https://github.com/facebook/docusaurus/pull/8445) fix(theme-classic) extract HomeBreadcrumbItem + fix swizzle bugs ([@3v0k4](https://github.com/3v0k4))\\n- `docusaurus-theme-search-algolia`\\n - [#8462](https://github.com/facebook/docusaurus/pull/8462) fix(search-algolia): pass custom transformItems function to SearchBar ([@mturoci](https://github.com/mturoci))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#8486](https://github.com/facebook/docusaurus/pull/8486) fix(theme): refactor Tabs, make groupId + queryString work fine together ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#8463](https://github.com/facebook/docusaurus/pull/8463) fix(theme-classic): content container grow to take all the available space ([@Djunnni](https://github.com/Djunnni))\\n - [#8328](https://github.com/facebook/docusaurus/pull/8328) fix(theme): preserve sidebar height on collapse ([@0916dhkim](https://github.com/0916dhkim))\\n - [#8350](https://github.com/facebook/docusaurus/pull/8350) fix(theme): forward className prop in theme-classic\'s Heading ([@JoshuaKGoldberg](https://github.com/JoshuaKGoldberg))\\n- `docusaurus-theme-translations`\\n - [#8424](https://github.com/facebook/docusaurus/pull/8424) fix(translations): typo in lastUpdatedAtBy Vietnamese translation ([@slorber](https://github.com/slorber))\\n - [#8289](https://github.com/facebook/docusaurus/pull/8289) fix(theme-translations): complete Turkish theme translations\\n - [#8406](https://github.com/facebook/docusaurus/pull/8406) fix(translations): complete farsi theme translations\\n - [#8450](https://github.com/facebook/docusaurus/pull/8450) fix(theme-translations): complete Vietnamese theme translations\\n - [#8525](https://github.com/facebook/docusaurus/pull/8525) chore(theme-translations): complete pl translations\\n- `docusaurus-plugin-content-blog`\\n - [#8381](https://github.com/facebook/docusaurus/pull/8381) fix(content-blog): blog Atom feed id + RSS feed guid should be fully qualified urls ([@johnnyreilly](https://github.com/johnnyreilly))\\n- `docusaurus-plugin-content-docs`\\n - [#8275](https://github.com/facebook/docusaurus/pull/8275) fix(content-docs): add trailing slash to contentDirs, before passing it to isMDXPartial ([@denis-alkhelali](https://github.com/denis-alkhelali))\\n- `docusaurus-utils`\\n - [#8314](https://github.com/facebook/docusaurus/pull/8314) fix(utils): allow partially backticked markdown h1 contentTitles ([@JoshuaKGoldberg](https://github.com/JoshuaKGoldberg))\\n- `create-docusaurus`, `docusaurus-theme-classic`\\n - [#8279](https://github.com/facebook/docusaurus/pull/8279) fix(create-docusaurus): improve init template misleading doc + add Docuaurus social card ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#8445](https://github.com/facebook/docusaurus/pull/8445) fix(theme-classic) extract HomeBreadcrumbItem + fix swizzle bugs ([@3v0k4](https://github.com/3v0k4))\\n- `docusaurus-theme-translations`\\n - [#8423](https://github.com/facebook/docusaurus/pull/8423) fix(translations): complete Chinese theme translations ([@SJFCS](https://github.com/SJFCS))\\n - [#8312](https://github.com/facebook/docusaurus/pull/8312) fix(theme-translations): complete Swedish theme translations ([@stnor](https://github.com/stnor))\\n- `eslint-plugin`\\n - [#8281](https://github.com/facebook/docusaurus/pull/8281) feat(eslint-plugin): add plugin to exported configs ([@lachieh](https://github.com/lachieh))\\n\\n## Committers: 16\\n\\n- Danny Kim ([@0916dhkim](https://github.com/0916dhkim))\\n- Denis Al-Khelali ([@denis-alkhelali](https://github.com/denis-alkhelali))\\n- Dongjoon Lee ([@Djunnni](https://github.com/Djunnni))\\n- Frieder Bluemle ([@friederbluemle](https://github.com/friederbluemle))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Josh Goldberg ([@JoshuaKGoldberg](https://github.com/JoshuaKGoldberg))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Lachlan Heywood ([@lachieh](https://github.com/lachieh))\\n- Lane Goolsby ([@lanegoolsby](https://github.com/lanegoolsby))\\n- Matija Sirk ([@MatijaSi](https://github.com/MatijaSi))\\n- Muhammad Hammad ([@mhnaeem](https://github.com/mhnaeem))\\n- Riccardo ([@3v0k4](https://github.com/3v0k4))\\n- Stefan Norberg ([@stnor](https://github.com/stnor))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Thomas.CA ([@Thomascogez](https://github.com/Thomascogez))\\n- [@mturoci](https://github.com/mturoci)\\n- \u5B8B\u9526\u4E30 ([@SJFCS](https://github.com/SJFCS))"},{"id":"/2.2.0","metadata":{"permalink":"/changelog/2.2.0","source":"@site/changelog/source/2.2.0.md","title":"2.2.0","description":"New Feature","date":"2022-10-29T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Adnan Hashmi","alias":"adnanhashmi09","url":"https://github.com/adnanhashmi09","imageURL":"https://github.com/adnanhashmi09.png","key":"adnanhashmi09","page":null},{"name":"Johan Fagerberg","alias":"birjj","url":"https://github.com/birjj","imageURL":"https://github.com/birjj.png","key":"birjj","page":null},{"name":"evan","alias":"e-im","url":"https://github.com/e-im","imageURL":"https://github.com/e-im.png","key":"e-im","page":null},{"name":"forgeRW","alias":"forgeRW","url":"https://github.com/forgeRW","imageURL":"https://github.com/forgeRW.png","key":"forgeRW","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Jeferson S. Brito","alias":"jeferson-sb","url":"https://github.com/jeferson-sb","imageURL":"https://github.com/jeferson-sb.png","key":"jeferson-sb","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jan Peer St\xf6cklmair","alias":"JPeer264","url":"https://github.com/JPeer264","imageURL":"https://github.com/JPeer264.png","key":"JPeer264","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"LittleboyHarry","alias":"LittleboyHarry","url":"https://github.com/LittleboyHarry","imageURL":"https://github.com/LittleboyHarry.png","key":"LittleboyHarry","page":null},{"name":"mturoci","alias":"mturoci","url":"https://github.com/mturoci","imageURL":"https://github.com/mturoci.png","key":"mturoci","page":null},{"name":"Nguy\u1EC5n Th\xe0nh Nam","alias":"namnguyenthanhwork","url":"https://github.com/namnguyenthanhwork","imageURL":"https://github.com/namnguyenthanhwork.png","key":"namnguyenthanhwork","page":null},{"name":"Masahiko Hara","alias":"pasora","url":"https://github.com/pasora","imageURL":"https://github.com/pasora.png","key":"pasora","page":null},{"name":"Pranav Joglekar","alias":"Pranav2612000","url":"https://github.com/Pranav2612000","imageURL":"https://github.com/Pranav2612000.png","key":"Pranav2612000","page":null},{"name":"Ramazan SANCAR","alias":"ramazansancar","url":"https://github.com/ramazansancar","imageURL":"https://github.com/ramazansancar.png","key":"ramazansancar","page":null},{"name":"Sanjaiyan Parthipan","alias":"sanjaiyan-dev","url":"https://github.com/sanjaiyan-dev","imageURL":"https://github.com/sanjaiyan-dev.png","key":"sanjaiyan-dev","page":null},{"name":"Shanmughapriyan S","alias":"shanpriyan","url":"https://github.com/shanpriyan","imageURL":"https://github.com/shanpriyan.png","key":"shanpriyan","page":null},{"name":"Sam Wall","alias":"sjwall","url":"https://github.com/sjwall","imageURL":"https://github.com/sjwall.png","key":"sjwall","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Xabier Lahuerta Vazquez","alias":"Xabilahu","url":"https://github.com/Xabilahu","imageURL":"https://github.com/Xabilahu.png","key":"Xabilahu","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-10-29T20:00","authors":["adnanhashmi09","birjj","e-im","forgeRW","forresst","homotechsual","jeferson-sb","johnnyreilly","Josh-Cena","JPeer264","lex111","LittleboyHarry","mturoci","namnguyenthanhwork","pasora","Pranav2612000","ramazansancar","sanjaiyan-dev","shanpriyan","sjwall","slorber","Xabilahu"]},"unlisted":false,"prevItem":{"title":"2.3.0","permalink":"/changelog/2.3.0"},"nextItem":{"title":"2.1.0","permalink":"/changelog/2.1.0"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-client-redirects`\\n - [#8227](https://github.com/facebook/docusaurus/pull/8227) feat(plugin-client-redirects): keep the query string + hash ([@Xabilahu](https://github.com/Xabilahu))\\n- `docusaurus`\\n - [#8210](https://github.com/facebook/docusaurus/pull/8210) feat(core): add --config param to swizzle command ([@e-im](https://github.com/e-im))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-mermaid`, `docusaurus-types`, `docusaurus`\\n - [#7490](https://github.com/facebook/docusaurus/pull/7490) feat: support mermaid code blocks in Markdown ([@sjwall](https://github.com/sjwall))\\n- `docusaurus-types`, `docusaurus`\\n - [#8151](https://github.com/facebook/docusaurus/pull/8151) feat(core): siteConfig.headTags API to render extra tags in document head ([@johnnyreilly](https://github.com/johnnyreilly))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-ideal-image`\\n - [#8250](https://github.com/facebook/docusaurus/pull/8250) fix(ideal-image): do not pass down `img` prop ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-common`\\n - [#8246](https://github.com/facebook/docusaurus/pull/8246) fix(mdx-loader): properly unwrap mdxAdmonitionTitle placeholder ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`\\n - [#8234](https://github.com/facebook/docusaurus/pull/8234) fix(plugin-content-docs): fix error message context (error cause) when doc processing fails ([@shanpriyan](https://github.com/shanpriyan))\\n- `docusaurus-theme-classic`, `docusaurus-theme-translations`\\n - [#8207](https://github.com/facebook/docusaurus/pull/8207) fix(theme-classic): hamburger menu control navigation by keyboard ([@jeferson-sb](https://github.com/jeferson-sb))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#8204](https://github.com/facebook/docusaurus/pull/8204) fix(theme-classic): fix SkipToContent without JS , refactor, make it public theming API ([@mturoci](https://github.com/mturoci))\\n - [#8059](https://github.com/facebook/docusaurus/pull/8059) fix(theme): preserve url ?search#hash on navbar version/locale dropdowns navigations ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#8192](https://github.com/facebook/docusaurus/pull/8192) fix(core): throw error for invalid URL in config file ([@forgeRW](https://github.com/forgeRW))\\n- `docusaurus-theme-classic`\\n - [#8174](https://github.com/facebook/docusaurus/pull/8174) fix(theme): announce theme switches ([@mturoci](https://github.com/mturoci))\\n - [#8190](https://github.com/facebook/docusaurus/pull/8190) fix(theme): add more tag names to inline code element set ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#8163](https://github.com/facebook/docusaurus/pull/8163) fix(theme): mobile navbar & skipToContent should cover announcementBar ([@adnanhashmi09](https://github.com/adnanhashmi09))\\n - [#8068](https://github.com/facebook/docusaurus/pull/8068) fix(theme): preserve line breaks when copying code with showLineNumbers in Firefox ([@LittleboyHarry](https://github.com/LittleboyHarry))\\n- `docusaurus-utils`\\n - [#8137](https://github.com/facebook/docusaurus/pull/8137) fix(utils): remove non-ASCII limitation for path normalization ([@birjj](https://github.com/birjj))\\n - [#8158](https://github.com/facebook/docusaurus/pull/8158) fix(content-blog): make RSS feed generation work with slugs with .html extension ([@Pranav2612000](https://github.com/Pranav2612000))\\n- `docusaurus-theme-translations`\\n - [#8105](https://github.com/facebook/docusaurus/pull/8105) fix(theme-translations): complete turkish theme default translations ([@ramazansancar](https://github.com/ramazansancar))\\n - [#8087](https://github.com/facebook/docusaurus/pull/8087) fix(theme-translations): remove extra vi translations ([@namnguyenthanhwork](https://github.com/namnguyenthanhwork))\\n- `docusaurus-plugin-client-redirects`\\n - [#8067](https://github.com/facebook/docusaurus/pull/8067) fix(redirect): tolerate trailing slash difference if config is undefined ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-translations`\\n - [#8253](https://github.com/facebook/docusaurus/pull/8253) chore(theme-translations): complete ru translations ([@lex111](https://github.com/lex111))\\n - [#8243](https://github.com/facebook/docusaurus/pull/8243) chore(theme-translations): complete French translations ([@forresst](https://github.com/forresst))\\n - [#8075](https://github.com/facebook/docusaurus/pull/8075) fix(theme-translation): complete Japanese theme default translation ([@pasora](https://github.com/pasora))\\n- `docusaurus`\\n - [#8159](https://github.com/facebook/docusaurus/pull/8159) fix(core): throw error for invalid URL in config file ([@forgeRW](https://github.com/forgeRW))\\n - [#8109](https://github.com/facebook/docusaurus/pull/8109) feat(core): prefetch on mobile touchstart ([@sanjaiyan-dev](https://github.com/sanjaiyan-dev))\\n- `docusaurus-theme-classic`\\n - [#8161](https://github.com/facebook/docusaurus/pull/8161) fix(theme): do not show tab content when tabbing over it; show after selection only ([@mturoci](https://github.com/mturoci))\\n - [#8062](https://github.com/facebook/docusaurus/pull/8062) refactor(theme): remove hard-coded tag border-radius ([@homotechsual](https://github.com/homotechsual))\\n- `docusaurus-utils-validation`, `docusaurus`\\n - [#8066](https://github.com/facebook/docusaurus/pull/8066) fix(core): normalize slashes for url/baseUrl instead of throwing ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 22\\n\\n- Adnan Hashmi ([@adnanhashmi09](https://github.com/adnanhashmi09))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Forresst ([@forresst](https://github.com/forresst))\\n- Jan Peer St\xf6cklmair ([@JPeer264](https://github.com/JPeer264))\\n- Jeferson S. Brito ([@jeferson-sb](https://github.com/jeferson-sb))\\n- Johan Fagerberg ([@birjj](https://github.com/birjj))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- LittleboyHarry ([@LittleboyHarry](https://github.com/LittleboyHarry))\\n- Masahiko Hara ([@pasora](https://github.com/pasora))\\n- Mikey O\'Toole ([@homotechsual](https://github.com/homotechsual))\\n- Nguy\u1EC5n Th\xe0nh Nam ([@namnguyenthanhwork](https://github.com/namnguyenthanhwork))\\n- Pranav Joglekar ([@Pranav2612000](https://github.com/Pranav2612000))\\n- Ramazan SANCAR ([@ramazansancar](https://github.com/ramazansancar))\\n- Sam Wall ([@sjwall](https://github.com/sjwall))\\n- Sanjaiyan Parthipan ([@sanjaiyan-dev](https://github.com/sanjaiyan-dev))\\n- Shanmughapriyan S ([@shanpriyan](https://github.com/shanpriyan))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Xabier Lahuerta Vazquez ([@Xabilahu](https://github.com/Xabilahu))\\n- [@forgeRW](https://github.com/forgeRW)\\n- [@mturoci](https://github.com/mturoci)\\n- evan ([@e-im](https://github.com/e-im))"},{"id":"/2.1.0","metadata":{"permalink":"/changelog/2.1.0","source":"@site/changelog/source/2.1.0.md","title":"2.1.0","description":"New Feature","date":"2022-09-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"adventure-yunfei","alias":"adventure-yunfei","url":"https://github.com/adventure-yunfei","imageURL":"https://github.com/adventure-yunfei.png","key":"adventure-yunfei","page":null},{"name":"Bagdasar Ovsepyan","alias":"b-ovsepian","url":"https://github.com/b-ovsepian","imageURL":"https://github.com/b-ovsepian.png","key":"b-ovsepian","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Kevin \xd8sterkilde","alias":"Kosai106","url":"https://github.com/Kosai106","imageURL":"https://github.com/Kosai106.png","key":"Kosai106","page":null},{"name":"Morgane Dubus","alias":"mdubus","url":"https://github.com/mdubus","imageURL":"https://github.com/mdubus.png","key":"mdubus","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"whiteand","alias":"whiteand","url":"https://github.com/whiteand","imageURL":"https://github.com/whiteand.png","key":"whiteand","page":null},{"name":"Yoni Chechik","alias":"YoniChechik","url":"https://github.com/YoniChechik","imageURL":"https://github.com/YoniChechik.png","key":"YoniChechik","page":null},{"name":"yzhe819","alias":"yzhe819","url":"https://github.com/yzhe819","imageURL":"https://github.com/yzhe819.png","key":"yzhe819","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-09-01T20:00","authors":["adventure-yunfei","b-ovsepian","datlechin","Josh-Cena","Kosai106","mdubus","slorber","whiteand","YoniChechik","yzhe819"]},"unlisted":false,"prevItem":{"title":"2.2.0","permalink":"/changelog/2.2.0"},"nextItem":{"title":"2.0.1","permalink":"/changelog/2.0.1"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#8008](https://github.com/facebook/docusaurus/pull/8008) feat(theme): ability to use `<DocCardList>` without items prop, on any doc page ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#7963](https://github.com/facebook/docusaurus/pull/7963) feat(docs): allow to configure noIndex per doc version ([@slorber](https://github.com/slorber))\\n - [#7949](https://github.com/facebook/docusaurus/pull/7949) feat(plugin-docs): docs sidebar item link: support \\"autoAddBaseUrl\\" attribute ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#7953](https://github.com/facebook/docusaurus/pull/7953) feat(theme): adds Ukrainian default theme translations ([@b-ovsepian](https://github.com/b-ovsepian))\\n\\n## :bug: Bug Fix\\n\\n- `create-docusaurus`\\n - [#8032](https://github.com/facebook/docusaurus/pull/8032) fix(create-docusaurus): tutorial and init template improvements ([@slorber](https://github.com/slorber))\\n- `docusaurus-preset-classic`\\n - [#8029](https://github.com/facebook/docusaurus/pull/8029) fix(preset-classic): broken link in \\"unrecognized keys\\" error message ([@mdubus](https://github.com/mdubus))\\n- `docusaurus`\\n - [#7977](https://github.com/facebook/docusaurus/pull/7977) fix(core): preload should support encoded page links ([@adventure-yunfei](https://github.com/adventure-yunfei))\\n - [#7996](https://github.com/facebook/docusaurus/pull/7996) fix(core): CLI command write-translations should extract translations from @docu\u2026 ([@slorber](https://github.com/slorber))\\n - [#7952](https://github.com/facebook/docusaurus/pull/7952) fix(core): allow overriding ssr/dev template meta tags ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-sitemap`\\n - [#7964](https://github.com/facebook/docusaurus/pull/7964) fix(sitemap): filter all routes with robots meta containing noindex ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#7910](https://github.com/facebook/docusaurus/pull/7910) fix(theme-classic): code block line number display with line wrapping ([@yzhe819](https://github.com/yzhe819))\\n - [#7786](https://github.com/facebook/docusaurus/pull/7786) fix: collapse siblings when first category is selected ([@whiteand](https://github.com/whiteand))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#7982](https://github.com/facebook/docusaurus/pull/7982) fix(theme): add aria-label to skip to content link region ([@YoniChechik](https://github.com/YoniChechik))\\n - [#7940](https://github.com/facebook/docusaurus/pull/7940) refactor(theme-classic): split AnnouncementBar, increase z-index, use shadow ([@slorber](https://github.com/slorber))\\n - [#7876](https://github.com/facebook/docusaurus/pull/7876) refactor(theme-classic): make tag text visually certered ([@Kosai106](https://github.com/Kosai106))\\n- `docusaurus-utils`\\n - [#7941](https://github.com/facebook/docusaurus/pull/7941) feat(core): add new Webpack file-loader extensions: avif, mov, mkv, mpg, avi... ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-types`\\n - [#7942](https://github.com/facebook/docusaurus/pull/7942) feat(theme-classic): use lang attribute in navbar locale dropdown items ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-translations`\\n - [#7928](https://github.com/facebook/docusaurus/pull/7928) chore(theme-translations): complete vi translations ([@datlechin](https://github.com/datlechin))\\n\\n## :memo: Documentation\\n\\n- `create-docusaurus`\\n - [#8032](https://github.com/facebook/docusaurus/pull/8032) fix(create-docusaurus): tutorial and init template improvements ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`\\n - [#7905](https://github.com/facebook/docusaurus/pull/7905) docs: remove mention of beta ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 10\\n\\n- Bagdasar Ovsepyan ([@b-ovsepian](https://github.com/b-ovsepian))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Kevin \xd8sterkilde ([@Kosai106](https://github.com/Kosai106))\\n- Morgane Dubus ([@mdubus](https://github.com/mdubus))\\n- Ng\xf4 Qu\u1ED1c \u0110\u1EA1t ([@datlechin](https://github.com/datlechin))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Yoni Chechik ([@YoniChechik](https://github.com/YoniChechik))\\n- [@whiteand](https://github.com/whiteand)\\n- [@yzhe819](https://github.com/yzhe819)\\n- adventure-yunfei ([@adventure-yunfei](https://github.com/adventure-yunfei))"},{"id":"/2.0.1","metadata":{"permalink":"/changelog/2.0.1","source":"@site/changelog/source/2.0.1.md","title":"2.0.1","description":"Fix bad npm publish of 2.0.0","date":"2022-08-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-08-01T20:00","authors":["slorber"]},"unlisted":false,"prevItem":{"title":"2.1.0","permalink":"/changelog/2.1.0"},"nextItem":{"title":"2.0.0","permalink":"/changelog/2.0.0"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\nFix bad npm publish of 2.0.0\\n\\n## Committers: 1\\n\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))"},{"id":"/2.0.0","metadata":{"permalink":"/changelog/2.0.0","source":"@site/changelog/source/2.0.0.md","title":"2.0.0","description":"Bad npm publish, please use 2.0.1","date":"2022-08-01T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-08-01T19:00","authors":["Josh-Cena","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.1","permalink":"/changelog/2.0.1"},"nextItem":{"title":"2.0.0-rc.1","permalink":"/changelog/2.0.0-rc.1"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\nBad npm publish, please use 2.0.1\\n\\n## :nail_care: Polish\\n\\n- `docusaurus`\\n - [#7781](https://github.com/facebook/docusaurus/pull/7781) refactor(core): log Docusaurus & Node version before exiting ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 2\\n\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))"},{"id":"/2.0.0-rc.1","metadata":{"permalink":"/changelog/2.0.0-rc.1","source":"@site/changelog/source/2.0.0-rc.1.md","title":"2.0.0-rc.1","description":"Bug Fix","date":"2022-07-14T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Sunghyun Cho","alias":"anaclumos","url":"https://github.com/anaclumos","imageURL":"https://github.com/anaclumos.png","key":"anaclumos","page":null},{"name":"Evan","alias":"DigiPie","url":"https://github.com/DigiPie","imageURL":"https://github.com/DigiPie.png","key":"DigiPie","page":null},{"name":"\u51F1\u6069 Kane","alias":"Gary50613","url":"https://github.com/Gary50613","imageURL":"https://github.com/Gary50613.png","key":"Gary50613","page":null},{"name":"Wes McNamee","alias":"ghostsquad","url":"https://github.com/ghostsquad","imageURL":"https://github.com/ghostsquad.png","key":"ghostsquad","page":null},{"name":"Jeffrey Aven","alias":"jeffreyaven","url":"https://github.com/jeffreyaven","imageURL":"https://github.com/jeffreyaven.png","key":"jeffreyaven","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"LichLord91","alias":"LichLord91","url":"https://github.com/LichLord91","imageURL":"https://github.com/LichLord91.png","key":"LichLord91","page":null},{"name":"Bruce Song","alias":"recallwei","url":"https://github.com/recallwei","imageURL":"https://github.com/recallwei.png","key":"recallwei","page":null},{"name":"Arthur Brugi\xe8re","alias":"RoiArthurB","url":"https://github.com/RoiArthurB","imageURL":"https://github.com/RoiArthurB.png","key":"RoiArthurB","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"The Nguyen","alias":"treoden","url":"https://github.com/treoden","imageURL":"https://github.com/treoden.png","key":"treoden","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-07-14T20:00","authors":["anaclumos","DigiPie","Gary50613","ghostsquad","jeffreyaven","Josh-Cena","LichLord91","recallwei","RoiArthurB","slorber","treoden"]},"unlisted":false,"prevItem":{"title":"2.0.0","permalink":"/changelog/2.0.0"},"nextItem":{"title":"2.0.0-beta.22","permalink":"/changelog/2.0.0-beta.22"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#7776](https://github.com/facebook/docusaurus/pull/7776) fix(core): swizzle --eject js should not copy theme .d.ts files ([@slorber](https://github.com/slorber))\\n - [#7750](https://github.com/facebook/docusaurus/pull/7750) fix(deploy): revert \\"feat(deploy): copy local git config to tmp repo (#7702)\\" ([@ghostsquad](https://github.com/ghostsquad))\\n- `docusaurus-plugin-sitemap`\\n - [#7774](https://github.com/facebook/docusaurus/pull/7774) fix(sitemap): complete gracefully when all pages have noIndex meta ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#7771](https://github.com/facebook/docusaurus/pull/7771) chore: bump Infima to 0.2.0-alpha.42, fix a:hover link bug ([@slorber](https://github.com/slorber))\\n - [#7755](https://github.com/facebook/docusaurus/pull/7755) fix(theme-classic): validate options properly ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7752](https://github.com/facebook/docusaurus/pull/7752) fix(theme-classic): fix Layout theme height CSS ([@LichLord91](https://github.com/LichLord91))\\n- `docusaurus-migrate`\\n - [#7766](https://github.com/facebook/docusaurus/pull/7766) fix(migrate): import siteConfig with file extension ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-search-algolia`\\n - [#7761](https://github.com/facebook/docusaurus/pull/7761) fix(algolia-search): test for canUseIntersectionObserver ([@RoiArthurB](https://github.com/RoiArthurB))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-translations`\\n - [#7762](https://github.com/facebook/docusaurus/pull/7762) chore(theme-translations): complete ko translations ([@anaclumos](https://github.com/anaclumos))\\n\\n## :memo: Documentation\\n\\n- `docusaurus-plugin-content-docs`\\n - [#7706](https://github.com/facebook/docusaurus/pull/7706) docs: release process, versioning, breaking changes, public API surface ([@slorber](https://github.com/slorber))\\n\\n## :wrench: Maintenance\\n\\n- `docusaurus-theme-classic`\\n - [#7777](https://github.com/facebook/docusaurus/pull/7777) refactor(theme): fix duplicate page metadata usage ([@slorber](https://github.com/slorber))\\n - [#7771](https://github.com/facebook/docusaurus/pull/7771) chore: bump Infima to 0.2.0-alpha.42, fix a:hover link bug ([@slorber](https://github.com/slorber))\\n\\n## Committers: 11\\n\\n- Arthur Brugi\xe8re ([@RoiArthurB](https://github.com/RoiArthurB))\\n- Bruce Song ([@recallwei](https://github.com/recallwei))\\n- Evan ([@DigiPie](https://github.com/DigiPie))\\n- Jeffrey Aven ([@jeffreyaven](https://github.com/jeffreyaven))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Sunghyun Cho ([@anaclumos](https://github.com/anaclumos))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- The Nguyen ([@treoden](https://github.com/treoden))\\n- Wes McNamee ([@ghostsquad](https://github.com/ghostsquad))\\n- [@LichLord91](https://github.com/LichLord91)\\n- \u51F1\u6069 Kane ([@Gary50613](https://github.com/Gary50613))"},{"id":"/2.0.0-beta.22","metadata":{"permalink":"/changelog/2.0.0-beta.22","source":"@site/changelog/source/2.0.0-beta.22.md","title":"2.0.0-beta.22","description":"Breaking Change","date":"2022-07-08T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Fl\xe1vio Silva","alias":"201flaviosilva","url":"https://github.com/201flaviosilva","imageURL":"https://github.com/201flaviosilva.png","key":"201flaviosilva","page":null},{"name":"7Wate","alias":"7Wate","url":"https://github.com/7Wate","imageURL":"https://github.com/7Wate.png","key":"7Wate","page":null},{"name":"\u8D64\u57CE\u7ED3\u8863","alias":"AkagiYui","url":"https://github.com/AkagiYui","imageURL":"https://github.com/AkagiYui.png","key":"AkagiYui","page":null},{"name":"alewolf","alias":"alewolf","url":"https://github.com/alewolf","imageURL":"https://github.com/alewolf.png","key":"alewolf","page":null},{"name":"Alexander Nestorov","alias":"alexandernst","url":"https://github.com/alexandernst","imageURL":"https://github.com/alexandernst.png","key":"alexandernst","page":null},{"name":"Ahmed Altomy","alias":"Altomy","url":"https://github.com/Altomy","imageURL":"https://github.com/Altomy.png","key":"Altomy","page":null},{"name":"Sunghyun Cho","alias":"anaclumos","url":"https://github.com/anaclumos","imageURL":"https://github.com/anaclumos.png","key":"anaclumos","page":null},{"name":"Benjamin Cabanes","alias":"bcabanes","url":"https://github.com/bcabanes","imageURL":"https://github.com/bcabanes.png","key":"bcabanes","page":null},{"name":"Ben Myers","alias":"BenDMyers","url":"https://github.com/BenDMyers","imageURL":"https://github.com/BenDMyers.png","key":"BenDMyers","page":null},{"name":"Boulet","alias":"Boulet-","url":"https://github.com/Boulet-","imageURL":"https://github.com/Boulet-.png","key":"Boulet-","page":null},{"name":"Charles Ancheta","alias":"cbebe","url":"https://github.com/cbebe","imageURL":"https://github.com/cbebe.png","key":"cbebe","page":null},{"name":"Clemie McCartney","alias":"clemiee","url":"https://github.com/clemiee","imageURL":"https://github.com/clemiee.png","key":"clemiee","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Dharsan B","alias":"DharsanB","url":"https://github.com/DharsanB","imageURL":"https://github.com/DharsanB.png","key":"DharsanB","page":null},{"name":"dht","alias":"dht","url":"https://github.com/dht","imageURL":"https://github.com/dht.png","key":"dht","page":null},{"name":"Diego Fran\xe7a","alias":"difranca","url":"https://github.com/difranca","imageURL":"https://github.com/difranca.png","key":"difranca","page":null},{"name":"dpang314","alias":"dpang314","url":"https://github.com/dpang314","imageURL":"https://github.com/dpang314.png","key":"dpang314","page":null},{"name":"emattia","alias":"emattia","url":"https://github.com/emattia","imageURL":"https://github.com/emattia.png","key":"emattia","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"\u51F1\u6069 Kane","alias":"Gary50613","url":"https://github.com/Gary50613","imageURL":"https://github.com/Gary50613.png","key":"Gary50613","page":null},{"name":"Wes McNamee","alias":"ghostsquad","url":"https://github.com/ghostsquad","imageURL":"https://github.com/ghostsquad.png","key":"ghostsquad","page":null},{"name":"Hyunseung Lee","alias":"HyunseungLee-Travis","url":"https://github.com/HyunseungLee-Travis","imageURL":"https://github.com/HyunseungLee-Travis.png","key":"HyunseungLee-Travis","page":null},{"name":"DOLLE","alias":"JeremyDolle","url":"https://github.com/JeremyDolle","imageURL":"https://github.com/JeremyDolle.png","key":"JeremyDolle","page":null},{"name":"Johnie Hjelm","alias":"johnie","url":"https://github.com/johnie","imageURL":"https://github.com/johnie.png","key":"johnie","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"JP","alias":"jpdriver","url":"https://github.com/jpdriver","imageURL":"https://github.com/jpdriver.png","key":"jpdriver","page":null},{"name":"Joshua Schmitt","alias":"jqshuv","url":"https://github.com/jqshuv","imageURL":"https://github.com/jqshuv.png","key":"jqshuv","page":null},{"name":"K\xfcr\u015Fat \u015Eim\u015Fek","alias":"kursatsmsek","url":"https://github.com/kursatsmsek","imageURL":"https://github.com/kursatsmsek.png","key":"kursatsmsek","page":null},{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Matthias Koch","alias":"matkoch","url":"https://github.com/matkoch","imageURL":"https://github.com/matkoch.png","key":"matkoch","page":null},{"name":"\u674E\u5C0F\u96E8","alias":"metal-young","url":"https://github.com/metal-young","imageURL":"https://github.com/metal-young.png","key":"metal-young","page":null},{"name":"Tom Mrazauskas","alias":"mrazauskas","url":"https://github.com/mrazauskas","imageURL":"https://github.com/mrazauskas.png","key":"mrazauskas","page":null},{"name":"pincman","alias":"pincman","url":"https://github.com/pincman","imageURL":"https://github.com/pincman.png","key":"pincman","page":null},{"name":"Redcamel","alias":"redcamel","url":"https://github.com/redcamel","imageURL":"https://github.com/redcamel.png","key":"redcamel","page":null},{"name":"Rein van Haaren","alias":"reinvanhaaren","url":"https://github.com/reinvanhaaren","imageURL":"https://github.com/reinvanhaaren.png","key":"reinvanhaaren","page":null},{"name":"Rudra Sen","alias":"RudraSen2","url":"https://github.com/RudraSen2","imageURL":"https://github.com/RudraSen2.png","key":"RudraSen2","page":null},{"name":"sado","alias":"sado0823","url":"https://github.com/sado0823","imageURL":"https://github.com/sado0823.png","key":"sado0823","page":null},{"name":"Dzung Do","alias":"saosangmo","url":"https://github.com/saosangmo","imageURL":"https://github.com/saosangmo.png","key":"saosangmo","page":null},{"name":"Dima Grossman","alias":"scopsy","url":"https://github.com/scopsy","imageURL":"https://github.com/scopsy.png","key":"scopsy","page":null},{"name":"SheetJSDev","alias":"SheetJSDev","url":"https://github.com/SheetJSDev","imageURL":"https://github.com/SheetJSDev.png","key":"SheetJSDev","page":null},{"name":"Joe Harrison","alias":"sigwinch28","url":"https://github.com/sigwinch28","imageURL":"https://github.com/sigwinch28.png","key":"sigwinch28","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Huy Nguyen","alias":"Smilefounder","url":"https://github.com/Smilefounder","imageURL":"https://github.com/Smilefounder.png","key":"Smilefounder","page":null},{"name":"Steven Serrata","alias":"sserrata","url":"https://github.com/sserrata","imageURL":"https://github.com/sserrata.png","key":"sserrata","page":null},{"name":"Szil\xe1rd D\xf3r\xf3","alias":"szilarddoro","url":"https://github.com/szilarddoro","imageURL":"https://github.com/szilarddoro.png","key":"szilarddoro","page":null},{"name":"Le Thi Van","alias":"vannyle","url":"https://github.com/vannyle","imageURL":"https://github.com/vannyle.png","key":"vannyle","page":null},{"name":"Webber Takken","alias":"webbertakken","url":"https://github.com/webbertakken","imageURL":"https://github.com/webbertakken.png","key":"webbertakken","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Paul O\u2019Shannessy","alias":"zpao","url":"https://github.com/zpao","imageURL":"https://github.com/zpao.png","key":"zpao","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-07-08T20:00","authors":["201flaviosilva","7Wate","AkagiYui","alewolf","alexandernst","Altomy","anaclumos","bcabanes","BenDMyers","Boulet-","cbebe","clemiee","datlechin","DharsanB","dht","difranca","dpang314","emattia","forresst","Gary50613","ghostsquad","HyunseungLee-Travis","JeremyDolle","johnie","johnnyreilly","Josh-Cena","jpdriver","jqshuv","kursatsmsek","lanegoolsby","lex111","matkoch","metal-young","mrazauskas","pincman","redcamel","reinvanhaaren","RudraSen2","sado0823","saosangmo","scopsy","SheetJSDev","sigwinch28","slorber","Smilefounder","sserrata","szilarddoro","vannyle","webbertakken","yangshun","zpao"]},"unlisted":false,"prevItem":{"title":"2.0.0-rc.1","permalink":"/changelog/2.0.0-rc.1"},"nextItem":{"title":"2.0.0-beta.21","permalink":"/changelog/2.0.0-beta.21"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-theme-classic`\\n - [#7740](https://github.com/facebook/docusaurus/pull/7740) refactor(theme): nest theme icons under subfolder @theme/Icon/\\\\* ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#7716](https://github.com/facebook/docusaurus/pull/7716) refactor(theme): split BlogPostItem into smaller theme subcomponents ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`\\n - [#7660](https://github.com/facebook/docusaurus/pull/7660) refactor(theme-common): split package into public/internal API entrypoints ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#7644](https://github.com/facebook/docusaurus/pull/7644) refactor(docs,theme): split DocItem comp, useDoc hook ([@slorber](https://github.com/slorber))\\n- `docusaurus-logger`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#7642](https://github.com/facebook/docusaurus/pull/7642) refactor: remove \\"error\\" reporting level, move reportMessage to logger ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-utils-validation`, `docusaurus`\\n - [#7152](https://github.com/facebook/docusaurus/pull/7152) refactor: handle all admonitions via JSX component ([@lex111](https://github.com/lex111))\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-translations`\\n - [#7732](https://github.com/facebook/docusaurus/pull/7732) feat(theme-translations): Dutch translation ([@reinvanhaaren](https://github.com/reinvanhaaren))\\n - [#7715](https://github.com/facebook/docusaurus/pull/7715) feat(theme-translations): Swedish translation ([@johnie](https://github.com/johnie))\\n- `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`\\n - [#7666](https://github.com/facebook/docusaurus/pull/7666) feat(algolia-search): allow translating search modal ([@forresst](https://github.com/forresst))\\n- `create-docusaurus`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#7643](https://github.com/facebook/docusaurus/pull/7643) feat(theme-classic): themeConfig navbar/footer logos accept className/style + update Meta Open-Source Logo ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`\\n - [#7649](https://github.com/facebook/docusaurus/pull/7649) feat(client-redirects): make plugin respect onDuplicateRoutes config ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#7624](https://github.com/facebook/docusaurus/pull/7624) feat: allow customizing localization path of each locale ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#7581](https://github.com/facebook/docusaurus/pull/7581) feat(core): allow opting out of HTML minification ([@alexandernst](https://github.com/alexandernst))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#7557](https://github.com/facebook/docusaurus/pull/7557) feat: allow specifying custom target for FooterLogo ([@vannyle](https://github.com/vannyle))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`\\n - [#7556](https://github.com/facebook/docusaurus/pull/7556) feat: add admonition type title translations ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#7386](https://github.com/facebook/docusaurus/pull/7386) feat(core): allow customizing the i18n directory path ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-live-codeblock`\\n - [#7514](https://github.com/facebook/docusaurus/pull/7514) feat(live-codeblock): add support for noInline to interactive code blocks ([@jpdriver](https://github.com/jpdriver))\\n- `docusaurus-plugin-content-docs`\\n - [#7461](https://github.com/facebook/docusaurus/pull/7461) feat(content-docs): last_update front matter ([@dpang314](https://github.com/dpang314))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#7727](https://github.com/facebook/docusaurus/pull/7727) fix(theme): show blog post edit link even when no tag & not truncated ([@anaclumos](https://github.com/anaclumos))\\n - [#7659](https://github.com/facebook/docusaurus/pull/7659) fix(theme-classic): expose empty string alt text in navbar logos ([@BenDMyers](https://github.com/BenDMyers))\\n - [#7595](https://github.com/facebook/docusaurus/pull/7595) fix(content-pages): add article wrapper around MDXContent ([@matkoch](https://github.com/matkoch))\\n- `docusaurus-theme-translations`\\n - [#7694](https://github.com/facebook/docusaurus/pull/7694) fix(theme-translations): typo in vi locale ([@saosangmo](https://github.com/saosangmo))\\n- `docusaurus-plugin-content-docs`\\n - [#7638](https://github.com/facebook/docusaurus/pull/7638) fix(docs): forward doc frontMatter.sidebar_custom_props to linking sidebar category ([@slorber](https://github.com/slorber))\\n - [#7634](https://github.com/facebook/docusaurus/pull/7634) fix(content-docs): allow translating doc labels in sidebars.js ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-utils`\\n - [#7604](https://github.com/facebook/docusaurus/pull/7604) fix(utils): allow any non-boundary characters in Markdown heading ID ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-cssnano-preset`\\n - [#7593](https://github.com/facebook/docusaurus/pull/7593) fix(cssnano-preset): disable z-index minification ([@dpang314](https://github.com/dpang314))\\n- `docusaurus-theme-common`\\n - [#7551](https://github.com/facebook/docusaurus/pull/7551) fix(theme-classic): code block wrap mode should allow wrapping in the middle of a word ([@slorber](https://github.com/slorber))\\n - [#7485](https://github.com/facebook/docusaurus/pull/7485) fix(theme-classic): inconsistent code block wrapping ([@dpang314](https://github.com/dpang314))\\n- `docusaurus-mdx-loader`, `docusaurus-module-type-aliases`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus-utils`\\n - [#7521](https://github.com/facebook/docusaurus/pull/7521) fix: make type-checking work in Yarn PnP ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-translations`\\n - [#7696](https://github.com/facebook/docusaurus/pull/7696) fix(theme-translations): improve grammar of zh translation ([@AkagiYui](https://github.com/AkagiYui))\\n - [#7691](https://github.com/facebook/docusaurus/pull/7691) chore(theme-translations): complete vi translations ([@datlechin](https://github.com/datlechin))\\n - [#7683](https://github.com/facebook/docusaurus/pull/7683) chore(theme-translations): complete ar translations ([@Altomy](https://github.com/Altomy))\\n - [#7633](https://github.com/facebook/docusaurus/pull/7633) chore(theme-translations): complete ko translations ([@HyunseungLee-Travis](https://github.com/HyunseungLee-Travis))\\n- `docusaurus`\\n - [#7702](https://github.com/facebook/docusaurus/pull/7702) feat(deploy): copy local git config to tmp repo ([@ghostsquad](https://github.com/ghostsquad))\\n - [#7600](https://github.com/facebook/docusaurus/pull/7600) fix: force refresh on chunk preload error ([@yangshun](https://github.com/yangshun))\\n- `docusaurus-plugin-content-docs`\\n - [#7673](https://github.com/facebook/docusaurus/pull/7673) fix(content-docs): format last update date as \\"Jun 19, 2020\\" ([@sigwinch28](https://github.com/sigwinch28))\\n- `docusaurus-theme-common`, `docusaurus-theme-search-algolia`\\n - [#7671](https://github.com/facebook/docusaurus/pull/7671) refactor(theme-common): rename useDynamicCallback to useEvent ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-common`\\n - [#7648](https://github.com/facebook/docusaurus/pull/7648) fix(theme-common): make useShallowMemoObject key-order-insensitive ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#7639](https://github.com/facebook/docusaurus/pull/7639) chore(create): update the facebook template with current assets ([@zpao](https://github.com/zpao))\\n - [#7520](https://github.com/facebook/docusaurus/pull/7520) feat: add engines field to templates\' package.json ([@johnnyreilly](https://github.com/johnnyreilly))\\n- `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus`\\n - [#7579](https://github.com/facebook/docusaurus/pull/7579) refactor(pwa): simplify registerSW code, fix ESLint errors ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`\\n - [#7545](https://github.com/facebook/docusaurus/pull/7545) feat(analytics): allow query/hash changes to be sent to GA ([@lanegoolsby](https://github.com/lanegoolsby))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#7739](https://github.com/facebook/docusaurus/pull/7739) docs: swizzle react-live with eject ([@SheetJSDev](https://github.com/SheetJSDev))\\n - [#7723](https://github.com/facebook/docusaurus/pull/7723) docs: add GitHub pages deployment troubleshooting guide ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7705](https://github.com/facebook/docusaurus/pull/7705) docs: mention MDXContent ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7675](https://github.com/facebook/docusaurus/pull/7675) docs: add docusaurus-openapi-docs to resources ([@sserrata](https://github.com/sserrata))\\n - [#7677](https://github.com/facebook/docusaurus/pull/7677) docs: add more info on github cross repo deployment ([@bcabanes](https://github.com/bcabanes))\\n - [#7563](https://github.com/facebook/docusaurus/pull/7563) docs: add awesome-docusaurus resource ([@webbertakken](https://github.com/webbertakken))\\n - [#7665](https://github.com/facebook/docusaurus/pull/7665) docs: add link from every category index page to the guide page ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7519](https://github.com/facebook/docusaurus/pull/7519) docs: multiple documentation elaborations ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7518](https://github.com/facebook/docusaurus/pull/7518) docs: remove useless front matter ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7512](https://github.com/facebook/docusaurus/pull/7512) docs: update Kent C. Dodds Twitter avatar ([@DharsanB](https://github.com/DharsanB))\\n- `create-docusaurus`\\n - [#7611](https://github.com/facebook/docusaurus/pull/7611) docs: advise using Node 18 in deployment ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7582](https://github.com/facebook/docusaurus/pull/7582) docs: make localhost links clickable ([@dht](https://github.com/dht))\\n- `docusaurus-plugin-client-redirects`\\n - [#7607](https://github.com/facebook/docusaurus/pull/7607) refactor(client-redirects): elaborate documentation, minor refactor ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :wrench: Maintenance\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#7676](https://github.com/facebook/docusaurus/pull/7676) refactor(theme): move LayoutProviders to Layout/Provider; composeProviders util ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#7674](https://github.com/facebook/docusaurus/pull/7674) chore: prevent importing theme components with relative paths ([@slorber](https://github.com/slorber))\\n - [#7664](https://github.com/facebook/docusaurus/pull/7664) chore: upgrade Infima to alpha.40 ([@slorber](https://github.com/slorber))\\n- Other\\n - [#7663](https://github.com/facebook/docusaurus/pull/7663) misc: share .vscode/extensions.json ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#7583](https://github.com/facebook/docusaurus/pull/7583) refactor(cli): make the CLI an even thinner wrapper around command functions ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7547](https://github.com/facebook/docusaurus/pull/7547) chore: update static-site-generator-webpack-plugin ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`, `lqip-loader`, `stylelint-copyright`\\n - [#7586](https://github.com/facebook/docusaurus/pull/7586) chore: upgrade to TS 4.7, compile with NodeNext ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 51\\n\\n- 7Wate ([@7Wate](https://github.com/7Wate))\\n- Ahmed Altomy ([@Altomy](https://github.com/Altomy))\\n- Alexander Nestorov ([@alexandernst](https://github.com/alexandernst))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Ben Myers ([@BenDMyers](https://github.com/BenDMyers))\\n- Benjamin Cabanes ([@bcabanes](https://github.com/bcabanes))\\n- Boulet ([@Boulet-](https://github.com/Boulet-))\\n- Charles Ancheta ([@cbebe](https://github.com/cbebe))\\n- Clemie McCartney ([@clemiee](https://github.com/clemiee))\\n- DOLLE ([@JeremyDolle](https://github.com/JeremyDolle))\\n- Dharsan B ([@DharsanB](https://github.com/DharsanB))\\n- Diego Fran\xe7a ([@difranca](https://github.com/difranca))\\n- Dima Grossman ([@scopsy](https://github.com/scopsy))\\n- Dzung Do ([@saosangmo](https://github.com/saosangmo))\\n- Fl\xe1vio Silva ([@201flaviosilva](https://github.com/201flaviosilva))\\n- Forresst ([@forresst](https://github.com/forresst))\\n- Huy Nguyen ([@Smilefounder](https://github.com/Smilefounder))\\n- Hyunseung Lee ([@HyunseungLee-Travis](https://github.com/HyunseungLee-Travis))\\n- JP ([@jpdriver](https://github.com/jpdriver))\\n- Joe Harrison ([@sigwinch28](https://github.com/sigwinch28))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Johnie Hjelm ([@johnie](https://github.com/johnie))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Joshua Schmitt ([@jqshuv](https://github.com/jqshuv))\\n- K\xfcr\u015Fat \u015Eim\u015Fek ([@kursatsmsek](https://github.com/kursatsmsek))\\n- Lane Goolsby ([@lanegoolsby](https://github.com/lanegoolsby))\\n- Le Thi Van ([@vannyle](https://github.com/vannyle))\\n- Matthias Koch ([@matkoch](https://github.com/matkoch))\\n- Ng\xf4 Qu\u1ED1c \u0110\u1EA1t ([@datlechin](https://github.com/datlechin))\\n- Paul O\u2019Shannessy ([@zpao](https://github.com/zpao))\\n- Redcamel ([@redcamel](https://github.com/redcamel))\\n- Rein van Haaren ([@reinvanhaaren](https://github.com/reinvanhaaren))\\n- Rudra Sen ([@RudraSen2](https://github.com/RudraSen2))\\n- Steven Serrata ([@sserrata](https://github.com/sserrata))\\n- Sunghyun Cho ([@anaclumos](https://github.com/anaclumos))\\n- Szil\xe1rd D\xf3r\xf3 ([@szilarddoro](https://github.com/szilarddoro))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tom Mrazauskas ([@mrazauskas](https://github.com/mrazauskas))\\n- Webber Takken ([@webbertakken](https://github.com/webbertakken))\\n- Wes McNamee ([@ghostsquad](https://github.com/ghostsquad))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- [@SheetJSDev](https://github.com/SheetJSDev)\\n- [@alewolf](https://github.com/alewolf)\\n- [@dpang314](https://github.com/dpang314)\\n- dht ([@dht](https://github.com/dht))\\n- emattia ([@emattia](https://github.com/emattia))\\n- pincman ([@pincman](https://github.com/pincman))\\n- sado ([@sado0823](https://github.com/sado0823))\\n- \u51F1\u6069 Kane ([@Gary50613](https://github.com/Gary50613))\\n- \u674E\u5C0F\u96E8 ([@metal-young](https://github.com/metal-young))\\n- \u8D64\u57CE\u7ED3\u8863 ([@AkagiYui](https://github.com/AkagiYui))"},{"id":"/2.0.0-beta.21","metadata":{"permalink":"/changelog/2.0.0-beta.21","source":"@site/changelog/source/2.0.0-beta.21.md","title":"2.0.0-beta.21","description":"Breaking Change","date":"2022-05-27T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Benjamin Diolez","alias":"BenDz","url":"https://github.com/BenDz","imageURL":"https://github.com/BenDz.png","key":"BenDz","page":null},{"name":"Charles Korn","alias":"charleskorn","url":"https://github.com/charleskorn","imageURL":"https://github.com/charleskorn.png","key":"charleskorn","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Designatory","alias":"Designatory","url":"https://github.com/Designatory","imageURL":"https://github.com/Designatory.png","key":"Designatory","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"\u51F1\u6069 Kane","alias":"Gary50613","url":"https://github.com/Gary50613","imageURL":"https://github.com/Gary50613.png","key":"Gary50613","page":null},{"name":"Ggicci","alias":"ggicci","url":"https://github.com/ggicci","imageURL":"https://github.com/ggicci.png","key":"ggicci","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jan Peer St\xf6cklmair","alias":"JPeer264","url":"https://github.com/JPeer264","imageURL":"https://github.com/JPeer264.png","key":"JPeer264","page":null},{"name":"Jeremy","alias":"jrmyw92","url":"https://github.com/jrmyw92","imageURL":"https://github.com/jrmyw92.png","key":"jrmyw92","page":null},{"name":"Junjie","alias":"junjieweb","url":"https://github.com/junjieweb","imageURL":"https://github.com/junjieweb.png","key":"junjieweb","page":null},{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Matthias Koch","alias":"matkoch","url":"https://github.com/matkoch","imageURL":"https://github.com/matkoch.png","key":"matkoch","page":null},{"name":"Akara","alias":"Messiahhh","url":"https://github.com/Messiahhh","imageURL":"https://github.com/Messiahhh.png","key":"Messiahhh","page":null},{"name":"Michael Hughes","alias":"mhughes2k","url":"https://github.com/mhughes2k","imageURL":"https://github.com/mhughes2k.png","key":"mhughes2k","page":null},{"name":"Nitya Narasimhan","alias":"nitya","url":"https://github.com/nitya","imageURL":"https://github.com/nitya.png","key":"nitya","page":null},{"name":"Oluwatobi Sofela","alias":"oluwatobiss","url":"https://github.com/oluwatobiss","imageURL":"https://github.com/oluwatobiss.png","key":"oluwatobiss","page":null},{"name":"Ori Shalom","alias":"ori-shalom","url":"https://github.com/ori-shalom","imageURL":"https://github.com/ori-shalom.png","key":"ori-shalom","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"Rui Peres","alias":"RuiAAPeres","url":"https://github.com/RuiAAPeres","imageURL":"https://github.com/RuiAAPeres.png","key":"RuiAAPeres","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"James","alias":"Zamiell","url":"https://github.com/Zamiell","imageURL":"https://github.com/Zamiell.png","key":"Zamiell","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-05-27T20:00","authors":["BenDz","charleskorn","datlechin","Designatory","forresst","Gary50613","ggicci","Josh-Cena","JPeer264","jrmyw92","junjieweb","lanegoolsby","massoudmaboudi","matkoch","Messiahhh","mhughes2k","nitya","oluwatobiss","ori-shalom","pranabdas","RuiAAPeres","slorber","Zamiell"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.22","permalink":"/changelog/2.0.0-beta.22"},"nextItem":{"title":"2.0.0-beta.20","permalink":"/changelog/2.0.0-beta.20"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-plugin-pwa`\\n - [#7422](https://github.com/facebook/docusaurus/pull/7422) refactor(pwa): remove reloadPopup option in favor of swizzling ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`, `lqip-loader`\\n - [#7501](https://github.com/facebook/docusaurus/pull/7501) chore: require Node 16.14 ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-sitemap`\\n - [#7469](https://github.com/facebook/docusaurus/pull/7469) feat(sitemap): allow customizing the output name ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-utils`, `docusaurus`\\n - [#7371](https://github.com/facebook/docusaurus/pull/7371) feat(core): support docusaurus.config.cjs as default file name ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#7500](https://github.com/facebook/docusaurus/pull/7500) feat: make docusaurus serve automatically open in browser ([@Zamiell](https://github.com/Zamiell))\\n - [#7452](https://github.com/facebook/docusaurus/pull/7452) feat: add --no-minify flag to docusaurus start ([@lanegoolsby](https://github.com/lanegoolsby))\\n- `docusaurus-theme-classic`\\n - [#7357](https://github.com/facebook/docusaurus/pull/7357) feat(theme-classic): allow className as option for type: \\"search\\" ([@JPeer264](https://github.com/JPeer264))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#7362](https://github.com/facebook/docusaurus/pull/7362) fix: always emit SEO title + og:title meta ([@charleskorn](https://github.com/charleskorn))\\n - [#7453](https://github.com/facebook/docusaurus/pull/7453) fix(core): avoid using logger and fs.readJSON in SSR ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7369](https://github.com/facebook/docusaurus/pull/7369) fix(cli): output correct path when swizzling bare-file component in subfolder ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7360](https://github.com/facebook/docusaurus/pull/7360) fix(core): allow githubPort in config validation ([@mhughes2k](https://github.com/mhughes2k))\\n- `docusaurus-plugin-google-gtag`\\n - [#7424](https://github.com/facebook/docusaurus/pull/7424) fix(gtag): send the newly rendered page\'s title instead of the old one\'s ([@ori-shalom](https://github.com/ori-shalom))\\n- `create-docusaurus`, `docusaurus-utils`\\n - [#7507](https://github.com/facebook/docusaurus/pull/7507) fix(create-docusaurus): potential security issue with command injection ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus`\\n - [#7492](https://github.com/facebook/docusaurus/pull/7492) fix(core): always treat error boundary fallback as a callback ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#7438](https://github.com/facebook/docusaurus/pull/7438) fix(theme-classic): allow nested task lists to preserve the indent ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7430](https://github.com/facebook/docusaurus/pull/7430) fix(theme-classic): consistently apply the right active class name for all navbar items ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7411](https://github.com/facebook/docusaurus/pull/7411) fix(theme-classic): autocollapse sidebar categories when navigating with paginator ([@pranabdas](https://github.com/pranabdas))\\n - [#7363](https://github.com/facebook/docusaurus/pull/7363) fix(theme-classic): resolve customCss from site dir ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-utils`\\n - [#7464](https://github.com/facebook/docusaurus/pull/7464) fix(utils): fix Markdown link replacement when link text is same as href ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7458](https://github.com/facebook/docusaurus/pull/7458) fix(utils): avoid replacing Markdown links missing the directly next link ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`\\n - [#7392](https://github.com/facebook/docusaurus/pull/7392) fix(mdx-loader): use React.Fragment as fragment factory ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`\\n - [#7385](https://github.com/facebook/docusaurus/pull/7385) fix(content-docs): restore functionality when a category only has index page ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-translations`\\n - [#7493](https://github.com/facebook/docusaurus/pull/7493) chore(theme-translations): complete French translations ([@forresst](https://github.com/forresst))\\n - [#7474](https://github.com/facebook/docusaurus/pull/7474) chore(theme-translations): complete zh translations ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7400](https://github.com/facebook/docusaurus/pull/7400) chore(theme-translations): complete Farsi translations ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n- `docusaurus`\\n - [#7499](https://github.com/facebook/docusaurus/pull/7499) fix: avoid printing period after localhost URL ([@Zamiell](https://github.com/Zamiell))\\n- `create-docusaurus`\\n - [#7374](https://github.com/facebook/docusaurus/pull/7374) refactor(create): clean up logic when prompting for unspecified arguments ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :memo: Documentation\\n\\n- [#7503](https://github.com/facebook/docusaurus/pull/7503) docs: document MDXComponents scope ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#7497](https://github.com/facebook/docusaurus/pull/7497) docs: link every reference of types in API table to the type definition ([@Zamiell](https://github.com/Zamiell))\\n- [#7407](https://github.com/facebook/docusaurus/pull/7407) docs: add Azure SWA as deployment option ([@nitya](https://github.com/nitya))\\n- [#7390](https://github.com/facebook/docusaurus/pull/7390) fix(website): use react-lite-youtube-embed for lazy YouTube video ([@matkoch](https://github.com/matkoch))\\n\\n## :wrench: Maintenance\\n\\n- `create-docusaurus`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`, `stylelint-copyright`\\n - [#7477](https://github.com/facebook/docusaurus/pull/7477) refactor: fix a lot of errors in type-aware linting ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-translations`\\n - [#7447](https://github.com/facebook/docusaurus/pull/7447) refactor(theme-classic): migrate to tsc for build ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `stylelint-copyright`\\n - [#7441](https://github.com/facebook/docusaurus/pull/7441) refactor(stylelint-copyright): migrate to TS ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-cssnano-preset`\\n - [#7440](https://github.com/facebook/docusaurus/pull/7440) refactor(cssnano-preset): migrate to TS ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`, `lqip-loader`\\n - [#7437](https://github.com/facebook/docusaurus/pull/7437) refactor: use TS project references instead of running tsc multiple times ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-pwa`\\n - [#7421](https://github.com/facebook/docusaurus/pull/7421) refactor(pwa): migrate client modules to TS ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#7415](https://github.com/facebook/docusaurus/pull/7415) refactor(theme-classic): always collocate stylesheets with components in one folder ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#7405](https://github.com/facebook/docusaurus/pull/7405) refactor(core): properly code-split NotFound page ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 23\\n\\n- Akara ([@Messiahhh](https://github.com/Messiahhh))\\n- Benjamin Diolez ([@BenDz](https://github.com/BenDz))\\n- Charles Korn ([@charleskorn](https://github.com/charleskorn))\\n- Designatory ([@Designatory](https://github.com/Designatory))\\n- Forresst ([@forresst](https://github.com/forresst))\\n- Ggicci ([@ggicci](https://github.com/ggicci))\\n- James ([@Zamiell](https://github.com/Zamiell))\\n- Jan Peer St\xf6cklmair ([@JPeer264](https://github.com/JPeer264))\\n- Jeremy ([@jrmyw92](https://github.com/jrmyw92))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Junjie ([@junjieweb](https://github.com/junjieweb))\\n- Lane Goolsby ([@lanegoolsby](https://github.com/lanegoolsby))\\n- Massoud Maboudi ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n- Matthias Koch ([@matkoch](https://github.com/matkoch))\\n- Michael Hughes ([@mhughes2k](https://github.com/mhughes2k))\\n- Ng\xf4 Qu\u1ED1c \u0110\u1EA1t ([@datlechin](https://github.com/datlechin))\\n- Nitya Narasimhan ([@nitya](https://github.com/nitya))\\n- Oluwatobi Sofela ([@oluwatobiss](https://github.com/oluwatobiss))\\n- Ori Shalom ([@ori-shalom](https://github.com/ori-shalom))\\n- Pranab Das ([@pranabdas](https://github.com/pranabdas))\\n- Rui Peres ([@RuiAAPeres](https://github.com/RuiAAPeres))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- \u51F1\u6069 Kane ([@Gary50613](https://github.com/Gary50613))"},{"id":"/2.0.0-beta.20","metadata":{"permalink":"/changelog/2.0.0-beta.20","source":"@site/changelog/source/2.0.0-beta.20.md","title":"2.0.0-beta.20","description":"Bug Fix","date":"2022-05-05T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Steven Hicks","alias":"pepopowitz","url":"https://github.com/pepopowitz","imageURL":"https://github.com/pepopowitz.png","key":"pepopowitz","page":null},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},{"name":"Sergey Gromkov","alias":"sgromkov","url":"https://github.com/sgromkov","imageURL":"https://github.com/sgromkov.png","key":"sgromkov","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-05-05T20:00","authors":["Josh-Cena","lex111","pepopowitz","RDIL","sgromkov","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.21","permalink":"/changelog/2.0.0-beta.21"},"nextItem":{"title":"2.0.0-beta.19","permalink":"/changelog/2.0.0-beta.19"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#7342](https://github.com/facebook/docusaurus/pull/7342) fix: avoid flash of page scrolling to top on refresh ([@slorber](https://github.com/slorber))\\n - [#7329](https://github.com/facebook/docusaurus/pull/7329) fix(core): inject docusaurus version into SSR as local ([@RDIL](https://github.com/RDIL))\\n- `docusaurus-theme-classic`\\n - [#7341](https://github.com/facebook/docusaurus/pull/7341) fix(theme-classic): properly highlight code block line numbers ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :memo: Documentation\\n\\n- [#7334](https://github.com/facebook/docusaurus/pull/7334) feat(website): make canary release page display actual canary version name ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#7343](https://github.com/facebook/docusaurus/pull/7343) docs: add page for create-docusaurus API documentation ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#7340](https://github.com/facebook/docusaurus/pull/7340) docs: add Yandex Metrika plugin to community plugins ([@sgromkov](https://github.com/sgromkov))\\n- [#7336](https://github.com/facebook/docusaurus/pull/7336) fix(website): fix multiple accessibility issues around color contrast ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#7327](https://github.com/facebook/docusaurus/pull/7327) docs: add clarity to versioning behavior ([@pepopowitz](https://github.com/pepopowitz))\\n\\n## Committers: 6\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Reece Dunham ([@RDIL](https://github.com/RDIL))\\n- Sergey Gromkov ([@sgromkov](https://github.com/sgromkov))\\n- Steven Hicks ([@pepopowitz](https://github.com/pepopowitz))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))"},{"id":"/2.0.0-beta.19","metadata":{"permalink":"/changelog/2.0.0-beta.19","source":"@site/changelog/source/2.0.0-beta.19.md","title":"2.0.0-beta.19","description":"New Feature","date":"2022-05-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Aaron Nwabuoku","alias":"aerovulpe","url":"https://github.com/aerovulpe","imageURL":"https://github.com/aerovulpe.png","key":"aerovulpe","page":null},{"name":"AkiraVoid","alias":"AkiraVoid","url":"https://github.com/AkiraVoid","imageURL":"https://github.com/AkiraVoid.png","key":"AkiraVoid","page":null},{"name":"Andrew Lyons","alias":"andrewnicols","url":"https://github.com/andrewnicols","imageURL":"https://github.com/andrewnicols.png","key":"andrewnicols","page":null},{"name":"apq","alias":"AntonPalmqvist","url":"https://github.com/AntonPalmqvist","imageURL":"https://github.com/AntonPalmqvist.png","key":"AntonPalmqvist","page":null},{"name":"ApsarasX","alias":"ApsarasX","url":"https://github.com/ApsarasX","imageURL":"https://github.com/ApsarasX.png","key":"ApsarasX","page":null},{"name":"chelproc","alias":"chelproc","url":"https://github.com/chelproc","imageURL":"https://github.com/chelproc.png","key":"chelproc","page":null},{"name":"Viktor Chernodub","alias":"chernodub","url":"https://github.com/chernodub","imageURL":"https://github.com/chernodub.png","key":"chernodub","page":null},{"name":"curatorcat.pcc.eth","alias":"CuratorCat","url":"https://github.com/CuratorCat","imageURL":"https://github.com/CuratorCat.png","key":"CuratorCat","page":null},{"name":"Cwen Yin","alias":"cwen0","url":"https://github.com/cwen0","imageURL":"https://github.com/cwen0.png","key":"cwen0","page":null},{"name":"Fusang\u2740","alias":"cxOrz","url":"https://github.com/cxOrz","imageURL":"https://github.com/cxOrz.png","key":"cxOrz","page":null},{"name":"Dan Roscigno","alias":"DanRoscigno","url":"https://github.com/DanRoscigno","imageURL":"https://github.com/DanRoscigno.png","key":"DanRoscigno","page":null},{"name":"Andrei Canta","alias":"deiucanta","url":"https://github.com/deiucanta","imageURL":"https://github.com/deiucanta.png","key":"deiucanta","page":null},{"name":"deployn","alias":"deployn","url":"https://github.com/deployn","imageURL":"https://github.com/deployn.png","key":"deployn","page":null},{"name":"Dr-Electron","alias":"Dr-Electron","url":"https://github.com/Dr-Electron","imageURL":"https://github.com/Dr-Electron.png","key":"Dr-Electron","page":null},{"name":"Chinazaekpere Ngubo","alias":"dr-ngubo","url":"https://github.com/dr-ngubo","imageURL":"https://github.com/dr-ngubo.png","key":"dr-ngubo","page":null},{"name":"duanwilliam","alias":"duanwilliam","url":"https://github.com/duanwilliam","imageURL":"https://github.com/duanwilliam.png","key":"duanwilliam","page":null},{"name":"Elias Papavasileiou","alias":"elias-pap","url":"https://github.com/elias-pap","imageURL":"https://github.com/elias-pap.png","key":"elias-pap","page":null},{"name":"Indermohan Singh","alias":"imsingh","url":"https://github.com/imsingh","imageURL":"https://github.com/imsingh.png","key":"imsingh","page":null},{"name":"Jeffrey Aven","alias":"jeffreyaven","url":"https://github.com/jeffreyaven","imageURL":"https://github.com/jeffreyaven.png","key":"jeffreyaven","page":null},{"name":"Jody Heavener","alias":"jodyheavener","url":"https://github.com/jodyheavener","imageURL":"https://github.com/jodyheavener.png","key":"jodyheavener","page":null},{"name":"JMW","alias":"JohnnyMcWeed","url":"https://github.com/JohnnyMcWeed","imageURL":"https://github.com/JohnnyMcWeed.png","key":"JohnnyMcWeed","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Kayce Basques","alias":"kaycebasques","url":"https://github.com/kaycebasques","imageURL":"https://github.com/kaycebasques.png","key":"kaycebasques","page":null},{"name":"kgolubic","alias":"kgolubic","url":"https://github.com/kgolubic","imageURL":"https://github.com/kgolubic.png","key":"kgolubic","page":null},{"name":"loic","alias":"layerzzzio","url":"https://github.com/layerzzzio","imageURL":"https://github.com/layerzzzio.png","key":"layerzzzio","page":null},{"name":"Leedom","alias":"leedom92","url":"https://github.com/leedom92","imageURL":"https://github.com/leedom92.png","key":"leedom92","page":null},{"name":"Martin Blom","alias":"LeviticusMB","url":"https://github.com/LeviticusMB","imageURL":"https://github.com/LeviticusMB.png","key":"LeviticusMB","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lukas Bach","alias":"lukasbach","url":"https://github.com/lukasbach","imageURL":"https://github.com/lukasbach.png","key":"lukasbach","page":null},{"name":"Karl Ward","alias":"mjau-mjau","url":"https://github.com/mjau-mjau","imageURL":"https://github.com/mjau-mjau.png","key":"mjau-mjau","page":null},{"name":"mehdim","alias":"mxhdx","url":"https://github.com/mxhdx","imageURL":"https://github.com/mxhdx.png","key":"mxhdx","page":null},{"name":"Chau Tran","alias":"nartc","url":"https://github.com/nartc","imageURL":"https://github.com/nartc.png","key":"nartc","page":null},{"name":"Naveen","alias":"naveensrinivasan","url":"https://github.com/naveensrinivasan","imageURL":"https://github.com/naveensrinivasan.png","key":"naveensrinivasan","page":null},{"name":"Pablo Cordon","alias":"pcordon","url":"https://github.com/pcordon","imageURL":"https://github.com/pcordon.png","key":"pcordon","page":null},{"name":"Lenz Weber-Tronic","alias":"phryneas","url":"https://github.com/phryneas","imageURL":"https://github.com/phryneas.png","key":"phryneas","page":null},{"name":"Pierre-Gilles Leymarie","alias":"Pierre-Gilles","url":"https://github.com/Pierre-Gilles","imageURL":"https://github.com/Pierre-Gilles.png","key":"Pierre-Gilles","page":null},{"name":"redhat123456","alias":"redhat123456","url":"https://github.com/redhat123456","imageURL":"https://github.com/redhat123456.png","key":"redhat123456","page":null},{"name":"rev","alias":"rev4324","url":"https://github.com/rev4324","imageURL":"https://github.com/rev4324.png","key":"rev4324","page":null},{"name":"Zac A","alias":"sandypockets","url":"https://github.com/sandypockets","imageURL":"https://github.com/sandypockets.png","key":"sandypockets","page":null},{"name":"czhen","alias":"shczhen","url":"https://github.com/shczhen","imageURL":"https://github.com/shczhen.png","key":"shczhen","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Evan","alias":"sulu5890","url":"https://github.com/sulu5890","imageURL":"https://github.com/sulu5890.png","key":"sulu5890","page":null},{"name":"surendran82","alias":"surendran82","url":"https://github.com/surendran82","imageURL":"https://github.com/surendran82.png","key":"surendran82","page":null},{"name":"svix-ken","alias":"svix-ken","url":"https://github.com/svix-ken","imageURL":"https://github.com/svix-ken.png","key":"svix-ken","page":null},{"name":"sykp241095","alias":"sykp241095","url":"https://github.com/sykp241095","imageURL":"https://github.com/sykp241095.png","key":"sykp241095","page":null},{"name":"Qi Zhang","alias":"zzzhangqi","url":"https://github.com/zzzhangqi","imageURL":"https://github.com/zzzhangqi.png","key":"zzzhangqi","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-05-04T20:00","authors":["aerovulpe","AkiraVoid","andrewnicols","AntonPalmqvist","ApsarasX","chelproc","chernodub","CuratorCat","cwen0","cxOrz","DanRoscigno","deiucanta","deployn","Dr-Electron","dr-ngubo","duanwilliam","elias-pap","imsingh","jeffreyaven","jodyheavener","JohnnyMcWeed","johnnyreilly","Josh-Cena","kaycebasques","kgolubic","layerzzzio","leedom92","LeviticusMB","lex111","lukasbach","mjau-mjau","mxhdx","nartc","naveensrinivasan","pcordon","phryneas","Pierre-Gilles","redhat123456","rev4324","sandypockets","shczhen","slorber","sulu5890","surendran82","svix-ken","sykp241095","zzzhangqi"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.20","permalink":"/changelog/2.0.0-beta.20"},"nextItem":{"title":"2.0.0-beta.18","permalink":"/changelog/2.0.0-beta.18"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#7178](https://github.com/facebook/docusaurus/pull/7178) feat(theme-classic): extensible code block magic comment system ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7007](https://github.com/facebook/docusaurus/pull/7007) feat(theme-classic): code block showLineNumbers ([@lex111](https://github.com/lex111))\\n - [#7012](https://github.com/facebook/docusaurus/pull/7012) feat(theme-classic): show blog sidebar on mobile ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus`, `eslint-plugin`\\n - [#7206](https://github.com/facebook/docusaurus/pull/7206) feat: Docusaurus ESLint plugin to enforce best Docusaurus practices ([@elias-pap](https://github.com/elias-pap))\\n- `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#6732](https://github.com/facebook/docusaurus/pull/6732) feat(core): rework client modules lifecycles, officially make API public ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#7231](https://github.com/facebook/docusaurus/pull/7231) feat: allow custom navbarItem types to pass through validation ([@slorber](https://github.com/slorber))\\n - [#7058](https://github.com/facebook/docusaurus/pull/7058) feat(theme-classic): new \'html\' type navbar item ([@lex111](https://github.com/lex111))\\n - [#7079](https://github.com/facebook/docusaurus/pull/7079) feat: allow using pure HTML as label in navbar links ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`\\n - [#7036](https://github.com/facebook/docusaurus/pull/7036) feat(theme-classic): toggle code wrap button ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6457](https://github.com/facebook/docusaurus/pull/6457) feat(content-docs): draft docs excluded from build & sidebars ([@jodyheavener](https://github.com/jodyheavener))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus`\\n - [#6430](https://github.com/facebook/docusaurus/pull/6430) feat: allow setting calendar for i18n date formatting ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus`\\n - [#7083](https://github.com/facebook/docusaurus/pull/7083) feat(core): fail-safe global data fetching ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`\\n - [#7106](https://github.com/facebook/docusaurus/pull/7106) feat(content-docs): make docs:version command work on localized docs ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-types`, `docusaurus`\\n - [#7082](https://github.com/facebook/docusaurus/pull/7082) feat(core): allow plugins to declare custom route context ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7124](https://github.com/facebook/docusaurus/pull/7124) feat(core): allow plugin/preset config to contain false/null ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-sitemap`, `docusaurus-utils`\\n - [#6979](https://github.com/facebook/docusaurus/pull/6979) feat(sitemap): add ignorePatterns option ([@ApsarasX](https://github.com/ApsarasX))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-types`, `docusaurus`\\n - [#7257](https://github.com/facebook/docusaurus/pull/7257) refactor: remove long-deprecated routesLoaded lifecycle ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#7277](https://github.com/facebook/docusaurus/pull/7277) refactor(theme-classic): move all sidebar-related config under themeConfig.docs.sidebar ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#6732](https://github.com/facebook/docusaurus/pull/6732) feat(core): rework client modules lifecycles, officially make API public ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-theme-classic`\\n - [#7176](https://github.com/facebook/docusaurus/pull/7176) refactor: customize code block line highlight color via CSS var ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`\\n - [#7117](https://github.com/facebook/docusaurus/pull/7117) refactor(content-{blog,docs}): unify handling of tags ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#7027](https://github.com/facebook/docusaurus/pull/7027) refactor(content-docs): deduplicate types, JSDoc for some APIs ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#7304](https://github.com/facebook/docusaurus/pull/7304) fix(theme-classic): remove breadcrumb items without href from microdata ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7179](https://github.com/facebook/docusaurus/pull/7179) fix(theme-classic): do not add microdata item prop to trailing breadcrumb ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7173](https://github.com/facebook/docusaurus/pull/7173) fix(theme-classic): admonition title: disable text-transform on inline code blocks ([@chelproc](https://github.com/chelproc))\\n - [#7048](https://github.com/facebook/docusaurus/pull/7048) fix(theme-classic): add caret for dropdown on mobile ([@lex111](https://github.com/lex111))\\n - [#7025](https://github.com/facebook/docusaurus/pull/7025) fix: make docs page wrapper take full height ([@lex111](https://github.com/lex111))\\n - [#7013](https://github.com/facebook/docusaurus/pull/7013) fix(theme-classic): adjust shadow on code block ([@chernodub](https://github.com/chernodub))\\n - [#7015](https://github.com/facebook/docusaurus/pull/7015) fix(theme-classic): do not add caret for non-collapsible categories ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`\\n - [#7294](https://github.com/facebook/docusaurus/pull/7294) fix(\\\\*): make TypeScript realize that each plugin package has a default export ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#7285](https://github.com/facebook/docusaurus/pull/7285) fix(core): allow empty static directories ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7180](https://github.com/facebook/docusaurus/pull/7180) fix: pass pollOptions to webpack ([@JohnnyMcWeed](https://github.com/JohnnyMcWeed))\\n - [#7184](https://github.com/facebook/docusaurus/pull/7184) fix(core): prevent 404 when accessing /page.html ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7225](https://github.com/facebook/docusaurus/pull/7225) fix: allow swizzling a component\'s parent folder ([@slorber](https://github.com/slorber))\\n - [#7066](https://github.com/facebook/docusaurus/pull/7066) fix(core): all plugin lifecycles should receive translated content ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`\\n - [#7233](https://github.com/facebook/docusaurus/pull/7233) fix(content-docs): make category index text translatable ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-common`\\n - [#7200](https://github.com/facebook/docusaurus/pull/7200) fix(theme-common): do not persist color mode for OS-triggered changes ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7057](https://github.com/facebook/docusaurus/pull/7057) fix(theme-common): use native scrolling when smooth behavior set in CSS ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7033](https://github.com/facebook/docusaurus/pull/7033) fix(theme): only parse HTML- and JSX-style comments in MD code ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`\\n - [#7212](https://github.com/facebook/docusaurus/pull/7212) fix(content-blog): make footnote reference DOM ID unique on post listing page ([@AkiraVoid](https://github.com/AkiraVoid))\\n- `docusaurus-utils`, `docusaurus`\\n - [#7187](https://github.com/facebook/docusaurus/pull/7187) fix(core): handle case where package.json is not available at CWD ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-translations`\\n - [#7222](https://github.com/facebook/docusaurus/pull/7222) fix(theme-translations): fix invalid pluralization in cs ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7166](https://github.com/facebook/docusaurus/pull/7166) fix(theme-translations): always try all possible locale resolutions ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#7164](https://github.com/facebook/docusaurus/pull/7164) fix: adjust spacing for custom search properly ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-debug`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-types`, `docusaurus`\\n - [#7143](https://github.com/facebook/docusaurus/pull/7143) fix(sitemap): exclude pages with robots noindex from sitemap ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-types`\\n - [#7078](https://github.com/facebook/docusaurus/pull/7078) fix(create): install types for JS template as well ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-utils`\\n - [#7043](https://github.com/facebook/docusaurus/pull/7043) fix(utils): parse Markdown headings with CRLF line break ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-utils`, `docusaurus`\\n - [#7023](https://github.com/facebook/docusaurus/pull/7023) refactor: fix a few places of path handling ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-types`\\n - [#7014](https://github.com/facebook/docusaurus/pull/7014) fix(types): declare history and react-loadable as dependencies ([@sulu5890](https://github.com/sulu5890))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-translations`\\n - [#7299](https://github.com/facebook/docusaurus/pull/7299) refactor: minor improvements for breadcrumbs ([@lex111](https://github.com/lex111))\\n- `create-docusaurus`\\n - [#7290](https://github.com/facebook/docusaurus/pull/7290) refactor(create): add i18n config in init template ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7286](https://github.com/facebook/docusaurus/pull/7286) refactor(create): update screenshots in quick start tutorial ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7223](https://github.com/facebook/docusaurus/pull/7223) refactor: use generated-index in init templates ([@slorber](https://github.com/slorber))\\n - [#7118](https://github.com/facebook/docusaurus/pull/7118) refactor(create): mention that the edit links can be removed ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-debug`, `docusaurus-theme-classic`\\n - [#7306](https://github.com/facebook/docusaurus/pull/7306) chore: upgrade Infima to alpha.39 ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-debug`, `docusaurus-types`, `docusaurus`\\n - [#7291](https://github.com/facebook/docusaurus/pull/7291) feat(types): JSDoc for docusaurus config fields ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#7267](https://github.com/facebook/docusaurus/pull/7267) fix(theme-common): allow details to not provide a summary ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7172](https://github.com/facebook/docusaurus/pull/7172) refactor: control base styling of code blocks via CSS vars ([@lex111](https://github.com/lex111))\\n - [#7129](https://github.com/facebook/docusaurus/pull/7129) refactor(theme-classic): fix a few margin inconsistencies ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#7248](https://github.com/facebook/docusaurus/pull/7248) refactor: normalize Markdown linkification behavior, elaborate in documentation ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#7244](https://github.com/facebook/docusaurus/pull/7244) refactor: semantic markup improvement, fix validation warnings ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7183](https://github.com/facebook/docusaurus/pull/7183) refactor: use SVG icon for home breadcrumb ([@Dr-Electron](https://github.com/Dr-Electron))\\n - [#7139](https://github.com/facebook/docusaurus/pull/7139) fix: proper spacing between generated card items on mobiles ([@lex111](https://github.com/lex111))\\n - [#7134](https://github.com/facebook/docusaurus/pull/7134) fix(theme-classic): fix docs sidebar layout shifts when expanding categories ([@slorber](https://github.com/slorber))\\n - [#7068](https://github.com/facebook/docusaurus/pull/7068) refactor(theme-classic): blog mobile secondary menu use consistent styles ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7004](https://github.com/facebook/docusaurus/pull/7004) fix(theme-classic): shrink title size on mobile ([@Pierre-Gilles](https://github.com/Pierre-Gilles))\\n- `docusaurus-theme-translations`\\n - [#7214](https://github.com/facebook/docusaurus/pull/7214) chore(theme-translations): complete Polish translations ([@rev4324](https://github.com/rev4324))\\n - [#7031](https://github.com/facebook/docusaurus/pull/7031) chore(theme-translations): complete German translations ([@deployn](https://github.com/deployn))\\n- `create-docusaurus`, `docusaurus-theme-classic`\\n - [#7176](https://github.com/facebook/docusaurus/pull/7176) refactor: customize code block line highlight color via CSS var ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#7218](https://github.com/facebook/docusaurus/pull/7218) fix(cli): always show error stack to unhandled rejection ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7142](https://github.com/facebook/docusaurus/pull/7142) refactor(core): lower timeout before rendering progress bar to 200ms ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7103](https://github.com/facebook/docusaurus/pull/7103) fix(core): preserve Interpolate children semantics ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7029](https://github.com/facebook/docusaurus/pull/7029) refactor: console output improvements ([@lex111](https://github.com/lex111))\\n - [#7017](https://github.com/facebook/docusaurus/pull/7017) refactor: remove copyright comment from swizzled components ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-preset-classic`, `docusaurus-theme-classic`\\n - [#7148](https://github.com/facebook/docusaurus/pull/7148) feat(preset-classic, content-docs/client): JSDoc ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-debug`, `docusaurus-preset-classic`\\n - [#7122](https://github.com/facebook/docusaurus/pull/7122) feat(preset-classic): exclude debug plugin routes from sitemap ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-common`, `docusaurus-utils`, `docusaurus`\\n - [#7113](https://github.com/facebook/docusaurus/pull/7113) test: improve test coverage ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus`\\n - [#7080](https://github.com/facebook/docusaurus/pull/7080) refactor: replace non-prop interface with type; allow plugin lifecycles to have sync type ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-logger`, `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#7019](https://github.com/facebook/docusaurus/pull/7019) feat(logger): new \\"url\\" format, add double quotes around paths ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#7006](https://github.com/facebook/docusaurus/pull/7006) refactor: split and cleanup theme/DocPage ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#7005](https://github.com/facebook/docusaurus/pull/7005) refactor: split DocSidebarItem by item type ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- `docusaurus-logger`\\n - [#7305](https://github.com/facebook/docusaurus/pull/7305) docs: update docs for logger, add API docs to website ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Other\\n - [#7284](https://github.com/facebook/docusaurus/pull/7284) docs: add a paragraph about SSR as an optimization technique ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7278](https://github.com/facebook/docusaurus/pull/7278) docs: enhance docs about Markdown TOC and metadata ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7271](https://github.com/facebook/docusaurus/pull/7271) docs: specify Node version requirement to a minor ([@DanRoscigno](https://github.com/DanRoscigno))\\n - [#7252](https://github.com/facebook/docusaurus/pull/7252) docs: update gtag docs to reflect what a GA4 tag looks like ([@johnnyreilly](https://github.com/johnnyreilly))\\n - [#7240](https://github.com/facebook/docusaurus/pull/7240) docs: add PCC Archive site to showcase ([@CuratorCat](https://github.com/CuratorCat))\\n - [#7239](https://github.com/facebook/docusaurus/pull/7239) docs: add Chaos mesh site to showcase ([@cwen0](https://github.com/cwen0))\\n - [#7235](https://github.com/facebook/docusaurus/pull/7235) docs: add TiDB community books to showcase ([@shczhen](https://github.com/shczhen))\\n - [#7236](https://github.com/facebook/docusaurus/pull/7236) docs: add documentation about pluralization ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7230](https://github.com/facebook/docusaurus/pull/7230) docs: add OSS Insight to showcase ([@sykp241095](https://github.com/sykp241095))\\n - [#7208](https://github.com/facebook/docusaurus/pull/7208) docs: remove mention of \\"template\\" from README installation guide ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7159](https://github.com/facebook/docusaurus/pull/7159) docs: explain more clearly the purpose of a ref sidebar type ([@andrewnicols](https://github.com/andrewnicols))\\n - [#7126](https://github.com/facebook/docusaurus/pull/7126) docs: multiple documentation improvements ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7123](https://github.com/facebook/docusaurus/pull/7123) refactor(showcase): enforce descriptions with maximum length of 120 characters ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7026](https://github.com/facebook/docusaurus/pull/7026) docs: correct plugin example filename ([@mxhdx](https://github.com/mxhdx))\\n - [#7110](https://github.com/facebook/docusaurus/pull/7110) docs: add a note about additional languages needing to be Prism component names ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6746](https://github.com/facebook/docusaurus/pull/6746) fix(website): lazy-load YT iframe ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7061](https://github.com/facebook/docusaurus/pull/7061) docs: add docusaurus-plugin-typedoc to resources ([@nartc](https://github.com/nartc))\\n - [#7059](https://github.com/facebook/docusaurus/pull/7059) docs: add firelordjs to showcase ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7050](https://github.com/facebook/docusaurus/pull/7050) docs: add import React statement in JSX file example ([@kaycebasques](https://github.com/kaycebasques))\\n - [#7022](https://github.com/facebook/docusaurus/pull/7022) docs: add Easypanel to showcase ([@deiucanta](https://github.com/deiucanta))\\n - [#7016](https://github.com/facebook/docusaurus/pull/7016) docs: consistently use sidebars.js filename ([@leedom92](https://github.com/leedom92))\\n - [#7020](https://github.com/facebook/docusaurus/pull/7020) docs: add Divine WSF and Ghostly to showcase ([@LeviticusMB](https://github.com/LeviticusMB))\\n - [#7000](https://github.com/facebook/docusaurus/pull/7000) docs: remove unnecessary semicolon ([@imsingh](https://github.com/imsingh))\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#7248](https://github.com/facebook/docusaurus/pull/7248) refactor: normalize Markdown linkification behavior, elaborate in documentation ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-utils`\\n - [#7081](https://github.com/facebook/docusaurus/pull/7081) docs: fix some casing inconsistencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :wrench: Maintenance\\n\\n- Other\\n - [#7309](https://github.com/facebook/docusaurus/pull/7309) chore: use \\"Maintenance\\" instead of \\"Internal\\" in changelog ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7300](https://github.com/facebook/docusaurus/pull/7300) misc: check doc page by Lighthouse CI ([@lex111](https://github.com/lex111))\\n - [#7266](https://github.com/facebook/docusaurus/pull/7266) misc: add links section to PR template ([@slorber](https://github.com/slorber))\\n - [#7224](https://github.com/facebook/docusaurus/pull/7224) chore: GitHub Actions cancel-in-progress ([@slorber](https://github.com/slorber))\\n - [#7216](https://github.com/facebook/docusaurus/pull/7216) chore: remove netlify-cli from devDependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7211](https://github.com/facebook/docusaurus/pull/7211) chore: replace node 17 with 18 in CI matrix ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7168](https://github.com/facebook/docusaurus/pull/7168) misc: add CI actions/dependency-review-action for security ([@slorber](https://github.com/slorber))\\n - [#6984](https://github.com/facebook/docusaurus/pull/6984) misc: pin actions to a full-length commit SHA ([@naveensrinivasan](https://github.com/naveensrinivasan))\\n - [#7002](https://github.com/facebook/docusaurus/pull/7002) chore: regen examples for 2.0 beta.18 ([@slorber](https://github.com/slorber))\\n- `docusaurus-logger`, `docusaurus-remark-plugin-npm2yarn`\\n - [#7295](https://github.com/facebook/docusaurus/pull/7295) refactor: use export = syntax for Node utility packages ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#7293](https://github.com/facebook/docusaurus/pull/7293) refactor(types): move non-core, non-public types out of the types package ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-types`, `docusaurus`\\n - [#7292](https://github.com/facebook/docusaurus/pull/7292) refactor(core): collocate CLI commands and their option types ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7084](https://github.com/facebook/docusaurus/pull/7084) refactor(core): code cleanup ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus`\\n - [#7282](https://github.com/facebook/docusaurus/pull/7282) refactor(core): prefetch/preload refactor ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#7273](https://github.com/facebook/docusaurus/pull/7273) refactor(theme-classic): multiple re-arrangements ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7268](https://github.com/facebook/docusaurus/pull/7268) refactor(theme-classic): DocPage theme refactors polish ([@slorber](https://github.com/slorber))\\n - [#7269](https://github.com/facebook/docusaurus/pull/7269) refactor: extract useSkipToContent() ([@slorber](https://github.com/slorber))\\n - [#7175](https://github.com/facebook/docusaurus/pull/7175) refactor(theme-classic): split CodeBlock ([@slorber](https://github.com/slorber))\\n - [#7067](https://github.com/facebook/docusaurus/pull/7067) refactor(theme-classic): extract doc-related navbar items\' logic to theme-common ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7021](https://github.com/facebook/docusaurus/pull/7021) refactor(theme): extract plumbing code of BTT button into theme-common ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#7270](https://github.com/facebook/docusaurus/pull/7270) refactor(theme-classic): refactor TOC-related theme components ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#7220](https://github.com/facebook/docusaurus/pull/7220) refactor(cli): normalize the application of default option values ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7141](https://github.com/facebook/docusaurus/pull/7141) refactor(core): minor PendingNavigation refactor ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`\\n - [#7243](https://github.com/facebook/docusaurus/pull/7243) chore: upgrade Jest to 28; add GitHub-actions reporter ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#7140](https://github.com/facebook/docusaurus/pull/7140) refactor(content-docs): split version handling into several files ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-live-codeblock`, `docusaurus`\\n - [#7194](https://github.com/facebook/docusaurus/pull/7194) fix: fix a few internal declaration semantic errors ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-migrate`, `docusaurus-theme-translations`, `docusaurus`\\n - [#7186](https://github.com/facebook/docusaurus/pull/7186) refactor: prefer fs.readJSON over readFile.then(JSON.parse) ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`\\n - [#7145](https://github.com/facebook/docusaurus/pull/7145) refactor: unify how MDX content types are represented ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#7138](https://github.com/facebook/docusaurus/pull/7138) chore: upgrade dependencies + upgrade React types ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#7131](https://github.com/facebook/docusaurus/pull/7131) chore: disable string escaping in snapshots ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-content-blog`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#7054](https://github.com/facebook/docusaurus/pull/7054) refactor(core): refactor routes generation logic ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-types`, `docusaurus`\\n - [#7042](https://github.com/facebook/docusaurus/pull/7042) refactor(core): reorganize files ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils`, `docusaurus`\\n - [#7037](https://github.com/facebook/docusaurus/pull/7037) refactor(core): reorganize functions ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#7027](https://github.com/facebook/docusaurus/pull/7027) refactor(content-docs): deduplicate types, JSDoc for some APIs ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :running: Performance\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-utils-common`\\n - [#7085](https://github.com/facebook/docusaurus/pull/7085) refactor: mark a few client-side packages as side-effect-free ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-remark-plugin-npm2yarn`\\n - [#4997](https://github.com/facebook/docusaurus/pull/4997) perf(mdx-loader): cache mdx/remark compiler instances ([@phryneas](https://github.com/phryneas))\\n\\n## Committers: 47\\n\\n- Aaron Nwabuoku ([@aerovulpe](https://github.com/aerovulpe))\\n- AkiraVoid ([@AkiraVoid](https://github.com/AkiraVoid))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Andrei Canta ([@deiucanta](https://github.com/deiucanta))\\n- Andrew Lyons ([@andrewnicols](https://github.com/andrewnicols))\\n- ApsarasX ([@ApsarasX](https://github.com/ApsarasX))\\n- Chau Tran ([@nartc](https://github.com/nartc))\\n- Chinazaekpere Ngubo ([@dr-ngubo](https://github.com/dr-ngubo))\\n- Cwen Yin ([@cwen0](https://github.com/cwen0))\\n- Dan Roscigno ([@DanRoscigno](https://github.com/DanRoscigno))\\n- Elias Papavasileiou ([@elias-pap](https://github.com/elias-pap))\\n- Evan ([@sulu5890](https://github.com/sulu5890))\\n- Fusang\u2740 ([@cxOrz](https://github.com/cxOrz))\\n- Indermohan Singh ([@imsingh](https://github.com/imsingh))\\n- JMW ([@JohnnyMcWeed](https://github.com/JohnnyMcWeed))\\n- Jeffrey Aven ([@jeffreyaven](https://github.com/jeffreyaven))\\n- Jody Heavener ([@jodyheavener](https://github.com/jodyheavener))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Karl Ward ([@mjau-mjau](https://github.com/mjau-mjau))\\n- Kayce Basques ([@kaycebasques](https://github.com/kaycebasques))\\n- Leedom ([@leedom92](https://github.com/leedom92))\\n- Lenz Weber-Tronic ([@phryneas](https://github.com/phryneas))\\n- Lukas Bach ([@lukasbach](https://github.com/lukasbach))\\n- Martin Blom ([@LeviticusMB](https://github.com/LeviticusMB))\\n- Naveen ([@naveensrinivasan](https://github.com/naveensrinivasan))\\n- Pablo Cordon ([@pcordon](https://github.com/pcordon))\\n- Pierre-Gilles Leymarie ([@Pierre-Gilles](https://github.com/Pierre-Gilles))\\n- Qi Zhang ([@zzzhangqi](https://github.com/zzzhangqi))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Viktor Chernodub ([@chernodub](https://github.com/chernodub))\\n- Zac A ([@sandypockets](https://github.com/sandypockets))\\n- [@Dr-Electron](https://github.com/Dr-Electron)\\n- [@chelproc](https://github.com/chelproc)\\n- [@deployn](https://github.com/deployn)\\n- [@duanwilliam](https://github.com/duanwilliam)\\n- [@kgolubic](https://github.com/kgolubic)\\n- [@redhat123456](https://github.com/redhat123456)\\n- [@surendran82](https://github.com/surendran82)\\n- [@svix-ken](https://github.com/svix-ken)\\n- apq ([@AntonPalmqvist](https://github.com/AntonPalmqvist))\\n- curatorcat.pcc.eth ([@CuratorCat](https://github.com/CuratorCat))\\n- czhen ([@shczhen](https://github.com/shczhen))\\n- loic ([@layerzzzio](https://github.com/layerzzzio))\\n- mehdim ([@mxhdx](https://github.com/mxhdx))\\n- rev ([@rev4324](https://github.com/rev4324))\\n- sykp241095 ([@sykp241095](https://github.com/sykp241095))"},{"id":"/2.0.0-beta.18","metadata":{"permalink":"/changelog/2.0.0-beta.18","source":"@site/changelog/source/2.0.0-beta.18.md","title":"2.0.0-beta.18","description":"New Feature","date":"2022-03-25T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Afonso Jorge Ramos","alias":"afonsojramos","url":"https://github.com/afonsojramos","imageURL":"https://github.com/afonsojramos.png","key":"afonsojramos","page":null},{"name":"Alessandro Festa","alias":"alefesta","url":"https://github.com/alefesta","imageURL":"https://github.com/alefesta.png","key":"alefesta","page":null},{"name":"Alois Klink","alias":"aloisklink","url":"https://github.com/aloisklink","imageURL":"https://github.com/aloisklink.png","key":"aloisklink","page":null},{"name":"Ariful Alam","alias":"arifszn","url":"https://github.com/arifszn","imageURL":"https://github.com/arifszn.png","key":"arifszn","page":null},{"name":"Billy Chan","alias":"billy1624","url":"https://github.com/billy1624","imageURL":"https://github.com/billy1624.png","key":"billy1624","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Evan","alias":"DigiPie","url":"https://github.com/DigiPie","imageURL":"https://github.com/DigiPie.png","key":"DigiPie","page":null},{"name":"Bugo","alias":"dragomano","url":"https://github.com/dragomano","imageURL":"https://github.com/dragomano.png","key":"dragomano","page":null},{"name":"Felipe Santos","alias":"felipecrs","url":"https://github.com/felipecrs","imageURL":"https://github.com/felipecrs.png","key":"felipecrs","page":null},{"name":"Kyohei Fukuda","alias":"hand-dot","url":"https://github.com/hand-dot","imageURL":"https://github.com/hand-dot.png","key":"hand-dot","page":null},{"name":"WonChul Heo","alias":"heowc","url":"https://github.com/heowc","imageURL":"https://github.com/heowc.png","key":"heowc","page":null},{"name":"Jadon N","alias":"jadonn","url":"https://github.com/jadonn","imageURL":"https://github.com/jadonn.png","key":"jadonn","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Roberto Vidal","alias":"jrvidal","url":"https://github.com/jrvidal","imageURL":"https://github.com/jrvidal.png","key":"jrvidal","page":null},{"name":"Kayce Basques","alias":"kaycebasques","url":"https://github.com/kaycebasques","imageURL":"https://github.com/kaycebasques.png","key":"kaycebasques","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"nate contino","alias":"nathan-contino-mongo","url":"https://github.com/nathan-contino-mongo","imageURL":"https://github.com/nathan-contino-mongo.png","key":"nathan-contino-mongo","page":null},{"name":"Odarpi","alias":"odarpi","url":"https://github.com/odarpi","imageURL":"https://github.com/odarpi.png","key":"odarpi","page":null},{"name":"Nayan Patel","alias":"PatelN123","url":"https://github.com/PatelN123","imageURL":"https://github.com/PatelN123.png","key":"PatelN123","page":null},{"name":"Pawel Kowaluk","alias":"pkowaluk","url":"https://github.com/pkowaluk","imageURL":"https://github.com/pkowaluk.png","key":"pkowaluk","page":null},{"name":"Tsz W. TAM","alias":"rccttwd","url":"https://github.com/rccttwd","imageURL":"https://github.com/rccttwd.png","key":"rccttwd","page":null},{"name":"Sam Gutentag","alias":"samgutentag","url":"https://github.com/samgutentag","imageURL":"https://github.com/samgutentag.png","key":"samgutentag","page":null},{"name":"seladb","alias":"seladb","url":"https://github.com/seladb","imageURL":"https://github.com/seladb.png","key":"seladb","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"tae","alias":"taejs","url":"https://github.com/taejs","imageURL":"https://github.com/taejs.png","key":"taejs","page":null},{"name":"Begula","alias":"vedantmgoyal2009","url":"https://github.com/vedantmgoyal2009","imageURL":"https://github.com/vedantmgoyal2009.png","key":"vedantmgoyal2009","page":null},{"name":"Yorkie Liu","alias":"yorkie","url":"https://github.com/yorkie","imageURL":"https://github.com/yorkie.png","key":"yorkie","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-03-25T20:00","authors":["afonsojramos","alefesta","aloisklink","arifszn","billy1624","datlechin","DigiPie","dragomano","felipecrs","hand-dot","heowc","jadonn","Josh-Cena","jrvidal","kaycebasques","lex111","moonrailgun","nathan-contino-mongo","odarpi","PatelN123","pkowaluk","rccttwd","samgutentag","seladb","slorber","taejs","vedantmgoyal2009","yorkie"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.19","permalink":"/changelog/2.0.0-beta.19"},"nextItem":{"title":"2.0.0-beta.17","permalink":"/changelog/2.0.0-beta.17"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-mdx-loader`, `docusaurus-theme-classic`\\n - [#6990](https://github.com/facebook/docusaurus/pull/6990) feat: lazy-load external images + ability to customize image display ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus`\\n - [#6933](https://github.com/facebook/docusaurus/pull/6933) feat(core,theme): useRouteContext + HtmlClassNameProvider ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus`\\n - [#6921](https://github.com/facebook/docusaurus/pull/6921) feat(core): allow plugin lifecycles to return relative paths ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#6697](https://github.com/facebook/docusaurus/pull/6697) feat: add SEO microdata for doc breadcrumbs ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6842](https://github.com/facebook/docusaurus/pull/6842) feat(theme-classic): MDXContent wrapper component ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`\\n - [#6780](https://github.com/facebook/docusaurus/pull/6780) feat(content-docs): allow custom props through _category_.json ([@taejs](https://github.com/taejs))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-plugin-content-docs`\\n - [#6859](https://github.com/facebook/docusaurus/pull/6859) feat(content-docs): autogenerate category with linked doc metadata as fallback ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#6989](https://github.com/facebook/docusaurus/pull/6989) refactor: extract MDX components ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#6925](https://github.com/facebook/docusaurus/pull/6925) refactor(theme-{classic,common}): refactor site/page/search metadata + apply className on html element ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6895](https://github.com/facebook/docusaurus/pull/6895) refactor(theme-{classic,common}): split navbar into smaller components + cleanup + swizzle config ([@slorber](https://github.com/slorber))\\n - [#6930](https://github.com/facebook/docusaurus/pull/6930) refactor(theme-{classic,common}): refactor ColorModeToggle + useColorMode() hook ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#6993](https://github.com/facebook/docusaurus/pull/6993) fix(core): prevent useBaseUrl returning /base/base when on /base ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6936](https://github.com/facebook/docusaurus/pull/6936) fix: remove semicolon from HTML output ([@lex111](https://github.com/lex111))\\n - [#6849](https://github.com/facebook/docusaurus/pull/6849) fix(cli): write-heading-id should not generate colliding slugs when not overwriting ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#6983](https://github.com/facebook/docusaurus/pull/6983) fix(search): bump Infima, fix search issue due to broken CSS selector ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils-validation`\\n - [#6977](https://github.com/facebook/docusaurus/pull/6977) fix(validation): allow non-object params to remark/rehype plugins ([@aloisklink](https://github.com/aloisklink))\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#6973](https://github.com/facebook/docusaurus/pull/6973) fix(content-docs): suppress git error on multiple occurrences ([@felipecrs](https://github.com/felipecrs))\\n- `docusaurus-plugin-content-blog`\\n - [#6947](https://github.com/facebook/docusaurus/pull/6947) fix(content-blog): only create archive route if there are blog posts ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6918](https://github.com/facebook/docusaurus/pull/6918) fix(content-blog): remove double leading slash in blog-only paginated view ([@heowc](https://github.com/heowc))\\n- `docusaurus-theme-search-algolia`\\n - [#6888](https://github.com/facebook/docusaurus/pull/6888) fix(theme-algolia): declare content-docs as dependency ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-translations`\\n - [#6847](https://github.com/facebook/docusaurus/pull/6847) fix: minor Chinese translation fixes ([@rccttwd](https://github.com/rccttwd))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-plugin-content-docs`\\n - [#6859](https://github.com/facebook/docusaurus/pull/6859) feat(content-docs): autogenerate category with linked doc metadata as fallback ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6887](https://github.com/facebook/docusaurus/pull/6887) fix(content-docs): give context about sidebar loading failure ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils-validation`, `docusaurus`\\n - [#6997](https://github.com/facebook/docusaurus/pull/6997) fix(validation): improve error messages for a few schemas ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#6971](https://github.com/facebook/docusaurus/pull/6971) refactor: improve a11y of dropdown menu ([@lex111](https://github.com/lex111))\\n - [#6987](https://github.com/facebook/docusaurus/pull/6987) refactor(theme-classic): cleanup of code blocks ([@lex111](https://github.com/lex111))\\n - [#6950](https://github.com/facebook/docusaurus/pull/6950) refactor(theme-classic): clean up CSS of doc cards ([@lex111](https://github.com/lex111))\\n - [#6994](https://github.com/facebook/docusaurus/pull/6994) refactor: better external link icon positioning ([@lex111](https://github.com/lex111))\\n - [#6989](https://github.com/facebook/docusaurus/pull/6989) refactor: extract MDX components ([@slorber](https://github.com/slorber))\\n - [#6985](https://github.com/facebook/docusaurus/pull/6985) refactor(theme-classic): remove span wrappers from layout links ([@lex111](https://github.com/lex111))\\n - [#6986](https://github.com/facebook/docusaurus/pull/6986) fix(theme-classic): minor code copy button improvements ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6964](https://github.com/facebook/docusaurus/pull/6964) refactor: replace text-based copy code button with icons ([@lex111](https://github.com/lex111))\\n - [#6932](https://github.com/facebook/docusaurus/pull/6932) refactor(theme-classic): little breadcrumbs improvements ([@lex111](https://github.com/lex111))\\n - [#6914](https://github.com/facebook/docusaurus/pull/6914) feat(theme-classic): set aria-expanded on expandable sidebar categories ([@pkowaluk](https://github.com/pkowaluk))\\n - [#6844](https://github.com/facebook/docusaurus/pull/6844) refactor(theme-classic): split sidebar into smaller parts ([@slorber](https://github.com/slorber))\\n - [#6846](https://github.com/facebook/docusaurus/pull/6846) refactor(theme-classic): consistently add span wrapper for layout links ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#6980](https://github.com/facebook/docusaurus/pull/6980) feat(utils): JSDoc for all APIs ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-common`\\n - [#6974](https://github.com/facebook/docusaurus/pull/6974) feat(theme-common): JSDoc for all APIs ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#6784](https://github.com/facebook/docusaurus/pull/6784) feat(core): allow configureWebpack to return undefined ([@yorkie](https://github.com/yorkie))\\n - [#6941](https://github.com/facebook/docusaurus/pull/6941) refactor(core): improve error message when a page has no default-export ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6878](https://github.com/facebook/docusaurus/pull/6878) fix(core): ensure stable webpack theme aliases sorting ([@jrvidal](https://github.com/jrvidal))\\n - [#6854](https://github.com/facebook/docusaurus/pull/6854) fix(core): fix swizzle legend typo ([@DigiPie](https://github.com/DigiPie))\\n - [#6850](https://github.com/facebook/docusaurus/pull/6850) fix(core): make plugin lifecycles consistently bound to the plugin instance ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#6937](https://github.com/facebook/docusaurus/pull/6937) fix(content-docs): warn when files are not tracked ([@felipecrs](https://github.com/felipecrs))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#6925](https://github.com/facebook/docusaurus/pull/6925) refactor(theme-{classic,common}): refactor site/page/search metadata + apply className on html element ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6895](https://github.com/facebook/docusaurus/pull/6895) refactor(theme-{classic,common}): split navbar into smaller components + cleanup + swizzle config ([@slorber](https://github.com/slorber))\\n - [#6930](https://github.com/facebook/docusaurus/pull/6930) refactor(theme-{classic,common}): refactor ColorModeToggle + useColorMode() hook ([@lex111](https://github.com/lex111))\\n - [#6894](https://github.com/facebook/docusaurus/pull/6894) refactor(theme-classic): split theme footer into smaller components + swizzle config ([@slorber](https://github.com/slorber))\\n- `docusaurus-types`, `docusaurus`\\n - [#6929](https://github.com/facebook/docusaurus/pull/6929) refactor(core): minor routes type improvement ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`\\n - [#6928](https://github.com/facebook/docusaurus/pull/6928) chore(pwa, sitemap, client-redirects, ideal-image): JSDoc for types ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-utils`\\n - [#6922](https://github.com/facebook/docusaurus/pull/6922) refactor(content-blog): clean up type definitions; in-code documentation ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-translations`\\n - [#6781](https://github.com/facebook/docusaurus/pull/6781) feat(theme-translations): complete Russian translations ([@dragomano](https://github.com/dragomano))\\n - [#6877](https://github.com/facebook/docusaurus/pull/6877) chore(theme-translations): complete Vietnamese translations ([@datlechin](https://github.com/datlechin))\\n- `docusaurus-plugin-content-blog`\\n - [#6909](https://github.com/facebook/docusaurus/pull/6909) refactor(content-blog): improve error message of authors map validation ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#6860](https://github.com/facebook/docusaurus/pull/6860) fix(create): load entry file after node version checking ([@taejs](https://github.com/taejs))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#6988](https://github.com/facebook/docusaurus/pull/6988) docs: fix example admonition syntax ([@kaycebasques](https://github.com/kaycebasques))\\n - [#6978](https://github.com/facebook/docusaurus/pull/6978) docs: npm run tsc -> npx tsc ([@jadonn](https://github.com/jadonn))\\n - [#6952](https://github.com/facebook/docusaurus/pull/6952) docs: add K3ai to showcase ([@alefesta](https://github.com/alefesta))\\n - [#6948](https://github.com/facebook/docusaurus/pull/6948) docs: add pdfme docs to showcase ([@hand-dot](https://github.com/hand-dot))\\n - [#6943](https://github.com/facebook/docusaurus/pull/6943) docs: add SeaORM docs to showcase ([@billy1624](https://github.com/billy1624))\\n - [#6926](https://github.com/facebook/docusaurus/pull/6926) docs: clarify the usage of slug ([@kaycebasques](https://github.com/kaycebasques))\\n - [#6911](https://github.com/facebook/docusaurus/pull/6911) docs: add Reactive Button site to showcase ([@arifszn](https://github.com/arifszn))\\n - [#6904](https://github.com/facebook/docusaurus/pull/6904) docs: update image for digital support services ([@PatelN123](https://github.com/PatelN123))\\n - [#6892](https://github.com/facebook/docusaurus/pull/6892) docs: add EduLinks site to showcase ([@odarpi](https://github.com/odarpi))\\n - [#6889](https://github.com/facebook/docusaurus/pull/6889) docs: editorial fixes ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6883](https://github.com/facebook/docusaurus/pull/6883) docs(cli): add info about development on github codespaces ([@vedantmgoyal2009](https://github.com/vedantmgoyal2009))\\n - [#6856](https://github.com/facebook/docusaurus/pull/6856) docs: add Reddit Image Fetcher site to showcase ([@arifszn](https://github.com/arifszn))\\n - [#6875](https://github.com/facebook/docusaurus/pull/6875) docs: update TRPG Engine showcase ([@moonrailgun](https://github.com/moonrailgun))\\n - [#6871](https://github.com/facebook/docusaurus/pull/6871) docs: mark clutch and gulp as open-source ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6862](https://github.com/facebook/docusaurus/pull/6862) docs: update showcase data ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6837](https://github.com/facebook/docusaurus/pull/6837) docs: add PcapPlusPlus to showcase ([@seladb](https://github.com/seladb))\\n - [#6832](https://github.com/facebook/docusaurus/pull/6832) docs: add Spicetify site to showcase ([@afonsojramos](https://github.com/afonsojramos))\\n - [#6830](https://github.com/facebook/docusaurus/pull/6830) docs: simplify imported code blocks syntax ([@nathan-contino-mongo](https://github.com/nathan-contino-mongo))\\n- `docusaurus-types`\\n - [#6881](https://github.com/facebook/docusaurus/pull/6881) docs: mention configureWebpack devServer return value ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#6833](https://github.com/facebook/docusaurus/pull/6833) docs: make tutorial code block directly copyable ([@samgutentag](https://github.com/samgutentag))\\n\\n## :house: Internal\\n\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6995](https://github.com/facebook/docusaurus/pull/6995) refactor: ensure all types are using index signature instead of Record ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-plugin-pwa`, `docusaurus-theme-search-algolia`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6991](https://github.com/facebook/docusaurus/pull/6991) chore: upgrade dependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `lqip-loader`\\n - [#6992](https://github.com/facebook/docusaurus/pull/6992) refactor(lqip-loader): remove unused palette option ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#6975](https://github.com/facebook/docusaurus/pull/6975) chore: update static-site-generator-webpack-plugin ([@slorber](https://github.com/slorber))\\n- `stylelint-copyright`\\n - [#6967](https://github.com/facebook/docusaurus/pull/6967) chore: publish stylelint-copyright again ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus`\\n - [#6961](https://github.com/facebook/docusaurus/pull/6961) refactor: unify how validateOptions is handled ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-types`\\n - [#6957](https://github.com/facebook/docusaurus/pull/6957) chore(types): remove querystring from dependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-common`, `docusaurus`\\n - [#6956](https://github.com/facebook/docusaurus/pull/6956) test: improve test coverage; reorder theme-common files ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6955](https://github.com/facebook/docusaurus/pull/6955) refactor(core): move browserContext and docusaurusContext out of client exports ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6944](https://github.com/facebook/docusaurus/pull/6944) chore: migrate Jest and website to SWC ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-utils`\\n - [#6951](https://github.com/facebook/docusaurus/pull/6951) test: fix Windows test for gitUtils ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`, `docusaurus-utils`, `docusaurus`, `stylelint-copyright`\\n - [#6931](https://github.com/facebook/docusaurus/pull/6931) chore: tighten ESLint config ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`\\n - [#6924](https://github.com/facebook/docusaurus/pull/6924) refactor(client-redirects): migrate validation to validateOptions lifecycle ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6916](https://github.com/facebook/docusaurus/pull/6916) chore: upgrade dependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-plugin-content-docs`, `docusaurus-theme-translations`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `stylelint-copyright`\\n - [#6912](https://github.com/facebook/docusaurus/pull/6912) test: improve test coverage; multiple internal refactors ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Other\\n - [#6910](https://github.com/facebook/docusaurus/pull/6910) refactor: convert Jest infrastructure to TS ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6838](https://github.com/facebook/docusaurus/pull/6838) fix(website): changelog plugin leads to CI bugs on release ([@slorber](https://github.com/slorber))\\n- `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils`, `docusaurus`\\n - [#6908](https://github.com/facebook/docusaurus/pull/6908) chore: do not print prototype in jest snapshot ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`, `docusaurus-plugin-content-docs`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#6906](https://github.com/facebook/docusaurus/pull/6906) refactor: install eslint-plugin-regexp ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-docs`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-utils`, `docusaurus`\\n - [#6905](https://github.com/facebook/docusaurus/pull/6905) test: improve test coverage; properly test core client APIs ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-sitemap`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-translations`, `docusaurus-utils`, `docusaurus`\\n - [#6903](https://github.com/facebook/docusaurus/pull/6903) chore: spell-check test files ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6902](https://github.com/facebook/docusaurus/pull/6902) test(theme-common): improve test coverage ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`, `stylelint-copyright`\\n - [#6900](https://github.com/facebook/docusaurus/pull/6900) test: enable a few jest eslint rules ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6898](https://github.com/facebook/docusaurus/pull/6898) refactor: import jest as global; unify import style of some modules ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6891](https://github.com/facebook/docusaurus/pull/6891) refactor(theme-classic): avoid using clsx class dict with CSS modules ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-translations`, `docusaurus-utils`, `docusaurus`\\n - [#6880](https://github.com/facebook/docusaurus/pull/6880) refactor: prefer fs.outputFile to ensureDir + writeFile ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-pwa`, `docusaurus-types`, `docusaurus`\\n - [#6866](https://github.com/facebook/docusaurus/pull/6866) refactor: improve types ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus`, `lqip-loader`\\n - [#6864](https://github.com/facebook/docusaurus/pull/6864) refactor: remove unnecessary default values normalized during validation ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-migrate`, `docusaurus`\\n - [#6861](https://github.com/facebook/docusaurus/pull/6861) refactor: make JS executables included in the tsconfig for editor hints ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus`\\n - [#6857](https://github.com/facebook/docusaurus/pull/6857) test: improve test coverage ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-utils-common`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6852](https://github.com/facebook/docusaurus/pull/6852) refactor: enable a few TS flags ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 28\\n\\n- Afonso Jorge Ramos ([@afonsojramos](https://github.com/afonsojramos))\\n- Alessandro Festa ([@alefesta](https://github.com/alefesta))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Alois Klink ([@aloisklink](https://github.com/aloisklink))\\n- Ariful Alam ([@arifszn](https://github.com/arifszn))\\n- Begula ([@vedantmgoyal2009](https://github.com/vedantmgoyal2009))\\n- Billy Chan ([@billy1624](https://github.com/billy1624))\\n- Bugo ([@dragomano](https://github.com/dragomano))\\n- Evan ([@DigiPie](https://github.com/DigiPie))\\n- Felipe Santos ([@felipecrs](https://github.com/felipecrs))\\n- Jadon N ([@jadonn](https://github.com/jadonn))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Kayce Basques ([@kaycebasques](https://github.com/kaycebasques))\\n- Kyohei Fukuda ([@hand-dot](https://github.com/hand-dot))\\n- Nayan Patel ([@PatelN123](https://github.com/PatelN123))\\n- Ng\xf4 Qu\u1ED1c \u0110\u1EA1t ([@datlechin](https://github.com/datlechin))\\n- Odarpi ([@odarpi](https://github.com/odarpi))\\n- Pawel Kowaluk ([@pkowaluk](https://github.com/pkowaluk))\\n- Roberto Vidal ([@jrvidal](https://github.com/jrvidal))\\n- Sam Gutentag ([@samgutentag](https://github.com/samgutentag))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tsz W. TAM ([@rccttwd](https://github.com/rccttwd))\\n- WonChul Heo ([@heowc](https://github.com/heowc))\\n- Yorkie Liu ([@yorkie](https://github.com/yorkie))\\n- [@seladb](https://github.com/seladb)\\n- moonrailgun ([@moonrailgun](https://github.com/moonrailgun))\\n- nate contino ([@nathan-contino-mongo](https://github.com/nathan-contino-mongo))\\n- tae ([@taejs](https://github.com/taejs))"},{"id":"/2.0.0-beta.17","metadata":{"permalink":"/changelog/2.0.0-beta.17","source":"@site/changelog/source/2.0.0-beta.17.md","title":"2.0.0-beta.17","description":"New Feature","date":"2022-03-03T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alex Nicholls","alias":"anicholls","url":"https://github.com/anicholls","imageURL":"https://github.com/anicholls.png","key":"anicholls","page":null},{"name":"Ariful Alam","alias":"arifszn","url":"https://github.com/arifszn","imageURL":"https://github.com/arifszn.png","key":"arifszn","page":null},{"name":"Dmitry Vinnik","alias":"dmitryvinn","url":"https://github.com/dmitryvinn","imageURL":"https://github.com/dmitryvinn.png","key":"dmitryvinn","page":null},{"name":"David Stotijn","alias":"dstotijn","url":"https://github.com/dstotijn","imageURL":"https://github.com/dstotijn.png","key":"dstotijn","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Nayan Patel","alias":"PatelN123","url":"https://github.com/PatelN123","imageURL":"https://github.com/PatelN123.png","key":"PatelN123","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Vaibhav Shinde","alias":"vaibhavshn","url":"https://github.com/vaibhavshn","imageURL":"https://github.com/vaibhavshn.png","key":"vaibhavshn","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-03-03T20:00","authors":["anicholls","arifszn","dmitryvinn","dstotijn","Josh-Cena","PatelN123","slorber","vaibhavshn"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.18","permalink":"/changelog/2.0.0-beta.18"},"nextItem":{"title":"2.0.0-beta.16","permalink":"/changelog/2.0.0-beta.16"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#6783](https://github.com/facebook/docusaurus/pull/6783) feat: allow blog authors email ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6771](https://github.com/facebook/docusaurus/pull/6771) refactor(theme-classic): replace color mode toggle with button; remove switchConfig ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#6827](https://github.com/facebook/docusaurus/pull/6827) fix(theme-classic): restore docusaurus search meta ([@slorber](https://github.com/slorber))\\n - [#6767](https://github.com/facebook/docusaurus/pull/6767) fix(theme-classic): allow code tags containing inline elements to stay inline ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-common`\\n - [#6824](https://github.com/facebook/docusaurus/pull/6824) fix(theme-common): breadcrumbs home bug in docs-only ([@slorber](https://github.com/slorber))\\n - [#6816](https://github.com/facebook/docusaurus/pull/6816) fix(theme-common): docs breadcrumbs not working with baseUrl ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`\\n - [#6700](https://github.com/facebook/docusaurus/pull/6700) fix(content-docs): always sort autogenerated sidebar items by file/folder name by default ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#6812](https://github.com/facebook/docusaurus/pull/6812) fix(core): remove hash/query when filtering existing files for broken link check ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`\\n - [#6779](https://github.com/facebook/docusaurus/pull/6779) fix(mdx-loader): suppress image reading warning in Yarn PnP; log warning instead of error ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#6762](https://github.com/facebook/docusaurus/pull/6762) fix(create): update broken SVG paths in templates ([@anicholls](https://github.com/anicholls))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-common`\\n - [#6826](https://github.com/facebook/docusaurus/pull/6826) refactor(theme-common): unify missing context errors ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6771](https://github.com/facebook/docusaurus/pull/6771) refactor(theme-classic): replace color mode toggle with button; remove switchConfig ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#6769](https://github.com/facebook/docusaurus/pull/6769) refactor(theme-classic): use Material icon for language dropdown ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`\\n - [#6792](https://github.com/facebook/docusaurus/pull/6792) fix(mdx-loader): allow image paths to be URL encoded ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#6825](https://github.com/facebook/docusaurus/pull/6825) docs: Adds Netlify one click deploy to README ([@PatelN123](https://github.com/PatelN123))\\n - [#6818](https://github.com/facebook/docusaurus/pull/6818) docs: add deploy with vercel button to README ([@PatelN123](https://github.com/PatelN123))\\n - [#6817](https://github.com/facebook/docusaurus/pull/6817) docs: fix broken links ([@PatelN123](https://github.com/PatelN123))\\n - [#6811](https://github.com/facebook/docusaurus/pull/6811) docs: add homepage banner in support of Ukraine ([@dmitryvinn](https://github.com/dmitryvinn))\\n - [#6813](https://github.com/facebook/docusaurus/pull/6813) docs: mark dyte as opensource in showcase ([@vaibhavshn](https://github.com/vaibhavshn))\\n - [#6776](https://github.com/facebook/docusaurus/pull/6776) docs: make GitHub actions explanation aligned with the code ([@arifszn](https://github.com/arifszn))\\n - [#6772](https://github.com/facebook/docusaurus/pull/6772) docs: add basic documentation about client modules ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#6815](https://github.com/facebook/docusaurus/pull/6815) fix: consistently use `max-width: 996px` in media queries ([@dstotijn](https://github.com/dstotijn))\\n\\n## :house: Internal\\n\\n- `docusaurus-plugin-content-docs`\\n - [#6821](https://github.com/facebook/docusaurus/pull/6821) test(content-docs): refactor navigation test snapshot ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Other\\n - [#6768](https://github.com/facebook/docusaurus/pull/6768) test: add TypeScript template to E2E test matrix ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-utils`\\n - [#6773](https://github.com/facebook/docusaurus/pull/6773) refactor(utils): categorize functions into separate files ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`\\n - [#6761](https://github.com/facebook/docusaurus/pull/6761) chore: various internal fixes ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 8\\n\\n- Alex Nicholls ([@anicholls](https://github.com/anicholls))\\n- Ariful Alam ([@arifszn](https://github.com/arifszn))\\n- David Stotijn ([@dstotijn](https://github.com/dstotijn))\\n- Dmitry Vinnik ([@dmitryvinn](https://github.com/dmitryvinn))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Nayan Patel ([@PatelN123](https://github.com/PatelN123))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Vaibhav Shinde ([@vaibhavshn](https://github.com/vaibhavshn))"},{"id":"/2.0.0-beta.16","metadata":{"permalink":"/changelog/2.0.0-beta.16","source":"@site/changelog/source/2.0.0-beta.16.md","title":"2.0.0-beta.16","description":"New Feature","date":"2022-02-25T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Gaurish","alias":"apidev234","url":"https://github.com/apidev234","imageURL":"https://github.com/apidev234.png","key":"apidev234","page":null},{"name":"Artem Kovalov","alias":"artemkovalyov","url":"https://github.com/artemkovalyov","imageURL":"https://github.com/artemkovalyov.png","key":"artemkovalyov","page":null},{"name":"BigDataWriter","alias":"BigDataWriter","url":"https://github.com/BigDataWriter","imageURL":"https://github.com/BigDataWriter.png","key":"BigDataWriter","page":null},{"name":"Clement Demonchy","alias":"cdemonchy-pro","url":"https://github.com/cdemonchy-pro","imageURL":"https://github.com/cdemonchy-pro.png","key":"cdemonchy-pro","page":null},{"name":"CodeDoctor","alias":"CodeDoctorDE","url":"https://github.com/CodeDoctorDE","imageURL":"https://github.com/CodeDoctorDE.png","key":"CodeDoctorDE","page":null},{"name":"CookieJarApps","alias":"CookieJarApps","url":"https://github.com/CookieJarApps","imageURL":"https://github.com/CookieJarApps.png","key":"CookieJarApps","page":null},{"name":"Dmitry Vinnik","alias":"dmitryvinn","url":"https://github.com/dmitryvinn","imageURL":"https://github.com/dmitryvinn.png","key":"dmitryvinn","page":null},{"name":"Dmitry Vinnik | Meta","alias":"dmitryvinn-fb","url":"https://github.com/dmitryvinn-fb","imageURL":"https://github.com/dmitryvinn-fb.png","key":"dmitryvinn-fb","page":null},{"name":"Everardo J. Barojas M.","alias":"ebarojas","url":"https://github.com/ebarojas","imageURL":"https://github.com/ebarojas.png","key":"ebarojas","page":null},{"name":"Erick Zhao","alias":"erickzhao","url":"https://github.com/erickzhao","imageURL":"https://github.com/erickzhao.png","key":"erickzhao","page":null},{"name":"Felipe Santos","alias":"felipecrs","url":"https://github.com/felipecrs","imageURL":"https://github.com/felipecrs.png","key":"felipecrs","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Jody Heavener","alias":"jodyheavener","url":"https://github.com/jodyheavener","imageURL":"https://github.com/jodyheavener.png","key":"jodyheavener","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Daniel Kalevski","alias":"kalevski","url":"https://github.com/kalevski","imageURL":"https://github.com/kalevski.png","key":"kalevski","page":null},{"name":"Kishan Gajera","alias":"kgajera","url":"https://github.com/kgajera","imageURL":"https://github.com/kgajera.png","key":"kgajera","page":null},{"name":"Konstantin Tarkus","alias":"koistya","url":"https://github.com/koistya","imageURL":"https://github.com/koistya.png","key":"koistya","page":null},{"name":"Balthasar Hofer","alias":"lebalz","url":"https://github.com/lebalz","imageURL":"https://github.com/lebalz.png","key":"lebalz","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Miles Johnson","alias":"milesj","url":"https://github.com/milesj","imageURL":"https://github.com/milesj.png","key":"milesj","page":null},{"name":"Matheus Ricardo Brunelli","alias":"mrbrunelli","url":"https://github.com/mrbrunelli","imageURL":"https://github.com/mrbrunelli.png","key":"mrbrunelli","page":null},{"name":"Naseel Niyas","alias":"NaseelNiyas","url":"https://github.com/NaseelNiyas","imageURL":"https://github.com/NaseelNiyas.png","key":"NaseelNiyas","page":null},{"name":"nick-verida","alias":"nick-verida","url":"https://github.com/nick-verida","imageURL":"https://github.com/nick-verida.png","key":"nick-verida","page":null},{"name":"Nick Schonning","alias":"nschonni","url":"https://github.com/nschonni","imageURL":"https://github.com/nschonni.png","key":"nschonni","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"Muhammad Redho Ayassa","alias":"redhoyasa","url":"https://github.com/redhoyasa","imageURL":"https://github.com/redhoyasa.png","key":"redhoyasa","page":null},{"name":"Yongmin Hong","alias":"revi","url":"https://github.com/revi","imageURL":"https://github.com/revi.png","key":"revi","page":null},{"name":"Ruben Arushanyan","alias":"Ruben-Arushanyan","url":"https://github.com/Ruben-Arushanyan","imageURL":"https://github.com/Ruben-Arushanyan.png","key":"Ruben-Arushanyan","page":null},{"name":"seyoon20087","alias":"seyoon20087","url":"https://github.com/seyoon20087","imageURL":"https://github.com/seyoon20087.png","key":"seyoon20087","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tamal Web","alias":"tamalweb","url":"https://github.com/tamalweb","imageURL":"https://github.com/tamalweb.png","key":"tamalweb","page":null},{"name":"TheCatLady","alias":"TheCatLady","url":"https://github.com/TheCatLady","imageURL":"https://github.com/TheCatLady.png","key":"TheCatLady","page":null},{"name":"Daniel Hanke","alias":"thedanielhanke","url":"https://github.com/thedanielhanke","imageURL":"https://github.com/thedanielhanke.png","key":"thedanielhanke","page":null},{"name":"toto6038","alias":"toto6038","url":"https://github.com/toto6038","imageURL":"https://github.com/toto6038.png","key":"toto6038","page":null},{"name":"Matthew Ailes","alias":"vidarc","url":"https://github.com/vidarc","imageURL":"https://github.com/vidarc.png","key":"vidarc","page":null},{"name":"\uC774\uC815\uD658","alias":"winterlood","url":"https://github.com/winterlood","imageURL":"https://github.com/winterlood.png","key":"winterlood","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-02-25T20:00","authors":["apidev234","artemkovalyov","BigDataWriter","cdemonchy-pro","CodeDoctorDE","CookieJarApps","dmitryvinn","dmitryvinn-fb","ebarojas","erickzhao","felipecrs","homotechsual","jodyheavener","johnnyreilly","Josh-Cena","kalevski","kgajera","koistya","lebalz","lex111","milesj","mrbrunelli","NaseelNiyas","nick-verida","nschonni","pranabdas","redhoyasa","revi","Ruben-Arushanyan","seyoon20087","slorber","tamalweb","TheCatLady","thedanielhanke","toto6038","vidarc","winterlood","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.17","permalink":"/changelog/2.0.0-beta.17"},"nextItem":{"title":"2.0.0-beta.15","permalink":"/changelog/2.0.0-beta.15"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-logger`, `docusaurus-module-type-aliases`, `docusaurus-plugin-debug`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus`\\n - [#6243](https://github.com/facebook/docusaurus/pull/6243) feat(core): brand new swizzle CLI experience ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#6750](https://github.com/facebook/docusaurus/pull/6750) feat(create): new --package-manager option; interactive package manager selection ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6610](https://github.com/facebook/docusaurus/pull/6610) feat(create): allow specifying a git clone strategy ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6723](https://github.com/facebook/docusaurus/pull/6723) feat: sync color mode between browser tabs ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-search-algolia`\\n - [#6692](https://github.com/facebook/docusaurus/pull/6692) feat(search-algolia): allow disabling search page and configuring path ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6517](https://github.com/facebook/docusaurus/pull/6517) feat(docs,theme-classic): docs breadcrumbs ([@jodyheavener](https://github.com/jodyheavener))\\n - [#6519](https://github.com/facebook/docusaurus/pull/6519) feat(content-docs): sidebar item type \\"html\\" for rendering pure markup ([@jodyheavener](https://github.com/jodyheavener))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#6593](https://github.com/facebook/docusaurus/pull/6593) feat(content-blog): infer blog post date from git history ([@felipecrs](https://github.com/felipecrs))\\n- `docusaurus-plugin-content-docs`\\n - [#6619](https://github.com/facebook/docusaurus/pull/6619) feat(content-docs): add custom props front matter ([@TheCatLady](https://github.com/TheCatLady))\\n - [#6452](https://github.com/facebook/docusaurus/pull/6452) feat(content-docs): allow explicitly disabling index page for generated category ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`\\n - [#6603](https://github.com/facebook/docusaurus/pull/6603) feat(content-blog): allow customizing blog archive component through option ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#6221](https://github.com/facebook/docusaurus/pull/6221) feat(content-blog): Allow pagination for BlogTagsPostsPage ([@redhoyasa](https://github.com/redhoyasa))\\n\\n## :boom: Breaking Change\\n\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils`, `docusaurus`, `stylelint-copyright`\\n - [#6752](https://github.com/facebook/docusaurus/pull/6752) chore: upgrade docsearch-react to v3 stable, bump dependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`\\n - [#6729](https://github.com/facebook/docusaurus/pull/6729) refactor: make MDX export a flat TOC list instead of tree ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus`\\n - [#6740](https://github.com/facebook/docusaurus/pull/6740) refactor: remove deprecated Webpack utils & validation escape hatch ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#6707](https://github.com/facebook/docusaurus/pull/6707) refactor(theme-classic): bias again search metadata toward Algolia DocSearch ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-common`, `docusaurus`\\n - [#6651](https://github.com/facebook/docusaurus/pull/6651) refactor: reduce exported members of docusaurus router ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-common`\\n - [#6758](https://github.com/facebook/docusaurus/pull/6758) fix(theme-common): isSamePath should be case-insensitive ([@slorber](https://github.com/slorber))\\n - [#6748](https://github.com/facebook/docusaurus/pull/6748) fix(theme-classic): temporarily disable toc heading autoscrolling ([@slorber](https://github.com/slorber))\\n - [#6696](https://github.com/facebook/docusaurus/pull/6696) fix(theme-common): do not run useLocationChange when hot reloading ([@lex111](https://github.com/lex111))\\n - [#6490](https://github.com/facebook/docusaurus/pull/6490) fix(theme-classic): do not switch color modes when printing ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6749](https://github.com/facebook/docusaurus/pull/6749) fix(theme-classic): fix breadcrumb home link bug with new useHomePageRoute() hook ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`\\n - [#6720](https://github.com/facebook/docusaurus/pull/6720) fix(content-docs): create assets for frontmatter images ([@lebalz](https://github.com/lebalz))\\n - [#6592](https://github.com/facebook/docusaurus/pull/6592) fix(content-docs): read last update from inner git repositories ([@felipecrs](https://github.com/felipecrs))\\n - [#6477](https://github.com/facebook/docusaurus/pull/6477) fix(content-docs): export versioning utils ([@milesj](https://github.com/milesj))\\n- `docusaurus-mdx-loader`\\n - [#6712](https://github.com/facebook/docusaurus/pull/6712) fix(mdx-loader): make headings containing links properly formatted in ToC ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#6701](https://github.com/facebook/docusaurus/pull/6701) fix(cli): disable directory listing in serve ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6607](https://github.com/facebook/docusaurus/pull/6607) fix(cli): log error itself on unhandled rejection ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6500](https://github.com/facebook/docusaurus/pull/6500) fix(cli): allow passing a list of file names to write-heading-ids ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6496](https://github.com/facebook/docusaurus/pull/6496) fix(core): configValidation should allow inline theme functions ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#6652](https://github.com/facebook/docusaurus/pull/6652) fix(theme-classic): minor BTT button fixes ([@lex111](https://github.com/lex111))\\n - [#6612](https://github.com/facebook/docusaurus/pull/6612) fix(theme-classic): make Prism additional languages properly server-side rendered ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6599](https://github.com/facebook/docusaurus/pull/6599) fix(theme-classic): add docSidebar as allowed item in dropdown ([@homotechsual](https://github.com/homotechsual))\\n - [#6531](https://github.com/facebook/docusaurus/pull/6531) fix(theme-classic): highlight active collapsible doc category properly ([@lex111](https://github.com/lex111))\\n - [#6515](https://github.com/facebook/docusaurus/pull/6515) fix(theme-classic): add key prop for SimpleLinks map ([@kgajera](https://github.com/kgajera))\\n - [#6508](https://github.com/facebook/docusaurus/pull/6508) fix(theme-classic): apply width/height for footer logos without href ([@kgajera](https://github.com/kgajera))\\n- `docusaurus-utils`\\n - [#6617](https://github.com/facebook/docusaurus/pull/6617) fix(utils): convert Markdown links in reference-style links with multiple spaces ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6489](https://github.com/facebook/docusaurus/pull/6489) fix(utils): do not resolve Markdown paths with @site prefix ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6478](https://github.com/facebook/docusaurus/pull/6478) fix(utils): Markdown linkification match local paths beginning with http ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#6495](https://github.com/facebook/docusaurus/pull/6495) fix(content-docs): render category with no subitems as a normal link ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6755](https://github.com/facebook/docusaurus/pull/6755) refactor: unify error handling behavior ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#6679](https://github.com/facebook/docusaurus/pull/6679) feat(create): better detection of package manager preference ([@lex111](https://github.com/lex111))\\n - [#6481](https://github.com/facebook/docusaurus/pull/6481) refactor(init): promote good practices; use site alias ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`\\n - [#6745](https://github.com/facebook/docusaurus/pull/6745) fix(content-docs): improve sidebar shorthand normalization error message ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6602](https://github.com/facebook/docusaurus/pull/6602) feat(content-docs): allow omitting enclosing array consistently for category shorthand ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6596](https://github.com/facebook/docusaurus/pull/6596) refactor(content-docs): clean up sidebars logic; validate generator returns ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6586](https://github.com/facebook/docusaurus/pull/6586) refactor(content-docs): read category metadata files before autogenerating ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus`\\n - [#6730](https://github.com/facebook/docusaurus/pull/6730) refactor: declare all props as interfaces ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-translations`\\n - [#6711](https://github.com/facebook/docusaurus/pull/6711) chore(theme-translations): complete Korean translations ([@revi](https://github.com/revi))\\n - [#6686](https://github.com/facebook/docusaurus/pull/6686) fix(theme-translations): improve Korean translations ([@winterlood](https://github.com/winterlood))\\n - [#6635](https://github.com/facebook/docusaurus/pull/6635) refactor(theme-translation): improve Traditional Chinese translation quality ([@toto6038](https://github.com/toto6038))\\n- `docusaurus-theme-classic`, `docusaurus-theme-translations`\\n - [#6674](https://github.com/facebook/docusaurus/pull/6674) fix(theme-classic): improve aria label of color mode toggle ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-theme-classic`\\n - [#6668](https://github.com/facebook/docusaurus/pull/6668) refactor: recommend using data-theme without html element selector ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#6622](https://github.com/facebook/docusaurus/pull/6622) refactor(theme-classic): clean up CSS of doc sidebar item ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#6644](https://github.com/facebook/docusaurus/pull/6644) fix(core): forward ref to Link\'s anchor element ([@koistya](https://github.com/koistya))\\n - [#6646](https://github.com/facebook/docusaurus/pull/6646) fix(cli): make docusaurus clear also remove .yarn/.cache folder ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6306](https://github.com/facebook/docusaurus/pull/6306) feat(core): use react-helmet-async ([@seyoon20087](https://github.com/seyoon20087))\\n- `docusaurus-utils-validation`\\n - [#6656](https://github.com/facebook/docusaurus/pull/6656) feat: allow numbers in plugin ID ([@cdemonchy-pro](https://github.com/cdemonchy-pro))\\n- `docusaurus-mdx-loader`, `docusaurus-utils`, `lqip-loader`\\n - [#6650](https://github.com/facebook/docusaurus/pull/6650) refactor(utils): replace hash with contenthash for file loader ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus-utils`\\n - [#6615](https://github.com/facebook/docusaurus/pull/6615) fix: remove more peer dependency warnings ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`\\n - [#6598](https://github.com/facebook/docusaurus/pull/6598) feat: make Markdown images lazy loaded ([@johnnyreilly](https://github.com/johnnyreilly))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6505](https://github.com/facebook/docusaurus/pull/6505) fix(theme-classic): make focused link outlined with JS disabled ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#6507](https://github.com/facebook/docusaurus/pull/6507) refactor: improve internal typing ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus-utils`\\n - [#6498](https://github.com/facebook/docusaurus/pull/6498) fix: updating peerDependency fields for yarn berry ([@vidarc](https://github.com/vidarc))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`\\n - [#6482](https://github.com/facebook/docusaurus/pull/6482) feat: mark some text labels as translatable ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#6727](https://github.com/facebook/docusaurus/pull/6727) docs: add Blog Matheus Brunelli site to showcase ([@mrbrunelli](https://github.com/mrbrunelli))\\n - [#6721](https://github.com/facebook/docusaurus/pull/6721) docs: add Butterfly Documentation to showcase ([@CodeDoctorDE](https://github.com/CodeDoctorDE))\\n - [#6710](https://github.com/facebook/docusaurus/pull/6710) docs(website): Add techharvesting to showcase ([@NaseelNiyas](https://github.com/NaseelNiyas))\\n - [#6708](https://github.com/facebook/docusaurus/pull/6708) docs: add doc for generated-index keyword/image metadata ([@slorber](https://github.com/slorber))\\n - [#6709](https://github.com/facebook/docusaurus/pull/6709) docs(website): fix video responsiveness ([@lex111](https://github.com/lex111))\\n - [#6687](https://github.com/facebook/docusaurus/pull/6687) docs: add deep dive video for Docusaurus ([@dmitryvinn](https://github.com/dmitryvinn))\\n - [#6704](https://github.com/facebook/docusaurus/pull/6704) docs(website): search doc typo searchParameters ([@slorber](https://github.com/slorber))\\n - [#6682](https://github.com/facebook/docusaurus/pull/6682) docs: add redux-cool site to showcase ([@Ruben-Arushanyan](https://github.com/Ruben-Arushanyan))\\n - [#6677](https://github.com/facebook/docusaurus/pull/6677) docs: add Rivalis to showcase ([@kalevski](https://github.com/kalevski))\\n - [#6676](https://github.com/facebook/docusaurus/pull/6676) docs: add SmartCookieWeb site to showcase ([@CookieJarApps](https://github.com/CookieJarApps))\\n - [#6675](https://github.com/facebook/docusaurus/pull/6675) docs: mention that all official themes are TypeScript-covered ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6673](https://github.com/facebook/docusaurus/pull/6673) docs: mention about blog date in front matter ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6672](https://github.com/facebook/docusaurus/pull/6672) refactor(website): extract homepage data from UI; feature text updates ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6670](https://github.com/facebook/docusaurus/pull/6670) docs: add CyberDrain Improved Partner Portal (CIPP) to showcase ([@homotechsual](https://github.com/homotechsual))\\n - [#6667](https://github.com/facebook/docusaurus/pull/6667) fix(website): make YT iframe responsive ([@lex111](https://github.com/lex111))\\n - [#6659](https://github.com/facebook/docusaurus/pull/6659) docs: add eli5 video to home page ([@dmitryvinn-fb](https://github.com/dmitryvinn-fb))\\n - [#6633](https://github.com/facebook/docusaurus/pull/6633) docs: improve wording of using Markdown file paths ([@BigDataWriter](https://github.com/BigDataWriter))\\n - [#6624](https://github.com/facebook/docusaurus/pull/6624) docs: add Resoto & Some Engineering Inc. to showcase ([@TheCatLady](https://github.com/TheCatLady))\\n - [#6611](https://github.com/facebook/docusaurus/pull/6611) docs: fix bad anchor link syntax ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6591](https://github.com/facebook/docusaurus/pull/6591) docs: improve GitHub Actions example jobs ([@ebarojas](https://github.com/ebarojas))\\n - [#6426](https://github.com/facebook/docusaurus/pull/6426) feat(website): add Tweets section ([@yangshun](https://github.com/yangshun))\\n - [#6532](https://github.com/facebook/docusaurus/pull/6532) docs: add SAP Cloud SDK to showcase ([@artemkovalyov](https://github.com/artemkovalyov))\\n - [#6513](https://github.com/facebook/docusaurus/pull/6513) docs: clean up CONTRIBUTING ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6501](https://github.com/facebook/docusaurus/pull/6501) docs: add Cloudflare pages deployment guide ([@apidev234](https://github.com/apidev234))\\n - [#6499](https://github.com/facebook/docusaurus/pull/6499) docs: mention how env vars can be read ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6492](https://github.com/facebook/docusaurus/pull/6492) docs: mention where to find the sitemap ([@tamalweb](https://github.com/tamalweb))\\n - [#6491](https://github.com/facebook/docusaurus/pull/6491) docs: add developers.verida to showcase ([@nick-verida](https://github.com/nick-verida))\\n - [#6414](https://github.com/facebook/docusaurus/pull/6414) feat(website): new plugin to load CHANGELOG and render as blog ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6404](https://github.com/facebook/docusaurus/pull/6404) docs: elaborate on Markdown asset linking; document pathname:// protocol ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6484](https://github.com/facebook/docusaurus/pull/6484) docs: remove mention that CDN resources are cached cross-domain ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6429](https://github.com/facebook/docusaurus/pull/6429) refactor: self-host KaTeX assets ([@pranabdas](https://github.com/pranabdas))\\n - [#6483](https://github.com/facebook/docusaurus/pull/6483) docs: mark a lot of website texts as translatable ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-preset-classic`\\n - [#6627](https://github.com/facebook/docusaurus/pull/6627) docs: fix presets documentation link ([@thedanielhanke](https://github.com/thedanielhanke))\\n\\n## :house: Internal\\n\\n- `docusaurus-theme-classic`\\n - [#6759](https://github.com/facebook/docusaurus/pull/6759) refactor(theme-classic): merge CSS files for Heading ([@slorber](https://github.com/slorber))\\n - [#6584](https://github.com/facebook/docusaurus/pull/6584) misc: enable jsx-key eslint rule ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`\\n - [#6756](https://github.com/facebook/docusaurus/pull/6756) test: sort migration test FS mock calls ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6609](https://github.com/facebook/docusaurus/pull/6609) refactor(migrate): change internal methods\' parameter style ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6476](https://github.com/facebook/docusaurus/pull/6476) chore: fix Stylelint globs for editor support ([@nschonni](https://github.com/nschonni))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#6744](https://github.com/facebook/docusaurus/pull/6744) fix(content-docs): properly display collocated social card image ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-types`, `docusaurus`\\n - [#6742](https://github.com/facebook/docusaurus/pull/6742) refactor: improve client modules types ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`\\n - [#6741](https://github.com/facebook/docusaurus/pull/6741) chore(module-type-aliases): add react as peer dependency ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6658](https://github.com/facebook/docusaurus/pull/6658) refactor(module-aliases): remove react-helmet dependency ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Other\\n - [#6726](https://github.com/facebook/docusaurus/pull/6726) misc: improve bug report template ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6512](https://github.com/facebook/docusaurus/pull/6512) misc: configure linguist behavior to show better language stats ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6487](https://github.com/facebook/docusaurus/pull/6487) chore: fix codesandbox example link + mention npm publish recovery ([@slorber](https://github.com/slorber))\\n - [#6486](https://github.com/facebook/docusaurus/pull/6486) chore: update examples for beta.15 ([@slorber](https://github.com/slorber))\\n - [#6485](https://github.com/facebook/docusaurus/pull/6485) fix(website): bad translate tags without default translation ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6716](https://github.com/facebook/docusaurus/pull/6716) refactor: ensure lodash is default-imported ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-logger`, `docusaurus-migrate`, `docusaurus`\\n - [#6661](https://github.com/facebook/docusaurus/pull/6661) refactor: convert CLI entry points to ESM; migrate create-docusaurus to ESM ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-common`, `docusaurus`\\n - [#6651](https://github.com/facebook/docusaurus/pull/6651) refactor: reduce exported members of docusaurus router ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#6629](https://github.com/facebook/docusaurus/pull/6629) refactor: move module declarations for non-route components to theme-classic ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-pwa`, `docusaurus-theme-classic`\\n - [#6614](https://github.com/facebook/docusaurus/pull/6614) refactor: remove Babel plugins that are included in preset-env ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-translations`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#6605](https://github.com/facebook/docusaurus/pull/6605) chore: fix ESLint warnings, restrict export all syntax ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`\\n - [#6583](https://github.com/facebook/docusaurus/pull/6583) refactor(live-codeblock): migrate theme to TS ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-common`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6524](https://github.com/facebook/docusaurus/pull/6524) refactor: enforce named capture groups; clean up regexes ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`, `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#6521](https://github.com/facebook/docusaurus/pull/6521) refactor: mark all functions that import external modules as async ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `stylelint-copyright`\\n - [#6514](https://github.com/facebook/docusaurus/pull/6514) chore: clean up ESLint config, enable a few rules ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-types`, `docusaurus`\\n - [#6511](https://github.com/facebook/docusaurus/pull/6511) refactor(core): convert theme-fallback to TS ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-utils`\\n - [#6506](https://github.com/facebook/docusaurus/pull/6506) test: add test for readOutputHTMLFile ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`, `docusaurus-theme-common`\\n - [#6502](https://github.com/facebook/docusaurus/pull/6502) refactor: fix all eslint warnings ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus`\\n - [#6474](https://github.com/facebook/docusaurus/pull/6474) test: rename \'fixtures\' to \'**fixtures**\' ([@nschonni](https://github.com/nschonni))\\n\\n## :running: Performance\\n\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils`, `docusaurus`\\n - [#6725](https://github.com/facebook/docusaurus/pull/6725) refactor: convert all fs methods to async ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 38\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Artem Kovalov ([@artemkovalyov](https://github.com/artemkovalyov))\\n- Balthasar Hofer ([@lebalz](https://github.com/lebalz))\\n- Clement Demonchy ([@cdemonchy-pro](https://github.com/cdemonchy-pro))\\n- CodeDoctor ([@CodeDoctorDE](https://github.com/CodeDoctorDE))\\n- Daniel Hanke ([@thedanielhanke](https://github.com/thedanielhanke))\\n- Daniel Kalevski ([@kalevski](https://github.com/kalevski))\\n- Dmitry Vinnik ([@dmitryvinn](https://github.com/dmitryvinn))\\n- Dmitry Vinnik | Meta ([@dmitryvinn-fb](https://github.com/dmitryvinn-fb))\\n- Erick Zhao ([@erickzhao](https://github.com/erickzhao))\\n- Everardo J. Barojas M. ([@ebarojas](https://github.com/ebarojas))\\n- Felipe Santos ([@felipecrs](https://github.com/felipecrs))\\n- Gaurish ([@apidev234](https://github.com/apidev234))\\n- Hong Yongmin ([@revi](https://github.com/revi))\\n- Jody Heavener ([@jodyheavener](https://github.com/jodyheavener))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Kishan Gajera ([@kgajera](https://github.com/kgajera))\\n- Konstantin Tarkus ([@koistya](https://github.com/koistya))\\n- Matheus Ricardo Brunelli ([@mrbrunelli](https://github.com/mrbrunelli))\\n- Matthew Ailes ([@vidarc](https://github.com/vidarc))\\n- Mikey O\'Toole ([@homotechsual](https://github.com/homotechsual))\\n- Miles Johnson ([@milesj](https://github.com/milesj))\\n- Muhammad Redho Ayassa ([@redhoyasa](https://github.com/redhoyasa))\\n- Naseel Niyas ([@NaseelNiyas](https://github.com/NaseelNiyas))\\n- Nick Schonning ([@nschonni](https://github.com/nschonni))\\n- Pranab Das ([@pranabdas](https://github.com/pranabdas))\\n- Ruben Arushanyan ([@Ruben-Arushanyan](https://github.com/Ruben-Arushanyan))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tamal Web ([@tamalweb](https://github.com/tamalweb))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- [@BigDataWriter](https://github.com/BigDataWriter)\\n- [@CookieJarApps](https://github.com/CookieJarApps)\\n- [@TheCatLady](https://github.com/TheCatLady)\\n- [@nick-verida](https://github.com/nick-verida)\\n- [@seyoon20087](https://github.com/seyoon20087)\\n- [@toto6038](https://github.com/toto6038)\\n- \uC774\uC815\uD658 ([@winterlood](https://github.com/winterlood))"},{"id":"/2.0.0-beta.15","metadata":{"permalink":"/changelog/2.0.0-beta.15","source":"@site/changelog/source/2.0.0-beta.15.md","title":"2.0.0-beta.15","description":"New Feature","date":"2022-01-26T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"\u4E45\u67D3 | JiuRan","alias":"1084350607","url":"https://github.com/1084350607","imageURL":"https://github.com/1084350607.png","key":"1084350607","page":null},{"name":"Abdelrahman Ahmed","alias":"abahmed","url":"https://github.com/abahmed","imageURL":"https://github.com/abahmed.png","key":"abahmed","page":null},{"name":"AJ Rice","alias":"ajrice6713","url":"https://github.com/ajrice6713","imageURL":"https://github.com/ajrice6713.png","key":"ajrice6713","page":null},{"name":"Alexandru Grigoras","alias":"alexgrigoras","url":"https://github.com/alexgrigoras","imageURL":"https://github.com/alexgrigoras.png","key":"alexgrigoras","page":null},{"name":"Filipe Guerra","alias":"alias-mac","url":"https://github.com/alias-mac","imageURL":"https://github.com/alias-mac.png","key":"alias-mac","page":null},{"name":"Amir M. Mohamadi","alias":"amir2mi","url":"https://github.com/amir2mi","imageURL":"https://github.com/amir2mi.png","key":"amir2mi","page":null},{"name":"Anthony McCaigue","alias":"antmcc49","url":"https://github.com/antmcc49","imageURL":"https://github.com/antmcc49.png","key":"antmcc49","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"Brendan Nee","alias":"brendannee","url":"https://github.com/brendannee","imageURL":"https://github.com/brendannee.png","key":"brendannee","page":null},{"name":"Devtato","alias":"cerkiewny","url":"https://github.com/cerkiewny","imageURL":"https://github.com/cerkiewny.png","key":"cerkiewny","page":null},{"name":"Davide Bianchi","alias":"davidebianchi","url":"https://github.com/davidebianchi","imageURL":"https://github.com/davidebianchi.png","key":"davidebianchi","page":null},{"name":"Edouard Bonlieu","alias":"edouardb","url":"https://github.com/edouardb","imageURL":"https://github.com/edouardb.png","key":"edouardb","page":null},{"name":"Feodor Fitsner","alias":"FeodorFitsner","url":"https://github.com/FeodorFitsner","imageURL":"https://github.com/FeodorFitsner.png","key":"FeodorFitsner","page":null},{"name":"Gabriel Csapo","alias":"gabrielcsapo","url":"https://github.com/gabrielcsapo","imageURL":"https://github.com/gabrielcsapo.png","key":"gabrielcsapo","page":null},{"name":"Chen","alias":"HiChen404","url":"https://github.com/HiChen404","imageURL":"https://github.com/HiChen404.png","key":"HiChen404","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Jeffrey Aven","alias":"jeffreyaven","url":"https://github.com/jeffreyaven","imageURL":"https://github.com/jeffreyaven.png","key":"jeffreyaven","page":null},{"name":"Jody Heavener","alias":"jodyheavener","url":"https://github.com/jodyheavener","imageURL":"https://github.com/jodyheavener.png","key":"jodyheavener","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joseph","alias":"josephriosIO","url":"https://github.com/josephriosIO","imageURL":"https://github.com/josephriosIO.png","key":"josephriosIO","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Josh Goldberg","alias":"JoshuaKGoldberg","url":"https://github.com/JoshuaKGoldberg","imageURL":"https://github.com/JoshuaKGoldberg.png","key":"JoshuaKGoldberg","page":null},{"name":"Jake Witz","alias":"jwitz","url":"https://github.com/jwitz","imageURL":"https://github.com/jwitz.png","key":"jwitz","page":null},{"name":"Kaustubh Kulkarni","alias":"kaustubhk24","url":"https://github.com/kaustubhk24","imageURL":"https://github.com/kaustubhk24.png","key":"kaustubhk24","page":null},{"name":"kuizuo","alias":"kuizuo","url":"https://github.com/kuizuo","imageURL":"https://github.com/kuizuo.png","key":"kuizuo","page":null},{"name":"Minh Pham","alias":"lmpham1","url":"https://github.com/lmpham1","imageURL":"https://github.com/lmpham1.png","key":"lmpham1","page":null},{"name":"Lars Mikkelsen","alias":"ltm","url":"https://github.com/ltm","imageURL":"https://github.com/ltm.png","key":"ltm","page":null},{"name":"mcallisto","alias":"mcallisto","url":"https://github.com/mcallisto","imageURL":"https://github.com/mcallisto.png","key":"mcallisto","page":null},{"name":"Sanjay Soundarajan","alias":"megasanjay","url":"https://github.com/megasanjay","imageURL":"https://github.com/megasanjay.png","key":"megasanjay","page":null},{"name":"Morooka Kotaro","alias":"MorookaKotaro","url":"https://github.com/MorookaKotaro","imageURL":"https://github.com/MorookaKotaro.png","key":"MorookaKotaro","page":null},{"name":"Yaroslav Serhieiev","alias":"noomorph","url":"https://github.com/noomorph","imageURL":"https://github.com/noomorph.png","key":"noomorph","page":null},{"name":"Nick Schonning","alias":"nschonni","url":"https://github.com/nschonni","imageURL":"https://github.com/nschonni.png","key":"nschonni","page":null},{"name":"\xd6mer Faruk APLAK","alias":"omeraplak","url":"https://github.com/omeraplak","imageURL":"https://github.com/omeraplak.png","key":"omeraplak","page":null},{"name":"Nayan Patel","alias":"PatelN123","url":"https://github.com/PatelN123","imageURL":"https://github.com/PatelN123.png","key":"PatelN123","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},{"name":"Rishi Raj Jain","alias":"rishi-raj-jain","url":"https://github.com/rishi-raj-jain","imageURL":"https://github.com/rishi-raj-jain.png","key":"rishi-raj-jain","page":null},{"name":"roydukkey","alias":"roydukkey","url":"https://github.com/roydukkey","imageURL":"https://github.com/roydukkey.png","key":"roydukkey","page":null},{"name":"ruanqizhen","alias":"ruanqizhen","url":"https://github.com/ruanqizhen","imageURL":"https://github.com/ruanqizhen.png","key":"ruanqizhen","page":null},{"name":"sgenoud","alias":"sgenoud","url":"https://github.com/sgenoud","imageURL":"https://github.com/sgenoud.png","key":"sgenoud","page":null},{"name":"Shun Wakatsuki","alias":"shwaka","url":"https://github.com/shwaka","imageURL":"https://github.com/shwaka.png","key":"shwaka","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tapan Chudasama","alias":"tapanchudasama","url":"https://github.com/tapanchudasama","imageURL":"https://github.com/tapanchudasama.png","key":"tapanchudasama","page":null},{"name":"Vaibhav Shinde","alias":"vaibhavshn","url":"https://github.com/vaibhavshn","imageURL":"https://github.com/vaibhavshn.png","key":"vaibhavshn","page":null},{"name":"Vandr\xe9 Leal","alias":"vandreleal","url":"https://github.com/vandreleal","imageURL":"https://github.com/vandreleal.png","key":"vandreleal","page":null},{"name":"wood3n","alias":"wood3n","url":"https://github.com/wood3n","imageURL":"https://github.com/wood3n.png","key":"wood3n","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-01-26T20:00","authors":["1084350607","abahmed","ajrice6713","alexgrigoras","alias-mac","amir2mi","antmcc49","armano2","brendannee","cerkiewny","davidebianchi","edouardb","FeodorFitsner","gabrielcsapo","HiChen404","homotechsual","jeffreyaven","jodyheavener","johnnyreilly","josephriosIO","Josh-Cena","JoshuaKGoldberg","jwitz","kaustubhk24","kuizuo","lmpham1","ltm","mcallisto","megasanjay","MorookaKotaro","noomorph","nschonni","omeraplak","PatelN123","pranabdas","RDIL","rishi-raj-jain","roydukkey","ruanqizhen","sgenoud","shwaka","slorber","tapanchudasama","vaibhavshn","vandreleal","wood3n"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.16","permalink":"/changelog/2.0.0-beta.16"},"nextItem":{"title":"2.0.0-beta.14","permalink":"/changelog/2.0.0-beta.14"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-docs`\\n - [#6451](https://github.com/facebook/docusaurus/pull/6451) feat(content-docs): expose isCategoryIndex matcher to customize conventions ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5782](https://github.com/facebook/docusaurus/pull/5782) feat(content-docs): displayed_sidebar front matter ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6466](https://github.com/facebook/docusaurus/pull/6466) feat(theme-classic): add stable class for DocSidebarContainer ([@homotechsual](https://github.com/homotechsual))\\n - [#3811](https://github.com/facebook/docusaurus/pull/3811) feat(theme-classic): auto-collapse sibling categories in doc sidebar ([@josephriosIO](https://github.com/josephriosIO))\\n - [#6216](https://github.com/facebook/docusaurus/pull/6216) feat(theme-classic): usable CodeBlock outside markdown ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#6416](https://github.com/facebook/docusaurus/pull/6416) feat(content-blog): allow authors list to contain images only ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`\\n - [#6415](https://github.com/facebook/docusaurus/pull/6415) feat(content-blog): allow disabling generating archive ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6245](https://github.com/facebook/docusaurus/pull/6245) feat(content-blog): parse date from middle of file path ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6388](https://github.com/facebook/docusaurus/pull/6388) feat(content-blog): include tags in feed ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#6371](https://github.com/facebook/docusaurus/pull/6371) feat(core, theme-classic): allow overriding htmlLang ([@noomorph](https://github.com/noomorph))\\n- `docusaurus-mdx-loader`\\n - [#6323](https://github.com/facebook/docusaurus/pull/6323) feat(mdx-loader): preserve hash in image src; support GH themed images ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#6139](https://github.com/facebook/docusaurus/pull/6139) feat(theme-classic): new navbar item linking to a sidebar ([@lmpham1](https://github.com/lmpham1))\\n - [#6239](https://github.com/facebook/docusaurus/pull/6239) feat(content-docs): allow SEO metadata for category index pages ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-sitemap`\\n - [#6248](https://github.com/facebook/docusaurus/pull/6248) feat(sitemap): remove trailingSlash option; respect noIndex config ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-ideal-image`, `docusaurus-theme-translations`\\n - [#6173](https://github.com/facebook/docusaurus/pull/6173) feat(ideal-image): allow translating status messages ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-ideal-image`\\n - [#6155](https://github.com/facebook/docusaurus/pull/6155) feat(ideal-image): new option disableInDev ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-translations`\\n - [#6169](https://github.com/facebook/docusaurus/pull/6169) feat(theme-translations): add Italian translations ([@mcallisto](https://github.com/mcallisto))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-types`, `docusaurus`\\n - [#6166](https://github.com/facebook/docusaurus/pull/6166) feat: async plugin creator functions ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#6165](https://github.com/facebook/docusaurus/pull/6165) feat(core): async docusaurus.config.js creator function ([@slorber](https://github.com/slorber))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-theme-search-algolia`\\n - [#6407](https://github.com/facebook/docusaurus/pull/6407) feat(search): enable contextual search by default ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`\\n - [#6289](https://github.com/facebook/docusaurus/pull/6289) refactor: move @theme/hooks to @docusaurus/theme-common ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#6283](https://github.com/facebook/docusaurus/pull/6283) refactor(theme-classic): apply import/no-named-export eslint rule ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-sitemap`\\n - [#6248](https://github.com/facebook/docusaurus/pull/6248) feat(sitemap): remove trailingSlash option; respect noIndex config ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus-utils`, `docusaurus`\\n - [#6454](https://github.com/facebook/docusaurus/pull/6454) fix(content-blog): generate feed by reading build output ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#6468](https://github.com/facebook/docusaurus/pull/6468) fix(init): cd to correct path when installing ([@gabrielcsapo](https://github.com/gabrielcsapo))\\n- `docusaurus-mdx-loader`\\n - [#4827](https://github.com/facebook/docusaurus/pull/4827) fix: allow links to JSON in .md files to be transformed as asset links ([@antmcc49](https://github.com/antmcc49))\\n- `docusaurus-plugin-content-docs`\\n - [#6435](https://github.com/facebook/docusaurus/pull/6435) fix(content-docs): make getActivePlugin match plugin paths more exactly ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6310](https://github.com/facebook/docusaurus/pull/6310) fix: highlight appropriate navItem when browsing generated category index ([@tapanchudasama](https://github.com/tapanchudasama))\\n - [#6202](https://github.com/facebook/docusaurus/pull/6202) fix(content-docs): quotify path when retrieving git history ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#6424](https://github.com/facebook/docusaurus/pull/6424) fix(core): fix css url(\\"image.png\\"), use css-loader v6 with esModules: false ([@slorber](https://github.com/slorber))\\n - [#6378](https://github.com/facebook/docusaurus/pull/6378) fix(core): do not coerce webpack warning to string ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6197](https://github.com/facebook/docusaurus/pull/6197) fix(cli): quotify temp path in deploy command ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6168](https://github.com/facebook/docusaurus/pull/6168) fix(core): update webpack-dev-server + fix deprecation warning ([@slorber](https://github.com/slorber))\\n- `docusaurus-logger`, `docusaurus-utils`\\n - [#6384](https://github.com/facebook/docusaurus/pull/6384) fix(logger): properly stringify objects for logging ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus`\\n - [#6338](https://github.com/facebook/docusaurus/pull/6338) fix(core): error boundary should allow no children ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#6314](https://github.com/facebook/docusaurus/pull/6314) fix(theme-classic): fix mobile version dropdown label with only one version ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6288](https://github.com/facebook/docusaurus/pull/6288) fix(theme-classic): add missing role=region to SkipToContent ([@JoshuaKGoldberg](https://github.com/JoshuaKGoldberg))\\n - [#6213](https://github.com/facebook/docusaurus/pull/6213) refactor(theme-classic): extract common PaginatorNavLink component ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6177](https://github.com/facebook/docusaurus/pull/6177) fix(theme-classic): make React elements in pre render correctly ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#6300](https://github.com/facebook/docusaurus/pull/6300) refactor: move exported type definitions to declaration file ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`\\n - [#6276](https://github.com/facebook/docusaurus/pull/6276) fix(migrate): migration CLI should correctly migrate gtag options ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`\\n - [#6244](https://github.com/facebook/docusaurus/pull/6244) fix(content-blog): always convert front matter date as UTC ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-utils`, `docusaurus`\\n - [#6190](https://github.com/facebook/docusaurus/pull/6190) fix(utils): properly escape Windows paths ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-module-type-aliases`\\n - [#6469](https://github.com/facebook/docusaurus/pull/6469) fix(module-type-aliases): fix type def for translate params ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-search-algolia`\\n - [#6407](https://github.com/facebook/docusaurus/pull/6407) feat(search): enable contextual search by default ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`\\n - [#6443](https://github.com/facebook/docusaurus/pull/6443) refactor(mdx-loader): use vfile.path to access Markdown file path ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#6427](https://github.com/facebook/docusaurus/pull/6427) feat(theme-classic): add aria-current to sidebar category link ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6391](https://github.com/facebook/docusaurus/pull/6391) refactor(theme-classic): add comments to Prism setup; minor refactor ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6240](https://github.com/facebook/docusaurus/pull/6240) refactor(theme-classic): use front matter from metadata for BlogPostPage ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#6419](https://github.com/facebook/docusaurus/pull/6419) feat(core): warn users about hand-modifying generated files ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6405](https://github.com/facebook/docusaurus/pull/6405) feat(core): check imported API name when extracting translations ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6291](https://github.com/facebook/docusaurus/pull/6291) feat(core): improve error message for BrowserOnly; better docs ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#5822](https://github.com/facebook/docusaurus/pull/5822) feat: update website & init template palette to pass WCAG test; include contrast check in ColorGenerator ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6368](https://github.com/facebook/docusaurus/pull/6368) fix(create-docusaurus): add useBaseUrl for image URLs ([@alias-mac](https://github.com/alias-mac))\\n- `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`\\n - [#6400](https://github.com/facebook/docusaurus/pull/6400) feat(content-pages): front matter validation, include front matter in metadata ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-theme-classic`\\n - [#6339](https://github.com/facebook/docusaurus/pull/6339) feat(mdx-loader): read image dimensions when processing Markdown ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`\\n - [#6388](https://github.com/facebook/docusaurus/pull/6388) feat(content-blog): include tags in feed ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6189](https://github.com/facebook/docusaurus/pull/6189) feat(content-blog): include front matter in loaded content metadata ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-common`\\n - [#6317](https://github.com/facebook/docusaurus/pull/6317) feat(theme-classic): autoscroll TOC with active link ([@cerkiewny](https://github.com/cerkiewny))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#6303](https://github.com/facebook/docusaurus/pull/6303) test(utils, mdx-loader, core): improve coverage ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-preset-classic`\\n - [#6284](https://github.com/facebook/docusaurus/pull/6284) fix(preset-classic): throw if preset finds GA options in theme config ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus`\\n - [#6186](https://github.com/facebook/docusaurus/pull/6186) refactor: print trailing new line when outputting JSON ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#6296](https://github.com/facebook/docusaurus/pull/6296) docs: add advanced guides ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6459](https://github.com/facebook/docusaurus/pull/6459) docs: add replicad to showcase ([@sgenoud](https://github.com/sgenoud))\\n - [#6334](https://github.com/facebook/docusaurus/pull/6334) docs: 2021 recap blog post ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6458](https://github.com/facebook/docusaurus/pull/6458) docs: add Kuizuo\'s Personal Website to showcase ([@kuizuo](https://github.com/kuizuo))\\n - [#6431](https://github.com/facebook/docusaurus/pull/6431) docs: add Koyeb as a deployment option ([@edouardb](https://github.com/edouardb))\\n - [#6455](https://github.com/facebook/docusaurus/pull/6455) docs: add Sass Fairy to showcase ([@roydukkey](https://github.com/roydukkey))\\n - [#6453](https://github.com/facebook/docusaurus/pull/6453) docs: document embedding generated index in doc page ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6450](https://github.com/facebook/docusaurus/pull/6450) docs: split sidebar documentation into sections ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6449](https://github.com/facebook/docusaurus/pull/6449) docs: multiple doc improvements ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6448](https://github.com/facebook/docusaurus/pull/6448) fix(website): update colors correctly when palette is only customized in one color mode ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6385](https://github.com/facebook/docusaurus/pull/6385) chore: add height/width for front page images ([@nschonni](https://github.com/nschonni))\\n - [#6445](https://github.com/facebook/docusaurus/pull/6445) docs: update showcase data of InfraQL ([@jeffreyaven](https://github.com/jeffreyaven))\\n - [#6433](https://github.com/facebook/docusaurus/pull/6433) docs: add kube-green to showcase ([@davidebianchi](https://github.com/davidebianchi))\\n - [#6428](https://github.com/facebook/docusaurus/pull/6428) docs: elaborate on i18n tutorial ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6422](https://github.com/facebook/docusaurus/pull/6422) docs: add 404Lab wiki to showcase ([@HiChen404](https://github.com/HiChen404))\\n - [#6420](https://github.com/facebook/docusaurus/pull/6420) fix(website): restore some site CSS in light mode ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6410](https://github.com/facebook/docusaurus/pull/6410) docs: add SODA for SPARC to showcase ([@megasanjay](https://github.com/megasanjay))\\n - [#6417](https://github.com/facebook/docusaurus/pull/6417) docs: fix accessibility of search modal ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6406](https://github.com/facebook/docusaurus/pull/6406) docs(i18n): add docs for htmlLang config ([@noomorph](https://github.com/noomorph))\\n - [#6393](https://github.com/facebook/docusaurus/pull/6393) docs: update Algolia docs for new DocSearch infra ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6383](https://github.com/facebook/docusaurus/pull/6383) docs: elaborate on different CSS class names ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6348](https://github.com/facebook/docusaurus/pull/6348) docs: add KaustubhK24\'s site to showcase ([@kaustubhk24](https://github.com/kaustubhk24))\\n - [#6333](https://github.com/facebook/docusaurus/pull/6333) feat(website): search in showcase ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6344](https://github.com/facebook/docusaurus/pull/6344) fix(website): make ColorGenerator functional ([@shwaka](https://github.com/shwaka))\\n - [#6340](https://github.com/facebook/docusaurus/pull/6340) docs: minor fix in the sample config for ESM ([@pranabdas](https://github.com/pranabdas))\\n - [#6336](https://github.com/facebook/docusaurus/pull/6336) docs: make upgrade guide always show the latest version ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6320](https://github.com/facebook/docusaurus/pull/6320) chore: upgrade rehype-katex with ESM support, update docs ([@pranabdas](https://github.com/pranabdas))\\n - [#6335](https://github.com/facebook/docusaurus/pull/6335) docs: add Pglet website to showcase ([@FeodorFitsner](https://github.com/FeodorFitsner))\\n - [#6327](https://github.com/facebook/docusaurus/pull/6327) docs: remove typo bracket ([@MorookaKotaro](https://github.com/MorookaKotaro))\\n - [#6316](https://github.com/facebook/docusaurus/pull/6316) docs: add bandwidth.com to showcase ([@ajrice6713](https://github.com/ajrice6713))\\n - [#6313](https://github.com/facebook/docusaurus/pull/6313) docs: add Refine site to showcase ([@omeraplak](https://github.com/omeraplak))\\n - [#6318](https://github.com/facebook/docusaurus/pull/6318) fix(website): various anchor link fixes ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6308](https://github.com/facebook/docusaurus/pull/6308) fix(website): wrap details in mdx-code-block ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6307](https://github.com/facebook/docusaurus/pull/6307) docs: document MD and JSX interoperability issues ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6299](https://github.com/facebook/docusaurus/pull/6299) docs: add icodex to showcase ([@wood3n](https://github.com/wood3n))\\n - [#6297](https://github.com/facebook/docusaurus/pull/6297) docs: mention setup in monorepo ([@PatelN123](https://github.com/PatelN123))\\n - [#6293](https://github.com/facebook/docusaurus/pull/6293) docs: remove GraphQL mesh from showcase ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6231](https://github.com/facebook/docusaurus/pull/6231) docs: update showcase images; remove GraphQL Code Generator site ([@PatelN123](https://github.com/PatelN123))\\n - [#6285](https://github.com/facebook/docusaurus/pull/6285) refactor(website): further optimize showcase images ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6281](https://github.com/facebook/docusaurus/pull/6281) docs: Add kwatch to showcase ([@abahmed](https://github.com/abahmed))\\n - [#6280](https://github.com/facebook/docusaurus/pull/6280) docs: elaborate on doc versioning ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6043](https://github.com/facebook/docusaurus/pull/6043) fix(website): resize showcase images, tighten CI check ([@armano2](https://github.com/armano2))\\n - [#6274](https://github.com/facebook/docusaurus/pull/6274) docs: add dyte docs to showcase ([@vaibhavshn](https://github.com/vaibhavshn))\\n - [#6278](https://github.com/facebook/docusaurus/pull/6278) docs: add Khyron Realm to showcase ([@alexgrigoras](https://github.com/alexgrigoras))\\n - [#6271](https://github.com/facebook/docusaurus/pull/6271) docs: add FlatifyCSS to showcase ([@amir2mi](https://github.com/amir2mi))\\n - [#6275](https://github.com/facebook/docusaurus/pull/6275) fix(website): fix config-tabs breaking after translation ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6269](https://github.com/facebook/docusaurus/pull/6269) docs: add Ionic to showcase ([@ltm](https://github.com/ltm))\\n - [#6272](https://github.com/facebook/docusaurus/pull/6272) docs: make tsconfig work OOTB in typescript guide ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6265](https://github.com/facebook/docusaurus/pull/6265) docs: add Eric JiuRan\'s blog to showcase ([@1084350607](https://github.com/1084350607))\\n - [#6242](https://github.com/facebook/docusaurus/pull/6242) docs(showcase): update oxidizer website url ([@vandreleal](https://github.com/vandreleal))\\n - [#6226](https://github.com/facebook/docusaurus/pull/6226) docs: update showcase data for digital support notes ([@PatelN123](https://github.com/PatelN123))\\n - [#6224](https://github.com/facebook/docusaurus/pull/6224) docs: add TalentBrick to showcase ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6223](https://github.com/facebook/docusaurus/pull/6223) docs: normalize CodeBlock highlighting ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6214](https://github.com/facebook/docusaurus/pull/6214) feat(website): improve prism themes ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6215](https://github.com/facebook/docusaurus/pull/6215) docs: use BrowserWindow for Markdown demos ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6193](https://github.com/facebook/docusaurus/pull/6193) docs: normalize plugin API documentation ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6209](https://github.com/facebook/docusaurus/pull/6209) docs: elaborate on static asset resolution ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6207](https://github.com/facebook/docusaurus/pull/6207) docs: add default value for BrowserWindow URL field ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6206](https://github.com/facebook/docusaurus/pull/6206) docs: fix highlighting of YAML front matter ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6191](https://github.com/facebook/docusaurus/pull/6191) docs: fix react live scope button color in dark mode ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6188](https://github.com/facebook/docusaurus/pull/6188) docs: add Layer0 to deployment guide ([@rishi-raj-jain](https://github.com/rishi-raj-jain))\\n - [#6184](https://github.com/facebook/docusaurus/pull/6184) docs: remove mention of \'UA-\' in gtag ([@johnnyreilly](https://github.com/johnnyreilly))\\n - [#6181](https://github.com/facebook/docusaurus/pull/6181) docs: add GTFS-to-HTML to showcase ([@brendannee](https://github.com/brendannee))\\n - [#6178](https://github.com/facebook/docusaurus/pull/6178) docs: add Digital Support Notes to showcase ([@PatelN123](https://github.com/PatelN123))\\n - [#6170](https://github.com/facebook/docusaurus/pull/6170) docs: add LabVIEW coding experience to showcase ([@ruanqizhen](https://github.com/ruanqizhen))\\n - [#6164](https://github.com/facebook/docusaurus/pull/6164) docs: fix import module name of theme/Admonition ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6158](https://github.com/facebook/docusaurus/pull/6158) docs: add Astronomer to showcase ([@jwitz](https://github.com/jwitz))\\n- `create-docusaurus`\\n - [#5822](https://github.com/facebook/docusaurus/pull/5822) feat: update website & init template palette to pass WCAG test; include contrast check in ColorGenerator ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6187](https://github.com/facebook/docusaurus/pull/6187) docs: make installation guide more beginner-friendly ([@PatelN123](https://github.com/PatelN123))\\n- `docusaurus-utils`\\n - [#6204](https://github.com/facebook/docusaurus/pull/6204) docs: recommend highlighting with comments than number range ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-theme-classic`\\n - [#6203](https://github.com/facebook/docusaurus/pull/6203) docs: audit grammar issues ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :house: Internal\\n\\n- `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#6456](https://github.com/facebook/docusaurus/pull/6456) chore: add cSpell for spell checking ([@nschonni](https://github.com/nschonni))\\n- Other\\n - [#6444](https://github.com/facebook/docusaurus/pull/6444) misc: update nvmrc to 14.17.0 to meet dependency requirements ([@jodyheavener](https://github.com/jodyheavener))\\n - [#6441](https://github.com/facebook/docusaurus/pull/6441) misc: fix stylelint erroring when lint-staged passed ignored file ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6421](https://github.com/facebook/docusaurus/pull/6421) chore: fix yarn build:website:fast ([@slorber](https://github.com/slorber))\\n - [#6381](https://github.com/facebook/docusaurus/pull/6381) chore(website): set cache-control for static assets ([@nschonni](https://github.com/nschonni))\\n - [#6364](https://github.com/facebook/docusaurus/pull/6364) chore: remove Intl polyfills for Jest ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6325](https://github.com/facebook/docusaurus/pull/6325) chore: add Dependabot for dependency updates ([@nschonni](https://github.com/nschonni))\\n - [#6328](https://github.com/facebook/docusaurus/pull/6328) chore(ci): upgrade actions/github-script to v5 ([@nschonni](https://github.com/nschonni))\\n - [#6332](https://github.com/facebook/docusaurus/pull/6332) chore(deps): bump follow-redirects from 1.14.5 to 1.14.7 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#6326](https://github.com/facebook/docusaurus/pull/6326) misc(ci): remove redundant \\"CI: true\\" env ([@nschonni](https://github.com/nschonni))\\n - [#6304](https://github.com/facebook/docusaurus/pull/6304) chore: upgrade to Husky 7 ([@nschonni](https://github.com/nschonni))\\n - [#6222](https://github.com/facebook/docusaurus/pull/6222) test: ensure consistent CSS ordering ([@slorber](https://github.com/slorber))\\n - [#6159](https://github.com/facebook/docusaurus/pull/6159) docs: remove useless comment ([@slorber](https://github.com/slorber))\\n - [#6148](https://github.com/facebook/docusaurus/pull/6148) chore(examples): update examples to 2.0.0-beta.14 ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-debug`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#6442](https://github.com/facebook/docusaurus/pull/6442) chore: enable stylelint standard config ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus`\\n - [#6440](https://github.com/facebook/docusaurus/pull/6440) chore: remove some unused dependencies from package.json ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#6436](https://github.com/facebook/docusaurus/pull/6436) refactor(theme-classic): render BlogPostItem as one JSX element ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6283](https://github.com/facebook/docusaurus/pull/6283) refactor(theme-classic): apply import/no-named-export eslint rule ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-pages`\\n - [#6413](https://github.com/facebook/docusaurus/pull/6413) fix(content-pages): declare hide_table_of_contents as boolean ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus`\\n - [#6399](https://github.com/facebook/docusaurus/pull/6399) refactor: clean up TODO comments ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-cssnano-preset`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-common`, `docusaurus-theme-translations`, `docusaurus`\\n - [#6387](https://github.com/facebook/docusaurus/pull/6387) test: improve test coverage ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-utils`\\n - [#6380](https://github.com/facebook/docusaurus/pull/6380) chore: enable a few fixable ESLint rules ([@nschonni](https://github.com/nschonni))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-docs`, `docusaurus-utils`, `docusaurus`\\n - [#6377](https://github.com/facebook/docusaurus/pull/6377) refactor: use findAsyncSequential in a few places ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-utils-common`, `docusaurus-utils`, `docusaurus`, `stylelint-copyright`\\n - [#6375](https://github.com/facebook/docusaurus/pull/6375) chore: enable eslint-plugin-jest ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#6373](https://github.com/facebook/docusaurus/pull/6373) chore: enable react/jsx-closing-bracket-location ([@nschonni](https://github.com/nschonni))\\n- `docusaurus-theme-classic`, `stylelint-copyright`\\n - [#6374](https://github.com/facebook/docusaurus/pull/6374) feat(stylelint-copyright): autofix, stricter config ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-cssnano-preset`, `docusaurus-theme-classic`\\n - [#6372](https://github.com/facebook/docusaurus/pull/6372) chore: add baseline stylelint rules ([@nschonni](https://github.com/nschonni))\\n- `create-docusaurus`, `docusaurus-plugin-debug`, `docusaurus-theme-classic`\\n - [#6369](https://github.com/facebook/docusaurus/pull/6369) chore: upgrade lint-staged and globs ([@nschonni](https://github.com/nschonni))\\n- `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus`\\n - [#6341](https://github.com/facebook/docusaurus/pull/6341) chore: regenerate yarn.lock ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-pages`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus`\\n - [#6324](https://github.com/facebook/docusaurus/pull/6324) chore: minor typo cleanup ([@nschonni](https://github.com/nschonni))\\n- `create-docusaurus`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`, `stylelint-copyright`\\n - [#6286](https://github.com/facebook/docusaurus/pull/6286) misc: convert all internal scripts to ESM ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`\\n - [#6289](https://github.com/facebook/docusaurus/pull/6289) refactor: move @theme/hooks to @docusaurus/theme-common ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`\\n - [#6287](https://github.com/facebook/docusaurus/pull/6287) refactor: new @docusaurus/plugin-content-docs/client interface ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#6279](https://github.com/facebook/docusaurus/pull/6279) refactor(core): use native types from webpack-dev-server ([@RDIL](https://github.com/RDIL))\\n- `docusaurus-plugin-content-docs`\\n - [#6277](https://github.com/facebook/docusaurus/pull/6277) refactor(content-docs): make readVersionsMetadata async ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-types`, `docusaurus`\\n - [#6237](https://github.com/facebook/docusaurus/pull/6237) refactor(core): convert serverEntry.js to TS ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6230](https://github.com/facebook/docusaurus/pull/6230) refactor: enforce type import specifiers ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-plugin-content-blog`, `docusaurus-utils`, `docusaurus`\\n - [#6229](https://github.com/facebook/docusaurus/pull/6229) refactor(utils): reorganize functions; move authors file resolution to utils ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-translations`\\n - [#6225](https://github.com/facebook/docusaurus/pull/6225) refactor(theme-translations): improve typing for update script ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6174](https://github.com/facebook/docusaurus/pull/6174) misc(theme-translations): multiple improvements to the update CLI ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 46\\n\\n- AJ Rice ([@ajrice6713](https://github.com/ajrice6713))\\n- Abdelrahman Ahmed ([@abahmed](https://github.com/abahmed))\\n- Alexandru Grigoras ([@alexgrigoras](https://github.com/alexgrigoras))\\n- Amir M. Mohamadi ([@amir2mi](https://github.com/amir2mi))\\n- Anthony McCaigue ([@antmcc49](https://github.com/antmcc49))\\n- Armano ([@armano2](https://github.com/armano2))\\n- Brendan Nee ([@brendannee](https://github.com/brendannee))\\n- Chen ([@HiChen404](https://github.com/HiChen404))\\n- Davide Bianchi ([@davidebianchi](https://github.com/davidebianchi))\\n- Devtato ([@cerkiewny](https://github.com/cerkiewny))\\n- Edouard Bonlieu ([@edouardb](https://github.com/edouardb))\\n- Feodor Fitsner ([@FeodorFitsner](https://github.com/FeodorFitsner))\\n- Filipe Guerra ([@alias-mac](https://github.com/alias-mac))\\n- Gabriel Csapo ([@gabrielcsapo](https://github.com/gabrielcsapo))\\n- Jake Witz ([@jwitz](https://github.com/jwitz))\\n- Jeffrey Aven ([@jeffreyaven](https://github.com/jeffreyaven))\\n- Jody Heavener ([@jodyheavener](https://github.com/jodyheavener))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Joseph ([@josephriosIO](https://github.com/josephriosIO))\\n- Josh Goldberg ([@JoshuaKGoldberg](https://github.com/JoshuaKGoldberg))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Kaustubh Kulkarni ([@kaustubhk24](https://github.com/kaustubhk24))\\n- Lars Mikkelsen ([@ltm](https://github.com/ltm))\\n- Mikey O\'Toole ([@homotechsual](https://github.com/homotechsual))\\n- Minh Pham ([@lmpham1](https://github.com/lmpham1))\\n- Morooka Kotaro ([@MorookaKotaro](https://github.com/MorookaKotaro))\\n- Nayan Patel ([@PatelN123](https://github.com/PatelN123))\\n- Nick Schonning ([@nschonni](https://github.com/nschonni))\\n- Pranab Das ([@pranabdas](https://github.com/pranabdas))\\n- Reece Dunham ([@RDIL](https://github.com/RDIL))\\n- Rishi Raj Jain ([@rishi-raj-jain](https://github.com/rishi-raj-jain))\\n- Sanjay Soundarajan ([@megasanjay](https://github.com/megasanjay))\\n- Shun Wakatsuki ([@shwaka](https://github.com/shwaka))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tapan Chudasama ([@tapanchudasama](https://github.com/tapanchudasama))\\n- Vaibhav Shinde ([@vaibhavshn](https://github.com/vaibhavshn))\\n- Vandr\xe9 Leal ([@vandreleal](https://github.com/vandreleal))\\n- Yaroslav Serhieiev ([@noomorph](https://github.com/noomorph))\\n- [@mcallisto](https://github.com/mcallisto)\\n- [@ruanqizhen](https://github.com/ruanqizhen)\\n- [@wood3n](https://github.com/wood3n)\\n- kuizuo ([@kuizuo](https://github.com/kuizuo))\\n- sgenoud ([@sgenoud](https://github.com/sgenoud))\\n- trent ([@roydukkey](https://github.com/roydukkey))\\n- \xd6mer Faruk APLAK ([@omeraplak](https://github.com/omeraplak))\\n- \u4E45\u67D3 | JiuRan ([@1084350607](https://github.com/1084350607))"},{"id":"/2.0.0-beta.14","metadata":{"permalink":"/changelog/2.0.0-beta.14","source":"@site/changelog/source/2.0.0-beta.14.md","title":"2.0.0-beta.14","description":"New Feature","date":"2021-12-21T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"6543","alias":"6543","url":"https://github.com/6543","imageURL":"https://github.com/6543.png","key":"6543","page":null},{"name":"Christopher Klint","alias":"christopherklint97","url":"https://github.com/christopherklint97","imageURL":"https://github.com/christopherklint97.png","key":"christopherklint97","page":null},{"name":"colton","alias":"cmpadden","url":"https://github.com/cmpadden","imageURL":"https://github.com/cmpadden.png","key":"cmpadden","page":null},{"name":"Drylozu","alias":"Drylozu","url":"https://github.com/Drylozu","imageURL":"https://github.com/Drylozu.png","key":"Drylozu","page":null},{"name":"Jeroen Claassens","alias":"favna","url":"https://github.com/favna","imageURL":"https://github.com/favna.png","key":"favna","page":null},{"name":"Harsh Mishra","alias":"HarshCasper","url":"https://github.com/HarshCasper","imageURL":"https://github.com/HarshCasper.png","key":"HarshCasper","page":null},{"name":"Himanshu","alias":"himanshu007-creator","url":"https://github.com/himanshu007-creator","imageURL":"https://github.com/himanshu007-creator.png","key":"himanshu007-creator","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Kristoffer K.","alias":"merceyz","url":"https://github.com/merceyz","imageURL":"https://github.com/merceyz.png","key":"merceyz","page":null},{"name":"Yaroslav Serhieiev","alias":"noomorph","url":"https://github.com/noomorph","imageURL":"https://github.com/noomorph.png","key":"noomorph","page":null},{"name":"\u4E0D\u90D1","alias":"notzheng","url":"https://github.com/notzheng","imageURL":"https://github.com/notzheng.png","key":"notzheng","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Ziv","alias":"wewoor","url":"https://github.com/wewoor","imageURL":"https://github.com/wewoor.png","key":"wewoor","page":null},{"name":"Shubhendra Singh Chauhan","alias":"withshubh","url":"https://github.com/withshubh","imageURL":"https://github.com/withshubh.png","key":"withshubh","page":null},{"name":"Wout Vandesompele","alias":"wowtvds","url":"https://github.com/wowtvds","imageURL":"https://github.com/wowtvds.png","key":"wowtvds","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-21T20:00","authors":["6543","christopherklint97","cmpadden","Drylozu","favna","HarshCasper","himanshu007-creator","Josh-Cena","lex111","merceyz","noomorph","notzheng","slorber","wewoor","withshubh","wowtvds","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.15","permalink":"/changelog/2.0.0-beta.15"},"nextItem":{"title":"2.0.0-beta.13","permalink":"/changelog/2.0.0-beta.13"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6132](https://github.com/facebook/docusaurus/pull/6132) feat(theme-classic): new configuration syntax for a simple footer ([@christopherklint97](https://github.com/christopherklint97))\\n - [#6125](https://github.com/facebook/docusaurus/pull/6125) feat(theme-common): stable classname for code blocks ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#5848](https://github.com/facebook/docusaurus/pull/5848) feat(theme-classic): standalone Admonition component ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6082](https://github.com/facebook/docusaurus/pull/6082) feat(theme-classic): allow passing additional attributes to tab headings ([@Drylozu](https://github.com/Drylozu))\\n- `docusaurus-plugin-content-blog`\\n - [#6126](https://github.com/facebook/docusaurus/pull/6126) feat(content-blog): support json feed ([@notzheng](https://github.com/notzheng))\\n- `docusaurus`\\n - [#6107](https://github.com/facebook/docusaurus/pull/6107) feat(core): allow plugins to customize/override Webpack devServer config ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-migrate`\\n - [#6146](https://github.com/facebook/docusaurus/pull/6146) fix(migrate): do not modify non-MD files ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#6128](https://github.com/facebook/docusaurus/pull/6128) fix: do not use aria-hidden in heading anchor links ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`\\n - [#6124](https://github.com/facebook/docusaurus/pull/6124) fix(content-docs): restore behavior when pagination front matter is null ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6085](https://github.com/facebook/docusaurus/pull/6085) fix(content-docs): getMainDocId should return doc with both versioned or unversioned id ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-utils-validation`\\n - [#6097](https://github.com/facebook/docusaurus/pull/6097) fix: declare missing dependencies ([@merceyz](https://github.com/merceyz))\\n- `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-pwa`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `lqip-loader`\\n - [#6094](https://github.com/facebook/docusaurus/pull/6094) fix: add missing dependencies on tslib ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-translations`\\n - [#6088](https://github.com/facebook/docusaurus/pull/6088) fix(theme-translations): publish theme-translation lib, including typedef ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#6053](https://github.com/facebook/docusaurus/pull/6053) feat(theme-classic): allow stylizing doc paginator arrows ([@noomorph](https://github.com/noomorph))\\n - [#6121](https://github.com/facebook/docusaurus/pull/6121) fix(theme-classic): add outline to focused code blocks ([@christopherklint97](https://github.com/christopherklint97))\\n - [#6118](https://github.com/facebook/docusaurus/pull/6118) refactor: remove some useless code ([@lex111](https://github.com/lex111))\\n- `create-docusaurus`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#5994](https://github.com/facebook/docusaurus/pull/5994) refactor: unify log format with new logger utility ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#6119](https://github.com/facebook/docusaurus/pull/6119) fix(create-docusaurus): make initial editUrl functional ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6095](https://github.com/facebook/docusaurus/pull/6095) fix(create-docusaurus): give a clearer message when installation failed ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :memo: Documentation\\n\\n- [#6142](https://github.com/facebook/docusaurus/pull/6142) docs: normalize usage of placeholders ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#5918](https://github.com/facebook/docusaurus/pull/5918) docs: refactor & refine lifecycle API docs ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#6138](https://github.com/facebook/docusaurus/pull/6138) docs: add Smart Docs to showcase ([@wowtvds](https://github.com/wowtvds))\\n- [#6137](https://github.com/facebook/docusaurus/pull/6137) docs: add ToolJet to showcase ([@withshubh](https://github.com/withshubh))\\n- [#6141](https://github.com/facebook/docusaurus/pull/6141) docs: add WoodpeckerCI to showcase ([@6543](https://github.com/6543))\\n- [#6135](https://github.com/facebook/docusaurus/pull/6135) docs: mention admonition quirks with Prettier ([@yangshun](https://github.com/yangshun))\\n- [#6131](https://github.com/facebook/docusaurus/pull/6131) docs: elaborate on \\"docs-only\\" and \\"blog-only\\" ([@himanshu007-creator](https://github.com/himanshu007-creator))\\n- [#6134](https://github.com/facebook/docusaurus/pull/6134) docs: update link to init template README.md ([@cmpadden](https://github.com/cmpadden))\\n- [#6130](https://github.com/facebook/docusaurus/pull/6130) docs: refactor docs sidebar doc ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#6129](https://github.com/facebook/docusaurus/pull/6129) docs: refactor styling/theming docs ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#6112](https://github.com/facebook/docusaurus/pull/6112) docs: mention that SEO through front matter is better than head tag ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#6120](https://github.com/facebook/docusaurus/pull/6120) refactor(website): make deploy preview open next version docs by default ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#6111](https://github.com/facebook/docusaurus/pull/6111) docs: add Molecule website to showcase ([@wewoor](https://github.com/wewoor))\\n- [#6089](https://github.com/facebook/docusaurus/pull/6089) docs: add Enarx website to showcase ([@HarshCasper](https://github.com/HarshCasper))\\n- [#6090](https://github.com/facebook/docusaurus/pull/6090) docs: add sapphire to showcase ([@favna](https://github.com/favna))\\n- [#6091](https://github.com/facebook/docusaurus/pull/6091) docs(showcase): \\"much more pages\\" => \\"many more pages\\" ([@favna](https://github.com/favna))\\n\\n## :house: Internal\\n\\n- `docusaurus-theme-classic`\\n - [#6144](https://github.com/facebook/docusaurus/pull/6144) fix(theme-classic): fix translation when footer has no links ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`\\n - [#6143](https://github.com/facebook/docusaurus/pull/6143) test: fix async tests resolved in random order ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6123](https://github.com/facebook/docusaurus/pull/6123) test: use snapshots for sidebar tests ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Other\\n - [#6122](https://github.com/facebook/docusaurus/pull/6122) fix(website): fix yarn build:website:fast ([@slorber](https://github.com/slorber))\\n - [#6080](https://github.com/facebook/docusaurus/pull/6080) chore: add npm and pnpm to E2E tests ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-cssnano-preset`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#6092](https://github.com/facebook/docusaurus/pull/6092) misc: ignore some files during npm publish ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 17\\n\\n- 6543 ([@6543](https://github.com/6543))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Christopher Klint ([@christopherklint97](https://github.com/christopherklint97))\\n- Harsh Mishra ([@HarshCasper](https://github.com/HarshCasper))\\n- Himanshu ([@himanshu007-creator](https://github.com/himanshu007-creator))\\n- Jeroen Claassens ([@favna](https://github.com/favna))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Kristoffer K. ([@merceyz](https://github.com/merceyz))\\n- Shubhendra Singh Chauhan ([@withshubh](https://github.com/withshubh))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Wout Vandesompele ([@wowtvds](https://github.com/wowtvds))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- Yaroslav Serhieiev ([@noomorph](https://github.com/noomorph))\\n- Ziv ([@wewoor](https://github.com/wewoor))\\n- [@Drylozu](https://github.com/Drylozu)\\n- colton ([@cmpadden](https://github.com/cmpadden))\\n- \u4E0D\u90D1 ([@notzheng](https://github.com/notzheng))"},{"id":"/2.0.0-beta.13","metadata":{"permalink":"/changelog/2.0.0-beta.13","source":"@site/changelog/source/2.0.0-beta.13.md","title":"2.0.0-beta.13","description":"Good npm publish, same code as beta.11","date":"2021-12-10T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-10T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-beta.14","permalink":"/changelog/2.0.0-beta.14"},"nextItem":{"title":"2.0.0-beta.12","permalink":"/changelog/2.0.0-beta.12"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\nGood npm publish, same code as beta.11"},{"id":"/2.0.0-beta.12","metadata":{"permalink":"/changelog/2.0.0-beta.12","source":"@site/changelog/source/2.0.0-beta.12.md","title":"2.0.0-beta.12","description":"Bad npm publish, use beta.13 instead","date":"2021-12-10T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-10T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-beta.13","permalink":"/changelog/2.0.0-beta.13"},"nextItem":{"title":"2.0.0-beta.11","permalink":"/changelog/2.0.0-beta.11"},"listPageLink":"/changelog/page/2"},"content":"\x3c!-- truncate --\x3e\\n\\nBad npm publish, use beta.13 instead"},{"id":"/2.0.0-beta.11","metadata":{"permalink":"/changelog/2.0.0-beta.11","source":"@site/changelog/source/2.0.0-beta.11.md","title":"2.0.0-beta.11","description":"Bug Fix","date":"2021-12-10T18:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-10T18:00","authors":["pranabdas","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.12","permalink":"/changelog/2.0.0-beta.12"},"nextItem":{"title":"2.0.0-beta.10","permalink":"/changelog/2.0.0-beta.10"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`\\n - [#6078](https://github.com/facebook/docusaurus/pull/6078) fix: move docusaurus core back to hard dependencies ([@pranabdas](https://github.com/pranabdas))\\n\\n## Committers: 2\\n\\n- Pranab Das ([@pranabdas](https://github.com/pranabdas))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))"},{"id":"/2.0.0-beta.10","metadata":{"permalink":"/changelog/2.0.0-beta.10","source":"@site/changelog/source/2.0.0-beta.10.md","title":"2.0.0-beta.10","description":"New Feature","date":"2021-12-09T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Afshin Mehrabani","alias":"afshinm","url":"https://github.com/afshinm","imageURL":"https://github.com/afshinm.png","key":"afshinm","page":null},{"name":"Rohit Agrawal","alias":"agrawal-rohit","url":"https://github.com/agrawal-rohit","imageURL":"https://github.com/agrawal-rohit.png","key":"agrawal-rohit","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"Christophe Chaudier","alias":"cchaudier","url":"https://github.com/cchaudier","imageURL":"https://github.com/cchaudier.png","key":"cchaudier","page":null},{"name":"Devtato","alias":"cerkiewny","url":"https://github.com/cerkiewny","imageURL":"https://github.com/cerkiewny.png","key":"cerkiewny","page":null},{"name":"chima ilo","alias":"chimailo","url":"https://github.com/chimailo","imageURL":"https://github.com/chimailo.png","key":"chimailo","page":null},{"name":"Shoaib Sajid","alias":"dexbiobot","url":"https://github.com/dexbiobot","imageURL":"https://github.com/dexbiobot.png","key":"dexbiobot","page":null},{"name":"Don","alias":"dsmmcken","url":"https://github.com/dsmmcken","imageURL":"https://github.com/dsmmcken.png","key":"dsmmcken","page":null},{"name":"duanwilliam","alias":"duanwilliam","url":"https://github.com/duanwilliam","imageURL":"https://github.com/duanwilliam.png","key":"duanwilliam","page":null},{"name":"Dmitriy Fishman","alias":"fishmandev","url":"https://github.com/fishmandev","imageURL":"https://github.com/fishmandev.png","key":"fishmandev","page":null},{"name":"Fernando Maia","alias":"fsmaia","url":"https://github.com/fsmaia","imageURL":"https://github.com/fsmaia.png","key":"fsmaia","page":null},{"name":"Hendrik Bulens","alias":"hbulens","url":"https://github.com/hbulens","imageURL":"https://github.com/hbulens.png","key":"hbulens","page":null},{"name":"Hemant Sachdeva","alias":"HemantSachdeva","url":"https://github.com/HemantSachdeva","imageURL":"https://github.com/HemantSachdeva.png","key":"HemantSachdeva","page":null},{"name":"Jarar","alias":"JararvisQ","url":"https://github.com/JararvisQ","imageURL":"https://github.com/JararvisQ.png","key":"JararvisQ","page":null},{"name":"Jeff Shillitto","alias":"jeffski","url":"https://github.com/jeffski","imageURL":"https://github.com/jeffski.png","key":"jeffski","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Matej Jellus","alias":"juffalow","url":"https://github.com/juffalow","imageURL":"https://github.com/juffalow.png","key":"juffalow","page":null},{"name":"\u741A\u81F4\u8FDC","alias":"juzhiyuan","url":"https://github.com/juzhiyuan","imageURL":"https://github.com/juzhiyuan.png","key":"juzhiyuan","page":null},{"name":"Konstantin Popov","alias":"KonstHardy","url":"https://github.com/KonstHardy","imageURL":"https://github.com/KonstHardy.png","key":"KonstHardy","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Ludovico Fischer","alias":"ludofischer","url":"https://github.com/ludofischer","imageURL":"https://github.com/ludofischer.png","key":"ludofischer","page":null},{"name":"Martin \u0160o\u0161i\u0107","alias":"Martinsos","url":"https://github.com/Martinsos","imageURL":"https://github.com/Martinsos.png","key":"Martinsos","page":null},{"name":"Matthijs Groen","alias":"matthijsgroen","url":"https://github.com/matthijsgroen","imageURL":"https://github.com/matthijsgroen.png","key":"matthijsgroen","page":null},{"name":"MisterFISHUP","alias":"MisterFISHUP","url":"https://github.com/MisterFISHUP","imageURL":"https://github.com/MisterFISHUP.png","key":"MisterFISHUP","page":null},{"name":"Molly White","alias":"molly","url":"https://github.com/molly","imageURL":"https://github.com/molly.png","key":"molly","page":null},{"name":"Morooka Kotaro","alias":"MorookaKotaro","url":"https://github.com/MorookaKotaro","imageURL":"https://github.com/MorookaKotaro.png","key":"MorookaKotaro","page":null},{"name":"Oliver Ullman","alias":"oriooctopus","url":"https://github.com/oriooctopus","imageURL":"https://github.com/oriooctopus.png","key":"oriooctopus","page":null},{"name":"pal-sig","alias":"pal-sig","url":"https://github.com/pal-sig","imageURL":"https://github.com/pal-sig.png","key":"pal-sig","page":null},{"name":"Patitotective","alias":"Patitotective","url":"https://github.com/Patitotective","imageURL":"https://github.com/Patitotective.png","key":"Patitotective","page":null},{"name":"Patrik M\xe4siar","alias":"patrikmasiar","url":"https://github.com/patrikmasiar","imageURL":"https://github.com/patrikmasiar.png","key":"patrikmasiar","page":null},{"name":"Paul Biggar","alias":"pbiggar","url":"https://github.com/pbiggar","imageURL":"https://github.com/pbiggar.png","key":"pbiggar","page":null},{"name":"Brennan Kinney","alias":"polarathene","url":"https://github.com/polarathene","imageURL":"https://github.com/polarathene.png","key":"polarathene","page":null},{"name":"Yongmin Hong","alias":"revi","url":"https://github.com/revi","imageURL":"https://github.com/revi.png","key":"revi","page":null},{"name":"Robin M\xe9tral","alias":"robinmetral","url":"https://github.com/robinmetral","imageURL":"https://github.com/robinmetral.png","key":"robinmetral","page":null},{"name":"Ronny Roeller","alias":"ronnyroeller","url":"https://github.com/ronnyroeller","imageURL":"https://github.com/ronnyroeller.png","key":"ronnyroeller","page":null},{"name":"Ivan Boothe","alias":"rootwork","url":"https://github.com/rootwork","imageURL":"https://github.com/rootwork.png","key":"rootwork","page":null},{"name":"Rey","alias":"rsapkf","url":"https://github.com/rsapkf","imageURL":"https://github.com/rsapkf.png","key":"rsapkf","page":null},{"name":"Sergio Moreno","alias":"semoal","url":"https://github.com/semoal","imageURL":"https://github.com/semoal.png","key":"semoal","page":null},{"name":"Can Olcer","alias":"shafy","url":"https://github.com/shafy","imageURL":"https://github.com/shafy.png","key":"shafy","page":null},{"name":"Varun Sivapalan","alias":"sivapalan","url":"https://github.com/sivapalan","imageURL":"https://github.com/sivapalan.png","key":"sivapalan","page":null},{"name":"Sharon Koech","alias":"skoech","url":"https://github.com/skoech","imageURL":"https://github.com/skoech.png","key":"skoech","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Soham Shah","alias":"sohamsshah","url":"https://github.com/sohamsshah","imageURL":"https://github.com/sohamsshah.png","key":"sohamsshah","page":null},{"name":"Paden Clayton","alias":"spyke01","url":"https://github.com/spyke01","imageURL":"https://github.com/spyke01.png","key":"spyke01","page":null},{"name":"Stan Kocken","alias":"StanKocken","url":"https://github.com/StanKocken","imageURL":"https://github.com/StanKocken.png","key":"StanKocken","page":null},{"name":"Swalah Amani","alias":"swalahamani","url":"https://github.com/swalahamani","imageURL":"https://github.com/swalahamani.png","key":"swalahamani","page":null},{"name":"Swapnil M Mane","alias":"swapnilmmane","url":"https://github.com/swapnilmmane","imageURL":"https://github.com/swapnilmmane.png","key":"swapnilmmane","page":null},{"name":"William Poetra Yoga","alias":"wpyoga","url":"https://github.com/wpyoga","imageURL":"https://github.com/wpyoga.png","key":"wpyoga","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-09T20:00","authors":["afshinm","agrawal-rohit","armano2","cchaudier","cerkiewny","chimailo","dexbiobot","dsmmcken","duanwilliam","fishmandev","fsmaia","hbulens","HemantSachdeva","JararvisQ","jeffski","Josh-Cena","juffalow","juzhiyuan","KonstHardy","lex111","ludofischer","Martinsos","matthijsgroen","MisterFISHUP","molly","MorookaKotaro","oriooctopus","pal-sig","Patitotective","patrikmasiar","pbiggar","polarathene","revi","robinmetral","ronnyroeller","rootwork","rsapkf","semoal","shafy","sivapalan","skoech","slorber","sohamsshah","spyke01","StanKocken","swalahamani","swapnilmmane","wpyoga"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.11","permalink":"/changelog/2.0.0-beta.11"},"nextItem":{"title":"2.0.0-beta.9","permalink":"/changelog/2.0.0-beta.9"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `create-docusaurus`, `docusaurus-types`, `docusaurus`\\n - [#5930](https://github.com/facebook/docusaurus/pull/5930) feat: shorthands for themes/plugins/presets configuration ([@fsmaia](https://github.com/fsmaia))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`, `docusaurus-utils`, `docusaurus`\\n - [#5830](https://github.com/facebook/docusaurus/pull/5830) feat(content-docs): sidebar category linking to document or auto-generated index page ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-types`, `docusaurus`\\n - [#4095](https://github.com/facebook/docusaurus/pull/4095) feat(core): allow sourcing from multiple static directories ([@oriooctopus](https://github.com/oriooctopus))\\n- `create-docusaurus`\\n - [#3458](https://github.com/facebook/docusaurus/pull/3458) feat(create-docusaurus): allow using local folder as template ([@afshinm](https://github.com/afshinm))\\n- `docusaurus-plugin-content-blog`\\n - [#5787](https://github.com/facebook/docusaurus/pull/5787) feat(content-blog): allow sorting posts in ascending order ([@cerkiewny](https://github.com/cerkiewny))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus`\\n - [#3104](https://github.com/facebook/docusaurus/pull/3104) feat(core): Add React ErrorBoundary component + theme default boundaries ([@spyke01](https://github.com/spyke01))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-plugin-content-blog`\\n - [#6061](https://github.com/facebook/docusaurus/pull/6061) fix(content-blog): make post ID unique ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`, `docusaurus-plugin-content-docs`\\n - [#6065](https://github.com/facebook/docusaurus/pull/6065) refactor: remove deprecated docs homePageId option ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`\\n - [#6056](https://github.com/facebook/docusaurus/pull/6056) refactor: remove unused metadata field for homepage ([@lex111](https://github.com/lex111))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-translations`, `docusaurus-utils`, `docusaurus`\\n - [#5830](https://github.com/facebook/docusaurus/pull/5830) feat(content-docs): sidebar category linking to document or auto-generated index page ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-preset-classic`\\n - [#5832](https://github.com/facebook/docusaurus/pull/5832) refactor(ganalytics, gtag): move options out of themeConfig ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-utils`\\n - [#5871](https://github.com/facebook/docusaurus/pull/5871) misc: replace all \\"Metadatas\\" with \\"Metadata\\" ([@swalahamani](https://github.com/swalahamani))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-common`\\n - [#6070](https://github.com/facebook/docusaurus/pull/6070) fix(theme-common): useLocationChange fire un-necessarily twice ([@slorber](https://github.com/slorber))\\n - [#6040](https://github.com/facebook/docusaurus/pull/6040) fix: browser storage (localStorage) is unreliable: api should fail-safe ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#6047](https://github.com/facebook/docusaurus/pull/6047) fix: make Docusaurus PnP strict mode compatible ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#6052](https://github.com/facebook/docusaurus/pull/6052) fix(core): fix error boundary import disrupting CSS order ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`\\n - [#6061](https://github.com/facebook/docusaurus/pull/6061) fix(content-blog): make post ID unique ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#5983](https://github.com/facebook/docusaurus/pull/5983) fix(core): do not apply theme-init alias to user component ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5798](https://github.com/facebook/docusaurus/pull/5798) fix(cli): update notifier should be shown if current is less than latest ([@semoal](https://github.com/semoal))\\n - [#5864](https://github.com/facebook/docusaurus/pull/5864) fix: respect base URL when serving content by webpack dev server ([@lex111](https://github.com/lex111))\\n- `docusaurus-module-type-aliases`\\n - [#5945](https://github.com/facebook/docusaurus/pull/5945) fix(module-type-aliases): add svg declaration ([@MisterFISHUP](https://github.com/MisterFISHUP))\\n- `docusaurus-theme-classic`\\n - [#5873](https://github.com/facebook/docusaurus/pull/5873) fix(theme-classic): fix announcementBar css ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#6003](https://github.com/facebook/docusaurus/pull/6003) fix(theme-classic): make nav dropdowns focusable ([@robinmetral](https://github.com/robinmetral))\\n - [#6000](https://github.com/facebook/docusaurus/pull/6000) fix(theme-classic): make hash link in heading not selectable ([@JararvisQ](https://github.com/JararvisQ))\\n - [#5944](https://github.com/facebook/docusaurus/pull/5944) fix: translate all remaining english sentence in French ([@StanKocken](https://github.com/StanKocken))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#6048](https://github.com/facebook/docusaurus/pull/6048) refactor: capitalize locales when creating i18n config ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-translations`\\n - [#5976](https://github.com/facebook/docusaurus/pull/5976) feat(theme-translations): add extra Korean translation, fix typo ([@revi](https://github.com/revi))\\n - [#6060](https://github.com/facebook/docusaurus/pull/6060) chore(theme-translations): complete Chinese translations ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`, `docusaurus-plugin-content-docs`\\n - [#6065](https://github.com/facebook/docusaurus/pull/6065) refactor: remove deprecated docs homePageId option ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`\\n - [#6056](https://github.com/facebook/docusaurus/pull/6056) refactor: remove unused metadata field for homepage ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#6049](https://github.com/facebook/docusaurus/pull/6049) refactor: simplify Toggle component ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-types`\\n - [#5981](https://github.com/facebook/docusaurus/pull/5981) refactor: minor ESLint improvements ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-pwa`\\n - [#5995](https://github.com/facebook/docusaurus/pull/5995) chore(plugin-pwa): change core-js version in package.json to v3 ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-utils`\\n - [#5849](https://github.com/facebook/docusaurus/pull/5849) refactor: define own translations in other themes ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-types`\\n - [#5959](https://github.com/facebook/docusaurus/pull/5959) refactor(types): correct HtmlTags types ([@armano2](https://github.com/armano2))\\n- `docusaurus`\\n - [#5829](https://github.com/facebook/docusaurus/pull/5829) refactor: optimize clone and checkout in deploy command ([@sivapalan](https://github.com/sivapalan))\\n - [#5899](https://github.com/facebook/docusaurus/pull/5899) feat(core): give more hints when plugins have duplicate IDs ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-preset-classic`\\n - [#5832](https://github.com/facebook/docusaurus/pull/5832) refactor(ganalytics, gtag): move options out of themeConfig ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus`\\n - [#5840](https://github.com/facebook/docusaurus/pull/5840) feat: allow GIT_USER env var to be unset if SSH is used ([@wpyoga](https://github.com/wpyoga))\\n- `create-docusaurus`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-utils`\\n - [#5871](https://github.com/facebook/docusaurus/pull/5871) misc: replace all \\"Metadatas\\" with \\"Metadata\\" ([@swalahamani](https://github.com/swalahamani))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#6063](https://github.com/facebook/docusaurus/pull/6063) docs: add moja global to showcase ([@sohamsshah](https://github.com/sohamsshah))\\n - [#6069](https://github.com/facebook/docusaurus/pull/6069) docs: update CONTRIBUTING for website ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6062](https://github.com/facebook/docusaurus/pull/6062) refactor(website): improve wording in comments of showcase data ([@sohamsshah](https://github.com/sohamsshah))\\n - [#6045](https://github.com/facebook/docusaurus/pull/6045) docs: add \\"discord resources\\" to showcase ([@dexbiobot](https://github.com/dexbiobot))\\n - [#6026](https://github.com/facebook/docusaurus/pull/6026) docs(deployment): add cost-benefit analysis with different options ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5955](https://github.com/facebook/docusaurus/pull/5955) docs: add Pearl UI website to showcase ([@agrawal-rohit](https://github.com/agrawal-rohit))\\n - [#5989](https://github.com/facebook/docusaurus/pull/5989) misc: update CONTRIBUTING to reflect status quo ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5845](https://github.com/facebook/docusaurus/pull/5845) docs(admin): update repo testing instructions to reflect v2 ([@wpyoga](https://github.com/wpyoga))\\n - [#6019](https://github.com/facebook/docusaurus/pull/6019) docs: update Netlify url config option in deployment instructions ([@rsapkf](https://github.com/rsapkf))\\n - [#6015](https://github.com/facebook/docusaurus/pull/6015) docs: add Tremor website to showcase page ([@skoech](https://github.com/skoech))\\n - [#5997](https://github.com/facebook/docusaurus/pull/5997) refactor(website): various fixes and improvements on Showcase page ([@lex111](https://github.com/lex111))\\n - [#6008](https://github.com/facebook/docusaurus/pull/6008) docs: improve algolia integration instructions ([@shafy](https://github.com/shafy))\\n - [#6006](https://github.com/facebook/docusaurus/pull/6006) docs: improve explanation for url config in GH Pages ([@Martinsos](https://github.com/Martinsos))\\n - [#6001](https://github.com/facebook/docusaurus/pull/6001) docs: add Dime.Scheduler SDK to showcase ([@hbulens](https://github.com/hbulens))\\n - [#5984](https://github.com/facebook/docusaurus/pull/5984) docs: add PREFS website to showcase ([@Patitotective](https://github.com/Patitotective))\\n - [#5967](https://github.com/facebook/docusaurus/pull/5967) docs(website): Add docsearch migration blog post ([@slorber](https://github.com/slorber))\\n - [#5968](https://github.com/facebook/docusaurus/pull/5968) refactor(website): shadow on showcase toggle ([@dsmmcken](https://github.com/dsmmcken))\\n - [#5979](https://github.com/facebook/docusaurus/pull/5979) docs: update links to default translations dir ([@lex111](https://github.com/lex111))\\n - [#5969](https://github.com/facebook/docusaurus/pull/5969) refactor(website): polish on Showcase page ([@slorber](https://github.com/slorber))\\n - [#5966](https://github.com/facebook/docusaurus/pull/5966) docs: add Darklang to showcase ([@pbiggar](https://github.com/pbiggar))\\n - [#5970](https://github.com/facebook/docusaurus/pull/5970) docs: add Remirror to showcase ([@ronnyroeller](https://github.com/ronnyroeller))\\n - [#5971](https://github.com/facebook/docusaurus/pull/5971) docs: add Webiny docs to showcase page ([@swapnilmmane](https://github.com/swapnilmmane))\\n - [#5953](https://github.com/facebook/docusaurus/pull/5953) docs: fix BrowserOnly return statement ([@MorookaKotaro](https://github.com/MorookaKotaro))\\n - [#5949](https://github.com/facebook/docusaurus/pull/5949) docs: update Signoz showcase details ([@pal-sig](https://github.com/pal-sig))\\n - [#5948](https://github.com/facebook/docusaurus/pull/5948) fix(website): fix APITable anchor ID having extra hash ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5947](https://github.com/facebook/docusaurus/pull/5947) fix(website): fix APITable anchor link ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5925](https://github.com/facebook/docusaurus/pull/5925) docs: add Froggit site to showcase page ([@cchaudier](https://github.com/cchaudier))\\n - [#5928](https://github.com/facebook/docusaurus/pull/5928) docs: Add Shotstack showcase user ([@jeffski](https://github.com/jeffski))\\n - [#5934](https://github.com/facebook/docusaurus/pull/5934) docs: fix a typo in CHANGELOG ([@KonstHardy](https://github.com/KonstHardy))\\n - [#5921](https://github.com/facebook/docusaurus/pull/5921) docs: add Signoz site to showcase site ([@pal-sig](https://github.com/pal-sig))\\n - [#5891](https://github.com/facebook/docusaurus/pull/5891) docs: new APITable comp to render large tables ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5917](https://github.com/facebook/docusaurus/pull/5917) docs: make API sidebar partially autogenerated ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5903](https://github.com/facebook/docusaurus/pull/5903) docs: refer to deployed branch as deployment rather than target ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5902](https://github.com/facebook/docusaurus/pull/5902) fix(website): fix i18n routes for Canny board ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5900](https://github.com/facebook/docusaurus/pull/5900) docs: document global variables in MDX scope ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#4409](https://github.com/facebook/docusaurus/pull/4409) docs: add example for GitHub Pages deployment; rewrite deployment section ([@polarathene](https://github.com/polarathene))\\n - [#5888](https://github.com/facebook/docusaurus/pull/5888) docs: update GitHub deployment instructions ([@rootwork](https://github.com/rootwork))\\n - [#5895](https://github.com/facebook/docusaurus/pull/5895) docs: Add juffalow.com to Docusaurus showcase ([@juffalow](https://github.com/juffalow))\\n - [#5881](https://github.com/facebook/docusaurus/pull/5881) docs: fix wrong code sample in docusaurus-core ([@matthijsgroen](https://github.com/matthijsgroen))\\n - [#5875](https://github.com/facebook/docusaurus/pull/5875) docs: add patrikmasiar website showcase ([@patrikmasiar](https://github.com/patrikmasiar))\\n - [#5876](https://github.com/facebook/docusaurus/pull/5876) docs: \'5 minutes tutorial\' -> \'5-minute tutorial\' ([@molly](https://github.com/molly))\\n - [#5759](https://github.com/facebook/docusaurus/pull/5759) docs: create SEO documentation page ([@cerkiewny](https://github.com/cerkiewny))\\n - [#5869](https://github.com/facebook/docusaurus/pull/5869) docs: remove duplicated appId property ([@juzhiyuan](https://github.com/juzhiyuan))\\n - [#5868](https://github.com/facebook/docusaurus/pull/5868) docs: fix a typo in using-themes.md ([@fishmandev](https://github.com/fishmandev))\\n - [#5862](https://github.com/facebook/docusaurus/pull/5862) misc: show only latest archive alpha/beta versions dropdown ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#5742](https://github.com/facebook/docusaurus/pull/5742) feat(website): redesign of showcase page ([@chimailo](https://github.com/chimailo))\\n\\n## :house: Internal\\n\\n- `create-docusaurus`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-common`, `docusaurus-theme-translations`, `docusaurus-utils-validation`, `docusaurus`\\n - [#6071](https://github.com/facebook/docusaurus/pull/6071) refactor: add blank lines below all copyright headers ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Other\\n - [#6068](https://github.com/facebook/docusaurus/pull/6068) chore: add prefix to needs triage label; separate Windows test workflow ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6031](https://github.com/facebook/docusaurus/pull/6031) chore: upgrade netlify-cli ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6012](https://github.com/facebook/docusaurus/pull/6012) chore(website): enable strict compiler option ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#6002](https://github.com/facebook/docusaurus/pull/6002) chore(ci): add GitHub action for showcase testing ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5977](https://github.com/facebook/docusaurus/pull/5977) chore: generate dogfooding test for long pathname during CI ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5950](https://github.com/facebook/docusaurus/pull/5950) misc(codeowners): add @Josh-Cena to CODEOWNERS ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5919](https://github.com/facebook/docusaurus/pull/5919) misc(workflow): E2E tests should not be run with website changes ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5907](https://github.com/facebook/docusaurus/pull/5907) chore(workflow): merge jobs into one workflow & give each job a name ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5889](https://github.com/facebook/docusaurus/pull/5889) chore(website): enable eslint in website ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5870](https://github.com/facebook/docusaurus/pull/5870) chore(README): fix broken GitHub Actions Workflow Status icon ([@HemantSachdeva](https://github.com/HemantSachdeva))\\n- `docusaurus-module-type-aliases`, `docusaurus-types`, `docusaurus`\\n - [#6064](https://github.com/facebook/docusaurus/pull/6064) refactor(core): fix types for client code ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-theme-translations`, `docusaurus-utils`, `docusaurus`\\n - [#6055](https://github.com/facebook/docusaurus/pull/6055) chore: clean up dev dependency declarations ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus-plugin-ideal-image`, `docusaurus-theme-classic`\\n - [#6010](https://github.com/facebook/docusaurus/pull/6010) chore: upgrade prettier; rename prettier scripts as format ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`, `docusaurus`\\n - [#5958](https://github.com/facebook/docusaurus/pull/5958) chore: update @svgr/webpack to version 6 ([@ludofischer](https://github.com/ludofischer))\\n- `docusaurus`\\n - [#5998](https://github.com/facebook/docusaurus/pull/5998) chore: upgrade webpack-dev-server to v4.5.0 ([@lex111](https://github.com/lex111))\\n - [#5965](https://github.com/facebook/docusaurus/pull/5965) fix(core): apply staticDirectories to base webpack config ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-ideal-image`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-common`, `docusaurus-utils`, `docusaurus`\\n - [#5985](https://github.com/facebook/docusaurus/pull/5985) chore: cleanup dependency declaration in package.json ([@armano2](https://github.com/armano2))\\n- `create-docusaurus`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-utils`, `docusaurus`, `lqip-loader`, `stylelint-copyright`\\n - [#5963](https://github.com/facebook/docusaurus/pull/5963) chore: upgrade TypeScript & other ESLint related deps ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`\\n - [#5962](https://github.com/facebook/docusaurus/pull/5962) refactor(content-docs): move isCategoriesShorthand to utils ([@armano2](https://github.com/armano2))\\n - [#5906](https://github.com/facebook/docusaurus/pull/5906) fix(content-docs): do not echo git history to console ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5905](https://github.com/facebook/docusaurus/pull/5905) misc(plugin-docs): fix Windows test snapshot for git history retrieval ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5904](https://github.com/facebook/docusaurus/pull/5904) refactor(content-docs): use shelljs instead of execa ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-ideal-image`\\n - [#5940](https://github.com/facebook/docusaurus/pull/5940) refactor(plugin-ideal-image): migrate package to TS ([@armano2](https://github.com/armano2))\\n- `docusaurus-plugin-pwa`, `docusaurus-theme-classic`\\n - [#5941](https://github.com/facebook/docusaurus/pull/5941) refactor(plugin-pwa): migrate package to TS ([@armano2](https://github.com/armano2))\\n- `docusaurus-plugin-ideal-image`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`\\n - [#5935](https://github.com/facebook/docusaurus/pull/5935) refactor(theme-search-algolia): migrate package to TS ([@armano2](https://github.com/armano2))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`\\n - [#5946](https://github.com/facebook/docusaurus/pull/5946) refactor: move deps declarations into src ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-utils-common`, `docusaurus-utils`, `docusaurus`\\n - [#5914](https://github.com/facebook/docusaurus/pull/5914) refactor: improve setup of type declaration files ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5922](https://github.com/facebook/docusaurus/pull/5922) refactor(theme-classic): move some logic of CodeBlock to theme-common ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-remark-plugin-npm2yarn`\\n - [#5931](https://github.com/facebook/docusaurus/pull/5931) refactor(remark-plugin-npm2yarn): migrate package to TS ([@duanwilliam](https://github.com/duanwilliam))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-utils`\\n - [#5806](https://github.com/facebook/docusaurus/pull/5806) refactor: use js-yaml to parse both JSON and YAML ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 48\\n\\n- Afshin Mehrabani ([@afshinm](https://github.com/afshinm))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Armano ([@armano2](https://github.com/armano2))\\n- Brennan Kinney ([@polarathene](https://github.com/polarathene))\\n- Can Olcer ([@shafy](https://github.com/shafy))\\n- Christophe Chaudier ([@cchaudier](https://github.com/cchaudier))\\n- Devtato ([@cerkiewny](https://github.com/cerkiewny))\\n- Dmitriy Fishman ([@fishmandev](https://github.com/fishmandev))\\n- Don ([@dsmmcken](https://github.com/dsmmcken))\\n- FISH UP ([@MisterFISHUP](https://github.com/MisterFISHUP))\\n- Fernando Maia ([@fsmaia](https://github.com/fsmaia))\\n- Hemant Sachdeva ([@HemantSachdeva](https://github.com/HemantSachdeva))\\n- Hendrik Bulens ([@hbulens](https://github.com/hbulens))\\n- Ivan Boothe ([@rootwork](https://github.com/rootwork))\\n- Jarar ([@JararvisQ](https://github.com/JararvisQ))\\n- Jeff Shillitto ([@jeffski](https://github.com/jeffski))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Konstantin Popov ([@KonstHardy](https://github.com/KonstHardy))\\n- Ludovico Fischer ([@ludofischer](https://github.com/ludofischer))\\n- Martin \u0160o\u0161i\u0107 ([@Martinsos](https://github.com/Martinsos))\\n- Matej Jellus ([@juffalow](https://github.com/juffalow))\\n- Matthijs Groen ([@matthijsgroen](https://github.com/matthijsgroen))\\n- Molly White ([@molly](https://github.com/molly))\\n- Morooka Kotaro ([@MorookaKotaro](https://github.com/MorookaKotaro))\\n- Oliver Ullman ([@oriooctopus](https://github.com/oriooctopus))\\n- Paden Clayton ([@spyke01](https://github.com/spyke01))\\n- Patitotective ([@Patitotective](https://github.com/Patitotective))\\n- Patrik M\xe4siar ([@patrikmasiar](https://github.com/patrikmasiar))\\n- Paul Biggar ([@pbiggar](https://github.com/pbiggar))\\n- Rey ([@rsapkf](https://github.com/rsapkf))\\n- Robin M\xe9tral ([@robinmetral](https://github.com/robinmetral))\\n- Rohit Agrawal ([@agrawal-rohit](https://github.com/agrawal-rohit))\\n- Ronny Roeller ([@ronnyroeller](https://github.com/ronnyroeller))\\n- Sergio Moreno ([@semoal](https://github.com/semoal))\\n- Sharon Koech ([@skoech](https://github.com/skoech))\\n- Shoaib Sajid ([@dexbiobot](https://github.com/dexbiobot))\\n- Soham Shah ([@sohamsshah](https://github.com/sohamsshah))\\n- Stan Kocken ([@StanKocken](https://github.com/StanKocken))\\n- Swalah Amani ([@swalahamani](https://github.com/swalahamani))\\n- Swapnil M Mane ([@swapnilmmane](https://github.com/swapnilmmane))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Varun Sivapalan ([@sivapalan](https://github.com/sivapalan))\\n- William Poetra Yoga ([@wpyoga](https://github.com/wpyoga))\\n- Yongmin Hong ([@revi](https://github.com/revi))\\n- [@duanwilliam](https://github.com/duanwilliam)\\n- [@pal-sig](https://github.com/pal-sig)\\n- chima ilo ([@chimailo](https://github.com/chimailo))\\n- \u741A\u81F4\u8FDC ([@juzhiyuan](https://github.com/juzhiyuan))"},{"id":"/2.0.0-beta.9","metadata":{"permalink":"/changelog/2.0.0-beta.9","source":"@site/changelog/source/2.0.0-beta.9.md","title":"2.0.0-beta.9","description":"New Feature","date":"2021-11-02T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Avi Vahl","alias":"AviVahl","url":"https://github.com/AviVahl","imageURL":"https://github.com/AviVahl.png","key":"AviVahl","page":null},{"name":"Devtato","alias":"cerkiewny","url":"https://github.com/cerkiewny","imageURL":"https://github.com/cerkiewny.png","key":"cerkiewny","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Dominik Meyer","alias":"dominikmeyersap","url":"https://github.com/dominikmeyersap","imageURL":"https://github.com/dominikmeyersap.png","key":"dominikmeyersap","page":null},{"name":"Dmitriy Fishman","alias":"fishmandev","url":"https://github.com/fishmandev","imageURL":"https://github.com/fishmandev.png","key":"fishmandev","page":null},{"name":"Gabriel Falc\xe3o","alias":"gabrielfalcao","url":"https://github.com/gabrielfalcao","imageURL":"https://github.com/gabrielfalcao.png","key":"gabrielfalcao","page":null},{"name":"Jeffrey Aven","alias":"jeffreyaven","url":"https://github.com/jeffreyaven","imageURL":"https://github.com/jeffreyaven.png","key":"jeffreyaven","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"\u741A\u81F4\u8FDC","alias":"juzhiyuan","url":"https://github.com/juzhiyuan","imageURL":"https://github.com/juzhiyuan.png","key":"juzhiyuan","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Oscar Dominguez","alias":"oscard0m","url":"https://github.com/oscard0m","imageURL":"https://github.com/oscard0m.png","key":"oscard0m","page":null},{"name":"Robbie Averill","alias":"robbieaverill","url":"https://github.com/robbieaverill","imageURL":"https://github.com/robbieaverill.png","key":"robbieaverill","page":null},{"name":"Sergio Moreno","alias":"semoal","url":"https://github.com/semoal","imageURL":"https://github.com/semoal.png","key":"semoal","page":null},{"name":"Varun Sivapalan","alias":"sivapalan","url":"https://github.com/sivapalan","imageURL":"https://github.com/sivapalan.png","key":"sivapalan","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Vladimir Tasic","alias":"utajum","url":"https://github.com/utajum","imageURL":"https://github.com/utajum.png","key":"utajum","page":null},{"name":"Ying Wang","alias":"wingclover","url":"https://github.com/wingclover","imageURL":"https://github.com/wingclover.png","key":"wingclover","page":null},{"name":"William Poetra Yoga","alias":"wpyoga","url":"https://github.com/wpyoga","imageURL":"https://github.com/wpyoga.png","key":"wpyoga","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-11-02T20:00","authors":["AviVahl","cerkiewny","datlechin","dominikmeyersap","fishmandev","gabrielfalcao","jeffreyaven","Josh-Cena","juzhiyuan","lex111","oscard0m","robbieaverill","semoal","sivapalan","slorber","utajum","wingclover","wpyoga"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.10","permalink":"/changelog/2.0.0-beta.10"},"nextItem":{"title":"2.0.0-beta.8","permalink":"/changelog/2.0.0-beta.8"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5770](https://github.com/facebook/docusaurus/pull/5770) feat(theme-classic): allow specifying width/height in logo ([@cerkiewny](https://github.com/cerkiewny))\\n- `docusaurus-types`, `docusaurus`\\n - [#5841](https://github.com/facebook/docusaurus/pull/5841) feat: allow user to specify deploymentBranch property in docusaurus.config.js ([@wpyoga](https://github.com/wpyoga))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`\\n - [#5795](https://github.com/facebook/docusaurus/pull/5795) feat(search-algolia): algolia externalUrl regex to navigate with window.href ([@semoal](https://github.com/semoal))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-types`, `docusaurus`\\n - [#5814](https://github.com/facebook/docusaurus/pull/5814) feat: Support Node 17 ([@slorber](https://github.com/slorber))\\n - [#5420](https://github.com/facebook/docusaurus/pull/5420) feat(core): upgrade to webpack-dev-server@4 ([@AviVahl](https://github.com/AviVahl))\\n- `docusaurus-theme-classic`\\n - [#5791](https://github.com/facebook/docusaurus/pull/5791) feat(theme-classic): add Serbian Cyrillic translation ([@utajum](https://github.com/utajum))\\n\\n## :boom: Breaking Change\\n\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#5812](https://github.com/facebook/docusaurus/pull/5812) chore: require Node 14 ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-blog`\\n - [#5835](https://github.com/facebook/docusaurus/pull/5835) fix(content-blog): Fix blog feeds not generated ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#5828](https://github.com/facebook/docusaurus/pull/5828) fix: include all branch tips for shallow clone in deploy command ([@sivapalan](https://github.com/sivapalan))\\n - [#5824](https://github.com/facebook/docusaurus/pull/5824) fix: baseUrl passed to sortConfig ([@semoal](https://github.com/semoal))\\n - [#5813](https://github.com/facebook/docusaurus/pull/5813) fix: handle SIGTERM in build command ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus`\\n - [#5819](https://github.com/facebook/docusaurus/pull/5819) fix: use @docusaurus/react-loadable as package alias + include types ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-preset-classic`\\n - [#5831](https://github.com/facebook/docusaurus/pull/5831) feat(preset-classic): guard against unknown keys in options ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#5815](https://github.com/facebook/docusaurus/pull/5815) refactor: some improvements for webpack-dev-server ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils`, `docusaurus`\\n - [#5788](https://github.com/facebook/docusaurus/pull/5788) refactor: fix a few type inconsistencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#5781](https://github.com/facebook/docusaurus/pull/5781) refactor: Vietnamese translations ([@datlechin](https://github.com/datlechin))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#5853](https://github.com/facebook/docusaurus/pull/5853) docs: Fix a typo in CONTRIBUTING.md ([@fishmandev](https://github.com/fishmandev))\\n - [#5852](https://github.com/facebook/docusaurus/pull/5852) docs: Fix a typo in versioning.md ([@fishmandev](https://github.com/fishmandev))\\n - [#5847](https://github.com/facebook/docusaurus/pull/5847) docs: add InfraQL product docs website to showcase ([@jeffreyaven](https://github.com/jeffreyaven))\\n - [#5843](https://github.com/facebook/docusaurus/pull/5843) docs: fix i18n routes to feature requests ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5766](https://github.com/facebook/docusaurus/pull/5766) docs: elaborate on the usage of MDX plugins ([@cerkiewny](https://github.com/cerkiewny))\\n - [#5826](https://github.com/facebook/docusaurus/pull/5826) docs: fix lint issue ([@slorber](https://github.com/slorber))\\n - [#5801](https://github.com/facebook/docusaurus/pull/5801) docs: Update Drone Deployment docs ([@gabrielfalcao](https://github.com/gabrielfalcao))\\n - [#5821](https://github.com/facebook/docusaurus/pull/5821) docs: include navbar item type in the API table ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5820](https://github.com/facebook/docusaurus/pull/5820) docs: add @Josh-Cena to the team ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5818](https://github.com/facebook/docusaurus/pull/5818) doc: fix typo in \\"create a doc\\" ([@dominikmeyersap](https://github.com/dominikmeyersap))\\n - [#5797](https://github.com/facebook/docusaurus/pull/5797) docs: use \\"npx create-docusaurus\\" for init ([@slorber](https://github.com/slorber))\\n - [#5771](https://github.com/facebook/docusaurus/pull/5771) docs: Minor update to grammar in plugins overview page ([@robbieaverill](https://github.com/robbieaverill))\\n - [#5774](https://github.com/facebook/docusaurus/pull/5774) docs: update ssrTemplate ([@juzhiyuan](https://github.com/juzhiyuan))\\n - [#5784](https://github.com/facebook/docusaurus/pull/5784) docs: fix link for apply to DocSearch program ([@lex111](https://github.com/lex111))\\n- `create-docusaurus`\\n - [#5792](https://github.com/facebook/docusaurus/pull/5792) docs: fix typo ([@wingclover](https://github.com/wingclover))\\n\\n## :house: Internal\\n\\n- Other\\n - [#5842](https://github.com/facebook/docusaurus/pull/5842) misc: add \\"name\\" field for root package.json ([@wpyoga](https://github.com/wpyoga))\\n - [#5836](https://github.com/facebook/docusaurus/pull/5836) chore: switch to GitHub issue forms ([@lex111](https://github.com/lex111))\\n - [#5834](https://github.com/facebook/docusaurus/pull/5834) chore(issue templ): add \\"self service\\" section in templates ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5833](https://github.com/facebook/docusaurus/pull/5833) chore(workflow): remove v2 prefix from titles ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5697](https://github.com/facebook/docusaurus/pull/5697) chore(workflow): add cache to workflows using actions/setup-node ([@oscard0m](https://github.com/oscard0m))\\n - [#5825](https://github.com/facebook/docusaurus/pull/5825) chore: fix Crowdin again ([@slorber](https://github.com/slorber))\\n - [#5823](https://github.com/facebook/docusaurus/pull/5823) chore: replace doc sample .pdf file by .xlsx to solve Crowdin issue ([@slorber](https://github.com/slorber))\\n - [#5763](https://github.com/facebook/docusaurus/pull/5763) chore: update examples for beta.8 ([@slorber](https://github.com/slorber))\\n- `create-docusaurus`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#5812](https://github.com/facebook/docusaurus/pull/5812) chore: require Node 14 ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus`\\n - [#5807](https://github.com/facebook/docusaurus/pull/5807) refactor: remove a few Lodash usages & ESLint enforcement ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils`, `docusaurus`\\n - [#5808](https://github.com/facebook/docusaurus/pull/5808) refactor: clear a few ESLint warnings ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `lqip-loader`\\n - [#5779](https://github.com/facebook/docusaurus/pull/5779) refactor: migrate lqip-loader to TS, fix typing for Webpack Loaders ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## Committers: 18\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Avi Vahl ([@AviVahl](https://github.com/AviVahl))\\n- Devtato ([@cerkiewny](https://github.com/cerkiewny))\\n- Dmitriy Fishman ([@fishmandev](https://github.com/fishmandev))\\n- Dominik Meyer ([@dominikmeyersap](https://github.com/dominikmeyersap))\\n- Gabriel Falc\xe3o ([@gabrielfalcao](https://github.com/gabrielfalcao))\\n- Jeffrey Aven ([@jeffreyaven](https://github.com/jeffreyaven))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Ng\xf4 Qu\u1ED1c \u0110\u1EA1t ([@datlechin](https://github.com/datlechin))\\n- Oscar Dominguez ([@oscard0m](https://github.com/oscard0m))\\n- Robbie Averill ([@robbieaverill](https://github.com/robbieaverill))\\n- Sergio Moreno ([@semoal](https://github.com/semoal))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Varun Sivapalan ([@sivapalan](https://github.com/sivapalan))\\n- Vladimir Tasic ([@utajum](https://github.com/utajum))\\n- William Poetra Yoga ([@wpyoga](https://github.com/wpyoga))\\n- Ying Wang ([@wingclover](https://github.com/wingclover))\\n- \u741A\u81F4\u8FDC ([@juzhiyuan](https://github.com/juzhiyuan))"},{"id":"/2.0.0-beta.8","metadata":{"permalink":"/changelog/2.0.0-beta.8","source":"@site/changelog/source/2.0.0-beta.8.md","title":"2.0.0-beta.8","description":"New Feature","date":"2021-10-21T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Andrew Taft","alias":"ataft","url":"https://github.com/ataft","imageURL":"https://github.com/ataft.png","key":"ataft","page":null},{"name":"Caner Canbaz","alias":"canercanbaz","url":"https://github.com/canercanbaz","imageURL":"https://github.com/canercanbaz.png","key":"canercanbaz","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Dimi Mikadze","alias":"DimiMikadze","url":"https://github.com/DimiMikadze","imageURL":"https://github.com/DimiMikadze.png","key":"DimiMikadze","page":null},{"name":"Ilija Pavlic","alias":"ipavlic","url":"https://github.com/ipavlic","imageURL":"https://github.com/ipavlic.png","key":"ipavlic","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Nathaniel Furniss","alias":"nlfurniss","url":"https://github.com/nlfurniss","imageURL":"https://github.com/nlfurniss.png","key":"nlfurniss","page":null},{"name":"philipp985","alias":"philipp985","url":"https://github.com/philipp985","imageURL":"https://github.com/philipp985.png","key":"philipp985","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Thanasis Katsadas","alias":"thanasis00","url":"https://github.com/thanasis00","imageURL":"https://github.com/thanasis00.png","key":"thanasis00","page":null},{"name":"Xuqian","alias":"zxuqian","url":"https://github.com/zxuqian","imageURL":"https://github.com/zxuqian.png","key":"zxuqian","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-10-21T20:00","authors":["ataft","canercanbaz","datlechin","DimiMikadze","ipavlic","johnnyreilly","Josh-Cena","lex111","nlfurniss","philipp985","slorber","thanasis00","zxuqian"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.9","permalink":"/changelog/2.0.0-beta.9"},"nextItem":{"title":"2.0.0-beta.7","permalink":"/changelog/2.0.0-beta.7"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-blog`\\n - [#5702](https://github.com/facebook/docusaurus/pull/5702) feat(content-blog): new readingTime plugin option ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#5740](https://github.com/facebook/docusaurus/pull/5740) feat(core): write-heading-ids options maintainCasing, overwrite ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`\\n - [#5705](https://github.com/facebook/docusaurus/pull/5705) feat(content-docs): new front matter options to customize pagination ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-theme-search-algolia`\\n - [#5751](https://github.com/facebook/docusaurus/pull/5751) fix: stable callbacks in useSearchQuery + refactor ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-ideal-image`\\n - [#5760](https://github.com/facebook/docusaurus/pull/5760) fix(ideal-image): fix IdealImage in dev not handling ES import images properly ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#5732](https://github.com/facebook/docusaurus/pull/5732) fix(theme-classic): allow tabs with number as value ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5721](https://github.com/facebook/docusaurus/pull/5721) fix: handle rubber band scrolling in hideable navbar ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-search-algolia`\\n - [#5751](https://github.com/facebook/docusaurus/pull/5751) fix: stable callbacks in useSearchQuery + refactor ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#5717](https://github.com/facebook/docusaurus/pull/5717) refactor: Polish de translation ([@philipp985](https://github.com/philipp985))\\n - [#5725](https://github.com/facebook/docusaurus/pull/5725) refactor: add missing Turkish translations to theme-classic ([@canercanbaz](https://github.com/canercanbaz))\\n - [#5723](https://github.com/facebook/docusaurus/pull/5723) refactor(v2): update Vietnamese translations ([@datlechin](https://github.com/datlechin))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-ideal-image`, `docusaurus-theme-classic`, `docusaurus`\\n - [#5726](https://github.com/facebook/docusaurus/pull/5726) refactor(module-type-aliases): remove fallback aliases ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#5755](https://github.com/facebook/docusaurus/pull/5755) docs: rename docusaurus.config.js route + redirects cleanup ([@slorber](https://github.com/slorber))\\n - [#5750](https://github.com/facebook/docusaurus/pull/5750) docs(v2): Fix typo in using-plugins.md ([@thanasis00](https://github.com/thanasis00))\\n - [#5727](https://github.com/facebook/docusaurus/pull/5727) docs(v2): Add Fenghua Frontend Developer site to showcase page ([@zxuqian](https://github.com/zxuqian))\\n - [#5746](https://github.com/facebook/docusaurus/pull/5746) docs: Add plugin-image-zoom ([@ataft](https://github.com/ataft))\\n - [#5728](https://github.com/facebook/docusaurus/pull/5728) docs: add h4 into toc on certain pages ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5737](https://github.com/facebook/docusaurus/pull/5737) docs: Add Apex FP to showcase ([@ipavlic](https://github.com/ipavlic))\\n- `docusaurus-plugin-content-blog`\\n - [#5753](https://github.com/facebook/docusaurus/pull/5753) fix(content-blog): temporarily swallow feed mdxToHtml errors + feed refactor ([@slorber](https://github.com/slorber))\\n\\n## :house: Internal\\n\\n- `docusaurus`\\n - [#5761](https://github.com/facebook/docusaurus/pull/5761) chore: upgrade html-webpack-plugin, remove terser 4 ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#5714](https://github.com/facebook/docusaurus/pull/5714) chore: Enable ESLint rules of hooks + fix new lint errors ([@slorber](https://github.com/slorber))\\n- Other\\n - [#5722](https://github.com/facebook/docusaurus/pull/5722) chore: fix gen script to support TS template ([@lex111](https://github.com/lex111))\\n - [#5730](https://github.com/facebook/docusaurus/pull/5730) chore: fix typos / casing in issue template ([@johnnyreilly](https://github.com/johnnyreilly))\\n - [#5720](https://github.com/facebook/docusaurus/pull/5720) chore: regenerate beta.7 examples ([@lex111](https://github.com/lex111))\\n - [#5719](https://github.com/facebook/docusaurus/pull/5719) chore: remove beta.5 docs ([@lex111](https://github.com/lex111))\\n\\n## :running: Performance\\n\\n- `docusaurus`\\n - [#5748](https://github.com/facebook/docusaurus/pull/5748) refactor: perform shallow clone during deploy ([@nlfurniss](https://github.com/nlfurniss))\\n\\n## Committers: 13\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Andrew Taft ([@ataft](https://github.com/ataft))\\n- Caner Canbaz ([@canercanbaz](https://github.com/canercanbaz))\\n- Dimi Mikadze ([@DimiMikadze](https://github.com/DimiMikadze))\\n- Ilija Pavlic ([@ipavlic](https://github.com/ipavlic))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Nathaniel Furniss ([@nlfurniss](https://github.com/nlfurniss))\\n- Ng\xf4 Qu\u1ED1c \u0110\u1EA1t ([@datlechin](https://github.com/datlechin))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Thanasis Katsadas ([@thanasis00](https://github.com/thanasis00))\\n- Xuqian ([@zxuqian](https://github.com/zxuqian))\\n- [@philipp985](https://github.com/philipp985)"},{"id":"/2.0.0-beta.7","metadata":{"permalink":"/changelog/2.0.0-beta.7","source":"@site/changelog/source/2.0.0-beta.7.md","title":"2.0.0-beta.7","description":"New Feature","date":"2021-10-15T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Aditya Kajla","alias":"akajla09","url":"https://github.com/akajla09","imageURL":"https://github.com/akajla09.png","key":"akajla09","page":null},{"name":"Andrew Nguyen","alias":"Andrewnt219","url":"https://github.com/Andrewnt219","imageURL":"https://github.com/Andrewnt219.png","key":"Andrewnt219","page":null},{"name":"Palash Shrivastava","alias":"BattleOfPlassey","url":"https://github.com/BattleOfPlassey","imageURL":"https://github.com/BattleOfPlassey.png","key":"BattleOfPlassey","page":null},{"name":"Bharat Middha","alias":"bmiddha","url":"https://github.com/bmiddha","imageURL":"https://github.com/bmiddha.png","key":"bmiddha","page":null},{"name":"David Callizaya","alias":"caleeli","url":"https://github.com/caleeli","imageURL":"https://github.com/caleeli.png","key":"caleeli","page":null},{"name":"Chris Chinchilla","alias":"ChrisChinchilla","url":"https://github.com/ChrisChinchilla","imageURL":"https://github.com/ChrisChinchilla.png","key":"ChrisChinchilla","page":null},{"name":"djamaile","alias":"djamaile","url":"https://github.com/djamaile","imageURL":"https://github.com/djamaile.png","key":"djamaile","page":null},{"name":"Dr-Electron","alias":"Dr-Electron","url":"https://github.com/Dr-Electron","imageURL":"https://github.com/Dr-Electron.png","key":"Dr-Electron","page":null},{"name":"Darshan Gada","alias":"dr5hn","url":"https://github.com/dr5hn","imageURL":"https://github.com/dr5hn.png","key":"dr5hn","page":null},{"name":"Don","alias":"dsmmcken","url":"https://github.com/dsmmcken","imageURL":"https://github.com/dsmmcken.png","key":"dsmmcken","page":null},{"name":"Ekaterina Mozheiko","alias":"EkaterinaMozheiko","url":"https://github.com/EkaterinaMozheiko","imageURL":"https://github.com/EkaterinaMozheiko.png","key":"EkaterinaMozheiko","page":null},{"name":"Erick Zhao","alias":"erickzhao","url":"https://github.com/erickzhao","imageURL":"https://github.com/erickzhao.png","key":"erickzhao","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Gabriel T. Nardy","alias":"gtnardy","url":"https://github.com/gtnardy","imageURL":"https://github.com/gtnardy.png","key":"gtnardy","page":null},{"name":"headline-design","alias":"headline-design","url":"https://github.com/headline-design","imageURL":"https://github.com/headline-design.png","key":"headline-design","page":null},{"name":"Hugh Lilly","alias":"hughlilly","url":"https://github.com/hughlilly","imageURL":"https://github.com/hughlilly.png","key":"hughlilly","page":null},{"name":"Ivar Conradi \xd8sthus","alias":"ivarconr","url":"https://github.com/ivarconr","imageURL":"https://github.com/ivarconr.png","key":"ivarconr","page":null},{"name":"Jason Bosco","alias":"jasonbosco","url":"https://github.com/jasonbosco","imageURL":"https://github.com/jasonbosco.png","key":"jasonbosco","page":null},{"name":"Jeffrey Aven","alias":"jeffreyaven","url":"https://github.com/jeffreyaven","imageURL":"https://github.com/jeffreyaven.png","key":"jeffreyaven","page":null},{"name":"Jordan Lee","alias":"jkhaui","url":"https://github.com/jkhaui","imageURL":"https://github.com/jkhaui.png","key":"jkhaui","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Robert Kingston","alias":"kingo55","url":"https://github.com/kingo55","imageURL":"https://github.com/kingo55.png","key":"kingo55","page":null},{"name":"Kyriet","alias":"KyrietS","url":"https://github.com/KyrietS","imageURL":"https://github.com/KyrietS.png","key":"KyrietS","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Mahdi Hamldar","alias":"MrTechHunter","url":"https://github.com/MrTechHunter","imageURL":"https://github.com/MrTechHunter.png","key":"MrTechHunter","page":null},{"name":"Nathaniel Tucker","alias":"ntucker","url":"https://github.com/ntucker","imageURL":"https://github.com/ntucker.png","key":"ntucker","page":null},{"name":"Daniel Costrasel","alias":"ohkimur","url":"https://github.com/ohkimur","imageURL":"https://github.com/ohkimur.png","key":"ohkimur","page":null},{"name":"Ana Carolina","alias":"printf-ana","url":"https://github.com/printf-ana","imageURL":"https://github.com/printf-ana.png","key":"printf-ana","page":null},{"name":"Shrugsy","alias":"Shrugsy","url":"https://github.com/Shrugsy","imageURL":"https://github.com/Shrugsy.png","key":"Shrugsy","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Stefan Norberg","alias":"stnor","url":"https://github.com/stnor","imageURL":"https://github.com/stnor.png","key":"stnor","page":null},{"name":"swyx","alias":"sw-yx","url":"https://github.com/sw-yx","imageURL":"https://github.com/sw-yx.png","key":"sw-yx","page":null},{"name":"Vincent","alias":"vinckr","url":"https://github.com/vinckr","imageURL":"https://github.com/vinckr.png","key":"vinckr","page":null},{"name":"Whirl","alias":"Whirl21","url":"https://github.com/Whirl21","imageURL":"https://github.com/Whirl21.png","key":"Whirl21","page":null},{"name":"Paul O\u2019Shannessy","alias":"zpao","url":"https://github.com/zpao","imageURL":"https://github.com/zpao.png","key":"zpao","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-10-15T20:00","authors":["akajla09","Andrewnt219","BattleOfPlassey","bmiddha","caleeli","ChrisChinchilla","djamaile","Dr-Electron","dr5hn","dsmmcken","EkaterinaMozheiko","erickzhao","forresst","gtnardy","headline-design","hughlilly","ivarconr","jasonbosco","jeffreyaven","jkhaui","Josh-Cena","kingo55","KyrietS","lex111","moonrailgun","MrTechHunter","ntucker","ohkimur","printf-ana","Shrugsy","slorber","stnor","sw-yx","vinckr","Whirl21","zpao"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.8","permalink":"/changelog/2.0.0-beta.8"},"nextItem":{"title":"2.0.0-beta.6","permalink":"/changelog/2.0.0-beta.6"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-module-type-aliases`, `docusaurus`\\n - [#5683](https://github.com/facebook/docusaurus/pull/5683) feat: make Translate children optional ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5674](https://github.com/facebook/docusaurus/pull/5674) polish(theme-classic): guard against potential definition mistakes in Tabs ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5618](https://github.com/facebook/docusaurus/pull/5618) feat: maintain page position for clicked grouped tabs ([@Shrugsy](https://github.com/Shrugsy))\\n- `docusaurus-plugin-content-blog`, `docusaurus-utils`\\n - [#4330](https://github.com/facebook/docusaurus/pull/4330) feat(content-blog): add full blog post html into RSS/Atom feeds ([@moonrailgun](https://github.com/moonrailgun))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5642](https://github.com/facebook/docusaurus/pull/5642) feat(theme-classic, plugin-docs): sidebar item level-specific className + allow customization ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `create-docusaurus`\\n - [#5635](https://github.com/facebook/docusaurus/pull/5635) feat: npm init docusaurus, yarn create docusaurus ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`\\n - [#5589](https://github.com/facebook/docusaurus/pull/5589) feat: properly type-check the Docusaurus config of new sites ([@bmiddha](https://github.com/bmiddha))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus-utils-validation`\\n - [#5578](https://github.com/facebook/docusaurus/pull/5578) feat(v2): allow specifying TOC max depth (themeConfig + frontMatter) ([@erickzhao](https://github.com/erickzhao))\\n- `docusaurus`\\n - [#5498](https://github.com/facebook/docusaurus/pull/5498) feat: make Webpack url-loader limit configurable (env variable) ([@stnor](https://github.com/stnor))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`\\n - [#5545](https://github.com/facebook/docusaurus/pull/5545) feat: make tags route path configurable ([@lex111](https://github.com/lex111))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5674](https://github.com/facebook/docusaurus/pull/5674) polish(theme-classic): guard against potential definition mistakes in Tabs ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5618](https://github.com/facebook/docusaurus/pull/5618) feat: maintain page position for clicked grouped tabs ([@Shrugsy](https://github.com/Shrugsy))\\n- `docusaurus-init`, `docusaurus-preset-bootstrap`, `docusaurus-theme-bootstrap`\\n - [#5634](https://github.com/facebook/docusaurus/pull/5634) chore: remove unused Bootstrap theme ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus-utils-validation`\\n - [#5578](https://github.com/facebook/docusaurus/pull/5578) feat(v2): allow specifying TOC max depth (themeConfig + frontMatter) ([@erickzhao](https://github.com/erickzhao))\\n- `docusaurus-theme-classic`\\n - [#5592](https://github.com/facebook/docusaurus/pull/5592) refactor: use CSS Modules for toggle styles ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-common`\\n - [#5694](https://github.com/facebook/docusaurus/pull/5694) fix: proper collapsing of long element ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#5684](https://github.com/facebook/docusaurus/pull/5684) fix: use realpath for site dir to resolve symlink ([@lex111](https://github.com/lex111))\\n - [#5645](https://github.com/facebook/docusaurus/pull/5645) fix: place root route at the end ([@lex111](https://github.com/lex111))\\n - [#5629](https://github.com/facebook/docusaurus/pull/5629) fix: text/link hydration bug ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5699](https://github.com/facebook/docusaurus/pull/5699) fix: apply announcement bar class if only needed ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#5667](https://github.com/facebook/docusaurus/pull/5667) fix: expand tag column on truncated post ([@lex111](https://github.com/lex111))\\n - [#5668](https://github.com/facebook/docusaurus/pull/5668) fix: preserve line breaks when copy code in Firefox ([@lex111](https://github.com/lex111))\\n - [#5647](https://github.com/facebook/docusaurus/pull/5647) feat(theme-classic): make first tab the default tab ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5652](https://github.com/facebook/docusaurus/pull/5652) fix: restore duplicate Tabs rendering to fix hydration issue ([@slorber](https://github.com/slorber))\\n - [#5643](https://github.com/facebook/docusaurus/pull/5643) fix(theme-classic): reset default style for task lists ([@EkaterinaMozheiko](https://github.com/EkaterinaMozheiko))\\n - [#5571](https://github.com/facebook/docusaurus/pull/5571) fix: highlight active item in recent post list ([@lex111](https://github.com/lex111))\\n - [#5481](https://github.com/facebook/docusaurus/pull/5481) fix: use heading itself as anchor for better crawling ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-live-codeblock`\\n - [#5677](https://github.com/facebook/docusaurus/pull/5677) fix: Don\'t ignore options.transforms for buble ([@ntucker](https://github.com/ntucker))\\n - [#5556](https://github.com/facebook/docusaurus/pull/5556) fix: pin react-live due to possible mismatch React ([@lex111](https://github.com/lex111))\\n- `docusaurus-mdx-loader`\\n - [#5690](https://github.com/facebook/docusaurus/pull/5690) fix: preserve hash in asset link ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-ideal-image`\\n - [#5540](https://github.com/facebook/docusaurus/pull/5540) fix: do not use ideal image plugin in dev env ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`\\n - [#5606](https://github.com/facebook/docusaurus/pull/5606) fix(docs): create tags route if only tags exists ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`, `docusaurus-module-type-aliases`, `docusaurus-types`\\n - [#5601](https://github.com/facebook/docusaurus/pull/5601) fix(module-type-aliases): move @type packages to dependencies ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-utils`\\n - [#5495](https://github.com/facebook/docusaurus/pull/5495) fix: ignore code block lines when creating excerpt ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`\\n - [#5490](https://github.com/facebook/docusaurus/pull/5490) fix: install deps for new project via Yarn on Windows properly ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-utils-validation`\\n - [#5479](https://github.com/facebook/docusaurus/pull/5479) fix: add docs tag validation to solve #5478 ([@sw-yx](https://github.com/sw-yx))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5709](https://github.com/facebook/docusaurus/pull/5709) refactor: cleanup scroll handlers ([@lex111](https://github.com/lex111))\\n - [#5627](https://github.com/facebook/docusaurus/pull/5627) refactor: various TOC improvements ([@lex111](https://github.com/lex111))\\n - [#5469](https://github.com/facebook/docusaurus/pull/5469) refactor: Adjust styling of back top top button ([@dsmmcken](https://github.com/dsmmcken))\\n- `docusaurus-theme-classic`\\n - [#5708](https://github.com/facebook/docusaurus/pull/5708) refactor: hide hash link from crawlers ([@lex111](https://github.com/lex111))\\n - [#5649](https://github.com/facebook/docusaurus/pull/5649) refactor: improve pt-BR translation for classic theme ([@printf-ana](https://github.com/printf-ana))\\n - [#5646](https://github.com/facebook/docusaurus/pull/5646) refactor: complete missing and fix ES translations ([@caleeli](https://github.com/caleeli))\\n - [#5640](https://github.com/facebook/docusaurus/pull/5640) style: update Persian language translations ([@MrTechHunter](https://github.com/MrTechHunter))\\n - [#5630](https://github.com/facebook/docusaurus/pull/5630) refactor: standardize using media queries ([@lex111](https://github.com/lex111))\\n - [#5487](https://github.com/facebook/docusaurus/pull/5487) refactor: use only one close SVG icon ([@lex111](https://github.com/lex111))\\n - [#5592](https://github.com/facebook/docusaurus/pull/5592) refactor: use CSS Modules for toggle styles ([@lex111](https://github.com/lex111))\\n - [#5485](https://github.com/facebook/docusaurus/pull/5485) polish: prevent pop navigation on back if navbar sidebar is open ([@slorber](https://github.com/slorber))\\n - [#5472](https://github.com/facebook/docusaurus/pull/5472) polish(theme-classic): add Chinese translations ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#5636](https://github.com/facebook/docusaurus/pull/5636) refactor: make all Props defined as interface + readonly ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus`\\n - [#5560](https://github.com/facebook/docusaurus/pull/5560) polish: remove unused eslint-disable ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#5580](https://github.com/facebook/docusaurus/pull/5580) refactor(core): type improvements for `PendingNavigation` ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#5496](https://github.com/facebook/docusaurus/pull/5496) refactor: remove deprecated createRequireFromPath ([@lex111](https://github.com/lex111))\\n\\n## :memo: Documentation\\n\\n- [#5681](https://github.com/facebook/docusaurus/pull/5681) docs(v2): Add CountryStateCityAPI site to showcase page ([@dr5hn](https://github.com/dr5hn))\\n- [#5661](https://github.com/facebook/docusaurus/pull/5661) docs: updated cloudywithachanceofbigdata.com blog showcase ([@jeffreyaven](https://github.com/jeffreyaven))\\n- [#5658](https://github.com/facebook/docusaurus/pull/5658) docs: Algolia plugin must be enabled before crawling the site ([@slorber](https://github.com/slorber))\\n- [#5654](https://github.com/facebook/docusaurus/pull/5654) docs: Add Warrant Docs site to showcase page ([@akajla09](https://github.com/akajla09))\\n- [#5655](https://github.com/facebook/docusaurus/pull/5655) docs: Added cloudywithachanceofbigdata.com showcase blog ([@jeffreyaven](https://github.com/jeffreyaven))\\n- [#5648](https://github.com/facebook/docusaurus/pull/5648) docs: add ory documentation to showcase ([@vinckr](https://github.com/vinckr))\\n- [#5644](https://github.com/facebook/docusaurus/pull/5644) docs: add djamaile blog to site showcase ([@djamaile](https://github.com/djamaile))\\n- [#5641](https://github.com/facebook/docusaurus/pull/5641) docs: add Lux Algo to showcase ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#5638](https://github.com/facebook/docusaurus/pull/5638) docs: add nanos world docs to showcase ([@gtnardy](https://github.com/gtnardy))\\n- [#5610](https://github.com/facebook/docusaurus/pull/5610) docs: Add IOTA wiki to showcase ([@Dr-Electron](https://github.com/Dr-Electron))\\n- [#5489](https://github.com/facebook/docusaurus/pull/5489) docs: add additional search options, typesense and local search ([@jasonbosco](https://github.com/jasonbosco))\\n- [#5590](https://github.com/facebook/docusaurus/pull/5590) docs(website): document npm2yarn plugin + use new Tabs API everywhere ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#5591](https://github.com/facebook/docusaurus/pull/5591) docs: Add whirl.codes to showcase ([@Whirl21](https://github.com/Whirl21))\\n- [#5574](https://github.com/facebook/docusaurus/pull/5574) docs: add Pipeline UI to showcase ([@headline-design](https://github.com/headline-design))\\n- [#5585](https://github.com/facebook/docusaurus/pull/5585) docs: fix more references to Discord channels ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#5572](https://github.com/facebook/docusaurus/pull/5572) docs: add Blogasaurus to showcase ([@BattleOfPlassey](https://github.com/BattleOfPlassey))\\n- [#5575](https://github.com/facebook/docusaurus/pull/5575) docs: clarify MDX version used ([@lex111](https://github.com/lex111))\\n- [#5581](https://github.com/facebook/docusaurus/pull/5581) docs(website): update all Discord links ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#5566](https://github.com/facebook/docusaurus/pull/5566) docs: fix code example ([@ChrisChinchilla](https://github.com/ChrisChinchilla))\\n- [#5559](https://github.com/facebook/docusaurus/pull/5559) docs: minor grammatical correction ([@jkhaui](https://github.com/jkhaui))\\n- [#5543](https://github.com/facebook/docusaurus/pull/5543) docs: add note about files being ignored when prefixed with an unders\u2026 ([@KyrietS](https://github.com/KyrietS))\\n- [#5549](https://github.com/facebook/docusaurus/pull/5549) docs: Add Mint Metrics site to the Showcase ([@kingo55](https://github.com/kingo55))\\n- [#5546](https://github.com/facebook/docusaurus/pull/5546) docs: add unleash to showcase ([@ivarconr](https://github.com/ivarconr))\\n- [#5539](https://github.com/facebook/docusaurus/pull/5539) docs: improve escape pipe in Markdown tables ([@forresst](https://github.com/forresst))\\n- [#5486](https://github.com/facebook/docusaurus/pull/5486) docs: mention Netlify ignore build setting ([@slorber](https://github.com/slorber))\\n- [#5482](https://github.com/facebook/docusaurus/pull/5482) docs: update docusaurus-plugin-relative-paths description ([@ohkimur](https://github.com/ohkimur))\\n\\n## :house: Internal\\n\\n- `create-docusaurus`, `docusaurus-plugin-content-docs`\\n - [#5678](https://github.com/facebook/docusaurus/pull/5678) refactor(content-docs): refactor sidebars, Joi validation, generator rework, expose config types ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#5666](https://github.com/facebook/docusaurus/pull/5666) chore: upgrade Infima to alpha.34 ([@lex111](https://github.com/lex111))\\n - [#5639](https://github.com/facebook/docusaurus/pull/5639) misc: update base translation + remove extra char ([@lex111](https://github.com/lex111))\\n- Other\\n - [#5669](https://github.com/facebook/docusaurus/pull/5669) fix: allow ColorGenerator to parse colors with prefix `#` ([@Andrewnt219](https://github.com/Andrewnt219))\\n - [#5632](https://github.com/facebook/docusaurus/pull/5632) chore: prepare Algolia migration ([@slorber](https://github.com/slorber))\\n - [#5628](https://github.com/facebook/docusaurus/pull/5628) chore: fix warning after build ([@lex111](https://github.com/lex111))\\n - [#5573](https://github.com/facebook/docusaurus/pull/5573) misc: fix ungrammatical sentence about 5-min tutorial ([@hughlilly](https://github.com/hughlilly))\\n - [#5499](https://github.com/facebook/docusaurus/pull/5499) chore: set up CodeQL ([@zpao](https://github.com/zpao))\\n - [#5474](https://github.com/facebook/docusaurus/pull/5474) chore: remove beta.4 docs (already archived) ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-preset-bootstrap`, `docusaurus-theme-bootstrap`\\n - [#5634](https://github.com/facebook/docusaurus/pull/5634) chore: remove unused Bootstrap theme ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#5611](https://github.com/facebook/docusaurus/pull/5611) chore: upgrade Prettier + regenerate lock file ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-pwa`, `docusaurus`\\n - [#5609](https://github.com/facebook/docusaurus/pull/5609) chore: upgrade Terser-related dependencies ([@lex111](https://github.com/lex111))\\n- `docusaurus-cssnano-preset`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#5608](https://github.com/facebook/docusaurus/pull/5608) chore: upgrade dependencies ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#5605](https://github.com/facebook/docusaurus/pull/5605) refactor(core): enforce noImplicitAny ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-preset-classic`\\n - [#5603](https://github.com/facebook/docusaurus/pull/5603) fix(preset-classic): fix TS build issue ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-preset-classic`\\n - [#5561](https://github.com/facebook/docusaurus/pull/5561) refactor(plugin-google-gtag, plugin-google-analytics): migrate packages to TS ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`\\n - [#5579](https://github.com/facebook/docusaurus/pull/5579) refactor(preset-classic): migrate preset-classic to TypeScript ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-init`\\n - [#5484](https://github.com/facebook/docusaurus/pull/5484) chore: regenerate beta.6 examples + fix regen script ([@slorber](https://github.com/slorber))\\n\\n## Committers: 36\\n\\n- Aditya Kajla ([@akajla09](https://github.com/akajla09))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Ana Carolina ([@printf-ana](https://github.com/printf-ana))\\n- Andrew Nguyen ([@Andrewnt219](https://github.com/Andrewnt219))\\n- Bharat Middha ([@bmiddha](https://github.com/bmiddha))\\n- Chris Chinchilla ([@ChrisChinchilla](https://github.com/ChrisChinchilla))\\n- Daniel Costrasel ([@ohkimur](https://github.com/ohkimur))\\n- Darshan Gada ([@dr5hn](https://github.com/dr5hn))\\n- David Callizaya ([@caleeli](https://github.com/caleeli))\\n- Don ([@dsmmcken](https://github.com/dsmmcken))\\n- Ekaterina Mozheiko ([@EkaterinaMozheiko](https://github.com/EkaterinaMozheiko))\\n- Erick Zhao ([@erickzhao](https://github.com/erickzhao))\\n- Forresst ([@forresst](https://github.com/forresst))\\n- Gabriel T. Nardy ([@gtnardy](https://github.com/gtnardy))\\n- Hugh Lilly ([@hughlilly](https://github.com/hughlilly))\\n- Ivar Conradi \xd8sthus ([@ivarconr](https://github.com/ivarconr))\\n- Jason Bosco ([@jasonbosco](https://github.com/jasonbosco))\\n- Jeffrey Aven ([@jeffreyaven](https://github.com/jeffreyaven))\\n- Jordan Lee ([@jkhaui](https://github.com/jkhaui))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Kyriet ([@KyrietS](https://github.com/KyrietS))\\n- Mahdi Hamldar ([@MrTechHunter](https://github.com/MrTechHunter))\\n- Nathaniel Tucker ([@ntucker](https://github.com/ntucker))\\n- Palash Shrivastava ([@BattleOfPlassey](https://github.com/BattleOfPlassey))\\n- Paul O\u2019Shannessy ([@zpao](https://github.com/zpao))\\n- Robert Kingston ([@kingo55](https://github.com/kingo55))\\n- Stefan Norberg ([@stnor](https://github.com/stnor))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Vincent ([@vinckr](https://github.com/vinckr))\\n- Whirl ([@Whirl21](https://github.com/Whirl21))\\n- [@Dr-Electron](https://github.com/Dr-Electron)\\n- [@Shrugsy](https://github.com/Shrugsy)\\n- [@djamaile](https://github.com/djamaile)\\n- [@headline-design](https://github.com/headline-design)\\n- moonrailgun ([@moonrailgun](https://github.com/moonrailgun))\\n- swyx ([@sw-yx](https://github.com/sw-yx))"},{"id":"/2.0.0-beta.6","metadata":{"permalink":"/changelog/2.0.0-beta.6","source":"@site/changelog/source/2.0.0-beta.6.md","title":"2.0.0-beta.6","description":"New Feature","date":"2021-09-02T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ali Saki","alias":"3alisaki","url":"https://github.com/3alisaki","imageURL":"https://github.com/3alisaki.png","key":"3alisaki","page":null},{"name":"Antony Messerli","alias":"antonym","url":"https://github.com/antonym","imageURL":"https://github.com/antonym.png","key":"antonym","page":null},{"name":"farshid","alias":"farshidinanloo","url":"https://github.com/farshidinanloo","imageURL":"https://github.com/farshidinanloo.png","key":"farshidinanloo","page":null},{"name":"Gabriel Csapo","alias":"gabrielcsapo","url":"https://github.com/gabrielcsapo","imageURL":"https://github.com/gabrielcsapo.png","key":"gabrielcsapo","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Daniel Costrasel","alias":"ohkimur","url":"https://github.com/ohkimur","imageURL":"https://github.com/ohkimur.png","key":"ohkimur","page":null},{"name":"Oscar Lorentzon","alias":"oscarlorentzon","url":"https://github.com/oscarlorentzon","imageURL":"https://github.com/oscarlorentzon.png","key":"oscarlorentzon","page":null},{"name":"Rohit Gohri","alias":"rohit-gohri","url":"https://github.com/rohit-gohri","imageURL":"https://github.com/rohit-gohri.png","key":"rohit-gohri","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-09-02T20:00","authors":["3alisaki","antonym","farshidinanloo","gabrielcsapo","Josh-Cena","lex111","ohkimur","oscarlorentzon","rohit-gohri","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.7","permalink":"/changelog/2.0.0-beta.7"},"nextItem":{"title":"2.0.0-beta.5","permalink":"/changelog/2.0.0-beta.5"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#5428](https://github.com/facebook/docusaurus/pull/5428) feat: adds blog archive route ([@gabrielcsapo](https://github.com/gabrielcsapo))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5462](https://github.com/facebook/docusaurus/pull/5462) feat: on back navigation, close mobile sidebar ([@slorber](https://github.com/slorber))\\n - [#5445](https://github.com/facebook/docusaurus/pull/5445) feat: Add docs-related stable classnames ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#5460](https://github.com/facebook/docusaurus/pull/5460) feat: infima 33 + navbar-sidebar close button ([@slorber](https://github.com/slorber))\\n - [#5442](https://github.com/facebook/docusaurus/pull/5442) feat(theme-classic): allow passing tab label and default value through TabItem ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#5454](https://github.com/facebook/docusaurus/pull/5454) feat: new docs options: versions.{badge,className} ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#5444](https://github.com/facebook/docusaurus/pull/5444) fix: fix some theme UI issues (blockquotes, navbar-sidebar font) with Infima alpha.32 ([@slorber](https://github.com/slorber))\\n - [#5431](https://github.com/facebook/docusaurus/pull/5431) fix: some beta.5 bugfixes ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#5437](https://github.com/facebook/docusaurus/pull/5437) fix: fix a few TS errors ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#5459](https://github.com/facebook/docusaurus/pull/5459) refactor(theme-classic): completely migrate package to TypeScript ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#5453](https://github.com/facebook/docusaurus/pull/5453) refactor: use SVG for closable button in announcement bar ([@lex111](https://github.com/lex111))\\n - [#5430](https://github.com/facebook/docusaurus/pull/5430) refactor: switch to Flexbox in announcement bar ([@lex111](https://github.com/lex111))\\n - [#5434](https://github.com/facebook/docusaurus/pull/5434) refactor: update Arabic and Persian translations ([@3alisaki](https://github.com/3alisaki))\\n - [#5410](https://github.com/facebook/docusaurus/pull/5410) refactor: add missing translations in fa.json ([@farshidinanloo](https://github.com/farshidinanloo))\\n\\n## :memo: Documentation\\n\\n- [#5471](https://github.com/facebook/docusaurus/pull/5471) docs: Add docusaurus-plugin-relative-paths ([@ohkimur](https://github.com/ohkimur))\\n- [#5464](https://github.com/facebook/docusaurus/pull/5464) docs: add mapillary-js to showcase ([@oscarlorentzon](https://github.com/oscarlorentzon))\\n- [#5433](https://github.com/facebook/docusaurus/pull/5433) docs: document doc tags + refinements ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#5435](https://github.com/facebook/docusaurus/pull/5435) docs: Add netboot.xyz to site showcase ([@antonym](https://github.com/antonym))\\n- [#5436](https://github.com/facebook/docusaurus/pull/5436) docs: add Redocusaurus in community plugin list ([@rohit-gohri](https://github.com/rohit-gohri))\\n\\n## :house: Internal\\n\\n- [#5455](https://github.com/facebook/docusaurus/pull/5455) fix: website bad version name in docusaurus.config.js ([@slorber](https://github.com/slorber))\\n\\n## Committers: 10\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Ali Saki ([@3alisaki](https://github.com/3alisaki))\\n- Antony Messerli ([@antonym](https://github.com/antonym))\\n- Daniel Costrasel ([@ohkimur](https://github.com/ohkimur))\\n- Gabriel Csapo ([@gabrielcsapo](https://github.com/gabrielcsapo))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Oscar Lorentzon ([@oscarlorentzon](https://github.com/oscarlorentzon))\\n- Rohit Gohri ([@rohit-gohri](https://github.com/rohit-gohri))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- farshid ([@farshidinanloo](https://github.com/farshidinanloo))"},{"id":"/2.0.0-beta.5","metadata":{"permalink":"/changelog/2.0.0-beta.5","source":"@site/changelog/source/2.0.0-beta.5.md","title":"2.0.0-beta.5","description":"New Feature","date":"2021-08-26T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Palash Shrivastava","alias":"BattleOfPlassey","url":"https://github.com/BattleOfPlassey","imageURL":"https://github.com/BattleOfPlassey.png","key":"BattleOfPlassey","page":null},{"name":"David Seal","alias":"dbseal","url":"https://github.com/dbseal","imageURL":"https://github.com/dbseal.png","key":"dbseal","page":null},{"name":"Deepak Prabhakara","alias":"deepakprabhakara","url":"https://github.com/deepakprabhakara","imageURL":"https://github.com/deepakprabhakara.png","key":"deepakprabhakara","page":null},{"name":"Erick Zhao","alias":"erickzhao","url":"https://github.com/erickzhao","imageURL":"https://github.com/erickzhao.png","key":"erickzhao","page":null},{"name":"Federico Aloi","alias":"faloi","url":"https://github.com/faloi","imageURL":"https://github.com/faloi.png","key":"faloi","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Fouad Matin","alias":"fouad","url":"https://github.com/fouad","imageURL":"https://github.com/fouad.png","key":"fouad","page":null},{"name":"Julien Neuhart","alias":"gulien","url":"https://github.com/gulien","imageURL":"https://github.com/gulien.png","key":"gulien","page":null},{"name":"Hamza Hamidi","alias":"hamzahamidi","url":"https://github.com/hamzahamidi","imageURL":"https://github.com/hamzahamidi.png","key":"hamzahamidi","page":null},{"name":"HaochenQ","alias":"HaochenQ","url":"https://github.com/HaochenQ","imageURL":"https://github.com/HaochenQ.png","key":"HaochenQ","page":null},{"name":"Dmitry Zhifarsky","alias":"incendial","url":"https://github.com/incendial","imageURL":"https://github.com/incendial.png","key":"incendial","page":null},{"name":"Isaac Philip","alias":"isaac-philip","url":"https://github.com/isaac-philip","imageURL":"https://github.com/isaac-philip.png","key":"isaac-philip","page":null},{"name":"Yan Ivan Evdokimov","alias":"jansivans","url":"https://github.com/jansivans","imageURL":"https://github.com/jansivans.png","key":"jansivans","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Jonny Burger","alias":"JonnyBurger","url":"https://github.com/JonnyBurger","imageURL":"https://github.com/JonnyBurger.png","key":"JonnyBurger","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Marko Saric","alias":"metmarkosaric","url":"https://github.com/metmarkosaric","imageURL":"https://github.com/metmarkosaric.png","key":"metmarkosaric","page":null},{"name":"Michal S\xe4nger","alias":"michalsanger","url":"https://github.com/michalsanger","imageURL":"https://github.com/michalsanger.png","key":"michalsanger","page":null},{"name":"Garry","alias":"neaped","url":"https://github.com/neaped","imageURL":"https://github.com/neaped.png","key":"neaped","page":null},{"name":"Pierre-Gilles Leymarie","alias":"Pierre-Gilles","url":"https://github.com/Pierre-Gilles","imageURL":"https://github.com/Pierre-Gilles.png","key":"Pierre-Gilles","page":null},{"name":"Sam Wall","alias":"sjwall","url":"https://github.com/sjwall","imageURL":"https://github.com/sjwall.png","key":"sjwall","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tunghsiao Liu","alias":"sparanoid","url":"https://github.com/sparanoid","imageURL":"https://github.com/sparanoid.png","key":"sparanoid","page":null},{"name":"wan-nyan-wan","alias":"wan-nyan-wan","url":"https://github.com/wan-nyan-wan","imageURL":"https://github.com/wan-nyan-wan.png","key":"wan-nyan-wan","page":null},{"name":"Paul O\u2019Shannessy","alias":"zpao","url":"https://github.com/zpao","imageURL":"https://github.com/zpao.png","key":"zpao","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-08-26T20:00","authors":["BattleOfPlassey","dbseal","deepakprabhakara","erickzhao","faloi","forresst","fouad","gulien","hamzahamidi","HaochenQ","incendial","isaac-philip","jansivans","johnnyreilly","JonnyBurger","Josh-Cena","lex111","massoudmaboudi","metmarkosaric","michalsanger","neaped","Pierre-Gilles","sjwall","slorber","sparanoid","wan-nyan-wan","zpao"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.6","permalink":"/changelog/2.0.0-beta.6"},"nextItem":{"title":"2.0.0-beta.4","permalink":"/changelog/2.0.0-beta.4"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-utils-validation`\\n - [#5396](https://github.com/facebook/docusaurus/pull/5396) feat(plugin-blog): multi-authors support + authors.yml global configuration ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#5371](https://github.com/facebook/docusaurus/pull/5371) feat: make blog config options and navbar versions dropdown label translatable ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5375](https://github.com/facebook/docusaurus/pull/5375) feat: add metatags support for seo / blogposts #5373 ([@johnnyreilly](https://github.com/johnnyreilly))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus-utils`\\n - [#3646](https://github.com/facebook/docusaurus/pull/3646) feat: doc tags (same as blog tags) ([@isaac-philip](https://github.com/isaac-philip))\\n- `docusaurus-plugin-content-blog`\\n - [#5354](https://github.com/facebook/docusaurus/pull/5354) feat(plugin-blog): allow `\'ALL\'` as `postsPerPage` option value ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#5330](https://github.com/facebook/docusaurus/pull/5330) feat: Markdown page-specific head metadatas ([@slorber](https://github.com/slorber))\\n - [#5322](https://github.com/facebook/docusaurus/pull/5322) feat: structured data for blog posts ([@johnnyreilly](https://github.com/johnnyreilly))\\n - [#5314](https://github.com/facebook/docusaurus/pull/5314) feat(v2): add cs (Czech) translations for docusaurus-theme-classic ([@michalsanger](https://github.com/michalsanger))\\n- `docusaurus-init`\\n - [#5233](https://github.com/facebook/docusaurus/pull/5233) feat: new init template classic-typescript ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#5309](https://github.com/facebook/docusaurus/pull/5309) feat: blog posts support /YYYY/MM/DD/blog-post/index.md pattern + blog frontmatter can reference relative images ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus`\\n - [#5299](https://github.com/facebook/docusaurus/pull/5299) feat: mdx loader fallback, allow importing mdx docs from anywhere ([@slorber](https://github.com/slorber))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus-utils`\\n - [#3646](https://github.com/facebook/docusaurus/pull/3646) feat: doc tags (same as blog tags) ([@isaac-philip](https://github.com/isaac-philip))\\n- `docusaurus-init`, `docusaurus-migrate`, `docusaurus-plugin-content-docs`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus`\\n - [#5345](https://github.com/facebook/docusaurus/pull/5345) refactor: rename Git master branch to main ([@zpao](https://github.com/zpao))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-types`, `docusaurus`\\n - [#5349](https://github.com/facebook/docusaurus/pull/5349) refactor(core): replace useDocusaurusContext().isClient by useIsBrowser() ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#5264](https://github.com/facebook/docusaurus/pull/5264) fix: apply proper class for active doc item on mobiles + avoid duplicated classes ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#5425](https://github.com/facebook/docusaurus/pull/5425) fix: toc does not highlight clicked anchor + use scroll-margin-top ([@slorber](https://github.com/slorber))\\n - [#5424](https://github.com/facebook/docusaurus/pull/5424) refactor: make dynamic authors layout via CSS only ([@lex111](https://github.com/lex111))\\n - [#5422](https://github.com/facebook/docusaurus/pull/5422) fix: make tags wrapping properly ([@lex111](https://github.com/lex111))\\n - [#5419](https://github.com/facebook/docusaurus/pull/5419) fix: various fixes back-to-top button ([@lex111](https://github.com/lex111))\\n - [#5361](https://github.com/facebook/docusaurus/pull/5361) fix: refactor TOC highlighting + handle edge cases ([@slorber](https://github.com/slorber))\\n - [#5357](https://github.com/facebook/docusaurus/pull/5357) fix: code blocks should scroll in RTL direction ([@slorber](https://github.com/slorber))\\n - [#5346](https://github.com/facebook/docusaurus/pull/5346) fix: author/image adjustments in BlogPosting schema ([@lex111](https://github.com/lex111))\\n - [#5240](https://github.com/facebook/docusaurus/pull/5240) fix: remove top margin only from directly first element ([@lex111](https://github.com/lex111))\\n - [#5317](https://github.com/facebook/docusaurus/pull/5317) fix: make proper highlighting doc link if no sidebar ([@hamzahamidi](https://github.com/hamzahamidi))\\n - [#5316](https://github.com/facebook/docusaurus/pull/5316) fix: avoid extra default active class on doc sidebar item ([@lex111](https://github.com/lex111))\\n - [#5319](https://github.com/facebook/docusaurus/pull/5319) fix: unbreak highlighting regular navbar links ([@lex111](https://github.com/lex111))\\n - [#5264](https://github.com/facebook/docusaurus/pull/5264) fix: apply proper class for active doc item on mobiles + avoid duplicated classes ([@lex111](https://github.com/lex111))\\n - [#5275](https://github.com/facebook/docusaurus/pull/5275) fix: improve spanish translation ([@faloi](https://github.com/faloi))\\n - [#5262](https://github.com/facebook/docusaurus/pull/5262) fix: show secondary menu if even there is no main one ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#5426](https://github.com/facebook/docusaurus/pull/5426) fix: Make update-notifier fail-safe if no permission to read configStore ([@slorber](https://github.com/slorber))\\n - [#5398](https://github.com/facebook/docusaurus/pull/5398) fix: fix write-translations warning for theme-common translations ([@slorber](https://github.com/slorber))\\n - [#5381](https://github.com/facebook/docusaurus/pull/5381) fix: canary releases should ignore notifier updates ([@slorber](https://github.com/slorber))\\n - [#5339](https://github.com/facebook/docusaurus/pull/5339) fix: add admonitions support to mdx partials loaded through the fallback mdx loader ([@slorber](https://github.com/slorber))\\n - [#5311](https://github.com/facebook/docusaurus/pull/5311) fix: docusaurus serve logs wrong port if 3000 is taken ([@wan-nyan-wan](https://github.com/wan-nyan-wan))\\n - [#5308](https://github.com/facebook/docusaurus/pull/5308) fix: remove unexpected whitespaces in CSS bundle ([@lex111](https://github.com/lex111))\\n - [#5268](https://github.com/facebook/docusaurus/pull/5268) fix: fix wrong regex that removes extra letters from swizzled component names ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Other\\n - [#5399](https://github.com/facebook/docusaurus/pull/5399) fix: fix site unlocalized 404 pages + aggressive Netlify /assets caching ([@slorber](https://github.com/slorber))\\n - [#5249](https://github.com/facebook/docusaurus/pull/5249) fix: fix Crowdin mapping for pt-BR ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#5383](https://github.com/facebook/docusaurus/pull/5383) fix: fix Locale Dropdown RTL icon + Webpack aliases ordering ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`\\n - [#5370](https://github.com/facebook/docusaurus/pull/5370) fix(init): fix links to feature images in classic-typescript ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-common`\\n - [#5364](https://github.com/facebook/docusaurus/pull/5364) fix: unbreak Details component ([@lex111](https://github.com/lex111))\\n - [#5297](https://github.com/facebook/docusaurus/pull/5297) fix: fix constant value import ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-ideal-image`\\n - [#5334](https://github.com/facebook/docusaurus/pull/5334) fix: plugin ideal-image should generate filename with a hash even in development ([@Pierre-Gilles](https://github.com/Pierre-Gilles))\\n- `docusaurus-theme-search-algolia`\\n - [#5290](https://github.com/facebook/docusaurus/pull/5290) fix: make successful build if missing favicon ([@lex111](https://github.com/lex111))\\n- `docusaurus-utils`\\n - [#5270](https://github.com/facebook/docusaurus/pull/5270) fix: ability to link md files with relative paths when paths contain space ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-types`\\n - [#5261](https://github.com/facebook/docusaurus/pull/5261) fix: fix various TS errors ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-common`\\n - [#5402](https://github.com/facebook/docusaurus/pull/5402) refactor: improve styles of Details component ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#5386](https://github.com/facebook/docusaurus/pull/5386) refactor: various tags improvements ([@lex111](https://github.com/lex111))\\n - [#5377](https://github.com/facebook/docusaurus/pull/5377) refactor: make main heading font size changeable via CSS var ([@lex111](https://github.com/lex111))\\n - [#5355](https://github.com/facebook/docusaurus/pull/5355) refactor: add blog microdata in markup instead of use JSON-LD ([@lex111](https://github.com/lex111))\\n - [#5365](https://github.com/facebook/docusaurus/pull/5365) refactor(v2): improved Farsi default translations ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n - [#5280](https://github.com/facebook/docusaurus/pull/5280) refactor(v2): improved Farsi default translations ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n- Other\\n - [#5389](https://github.com/facebook/docusaurus/pull/5389) refactor: clean Canny integration + rename \'Feedback\' to \'Feature Requests\' + improve TS doc page ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5242](https://github.com/facebook/docusaurus/pull/5242) refactor: reduce ESLint warnings / better typing ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :memo: Documentation\\n\\n- [#5423](https://github.com/facebook/docusaurus/pull/5423) docs: clarify using custom attributes for navbar link ([@lex111](https://github.com/lex111))\\n- [#5421](https://github.com/facebook/docusaurus/pull/5421) docs: add Indent to showcase ([@fouad](https://github.com/fouad))\\n- [#5405](https://github.com/facebook/docusaurus/pull/5405) docs: add Gotenberg to showcase ([@gulien](https://github.com/gulien))\\n- [#5406](https://github.com/facebook/docusaurus/pull/5406) docs: specify proper min Node.js version for Travis CI example ([@BattleOfPlassey](https://github.com/BattleOfPlassey))\\n- [#5390](https://github.com/facebook/docusaurus/pull/5390) docs(v2): showcase BoxyHQ ([@deepakprabhakara](https://github.com/deepakprabhakara))\\n- [#5376](https://github.com/facebook/docusaurus/pull/5376) docs(v2): Update Datagit site to showcase page ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n- [#5372](https://github.com/facebook/docusaurus/pull/5372) docs: remove docusaurus-preset-name from preset doc ([@slorber](https://github.com/slorber))\\n- [#5366](https://github.com/facebook/docusaurus/pull/5366) docs: Add drayman to showcase ([@jansivans](https://github.com/jansivans))\\n- [#5369](https://github.com/facebook/docusaurus/pull/5369) docs(v2): Add Nocalhost website to showcase page ([@neaped](https://github.com/neaped))\\n- [#5351](https://github.com/facebook/docusaurus/pull/5351) docs(website): bump announcement bar + include Twitter link + refactor site colors ([@slorber](https://github.com/slorber))\\n- [#5352](https://github.com/facebook/docusaurus/pull/5352) docs: update `docusaurus-plugin-sass` instructions ([@erickzhao](https://github.com/erickzhao))\\n- [#5332](https://github.com/facebook/docusaurus/pull/5332) docs(v2): add mdx-mermaid to resources ([@sjwall](https://github.com/sjwall))\\n- [#5331](https://github.com/facebook/docusaurus/pull/5331) docs: Changelog page should display TOC with releases ([@slorber](https://github.com/slorber))\\n- [#5329](https://github.com/facebook/docusaurus/pull/5329) docs: add Haochen to showcase page ([@HaochenQ](https://github.com/HaochenQ))\\n- [#5313](https://github.com/facebook/docusaurus/pull/5313) docs: try to make plugin/preset config less confusing ([@slorber](https://github.com/slorber))\\n- [#5296](https://github.com/facebook/docusaurus/pull/5296) docs: update canary doc ([@slorber](https://github.com/slorber))\\n- [#5219](https://github.com/facebook/docusaurus/pull/5219) docs: refactor API documentation ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#5271](https://github.com/facebook/docusaurus/pull/5271) Add Plausible Analytics docs to showcase page ([@metmarkosaric](https://github.com/metmarkosaric))\\n- [#5283](https://github.com/facebook/docusaurus/pull/5283) docs: fix broken link to syncing tab choices section ([@lex111](https://github.com/lex111))\\n- [#5259](https://github.com/facebook/docusaurus/pull/5259) docs(v2): update Remotion website picture in showcase ([@JonnyBurger](https://github.com/JonnyBurger))\\n- [#5260](https://github.com/facebook/docusaurus/pull/5260) docs(v2): add Dart Code Metrics site to showcase page ([@incendial](https://github.com/incendial))\\n- [#5253](https://github.com/facebook/docusaurus/pull/5253) docs: Fix typo `2-resources.md` ([@forresst](https://github.com/forresst))\\n- [#5248](https://github.com/facebook/docusaurus/pull/5248) docs(v2): add docusaurus-prince-pdf to resources ([@sparanoid](https://github.com/sparanoid))\\n- [#5239](https://github.com/facebook/docusaurus/pull/5239) docs(v2): Add unmand site to showcase page ([@dbseal](https://github.com/dbseal))\\n\\n## :house: Internal\\n\\n- Other\\n - [#5397](https://github.com/facebook/docusaurus/pull/5397) chore: rename docusaurus-2-website package + refactor scripts ([@slorber](https://github.com/slorber))\\n - [#5342](https://github.com/facebook/docusaurus/pull/5342) chore: fix e2e yarn berry tests ([@slorber](https://github.com/slorber))\\n - [#5328](https://github.com/facebook/docusaurus/pull/5328) refactor(website): convert website to TypeScript ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5336](https://github.com/facebook/docusaurus/pull/5336) chore: bump url-parse from 1.5.1 to 1.5.3 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#5312](https://github.com/facebook/docusaurus/pull/5312) fix: fix changelog page mdx import for i18n ([@slorber](https://github.com/slorber))\\n - [#5295](https://github.com/facebook/docusaurus/pull/5295) fix: fix canary release versions ([@slorber](https://github.com/slorber))\\n - [#5285](https://github.com/facebook/docusaurus/pull/5285) fix: fix canary version names ([@slorber](https://github.com/slorber))\\n - [#5269](https://github.com/facebook/docusaurus/pull/5269) misc: enable pt-BR + archive older versions ([@slorber](https://github.com/slorber))\\n - [#5237](https://github.com/facebook/docusaurus/pull/5237) chore: enable pt-BR i18n locale on staging ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-migrate`, `docusaurus-plugin-content-docs`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus`\\n - [#5345](https://github.com/facebook/docusaurus/pull/5345) refactor: rename Git master branch to main ([@zpao](https://github.com/zpao))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5341](https://github.com/facebook/docusaurus/pull/5341) polish: bind key listener to light/dark toggle + a11y lint fixes ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus`\\n - [#5347](https://github.com/facebook/docusaurus/pull/5347) chore(mdx-loader): migrate package to TypeScript ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus`\\n - [#5335](https://github.com/facebook/docusaurus/pull/5335) refactor: better typing + remove unnecessary eslint-disable ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-blog`\\n - [#5338](https://github.com/facebook/docusaurus/pull/5338) refactor(plugin-blog): style improvements in blogUtils ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`\\n - [#5256](https://github.com/facebook/docusaurus/pull/5256) chore: upgrade Infima to alpha.30 ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`\\n - [#5315](https://github.com/facebook/docusaurus/pull/5315) refactor(init): share common files between templates ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5284](https://github.com/facebook/docusaurus/pull/5284) refactor: properly type docs version ([@Josh-Cena](https://github.com/Josh-Cena))\\n\\n## :running: Performance\\n\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-types`, `docusaurus`\\n - [#5349](https://github.com/facebook/docusaurus/pull/5349) refactor(core): replace useDocusaurusContext().isClient by useIsBrowser() ([@slorber](https://github.com/slorber))\\n\\n## Committers: 27\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- David Seal ([@dbseal](https://github.com/dbseal))\\n- Deepak Prabhakara ([@deepakprabhakara](https://github.com/deepakprabhakara))\\n- Dmitry Zhifarsky ([@incendial](https://github.com/incendial))\\n- Erick Zhao ([@erickzhao](https://github.com/erickzhao))\\n- Federico Aloi ([@faloi](https://github.com/faloi))\\n- Forresst ([@forresst](https://github.com/forresst))\\n- Fouad Matin ([@fouad](https://github.com/fouad))\\n- Garry ([@neaped](https://github.com/neaped))\\n- Hamza Hamidi ([@hamzahamidi](https://github.com/hamzahamidi))\\n- Isaac Philip ([@isaac-philip](https://github.com/isaac-philip))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Jonny Burger ([@JonnyBurger](https://github.com/JonnyBurger))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Julien Neuhart ([@gulien](https://github.com/gulien))\\n- Marko Saric ([@metmarkosaric](https://github.com/metmarkosaric))\\n- Massoud Maboudi ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n- Michal S\xe4nger ([@michalsanger](https://github.com/michalsanger))\\n- Palash Shrivastava ([@BattleOfPlassey](https://github.com/BattleOfPlassey))\\n- Paul O\u2019Shannessy ([@zpao](https://github.com/zpao))\\n- Pierre-Gilles Leymarie ([@Pierre-Gilles](https://github.com/Pierre-Gilles))\\n- Sam Wall ([@sjwall](https://github.com/sjwall))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tunghsiao Liu ([@sparanoid](https://github.com/sparanoid))\\n- Yan Ivan Evdokimov ([@jansivans](https://github.com/jansivans))\\n- [@HaochenQ](https://github.com/HaochenQ)\\n- wan-nyan-wan ([@wan-nyan-wan](https://github.com/wan-nyan-wan))"},{"id":"/2.0.0-beta.4","metadata":{"permalink":"/changelog/2.0.0-beta.4","source":"@site/changelog/source/2.0.0-beta.4.md","title":"2.0.0-beta.4","description":"New Feature","date":"2021-07-28T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"antonvasilev52","alias":"antonvasilev52","url":"https://github.com/antonvasilev52","imageURL":"https://github.com/antonvasilev52.png","key":"antonvasilev52","page":null},{"name":"Arnaud Jeannin","alias":"arnaudjnn","url":"https://github.com/arnaudjnn","imageURL":"https://github.com/arnaudjnn.png","key":"arnaudjnn","page":null},{"name":"Christian Flach","alias":"cmfcmf","url":"https://github.com/cmfcmf","imageURL":"https://github.com/cmfcmf.png","key":"cmfcmf","page":null},{"name":"Arijit Kundu","alias":"covalentbond","url":"https://github.com/covalentbond","imageURL":"https://github.com/covalentbond.png","key":"covalentbond","page":null},{"name":"David Zhao","alias":"davidzhao","url":"https://github.com/davidzhao","imageURL":"https://github.com/davidzhao.png","key":"davidzhao","page":null},{"name":"David Barrat","alias":"dbrrt","url":"https://github.com/dbrrt","imageURL":"https://github.com/dbrrt.png","key":"dbrrt","page":null},{"name":"Dan Gebhardt","alias":"dgeb","url":"https://github.com/dgeb","imageURL":"https://github.com/dgeb.png","key":"dgeb","page":null},{"name":"Fran\xe7ois Massot","alias":"fmassot","url":"https://github.com/fmassot","imageURL":"https://github.com/fmassot.png","key":"fmassot","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Lennart Koopmann","alias":"lennartkoopmann","url":"https://github.com/lennartkoopmann","imageURL":"https://github.com/lennartkoopmann.png","key":"lennartkoopmann","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lukas Bach","alias":"lukasbach","url":"https://github.com/lukasbach","imageURL":"https://github.com/lukasbach.png","key":"lukasbach","page":null},{"name":"Mar\xe7al Junior","alias":"marssaljr","url":"https://github.com/marssaljr","imageURL":"https://github.com/marssaljr.png","key":"marssaljr","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Michel Weststrate","alias":"mweststrate","url":"https://github.com/mweststrate","imageURL":"https://github.com/mweststrate.png","key":"mweststrate","page":null},{"name":"Nazar","alias":"NazarStreletskyi","url":"https://github.com/NazarStreletskyi","imageURL":"https://github.com/NazarStreletskyi.png","key":"NazarStreletskyi","page":null},{"name":"nirtamir2","alias":"nirtamir2","url":"https://github.com/nirtamir2","imageURL":"https://github.com/nirtamir2.png","key":"nirtamir2","page":null},{"name":"Przemys\u0142aw Chojecki","alias":"pcho","url":"https://github.com/pcho","imageURL":"https://github.com/pcho.png","key":"pcho","page":null},{"name":"Philipp Muens","alias":"pmuens","url":"https://github.com/pmuens","imageURL":"https://github.com/pmuens.png","key":"pmuens","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"Raz Luvaton","alias":"rluvaton","url":"https://github.com/rluvaton","imageURL":"https://github.com/rluvaton.png","key":"rluvaton","page":null},{"name":"Sergio Moreno","alias":"semoal","url":"https://github.com/semoal","imageURL":"https://github.com/semoal.png","key":"semoal","page":null},{"name":"Cl\xe9ment Vannicatte","alias":"shortcuts","url":"https://github.com/shortcuts","imageURL":"https://github.com/shortcuts.png","key":"shortcuts","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null},{"name":"tohid nateghi","alias":"tohidnateghi","url":"https://github.com/tohidnateghi","imageURL":"https://github.com/tohidnateghi.png","key":"tohidnateghi","page":null},{"name":"\u9648\u6768\u6587","alias":"wenerme","url":"https://github.com/wenerme","imageURL":"https://github.com/wenerme.png","key":"wenerme","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-07-28T20:00","authors":["antonvasilev52","arnaudjnn","cmfcmf","covalentbond","davidzhao","dbrrt","dgeb","fmassot","forresst","Josh-Cena","lennartkoopmann","lex111","lukasbach","marssaljr","massoudmaboudi","mweststrate","NazarStreletskyi","nirtamir2","pcho","pmuens","pranabdas","rluvaton","semoal","shortcuts","slorber","taylorreece","tohidnateghi","wenerme"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.5","permalink":"/changelog/2.0.0-beta.5"},"nextItem":{"title":"2.0.0-beta.3","permalink":"/changelog/2.0.0-beta.3"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#4912](https://github.com/facebook/docusaurus/pull/4912) feat(v2): add back to top button ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`\\n - [#5235](https://github.com/facebook/docusaurus/pull/5235) feat: docusaurus.new + improve StackBlitz playground integration ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5203](https://github.com/facebook/docusaurus/pull/5203) feat: docs plugin options sidebarCollapsible + sidebarCollapsed ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus`\\n - [#5207](https://github.com/facebook/docusaurus/pull/5207) feat: multiple playground choices ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus`\\n - [#4273](https://github.com/facebook/docusaurus/pull/4273) feat(v2): redesign mobile UX: inline TOC + doc sidebar in main menu ([@lex111](https://github.com/lex111))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5203](https://github.com/facebook/docusaurus/pull/5203) feat: docs plugin options sidebarCollapsible + sidebarCollapsed ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils`, `docusaurus`\\n - [#5173](https://github.com/facebook/docusaurus/pull/5173) feat(v2): generalize usage of \\\\_ prefix convention to exclude content files/folders ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus`\\n - [#4273](https://github.com/facebook/docusaurus/pull/4273) feat(v2): redesign mobile UX: inline TOC + doc sidebar in main menu ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-blog`\\n - [#5232](https://github.com/facebook/docusaurus/pull/5232) fix(v2): blog should parse frontMatter.date even when time is present ([@wenerme](https://github.com/wenerme))\\n- `docusaurus-theme-classic`\\n - [#5230](https://github.com/facebook/docusaurus/pull/5230) fix(v2): remove top margin from first element inside doc article ([@lex111](https://github.com/lex111))\\n - [#5229](https://github.com/facebook/docusaurus/pull/5229) fix(v2): keep mobile TOC after hydration ([@lex111](https://github.com/lex111))\\n - [#5179](https://github.com/facebook/docusaurus/pull/5179) fix(v2): wrap dropdown item to missing li element + remove extra attributes ([@lex111](https://github.com/lex111))\\n - [#5183](https://github.com/facebook/docusaurus/pull/5183) fix(v2): pass all props to CodeBlock component ([@lex111](https://github.com/lex111))\\n - [#5176](https://github.com/facebook/docusaurus/pull/5176) fix(v2): Fix type for navlink label ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5172](https://github.com/facebook/docusaurus/pull/5172) fix(v2): hide mobile collapsible doc toc if no headings ([@slorber](https://github.com/slorber))\\n - [#5161](https://github.com/facebook/docusaurus/pull/5161) fix(v2): disable default behavior when click on collapsible item ([@lex111](https://github.com/lex111))\\n - [#5151](https://github.com/facebook/docusaurus/pull/5151) fix(v2): add missing french translations for mobile ([@forresst](https://github.com/forresst))\\n - [#5104](https://github.com/facebook/docusaurus/pull/5104) fix(v2): fix SkipToContent programmatic focus when updating querystring ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-search-algolia`\\n - [#5214](https://github.com/facebook/docusaurus/pull/5214) fix: upgrade Docsearch to avoid layout shift ([@slorber](https://github.com/slorber))\\n - [#5135](https://github.com/facebook/docusaurus/pull/5135) chore(v2): update @docsearch/react ([@shortcuts](https://github.com/shortcuts))\\n- `docusaurus`\\n - [#5204](https://github.com/facebook/docusaurus/pull/5204) fix: cli upgrade helper fail when no `package.dependencies` ([@mweststrate](https://github.com/mweststrate))\\n - [#5164](https://github.com/facebook/docusaurus/pull/5164) fix(v2): revert webpack.resolve.symlinks = false ([@slorber](https://github.com/slorber))\\n - [#5126](https://github.com/facebook/docusaurus/pull/5126) fix(v2): remove webpackConfig.resolve.symlinks: true ([@slorber](https://github.com/slorber))\\n - [#5110](https://github.com/facebook/docusaurus/pull/5110) fix(v2): Fix update-notifier not run at first and not notifying consistently ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils`\\n - [#5199](https://github.com/facebook/docusaurus/pull/5199) fix(v2): Fix MDX docs being considered as partials when siteDir match the \\\\_ prefix convention ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-pwa`\\n - [#5185](https://github.com/facebook/docusaurus/pull/5185) fix(v2): add base URL to content attribute of head tags PWA ([@lex111](https://github.com/lex111))\\n - [#5169](https://github.com/facebook/docusaurus/pull/5169) refactor(v2): automatically add base URL to PWA head tags ([@lex111](https://github.com/lex111))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils`, `docusaurus`\\n - [#5173](https://github.com/facebook/docusaurus/pull/5173) feat(v2): generalize usage of \\\\_ prefix convention to exclude content files/folders ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-common`\\n - [#5159](https://github.com/facebook/docusaurus/pull/5159) fix(v2): Fix Collapsible hydration layout shift ([@slorber](https://github.com/slorber))\\n - [#5146](https://github.com/facebook/docusaurus/pull/5146) fix(v2): improve work of useCollapsible hook with multiple clicks ([@lex111](https://github.com/lex111))\\n- `docusaurus-types`\\n - [#5129](https://github.com/facebook/docusaurus/pull/5129) fix(v2): fix d.ts lint error ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5116](https://github.com/facebook/docusaurus/pull/5116) fix(v2): introduce useCollapsible to fix collapsible animation perf issues ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-client-redirects`\\n - [#5102](https://github.com/facebook/docusaurus/pull/5102) fix(v2): fix redirect plugin when trailingSlash=false for .html extension ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#5228](https://github.com/facebook/docusaurus/pull/5228) refactor(v2): fix small typo in Russian translation ([@antonvasilev52](https://github.com/antonvasilev52))\\n - [#5222](https://github.com/facebook/docusaurus/pull/5222) chore(v2): update Infima to alpha 28 ([@lex111](https://github.com/lex111))\\n - [#5224](https://github.com/facebook/docusaurus/pull/5224) refactor(v2): update Russian translation ([@lex111](https://github.com/lex111))\\n - [#5217](https://github.com/facebook/docusaurus/pull/5217) refactor(v2): improved Farsi default translations ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n - [#5171](https://github.com/facebook/docusaurus/pull/5171) refactor(v2): increase content area if blog sidebar is off ([@lex111](https://github.com/lex111))\\n - [#5154](https://github.com/facebook/docusaurus/pull/5154) refactor(v2): Hindi translation for semantic doc sidebar ([@pranabdas](https://github.com/pranabdas))\\n - [#5145](https://github.com/facebook/docusaurus/pull/5145) refactor(v2): use Collapsible for mobile nav items ([@lex111](https://github.com/lex111))\\n - [#5138](https://github.com/facebook/docusaurus/pull/5138) refactor(v2): Update Hebrew translations ([@nirtamir2](https://github.com/nirtamir2))\\n - [#5140](https://github.com/facebook/docusaurus/pull/5140) refactor(v2): bn translation improvements for semantic doc sidebar ([@pranabdas](https://github.com/pranabdas))\\n - [#5139](https://github.com/facebook/docusaurus/pull/5139) feat(v2): complete Chinese code translations ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5118](https://github.com/facebook/docusaurus/pull/5118) refactor(v2): pt-BR translations improve semantic doc sidebar and tags ([@marssaljr](https://github.com/marssaljr))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#5215](https://github.com/facebook/docusaurus/pull/5215) refactor: make code block shadows consistent with new admonitions ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`\\n - [#5193](https://github.com/facebook/docusaurus/pull/5193) refactor: redesign admonitions/callouts/quotes ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5168](https://github.com/facebook/docusaurus/pull/5168) refactor(v2): mobile dropdown navbar: expand when subitem become active ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- [#5236](https://github.com/facebook/docusaurus/pull/5236) docs: add Verdaccio.org to showcase ([@semoal](https://github.com/semoal))\\n- [#5218](https://github.com/facebook/docusaurus/pull/5218) docs(v2): remove vector.dev from showcase ([@lex111](https://github.com/lex111))\\n- [#5212](https://github.com/facebook/docusaurus/pull/5212) docs: mention Link can be used for external links ([@slorber](https://github.com/slorber))\\n- [#5210](https://github.com/facebook/docusaurus/pull/5210) docs(v2): Elaboration of raw-loader in markdown react component ([@pranabdas](https://github.com/pranabdas))\\n- [#5191](https://github.com/facebook/docusaurus/pull/5191) docs: user should restart docusaurus after adding prism additionalLanguage ([@tohidnateghi](https://github.com/tohidnateghi))\\n- [#5175](https://github.com/facebook/docusaurus/pull/5175) docs: update API docs on navbar behavior ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#5189](https://github.com/facebook/docusaurus/pull/5189) docs(v2): Add orbitjs site to showcase page ([@dgeb](https://github.com/dgeb))\\n- [#5177](https://github.com/facebook/docusaurus/pull/5177) docs(v2): add easyjwt to users ([@dbrrt](https://github.com/dbrrt))\\n- [#5187](https://github.com/facebook/docusaurus/pull/5187) docs(v2): Add quickwit to user.js and png. ([@fmassot](https://github.com/fmassot))\\n- [#5184](https://github.com/facebook/docusaurus/pull/5184) docs(v2): Add react-complex-tree to users.js ([@lukasbach](https://github.com/lukasbach))\\n- [#5178](https://github.com/facebook/docusaurus/pull/5178) docs(v2): Update tutorial link ([@slorber](https://github.com/slorber))\\n- [#5158](https://github.com/facebook/docusaurus/pull/5158) docs(v2): Update deploy with Qovery docs for V2 ([@arnaudjnn](https://github.com/arnaudjnn))\\n- [#5152](https://github.com/facebook/docusaurus/pull/5152) docs(v2): Indent code example to improve readability ([@rluvaton](https://github.com/rluvaton))\\n- [#5133](https://github.com/facebook/docusaurus/pull/5133) docs(v2): GIF format is not suported ([@NazarStreletskyi](https://github.com/NazarStreletskyi))\\n- [#5117](https://github.com/facebook/docusaurus/pull/5117) docs(v2): Add Prismatic docs page to showcase. ([@taylorreece](https://github.com/taylorreece))\\n- [#5115](https://github.com/facebook/docusaurus/pull/5115) docs(v2): Add LiveKit to showcase ([@davidzhao](https://github.com/davidzhao))\\n- [#5114](https://github.com/facebook/docusaurus/pull/5114) docs(v2): add Blink Shell Documentation to Showcase ([@pcho](https://github.com/pcho))\\n- [#5112](https://github.com/facebook/docusaurus/pull/5112) docs(v2): clarify how to disable edit links entirely ([@lennartkoopmann](https://github.com/lennartkoopmann))\\n- [#5113](https://github.com/facebook/docusaurus/pull/5113) docs(v2): Add CryptoDevHub to Showcase ([@pmuens](https://github.com/pmuens))\\n\\n## :house: Internal\\n\\n- `docusaurus-theme-classic`\\n - [#5234](https://github.com/facebook/docusaurus/pull/5234) chore: Upgrade infima 29 ([@slorber](https://github.com/slorber))\\n - [#5130](https://github.com/facebook/docusaurus/pull/5130) test(v2): dogfooding: add huge sidebar for testing purposes ([@slorber](https://github.com/slorber))\\n- Other\\n - [#5223](https://github.com/facebook/docusaurus/pull/5223) chore: fix iframe background color in dark mode ([@lex111](https://github.com/lex111))\\n - [#5206](https://github.com/facebook/docusaurus/pull/5206) misc: add script to keep starters branch/repos up-to-date ([@slorber](https://github.com/slorber))\\n - [#5167](https://github.com/facebook/docusaurus/pull/5167) fix(v2): fix website PWA icon hrefs ([@slorber](https://github.com/slorber))\\n - [#5166](https://github.com/facebook/docusaurus/pull/5166) fix(v2): fix yarn clear command ([@slorber](https://github.com/slorber))\\n - [#5137](https://github.com/facebook/docusaurus/pull/5137) chore: upgrade crowdin ([@slorber](https://github.com/slorber))\\n - [#5111](https://github.com/facebook/docusaurus/pull/5111) misc: monitor site global data with build size bot ([@slorber](https://github.com/slorber))\\n\\n## :running: Performance\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5136](https://github.com/facebook/docusaurus/pull/5136) perf(v2): lazy sidebar categories / collapsibles, reduce html output / build times ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#5130](https://github.com/facebook/docusaurus/pull/5130) test(v2): dogfooding: add huge sidebar for testing purposes ([@slorber](https://github.com/slorber))\\n\\n## Committers: 28\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Arijit Kundu ([@covalentbond](https://github.com/covalentbond))\\n- Arnaud Jeannin ([@arnaudjnn](https://github.com/arnaudjnn))\\n- Christian Flach ([@cmfcmf](https://github.com/cmfcmf))\\n- Cl\xe9ment Vannicatte ([@shortcuts](https://github.com/shortcuts))\\n- Dan Gebhardt ([@dgeb](https://github.com/dgeb))\\n- David Barrat ([@dbrrt](https://github.com/dbrrt))\\n- David Zhao ([@davidzhao](https://github.com/davidzhao))\\n- Forresst ([@forresst](https://github.com/forresst))\\n- Fran\xe7ois Massot ([@fmassot](https://github.com/fmassot))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Lennart Koopmann ([@lennartkoopmann](https://github.com/lennartkoopmann))\\n- Lukas Bach ([@lukasbach](https://github.com/lukasbach))\\n- Mar\xe7al Junior ([@marssaljr](https://github.com/marssaljr))\\n- Massoud Maboudi ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n- Michel Weststrate ([@mweststrate](https://github.com/mweststrate))\\n- Nazar ([@NazarStreletskyi](https://github.com/NazarStreletskyi))\\n- Philipp Muens ([@pmuens](https://github.com/pmuens))\\n- Pranab Das ([@pranabdas](https://github.com/pranabdas))\\n- Przemys\u0142aw Chojecki ([@pcho](https://github.com/pcho))\\n- Raz Luvaton ([@rluvaton](https://github.com/rluvaton))\\n- Sergio Moreno ([@semoal](https://github.com/semoal))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Taylor Reece ([@taylorreece](https://github.com/taylorreece))\\n- [@antonvasilev52](https://github.com/antonvasilev52)\\n- [@nirtamir2](https://github.com/nirtamir2)\\n- tohid nateghi ([@tohidnateghi](https://github.com/tohidnateghi))\\n- \u9648\u6768\u6587 ([@wenerme](https://github.com/wenerme))"},{"id":"/2.0.0-beta.3","metadata":{"permalink":"/changelog/2.0.0-beta.3","source":"@site/changelog/source/2.0.0-beta.3.md","title":"2.0.0-beta.3","description":"New Feature","date":"2021-06-30T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Adam Uhl\xed\u0159","alias":"AuHau","url":"https://github.com/AuHau","imageURL":"https://github.com/AuHau.png","key":"AuHau","page":null},{"name":"bperlmutter","alias":"bperlmutter","url":"https://github.com/bperlmutter","imageURL":"https://github.com/bperlmutter.png","key":"bperlmutter","page":null},{"name":"dirslashls","alias":"dirslashls","url":"https://github.com/dirslashls","imageURL":"https://github.com/dirslashls.png","key":"dirslashls","page":null},{"name":"Ayush das","alias":"iamayushdas","url":"https://github.com/iamayushdas","imageURL":"https://github.com/iamayushdas.png","key":"iamayushdas","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jules Sam. Randolph","alias":"jsamr","url":"https://github.com/jsamr","imageURL":"https://github.com/jsamr.png","key":"jsamr","page":null},{"name":"Danny Lin","alias":"kdrag0n","url":"https://github.com/kdrag0n","imageURL":"https://github.com/kdrag0n.png","key":"kdrag0n","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Rami Yushuvaev","alias":"ramiy","url":"https://github.com/ramiy","imageURL":"https://github.com/ramiy.png","key":"ramiy","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-06-30T20:00","authors":["AuHau","bperlmutter","dirslashls","iamayushdas","Josh-Cena","jsamr","kdrag0n","lex111","ramiy","slorber","taylorreece"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.4","permalink":"/changelog/2.0.0-beta.4"},"nextItem":{"title":"2.0.0-beta.2","permalink":"/changelog/2.0.0-beta.2"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#5092](https://github.com/facebook/docusaurus/pull/5092) feat(v2): add icon to external footer links ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#5080](https://github.com/facebook/docusaurus/pull/5080) fix(v2): classic theme - semantic correct anchors links ([@AuHau](https://github.com/AuHau))\\n - [#5081](https://github.com/facebook/docusaurus/pull/5081) fix(v2): restore previous scroll position on back button click ([@lex111](https://github.com/lex111))\\n - [#5063](https://github.com/facebook/docusaurus/pull/5063) fix(v2): restore responsive menu ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#5094](https://github.com/facebook/docusaurus/pull/5094) fix(v2): fix typos in swizzle command ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#5095](https://github.com/facebook/docusaurus/pull/5095) fix(v2): fix swizzle readComponent ([@slorber](https://github.com/slorber))\\n - [#5059](https://github.com/facebook/docusaurus/pull/5059) fix(v2): fix webpack SSG plugin error thrown due to new URL() / \\\\_\\\\_filename ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`\\n - [#5097](https://github.com/facebook/docusaurus/pull/5097) fix(v2): fix useEffect infinite loop in blogOnly mode ([@slorber](https://github.com/slorber))\\n - [#5074](https://github.com/facebook/docusaurus/pull/5074) fix(v2): allow negative sidebar positions ([@kdrag0n](https://github.com/kdrag0n))\\n- `docusaurus-plugin-client-redirects`\\n - [#5093](https://github.com/facebook/docusaurus/pull/5093) fix(v2): redirect from should work with trailingSlash: true ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-utils`\\n - [#5085](https://github.com/facebook/docusaurus/pull/5085) fix(v2): redirect plugin should emit redirect files with lower precedence than redirect target ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-sitemap`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus`\\n - [#5082](https://github.com/facebook/docusaurus/pull/5082) fix(v2): never remove trailing slash from site root like \'/baseUrl/\' ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-sitemap`\\n - [#5068](https://github.com/facebook/docusaurus/pull/5068) fix(v2): sitemap should respect the global trailingSlash config option. ([@taylorreece](https://github.com/taylorreece))\\n- `docusaurus-types`\\n - [#5058](https://github.com/facebook/docusaurus/pull/5058) fix(v2): fix bad @docusaurus/types Plugin type generics ([@jsamr](https://github.com/jsamr))\\n\\n## :memo: Documentation\\n\\n- [#5064](https://github.com/facebook/docusaurus/pull/5064) docs(v2): Rewrite markdown images section ([@ramiy](https://github.com/ramiy))\\n- [#5086](https://github.com/facebook/docusaurus/pull/5086) docs(v2): Add SQL Frames to the showcase ([@dirslashls](https://github.com/dirslashls))\\n- [#5073](https://github.com/facebook/docusaurus/pull/5073) docs(v2): update installation docs ([@iamayushdas](https://github.com/iamayushdas))\\n- [#5061](https://github.com/facebook/docusaurus/pull/5061) docs(v2:) Divide `markdown-features/code-blocks` to smaller sections ([@ramiy](https://github.com/ramiy))\\n- [#5066](https://github.com/facebook/docusaurus/pull/5066) docs(v2): correct typo ([@bperlmutter](https://github.com/bperlmutter))\\n\\n## :house: Internal\\n\\n- `docusaurus-types`\\n - [#5067](https://github.com/facebook/docusaurus/pull/5067) chore: unstable yarn.lock ([@slorber](https://github.com/slorber))\\n- Other\\n - [#5057](https://github.com/facebook/docusaurus/pull/5057) chore(v2): upgrade examples to beta.2 ([@slorber](https://github.com/slorber))\\n\\n## Committers: 11\\n\\n- Adam Uhl\xed\u0159 ([@AuHau](https://github.com/AuHau))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Ayush das ([@iamayushdas](https://github.com/iamayushdas))\\n- Danny Lin ([@kdrag0n](https://github.com/kdrag0n))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Jules Sam. Randolph ([@jsamr](https://github.com/jsamr))\\n- Rami Yushuvaev ([@ramiy](https://github.com/ramiy))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Taylor Reece ([@taylorreece](https://github.com/taylorreece))\\n- [@bperlmutter](https://github.com/bperlmutter)\\n- [@dirslashls](https://github.com/dirslashls)"},{"id":"/2.0.0-beta.2","metadata":{"permalink":"/changelog/2.0.0-beta.2","source":"@site/changelog/source/2.0.0-beta.2.md","title":"2.0.0-beta.2","description":"New Feature","date":"2021-06-24T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Eshan Tripathi","alias":"eshantri","url":"https://github.com/eshantri","imageURL":"https://github.com/eshantri.png","key":"eshantri","page":null},{"name":"Felipe Santos","alias":"felipecrs","url":"https://github.com/felipecrs","imageURL":"https://github.com/felipecrs.png","key":"felipecrs","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jules Sam. Randolph","alias":"jsamr","url":"https://github.com/jsamr","imageURL":"https://github.com/jsamr.png","key":"jsamr","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"ZhengYuan Loo","alias":"loozhengyuan","url":"https://github.com/loozhengyuan","imageURL":"https://github.com/loozhengyuan.png","key":"loozhengyuan","page":null},{"name":"Manuel Meurer","alias":"manuelmeurer","url":"https://github.com/manuelmeurer","imageURL":"https://github.com/manuelmeurer.png","key":"manuelmeurer","page":null},{"name":"Rami Yushuvaev","alias":"ramiy","url":"https://github.com/ramiy","imageURL":"https://github.com/ramiy.png","key":"ramiy","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"Tomasz Papiernik","alias":"tomekpapiernik","url":"https://github.com/tomekpapiernik","imageURL":"https://github.com/tomekpapiernik.png","key":"tomekpapiernik","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-06-24T20:00","authors":["eshantri","felipecrs","Josh-Cena","jsamr","lex111","loozhengyuan","manuelmeurer","ramiy","slorber","teikjun","tomekpapiernik"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.3","permalink":"/changelog/2.0.0-beta.3"},"nextItem":{"title":"2.0.0-beta.1","permalink":"/changelog/2.0.0-beta.1"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#5052](https://github.com/facebook/docusaurus/pull/5052) feat(v2): docs version banner configuration option ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus`\\n - [#5037](https://github.com/facebook/docusaurus/pull/5037) feat(v2): plugins injectHtmlTags + configureWebpack should receive content loaded ([@slorber](https://github.com/slorber))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-plugin-content-docs`\\n - [#5053](https://github.com/facebook/docusaurus/pull/5053) refactor(v2): remove deprecated docs option excludeNextVersionDocs ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#5052](https://github.com/facebook/docusaurus/pull/5052) feat(v2): docs version banner configuration option ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-types`, `docusaurus`\\n - [#5054](https://github.com/facebook/docusaurus/pull/5054) fix(v2): allow undefined favicon ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`\\n - [#5048](https://github.com/facebook/docusaurus/pull/5048) fix(v2): read last update from inner git repositories ([@felipecrs](https://github.com/felipecrs))\\n- `docusaurus-theme-classic`\\n - [#5050](https://github.com/facebook/docusaurus/pull/5050) fix(v2): add shadow to skip link on focus only ([@lex111](https://github.com/lex111))\\n - [#5035](https://github.com/facebook/docusaurus/pull/5035) fix(v2): fix some docs container/sidebar layout issues ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#5047](https://github.com/facebook/docusaurus/pull/5047) fix(v2): Fix Webpack persistent caching (evict on swizzle/alias/config change) ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5040](https://github.com/facebook/docusaurus/pull/5040) fix(v2): Fix announcementBar layout shifts ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#5034](https://github.com/facebook/docusaurus/pull/5034) fix(v2): dev css modules classnames should include filename ([@slorber](https://github.com/slorber))\\n - [#5016](https://github.com/facebook/docusaurus/pull/5016) fix(v2): add missing quote in build command output ([@manuelmeurer](https://github.com/manuelmeurer))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#5023](https://github.com/facebook/docusaurus/pull/5023) fix(v2): ignore hash changes in useChangeRoute hook ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-utils-validation`\\n - [#5032](https://github.com/facebook/docusaurus/pull/5032) fix(v2): less strict blog/docs uri frontmatter validation ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-plugin-content-docs`\\n - [#5053](https://github.com/facebook/docusaurus/pull/5053) refactor(v2): remove deprecated docs option excludeNextVersionDocs ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#4993](https://github.com/facebook/docusaurus/pull/4993) style(v2): reduce number of ESLint warnings ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Other\\n - [#5017](https://github.com/facebook/docusaurus/pull/5017) chore(v2): remove badge for v1 tests ([@loozhengyuan](https://github.com/loozhengyuan))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#5049](https://github.com/facebook/docusaurus/pull/5049) docs(v2): Fix Gatsby theme name for docs site - Docz ([@ramiy](https://github.com/ramiy))\\n - [#5030](https://github.com/facebook/docusaurus/pull/5030) docs(v2): typo in deployment.mdx ([@eshantri](https://github.com/eshantri))\\n - [#5022](https://github.com/facebook/docusaurus/pull/5022) docs(v2): Add React Native Render HTML site to showcase page ([@jsamr](https://github.com/jsamr))\\n - [#5027](https://github.com/facebook/docusaurus/pull/5027) docs(v2): Add Buddy to deployment doc ([@tomekpapiernik](https://github.com/tomekpapiernik))\\n - [#5021](https://github.com/facebook/docusaurus/pull/5021) docs(v2): fix incorrect anchor links in website ([@teikjun](https://github.com/teikjun))\\n - [#5007](https://github.com/facebook/docusaurus/pull/5007) docs(v2): wrap mdx usage in mdx-code-block ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#5033](https://github.com/facebook/docusaurus/pull/5033) docs(v2): GH pages: recommend using trailingSlash ([@slorber](https://github.com/slorber))\\n\\n## :house: Internal\\n\\n- [#5005](https://github.com/facebook/docusaurus/pull/5005) chore: add archived versions system + archive alpha.73-75 ([@slorber](https://github.com/slorber))\\n\\n## Committers: 11\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Eshan Tripathi ([@eshantri](https://github.com/eshantri))\\n- Felipe Santos ([@felipecrs](https://github.com/felipecrs))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Jules Sam. Randolph ([@jsamr](https://github.com/jsamr))\\n- Manuel Meurer ([@manuelmeurer](https://github.com/manuelmeurer))\\n- Rami Yushuvaev ([@ramiy](https://github.com/ramiy))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Teik Jun ([@teikjun](https://github.com/teikjun))\\n- Tomasz Papiernik ([@tomekpapiernik](https://github.com/tomekpapiernik))\\n- ZhengYuan Loo ([@loozhengyuan](https://github.com/loozhengyuan))"},{"id":"/2.0.0-beta.1","metadata":{"permalink":"/changelog/2.0.0-beta.1","source":"@site/changelog/source/2.0.0-beta.1.md","title":"2.0.0-beta.1","description":"New Feature","date":"2021-06-18T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"antonygibbs","alias":"antonygibbs","url":"https://github.com/antonygibbs","imageURL":"https://github.com/antonygibbs.png","key":"antonygibbs","page":null},{"name":"Arthur","alias":"ArtFlag","url":"https://github.com/ArtFlag","imageURL":"https://github.com/ArtFlag.png","key":"ArtFlag","page":null},{"name":"besemuna","alias":"besemuna","url":"https://github.com/besemuna","imageURL":"https://github.com/besemuna.png","key":"besemuna","page":null},{"name":"Christopher Hsieh","alias":"Christopher-Hsieh","url":"https://github.com/Christopher-Hsieh","imageURL":"https://github.com/Christopher-Hsieh.png","key":"Christopher-Hsieh","page":null},{"name":"Ben Rometsch","alias":"dabeeeenster","url":"https://github.com/dabeeeenster","imageURL":"https://github.com/dabeeeenster.png","key":"dabeeeenster","page":null},{"name":"e271828-","alias":"e271828-","url":"https://github.com/e271828-","imageURL":"https://github.com/e271828-.png","key":"e271828-","page":null},{"name":"fgatti675","alias":"fgatti675","url":"https://github.com/fgatti675","imageURL":"https://github.com/fgatti675.png","key":"fgatti675","page":null},{"name":"Tina\xebl Devresse","alias":"HunteRoi","url":"https://github.com/HunteRoi","imageURL":"https://github.com/HunteRoi.png","key":"HunteRoi","page":null},{"name":"Jonathan Mazin","alias":"jmazin","url":"https://github.com/jmazin","imageURL":"https://github.com/jmazin.png","key":"jmazin","page":null},{"name":"Joel","alias":"Joelpo","url":"https://github.com/Joelpo","imageURL":"https://github.com/Joelpo.png","key":"Joelpo","page":null},{"name":"Jon Barker","alias":"jonbarker68","url":"https://github.com/jonbarker68","imageURL":"https://github.com/jonbarker68.png","key":"jonbarker68","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Louis Gallet","alias":"l0u1sg","url":"https://github.com/l0u1sg","imageURL":"https://github.com/l0u1sg.png","key":"l0u1sg","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Pablo Vidal","alias":"limkinZero","url":"https://github.com/limkinZero","imageURL":"https://github.com/limkinZero.png","key":"limkinZero","page":null},{"name":"Lior Heber","alias":"liorheber","url":"https://github.com/liorheber","imageURL":"https://github.com/liorheber.png","key":"liorheber","page":null},{"name":"Louis Grenard","alias":"louistiti","url":"https://github.com/louistiti","imageURL":"https://github.com/louistiti.png","key":"louistiti","page":null},{"name":"Massibian","alias":"Massibian","url":"https://github.com/Massibian","imageURL":"https://github.com/Massibian.png","key":"Massibian","page":null},{"name":"Nam Hoang Le","alias":"nam-hle","url":"https://github.com/nam-hle","imageURL":"https://github.com/nam-hle.png","key":"nam-hle","page":null},{"name":"Pratyay Banerjee","alias":"Neilblaze","url":"https://github.com/Neilblaze","imageURL":"https://github.com/Neilblaze.png","key":"Neilblaze","page":null},{"name":"nirtamir2","alias":"nirtamir2","url":"https://github.com/nirtamir2","imageURL":"https://github.com/nirtamir2.png","key":"nirtamir2","page":null},{"name":"phwt.smwt","alias":"phwt","url":"https://github.com/phwt","imageURL":"https://github.com/phwt.png","key":"phwt","page":null},{"name":"Pedro Queiroz","alias":"pmqueiroz","url":"https://github.com/pmqueiroz","imageURL":"https://github.com/pmqueiroz.png","key":"pmqueiroz","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"PsychTech","alias":"PsychTechApS","url":"https://github.com/PsychTechApS","imageURL":"https://github.com/PsychTechApS.png","key":"PsychTechApS","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"silva-nick","alias":"silva-nick","url":"https://github.com/silva-nick","imageURL":"https://github.com/silva-nick.png","key":"silva-nick","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"mg","alias":"tiny-dancer","url":"https://github.com/tiny-dancer","imageURL":"https://github.com/tiny-dancer.png","key":"tiny-dancer","page":null},{"name":"Lucas Correia","alias":"tsirlucas","url":"https://github.com/tsirlucas","imageURL":"https://github.com/tsirlucas.png","key":"tsirlucas","page":null},{"name":"Fardeen Panjwani","alias":"wise-introvert","url":"https://github.com/wise-introvert","imageURL":"https://github.com/wise-introvert.png","key":"wise-introvert","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-06-18T20:00","authors":["antonygibbs","ArtFlag","besemuna","Christopher-Hsieh","dabeeeenster","e271828-","fgatti675","HunteRoi","jmazin","Joelpo","jonbarker68","Josh-Cena","l0u1sg","lex111","limkinZero","liorheber","louistiti","Massibian","nam-hle","Neilblaze","nirtamir2","phwt","pmqueiroz","pranabdas","PsychTechApS","SamChou19815","silva-nick","slorber","tiny-dancer","tsirlucas","wise-introvert"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.2","permalink":"/changelog/2.0.0-beta.2"},"nextItem":{"title":"2.0.0-beta.0","permalink":"/changelog/2.0.0-beta.0"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-docs`\\n - [#4982](https://github.com/facebook/docusaurus/pull/4982) feat(v2): add docs pagination_label frontmatter ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#4949](https://github.com/facebook/docusaurus/pull/4949) feat(v2): add icon to external navbar links ([@lex111](https://github.com/lex111))\\n - [#4939](https://github.com/facebook/docusaurus/pull/4939) feat(v2): theme default translations Bengali ([@Neilblaze](https://github.com/Neilblaze))\\n - [#4811](https://github.com/facebook/docusaurus/pull/4811) feat(v2): Add hebrew translations ([@slorber](https://github.com/slorber))\\n - [#4798](https://github.com/facebook/docusaurus/pull/4798) feat(v2): add theme Danish translation ([@PsychTechApS](https://github.com/PsychTechApS))\\n- `docusaurus-init`\\n - [#4968](https://github.com/facebook/docusaurus/pull/4968) feat(v2): add code block theming in init template ([@Josh-Cena](https://github.com/Josh-Cena))\\n- `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#4908](https://github.com/facebook/docusaurus/pull/4908) feat(v2): add trailingSlash config option ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`\\n - [#4796](https://github.com/facebook/docusaurus/pull/4796) feat(v2): exhaustive docs frontmatter schema ([@nam-hle](https://github.com/nam-hle))\\n- `docusaurus-types`, `docusaurus`\\n - [#4618](https://github.com/facebook/docusaurus/pull/4618) feat(v2): allow config plugins as functions or [function,options] ([@besemuna](https://github.com/besemuna))\\n- `docusaurus-plugin-content-blog`, `docusaurus-utils-validation`\\n - [#4759](https://github.com/facebook/docusaurus/pull/4759) feat(v2): exhaustive BlogPostFrontMatter schema validation ([@nam-hle](https://github.com/nam-hle))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#5001](https://github.com/facebook/docusaurus/pull/5001) chore(v2): update Infima to alpha 26 ([@lex111](https://github.com/lex111))\\n - [#4986](https://github.com/facebook/docusaurus/pull/4986) fix(v2): fix UX for docsVersionDropdown on mobile for single version ([@slorber](https://github.com/slorber))\\n - [#4980](https://github.com/facebook/docusaurus/pull/4980) fix(v2): make proper data type for prependBaseUrlToHref field ([@lex111](https://github.com/lex111))\\n - [#4943](https://github.com/facebook/docusaurus/pull/4943) fix(v2): improve accessibility of code blocks ([@lex111](https://github.com/lex111))\\n - [#4917](https://github.com/facebook/docusaurus/pull/4917) fix(v2): tidy up Markdown page layout ([@lex111](https://github.com/lex111))\\n - [#4906](https://github.com/facebook/docusaurus/pull/4906) fix(v2): fix minor a11y issues ([@lex111](https://github.com/lex111))\\n - [#4900](https://github.com/facebook/docusaurus/pull/4900) fix(v2): adjust margin after content title ([@lex111](https://github.com/lex111))\\n - [#4855](https://github.com/facebook/docusaurus/pull/4855) chore(v2): update infima to alpha 24 ([@lex111](https://github.com/lex111))\\n - [#4819](https://github.com/facebook/docusaurus/pull/4819) fix(v2): Amend Hebrew translations ([@liorheber](https://github.com/liorheber))\\n - [#4815](https://github.com/facebook/docusaurus/pull/4815) fix(v2): Fix Hebrew translations ([@nirtamir2](https://github.com/nirtamir2))\\n - [#4792](https://github.com/facebook/docusaurus/pull/4792) fix(v2): fix minor a11y issue with headings ([@lex111](https://github.com/lex111))\\n - [#4793](https://github.com/facebook/docusaurus/pull/4793) fix(v2): unbreak enhanced width of doc item wrapper ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-utils-common`\\n - [#5000](https://github.com/facebook/docusaurus/pull/5000) fix(v2): fix theme array deduplication bug ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-utils-common`, `docusaurus-utils`, `docusaurus`\\n - [#4988](https://github.com/facebook/docusaurus/pull/4988) fix(v2): redirect plugin should use siteConfig.trailingSlash ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`\\n - [#4983](https://github.com/facebook/docusaurus/pull/4983) fix(v2): always use UTC when dealing with blog dates ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#4962](https://github.com/facebook/docusaurus/pull/4962) fix(v2): respect base url in RSS feeds ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#4985](https://github.com/facebook/docusaurus/pull/4985) fix(v2): navbar doc item fallback: search doc in lastVersion ([@slorber](https://github.com/slorber))\\n- `docusaurus-remark-plugin-npm2yarn`\\n - [#4964](https://github.com/facebook/docusaurus/pull/4964) fix(v2): avoid duplicated imports in npm2yarn plugin ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`\\n - [#4970](https://github.com/facebook/docusaurus/pull/4970) fix(v2): sidebar_label should be used to compute next/previous button labels ([@slorber](https://github.com/slorber))\\n - [#4861](https://github.com/facebook/docusaurus/pull/4861) fix(v2): allow relative sidebar path resolution in docs:version command ([@lex111](https://github.com/lex111))\\n - [#4859](https://github.com/facebook/docusaurus/pull/4859) fix(v2): use frontmatter title at first for paginated links ([@lex111](https://github.com/lex111))\\n - [#4775](https://github.com/facebook/docusaurus/pull/4775) fix(v2): improve dx sidebar config, ability to have no sidebars file ([@nam-hle](https://github.com/nam-hle))\\n- `docusaurus-plugin-sitemap`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#4950](https://github.com/facebook/docusaurus/pull/4950) fix(v2): sitemap plugin should handle siteConfig.trailingSlash automatically ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#4924](https://github.com/facebook/docusaurus/pull/4924) fix(v2): respect baseUrl in serving command ([@lex111](https://github.com/lex111))\\n - [#4935](https://github.com/facebook/docusaurus/pull/4935) fix(v2): render children in BrowserOnly after client is ready ([@lex111](https://github.com/lex111))\\n - [#4894](https://github.com/facebook/docusaurus/pull/4894) fix(v2): escape HTML entities in user tags attributes ([@lex111](https://github.com/lex111))\\n - [#4789](https://github.com/facebook/docusaurus/pull/4789) fix(v2): transpile libs with too recent syntax with babel ([@slorber](https://github.com/slorber))\\n - [#4784](https://github.com/facebook/docusaurus/pull/4784) fix(v2): update notifier should never suggest to downgrade ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-utils`\\n - [#4882](https://github.com/facebook/docusaurus/pull/4882) fix(v2): fix contentTitle issues when markdown h1 title contains code blocks ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils`\\n - [#4862](https://github.com/facebook/docusaurus/pull/4862) fix(v2): remove Markdown heading id from excerpt ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#4871](https://github.com/facebook/docusaurus/pull/4871) fix(v2): unbreak adding of custom HTML metadatas ([@lex111](https://github.com/lex111))\\n - [#4797](https://github.com/facebook/docusaurus/pull/4797) fix(v2): do not focus on skip link if page refreshed ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#4856](https://github.com/facebook/docusaurus/pull/4856) fix(v2): adjust padding when custom search box location ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`\\n - [#4830](https://github.com/facebook/docusaurus/pull/4830) fix(v2): pin prism-react-renderer version to 1.1.1 ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-ideal-image`, `lqip-loader`\\n - [#4806](https://github.com/facebook/docusaurus/pull/4806) chore(v2): update sharp to 0.28.2 ([@lex111](https://github.com/lex111))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#4995](https://github.com/facebook/docusaurus/pull/4995) refactor(v2): reduce top padding in doc content container ([@lex111](https://github.com/lex111))\\n - [#4918](https://github.com/facebook/docusaurus/pull/4918) refactor(v2): readjust footer of blog item ([@lex111](https://github.com/lex111))\\n - [#4959](https://github.com/facebook/docusaurus/pull/4959) refactor(v2): minor cleanups ([@lex111](https://github.com/lex111))\\n - [#4945](https://github.com/facebook/docusaurus/pull/4945) refactor(v2): remove extra padding from doc item container ([@lex111](https://github.com/lex111))\\n - [#4940](https://github.com/facebook/docusaurus/pull/4940) refactor(v2): improve semantic doc sidebar markup ([@lex111](https://github.com/lex111))\\n - [#4961](https://github.com/facebook/docusaurus/pull/4961) refactor(v2): improve semantic blog sidebar markup ([@lex111](https://github.com/lex111))\\n - [#4903](https://github.com/facebook/docusaurus/pull/4903) refactor(v2): make doc item layout more semantic ([@lex111](https://github.com/lex111))\\n - [#4877](https://github.com/facebook/docusaurus/pull/4877) refactor(v2): reduce vertical space in doc content container ([@lex111](https://github.com/lex111))\\n - [#4914](https://github.com/facebook/docusaurus/pull/4914) refactor(v2): use SVG for external link icon ([@lex111](https://github.com/lex111))\\n - [#4916](https://github.com/facebook/docusaurus/pull/4916) refactor(v2): replace strong with b in UI components ([@lex111](https://github.com/lex111))\\n - [#4926](https://github.com/facebook/docusaurus/pull/4926) refactor(v2): hide decorative SVGs from screen readers ([@lex111](https://github.com/lex111))\\n - [#4865](https://github.com/facebook/docusaurus/pull/4865) refactor(v2): make little better doc update block UI ([@lex111](https://github.com/lex111))\\n - [#4795](https://github.com/facebook/docusaurus/pull/4795) refactor(v2): remove transition on body element ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`\\n - [#4989](https://github.com/facebook/docusaurus/pull/4989) refactor(v2): blog/docs: add more context in error messages ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#4979](https://github.com/facebook/docusaurus/pull/4979) refactor(v2): cleanup console output ([@lex111](https://github.com/lex111))\\n- `docusaurus-utils-validation`, `docusaurus`\\n - [#4977](https://github.com/facebook/docusaurus/pull/4977) polish(v2): url-subpath config validation warning ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`\\n - [#4969](https://github.com/facebook/docusaurus/pull/4969) refactor(v2): include path in error about non-existent ids ([@lex111](https://github.com/lex111))\\n - [#4863](https://github.com/facebook/docusaurus/pull/4863) refactor(v2): remove sidebar_label filed from doc metadata file ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#4907](https://github.com/facebook/docusaurus/pull/4907) refactor(v2): remove type attribute from link and script tags ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-search-algolia`\\n - [#4919](https://github.com/facebook/docusaurus/pull/4919) refactor(v2): improve markup and styling on search page ([@lex111](https://github.com/lex111))\\n - [#4867](https://github.com/facebook/docusaurus/pull/4867) chore(v2): update @docsearch/react ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`\\n - [#4905](https://github.com/facebook/docusaurus/pull/4905) refactor(v2): do not generate RSS files for empty feed ([@lex111](https://github.com/lex111))\\n - [#4860](https://github.com/facebook/docusaurus/pull/4860) refactor(v2): use aliased path for blog list sidebar file ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#4870](https://github.com/facebook/docusaurus/pull/4870) refactor(v2): add exception handling if external command is fails ([@lex111](https://github.com/lex111))\\n - [#4875](https://github.com/facebook/docusaurus/pull/4875) refactor(v2): make even better SSR error notify and add tip ([@lex111](https://github.com/lex111))\\n - [#4866](https://github.com/facebook/docusaurus/pull/4866) refactor(v2): output URL to console only if it has changed ([@lex111](https://github.com/lex111))\\n- `docusaurus-utils`\\n - [#4814](https://github.com/facebook/docusaurus/pull/4814) refactor(v2): purify normalizeUrl ([@nam-hle](https://github.com/nam-hle))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#4987](https://github.com/facebook/docusaurus/pull/4987) docs(v2): document canary releases ([@slorber](https://github.com/slorber))\\n - [#4981](https://github.com/facebook/docusaurus/pull/4981) docs(v2): minor tweaks ([@lex111](https://github.com/lex111))\\n - [#4976](https://github.com/facebook/docusaurus/pull/4976) docs(v2): mention to install the algolia package in search doc ([@slorber](https://github.com/slorber))\\n - [#4953](https://github.com/facebook/docusaurus/pull/4953) docs(v2): add Flagsmith to showcase ([@dabeeeenster](https://github.com/dabeeeenster))\\n - [#4942](https://github.com/facebook/docusaurus/pull/4942) docs(v2): add info about `DefaultValue` prop in `Tabs` ([@ArtFlag](https://github.com/ArtFlag))\\n - [#4898](https://github.com/facebook/docusaurus/pull/4898) docs(v2): add ClarityChallenge to showcase ([@jonbarker68](https://github.com/jonbarker68))\\n - [#4896](https://github.com/facebook/docusaurus/pull/4896) docs(v2): fix incorrect link to plugin-ideal-image ([@phwt](https://github.com/phwt))\\n - [#4893](https://github.com/facebook/docusaurus/pull/4893) docs(v2): presets: fix typo in bootstrap preset ([@silva-nick](https://github.com/silva-nick))\\n - [#4887](https://github.com/facebook/docusaurus/pull/4887) docs(v2): Add Aide Jeune website to Docusaurus site showcase ([@l0u1sg](https://github.com/l0u1sg))\\n - [#4821](https://github.com/facebook/docusaurus/pull/4821) docs(v2): New doc page for math equations ([@pranabdas](https://github.com/pranabdas))\\n - [#4885](https://github.com/facebook/docusaurus/pull/4885) docs(v2): v2 migration guide: mention Algolia config update ([@slorber](https://github.com/slorber))\\n - [#4876](https://github.com/facebook/docusaurus/pull/4876) docs(v2): update steps in the github-actions section ([@wise-introvert](https://github.com/wise-introvert))\\n - [#4880](https://github.com/facebook/docusaurus/pull/4880) docs(v2): grammar typo in migration-overview.md ([@jmazin](https://github.com/jmazin))\\n - [#4879](https://github.com/facebook/docusaurus/pull/4879) docs(v2): Added FireCMS to the showcase ([@fgatti675](https://github.com/fgatti675))\\n - [#4849](https://github.com/facebook/docusaurus/pull/4849) docs(v2): fix Java syntax highlight in website ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#4818](https://github.com/facebook/docusaurus/pull/4818) docs(v2): add mr-pdf to resources ([@antonygibbs](https://github.com/antonygibbs))\\n - [#4835](https://github.com/facebook/docusaurus/pull/4835) docs(v2): fix grammar typo on Creating pages ([@Christopher-Hsieh](https://github.com/Christopher-Hsieh))\\n - [#4837](https://github.com/facebook/docusaurus/pull/4837) docs(v2): fix missing closing bracket ([@pmqueiroz](https://github.com/pmqueiroz))\\n - [#4820](https://github.com/facebook/docusaurus/pull/4820) docs(v2): Fix typo in doc: sidebar.md ([@pranabdas](https://github.com/pranabdas))\\n - [#4813](https://github.com/facebook/docusaurus/pull/4813) docs(v2): fix css snipped with missing color ([@slorber](https://github.com/slorber))\\n - [#4803](https://github.com/facebook/docusaurus/pull/4803) docs(v2): Add i18n tag and fix typo ([@HunteRoi](https://github.com/HunteRoi))\\n - [#4786](https://github.com/facebook/docusaurus/pull/4786) docs(v2): Add tinaeldevresse.eu to Docusaurus\' gallery ([@HunteRoi](https://github.com/HunteRoi))\\n - [#4780](https://github.com/facebook/docusaurus/pull/4780) docs(v2): remove docs for alpha 71 + 72 ([@slorber](https://github.com/slorber))\\n - [#4779](https://github.com/facebook/docusaurus/pull/4779) docs(v2): beta blog post edits ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`\\n - [#4973](https://github.com/facebook/docusaurus/pull/4973) docs(v2): replace `diff` codeblocks with line highlight ([@Josh-Cena](https://github.com/Josh-Cena))\\n - [#4756](https://github.com/facebook/docusaurus/pull/4756) docs(v2): Docusaurus 2 beta blog post ([@slorber](https://github.com/slorber))\\n\\n## :house: Internal\\n\\n- Other\\n - [#4994](https://github.com/facebook/docusaurus/pull/4994) misc: more issue template improvements ([@slorber](https://github.com/slorber))\\n - [#4951](https://github.com/facebook/docusaurus/pull/4951) misc: disable google-gtag plugin in Netlify deploys ([@lex111](https://github.com/lex111))\\n - [#4901](https://github.com/facebook/docusaurus/pull/4901) misc: optimize showcase images ([@lex111](https://github.com/lex111))\\n - [#4897](https://github.com/facebook/docusaurus/pull/4897) chore: fail CI if yarn.lock is modified on install ([@slorber](https://github.com/slorber))\\n - [#4858](https://github.com/facebook/docusaurus/pull/4858) chore(v2): add external link to community sidebar ([@lex111](https://github.com/lex111))\\n - [#4889](https://github.com/facebook/docusaurus/pull/4889) misc: issue template config typo ([@slorber](https://github.com/slorber))\\n - [#4886](https://github.com/facebook/docusaurus/pull/4886) misc: add github issue template config ([@slorber](https://github.com/slorber))\\n - [#4878](https://github.com/facebook/docusaurus/pull/4878) misc: improve bug report issue template ([@lex111](https://github.com/lex111))\\n - [#4791](https://github.com/facebook/docusaurus/pull/4791) chore: fix canary version name ([@slorber](https://github.com/slorber))\\n - [#4777](https://github.com/facebook/docusaurus/pull/4777) chore: regenerate examples on 2.0.0-beta.0 ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-migrate`, `docusaurus`\\n - [#4944](https://github.com/facebook/docusaurus/pull/4944) chore: lockfile cleanup ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`, `docusaurus-init-1.x`\\n - [#4902](https://github.com/facebook/docusaurus/pull/4902) chore: remove docusaurus v1 from master branch (moved to docusaurus-v1 branch) ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-ideal-image`\\n - [#4915](https://github.com/facebook/docusaurus/pull/4915) chore(v2): bump react-waypoint from 9.0.2 to 10.1.0 ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`\\n - [#4834](https://github.com/facebook/docusaurus/pull/4834) chore(v2): unlock prism-react-renderer version ([@lex111](https://github.com/lex111))\\n- `docusaurus-cssnano-preset`, `docusaurus`\\n - [#4833](https://github.com/facebook/docusaurus/pull/4833) chore(v2): bump cssnano packages ([@lex111](https://github.com/lex111))\\n- `docusaurus-cssnano-preset`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-debug`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#4816](https://github.com/facebook/docusaurus/pull/4816) chore(v2): upgrade dependencies ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#4790](https://github.com/facebook/docusaurus/pull/4790) chore(v2): TypeScript, use isolatedModules ([@slorber](https://github.com/slorber))\\n\\n## Committers: 31\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Arthur ([@ArtFlag](https://github.com/ArtFlag))\\n- Ben Rometsch ([@dabeeeenster](https://github.com/dabeeeenster))\\n- Christopher Hsieh ([@Christopher-Hsieh](https://github.com/Christopher-Hsieh))\\n- Fardeen Panjwani ([@wise-introvert](https://github.com/wise-introvert))\\n- Joel ([@Joelpo](https://github.com/Joelpo))\\n- Jon Barker ([@jonbarker68](https://github.com/jonbarker68))\\n- Jonathan Mazin ([@jmazin](https://github.com/jmazin))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Lior Heber ([@liorheber](https://github.com/liorheber))\\n- Louis Gallet ([@l0u1sg](https://github.com/l0u1sg))\\n- Louis Grenard ([@louistiti](https://github.com/louistiti))\\n- Lucas Correia ([@tsirlucas](https://github.com/tsirlucas))\\n- Nam Hoang Le ([@nam-hle](https://github.com/nam-hle))\\n- Pablo Vidal ([@limkinZero](https://github.com/limkinZero))\\n- Pedro Queiroz ([@pmqueiroz](https://github.com/pmqueiroz))\\n- Pranab Das ([@pranabdas](https://github.com/pranabdas))\\n- Pratyay Banerjee ([@Neilblaze](https://github.com/Neilblaze))\\n- PsychTech ([@PsychTechApS](https://github.com/PsychTechApS))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tina\xebl Devresse ([@HunteRoi](https://github.com/HunteRoi))\\n- [@Massibian](https://github.com/Massibian)\\n- [@antonygibbs](https://github.com/antonygibbs)\\n- [@besemuna](https://github.com/besemuna)\\n- [@e271828-](https://github.com/e271828-)\\n- [@fgatti675](https://github.com/fgatti675)\\n- [@nirtamir2](https://github.com/nirtamir2)\\n- [@silva-nick](https://github.com/silva-nick)\\n- mg ([@tiny-dancer](https://github.com/tiny-dancer))\\n- phwt.smwt ([@phwt](https://github.com/phwt))"},{"id":"/2.0.0-beta.0","metadata":{"permalink":"/changelog/2.0.0-beta.0","source":"@site/changelog/source/2.0.0-beta.0.md","title":"2.0.0-beta.0","description":"Read the 2.0.0 beta blog post!","date":"2021-05-12T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Chris Owen","alias":"ChrisOwen101","url":"https://github.com/ChrisOwen101","imageURL":"https://github.com/ChrisOwen101.png","key":"ChrisOwen101","page":null},{"name":"Evan","alias":"DigiPie","url":"https://github.com/DigiPie","imageURL":"https://github.com/DigiPie.png","key":"DigiPie","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Sergio Rafael Gianazza","alias":"gianu","url":"https://github.com/gianu","imageURL":"https://github.com/gianu.png","key":"gianu","page":null},{"name":"Joel Hans","alias":"joelhans","url":"https://github.com/joelhans","imageURL":"https://github.com/joelhans.png","key":"joelhans","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"\u041A\u043E\u0441\u0442\u044F \u0422\u0440\u0435\u0442\u044F\u043A","alias":"KostyaTretyak","url":"https://github.com/KostyaTretyak","imageURL":"https://github.com/KostyaTretyak.png","key":"KostyaTretyak","page":null},{"name":"Nam Hoang Le","alias":"nam-hle","url":"https://github.com/nam-hle","imageURL":"https://github.com/nam-hle.png","key":"nam-hle","page":null},{"name":"Rodrigo Moreno","alias":"rodmoreno","url":"https://github.com/rodmoreno","imageURL":"https://github.com/rodmoreno.png","key":"rodmoreno","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Ian Hornik","alias":"yiliansource","url":"https://github.com/yiliansource","imageURL":"https://github.com/yiliansource.png","key":"yiliansource","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-05-12T20:00","authors":["ChrisOwen101","DigiPie","forresst","gianu","joelhans","Josh-Cena","KostyaTretyak","nam-hle","rodmoreno","slorber","yiliansource"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.1","permalink":"/changelog/2.0.0-beta.1"},"nextItem":{"title":"2.0.0-alpha.75","permalink":"/changelog/2.0.0-alpha.75"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\nRead the [2.0.0 beta blog post](https://docusaurus.io/blog/2021/05/12/announcing-docusaurus-two-beta)!\\n\\n**Note**: this first beta release does not contain any new major feature. We are removing the alpha label, as we are confident Docusaurus 2 is stable enough.\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#4762](https://github.com/facebook/docusaurus/pull/4762) feat(v2): add es translations for docusaurus-theme-classic ([@rodmoreno](https://github.com/rodmoreno))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#4750](https://github.com/facebook/docusaurus/pull/4750) fix(v2): improve french translation for theme-classic ([@forresst](https://github.com/forresst))\\n- `docusaurus-mdx-loader`, `docusaurus-utils`\\n - [#4736](https://github.com/facebook/docusaurus/pull/4736) fix(v2): fix encoding of markdown image/file inline file-loaders ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils`\\n - [#4735](https://github.com/facebook/docusaurus/pull/4735) fix(v2): markdown title parser should ignore all forms of MDX import statements ([@nam-hle](https://github.com/nam-hle))\\n - [#4729](https://github.com/facebook/docusaurus/pull/4729) fix(v2): optimize markdown parser regex (Closes [#4726](https://github.com/facebook/docusaurus/issues/4726)) ([@nam-hle](https://github.com/nam-hle))\\n\\n## :memo: Documentation\\n\\n- [#4770](https://github.com/facebook/docusaurus/pull/4770) docs(v2): Improve intro doc ([@slorber](https://github.com/slorber))\\n- [#4773](https://github.com/facebook/docusaurus/pull/4773) docs(v2): fix i18n doc: bad i18n page plugin path in code sample ([@KostyaTretyak](https://github.com/KostyaTretyak))\\n- [#4758](https://github.com/facebook/docusaurus/pull/4758) docs(v2): add browsers support documentation ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#4757](https://github.com/facebook/docusaurus/pull/4757) docs(v2): Add Netdata to showcase ([@joelhans](https://github.com/joelhans))\\n- [#4754](https://github.com/facebook/docusaurus/pull/4754) docs(v2): fix Jest showcase screenshot ([@slorber](https://github.com/slorber))\\n- [#4747](https://github.com/facebook/docusaurus/pull/4747) docs(v2): Update showcase page ([@slorber](https://github.com/slorber))\\n- [#4734](https://github.com/facebook/docusaurus/pull/4734) docs(v2): Added MediaMachine.io to showcase ([@gianu](https://github.com/gianu))\\n- [#4731](https://github.com/facebook/docusaurus/pull/4731) docs(v2): add CodeYourFuture to showcase ([@ChrisOwen101](https://github.com/ChrisOwen101))\\n- [#4703](https://github.com/facebook/docusaurus/pull/4703) docs(v2): specify google-analytics and gtag plugins ([@yiliansource](https://github.com/yiliansource))\\n- [#4727](https://github.com/facebook/docusaurus/pull/4727) docs(v2): fix doc lint ([@slorber](https://github.com/slorber))\\n- [#4725](https://github.com/facebook/docusaurus/pull/4725) docs(v2): emphasize subset of markdown supported languages ([@Josh-Cena](https://github.com/Josh-Cena))\\n- [#4711](https://github.com/facebook/docusaurus/pull/4711) docs(v2): showcase personal site evantay ([@DigiPie](https://github.com/DigiPie))\\n\\n## :house: Internal\\n\\n- [#4746](https://github.com/facebook/docusaurus/pull/4746) chore(v2): attempt to fix crowdin dl again ([@slorber](https://github.com/slorber))\\n- [#4743](https://github.com/facebook/docusaurus/pull/4743) chore(v2): fix prod deployment due to bad image path ([@slorber](https://github.com/slorber))\\n- [#4740](https://github.com/facebook/docusaurus/pull/4740) chore(v2): delay i18n-staging deployment to avoid Crowdin 409 errors ([@slorber](https://github.com/slorber))\\n- [#4739](https://github.com/facebook/docusaurus/pull/4739) chore(v2): Fix Crowdin 409 issues in CI ([@slorber](https://github.com/slorber))\\n\\n## Committers: 11\\n\\n- Chris Owen ([@ChrisOwen101](https://github.com/ChrisOwen101))\\n- Evan ([@DigiPie](https://github.com/DigiPie))\\n- Forresst ([@forresst](https://github.com/forresst))\\n- Ian Hornik ([@yiliansource](https://github.com/yiliansource))\\n- Joel Hans ([@joelhans](https://github.com/joelhans))\\n- Joshua Chen ([@Josh-Cena](https://github.com/Josh-Cena))\\n- Nam Hoang Le ([@nam-hle](https://github.com/nam-hle))\\n- Rodrigo Moreno ([@rodmoreno](https://github.com/rodmoreno))\\n- Sergio Rafael Gianazza ([@gianu](https://github.com/gianu))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- \u041A\u043E\u0441\u0442\u044F \u0422\u0440\u0435\u0442\u044F\u043A ([@KostyaTretyak](https://github.com/KostyaTretyak))"},{"id":"/2.0.0-alpha.75","metadata":{"permalink":"/changelog/2.0.0-alpha.75","source":"@site/changelog/source/2.0.0-alpha.75.md","title":"2.0.0-alpha.75","description":"Breaking Change","date":"2021-04-30T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Geoffroy Empain","alias":"gempain","url":"https://github.com/gempain","imageURL":"https://github.com/gempain.png","key":"gempain","page":null},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tommy Chen","alias":"tommy351","url":"https://github.com/tommy351","imageURL":"https://github.com/tommy351.png","key":"tommy351","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-04-30T20:00","authors":["gempain","RDIL","slorber","tommy351"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.0","permalink":"/changelog/2.0.0-beta.0"},"nextItem":{"title":"2.0.0-alpha.74","permalink":"/changelog/2.0.0-alpha.74"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-cssnano-preset`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus`, `lqip-loader`\\n - [#4089](https://github.com/facebook/docusaurus/pull/4089) feat(v2): Webpack 5, PostCSS 8 ([@RDIL](https://github.com/RDIL))\\n\\n## :memo: Documentation\\n\\n- [#4704](https://github.com/facebook/docusaurus/pull/4704) docs(v2): showcase meli ([@gempain](https://github.com/gempain))\\n- [#4699](https://github.com/facebook/docusaurus/pull/4699) docs(v2): Add Kosko to showcase ([@tommy351](https://github.com/tommy351))\\n\\n## Committers: 4\\n\\n- Geoffroy Empain ([@gempain](https://github.com/gempain))\\n- Reece Dunham ([@RDIL](https://github.com/RDIL))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tommy Chen ([@tommy351](https://github.com/tommy351))"},{"id":"/2.0.0-alpha.74","metadata":{"permalink":"/changelog/2.0.0-alpha.74","source":"@site/changelog/source/2.0.0-alpha.74.md","title":"2.0.0-alpha.74","description":"New Feature","date":"2021-04-27T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"alena-ko","alias":"alena-ko","url":"https://github.com/alena-ko","imageURL":"https://github.com/alena-ko.png","key":"alena-ko","page":null},{"name":"Arnaud Jeannin","alias":"arnaudjnn","url":"https://github.com/arnaudjnn","imageURL":"https://github.com/arnaudjnn.png","key":"arnaudjnn","page":null},{"name":"DOLLE","alias":"JeremyDolle","url":"https://github.com/JeremyDolle","imageURL":"https://github.com/JeremyDolle.png","key":"JeremyDolle","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"kazk","alias":"kazk","url":"https://github.com/kazk","imageURL":"https://github.com/kazk.png","key":"kazk","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lisa Chandra","alias":"lisa761","url":"https://github.com/lisa761","imageURL":"https://github.com/lisa761.png","key":"lisa761","page":null},{"name":"Luis Medina Huerta","alias":"luism3861","url":"https://github.com/luism3861","imageURL":"https://github.com/luism3861.png","key":"luism3861","page":null},{"name":"MisterFISHUP","alias":"MisterFISHUP","url":"https://github.com/MisterFISHUP","imageURL":"https://github.com/MisterFISHUP.png","key":"MisterFISHUP","page":null},{"name":"Tommy","alias":"react-learner","url":"https://github.com/react-learner","imageURL":"https://github.com/react-learner.png","key":"react-learner","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-04-27T20:00","authors":["alena-ko","arnaudjnn","JeremyDolle","johnnyreilly","kazk","lex111","lisa761","luism3861","MisterFISHUP","react-learner","SamChou19815","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.75","permalink":"/changelog/2.0.0-alpha.75"},"nextItem":{"title":"2.0.0-alpha.73","permalink":"/changelog/2.0.0-alpha.73"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- Other\\n - [#4515](https://github.com/facebook/docusaurus/pull/4515) feat(v2): add tag filters to showcase page ([@lisa761](https://github.com/lisa761))\\n- `docusaurus-plugin-content-docs`\\n - [#4658](https://github.com/facebook/docusaurus/pull/4658) feat(v2): allow user to customize/enhance the default sidebar items generator ([@slorber](https://github.com/slorber))\\n - [#4655](https://github.com/facebook/docusaurus/pull/4655) feat(v2): docs, make numberPrefixParser configurable, better defaults, minor breaking-changes ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-utils`, `docusaurus`\\n - [#4688](https://github.com/facebook/docusaurus/pull/4688) fix(v2): fix title logic (meta vs heading) + ignore fixed anchor id syntax ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#4689](https://github.com/facebook/docusaurus/pull/4689) chore(v2): update infima to alpha 23 ([@slorber](https://github.com/slorber))\\n - [#4667](https://github.com/facebook/docusaurus/pull/4667) fix(v2): Unbreak blog post title by handling title fallback in `LayoutHead` ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-content-docs`\\n - [#4687](https://github.com/facebook/docusaurus/pull/4687) fix(v2): accept empty/null custom_edit_url docs frontmatter for retrocompat ([@slorber](https://github.com/slorber))\\n - [#4651](https://github.com/facebook/docusaurus/pull/4651) fix(v2): sidebar autogen from subfolder should read category metadata correctly ([@slorber](https://github.com/slorber))\\n - [#4629](https://github.com/facebook/docusaurus/pull/4629) fix(v2): fix validation rejecting admonitions false ([@kazk](https://github.com/kazk))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-utils-validation`\\n - [#4654](https://github.com/facebook/docusaurus/pull/4654) fix(v2): fix too strict markdown frontmatter validation ([@johnnyreilly](https://github.com/johnnyreilly))\\n- `docusaurus-utils`\\n - [#4646](https://github.com/facebook/docusaurus/pull/4646) fix(v2): ignore imports when h1 heading parsing ([@lex111](https://github.com/lex111))\\n - [#4641](https://github.com/facebook/docusaurus/pull/4641) fix(v2): parse headings directly after h1 properly ([@lex111](https://github.com/lex111))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#4682](https://github.com/facebook/docusaurus/pull/4682) refactor(v2): align external icon on right ([@lex111](https://github.com/lex111))\\n\\n## :memo: Documentation\\n\\n- [#4496](https://github.com/facebook/docusaurus/pull/4496) docs(v2): Add Qovery to deployment doc ([@arnaudjnn](https://github.com/arnaudjnn))\\n- [#4680](https://github.com/facebook/docusaurus/pull/4680) docs(v2): Fix urls in deployment.md ([@luism3861](https://github.com/luism3861))\\n- [#4668](https://github.com/facebook/docusaurus/pull/4668) docs(v2): Add Hostman to deployment doc ([@alena-ko](https://github.com/alena-ko))\\n- [#4676](https://github.com/facebook/docusaurus/pull/4676) docs(v2): Add Daily Digest - COVID-19 IN FRANCE to showcase ([@MisterFISHUP](https://github.com/MisterFISHUP))\\n- [#4643](https://github.com/facebook/docusaurus/pull/4643) docs(v2): Fix typo in installation.md ([@react-learner](https://github.com/react-learner))\\n- [#4649](https://github.com/facebook/docusaurus/pull/4649) docs(v2): Add new showcase user ([@JeremyDolle](https://github.com/JeremyDolle))\\n\\n## :house: Internal\\n\\n- Other\\n - [#4670](https://github.com/facebook/docusaurus/pull/4670) chore: add some redirects to v1.docusaurus.io ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`\\n - [#4631](https://github.com/facebook/docusaurus/pull/4631) chore(v2): update examples to use alpha73 ([@slorber](https://github.com/slorber))\\n\\n## Committers: 12\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Arnaud Jeannin ([@arnaudjnn](https://github.com/arnaudjnn))\\n- DOLLE ([@JeremyDolle](https://github.com/JeremyDolle))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Lisa Chandra ([@lisa761](https://github.com/lisa761))\\n- Luis Medina Huerta ([@luism3861](https://github.com/luism3861))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tommy ([@react-learner](https://github.com/react-learner))\\n- [@MisterFISHUP](https://github.com/MisterFISHUP)\\n- [@alena-ko](https://github.com/alena-ko)\\n- kazk ([@kazk](https://github.com/kazk))"},{"id":"/2.0.0-alpha.73","metadata":{"permalink":"/changelog/2.0.0-alpha.73","source":"@site/changelog/source/2.0.0-alpha.73.md","title":"2.0.0-alpha.73","description":"New Feature","date":"2021-04-16T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"aehrea","alias":"aehrea","url":"https://github.com/aehrea","imageURL":"https://github.com/aehrea.png","key":"aehrea","page":null},{"name":"Ajeet Singh Raina, Docker Captain, RedisLabs","alias":"ajeetraina","url":"https://github.com/ajeetraina","imageURL":"https://github.com/ajeetraina.png","key":"ajeetraina","page":null},{"name":"akepecs","alias":"akepecs","url":"https://github.com/akepecs","imageURL":"https://github.com/akepecs.png","key":"akepecs","page":null},{"name":"Anthony Bobsin","alias":"AnthonyBobsin","url":"https://github.com/AnthonyBobsin","imageURL":"https://github.com/AnthonyBobsin.png","key":"AnthonyBobsin","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"Artur Carvalho","alias":"arturcarvalho","url":"https://github.com/arturcarvalho","imageURL":"https://github.com/arturcarvalho.png","key":"arturcarvalho","page":null},{"name":"Dennis Thompson","alias":"atomicpages","url":"https://github.com/atomicpages","imageURL":"https://github.com/atomicpages.png","key":"atomicpages","page":null},{"name":"besemuna","alias":"besemuna","url":"https://github.com/besemuna","imageURL":"https://github.com/besemuna.png","key":"besemuna","page":null},{"name":"Guillaume Claret","alias":"clarus","url":"https://github.com/clarus","imageURL":"https://github.com/clarus.png","key":"clarus","page":null},{"name":"Arijit Kundu","alias":"covalentbond","url":"https://github.com/covalentbond","imageURL":"https://github.com/covalentbond.png","key":"covalentbond","page":null},{"name":"Dick Wyn Yong","alias":"dickwyn","url":"https://github.com/dickwyn","imageURL":"https://github.com/dickwyn.png","key":"dickwyn","page":null},{"name":"duanwilliam","alias":"duanwilliam","url":"https://github.com/duanwilliam","imageURL":"https://github.com/duanwilliam.png","key":"duanwilliam","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Foxeye-Rinx","alias":"Foxeye-Rinx","url":"https://github.com/Foxeye-Rinx","imageURL":"https://github.com/Foxeye-Rinx.png","key":"Foxeye-Rinx","page":null},{"name":"Brent Ely","alias":"gitbrent","url":"https://github.com/gitbrent","imageURL":"https://github.com/gitbrent.png","key":"gitbrent","page":null},{"name":"Marco Enrico","alias":"gumacahin","url":"https://github.com/gumacahin","imageURL":"https://github.com/gumacahin.png","key":"gumacahin","page":null},{"name":"John Knox","alias":"jknoxville","url":"https://github.com/jknoxville","imageURL":"https://github.com/jknoxville.png","key":"jknoxville","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Chris Kanich","alias":"kaytwo","url":"https://github.com/kaytwo","imageURL":"https://github.com/kaytwo.png","key":"kaytwo","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lisa Chandra","alias":"lisa761","url":"https://github.com/lisa761","imageURL":"https://github.com/lisa761.png","key":"lisa761","page":null},{"name":"ZhengYuan Loo","alias":"loozhengyuan","url":"https://github.com/loozhengyuan","imageURL":"https://github.com/loozhengyuan.png","key":"loozhengyuan","page":null},{"name":"Lucas Alves","alias":"lucalves","url":"https://github.com/lucalves","imageURL":"https://github.com/lucalves.png","key":"lucalves","page":null},{"name":"miku86","alias":"miku86","url":"https://github.com/miku86","imageURL":"https://github.com/miku86.png","key":"miku86","page":null},{"name":"Pedro Pi\xf1era Buend\xeda","alias":"pepibumur","url":"https://github.com/pepibumur","imageURL":"https://github.com/pepibumur.png","key":"pepibumur","page":null},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"serut","alias":"serut","url":"https://github.com/serut","imageURL":"https://github.com/serut.png","key":"serut","page":null},{"name":"Steven Hansel","alias":"ShinteiMai","url":"https://github.com/ShinteiMai","imageURL":"https://github.com/ShinteiMai.png","key":"ShinteiMai","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Steve","alias":"steveworley","url":"https://github.com/steveworley","imageURL":"https://github.com/steveworley.png","key":"steveworley","page":null},{"name":"guoxudong","alias":"sunny0826","url":"https://github.com/sunny0826","imageURL":"https://github.com/sunny0826.png","key":"sunny0826","page":null},{"name":"Tales Porto","alias":"talesporto","url":"https://github.com/talesporto","imageURL":"https://github.com/talesporto.png","key":"talesporto","page":null},{"name":"Thiago Sciotta","alias":"thiagog3","url":"https://github.com/thiagog3","imageURL":"https://github.com/thiagog3.png","key":"thiagog3","page":null},{"name":"Tiago Ribeiro","alias":"tiago-rr","url":"https://github.com/tiago-rr","imageURL":"https://github.com/tiago-rr.png","key":"tiago-rr","page":null},{"name":"Tom Raviv","alias":"tomrav","url":"https://github.com/tomrav","imageURL":"https://github.com/tomrav.png","key":"tomrav","page":null},{"name":"Tony Narlock","alias":"tony","url":"https://github.com/tony","imageURL":"https://github.com/tony.png","key":"tony","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-04-16T20:00","authors":["aehrea","ajeetraina","akepecs","AnthonyBobsin","armano2","arturcarvalho","atomicpages","besemuna","clarus","covalentbond","dickwyn","duanwilliam","forresst","Foxeye-Rinx","gitbrent","gumacahin","jknoxville","johnnyreilly","kaytwo","lex111","lisa761","loozhengyuan","lucalves","miku86","pepibumur","RDIL","SamChou19815","serut","ShinteiMai","slorber","steveworley","sunny0826","talesporto","thiagog3","tiago-rr","tomrav","tony"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.74","permalink":"/changelog/2.0.0-alpha.74"},"nextItem":{"title":"2.0.0-alpha.72","permalink":"/changelog/2.0.0-alpha.72"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#4624](https://github.com/facebook/docusaurus/pull/4624) feat(v2): Add Filipino default translations to theme ([@gumacahin](https://github.com/gumacahin))\\n - [#4596](https://github.com/facebook/docusaurus/pull/4596) feat(v2): theme default translations hindi ([@lisa761](https://github.com/lisa761))\\n - [#4536](https://github.com/facebook/docusaurus/pull/4536) feat(v2): add pt-PT translations for docusaurus-theme-classic ([@tiago-rr](https://github.com/tiago-rr))\\n - [#4525](https://github.com/facebook/docusaurus/pull/4525) feat(v2): add Brazilian Portuguese translation for docusaurus-theme-classic ([@thiagog3](https://github.com/thiagog3))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#4511](https://github.com/facebook/docusaurus/pull/4511) feat(v2): add unique page/wrapper className to each theme pages ([@ShinteiMai](https://github.com/ShinteiMai))\\n- `docusaurus-init`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#4582](https://github.com/facebook/docusaurus/pull/4582) feat(v2): auto-generated sidebars, frontmatter-less sites ([@slorber](https://github.com/slorber))\\n- `docusaurus-types`, `docusaurus`\\n - [#4545](https://github.com/facebook/docusaurus/pull/4545) feat(v2): docusaurus deploy: ability to configure port in git url ([@talesporto](https://github.com/talesporto))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils`\\n - [#4590](https://github.com/facebook/docusaurus/pull/4590) feat(v2): various markdown string parsing improvements/fixes ([@slorber](https://github.com/slorber))\\n - [#4485](https://github.com/facebook/docusaurus/pull/4485) feat(v2): frontmatter-less: read first heading as title and use it in front-matter ([@armano2](https://github.com/armano2))\\n- `docusaurus-utils`\\n - [#4581](https://github.com/facebook/docusaurus/pull/4581) feat(v2): default theme translations: locale \\"pt\\" should load \\"pt-BR\\" translations ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`\\n - [#4495](https://github.com/facebook/docusaurus/pull/4495) feat(v2): include frontmatter in loadedContent doc metadatas ([@kaytwo](https://github.com/kaytwo))\\n - [#4500](https://github.com/facebook/docusaurus/pull/4500) feat(v2): provide doc sidebar_label through sidebars.js ([@besemuna](https://github.com/besemuna))\\n- `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#4449](https://github.com/facebook/docusaurus/pull/4449) feat(v2): infer default i18n locale config from locale code ([@slorber](https://github.com/slorber))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#4619](https://github.com/facebook/docusaurus/pull/4619) refactor(v2): rename class main-docs-wrapper to docs-wrapper ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#4582](https://github.com/facebook/docusaurus/pull/4582) feat(v2): auto-generated sidebars, frontmatter-less sites ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#4627](https://github.com/facebook/docusaurus/pull/4627) chore(v2): update Infima to alpha.22 ([@slorber](https://github.com/slorber))\\n - [#4621](https://github.com/facebook/docusaurus/pull/4621) fix(v2): center align content if no sidebar exists ([@lex111](https://github.com/lex111))\\n - [#4620](https://github.com/facebook/docusaurus/pull/4620) fix(v2): restore toggle responsive sidebar button ([@lex111](https://github.com/lex111))\\n - [#4598](https://github.com/facebook/docusaurus/pull/4598) fix(v2): render escaped HTML entities inside code properly ([@lex111](https://github.com/lex111))\\n - [#4554](https://github.com/facebook/docusaurus/pull/4554) fix: DocNavbarItem error message ([@serut](https://github.com/serut))\\n - [#4468](https://github.com/facebook/docusaurus/pull/4468) fix(v2): select correct tab when items are incorrectly ordered ([@armano2](https://github.com/armano2))\\n - [#4461](https://github.com/facebook/docusaurus/pull/4461) fix(v2): Fix i18n staging deployment due to json typo ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#4541](https://github.com/facebook/docusaurus/pull/4541) fix(v2): fix code block title parsing, support multiple metastring attributes ([@duanwilliam](https://github.com/duanwilliam))\\n - [#4600](https://github.com/facebook/docusaurus/pull/4600) fix(v2): use page title from config if not set ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#4501](https://github.com/facebook/docusaurus/pull/4501) fix(v2): fail-safe usage of browser storage (localStorage/sessionStorage) when access is denied ([@jknoxville](https://github.com/jknoxville))\\n- `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus`\\n - [#4593](https://github.com/facebook/docusaurus/pull/4593) fix(v2): i18n perf issue: getTranslationFile() should not load content again ([@slorber](https://github.com/slorber))\\n- Other\\n - [#4574](https://github.com/facebook/docusaurus/pull/4574) fix(v2): examples should use Node 14 by default on CodeSandbox + regen with alpha72 ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#4547](https://github.com/facebook/docusaurus/pull/4547) feat(v2) : use symbols to denote swizzle safety ([@besemuna](https://github.com/besemuna))\\n - [#4575](https://github.com/facebook/docusaurus/pull/4575) fix(v2): fix i18n isLastLocale bug preventing docusaurus from building some locales ([@slorber](https://github.com/slorber))\\n - [#4506](https://github.com/facebook/docusaurus/pull/4506) fix(v2): remove no longer used postcss-present-env from dependencies ([@armano2](https://github.com/armano2))\\n - [#4444](https://github.com/facebook/docusaurus/pull/4444) fix(v2): Fix writeHeadingIds on Windows due to non-posix paths ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils`\\n - [#4507](https://github.com/facebook/docusaurus/pull/4507) fix(v2): do not warn about duplicated title for pages ([@armano2](https://github.com/armano2))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus`\\n - [#4466](https://github.com/facebook/docusaurus/pull/4466) fix(v2): i18n fixes ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus`\\n - [#4459](https://github.com/facebook/docusaurus/pull/4459) fix(v2): Export Joi from validation-utils package ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#4626](https://github.com/facebook/docusaurus/pull/4626) refactor(v2): toggleResponsiveSidebar => more stable callback ([@slorber](https://github.com/slorber))\\n - [#4617](https://github.com/facebook/docusaurus/pull/4617) refactor(v2): simplify and optimize sidebar ([@slorber](https://github.com/slorber))\\n - [#4608](https://github.com/facebook/docusaurus/pull/4608) refactor(v2): replace react-toggle with own implementation ([@lex111](https://github.com/lex111))\\n - [#4601](https://github.com/facebook/docusaurus/pull/4601) refactor(v2): increase heading anchor offset ([@lex111](https://github.com/lex111))\\n - [#4467](https://github.com/facebook/docusaurus/pull/4467) refactor(v2): add missing types to theme-classic useTheme ([@armano2](https://github.com/armano2))\\n - [#4448](https://github.com/facebook/docusaurus/pull/4448) polish(v2): Add german translations ([@miku86](https://github.com/miku86))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#4619](https://github.com/facebook/docusaurus/pull/4619) refactor(v2): rename class main-docs-wrapper to docs-wrapper ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus`\\n - [#4451](https://github.com/facebook/docusaurus/pull/4451) refactor(v2): correct client types and type aliases ([@armano2](https://github.com/armano2))\\n- `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#4450](https://github.com/facebook/docusaurus/pull/4450) chore(v2): Fix more linter warnings ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils`, `docusaurus`\\n - [#4442](https://github.com/facebook/docusaurus/pull/4442) chore(v2): Fix linter warnings ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#4375](https://github.com/facebook/docusaurus/pull/4375) refactor(v2): TS config update: reduce the size of npm modules ([@RDIL](https://github.com/RDIL))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#4616](https://github.com/facebook/docusaurus/pull/4616) docs(v2): add showcase: kubevela ([@sunny0826](https://github.com/sunny0826))\\n - [#4612](https://github.com/facebook/docusaurus/pull/4612) docs(v2): Added IntelAGENT website to showcase. ([@akepecs](https://github.com/akepecs))\\n - [#4609](https://github.com/facebook/docusaurus/pull/4609) docs(v2): add clarity to tip in versioned using-themes page ([@dickwyn](https://github.com/dickwyn))\\n - [#4606](https://github.com/facebook/docusaurus/pull/4606) docs(v2): heading typo ([@arturcarvalho](https://github.com/arturcarvalho))\\n - [#4604](https://github.com/facebook/docusaurus/pull/4604) docs(v2): add clarity to tip in using-themes page ([@dickwyn](https://github.com/dickwyn))\\n - [#4602](https://github.com/facebook/docusaurus/pull/4602) docs(v2): Add \\"PptxGenJS\\" to showcase ([@gitbrent](https://github.com/gitbrent))\\n - [#4599](https://github.com/facebook/docusaurus/pull/4599) docs(v2): i18n site: enable ko + zh-CN locales ([@slorber](https://github.com/slorber))\\n - [#4595](https://github.com/facebook/docusaurus/pull/4595) docs(v2): fix typo theme-configuration.md ([@forresst](https://github.com/forresst))\\n - [#4594](https://github.com/facebook/docusaurus/pull/4594) docs(v2): Include docusaurus-protobuffet to community plugins ([@AnthonyBobsin](https://github.com/AnthonyBobsin))\\n - [#4558](https://github.com/facebook/docusaurus/pull/4558) docs(v2): fixed broken link in i18n-tutorial.md ([@covalentbond](https://github.com/covalentbond))\\n - [#4573](https://github.com/facebook/docusaurus/pull/4573) docs: update README badges ([@slorber](https://github.com/slorber))\\n - [#4559](https://github.com/facebook/docusaurus/pull/4559) docs(v2): fixed the directory of index.js ([@covalentbond](https://github.com/covalentbond))\\n - [#4568](https://github.com/facebook/docusaurus/pull/4568) docs(v2): add social-embed to showcase ([@tony](https://github.com/tony))\\n - [#4570](https://github.com/facebook/docusaurus/pull/4570) docs(v2): Add Redis Labs Developer Site to docusaurus showcase page ([@ajeetraina](https://github.com/ajeetraina))\\n - [#4543](https://github.com/facebook/docusaurus/pull/4543) docs(v2): fix run-on sentence ([@duanwilliam](https://github.com/duanwilliam))\\n - [#4539](https://github.com/facebook/docusaurus/pull/4539) docs(v2): fix typo deployment.mdx ([@forresst](https://github.com/forresst))\\n - [#4538](https://github.com/facebook/docusaurus/pull/4538) Add Tuist to the list of projects that use Docusaurus ([@pepibumur](https://github.com/pepibumur))\\n - [#4531](https://github.com/facebook/docusaurus/pull/4531) docs(v2): remove duplicate line on v1 docs ([@loozhengyuan](https://github.com/loozhengyuan))\\n - [#4524](https://github.com/facebook/docusaurus/pull/4524) docs(v2): config for self-hosted docsearch crawler ([@loozhengyuan](https://github.com/loozhengyuan))\\n - [#4526](https://github.com/facebook/docusaurus/pull/4526) docs(v2): fix markdown headings level 4 ([@forresst](https://github.com/forresst))\\n - [#4505](https://github.com/facebook/docusaurus/pull/4505) docs(v2): add more links to v1: announcementBar, versionDropdown, homepage ([@slorber](https://github.com/slorber))\\n - [#4497](https://github.com/facebook/docusaurus/pull/4497) docs: fix link to issue template ([@forresst](https://github.com/forresst))\\n - [#4481](https://github.com/facebook/docusaurus/pull/4481) docs(v2): fix grammar and improve wording ([@aehrea](https://github.com/aehrea))\\n - [#4472](https://github.com/facebook/docusaurus/pull/4472) docs(v2): fixed broken link in sidebar documentation ([@covalentbond](https://github.com/covalentbond))\\n - [#4470](https://github.com/facebook/docusaurus/pull/4470) docs(v2): Add missing i18n docs: API lifecycles + Crowdin migration guide ([@slorber](https://github.com/slorber))\\n - [#4460](https://github.com/facebook/docusaurus/pull/4460) docs(v2): use explicit heading IDs ([@lex111](https://github.com/lex111))\\n - [#4446](https://github.com/facebook/docusaurus/pull/4446) docs(v2): Add blog.johnnyreilly.com to showcase ([@johnnyreilly](https://github.com/johnnyreilly))\\n - [#4430](https://github.com/facebook/docusaurus/pull/4430) docs(v2): add Deploy with QuandCDN ([@steveworley](https://github.com/steveworley))\\n - [#4441](https://github.com/facebook/docusaurus/pull/4441) docs(v2): add stylable site to users showcase list ([@tomrav](https://github.com/tomrav))\\n- `docusaurus-init`\\n - [#4561](https://github.com/facebook/docusaurus/pull/4561) docs(v2): add a missing slug from the initial template ([@Foxeye-Rinx](https://github.com/Foxeye-Rinx))\\n - [#4560](https://github.com/facebook/docusaurus/pull/4560) docs(v2): fixed typos ([@covalentbond](https://github.com/covalentbond))\\n - [#4546](https://github.com/facebook/docusaurus/pull/4546) docs(v2): add a missing \\"export\\" from the initial template ([@Foxeye-Rinx](https://github.com/Foxeye-Rinx))\\n - [#4320](https://github.com/facebook/docusaurus/pull/4320) feat(v2): Improve the initial templates #4302 ([@besemuna](https://github.com/besemuna))\\n- `docusaurus-migrate`, `docusaurus`\\n - [#4479](https://github.com/facebook/docusaurus/pull/4479) docs(v2): fixed typos ([@covalentbond](https://github.com/covalentbond))\\n\\n## :house: Internal\\n\\n- `docusaurus-theme-classic`\\n - [#4627](https://github.com/facebook/docusaurus/pull/4627) chore(v2): update Infima to alpha.22 ([@slorber](https://github.com/slorber))\\n - [#4463](https://github.com/facebook/docusaurus/pull/4463) chore: fb json header commit typo ([@slorber](https://github.com/slorber))\\n- Other\\n - [#4613](https://github.com/facebook/docusaurus/pull/4613) chore(v2): fix yarn2 end2end test by using lerna publish --exact ([@slorber](https://github.com/slorber))\\n - [#4611](https://github.com/facebook/docusaurus/pull/4611) chore(v2): CI: do not build all locales when monitoring build time perf ([@slorber](https://github.com/slorber))\\n - [#4486](https://github.com/facebook/docusaurus/pull/4486) ci: enable yarn install cache ([@armano2](https://github.com/armano2))\\n - [#4508](https://github.com/facebook/docusaurus/pull/4508) ci: change default actions timeout from 6h to 30m ([@armano2](https://github.com/armano2))\\n - [#4488](https://github.com/facebook/docusaurus/pull/4488) chore(v2): fix typo in classic init template ([@clarus](https://github.com/clarus))\\n - [#4471](https://github.com/facebook/docusaurus/pull/4471) chore: fix GH actions lint problem matchers issue in PR ([@slorber](https://github.com/slorber))\\n - [#4458](https://github.com/facebook/docusaurus/pull/4458) chore(v2): enable staging locales: ko ja ([@slorber](https://github.com/slorber))\\n - [#4457](https://github.com/facebook/docusaurus/pull/4457) chore(v2): remove docs for alpha v70 ([@lex111](https://github.com/lex111))\\n - [#4452](https://github.com/facebook/docusaurus/pull/4452) chore(v2): update typescript-eslint to v4.18.0 ([@armano2](https://github.com/armano2))\\n- `docusaurus`\\n - [#4516](https://github.com/facebook/docusaurus/pull/4516) ci(v2): fail CI if build takes too much time ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#4490](https://github.com/facebook/docusaurus/pull/4490) chore: rename v2.docusaurus.io urls after domain switch + redirect + cleanups ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`\\n - [#4475](https://github.com/facebook/docusaurus/pull/4475) chore: prepare v1-v2 domain switch ([@slorber](https://github.com/slorber))\\n - [#4447](https://github.com/facebook/docusaurus/pull/4447) chore: simplify CI setup ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`, `docusaurus-init`\\n - [#4453](https://github.com/facebook/docusaurus/pull/4453) chore(v2): migrate babel-eslint to @babel/eslint-parser ([@armano2](https://github.com/armano2))\\n- `docusaurus-utils-validation`\\n - [#4464](https://github.com/facebook/docusaurus/pull/4464) chore(v2): Joi cyclic dep warning ([@slorber](https://github.com/slorber))\\n- `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-ideal-image`, `docusaurus-theme-common`, `docusaurus-utils`, `docusaurus`\\n - [#4462](https://github.com/facebook/docusaurus/pull/4462) chore: json files should be linted ([@slorber](https://github.com/slorber))\\n\\n## :running: Performance\\n\\n- `docusaurus-theme-classic`\\n - [#4626](https://github.com/facebook/docusaurus/pull/4626) refactor(v2): toggleResponsiveSidebar => more stable callback ([@slorber](https://github.com/slorber))\\n - [#4603](https://github.com/facebook/docusaurus/pull/4603) perf(v2): avoid rerender of sidebar items while scrolling ([@lex111](https://github.com/lex111))\\n - [#4473](https://github.com/facebook/docusaurus/pull/4473) perf(v2): reduce amount of component updates while scrolling ([@armano2](https://github.com/armano2))\\n\\n## Committers: 37\\n\\n- Ajeet Singh Raina, Docker Captain, RedisLabs ([@ajeetraina](https://github.com/ajeetraina))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Anthony Bobsin ([@AnthonyBobsin](https://github.com/AnthonyBobsin))\\n- Arijit Kundu ([@covalentbond](https://github.com/covalentbond))\\n- Armano ([@armano2](https://github.com/armano2))\\n- Artur Carvalho ([@arturcarvalho](https://github.com/arturcarvalho))\\n- Brent Ely ([@gitbrent](https://github.com/gitbrent))\\n- Chris Kanich ([@kaytwo](https://github.com/kaytwo))\\n- Dennis Thompson ([@atomicpages](https://github.com/atomicpages))\\n- Dick Wyn Yong ([@dickwyn](https://github.com/dickwyn))\\n- Forresst ([@forresst](https://github.com/forresst))\\n- Guillaume Claret ([@clarus](https://github.com/clarus))\\n- John Knox ([@jknoxville](https://github.com/jknoxville))\\n- John Reilly ([@johnnyreilly](https://github.com/johnnyreilly))\\n- Lisa Chandra ([@lisa761](https://github.com/lisa761))\\n- Lucas Alves ([@lucalves](https://github.com/lucalves))\\n- Marco Enrico ([@gumacahin](https://github.com/gumacahin))\\n- Pedro Pi\xf1era Buend\xeda ([@pepibumur](https://github.com/pepibumur))\\n- Reece Dunham ([@RDIL](https://github.com/RDIL))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- Steve ([@steveworley](https://github.com/steveworley))\\n- Steven Hansel ([@ShinteiMai](https://github.com/ShinteiMai))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tales Porto ([@talesporto](https://github.com/talesporto))\\n- Thiago Sciotta ([@thiagog3](https://github.com/thiagog3))\\n- Tiago Ribeiro ([@tiago-rr](https://github.com/tiago-rr))\\n- Tom Raviv ([@tomrav](https://github.com/tomrav))\\n- Tony Narlock ([@tony](https://github.com/tony))\\n- ZhengYuan Loo ([@loozhengyuan](https://github.com/loozhengyuan))\\n- [@Foxeye-Rinx](https://github.com/Foxeye-Rinx)\\n- [@aehrea](https://github.com/aehrea)\\n- [@akepecs](https://github.com/akepecs)\\n- [@besemuna](https://github.com/besemuna)\\n- [@duanwilliam](https://github.com/duanwilliam)\\n- [@miku86](https://github.com/miku86)\\n- [@serut](https://github.com/serut)\\n- guoxudong ([@sunny0826](https://github.com/sunny0826))"},{"id":"/2.0.0-alpha.72","metadata":{"permalink":"/changelog/2.0.0-alpha.72","source":"@site/changelog/source/2.0.0-alpha.72.md","title":"2.0.0-alpha.72","description":"Breaking Change","date":"2021-03-16T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"Harvtronix","alias":"Harvtronix","url":"https://github.com/Harvtronix","imageURL":"https://github.com/Harvtronix.png","key":"Harvtronix","page":null},{"name":"Joon-Ha Lee","alias":"koko8829","url":"https://github.com/koko8829","imageURL":"https://github.com/koko8829.png","key":"koko8829","page":null},{"name":"Leandro Oriente","alias":"leandrooriente","url":"https://github.com/leandrooriente","imageURL":"https://github.com/leandrooriente.png","key":"leandrooriente","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Long Ho","alias":"longlho","url":"https://github.com/longlho","imageURL":"https://github.com/longlho.png","key":"longlho","page":null},{"name":"Lowen","alias":"lowenhere","url":"https://github.com/lowenhere","imageURL":"https://github.com/lowenhere.png","key":"lowenhere","page":null},{"name":"Pierre-Gilles Leymarie","alias":"Pierre-Gilles","url":"https://github.com/Pierre-Gilles","imageURL":"https://github.com/Pierre-Gilles.png","key":"Pierre-Gilles","page":null},{"name":"Quan","alias":"quanengineering","url":"https://github.com/quanengineering","imageURL":"https://github.com/quanengineering.png","key":"quanengineering","page":null},{"name":"Rhodanthe1116","alias":"Rhodanthe1116","url":"https://github.com/Rhodanthe1116","imageURL":"https://github.com/Rhodanthe1116.png","key":"Rhodanthe1116","page":null},{"name":"Steven Hansel","alias":"ShinteiMai","url":"https://github.com/ShinteiMai","imageURL":"https://github.com/ShinteiMai.png","key":"ShinteiMai","page":null},{"name":"Simen Bekkhus","alias":"SimenB","url":"https://github.com/SimenB","imageURL":"https://github.com/SimenB.png","key":"SimenB","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Zoltan Kochan","alias":"zkochan","url":"https://github.com/zkochan","imageURL":"https://github.com/zkochan.png","key":"zkochan","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-03-16T20:00","authors":["armano2","Harvtronix","koko8829","leandrooriente","lex111","longlho","lowenhere","Pierre-Gilles","quanengineering","Rhodanthe1116","ShinteiMai","SimenB","slorber","zkochan"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.73","permalink":"/changelog/2.0.0-alpha.73"},"nextItem":{"title":"2.0.0-alpha.71","permalink":"/changelog/2.0.0-alpha.71"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\nStarting with this release for a proper work of i18n functionality, you need to either use Node v14+ or in case of using earlier version of Node.js install [`full-icu` package](https://www.npmjs.com/package/full-icu) and set `NODE_ICU_DATA` environment variable in your npm scripts, for example:\\n\\n```json\\n\\"scripts\\": {\\n \\"start\\": \\"cross-env NODE_ICU_DATA=node_modules/full-icu docusaurus start\\"\\n}\\n```\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-init`\\n - [#4302](https://github.com/facebook/docusaurus/pull/4302) feat(v2): Improve the initial templates ([@ShinteiMai](https://github.com/ShinteiMai))\\n- `docusaurus-theme-classic`\\n - [#4390](https://github.com/facebook/docusaurus/pull/4390) feat(v2): Add korean default translations ([@koko8829](https://github.com/koko8829))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#4429](https://github.com/facebook/docusaurus/pull/4429) chore(v2): upgrade Infima to v0.2.0-alpha.21 ([@lex111](https://github.com/lex111))\\n - [#4428](https://github.com/facebook/docusaurus/pull/4428) fix(v2): allow using pre tag in Markdown directly ([@lex111](https://github.com/lex111))\\n - [#4381](https://github.com/facebook/docusaurus/pull/4381) fix(v2): specify proper TS path in classic theme ([@lex111](https://github.com/lex111))\\n - [#4383](https://github.com/facebook/docusaurus/pull/4383) fix(v2): set theme color mode for SSR ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-pwa`\\n - [#4424](https://github.com/facebook/docusaurus/pull/4424) fix(v2): add missing peer dep on @babel/core ([@SimenB](https://github.com/SimenB))\\n - [#4377](https://github.com/facebook/docusaurus/pull/4377) fix(v2): PWA issues + improve docs ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#4407](https://github.com/facebook/docusaurus/pull/4407) fix(v2): broken link checker should not report false positives when using encoded chars ([@Harvtronix](https://github.com/Harvtronix))\\n- Other\\n - [#4410](https://github.com/facebook/docusaurus/pull/4410) fix(v1): Fix v1 site deployment with Crowdin again... ([@slorber](https://github.com/slorber))\\n - [#4396](https://github.com/facebook/docusaurus/pull/4396) fix(v1): Temp fix v1 site deployment: fail-safe on Crowdin upload translations error ([@slorber](https://github.com/slorber))\\n - [#4395](https://github.com/facebook/docusaurus/pull/4395) fix(v1): fix v1 site deploy issues ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus`\\n - [#4418](https://github.com/facebook/docusaurus/pull/4418) refactor(v2): correct plugin types ([@armano2](https://github.com/armano2))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-common`, `docusaurus-utils`, `docusaurus`\\n - [#4405](https://github.com/facebook/docusaurus/pull/4405) refactor(v2): i18n cleanups / refactors ([@longlho](https://github.com/longlho))\\n- `docusaurus-module-type-aliases`\\n - [#4387](https://github.com/facebook/docusaurus/pull/4387) refactor(v2): add ExecutionEnvironment, BrowserOnly, isInternalUrl to type aliases ([@armano2](https://github.com/armano2))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#4402](https://github.com/facebook/docusaurus/pull/4402) refactor(v2): merge linkify function used in blog and docs and align properties ([@armano2](https://github.com/armano2))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-docs`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus`\\n - [#4382](https://github.com/facebook/docusaurus/pull/4382) refactor(v2): correct some of type errors reported by eslint ([@armano2](https://github.com/armano2))\\n- `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#4385](https://github.com/facebook/docusaurus/pull/4385) refactor(v2): add missing theme-classic types ([@armano2](https://github.com/armano2))\\n\\n## :memo: Documentation\\n\\n- [#4416](https://github.com/facebook/docusaurus/pull/4416) docs(v2): add Realtime Web Applications Workshop to showcase ([@lowenhere](https://github.com/lowenhere))\\n- [#4408](https://github.com/facebook/docusaurus/pull/4408) docs(v2): add gladysassistant.com to showcase ([@Pierre-Gilles](https://github.com/Pierre-Gilles))\\n- [#4386](https://github.com/facebook/docusaurus/pull/4386) docs(v2): Showcase the pnpm docs ([@zkochan](https://github.com/zkochan))\\n- [#4367](https://github.com/facebook/docusaurus/pull/4367) docs(v2): releasing i18n blog post ([@slorber](https://github.com/slorber))\\n\\n## :house: Internal\\n\\n- `docusaurus-1.x`\\n - [#4401](https://github.com/facebook/docusaurus/pull/4401) chore(v1): fix CircleCI v1 site deploy ([@slorber](https://github.com/slorber))\\n- Other\\n - [#4399](https://github.com/facebook/docusaurus/pull/4399) chore(v2): upgrade example projects ([@slorber](https://github.com/slorber))\\n - [#4398](https://github.com/facebook/docusaurus/pull/4398) chore(v1): trigger v1 site deploy through CI ([@slorber](https://github.com/slorber))\\n- `docusaurus-utils`\\n - [#4384](https://github.com/facebook/docusaurus/pull/4384) chore(v2): avoid bad publish of intl-locales-supported ([@lex111](https://github.com/lex111))\\n\\n## Committers: 14\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Armano ([@armano2](https://github.com/armano2))\\n- Harvtronix ([@Harvtronix](https://github.com/Harvtronix))\\n- Joon-Ha Lee ([@koko8829](https://github.com/koko8829))\\n- Leandro Oriente ([@leandrooriente](https://github.com/leandrooriente))\\n- Long Ho ([@longlho](https://github.com/longlho))\\n- Lowen ([@lowenhere](https://github.com/lowenhere))\\n- Pierre-Gilles Leymarie ([@Pierre-Gilles](https://github.com/Pierre-Gilles))\\n- Quan ([@quanengineering](https://github.com/quanengineering))\\n- Simen Bekkhus ([@SimenB](https://github.com/SimenB))\\n- Steven Hansel ([@ShinteiMai](https://github.com/ShinteiMai))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Zoltan Kochan ([@zkochan](https://github.com/zkochan))\\n- [@Rhodanthe1116](https://github.com/Rhodanthe1116)"},{"id":"/2.0.0-alpha.71","metadata":{"permalink":"/changelog/2.0.0-alpha.71","source":"@site/changelog/source/2.0.0-alpha.71.md","title":"2.0.0-alpha.71","description":"New Feature","date":"2021-03-09T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ali Saki","alias":"3alisaki","url":"https://github.com/3alisaki","imageURL":"https://github.com/3alisaki.png","key":"3alisaki","page":null},{"name":"Joel M","alias":"9oelM","url":"https://github.com/9oelM","imageURL":"https://github.com/9oelM.png","key":"9oelM","page":null},{"name":"Apurva Ojas","alias":"apurvaojas","url":"https://github.com/apurvaojas","imageURL":"https://github.com/apurvaojas.png","key":"apurvaojas","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"Arthur","alias":"ArtFlag","url":"https://github.com/ArtFlag","imageURL":"https://github.com/ArtFlag.png","key":"ArtFlag","page":null},{"name":"Jola","alias":"asystentka-jolka","url":"https://github.com/asystentka-jolka","imageURL":"https://github.com/asystentka-jolka.png","key":"asystentka-jolka","page":null},{"name":"Andrew Taft","alias":"ataft","url":"https://github.com/ataft","imageURL":"https://github.com/ataft.png","key":"ataft","page":null},{"name":"aukokyong","alias":"aukokyong","url":"https://github.com/aukokyong","imageURL":"https://github.com/aukokyong.png","key":"aukokyong","page":null},{"name":"Nahiyan Kamal","alias":"ayonious","url":"https://github.com/ayonious","imageURL":"https://github.com/ayonious.png","key":"ayonious","page":null},{"name":"Martin Ad\xe1mek","alias":"B4nan","url":"https://github.com/B4nan","imageURL":"https://github.com/B4nan.png","key":"B4nan","page":null},{"name":"Ben","alias":"ben-qnimble","url":"https://github.com/ben-qnimble","imageURL":"https://github.com/ben-qnimble.png","key":"ben-qnimble","page":null},{"name":"BennoDev","alias":"bennodev19","url":"https://github.com/bennodev19","imageURL":"https://github.com/bennodev19.png","key":"bennodev19","page":null},{"name":"\xc7a\u011Flar Tural\u0131","alias":"caglarturali","url":"https://github.com/caglarturali","imageURL":"https://github.com/caglarturali.png","key":"caglarturali","page":null},{"name":"Christian Bromann","alias":"christian-bromann","url":"https://github.com/christian-bromann","imageURL":"https://github.com/christian-bromann.png","key":"christian-bromann","page":null},{"name":"David Barrat","alias":"dbrrt","url":"https://github.com/dbrrt","imageURL":"https://github.com/dbrrt.png","key":"dbrrt","page":null},{"name":"Gr\xe9gory Heitz","alias":"edno","url":"https://github.com/edno","imageURL":"https://github.com/edno.png","key":"edno","page":null},{"name":"Eduardo L\xe1zaro","alias":"edulazaro","url":"https://github.com/edulazaro","imageURL":"https://github.com/edulazaro.png","key":"edulazaro","page":null},{"name":"Eric Carboni","alias":"eric-hc","url":"https://github.com/eric-hc","imageURL":"https://github.com/eric-hc.png","key":"eric-hc","page":null},{"name":"Mohd Shad Mirza","alias":"iamshadmirza","url":"https://github.com/iamshadmirza","imageURL":"https://github.com/iamshadmirza.png","key":"iamshadmirza","page":null},{"name":"Bhargav Ponnapalli","alias":"imbhargav5","url":"https://github.com/imbhargav5","imageURL":"https://github.com/imbhargav5.png","key":"imbhargav5","page":null},{"name":"Ivan Ru\u017Eevi\u0107","alias":"iruzevic","url":"https://github.com/iruzevic","imageURL":"https://github.com/iruzevic.png","key":"iruzevic","page":null},{"name":"Jessica Lin","alias":"jlin27","url":"https://github.com/jlin27","imageURL":"https://github.com/jlin27.png","key":"jlin27","page":null},{"name":"Joel Marcey","alias":"JoelMarcey","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","key":"JoelMarcey","page":null},{"name":"Juan Carlos Blanco Delgado","alias":"juancarlosjr97","url":"https://github.com/juancarlosjr97","imageURL":"https://github.com/juancarlosjr97.png","key":"juancarlosjr97","page":null},{"name":"\u741A\u81F4\u8FDC","alias":"juzhiyuan","url":"https://github.com/juzhiyuan","imageURL":"https://github.com/juzhiyuan.png","key":"juzhiyuan","page":null},{"name":"Kumar Aditya","alias":"kumaraditya303","url":"https://github.com/kumaraditya303","imageURL":"https://github.com/kumaraditya303.png","key":"kumaraditya303","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Pablo Vidal","alias":"limkinZero","url":"https://github.com/limkinZero","imageURL":"https://github.com/limkinZero.png","key":"limkinZero","page":null},{"name":"Power Lin","alias":"linyuxuanlin","url":"https://github.com/linyuxuanlin","imageURL":"https://github.com/linyuxuanlin.png","key":"linyuxuanlin","page":null},{"name":"Lisa Chandra","alias":"lisa761","url":"https://github.com/lisa761","imageURL":"https://github.com/lisa761.png","key":"lisa761","page":null},{"name":"LittleboyHarry","alias":"LittleboyHarry","url":"https://github.com/LittleboyHarry","imageURL":"https://github.com/LittleboyHarry.png","key":"LittleboyHarry","page":null},{"name":"Long Ho","alias":"longlho","url":"https://github.com/longlho","imageURL":"https://github.com/longlho.png","key":"longlho","page":null},{"name":"Matteo Manzinello","alias":"manzinello","url":"https://github.com/manzinello","imageURL":"https://github.com/manzinello.png","key":"manzinello","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Matan Borenkraout","alias":"MatanBobi","url":"https://github.com/MatanBobi","imageURL":"https://github.com/MatanBobi.png","key":"MatanBobi","page":null},{"name":"Miroiu Emanuel","alias":"miroiu","url":"https://github.com/miroiu","imageURL":"https://github.com/miroiu.png","key":"miroiu","page":null},{"name":"MisterFISHUP","alias":"MisterFISHUP","url":"https://github.com/MisterFISHUP","imageURL":"https://github.com/MisterFISHUP.png","key":"MisterFISHUP","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Sean Campbell","alias":"natac13","url":"https://github.com/natac13","imageURL":"https://github.com/natac13.png","key":"natac13","page":null},{"name":"Nico Jansen","alias":"nicojs","url":"https://github.com/nicojs","imageURL":"https://github.com/nicojs.png","key":"nicojs","page":null},{"name":"Nikolay Samokhvalov","alias":"NikolayS","url":"https://github.com/NikolayS","imageURL":"https://github.com/NikolayS.png","key":"NikolayS","page":null},{"name":"Nathan Bosscher","alias":"ntbosscher","url":"https://github.com/ntbosscher","imageURL":"https://github.com/ntbosscher.png","key":"ntbosscher","page":null},{"name":"Matt Oestreich","alias":"oze4","url":"https://github.com/oze4","imageURL":"https://github.com/oze4.png","key":"oze4","page":null},{"name":"philipp985","alias":"philipp985","url":"https://github.com/philipp985","imageURL":"https://github.com/philipp985.png","key":"philipp985","page":null},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},{"name":"roydukkey","alias":"roydukkey","url":"https://github.com/roydukkey","imageURL":"https://github.com/roydukkey.png","key":"roydukkey","page":null},{"name":"Saihajpreet Singh","alias":"saihaj","url":"https://github.com/saihaj","imageURL":"https://github.com/saihaj.png","key":"saihaj","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"Sam Hrncir","alias":"samhrncir","url":"https://github.com/samhrncir","imageURL":"https://github.com/samhrncir.png","key":"samhrncir","page":null},{"name":"sammychinedu2ky","alias":"sammychinedu2ky","url":"https://github.com/sammychinedu2ky","imageURL":"https://github.com/sammychinedu2ky.png","key":"sammychinedu2ky","page":null},{"name":"saydo17","alias":"saydo17","url":"https://github.com/saydo17","imageURL":"https://github.com/saydo17.png","key":"saydo17","page":null},{"name":"Sergio Moreno","alias":"semoal","url":"https://github.com/semoal","imageURL":"https://github.com/semoal.png","key":"semoal","page":null},{"name":"Siemienik Pawel","alias":"Siemienik","url":"https://github.com/Siemienik","imageURL":"https://github.com/Siemienik.png","key":"Siemienik","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"Sam Sam","alias":"sksamuel","url":"https://github.com/sksamuel","imageURL":"https://github.com/sksamuel.png","key":"sksamuel","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Ankur Kedia","alias":"theankurkedia","url":"https://github.com/theankurkedia","imageURL":"https://github.com/theankurkedia.png","key":"theankurkedia","page":null},{"name":"Theodore Chu","alias":"TheodoreChu","url":"https://github.com/TheodoreChu","imageURL":"https://github.com/TheodoreChu.png","key":"TheodoreChu","page":null},{"name":"Tien Vo Xuan","alias":"tienvx","url":"https://github.com/tienvx","imageURL":"https://github.com/tienvx.png","key":"tienvx","page":null},{"name":"tokarchyn","alias":"tokarchyn","url":"https://github.com/tokarchyn","imageURL":"https://github.com/tokarchyn.png","key":"tokarchyn","page":null},{"name":"Tomas Fernandez","alias":"tomsfernandez","url":"https://github.com/tomsfernandez","imageURL":"https://github.com/tomsfernandez.png","key":"tomsfernandez","page":null},{"name":"Vamsi Krishna Reddy Satti","alias":"vamsi3","url":"https://github.com/vamsi3","imageURL":"https://github.com/vamsi3.png","key":"vamsi3","page":null},{"name":"Kevin Viglucci","alias":"viglucci","url":"https://github.com/viglucci","imageURL":"https://github.com/viglucci.png","key":"viglucci","page":null},{"name":"Welly","alias":"wellyshen","url":"https://github.com/wellyshen","imageURL":"https://github.com/wellyshen.png","key":"wellyshen","page":null},{"name":"wolf20482","alias":"wolf20482","url":"https://github.com/wolf20482","imageURL":"https://github.com/wolf20482.png","key":"wolf20482","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Yash Totale","alias":"YashTotale","url":"https://github.com/YashTotale","imageURL":"https://github.com/YashTotale.png","key":"YashTotale","page":null},{"name":"Yamagishi Kazutoshi","alias":"ykzts","url":"https://github.com/ykzts","imageURL":"https://github.com/ykzts.png","key":"ykzts","page":null},{"name":"Yuri Sulyma","alias":"ysulyma","url":"https://github.com/ysulyma","imageURL":"https://github.com/ysulyma.png","key":"ysulyma","page":null},{"name":"Yuval Hazaz","alias":"yuval-hazaz","url":"https://github.com/yuval-hazaz","imageURL":"https://github.com/yuval-hazaz.png","key":"yuval-hazaz","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-03-09T20:00","authors":["3alisaki","9oelM","apurvaojas","armano2","ArtFlag","asystentka-jolka","ataft","aukokyong","ayonious","B4nan","ben-qnimble","bennodev19","caglarturali","christian-bromann","dbrrt","edno","edulazaro","eric-hc","iamshadmirza","imbhargav5","iruzevic","jlin27","JoelMarcey","juancarlosjr97","juzhiyuan","kumaraditya303","lex111","limkinZero","linyuxuanlin","lisa761","LittleboyHarry","longlho","manzinello","massoudmaboudi","MatanBobi","miroiu","MisterFISHUP","moonrailgun","natac13","nicojs","NikolayS","ntbosscher","oze4","philipp985","RDIL","roydukkey","saihaj","SamChou19815","samhrncir","sammychinedu2ky","saydo17","semoal","Siemienik","Simek","sksamuel","slorber","theankurkedia","TheodoreChu","tienvx","tokarchyn","tomsfernandez","vamsi3","viglucci","wellyshen","wolf20482","yangshun","YashTotale","ykzts","ysulyma","yuval-hazaz"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.72","permalink":"/changelog/2.0.0-alpha.72"},"nextItem":{"title":"2.0.0-alpha.70","permalink":"/changelog/2.0.0-alpha.70"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-utils`, `docusaurus`\\n - [#4222](https://github.com/facebook/docusaurus/pull/4222) feat(v2): add ability to set custom heading id ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-live-codeblock`\\n - [#4328](https://github.com/facebook/docusaurus/pull/4328) feat(v2): Add playgroundPosition config for live codeblock ([@tokarchyn](https://github.com/tokarchyn))\\n- `docusaurus-theme-classic`\\n - [#4209](https://github.com/facebook/docusaurus/pull/4209) feat(v2): auto focus to tab if it is outside viewport ([@lex111](https://github.com/lex111))\\n - [#4329](https://github.com/facebook/docusaurus/pull/4329) feat(v2): add arabic translation ([@3alisaki](https://github.com/3alisaki))\\n - [#4325](https://github.com/facebook/docusaurus/pull/4325) feat(v2): [theme-classic] add Polish translation ([@Simek](https://github.com/Simek))\\n - [#4312](https://github.com/facebook/docusaurus/pull/4312) feat(v2): Add Turkish translations for theme labels ([@caglarturali](https://github.com/caglarturali))\\n - [#4271](https://github.com/facebook/docusaurus/pull/4271) feat(v2): add Farsi default translations ([@slorber](https://github.com/slorber))\\n - [#4261](https://github.com/facebook/docusaurus/pull/4261) feat(v2): add icon to generic sidebar link ([@lex111](https://github.com/lex111))\\n - [#4109](https://github.com/facebook/docusaurus/pull/4109) feat(v2): default canonical urls ([@slorber](https://github.com/slorber))\\n- `docusaurus-types`, `docusaurus`\\n - [#4308](https://github.com/facebook/docusaurus/pull/4308) feat(v2): add --config option to CLI ([@longlho](https://github.com/longlho))\\n - [#4185](https://github.com/facebook/docusaurus/pull/4185) feat(v2): allow extend PostCSS config ([@lex111](https://github.com/lex111))\\n - [#4021](https://github.com/facebook/docusaurus/pull/4021) feat(v2): Allow plugins to consume webpack stats ([@RDIL](https://github.com/RDIL))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#4303](https://github.com/facebook/docusaurus/pull/4303) feat(v2): add japanese translations ([@ykzts](https://github.com/ykzts))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus`\\n - [#4295](https://github.com/facebook/docusaurus/pull/4295) feat(v2): Add Interpolate / interpolate APIs + complete theme translations ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`\\n - [#4278](https://github.com/facebook/docusaurus/pull/4278) feat(v2): ability to \\"escape\\" JSX in MDX files as code blocks ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`\\n - [#4232](https://github.com/facebook/docusaurus/pull/4232) feat(v2): editUrl functions should receive md doc permalink ([@slorber](https://github.com/slorber))\\n - [#4121](https://github.com/facebook/docusaurus/pull/4121) feat(v2): editUrl function for advanced use-cases ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#4218](https://github.com/facebook/docusaurus/pull/4218) feat(v2): support/use React v17 by default ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#4215](https://github.com/facebook/docusaurus/pull/4215) feat(v2): Add i18n default code translation bundles ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#4140](https://github.com/facebook/docusaurus/pull/4140) feat(v2): add support for RTL direction ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#4199](https://github.com/facebook/docusaurus/pull/4199) feat(v2): allow to change location of search bar ([@lex111](https://github.com/lex111))\\n - [#3993](https://github.com/facebook/docusaurus/pull/3993) feat(v2): themed logo in footer ([@natac13](https://github.com/natac13))\\n- `docusaurus`\\n - [#4198](https://github.com/facebook/docusaurus/pull/4198) feat(v2): add fonts loaders + webpack resolve.roots ([@slorber](https://github.com/slorber))\\n - [#3998](https://github.com/facebook/docusaurus/pull/3998) feat(v2): Cache hashed assets to dedicated folders ([@kumaraditya303](https://github.com/kumaraditya303))\\n - [#3979](https://github.com/facebook/docusaurus/pull/3979) feat(v2): better error message for invalid plugin config ([@9oelM](https://github.com/9oelM))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus`\\n - [#4168](https://github.com/facebook/docusaurus/pull/4168) feat(v2): Extract/translate hardcoded labels from classic theme ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`\\n - [#4098](https://github.com/facebook/docusaurus/pull/4098) feat(v2): improve templates, use JSDoc type annotation, improve `docusaurus.config.js` autocompletion ([@LittleboyHarry](https://github.com/LittleboyHarry))\\n- `docusaurus-init`, `docusaurus-migrate`\\n - [#3986](https://github.com/facebook/docusaurus/pull/3986) feat(v2): skip dependency install on docusaurus init ([@kumaraditya303](https://github.com/kumaraditya303))\\n- `docusaurus-plugin-content-docs`\\n - [#3949](https://github.com/facebook/docusaurus/pull/3949) feat(v2): new docs edit options: editCurrentVersion + editLocalizedDocs ([@slorber](https://github.com/slorber))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#4223](https://github.com/facebook/docusaurus/pull/4223) chore(v2): upgrade dependencies + require Node 12 ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#4366](https://github.com/facebook/docusaurus/pull/4366) fix(v2): align installed core-js version with babel config ([@armano2](https://github.com/armano2))\\n - [#4345](https://github.com/facebook/docusaurus/pull/4345) fix(v2): always extract translations from site/src ([@slorber](https://github.com/slorber))\\n - [#4342](https://github.com/facebook/docusaurus/pull/4342) chore(v2): bump clean-css to 5.1.1 ([@lex111](https://github.com/lex111))\\n - [#4212](https://github.com/facebook/docusaurus/pull/4212) fix(v2): typo in resolve.roots ([@slorber](https://github.com/slorber))\\n - [#4155](https://github.com/facebook/docusaurus/pull/4155) fix(v2): BaseUrl issue banner insertion should be prevented if JS can load ([@slorber](https://github.com/slorber))\\n - [#4137](https://github.com/facebook/docusaurus/pull/4137) fix(v2): escape apostrophes in route paths ([@lex111](https://github.com/lex111))\\n - [#4136](https://github.com/facebook/docusaurus/pull/4136) fix(v2): fix navigation from homepage ([@lex111](https://github.com/lex111))\\n - [#4125](https://github.com/facebook/docusaurus/pull/4125) fix(v2): baseUrl help banner should not be indexed by Google / SEO ([@slorber](https://github.com/slorber))\\n - [#4080](https://github.com/facebook/docusaurus/pull/4080) fix(v2): chokidar reloading debounced ([@semoal](https://github.com/semoal))\\n - [#3965](https://github.com/facebook/docusaurus/pull/3965) fix(v2): fix svg loader for CSS files ([@apurvaojas](https://github.com/apurvaojas))\\n - [#3943](https://github.com/facebook/docusaurus/pull/3943) fix(v2): disables all inlining in CleanCSS ([@lex111](https://github.com/lex111))\\n - [#3941](https://github.com/facebook/docusaurus/pull/3941) fix(v2): fix i18n build logging. ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#4349](https://github.com/facebook/docusaurus/pull/4349) fix(v2): fix update code translations script + update some translations ([@slorber](https://github.com/slorber))\\n - [#4311](https://github.com/facebook/docusaurus/pull/4311) fix(v2): fit footer in viewport when content area is too small ([@lex111](https://github.com/lex111))\\n - [#4340](https://github.com/facebook/docusaurus/pull/4340) fix(v2): prevent useless blog pages to be in search results ([@slorber](https://github.com/slorber))\\n - [#4274](https://github.com/facebook/docusaurus/pull/4274) fix(v2): theme classic should have lib-next prettified ([@slorber](https://github.com/slorber))\\n - [#4267](https://github.com/facebook/docusaurus/pull/4267) fix(v2): Allow null as valid for title of item in footer links. ([@ben-qnimble](https://github.com/ben-qnimble))\\n - [#4254](https://github.com/facebook/docusaurus/pull/4254) fix(v2): fix LTR PostCSS bug on Netlify and monorepo symlinks ([@slorber](https://github.com/slorber))\\n - [#4247](https://github.com/facebook/docusaurus/pull/4247) fix(v2): make doc container full width when hidden sidebar ([@lex111](https://github.com/lex111))\\n - [#4241](https://github.com/facebook/docusaurus/pull/4241) fix(v2): avoid horizontal scrolling when long lines of code ([@lex111](https://github.com/lex111))\\n - [#4200](https://github.com/facebook/docusaurus/pull/4200) fix(v2): various minor bugs with location hash ([@lex111](https://github.com/lex111))\\n - [#4195](https://github.com/facebook/docusaurus/pull/4195) fix(v2): restore hamburger menu ([@lex111](https://github.com/lex111))\\n - [#4189](https://github.com/facebook/docusaurus/pull/4189) fix(v2): prevent click on item menu with children on mobiles ([@lex111](https://github.com/lex111))\\n - [#4176](https://github.com/facebook/docusaurus/pull/4176) fix(v2): make locale dropdown accessible from keyboard ([@lex111](https://github.com/lex111))\\n - [#4163](https://github.com/facebook/docusaurus/pull/4163) fix(v2): fix warning and improve styling inline TOC ([@lex111](https://github.com/lex111))\\n - [#4162](https://github.com/facebook/docusaurus/pull/4162) fix(v2): make more accessible skip link ([@lex111](https://github.com/lex111))\\n - [#4160](https://github.com/facebook/docusaurus/pull/4160) fix(v2): fix hreflang headers ([@slorber](https://github.com/slorber))\\n - [#4147](https://github.com/facebook/docusaurus/pull/4147) fix(v2): avoid misuse section tag in blog posts ([@lex111](https://github.com/lex111))\\n - [#4146](https://github.com/facebook/docusaurus/pull/4146) fix(v2): use current color for language icon ([@lex111](https://github.com/lex111))\\n - [#4118](https://github.com/facebook/docusaurus/pull/4118) fix(v2): navbar dropdown subitems should be translated properly ([@slorber](https://github.com/slorber))\\n - [#4011](https://github.com/facebook/docusaurus/pull/4011) fix(v2): fix accessibility issue with IconArrow ([@natac13](https://github.com/natac13))\\n - [#3968](https://github.com/facebook/docusaurus/pull/3968) fix(v2): fix blog only contextual search ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#4315](https://github.com/facebook/docusaurus/pull/4315) fix(v2): make code blocks more standalone ([@lex111](https://github.com/lex111))\\n - [#4277](https://github.com/facebook/docusaurus/pull/4277) fix(v2): Code blocks should be LTR by default ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-live-codeblock`\\n - [#4318](https://github.com/facebook/docusaurus/pull/4318) fix(v2): evaluate code in live editor on client only ([@lex111](https://github.com/lex111))\\n - [#3954](https://github.com/facebook/docusaurus/pull/3954) fix(v2): allow async/await in live code editor ([@9oelM](https://github.com/9oelM))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#4339](https://github.com/facebook/docusaurus/pull/4339) fix(v2): search page results localization ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#4304](https://github.com/facebook/docusaurus/pull/4304) fix(v2): fix bad theme pluralization rules for some labels ([@slorber](https://github.com/slorber))\\n- `docusaurus-cssnano-preset`\\n - [#4240](https://github.com/facebook/docusaurus/pull/4240) fix(v2): remove PostCSS plugin for combine duplicated selectors ([@lex111](https://github.com/lex111))\\n- Other\\n - [#4234](https://github.com/facebook/docusaurus/pull/4234) fix(v2): fix website versions page ([@slorber](https://github.com/slorber))\\n - [#4233](https://github.com/facebook/docusaurus/pull/4233) fix(v2): website editUrl should target upstream docs ([@slorber](https://github.com/slorber))\\n - [#4067](https://github.com/facebook/docusaurus/pull/4067) fix(v2): Fix blog post url/date ([@slorber](https://github.com/slorber))\\n - [#3952](https://github.com/facebook/docusaurus/pull/3952) docs(v2): Fix invalid json ([@oze4](https://github.com/oze4))\\n- `docusaurus-theme-search-algolia`\\n - [#4188](https://github.com/facebook/docusaurus/pull/4188) fix(v2): prepend docsearch modal to body element ([@lex111](https://github.com/lex111))\\n - [#4154](https://github.com/facebook/docusaurus/pull/4154) fix(v2): add base url to opensearch.xml ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-ideal-image`\\n - [#4166](https://github.com/facebook/docusaurus/pull/4166) fix(v2): ideal image assets should be served under ./assets ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-common`\\n - [#4092](https://github.com/facebook/docusaurus/pull/4092) fix(v2): fix/enhance minor i18n issues reported ([@slorber](https://github.com/slorber))\\n - [#3940](https://github.com/facebook/docusaurus/pull/3940) fix(v2): i18n should not crash theme without footer ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-sitemap`\\n - [#4004](https://github.com/facebook/docusaurus/pull/4004) fix(v2): Fix double trailingSlash in sitemap.xml ([@ntbosscher](https://github.com/ntbosscher))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils`\\n - [#3970](https://github.com/facebook/docusaurus/pull/3970) fix(v2): fix multi-instance mdx loaders not sandboxed correctly ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`\\n - [#3903](https://github.com/facebook/docusaurus/pull/3903) fix(v2): fix redirect toUrl (windows + trailing slash) ([@saydo17](https://github.com/saydo17))\\n- `docusaurus-utils`\\n - [#3944](https://github.com/facebook/docusaurus/pull/3944) fix(v2): ignore style imports in excerpt ([@lex111](https://github.com/lex111))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#4371](https://github.com/facebook/docusaurus/pull/4371) refactor(v2): update Russian translation in classic theme ([@lex111](https://github.com/lex111))\\n - [#4359](https://github.com/facebook/docusaurus/pull/4359) polish(v2): [theme-classic] slightly improve Japanese translation ([@MisterFISHUP](https://github.com/MisterFISHUP))\\n - [#4350](https://github.com/facebook/docusaurus/pull/4350) polish(v2): Updated theme label translations for Turkish ([@caglarturali](https://github.com/caglarturali))\\n - [#4351](https://github.com/facebook/docusaurus/pull/4351) polish(v2): add japanese translation for #4304 ([@ykzts](https://github.com/ykzts))\\n - [#4309](https://github.com/facebook/docusaurus/pull/4309) polish(v2): improved Farsi translation ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n - [#4279](https://github.com/facebook/docusaurus/pull/4279) polish(v2): theme default translations for language de / german ([@philipp985](https://github.com/philipp985))\\n - [#4275](https://github.com/facebook/docusaurus/pull/4275) polish(v2): Add more tags translations ([@slorber](https://github.com/slorber))\\n - [#4246](https://github.com/facebook/docusaurus/pull/4246) refactor(v2): add Russian translation for classic theme ([@lex111](https://github.com/lex111))\\n - [#4242](https://github.com/facebook/docusaurus/pull/4242) refactor(v2): use Link component for external links ([@lex111](https://github.com/lex111))\\n - [#4244](https://github.com/facebook/docusaurus/pull/4244) refactor(v2): clean-ups and fixes ([@lex111](https://github.com/lex111))\\n - [#4193](https://github.com/facebook/docusaurus/pull/4193) refactor(v2): update tabs to follow WAI-ARIA spec ([@lex111](https://github.com/lex111))\\n - [#4194](https://github.com/facebook/docusaurus/pull/4194) refactor(v2): use transform instead of top position for hideable navbar ([@lex111](https://github.com/lex111))\\n - [#4167](https://github.com/facebook/docusaurus/pull/4167) refactor(v2): minor styling improvements ([@lex111](https://github.com/lex111))\\n - [#4169](https://github.com/facebook/docusaurus/pull/4169) refactor(v2): remove delay after skip link pressed ([@lex111](https://github.com/lex111))\\n - [#4086](https://github.com/facebook/docusaurus/pull/4086) style(v2): add className to tab container ([@ArtFlag](https://github.com/ArtFlag))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#4352](https://github.com/facebook/docusaurus/pull/4352) refactor(v2): format last updated date using Intl ([@lex111](https://github.com/lex111))\\n - [#4243](https://github.com/facebook/docusaurus/pull/4243) refactor(v2): introduce Seo component for internal using ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-utils`\\n - [#4344](https://github.com/facebook/docusaurus/pull/4344) refactor(v2): format post date using Intl ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#4257](https://github.com/facebook/docusaurus/pull/4257) refactor(v2): improve notifier message ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#4219](https://github.com/facebook/docusaurus/pull/4219) refactor(v2): add more translatable strings ([@lex111](https://github.com/lex111))\\n- Other\\n - [#4074](https://github.com/facebook/docusaurus/pull/4074) polish(v2): improve codesandbox template package.json ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-debug`\\n - [#3953](https://github.com/facebook/docusaurus/pull/3953) refactor(v2): fix debug plugin name ([@RDIL](https://github.com/RDIL))\\n- `docusaurus-plugin-debug`, `docusaurus-theme-classic`\\n - [#3946](https://github.com/facebook/docusaurus/pull/3946) refactor(v2): minor a11y tweaks ([@lex111](https://github.com/lex111))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#4369](https://github.com/facebook/docusaurus/pull/4369) docs(v2): various improvements ([@lex111](https://github.com/lex111))\\n - [#4362](https://github.com/facebook/docusaurus/pull/4362) docs(v2): Add stryker-mutator.io to showcase ([@nicojs](https://github.com/nicojs))\\n - [#4354](https://github.com/facebook/docusaurus/pull/4354) docs(v2): add trpgengine showcase ([@moonrailgun](https://github.com/moonrailgun))\\n - [#4346](https://github.com/facebook/docusaurus/pull/4346) docs(v1): update phrasing for website dir relative to docs dir ([@aukokyong](https://github.com/aukokyong))\\n - [#4338](https://github.com/facebook/docusaurus/pull/4338) docs(v2): update showcase instruction regarding tags + fix site tags ([@slorber](https://github.com/slorber))\\n - [#4331](https://github.com/facebook/docusaurus/pull/4331) docs(v2): add ocpeasy to users ([@dbrrt](https://github.com/dbrrt))\\n - [#4307](https://github.com/facebook/docusaurus/pull/4307) docs(v2): Add RactivePlayer to showcase ([@ysulyma](https://github.com/ysulyma))\\n - [#4297](https://github.com/facebook/docusaurus/pull/4297) docs(v2): Fix examples by importing React ([@roydukkey](https://github.com/roydukkey))\\n - [#4296](https://github.com/facebook/docusaurus/pull/4296) docs(v2): move migrated sites from v1 to v2 showcase ([@lisa761](https://github.com/lisa761))\\n - [#4293](https://github.com/facebook/docusaurus/pull/4293) docs(v2): Added React Native ARIA to showcase ([@theankurkedia](https://github.com/theankurkedia))\\n - [#4284](https://github.com/facebook/docusaurus/pull/4284) docs(v2): Add AttoBot website to showcase page ([@wolf20482](https://github.com/wolf20482))\\n - [#4285](https://github.com/facebook/docusaurus/pull/4285) docs(v2): escape more jsx in mdx files for Crowdin ([@slorber](https://github.com/slorber))\\n - [#4283](https://github.com/facebook/docusaurus/pull/4283) docs(v2): Add Postgres.ai to showcase ([@NikolayS](https://github.com/NikolayS))\\n - [#4282](https://github.com/facebook/docusaurus/pull/4282) docs: update Netlify deploy status badge ([@slorber](https://github.com/slorber))\\n - [#4259](https://github.com/facebook/docusaurus/pull/4259) docs(v2): improve cli docs ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n - [#4266](https://github.com/facebook/docusaurus/pull/4266) docs(v2): update agilets banner ([@bennodev19](https://github.com/bennodev19))\\n - [#4263](https://github.com/facebook/docusaurus/pull/4263) docs(v2): remove npx and use github action to configure ssh key ([@MatanBobi](https://github.com/MatanBobi))\\n - [#4262](https://github.com/facebook/docusaurus/pull/4262) docs(v2): Added kotest to showcase ([@sksamuel](https://github.com/sksamuel))\\n - [#4256](https://github.com/facebook/docusaurus/pull/4256) docs(v2): Add docusaurus2-graphql-doc-generator to community resources ([@edno](https://github.com/edno))\\n - [#4252](https://github.com/facebook/docusaurus/pull/4252) docs(v2): Added mailgo to showcase ([@manzinello](https://github.com/manzinello))\\n - [#4251](https://github.com/facebook/docusaurus/pull/4251) docs(v2): Add Axioms to showcase ([@limkinZero](https://github.com/limkinZero))\\n - [#4237](https://github.com/facebook/docusaurus/pull/4237) docs(v2): Replace mbt-bundle by sicope-model ([@tienvx](https://github.com/tienvx))\\n - [#4236](https://github.com/facebook/docusaurus/pull/4236) docs(v2): v2 migration should mention RSS feed url change ([@slorber](https://github.com/slorber))\\n - [#4230](https://github.com/facebook/docusaurus/pull/4230) docs(v2): fix npm/yarn command example for swizzling TypeScript theme components ([@YashTotale](https://github.com/YashTotale))\\n - [#4229](https://github.com/facebook/docusaurus/pull/4229) docs(v2): Fix link to slash introduction svg ([@SamChou19815](https://github.com/SamChou19815))\\n - [#4226](https://github.com/facebook/docusaurus/pull/4226) docs(v2): Removing wrong parenthesis on image variable ([@juancarlosjr97](https://github.com/juancarlosjr97))\\n - [#4225](https://github.com/facebook/docusaurus/pull/4225) docs(v2): added Apache APISIX ([@juzhiyuan](https://github.com/juzhiyuan))\\n - [#4224](https://github.com/facebook/docusaurus/pull/4224) docs(v2): Add MikroORM site to showcase page ([@B4nan](https://github.com/B4nan))\\n - [#4220](https://github.com/facebook/docusaurus/pull/4220) Add WebdriverIO docs page as showcase ([@christian-bromann](https://github.com/christian-bromann))\\n - [#4210](https://github.com/facebook/docusaurus/pull/4210) misc: add requirements for sites being added to showcase ([@lex111](https://github.com/lex111))\\n - [#4207](https://github.com/facebook/docusaurus/pull/4207) docs(v2): Added Console Table Documentation Site to showcase ([@ayonious](https://github.com/ayonious))\\n - [#4204](https://github.com/facebook/docusaurus/pull/4204) docs(v1): fixing a broken link in blog posts ([@ayonious](https://github.com/ayonious))\\n - [#4178](https://github.com/facebook/docusaurus/pull/4178) docs(v2): localize 404 page with Netlify + docs ([@slorber](https://github.com/slorber))\\n - [#4177](https://github.com/facebook/docusaurus/pull/4177) docs(v2): Add docusaurus-plugin-remote-content to resources list ([@RDIL](https://github.com/RDIL))\\n - [#4172](https://github.com/facebook/docusaurus/pull/4172) docs(v2): Add react-hooks.org to showcase ([@imbhargav5](https://github.com/imbhargav5))\\n - [#4173](https://github.com/facebook/docusaurus/pull/4173) docs(v2): typo fixing double colon ([@ayonious](https://github.com/ayonious))\\n - [#4164](https://github.com/facebook/docusaurus/pull/4164) docs(v2): add a note for images not rendered on dev server ([@yuval-hazaz](https://github.com/yuval-hazaz))\\n - [#4161](https://github.com/facebook/docusaurus/pull/4161) docs(v2): Add docusaurus-theme-github-codeblock ([@christian-bromann](https://github.com/christian-bromann))\\n - [#4158](https://github.com/facebook/docusaurus/pull/4158) docs(v2): improve bad static assets doc + remove some useless useBaseUrl usage ([@slorber](https://github.com/slorber))\\n - [#4144](https://github.com/facebook/docusaurus/pull/4144) docs(v2): community docs typo fix ([@ayonious](https://github.com/ayonious))\\n - [#4143](https://github.com/facebook/docusaurus/pull/4143) docs(v2): guide docs typo fix ([@ayonious](https://github.com/ayonious))\\n - [#4141](https://github.com/facebook/docusaurus/pull/4141) docs(v2): plugins docs typo fix ([@ayonious](https://github.com/ayonious))\\n - [#4139](https://github.com/facebook/docusaurus/pull/4139) docs(v2): Add Rematch site to showcase page ([@semoal](https://github.com/semoal))\\n - [#4128](https://github.com/facebook/docusaurus/pull/4128) docs(v2): remove duplicate link from docs about Docusaurus1 ([@ayonious](https://github.com/ayonious))\\n - [#4129](https://github.com/facebook/docusaurus/pull/4129) docs(v2): typo fix in Migration Docs ([@ayonious](https://github.com/ayonious))\\n - [#4127](https://github.com/facebook/docusaurus/pull/4127) docs(v2): remove unnecessary brace from installation doc ([@ayonious](https://github.com/ayonious))\\n - [#4130](https://github.com/facebook/docusaurus/pull/4130) docs(v2): typo in i18n docs ([@ayonious](https://github.com/ayonious))\\n - [#4112](https://github.com/facebook/docusaurus/pull/4112) docs(v2): Do not encourage using the permalink prop ([@slorber](https://github.com/slorber))\\n - [#4106](https://github.com/facebook/docusaurus/pull/4106) docs(v2): update broken link on resources page ([@eric-hc](https://github.com/eric-hc))\\n - [#4084](https://github.com/facebook/docusaurus/pull/4084) docs(v2): Use the TOCInline component in config doc ([@slorber](https://github.com/slorber))\\n - [#4020](https://github.com/facebook/docusaurus/pull/4020) docs(v2): 2020 recap blog post ([@slorber](https://github.com/slorber))\\n - [#4009](https://github.com/facebook/docusaurus/pull/4009) docs(v2): add hideableSidebar option to config demo ([@natac13](https://github.com/natac13))\\n - [#4062](https://github.com/facebook/docusaurus/pull/4062) docs(v2): Add codesandbox integration ([@sammychinedu2ky](https://github.com/sammychinedu2ky))\\n - [#4058](https://github.com/facebook/docusaurus/pull/4058) docs(v2): Include new.docusaurus.io CodeSandbox in issue templates + README ([@slorber](https://github.com/slorber))\\n - [#4053](https://github.com/facebook/docusaurus/pull/4053) docs(v2): Add Eightshift Docs site to showcase page ([@iruzevic](https://github.com/iruzevic))\\n - [#4048](https://github.com/facebook/docusaurus/pull/4048) docs(v1): Docker: remind the user to use the --host flag ([@tomsfernandez](https://github.com/tomsfernandez))\\n - [#4047](https://github.com/facebook/docusaurus/pull/4047) docs(v1): version page should recommend v2 ([@slorber](https://github.com/slorber))\\n - [#4046](https://github.com/facebook/docusaurus/pull/4046) docs(v2): add sciwp to showcase ([@edulazaro](https://github.com/edulazaro))\\n - [#4036](https://github.com/facebook/docusaurus/pull/4036) docs(v2): Add Nodify to showcase ([@miroiu](https://github.com/miroiu))\\n - [#4038](https://github.com/facebook/docusaurus/pull/4038) docs(v1): suggest to use Docusaurus 2 even for non-FB websites ([@slorber](https://github.com/slorber))\\n - [#4026](https://github.com/facebook/docusaurus/pull/4026) docs(v2): Add FlexIt to showcase ([@ataft](https://github.com/ataft))\\n - [#4022](https://github.com/facebook/docusaurus/pull/4022) docs: fix typo from \'dissapear\' to \'disappear\' ([@vamsi3](https://github.com/vamsi3))\\n - [#4002](https://github.com/facebook/docusaurus/pull/4002) docs(v2): Add how to run your own DocSearch ([@TheodoreChu](https://github.com/TheodoreChu))\\n - [#3997](https://github.com/facebook/docusaurus/pull/3997) docs(v2): Add Datagit site to showcase page ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n - [#3990](https://github.com/facebook/docusaurus/pull/3990) docs(v2): Add wiki-powerto site showcase ([@linyuxuanlin](https://github.com/linyuxuanlin))\\n - [#3991](https://github.com/facebook/docusaurus/pull/3991) docs(v2): add overwriting css variables for dark mode ([@natac13](https://github.com/natac13))\\n - [#3987](https://github.com/facebook/docusaurus/pull/3987) docs(v2): Add AgileTs site to showcase page ([@bennodev19](https://github.com/bennodev19))\\n - [#3978](https://github.com/facebook/docusaurus/pull/3978) docs(v2): Add documentation for docs multi-instance support ([@slorber](https://github.com/slorber))\\n - [#3977](https://github.com/facebook/docusaurus/pull/3977) docs(v2): nudge users to add site to showcase ([@slorber](https://github.com/slorber))\\n - [#3975](https://github.com/facebook/docusaurus/pull/3975) docs(v2): Reorganize/split the guides doc / markdown sections ([@slorber](https://github.com/slorber))\\n - [#3976](https://github.com/facebook/docusaurus/pull/3976) docs(v2): Add AI-Speaker site to showcase page ([@asystentka-jolka](https://github.com/asystentka-jolka))\\n - [#3974](https://github.com/facebook/docusaurus/pull/3974) docs(v2): doc typo on sidebar admonition ([@slorber](https://github.com/slorber))\\n - [#3962](https://github.com/facebook/docusaurus/pull/3962) docs(v2): Add migration info doc regarding docs folder location ([@slorber](https://github.com/slorber))\\n - [#3950](https://github.com/facebook/docusaurus/pull/3950) docs(v2): update GitHub entreprise deployment doc ([@samhrncir](https://github.com/samhrncir))\\n - [#3945](https://github.com/facebook/docusaurus/pull/3945) docs(v2): Added information about setting `/` in routeBasePath ([@Siemienik](https://github.com/Siemienik))\\n- `docusaurus-theme-classic`\\n - [#4356](https://github.com/facebook/docusaurus/pull/4356) polish(v2): [theme-classic] add Chinese translations (zh-Hant & zh-Hans) ([@MisterFISHUP](https://github.com/MisterFISHUP))\\n- `docusaurus`\\n - [#4126](https://github.com/facebook/docusaurus/pull/4126) docs(v2): do not recommend using useBaseUrl() hook in most cases ([@slorber](https://github.com/slorber))\\n - [#4049](https://github.com/facebook/docusaurus/pull/4049) docs(v1): version page should recommend v2 (bis) ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-theme-classic`, `docusaurus`\\n - [#4014](https://github.com/facebook/docusaurus/pull/4014) docs(v2): i18n doc + polish ([@slorber](https://github.com/slorber))\\n- `docusaurus-cssnano-preset`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-bootstrap`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`, `stylelint-copyright`\\n - [#4034](https://github.com/facebook/docusaurus/pull/4034) docs(v2): Add READMEs to v2 packages ([@RDIL](https://github.com/RDIL))\\n- `docusaurus-init`\\n - [#3881](https://github.com/facebook/docusaurus/pull/3881) docs(v2): update FB OSS logo ([@Simek](https://github.com/Simek))\\n\\n## :house: Internal\\n\\n- Other\\n - [#4372](https://github.com/facebook/docusaurus/pull/4372) chore(v1): release docusaurus v1.14.7 ([@slorber](https://github.com/slorber))\\n - [#4368](https://github.com/facebook/docusaurus/pull/4368) chore(deps): bump elliptic from 6.5.3 to 6.5.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#4365](https://github.com/facebook/docusaurus/pull/4365) chore: unstable yarnlock ([@slorber](https://github.com/slorber))\\n - [#4337](https://github.com/facebook/docusaurus/pull/4337) misc: restore build size bot ([@slorber](https://github.com/slorber))\\n - [#4289](https://github.com/facebook/docusaurus/pull/4289) chore(v2): remove docs for alpha v69 ([@lex111](https://github.com/lex111))\\n - [#4253](https://github.com/facebook/docusaurus/pull/4253) chore(v2): remove docs for alpha v68 ([@lex111](https://github.com/lex111))\\n - [#4248](https://github.com/facebook/docusaurus/pull/4248) chore(v2): Fix build size bot ([@slorber](https://github.com/slorber))\\n - [#4214](https://github.com/facebook/docusaurus/pull/4214) chore(v2): setup for i18n staging deployment ([@slorber](https://github.com/slorber))\\n - [#4159](https://github.com/facebook/docusaurus/pull/4159) chore(v2): fix build size bot again ([@slorber](https://github.com/slorber))\\n - [#4156](https://github.com/facebook/docusaurus/pull/4156) chore(v2): fix build size bot monitoring of js/css assets ([@slorber](https://github.com/slorber))\\n - [#4100](https://github.com/facebook/docusaurus/pull/4100) chore(v2): remove docs for alpha v66 ([@lex111](https://github.com/lex111))\\n - [#4077](https://github.com/facebook/docusaurus/pull/4077) chore(v2): fix unstable master yarn.lock ([@slorber](https://github.com/slorber))\\n - [#4063](https://github.com/facebook/docusaurus/pull/4063) chore(v2): Regen codesandbox templates + add template: \\"docusaurus\\" ([@slorber](https://github.com/slorber))\\n - [#4056](https://github.com/facebook/docusaurus/pull/4056) chore(v2): update codesandbox redirect ([@slorber](https://github.com/slorber))\\n - [#4041](https://github.com/facebook/docusaurus/pull/4041) chore(v1): revert v1 netlify.toml ([@slorber](https://github.com/slorber))\\n - [#4040](https://github.com/facebook/docusaurus/pull/4040) chore(v1): upgrade v1 Crowdin cli + CI config ([@slorber](https://github.com/slorber))\\n - [#4030](https://github.com/facebook/docusaurus/pull/4030) chore(v2): install Crowdin cli through npm package ([@slorber](https://github.com/slorber))\\n - [#4003](https://github.com/facebook/docusaurus/pull/4003) chore: add DevContainer config for GitHub codespaces ([@kumaraditya303](https://github.com/kumaraditya303))\\n - [#4001](https://github.com/facebook/docusaurus/pull/4001) chore(v2): Upgrade crowdin ([@slorber](https://github.com/slorber))\\n - [#3995](https://github.com/facebook/docusaurus/pull/3995) chore(v2): remove docs for alpha v65 ([@lex111](https://github.com/lex111))\\n - [#3960](https://github.com/facebook/docusaurus/pull/3960) fix(v2): remove duplicate section on Versions page ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#4370](https://github.com/facebook/docusaurus/pull/4370) chore(v2): update infima ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#4361](https://github.com/facebook/docusaurus/pull/4361) refactor(v2): remove duplicated lodash dependencies and import only what needed ([@armano2](https://github.com/armano2))\\n- `docusaurus-1.x`, `docusaurus`\\n - [#4270](https://github.com/facebook/docusaurus/pull/4270) chore(v2): upgrade react-dev-utils ([@yangshun](https://github.com/yangshun))\\n- `docusaurus-init`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-types`, `docusaurus`\\n - [#4264](https://github.com/facebook/docusaurus/pull/4264) chore(v2): bump/align deps in monorepo: commander, semver, fs-extra ([@Simek](https://github.com/Simek))\\n- `docusaurus`\\n - [#4265](https://github.com/facebook/docusaurus/pull/4265) chore(v2): PostCSS peer dep fix ([@RDIL](https://github.com/RDIL))\\n - [#4091](https://github.com/facebook/docusaurus/pull/4091) refactor(v2): Switch from inquirer to prompts ([@RDIL](https://github.com/RDIL))\\n - [#4066](https://github.com/facebook/docusaurus/pull/4066) chore(v2): Update a few dependencies ([@RDIL](https://github.com/RDIL))\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#4148](https://github.com/facebook/docusaurus/pull/4148) chore(v2): upgrade dependencies ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-pwa`\\n - [#4120](https://github.com/facebook/docusaurus/pull/4120) chore(v2): Update workbox to v6 ([@RDIL](https://github.com/RDIL))\\n- `docusaurus-utils`, `docusaurus`\\n - [#4081](https://github.com/facebook/docusaurus/pull/4081) chore(v2): Update webpack-related dependencies, pre-work to migrate to Webpack 5 ([@RDIL](https://github.com/RDIL))\\n- `docusaurus-init`, `docusaurus`\\n - [#4012](https://github.com/facebook/docusaurus/pull/4012) chore(v2): docusaurus-init: switch from inquirer to prompts ([@RDIL](https://github.com/RDIL))\\n- `docusaurus-plugin-sitemap`\\n - [#4005](https://github.com/facebook/docusaurus/pull/4005) chore(v2): prettier fixes ([@slorber](https://github.com/slorber))\\n- `docusaurus-migrate`\\n - [#3988](https://github.com/facebook/docusaurus/pull/3988) chore(v2): fix date-sensitive test fixture ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-utils`, `docusaurus`, `stylelint-copyright`\\n - [#3959](https://github.com/facebook/docusaurus/pull/3959) chore(v2): fix windows Jest tests ([@slorber](https://github.com/slorber))\\n\\n## :running: Performance\\n\\n- `docusaurus-cssnano-preset`, `docusaurus-plugin-content-blog`, `docusaurus`\\n - [#4355](https://github.com/facebook/docusaurus/pull/4355) perf(v2): improve blog mdx-loader and postcss loader ([@lex111](https://github.com/lex111))\\n\\n## Committers: 70\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Ali Saki ([@3alisaki](https://github.com/3alisaki))\\n- Andrew Taft ([@ataft](https://github.com/ataft))\\n- Ankur Kedia ([@theankurkedia](https://github.com/theankurkedia))\\n- Apurva Ojas ([@apurvaojas](https://github.com/apurvaojas))\\n- Armano ([@armano2](https://github.com/armano2))\\n- Arthur ([@ArtFlag](https://github.com/ArtFlag))\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- Ben ([@ben-qnimble](https://github.com/ben-qnimble))\\n- BennoDev ([@bennodev19](https://github.com/bennodev19))\\n- Bhargav Ponnapalli ([@imbhargav5](https://github.com/imbhargav5))\\n- Christian Bromann ([@christian-bromann](https://github.com/christian-bromann))\\n- David Barrat ([@dbrrt](https://github.com/dbrrt))\\n- Eduardo L\xe1zaro ([@edulazaro](https://github.com/edulazaro))\\n- Eric Carboni ([@eric-hc](https://github.com/eric-hc))\\n- Gr\xe9gory Heitz ([@edno](https://github.com/edno))\\n- Ivan Ru\u017Eevi\u0107 ([@iruzevic](https://github.com/iruzevic))\\n- Jessica Lin ([@jlin27](https://github.com/jlin27))\\n- Joel M ([@9oelM](https://github.com/9oelM))\\n- Joel Marcey ([@JoelMarcey](https://github.com/JoelMarcey))\\n- Jola ([@asystentka-jolka](https://github.com/asystentka-jolka))\\n- Juan Carlos Blanco Delgado ([@juancarlosjr97](https://github.com/juancarlosjr97))\\n- Kevin Viglucci ([@viglucci](https://github.com/viglucci))\\n- Kumar Aditya ([@kumaraditya303](https://github.com/kumaraditya303))\\n- Lisa Chandra ([@lisa761](https://github.com/lisa761))\\n- LittleboyHarry ([@LittleboyHarry](https://github.com/LittleboyHarry))\\n- Long Ho ([@longlho](https://github.com/longlho))\\n- Martin Ad\xe1mek ([@B4nan](https://github.com/B4nan))\\n- Massoud Maboudi ([@massoudmaboudi](https://github.com/massoudmaboudi))\\n- Matan Borenkraout ([@MatanBobi](https://github.com/MatanBobi))\\n- Matt Oestreich ([@oze4](https://github.com/oze4))\\n- Matteo Manzinello ([@manzinello](https://github.com/manzinello))\\n- Miroiu Emanuel ([@miroiu](https://github.com/miroiu))\\n- Mohd Shad Mirza ([@iamshadmirza](https://github.com/iamshadmirza))\\n- Nahiyan Kamal ([@ayonious](https://github.com/ayonious))\\n- Nathan Bosscher ([@ntbosscher](https://github.com/ntbosscher))\\n- Nico Jansen ([@nicojs](https://github.com/nicojs))\\n- Nikolay Samokhvalov ([@NikolayS](https://github.com/NikolayS))\\n- Pablo Vidal ([@limkinZero](https://github.com/limkinZero))\\n- Power Lin ([@linyuxuanlin](https://github.com/linyuxuanlin))\\n- Reece Dunham ([@RDIL](https://github.com/RDIL))\\n- Saihajpreet Singh ([@saihaj](https://github.com/saihaj))\\n- Sam Hrncir ([@samhrncir](https://github.com/samhrncir))\\n- Sam Sam ([@sksamuel](https://github.com/sksamuel))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- Sean Campbell ([@natac13](https://github.com/natac13))\\n- Sergio Moreno ([@semoal](https://github.com/semoal))\\n- Siemienik Pawel ([@Siemienik](https://github.com/Siemienik))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Theodore Chu ([@TheodoreChu](https://github.com/TheodoreChu))\\n- Tien Vo Xuan ([@tienvx](https://github.com/tienvx))\\n- Tomas Fernandez ([@tomsfernandez](https://github.com/tomsfernandez))\\n- Vamsi Krishna Reddy Satti ([@vamsi3](https://github.com/vamsi3))\\n- Welly ([@wellyshen](https://github.com/wellyshen))\\n- Yamagishi Kazutoshi ([@ykzts](https://github.com/ykzts))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- Yash Totale ([@YashTotale](https://github.com/YashTotale))\\n- Yuri Sulyma ([@ysulyma](https://github.com/ysulyma))\\n- Yuval Hazaz ([@yuval-hazaz](https://github.com/yuval-hazaz))\\n- [@MisterFISHUP](https://github.com/MisterFISHUP)\\n- [@aukokyong](https://github.com/aukokyong)\\n- [@philipp985](https://github.com/philipp985)\\n- [@roydukkey](https://github.com/roydukkey)\\n- [@sammychinedu2ky](https://github.com/sammychinedu2ky)\\n- [@saydo17](https://github.com/saydo17)\\n- [@tokarchyn](https://github.com/tokarchyn)\\n- [@wolf20482](https://github.com/wolf20482)\\n- moonrailgun ([@moonrailgun](https://github.com/moonrailgun))\\n- \xc7a\u011Flar Tural\u0131 ([@caglarturali](https://github.com/caglarturali))\\n- \u741A\u81F4\u8FDC ([@juzhiyuan](https://github.com/juzhiyuan))"},{"id":"/2.0.0-alpha.70","metadata":{"permalink":"/changelog/2.0.0-alpha.70","source":"@site/changelog/source/2.0.0-alpha.70.md","title":"2.0.0-alpha.70","description":"New Feature","date":"2020-12-17T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Aar\xf3n Garc\xeda Herv\xe1s","alias":"aarongarciah","url":"https://github.com/aarongarciah","imageURL":"https://github.com/aarongarciah.png","key":"aarongarciah","page":null},{"name":"hackerman","alias":"aeneasr","url":"https://github.com/aeneasr","imageURL":"https://github.com/aeneasr.png","key":"aeneasr","page":null},{"name":"Alex1304","alias":"Alex1304","url":"https://github.com/Alex1304","imageURL":"https://github.com/Alex1304.png","key":"Alex1304","page":null},{"name":"Arthur","alias":"ArtFlag","url":"https://github.com/ArtFlag","imageURL":"https://github.com/ArtFlag.png","key":"ArtFlag","page":null},{"name":"borool","alias":"borool","url":"https://github.com/borool","imageURL":"https://github.com/borool.png","key":"borool","page":null},{"name":"Cindy Gu","alias":"cindygu4","url":"https://github.com/cindygu4","imageURL":"https://github.com/cindygu4.png","key":"cindygu4","page":null},{"name":"davidmauskop","alias":"davidmauskop","url":"https://github.com/davidmauskop","imageURL":"https://github.com/davidmauskop.png","key":"davidmauskop","page":null},{"name":"Derric Gilling","alias":"dgilling","url":"https://github.com/dgilling","imageURL":"https://github.com/dgilling.png","key":"dgilling","page":null},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},{"name":"Hadrien Milano","alias":"hmil","url":"https://github.com/hmil","imageURL":"https://github.com/hmil.png","key":"hmil","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lo\xefc Poullain","alias":"LoicPoullain","url":"https://github.com/LoicPoullain","imageURL":"https://github.com/LoicPoullain.png","key":"LoicPoullain","page":null},{"name":"Matteo Manzinello","alias":"manzinello","url":"https://github.com/manzinello","imageURL":"https://github.com/manzinello.png","key":"manzinello","page":null},{"name":"Matija Sosic","alias":"matijaSos","url":"https://github.com/matijaSos","imageURL":"https://github.com/matijaSos.png","key":"matijaSos","page":null},{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},{"name":"Oliver Ullman","alias":"oriooctopus","url":"https://github.com/oriooctopus","imageURL":"https://github.com/oriooctopus.png","key":"oriooctopus","page":null},{"name":"Rami","alias":"Romstar","url":"https://github.com/Romstar","imageURL":"https://github.com/Romstar.png","key":"Romstar","page":null},{"name":"Sarthak kundra","alias":"sarthakkundra","url":"https://github.com/sarthakkundra","imageURL":"https://github.com/sarthakkundra.png","key":"sarthakkundra","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"Kaartic Sivaraam","alias":"sivaraam","url":"https://github.com/sivaraam","imageURL":"https://github.com/sivaraam.png","key":"sivaraam","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Varshit Shah","alias":"Varshit07","url":"https://github.com/Varshit07","imageURL":"https://github.com/Varshit07.png","key":"Varshit07","page":null},{"name":"Stephen Woodruff","alias":"woodrufs","url":"https://github.com/woodrufs","imageURL":"https://github.com/woodrufs.png","key":"woodrufs","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-12-17T20:00","authors":["aarongarciah","aeneasr","Alex1304","ArtFlag","borool","cindygu4","davidmauskop","dgilling","francoischalifour","hmil","lex111","LoicPoullain","manzinello","matijaSos","mpsq","oriooctopus","Romstar","sarthakkundra","Simek","sivaraam","slorber","Varshit07","woodrufs"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.71","permalink":"/changelog/2.0.0-alpha.71"},"nextItem":{"title":"2.0.0-alpha.69","permalink":"/changelog/2.0.0-alpha.69"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus`\\n - [#3932](https://github.com/facebook/docusaurus/pull/3932) feat(v2): Add Root theme element ([@slorber](https://github.com/slorber))\\n- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#3916](https://github.com/facebook/docusaurus/pull/3916) feat(v2): Add localeDropdown navbar item type + i18n localeConfigs field ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-types`\\n - [#3904](https://github.com/facebook/docusaurus/pull/3904) feat(v2): inline table-of-contents + refactor TOC ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`\\n - [#3888](https://github.com/facebook/docusaurus/pull/3888) feat(v2): add custom props for consumption by swizzled sidebar ([@oriooctopus](https://github.com/oriooctopus))\\n- `docusaurus-plugin-content-blog`\\n - [#3842](https://github.com/facebook/docusaurus/pull/3842) feat(v2): enable feeds by default in blog plugin ([@cindygu4](https://github.com/cindygu4))\\n- Other\\n - [#3827](https://github.com/facebook/docusaurus/pull/3827) feat(v2): add automated canary releases ([@slorber](https://github.com/slorber))\\n - [#3761](https://github.com/facebook/docusaurus/pull/3761) feat(v2): Added Lighthouse CI to PR checks ([@sarthakkundra](https://github.com/sarthakkundra))\\n- `docusaurus-1.x`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#3325](https://github.com/facebook/docusaurus/pull/3325) feat(v2): core v2 i18n support + Docusaurus site Crowdin integration ([@slorber](https://github.com/slorber))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-types`\\n - [#3904](https://github.com/facebook/docusaurus/pull/3904) feat(v2): inline table-of-contents + refactor TOC ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`\\n - [#3842](https://github.com/facebook/docusaurus/pull/3842) feat(v2): enable feeds by default in blog plugin ([@cindygu4](https://github.com/cindygu4))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#3922](https://github.com/facebook/docusaurus/pull/3922) fix(v2): fix navbar items issue on Windows? ([@slorber](https://github.com/slorber))\\n - [#3920](https://github.com/facebook/docusaurus/pull/3920) fix(v2): i18n translation extractor should handle JSX formatting edge cases better ([@slorber](https://github.com/slorber))\\n - [#3896](https://github.com/facebook/docusaurus/pull/3896) fix(v2): do not treat at-rules during CSS minification ([@lex111](https://github.com/lex111))\\n - [#3869](https://github.com/facebook/docusaurus/pull/3869) fix(v2): load plugin commands async to fix broken plugin CLI commands `docs:version` ([@aeneasr](https://github.com/aeneasr))\\n- `docusaurus-theme-classic`\\n - [#3921](https://github.com/facebook/docusaurus/pull/3921) fix(v2): remove useless console log ([@slorber](https://github.com/slorber))\\n - [#3895](https://github.com/facebook/docusaurus/pull/3895) fix(v2): use proper element for pagination nav label ([@lex111](https://github.com/lex111))\\n - [#3882](https://github.com/facebook/docusaurus/pull/3882) fix(v2): improve Footer structure, add class names, use Infima transition ([@Simek](https://github.com/Simek))\\n - [#3877](https://github.com/facebook/docusaurus/pull/3877) fix(v2): dynamic dark mode detection without toggle widget ([@hmil](https://github.com/hmil))\\n - [#3854](https://github.com/facebook/docusaurus/pull/3854) fix(v2): refactor icons in theme-classic, fix swizzle issue ([@Simek](https://github.com/Simek))\\n - [#3823](https://github.com/facebook/docusaurus/pull/3823) fix(v2): support rendering of singular tabs ([@aeneasr](https://github.com/aeneasr))\\n - [#3817](https://github.com/facebook/docusaurus/pull/3817) fix(v2): Allow footer logo at attribute to be empty ([@aarongarciah](https://github.com/aarongarciah))\\n- `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`\\n - [#3900](https://github.com/facebook/docusaurus/pull/3900) fix(v2): correct typo in metas generated for Twitter cards ([@mpsq](https://github.com/mpsq))\\n- Other\\n - [#3872](https://github.com/facebook/docusaurus/pull/3872) chore: add missing v1 generated files to ignores ([@Simek](https://github.com/Simek))\\n - [#3833](https://github.com/facebook/docusaurus/pull/3833) fix(v2): temporary: disable crowdin until PR env variable permission fixed ([@slorber](https://github.com/slorber))\\n- `stylelint-copyright`\\n - [#3852](https://github.com/facebook/docusaurus/pull/3852) fix(v2): to fix the canary release GH workflow ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-search-algolia`\\n - [#3853](https://github.com/facebook/docusaurus/pull/3853) fix(v2): fix DocSearch keyboard navigator ([@francoischalifour](https://github.com/francoischalifour))\\n - [#3837](https://github.com/facebook/docusaurus/pull/3837) fix(v2): update SearchPage styling, fix appearance in dark mode ([@Simek](https://github.com/Simek))\\n - [#3828](https://github.com/facebook/docusaurus/pull/3828) fix(v2): restore Algolia search ([@lex111](https://github.com/lex111))\\n - [#3819](https://github.com/facebook/docusaurus/pull/3819) feat(search): update DocSearch to alpha.31 ([@francoischalifour](https://github.com/francoischalifour))\\n- `docusaurus-plugin-content-docs`\\n - [#3839](https://github.com/facebook/docusaurus/pull/3839) fix(v2): remove unnecessary backtick in output ([@sivaraam](https://github.com/sivaraam))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#3829](https://github.com/facebook/docusaurus/pull/3829) fix(v2): fix search ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus`\\n - [#3824](https://github.com/facebook/docusaurus/pull/3824) fix(v2): update notifier dist tag ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus`\\n - [#3880](https://github.com/facebook/docusaurus/pull/3880) polish(v2): improve docusaurus deploy logs ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- [#3931](https://github.com/facebook/docusaurus/pull/3931) docs(v2): blog.md with docs: false, for blog-only mode ([@Romstar](https://github.com/Romstar))\\n- [#3924](https://github.com/facebook/docusaurus/pull/3924) docs(v2): Removed unnecessary closing parenthesis ([@Varshit07](https://github.com/Varshit07))\\n- [#3928](https://github.com/facebook/docusaurus/pull/3928) docs(v2): add FoalTS to showcase page ([@LoicPoullain](https://github.com/LoicPoullain))\\n- [#3899](https://github.com/facebook/docusaurus/pull/3899) docs(v2): Move sidebar content to its own page ([@ArtFlag](https://github.com/ArtFlag))\\n- [#3856](https://github.com/facebook/docusaurus/pull/3856) docs(v2): typo ([@borool](https://github.com/borool))\\n- [#3891](https://github.com/facebook/docusaurus/pull/3891) docs(v2): Wrap section about custom domains in :::info ([@Alex1304](https://github.com/Alex1304))\\n- [#3871](https://github.com/facebook/docusaurus/pull/3871) docs(v2): missing `<ColorGenerator/>` mdx import ([@slorber](https://github.com/slorber))\\n- [#3873](https://github.com/facebook/docusaurus/pull/3873) docs(v2): From docusaurus-migrate to @docusaurus/migrate ([@manzinello](https://github.com/manzinello))\\n- [#3867](https://github.com/facebook/docusaurus/pull/3867) docs(v2): Add docusaurus-plugin-moesif to community plugins ([@dgilling](https://github.com/dgilling))\\n- [#3851](https://github.com/facebook/docusaurus/pull/3851) docs(v2): Fixed Typo: Hided => Hidden ([@woodrufs](https://github.com/woodrufs))\\n- [#3832](https://github.com/facebook/docusaurus/pull/3832) docs(v2): Add wasp to showcase ([@matijaSos](https://github.com/matijaSos))\\n- [#3813](https://github.com/facebook/docusaurus/pull/3813) docs(v2): render deployment doc ([@davidmauskop](https://github.com/davidmauskop))\\n- [#3835](https://github.com/facebook/docusaurus/pull/3835) docs(v2): update Client API docs page ([@Simek](https://github.com/Simek))\\n- [#3831](https://github.com/facebook/docusaurus/pull/3831) docs(v2): Docs refactoring and reorganization ([@slorber](https://github.com/slorber))\\n\\n## :house: Internal\\n\\n- Other\\n - [#3912](https://github.com/facebook/docusaurus/pull/3912) chore(v2): remove docs for alpha v64 ([@lex111](https://github.com/lex111))\\n - [#3907](https://github.com/facebook/docusaurus/pull/3907) chore(ci): fix canary release filtering ([@slorber](https://github.com/slorber))\\n - [#3902](https://github.com/facebook/docusaurus/pull/3902) chore(deps): bump ini from 1.3.5 to 1.3.7 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#3884](https://github.com/facebook/docusaurus/pull/3884) chore(ci): increase Lighthouse CI max_timeout ([@Simek](https://github.com/Simek))\\n - [#3883](https://github.com/facebook/docusaurus/pull/3883) chore(v2): remove docs for alpha v62-63 ([@lex111](https://github.com/lex111))\\n - [#3863](https://github.com/facebook/docusaurus/pull/3863) chore(ci): run V1 Build and Migration CLI tests conditionally on CI ([@Simek](https://github.com/Simek))\\n - [#3861](https://github.com/facebook/docusaurus/pull/3861) chore(ci): reduce number of jobs, remove build from lighthouse pipeline ([@Simek](https://github.com/Simek))\\n - [#3860](https://github.com/facebook/docusaurus/pull/3860) chore: add Yarn v2 cache directory to ignores ([@Simek](https://github.com/Simek))\\n - [#3858](https://github.com/facebook/docusaurus/pull/3858) chore(v2): disable Crowdin for deploy previews ([@slorber](https://github.com/slorber))\\n - [#3857](https://github.com/facebook/docusaurus/pull/3857) fix(v2): fix Crowdin ci commands ([@slorber](https://github.com/slorber))\\n - [#3849](https://github.com/facebook/docusaurus/pull/3849) chore(ci): CI scripts cleanup, add Node 14 runs, bump checkout action ([@Simek](https://github.com/Simek))\\n - [#3850](https://github.com/facebook/docusaurus/pull/3850) chore(v2): i18n CI: add write-translations call ([@slorber](https://github.com/slorber))\\n - [#3848](https://github.com/facebook/docusaurus/pull/3848) chore(v2): fix CI typo ([@slorber](https://github.com/slorber))\\n - [#3847](https://github.com/facebook/docusaurus/pull/3847) chore(v2): wire production Crowdin project + setup ([@slorber](https://github.com/slorber))\\n - [#3846](https://github.com/facebook/docusaurus/pull/3846) chore(v2): fix PRs not able to add lighthouse/buildsize comment from works ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`\\n - [#3865](https://github.com/facebook/docusaurus/pull/3865) chore(v2): fix ignore paths and Prettier commands in themes ([@Simek](https://github.com/Simek))\\n- `docusaurus-cssnano-preset`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`\\n - [#3844](https://github.com/facebook/docusaurus/pull/3844) chore(v2): fix several lint warnings, add missing types, cleanup ([@Simek](https://github.com/Simek))\\n- `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`\\n - [#3838](https://github.com/facebook/docusaurus/pull/3838) refactor(v2): extract site title formatter to theme-common util ([@Simek](https://github.com/Simek))\\n\\n## Committers: 23\\n\\n- Aar\xf3n Garc\xeda Herv\xe1s ([@aarongarciah](https://github.com/aarongarciah))\\n- Alex1304 ([@Alex1304](https://github.com/Alex1304))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Arthur ([@ArtFlag](https://github.com/ArtFlag))\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- Cindy Gu ([@cindygu4](https://github.com/cindygu4))\\n- Derric Gilling ([@dgilling](https://github.com/dgilling))\\n- Fran\xe7ois Chalifour ([@francoischalifour](https://github.com/francoischalifour))\\n- Hadrien Milano ([@hmil](https://github.com/hmil))\\n- Kaartic Sivaraam ([@sivaraam](https://github.com/sivaraam))\\n- Lo\xefc Poullain ([@LoicPoullain](https://github.com/LoicPoullain))\\n- Matija Sosic ([@matijaSos](https://github.com/matijaSos))\\n- Matteo Manzinello ([@manzinello](https://github.com/manzinello))\\n- M\xe9ril ([@mpsq](https://github.com/mpsq))\\n- Oliver Ullman ([@oriooctopus](https://github.com/oriooctopus))\\n- Rami ([@Romstar](https://github.com/Romstar))\\n- Sarthak kundra ([@sarthakkundra](https://github.com/sarthakkundra))\\n- Stephen Woodruff ([@woodrufs](https://github.com/woodrufs))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Varshit Shah ([@Varshit07](https://github.com/Varshit07))\\n- [@borool](https://github.com/borool)\\n- [@davidmauskop](https://github.com/davidmauskop)\\n- hackerman ([@aeneasr](https://github.com/aeneasr))"},{"id":"/2.0.0-alpha.69","metadata":{"permalink":"/changelog/2.0.0-alpha.69","source":"@site/changelog/source/2.0.0-alpha.69.md","title":"2.0.0-alpha.69","description":"New Feature","date":"2020-11-24T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ma\xebl Nison","alias":"arcanis","url":"https://github.com/arcanis","imageURL":"https://github.com/arcanis.png","key":"arcanis","page":null},{"name":"camiluc","alias":"camiluc","url":"https://github.com/camiluc","imageURL":"https://github.com/camiluc.png","key":"camiluc","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-11-24T20:00","authors":["arcanis","camiluc","lex111","Simek","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.70","permalink":"/changelog/2.0.0-alpha.70"},"nextItem":{"title":"2.0.0-alpha.68","permalink":"/changelog/2.0.0-alpha.68"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-types`, `docusaurus`\\n - [#3802](https://github.com/facebook/docusaurus/pull/3802) feat(v2): add baseUrlIssueBanner configuration to disable banner ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#3807](https://github.com/facebook/docusaurus/pull/3807) chore(v2): upgrade Infima to v0.2.0-alpha.18 ([@lex111](https://github.com/lex111))\\n - [#3806](https://github.com/facebook/docusaurus/pull/3806) fix(v2): remove aria-hidden attr from anchor link of heading ([@lex111](https://github.com/lex111))\\n - [#3784](https://github.com/facebook/docusaurus/pull/3784) fix(v2): fix missing logo in dark theme when darkSrc was not set ([@Simek](https://github.com/Simek))\\n- `docusaurus-theme-search-algolia`\\n - [#3804](https://github.com/facebook/docusaurus/pull/3804) fix(v2): Algolia: allow contextualSearch + facetFilters ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#3796](https://github.com/facebook/docusaurus/pull/3796) Adds createRequire for preset resolution ([@arcanis](https://github.com/arcanis))\\n\\n## :memo: Documentation\\n\\n- [#3803](https://github.com/facebook/docusaurus/pull/3803) docs(v2): fix docusaurus init issue when not using @latest ([@slorber](https://github.com/slorber))\\n- [#3785](https://github.com/facebook/docusaurus/pull/3785) docs(v2): recommend Docusaurus 2 usage ([@slorber](https://github.com/slorber))\\n- [#3783](https://github.com/facebook/docusaurus/pull/3783) docs(v2): remove @next tags needed to install v2 packages ([@slorber](https://github.com/slorber))\\n- [#3781](https://github.com/facebook/docusaurus/pull/3781) docs(v2): rename zeit to vercel ([@camiluc](https://github.com/camiluc))\\n\\n## :house: Internal\\n\\n- [#3800](https://github.com/facebook/docusaurus/pull/3800) chore(v2): remove useless stylelint-copyright peerDependency ([@slorber](https://github.com/slorber))\\n- [#3786](https://github.com/facebook/docusaurus/pull/3786) chore(v2): ensure publishConfig.access presence with tests ([@slorber](https://github.com/slorber))\\n\\n## Committers: 5\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- Ma\xebl Nison ([@arcanis](https://github.com/arcanis))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- [@camiluc](https://github.com/camiluc)"},{"id":"/2.0.0-alpha.68","metadata":{"permalink":"/changelog/2.0.0-alpha.68","source":"@site/changelog/source/2.0.0-alpha.68.md","title":"2.0.0-alpha.68","description":"New Feature","date":"2020-11-18T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"iAmir","alias":"AmyrAhmady","url":"https://github.com/AmyrAhmady","imageURL":"https://github.com/AmyrAhmady.png","key":"AmyrAhmady","page":null},{"name":"Artem Kovalov","alias":"artemkovalyov","url":"https://github.com/artemkovalyov","imageURL":"https://github.com/artemkovalyov.png","key":"artemkovalyov","page":null},{"name":"Beno\xeet Lemaire","alias":"belemaire","url":"https://github.com/belemaire","imageURL":"https://github.com/belemaire.png","key":"belemaire","page":null},{"name":"Charles Korn","alias":"charleskorn","url":"https://github.com/charleskorn","imageURL":"https://github.com/charleskorn.png","key":"charleskorn","page":null},{"name":"David Goss","alias":"davidjgoss","url":"https://github.com/davidjgoss","imageURL":"https://github.com/davidjgoss.png","key":"davidjgoss","page":null},{"name":"Bright Egbo","alias":"egbobright","url":"https://github.com/egbobright","imageURL":"https://github.com/egbobright.png","key":"egbobright","page":null},{"name":"Hai","alias":"haivp3010","url":"https://github.com/haivp3010","imageURL":"https://github.com/haivp3010.png","key":"haivp3010","page":null},{"name":"Anh Hong","alias":"hong4rc","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png","key":"hong4rc","page":null},{"name":"Jainam Chirag Shah","alias":"jcs98","url":"https://github.com/jcs98","imageURL":"https://github.com/jcs98.png","key":"jcs98","page":null},{"name":"\u741A\u81F4\u8FDC","alias":"juzhiyuan","url":"https://github.com/juzhiyuan","imageURL":"https://github.com/juzhiyuan.png","key":"juzhiyuan","page":null},{"name":"Roman Bug","alias":"ka1bi4","url":"https://github.com/ka1bi4","imageURL":"https://github.com/ka1bi4.png","key":"ka1bi4","page":null},{"name":"kenve","alias":"kenve","url":"https://github.com/kenve","imageURL":"https://github.com/kenve.png","key":"kenve","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Nate Giraudeau","alias":"nategiraudeau","url":"https://github.com/nategiraudeau","imageURL":"https://github.com/nategiraudeau.png","key":"nategiraudeau","page":null},{"name":"Nico Domino","alias":"ndom91","url":"https://github.com/ndom91","imageURL":"https://github.com/ndom91.png","key":"ndom91","page":null},{"name":"Rhys Arkins","alias":"rarkins","url":"https://github.com/rarkins","imageURL":"https://github.com/rarkins.png","key":"rarkins","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"sammychinedu2ky","alias":"sammychinedu2ky","url":"https://github.com/sammychinedu2ky","imageURL":"https://github.com/sammychinedu2ky.png","key":"sammychinedu2ky","page":null},{"name":"Gergely Sinka","alias":"sigewuzhere","url":"https://github.com/sigewuzhere","imageURL":"https://github.com/sigewuzhere.png","key":"sigewuzhere","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Stephen McElhinney","alias":"smcelhinney","url":"https://github.com/smcelhinney","imageURL":"https://github.com/smcelhinney.png","key":"smcelhinney","page":null},{"name":"Thakur Karthik","alias":"ThakurKarthik","url":"https://github.com/ThakurKarthik","imageURL":"https://github.com/ThakurKarthik.png","key":"ThakurKarthik","page":null},{"name":"Marc Rabat Pla","alias":"vanbasten17","url":"https://github.com/vanbasten17","imageURL":"https://github.com/vanbasten17.png","key":"vanbasten17","page":null},{"name":"Shenwei Wang","alias":"weareoutman","url":"https://github.com/weareoutman","imageURL":"https://github.com/weareoutman.png","key":"weareoutman","page":null},{"name":"ylemkimon","alias":"ylemkimon","url":"https://github.com/ylemkimon","imageURL":"https://github.com/ylemkimon.png","key":"ylemkimon","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-11-18T20:00","authors":["AmyrAhmady","artemkovalyov","belemaire","charleskorn","davidjgoss","egbobright","haivp3010","hong4rc","jcs98","juzhiyuan","ka1bi4","kenve","lex111","nategiraudeau","ndom91","rarkins","SamChou19815","sammychinedu2ky","sigewuzhere","Simek","slorber","smcelhinney","ThakurKarthik","vanbasten17","weareoutman","ylemkimon"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.69","permalink":"/changelog/2.0.0-alpha.69"},"nextItem":{"title":"2.0.0-alpha.67","permalink":"/changelog/2.0.0-alpha.67"},"listPageLink":"/changelog/page/3"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- Other\\n - [#3717](https://github.com/facebook/docusaurus/pull/3717) feat(v2): official CodeSandbox support ([@sammychinedu2ky](https://github.com/sammychinedu2ky))\\n- `docusaurus-init`\\n - [#3729](https://github.com/facebook/docusaurus/pull/3729) feat(v2): allow init project via npm ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`\\n - [#3730](https://github.com/facebook/docusaurus/pull/3730) feat(v2): add ThemedImage component ([@Simek](https://github.com/Simek))\\n- `docusaurus-cssnano-preset`, `docusaurus-theme-classic`, `docusaurus`\\n - [#3716](https://github.com/facebook/docusaurus/pull/3716) feat(v2): introduce new minification of CSS bundle ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#3694](https://github.com/facebook/docusaurus/pull/3694) feat(v2): Added the ability to specify GIT_PASS in deploy command (for CI purposes) ([@smcelhinney](https://github.com/smcelhinney))\\n - [#3621](https://github.com/facebook/docusaurus/pull/3621) feat(v2): baseUrl config issues: show help message if css/js can\'t load ([@jcs98](https://github.com/jcs98))\\n - [#3594](https://github.com/facebook/docusaurus/pull/3594) feat(v2): add support for key,cert in https ([@ThakurKarthik](https://github.com/ThakurKarthik))\\n- `docusaurus-remark-plugin-npm2yarn`\\n - [#3705](https://github.com/facebook/docusaurus/pull/3705) feat(v2): add support for sync to npm2yarn tabs ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`, `docusaurus-migrate`, `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#3658](https://github.com/facebook/docusaurus/pull/3658) feat(v2): onBrokenMarkdownLinks config ([@AmyrAhmady](https://github.com/AmyrAhmady))\\n- `docusaurus-theme-classic`\\n - [#3640](https://github.com/facebook/docusaurus/pull/3640) feat(v2): add skip to content link ([@lex111](https://github.com/lex111))\\n - [#3615](https://github.com/facebook/docusaurus/pull/3615) feat(v2): add ability to hide doc sidebar ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#3749](https://github.com/facebook/docusaurus/pull/3749) fix(v2): add support for interleaving Markdown in code blocks ([@lex111](https://github.com/lex111))\\n - [#3739](https://github.com/facebook/docusaurus/pull/3739) fix(v2): add support for prefers-reduced-motion in hideable sidebar ([@lex111](https://github.com/lex111))\\n - [#3726](https://github.com/facebook/docusaurus/pull/3726) fix(v2): add thin scrollbar to proper element in TOC ([@lex111](https://github.com/lex111))\\n - [#3681](https://github.com/facebook/docusaurus/pull/3681) Revert \\"refactor(v2): improve regex matching code-block title\\" ([@lex111](https://github.com/lex111))\\n - [#3662](https://github.com/facebook/docusaurus/pull/3662) fix(v2): navbar dropdown crash when item.to is undefined ([@artemkovalyov](https://github.com/artemkovalyov))\\n - [#3669](https://github.com/facebook/docusaurus/pull/3669) fix(v2): make scrollbar styles consistent ([@nategiraudeau](https://github.com/nategiraudeau))\\n - [#3666](https://github.com/facebook/docusaurus/pull/3666) fix(v2): make optional title for footer links column ([@lex111](https://github.com/lex111))\\n - [#3647](https://github.com/facebook/docusaurus/pull/3647) fix(v2): do not set height for mobile dropdown during build ([@lex111](https://github.com/lex111))\\n - [#3650](https://github.com/facebook/docusaurus/pull/3650) fix(v2): add landmark for skip to content link ([@lex111](https://github.com/lex111))\\n - [#3627](https://github.com/facebook/docusaurus/pull/3627) fix(v2): disable tabbing on hidden doc sidebar ([@lex111](https://github.com/lex111))\\n - [#3637](https://github.com/facebook/docusaurus/pull/3637) fix(v2): wrap code blocks on print ([@haivp3010](https://github.com/haivp3010))\\n - [#3603](https://github.com/facebook/docusaurus/pull/3603) fix(v2): animate dropdown properly ([@lex111](https://github.com/lex111))\\n - [#3611](https://github.com/facebook/docusaurus/pull/3611) fix(v2): Added back support for optional logo field in theme-classic navbarConfig ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#3763](https://github.com/facebook/docusaurus/pull/3763) refactor(v2): various markup improvements ([@lex111](https://github.com/lex111))\\n - [#3724](https://github.com/facebook/docusaurus/pull/3724) fix(v2): add support for non-ASCII chars in anchor link scroll ([@lex111](https://github.com/lex111))\\n- `docusaurus-module-type-aliases`, `docusaurus`\\n - [#3723](https://github.com/facebook/docusaurus/pull/3723) fix(v2): restore prefetch functionality ([@lex111](https://github.com/lex111))\\n- Other\\n - [#3760](https://github.com/facebook/docusaurus/pull/3760) fix(v2): codesandbox generated examples should use published init package ([@slorber](https://github.com/slorber))\\n - [#3701](https://github.com/facebook/docusaurus/pull/3701) fix(v2): limit images height on showcase page ([@lex111](https://github.com/lex111))\\n- `docusaurus-mdx-loader`\\n - [#3757](https://github.com/facebook/docusaurus/pull/3757) fix(v2): escape alt text in img tag ([@lex111](https://github.com/lex111))\\n - [#3653](https://github.com/facebook/docusaurus/pull/3653) fix(v2): handle multiple asset links in one line properly ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-search-algolia`, `docusaurus-utils`\\n - [#3721](https://github.com/facebook/docusaurus/pull/3721) fix(v2): use swizzled SearchPage component if any ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#3725](https://github.com/facebook/docusaurus/pull/3725) fix(v2): fix inconsistent error output in swizzle command ([@lex111](https://github.com/lex111))\\n - [#3704](https://github.com/facebook/docusaurus/pull/3704) refactor(v2): allow adding plugins depending on condition ([@lex111](https://github.com/lex111))\\n - [#3691](https://github.com/facebook/docusaurus/pull/3691) fix(v2): use SVGO in webpack SVGR loader ([@charleskorn](https://github.com/charleskorn))\\n - [#3667](https://github.com/facebook/docusaurus/pull/3667) fix(v2): Fix typo in BaseUrlSuggestionWarning ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-utils`\\n - [#3703](https://github.com/facebook/docusaurus/pull/3703) fix(v2): ignore export declarations in excerpt ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-search-algolia`\\n - [#3639](https://github.com/facebook/docusaurus/pull/3639) fix(v2): restore infinite scroll pagination on search page ([@lex111](https://github.com/lex111))\\n- `docusaurus-types`, `docusaurus`\\n - [#3622](https://github.com/facebook/docusaurus/pull/3622) fix(v2): docusaurus start --poll 500 should work + better config load failure error ([@slorber](https://github.com/slorber))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus`\\n - [#3765](https://github.com/facebook/docusaurus/pull/3765) chore(v2): replace wait-file with wait-on to reduce npm warnings ([@lex111](https://github.com/lex111))\\n - [#3725](https://github.com/facebook/docusaurus/pull/3725) fix(v2): fix inconsistent error output in swizzle command ([@lex111](https://github.com/lex111))\\n - [#3609](https://github.com/facebook/docusaurus/pull/3609) refactor(v2): Improve SSR error message: log page path ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#3764](https://github.com/facebook/docusaurus/pull/3764) refactor(v2): make accessible anchor links from keyboard ([@lex111](https://github.com/lex111))\\n - [#3745](https://github.com/facebook/docusaurus/pull/3745) refactor(v2): introduce Logo component, remove useLogo hook ([@Simek](https://github.com/Simek))\\n - [#3706](https://github.com/facebook/docusaurus/pull/3706) refactor(v2): render all tab panels at once ([@lex111](https://github.com/lex111))\\n - [#3712](https://github.com/facebook/docusaurus/pull/3712) chore(v2): upgrade Infima to v0.2.0-alpha.15 ([@lex111](https://github.com/lex111))\\n - [#3685](https://github.com/facebook/docusaurus/pull/3685) refactor(v2): improve regex matching code-block title ([@hong4rc](https://github.com/hong4rc))\\n - [#3674](https://github.com/facebook/docusaurus/pull/3674) feat(v2): add additional wrapper class to blog pages ([@Simek](https://github.com/Simek))\\n - [#3671](https://github.com/facebook/docusaurus/pull/3671) refactor(v2): improve regex matching code-block title ([@hong4rc](https://github.com/hong4rc))\\n - [#3654](https://github.com/facebook/docusaurus/pull/3654) refactor(v2): clean up code blocks ([@lex111](https://github.com/lex111))\\n - [#3649](https://github.com/facebook/docusaurus/pull/3649) refactor(v2): make code blocks scrollable from keyboard ([@lex111](https://github.com/lex111))\\n - [#3626](https://github.com/facebook/docusaurus/pull/3626) refactor(v2): remove focus outline from mouse users ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`\\n - [#3709](https://github.com/facebook/docusaurus/pull/3709) chore(v2): adjust website npm package ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#3707](https://github.com/facebook/docusaurus/pull/3707) chore(v2): upgrade Infima to v0.2.0-alpha.14 ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus`\\n - [#3638](https://github.com/facebook/docusaurus/pull/3638) chore(v2): migrate hapi/joi to joi ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-search-algolia`\\n - [#3604](https://github.com/facebook/docusaurus/pull/3604) refactor(v2): use new way to get versions for search page ([@lex111](https://github.com/lex111))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#3762](https://github.com/facebook/docusaurus/pull/3762) Adding ConfigCat to showcase ([@sigewuzhere](https://github.com/sigewuzhere))\\n - [#3750](https://github.com/facebook/docusaurus/pull/3750) docs(v2): add npm2yarn to typescript install command ([@davidjgoss](https://github.com/davidjgoss))\\n - [#3743](https://github.com/facebook/docusaurus/pull/3743) docs(v2): convert teams page to MDX ([@slorber](https://github.com/slorber))\\n - [#3737](https://github.com/facebook/docusaurus/pull/3737) docs(v2): add Inline SVG color override example ([@Simek](https://github.com/Simek))\\n - [#3718](https://github.com/facebook/docusaurus/pull/3718) docs(v2): showcase Botonic ([@vanbasten17](https://github.com/vanbasten17))\\n - [#3696](https://github.com/facebook/docusaurus/pull/3696) docs(v2): normalize showcase preview images height ([@Simek](https://github.com/Simek))\\n - [#3699](https://github.com/facebook/docusaurus/pull/3699) docs(v2): deployment should use mdx extension ([@slorber](https://github.com/slorber))\\n - [#3695](https://github.com/facebook/docusaurus/pull/3695) docs(v2): add React Native website to the showcase ([@Simek](https://github.com/Simek))\\n - [#3645](https://github.com/facebook/docusaurus/pull/3645) Update Docusaurus v2 Showcase ([@ndom91](https://github.com/ndom91))\\n - [#3644](https://github.com/facebook/docusaurus/pull/3644) docs(v2): update the link of joi ([@kenve](https://github.com/kenve))\\n - [#3636](https://github.com/facebook/docusaurus/pull/3636) docs(v2): fix some misspellings ([@ka1bi4](https://github.com/ka1bi4))\\n - [#3630](https://github.com/facebook/docusaurus/pull/3630) docs: remove runme ([@juzhiyuan](https://github.com/juzhiyuan))\\n- `docusaurus-remark-plugin-npm2yarn`\\n - [#3624](https://github.com/facebook/docusaurus/pull/3624) Fix typo in remark-plugin-npm2yarn documentation ([@belemaire](https://github.com/belemaire))\\n\\n## :house: Internal\\n\\n- Other\\n - [#3769](https://github.com/facebook/docusaurus/pull/3769) docs(v2): fix statements background, update footer background ([@Simek](https://github.com/Simek))\\n - [#3744](https://github.com/facebook/docusaurus/pull/3744) chore(v2): add build size bot workflow GitHub CI workflow ([@jcs98](https://github.com/jcs98))\\n - [#3741](https://github.com/facebook/docusaurus/pull/3741) chore: update yarn lock again ([@slorber](https://github.com/slorber))\\n - [#3740](https://github.com/facebook/docusaurus/pull/3740) chore: update yarn lock ([@slorber](https://github.com/slorber))\\n - [#3738](https://github.com/facebook/docusaurus/pull/3738) chore(internal): add yarn deduplicate script, cleanup lock ([@Simek](https://github.com/Simek))\\n - [#3732](https://github.com/facebook/docusaurus/pull/3732) fix(internal): fix clear script from the main package.json ([@Simek](https://github.com/Simek))\\n - [#3708](https://github.com/facebook/docusaurus/pull/3708) chore(v2): remove docs for alpha v60-61 ([@lex111](https://github.com/lex111))\\n - [#3693](https://github.com/facebook/docusaurus/pull/3693) fix(v2): fix website scripts on Windows by using cross-env ([@Simek](https://github.com/Simek))\\n - [#3673](https://github.com/facebook/docusaurus/pull/3673) test(e2e): dogfood Yarn with enableGlobalCache ([@ylemkimon](https://github.com/ylemkimon))\\n - [#3641](https://github.com/facebook/docusaurus/pull/3641) misc: fix unbound env variable in test release script ([@lex111](https://github.com/lex111))\\n- `docusaurus-mdx-loader`, `docusaurus-migrate`, `lqip-loader`\\n - [#3766](https://github.com/facebook/docusaurus/pull/3766) chore(v2): fix several npm warnings ([@lex111](https://github.com/lex111))\\n- `docusaurus-mdx-loader`\\n - [#3753](https://github.com/facebook/docusaurus/pull/3753) chore(v2): fix mismatch peer dependency in MDX loader ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#3742](https://github.com/facebook/docusaurus/pull/3742) chore(v2): pin version of babel-plugin-dynamic-import-node to 2.3.0 ([@lex111](https://github.com/lex111))\\n - [#3734](https://github.com/facebook/docusaurus/pull/3734) chore(v2): downgrade babel-plugin-dynamic-import-node to 2.3.0 ([@lex111](https://github.com/lex111))\\n - [#3714](https://github.com/facebook/docusaurus/pull/3714) chore(v2): fix prettier formatting ([@slorber](https://github.com/slorber))\\n - [#3619](https://github.com/facebook/docusaurus/pull/3619) refactor(v2): add better error message for yarn workspace/monorepo/terser issue ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-pwa`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#3727](https://github.com/facebook/docusaurus/pull/3727) chore(v2): upgrade dependencies ([@lex111](https://github.com/lex111))\\n- `docusaurus-1.x`\\n - [#3715](https://github.com/facebook/docusaurus/pull/3715) chore(v2): update Browserslist ([@lex111](https://github.com/lex111))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-sitemap`\\n - [#3675](https://github.com/facebook/docusaurus/pull/3675) fix(v2): add missing \'react\' and \'webpack\' peer dependencies ([@ylemkimon](https://github.com/ylemkimon))\\n- `docusaurus-1.x`, `docusaurus-init-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`, `stylelint-copyright`\\n - [#3613](https://github.com/facebook/docusaurus/pull/3613) fix: add repository metadata to all packages ([@rarkins](https://github.com/rarkins))\\n\\n## Committers: 26\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Anh Hong ([@hong4rc](https://github.com/hong4rc))\\n- Artem Kovalov ([@artemkovalyov](https://github.com/artemkovalyov))\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- Beno\xeet Lemaire ([@belemaire](https://github.com/belemaire))\\n- Bright Egbo ([@egbobright](https://github.com/egbobright))\\n- Charles Korn ([@charleskorn](https://github.com/charleskorn))\\n- David Goss ([@davidjgoss](https://github.com/davidjgoss))\\n- Gergely Sinka ([@sigewuzhere](https://github.com/sigewuzhere))\\n- Hai ([@haivp3010](https://github.com/haivp3010))\\n- Jainam Chirag Shah ([@jcs98](https://github.com/jcs98))\\n- Marc Rabat Pla ([@vanbasten17](https://github.com/vanbasten17))\\n- Nate Giraudeau ([@nategiraudeau](https://github.com/nategiraudeau))\\n- Nico Domino ([@ndom91](https://github.com/ndom91))\\n- Rhys Arkins ([@rarkins](https://github.com/rarkins))\\n- Roman Bug ([@ka1bi4](https://github.com/ka1bi4))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- Shenwei Wang ([@weareoutman](https://github.com/weareoutman))\\n- Stephen McElhinney ([@smcelhinney](https://github.com/smcelhinney))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Thakur Karthik ([@ThakurKarthik](https://github.com/ThakurKarthik))\\n- [@sammychinedu2ky](https://github.com/sammychinedu2ky)\\n- iAmir ([@AmyrAhmady](https://github.com/AmyrAhmady))\\n- kenve ([@kenve](https://github.com/kenve))\\n- ylemkimon ([@ylemkimon](https://github.com/ylemkimon))\\n- \u741A\u81F4\u8FDC ([@juzhiyuan](https://github.com/juzhiyuan))"},{"id":"/2.0.0-alpha.67","metadata":{"permalink":"/changelog/2.0.0-alpha.67","source":"@site/changelog/source/2.0.0-alpha.67.md","title":"2.0.0-alpha.67","description":"Failed release","date":"2020-11-18T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2020-11-18T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.68","permalink":"/changelog/2.0.0-alpha.68"},"nextItem":{"title":"2.0.0-alpha.66","permalink":"/changelog/2.0.0-alpha.66"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\nFailed release"},{"id":"/2.0.0-alpha.66","metadata":{"permalink":"/changelog/2.0.0-alpha.66","source":"@site/changelog/source/2.0.0-alpha.66.md","title":"2.0.0-alpha.66","description":"New Feature","date":"2020-10-19T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"aakhtar3","alias":"aakhtar3","url":"https://github.com/aakhtar3","imageURL":"https://github.com/aakhtar3.png","key":"aakhtar3","page":null},{"name":"Abhishek Tiwari","alias":"abhishektiwari","url":"https://github.com/abhishektiwari","imageURL":"https://github.com/abhishektiwari.png","key":"abhishektiwari","page":null},{"name":"Christian Bromann","alias":"christian-bromann","url":"https://github.com/christian-bromann","imageURL":"https://github.com/christian-bromann.png","key":"christian-bromann","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"Hamza Hamidi","alias":"hamzahamidi","url":"https://github.com/hamzahamidi","imageURL":"https://github.com/hamzahamidi.png","key":"hamzahamidi","page":null},{"name":"honlyHuang","alias":"honlyHuang","url":"https://github.com/honlyHuang","imageURL":"https://github.com/honlyHuang.png","key":"honlyHuang","page":null},{"name":"Shubham Kumar","alias":"imskr","url":"https://github.com/imskr","imageURL":"https://github.com/imskr.png","key":"imskr","page":null},{"name":"John Gracey","alias":"jagracey","url":"https://github.com/jagracey","imageURL":"https://github.com/jagracey.png","key":"jagracey","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Matan Borenkraout","alias":"MatanBobi","url":"https://github.com/MatanBobi","imageURL":"https://github.com/MatanBobi.png","key":"MatanBobi","page":null},{"name":"Russ Taylor","alias":"russtaylor","url":"https://github.com/russtaylor","imageURL":"https://github.com/russtaylor.png","key":"russtaylor","page":null},{"name":"SaintMalik","alias":"saintmalik","url":"https://github.com/saintmalik","imageURL":"https://github.com/saintmalik.png","key":"saintmalik","page":null},{"name":"Shubham Zanwar","alias":"shubhamzanwar","url":"https://github.com/shubhamzanwar","imageURL":"https://github.com/shubhamzanwar.png","key":"shubhamzanwar","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Umair Kamran","alias":"UmairKamran","url":"https://github.com/UmairKamran","imageURL":"https://github.com/UmairKamran.png","key":"UmairKamran","page":null},{"name":"Utkarsh Goel","alias":"utkarsh867","url":"https://github.com/utkarsh867","imageURL":"https://github.com/utkarsh867.png","key":"utkarsh867","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-10-19T20:00","authors":["aakhtar3","abhishektiwari","christian-bromann","fanny","hamzahamidi","honlyHuang","imskr","jagracey","lex111","MatanBobi","russtaylor","saintmalik","shubhamzanwar","Simek","slorber","UmairKamran","utkarsh867"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.67","permalink":"/changelog/2.0.0-alpha.67"},"nextItem":{"title":"2.0.0-alpha.65","permalink":"/changelog/2.0.0-alpha.65"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#3593](https://github.com/facebook/docusaurus/pull/3593) feat(v2): blog sidebar ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-remark-plugin-npm2yarn`\\n - [#3469](https://github.com/facebook/docusaurus/pull/3469) feat(v2): Extract npm2yarn plugin ([@fanny](https://github.com/fanny))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#3550](https://github.com/facebook/docusaurus/pull/3550) feat(v2): contextual search, dynamic Algolia facetFilters ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#3580](https://github.com/facebook/docusaurus/pull/3580) feat(v2): allow to define custom CSS class for Tabs component ([@Simek](https://github.com/Simek))\\n - [#3553](https://github.com/facebook/docusaurus/pull/3553) feat(v2): make dropdown menu collapsible on mobiles ([@lex111](https://github.com/lex111))\\n- `docusaurus-migrate`, `docusaurus-types`, `docusaurus`\\n - [#3573](https://github.com/facebook/docusaurus/pull/3573) feat(v2): Add themeConfig.noIndex option #3528 ([@hamzahamidi](https://github.com/hamzahamidi))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus`\\n - [#3543](https://github.com/facebook/docusaurus/pull/3543) feat(v2): persist docs preferred version ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#3548](https://github.com/facebook/docusaurus/pull/3548) feat(v2): version dropdown before/after items + move site \\"All Versions\\" link ([@slorber](https://github.com/slorber))\\n- `docusaurus-types`, `docusaurus`\\n - [#3545](https://github.com/facebook/docusaurus/pull/3545) feat(v2): site client modules ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#3539](https://github.com/facebook/docusaurus/pull/3539) feat(v2): doc navbar item type ([@slorber](https://github.com/slorber))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#3550](https://github.com/facebook/docusaurus/pull/3550) feat(v2): contextual search, dynamic Algolia facetFilters ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#3607](https://github.com/facebook/docusaurus/pull/3607) fix(v2): fix error with required href attr of link in mobiles ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#3602](https://github.com/facebook/docusaurus/pull/3602) fix(v2): make dropdown button clickable with mouse ([@lex111](https://github.com/lex111))\\n - [#3601](https://github.com/facebook/docusaurus/pull/3601) fix(v2): fix table-of-content scroll highlighting issues ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`\\n - [#3599](https://github.com/facebook/docusaurus/pull/3599) fix(v2): remove event listeners on Tabs component unmount ([@lex111](https://github.com/lex111))\\n- `docusaurus-types`, `docusaurus`\\n - [#3531](https://github.com/facebook/docusaurus/pull/3531) fix(v2): Fixes serve cli --port option ([@UmairKamran](https://github.com/UmairKamran))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#3585](https://github.com/facebook/docusaurus/pull/3585) refactor(v2): various dropdown improvements ([@lex111](https://github.com/lex111))\\n - [#3588](https://github.com/facebook/docusaurus/pull/3588) refactor(v2): make accessible copy code button from keyboard ([@lex111](https://github.com/lex111))\\n - [#3578](https://github.com/facebook/docusaurus/pull/3578) refactor(v2): apply common behavior to dropdowns ([@lex111](https://github.com/lex111))\\n - [#3546](https://github.com/facebook/docusaurus/pull/3546) docs: various fixes and improvements ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#3587](https://github.com/facebook/docusaurus/pull/3587) refactor(v2): various fixes ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#3569](https://github.com/facebook/docusaurus/pull/3569) refactor(v2): improve broken links error message ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#3576](https://github.com/facebook/docusaurus/pull/3576) docs(v2): removed obsolete \\"you\\" identifier ([@christian-bromann](https://github.com/christian-bromann))\\n - [#3589](https://github.com/facebook/docusaurus/pull/3589) docs(v2): add taro to users ([@honlyHuang](https://github.com/honlyHuang))\\n - [#3565](https://github.com/facebook/docusaurus/pull/3565) docs(v2): deployment, add required GitHub token scope infos ([@russtaylor](https://github.com/russtaylor))\\n - [#3574](https://github.com/facebook/docusaurus/pull/3574) docs(v2): adding vue-nodegui to users ([@shubhamzanwar](https://github.com/shubhamzanwar))\\n - [#3556](https://github.com/facebook/docusaurus/pull/3556) Added Axioms to users ([@abhishektiwari](https://github.com/abhishektiwari))\\n - [#3558](https://github.com/facebook/docusaurus/pull/3558) docs(v2): embedding real source code in MDX as a code block ([@slorber](https://github.com/slorber))\\n - [#3555](https://github.com/facebook/docusaurus/pull/3555) docs(v2): add \\"Wisdom\\" dev docs website to showcase. ([@jagracey](https://github.com/jagracey))\\n - [#3532](https://github.com/facebook/docusaurus/pull/3532) docs(v2): change package name in example script ([@MatanBobi](https://github.com/MatanBobi))\\n - [#3538](https://github.com/facebook/docusaurus/pull/3538) docs(v1): added drone for 1.0 #3491 ([@aakhtar3](https://github.com/aakhtar3))\\n - [#3533](https://github.com/facebook/docusaurus/pull/3533) docs(v1): Fix broken link in the documentation ([@saintmalik](https://github.com/saintmalik))\\n - [#3534](https://github.com/facebook/docusaurus/pull/3534) docs(v2): Fix url bugs in v2 docs ([@saintmalik](https://github.com/saintmalik))\\n- `docusaurus-theme-classic`\\n - [#3546](https://github.com/facebook/docusaurus/pull/3546) docs: various fixes and improvements ([@lex111](https://github.com/lex111))\\n\\n## :house: Internal\\n\\n- `docusaurus-theme-search-algolia`\\n - [#3591](https://github.com/facebook/docusaurus/pull/3591) chore(v2): enable new contextual search feature ([@slorber](https://github.com/slorber))\\n- Other\\n - [#3586](https://github.com/facebook/docusaurus/pull/3586) chore(v2): fix/upgrade react types ([@slorber](https://github.com/slorber))\\n - [#3577](https://github.com/facebook/docusaurus/pull/3577) refactor(v2): clarify versions page ([@lex111](https://github.com/lex111))\\n - [#3560](https://github.com/facebook/docusaurus/pull/3560) feat(v2): prevent using remote image urls in showcase ([@slorber](https://github.com/slorber))\\n - [#3554](https://github.com/facebook/docusaurus/pull/3554) fix(v2): use absolute path to manifest file ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#3394](https://github.com/facebook/docusaurus/pull/3394) refactor(v2): add useThemeConfig hook + cleanup useless theme default values ([@imskr](https://github.com/imskr))\\n\\n## Committers: 17\\n\\n- Abhishek Tiwari ([@abhishektiwari](https://github.com/abhishektiwari))\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- Christian Bromann ([@christian-bromann](https://github.com/christian-bromann))\\n- Fanny ([@fanny](https://github.com/fanny))\\n- Hamza Hamidi ([@hamzahamidi](https://github.com/hamzahamidi))\\n- John Gracey ([@jagracey](https://github.com/jagracey))\\n- Matan Borenkraout ([@MatanBobi](https://github.com/MatanBobi))\\n- Russ Taylor ([@russtaylor](https://github.com/russtaylor))\\n- SaintMalik ([@saintmalik](https://github.com/saintmalik))\\n- Shubham Kumar ([@imskr](https://github.com/imskr))\\n- Shubham Zanwar ([@shubhamzanwar](https://github.com/shubhamzanwar))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Umair Kamran ([@UmairKamran](https://github.com/UmairKamran))\\n- Utkarsh Goel ([@utkarsh867](https://github.com/utkarsh867))\\n- [@aakhtar3](https://github.com/aakhtar3)\\n- honlyHuang ([@honlyHuang](https://github.com/honlyHuang))"},{"id":"/2.0.0-alpha.65","metadata":{"permalink":"/changelog/2.0.0-alpha.65","source":"@site/changelog/source/2.0.0-alpha.65.md","title":"2.0.0-alpha.65","description":"New Feature","date":"2020-10-02T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"aakhtar3","alias":"aakhtar3","url":"https://github.com/aakhtar3","imageURL":"https://github.com/aakhtar3.png","key":"aakhtar3","page":null},{"name":"Henry V\xe9lez","alias":"abadon7","url":"https://github.com/abadon7","imageURL":"https://github.com/abadon7.png","key":"abadon7","page":null},{"name":"hackerman","alias":"aeneasr","url":"https://github.com/aeneasr","imageURL":"https://github.com/aeneasr.png","key":"aeneasr","page":null},{"name":"Andrey Rublev","alias":"anru","url":"https://github.com/anru","imageURL":"https://github.com/anru.png","key":"anru","page":null},{"name":"Nahiyan Kamal","alias":"ayonious","url":"https://github.com/ayonious","imageURL":"https://github.com/ayonious.png","key":"ayonious","page":null},{"name":"R\xe9mi Doreau","alias":"ayshiff","url":"https://github.com/ayshiff","imageURL":"https://github.com/ayshiff.png","key":"ayshiff","page":null},{"name":"Gr\xe9gory Heitz","alias":"edno","url":"https://github.com/edno","imageURL":"https://github.com/edno.png","key":"edno","page":null},{"name":"Jeremy Hager","alias":"jeremyhager","url":"https://github.com/jeremyhager","imageURL":"https://github.com/jeremyhager.png","key":"jeremyhager","page":null},{"name":"Joel Marcey","alias":"JoelMarcey","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","key":"JoelMarcey","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Long Ho","alias":"longlho","url":"https://github.com/longlho","imageURL":"https://github.com/longlho.png","key":"longlho","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Muskan Kumar","alias":"muskanvk","url":"https://github.com/muskanvk","imageURL":"https://github.com/muskanvk.png","key":"muskanvk","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tim Gates","alias":"timgates42","url":"https://github.com/timgates42","imageURL":"https://github.com/timgates42.png","key":"timgates42","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-10-02T20:00","authors":["aakhtar3","abadon7","aeneasr","anru","ayonious","ayshiff","edno","jeremyhager","JoelMarcey","lex111","longlho","moonrailgun","muskanvk","SamChou19815","Simek","slorber","timgates42","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.66","permalink":"/changelog/2.0.0-alpha.66"},"nextItem":{"title":"2.0.0-alpha.64","permalink":"/changelog/2.0.0-alpha.64"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus`\\n - [#3497](https://github.com/facebook/docusaurus/pull/3497) feat(v2): env variable TERSER_PARALLEL to customize TerserPlugin.parallel ([@aeneasr](https://github.com/aeneasr))\\n - [#3446](https://github.com/facebook/docusaurus/pull/3446) feat(v2): new docusaurus clear command ([@abadon7](https://github.com/abadon7))\\n - [#3485](https://github.com/facebook/docusaurus/pull/3485) feat(v2): Add @theme-init components to user theme ([@edno](https://github.com/edno))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`\\n - [#3467](https://github.com/facebook/docusaurus/pull/3467) feat(v2): add beforeDefaultRemarkPlugins/beforeDefaultRehypePlugins options to all md content plugins ([@ayshiff](https://github.com/ayshiff))\\n- `docusaurus-init`, `docusaurus-theme-bootstrap`\\n - [#3496](https://github.com/facebook/docusaurus/pull/3496) feat(v2): migrate bootstrap components to ts ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#3474](https://github.com/facebook/docusaurus/pull/3474) feat(v2): allow to use array of files in customCss field ([@Simek](https://github.com/Simek))\\n- `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`\\n - [#3457](https://github.com/facebook/docusaurus/pull/3457) feat(v2): add optional custom wrapper class name for pages based on theme classic Layout ([@Simek](https://github.com/Simek))\\n\\n## :bug: Bug Fix\\n\\n- Other\\n - [#3517](https://github.com/facebook/docusaurus/pull/3517) fix(v1): v1 deploy preview should be available ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#3498](https://github.com/facebook/docusaurus/pull/3498) fix(v2): fixed props being passed to @svgr/webpack loader ([@anru](https://github.com/anru))\\n- `docusaurus-theme-search-algolia`\\n - [#3456](https://github.com/facebook/docusaurus/pull/3456) fix(v2): use valid value for crossorigin attribute ([@lex111](https://github.com/lex111))\\n- `docusaurus-utils`\\n - [#3427](https://github.com/facebook/docusaurus/pull/3427) fix(v2): normalizeUrl edge cases ([@ayshiff](https://github.com/ayshiff))\\n- `docusaurus-theme-classic`\\n - [#3472](https://github.com/facebook/docusaurus/pull/3472) fix(v2): Show dropdown instead of a single button when there are two versions ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-content-docs`\\n - [#3441](https://github.com/facebook/docusaurus/pull/3441) fix(v2): fixing typo in error message ([@ayonious](https://github.com/ayonious))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#3499](https://github.com/facebook/docusaurus/pull/3499) chore(v2): upgrade Infima to 0.2.0-alpha.13 ([@lex111](https://github.com/lex111))\\n\\n## :memo: Documentation\\n\\n- `docusaurus`\\n - [#3502](https://github.com/facebook/docusaurus/pull/3502) docs(v2): add doc for wrapping theme components with @theme-original and @theme-init ([@slorber](https://github.com/slorber))\\n- Other\\n - [#3473](https://github.com/facebook/docusaurus/pull/3473) misc: add License to the documentation ([@muskanvk](https://github.com/muskanvk))\\n - [#3492](https://github.com/facebook/docusaurus/pull/3492) docs(v2): Added drone.io publish docs #3491 ([@aakhtar3](https://github.com/aakhtar3))\\n - [#3479](https://github.com/facebook/docusaurus/pull/3479) docs(v2): remove redundant new line in code block ([@lex111](https://github.com/lex111))\\n - [#3448](https://github.com/facebook/docusaurus/pull/3448) chore(v2): fix theme classic navbar style docs ([@Simek](https://github.com/Simek))\\n\\n## :house: Internal\\n\\n- `docusaurus-1.x`, `docusaurus-migrate`\\n - [#3504](https://github.com/facebook/docusaurus/pull/3504) chore(v1): move v1 docs inside website-1.x ([@slorber](https://github.com/slorber))\\n- Other\\n - [#3506](https://github.com/facebook/docusaurus/pull/3506) chore(v2): v2 website should make it easy to contribute to upstream docs ([@slorber](https://github.com/slorber))\\n - [#3511](https://github.com/facebook/docusaurus/pull/3511) misc: update CODEOWNERS ([@yangshun](https://github.com/yangshun))\\n - [#3477](https://github.com/facebook/docusaurus/pull/3477) chore(v2): remove alpha 58 doc ([@lex111](https://github.com/lex111))\\n- `docusaurus-utils-validation`\\n - [#3453](https://github.com/facebook/docusaurus/pull/3453) test(v2): add protocol relative uri validation test ([@moonrailgun](https://github.com/moonrailgun))\\n\\n## Committers: 18\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Andrey Rublev ([@anru](https://github.com/anru))\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- Gr\xe9gory Heitz ([@edno](https://github.com/edno))\\n- Henry V\xe9lez ([@abadon7](https://github.com/abadon7))\\n- Jeremy Hager ([@jeremyhager](https://github.com/jeremyhager))\\n- Joel Marcey ([@JoelMarcey](https://github.com/JoelMarcey))\\n- Long Ho ([@longlho](https://github.com/longlho))\\n- Muskan Kumar ([@muskanvk](https://github.com/muskanvk))\\n- Nahiyan Kamal ([@ayonious](https://github.com/ayonious))\\n- R\xe9mi Doreau ([@ayshiff](https://github.com/ayshiff))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tim Gates ([@timgates42](https://github.com/timgates42))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- [@aakhtar3](https://github.com/aakhtar3)\\n- hackerman ([@aeneasr](https://github.com/aeneasr))\\n- moonrailgun ([@moonrailgun](https://github.com/moonrailgun))"},{"id":"/2.0.0-alpha.64","metadata":{"permalink":"/changelog/2.0.0-alpha.64","source":"@site/changelog/source/2.0.0-alpha.64.md","title":"2.0.0-alpha.64","description":"New Feature","date":"2020-09-11T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ash","alias":"ashscodes","url":"https://github.com/ashscodes","imageURL":"https://github.com/ashscodes.png","key":"ashscodes","page":null},{"name":"josephMG","alias":"josephMG","url":"https://github.com/josephMG","imageURL":"https://github.com/josephMG.png","key":"josephMG","page":null},{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},{"name":"Rutik Wankhade","alias":"rutikwankhade","url":"https://github.com/rutikwankhade","imageURL":"https://github.com/rutikwankhade.png","key":"rutikwankhade","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Thad Guidry","alias":"thadguidry","url":"https://github.com/thadguidry","imageURL":"https://github.com/thadguidry.png","key":"thadguidry","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-09-11T20:00","authors":["ashscodes","josephMG","mpsq","rutikwankhade","Simek","slorber","thadguidry"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.65","permalink":"/changelog/2.0.0-alpha.65"},"nextItem":{"title":"2.0.0-alpha.63","permalink":"/changelog/2.0.0-alpha.63"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#3432](https://github.com/facebook/docusaurus/pull/3432) feat(v2): add style property to theme-classic navbar ([@Simek](https://github.com/Simek))\\n - [#3406](https://github.com/facebook/docusaurus/pull/3406) feat(v2): ability to add/override theme html metadatas ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-sitemap`\\n - [#3426](https://github.com/facebook/docusaurus/pull/3426) feat(v2): add option to add trailing slash to urls in sitemap ([@mpsq](https://github.com/mpsq))\\n\\n## :bug: Bug Fix\\n\\n- Other\\n - [#3438](https://github.com/facebook/docusaurus/pull/3438) fix(v2): docusaurus 2 PWA should work under baseurl (deploy previews) ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`\\n - [#3435](https://github.com/facebook/docusaurus/pull/3435) fix(v2): fix empty link error message ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-pwa`\\n - [#3436](https://github.com/facebook/docusaurus/pull/3436) fix(v2): Correctly resolve sw.js path on windows ([@ashscodes](https://github.com/ashscodes))\\n- `docusaurus-theme-classic`\\n - [#3433](https://github.com/facebook/docusaurus/pull/3433) fix(v2): fix theme-classic announcement bar closeable style ([@Simek](https://github.com/Simek))\\n- `docusaurus-1.x`\\n - [#3429](https://github.com/facebook/docusaurus/pull/3429) fix(v1): versioned_docs and skip-next-release relative path issue ([@josephMG](https://github.com/josephMG))\\n- `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`\\n - [#3418](https://github.com/facebook/docusaurus/pull/3418) fix(v2): reset sidebar state on sidebar changes ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-debug`\\n - [#3405](https://github.com/facebook/docusaurus/pull/3405) fix(v2): fix debug plugin unscoped inline code global css ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- [#3428](https://github.com/facebook/docusaurus/pull/3428) docs(v2): fix grammar ([@thadguidry](https://github.com/thadguidry))\\n- [#3425](https://github.com/facebook/docusaurus/pull/3425) docs(v2): mention Eta in ssrTemplate section ([@mpsq](https://github.com/mpsq))\\n- [#3423](https://github.com/facebook/docusaurus/pull/3423) docs(v2): minor typo fix ([@rutikwankhade](https://github.com/rutikwankhade))\\n\\n## :house: Internal\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus`\\n - [#3439](https://github.com/facebook/docusaurus/pull/3439) chore(v2): fix serialize-javascript security issue by upgrading webpack/workbox ([@slorber](https://github.com/slorber))\\n- Other\\n - [#3401](https://github.com/facebook/docusaurus/pull/3401) chore(deps): bump decompress from 4.2.0 to 4.2.1 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n\\n## Committers: 7\\n\\n- Ash ([@ashscodes](https://github.com/ashscodes))\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- M\xe9ril ([@mpsq](https://github.com/mpsq))\\n- Rutik Wankhade ([@rutikwankhade](https://github.com/rutikwankhade))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Thad Guidry ([@thadguidry](https://github.com/thadguidry))\\n- [@josephMG](https://github.com/josephMG)"},{"id":"/2.0.0-alpha.63","metadata":{"permalink":"/changelog/2.0.0-alpha.63","source":"@site/changelog/source/2.0.0-alpha.63.md","title":"2.0.0-alpha.63","description":"New Feature","date":"2020-09-03T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},{"name":"Sam Ko","alias":"samsisle","url":"https://github.com/samsisle","imageURL":"https://github.com/samsisle.png","key":"samsisle","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Thad Guidry","alias":"thadguidry","url":"https://github.com/thadguidry","imageURL":"https://github.com/thadguidry.png","key":"thadguidry","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-09-03T20:00","authors":["mpsq","samsisle","Simek","slorber","thadguidry"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.64","permalink":"/changelog/2.0.0-alpha.64"},"nextItem":{"title":"2.0.0-alpha.62","permalink":"/changelog/2.0.0-alpha.62"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-types`, `docusaurus`\\n - [#3387](https://github.com/facebook/docusaurus/pull/3387) feat(v2): allow users to specify a custom ssr HTML template ([@mpsq](https://github.com/mpsq))\\n- `docusaurus-plugin-debug`\\n - [#3392](https://github.com/facebook/docusaurus/pull/3392) feat(v2): officially release @docusaurus/plugin-debug ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#3388](https://github.com/facebook/docusaurus/pull/3388) feat(v2): add isCloseable property for theme-classic announcement bar ([@Simek](https://github.com/Simek))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#3373](https://github.com/facebook/docusaurus/pull/3373) feat(v2): docs options.onlyIncludeVersions ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- Other\\n - [#3397](https://github.com/facebook/docusaurus/pull/3397) fix(v2): DocSearch should keep working after a new release (part 2/2) ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#3393](https://github.com/facebook/docusaurus/pull/3393) fix(v2): DocSearch should keep working after a new release (part 1/2) ([@slorber](https://github.com/slorber))\\n - [#3381](https://github.com/facebook/docusaurus/pull/3381) fix(v2): alpha 62 doc fixes ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#3385](https://github.com/facebook/docusaurus/pull/3385) fix(v2): scripts should allow unknown values ([@slorber](https://github.com/slorber))\\n- `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus`\\n - [#3382](https://github.com/facebook/docusaurus/pull/3382) fix(v2): allow using classic theme/preset without the docs plugin ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils-validation`\\n - [#3377](https://github.com/facebook/docusaurus/pull/3377) fix(v2): reject routeBasePath: \'\' ([@slorber](https://github.com/slorber))\\n\\n## :memo: Documentation\\n\\n- [#3390](https://github.com/facebook/docusaurus/pull/3390) docs(v1, v2): Update Deploy to Vercel guide ([@samsisle](https://github.com/samsisle))\\n- [#3344](https://github.com/facebook/docusaurus/pull/3344) docs(v2): Update Deploy to Vercel guide ([@samsisle](https://github.com/samsisle))\\n\\n## :house: Internal\\n\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus`\\n - [#3386](https://github.com/facebook/docusaurus/pull/3386) chore(v2): pin exact dependency versions ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`, `docusaurus-init-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`, `stylelint-copyright`\\n - [#3359](https://github.com/facebook/docusaurus/pull/3359) chore(v2): prepare v2.0.0.alpha-62 release ([@slorber](https://github.com/slorber))\\n\\n## Committers: 5\\n\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- M\xe9ril ([@mpsq](https://github.com/mpsq))\\n- Sam Ko ([@samsisle](https://github.com/samsisle))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Thad Guidry ([@thadguidry](https://github.com/thadguidry))"},{"id":"/2.0.0-alpha.62","metadata":{"permalink":"/changelog/2.0.0-alpha.62","source":"@site/changelog/source/2.0.0-alpha.62.md","title":"2.0.0-alpha.62","description":"New Feature","date":"2020-08-28T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"adinaja","alias":"adinaja","url":"https://github.com/adinaja","imageURL":"https://github.com/adinaja.png","key":"adinaja","page":null},{"name":"Franklyn Chisom","alias":"ajifrank75","url":"https://github.com/ajifrank75","imageURL":"https://github.com/ajifrank75.png","key":"ajifrank75","page":null},{"name":"Ali Hosseini","alias":"Ako92","url":"https://github.com/Ako92","imageURL":"https://github.com/Ako92.png","key":"Ako92","page":null},{"name":"Amy Lei","alias":"amy-lei","url":"https://github.com/amy-lei","imageURL":"https://github.com/amy-lei.png","key":"amy-lei","page":null},{"name":"Anshul Goyal","alias":"anshulrgoyal","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","key":"anshulrgoyal","page":null},{"name":"Archit","alias":"arcvats","url":"https://github.com/arcvats","imageURL":"https://github.com/arcvats.png","key":"arcvats","page":null},{"name":"Arthur Flam","alias":"arthur-flam","url":"https://github.com/arthur-flam","imageURL":"https://github.com/arthur-flam.png","key":"arthur-flam","page":null},{"name":"Bogdan Doroschenko","alias":"BogdanDor","url":"https://github.com/BogdanDor","imageURL":"https://github.com/BogdanDor.png","key":"BogdanDor","page":null},{"name":"alex busnelli","alias":"boosh511","url":"https://github.com/boosh511","imageURL":"https://github.com/boosh511.png","key":"boosh511","page":null},{"name":"Daniel Wilkowski","alias":"Danon","url":"https://github.com/Danon","imageURL":"https://github.com/Danon.png","key":"Danon","page":null},{"name":"Drew Alexander","alias":"Drewbi","url":"https://github.com/Drewbi","imageURL":"https://github.com/Drewbi.png","key":"Drewbi","page":null},{"name":"Derek","alias":"dschaller","url":"https://github.com/dschaller","imageURL":"https://github.com/dschaller.png","key":"dschaller","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"Nisarag","alias":"FocalChord","url":"https://github.com/FocalChord","imageURL":"https://github.com/FocalChord.png","key":"FocalChord","page":null},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},{"name":"Govardhan Srinivas","alias":"govardhan-srinivas","url":"https://github.com/govardhan-srinivas","imageURL":"https://github.com/govardhan-srinivas.png","key":"govardhan-srinivas","page":null},{"name":"Yang Luo","alias":"hsluoyz","url":"https://github.com/hsluoyz","imageURL":"https://github.com/hsluoyz.png","key":"hsluoyz","page":null},{"name":"Shubham Kumar","alias":"imskr","url":"https://github.com/imskr","imageURL":"https://github.com/imskr.png","key":"imskr","page":null},{"name":"Jean-Marc Saad","alias":"JeanMarcSaad","url":"https://github.com/JeanMarcSaad","imageURL":"https://github.com/JeanMarcSaad.png","key":"JeanMarcSaad","page":null},{"name":"Jonas Dellinger","alias":"JohnnyCrazy","url":"https://github.com/JohnnyCrazy","imageURL":"https://github.com/JohnnyCrazy.png","key":"JohnnyCrazy","page":null},{"name":"Jonathan","alias":"Jonathannsegal","url":"https://github.com/Jonathannsegal","imageURL":"https://github.com/Jonathannsegal.png","key":"Jonathannsegal","page":null},{"name":"lebogang Olifant","alias":"lebogangolifant","url":"https://github.com/lebogangolifant","imageURL":"https://github.com/lebogangolifant.png","key":"lebogangolifant","page":null},{"name":"leoigel","alias":"leoigel","url":"https://github.com/leoigel","imageURL":"https://github.com/leoigel.png","key":"leoigel","page":null},{"name":"Manuel Cepeda","alias":"mecm1993","url":"https://github.com/mecm1993","imageURL":"https://github.com/mecm1993.png","key":"mecm1993","page":null},{"name":"Mirzayev Farid","alias":"MirzayevFarid","url":"https://github.com/MirzayevFarid","imageURL":"https://github.com/MirzayevFarid.png","key":"MirzayevFarid","page":null},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},{"name":"Olawanle Joel","alias":"olawanlejoel","url":"https://github.com/olawanlejoel","imageURL":"https://github.com/olawanlejoel.png","key":"olawanlejoel","page":null},{"name":"Orta Therox","alias":"orta","url":"https://github.com/orta","imageURL":"https://github.com/orta.png","key":"orta","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"shalinikumari50","alias":"shalinikumari50","url":"https://github.com/shalinikumari50","imageURL":"https://github.com/shalinikumari50.png","key":"shalinikumari50","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Sourav Dey","alias":"Souravdey777","url":"https://github.com/Souravdey777","imageURL":"https://github.com/Souravdey777.png","key":"Souravdey777","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"Hani Mohammed","alias":"thehanimo","url":"https://github.com/thehanimo","imageURL":"https://github.com/thehanimo.png","key":"thehanimo","page":null},{"name":"Tolunay Akbulut","alias":"tolunayakbulut","url":"https://github.com/tolunayakbulut","imageURL":"https://github.com/tolunayakbulut.png","key":"tolunayakbulut","page":null},{"name":"Vandr\xe9 Leal","alias":"vandreleal","url":"https://github.com/vandreleal","imageURL":"https://github.com/vandreleal.png","key":"vandreleal","page":null},{"name":"Vincent","alias":"Vinnl","url":"https://github.com/Vinnl","imageURL":"https://github.com/Vinnl.png","key":"Vinnl","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"ylemkimon","alias":"ylemkimon","url":"https://github.com/ylemkimon","imageURL":"https://github.com/ylemkimon.png","key":"ylemkimon","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-08-28T20:00","authors":["adinaja","ajifrank75","Ako92","amy-lei","anshulrgoyal","arcvats","arthur-flam","BogdanDor","boosh511","Danon","Drewbi","dschaller","fanny","FocalChord","francoischalifour","govardhan-srinivas","hsluoyz","imskr","JeanMarcSaad","JohnnyCrazy","Jonathannsegal","lebogangolifant","leoigel","mecm1993","MirzayevFarid","nebrelbug","olawanlejoel","orta","SamChou19815","shalinikumari50","slorber","Souravdey777","teikjun","thehanimo","tolunayakbulut","vandreleal","Vinnl","yangshun","ylemkimon"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.63","permalink":"/changelog/2.0.0-alpha.63"},"nextItem":{"title":"2.0.0-alpha.61","permalink":"/changelog/2.0.0-alpha.61"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#3357](https://github.com/facebook/docusaurus/pull/3357) feat(v2): docs version configuration: lastVersion, version.{path,label} ([@slorber](https://github.com/slorber))\\n - [#3328](https://github.com/facebook/docusaurus/pull/3328) feat(v2): Provide docs plugin theme typing ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-theme-classic`\\n - [#3356](https://github.com/facebook/docusaurus/pull/3356) feat(v2): Provide type definitions for remaining theme-classic components ([@SamChou19815](https://github.com/SamChou19815))\\n - [#3274](https://github.com/facebook/docusaurus/pull/3274) feat(v2): add TOC to blog posts ([@amy-lei](https://github.com/amy-lei))\\n- `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`\\n - [#3354](https://github.com/facebook/docusaurus/pull/3354) feat(v2): Provide type definitions for MDXPage from page plugin ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#3348](https://github.com/facebook/docusaurus/pull/3348) feat(v2): Provide typing to most of the theme-classic components ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-init`, `docusaurus-plugin-content-blog`\\n - [#3284](https://github.com/facebook/docusaurus/pull/3284) feat(v2): blog slug frontmatter ([@JeanMarcSaad](https://github.com/JeanMarcSaad))\\n- `docusaurus-init`, `docusaurus-theme-bootstrap`\\n - [#2981](https://github.com/facebook/docusaurus/pull/2981) feat(v2): bootstrap theme, preset, template, CI previews ([@fanny](https://github.com/fanny))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#3267](https://github.com/facebook/docusaurus/pull/3267) feat(v2): Provide blog plugin theme typing ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-debug`, `docusaurus-preset-classic`, `docusaurus-theme-bootstrap`, `docusaurus-types`, `docusaurus`\\n - [#3229](https://github.com/facebook/docusaurus/pull/3229) feat(v2): debug pages + debug layout + ability to debug content ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#3021](https://github.com/facebook/docusaurus/pull/3021) feat(v2): update swizzle command to suggest component/theme ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-pages`\\n - [#3196](https://github.com/facebook/docusaurus/pull/3196) feat(v2): add support to ignore files in pages plugin ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils-validation`, `docusaurus`\\n - [#3204](https://github.com/facebook/docusaurus/pull/3204) feat(v2): blog + docs multi-instance plugins ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`\\n - [#3096](https://github.com/facebook/docusaurus/pull/3096) feat(v2): add support to import assets using relative link in markdown syntax ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-migrate`\\n - [#3358](https://github.com/facebook/docusaurus/pull/3358) fix(v2): fix migrate cli paths (sidebars/customcss) ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#3311](https://github.com/facebook/docusaurus/pull/3311) fix(v2): add https support in webpack devserver ([@arcvats](https://github.com/arcvats))\\n - [#3313](https://github.com/facebook/docusaurus/pull/3313) fix(v2): resolve webpack loaders from siteDir/node_modules ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n - [#3308](https://github.com/facebook/docusaurus/pull/3308) fix(v2): brokenLinks should not report links that belong to an existing folder if folder/index.html exists ([@slorber](https://github.com/slorber))\\n - [#3273](https://github.com/facebook/docusaurus/pull/3273) fix: logic error while deciding deploymentBranch ([@thehanimo](https://github.com/thehanimo))\\n - [#3281](https://github.com/facebook/docusaurus/pull/3281) fix(v2): allow swizzling of component even if case doesn\'t match ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n - [#3222](https://github.com/facebook/docusaurus/pull/3222) fix(v2): update react-loadable-ssr-addon to solve yarn2 error ([@slorber](https://github.com/slorber))\\n - [#3191](https://github.com/facebook/docusaurus/pull/3191) fix(v2): add missing `lodash.flatmap` dependency ([@ylemkimon](https://github.com/ylemkimon))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-theme-bootstrap`, `docusaurus-theme-search-algolia`, `docusaurus-types`\\n - [#3355](https://github.com/facebook/docusaurus/pull/3355) fix(v2): Add missing dependencies to packages ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-theme-classic`\\n - [#3352](https://github.com/facebook/docusaurus/pull/3352) fix(v2): Allow the alt for the logo to be empty ([@Vinnl](https://github.com/Vinnl))\\n - [#3240](https://github.com/facebook/docusaurus/pull/3240) fix(v2): navbar dropdown opened with tab, not closing on click outside ([@Ako92](https://github.com/Ako92))\\n- `docusaurus-mdx-loader`, `docusaurus`\\n - [#3347](https://github.com/facebook/docusaurus/pull/3347) fix(v2): linking to asset or external html page -> don\'t use history.push() ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`\\n - [#3340](https://github.com/facebook/docusaurus/pull/3340) fix(v1): show images after one line code block ([@adinaja](https://github.com/adinaja))\\n- `docusaurus-1.x`, `docusaurus`\\n - [#3290](https://github.com/facebook/docusaurus/pull/3290) fix(v1,v2): Add initial-scale=1.0 to all meta viewport tags ([@nebrelbug](https://github.com/nebrelbug))\\n- `docusaurus-theme-search-algolia`\\n - [#3297](https://github.com/facebook/docusaurus/pull/3297) fix(v2): keep DocSearch state on remounts ([@francoischalifour](https://github.com/francoischalifour))\\n - [#3280](https://github.com/facebook/docusaurus/pull/3280) fix(v2): allow search page swizzle ([@Ako92](https://github.com/Ako92))\\n - [#3263](https://github.com/facebook/docusaurus/pull/3263) fix(v2): do not index search pages ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-pages`\\n - [#3283](https://github.com/facebook/docusaurus/pull/3283) fix(v2): pass images in static dir to webpack-loader ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- Other\\n - [#3269](https://github.com/facebook/docusaurus/pull/3269) fix(v2): website feedback page hydration bug ([@mecm1993](https://github.com/mecm1993))\\n - [#3200](https://github.com/facebook/docusaurus/pull/3200) fix(v1): self-host user images ([@leoigel](https://github.com/leoigel))\\n- `docusaurus-plugin-google-gtag`\\n - [#3243](https://github.com/facebook/docusaurus/pull/3243) fix(v2): GTM, send page_view events on navigate ([@govardhan-srinivas](https://github.com/govardhan-srinivas))\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#3262](https://github.com/facebook/docusaurus/pull/3262) fix(v2): doc path special char (space or other) should lead to a valid slug ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-utils-validation`, `docusaurus`\\n - [#3247](https://github.com/facebook/docusaurus/pull/3247) fix(v2): modify validation schema and tests for rehype/remark + remove duplicate dependency ([@teikjun](https://github.com/teikjun))\\n- `docusaurus-init`\\n - [#3258](https://github.com/facebook/docusaurus/pull/3258) fix(v2): fix template alt image prop ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-utils-validation`, `docusaurus`\\n - [#3227](https://github.com/facebook/docusaurus/pull/3227) fix(v2): relax URI validation ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- `docusaurus-init`, `docusaurus-plugin-content-docs`\\n - [#3228](https://github.com/facebook/docusaurus/pull/3228) fix(v2): deprecate docs homePageId in favor of frontmatter \\"slug: /\\" ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#3225](https://github.com/facebook/docusaurus/pull/3225) fix(v2): swizzle minor improvements ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#3210](https://github.com/facebook/docusaurus/pull/3210) fix(v2): fix theme validation for prism field and add tests ([@teikjun](https://github.com/teikjun))\\n- `docusaurus-plugin-content-docs`\\n - [#3192](https://github.com/facebook/docusaurus/pull/3192) fix(v2): add missing `chalk` and `lodash` dependencies ([@ylemkimon](https://github.com/ylemkimon))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-module-type-aliases`, `docusaurus`\\n - [#3244](https://github.com/facebook/docusaurus/pull/3244) chore(v2): tighten up the TypeScript onboarding ([@orta](https://github.com/orta))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-utils`, `docusaurus`\\n - [#3245](https://github.com/facebook/docusaurus/pull/3245) refactor(v2): docs plugin refactor ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#3188](https://github.com/facebook/docusaurus/pull/3188) fix(v2): Add a missing whitespace before prompt to use `npm run serve` ([@SamChou19815](https://github.com/SamChou19815))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#3346](https://github.com/facebook/docusaurus/pull/3346) docs(v2): add draft doc ([@imskr](https://github.com/imskr))\\n - [#3336](https://github.com/facebook/docusaurus/pull/3336) docs(v2): add Nisarag to Fellows section ([@FocalChord](https://github.com/FocalChord))\\n - [#3335](https://github.com/facebook/docusaurus/pull/3335) docs(v2): update team profile ([@yangshun](https://github.com/yangshun))\\n - [#3334](https://github.com/facebook/docusaurus/pull/3334) docs(v2): add Drew to Fellows section ([@Drewbi](https://github.com/Drewbi))\\n - [#3333](https://github.com/facebook/docusaurus/pull/3333) docs(v2): add anshul and teikjun to fellows section of team page ([@teikjun](https://github.com/teikjun))\\n - [#3326](https://github.com/facebook/docusaurus/pull/3326) docs(v1): showcase user Casbin ([@hsluoyz](https://github.com/hsluoyz))\\n - [#3316](https://github.com/facebook/docusaurus/pull/3316) docs(v1): add Global CTO Forum to users ([@MirzayevFarid](https://github.com/MirzayevFarid))\\n - [#3310](https://github.com/facebook/docusaurus/pull/3310) docs(v2): add \\"T-Regx\\" website to showcase ([@Danon](https://github.com/Danon))\\n - [#3307](https://github.com/facebook/docusaurus/pull/3307) docs(v2): showcase SpotifyAPI-NET ([@JohnnyCrazy](https://github.com/JohnnyCrazy))\\n - [#3295](https://github.com/facebook/docusaurus/pull/3295) docs(v2): showcase Oxidizer ([@vandreleal](https://github.com/vandreleal))\\n - [#3287](https://github.com/facebook/docusaurus/pull/3287) docs: update README.md with some grammatical corrections ([@shalinikumari50](https://github.com/shalinikumari50))\\n - [#3271](https://github.com/facebook/docusaurus/pull/3271) docs(v2): fix typo ([@thehanimo](https://github.com/thehanimo))\\n - [#3277](https://github.com/facebook/docusaurus/pull/3277) docs(v1): Add Radity to users ([@tolunayakbulut](https://github.com/tolunayakbulut))\\n - [#3276](https://github.com/facebook/docusaurus/pull/3276) docs: corrected some few typos in the docusaurus tech docs ([@ajifrank75](https://github.com/ajifrank75))\\n - [#3249](https://github.com/facebook/docusaurus/pull/3249) docs(v2): fix migration command ([@BogdanDor](https://github.com/BogdanDor))\\n - [#3248](https://github.com/facebook/docusaurus/pull/3248) Added twitter badge and modified discord Badges ([@Souravdey777](https://github.com/Souravdey777))\\n - [#3251](https://github.com/facebook/docusaurus/pull/3251) docs(v2): fix migration command for earlier versions ([@teikjun](https://github.com/teikjun))\\n - [#3252](https://github.com/facebook/docusaurus/pull/3252) docs(v2): docs typos ([@olawanlejoel](https://github.com/olawanlejoel))\\n - [#3111](https://github.com/facebook/docusaurus/pull/3111) docs(v2): clarify theme-original and theme-init ([@Jonathannsegal](https://github.com/Jonathannsegal))\\n - [#3232](https://github.com/facebook/docusaurus/pull/3232) docs(v2): showcase user QA-Board ([@arthur-flam](https://github.com/arthur-flam))\\n - [#3205](https://github.com/facebook/docusaurus/pull/3205) docs: format reference links ([@lebogangolifant](https://github.com/lebogangolifant))\\n - [#3194](https://github.com/facebook/docusaurus/pull/3194) docs(v2): Added switch config docs to theme-classic API ([@Drewbi](https://github.com/Drewbi))\\n - [#3201](https://github.com/facebook/docusaurus/pull/3201) docs(v2): removed duplicate text under \\"Using React\\" section ([@boosh511](https://github.com/boosh511))\\n - [#3186](https://github.com/facebook/docusaurus/pull/3186) docs(v1): formatting changelog ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#3202](https://github.com/facebook/docusaurus/pull/3202) fix(v2): fix svg loader ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n\\n## :house: Internal\\n\\n- `docusaurus-migrate`\\n - [#3323](https://github.com/facebook/docusaurus/pull/3323) test(v2): Add unit test for migration of config file ([@BogdanDor](https://github.com/BogdanDor))\\n- `docusaurus-theme-classic`\\n - [#3343](https://github.com/facebook/docusaurus/pull/3343) refactor(v2): announcement bar bad spelling + minor refactors ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-blog`\\n - [#3339](https://github.com/facebook/docusaurus/pull/3339) test(v2): make blog posts unit test ordering determinate ([@BogdanDor](https://github.com/BogdanDor))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-types`\\n - [#3306](https://github.com/facebook/docusaurus/pull/3306) chore(v2): Define type for markdown right table of contents ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-module-type-aliases`, `docusaurus`\\n - [#3244](https://github.com/facebook/docusaurus/pull/3244) chore(v2): tighten up the TypeScript onboarding ([@orta](https://github.com/orta))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-utils`, `docusaurus`\\n - [#3245](https://github.com/facebook/docusaurus/pull/3245) refactor(v2): docs plugin refactor ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#3282](https://github.com/facebook/docusaurus/pull/3282) chore(v2): fix javascript-serialize vulnerability ([@slorber](https://github.com/slorber))\\n - [#3265](https://github.com/facebook/docusaurus/pull/3265) chore(v2): upgrade terser-webpack-plugin ([@dschaller](https://github.com/dschaller))\\n- Other\\n - [#3241](https://github.com/facebook/docusaurus/pull/3241) chore(deps): bump prismjs from 1.20.0 to 1.21.0 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#3259](https://github.com/facebook/docusaurus/pull/3259) chore(v2): fix slow commits due to lint-staged ([@slorber](https://github.com/slorber))\\n - [#3197](https://github.com/facebook/docusaurus/pull/3197) chore(v2): lockfile update ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`\\n - [#3218](https://github.com/facebook/docusaurus/pull/3218) chore(v1): release 1.14.6 ([@slorber](https://github.com/slorber))\\n\\n## :running: Performance\\n\\n- `docusaurus-plugin-client-redirects`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#3238](https://github.com/facebook/docusaurus/pull/3238) refactor(v2): precompile ETA templates ([@slorber](https://github.com/slorber))\\n\\n## Committers: 39\\n\\n- Ali Hosseini ([@Ako92](https://github.com/Ako92))\\n- Amy Lei ([@amy-lei](https://github.com/amy-lei))\\n- Anshul Goyal ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- Archit ([@arcvats](https://github.com/arcvats))\\n- Arthur Flam ([@arthur-flam](https://github.com/arthur-flam))\\n- Ben Gubler ([@nebrelbug](https://github.com/nebrelbug))\\n- Bogdan Doroschenko ([@BogdanDor](https://github.com/BogdanDor))\\n- Daniel Wilkowski ([@Danon](https://github.com/Danon))\\n- Derek ([@dschaller](https://github.com/dschaller))\\n- Drew Alexander ([@Drewbi](https://github.com/Drewbi))\\n- Fanny ([@fanny](https://github.com/fanny))\\n- Franklyn Chisom ([@ajifrank75](https://github.com/ajifrank75))\\n- Fran\xe7ois Chalifour ([@francoischalifour](https://github.com/francoischalifour))\\n- Govardhan Srinivas ([@govardhan-srinivas](https://github.com/govardhan-srinivas))\\n- Hani Mohammed ([@thehanimo](https://github.com/thehanimo))\\n- Jean-Marc Saad ([@JeanMarcSaad](https://github.com/JeanMarcSaad))\\n- Jonas Dellinger ([@JohnnyCrazy](https://github.com/JohnnyCrazy))\\n- Jonathan ([@Jonathannsegal](https://github.com/Jonathannsegal))\\n- Manuel Cepeda ([@mecm1993](https://github.com/mecm1993))\\n- Mirzayev Farid ([@MirzayevFarid](https://github.com/MirzayevFarid))\\n- Nisarag ([@FocalChord](https://github.com/FocalChord))\\n- Olawanle Joel ([@olawanlejoel](https://github.com/olawanlejoel))\\n- Orta Therox ([@orta](https://github.com/orta))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- Shubham Kumar ([@imskr](https://github.com/imskr))\\n- Sourav Dey ([@Souravdey777](https://github.com/Souravdey777))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Teik Jun ([@teikjun](https://github.com/teikjun))\\n- Tolunay Akbulut ([@tolunayakbulut](https://github.com/tolunayakbulut))\\n- Vandr\xe9 Leal ([@vandreleal](https://github.com/vandreleal))\\n- Vincent ([@Vinnl](https://github.com/Vinnl))\\n- Yang Luo ([@hsluoyz](https://github.com/hsluoyz))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- [@adinaja](https://github.com/adinaja)\\n- [@leoigel](https://github.com/leoigel)\\n- [@shalinikumari50](https://github.com/shalinikumari50)\\n- alex busnelli ([@boosh511](https://github.com/boosh511))\\n- lebogang Olifant ([@lebogangolifant](https://github.com/lebogangolifant))\\n- ylemkimon ([@ylemkimon](https://github.com/ylemkimon))"},{"id":"/2.0.0-alpha.61","metadata":{"permalink":"/changelog/2.0.0-alpha.61","source":"@site/changelog/source/2.0.0-alpha.61.md","title":"2.0.0-alpha.61","description":"New Feature","date":"2020-08-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Bucky Maler","alias":"BuckyMaler","url":"https://github.com/BuckyMaler","imageURL":"https://github.com/BuckyMaler.png","key":"BuckyMaler","page":null},{"name":"Drew Alexander","alias":"Drewbi","url":"https://github.com/Drewbi","imageURL":"https://github.com/Drewbi.png","key":"Drewbi","page":null},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},{"name":"Faizan","alias":"mdfaizan7","url":"https://github.com/mdfaizan7","imageURL":"https://github.com/mdfaizan7.png","key":"mdfaizan7","page":null},{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"Xuqian","alias":"zxuqian","url":"https://github.com/zxuqian","imageURL":"https://github.com/zxuqian.png","key":"zxuqian","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-08-01T20:00","authors":["BuckyMaler","Drewbi","francoischalifour","mdfaizan7","mpsq","slorber","teikjun","zxuqian"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.62","permalink":"/changelog/2.0.0-alpha.62"},"nextItem":{"title":"2.0.0-alpha.60","permalink":"/changelog/2.0.0-alpha.60"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-types`, `docusaurus`\\n - [#3083](https://github.com/facebook/docusaurus/pull/3083) feat(v2): warn user when there are conflicting routes ([@teikjun](https://github.com/teikjun))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-utils-validation`, `docusaurus-utils`\\n - [#3158](https://github.com/facebook/docusaurus/pull/3158) feat(v2): markdown pages ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#3127](https://github.com/facebook/docusaurus/pull/3127) feat(v2): dark mode toggle customization ([@Drewbi](https://github.com/Drewbi))\\n- `docusaurus-theme-search-algolia`\\n - [#3166](https://github.com/facebook/docusaurus/pull/3166) feat(v2): improve Algolia search accessibility ([@francoischalifour](https://github.com/francoischalifour))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#2359](https://github.com/facebook/docusaurus/pull/2359) feat(v2): support custom description for blog-only mode ([@zxuqian](https://github.com/zxuqian))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-mdx-loader`, `docusaurus`\\n - [#3180](https://github.com/facebook/docusaurus/pull/3180) fix(v2): fix markdown images always using webpack url-loader ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#3171](https://github.com/facebook/docusaurus/pull/3171) fix(v2): tab label showing outline & background when clicked ([@mdfaizan7](https://github.com/mdfaizan7))\\n- `docusaurus-init`, `docusaurus-theme-classic`\\n - [#3168](https://github.com/facebook/docusaurus/pull/3168) fix(v2): fix link items refusing attributes like target, rel etc... ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#3162](https://github.com/facebook/docusaurus/pull/3162) fix(v2): inability for users to pin their docusaurus version ([@BuckyMaler](https://github.com/BuckyMaler))\\n\\n## :memo: Documentation\\n\\n- [#3163](https://github.com/facebook/docusaurus/pull/3163) docs(v2): showcase user questdb ([@mpsq](https://github.com/mpsq))\\n\\n## :house: Internal\\n\\n- Other\\n - [#3164](https://github.com/facebook/docusaurus/pull/3164) chore(deps): bump elliptic from 6.5.2 to 6.5.3 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#3157](https://github.com/facebook/docusaurus/pull/3157) chore(v2): remove alpha 59 doc ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`, `docusaurus-init-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`, `lqip-loader`, `stylelint-copyright`\\n - [#3154](https://github.com/facebook/docusaurus/pull/3154) chore(v2): prepare v2.0.0.alpha-60 release ([@slorber](https://github.com/slorber))\\n\\n## Committers: 8\\n\\n- Bucky Maler ([@BuckyMaler](https://github.com/BuckyMaler))\\n- Drew Alexander ([@Drewbi](https://github.com/Drewbi))\\n- Faizan ([@mdfaizan7](https://github.com/mdfaizan7))\\n- Fran\xe7ois Chalifour ([@francoischalifour](https://github.com/francoischalifour))\\n- M\xe9ril ([@mpsq](https://github.com/mpsq))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Teik Jun ([@teikjun](https://github.com/teikjun))\\n- Xuqian ([@zxuqian](https://github.com/zxuqian))"},{"id":"/2.0.0-alpha.60","metadata":{"permalink":"/changelog/2.0.0-alpha.60","source":"@site/changelog/source/2.0.0-alpha.60.md","title":"2.0.0-alpha.60","description":"New Feature","date":"2020-07-29T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Hob Adams","alias":"hobadams","url":"https://github.com/hobadams","imageURL":"https://github.com/hobadams.png","key":"hobadams","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-07-29T20:00","authors":["hobadams","Simek","slorber","teikjun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.61","permalink":"/changelog/2.0.0-alpha.61"},"nextItem":{"title":"2.0.0-alpha.59","permalink":"/changelog/2.0.0-alpha.59"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus`\\n - [#3134](https://github.com/facebook/docusaurus/pull/3134) feat(v2): add validation escape hatch ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`\\n - [#3124](https://github.com/facebook/docusaurus/pull/3124) feat(v1): add \'slugPreprocessor\' config option to allow users customize the hash links ([@Simek](https://github.com/Simek))\\n- `docusaurus-theme-search-algolia`\\n - [#3133](https://github.com/facebook/docusaurus/pull/3133) feat(v2): add themeConfig validation to algolia theme ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#3142](https://github.com/facebook/docusaurus/pull/3142) fix(v2): config validation fixes + add tests for config validation ([@teikjun](https://github.com/teikjun))\\n- `docusaurus`\\n - [#3149](https://github.com/facebook/docusaurus/pull/3149) fix(v2): BrowserOnly should not return undefined ([@slorber](https://github.com/slorber))\\n - [#3143](https://github.com/facebook/docusaurus/pull/3143) fix(v2): absolute Links should be automatically prefixed by baseurl ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus`\\n - [#3141](https://github.com/facebook/docusaurus/pull/3141) fix(v2): remove buggy routesLoaded + deprecate routesLoaded lifecycle ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#3140](https://github.com/facebook/docusaurus/pull/3140) fix(v2): navbar item links should allow unknown attributes ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-search-algolia`\\n - [#3138](https://github.com/facebook/docusaurus/pull/3138) fix(v2): add accessible label for Algolia search button ([@hobadams](https://github.com/hobadams))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus`\\n - [#3120](https://github.com/facebook/docusaurus/pull/3120) fix(v2): make config validation less strict ([@teikjun](https://github.com/teikjun))\\n\\n## :memo: Documentation\\n\\n- [#3145](https://github.com/facebook/docusaurus/pull/3145) docs(v2): add myself to /team page + add TeamProfileCard component ([@slorber](https://github.com/slorber))\\n- [#3146](https://github.com/facebook/docusaurus/pull/3146) docs(v2): prettier docs ([@slorber](https://github.com/slorber))\\n- [#3116](https://github.com/facebook/docusaurus/pull/3116) chore(v2): docs updates after release ([@slorber](https://github.com/slorber))\\n\\n## :house: Internal\\n\\n- Other\\n - [#3130](https://github.com/facebook/docusaurus/pull/3130) chore(v2): remove old versions ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`, `docusaurus-init-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`, `lqip-loader`, `stylelint-copyright`\\n - [#3114](https://github.com/facebook/docusaurus/pull/3114) chore(v2): prepare v2.0.0.alpha-59 release ([@slorber](https://github.com/slorber))\\n\\n## Committers: 4\\n\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- Hob Adams ([@hobadams](https://github.com/hobadams))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Teik Jun ([@teikjun](https://github.com/teikjun))"},{"id":"/2.0.0-alpha.59","metadata":{"permalink":"/changelog/2.0.0-alpha.59","source":"@site/changelog/source/2.0.0-alpha.59.md","title":"2.0.0-alpha.59","description":"New Feature","date":"2020-07-24T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Mahfoudh Arous","alias":"aladin002dz","url":"https://github.com/aladin002dz","imageURL":"https://github.com/aladin002dz.png","key":"aladin002dz","page":null},{"name":"Eric Dobbertin","alias":"aldeed","url":"https://github.com/aldeed","imageURL":"https://github.com/aldeed.png","key":"aldeed","page":null},{"name":"Amirul Ahmad","alias":"amirulahmad","url":"https://github.com/amirulahmad","imageURL":"https://github.com/amirulahmad.png","key":"amirulahmad","page":null},{"name":"Anshul Goyal","alias":"anshulrgoyal","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","key":"anshulrgoyal","page":null},{"name":"Ayan Banerjee","alias":"ayan-b","url":"https://github.com/ayan-b","imageURL":"https://github.com/ayan-b.png","key":"ayan-b","page":null},{"name":"Jeremy Asuncion","alias":"codemonkey800","url":"https://github.com/codemonkey800","imageURL":"https://github.com/codemonkey800.png","key":"codemonkey800","page":null},{"name":"Daniel Hochman","alias":"danielhochman","url":"https://github.com/danielhochman","imageURL":"https://github.com/danielhochman.png","key":"danielhochman","page":null},{"name":"Deepak Giri","alias":"dpkg","url":"https://github.com/dpkg","imageURL":"https://github.com/dpkg.png","key":"dpkg","page":null},{"name":"ehsan jso","alias":"ehsanjso","url":"https://github.com/ehsanjso","imageURL":"https://github.com/ehsanjso.png","key":"ehsanjso","page":null},{"name":"Arsalan Khattak","alias":"eKhattak","url":"https://github.com/eKhattak","imageURL":"https://github.com/eKhattak.png","key":"eKhattak","page":null},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},{"name":"matbub","alias":"hi-matbub","url":"https://github.com/hi-matbub","imageURL":"https://github.com/hi-matbub.png","key":"hi-matbub","page":null},{"name":"John Knox","alias":"jknoxville","url":"https://github.com/jknoxville","imageURL":"https://github.com/jknoxville.png","key":"jknoxville","page":null},{"name":"Jordan Liu","alias":"jordanliu","url":"https://github.com/jordanliu","imageURL":"https://github.com/jordanliu.png","key":"jordanliu","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},{"name":"Paul Cowgill","alias":"pcowgill","url":"https://github.com/pcowgill","imageURL":"https://github.com/pcowgill.png","key":"pcowgill","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Frida Hjelm","alias":"svtfrida","url":"https://github.com/svtfrida","imageURL":"https://github.com/svtfrida.png","key":"svtfrida","page":null},{"name":"Taylor Allen","alias":"taylorallen0913","url":"https://github.com/taylorallen0913","imageURL":"https://github.com/taylorallen0913.png","key":"taylorallen0913","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"Vandr\xe9 Leal","alias":"vandreleal","url":"https://github.com/vandreleal","imageURL":"https://github.com/vandreleal.png","key":"vandreleal","page":null},{"name":"Rian Finnegan","alias":"xtellurian","url":"https://github.com/xtellurian","imageURL":"https://github.com/xtellurian.png","key":"xtellurian","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-07-24T20:00","authors":["aladin002dz","aldeed","amirulahmad","anshulrgoyal","ayan-b","codemonkey800","danielhochman","dpkg","ehsanjso","eKhattak","francoischalifour","hi-matbub","jknoxville","jordanliu","lex111","nebrelbug","pcowgill","SamChou19815","slorber","svtfrida","taylorallen0913","teikjun","vandreleal","xtellurian","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.60","permalink":"/changelog/2.0.0-alpha.60"},"nextItem":{"title":"2.0.0-alpha.58","permalink":"/changelog/2.0.0-alpha.58"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-migrate`, `docusaurus-plugin-client-redirects`\\n - [#3015](https://github.com/facebook/docusaurus/pull/3015) feat: automate migration from v1 to v2 ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- `docusaurus-init`\\n - [#3105](https://github.com/facebook/docusaurus/pull/3105) feat(v2): add docusaurus script for npm users ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-search-algolia`\\n - [#2815](https://github.com/facebook/docusaurus/pull/2815) feat(v2): introduce DocSearch v3 search ([@francoischalifour](https://github.com/francoischalifour))\\n- `docusaurus-init`, `docusaurus-types`, `docusaurus`\\n - [#3059](https://github.com/facebook/docusaurus/pull/3059) feat(v2): broken links detection ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#3084](https://github.com/facebook/docusaurus/pull/3084) feat(v2): absolute slugs and slug resolution system ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`\\n - [#3069](https://github.com/facebook/docusaurus/pull/3069) feat(v2): support for adding relative images and handling broken image links ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- `docusaurus-init`, `docusaurus-module-type-aliases`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-debug`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#2971](https://github.com/facebook/docusaurus/pull/2971) feat(v2): global data + useGlobalData + docs versions dropdown ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus`\\n - [#3080](https://github.com/facebook/docusaurus/pull/3080) feat(v2): add support for serve command ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-debug`, `docusaurus-types`, `docusaurus`\\n - [#3058](https://github.com/facebook/docusaurus/pull/3058) feat(v2): useDocusaurusContext().siteMetadata ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#3032](https://github.com/facebook/docusaurus/pull/3032) feat(v2): notify users when docusaurus version is outdated ([@teikjun](https://github.com/teikjun))\\n - [#3033](https://github.com/facebook/docusaurus/pull/3033) feat(v2): add useBaseUrlUtils() hook ([@slorber](https://github.com/slorber))\\n - [#3006](https://github.com/facebook/docusaurus/pull/3006) feat(v2): prompt user when default port is in use ([@taylorallen0913](https://github.com/taylorallen0913))\\n- `docusaurus-module-type-aliases`, `docusaurus-plugin-debug`, `docusaurus`\\n - [#3050](https://github.com/facebook/docusaurus/pull/3050) feat(v2): Collect plugin versions to allow them to be inspected in debug plugin ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-theme-classic`\\n - [#3038](https://github.com/facebook/docusaurus/pull/3038) feat(v2): Support keywords meta in blog posts ([@dpkg](https://github.com/dpkg))\\n - [#2974](https://github.com/facebook/docusaurus/pull/2974) feat(v2): Error when hooks depends on context is used outside of Layout ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-pwa`, `docusaurus`\\n - [#2205](https://github.com/facebook/docusaurus/pull/2205) feat(v2): Plugin for Offline/PWA support ([@codemonkey800](https://github.com/codemonkey800))\\n- `docusaurus-plugin-ideal-image`, `docusaurus-types`, `docusaurus`\\n - [#2994](https://github.com/facebook/docusaurus/pull/2994) feat(v2): configureWebpack merge strategy + use file-loader for common asset types ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`\\n - [#2989](https://github.com/facebook/docusaurus/pull/2989) feat(v2): add disableVersioning config to docs plugin ([@slorber](https://github.com/slorber))\\n - [#2877](https://github.com/facebook/docusaurus/pull/2877) feat(v2): allow skipping build docs for next version ([@lex111](https://github.com/lex111))\\n- `docusaurus-1.x`\\n - [#2955](https://github.com/facebook/docusaurus/pull/2955) feat(v1): add deletedDocs config to fix unwanted versioning fallback ([@aldeed](https://github.com/aldeed))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-types`, `docusaurus`\\n - [#2943](https://github.com/facebook/docusaurus/pull/2943) feat(v2): option and config validation life cycle method for official plugins ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-init`, `docusaurus-module-type-aliases`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-debug`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#2971](https://github.com/facebook/docusaurus/pull/2971) feat(v2): global data + useGlobalData + docs versions dropdown ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#3012](https://github.com/facebook/docusaurus/pull/3012) fix(v2): refactor color mode system ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#3107](https://github.com/facebook/docusaurus/pull/3107) fix(v2): broken links detector: ignore existing folders ([@slorber](https://github.com/slorber))\\n - [#3112](https://github.com/facebook/docusaurus/pull/3112) fix(v2): baseUrl is wrongly appended to anchor links ([@slorber](https://github.com/slorber))\\n - [#3063](https://github.com/facebook/docusaurus/pull/3063) fix(v2): classify link hrefs with protocol identifier as internal ([@svtfrida](https://github.com/svtfrida))\\n- `docusaurus-theme-classic`\\n - [#3106](https://github.com/facebook/docusaurus/pull/3106) fix(v2): dropdown navbar item: validation too strict ([@slorber](https://github.com/slorber))\\n - [#3029](https://github.com/facebook/docusaurus/pull/3029) fix(v2): change description for blog post paginator ([@teikjun](https://github.com/teikjun))\\n- `docusaurus-plugin-content-docs`\\n - [#3108](https://github.com/facebook/docusaurus/pull/3108) fix(v2): fix docs instance path typo ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-pages`\\n - [#3025](https://github.com/facebook/docusaurus/pull/3025) fix(v2):pass siteConfig as prop to pages ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- `docusaurus-init`\\n - [#3008](https://github.com/facebook/docusaurus/pull/3008) chore(v2): Add E2E test for yarn v2 ([@SamChou19815](https://github.com/SamChou19815))\\n- Other\\n - [#3017](https://github.com/facebook/docusaurus/pull/3017) fix(v2): fix broken links on versions page ([@teikjun](https://github.com/teikjun))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#3012](https://github.com/facebook/docusaurus/pull/3012) fix(v2): refactor color mode system ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils`, `docusaurus`\\n - [#3001](https://github.com/facebook/docusaurus/pull/3001) fix(v2): refactor routes.ts + add route hash for chunkNames key ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-utils`, `docusaurus`\\n - [#3010](https://github.com/facebook/docusaurus/pull/3010) fix(v2): make client-redirect-plugin not baseUrl sensitive ([@teikjun](https://github.com/teikjun))\\n- `docusaurus-1.x`\\n - [#2993](https://github.com/facebook/docusaurus/pull/2993) fix(relative path): last update date and by isn\u2019t generated if localh\u2026 ([@amirulahmad](https://github.com/amirulahmad))\\n- `docusaurus-plugin-client-redirects`\\n - [#2969](https://github.com/facebook/docusaurus/pull/2969) fix: fromExtensions and toExtensions translation when used with baseUrl ([@jknoxville](https://github.com/jknoxville))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#3088](https://github.com/facebook/docusaurus/pull/3088) improve navbar menu ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`\\n - [#3087](https://github.com/facebook/docusaurus/pull/3087) refactor(v2): async md image transformer + pathname protocol as an escape hatch ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-theme-live-codeblock`, `docusaurus-types`\\n - [#2970](https://github.com/facebook/docusaurus/pull/2970) feat(v2): add option validation for remaining official plugins ([@teikjun](https://github.com/teikjun))\\n- `docusaurus`\\n - [#2987](https://github.com/facebook/docusaurus/pull/2987) chore(v2): use joi for config validation ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n\\n## :memo: Documentation\\n\\n- [#3026](https://github.com/facebook/docusaurus/pull/3026) docs(v2): add documentation for migration command ([@teikjun](https://github.com/teikjun))\\n- [#3094](https://github.com/facebook/docusaurus/pull/3094) docs(v2): showcase user Clutch ([@danielhochman](https://github.com/danielhochman))\\n- [#3101](https://github.com/facebook/docusaurus/pull/3101) docs(v2):Add azure-pipelines CI guide ([@ayan-b](https://github.com/ayan-b))\\n- [#3098](https://github.com/facebook/docusaurus/pull/3098) docs: Add azure-pipelines CI guide ([@ayan-b](https://github.com/ayan-b))\\n- [#3086](https://github.com/facebook/docusaurus/pull/3086) doc(v2): replace heading position ([@eKhattak](https://github.com/eKhattak))\\n- [#3082](https://github.com/facebook/docusaurus/pull/3082) fixing few typos and enhancing few sentences clarity ([@aladin002dz](https://github.com/aladin002dz))\\n- [#3078](https://github.com/facebook/docusaurus/pull/3078) Updated link for #docusaurus-2-dev discord ([@jordanliu](https://github.com/jordanliu))\\n- [#3076](https://github.com/facebook/docusaurus/pull/3076) docs(v2): showcase Runlet ([@vandreleal](https://github.com/vandreleal))\\n- [#3040](https://github.com/facebook/docusaurus/pull/3040) docs(v2): correct the documentation for docs-only mode ([@teikjun](https://github.com/teikjun))\\n- [#3034](https://github.com/facebook/docusaurus/pull/3034) docs(v2): showcase user Tasit ([@pcowgill](https://github.com/pcowgill))\\n- [#3022](https://github.com/facebook/docusaurus/pull/3022) docs(v2): showcase Eta ([@nebrelbug](https://github.com/nebrelbug))\\n- [#3011](https://github.com/facebook/docusaurus/pull/3011) docs(v1): external links ([@slorber](https://github.com/slorber))\\n- [#2997](https://github.com/facebook/docusaurus/pull/2997) docs(v2): Document TypeScript support ([@SamChou19815](https://github.com/SamChou19815))\\n- [#2973](https://github.com/facebook/docusaurus/pull/2973) docs(v2): Fix typo in markdown-features ([@ehsanjso](https://github.com/ehsanjso))\\n- [#2991](https://github.com/facebook/docusaurus/pull/2991) Showcase Amphora Data ([@xtellurian](https://github.com/xtellurian))\\n- [#2983](https://github.com/facebook/docusaurus/pull/2983) docs(v2): add plugin redirects production build note ([@slorber](https://github.com/slorber))\\n- [#2967](https://github.com/facebook/docusaurus/pull/2967) docs(v2): fix typos in plugin-content examples ([@hi-matbub](https://github.com/hi-matbub))\\n- [#2960](https://github.com/facebook/docusaurus/pull/2960) doc(v2): publish doc update after alpha.58 release ([@slorber](https://github.com/slorber))\\n- [#2966](https://github.com/facebook/docusaurus/pull/2966) docs(v2): fix typo in plugin-content-pages example ([@hi-matbub](https://github.com/hi-matbub))\\n\\n## :house: Internal\\n\\n- `docusaurus-migrate`\\n - [#3113](https://github.com/facebook/docusaurus/pull/3113) chore(v2): ability to test the migration cli easily ([@slorber](https://github.com/slorber))\\n- Other\\n - [#3099](https://github.com/facebook/docusaurus/pull/3099) fix(v2): netlify.toml shouldn\'t affect v1 site deployment config ([@slorber](https://github.com/slorber))\\n - [#3068](https://github.com/facebook/docusaurus/pull/3068) chore(deps): bump lodash from 4.17.15 to 4.17.19 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#2958](https://github.com/facebook/docusaurus/pull/2958) docs(v2): rename 2.0.0-alpha.57 to 2.0.0-alpha.58 ([@yangshun](https://github.com/yangshun))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus`\\n - [#3093](https://github.com/facebook/docusaurus/pull/3093) fix(v2): fix recent baseurl issues ([@slorber](https://github.com/slorber))\\n- `docusaurus-mdx-loader`\\n - [#3087](https://github.com/facebook/docusaurus/pull/3087) refactor(v2): async md image transformer + pathname protocol as an escape hatch ([@slorber](https://github.com/slorber))\\n- `docusaurus-plugin-pwa`, `docusaurus`\\n - [#3055](https://github.com/facebook/docusaurus/pull/3055) chore(v2): Adopt corejs 3 and only import at entry point ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-init`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-utils`, `docusaurus`\\n - [#2998](https://github.com/facebook/docusaurus/pull/2998) chore(v2): refactor yarn tsc to yarn build + add theme-classic watch mode ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`\\n - [#3008](https://github.com/facebook/docusaurus/pull/3008) chore(v2): Add E2E test for yarn v2 ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils`, `docusaurus`\\n - [#3001](https://github.com/facebook/docusaurus/pull/3001) fix(v2): refactor routes.ts + add route hash for chunkNames key ([@slorber](https://github.com/slorber))\\n- `docusaurus`\\n - [#3007](https://github.com/facebook/docusaurus/pull/3007) fix(v2): Add two missing docusaurus core babel dependency ([@SamChou19815](https://github.com/SamChou19815))\\n - [#2987](https://github.com/facebook/docusaurus/pull/2987) chore(v2): use joi for config validation ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n - [#2950](https://github.com/facebook/docusaurus/pull/2950) chore(v2): Implement a simple E2E testing mechanism for `docusausus start` ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-theme-live-codeblock`, `docusaurus-types`\\n - [#2970](https://github.com/facebook/docusaurus/pull/2970) feat(v2): add option validation for remaining official plugins ([@teikjun](https://github.com/teikjun))\\n- `docusaurus-theme-classic`\\n - [#2996](https://github.com/facebook/docusaurus/pull/2996) chore(v2): Merge devDependencies in theme-classic ([@SamChou19815](https://github.com/SamChou19815))\\n - [#2977](https://github.com/facebook/docusaurus/pull/2977) chore(v2): Remove extraneous package-lock.json ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-client-redirects`\\n - [#2962](https://github.com/facebook/docusaurus/pull/2962) Feat: replace yup with joi for cleaner validation ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- `docusaurus-init`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#2976](https://github.com/facebook/docusaurus/pull/2976) chore(v2): Fix more eslint errors ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-sitemap`, `docusaurus-utils`, `docusaurus`, `lqip-loader`\\n - [#2972](https://github.com/facebook/docusaurus/pull/2972) chore(v2): Fix a lot of eslint warnings ([@SamChou19815](https://github.com/SamChou19815))\\n\\n## Committers: 25\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Amirul Ahmad ([@amirulahmad](https://github.com/amirulahmad))\\n- Anshul Goyal ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- Arsalan Khattak ([@eKhattak](https://github.com/eKhattak))\\n- Ayan Banerjee ([@ayan-b](https://github.com/ayan-b))\\n- Ben Gubler ([@nebrelbug](https://github.com/nebrelbug))\\n- Daniel Hochman ([@danielhochman](https://github.com/danielhochman))\\n- Deepak Giri ([@dpkg](https://github.com/dpkg))\\n- Eric Dobbertin ([@aldeed](https://github.com/aldeed))\\n- Fran\xe7ois Chalifour ([@francoischalifour](https://github.com/francoischalifour))\\n- Frida Hjelm ([@svtfrida](https://github.com/svtfrida))\\n- Jeremy Asuncion ([@codemonkey800](https://github.com/codemonkey800))\\n- John Knox ([@jknoxville](https://github.com/jknoxville))\\n- Jordan Liu ([@jordanliu](https://github.com/jordanliu))\\n- Mahfoudh Arous ([@aladin002dz](https://github.com/aladin002dz))\\n- Paul Cowgill ([@pcowgill](https://github.com/pcowgill))\\n- Rian Finnegan ([@xtellurian](https://github.com/xtellurian))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Taylor Allen ([@taylorallen0913](https://github.com/taylorallen0913))\\n- Teik Jun ([@teikjun](https://github.com/teikjun))\\n- Vandr\xe9 Leal ([@vandreleal](https://github.com/vandreleal))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- ehsan jso ([@ehsanjso](https://github.com/ehsanjso))\\n- matbub ([@hi-matbub](https://github.com/hi-matbub))"},{"id":"/2.0.0-alpha.58","metadata":{"permalink":"/changelog/2.0.0-alpha.58","source":"@site/changelog/source/2.0.0-alpha.58.md","title":"2.0.0-alpha.58","description":"New Feature","date":"2020-06-18T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"hackerman","alias":"aeneasr","url":"https://github.com/aeneasr","imageURL":"https://github.com/aeneasr.png","key":"aeneasr","page":null},{"name":"Anshul Goyal","alias":"anshulrgoyal","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","key":"anshulrgoyal","page":null},{"name":"belokonm","alias":"belokonm","url":"https://github.com/belokonm","imageURL":"https://github.com/belokonm.png","key":"belokonm","page":null},{"name":"Drew Alexander","alias":"Drewbi","url":"https://github.com/Drewbi","imageURL":"https://github.com/Drewbi.png","key":"Drewbi","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"Guillaume Jacquart","alias":"guillaumejacquart","url":"https://github.com/guillaumejacquart","imageURL":"https://github.com/guillaumejacquart.png","key":"guillaumejacquart","page":null},{"name":"Joel Marcey","alias":"JoelMarcey","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","key":"JoelMarcey","page":null},{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Koki Nishihara","alias":"Nishikoh","url":"https://github.com/Nishikoh","imageURL":"https://github.com/Nishikoh.png","key":"Nishikoh","page":null},{"name":"Paul Glezen","alias":"pglezen","url":"https://github.com/pglezen","imageURL":"https://github.com/pglezen.png","key":"pglezen","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"tetunori","alias":"tetunori","url":"https://github.com/tetunori","imageURL":"https://github.com/tetunori.png","key":"tetunori","page":null},{"name":"Tom Brien","alias":"TomBrien","url":"https://github.com/TomBrien","imageURL":"https://github.com/TomBrien.png","key":"TomBrien","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-06-18T20:00","authors":["aeneasr","anshulrgoyal","belokonm","Drewbi","fanny","guillaumejacquart","JoelMarcey","jsjoeio","lex111","moonrailgun","Nishikoh","pglezen","SamChou19815","slorber","teikjun","tetunori","TomBrien","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.59","permalink":"/changelog/2.0.0-alpha.59"},"nextItem":{"title":"2.0.0-alpha.57","permalink":"/changelog/2.0.0-alpha.57"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#2916](https://github.com/facebook/docusaurus/pull/2916) feat(v2): add a banner that links to latest version of documentation ([@teikjun](https://github.com/teikjun))\\n - [#2682](https://github.com/facebook/docusaurus/pull/2682) feat(v2): expanded sidebar categories by default ([@jsjoeio](https://github.com/jsjoeio))\\n- `docusaurus-plugin-debug`, `docusaurus-preset-classic`\\n - [#2928](https://github.com/facebook/docusaurus/pull/2928) feat(v2): Implement proof-of-concept Docusaurus Debug Dashboard ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-init`, `docusaurus`\\n - [#2903](https://github.com/facebook/docusaurus/pull/2903) feat(v2): Allow configuring babel via babel.config.js ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-client-redirects`, `docusaurus-utils`\\n - [#2793](https://github.com/facebook/docusaurus/pull/2793) feat(v2): docusaurus-plugin-client-redirects ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-live-codeblock`\\n - [#2826](https://github.com/facebook/docusaurus/pull/2826) feat(v2): allow adding components to react-live scope ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#2856](https://github.com/facebook/docusaurus/pull/2856) feat(v2): allow specifying meta image for blog posts ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#2841](https://github.com/facebook/docusaurus/pull/2841) feat(v2): Allow swizzling prism-include-languages in theme-classic ([@SamChou19815](https://github.com/SamChou19815))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-init`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#2895](https://github.com/facebook/docusaurus/pull/2895) chore(v2): replace classnames with clsx ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`\\n - [#2861](https://github.com/facebook/docusaurus/pull/2861) fix(v2): do not create route for document that serve as docs home page ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#2682](https://github.com/facebook/docusaurus/pull/2682) feat(v2): expanded sidebar categories by default ([@jsjoeio](https://github.com/jsjoeio))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`\\n - [#2905](https://github.com/facebook/docusaurus/pull/2905) fix(v2): fix docs homepage permalink issues ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#2932](https://github.com/facebook/docusaurus/pull/2932) fix(v2): Add hooks to detect window resize, toggle off sidebar and navbar in desktop ([@guillaumejacquart](https://github.com/guillaumejacquart))\\n - [#2909](https://github.com/facebook/docusaurus/pull/2909) fix(v2): adjust anchor offset when routes switched ([@lex111](https://github.com/lex111))\\n - [#2896](https://github.com/facebook/docusaurus/pull/2896) fix(v2): set correct canonical url for docs home page ([@lex111](https://github.com/lex111))\\n - [#2893](https://github.com/facebook/docusaurus/pull/2893) fix(v2): Do not automatically change tab when a non-existing option is selected ([@SamChou19815](https://github.com/SamChou19815))\\n - [#2888](https://github.com/facebook/docusaurus/pull/2888) fix(v2): restore styles for menu scrollbar ([@lex111](https://github.com/lex111))\\n - [#2857](https://github.com/facebook/docusaurus/pull/2857) fix(v2): treat inline code in raw HTML as native element ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#2951](https://github.com/facebook/docusaurus/pull/2951) fix(v2): Add optional-chaining and nullish-coalescing babel plugin ([@SamChou19815](https://github.com/SamChou19815))\\n - [#2921](https://github.com/facebook/docusaurus/pull/2921) fix(v2): upgrade react-loadable-ssr-addon ([@slorber](https://github.com/slorber))\\n - [#2854](https://github.com/facebook/docusaurus/pull/2854) fix(v2): fix broken build when swizzled NotFound component exist ([@lex111](https://github.com/lex111))\\n - [#2829](https://github.com/facebook/docusaurus/pull/2829) fix(v2): Fix plugin path resolution ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-preset-classic`\\n - [#2944](https://github.com/facebook/docusaurus/pull/2944) fix(v2): Declare @docusaurus-plugin-debug as dependency of preset classic ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-init`\\n - [#2902](https://github.com/facebook/docusaurus/pull/2902) feat(v2): add nojekyll file to static folder for all templates ([@teikjun](https://github.com/teikjun))\\n- `docusaurus-theme-bootstrap`\\n - [#2860](https://github.com/facebook/docusaurus/pull/2860) fix(v2): bootstrap doc sidebar ([@fanny](https://github.com/fanny))\\n- Other\\n - [#2874](https://github.com/facebook/docusaurus/pull/2874) fix(v2): Getting Started URL ([@fanny](https://github.com/fanny))\\n- `docusaurus-plugin-content-docs`\\n - [#2861](https://github.com/facebook/docusaurus/pull/2861) fix(v2): do not create route for document that serve as docs home page ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#2867](https://github.com/facebook/docusaurus/pull/2867) fix(v2): fix FOUC in doc sidebar and various improvements ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-search-algolia`\\n - [#2838](https://github.com/facebook/docusaurus/pull/2838) fix(v2): use base url to navigate to search page ([@tetunori](https://github.com/tetunori))\\n- `docusaurus-utils`\\n - [#2855](https://github.com/facebook/docusaurus/pull/2855) fix(v2): strip images and footnotes for excerpt correctly ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-live-codeblock`\\n - [#2835](https://github.com/facebook/docusaurus/pull/2835) fix(v2): set proper font for live editor ([@lex111](https://github.com/lex111))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-utils`, `docusaurus`\\n - [#2884](https://github.com/facebook/docusaurus/pull/2884) polish(v2): improve Docusaurus 1 to 2 migration developer experience ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#2870](https://github.com/facebook/docusaurus/pull/2870) refactor(v2): combine nested theme providers into one ([@lex111](https://github.com/lex111))\\n - [#2880](https://github.com/facebook/docusaurus/pull/2880) fix(v2): render as regular text uncollapsible categories ([@lex111](https://github.com/lex111))\\n - [#2864](https://github.com/facebook/docusaurus/pull/2864) refactor(v2): add aria role for doc sidebar ([@lex111](https://github.com/lex111))\\n - [#2859](https://github.com/facebook/docusaurus/pull/2859) refactor(v2): add aria label to paginators ([@lex111](https://github.com/lex111))\\n - [#2858](https://github.com/facebook/docusaurus/pull/2858) refactor(v2): add missing main landmark for needed pages ([@lex111](https://github.com/lex111))\\n- Other\\n - [#2862](https://github.com/facebook/docusaurus/pull/2862) Updated banner in solidarity ([@JoelMarcey](https://github.com/JoelMarcey))\\n\\n## :memo: Documentation\\n\\n- [#2946](https://github.com/facebook/docusaurus/pull/2946) docs(v2): add require.resolve to plugin imports on remaining pages ([@teikjun](https://github.com/teikjun))\\n- [#2941](https://github.com/facebook/docusaurus/pull/2941) docs(v2): wrap all plugin imports in require.resolve() ([@TomBrien](https://github.com/TomBrien))\\n- [#2934](https://github.com/facebook/docusaurus/pull/2934) docs(v2): add useThemeContext note ([@Drewbi](https://github.com/Drewbi))\\n- [#2935](https://github.com/facebook/docusaurus/pull/2935) docs(v2): Add router implementation note ([@Drewbi](https://github.com/Drewbi))\\n- [#2933](https://github.com/facebook/docusaurus/pull/2933) docs(v2): add documentation for multiple blogs ([@teikjun](https://github.com/teikjun))\\n- [#2910](https://github.com/facebook/docusaurus/pull/2910) docs(v2): fix GitHub action workflow in docs ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- [#2886](https://github.com/facebook/docusaurus/pull/2886) docs(v2): fix typo in command on installation page ([@pglezen](https://github.com/pglezen))\\n- [#2887](https://github.com/facebook/docusaurus/pull/2887) docs(v2): make .nojekyll warning more obvious ([@yangshun](https://github.com/yangshun))\\n- [#2865](https://github.com/facebook/docusaurus/pull/2865) docs(v2): description field in frontmatter of blog post ([@lex111](https://github.com/lex111))\\n- [#2839](https://github.com/facebook/docusaurus/pull/2839) docs(v2): \\\\_index docs page does not show a sidebar ([@aeneasr](https://github.com/aeneasr))\\n- [#2852](https://github.com/facebook/docusaurus/pull/2852) misc: move runme demo in block quote about v2 ([@lex111](https://github.com/lex111))\\n- [#2842](https://github.com/facebook/docusaurus/pull/2842) docs(v2): Update ZEIT to Vercel ([@Nishikoh](https://github.com/Nishikoh))\\n\\n## :house: Internal\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`\\n - [#2948](https://github.com/facebook/docusaurus/pull/2948) refactor(v2): legacy export = syntax ([@slorber](https://github.com/slorber))\\n- `docusaurus-init`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-utils`, `docusaurus`\\n - [#2922](https://github.com/facebook/docusaurus/pull/2922) misc(v2): better dx: yarn clear, yarn watch, yarn serve ([@slorber](https://github.com/slorber))\\n- Other\\n - [#2929](https://github.com/facebook/docusaurus/pull/2929) chore(v2): Run E2E tests in CI ([@SamChou19815](https://github.com/SamChou19815))\\n - [#2899](https://github.com/facebook/docusaurus/pull/2899) chore(deps): bump websocket-extensions from 0.1.3 to 0.1.4 ([@dependabot[bot]](https://github.com/apps/dependabot))\\n - [#2897](https://github.com/facebook/docusaurus/pull/2897) refactor(v2): synchronize yarn/npm command on site ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-bootstrap`\\n - [#2931](https://github.com/facebook/docusaurus/pull/2931) chore(v2): remove unused hooks from bootstrap theme ([@fanny](https://github.com/fanny))\\n- `docusaurus-1.x`, `docusaurus-plugin-content-docs`\\n - [#2906](https://github.com/facebook/docusaurus/pull/2906) chore(v2): fix async tests ([@slorber](https://github.com/slorber))\\n- `docusaurus-theme-classic`\\n - [#2858](https://github.com/facebook/docusaurus/pull/2858) refactor(v2): add missing main landmark for needed pages ([@lex111](https://github.com/lex111))\\n\\n## :running: Performance\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-sitemap`\\n - [#2936](https://github.com/facebook/docusaurus/pull/2936) perf(v2): convert synchronous filewrite to asynchronous ([@moonrailgun](https://github.com/moonrailgun))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2900](https://github.com/facebook/docusaurus/pull/2900) chore(v2): replace Clipboard with copy-text-to-clipboard ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#2895](https://github.com/facebook/docusaurus/pull/2895) chore(v2): replace classnames with clsx ([@lex111](https://github.com/lex111))\\n\\n## Committers: 18\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Anshul Goyal ([@anshulrgoyal](https://github.com/anshulrgoyal))\\n- Drew Alexander ([@Drewbi](https://github.com/Drewbi))\\n- Fanny ([@fanny](https://github.com/fanny))\\n- Guillaume Jacquart ([@guillaumejacquart](https://github.com/guillaumejacquart))\\n- Joe Previte ([@jsjoeio](https://github.com/jsjoeio))\\n- Joel Marcey ([@JoelMarcey](https://github.com/JoelMarcey))\\n- Koki Nishihara ([@Nishikoh](https://github.com/Nishikoh))\\n- Paul Glezen ([@pglezen](https://github.com/pglezen))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Teik Jun ([@teikjun](https://github.com/teikjun))\\n- Tom Brien ([@TomBrien](https://github.com/TomBrien))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- [@belokonm](https://github.com/belokonm)\\n- hackerman ([@aeneasr](https://github.com/aeneasr))\\n- moonrailgun ([@moonrailgun](https://github.com/moonrailgun))\\n- tetunori ([@tetunori](https://github.com/tetunori))"},{"id":"/2.0.0-alpha.57","metadata":{"permalink":"/changelog/2.0.0-alpha.57","source":"@site/changelog/source/2.0.0-alpha.57.md","title":"2.0.0-alpha.57","description":"Bad release, check ## 2.0.0-alpha.58","date":"2020-06-18T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2020-06-18T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.58","permalink":"/changelog/2.0.0-alpha.58"},"nextItem":{"title":"2.0.0-alpha.56","permalink":"/changelog/2.0.0-alpha.56"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\nBad release, check ## 2.0.0-alpha.58"},{"id":"/2.0.0-alpha.56","metadata":{"permalink":"/changelog/2.0.0-alpha.56","source":"@site/changelog/source/2.0.0-alpha.56.md","title":"2.0.0-alpha.56","description":"Breaking Change","date":"2020-05-28T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"John Knox","alias":"jknoxville","url":"https://github.com/jknoxville","imageURL":"https://github.com/jknoxville.png","key":"jknoxville","page":null},{"name":"James McShane","alias":"jmcshane","url":"https://github.com/jmcshane","imageURL":"https://github.com/jmcshane.png","key":"jmcshane","page":null},{"name":"Kasper B\xf8gebjerg Pedersen","alias":"kasperp","url":"https://github.com/kasperp","imageURL":"https://github.com/kasperp.png","key":"kasperp","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Muhammad Ali","alias":"mrmuhammadali","url":"https://github.com/mrmuhammadali","imageURL":"https://github.com/mrmuhammadali.png","key":"mrmuhammadali","page":null},{"name":"Piotr Baran","alias":"piotros","url":"https://github.com/piotros","imageURL":"https://github.com/piotros.png","key":"piotros","page":null},{"name":"Sylvain Pace","alias":"s-pace","url":"https://github.com/s-pace","imageURL":"https://github.com/s-pace.png","key":"s-pace","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-05-28T20:00","authors":["jknoxville","jmcshane","kasperp","lex111","mrmuhammadali","piotros","s-pace","SamChou19815"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.57","permalink":"/changelog/2.0.0-alpha.57"},"nextItem":{"title":"2.0.0-alpha.55","permalink":"/changelog/2.0.0-alpha.55"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\n- If you refer to modules (plugins) in your config file in a string form, you will need to replace them with `require.resolve` calls, for example:\\n\\n```diff\\n- plugins: [\'@docusaurus/plugin-google-analytics\']\\n+ plugins: [require.resolve(\'@docusaurus/plugin-google-analytics\')]\\n```\\n\\n- `docusaurus-theme-classic`\\n - [#2818](https://github.com/facebook/docusaurus/pull/2818) feat(v2): automatically add base url to logo link ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#2791](https://github.com/facebook/docusaurus/pull/2791) refactor(v2): show search icon only on mobiles ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#2780](https://github.com/facebook/docusaurus/pull/2780) feat(v2): open external links in new tab by default ([@jknoxville](https://github.com/jknoxville))\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-types`, `docusaurus`\\n - [#2770](https://github.com/facebook/docusaurus/pull/2770) feat(v2): allow deploy without building website ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#2818](https://github.com/facebook/docusaurus/pull/2818) feat(v2): automatically add base url to logo link ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#2645](https://github.com/facebook/docusaurus/pull/2645) fix(v2): enable scrolling for sidebar menu only ([@lex111](https://github.com/lex111))\\n - [#2800](https://github.com/facebook/docusaurus/pull/2800) fix(v2): make proper h1 font size on mobiles ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#2788](https://github.com/facebook/docusaurus/pull/2788) fix(v2): use `require.resolve` for all webpack presets and plugins ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus-plugin-content-docs`\\n - [#2785](https://github.com/facebook/docusaurus/pull/2785) fix(v2): do not show sidebar on reserved docs home page ([@lex111](https://github.com/lex111))\\n - [#2777](https://github.com/facebook/docusaurus/pull/2777) fix(v2): check for docs homepage correctly ([@lex111](https://github.com/lex111))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#2820](https://github.com/facebook/docusaurus/pull/2820) chore(v2): upgrade Infima to 0.2.0-alpha.12 ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-search-algolia`\\n - [#2814](https://github.com/facebook/docusaurus/pull/2814) refactor(v2): align search icon to center on mobiles ([@lex111](https://github.com/lex111))\\n - [#2799](https://github.com/facebook/docusaurus/pull/2799) refactor(v2): increase search input on medium screens ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`\\n - [#2802](https://github.com/facebook/docusaurus/pull/2802) misc: minor improvements for init templates ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#2791](https://github.com/facebook/docusaurus/pull/2791) refactor(v2): show search icon only on mobiles ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#2783](https://github.com/facebook/docusaurus/pull/2783) refactor(v2): make external links more secure ([@lex111](https://github.com/lex111))\\n\\n## :memo: Documentation\\n\\n- [#2809](https://github.com/facebook/docusaurus/pull/2809) docs(v2): add mention on DocSearch when you run the crawler on your own ([@s-pace](https://github.com/s-pace))\\n\\n## :house: Internal\\n\\n- [#2778](https://github.com/facebook/docusaurus/pull/2778) fix(v2): do not highlight root docs path in navbar ([@lex111](https://github.com/lex111))\\n\\n## Committers: 8\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- James McShane ([@jmcshane](https://github.com/jmcshane))\\n- John Knox ([@jknoxville](https://github.com/jknoxville))\\n- Kasper B\xf8gebjerg Pedersen ([@kasperp](https://github.com/kasperp))\\n- Muhammad Ali ([@mrmuhammadali](https://github.com/mrmuhammadali))\\n- Piotr Baran ([@piotros](https://github.com/piotros))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- Sylvain Pace ([@s-pace](https://github.com/s-pace))"},{"id":"/2.0.0-alpha.55","metadata":{"permalink":"/changelog/2.0.0-alpha.55","source":"@site/changelog/source/2.0.0-alpha.55.md","title":"2.0.0-alpha.55","description":"Breaking Change","date":"2020-05-19T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Artem Kovalov","alias":"artemkovalyov","url":"https://github.com/artemkovalyov","imageURL":"https://github.com/artemkovalyov.png","key":"artemkovalyov","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"Rajiv Singh","alias":"iamrajiv","url":"https://github.com/iamrajiv","imageURL":"https://github.com/iamrajiv.png","key":"iamrajiv","page":null},{"name":"Jimmy","alias":"jcomack","url":"https://github.com/jcomack","imageURL":"https://github.com/jcomack.png","key":"jcomack","page":null},{"name":"Julien Deniau","alias":"jdeniau","url":"https://github.com/jdeniau","imageURL":"https://github.com/jdeniau.png","key":"jdeniau","page":null},{"name":"Jonny Nabors","alias":"jonnynabors","url":"https://github.com/jonnynabors","imageURL":"https://github.com/jonnynabors.png","key":"jonnynabors","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Marco Moretti","alias":"marcosvega91","url":"https://github.com/marcosvega91","imageURL":"https://github.com/marcosvega91.png","key":"marcosvega91","page":null},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Yamagishi Kazutoshi","alias":"ykzts","url":"https://github.com/ykzts","imageURL":"https://github.com/ykzts.png","key":"ykzts","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-05-19T20:00","authors":["artemkovalyov","fanny","iamrajiv","jcomack","jdeniau","jonnynabors","lex111","marcosvega91","nebrelbug","slorber","taylorreece","yangshun","ykzts"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.56","permalink":"/changelog/2.0.0-alpha.56"},"nextItem":{"title":"2.0.0-alpha.54","permalink":"/changelog/2.0.0-alpha.54"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\n- `infima`\\n\\n - The following Infima classes have been renamed for consistency:\\n\\n - `page-item` \u2192 `pagination__item`\\n - `pagination-nav__link--label` \u2192 `pagination-nav__label`\\n - `pagination-nav__link--sublabel` \u2192 `pagination-nav__sublabel`\\n - `tab-item` \u2192 `tabs__item`\\n - `tab-item--active` \u2192 `tabs__item--active`\\n\\n If you have swizzled components, you need to replace these class names.\\n\\n- `docusaurus`\\n\\n - [#2764](https://github.com/facebook/docusaurus/pull/2764) feat(v2): allow import SVG images ([@lex111](https://github.com/lex111))\\n\\n## :rocket: New Feature\\n\\n- `docusaurus`\\n - [#2764](https://github.com/facebook/docusaurus/pull/2764) feat(v2): allow import SVG images ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#2690](https://github.com/facebook/docusaurus/pull/2690) feat(v2): allow activeBaseTest in NavLink ([@nebrelbug](https://github.com/nebrelbug))\\n - [#2694](https://github.com/facebook/docusaurus/pull/2694) feat(v2): add canonical URL to `<head>` ([@jcomack](https://github.com/jcomack))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#2652](https://github.com/facebook/docusaurus/pull/2652) feat(v2): allow home page for docs ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#2756](https://github.com/facebook/docusaurus/pull/2756) feat(v2): add search page \uD83D\uDD0E ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils`\\n - [#2701](https://github.com/facebook/docusaurus/pull/2701) fix(v2): remove Markdown syntax from excerpt ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#2765](https://github.com/facebook/docusaurus/pull/2765) fix(v2): remove invalid attr from mobile nav links ([@lex111](https://github.com/lex111))\\n - [#2760](https://github.com/facebook/docusaurus/pull/2760) fix(v2): move anchor link to right of heading ([@lex111](https://github.com/lex111))\\n - [#2758](https://github.com/facebook/docusaurus/pull/2758) fix(v2): remove extra top margin of tab item ([@lex111](https://github.com/lex111))\\n - [#2759](https://github.com/facebook/docusaurus/pull/2759) fix(v2): restore hiding of docs toc ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-search-algolia`\\n - [#2762](https://github.com/facebook/docusaurus/pull/2762) fix(v2): avoid duplication search input in navbar ([@lex111](https://github.com/lex111))\\n- `lqip-loader`\\n - [#2693](https://github.com/facebook/docusaurus/pull/2693) fix(v2): add support ES Module to lqip-loader ([@ykzts](https://github.com/ykzts))\\n- `docusaurus-init`\\n - [#2751](https://github.com/facebook/docusaurus/pull/2751) fix(v2): fix index page features.length when 0 ([@jdeniau](https://github.com/jdeniau))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#2773](https://github.com/facebook/docusaurus/pull/2773) chore(v2): upgrade Infima to 0.2.0-alpha.11 ([@lex111](https://github.com/lex111))\\n - [#2766](https://github.com/facebook/docusaurus/pull/2766) refactor(v2): remove extra active CSS class for menu item links ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-live-codeblock`\\n - [#2767](https://github.com/facebook/docusaurus/pull/2767) refactor(v2): add support for dark mode to live code blocks ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-search-algolia`\\n - [#2761](https://github.com/facebook/docusaurus/pull/2761) refactor(v2): improve UX of search page ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-bootstrap`, `docusaurus-theme-classic`\\n - [#2729](https://github.com/facebook/docusaurus/pull/2729) chore(v2): upgrade Infima to 0.2.0-alpha.10 ([@lex111](https://github.com/lex111))\\n- `docusaurus-utils`\\n - [#2696](https://github.com/facebook/docusaurus/pull/2696) refactor(v2): make semicolon optional in imports for excerpt ([@lex111](https://github.com/lex111))\\n\\n## :memo: Documentation\\n\\n- [#2768](https://github.com/facebook/docusaurus/pull/2768) docs(v2): various improvements ([@lex111](https://github.com/lex111))\\n- [#2670](https://github.com/facebook/docusaurus/pull/2670) docs(v2): add deployment workflow manual for GitHub Actions ([@artemkovalyov](https://github.com/artemkovalyov))\\n\\n## :house: Internal\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus`\\n - [#2464](https://github.com/facebook/docusaurus/pull/2464) refactor(v2): add @theme-init alias to give access to initial components ([@lex111](https://github.com/lex111))\\n\\n## :running: Performance\\n\\n- `docusaurus`\\n - [#2684](https://github.com/facebook/docusaurus/pull/2684) refactor(v2): replace EJS with Eta for SSR generation ([@nebrelbug](https://github.com/nebrelbug))\\n\\n## Committers: 13\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Artem Kovalov ([@artemkovalyov](https://github.com/artemkovalyov))\\n- Ben Gubler ([@nebrelbug](https://github.com/nebrelbug))\\n- Fanny ([@fanny](https://github.com/fanny))\\n- Jimmy ([@jcomack](https://github.com/jcomack))\\n- Jonny Nabors ([@jonnynabors](https://github.com/jonnynabors))\\n- Julien Deniau ([@jdeniau](https://github.com/jdeniau))\\n- Marco Moretti ([@marcosvega91](https://github.com/marcosvega91))\\n- Rajiv Singh ([@iamrajiv](https://github.com/iamrajiv))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Taylor Reece ([@taylorreece](https://github.com/taylorreece))\\n- Yamagishi Kazutoshi ([@ykzts](https://github.com/ykzts))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))"},{"id":"/2.0.0-alpha.54","metadata":{"permalink":"/changelog/2.0.0-alpha.54","source":"@site/changelog/source/2.0.0-alpha.54.md","title":"2.0.0-alpha.54","description":"HOTFIX for 2.0.0-alpha.53.","date":"2020-04-28T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-04-28T20:00","authors":["jsjoeio","lex111","SamChou19815"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.55","permalink":"/changelog/2.0.0-alpha.55"},"nextItem":{"title":"2.0.0-alpha.53","permalink":"/changelog/2.0.0-alpha.53"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n**HOTFIX for 2.0.0-alpha.53**.\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#2688](https://github.com/facebook/docusaurus/pull/2688) fix(v2): add default value for options in theme classic ([@lex111](https://github.com/lex111))\\n- `docusaurus-module-type-aliases`\\n - [#2687](https://github.com/facebook/docusaurus/pull/2687) fix(v2): Add all webpack module aliases to type declaration file ([@SamChou19815](https://github.com/SamChou19815))\\n\\n## :memo: Documentation\\n\\n- [#2680](https://github.com/facebook/docusaurus/pull/2680) docs(v2): add swizzle example ([@jsjoeio](https://github.com/jsjoeio))\\n\\n## Committers: 3\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Joe Previte ([@jsjoeio](https://github.com/jsjoeio))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))"},{"id":"/2.0.0-alpha.53","metadata":{"permalink":"/changelog/2.0.0-alpha.53","source":"@site/changelog/source/2.0.0-alpha.53.md","title":"2.0.0-alpha.53","description":"HOTFIX for 2.0.0-alpha.51.","date":"2020-04-27T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-04-27T20:00","authors":["lex111"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.54","permalink":"/changelog/2.0.0-alpha.54"},"nextItem":{"title":"2.0.0-alpha.51","permalink":"/changelog/2.0.0-alpha.51"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n**HOTFIX for 2.0.0-alpha.51**.\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#2676](https://github.com/facebook/docusaurus/pull/2676) fix(v2): allow build website without custom css ([@lex111](https://github.com/lex111))\\n\\n## Committers: 1\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))"},{"id":"/2.0.0-alpha.51","metadata":{"permalink":"/changelog/2.0.0-alpha.51","source":"@site/changelog/source/2.0.0-alpha.51.md","title":"2.0.0-alpha.51","description":"Breaking Change","date":"2020-04-27T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Anayo Oleru","alias":"AnayoOleru","url":"https://github.com/AnayoOleru","imageURL":"https://github.com/AnayoOleru.png","key":"AnayoOleru","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"Jay Lees","alias":"jaylees14","url":"https://github.com/jaylees14","imageURL":"https://github.com/jaylees14.png","key":"jaylees14","page":null},{"name":"Jos\xe9 Renan","alias":"JoseRenan","url":"https://github.com/JoseRenan","imageURL":"https://github.com/JoseRenan.png","key":"JoseRenan","page":null},{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},{"name":"Kamil Kisiela","alias":"kamilkisiela","url":"https://github.com/kamilkisiela","imageURL":"https://github.com/kamilkisiela.png","key":"kamilkisiela","page":null},{"name":"Krist\xf3f Poduszl\xf3","alias":"kripod","url":"https://github.com/kripod","imageURL":"https://github.com/kripod.png","key":"kripod","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Noah Silvera","alias":"Noah-Silvera","url":"https://github.com/Noah-Silvera","imageURL":"https://github.com/Noah-Silvera.png","key":"Noah-Silvera","page":null},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},{"name":"Sylvain Pace","alias":"s-pace","url":"https://github.com/s-pace","imageURL":"https://github.com/s-pace.png","key":"s-pace","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tom Brien","alias":"TomBrien","url":"https://github.com/TomBrien","imageURL":"https://github.com/TomBrien.png","key":"TomBrien","page":null},{"name":"Chris Watson","alias":"watzon","url":"https://github.com/watzon","imageURL":"https://github.com/watzon.png","key":"watzon","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Mehmet Yatk\u0131","alias":"yatki","url":"https://github.com/yatki","imageURL":"https://github.com/yatki.png","key":"yatki","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-04-27T19:00","authors":["AnayoOleru","fanny","jaylees14","JoseRenan","jsjoeio","kamilkisiela","kripod","lex111","Noah-Silvera","RDIL","s-pace","SamChou19815","Simek","slorber","TomBrien","watzon","yangshun","yatki"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.53","permalink":"/changelog/2.0.0-alpha.53"},"nextItem":{"title":"2.0.0-alpha.50","permalink":"/changelog/2.0.0-alpha.50"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\n- `infima`\\n - The following infima variables have been renamed for consistency:\\n - `--ifm-font-base-color` \u2192 `--ifm-font-color-base`\\n - `--ifm-font-base-color-inverse` \u2192 `--ifm-font-color-base-inverse`\\n - `--ifm-font-color-secondary` \u2192 `--ifm-font-color-secondary`\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#2660](https://github.com/facebook/docusaurus/pull/2660) feat(v2): add ability to specify CSS class for navbar item ([@lex111](https://github.com/lex111))\\n - [#2597](https://github.com/facebook/docusaurus/pull/2597) feat(v2): add ability set dark mode by default ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#2665](https://github.com/facebook/docusaurus/pull/2665) feat(v2): add fallback to BrowserOnly component ([@lex111](https://github.com/lex111))\\n- `docusaurus-types`, `docusaurus`\\n - [#2630](https://github.com/facebook/docusaurus/pull/2630) feat(v2): add CLI option for polling ([@TomBrien](https://github.com/TomBrien))\\n- `docusaurus-init`\\n - [#2541](https://github.com/facebook/docusaurus/pull/2541) feat(v2): add showReadingTime and editUrl to the templates ([@fanny](https://github.com/fanny))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-utils`\\n - [#2524](https://github.com/facebook/docusaurus/pull/2524) feat(v2): add edit url in post page ([@fanny](https://github.com/fanny))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#2531](https://github.com/facebook/docusaurus/pull/2531) feat(v2): add blog post estimated reading time ([@JoseRenan](https://github.com/JoseRenan))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#2672](https://github.com/facebook/docusaurus/pull/2672) fix(v2): add a11y support for dropdown ([@lex111](https://github.com/lex111))\\n - [#2649](https://github.com/facebook/docusaurus/pull/2649) fix(v2): hide sidebar after click on child item ([@lex111](https://github.com/lex111))\\n - [#2631](https://github.com/facebook/docusaurus/pull/2631) fix(v2): hide doc sidebar on mobiles ([@lex111](https://github.com/lex111))\\n - [#2626](https://github.com/facebook/docusaurus/pull/2626) fix(v2): make border right of doc sidebar equals doc page ([@lex111](https://github.com/lex111))\\n - [#2625](https://github.com/facebook/docusaurus/pull/2625) fix(v2): disable tab focus on collapsed doc sidebar items ([@lex111](https://github.com/lex111))\\n - [#2602](https://github.com/facebook/docusaurus/pull/2602) fix(v2): inherit color for announcement bar close icon ([@lex111](https://github.com/lex111))\\n - [#2582](https://github.com/facebook/docusaurus/pull/2582) fix(v2): remove horizontal scroll on docs page ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2666](https://github.com/facebook/docusaurus/pull/2666) chore(v2): upgrade prism-react-renderer to latest version ([@lex111](https://github.com/lex111))\\n - [#2533](https://github.com/facebook/docusaurus/pull/2533) fix(v2): add rounded corners in code blocks properly ([@lex111](https://github.com/lex111))\\n- `docusaurus-1.x`, `docusaurus-init-1.x`, `docusaurus-init`, `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#2661](https://github.com/facebook/docusaurus/pull/2661) chore: upgrade shelljs to 0.8.4 ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-preset-classic`, `docusaurus-theme-classic`\\n - [#2642](https://github.com/facebook/docusaurus/pull/2642) fix(v2): use remark-admonitions separately in each plugin instead of in preset only ([@lex111](https://github.com/lex111))\\n- `docusaurus-utils`\\n - [#2380](https://github.com/facebook/docusaurus/pull/2380) fix(v2): ignore import declarations in excerpt ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-sitemap`\\n - [#2616](https://github.com/facebook/docusaurus/pull/2616) fix(v2): don\'t include 404 page in sitemaps ([@RDIL](https://github.com/RDIL))\\n - [#2530](https://github.com/facebook/docusaurus/pull/2530) fix(v2): Use `writeFileSync` to write generated sitemap.xml to avoid early termination ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus`\\n - [#2558](https://github.com/facebook/docusaurus/pull/2558) fix(v2): properly link top-level github pages sites in deploy command ([@RDIL](https://github.com/RDIL))\\n - [#2580](https://github.com/facebook/docusaurus/pull/2580) fix(v2): do not process anchor links by router ([@lex111](https://github.com/lex111))\\n - [#2579](https://github.com/facebook/docusaurus/pull/2579) fix(v2): treat mailto and tel links properly ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`\\n - [#2540](https://github.com/facebook/docusaurus/pull/2540) fix(v2): use synchronous write for generate blog feeds ([@lex111](https://github.com/lex111))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#2656](https://github.com/facebook/docusaurus/pull/2656) refactor(v2): lose focus of active sidebar item after click on it ([@lex111](https://github.com/lex111))\\n - [#2627](https://github.com/facebook/docusaurus/pull/2627) refactor(v2): extract scroll position detection into separate hook ([@lex111](https://github.com/lex111))\\n - [#2595](https://github.com/facebook/docusaurus/pull/2595) refactor(v2): make margin top on blog pages as on other pages ([@lex111](https://github.com/lex111))\\n - [#2588](https://github.com/facebook/docusaurus/pull/2588) refactor(v2): remove redundant container on docs page ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#2585](https://github.com/facebook/docusaurus/pull/2585) refactor(v2): use nav link component only where needed ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#2556](https://github.com/facebook/docusaurus/pull/2556) refactor(v2): enhance CLI experience ([@RDIL](https://github.com/RDIL))\\n - [#2529](https://github.com/facebook/docusaurus/pull/2529) refactor(v2): replace few Lodash methods with native counterparts ([@Simek](https://github.com/Simek))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2534](https://github.com/facebook/docusaurus/pull/2534) refactor(v2): make better code blocks ([@lex111](https://github.com/lex111))\\n - [#2526](https://github.com/facebook/docusaurus/pull/2526) fix(v2): make code block nicer again ([@yangshun](https://github.com/yangshun))\\n- `docusaurus-plugin-content-docs`\\n - [#2519](https://github.com/facebook/docusaurus/pull/2519) chore(v2): use single method Lodash packages in docs plugin ([@Simek](https://github.com/Simek))\\n\\n## :memo: Documentation\\n\\n- [#2659](https://github.com/facebook/docusaurus/pull/2659) fix(docs): mention that appID is optional ([@s-pace](https://github.com/s-pace))\\n- [#2596](https://github.com/facebook/docusaurus/pull/2596) docs(v2): remove duplicated package.json in installation directory structure ([@jaylees14](https://github.com/jaylees14))\\n- [#2572](https://github.com/facebook/docusaurus/pull/2572) docs(v2): mention that `plugin-ideal-image` only perform compression on a production build ([@Noah-Silvera](https://github.com/Noah-Silvera))\\n- [#2570](https://github.com/facebook/docusaurus/pull/2570) docs(v2): fix syntax error for @docusaurus/plugin-ideal-image example ([@Noah-Silvera](https://github.com/Noah-Silvera))\\n- [#2566](https://github.com/facebook/docusaurus/pull/2566) docs(v2): be more polite ([@lex111](https://github.com/lex111))\\n- [#2559](https://github.com/facebook/docusaurus/pull/2559) doc(v2): remove legacy blog metadata ([@RDIL](https://github.com/RDIL))\\n- [#2549](https://github.com/facebook/docusaurus/pull/2549) docs(v2): command for swizzling all components ([@fanny](https://github.com/fanny))\\n- [#2547](https://github.com/facebook/docusaurus/pull/2547) docs(v2): Fix typo in team page ([@SamChou19815](https://github.com/SamChou19815))\\n- [#2545](https://github.com/facebook/docusaurus/pull/2545) docs(v2): add community pages ([@yangshun](https://github.com/yangshun))\\n- [#2521](https://github.com/facebook/docusaurus/pull/2521) docs(v2): useThemeContext hook ([@lex111](https://github.com/lex111))\\n\\n## :house: Internal\\n\\n- `docusaurus-types`, `docusaurus`\\n - [#2578](https://github.com/facebook/docusaurus/pull/2578) refactor(v2): Convert docusaurus-core to TypeScript ([@SamChou19815](https://github.com/SamChou19815))\\n- Other\\n - [#2569](https://github.com/facebook/docusaurus/pull/2569) docs(v2): showcase user Tourmaline ([@watzon](https://github.com/watzon))\\n - [#2553](https://github.com/facebook/docusaurus/pull/2553) misc(v2): remove deprecated/useless lerna field ([@slorber](https://github.com/slorber))\\n- `docusaurus-1.x`, `lqip-loader`\\n - [#2563](https://github.com/facebook/docusaurus/pull/2563) chore(v2): fix lint, tweak lqip-loader utils comment ([@Simek](https://github.com/Simek))\\n- `lqip-loader`\\n - [#2561](https://github.com/facebook/docusaurus/pull/2561) chore(v2): add lqip-loader tests, clarify loader code, improve README ([@Simek](https://github.com/Simek))\\n- `docusaurus-plugin-ideal-image`, `lqip-loader`\\n - [#2544](https://github.com/facebook/docusaurus/pull/2544) refactor(v2): import lqip-loader to monorepo, fix build on Node 13, fix lint-staged ([@Simek](https://github.com/Simek))\\n- `docusaurus-init`\\n - [#2542](https://github.com/facebook/docusaurus/pull/2542) chore(v2): update Prettier config ([@lex111](https://github.com/lex111))\\n- `docusaurus-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-preset-classic`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-utils`, `docusaurus`, `stylelint-copyright`\\n - [#2538](https://github.com/facebook/docusaurus/pull/2538) chore(v2): upgrade devDependencies ([@yangshun](https://github.com/yangshun))\\n- `docusaurus-utils`\\n - [#2536](https://github.com/facebook/docusaurus/pull/2536) refactor(v2): replace Lodash with single methods packages in utils ([@Simek](https://github.com/Simek))\\n- `docusaurus`\\n - [#2535](https://github.com/facebook/docusaurus/pull/2535) refactor(v2): replace Lodash with single methods packages in core ([@Simek](https://github.com/Simek))\\n\\n## Committers: 18\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Anayo Oleru ([@AnayoOleru](https://github.com/AnayoOleru))\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- Chris Watson ([@watzon](https://github.com/watzon))\\n- Fanny ([@fanny](https://github.com/fanny))\\n- Jay Lees ([@jaylees14](https://github.com/jaylees14))\\n- Joe Previte ([@jsjoeio](https://github.com/jsjoeio))\\n- Jos\xe9 Renan ([@JoseRenan](https://github.com/JoseRenan))\\n- Kamil Kisiela ([@kamilkisiela](https://github.com/kamilkisiela))\\n- Krist\xf3f Poduszl\xf3 ([@kripod](https://github.com/kripod))\\n- Mehmet Yatk\u0131 ([@yatki](https://github.com/yatki))\\n- Noah Silvera ([@Noah-Silvera](https://github.com/Noah-Silvera))\\n- Reece Dunham ([@RDIL](https://github.com/RDIL))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- Sylvain Pace ([@s-pace](https://github.com/s-pace))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Tom Brien ([@TomBrien](https://github.com/TomBrien))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))"},{"id":"/2.0.0-alpha.50","metadata":{"permalink":"/changelog/2.0.0-alpha.50","source":"@site/changelog/source/2.0.0-alpha.50.md","title":"2.0.0-alpha.50","description":"HOTFIX for 2.0.0-alpha.49.","date":"2020-04-02T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Can Gencer","alias":"cangencer","url":"https://github.com/cangencer","imageURL":"https://github.com/cangencer.png","key":"cangencer","page":null},{"name":"Richard Chan","alias":"iWun","url":"https://github.com/iWun","imageURL":"https://github.com/iWun.png","key":"iWun","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-04-02T20:00","authors":["cangencer","iWun","lex111","SamChou19815","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.51","permalink":"/changelog/2.0.0-alpha.51"},"nextItem":{"title":"2.0.0-alpha.49","permalink":"/changelog/2.0.0-alpha.49"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n**HOTFIX for 2.0.0-alpha.49**.\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2509](https://github.com/facebook/docusaurus/pull/2509) fix(v2): synchronize code block components changes ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#2498](https://github.com/facebook/docusaurus/pull/2498) fix(v2): blog item styling ([@yangshun](https://github.com/yangshun))\\n - [#2489](https://github.com/facebook/docusaurus/pull/2489) fix(v2): fix HTML issues nav dropdown and highlight docs item ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#2496](https://github.com/facebook/docusaurus/pull/2496) fix(v2): do not force terminate building when running deploy command ([@lex111](https://github.com/lex111))\\n- `docusaurus-utils`\\n - [#2497](https://github.com/facebook/docusaurus/pull/2497) fix(v2): unbreak blog-only mode routing by deplicating starting forward slashes ([@SamChou19815](https://github.com/SamChou19815))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#2505](https://github.com/facebook/docusaurus/pull/2505) fix(v2): tweak colors for announcement bar ([@yangshun](https://github.com/yangshun))\\n - [#2504](https://github.com/facebook/docusaurus/pull/2504) refactor(v2): improve announcement bar ([@lex111](https://github.com/lex111))\\n - [#2495](https://github.com/facebook/docusaurus/pull/2495) refactor(v2): update HTML markup of pagination for better a11y ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2502](https://github.com/facebook/docusaurus/pull/2502) fix(v2): make code block nicer ([@yangshun](https://github.com/yangshun))\\n- `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#2490](https://github.com/facebook/docusaurus/pull/2490) fix(v2): use lodash instead of array-map-polyfill ([@lex111](https://github.com/lex111))\\n\\n## :memo: Documentation\\n\\n- `docusaurus-theme-classic`\\n - [#2500](https://github.com/facebook/docusaurus/pull/2500) docs(v2): misc docs updates ([@yangshun](https://github.com/yangshun))\\n\\n## :house: Internal\\n\\n- [#2486](https://github.com/facebook/docusaurus/pull/2486) misc: add instructions about test release ([@lex111](https://github.com/lex111))\\n\\n## Committers: 5\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Can Gencer ([@cangencer](https://github.com/cangencer))\\n- Richard Chan ([@iWun](https://github.com/iWun))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))"},{"id":"/2.0.0-alpha.49","metadata":{"permalink":"/changelog/2.0.0-alpha.49","source":"@site/changelog/source/2.0.0-alpha.49.md","title":"2.0.0-alpha.49","description":"New Feature","date":"2020-04-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"38elements","alias":"38elements","url":"https://github.com/38elements","imageURL":"https://github.com/38elements.png","key":"38elements","page":null},{"name":"R\xe9mi Doreau","alias":"ayshiff","url":"https://github.com/ayshiff","imageURL":"https://github.com/ayshiff.png","key":"ayshiff","page":null},{"name":"bravo-kernel","alias":"bravo-kernel","url":"https://github.com/bravo-kernel","imageURL":"https://github.com/bravo-kernel.png","key":"bravo-kernel","page":null},{"name":"Elvis Wolcott","alias":"elviswolcott","url":"https://github.com/elviswolcott","imageURL":"https://github.com/elviswolcott.png","key":"elviswolcott","page":null},{"name":"Favour Kelvin","alias":"fakela","url":"https://github.com/fakela","imageURL":"https://github.com/fakela.png","key":"fakela","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"GermaVinsmoke","alias":"GermaVinsmoke","url":"https://github.com/GermaVinsmoke","imageURL":"https://github.com/GermaVinsmoke.png","key":"GermaVinsmoke","page":null},{"name":"iamkun","alias":"iamkun","url":"https://github.com/iamkun","imageURL":"https://github.com/iamkun.png","key":"iamkun","page":null},{"name":"Jefferson Licet","alias":"jeffersonlicet","url":"https://github.com/jeffersonlicet","imageURL":"https://github.com/jeffersonlicet.png","key":"jeffersonlicet","page":null},{"name":"KohheePeace","alias":"KohheePeace","url":"https://github.com/KohheePeace","imageURL":"https://github.com/KohheePeace.png","key":"KohheePeace","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Luke Collier","alias":"lukecollier","url":"https://github.com/lukecollier","imageURL":"https://github.com/lukecollier.png","key":"lukecollier","page":null},{"name":"mohrash92","alias":"mohrash92","url":"https://github.com/mohrash92","imageURL":"https://github.com/mohrash92.png","key":"mohrash92","page":null},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},{"name":"Nisar Hassan Naqvi","alias":"nisarhassan12","url":"https://github.com/nisarhassan12","imageURL":"https://github.com/nisarhassan12.png","key":"nisarhassan12","page":null},{"name":"Paul Armstrong","alias":"paularmstrong","url":"https://github.com/paularmstrong","imageURL":"https://github.com/paularmstrong.png","key":"paularmstrong","page":null},{"name":"Linus L\xe5ngberg","alias":"phoqe","url":"https://github.com/phoqe","imageURL":"https://github.com/phoqe.png","key":"phoqe","page":null},{"name":"Ram\xf3n Lamana","alias":"rlamana","url":"https://github.com/rlamana","imageURL":"https://github.com/rlamana.png","key":"rlamana","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Theodore Chu","alias":"TheodoreChu","url":"https://github.com/TheodoreChu","imageURL":"https://github.com/TheodoreChu.png","key":"TheodoreChu","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"ZachJW34","alias":"ZachJW34","url":"https://github.com/ZachJW34","imageURL":"https://github.com/ZachJW34.png","key":"ZachJW34","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-04-01T20:00","authors":["38elements","ayshiff","bravo-kernel","elviswolcott","fakela","fanny","GermaVinsmoke","iamkun","jeffersonlicet","KohheePeace","lex111","lukecollier","mohrash92","nebrelbug","nisarhassan12","paularmstrong","phoqe","rlamana","SamChou19815","Simek","slorber","TheodoreChu","yangshun","ZachJW34"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.50","permalink":"/changelog/2.0.0-alpha.50"},"nextItem":{"title":"2.0.0-alpha.48","permalink":"/changelog/2.0.0-alpha.48"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#2487](https://github.com/facebook/docusaurus/pull/2487) feat(v2): nav dropdown ([@yangshun](https://github.com/yangshun))\\n - [#2456](https://github.com/facebook/docusaurus/pull/2456) feat(v2): support comments for code highlighting ([@elviswolcott](https://github.com/elviswolcott))\\n - [#2330](https://github.com/facebook/docusaurus/pull/2330) feat(v2): add announcement bar ([@lex111](https://github.com/lex111))\\n - [#2440](https://github.com/facebook/docusaurus/pull/2440) feat(v2): make clickable sidebar logo ([@lex111](https://github.com/lex111))\\n - [#2366](https://github.com/facebook/docusaurus/pull/2366) feat(v2): support syncing tab choices ([@SamChou19815](https://github.com/SamChou19815))\\n- `docusaurus`\\n - [#2323](https://github.com/facebook/docusaurus/pull/2323) feat(v2): add a way to exclude components from build-time prerendering ([@lex111](https://github.com/lex111))\\n - [#2469](https://github.com/facebook/docusaurus/pull/2469) feat(v2): add TypeScript support for theme components ([@SamChou19815](https://github.com/SamChou19815))\\n - [#2455](https://github.com/facebook/docusaurus/pull/2455) feat(v2): add @theme-original alias to give access to pre-swizzled components ([@yangshun](https://github.com/yangshun))\\n - [#2438](https://github.com/facebook/docusaurus/pull/2438) feat(v2): add version to page\'s generated meta tags ([@lex111](https://github.com/lex111))\\n- `docusaurus-types`, `docusaurus`\\n - [#2474](https://github.com/facebook/docusaurus/pull/2474) feat(v2): add ability to create unminimized bundles ([@lex111](https://github.com/lex111))\\n - [#2417](https://github.com/facebook/docusaurus/pull/2417) feat(v2): allow custom output directory for build ([@ZachJW34](https://github.com/ZachJW34))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2346](https://github.com/facebook/docusaurus/pull/2346) feat(v2): add filename in CodeBlock ([@KohheePeace](https://github.com/KohheePeace))\\n- `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#2444](https://github.com/facebook/docusaurus/pull/2444) feat(v2): allow nested sidebar category shorthand syntax ([@slorber](https://github.com/slorber))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#2483](https://github.com/facebook/docusaurus/pull/2483) fix(v2): do not render sidebar logo if used sticky navbar ([@lex111](https://github.com/lex111))\\n - [#2475](https://github.com/facebook/docusaurus/pull/2475) fix(v2): make correct Open Graph title for doc page ([@lex111](https://github.com/lex111))\\n - [#2436](https://github.com/facebook/docusaurus/pull/2436) fix(v2): update twitter:card to summary_large_image ([@lex111](https://github.com/lex111))\\n - [#2434](https://github.com/facebook/docusaurus/pull/2434) fix(v2): add support dark logo for sidebar logo ([@lex111](https://github.com/lex111))\\n - [#2420](https://github.com/facebook/docusaurus/pull/2420) fix(v2): fix external URL for og:image tag ([@38elements](https://github.com/38elements))\\n- `docusaurus-theme-live-codeblock`\\n - [#2480](https://github.com/facebook/docusaurus/pull/2480) fix(v2): various improvements for accessibility ([@lex111](https://github.com/lex111))\\n- `docusaurus-mdx-loader`, `docusaurus-theme-classic`\\n - [#2479](https://github.com/facebook/docusaurus/pull/2479) chore(v2): upgrade MDX to 1.5.8 ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2476](https://github.com/facebook/docusaurus/pull/2476) fix(v2): improve code block scroll accessibility ([@lex111](https://github.com/lex111))\\n - [#2442](https://github.com/facebook/docusaurus/pull/2442) fix(v2): various improvements for accessibility ([@lex111](https://github.com/lex111))\\n- `docusaurus-preset-classic`, `docusaurus-theme-classic`\\n - [#2477](https://github.com/facebook/docusaurus/pull/2477) chore(v2): upgrade remark-admonitions for a11y fixes ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#2462](https://github.com/facebook/docusaurus/pull/2462) fix(v2): do not force terminate building when bundle analyzer is on ([@lex111](https://github.com/lex111))\\n - [#2393](https://github.com/facebook/docusaurus/pull/2393) fix(v2): normalize location for route matching ([@rlamana](https://github.com/rlamana))\\n - [#2443](https://github.com/facebook/docusaurus/pull/2443) fix(v2): always exit after successful build ([@mohrash92](https://github.com/mohrash92))\\n - [#2437](https://github.com/facebook/docusaurus/pull/2437) fix(v2): do not force terminate building if client bundle failed in development mode ([@lex111](https://github.com/lex111))\\n - [#2424](https://github.com/facebook/docusaurus/pull/2424) fix(v2): make correct internal link check ([@lex111](https://github.com/lex111))\\n- `docusaurus-preset-classic`\\n - [#2451](https://github.com/facebook/docusaurus/pull/2451) fix(v2): pass options to remark-admonitions ([@elviswolcott](https://github.com/elviswolcott))\\n- `docusaurus-mdx-loader`\\n - [#2426](https://github.com/facebook/docusaurus/pull/2426) fix(v2): remove HTML from heading slug ([@lex111](https://github.com/lex111))\\n- `docusaurus-utils`\\n - [#2405](https://github.com/facebook/docusaurus/pull/2405) fix(v2): properly dedupe forward slashes in the entire URL path ([@rlamana](https://github.com/rlamana))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#2485](https://github.com/facebook/docusaurus/pull/2485) refactor(v2): remove unnecessary X-UA-Compatible meta tag ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`\\n - [#2460](https://github.com/facebook/docusaurus/pull/2460) refactor(v2): use single method package instead of whole Lodash package in blog plugin ([@Simek](https://github.com/Simek))\\n- Other\\n - [#2428](https://github.com/facebook/docusaurus/pull/2428) polish(v2): use npm-to-yarn for the npm2yarn remark plugin ([@nebrelbug](https://github.com/nebrelbug))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#2478](https://github.com/facebook/docusaurus/pull/2478) docs(v2): mark that in dev server some features may not work ([@lex111](https://github.com/lex111))\\n - [#2472](https://github.com/facebook/docusaurus/pull/2472) docs(v2): fix typo in deployment docs ([@GermaVinsmoke](https://github.com/GermaVinsmoke))\\n - [#2423](https://github.com/facebook/docusaurus/pull/2423) docs(v2): add Sass/SCSS under the styling section ([@rlamana](https://github.com/rlamana))\\n - [#2446](https://github.com/facebook/docusaurus/pull/2446) docs(v2): add docusaurus-plugin-sass to community plugins ([@rlamana](https://github.com/rlamana))\\n - [#2408](https://github.com/facebook/docusaurus/pull/2408) docs(v2): suggest Surge for quick deployment ([@fakela](https://github.com/fakela))\\n - [#2401](https://github.com/facebook/docusaurus/pull/2401) docs(v2): add resources page ([@yangshun](https://github.com/yangshun))\\n - [#2413](https://github.com/facebook/docusaurus/pull/2413) docs(v2): include appId key for Algolia ([@TheodoreChu](https://github.com/TheodoreChu))\\n - [#2411](https://github.com/facebook/docusaurus/pull/2411) docs:(v2): add Netlify configuration warning ([@bravo-kernel](https://github.com/bravo-kernel))\\n - [#2397](https://github.com/facebook/docusaurus/pull/2397) docs(v2):update alpha version to current version ([@fakela](https://github.com/fakela))\\n - [#2395](https://github.com/facebook/docusaurus/pull/2395) docs(v2): clarify instructions on docs-only mode ([@phoqe](https://github.com/phoqe))\\n- `docusaurus-init`\\n - [#2458](https://github.com/facebook/docusaurus/pull/2458) fix(v2): expand broken admonitions ([@elviswolcott](https://github.com/elviswolcott))\\n\\n## :house: Internal\\n\\n- `docusaurus`\\n - [#2461](https://github.com/facebook/docusaurus/pull/2461) chore(v2): upgrade react-dev-utils ([@lex111](https://github.com/lex111))\\n- Other\\n - [#2450](https://github.com/facebook/docusaurus/pull/2450) docs(v2): Adding Motion Layout to Docusaurus users ([@jeffersonlicet](https://github.com/jeffersonlicet))\\n - [#2450](https://github.com/facebook/docusaurus/pull/2450) docs(v2): Adding Motion Layout to Docusaurus users ([@jeffersonlicet](https://github.com/jeffersonlicet))\\n - [#2439](https://github.com/facebook/docusaurus/pull/2439) polish(v2): add logo for dark mode ([@lex111](https://github.com/lex111))\\n - [#2435](https://github.com/facebook/docusaurus/pull/2435) fix(v2): fix aspect ratio for Open Graph image ([@lex111](https://github.com/lex111))\\n - [#2433](https://github.com/facebook/docusaurus/pull/2433) chore(v2): ignore JetBrains editors .iml files ([@slorber](https://github.com/slorber))\\n - [#2416](https://github.com/facebook/docusaurus/pull/2416) docs(v2): Add Build Tracker to Showcase page ([@paularmstrong](https://github.com/paularmstrong))\\n - [#2388](https://github.com/facebook/docusaurus/pull/2388) docs(v1): showcase user Day.js ([@iamkun](https://github.com/iamkun))\\n- `stylelint-copyright`\\n - [#2415](https://github.com/facebook/docusaurus/pull/2415) misc: improve stylelint rule ([@ayshiff](https://github.com/ayshiff))\\n\\n## Committers: 24\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Bartosz Kaszubowski ([@Simek](https://github.com/Simek))\\n- Ben Gubler ([@nebrelbug](https://github.com/nebrelbug))\\n- Elvis Wolcott ([@elviswolcott](https://github.com/elviswolcott))\\n- Fanny ([@fanny](https://github.com/fanny))\\n- Favour Kelvin ([@fakela](https://github.com/fakela))\\n- Jefferson Licet ([@jeffersonlicet](https://github.com/jeffersonlicet))\\n- Kohhee Peace ([@KohheePeace](https://github.com/KohheePeace))\\n- Linus L\xe5ngberg ([@phoqe](https://github.com/phoqe))\\n- Luke Collier ([@lukecollier](https://github.com/lukecollier))\\n- Nisar Hassan Naqvi ([@nisarhassan12](https://github.com/nisarhassan12))\\n- Paul Armstrong ([@paularmstrong](https://github.com/paularmstrong))\\n- Ram\xf3n Lamana ([@rlamana](https://github.com/rlamana))\\n- R\xe9mi Doreau ([@ayshiff](https://github.com/ayshiff))\\n- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815))\\n- S\xe9bastien Lorber ([@slorber](https://github.com/slorber))\\n- Theodore Chu ([@TheodoreChu](https://github.com/TheodoreChu))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- [@38elements](https://github.com/38elements)\\n- [@GermaVinsmoke](https://github.com/GermaVinsmoke)\\n- [@ZachJW34](https://github.com/ZachJW34)\\n- [@bravo-kernel](https://github.com/bravo-kernel)\\n- [@iamkun](https://github.com/iamkun)\\n- [@mohrash92](https://github.com/mohrash92)"},{"id":"/2.0.0-alpha.48","metadata":{"permalink":"/changelog/2.0.0-alpha.48","source":"@site/changelog/source/2.0.0-alpha.48.md","title":"2.0.0-alpha.48","description":"HOTFIX for 2.0.0-alpha.44.","date":"2020-03-08T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-03-08T20:00","authors":["lex111"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.49","permalink":"/changelog/2.0.0-alpha.49"},"nextItem":{"title":"2.0.0-alpha.44","permalink":"/changelog/2.0.0-alpha.44"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n**HOTFIX for 2.0.0-alpha.44**.\\n\\n## :bug: Bug Fix\\n\\n- Other\\n - [#2383](https://github.com/facebook/docusaurus/pull/2383) fix(v2): specify proper version for stylelint-copyright ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#2382](https://github.com/facebook/docusaurus/pull/2382) fix(v2): add missing preset-typescript dependency ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#2386](https://github.com/facebook/docusaurus/pull/2386) fix(v2): add missing prismjs dependency and Noop component ([@lex111](https://github.com/lex111))\\n\\n## Committers: 1\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))"},{"id":"/2.0.0-alpha.44","metadata":{"permalink":"/changelog/2.0.0-alpha.44","source":"@site/changelog/source/2.0.0-alpha.44.md","title":"2.0.0-alpha.44","description":"New Feature","date":"2020-03-08T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Amila Welihinda","alias":"amilajack","url":"https://github.com/amilajack","imageURL":"https://github.com/amilajack.png","key":"amilajack","page":null},{"name":"Paulus Schoutsen","alias":"balloob","url":"https://github.com/balloob","imageURL":"https://github.com/balloob.png","key":"balloob","page":null},{"name":"Robert","alias":"deniaz","url":"https://github.com/deniaz","imageURL":"https://github.com/deniaz.png","key":"deniaz","page":null},{"name":"Hassan Farid","alias":"hassanfarid","url":"https://github.com/hassanfarid","imageURL":"https://github.com/hassanfarid.png","key":"hassanfarid","page":null},{"name":"jartuso","alias":"jartuso","url":"https://github.com/jartuso","imageURL":"https://github.com/jartuso.png","key":"jartuso","page":null},{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Mohamed Abdel Nasser","alias":"mohamedsgap","url":"https://github.com/mohamedsgap","imageURL":"https://github.com/mohamedsgap.png","key":"mohamedsgap","page":null},{"name":"Noah Silvera","alias":"Noah-Silvera","url":"https://github.com/Noah-Silvera","imageURL":"https://github.com/Noah-Silvera.png","key":"Noah-Silvera","page":null},{"name":"Linus L\xe5ngberg","alias":"phoqe","url":"https://github.com/phoqe","imageURL":"https://github.com/phoqe.png","key":"phoqe","page":null},{"name":"Ram\xf3n Lamana","alias":"rlamana","url":"https://github.com/rlamana","imageURL":"https://github.com/rlamana.png","key":"rlamana","page":null},{"name":"Sylvain Pace","alias":"s-pace","url":"https://github.com/s-pace","imageURL":"https://github.com/s-pace.png","key":"s-pace","page":null},{"name":"Scott Lee","alias":"scottilee","url":"https://github.com/scottilee","imageURL":"https://github.com/scottilee.png","key":"scottilee","page":null},{"name":"Theodore Chu","alias":"TheodoreChu","url":"https://github.com/TheodoreChu","imageURL":"https://github.com/TheodoreChu.png","key":"TheodoreChu","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Zhenchao Cai","alias":"Zhencha0Cai","url":"https://github.com/Zhencha0Cai","imageURL":"https://github.com/Zhencha0Cai.png","key":"Zhencha0Cai","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-03-08T19:00","authors":["amilajack","balloob","deniaz","hassanfarid","jartuso","jsjoeio","lex111","mohamedsgap","Noah-Silvera","phoqe","rlamana","s-pace","scottilee","TheodoreChu","yangshun","Zhencha0Cai"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.48","permalink":"/changelog/2.0.0-alpha.48"},"nextItem":{"title":"2.0.0-alpha.43","permalink":"/changelog/2.0.0-alpha.43"},"listPageLink":"/changelog/page/4"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#2250](https://github.com/facebook/docusaurus/pull/2250) feat(v2): add support specify new languages for Prism ([@lex111](https://github.com/lex111))\\n - [#2344](https://github.com/facebook/docusaurus/pull/2344) feat(v2): allow specifying custom target for logo link ([@lex111](https://github.com/lex111))\\n - [#2327](https://github.com/facebook/docusaurus/pull/2327) feat(v2): add ability to use HTML in footer copyright ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`\\n - [#2335](https://github.com/facebook/docusaurus/pull/2335) feat(v2): add draft feature to blog posts ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`, `docusaurus-theme-classic`\\n - [#2303](https://github.com/facebook/docusaurus/pull/2303) docs(v2): Nav links activeBasePath ([@yangshun](https://github.com/yangshun))\\n- `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus`\\n - [#2296](https://github.com/facebook/docusaurus/pull/2296) feat(v2): add ExecutionEnvironment API ([@yangshun](https://github.com/yangshun))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#2345](https://github.com/facebook/docusaurus/pull/2345) fix(v2): force terminate building if client bundle failed ([@lex111](https://github.com/lex111))\\n - [#2310](https://github.com/facebook/docusaurus/pull/2310) fix(v2): add @babel/preset-typescript to babel-loader ([@deniaz](https://github.com/deniaz))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2371](https://github.com/facebook/docusaurus/pull/2371) fix(v2): remove line break from end of code blocks ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`\\n - [#2326](https://github.com/facebook/docusaurus/pull/2326) fix(v2): linkify blog posts ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#2324](https://github.com/facebook/docusaurus/pull/2324) fix(v2): properly set dark mode logo on build-time prerendering ([@lex111](https://github.com/lex111))\\n - [#2325](https://github.com/facebook/docusaurus/pull/2325) fix(v2): switch a toggle when system theme changed ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-pages`, `docusaurus-utils`\\n - [#2334](https://github.com/facebook/docusaurus/pull/2334) fix(v2): make proper path to pages in TS ([@lex111](https://github.com/lex111))\\n- Other\\n - [#2316](https://github.com/facebook/docusaurus/pull/2316) fix(v2): properly scale logo on IE 11 ([@lex111](https://github.com/lex111))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-search-algolia`\\n - [#2376](https://github.com/facebook/docusaurus/pull/2376) refactor(v2): clean up and improve Algolia styles ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`\\n - [#2372](https://github.com/facebook/docusaurus/pull/2372) chore(v2): upgrade Infima and remark-admonitions ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#2367](https://github.com/facebook/docusaurus/pull/2367) refactor(v2): increase CSS specificity on application container ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`, `stylelint-copyright`\\n - [#2363](https://github.com/facebook/docusaurus/pull/2363) fix(v2): improve stylelint copyright header rule ([@yangshun](https://github.com/yangshun))\\n- `docusaurus-types`, `docusaurus`\\n - [#2342](https://github.com/facebook/docusaurus/pull/2342) chore(v2): mark tagline field as optional ([@lex111](https://github.com/lex111))\\n\\n## :memo: Documentation\\n\\n- [#2378](https://github.com/facebook/docusaurus/pull/2378) docs(v2): add section for docs-only mode ([@phoqe](https://github.com/phoqe))\\n- [#2357](https://github.com/facebook/docusaurus/pull/2357) docs(v2): fix getPathsToWatch() example syntax in lifecycle APIs ([@rlamana](https://github.com/rlamana))\\n- [#2351](https://github.com/facebook/docusaurus/pull/2351) docs(v2): add examples to plugin usage doc ([@Noah-Silvera](https://github.com/Noah-Silvera))\\n- [#2343](https://github.com/facebook/docusaurus/pull/2343) docs(v2): fix typo in remark-admonitions example ([@hassanfarid](https://github.com/hassanfarid))\\n- [#2340](https://github.com/facebook/docusaurus/pull/2340) docs(v2): mention about disabling Jekyll when using GitHub pages ([@amilajack](https://github.com/amilajack))\\n- [#2338](https://github.com/facebook/docusaurus/pull/2338) docs(v2): guide on upgrading Docusaurus within a project ([@TheodoreChu](https://github.com/TheodoreChu))\\n- [#2313](https://github.com/facebook/docusaurus/pull/2313) docs(v2): move the quotes to remark admonitions ([@Zhencha0Cai](https://github.com/Zhencha0Cai))\\n- [#2307](https://github.com/facebook/docusaurus/pull/2307) docs(v1): fix Windows instructions for GitHub Pages publishing ([@jartuso](https://github.com/jartuso))\\n- [#2300](https://github.com/facebook/docusaurus/pull/2300) docs(v2): make blog plugin config example valid ([@balloob](https://github.com/balloob))\\n- [#2289](https://github.com/facebook/docusaurus/pull/2289) docs(v2): add instructions on Travis CI deployment ([@mohamedsgap](https://github.com/mohamedsgap))\\n\\n## :house: Internal\\n\\n- Other\\n - [#2369](https://github.com/facebook/docusaurus/pull/2369) misc: mention about v2 in README file ([@lex111](https://github.com/lex111))\\n - [#2368](https://github.com/facebook/docusaurus/pull/2368) misc: add note about edits in versioned docs ([@lex111](https://github.com/lex111))\\n - [#2333](https://github.com/facebook/docusaurus/pull/2333) docs: update use of npm/yarn in contributing.md ([@jsjoeio](https://github.com/jsjoeio))\\n - [#2328](https://github.com/facebook/docusaurus/pull/2328) docs(v2): remove unwanted black line from DocSearch showcase image ([@s-pace](https://github.com/s-pace))\\n - [#2319](https://github.com/facebook/docusaurus/pull/2319) docs(v2): showcase user Algolia ([@scottilee](https://github.com/scottilee))\\n- `docusaurus-init`\\n - [#2322](https://github.com/facebook/docusaurus/pull/2322) docs(v2): fix misc styling ([@lex111](https://github.com/lex111))\\n\\n## Committers: 16\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Amila Welihinda ([@amilajack](https://github.com/amilajack))\\n- Hassan Farid ([@hassanfarid](https://github.com/hassanfarid))\\n- Joe Previte ([@jsjoeio](https://github.com/jsjoeio))\\n- Linus L\xe5ngberg ([@phoqe](https://github.com/phoqe))\\n- Mohamed Abdel Nasser ([@mohamedsgap](https://github.com/mohamedsgap))\\n- Noah Silvera ([@Noah-Silvera](https://github.com/Noah-Silvera))\\n- Paulus Schoutsen ([@balloob](https://github.com/balloob))\\n- Ram\xf3n Lamana ([@rlamana](https://github.com/rlamana))\\n- Robert ([@deniaz](https://github.com/deniaz))\\n- Scott Lee ([@scottilee](https://github.com/scottilee))\\n- Sylvain Pace ([@s-pace](https://github.com/s-pace))\\n- Theodore Chu ([@TheodoreChu](https://github.com/TheodoreChu))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- Zhenchao Cai ([@Zhencha0Cai](https://github.com/Zhencha0Cai))\\n- [@jartuso](https://github.com/jartuso)"},{"id":"/2.0.0-alpha.43","metadata":{"permalink":"/changelog/2.0.0-alpha.43","source":"@site/changelog/source/2.0.0-alpha.43.md","title":"2.0.0-alpha.43","description":"HOTFIX for 2.0.0-alpha.41.","date":"2020-02-18T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-02-18T20:00","authors":["lex111","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.44","permalink":"/changelog/2.0.0-alpha.44"},"nextItem":{"title":"2.0.0-alpha.41","permalink":"/changelog/2.0.0-alpha.41"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n**HOTFIX for 2.0.0-alpha.41**.\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#2292](https://github.com/facebook/docusaurus/pull/2292) chore(v2): update Infima to 0.2.0-alpha.4 ([@yangshun](https://github.com/yangshun))\\n - [#2291](https://github.com/facebook/docusaurus/pull/2291) fix(v2): fix build and deps install ([@lex111](https://github.com/lex111))\\n\\n## Committers: 2\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))"},{"id":"/2.0.0-alpha.41","metadata":{"permalink":"/changelog/2.0.0-alpha.41","source":"@site/changelog/source/2.0.0-alpha.41.md","title":"2.0.0-alpha.41","description":"New Feature","date":"2020-02-16T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"awalias","alias":"awalias","url":"https://github.com/awalias","imageURL":"https://github.com/awalias.png","key":"awalias","page":null},{"name":"Elie Dutheil","alias":"edwandr","url":"https://github.com/edwandr","imageURL":"https://github.com/edwandr.png","key":"edwandr","page":null},{"name":"Elvis Wolcott","alias":"elviswolcott","url":"https://github.com/elviswolcott","imageURL":"https://github.com/elviswolcott.png","key":"elviswolcott","page":null},{"name":"Evan Rubinton","alias":"erubi","url":"https://github.com/erubi","imageURL":"https://github.com/erubi.png","key":"erubi","page":null},{"name":"Gal Havivi","alias":"galhavivi","url":"https://github.com/galhavivi","imageURL":"https://github.com/galhavivi.png","key":"galhavivi","page":null},{"name":"Hendrik Bulens","alias":"hbulens","url":"https://github.com/hbulens","imageURL":"https://github.com/hbulens.png","key":"hbulens","page":null},{"name":"Ashley Jeffs","alias":"Jeffail","url":"https://github.com/Jeffail","imageURL":"https://github.com/Jeffail.png","key":"Jeffail","page":null},{"name":"Joshua Williams","alias":"jjwill","url":"https://github.com/jjwill","imageURL":"https://github.com/jjwill.png","key":"jjwill","page":null},{"name":"Joel Marcey","alias":"JoelMarcey","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","key":"JoelMarcey","page":null},{"name":"Jonathan Delgado","alias":"jonathanrdelgado","url":"https://github.com/jonathanrdelgado","imageURL":"https://github.com/jonathanrdelgado.png","key":"jonathanrdelgado","page":null},{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},{"name":"KohheePeace","alias":"KohheePeace","url":"https://github.com/KohheePeace","imageURL":"https://github.com/KohheePeace.png","key":"KohheePeace","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Mark Terrel","alias":"mterrel","url":"https://github.com/mterrel","imageURL":"https://github.com/mterrel.png","key":"mterrel","page":null},{"name":"Ond\u0159ej Nepo\u017Eitek","alias":"OndrejNepozitek","url":"https://github.com/OndrejNepozitek","imageURL":"https://github.com/OndrejNepozitek.png","key":"OndrejNepozitek","page":null},{"name":"Scott Dowding","alias":"sdowding","url":"https://github.com/sdowding","imageURL":"https://github.com/sdowding.png","key":"sdowding","page":null},{"name":"Hanseung Yoo","alias":"trustyoo86","url":"https://github.com/trustyoo86","imageURL":"https://github.com/trustyoo86.png","key":"trustyoo86","page":null},{"name":"Wei Gao","alias":"wgao19","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png","key":"wgao19","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-02-16T20:00","authors":["awalias","edwandr","elviswolcott","erubi","galhavivi","hbulens","Jeffail","jjwill","JoelMarcey","jonathanrdelgado","jsjoeio","KohheePeace","lex111","mterrel","OndrejNepozitek","sdowding","trustyoo86","wgao19"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.43","permalink":"/changelog/2.0.0-alpha.43"},"nextItem":{"title":"2.0.0-alpha.40","permalink":"/changelog/2.0.0-alpha.40"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-init`, `docusaurus-preset-classic`, `docusaurus-theme-classic`\\n - [#2224](https://github.com/facebook/docusaurus/pull/2224) feat(v2): add remark-admonitions to @docusaurus/preset-classic ([@elviswolcott](https://github.com/elviswolcott))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#2263](https://github.com/facebook/docusaurus/pull/2263) feat(v2): pluralize posts on tag\'s page ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#2261](https://github.com/facebook/docusaurus/pull/2261) feat(v2): allow to specify different logo for dark mode ([@lex111](https://github.com/lex111))\\n - [#2253](https://github.com/facebook/docusaurus/pull/2253) feat(v2): allow specify custom link for logo ([@lex111](https://github.com/lex111))\\n - [#2255](https://github.com/facebook/docusaurus/pull/2255) feat(v2): add site title to meta title ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-pages`, `docusaurus-utils`, `docusaurus`\\n - [#2221](https://github.com/facebook/docusaurus/pull/2221) feat(v2): allow for TypeScript pages and components ([@jonathanrdelgado](https://github.com/jonathanrdelgado))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-theme-classic`\\n - [#2235](https://github.com/facebook/docusaurus/pull/2235) fix(v2): show doc sidebar on pages with case-sensitive paths ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2285](https://github.com/facebook/docusaurus/pull/2285) fix(v2): fix codeblock copy button not including blank lines ([@KohheePeace](https://github.com/KohheePeace))\\n - [#2241](https://github.com/facebook/docusaurus/pull/2241) fix(v2): make code blocks scrollable ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#2259](https://github.com/facebook/docusaurus/pull/2259) fix(v2): use site title if enabled blog-only mode ([@lex111](https://github.com/lex111))\\n - [#2248](https://github.com/facebook/docusaurus/pull/2248) fix(v2): adjust correct behavior of navbar when active anchor ([@lex111](https://github.com/lex111))\\n - [#2235](https://github.com/facebook/docusaurus/pull/2235) fix(v2): show doc sidebar on pages with case-sensitive paths ([@lex111](https://github.com/lex111))\\n - [#2162](https://github.com/facebook/docusaurus/pull/2162) fix(v2): unify anchor behavior ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-search-algolia`\\n - [#2262](https://github.com/facebook/docusaurus/pull/2262) fix(v2): remove focus on search input when hovering over it ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#2240](https://github.com/facebook/docusaurus/pull/2240) fix(v2): hide read more button on non-truncated posts ([@lex111](https://github.com/lex111))\\n- `docusaurus`\\n - [#2237](https://github.com/facebook/docusaurus/pull/2237) fix(v2): include base url in 404 route ([@lex111](https://github.com/lex111))\\n- `docusaurus-mdx-loader`\\n - [#2236](https://github.com/facebook/docusaurus/pull/2236) fix(v2): escape link text in TOC ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-live-codeblock`\\n - [#2227](https://github.com/facebook/docusaurus/pull/2227) fix(v2): render correct theme for live code blocks on SSR ([@lex111](https://github.com/lex111))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2254](https://github.com/facebook/docusaurus/pull/2254) refactor(v2): avoid to use raw theme values ([@lex111](https://github.com/lex111))\\n\\n## :memo: Documentation\\n\\n- [#2281](https://github.com/facebook/docusaurus/pull/2281) docs: update windows deploy command ([@OndrejNepozitek](https://github.com/OndrejNepozitek))\\n- [#2257](https://github.com/facebook/docusaurus/pull/2257) docs(v2): require using JSX flavored style objects in mdx ([@wgao19](https://github.com/wgao19))\\n- [#2251](https://github.com/facebook/docusaurus/pull/2251) docs(v2): collapsible categories in sidebar ([@lex111](https://github.com/lex111))\\n- [#2218](https://github.com/facebook/docusaurus/pull/2218) docs(v2): update link to available prism themes ([@jsjoeio](https://github.com/jsjoeio))\\n- [#2216](https://github.com/facebook/docusaurus/pull/2216) docs(v2): fix plugin-content-docs config comment typo ([@sdowding](https://github.com/sdowding))\\n\\n## :house: Internal\\n\\n- Other\\n - [#2256](https://github.com/facebook/docusaurus/pull/2256) fix(v2): add title for Feedback page ([@lex111](https://github.com/lex111))\\n - [#2246](https://github.com/facebook/docusaurus/pull/2246) docs(v2): add Benthos to showcase ([@Jeffail](https://github.com/Jeffail))\\n - [#2242](https://github.com/facebook/docusaurus/pull/2242) docs(v1): showcase user Jafar ([@galhavivi](https://github.com/galhavivi))\\n - [#2238](https://github.com/facebook/docusaurus/pull/2238) docs(v1): showcase Dime ([@hbulens](https://github.com/hbulens))\\n - [#2233](https://github.com/facebook/docusaurus/pull/2233) docs(v2): showcase user supabase ([@awalias](https://github.com/awalias))\\n - [#2226](https://github.com/facebook/docusaurus/pull/2226) docs(v1): showcase user Adapt.js ([@mterrel](https://github.com/mterrel))\\n - [#2225](https://github.com/facebook/docusaurus/pull/2225) docs(v1): add The Diff Podcast to users ([@JoelMarcey](https://github.com/JoelMarcey))\\n - [#2219](https://github.com/facebook/docusaurus/pull/2219) chore(v1): Updated users list, removing sites not using docusaurus ([@jjwill](https://github.com/jjwill))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#2239](https://github.com/facebook/docusaurus/pull/2239) chore(eslint): require curly brackets on all blocks ([@lex111](https://github.com/lex111))\\n\\n## Committers: 18\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Ashley Jeffs ([@Jeffail](https://github.com/Jeffail))\\n- Elie Dutheil ([@edwandr](https://github.com/edwandr))\\n- Elvis Wolcott ([@elviswolcott](https://github.com/elviswolcott))\\n- Evan Rubinton ([@erubi](https://github.com/erubi))\\n- Gal Havivi ([@galhavivi](https://github.com/galhavivi))\\n- Hanseung Yoo ([@trustyoo86](https://github.com/trustyoo86))\\n- Hendrik Bulens ([@hbulens](https://github.com/hbulens))\\n- JavaScript Joe ([@jsjoeio](https://github.com/jsjoeio))\\n- Joel Marcey ([@JoelMarcey](https://github.com/JoelMarcey))\\n- Jonathan Delgado ([@jonathanrdelgado](https://github.com/jonathanrdelgado))\\n- Joshua Williams ([@jjwill](https://github.com/jjwill))\\n- KohheePeace ([@KohheePeace](https://github.com/KohheePeace))\\n- Mark Terrel ([@mterrel](https://github.com/mterrel))\\n- Ond\u0159ej Nepo\u017Eitek ([@OndrejNepozitek](https://github.com/OndrejNepozitek))\\n- Scott Dowding ([@sdowding](https://github.com/sdowding))\\n- Wei Gao ([@wgao19](https://github.com/wgao19))\\n- [@awalias](https://github.com/awalias)"},{"id":"/2.0.0-alpha.40","metadata":{"permalink":"/changelog/2.0.0-alpha.40","source":"@site/changelog/source/2.0.0-alpha.40.md","title":"2.0.0-alpha.40","description":"New Feature","date":"2019-12-25T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"Janko Marohni\u0107","alias":"janko","url":"https://github.com/janko","imageURL":"https://github.com/janko.png","key":"janko","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Nick McCurdy","alias":"nickmccurdy","url":"https://github.com/nickmccurdy","imageURL":"https://github.com/nickmccurdy.png","key":"nickmccurdy","page":null},{"name":"t11s","alias":"TransmissionsDev","url":"https://github.com/TransmissionsDev","imageURL":"https://github.com/TransmissionsDev.png","key":"TransmissionsDev","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-12-25T20:00","authors":["endiliey","janko","lex111","nickmccurdy","TransmissionsDev","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.41","permalink":"/changelog/2.0.0-alpha.41"},"nextItem":{"title":"2.0.0-alpha.39","permalink":"/changelog/2.0.0-alpha.39"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#2117](https://github.com/facebook/docusaurus/pull/2117) feat(v2): auto switch theme depending on the system theme ([@lex111](https://github.com/lex111))\\n - [#2055](https://github.com/facebook/docusaurus/pull/2055) feat(v2): hide navbar on scroll ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#2145](https://github.com/facebook/docusaurus/pull/2145) fix(v2): remove style-loader, use minicssextract in both dev & prod ([@endiliey](https://github.com/endiliey))\\n - [#2122](https://github.com/facebook/docusaurus/pull/2122) fix(v2): dont collapse whitespace in minified html ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`\\n - [#2105](https://github.com/facebook/docusaurus/pull/2105) fix(v2): move metadata export after compiling MDX to avoid weird MDX parsing error. ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-theme-classic`\\n - [#2113](https://github.com/facebook/docusaurus/pull/2113) fix(v2): set stored theme only if it exists ([@lex111](https://github.com/lex111))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#2129](https://github.com/facebook/docusaurus/pull/2129) fix(v2): disable scroll while mobile menu open ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#2127](https://github.com/facebook/docusaurus/pull/2127) refactor(v2): toggle data-theme with vanilla js instead of react helmet ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-theme-search-algolia`, `docusaurus`\\n - [#2125](https://github.com/facebook/docusaurus/pull/2125) feat(v2): lazy load algolia css so its not render blocking ([@endiliey](https://github.com/endiliey))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#2135](https://github.com/facebook/docusaurus/pull/2135) docs(v1): add space between \\"out\\" and \\"Docusaurus\\" ([@TransmissionsDev](https://github.com/TransmissionsDev))\\n - [#2128](https://github.com/facebook/docusaurus/pull/2128) docs(v1): showcase user Shrine ([@janko](https://github.com/janko))\\n - [#2110](https://github.com/facebook/docusaurus/pull/2110) docs(v2): fix pages routing inaccurate info ([@endiliey](https://github.com/endiliey))\\n - [#2106](https://github.com/facebook/docusaurus/pull/2106) fix(v2): add missing hyphen in color generator ([@lex111](https://github.com/lex111))\\n - [#2104](https://github.com/facebook/docusaurus/pull/2104) feat(v2): add color generator for primary colors ([@yangshun](https://github.com/yangshun))\\n - [#2103](https://github.com/facebook/docusaurus/pull/2103) docs: mention about moving docs directory into website ([@yangshun](https://github.com/yangshun))\\n- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`\\n - [#2114](https://github.com/facebook/docusaurus/pull/2114) fix(v2): add syntax highlight to generated colors ([@lex111](https://github.com/lex111))\\n\\n## :house: Internal\\n\\n- Other\\n - [#2126](https://github.com/facebook/docusaurus/pull/2126) docs: promote Docusaurus 2 usage ([@yangshun](https://github.com/yangshun))\\n - [#2119](https://github.com/facebook/docusaurus/pull/2119) fix(v2): align GH button in vertical center ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`\\n - [#2124](https://github.com/facebook/docusaurus/pull/2124) feat(v2): add Facebook Docusaurus 2 template ([@yangshun](https://github.com/yangshun))\\n- `docusaurus`\\n - [#2111](https://github.com/facebook/docusaurus/pull/2111) feat(v2): explicit babel/runtime version ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-theme-live-codeblock`, `docusaurus`\\n - [#2102](https://github.com/facebook/docusaurus/pull/2102) misc: add command to run prettier on docs ([@yangshun](https://github.com/yangshun))\\n\\n## :running: Performance\\n\\n- `docusaurus`\\n - [#2118](https://github.com/facebook/docusaurus/pull/2118) perf(v2): reduce HTML payload by eliminating chunk-map ([@endiliey](https://github.com/endiliey))\\n - [#2116](https://github.com/facebook/docusaurus/pull/2116) feat(v2): minify html ([@endiliey](https://github.com/endiliey))\\n\\n## Committers: 6\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Endi ([@endiliey](https://github.com/endiliey))\\n- Janko Marohni\u0107 ([@janko](https://github.com/janko))\\n- Nick McCurdy ([@nickmccurdy](https://github.com/nickmccurdy))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))\\n- t11s ([@TransmissionsDev](https://github.com/TransmissionsDev))"},{"id":"/2.0.0-alpha.39","metadata":{"permalink":"/changelog/2.0.0-alpha.39","source":"@site/changelog/source/2.0.0-alpha.39.md","title":"2.0.0-alpha.39","description":"Bug Fix","date":"2019-12-07T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-12-07T20:00","authors":["endiliey"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.40","permalink":"/changelog/2.0.0-alpha.40"},"nextItem":{"title":"2.0.0-alpha.38","permalink":"/changelog/2.0.0-alpha.38"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#2099](https://github.com/facebook/docusaurus/pull/2099) fix(v2): escape import path on windows ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`\\n - [#2095](https://github.com/facebook/docusaurus/pull/2095) fix(v2): metadata error if markdown does not have ending line ([@endiliey](https://github.com/endiliey))\\n\\n## :house: Internal\\n\\n- Other\\n - [#2100](https://github.com/facebook/docusaurus/pull/2100) chore(CI): docusaurus build on Windows with GitHub actions ([@endiliey](https://github.com/endiliey))\\n- `docusaurus`\\n - [#2096](https://github.com/facebook/docusaurus/pull/2096) feat(v2): better & nice looking error overlay ([@endiliey](https://github.com/endiliey))\\n\\n## Committers: 1\\n\\n- Endi ([@endiliey](https://github.com/endiliey))"},{"id":"/2.0.0-alpha.38","metadata":{"permalink":"/changelog/2.0.0-alpha.38","source":"@site/changelog/source/2.0.0-alpha.38.md","title":"2.0.0-alpha.38","description":"Breaking Change","date":"2019-12-06T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"KYY","alias":"FeynmanDNA","url":"https://github.com/FeynmanDNA","imageURL":"https://github.com/FeynmanDNA.png","key":"FeynmanDNA","page":null},{"name":"kaichu","alias":"qshiwu","url":"https://github.com/qshiwu","imageURL":"https://github.com/qshiwu.png","key":"qshiwu","page":null},{"name":"Shivangna Kaistha","alias":"shivangna","url":"https://github.com/shivangna","imageURL":"https://github.com/shivangna.png","key":"shivangna","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-12-06T20:00","authors":["endiliey","FeynmanDNA","qshiwu","shivangna"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.39","permalink":"/changelog/2.0.0-alpha.39"},"nextItem":{"title":"2.0.0-alpha.37","permalink":"/changelog/2.0.0-alpha.37"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-utils`\\n - [#2088](https://github.com/facebook/docusaurus/pull/2088) perf(v2): smaller bundlesize by embedding metadata to content ([@endiliey](https://github.com/endiliey))\\n\\nIf you have swizzled any Docs/Blog component that depends on metadata, you\'ll have to update. If you haven\'t, no action is needed.\\n\\nFor example, if you\'ve swizzled `@theme/DocItem`. You\'ll have to update\\n\\n```diff\\n- const {metadata, content: DocContent} = props;\\n+ const {content: DocContent} = props;\\n+ const {metadata} = DocContent;\\n```\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#2086](https://github.com/facebook/docusaurus/pull/2086) fix(v2): windows compatibility regression ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-plugin-ideal-image`\\n - [#2074](https://github.com/facebook/docusaurus/pull/2074) fix(v2): fix plugin-ideal-image breaking website (exports not defined) ([@endiliey](https://github.com/endiliey))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-mdx-loader`\\n - [#2085](https://github.com/facebook/docusaurus/pull/2085) misc(v2): update mdx loader plugin README ([@shivangna](https://github.com/shivangna))\\n\\n## :house: Internal\\n\\n- `docusaurus-1.x`\\n - [#2087](https://github.com/facebook/docusaurus/pull/2087) fix(v1): add key to versions.map in versions.js ([@FeynmanDNA](https://github.com/FeynmanDNA))\\n - [#2083](https://github.com/facebook/docusaurus/pull/2083) refactor(v1): fix props for ProjectTitle ([@FeynmanDNA](https://github.com/FeynmanDNA))\\n- `docusaurus`\\n - [#2081](https://github.com/facebook/docusaurus/pull/2081) refactor(v2): move scripts/stylesheets injection to server side ([@endiliey](https://github.com/endiliey))\\n - [#2080](https://github.com/facebook/docusaurus/pull/2080) refactor(v2): minor code refactoring on component creator ([@endiliey](https://github.com/endiliey))\\n\\n## :running: Performance\\n\\n- `docusaurus-utils`\\n - [#2089](https://github.com/facebook/docusaurus/pull/2089) perf(v2): improve dev build time by not overwriting file if possible ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-theme-search-algolia`\\n - [#2079](https://github.com/facebook/docusaurus/pull/2079) perf(v2): algolia search result no longer cause full page refresh ([@endiliey](https://github.com/endiliey))\\n - [#2076](https://github.com/facebook/docusaurus/pull/2076) perf(v2): load algolia JS only when user interacts with search ([@endiliey](https://github.com/endiliey))\\n\\n## Committers: 4\\n\\n- Endi ([@endiliey](https://github.com/endiliey))\\n- KYY ([@FeynmanDNA](https://github.com/FeynmanDNA))\\n- Shivangna Kaistha ([@shivangna](https://github.com/shivangna))\\n- kaichu ([@qshiwu](https://github.com/qshiwu))"},{"id":"/2.0.0-alpha.37","metadata":{"permalink":"/changelog/2.0.0-alpha.37","source":"@site/changelog/source/2.0.0-alpha.37.md","title":"2.0.0-alpha.37","description":"Breaking Change","date":"2019-12-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Binary Logic","alias":"binarylogic","url":"https://github.com/binarylogic","imageURL":"https://github.com/binarylogic.png","key":"binarylogic","page":null},{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"Dongwoo Gim","alias":"gimdongwoo","url":"https://github.com/gimdongwoo","imageURL":"https://github.com/gimdongwoo.png","key":"gimdongwoo","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Wei Gao","alias":"wgao19","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png","key":"wgao19","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-12-01T20:00","authors":["binarylogic","endiliey","gimdongwoo","lex111","wgao19"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.38","permalink":"/changelog/2.0.0-alpha.38"},"nextItem":{"title":"2.0.0-alpha.36","permalink":"/changelog/2.0.0-alpha.36"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-init`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-utils`, `docusaurus`\\n - [#2045](https://github.com/facebook/docusaurus/pull/2045) breaking(v2): minimum required nodejs version 8.9-> 8.10 so we can use es2017 ([@endiliey](https://github.com/endiliey))\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#2069](https://github.com/facebook/docusaurus/pull/2069) feat(v2): support prefers-color-scheme & fix dark mode FOUC on refresh ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-plugin-content-blog`\\n - [#2000](https://github.com/facebook/docusaurus/pull/2000) feat(v2): add meta RSS/Atom feed links to head ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`, `docusaurus-types`, `docusaurus`\\n - [#2057](https://github.com/facebook/docusaurus/pull/2057) feat(v2): injectHtmlTags API to inject head and/or body html tags ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus`\\n - [#2032](https://github.com/facebook/docusaurus/pull/2032) feat(v2): allow non sidebar category to be first item of sidebar ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus`\\n - [#1983](https://github.com/facebook/docusaurus/pull/1983) feat(v2): docs versioning \u2744\uFE0F\uD83D\uDD25 ([@endiliey](https://github.com/endiliey))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`, `docusaurus`\\n - [#2069](https://github.com/facebook/docusaurus/pull/2069) feat(v2): support prefers-color-scheme & fix dark mode FOUC on refresh ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-mdx-loader`\\n - [#2067](https://github.com/facebook/docusaurus/pull/2067) fix(v2): toc should not be broken for heading with html inline code ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-theme-classic`\\n - [#2064](https://github.com/facebook/docusaurus/pull/2064) fix(v2): markdown reference to file should not be page not found ([@endiliey](https://github.com/endiliey))\\n - [#2061](https://github.com/facebook/docusaurus/pull/2061) fix(v2): fix docs sidebar highlighting if link is partially matched ([@endiliey](https://github.com/endiliey))\\n- `docusaurus`\\n - [#2042](https://github.com/facebook/docusaurus/pull/2042) fix(v2): remove css order warning if css imports are not sorted ([@endiliey](https://github.com/endiliey))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#2066](https://github.com/facebook/docusaurus/pull/2066) refactor(v2): add title attribute to anchor link ([@lex111](https://github.com/lex111))\\n - [#1990](https://github.com/facebook/docusaurus/pull/1990) refactor(v2): make better a11y for tabs ([@lex111](https://github.com/lex111))\\n - [#2034](https://github.com/facebook/docusaurus/pull/2034) feat(v2): style sidebar on overflow ([@endiliey](https://github.com/endiliey))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#2068](https://github.com/facebook/docusaurus/pull/2068) docs(v2): quick proofread docs ([@endiliey](https://github.com/endiliey))\\n - [#2047](https://github.com/facebook/docusaurus/pull/2047) docs(v2): add manual migration guide for versioning ([@endiliey](https://github.com/endiliey))\\n - [#2036](https://github.com/facebook/docusaurus/pull/2036) docs(v2): Reorganize migration guide ([@wgao19](https://github.com/wgao19))\\n - [#2052](https://github.com/facebook/docusaurus/pull/2052) fix(v2): make proper spelling of Yarn in tabs ([@lex111](https://github.com/lex111))\\n - [#2040](https://github.com/facebook/docusaurus/pull/2040) docs(v2): showcase user vector.dev :) ([@binarylogic](https://github.com/binarylogic))\\n - [#2038](https://github.com/facebook/docusaurus/pull/2038) docs(v2): add documentation on versioning ([@endiliey](https://github.com/endiliey))\\n - [#2037](https://github.com/facebook/docusaurus/pull/2037) docs(v2): display yarn and npm command on website ([@endiliey](https://github.com/endiliey))\\n - [#2051](https://github.com/facebook/docusaurus/pull/2051) docs(v2): more examples on lifecycle apis, cleanup ([@endiliey](https://github.com/endiliey))\\n\\n## :house: Internal\\n\\n- `docusaurus-plugin-content-blog`\\n - [#2072](https://github.com/facebook/docusaurus/pull/2072) refactor(v2): stronger typing for blog plugin ([@endiliey](https://github.com/endiliey))\\n- `docusaurus`\\n - [#2060](https://github.com/facebook/docusaurus/pull/2060) fix(v2): clean generated manifest from previous build so we dont use the wrong one ([@endiliey](https://github.com/endiliey))\\n - [#2033](https://github.com/facebook/docusaurus/pull/2033) refactor(v2): move unused generated files out from build folder ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-types`, `docusaurus`\\n - [#2043](https://github.com/facebook/docusaurus/pull/2043) refactor(v2): stronger typing for route gen ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-ideal-image`, `docusaurus-types`, `docusaurus`\\n - [#2044](https://github.com/facebook/docusaurus/pull/2044) chore(v2): bump deps ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#2029](https://github.com/facebook/docusaurus/pull/2029) chore(v2): bump deps and remove unused deps ([@endiliey](https://github.com/endiliey))\\n\\n## :running: Performance\\n\\n- `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`\\n - [#2070](https://github.com/facebook/docusaurus/pull/2070) perf(v2): more performant gtag and analytics plugin ([@endiliey](https://github.com/endiliey))\\n- `docusaurus`\\n - [#2046](https://github.com/facebook/docusaurus/pull/2046) perf(v2): use webpack future version of asset emitting logic to free memory ([@endiliey](https://github.com/endiliey))\\n - [#2039](https://github.com/facebook/docusaurus/pull/2039) perf(v2): replace unnecessary json stringify(string) with inline string ([@endiliey](https://github.com/endiliey))\\n - [#2035](https://github.com/facebook/docusaurus/pull/2035) perf(v2): use @babel/runtime plugin to reduce codesize ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-plugin-content-docs`\\n - [#2054](https://github.com/facebook/docusaurus/pull/2054) perf(v2): unblock metadata processing when possible ([@endiliey](https://github.com/endiliey))\\n\\n## Committers: 5\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Binary Logic ([@binarylogic](https://github.com/binarylogic))\\n- Dongwoo Gim ([@gimdongwoo](https://github.com/gimdongwoo))\\n- Endi ([@endiliey](https://github.com/endiliey))\\n- Wei Gao ([@wgao19](https://github.com/wgao19))"},{"id":"/2.0.0-alpha.36","metadata":{"permalink":"/changelog/2.0.0-alpha.36","source":"@site/changelog/source/2.0.0-alpha.36.md","title":"2.0.0-alpha.36","description":"Breaking Change","date":"2019-11-22T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-22T20:00","authors":["endiliey","lex111","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.37","permalink":"/changelog/2.0.0-alpha.37"},"nextItem":{"title":"2.0.0-alpha.35","permalink":"/changelog/2.0.0-alpha.35"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-init`, `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`\\n - [#1989](https://github.com/facebook/docusaurus/pull/1989) misc(v2): change blog front matter to snake_case ([@yangshun](https://github.com/yangshun))\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`\\n - [#2012](https://github.com/facebook/docusaurus/pull/2012) feat(v2): allow hiding docs table of contents ([@yangshun](https://github.com/yangshun))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus`\\n - [#2007](https://github.com/facebook/docusaurus/pull/2007) feat(v2): only create one css file to avoid code-split css loading problem ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-theme-classic`\\n - [#2005](https://github.com/facebook/docusaurus/pull/2005) fix(v2): adjust first-level heading offset ([@lex111](https://github.com/lex111))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-classic`\\n - [#2013](https://github.com/facebook/docusaurus/pull/2013) refactor(v2): split out dark mode toggle so it is easily swizzle-able ([@endiliey](https://github.com/endiliey))\\n - [#2017](https://github.com/facebook/docusaurus/pull/2017) feat(v2): style right sidebar scrollbar when overflow ([@endiliey](https://github.com/endiliey))\\n - [#2003](https://github.com/facebook/docusaurus/pull/2003) refactor(v2): improve semantic markup of blog ([@lex111](https://github.com/lex111))\\n\\n## :house: Internal\\n\\n- `docusaurus`\\n - [#2024](https://github.com/facebook/docusaurus/pull/2024) test(v2): babel exclude transpilation logic to prevent regression ([@endiliey](https://github.com/endiliey))\\n - [#2014](https://github.com/facebook/docusaurus/pull/2014) feat(v2): add meta generator docusaurus ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-mdx-loader`, `docusaurus-plugin-ideal-image`\\n - [#2015](https://github.com/facebook/docusaurus/pull/2015) chore(v2): bump & remove unused deps ([@endiliey](https://github.com/endiliey))\\n- Other\\n - [#2009](https://github.com/facebook/docusaurus/pull/2009) misc(v2): branding update ([@yangshun](https://github.com/yangshun))\\n\\n## :memo: Documentation\\n\\n- [#2010](https://github.com/facebook/docusaurus/pull/2010) docs(v2): misc updates ([@yangshun](https://github.com/yangshun))\\n\\n## Committers: 3\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Endi ([@endiliey](https://github.com/endiliey))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))"},{"id":"/2.0.0-alpha.35","metadata":{"permalink":"/changelog/2.0.0-alpha.35","source":"@site/changelog/source/2.0.0-alpha.35.md","title":"2.0.0-alpha.35","description":"New Feature","date":"2019-11-17T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"Eric Carboni","alias":"ericcarboni","url":"https://github.com/ericcarboni","imageURL":"https://github.com/ericcarboni.png","key":"ericcarboni","page":null},{"name":"Jamie Davenport","alias":"jamiedavenport","url":"https://github.com/jamiedavenport","imageURL":"https://github.com/jamiedavenport.png","key":"jamiedavenport","page":null},{"name":"Nick McCormick","alias":"kenning","url":"https://github.com/kenning","imageURL":"https://github.com/kenning.png","key":"kenning","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Vincent van der Walt","alias":"vinnytheviking","url":"https://github.com/vinnytheviking","imageURL":"https://github.com/vinnytheviking.png","key":"vinnytheviking","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-17T20:00","authors":["endiliey","ericcarboni","jamiedavenport","kenning","lex111","vinnytheviking"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.36","permalink":"/changelog/2.0.0-alpha.36"},"nextItem":{"title":"2.0.0-alpha.34","permalink":"/changelog/2.0.0-alpha.34"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#1965](https://github.com/facebook/docusaurus/pull/1965) feat(v2): add ability specify link in footer logo ([@lex111](https://github.com/lex111))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-mdx-loader`, `docusaurus-theme-classic`\\n - [#1992](https://github.com/facebook/docusaurus/pull/1992) fix(v2): static phrasing content should be rendered correctly in TOC ([@endiliey](https://github.com/endiliey))\\n- `docusaurus-theme-classic`\\n - [#1999](https://github.com/facebook/docusaurus/pull/1999) fix(v2): remove hashbang when click on category ([@lex111](https://github.com/lex111))\\n - [#1962](https://github.com/facebook/docusaurus/pull/1962) fix(v2): make not clickable post title on post item page ([@lex111](https://github.com/lex111))\\n - [#1980](https://github.com/facebook/docusaurus/pull/1980) fix(v2): remove invalid label attribute of footer links ([@lex111](https://github.com/lex111))\\n - [#1978](https://github.com/facebook/docusaurus/pull/1978) fix(v2): use regular div instead of main tag for wrapper layout page ([@lex111](https://github.com/lex111))\\n - [#1975](https://github.com/facebook/docusaurus/pull/1975) fix(v2): move header inside article tag in doc page ([@lex111](https://github.com/lex111))\\n - [#1974](https://github.com/facebook/docusaurus/pull/1974) fix(v2): remove invalid attributes of nav links ([@lex111](https://github.com/lex111))\\n - [#1963](https://github.com/facebook/docusaurus/pull/1963) fix(v2): remove empty containers when no data in blog pages ([@lex111](https://github.com/lex111))\\n - [#1966](https://github.com/facebook/docusaurus/pull/1966) fix(v2): remove duplicate meta tags ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`\\n - [#1994](https://github.com/facebook/docusaurus/pull/1994) fix(v2): throw error if first level item of a sidebar is not category ([@endiliey](https://github.com/endiliey))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-theme-search-algolia`\\n - [#2001](https://github.com/facebook/docusaurus/pull/2001) fix(v2): improve UI of search ([@lex111](https://github.com/lex111))\\n- `docusaurus-theme-classic`\\n - [#1991](https://github.com/facebook/docusaurus/pull/1991) fix(v2): remove accessible anchors via keyboard ([@lex111](https://github.com/lex111))\\n - [#1987](https://github.com/facebook/docusaurus/pull/1987) refactor(v2): replace h1 tag with h2 in blog list pages ([@lex111](https://github.com/lex111))\\n - [#1981](https://github.com/facebook/docusaurus/pull/1981) fix(v2): use tag time for showing last update of doc item ([@lex111](https://github.com/lex111))\\n - [#1977](https://github.com/facebook/docusaurus/pull/1977) feat(v2): add aria-label to read more links for a11y ([@lex111](https://github.com/lex111))\\n - [#1964](https://github.com/facebook/docusaurus/pull/1964) fix(v2): use tag time for showing post item date ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-docs`\\n - [#1994](https://github.com/facebook/docusaurus/pull/1994) fix(v2): throw error if first level item of a sidebar is not category ([@endiliey](https://github.com/endiliey))\\n- Other\\n - [#1986](https://github.com/facebook/docusaurus/pull/1986) fix(v2): remove obsolete iframe attributes ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`\\n - [#1982](https://github.com/facebook/docusaurus/pull/1982) feat(v2): add FB link to footer ([@lex111](https://github.com/lex111))\\n- `docusaurus-plugin-content-blog`\\n - [#1968](https://github.com/facebook/docusaurus/pull/1968) refactor(v2): simplify blog truncate function ([@endiliey](https://github.com/endiliey))\\n\\n## :memo: Documentation\\n\\n- Other\\n - [#1988](https://github.com/facebook/docusaurus/pull/1988) docs(v2): fix syntax highlighting for YML code blocks ([@lex111](https://github.com/lex111))\\n - [#1976](https://github.com/facebook/docusaurus/pull/1976) docs(v2): Add section to blog document about feed location ([@vinnytheviking](https://github.com/vinnytheviking))\\n - [#1970](https://github.com/facebook/docusaurus/pull/1970) docs(v2): update configureWebpack utility functions ([@jamiedavenport](https://github.com/jamiedavenport))\\n- `docusaurus-1.x`\\n - [#1961](https://github.com/facebook/docusaurus/pull/1961) docs(v1): remove exclusive language ([@ericcarboni](https://github.com/ericcarboni))\\n\\n## :house: Internal\\n\\n- Other\\n - [#2002](https://github.com/facebook/docusaurus/pull/2002) fix(v2): fix browser window menu icon on smaller screen ([@lex111](https://github.com/lex111))\\n - [#1986](https://github.com/facebook/docusaurus/pull/1986) fix(v2): remove obsolete iframe attributes ([@lex111](https://github.com/lex111))\\n- `docusaurus-init`\\n - [#1982](https://github.com/facebook/docusaurus/pull/1982) feat(v2): add FB link to footer ([@lex111](https://github.com/lex111))\\n- `docusaurus-1.x`, `docusaurus-init-1.x`, `docusaurus-init`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-types`, `docusaurus`\\n - [#1985](https://github.com/facebook/docusaurus/pull/1985) chore(v2): update dependencies ([@endiliey](https://github.com/endiliey))\\n\\n## :running: Performance\\n\\n- `docusaurus`\\n - [#1979](https://github.com/facebook/docusaurus/pull/1979) perf(v2): reduce main bundle size by using es5 if possible ([@endiliey](https://github.com/endiliey))\\n\\n## Committers: 6\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Endi ([@endiliey](https://github.com/endiliey))\\n- Eric Carboni ([@ericcarboni](https://github.com/ericcarboni))\\n- Jamie Davenport ([@jamiedavenport](https://github.com/jamiedavenport))\\n- Nick McCormick ([@kenning](https://github.com/kenning))\\n- Vincent van der Walt ([@vinnytheviking](https://github.com/vinnytheviking))"},{"id":"/2.0.0-alpha.34","metadata":{"permalink":"/changelog/2.0.0-alpha.34","source":"@site/changelog/source/2.0.0-alpha.34.md","title":"2.0.0-alpha.34","description":"New Feature","date":"2019-11-11T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-11T20:00","authors":["endiliey","lex111","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.35","permalink":"/changelog/2.0.0-alpha.35"},"nextItem":{"title":"2.0.0-alpha.33","permalink":"/changelog/2.0.0-alpha.33"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n## :rocket: New Feature\\n\\n- `docusaurus-theme-classic`\\n - [#1956](https://github.com/facebook/docusaurus/pull/1956) feat(v2): add ability hide dark mode toggle ([@lex111](https://github.com/lex111))\\n\\n## :boom: Breaking Change\\n\\n- `docusaurus-plugin-content-docs`\\n - [#1958](https://github.com/facebook/docusaurus/pull/1958) breaking(v2): editUrl should point to website instead of docsDir ([@endiliey](https://github.com/endiliey))\\n\\n## :bug: Bug Fix\\n\\n- `docusaurus-theme-classic`\\n - [#1959](https://github.com/facebook/docusaurus/pull/1959) fix(v2): useTOC hooks should not be called in each nested children ([@endiliey](https://github.com/endiliey))\\n\\n## :nail_care: Polish\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus`\\n - [#1957](https://github.com/facebook/docusaurus/pull/1957) refactor(v2): avoid synchronous/ blocking operation when possible ([@endiliey](https://github.com/endiliey))\\n\\n## :memo: Documentation\\n\\n- [#1953](https://github.com/facebook/docusaurus/pull/1953) fix(v2): update Infima website URL ([@yangshun](https://github.com/yangshun))\\n\\n## :house: Internal\\n\\n- `docusaurus-1.x`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`\\n - [#1955](https://github.com/facebook/docusaurus/pull/1955) chore: bump dev dependencies ([@endiliey](https://github.com/endiliey))\\n- Other\\n - [#1952](https://github.com/facebook/docusaurus/pull/1952) chore(v2): add lerna-changelog ([@endiliey](https://github.com/endiliey))\\n\\n## :running: Performance\\n\\n- `docusaurus-plugin-content-docs`, `docusaurus-utils`, `docusaurus`\\n - [#1951](https://github.com/facebook/docusaurus/pull/1951) perf(v2): skip runtime fileHash cache in prod & get timestamp asynchronously ([@endiliey](https://github.com/endiliey))\\n - [#1950](https://github.com/facebook/docusaurus/pull/1950) perf(v2): more efficient hot reload & consistent filegen ([@endiliey](https://github.com/endiliey))\\n\\n## Committers: 3\\n\\n- Alexey Pyltsyn ([@lex111](https://github.com/lex111))\\n- Endi ([@endiliey](https://github.com/endiliey))\\n- Yangshun Tay ([@yangshun](https://github.com/yangshun))"},{"id":"/2.0.0-alpha.33","metadata":{"permalink":"/changelog/2.0.0-alpha.33","source":"@site/changelog/source/2.0.0-alpha.33.md","title":"2.0.0-alpha.33","description":"Features","date":"2019-11-08T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-08T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.34","permalink":"/changelog/2.0.0-alpha.34"},"nextItem":{"title":"2.0.0-alpha.32","permalink":"/changelog/2.0.0-alpha.32"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n## Features\\n\\n- Table of contents is now highlighted depending on current active headings. (thanks to awesome @SantiagoGdaR) [#1896](https://github.com/facebook/docusaurus/pull/1896)\\n- Official blog plugin can now generate feed for blog posts. (thanks to awesome @moozzyk) [#1916](https://github.com/facebook/docusaurus/pull/1916)\\n- **BREAKING** `prismTheme` is renamed to `theme` as part new `prism` object in `themeConfig` field in your `docusaurus.config.js`. Eg:\\n ```diff\\n themeConfig: {\\n - prismTheme: require(\'prism-react-renderer/themes/dracula\'),\\n + prism: {\\n + theme: require(\'prism-react-renderer/themes/dracula\'),\\n + },\\n },\\n ```\\n- Added new `prism` option `defaultLanguage` that is used if the language is not specified in code blocks. [#1910](https://github.com/facebook/docusaurus/pull/1910)\\n\\n## Fixes\\n\\n- Fix babel/env not picking the correct browserslist configuration during development. When running `docusaurus start`, `process.env.NODE_ENV` is now consistently set to `development`.\\n- Ensure routes config generation to be more consistent in ordering. Nested routes should be placed last in routes.js. This will allow user to create `src/pages/docs.js` to create custom docs page for `/docs` or even `src/pages/docs/super.js` to create page for `/docs/super/`;\\n- Fix watcher does not trigger reload on windows.\\n- Fix build compilation error if exists only one code tab.\\n- Add minor padding to docs container so that hash-link won\'t be cut off.\\n\\n## Others\\n\\n- Misc dependency upgrades.\\n- Stability improvement (more tests) & refactoring on docs plugin to prevent regression."},{"id":"/2.0.0-alpha.32","metadata":{"permalink":"/changelog/2.0.0-alpha.32","source":"@site/changelog/source/2.0.0-alpha.32.md","title":"2.0.0-alpha.32","description":"Features","date":"2019-11-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-04T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.33","permalink":"/changelog/2.0.0-alpha.33"},"nextItem":{"title":"2.0.0-alpha.31","permalink":"/changelog/2.0.0-alpha.31"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n## Features\\n\\n- Add `<Redirect>` component for client side redirect. Example Usage:\\n\\n```js\\nimport React from \'react\';\\nimport {Redirect} from \'@docusaurus/router\';\\n\\nfunction Home() {\\n return <Redirect to=\\"/docs/test\\" />;\\n}\\n```\\n\\n- Allow user to add custom HTML to footer items. [#1905](https://github.com/facebook/docusaurus/pull/1905)\\n- Added code block line highlighting feature (thanks @lex111)! If you have previously swizzled the `CodeBlock` theme component, it is recommended to update your source code to have this feature. ([#1860](https://github.com/facebook/Docusaurus/issues/1860))\\n\\n## Bug Fixes\\n\\n- Fix `@theme/Tabs` component to be able to create tabs with only one item.\\n- Fix MDX `@theme/Heading` component. If there is no id, it should not create anchor link.\\n- Fixed a bug in which if `themeConfig.algolia` is not defined, the custom searchbar won\'t appear. If you\'ve swizzled Algolia `SearchBar` component before, please update your source code otherwise CSS might break. See [#1909](https://github.com/facebook/docusaurus/pull/1909/files) for reference.\\n\\n```js\\n- <Fragment>\\n+ <div className=\\"navbar__search\\" key=\\"search-box\\">\\n```\\n\\n- Slightly adjust search icon position to be more aligned on small width device. ([#1893](https://github.com/facebook/Docusaurus/issues/1893))\\n- Fix algolia styling bug, previously search suggestion result is sometimes hidden. ([#1915](https://github.com/facebook/Docusaurus/issues/1915))\\n- Changed the way we read the `USE_SSH` env variable during deployment to be the same as in v1.\\n- Fix accessing `docs/` or `/docs/xxxx` that does not match any existing doc page should return 404 (Not found) page, not blank page. ([#1903](https://github.com/facebook/Docusaurus/issues/1903))\\n- Prioritize `@docusaurus/core` dependencies/ node_modules over user\'s node_modules. This fix a bug whereby if user has core-js@3 on its own node_modules but docusaurus depends on core-js@2, we previously encounter `Module not found: core-js/modules/xxxx` (because core-js@3 doesn\'t have that).\\n- Fix a bug where docs plugin add `/docs` route even if docs folder is empty. We also improved docs plugin test coverage to 100% for stability before working on docs versioning. ([#1912](https://github.com/facebook/Docusaurus/issues/1912))\\n\\n## Performance Improvement\\n\\n- Reduce memory usage consumption. ([#1900](https://github.com/facebook/Docusaurus/issues/1900))\\n- Significantly reduce main bundle size and initial HTML payload on production build. Generated files from webpack is also shorter in name. ([#1898](https://github.com/facebook/Docusaurus/issues/1898))\\n- Simplify blog metadata. Previously, accessing `/blog/post-xxx` will request for next and prev blog post metadata too aside from target post metadata. We should only request target post metadata. ([#1908](https://github.com/facebook/Docusaurus/issues/1908))\\n\\n## Others\\n\\n- Convert sitemap plugin to TypeScript. ([#1894](https://github.com/facebook/Docusaurus/issues/1894))\\n- Refactor dark mode toggle into a hook. ([#1899](https://github.com/facebook/Docusaurus/issues/1899))"},{"id":"/2.0.0-alpha.31","metadata":{"permalink":"/changelog/2.0.0-alpha.31","source":"@site/changelog/source/2.0.0-alpha.31.md","title":"2.0.0-alpha.31","description":"- Footer is now sticky/ pinned to the bottom of the viewport in desktop browsers.","date":"2019-10-26T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-26T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.32","permalink":"/changelog/2.0.0-alpha.32"},"nextItem":{"title":"2.0.0-alpha.30","permalink":"/changelog/2.0.0-alpha.30"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n- Footer is now sticky/ pinned to the bottom of the viewport in desktop browsers.\\n- Footer is now also displayed in docs page for consistency.\\n- Remove empty doc sidebar container if sidebar for a particular doc page does not exist. Otherwise, it will cause an additional empty space.\\n- Default PostCSS loader now only polyfills stage 3+ features (previously it was stage 2) like Create React App. Stage 2 CSS is considered relatively unstable and subject to change while Stage 3 features will likely become a standard.\\n- Fix search bar focus bug. When you put the focus on search input, previously the focus will remain although we have clicked to other area outside of the search input.\\n- New themeConfig option `sidebarCollapsible`. It is on by default. If explicitly set to `false`, all doc items in sidebar is expanded. Otherwise, it will still be a collapsible sidebar.\\n- Disable adding hashes to the generated class names of CSS modules in dev mode. Generating unique identifiers takes some time, which can be saved since including paths to files in class names is enough to avoid collisions.\\n- Fix showing sidebar category with empty items.\\n- Update infima from 0.2.0-alpha.2 to 0.2.0-alpha.3\\n - Fix pagination nav and right sidebar color contrast ratio\\n - Fix sidebar arrow color in dark mode\\n - Fix footer mobile issue\\n - Increase sidebar width\\n - etc"},{"id":"/2.0.0-alpha.30","metadata":{"permalink":"/changelog/2.0.0-alpha.30","source":"@site/changelog/source/2.0.0-alpha.30.md","title":"2.0.0-alpha.30","description":"- Fix babel transpilation include/exclude logic to be more efficient. This also fix a very weird bug TypeError: Cannot assign to read only property \'exports\' of object \'#\'.(#1868)","date":"2019-10-22T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-22T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.31","permalink":"/changelog/2.0.0-alpha.31"},"nextItem":{"title":"2.0.0-alpha.29","permalink":"/changelog/2.0.0-alpha.29"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n- Fix babel transpilation include/exclude logic to be more efficient. This also fix a very weird bug `TypeError: Cannot assign to read only property \'exports\' of object \'#<Object>\'`.([#1868](https://github.com/facebook/docusaurus/pull/1868))\\n\\nIf you are still encountering the error. Please check whether you use `module.exports` for your `.js` file instead of doing `export` (mixing CJS and ES). See https://github.com/webpack/webpack/issues/4039#issuecomment-477779322 and https://github.com/webpack/webpack/issues/4039#issuecomment-273804003 for more context."},{"id":"/2.0.0-alpha.29","metadata":{"permalink":"/changelog/2.0.0-alpha.29","source":"@site/changelog/source/2.0.0-alpha.29.md","title":"2.0.0-alpha.29","description":"HOTFIX for 2.0.0-alpha.28.","date":"2019-10-21T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-21T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.30","permalink":"/changelog/2.0.0-alpha.30"},"nextItem":{"title":"2.0.0-alpha.28","permalink":"/changelog/2.0.0-alpha.28"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n**HOTFIX for 2.0.0-alpha.28**.\\n\\n- Fix missing `core-js` dependencies on `@docusaurus/core`.\\n- Fix wrong `@babel/env` preset configuration that causes build compilation error.\\n- New UI for webpack compilation progress bar."},{"id":"/2.0.0-alpha.28","metadata":{"permalink":"/changelog/2.0.0-alpha.28","source":"@site/changelog/source/2.0.0-alpha.28.md","title":"2.0.0-alpha.28","description":"- Further reduce memory usage to avoid heap memory allocation failure.","date":"2019-10-21T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-21T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.29","permalink":"/changelog/2.0.0-alpha.29"},"nextItem":{"title":"2.0.0-alpha.27","permalink":"/changelog/2.0.0-alpha.27"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n- Further reduce memory usage to avoid heap memory allocation failure.\\n- Fix `keywords` frontmatter for SEO not working properly.\\n- Fix `swizzle` command not passing context properly to theme packages.\\n- Add `extendCli` api for plugins. This will allow plugin to further extend Docusaurus CLI.\\n- Fix `swizzle` command not being able to swizzle single js file.\\n- Fix logo URL in footer to be appended with baseUrl automatically.\\n- Add the option `--no-open` for `start` command.\\n- Set `@babel/env` useBuiltins to `usage`. This will automatically use browserlist and import polyfills required.\\n- Modified TerserWebpackPlugin `terserOptions` for better cross-browser compatibility.\\n- **BREAKING** `withBaseUrl` is renamed to `useBaseUrl` because its a React Hooks. Make sure you import/rename it correctly. Eg: `import useBaseUrl from \'@docusaurus/useBaseUrl`;\\n- Fix potential security vulnerability because we\'re exposing the directory structure of the host machine.\\n- Upgrade dependencies."},{"id":"/2.0.0-alpha.27","metadata":{"permalink":"/changelog/2.0.0-alpha.27","source":"@site/changelog/source/2.0.0-alpha.27.md","title":"2.0.0-alpha.27","description":"- Add @theme/Tabs which can be used to implement multi-language code tabs.","date":"2019-10-14T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-14T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.28","permalink":"/changelog/2.0.0-alpha.28"},"nextItem":{"title":"2.0.0-alpha.26","permalink":"/changelog/2.0.0-alpha.26"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n- Add `@theme/Tabs` which can be used to implement multi-language code tabs.\\n- Implement `custom_edit_url` and `hide_title` markdown header for docusaurus v1 feature parity.\\n- Reduce memory usage and slightly faster production build.\\n- Misc dependency upgrades."},{"id":"/2.0.0-alpha.26","metadata":{"permalink":"/changelog/2.0.0-alpha.26","source":"@site/changelog/source/2.0.0-alpha.26.md","title":"2.0.0-alpha.26","description":"- Docs, pages plugin is rewritten in TypeScript","date":"2019-10-12T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-12T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.27","permalink":"/changelog/2.0.0-alpha.27"},"nextItem":{"title":"2.0.0-alpha.25","permalink":"/changelog/2.0.0-alpha.25"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n- Docs, pages plugin is rewritten in TypeScript\\n- Docs improvements and tweaks\\n - Improved metadata which results in smaller bundle size.\\n - Docs sidebar can now be more than one level deep, theoretically up to infinity\\n - Collapsible docs sidebar!\\n - Make doc page title larger\\n - Add `editUrl` option (URL for editing) to docs plugin. If this field is set, there will be an \\"Edit this page\\" link for each doc page. Example: \'https://github.com/facebook/docusaurus/edit/master/docs\'\\n - Add `showLastUpdateTime` and `showLastUpdateAuthor` options to docs plugin to further achieve v1 parity of showing last update data for a particular doc\\n- Slight tweaks to the Blog components - blog title is larger now\\n- Code Blocks\\n - Change default theme from Night Owl to Palenight\\n - Slight tweaks to playground/preview components\\n- Add `scripts` and `stylesheets` field to `docusaurus.config.js`\\n- More documentation..."},{"id":"/2.0.0-alpha.25","metadata":{"permalink":"/changelog/2.0.0-alpha.25","source":"@site/changelog/source/2.0.0-alpha.25.md","title":"2.0.0-alpha.25","description":"- Blog plugin is rewritten in TypeScript and can now support CJK","date":"2019-10-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-01T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.26","permalink":"/changelog/2.0.0-alpha.26"},"nextItem":{"title":"2.0.0-alpha.24","permalink":"/changelog/2.0.0-alpha.24"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n- Blog plugin is rewritten in TypeScript and can now support CJK\\n- Upgrade key direct dependencies such as webpack, mdx and babel to latest\\n- Do not escape html and body attributes\\n- For devices with very small viewport width, the searchbar is replaced with a search icon. On tap of the search icon the searchbar is expanded and the text beside the logo is hidden and remains hidden while the search bar is expanded.\\n- Add `date` frontMatter support for blog plugin\\n- Add `truncateMarker` option to blog plugin, support string or regex.\\n- Webpack `optimization.removeAvailableModules` is now disabled for performance gain. See https://github.com/webpack/webpack/releases/tag/v4.38.0 for more context."},{"id":"/2.0.0-alpha.24","metadata":{"permalink":"/changelog/2.0.0-alpha.24","source":"@site/changelog/source/2.0.0-alpha.24.md","title":"2.0.0-alpha.24","description":"- Remove unused metadata for pages. This minimize number of http request & smaller bundle size.","date":"2019-07-24T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-07-24T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.25","permalink":"/changelog/2.0.0-alpha.25"},"nextItem":{"title":"2.0.0-alpha.23","permalink":"/changelog/2.0.0-alpha.23"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n- Remove unused metadata for pages. This minimize number of http request & smaller bundle size.\\n- Upgrade dependencies of css-loader from 2.x to 3.x. CSS modules localIdentName hash now only use the last 4 characters instead of 8.\\n- Fix broken markdown linking replacement for mdx files\\n- Fix potential security vulnerability because we\'re exposing the directory structure of the host machine. Instead of absolute path, we use relative path from site directory. Resulting in shorter webpack chunk naming and smaller bundle size.\\n- Use contenthash instead of chunkhash for better long term caching\\n- Allow user to customize generated heading from MDX. Swizzle `@theme/Heading`"},{"id":"/2.0.0-alpha.23","metadata":{"permalink":"/changelog/2.0.0-alpha.23","source":"@site/changelog/source/2.0.0-alpha.23.md","title":"2.0.0-alpha.23","description":"- Fix docusaurus route config generation for certain edge case","date":"2019-07-21T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-07-21T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.24","permalink":"/changelog/2.0.0-alpha.24"},"nextItem":{"title":"2.0.0-alpha.22","permalink":"/changelog/2.0.0-alpha.22"},"listPageLink":"/changelog/page/5"},"content":"\x3c!-- truncate --\x3e\\n\\n- Fix docusaurus route config generation for certain edge case"},{"id":"/2.0.0-alpha.22","metadata":{"permalink":"/changelog/2.0.0-alpha.22","source":"@site/changelog/source/2.0.0-alpha.22.md","title":"2.0.0-alpha.22","description":"- Add missing dependencies on @docusaurus/preset-classic","date":"2019-07-20T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-07-20T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.23","permalink":"/changelog/2.0.0-alpha.23"},"nextItem":{"title":"2.0.0-alpha.21","permalink":"/changelog/2.0.0-alpha.21"},"listPageLink":"/changelog/page/6"},"content":"\x3c!-- truncate --\x3e\\n\\n- Add missing dependencies on `@docusaurus/preset-classic`\\n- New plugin `@docusaurus/plugin-ideal-image` to generate an almost ideal image (responsive, lazy-loading, and low quality placeholder)\\n- Better Twitter/discord image preview. Previously the size is too zoomed\\n- Allow prism syntax highlighting theme customization. Refer to https://docusaurus.io/docs/markdown-features#syntax-highlighting\\n- CSS is now autoprefixed using postcss\\n- Faster, lighter webpack bundle size\\n- `@docusaurus/theme-live-codeblock` is now much smaller in size and no longer only load on viewport\\n- Blog markdown files now support using the id field to specify the path"},{"id":"/2.0.0-alpha.21","metadata":{"permalink":"/changelog/2.0.0-alpha.21","source":"@site/changelog/source/2.0.0-alpha.21.md","title":"2.0.0-alpha.21","description":"- Fix babel-loader not transpiling docusaurus package","date":"2019-07-14T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-07-14T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.22","permalink":"/changelog/2.0.0-alpha.22"},"nextItem":{"title":"2.0.0-alpha.20","permalink":"/changelog/2.0.0-alpha.20"},"listPageLink":"/changelog/page/6"},"content":"\x3c!-- truncate --\x3e\\n\\n- Fix babel-loader not transpiling docusaurus package"},{"id":"/2.0.0-alpha.20","metadata":{"permalink":"/changelog/2.0.0-alpha.20","source":"@site/changelog/source/2.0.0-alpha.20.md","title":"2.0.0-alpha.20","description":"- Add copy codeblock button","date":"2019-07-14T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-07-14T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.21","permalink":"/changelog/2.0.0-alpha.21"},"nextItem":{"title":"2.0.0-alpha.19","permalink":"/changelog/2.0.0-alpha.19"},"listPageLink":"/changelog/page/6"},"content":"\x3c!-- truncate --\x3e\\n\\n- Add copy codeblock button\\n- Add Google analytics and Google gtag plugins.\\n- Move source components to `/src`. Please create a `website/src` directory and move your `/pages` and `/theme` code into it. This is to make it easier to integrate your website with external build/static analysis tooling (you can now just pass in `src/**/*.js` as the path to process).\\n- Adde more documentation thanks to @wgao19.\\n- Deprecate the current docs plugin. The docs plugin as of 2.0.0-alpha.19 is heavily based on V1 specifications and we intend to create a better one that fixes some of the inconsistencies in V1. If you have swizzled any doc components, you will have to update their names. You are highly encourages to not swizzle the legacy doc components until we have completed the new docs plugin.\\n- Separate v2 init command to new package @docusaurus/init\\n- Render 404.html page\\n- Improve SEO\\n- Clicking on the logo in the mobile sliding navigation will now bring you to the homepage.\\n- Performance\\n - Disable webpack output pathinfo. Webpack has the ability to generate path info in the output bundle. However, this puts garbage collection pressure on projects that bundle thousands of modules. Not very useful for our case\\n - Drop cache-loader in CI and test environment because it has an initial overhead. We always start from scratch in vm instance like CI so cache-loader is useless\\n - Better splitchunks and babel default webpack config"},{"id":"/2.0.0-alpha.19","metadata":{"permalink":"/changelog/2.0.0-alpha.19","source":"@site/changelog/source/2.0.0-alpha.19.md","title":"2.0.0-alpha.19","description":"- Add a sensible default for browserslist config.","date":"2019-06-07T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-06-07T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.20","permalink":"/changelog/2.0.0-alpha.20"},"nextItem":{"title":"V2 Changelog","permalink":"/changelog/V2 Changelog"},"listPageLink":"/changelog/page/6"},"content":"\x3c!-- truncate --\x3e\\n\\n- Add a sensible default for browserslist config.\\n- UI\\n - Add sun and moon emoji to the dark mode toggle.\\n - Mobile responsive menu.\\n - Right table of contents for docs is now sticky.\\n- Plugins\\n - Change plugin definitions from classes to functions. Refer to the new plugin docs.\\n - Implement Clients module API.\\n - Change format within `docusaurus.config.js` to be like presets.\\n- Deps\\n - Infima CSS is now locked down to specific versions and not relying upon the CDN which reads from trunk.\\n - Update dependencies to latest\\n- Customize/ Override infima CSS variables by passing options into the classic preset.\\n\\n```\\npresets: [\\n [\\n \'@docusaurus/preset-classic\',\\n {\\n theme: {\\n customCss: require.resolve(\'./css/custom.css\'),\\n },\\n ...\\n },\\n ],\\n],\\n```\\n\\n- Allow passing remark and rehype plugins to mdx-loader for docs and blog plugin\\n- Move themes component of docs and blog to be part of theme-classic\\n- Use composition style for prism syntax highlighting instead of doing it via rehype plugin\\n- Pass MDXProvider to docs and blog. To change the provided MDX components, run `docusaurus swizzle @docusaurus/theme-classic MDXComponents`\\n- Add @docusaurus/theme-livecodeblock plugin\\n- Better run-time code generation & webpack splitchunks optimization\\n- Minify css for production build\\n- Fix weird scrolling problem when navigating to a route with a `hash` location"},{"id":"/V2 Changelog","metadata":{"permalink":"/changelog/V2 Changelog","source":"@site/changelog/source/V2 Changelog.md","title":"V2 Changelog","description":"siteConfig.js changes","date":"2019-04-10T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-04-10T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.19","permalink":"/changelog/2.0.0-alpha.19"},"listPageLink":"/changelog/page/6"},"content":"\x3c!-- truncate --\x3e\\n\\n### `siteConfig.js` changes\\n\\n- `siteConfig.js` renamed to `docusaurus.config.js`.\\n- Remove the following config options:\\n - `docsUrl`. Use the plugin option on `docusaurus-plugin-content-docs` instead.\\n - `customDocsPath`. Use the plugin option on `docusaurus-plugin-content-docs` instead.\\n - `sidebars.json` now has to be explicitly loaded by users and passed into the plugin option on `docusaurus-plugin-content-docs`.\\n - `headerLinks` doc, page, blog is deprecated and has been to moved into `themeConfig` under the name `navbar`. The syntax is now:\\n\\n```js\\nthemeConfig: {\\n navbar: {\\n title: \'Docusaurus\',\\n logo: {\\n alt: \'Docusaurus Logo\',\\n src: \'img/docusaurus.svg\',\\n },\\n links: [\\n {to: \'docs/introduction\', label: \'Docs\', position: \'left\'},\\n {to: \'blog\', label: \'Blog\', position: \'left\'},\\n {to: \'feedback\', label: \'Feedback\', position: \'left\'},\\n {\\n href: \'https://github.com/facebook/docusaurus\',\\n label: \'GitHub\',\\n position: \'right\',\\n },\\n ],\\n },\\n}\\n```\\n\\n### Migration Guide\\n\\n_Work in Progress_\\n\\n### Presets\\n\\n- Add presets for plugins that follow the [Babel preset convention](https://babeljs.io/docs/en/presets)."}],"blogListPaginated":[{"items":["/3.7.0","/3.6.3","/3.6.2","/3.6.1","/3.6.0","/3.5.2","/3.5.1","/3.5.0","/3.4.0","/3.3.2","/3.3.1","/3.3.0","/3.2.1","/3.2.0","/3.1.1","/3.1.0","/3.0.1","/3.0.0","/2.4.3","/2.4.2"],"metadata":{"permalink":"/changelog","page":1,"postsPerPage":20,"totalPages":6,"totalCount":105,"nextPage":"/changelog/page/2","blogDescription":"Keep yourself up-to-date about new features in every release","blogTitle":"Docusaurus changelog"}},{"items":["/2.4.1","/2.4.0","/2.3.1","/2.3.0","/2.2.0","/2.1.0","/2.0.1","/2.0.0","/2.0.0-rc.1","/2.0.0-beta.22","/2.0.0-beta.21","/2.0.0-beta.20","/2.0.0-beta.19","/2.0.0-beta.18","/2.0.0-beta.17","/2.0.0-beta.16","/2.0.0-beta.15","/2.0.0-beta.14","/2.0.0-beta.13","/2.0.0-beta.12"],"metadata":{"permalink":"/changelog/page/2","page":2,"postsPerPage":20,"totalPages":6,"totalCount":105,"previousPage":"/changelog","nextPage":"/changelog/page/3","blogDescription":"Keep yourself up-to-date about new features in every release","blogTitle":"Docusaurus changelog"}},{"items":["/2.0.0-beta.11","/2.0.0-beta.10","/2.0.0-beta.9","/2.0.0-beta.8","/2.0.0-beta.7","/2.0.0-beta.6","/2.0.0-beta.5","/2.0.0-beta.4","/2.0.0-beta.3","/2.0.0-beta.2","/2.0.0-beta.1","/2.0.0-beta.0","/2.0.0-alpha.75","/2.0.0-alpha.74","/2.0.0-alpha.73","/2.0.0-alpha.72","/2.0.0-alpha.71","/2.0.0-alpha.70","/2.0.0-alpha.69","/2.0.0-alpha.68"],"metadata":{"permalink":"/changelog/page/3","page":3,"postsPerPage":20,"totalPages":6,"totalCount":105,"previousPage":"/changelog/page/2","nextPage":"/changelog/page/4","blogDescription":"Keep yourself up-to-date about new features in every release","blogTitle":"Docusaurus changelog"}},{"items":["/2.0.0-alpha.67","/2.0.0-alpha.66","/2.0.0-alpha.65","/2.0.0-alpha.64","/2.0.0-alpha.63","/2.0.0-alpha.62","/2.0.0-alpha.61","/2.0.0-alpha.60","/2.0.0-alpha.59","/2.0.0-alpha.58","/2.0.0-alpha.57","/2.0.0-alpha.56","/2.0.0-alpha.55","/2.0.0-alpha.54","/2.0.0-alpha.53","/2.0.0-alpha.51","/2.0.0-alpha.50","/2.0.0-alpha.49","/2.0.0-alpha.48","/2.0.0-alpha.44"],"metadata":{"permalink":"/changelog/page/4","page":4,"postsPerPage":20,"totalPages":6,"totalCount":105,"previousPage":"/changelog/page/3","nextPage":"/changelog/page/5","blogDescription":"Keep yourself up-to-date about new features in every release","blogTitle":"Docusaurus changelog"}},{"items":["/2.0.0-alpha.43","/2.0.0-alpha.41","/2.0.0-alpha.40","/2.0.0-alpha.39","/2.0.0-alpha.38","/2.0.0-alpha.37","/2.0.0-alpha.36","/2.0.0-alpha.35","/2.0.0-alpha.34","/2.0.0-alpha.33","/2.0.0-alpha.32","/2.0.0-alpha.31","/2.0.0-alpha.30","/2.0.0-alpha.29","/2.0.0-alpha.28","/2.0.0-alpha.27","/2.0.0-alpha.26","/2.0.0-alpha.25","/2.0.0-alpha.24","/2.0.0-alpha.23"],"metadata":{"permalink":"/changelog/page/5","page":5,"postsPerPage":20,"totalPages":6,"totalCount":105,"previousPage":"/changelog/page/4","nextPage":"/changelog/page/6","blogDescription":"Keep yourself up-to-date about new features in every release","blogTitle":"Docusaurus changelog"}},{"items":["/2.0.0-alpha.22","/2.0.0-alpha.21","/2.0.0-alpha.20","/2.0.0-alpha.19","/V2 Changelog"],"metadata":{"permalink":"/changelog/page/6","page":6,"postsPerPage":20,"totalPages":6,"totalCount":105,"previousPage":"/changelog/page/5","blogDescription":"Keep yourself up-to-date about new features in every release","blogTitle":"Docusaurus changelog"}}],"blogTags":{},"blogTagsListPath":"/changelog/tags","authorsMap":{"6543":{"name":"6543","alias":"6543","url":"https://github.com/6543","imageURL":"https://github.com/6543.png","key":"6543","page":null},"1084350607":{"name":"\u4E45\u67D3 | JiuRan","alias":"1084350607","url":"https://github.com/1084350607","imageURL":"https://github.com/1084350607.png","key":"1084350607","page":null},"alvinometric":{"name":"Alvin Bryan","alias":"alvinometric","url":"https://github.com/alvinometric","imageURL":"https://github.com/alvinometric.png","key":"alvinometric","page":null},"codimiracle":{"name":"Lin Huang","alias":"codimiracle","url":"https://github.com/codimiracle","imageURL":"https://github.com/codimiracle.png","key":"codimiracle","page":null},"effozen":{"name":"Zen","alias":"effozen","url":"https://github.com/effozen","imageURL":"https://github.com/effozen.png","key":"effozen","page":null},"GingerGeek":{"name":"Zed Spencer-Milnes","alias":"GingerGeek","url":"https://github.com/GingerGeek","imageURL":"https://github.com/GingerGeek.png","key":"GingerGeek","page":null},"hichemfantar":{"name":"Hichem Fantar","alias":"hichemfantar","url":"https://github.com/hichemfantar","imageURL":"https://github.com/hichemfantar.png","key":"hichemfantar","page":null},"ivancheban":{"name":"Ivan Cheban","alias":"ivancheban","url":"https://github.com/ivancheban","imageURL":"https://github.com/ivancheban.png","key":"ivancheban","page":null},"jakeboone02":{"name":"Jake Boone","alias":"jakeboone02","url":"https://github.com/jakeboone02","imageURL":"https://github.com/jakeboone02.png","key":"jakeboone02","page":null},"janaukema":{"name":"Jan Aukema","alias":"janaukema","url":"https://github.com/janaukema","imageURL":"https://github.com/janaukema.png","key":"janaukema","page":null},"Lehoczky":{"name":"Lehoczky Zolt\xe1n","alias":"Lehoczky","url":"https://github.com/Lehoczky","imageURL":"https://github.com/Lehoczky.png","key":"Lehoczky","page":null},"millotp":{"name":"Pierre Millot","alias":"millotp","url":"https://github.com/millotp","imageURL":"https://github.com/millotp.png","key":"millotp","page":null},"slorber":{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},"taylorreece":{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null},"waldyrious":{"name":"Waldir Pimenta","alias":"waldyrious","url":"https://github.com/waldyrious","imageURL":"https://github.com/waldyrious.png","key":"waldyrious","page":null},"WillBlack403":{"name":"William Black","alias":"WillBlack403","url":"https://github.com/WillBlack403","imageURL":"https://github.com/WillBlack403.png","key":"WillBlack403","page":null},"goffxnca":{"name":"Junior_Gx","alias":"goffxnca","url":"https://github.com/goffxnca","imageURL":"https://github.com/goffxnca.png","key":"goffxnca","page":null},"kyletsang":{"name":"Kyle Tsang","alias":"kyletsang","url":"https://github.com/kyletsang","imageURL":"https://github.com/kyletsang.png","key":"kyletsang","page":null},"Ryoga-exe":{"name":"Ryoga","alias":"Ryoga-exe","url":"https://github.com/Ryoga-exe","imageURL":"https://github.com/Ryoga-exe.png","key":"Ryoga-exe","page":null},"Zwyx":{"name":"Zwyx","alias":"Zwyx","url":"https://github.com/Zwyx","imageURL":"https://github.com/Zwyx.png","key":"Zwyx","page":null},"lebalz":{"name":"Balthasar Hofer","alias":"lebalz","url":"https://github.com/lebalz","imageURL":"https://github.com/lebalz.png","key":"lebalz","page":null},"andrewasche":{"name":"Andrew Asche","alias":"andrewasche","url":"https://github.com/andrewasche","imageURL":"https://github.com/andrewasche.png","key":"andrewasche","page":null},"B0r1sD":{"name":"Boris Depoortere","alias":"B0r1sD","url":"https://github.com/B0r1sD","imageURL":"https://github.com/B0r1sD.png","key":"B0r1sD","page":null},"ccho-mongodb":{"name":"Chris Cho","alias":"ccho-mongodb","url":"https://github.com/ccho-mongodb","imageURL":"https://github.com/ccho-mongodb.png","key":"ccho-mongodb","page":null},"flixyudh":{"name":"Flix","alias":"flixyudh","url":"https://github.com/flixyudh","imageURL":"https://github.com/flixyudh.png","key":"flixyudh","page":null},"ilg-ul":{"name":"Liviu Ionescu","alias":"ilg-ul","url":"https://github.com/ilg-ul","imageURL":"https://github.com/ilg-ul.png","key":"ilg-ul","page":null},"jackrabbit128":{"name":"jackrabbit128","alias":"jackrabbit128","url":"https://github.com/jackrabbit128","imageURL":"https://github.com/jackrabbit128.png","key":"jackrabbit128","page":null},"k-seltzer":{"name":"k-seltzer","alias":"k-seltzer","url":"https://github.com/k-seltzer","imageURL":"https://github.com/k-seltzer.png","key":"k-seltzer","page":null},"kenrick95":{"name":"Kenrick","alias":"kenrick95","url":"https://github.com/kenrick95","imageURL":"https://github.com/kenrick95.png","key":"kenrick95","page":null},"moonrailgun":{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},"moskalakamil":{"name":"Kamil Moska\u0142a","alias":"moskalakamil","url":"https://github.com/moskalakamil","imageURL":"https://github.com/moskalakamil.png","key":"moskalakamil","page":null},"namnguyenthanhwork":{"name":"Nguy\u1EC5n Th\xe0nh Nam","alias":"namnguyenthanhwork","url":"https://github.com/namnguyenthanhwork","imageURL":"https://github.com/namnguyenthanhwork.png","key":"namnguyenthanhwork","page":null},"Olexandr88":{"name":"Olexandr88","alias":"Olexandr88","url":"https://github.com/Olexandr88","imageURL":"https://github.com/Olexandr88.png","key":"Olexandr88","page":null},"OzakIOne":{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},"patik123":{"name":"Patrick","alias":"patik123","url":"https://github.com/patik123","imageURL":"https://github.com/patik123.png","key":"patik123","page":null},"Radovenchyk":{"name":"Radovenchyk","alias":"Radovenchyk","url":"https://github.com/Radovenchyk","imageURL":"https://github.com/Radovenchyk.png","key":"Radovenchyk","page":null},"raghav2005":{"name":"Raghav","alias":"raghav2005","url":"https://github.com/raghav2005","imageURL":"https://github.com/raghav2005.png","key":"raghav2005","page":null},"TheMineWay":{"name":"Joel Campos","alias":"TheMineWay","url":"https://github.com/TheMineWay","imageURL":"https://github.com/TheMineWay.png","key":"TheMineWay","page":null},"Zenahr":{"name":"Zenahr Barzani","alias":"Zenahr","url":"https://github.com/Zenahr","imageURL":"https://github.com/Zenahr.png","key":"Zenahr","page":null},"cstangerup":{"name":"Christian Stangerup","alias":"cstangerup","url":"https://github.com/cstangerup","imageURL":"https://github.com/cstangerup.png","key":"cstangerup","page":null},"GatienBoquet":{"name":"Gatien Boquet","alias":"GatienBoquet","url":"https://github.com/GatienBoquet","imageURL":"https://github.com/GatienBoquet.png","key":"GatienBoquet","page":null},"josh-wong":{"name":"Josh Wong","alias":"josh-wong","url":"https://github.com/josh-wong","imageURL":"https://github.com/josh-wong.png","key":"josh-wong","page":null},"anaclumos":{"name":"Sunghyun Cho","alias":"anaclumos","url":"https://github.com/anaclumos","imageURL":"https://github.com/anaclumos.png","key":"anaclumos","page":null},"alicelovescake":{"name":"Alice Zhao","alias":"alicelovescake","url":"https://github.com/alicelovescake","imageURL":"https://github.com/alicelovescake.png","key":"alicelovescake","page":null},"ashiq-firoz":{"name":"Ashiq Firoz","alias":"ashiq-firoz","url":"https://github.com/ashiq-firoz","imageURL":"https://github.com/ashiq-firoz.png","key":"ashiq-firoz","page":null},"Aslemammad":{"name":"Mohammad Bagher Abiyat","alias":"Aslemammad","url":"https://github.com/Aslemammad","imageURL":"https://github.com/Aslemammad.png","key":"Aslemammad","page":null},"bharateshwq":{"name":"Bharatesh","alias":"bharateshwq","url":"https://github.com/bharateshwq","imageURL":"https://github.com/bharateshwq.png","key":"bharateshwq","page":null},"bohyunjung":{"name":"\uC815\uBCF4\uD604 Bohyun Jung","alias":"bohyunjung","url":"https://github.com/bohyunjung","imageURL":"https://github.com/bohyunjung.png","key":"bohyunjung","page":null},"chirbard":{"name":"Markus Tamm","alias":"chirbard","url":"https://github.com/chirbard","imageURL":"https://github.com/chirbard.png","key":"chirbard","page":null},"d4nyll":{"name":"Daniel Li","alias":"d4nyll","url":"https://github.com/d4nyll","imageURL":"https://github.com/d4nyll.png","key":"d4nyll","page":null},"dhayab":{"name":"Dhaya","alias":"dhayab","url":"https://github.com/dhayab","imageURL":"https://github.com/dhayab.png","key":"dhayab","page":null},"franzd1":{"name":"franzd1","alias":"franzd1","url":"https://github.com/franzd1","imageURL":"https://github.com/franzd1.png","key":"franzd1","page":null},"Gekd":{"name":"Robin Otter","alias":"Gekd","url":"https://github.com/Gekd","imageURL":"https://github.com/Gekd.png","key":"Gekd","page":null},"johnnyreilly":{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},"Josh-Cena":{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},"mxschmitt":{"name":"Max Schmitt","alias":"mxschmitt","url":"https://github.com/mxschmitt","imageURL":"https://github.com/mxschmitt.png","key":"mxschmitt","page":null},"Paneedah":{"name":"Paneedah","alias":"Paneedah","url":"https://github.com/Paneedah","imageURL":"https://github.com/Paneedah.png","key":"Paneedah","page":null},"pjchender":{"name":"Aaron Chen","alias":"pjchender","url":"https://github.com/pjchender","imageURL":"https://github.com/pjchender.png","key":"pjchender","page":null},"priyadi":{"name":"Priyadi Iman Nurcahyo","alias":"priyadi","url":"https://github.com/priyadi","imageURL":"https://github.com/priyadi.png","key":"priyadi","page":null},"sergioalmela":{"name":"Sergio","alias":"sergioalmela","url":"https://github.com/sergioalmela","imageURL":"https://github.com/sergioalmela.png","key":"sergioalmela","page":null},"tats-u":{"name":"Tatsunori Uchino","alias":"tats-u","url":"https://github.com/tats-u","imageURL":"https://github.com/tats-u.png","key":"tats-u","page":null},"ultimate":{"name":"Julian V","alias":"ultimate","url":"https://github.com/ultimate","imageURL":"https://github.com/ultimate.png","key":"ultimate","page":null},"Xebec19":{"name":"Rohan Thakur","alias":"Xebec19","url":"https://github.com/Xebec19","imageURL":"https://github.com/Xebec19.png","key":"Xebec19","page":null},"yujonglee":{"name":"yujonglee","alias":"yujonglee","url":"https://github.com/yujonglee","imageURL":"https://github.com/yujonglee.png","key":"yujonglee","page":null},"Arsero":{"name":"Azzedine E.","alias":"Arsero","url":"https://github.com/Arsero","imageURL":"https://github.com/Arsero.png","key":"Arsero","page":null},"CodeDoctorDE":{"name":"CodeDoctor","alias":"CodeDoctorDE","url":"https://github.com/CodeDoctorDE","imageURL":"https://github.com/CodeDoctorDE.png","key":"CodeDoctorDE","page":null},"homotechsual":{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},"ilmedova":{"name":"Mahri Ilmedova","alias":"ilmedova","url":"https://github.com/ilmedova","imageURL":"https://github.com/ilmedova.png","key":"ilmedova","page":null},"ncoughlin":{"name":"Nick Coughlin","alias":"ncoughlin","url":"https://github.com/ncoughlin","imageURL":"https://github.com/ncoughlin.png","key":"ncoughlin","page":null},"PetarMc1":{"name":"Petar_mc","alias":"PetarMc1","url":"https://github.com/PetarMc1","imageURL":"https://github.com/PetarMc1.png","key":"PetarMc1","page":null},"revi":{"name":"Yongmin Hong","alias":"revi","url":"https://github.com/revi","imageURL":"https://github.com/revi.png","key":"revi","page":null},"Abdullah-03":{"name":"Abdullah Saud","alias":"Abdullah-03","url":"https://github.com/Abdullah-03","imageURL":"https://github.com/Abdullah-03.png","key":"Abdullah-03","page":null},"andrmaz":{"name":"Andrea Mazzucchelli","alias":"andrmaz","url":"https://github.com/andrmaz","imageURL":"https://github.com/andrmaz.png","key":"andrmaz","page":null},"eldemcan":{"name":"Can Eldem","alias":"eldemcan","url":"https://github.com/eldemcan","imageURL":"https://github.com/eldemcan.png","key":"eldemcan","page":null},"gagdiez":{"name":"Guille","alias":"gagdiez","url":"https://github.com/gagdiez","imageURL":"https://github.com/gagdiez.png","key":"gagdiez","page":null},"h3nr1ke":{"name":"H3NR1KE","alias":"h3nr1ke","url":"https://github.com/h3nr1ke","imageURL":"https://github.com/h3nr1ke.png","key":"h3nr1ke","page":null},"iAdramelk":{"name":"Alexey Ivanov","alias":"iAdramelk","url":"https://github.com/iAdramelk","imageURL":"https://github.com/iAdramelk.png","key":"iAdramelk","page":null},"kaihoffman":{"name":"Kai Hoffman","alias":"kaihoffman","url":"https://github.com/kaihoffman","imageURL":"https://github.com/kaihoffman.png","key":"kaihoffman","page":null},"pearmini":{"name":"Bairui Su","alias":"pearmini","url":"https://github.com/pearmini","imageURL":"https://github.com/pearmini.png","key":"pearmini","page":null},"SandPod":{"name":"Alexander Sandor","alias":"SandPod","url":"https://github.com/SandPod","imageURL":"https://github.com/SandPod.png","key":"SandPod","page":null},"tomsotte":{"name":"Tommaso Sotte","alias":"tomsotte","url":"https://github.com/tomsotte","imageURL":"https://github.com/tomsotte.png","key":"tomsotte","page":null},"tomy0000000":{"name":"Tomy Hsieh","alias":"tomy0000000","url":"https://github.com/tomy0000000","imageURL":"https://github.com/tomy0000000.png","key":"tomy0000000","page":null},"Virgil993":{"name":"Virgil993","alias":"Virgil993","url":"https://github.com/Virgil993","imageURL":"https://github.com/Virgil993.png","key":"Virgil993","page":null},"volcanofr":{"name":"volcanofr","alias":"volcanofr","url":"https://github.com/volcanofr","imageURL":"https://github.com/volcanofr.png","key":"volcanofr","page":null},"4troDev":{"name":"Josue [4tro] A","alias":"4troDev","url":"https://github.com/4troDev","imageURL":"https://github.com/4troDev.png","key":"4troDev","page":null},"anatolykopyl":{"name":"Anatoly Kopyl","alias":"anatolykopyl","url":"https://github.com/anatolykopyl","imageURL":"https://github.com/anatolykopyl.png","key":"anatolykopyl","page":null},"axel7083":{"name":"axel7083","alias":"axel7083","url":"https://github.com/axel7083","imageURL":"https://github.com/axel7083.png","key":"axel7083","page":null},"baradusov":{"name":"\u041D\u0443\u0440\u0438\u043B\u044C \u0411\u0430\u0440\u0430\u0434\u0443\u0441\u043E\u0432","alias":"baradusov","url":"https://github.com/baradusov","imageURL":"https://github.com/baradusov.png","key":"baradusov","page":null},"chris-bateman":{"name":"Chris Bateman","alias":"chris-bateman","url":"https://github.com/chris-bateman","imageURL":"https://github.com/chris-bateman.png","key":"chris-bateman","page":null},"Hallinn":{"name":"Hallbj\xf6rn Magn\xfasson","alias":"Hallinn","url":"https://github.com/Hallinn","imageURL":"https://github.com/Hallinn.png","key":"Hallinn","page":null},"Its-Just-Nans":{"name":"n4n5","alias":"Its-Just-Nans","url":"https://github.com/Its-Just-Nans","imageURL":"https://github.com/Its-Just-Nans.png","key":"Its-Just-Nans","page":null},"kaymomin":{"name":"krinza.eth","alias":"kaymomin","url":"https://github.com/kaymomin","imageURL":"https://github.com/kaymomin.png","key":"kaymomin","page":null},"Oreoxmt":{"name":"Aolin","alias":"Oreoxmt","url":"https://github.com/Oreoxmt","imageURL":"https://github.com/Oreoxmt.png","key":"Oreoxmt","page":null},"Rafael-Martins":{"name":"Rafael Martins","alias":"Rafael-Martins","url":"https://github.com/Rafael-Martins","imageURL":"https://github.com/Rafael-Martins.png","key":"Rafael-Martins","page":null},"Suenaga-Ryuya":{"name":"suenryu","alias":"Suenaga-Ryuya","url":"https://github.com/Suenaga-Ryuya","imageURL":"https://github.com/Suenaga-Ryuya.png","key":"Suenaga-Ryuya","page":null},"sunkanmii":{"name":"Fafowora Sunkanmi","alias":"sunkanmii","url":"https://github.com/sunkanmii","imageURL":"https://github.com/sunkanmii.png","key":"sunkanmii","page":null},"VahidNaderi":{"name":"Vahid Naderi","alias":"VahidNaderi","url":"https://github.com/VahidNaderi","imageURL":"https://github.com/VahidNaderi.png","key":"VahidNaderi","page":null},"vlad-nestorov":{"name":"Vlad Nestorov","alias":"vlad-nestorov","url":"https://github.com/vlad-nestorov","imageURL":"https://github.com/vlad-nestorov.png","key":"vlad-nestorov","page":null},"yixiaojiu":{"name":"\u7FCA\u5C0F\u4E45","alias":"yixiaojiu","url":"https://github.com/yixiaojiu","imageURL":"https://github.com/yixiaojiu.png","key":"yixiaojiu","page":null},"dawei-wang":{"name":"dawei-wang","alias":"dawei-wang","url":"https://github.com/dawei-wang","imageURL":"https://github.com/dawei-wang.png","key":"dawei-wang","page":null},"eitsupi":{"name":"eitsupi","alias":"eitsupi","url":"https://github.com/eitsupi","imageURL":"https://github.com/eitsupi.png","key":"eitsupi","page":null},"jack-robson":{"name":"Jack Robson","alias":"jack-robson","url":"https://github.com/jack-robson","imageURL":"https://github.com/jack-robson.png","key":"jack-robson","page":null},"sanjaiyan-dev":{"name":"Sanjaiyan Parthipan","alias":"sanjaiyan-dev","url":"https://github.com/sanjaiyan-dev","imageURL":"https://github.com/sanjaiyan-dev.png","key":"sanjaiyan-dev","page":null},"axmmisaka":{"name":"axmmisaka","alias":"axmmisaka","url":"https://github.com/axmmisaka","imageURL":"https://github.com/axmmisaka.png","key":"axmmisaka","page":null},"c0h1b4":{"name":"c0h1b4","alias":"c0h1b4","url":"https://github.com/c0h1b4","imageURL":"https://github.com/c0h1b4.png","key":"c0h1b4","page":null},"jgarrow":{"name":"Janessa Garrow","alias":"jgarrow","url":"https://github.com/jgarrow","imageURL":"https://github.com/jgarrow.png","key":"jgarrow","page":null},"SimenB":{"name":"Simen Bekkhus","alias":"SimenB","url":"https://github.com/SimenB","imageURL":"https://github.com/SimenB.png","key":"SimenB","page":null},"harryzcy":{"name":"Chongyi Zheng","alias":"harryzcy","url":"https://github.com/harryzcy","imageURL":"https://github.com/harryzcy.png","key":"harryzcy","page":null},"mcrstudio":{"name":"MCR Studio","alias":"mcrstudio","url":"https://github.com/mcrstudio","imageURL":"https://github.com/mcrstudio.png","key":"mcrstudio","page":null},"NickGerleman":{"name":"Nick Gerleman","alias":"NickGerleman","url":"https://github.com/NickGerleman","imageURL":"https://github.com/NickGerleman.png","key":"NickGerleman","page":null},"reece-white":{"name":"reece-white","alias":"reece-white","url":"https://github.com/reece-white","imageURL":"https://github.com/reece-white.png","key":"reece-white","page":null},"Shreesh09":{"name":"Shreesh Nautiyal","alias":"Shreesh09","url":"https://github.com/Shreesh09","imageURL":"https://github.com/Shreesh09.png","key":"Shreesh09","page":null},"0420syj":{"name":"Wan Sim","alias":"0420syj","url":"https://github.com/0420syj","imageURL":"https://github.com/0420syj.png","key":"0420syj","page":null},"abhinandanwadwa":{"name":"Abhinandan Wadhwa","alias":"abhinandanwadwa","url":"https://github.com/abhinandanwadwa","imageURL":"https://github.com/abhinandanwadwa.png","key":"abhinandanwadwa","page":null},"Abinashbunty":{"name":"Abinash Satapathy","alias":"Abinashbunty","url":"https://github.com/Abinashbunty","imageURL":"https://github.com/Abinashbunty.png","key":"Abinashbunty","page":null},"adampatterson":{"name":"Adam Patterson","alias":"adampatterson","url":"https://github.com/adampatterson","imageURL":"https://github.com/adampatterson.png","key":"adampatterson","page":null},"adithyaakrishna":{"name":"Adithya Krishna","alias":"adithyaakrishna","url":"https://github.com/adithyaakrishna","imageURL":"https://github.com/adithyaakrishna.png","key":"adithyaakrishna","page":null},"AFRUITPIE":{"name":"Hayden Hong","alias":"AFRUITPIE","url":"https://github.com/AFRUITPIE","imageURL":"https://github.com/AFRUITPIE.png","key":"AFRUITPIE","page":null},"AgentEnder":{"name":"Craigory Coppola","alias":"AgentEnder","url":"https://github.com/AgentEnder","imageURL":"https://github.com/AgentEnder.png","key":"AgentEnder","page":null},"akshaybhalotia":{"name":"Akshay Bhalotia","alias":"akshaybhalotia","url":"https://github.com/akshaybhalotia","imageURL":"https://github.com/akshaybhalotia.png","key":"akshaybhalotia","page":null},"allyw2002":{"name":"allyw2002","alias":"allyw2002","url":"https://github.com/allyw2002","imageURL":"https://github.com/allyw2002.png","key":"allyw2002","page":null},"amdshrif":{"name":"Ahmad Shrif","alias":"amdshrif","url":"https://github.com/amdshrif","imageURL":"https://github.com/amdshrif.png","key":"amdshrif","page":null},"amm98d":{"name":"Ahmed Mustafa Malik","alias":"amm98d","url":"https://github.com/amm98d","imageURL":"https://github.com/amm98d.png","key":"amm98d","page":null},"andrewnicols":{"name":"Andrew Lyons","alias":"andrewnicols","url":"https://github.com/andrewnicols","imageURL":"https://github.com/andrewnicols.png","key":"andrewnicols","page":null},"antonk52":{"name":"Anton Kastritskii","alias":"antonk52","url":"https://github.com/antonk52","imageURL":"https://github.com/antonk52.png","key":"antonk52","page":null},"antonyoni":{"name":"Antony Onipko","alias":"antonyoni","url":"https://github.com/antonyoni","imageURL":"https://github.com/antonyoni.png","key":"antonyoni","page":null},"aqueeb":{"name":"Aqueeb","alias":"aqueeb","url":"https://github.com/aqueeb","imageURL":"https://github.com/aqueeb.png","key":"aqueeb","page":null},"attitude":{"name":"Martin Adamko","alias":"attitude","url":"https://github.com/attitude","imageURL":"https://github.com/attitude.png","key":"attitude","page":null},"billy1624":{"name":"Billy Chan","alias":"billy1624","url":"https://github.com/billy1624","imageURL":"https://github.com/billy1624.png","key":"billy1624","page":null},"biplavmz":{"name":"biplavmz","alias":"biplavmz","url":"https://github.com/biplavmz","imageURL":"https://github.com/biplavmz.png","key":"biplavmz","page":null},"bitpredator":{"name":"bitpredator","alias":"bitpredator","url":"https://github.com/bitpredator","imageURL":"https://github.com/bitpredator.png","key":"bitpredator","page":null},"BubbaJoe":{"name":"Joe Williams","alias":"BubbaJoe","url":"https://github.com/BubbaJoe","imageURL":"https://github.com/BubbaJoe.png","key":"BubbaJoe","page":null},"chillinPanda":{"name":"Dinh Bao Dang","alias":"chillinPanda","url":"https://github.com/chillinPanda","imageURL":"https://github.com/chillinPanda.png","key":"chillinPanda","page":null},"chubei":{"name":"Bei Chu","alias":"chubei","url":"https://github.com/chubei","imageURL":"https://github.com/chubei.png","key":"chubei","page":null},"chudongvip":{"name":"\u521D\u51AC","alias":"chudongvip","url":"https://github.com/chudongvip","imageURL":"https://github.com/chudongvip.png","key":"chudongvip","page":null},"cm-igarashi-ryosuke":{"name":"Ryosuke Igarashi","alias":"cm-igarashi-ryosuke","url":"https://github.com/cm-igarashi-ryosuke","imageURL":"https://github.com/cm-igarashi-ryosuke.png","key":"cm-igarashi-ryosuke","page":null},"colinhacks":{"name":"Colin McDonnell","alias":"colinhacks","url":"https://github.com/colinhacks","imageURL":"https://github.com/colinhacks.png","key":"colinhacks","page":null},"conlacda":{"name":"conlacda","alias":"conlacda","url":"https://github.com/conlacda","imageURL":"https://github.com/conlacda.png","key":"conlacda","page":null},"dandv":{"name":"Dan Dascalescu","alias":"dandv","url":"https://github.com/dandv","imageURL":"https://github.com/dandv.png","key":"dandv","page":null},"danilowoz":{"name":"Danilo Woznica","alias":"danilowoz","url":"https://github.com/danilowoz","imageURL":"https://github.com/danilowoz.png","key":"danilowoz","page":null},"DanRoscigno":{"name":"Dan Roscigno","alias":"DanRoscigno","url":"https://github.com/DanRoscigno","imageURL":"https://github.com/DanRoscigno.png","key":"DanRoscigno","page":null},"DavidJFelix":{"name":"David J. Felix","alias":"DavidJFelix","url":"https://github.com/DavidJFelix","imageURL":"https://github.com/DavidJFelix.png","key":"DavidJFelix","page":null},"debs-obrien":{"name":"Debbie O\'Brien","alias":"debs-obrien","url":"https://github.com/debs-obrien","imageURL":"https://github.com/debs-obrien.png","key":"debs-obrien","page":null},"Devansu-Yadav":{"name":"Devansu Yadav","alias":"Devansu-Yadav","url":"https://github.com/Devansu-Yadav","imageURL":"https://github.com/Devansu-Yadav.png","key":"Devansu-Yadav","page":null},"Djunnni":{"name":"Dongjoon Lee","alias":"Djunnni","url":"https://github.com/Djunnni","imageURL":"https://github.com/Djunnni.png","key":"Djunnni","page":null},"Dr-Electron":{"name":"Dr-Electron","alias":"Dr-Electron","url":"https://github.com/Dr-Electron","imageURL":"https://github.com/Dr-Electron.png","key":"Dr-Electron","page":null},"e-minguez":{"name":"Eduardo M\xednguez","alias":"e-minguez","url":"https://github.com/e-minguez","imageURL":"https://github.com/e-minguez.png","key":"e-minguez","page":null},"edno":{"name":"Gr\xe9gory Heitz","alias":"edno","url":"https://github.com/edno","imageURL":"https://github.com/edno.png","key":"edno","page":null},"FlorinaPacurar":{"name":"FlorinaPacurar","alias":"FlorinaPacurar","url":"https://github.com/FlorinaPacurar","imageURL":"https://github.com/FlorinaPacurar.png","key":"FlorinaPacurar","page":null},"Foosballfan":{"name":"Charles Killer","alias":"Foosballfan","url":"https://github.com/Foosballfan","imageURL":"https://github.com/Foosballfan.png","key":"Foosballfan","page":null},"forresst":{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},"FrancescoXX":{"name":"Francesco Ciulla","alias":"FrancescoXX","url":"https://github.com/FrancescoXX","imageURL":"https://github.com/FrancescoXX.png","key":"FrancescoXX","page":null},"fredrikstave":{"name":"Fredrik Stave","alias":"fredrikstave","url":"https://github.com/fredrikstave","imageURL":"https://github.com/fredrikstave.png","key":"fredrikstave","page":null},"fxpby":{"name":"Fxpby","alias":"fxpby","url":"https://github.com/fxpby","imageURL":"https://github.com/fxpby.png","key":"fxpby","page":null},"gabrielcsapo":{"name":"Gabriel Csapo","alias":"gabrielcsapo","url":"https://github.com/gabrielcsapo","imageURL":"https://github.com/gabrielcsapo.png","key":"gabrielcsapo","page":null},"GalexyN":{"name":"Alexander Nguyen","alias":"GalexyN","url":"https://github.com/GalexyN","imageURL":"https://github.com/GalexyN.png","key":"GalexyN","page":null},"gazab":{"name":"Gustav Ton\xe9r","alias":"gazab","url":"https://github.com/gazab","imageURL":"https://github.com/gazab.png","key":"gazab","page":null},"gracefullight":{"name":"Eunkwang Shin","alias":"gracefullight","url":"https://github.com/gracefullight","imageURL":"https://github.com/gracefullight.png","key":"gracefullight","page":null},"gregberge":{"name":"Greg Berg\xe9","alias":"gregberge","url":"https://github.com/gregberge","imageURL":"https://github.com/gregberge.png","key":"gregberge","page":null},"heysujal":{"name":"Sujal Gupta","alias":"heysujal","url":"https://github.com/heysujal","imageURL":"https://github.com/heysujal.png","key":"heysujal","page":null},"hidde":{"name":"Hidde de Vries","alias":"hidde","url":"https://github.com/hidde","imageURL":"https://github.com/hidde.png","key":"hidde","page":null},"hslee2008":{"name":"Hyunseung","alias":"hslee2008","url":"https://github.com/hslee2008","imageURL":"https://github.com/hslee2008.png","key":"hslee2008","page":null},"HumbleDeer":{"name":"Anna","alias":"HumbleDeer","url":"https://github.com/HumbleDeer","imageURL":"https://github.com/HumbleDeer.png","key":"HumbleDeer","page":null},"HyeokjinKang":{"name":"Coupy","alias":"HyeokjinKang","url":"https://github.com/HyeokjinKang","imageURL":"https://github.com/HyeokjinKang.png","key":"HyeokjinKang","page":null},"jean-humann":{"name":"Jean Humann","alias":"jean-humann","url":"https://github.com/jean-humann","imageURL":"https://github.com/jean-humann.png","key":"jean-humann","page":null},"jeengbe":{"name":"Jesper Engberg","alias":"jeengbe","url":"https://github.com/jeengbe","imageURL":"https://github.com/jeengbe.png","key":"jeengbe","page":null},"jhcao23":{"name":"John Cao","alias":"jhcao23","url":"https://github.com/jhcao23","imageURL":"https://github.com/jhcao23.png","key":"jhcao23","page":null},"jj-style":{"name":"JJ Style","alias":"jj-style","url":"https://github.com/jj-style","imageURL":"https://github.com/jj-style.png","key":"jj-style","page":null},"jodyheavener":{"name":"Jody Heavener","alias":"jodyheavener","url":"https://github.com/jodyheavener","imageURL":"https://github.com/jodyheavener.png","key":"jodyheavener","page":null},"JohnVicke":{"name":"Viktor Malmedal","alias":"JohnVicke","url":"https://github.com/JohnVicke","imageURL":"https://github.com/JohnVicke.png","key":"JohnVicke","page":null},"JorensM":{"name":"Jorens Merenjanu","alias":"JorensM","url":"https://github.com/JorensM","imageURL":"https://github.com/JorensM.png","key":"JorensM","page":null},"juanpicado":{"name":"Juan Picado","alias":"juanpicado","url":"https://github.com/juanpicado","imageURL":"https://github.com/juanpicado.png","key":"juanpicado","page":null},"KarthickSakthi":{"name":"0x24Karthick","alias":"KarthickSakthi","url":"https://github.com/KarthickSakthi","imageURL":"https://github.com/KarthickSakthi.png","key":"KarthickSakthi","page":null},"Kesyau":{"name":"Serenus","alias":"Kesyau","url":"https://github.com/Kesyau","imageURL":"https://github.com/Kesyau.png","key":"Kesyau","page":null},"knownasnaffy":{"name":"Naffy Dharni","alias":"knownasnaffy","url":"https://github.com/knownasnaffy","imageURL":"https://github.com/knownasnaffy.png","key":"knownasnaffy","page":null},"la55u":{"name":"la55u","alias":"la55u","url":"https://github.com/la55u","imageURL":"https://github.com/la55u.png","key":"la55u","page":null},"lanegoolsby":{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null},"layershifter":{"name":"Oleksandr Fediashov","alias":"layershifter","url":"https://github.com/layershifter","imageURL":"https://github.com/layershifter.png","key":"layershifter","page":null},"lex111":{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},"lorenzolewis":{"name":"Lorenzo Lewis","alias":"lorenzolewis","url":"https://github.com/lorenzolewis","imageURL":"https://github.com/lorenzolewis.png","key":"lorenzolewis","page":null},"maliMirkec":{"name":"Silvestar Bistrovi\u0107","alias":"maliMirkec","url":"https://github.com/maliMirkec","imageURL":"https://github.com/maliMirkec.png","key":"maliMirkec","page":null},"manuel-rw":{"name":"Manuel","alias":"manuel-rw","url":"https://github.com/manuel-rw","imageURL":"https://github.com/manuel-rw.png","key":"manuel-rw","page":null},"MarkShawn2020":{"name":"Markshawn","alias":"MarkShawn2020","url":"https://github.com/MarkShawn2020","imageURL":"https://github.com/MarkShawn2020.png","key":"MarkShawn2020","page":null},"mcallisto":{"name":"mcallisto","alias":"mcallisto","url":"https://github.com/mcallisto","imageURL":"https://github.com/mcallisto.png","key":"mcallisto","page":null},"mickremedi":{"name":"Michael Remediakis","alias":"mickremedi","url":"https://github.com/mickremedi","imageURL":"https://github.com/mickremedi.png","key":"mickremedi","page":null},"ModupeD":{"name":"ModupeD","alias":"ModupeD","url":"https://github.com/ModupeD","imageURL":"https://github.com/ModupeD.png","key":"ModupeD","page":null},"Mogyuchi":{"name":"Mogyuchi","alias":"Mogyuchi","url":"https://github.com/Mogyuchi","imageURL":"https://github.com/Mogyuchi.png","key":"Mogyuchi","page":null},"moojing":{"name":"Mu-Jing-Tsai","alias":"moojing","url":"https://github.com/moojing","imageURL":"https://github.com/moojing.png","key":"moojing","page":null},"mrazauskas":{"name":"Tom Mrazauskas","alias":"mrazauskas","url":"https://github.com/mrazauskas","imageURL":"https://github.com/mrazauskas.png","key":"mrazauskas","page":null},"mstroppel":{"name":"Marco Stroppel","alias":"mstroppel","url":"https://github.com/mstroppel","imageURL":"https://github.com/mstroppel.png","key":"mstroppel","page":null},"Mysterious-Dev":{"name":"Mysterious_Dev","alias":"Mysterious-Dev","url":"https://github.com/Mysterious-Dev","imageURL":"https://github.com/Mysterious-Dev.png","key":"Mysterious-Dev","page":null},"NamanGarg2075":{"name":"Naman Garg","alias":"NamanGarg2075","url":"https://github.com/NamanGarg2075","imageURL":"https://github.com/NamanGarg2075.png","key":"NamanGarg2075","page":null},"ntucker":{"name":"Nathaniel Tucker","alias":"ntucker","url":"https://github.com/ntucker","imageURL":"https://github.com/ntucker.png","key":"ntucker","page":null},"oluwatobiss":{"name":"Oluwatobi Sofela","alias":"oluwatobiss","url":"https://github.com/oluwatobiss","imageURL":"https://github.com/oluwatobiss.png","key":"oluwatobiss","page":null},"palmiak":{"name":"Maciek Palmowski","alias":"palmiak","url":"https://github.com/palmiak","imageURL":"https://github.com/palmiak.png","key":"palmiak","page":null},"PaulRBerg":{"name":"Paul Razvan Berg","alias":"PaulRBerg","url":"https://github.com/PaulRBerg","imageURL":"https://github.com/PaulRBerg.png","key":"PaulRBerg","page":null},"pinakipb2":{"name":"Pinaki Bhattacharjee","alias":"pinakipb2","url":"https://github.com/pinakipb2","imageURL":"https://github.com/pinakipb2.png","key":"pinakipb2","page":null},"prateekbytes":{"name":"prateekbytes","alias":"prateekbytes","url":"https://github.com/prateekbytes","imageURL":"https://github.com/prateekbytes.png","key":"prateekbytes","page":null},"qwerzl":{"name":"qwerzl","alias":"qwerzl","url":"https://github.com/qwerzl","imageURL":"https://github.com/qwerzl.png","key":"qwerzl","page":null},"rashidmya":{"name":"Rashid","alias":"rashidmya","url":"https://github.com/rashidmya","imageURL":"https://github.com/rashidmya.png","key":"rashidmya","page":null},"razzeee":{"name":"Kolja","alias":"razzeee","url":"https://github.com/razzeee","imageURL":"https://github.com/razzeee.png","key":"razzeee","page":null},"rbarbazz":{"name":"Rapha\xebl Barbazza","alias":"rbarbazz","url":"https://github.com/rbarbazz","imageURL":"https://github.com/rbarbazz.png","key":"rbarbazz","page":null},"recallwei":{"name":"Bruce Song","alias":"recallwei","url":"https://github.com/recallwei","imageURL":"https://github.com/recallwei.png","key":"recallwei","page":null},"rojakcoder":{"name":"Chua Chee How","alias":"rojakcoder","url":"https://github.com/rojakcoder","imageURL":"https://github.com/rojakcoder.png","key":"rojakcoder","page":null},"rsteele6":{"name":"rsteele6","alias":"rsteele6","url":"https://github.com/rsteele6","imageURL":"https://github.com/rsteele6.png","key":"rsteele6","page":null},"sadikkuzu":{"name":"SADIK KUZU","alias":"sadikkuzu","url":"https://github.com/sadikkuzu","imageURL":"https://github.com/sadikkuzu.png","key":"sadikkuzu","page":null},"Sainan":{"name":"Sainan","alias":"Sainan","url":"https://github.com/Sainan","imageURL":"https://github.com/Sainan.png","key":"Sainan","page":null},"samatt14":{"name":"samatt14","alias":"samatt14","url":"https://github.com/samatt14","imageURL":"https://github.com/samatt14.png","key":"samatt14","page":null},"sashashura":{"name":"Alex","alias":"sashashura","url":"https://github.com/sashashura","imageURL":"https://github.com/sashashura.png","key":"sashashura","page":null},"schneegansm":{"name":"Marie","alias":"schneegansm","url":"https://github.com/schneegansm","imageURL":"https://github.com/schneegansm.png","key":"schneegansm","page":null},"scubamaggo":{"name":"Marco Kuper","alias":"scubamaggo","url":"https://github.com/scubamaggo","imageURL":"https://github.com/scubamaggo.png","key":"scubamaggo","page":null},"ShahriarKh":{"name":"Shahriar","alias":"ShahriarKh","url":"https://github.com/ShahriarKh","imageURL":"https://github.com/ShahriarKh.png","key":"ShahriarKh","page":null},"shawshankkumar":{"name":"Shashank Kumar","alias":"shawshankkumar","url":"https://github.com/shawshankkumar","imageURL":"https://github.com/shawshankkumar.png","key":"shawshankkumar","page":null},"shortcuts":{"name":"Cl\xe9ment Vannicatte","alias":"shortcuts","url":"https://github.com/shortcuts","imageURL":"https://github.com/shortcuts.png","key":"shortcuts","page":null},"shwaka":{"name":"Shun Wakatsuki","alias":"shwaka","url":"https://github.com/shwaka","imageURL":"https://github.com/shwaka.png","key":"shwaka","page":null},"sixhobbits":{"name":"Gareth Dwyer","alias":"sixhobbits","url":"https://github.com/sixhobbits","imageURL":"https://github.com/sixhobbits.png","key":"sixhobbits","page":null},"suravshrestha":{"name":"Surav Shrestha","alias":"suravshrestha","url":"https://github.com/suravshrestha","imageURL":"https://github.com/suravshrestha.png","key":"suravshrestha","page":null},"sykp241095":{"name":"sykp241095","alias":"sykp241095","url":"https://github.com/sykp241095","imageURL":"https://github.com/sykp241095.png","key":"sykp241095","page":null},"tamalchowdhury":{"name":"Tamal Anwar Chowdhury","alias":"tamalchowdhury","url":"https://github.com/tamalchowdhury","imageURL":"https://github.com/tamalchowdhury.png","key":"tamalchowdhury","page":null},"tarunrajput":{"name":"Tarun Chauhan","alias":"tarunrajput","url":"https://github.com/tarunrajput","imageURL":"https://github.com/tarunrajput.png","key":"tarunrajput","page":null},"thadguidry":{"name":"Thad Guidry","alias":"thadguidry","url":"https://github.com/thadguidry","imageURL":"https://github.com/thadguidry.png","key":"thadguidry","page":null},"thatrobotdev":{"name":"James Kerrane","alias":"thatrobotdev","url":"https://github.com/thatrobotdev","imageURL":"https://github.com/thatrobotdev.png","key":"thatrobotdev","page":null},"thedevwonder":{"name":"thedevwonder","alias":"thedevwonder","url":"https://github.com/thedevwonder","imageURL":"https://github.com/thedevwonder.png","key":"thedevwonder","page":null},"Villanuevand":{"name":"Andr\xe9s Villanueva","alias":"Villanuevand","url":"https://github.com/Villanuevand","imageURL":"https://github.com/Villanuevand.png","key":"Villanuevand","page":null},"VinceCYLiao":{"name":"VinceCYLiao","alias":"VinceCYLiao","url":"https://github.com/VinceCYLiao","imageURL":"https://github.com/VinceCYLiao.png","key":"VinceCYLiao","page":null},"wceolin":{"name":"Will Ceolin","alias":"wceolin","url":"https://github.com/wceolin","imageURL":"https://github.com/wceolin.png","key":"wceolin","page":null},"webbertakken":{"name":"Webber Takken","alias":"webbertakken","url":"https://github.com/webbertakken","imageURL":"https://github.com/webbertakken.png","key":"webbertakken","page":null},"werner33":{"name":"Jordan Manley","alias":"werner33","url":"https://github.com/werner33","imageURL":"https://github.com/werner33.png","key":"werner33","page":null},"yangshun":{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},"yosukekato165":{"name":"yosukekato165","alias":"yosukekato165","url":"https://github.com/yosukekato165","imageURL":"https://github.com/yosukekato165.png","key":"yosukekato165","page":null},"ori-shalom":{"name":"Ori Shalom","alias":"ori-shalom","url":"https://github.com/ori-shalom","imageURL":"https://github.com/ori-shalom.png","key":"ori-shalom","page":null},"TheCatLady":{"name":"TheCatLady","alias":"TheCatLady","url":"https://github.com/TheCatLady","imageURL":"https://github.com/TheCatLady.png","key":"TheCatLady","page":null},"armano2":{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},"LiberaTeMetuMortis":{"name":"MetuMortis","alias":"LiberaTeMetuMortis","url":"https://github.com/LiberaTeMetuMortis","imageURL":"https://github.com/LiberaTeMetuMortis.png","key":"LiberaTeMetuMortis","page":null},"morsko1":{"name":"Aleksandr Vladykin","alias":"morsko1","url":"https://github.com/morsko1","imageURL":"https://github.com/morsko1.png","key":"morsko1","page":null},"SACHINnANYAKKARA":{"name":"Sachin Nanayakkara","alias":"SACHINnANYAKKARA","url":"https://github.com/SACHINnANYAKKARA","imageURL":"https://github.com/SACHINnANYAKKARA.png","key":"SACHINnANYAKKARA","page":null},"Anasqx":{"name":"Anas","alias":"Anasqx","url":"https://github.com/Anasqx","imageURL":"https://github.com/Anasqx.png","key":"Anasqx","page":null},"dewanshDT":{"name":"Dewansh Thakur","alias":"dewanshDT","url":"https://github.com/dewanshDT","imageURL":"https://github.com/dewanshDT.png","key":"dewanshDT","page":null},"dr0nn1":{"name":"Petter Dr\xf8nnen","alias":"dr0nn1","url":"https://github.com/dr0nn1","imageURL":"https://github.com/dr0nn1.png","key":"dr0nn1","page":null},"kagankan":{"name":"Kagan","alias":"kagankan","url":"https://github.com/kagankan","imageURL":"https://github.com/kagankan.png","key":"kagankan","page":null},"pReya":{"name":"Moritz St\xfcckler","alias":"pReya","url":"https://github.com/pReya","imageURL":"https://github.com/pReya.png","key":"pReya","page":null},"tannerdolby":{"name":"Tanner Dolby","alias":"tannerdolby","url":"https://github.com/tannerdolby","imageURL":"https://github.com/tannerdolby.png","key":"tannerdolby","page":null},"trueqap":{"name":"TrueQAP","alias":"trueqap","url":"https://github.com/trueqap","imageURL":"https://github.com/trueqap.png","key":"trueqap","page":null},"Vishruta-Patil":{"name":"Vishruta Patil","alias":"Vishruta-Patil","url":"https://github.com/Vishruta-Patil","imageURL":"https://github.com/Vishruta-Patil.png","key":"Vishruta-Patil","page":null},"ZarakiKanzaki":{"name":"Davide Donadio","alias":"ZarakiKanzaki","url":"https://github.com/ZarakiKanzaki","imageURL":"https://github.com/ZarakiKanzaki.png","key":"ZarakiKanzaki","page":null},"scastiel":{"name":"S\xe9bastien Castiel","alias":"scastiel","url":"https://github.com/scastiel","imageURL":"https://github.com/scastiel.png","key":"scastiel","page":null},"0916dhkim":{"name":"Danny Kim","alias":"0916dhkim","url":"https://github.com/0916dhkim","imageURL":"https://github.com/0916dhkim.png","key":"0916dhkim","page":null},"3v0k4":{"name":"Riccardo","alias":"3v0k4","url":"https://github.com/3v0k4","imageURL":"https://github.com/3v0k4.png","key":"3v0k4","page":null},"denis-alkhelali":{"name":"Denis Al-Khelali","alias":"denis-alkhelali","url":"https://github.com/denis-alkhelali","imageURL":"https://github.com/denis-alkhelali.png","key":"denis-alkhelali","page":null},"friederbluemle":{"name":"Frieder Bluemle","alias":"friederbluemle","url":"https://github.com/friederbluemle","imageURL":"https://github.com/friederbluemle.png","key":"friederbluemle","page":null},"JoshuaKGoldberg":{"name":"Josh Goldberg","alias":"JoshuaKGoldberg","url":"https://github.com/JoshuaKGoldberg","imageURL":"https://github.com/JoshuaKGoldberg.png","key":"JoshuaKGoldberg","page":null},"lachieh":{"name":"Lachlan Heywood","alias":"lachieh","url":"https://github.com/lachieh","imageURL":"https://github.com/lachieh.png","key":"lachieh","page":null},"MatijaSi":{"name":"Matija Sirk","alias":"MatijaSi","url":"https://github.com/MatijaSi","imageURL":"https://github.com/MatijaSi.png","key":"MatijaSi","page":null},"mhnaeem":{"name":"Muhammad Hammad","alias":"mhnaeem","url":"https://github.com/mhnaeem","imageURL":"https://github.com/mhnaeem.png","key":"mhnaeem","page":null},"mturoci":{"name":"mturoci","alias":"mturoci","url":"https://github.com/mturoci","imageURL":"https://github.com/mturoci.png","key":"mturoci","page":null},"SJFCS":{"name":"\u5B8B\u9526\u4E30","alias":"SJFCS","url":"https://github.com/SJFCS","imageURL":"https://github.com/SJFCS.png","key":"SJFCS","page":null},"stnor":{"name":"Stefan Norberg","alias":"stnor","url":"https://github.com/stnor","imageURL":"https://github.com/stnor.png","key":"stnor","page":null},"Thomascogez":{"name":"Thomas.CA","alias":"Thomascogez","url":"https://github.com/Thomascogez","imageURL":"https://github.com/Thomascogez.png","key":"Thomascogez","page":null},"adnanhashmi09":{"name":"Adnan Hashmi","alias":"adnanhashmi09","url":"https://github.com/adnanhashmi09","imageURL":"https://github.com/adnanhashmi09.png","key":"adnanhashmi09","page":null},"birjj":{"name":"Johan Fagerberg","alias":"birjj","url":"https://github.com/birjj","imageURL":"https://github.com/birjj.png","key":"birjj","page":null},"e-im":{"name":"evan","alias":"e-im","url":"https://github.com/e-im","imageURL":"https://github.com/e-im.png","key":"e-im","page":null},"forgeRW":{"name":"forgeRW","alias":"forgeRW","url":"https://github.com/forgeRW","imageURL":"https://github.com/forgeRW.png","key":"forgeRW","page":null},"jeferson-sb":{"name":"Jeferson S. Brito","alias":"jeferson-sb","url":"https://github.com/jeferson-sb","imageURL":"https://github.com/jeferson-sb.png","key":"jeferson-sb","page":null},"JPeer264":{"name":"Jan Peer St\xf6cklmair","alias":"JPeer264","url":"https://github.com/JPeer264","imageURL":"https://github.com/JPeer264.png","key":"JPeer264","page":null},"LittleboyHarry":{"name":"LittleboyHarry","alias":"LittleboyHarry","url":"https://github.com/LittleboyHarry","imageURL":"https://github.com/LittleboyHarry.png","key":"LittleboyHarry","page":null},"pasora":{"name":"Masahiko Hara","alias":"pasora","url":"https://github.com/pasora","imageURL":"https://github.com/pasora.png","key":"pasora","page":null},"Pranav2612000":{"name":"Pranav Joglekar","alias":"Pranav2612000","url":"https://github.com/Pranav2612000","imageURL":"https://github.com/Pranav2612000.png","key":"Pranav2612000","page":null},"ramazansancar":{"name":"Ramazan SANCAR","alias":"ramazansancar","url":"https://github.com/ramazansancar","imageURL":"https://github.com/ramazansancar.png","key":"ramazansancar","page":null},"shanpriyan":{"name":"Shanmughapriyan S","alias":"shanpriyan","url":"https://github.com/shanpriyan","imageURL":"https://github.com/shanpriyan.png","key":"shanpriyan","page":null},"sjwall":{"name":"Sam Wall","alias":"sjwall","url":"https://github.com/sjwall","imageURL":"https://github.com/sjwall.png","key":"sjwall","page":null},"Xabilahu":{"name":"Xabier Lahuerta Vazquez","alias":"Xabilahu","url":"https://github.com/Xabilahu","imageURL":"https://github.com/Xabilahu.png","key":"Xabilahu","page":null},"adventure-yunfei":{"name":"adventure-yunfei","alias":"adventure-yunfei","url":"https://github.com/adventure-yunfei","imageURL":"https://github.com/adventure-yunfei.png","key":"adventure-yunfei","page":null},"b-ovsepian":{"name":"Bagdasar Ovsepyan","alias":"b-ovsepian","url":"https://github.com/b-ovsepian","imageURL":"https://github.com/b-ovsepian.png","key":"b-ovsepian","page":null},"datlechin":{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},"Kosai106":{"name":"Kevin \xd8sterkilde","alias":"Kosai106","url":"https://github.com/Kosai106","imageURL":"https://github.com/Kosai106.png","key":"Kosai106","page":null},"mdubus":{"name":"Morgane Dubus","alias":"mdubus","url":"https://github.com/mdubus","imageURL":"https://github.com/mdubus.png","key":"mdubus","page":null},"whiteand":{"name":"whiteand","alias":"whiteand","url":"https://github.com/whiteand","imageURL":"https://github.com/whiteand.png","key":"whiteand","page":null},"YoniChechik":{"name":"Yoni Chechik","alias":"YoniChechik","url":"https://github.com/YoniChechik","imageURL":"https://github.com/YoniChechik.png","key":"YoniChechik","page":null},"yzhe819":{"name":"yzhe819","alias":"yzhe819","url":"https://github.com/yzhe819","imageURL":"https://github.com/yzhe819.png","key":"yzhe819","page":null},"DigiPie":{"name":"Evan","alias":"DigiPie","url":"https://github.com/DigiPie","imageURL":"https://github.com/DigiPie.png","key":"DigiPie","page":null},"Gary50613":{"name":"\u51F1\u6069 Kane","alias":"Gary50613","url":"https://github.com/Gary50613","imageURL":"https://github.com/Gary50613.png","key":"Gary50613","page":null},"ghostsquad":{"name":"Wes McNamee","alias":"ghostsquad","url":"https://github.com/ghostsquad","imageURL":"https://github.com/ghostsquad.png","key":"ghostsquad","page":null},"jeffreyaven":{"name":"Jeffrey Aven","alias":"jeffreyaven","url":"https://github.com/jeffreyaven","imageURL":"https://github.com/jeffreyaven.png","key":"jeffreyaven","page":null},"LichLord91":{"name":"LichLord91","alias":"LichLord91","url":"https://github.com/LichLord91","imageURL":"https://github.com/LichLord91.png","key":"LichLord91","page":null},"RoiArthurB":{"name":"Arthur Brugi\xe8re","alias":"RoiArthurB","url":"https://github.com/RoiArthurB","imageURL":"https://github.com/RoiArthurB.png","key":"RoiArthurB","page":null},"treoden":{"name":"The Nguyen","alias":"treoden","url":"https://github.com/treoden","imageURL":"https://github.com/treoden.png","key":"treoden","page":null},"201flaviosilva":{"name":"Fl\xe1vio Silva","alias":"201flaviosilva","url":"https://github.com/201flaviosilva","imageURL":"https://github.com/201flaviosilva.png","key":"201flaviosilva","page":null},"7Wate":{"name":"7Wate","alias":"7Wate","url":"https://github.com/7Wate","imageURL":"https://github.com/7Wate.png","key":"7Wate","page":null},"AkagiYui":{"name":"\u8D64\u57CE\u7ED3\u8863","alias":"AkagiYui","url":"https://github.com/AkagiYui","imageURL":"https://github.com/AkagiYui.png","key":"AkagiYui","page":null},"alewolf":{"name":"alewolf","alias":"alewolf","url":"https://github.com/alewolf","imageURL":"https://github.com/alewolf.png","key":"alewolf","page":null},"alexandernst":{"name":"Alexander Nestorov","alias":"alexandernst","url":"https://github.com/alexandernst","imageURL":"https://github.com/alexandernst.png","key":"alexandernst","page":null},"Altomy":{"name":"Ahmed Altomy","alias":"Altomy","url":"https://github.com/Altomy","imageURL":"https://github.com/Altomy.png","key":"Altomy","page":null},"bcabanes":{"name":"Benjamin Cabanes","alias":"bcabanes","url":"https://github.com/bcabanes","imageURL":"https://github.com/bcabanes.png","key":"bcabanes","page":null},"BenDMyers":{"name":"Ben Myers","alias":"BenDMyers","url":"https://github.com/BenDMyers","imageURL":"https://github.com/BenDMyers.png","key":"BenDMyers","page":null},"Boulet-":{"name":"Boulet","alias":"Boulet-","url":"https://github.com/Boulet-","imageURL":"https://github.com/Boulet-.png","key":"Boulet-","page":null},"cbebe":{"name":"Charles Ancheta","alias":"cbebe","url":"https://github.com/cbebe","imageURL":"https://github.com/cbebe.png","key":"cbebe","page":null},"clemiee":{"name":"Clemie McCartney","alias":"clemiee","url":"https://github.com/clemiee","imageURL":"https://github.com/clemiee.png","key":"clemiee","page":null},"DharsanB":{"name":"Dharsan B","alias":"DharsanB","url":"https://github.com/DharsanB","imageURL":"https://github.com/DharsanB.png","key":"DharsanB","page":null},"dht":{"name":"dht","alias":"dht","url":"https://github.com/dht","imageURL":"https://github.com/dht.png","key":"dht","page":null},"difranca":{"name":"Diego Fran\xe7a","alias":"difranca","url":"https://github.com/difranca","imageURL":"https://github.com/difranca.png","key":"difranca","page":null},"dpang314":{"name":"dpang314","alias":"dpang314","url":"https://github.com/dpang314","imageURL":"https://github.com/dpang314.png","key":"dpang314","page":null},"emattia":{"name":"emattia","alias":"emattia","url":"https://github.com/emattia","imageURL":"https://github.com/emattia.png","key":"emattia","page":null},"HyunseungLee-Travis":{"name":"Hyunseung Lee","alias":"HyunseungLee-Travis","url":"https://github.com/HyunseungLee-Travis","imageURL":"https://github.com/HyunseungLee-Travis.png","key":"HyunseungLee-Travis","page":null},"JeremyDolle":{"name":"DOLLE","alias":"JeremyDolle","url":"https://github.com/JeremyDolle","imageURL":"https://github.com/JeremyDolle.png","key":"JeremyDolle","page":null},"johnie":{"name":"Johnie Hjelm","alias":"johnie","url":"https://github.com/johnie","imageURL":"https://github.com/johnie.png","key":"johnie","page":null},"jpdriver":{"name":"JP","alias":"jpdriver","url":"https://github.com/jpdriver","imageURL":"https://github.com/jpdriver.png","key":"jpdriver","page":null},"jqshuv":{"name":"Joshua Schmitt","alias":"jqshuv","url":"https://github.com/jqshuv","imageURL":"https://github.com/jqshuv.png","key":"jqshuv","page":null},"kursatsmsek":{"name":"K\xfcr\u015Fat \u015Eim\u015Fek","alias":"kursatsmsek","url":"https://github.com/kursatsmsek","imageURL":"https://github.com/kursatsmsek.png","key":"kursatsmsek","page":null},"matkoch":{"name":"Matthias Koch","alias":"matkoch","url":"https://github.com/matkoch","imageURL":"https://github.com/matkoch.png","key":"matkoch","page":null},"metal-young":{"name":"\u674E\u5C0F\u96E8","alias":"metal-young","url":"https://github.com/metal-young","imageURL":"https://github.com/metal-young.png","key":"metal-young","page":null},"pincman":{"name":"pincman","alias":"pincman","url":"https://github.com/pincman","imageURL":"https://github.com/pincman.png","key":"pincman","page":null},"redcamel":{"name":"Redcamel","alias":"redcamel","url":"https://github.com/redcamel","imageURL":"https://github.com/redcamel.png","key":"redcamel","page":null},"reinvanhaaren":{"name":"Rein van Haaren","alias":"reinvanhaaren","url":"https://github.com/reinvanhaaren","imageURL":"https://github.com/reinvanhaaren.png","key":"reinvanhaaren","page":null},"RudraSen2":{"name":"Rudra Sen","alias":"RudraSen2","url":"https://github.com/RudraSen2","imageURL":"https://github.com/RudraSen2.png","key":"RudraSen2","page":null},"sado0823":{"name":"sado","alias":"sado0823","url":"https://github.com/sado0823","imageURL":"https://github.com/sado0823.png","key":"sado0823","page":null},"saosangmo":{"name":"Dzung Do","alias":"saosangmo","url":"https://github.com/saosangmo","imageURL":"https://github.com/saosangmo.png","key":"saosangmo","page":null},"scopsy":{"name":"Dima Grossman","alias":"scopsy","url":"https://github.com/scopsy","imageURL":"https://github.com/scopsy.png","key":"scopsy","page":null},"SheetJSDev":{"name":"SheetJSDev","alias":"SheetJSDev","url":"https://github.com/SheetJSDev","imageURL":"https://github.com/SheetJSDev.png","key":"SheetJSDev","page":null},"sigwinch28":{"name":"Joe Harrison","alias":"sigwinch28","url":"https://github.com/sigwinch28","imageURL":"https://github.com/sigwinch28.png","key":"sigwinch28","page":null},"Smilefounder":{"name":"Huy Nguyen","alias":"Smilefounder","url":"https://github.com/Smilefounder","imageURL":"https://github.com/Smilefounder.png","key":"Smilefounder","page":null},"sserrata":{"name":"Steven Serrata","alias":"sserrata","url":"https://github.com/sserrata","imageURL":"https://github.com/sserrata.png","key":"sserrata","page":null},"szilarddoro":{"name":"Szil\xe1rd D\xf3r\xf3","alias":"szilarddoro","url":"https://github.com/szilarddoro","imageURL":"https://github.com/szilarddoro.png","key":"szilarddoro","page":null},"vannyle":{"name":"Le Thi Van","alias":"vannyle","url":"https://github.com/vannyle","imageURL":"https://github.com/vannyle.png","key":"vannyle","page":null},"zpao":{"name":"Paul O\u2019Shannessy","alias":"zpao","url":"https://github.com/zpao","imageURL":"https://github.com/zpao.png","key":"zpao","page":null},"BenDz":{"name":"Benjamin Diolez","alias":"BenDz","url":"https://github.com/BenDz","imageURL":"https://github.com/BenDz.png","key":"BenDz","page":null},"charleskorn":{"name":"Charles Korn","alias":"charleskorn","url":"https://github.com/charleskorn","imageURL":"https://github.com/charleskorn.png","key":"charleskorn","page":null},"Designatory":{"name":"Designatory","alias":"Designatory","url":"https://github.com/Designatory","imageURL":"https://github.com/Designatory.png","key":"Designatory","page":null},"ggicci":{"name":"Ggicci","alias":"ggicci","url":"https://github.com/ggicci","imageURL":"https://github.com/ggicci.png","key":"ggicci","page":null},"jrmyw92":{"name":"Jeremy","alias":"jrmyw92","url":"https://github.com/jrmyw92","imageURL":"https://github.com/jrmyw92.png","key":"jrmyw92","page":null},"junjieweb":{"name":"Junjie","alias":"junjieweb","url":"https://github.com/junjieweb","imageURL":"https://github.com/junjieweb.png","key":"junjieweb","page":null},"massoudmaboudi":{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},"Messiahhh":{"name":"Akara","alias":"Messiahhh","url":"https://github.com/Messiahhh","imageURL":"https://github.com/Messiahhh.png","key":"Messiahhh","page":null},"mhughes2k":{"name":"Michael Hughes","alias":"mhughes2k","url":"https://github.com/mhughes2k","imageURL":"https://github.com/mhughes2k.png","key":"mhughes2k","page":null},"nitya":{"name":"Nitya Narasimhan","alias":"nitya","url":"https://github.com/nitya","imageURL":"https://github.com/nitya.png","key":"nitya","page":null},"pranabdas":{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},"RuiAAPeres":{"name":"Rui Peres","alias":"RuiAAPeres","url":"https://github.com/RuiAAPeres","imageURL":"https://github.com/RuiAAPeres.png","key":"RuiAAPeres","page":null},"Zamiell":{"name":"James","alias":"Zamiell","url":"https://github.com/Zamiell","imageURL":"https://github.com/Zamiell.png","key":"Zamiell","page":null},"pepopowitz":{"name":"Steven Hicks","alias":"pepopowitz","url":"https://github.com/pepopowitz","imageURL":"https://github.com/pepopowitz.png","key":"pepopowitz","page":null},"RDIL":{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},"sgromkov":{"name":"Sergey Gromkov","alias":"sgromkov","url":"https://github.com/sgromkov","imageURL":"https://github.com/sgromkov.png","key":"sgromkov","page":null},"aerovulpe":{"name":"Aaron Nwabuoku","alias":"aerovulpe","url":"https://github.com/aerovulpe","imageURL":"https://github.com/aerovulpe.png","key":"aerovulpe","page":null},"AkiraVoid":{"name":"AkiraVoid","alias":"AkiraVoid","url":"https://github.com/AkiraVoid","imageURL":"https://github.com/AkiraVoid.png","key":"AkiraVoid","page":null},"AntonPalmqvist":{"name":"apq","alias":"AntonPalmqvist","url":"https://github.com/AntonPalmqvist","imageURL":"https://github.com/AntonPalmqvist.png","key":"AntonPalmqvist","page":null},"ApsarasX":{"name":"ApsarasX","alias":"ApsarasX","url":"https://github.com/ApsarasX","imageURL":"https://github.com/ApsarasX.png","key":"ApsarasX","page":null},"chelproc":{"name":"chelproc","alias":"chelproc","url":"https://github.com/chelproc","imageURL":"https://github.com/chelproc.png","key":"chelproc","page":null},"chernodub":{"name":"Viktor Chernodub","alias":"chernodub","url":"https://github.com/chernodub","imageURL":"https://github.com/chernodub.png","key":"chernodub","page":null},"CuratorCat":{"name":"curatorcat.pcc.eth","alias":"CuratorCat","url":"https://github.com/CuratorCat","imageURL":"https://github.com/CuratorCat.png","key":"CuratorCat","page":null},"cwen0":{"name":"Cwen Yin","alias":"cwen0","url":"https://github.com/cwen0","imageURL":"https://github.com/cwen0.png","key":"cwen0","page":null},"cxOrz":{"name":"Fusang\u2740","alias":"cxOrz","url":"https://github.com/cxOrz","imageURL":"https://github.com/cxOrz.png","key":"cxOrz","page":null},"deiucanta":{"name":"Andrei Canta","alias":"deiucanta","url":"https://github.com/deiucanta","imageURL":"https://github.com/deiucanta.png","key":"deiucanta","page":null},"deployn":{"name":"deployn","alias":"deployn","url":"https://github.com/deployn","imageURL":"https://github.com/deployn.png","key":"deployn","page":null},"dr-ngubo":{"name":"Chinazaekpere Ngubo","alias":"dr-ngubo","url":"https://github.com/dr-ngubo","imageURL":"https://github.com/dr-ngubo.png","key":"dr-ngubo","page":null},"duanwilliam":{"name":"duanwilliam","alias":"duanwilliam","url":"https://github.com/duanwilliam","imageURL":"https://github.com/duanwilliam.png","key":"duanwilliam","page":null},"elias-pap":{"name":"Elias Papavasileiou","alias":"elias-pap","url":"https://github.com/elias-pap","imageURL":"https://github.com/elias-pap.png","key":"elias-pap","page":null},"imsingh":{"name":"Indermohan Singh","alias":"imsingh","url":"https://github.com/imsingh","imageURL":"https://github.com/imsingh.png","key":"imsingh","page":null},"JohnnyMcWeed":{"name":"JMW","alias":"JohnnyMcWeed","url":"https://github.com/JohnnyMcWeed","imageURL":"https://github.com/JohnnyMcWeed.png","key":"JohnnyMcWeed","page":null},"kaycebasques":{"name":"Kayce Basques","alias":"kaycebasques","url":"https://github.com/kaycebasques","imageURL":"https://github.com/kaycebasques.png","key":"kaycebasques","page":null},"kgolubic":{"name":"kgolubic","alias":"kgolubic","url":"https://github.com/kgolubic","imageURL":"https://github.com/kgolubic.png","key":"kgolubic","page":null},"layerzzzio":{"name":"loic","alias":"layerzzzio","url":"https://github.com/layerzzzio","imageURL":"https://github.com/layerzzzio.png","key":"layerzzzio","page":null},"leedom92":{"name":"Leedom","alias":"leedom92","url":"https://github.com/leedom92","imageURL":"https://github.com/leedom92.png","key":"leedom92","page":null},"LeviticusMB":{"name":"Martin Blom","alias":"LeviticusMB","url":"https://github.com/LeviticusMB","imageURL":"https://github.com/LeviticusMB.png","key":"LeviticusMB","page":null},"lukasbach":{"name":"Lukas Bach","alias":"lukasbach","url":"https://github.com/lukasbach","imageURL":"https://github.com/lukasbach.png","key":"lukasbach","page":null},"mjau-mjau":{"name":"Karl Ward","alias":"mjau-mjau","url":"https://github.com/mjau-mjau","imageURL":"https://github.com/mjau-mjau.png","key":"mjau-mjau","page":null},"mxhdx":{"name":"mehdim","alias":"mxhdx","url":"https://github.com/mxhdx","imageURL":"https://github.com/mxhdx.png","key":"mxhdx","page":null},"nartc":{"name":"Chau Tran","alias":"nartc","url":"https://github.com/nartc","imageURL":"https://github.com/nartc.png","key":"nartc","page":null},"naveensrinivasan":{"name":"Naveen","alias":"naveensrinivasan","url":"https://github.com/naveensrinivasan","imageURL":"https://github.com/naveensrinivasan.png","key":"naveensrinivasan","page":null},"pcordon":{"name":"Pablo Cordon","alias":"pcordon","url":"https://github.com/pcordon","imageURL":"https://github.com/pcordon.png","key":"pcordon","page":null},"phryneas":{"name":"Lenz Weber-Tronic","alias":"phryneas","url":"https://github.com/phryneas","imageURL":"https://github.com/phryneas.png","key":"phryneas","page":null},"Pierre-Gilles":{"name":"Pierre-Gilles Leymarie","alias":"Pierre-Gilles","url":"https://github.com/Pierre-Gilles","imageURL":"https://github.com/Pierre-Gilles.png","key":"Pierre-Gilles","page":null},"redhat123456":{"name":"redhat123456","alias":"redhat123456","url":"https://github.com/redhat123456","imageURL":"https://github.com/redhat123456.png","key":"redhat123456","page":null},"rev4324":{"name":"rev","alias":"rev4324","url":"https://github.com/rev4324","imageURL":"https://github.com/rev4324.png","key":"rev4324","page":null},"sandypockets":{"name":"Zac A","alias":"sandypockets","url":"https://github.com/sandypockets","imageURL":"https://github.com/sandypockets.png","key":"sandypockets","page":null},"shczhen":{"name":"czhen","alias":"shczhen","url":"https://github.com/shczhen","imageURL":"https://github.com/shczhen.png","key":"shczhen","page":null},"sulu5890":{"name":"Evan","alias":"sulu5890","url":"https://github.com/sulu5890","imageURL":"https://github.com/sulu5890.png","key":"sulu5890","page":null},"surendran82":{"name":"surendran82","alias":"surendran82","url":"https://github.com/surendran82","imageURL":"https://github.com/surendran82.png","key":"surendran82","page":null},"svix-ken":{"name":"svix-ken","alias":"svix-ken","url":"https://github.com/svix-ken","imageURL":"https://github.com/svix-ken.png","key":"svix-ken","page":null},"zzzhangqi":{"name":"Qi Zhang","alias":"zzzhangqi","url":"https://github.com/zzzhangqi","imageURL":"https://github.com/zzzhangqi.png","key":"zzzhangqi","page":null},"afonsojramos":{"name":"Afonso Jorge Ramos","alias":"afonsojramos","url":"https://github.com/afonsojramos","imageURL":"https://github.com/afonsojramos.png","key":"afonsojramos","page":null},"alefesta":{"name":"Alessandro Festa","alias":"alefesta","url":"https://github.com/alefesta","imageURL":"https://github.com/alefesta.png","key":"alefesta","page":null},"aloisklink":{"name":"Alois Klink","alias":"aloisklink","url":"https://github.com/aloisklink","imageURL":"https://github.com/aloisklink.png","key":"aloisklink","page":null},"arifszn":{"name":"Ariful Alam","alias":"arifszn","url":"https://github.com/arifszn","imageURL":"https://github.com/arifszn.png","key":"arifszn","page":null},"dragomano":{"name":"Bugo","alias":"dragomano","url":"https://github.com/dragomano","imageURL":"https://github.com/dragomano.png","key":"dragomano","page":null},"felipecrs":{"name":"Felipe Santos","alias":"felipecrs","url":"https://github.com/felipecrs","imageURL":"https://github.com/felipecrs.png","key":"felipecrs","page":null},"hand-dot":{"name":"Kyohei Fukuda","alias":"hand-dot","url":"https://github.com/hand-dot","imageURL":"https://github.com/hand-dot.png","key":"hand-dot","page":null},"heowc":{"name":"WonChul Heo","alias":"heowc","url":"https://github.com/heowc","imageURL":"https://github.com/heowc.png","key":"heowc","page":null},"jadonn":{"name":"Jadon N","alias":"jadonn","url":"https://github.com/jadonn","imageURL":"https://github.com/jadonn.png","key":"jadonn","page":null},"jrvidal":{"name":"Roberto Vidal","alias":"jrvidal","url":"https://github.com/jrvidal","imageURL":"https://github.com/jrvidal.png","key":"jrvidal","page":null},"nathan-contino-mongo":{"name":"nate contino","alias":"nathan-contino-mongo","url":"https://github.com/nathan-contino-mongo","imageURL":"https://github.com/nathan-contino-mongo.png","key":"nathan-contino-mongo","page":null},"odarpi":{"name":"Odarpi","alias":"odarpi","url":"https://github.com/odarpi","imageURL":"https://github.com/odarpi.png","key":"odarpi","page":null},"PatelN123":{"name":"Nayan Patel","alias":"PatelN123","url":"https://github.com/PatelN123","imageURL":"https://github.com/PatelN123.png","key":"PatelN123","page":null},"pkowaluk":{"name":"Pawel Kowaluk","alias":"pkowaluk","url":"https://github.com/pkowaluk","imageURL":"https://github.com/pkowaluk.png","key":"pkowaluk","page":null},"rccttwd":{"name":"Tsz W. TAM","alias":"rccttwd","url":"https://github.com/rccttwd","imageURL":"https://github.com/rccttwd.png","key":"rccttwd","page":null},"samgutentag":{"name":"Sam Gutentag","alias":"samgutentag","url":"https://github.com/samgutentag","imageURL":"https://github.com/samgutentag.png","key":"samgutentag","page":null},"seladb":{"name":"seladb","alias":"seladb","url":"https://github.com/seladb","imageURL":"https://github.com/seladb.png","key":"seladb","page":null},"taejs":{"name":"tae","alias":"taejs","url":"https://github.com/taejs","imageURL":"https://github.com/taejs.png","key":"taejs","page":null},"vedantmgoyal2009":{"name":"Begula","alias":"vedantmgoyal2009","url":"https://github.com/vedantmgoyal2009","imageURL":"https://github.com/vedantmgoyal2009.png","key":"vedantmgoyal2009","page":null},"yorkie":{"name":"Yorkie Liu","alias":"yorkie","url":"https://github.com/yorkie","imageURL":"https://github.com/yorkie.png","key":"yorkie","page":null},"anicholls":{"name":"Alex Nicholls","alias":"anicholls","url":"https://github.com/anicholls","imageURL":"https://github.com/anicholls.png","key":"anicholls","page":null},"dmitryvinn":{"name":"Dmitry Vinnik","alias":"dmitryvinn","url":"https://github.com/dmitryvinn","imageURL":"https://github.com/dmitryvinn.png","key":"dmitryvinn","page":null},"dstotijn":{"name":"David Stotijn","alias":"dstotijn","url":"https://github.com/dstotijn","imageURL":"https://github.com/dstotijn.png","key":"dstotijn","page":null},"vaibhavshn":{"name":"Vaibhav Shinde","alias":"vaibhavshn","url":"https://github.com/vaibhavshn","imageURL":"https://github.com/vaibhavshn.png","key":"vaibhavshn","page":null},"apidev234":{"name":"Gaurish","alias":"apidev234","url":"https://github.com/apidev234","imageURL":"https://github.com/apidev234.png","key":"apidev234","page":null},"artemkovalyov":{"name":"Artem Kovalov","alias":"artemkovalyov","url":"https://github.com/artemkovalyov","imageURL":"https://github.com/artemkovalyov.png","key":"artemkovalyov","page":null},"BigDataWriter":{"name":"BigDataWriter","alias":"BigDataWriter","url":"https://github.com/BigDataWriter","imageURL":"https://github.com/BigDataWriter.png","key":"BigDataWriter","page":null},"cdemonchy-pro":{"name":"Clement Demonchy","alias":"cdemonchy-pro","url":"https://github.com/cdemonchy-pro","imageURL":"https://github.com/cdemonchy-pro.png","key":"cdemonchy-pro","page":null},"CookieJarApps":{"name":"CookieJarApps","alias":"CookieJarApps","url":"https://github.com/CookieJarApps","imageURL":"https://github.com/CookieJarApps.png","key":"CookieJarApps","page":null},"dmitryvinn-fb":{"name":"Dmitry Vinnik | Meta","alias":"dmitryvinn-fb","url":"https://github.com/dmitryvinn-fb","imageURL":"https://github.com/dmitryvinn-fb.png","key":"dmitryvinn-fb","page":null},"ebarojas":{"name":"Everardo J. Barojas M.","alias":"ebarojas","url":"https://github.com/ebarojas","imageURL":"https://github.com/ebarojas.png","key":"ebarojas","page":null},"erickzhao":{"name":"Erick Zhao","alias":"erickzhao","url":"https://github.com/erickzhao","imageURL":"https://github.com/erickzhao.png","key":"erickzhao","page":null},"kalevski":{"name":"Daniel Kalevski","alias":"kalevski","url":"https://github.com/kalevski","imageURL":"https://github.com/kalevski.png","key":"kalevski","page":null},"kgajera":{"name":"Kishan Gajera","alias":"kgajera","url":"https://github.com/kgajera","imageURL":"https://github.com/kgajera.png","key":"kgajera","page":null},"koistya":{"name":"Konstantin Tarkus","alias":"koistya","url":"https://github.com/koistya","imageURL":"https://github.com/koistya.png","key":"koistya","page":null},"milesj":{"name":"Miles Johnson","alias":"milesj","url":"https://github.com/milesj","imageURL":"https://github.com/milesj.png","key":"milesj","page":null},"mrbrunelli":{"name":"Matheus Ricardo Brunelli","alias":"mrbrunelli","url":"https://github.com/mrbrunelli","imageURL":"https://github.com/mrbrunelli.png","key":"mrbrunelli","page":null},"NaseelNiyas":{"name":"Naseel Niyas","alias":"NaseelNiyas","url":"https://github.com/NaseelNiyas","imageURL":"https://github.com/NaseelNiyas.png","key":"NaseelNiyas","page":null},"nick-verida":{"name":"nick-verida","alias":"nick-verida","url":"https://github.com/nick-verida","imageURL":"https://github.com/nick-verida.png","key":"nick-verida","page":null},"nschonni":{"name":"Nick Schonning","alias":"nschonni","url":"https://github.com/nschonni","imageURL":"https://github.com/nschonni.png","key":"nschonni","page":null},"redhoyasa":{"name":"Muhammad Redho Ayassa","alias":"redhoyasa","url":"https://github.com/redhoyasa","imageURL":"https://github.com/redhoyasa.png","key":"redhoyasa","page":null},"Ruben-Arushanyan":{"name":"Ruben Arushanyan","alias":"Ruben-Arushanyan","url":"https://github.com/Ruben-Arushanyan","imageURL":"https://github.com/Ruben-Arushanyan.png","key":"Ruben-Arushanyan","page":null},"seyoon20087":{"name":"seyoon20087","alias":"seyoon20087","url":"https://github.com/seyoon20087","imageURL":"https://github.com/seyoon20087.png","key":"seyoon20087","page":null},"tamalweb":{"name":"Tamal Web","alias":"tamalweb","url":"https://github.com/tamalweb","imageURL":"https://github.com/tamalweb.png","key":"tamalweb","page":null},"thedanielhanke":{"name":"Daniel Hanke","alias":"thedanielhanke","url":"https://github.com/thedanielhanke","imageURL":"https://github.com/thedanielhanke.png","key":"thedanielhanke","page":null},"toto6038":{"name":"toto6038","alias":"toto6038","url":"https://github.com/toto6038","imageURL":"https://github.com/toto6038.png","key":"toto6038","page":null},"vidarc":{"name":"Matthew Ailes","alias":"vidarc","url":"https://github.com/vidarc","imageURL":"https://github.com/vidarc.png","key":"vidarc","page":null},"winterlood":{"name":"\uC774\uC815\uD658","alias":"winterlood","url":"https://github.com/winterlood","imageURL":"https://github.com/winterlood.png","key":"winterlood","page":null},"abahmed":{"name":"Abdelrahman Ahmed","alias":"abahmed","url":"https://github.com/abahmed","imageURL":"https://github.com/abahmed.png","key":"abahmed","page":null},"ajrice6713":{"name":"AJ Rice","alias":"ajrice6713","url":"https://github.com/ajrice6713","imageURL":"https://github.com/ajrice6713.png","key":"ajrice6713","page":null},"alexgrigoras":{"name":"Alexandru Grigoras","alias":"alexgrigoras","url":"https://github.com/alexgrigoras","imageURL":"https://github.com/alexgrigoras.png","key":"alexgrigoras","page":null},"alias-mac":{"name":"Filipe Guerra","alias":"alias-mac","url":"https://github.com/alias-mac","imageURL":"https://github.com/alias-mac.png","key":"alias-mac","page":null},"amir2mi":{"name":"Amir M. Mohamadi","alias":"amir2mi","url":"https://github.com/amir2mi","imageURL":"https://github.com/amir2mi.png","key":"amir2mi","page":null},"antmcc49":{"name":"Anthony McCaigue","alias":"antmcc49","url":"https://github.com/antmcc49","imageURL":"https://github.com/antmcc49.png","key":"antmcc49","page":null},"brendannee":{"name":"Brendan Nee","alias":"brendannee","url":"https://github.com/brendannee","imageURL":"https://github.com/brendannee.png","key":"brendannee","page":null},"cerkiewny":{"name":"Devtato","alias":"cerkiewny","url":"https://github.com/cerkiewny","imageURL":"https://github.com/cerkiewny.png","key":"cerkiewny","page":null},"davidebianchi":{"name":"Davide Bianchi","alias":"davidebianchi","url":"https://github.com/davidebianchi","imageURL":"https://github.com/davidebianchi.png","key":"davidebianchi","page":null},"edouardb":{"name":"Edouard Bonlieu","alias":"edouardb","url":"https://github.com/edouardb","imageURL":"https://github.com/edouardb.png","key":"edouardb","page":null},"FeodorFitsner":{"name":"Feodor Fitsner","alias":"FeodorFitsner","url":"https://github.com/FeodorFitsner","imageURL":"https://github.com/FeodorFitsner.png","key":"FeodorFitsner","page":null},"HiChen404":{"name":"Chen","alias":"HiChen404","url":"https://github.com/HiChen404","imageURL":"https://github.com/HiChen404.png","key":"HiChen404","page":null},"josephriosIO":{"name":"Joseph","alias":"josephriosIO","url":"https://github.com/josephriosIO","imageURL":"https://github.com/josephriosIO.png","key":"josephriosIO","page":null},"jwitz":{"name":"Jake Witz","alias":"jwitz","url":"https://github.com/jwitz","imageURL":"https://github.com/jwitz.png","key":"jwitz","page":null},"kaustubhk24":{"name":"Kaustubh Kulkarni","alias":"kaustubhk24","url":"https://github.com/kaustubhk24","imageURL":"https://github.com/kaustubhk24.png","key":"kaustubhk24","page":null},"kuizuo":{"name":"kuizuo","alias":"kuizuo","url":"https://github.com/kuizuo","imageURL":"https://github.com/kuizuo.png","key":"kuizuo","page":null},"lmpham1":{"name":"Minh Pham","alias":"lmpham1","url":"https://github.com/lmpham1","imageURL":"https://github.com/lmpham1.png","key":"lmpham1","page":null},"ltm":{"name":"Lars Mikkelsen","alias":"ltm","url":"https://github.com/ltm","imageURL":"https://github.com/ltm.png","key":"ltm","page":null},"megasanjay":{"name":"Sanjay Soundarajan","alias":"megasanjay","url":"https://github.com/megasanjay","imageURL":"https://github.com/megasanjay.png","key":"megasanjay","page":null},"MorookaKotaro":{"name":"Morooka Kotaro","alias":"MorookaKotaro","url":"https://github.com/MorookaKotaro","imageURL":"https://github.com/MorookaKotaro.png","key":"MorookaKotaro","page":null},"noomorph":{"name":"Yaroslav Serhieiev","alias":"noomorph","url":"https://github.com/noomorph","imageURL":"https://github.com/noomorph.png","key":"noomorph","page":null},"omeraplak":{"name":"\xd6mer Faruk APLAK","alias":"omeraplak","url":"https://github.com/omeraplak","imageURL":"https://github.com/omeraplak.png","key":"omeraplak","page":null},"rishi-raj-jain":{"name":"Rishi Raj Jain","alias":"rishi-raj-jain","url":"https://github.com/rishi-raj-jain","imageURL":"https://github.com/rishi-raj-jain.png","key":"rishi-raj-jain","page":null},"roydukkey":{"name":"roydukkey","alias":"roydukkey","url":"https://github.com/roydukkey","imageURL":"https://github.com/roydukkey.png","key":"roydukkey","page":null},"ruanqizhen":{"name":"ruanqizhen","alias":"ruanqizhen","url":"https://github.com/ruanqizhen","imageURL":"https://github.com/ruanqizhen.png","key":"ruanqizhen","page":null},"sgenoud":{"name":"sgenoud","alias":"sgenoud","url":"https://github.com/sgenoud","imageURL":"https://github.com/sgenoud.png","key":"sgenoud","page":null},"tapanchudasama":{"name":"Tapan Chudasama","alias":"tapanchudasama","url":"https://github.com/tapanchudasama","imageURL":"https://github.com/tapanchudasama.png","key":"tapanchudasama","page":null},"vandreleal":{"name":"Vandr\xe9 Leal","alias":"vandreleal","url":"https://github.com/vandreleal","imageURL":"https://github.com/vandreleal.png","key":"vandreleal","page":null},"wood3n":{"name":"wood3n","alias":"wood3n","url":"https://github.com/wood3n","imageURL":"https://github.com/wood3n.png","key":"wood3n","page":null},"christopherklint97":{"name":"Christopher Klint","alias":"christopherklint97","url":"https://github.com/christopherklint97","imageURL":"https://github.com/christopherklint97.png","key":"christopherklint97","page":null},"cmpadden":{"name":"colton","alias":"cmpadden","url":"https://github.com/cmpadden","imageURL":"https://github.com/cmpadden.png","key":"cmpadden","page":null},"Drylozu":{"name":"Drylozu","alias":"Drylozu","url":"https://github.com/Drylozu","imageURL":"https://github.com/Drylozu.png","key":"Drylozu","page":null},"favna":{"name":"Jeroen Claassens","alias":"favna","url":"https://github.com/favna","imageURL":"https://github.com/favna.png","key":"favna","page":null},"HarshCasper":{"name":"Harsh Mishra","alias":"HarshCasper","url":"https://github.com/HarshCasper","imageURL":"https://github.com/HarshCasper.png","key":"HarshCasper","page":null},"himanshu007-creator":{"name":"Himanshu","alias":"himanshu007-creator","url":"https://github.com/himanshu007-creator","imageURL":"https://github.com/himanshu007-creator.png","key":"himanshu007-creator","page":null},"merceyz":{"name":"Kristoffer K.","alias":"merceyz","url":"https://github.com/merceyz","imageURL":"https://github.com/merceyz.png","key":"merceyz","page":null},"notzheng":{"name":"\u4E0D\u90D1","alias":"notzheng","url":"https://github.com/notzheng","imageURL":"https://github.com/notzheng.png","key":"notzheng","page":null},"wewoor":{"name":"Ziv","alias":"wewoor","url":"https://github.com/wewoor","imageURL":"https://github.com/wewoor.png","key":"wewoor","page":null},"withshubh":{"name":"Shubhendra Singh Chauhan","alias":"withshubh","url":"https://github.com/withshubh","imageURL":"https://github.com/withshubh.png","key":"withshubh","page":null},"wowtvds":{"name":"Wout Vandesompele","alias":"wowtvds","url":"https://github.com/wowtvds","imageURL":"https://github.com/wowtvds.png","key":"wowtvds","page":null},"afshinm":{"name":"Afshin Mehrabani","alias":"afshinm","url":"https://github.com/afshinm","imageURL":"https://github.com/afshinm.png","key":"afshinm","page":null},"agrawal-rohit":{"name":"Rohit Agrawal","alias":"agrawal-rohit","url":"https://github.com/agrawal-rohit","imageURL":"https://github.com/agrawal-rohit.png","key":"agrawal-rohit","page":null},"cchaudier":{"name":"Christophe Chaudier","alias":"cchaudier","url":"https://github.com/cchaudier","imageURL":"https://github.com/cchaudier.png","key":"cchaudier","page":null},"chimailo":{"name":"chima ilo","alias":"chimailo","url":"https://github.com/chimailo","imageURL":"https://github.com/chimailo.png","key":"chimailo","page":null},"dexbiobot":{"name":"Shoaib Sajid","alias":"dexbiobot","url":"https://github.com/dexbiobot","imageURL":"https://github.com/dexbiobot.png","key":"dexbiobot","page":null},"dsmmcken":{"name":"Don","alias":"dsmmcken","url":"https://github.com/dsmmcken","imageURL":"https://github.com/dsmmcken.png","key":"dsmmcken","page":null},"fishmandev":{"name":"Dmitriy Fishman","alias":"fishmandev","url":"https://github.com/fishmandev","imageURL":"https://github.com/fishmandev.png","key":"fishmandev","page":null},"fsmaia":{"name":"Fernando Maia","alias":"fsmaia","url":"https://github.com/fsmaia","imageURL":"https://github.com/fsmaia.png","key":"fsmaia","page":null},"hbulens":{"name":"Hendrik Bulens","alias":"hbulens","url":"https://github.com/hbulens","imageURL":"https://github.com/hbulens.png","key":"hbulens","page":null},"HemantSachdeva":{"name":"Hemant Sachdeva","alias":"HemantSachdeva","url":"https://github.com/HemantSachdeva","imageURL":"https://github.com/HemantSachdeva.png","key":"HemantSachdeva","page":null},"JararvisQ":{"name":"Jarar","alias":"JararvisQ","url":"https://github.com/JararvisQ","imageURL":"https://github.com/JararvisQ.png","key":"JararvisQ","page":null},"jeffski":{"name":"Jeff Shillitto","alias":"jeffski","url":"https://github.com/jeffski","imageURL":"https://github.com/jeffski.png","key":"jeffski","page":null},"juffalow":{"name":"Matej Jellus","alias":"juffalow","url":"https://github.com/juffalow","imageURL":"https://github.com/juffalow.png","key":"juffalow","page":null},"juzhiyuan":{"name":"\u741A\u81F4\u8FDC","alias":"juzhiyuan","url":"https://github.com/juzhiyuan","imageURL":"https://github.com/juzhiyuan.png","key":"juzhiyuan","page":null},"KonstHardy":{"name":"Konstantin Popov","alias":"KonstHardy","url":"https://github.com/KonstHardy","imageURL":"https://github.com/KonstHardy.png","key":"KonstHardy","page":null},"ludofischer":{"name":"Ludovico Fischer","alias":"ludofischer","url":"https://github.com/ludofischer","imageURL":"https://github.com/ludofischer.png","key":"ludofischer","page":null},"Martinsos":{"name":"Martin \u0160o\u0161i\u0107","alias":"Martinsos","url":"https://github.com/Martinsos","imageURL":"https://github.com/Martinsos.png","key":"Martinsos","page":null},"matthijsgroen":{"name":"Matthijs Groen","alias":"matthijsgroen","url":"https://github.com/matthijsgroen","imageURL":"https://github.com/matthijsgroen.png","key":"matthijsgroen","page":null},"MisterFISHUP":{"name":"MisterFISHUP","alias":"MisterFISHUP","url":"https://github.com/MisterFISHUP","imageURL":"https://github.com/MisterFISHUP.png","key":"MisterFISHUP","page":null},"molly":{"name":"Molly White","alias":"molly","url":"https://github.com/molly","imageURL":"https://github.com/molly.png","key":"molly","page":null},"oriooctopus":{"name":"Oliver Ullman","alias":"oriooctopus","url":"https://github.com/oriooctopus","imageURL":"https://github.com/oriooctopus.png","key":"oriooctopus","page":null},"pal-sig":{"name":"pal-sig","alias":"pal-sig","url":"https://github.com/pal-sig","imageURL":"https://github.com/pal-sig.png","key":"pal-sig","page":null},"Patitotective":{"name":"Patitotective","alias":"Patitotective","url":"https://github.com/Patitotective","imageURL":"https://github.com/Patitotective.png","key":"Patitotective","page":null},"patrikmasiar":{"name":"Patrik M\xe4siar","alias":"patrikmasiar","url":"https://github.com/patrikmasiar","imageURL":"https://github.com/patrikmasiar.png","key":"patrikmasiar","page":null},"pbiggar":{"name":"Paul Biggar","alias":"pbiggar","url":"https://github.com/pbiggar","imageURL":"https://github.com/pbiggar.png","key":"pbiggar","page":null},"polarathene":{"name":"Brennan Kinney","alias":"polarathene","url":"https://github.com/polarathene","imageURL":"https://github.com/polarathene.png","key":"polarathene","page":null},"robinmetral":{"name":"Robin M\xe9tral","alias":"robinmetral","url":"https://github.com/robinmetral","imageURL":"https://github.com/robinmetral.png","key":"robinmetral","page":null},"ronnyroeller":{"name":"Ronny Roeller","alias":"ronnyroeller","url":"https://github.com/ronnyroeller","imageURL":"https://github.com/ronnyroeller.png","key":"ronnyroeller","page":null},"rootwork":{"name":"Ivan Boothe","alias":"rootwork","url":"https://github.com/rootwork","imageURL":"https://github.com/rootwork.png","key":"rootwork","page":null},"rsapkf":{"name":"Rey","alias":"rsapkf","url":"https://github.com/rsapkf","imageURL":"https://github.com/rsapkf.png","key":"rsapkf","page":null},"semoal":{"name":"Sergio Moreno","alias":"semoal","url":"https://github.com/semoal","imageURL":"https://github.com/semoal.png","key":"semoal","page":null},"shafy":{"name":"Can Olcer","alias":"shafy","url":"https://github.com/shafy","imageURL":"https://github.com/shafy.png","key":"shafy","page":null},"sivapalan":{"name":"Varun Sivapalan","alias":"sivapalan","url":"https://github.com/sivapalan","imageURL":"https://github.com/sivapalan.png","key":"sivapalan","page":null},"skoech":{"name":"Sharon Koech","alias":"skoech","url":"https://github.com/skoech","imageURL":"https://github.com/skoech.png","key":"skoech","page":null},"sohamsshah":{"name":"Soham Shah","alias":"sohamsshah","url":"https://github.com/sohamsshah","imageURL":"https://github.com/sohamsshah.png","key":"sohamsshah","page":null},"spyke01":{"name":"Paden Clayton","alias":"spyke01","url":"https://github.com/spyke01","imageURL":"https://github.com/spyke01.png","key":"spyke01","page":null},"StanKocken":{"name":"Stan Kocken","alias":"StanKocken","url":"https://github.com/StanKocken","imageURL":"https://github.com/StanKocken.png","key":"StanKocken","page":null},"swalahamani":{"name":"Swalah Amani","alias":"swalahamani","url":"https://github.com/swalahamani","imageURL":"https://github.com/swalahamani.png","key":"swalahamani","page":null},"swapnilmmane":{"name":"Swapnil M Mane","alias":"swapnilmmane","url":"https://github.com/swapnilmmane","imageURL":"https://github.com/swapnilmmane.png","key":"swapnilmmane","page":null},"wpyoga":{"name":"William Poetra Yoga","alias":"wpyoga","url":"https://github.com/wpyoga","imageURL":"https://github.com/wpyoga.png","key":"wpyoga","page":null},"AviVahl":{"name":"Avi Vahl","alias":"AviVahl","url":"https://github.com/AviVahl","imageURL":"https://github.com/AviVahl.png","key":"AviVahl","page":null},"dominikmeyersap":{"name":"Dominik Meyer","alias":"dominikmeyersap","url":"https://github.com/dominikmeyersap","imageURL":"https://github.com/dominikmeyersap.png","key":"dominikmeyersap","page":null},"gabrielfalcao":{"name":"Gabriel Falc\xe3o","alias":"gabrielfalcao","url":"https://github.com/gabrielfalcao","imageURL":"https://github.com/gabrielfalcao.png","key":"gabrielfalcao","page":null},"oscard0m":{"name":"Oscar Dominguez","alias":"oscard0m","url":"https://github.com/oscard0m","imageURL":"https://github.com/oscard0m.png","key":"oscard0m","page":null},"robbieaverill":{"name":"Robbie Averill","alias":"robbieaverill","url":"https://github.com/robbieaverill","imageURL":"https://github.com/robbieaverill.png","key":"robbieaverill","page":null},"utajum":{"name":"Vladimir Tasic","alias":"utajum","url":"https://github.com/utajum","imageURL":"https://github.com/utajum.png","key":"utajum","page":null},"wingclover":{"name":"Ying Wang","alias":"wingclover","url":"https://github.com/wingclover","imageURL":"https://github.com/wingclover.png","key":"wingclover","page":null},"ataft":{"name":"Andrew Taft","alias":"ataft","url":"https://github.com/ataft","imageURL":"https://github.com/ataft.png","key":"ataft","page":null},"canercanbaz":{"name":"Caner Canbaz","alias":"canercanbaz","url":"https://github.com/canercanbaz","imageURL":"https://github.com/canercanbaz.png","key":"canercanbaz","page":null},"DimiMikadze":{"name":"Dimi Mikadze","alias":"DimiMikadze","url":"https://github.com/DimiMikadze","imageURL":"https://github.com/DimiMikadze.png","key":"DimiMikadze","page":null},"ipavlic":{"name":"Ilija Pavlic","alias":"ipavlic","url":"https://github.com/ipavlic","imageURL":"https://github.com/ipavlic.png","key":"ipavlic","page":null},"nlfurniss":{"name":"Nathaniel Furniss","alias":"nlfurniss","url":"https://github.com/nlfurniss","imageURL":"https://github.com/nlfurniss.png","key":"nlfurniss","page":null},"philipp985":{"name":"philipp985","alias":"philipp985","url":"https://github.com/philipp985","imageURL":"https://github.com/philipp985.png","key":"philipp985","page":null},"thanasis00":{"name":"Thanasis Katsadas","alias":"thanasis00","url":"https://github.com/thanasis00","imageURL":"https://github.com/thanasis00.png","key":"thanasis00","page":null},"zxuqian":{"name":"Xuqian","alias":"zxuqian","url":"https://github.com/zxuqian","imageURL":"https://github.com/zxuqian.png","key":"zxuqian","page":null},"akajla09":{"name":"Aditya Kajla","alias":"akajla09","url":"https://github.com/akajla09","imageURL":"https://github.com/akajla09.png","key":"akajla09","page":null},"Andrewnt219":{"name":"Andrew Nguyen","alias":"Andrewnt219","url":"https://github.com/Andrewnt219","imageURL":"https://github.com/Andrewnt219.png","key":"Andrewnt219","page":null},"BattleOfPlassey":{"name":"Palash Shrivastava","alias":"BattleOfPlassey","url":"https://github.com/BattleOfPlassey","imageURL":"https://github.com/BattleOfPlassey.png","key":"BattleOfPlassey","page":null},"bmiddha":{"name":"Bharat Middha","alias":"bmiddha","url":"https://github.com/bmiddha","imageURL":"https://github.com/bmiddha.png","key":"bmiddha","page":null},"caleeli":{"name":"David Callizaya","alias":"caleeli","url":"https://github.com/caleeli","imageURL":"https://github.com/caleeli.png","key":"caleeli","page":null},"ChrisChinchilla":{"name":"Chris Chinchilla","alias":"ChrisChinchilla","url":"https://github.com/ChrisChinchilla","imageURL":"https://github.com/ChrisChinchilla.png","key":"ChrisChinchilla","page":null},"djamaile":{"name":"djamaile","alias":"djamaile","url":"https://github.com/djamaile","imageURL":"https://github.com/djamaile.png","key":"djamaile","page":null},"dr5hn":{"name":"Darshan Gada","alias":"dr5hn","url":"https://github.com/dr5hn","imageURL":"https://github.com/dr5hn.png","key":"dr5hn","page":null},"EkaterinaMozheiko":{"name":"Ekaterina Mozheiko","alias":"EkaterinaMozheiko","url":"https://github.com/EkaterinaMozheiko","imageURL":"https://github.com/EkaterinaMozheiko.png","key":"EkaterinaMozheiko","page":null},"gtnardy":{"name":"Gabriel T. Nardy","alias":"gtnardy","url":"https://github.com/gtnardy","imageURL":"https://github.com/gtnardy.png","key":"gtnardy","page":null},"headline-design":{"name":"headline-design","alias":"headline-design","url":"https://github.com/headline-design","imageURL":"https://github.com/headline-design.png","key":"headline-design","page":null},"hughlilly":{"name":"Hugh Lilly","alias":"hughlilly","url":"https://github.com/hughlilly","imageURL":"https://github.com/hughlilly.png","key":"hughlilly","page":null},"ivarconr":{"name":"Ivar Conradi \xd8sthus","alias":"ivarconr","url":"https://github.com/ivarconr","imageURL":"https://github.com/ivarconr.png","key":"ivarconr","page":null},"jasonbosco":{"name":"Jason Bosco","alias":"jasonbosco","url":"https://github.com/jasonbosco","imageURL":"https://github.com/jasonbosco.png","key":"jasonbosco","page":null},"jkhaui":{"name":"Jordan Lee","alias":"jkhaui","url":"https://github.com/jkhaui","imageURL":"https://github.com/jkhaui.png","key":"jkhaui","page":null},"kingo55":{"name":"Robert Kingston","alias":"kingo55","url":"https://github.com/kingo55","imageURL":"https://github.com/kingo55.png","key":"kingo55","page":null},"KyrietS":{"name":"Kyriet","alias":"KyrietS","url":"https://github.com/KyrietS","imageURL":"https://github.com/KyrietS.png","key":"KyrietS","page":null},"MrTechHunter":{"name":"Mahdi Hamldar","alias":"MrTechHunter","url":"https://github.com/MrTechHunter","imageURL":"https://github.com/MrTechHunter.png","key":"MrTechHunter","page":null},"ohkimur":{"name":"Daniel Costrasel","alias":"ohkimur","url":"https://github.com/ohkimur","imageURL":"https://github.com/ohkimur.png","key":"ohkimur","page":null},"printf-ana":{"name":"Ana Carolina","alias":"printf-ana","url":"https://github.com/printf-ana","imageURL":"https://github.com/printf-ana.png","key":"printf-ana","page":null},"Shrugsy":{"name":"Shrugsy","alias":"Shrugsy","url":"https://github.com/Shrugsy","imageURL":"https://github.com/Shrugsy.png","key":"Shrugsy","page":null},"sw-yx":{"name":"swyx","alias":"sw-yx","url":"https://github.com/sw-yx","imageURL":"https://github.com/sw-yx.png","key":"sw-yx","page":null},"vinckr":{"name":"Vincent","alias":"vinckr","url":"https://github.com/vinckr","imageURL":"https://github.com/vinckr.png","key":"vinckr","page":null},"Whirl21":{"name":"Whirl","alias":"Whirl21","url":"https://github.com/Whirl21","imageURL":"https://github.com/Whirl21.png","key":"Whirl21","page":null},"3alisaki":{"name":"Ali Saki","alias":"3alisaki","url":"https://github.com/3alisaki","imageURL":"https://github.com/3alisaki.png","key":"3alisaki","page":null},"antonym":{"name":"Antony Messerli","alias":"antonym","url":"https://github.com/antonym","imageURL":"https://github.com/antonym.png","key":"antonym","page":null},"farshidinanloo":{"name":"farshid","alias":"farshidinanloo","url":"https://github.com/farshidinanloo","imageURL":"https://github.com/farshidinanloo.png","key":"farshidinanloo","page":null},"oscarlorentzon":{"name":"Oscar Lorentzon","alias":"oscarlorentzon","url":"https://github.com/oscarlorentzon","imageURL":"https://github.com/oscarlorentzon.png","key":"oscarlorentzon","page":null},"rohit-gohri":{"name":"Rohit Gohri","alias":"rohit-gohri","url":"https://github.com/rohit-gohri","imageURL":"https://github.com/rohit-gohri.png","key":"rohit-gohri","page":null},"dbseal":{"name":"David Seal","alias":"dbseal","url":"https://github.com/dbseal","imageURL":"https://github.com/dbseal.png","key":"dbseal","page":null},"deepakprabhakara":{"name":"Deepak Prabhakara","alias":"deepakprabhakara","url":"https://github.com/deepakprabhakara","imageURL":"https://github.com/deepakprabhakara.png","key":"deepakprabhakara","page":null},"faloi":{"name":"Federico Aloi","alias":"faloi","url":"https://github.com/faloi","imageURL":"https://github.com/faloi.png","key":"faloi","page":null},"fouad":{"name":"Fouad Matin","alias":"fouad","url":"https://github.com/fouad","imageURL":"https://github.com/fouad.png","key":"fouad","page":null},"gulien":{"name":"Julien Neuhart","alias":"gulien","url":"https://github.com/gulien","imageURL":"https://github.com/gulien.png","key":"gulien","page":null},"hamzahamidi":{"name":"Hamza Hamidi","alias":"hamzahamidi","url":"https://github.com/hamzahamidi","imageURL":"https://github.com/hamzahamidi.png","key":"hamzahamidi","page":null},"HaochenQ":{"name":"HaochenQ","alias":"HaochenQ","url":"https://github.com/HaochenQ","imageURL":"https://github.com/HaochenQ.png","key":"HaochenQ","page":null},"incendial":{"name":"Dmitry Zhifarsky","alias":"incendial","url":"https://github.com/incendial","imageURL":"https://github.com/incendial.png","key":"incendial","page":null},"isaac-philip":{"name":"Isaac Philip","alias":"isaac-philip","url":"https://github.com/isaac-philip","imageURL":"https://github.com/isaac-philip.png","key":"isaac-philip","page":null},"jansivans":{"name":"Yan Ivan Evdokimov","alias":"jansivans","url":"https://github.com/jansivans","imageURL":"https://github.com/jansivans.png","key":"jansivans","page":null},"JonnyBurger":{"name":"Jonny Burger","alias":"JonnyBurger","url":"https://github.com/JonnyBurger","imageURL":"https://github.com/JonnyBurger.png","key":"JonnyBurger","page":null},"metmarkosaric":{"name":"Marko Saric","alias":"metmarkosaric","url":"https://github.com/metmarkosaric","imageURL":"https://github.com/metmarkosaric.png","key":"metmarkosaric","page":null},"michalsanger":{"name":"Michal S\xe4nger","alias":"michalsanger","url":"https://github.com/michalsanger","imageURL":"https://github.com/michalsanger.png","key":"michalsanger","page":null},"neaped":{"name":"Garry","alias":"neaped","url":"https://github.com/neaped","imageURL":"https://github.com/neaped.png","key":"neaped","page":null},"sparanoid":{"name":"Tunghsiao Liu","alias":"sparanoid","url":"https://github.com/sparanoid","imageURL":"https://github.com/sparanoid.png","key":"sparanoid","page":null},"wan-nyan-wan":{"name":"wan-nyan-wan","alias":"wan-nyan-wan","url":"https://github.com/wan-nyan-wan","imageURL":"https://github.com/wan-nyan-wan.png","key":"wan-nyan-wan","page":null},"antonvasilev52":{"name":"antonvasilev52","alias":"antonvasilev52","url":"https://github.com/antonvasilev52","imageURL":"https://github.com/antonvasilev52.png","key":"antonvasilev52","page":null},"arnaudjnn":{"name":"Arnaud Jeannin","alias":"arnaudjnn","url":"https://github.com/arnaudjnn","imageURL":"https://github.com/arnaudjnn.png","key":"arnaudjnn","page":null},"cmfcmf":{"name":"Christian Flach","alias":"cmfcmf","url":"https://github.com/cmfcmf","imageURL":"https://github.com/cmfcmf.png","key":"cmfcmf","page":null},"covalentbond":{"name":"Arijit Kundu","alias":"covalentbond","url":"https://github.com/covalentbond","imageURL":"https://github.com/covalentbond.png","key":"covalentbond","page":null},"davidzhao":{"name":"David Zhao","alias":"davidzhao","url":"https://github.com/davidzhao","imageURL":"https://github.com/davidzhao.png","key":"davidzhao","page":null},"dbrrt":{"name":"David Barrat","alias":"dbrrt","url":"https://github.com/dbrrt","imageURL":"https://github.com/dbrrt.png","key":"dbrrt","page":null},"dgeb":{"name":"Dan Gebhardt","alias":"dgeb","url":"https://github.com/dgeb","imageURL":"https://github.com/dgeb.png","key":"dgeb","page":null},"fmassot":{"name":"Fran\xe7ois Massot","alias":"fmassot","url":"https://github.com/fmassot","imageURL":"https://github.com/fmassot.png","key":"fmassot","page":null},"lennartkoopmann":{"name":"Lennart Koopmann","alias":"lennartkoopmann","url":"https://github.com/lennartkoopmann","imageURL":"https://github.com/lennartkoopmann.png","key":"lennartkoopmann","page":null},"marssaljr":{"name":"Mar\xe7al Junior","alias":"marssaljr","url":"https://github.com/marssaljr","imageURL":"https://github.com/marssaljr.png","key":"marssaljr","page":null},"mweststrate":{"name":"Michel Weststrate","alias":"mweststrate","url":"https://github.com/mweststrate","imageURL":"https://github.com/mweststrate.png","key":"mweststrate","page":null},"NazarStreletskyi":{"name":"Nazar","alias":"NazarStreletskyi","url":"https://github.com/NazarStreletskyi","imageURL":"https://github.com/NazarStreletskyi.png","key":"NazarStreletskyi","page":null},"nirtamir2":{"name":"nirtamir2","alias":"nirtamir2","url":"https://github.com/nirtamir2","imageURL":"https://github.com/nirtamir2.png","key":"nirtamir2","page":null},"pcho":{"name":"Przemys\u0142aw Chojecki","alias":"pcho","url":"https://github.com/pcho","imageURL":"https://github.com/pcho.png","key":"pcho","page":null},"pmuens":{"name":"Philipp Muens","alias":"pmuens","url":"https://github.com/pmuens","imageURL":"https://github.com/pmuens.png","key":"pmuens","page":null},"rluvaton":{"name":"Raz Luvaton","alias":"rluvaton","url":"https://github.com/rluvaton","imageURL":"https://github.com/rluvaton.png","key":"rluvaton","page":null},"tohidnateghi":{"name":"tohid nateghi","alias":"tohidnateghi","url":"https://github.com/tohidnateghi","imageURL":"https://github.com/tohidnateghi.png","key":"tohidnateghi","page":null},"wenerme":{"name":"\u9648\u6768\u6587","alias":"wenerme","url":"https://github.com/wenerme","imageURL":"https://github.com/wenerme.png","key":"wenerme","page":null},"AuHau":{"name":"Adam Uhl\xed\u0159","alias":"AuHau","url":"https://github.com/AuHau","imageURL":"https://github.com/AuHau.png","key":"AuHau","page":null},"bperlmutter":{"name":"bperlmutter","alias":"bperlmutter","url":"https://github.com/bperlmutter","imageURL":"https://github.com/bperlmutter.png","key":"bperlmutter","page":null},"dirslashls":{"name":"dirslashls","alias":"dirslashls","url":"https://github.com/dirslashls","imageURL":"https://github.com/dirslashls.png","key":"dirslashls","page":null},"iamayushdas":{"name":"Ayush das","alias":"iamayushdas","url":"https://github.com/iamayushdas","imageURL":"https://github.com/iamayushdas.png","key":"iamayushdas","page":null},"jsamr":{"name":"Jules Sam. Randolph","alias":"jsamr","url":"https://github.com/jsamr","imageURL":"https://github.com/jsamr.png","key":"jsamr","page":null},"kdrag0n":{"name":"Danny Lin","alias":"kdrag0n","url":"https://github.com/kdrag0n","imageURL":"https://github.com/kdrag0n.png","key":"kdrag0n","page":null},"ramiy":{"name":"Rami Yushuvaev","alias":"ramiy","url":"https://github.com/ramiy","imageURL":"https://github.com/ramiy.png","key":"ramiy","page":null},"eshantri":{"name":"Eshan Tripathi","alias":"eshantri","url":"https://github.com/eshantri","imageURL":"https://github.com/eshantri.png","key":"eshantri","page":null},"loozhengyuan":{"name":"ZhengYuan Loo","alias":"loozhengyuan","url":"https://github.com/loozhengyuan","imageURL":"https://github.com/loozhengyuan.png","key":"loozhengyuan","page":null},"manuelmeurer":{"name":"Manuel Meurer","alias":"manuelmeurer","url":"https://github.com/manuelmeurer","imageURL":"https://github.com/manuelmeurer.png","key":"manuelmeurer","page":null},"teikjun":{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},"tomekpapiernik":{"name":"Tomasz Papiernik","alias":"tomekpapiernik","url":"https://github.com/tomekpapiernik","imageURL":"https://github.com/tomekpapiernik.png","key":"tomekpapiernik","page":null},"antonygibbs":{"name":"antonygibbs","alias":"antonygibbs","url":"https://github.com/antonygibbs","imageURL":"https://github.com/antonygibbs.png","key":"antonygibbs","page":null},"ArtFlag":{"name":"Arthur","alias":"ArtFlag","url":"https://github.com/ArtFlag","imageURL":"https://github.com/ArtFlag.png","key":"ArtFlag","page":null},"besemuna":{"name":"besemuna","alias":"besemuna","url":"https://github.com/besemuna","imageURL":"https://github.com/besemuna.png","key":"besemuna","page":null},"Christopher-Hsieh":{"name":"Christopher Hsieh","alias":"Christopher-Hsieh","url":"https://github.com/Christopher-Hsieh","imageURL":"https://github.com/Christopher-Hsieh.png","key":"Christopher-Hsieh","page":null},"dabeeeenster":{"name":"Ben Rometsch","alias":"dabeeeenster","url":"https://github.com/dabeeeenster","imageURL":"https://github.com/dabeeeenster.png","key":"dabeeeenster","page":null},"e271828-":{"name":"e271828-","alias":"e271828-","url":"https://github.com/e271828-","imageURL":"https://github.com/e271828-.png","key":"e271828-","page":null},"fgatti675":{"name":"fgatti675","alias":"fgatti675","url":"https://github.com/fgatti675","imageURL":"https://github.com/fgatti675.png","key":"fgatti675","page":null},"HunteRoi":{"name":"Tina\xebl Devresse","alias":"HunteRoi","url":"https://github.com/HunteRoi","imageURL":"https://github.com/HunteRoi.png","key":"HunteRoi","page":null},"jmazin":{"name":"Jonathan Mazin","alias":"jmazin","url":"https://github.com/jmazin","imageURL":"https://github.com/jmazin.png","key":"jmazin","page":null},"Joelpo":{"name":"Joel","alias":"Joelpo","url":"https://github.com/Joelpo","imageURL":"https://github.com/Joelpo.png","key":"Joelpo","page":null},"jonbarker68":{"name":"Jon Barker","alias":"jonbarker68","url":"https://github.com/jonbarker68","imageURL":"https://github.com/jonbarker68.png","key":"jonbarker68","page":null},"l0u1sg":{"name":"Louis Gallet","alias":"l0u1sg","url":"https://github.com/l0u1sg","imageURL":"https://github.com/l0u1sg.png","key":"l0u1sg","page":null},"limkinZero":{"name":"Pablo Vidal","alias":"limkinZero","url":"https://github.com/limkinZero","imageURL":"https://github.com/limkinZero.png","key":"limkinZero","page":null},"liorheber":{"name":"Lior Heber","alias":"liorheber","url":"https://github.com/liorheber","imageURL":"https://github.com/liorheber.png","key":"liorheber","page":null},"louistiti":{"name":"Louis Grenard","alias":"louistiti","url":"https://github.com/louistiti","imageURL":"https://github.com/louistiti.png","key":"louistiti","page":null},"Massibian":{"name":"Massibian","alias":"Massibian","url":"https://github.com/Massibian","imageURL":"https://github.com/Massibian.png","key":"Massibian","page":null},"nam-hle":{"name":"Nam Hoang Le","alias":"nam-hle","url":"https://github.com/nam-hle","imageURL":"https://github.com/nam-hle.png","key":"nam-hle","page":null},"Neilblaze":{"name":"Pratyay Banerjee","alias":"Neilblaze","url":"https://github.com/Neilblaze","imageURL":"https://github.com/Neilblaze.png","key":"Neilblaze","page":null},"phwt":{"name":"phwt.smwt","alias":"phwt","url":"https://github.com/phwt","imageURL":"https://github.com/phwt.png","key":"phwt","page":null},"pmqueiroz":{"name":"Pedro Queiroz","alias":"pmqueiroz","url":"https://github.com/pmqueiroz","imageURL":"https://github.com/pmqueiroz.png","key":"pmqueiroz","page":null},"PsychTechApS":{"name":"PsychTech","alias":"PsychTechApS","url":"https://github.com/PsychTechApS","imageURL":"https://github.com/PsychTechApS.png","key":"PsychTechApS","page":null},"SamChou19815":{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},"silva-nick":{"name":"silva-nick","alias":"silva-nick","url":"https://github.com/silva-nick","imageURL":"https://github.com/silva-nick.png","key":"silva-nick","page":null},"tiny-dancer":{"name":"mg","alias":"tiny-dancer","url":"https://github.com/tiny-dancer","imageURL":"https://github.com/tiny-dancer.png","key":"tiny-dancer","page":null},"tsirlucas":{"name":"Lucas Correia","alias":"tsirlucas","url":"https://github.com/tsirlucas","imageURL":"https://github.com/tsirlucas.png","key":"tsirlucas","page":null},"wise-introvert":{"name":"Fardeen Panjwani","alias":"wise-introvert","url":"https://github.com/wise-introvert","imageURL":"https://github.com/wise-introvert.png","key":"wise-introvert","page":null},"ChrisOwen101":{"name":"Chris Owen","alias":"ChrisOwen101","url":"https://github.com/ChrisOwen101","imageURL":"https://github.com/ChrisOwen101.png","key":"ChrisOwen101","page":null},"gianu":{"name":"Sergio Rafael Gianazza","alias":"gianu","url":"https://github.com/gianu","imageURL":"https://github.com/gianu.png","key":"gianu","page":null},"joelhans":{"name":"Joel Hans","alias":"joelhans","url":"https://github.com/joelhans","imageURL":"https://github.com/joelhans.png","key":"joelhans","page":null},"KostyaTretyak":{"name":"\u041A\u043E\u0441\u0442\u044F \u0422\u0440\u0435\u0442\u044F\u043A","alias":"KostyaTretyak","url":"https://github.com/KostyaTretyak","imageURL":"https://github.com/KostyaTretyak.png","key":"KostyaTretyak","page":null},"rodmoreno":{"name":"Rodrigo Moreno","alias":"rodmoreno","url":"https://github.com/rodmoreno","imageURL":"https://github.com/rodmoreno.png","key":"rodmoreno","page":null},"yiliansource":{"name":"Ian Hornik","alias":"yiliansource","url":"https://github.com/yiliansource","imageURL":"https://github.com/yiliansource.png","key":"yiliansource","page":null},"gempain":{"name":"Geoffroy Empain","alias":"gempain","url":"https://github.com/gempain","imageURL":"https://github.com/gempain.png","key":"gempain","page":null},"tommy351":{"name":"Tommy Chen","alias":"tommy351","url":"https://github.com/tommy351","imageURL":"https://github.com/tommy351.png","key":"tommy351","page":null},"alena-ko":{"name":"alena-ko","alias":"alena-ko","url":"https://github.com/alena-ko","imageURL":"https://github.com/alena-ko.png","key":"alena-ko","page":null},"kazk":{"name":"kazk","alias":"kazk","url":"https://github.com/kazk","imageURL":"https://github.com/kazk.png","key":"kazk","page":null},"lisa761":{"name":"Lisa Chandra","alias":"lisa761","url":"https://github.com/lisa761","imageURL":"https://github.com/lisa761.png","key":"lisa761","page":null},"luism3861":{"name":"Luis Medina Huerta","alias":"luism3861","url":"https://github.com/luism3861","imageURL":"https://github.com/luism3861.png","key":"luism3861","page":null},"react-learner":{"name":"Tommy","alias":"react-learner","url":"https://github.com/react-learner","imageURL":"https://github.com/react-learner.png","key":"react-learner","page":null},"aehrea":{"name":"aehrea","alias":"aehrea","url":"https://github.com/aehrea","imageURL":"https://github.com/aehrea.png","key":"aehrea","page":null},"ajeetraina":{"name":"Ajeet Singh Raina, Docker Captain, RedisLabs","alias":"ajeetraina","url":"https://github.com/ajeetraina","imageURL":"https://github.com/ajeetraina.png","key":"ajeetraina","page":null},"akepecs":{"name":"akepecs","alias":"akepecs","url":"https://github.com/akepecs","imageURL":"https://github.com/akepecs.png","key":"akepecs","page":null},"AnthonyBobsin":{"name":"Anthony Bobsin","alias":"AnthonyBobsin","url":"https://github.com/AnthonyBobsin","imageURL":"https://github.com/AnthonyBobsin.png","key":"AnthonyBobsin","page":null},"arturcarvalho":{"name":"Artur Carvalho","alias":"arturcarvalho","url":"https://github.com/arturcarvalho","imageURL":"https://github.com/arturcarvalho.png","key":"arturcarvalho","page":null},"atomicpages":{"name":"Dennis Thompson","alias":"atomicpages","url":"https://github.com/atomicpages","imageURL":"https://github.com/atomicpages.png","key":"atomicpages","page":null},"clarus":{"name":"Guillaume Claret","alias":"clarus","url":"https://github.com/clarus","imageURL":"https://github.com/clarus.png","key":"clarus","page":null},"dickwyn":{"name":"Dick Wyn Yong","alias":"dickwyn","url":"https://github.com/dickwyn","imageURL":"https://github.com/dickwyn.png","key":"dickwyn","page":null},"Foxeye-Rinx":{"name":"Foxeye-Rinx","alias":"Foxeye-Rinx","url":"https://github.com/Foxeye-Rinx","imageURL":"https://github.com/Foxeye-Rinx.png","key":"Foxeye-Rinx","page":null},"gitbrent":{"name":"Brent Ely","alias":"gitbrent","url":"https://github.com/gitbrent","imageURL":"https://github.com/gitbrent.png","key":"gitbrent","page":null},"gumacahin":{"name":"Marco Enrico","alias":"gumacahin","url":"https://github.com/gumacahin","imageURL":"https://github.com/gumacahin.png","key":"gumacahin","page":null},"jknoxville":{"name":"John Knox","alias":"jknoxville","url":"https://github.com/jknoxville","imageURL":"https://github.com/jknoxville.png","key":"jknoxville","page":null},"kaytwo":{"name":"Chris Kanich","alias":"kaytwo","url":"https://github.com/kaytwo","imageURL":"https://github.com/kaytwo.png","key":"kaytwo","page":null},"lucalves":{"name":"Lucas Alves","alias":"lucalves","url":"https://github.com/lucalves","imageURL":"https://github.com/lucalves.png","key":"lucalves","page":null},"miku86":{"name":"miku86","alias":"miku86","url":"https://github.com/miku86","imageURL":"https://github.com/miku86.png","key":"miku86","page":null},"pepibumur":{"name":"Pedro Pi\xf1era Buend\xeda","alias":"pepibumur","url":"https://github.com/pepibumur","imageURL":"https://github.com/pepibumur.png","key":"pepibumur","page":null},"serut":{"name":"serut","alias":"serut","url":"https://github.com/serut","imageURL":"https://github.com/serut.png","key":"serut","page":null},"ShinteiMai":{"name":"Steven Hansel","alias":"ShinteiMai","url":"https://github.com/ShinteiMai","imageURL":"https://github.com/ShinteiMai.png","key":"ShinteiMai","page":null},"steveworley":{"name":"Steve","alias":"steveworley","url":"https://github.com/steveworley","imageURL":"https://github.com/steveworley.png","key":"steveworley","page":null},"sunny0826":{"name":"guoxudong","alias":"sunny0826","url":"https://github.com/sunny0826","imageURL":"https://github.com/sunny0826.png","key":"sunny0826","page":null},"talesporto":{"name":"Tales Porto","alias":"talesporto","url":"https://github.com/talesporto","imageURL":"https://github.com/talesporto.png","key":"talesporto","page":null},"thiagog3":{"name":"Thiago Sciotta","alias":"thiagog3","url":"https://github.com/thiagog3","imageURL":"https://github.com/thiagog3.png","key":"thiagog3","page":null},"tiago-rr":{"name":"Tiago Ribeiro","alias":"tiago-rr","url":"https://github.com/tiago-rr","imageURL":"https://github.com/tiago-rr.png","key":"tiago-rr","page":null},"tomrav":{"name":"Tom Raviv","alias":"tomrav","url":"https://github.com/tomrav","imageURL":"https://github.com/tomrav.png","key":"tomrav","page":null},"tony":{"name":"Tony Narlock","alias":"tony","url":"https://github.com/tony","imageURL":"https://github.com/tony.png","key":"tony","page":null},"Harvtronix":{"name":"Harvtronix","alias":"Harvtronix","url":"https://github.com/Harvtronix","imageURL":"https://github.com/Harvtronix.png","key":"Harvtronix","page":null},"koko8829":{"name":"Joon-Ha Lee","alias":"koko8829","url":"https://github.com/koko8829","imageURL":"https://github.com/koko8829.png","key":"koko8829","page":null},"leandrooriente":{"name":"Leandro Oriente","alias":"leandrooriente","url":"https://github.com/leandrooriente","imageURL":"https://github.com/leandrooriente.png","key":"leandrooriente","page":null},"longlho":{"name":"Long Ho","alias":"longlho","url":"https://github.com/longlho","imageURL":"https://github.com/longlho.png","key":"longlho","page":null},"lowenhere":{"name":"Lowen","alias":"lowenhere","url":"https://github.com/lowenhere","imageURL":"https://github.com/lowenhere.png","key":"lowenhere","page":null},"quanengineering":{"name":"Quan","alias":"quanengineering","url":"https://github.com/quanengineering","imageURL":"https://github.com/quanengineering.png","key":"quanengineering","page":null},"Rhodanthe1116":{"name":"Rhodanthe1116","alias":"Rhodanthe1116","url":"https://github.com/Rhodanthe1116","imageURL":"https://github.com/Rhodanthe1116.png","key":"Rhodanthe1116","page":null},"zkochan":{"name":"Zoltan Kochan","alias":"zkochan","url":"https://github.com/zkochan","imageURL":"https://github.com/zkochan.png","key":"zkochan","page":null},"9oelM":{"name":"Joel M","alias":"9oelM","url":"https://github.com/9oelM","imageURL":"https://github.com/9oelM.png","key":"9oelM","page":null},"apurvaojas":{"name":"Apurva Ojas","alias":"apurvaojas","url":"https://github.com/apurvaojas","imageURL":"https://github.com/apurvaojas.png","key":"apurvaojas","page":null},"asystentka-jolka":{"name":"Jola","alias":"asystentka-jolka","url":"https://github.com/asystentka-jolka","imageURL":"https://github.com/asystentka-jolka.png","key":"asystentka-jolka","page":null},"aukokyong":{"name":"aukokyong","alias":"aukokyong","url":"https://github.com/aukokyong","imageURL":"https://github.com/aukokyong.png","key":"aukokyong","page":null},"ayonious":{"name":"Nahiyan Kamal","alias":"ayonious","url":"https://github.com/ayonious","imageURL":"https://github.com/ayonious.png","key":"ayonious","page":null},"B4nan":{"name":"Martin Ad\xe1mek","alias":"B4nan","url":"https://github.com/B4nan","imageURL":"https://github.com/B4nan.png","key":"B4nan","page":null},"ben-qnimble":{"name":"Ben","alias":"ben-qnimble","url":"https://github.com/ben-qnimble","imageURL":"https://github.com/ben-qnimble.png","key":"ben-qnimble","page":null},"bennodev19":{"name":"BennoDev","alias":"bennodev19","url":"https://github.com/bennodev19","imageURL":"https://github.com/bennodev19.png","key":"bennodev19","page":null},"caglarturali":{"name":"\xc7a\u011Flar Tural\u0131","alias":"caglarturali","url":"https://github.com/caglarturali","imageURL":"https://github.com/caglarturali.png","key":"caglarturali","page":null},"christian-bromann":{"name":"Christian Bromann","alias":"christian-bromann","url":"https://github.com/christian-bromann","imageURL":"https://github.com/christian-bromann.png","key":"christian-bromann","page":null},"edulazaro":{"name":"Eduardo L\xe1zaro","alias":"edulazaro","url":"https://github.com/edulazaro","imageURL":"https://github.com/edulazaro.png","key":"edulazaro","page":null},"eric-hc":{"name":"Eric Carboni","alias":"eric-hc","url":"https://github.com/eric-hc","imageURL":"https://github.com/eric-hc.png","key":"eric-hc","page":null},"iamshadmirza":{"name":"Mohd Shad Mirza","alias":"iamshadmirza","url":"https://github.com/iamshadmirza","imageURL":"https://github.com/iamshadmirza.png","key":"iamshadmirza","page":null},"imbhargav5":{"name":"Bhargav Ponnapalli","alias":"imbhargav5","url":"https://github.com/imbhargav5","imageURL":"https://github.com/imbhargav5.png","key":"imbhargav5","page":null},"iruzevic":{"name":"Ivan Ru\u017Eevi\u0107","alias":"iruzevic","url":"https://github.com/iruzevic","imageURL":"https://github.com/iruzevic.png","key":"iruzevic","page":null},"jlin27":{"name":"Jessica Lin","alias":"jlin27","url":"https://github.com/jlin27","imageURL":"https://github.com/jlin27.png","key":"jlin27","page":null},"JoelMarcey":{"name":"Joel Marcey","alias":"JoelMarcey","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","key":"JoelMarcey","page":null},"juancarlosjr97":{"name":"Juan Carlos Blanco Delgado","alias":"juancarlosjr97","url":"https://github.com/juancarlosjr97","imageURL":"https://github.com/juancarlosjr97.png","key":"juancarlosjr97","page":null},"kumaraditya303":{"name":"Kumar Aditya","alias":"kumaraditya303","url":"https://github.com/kumaraditya303","imageURL":"https://github.com/kumaraditya303.png","key":"kumaraditya303","page":null},"linyuxuanlin":{"name":"Power Lin","alias":"linyuxuanlin","url":"https://github.com/linyuxuanlin","imageURL":"https://github.com/linyuxuanlin.png","key":"linyuxuanlin","page":null},"manzinello":{"name":"Matteo Manzinello","alias":"manzinello","url":"https://github.com/manzinello","imageURL":"https://github.com/manzinello.png","key":"manzinello","page":null},"MatanBobi":{"name":"Matan Borenkraout","alias":"MatanBobi","url":"https://github.com/MatanBobi","imageURL":"https://github.com/MatanBobi.png","key":"MatanBobi","page":null},"miroiu":{"name":"Miroiu Emanuel","alias":"miroiu","url":"https://github.com/miroiu","imageURL":"https://github.com/miroiu.png","key":"miroiu","page":null},"natac13":{"name":"Sean Campbell","alias":"natac13","url":"https://github.com/natac13","imageURL":"https://github.com/natac13.png","key":"natac13","page":null},"nicojs":{"name":"Nico Jansen","alias":"nicojs","url":"https://github.com/nicojs","imageURL":"https://github.com/nicojs.png","key":"nicojs","page":null},"NikolayS":{"name":"Nikolay Samokhvalov","alias":"NikolayS","url":"https://github.com/NikolayS","imageURL":"https://github.com/NikolayS.png","key":"NikolayS","page":null},"ntbosscher":{"name":"Nathan Bosscher","alias":"ntbosscher","url":"https://github.com/ntbosscher","imageURL":"https://github.com/ntbosscher.png","key":"ntbosscher","page":null},"oze4":{"name":"Matt Oestreich","alias":"oze4","url":"https://github.com/oze4","imageURL":"https://github.com/oze4.png","key":"oze4","page":null},"saihaj":{"name":"Saihajpreet Singh","alias":"saihaj","url":"https://github.com/saihaj","imageURL":"https://github.com/saihaj.png","key":"saihaj","page":null},"samhrncir":{"name":"Sam Hrncir","alias":"samhrncir","url":"https://github.com/samhrncir","imageURL":"https://github.com/samhrncir.png","key":"samhrncir","page":null},"sammychinedu2ky":{"name":"sammychinedu2ky","alias":"sammychinedu2ky","url":"https://github.com/sammychinedu2ky","imageURL":"https://github.com/sammychinedu2ky.png","key":"sammychinedu2ky","page":null},"saydo17":{"name":"saydo17","alias":"saydo17","url":"https://github.com/saydo17","imageURL":"https://github.com/saydo17.png","key":"saydo17","page":null},"Siemienik":{"name":"Siemienik Pawel","alias":"Siemienik","url":"https://github.com/Siemienik","imageURL":"https://github.com/Siemienik.png","key":"Siemienik","page":null},"Simek":{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},"sksamuel":{"name":"Sam Sam","alias":"sksamuel","url":"https://github.com/sksamuel","imageURL":"https://github.com/sksamuel.png","key":"sksamuel","page":null},"theankurkedia":{"name":"Ankur Kedia","alias":"theankurkedia","url":"https://github.com/theankurkedia","imageURL":"https://github.com/theankurkedia.png","key":"theankurkedia","page":null},"TheodoreChu":{"name":"Theodore Chu","alias":"TheodoreChu","url":"https://github.com/TheodoreChu","imageURL":"https://github.com/TheodoreChu.png","key":"TheodoreChu","page":null},"tienvx":{"name":"Tien Vo Xuan","alias":"tienvx","url":"https://github.com/tienvx","imageURL":"https://github.com/tienvx.png","key":"tienvx","page":null},"tokarchyn":{"name":"tokarchyn","alias":"tokarchyn","url":"https://github.com/tokarchyn","imageURL":"https://github.com/tokarchyn.png","key":"tokarchyn","page":null},"tomsfernandez":{"name":"Tomas Fernandez","alias":"tomsfernandez","url":"https://github.com/tomsfernandez","imageURL":"https://github.com/tomsfernandez.png","key":"tomsfernandez","page":null},"vamsi3":{"name":"Vamsi Krishna Reddy Satti","alias":"vamsi3","url":"https://github.com/vamsi3","imageURL":"https://github.com/vamsi3.png","key":"vamsi3","page":null},"viglucci":{"name":"Kevin Viglucci","alias":"viglucci","url":"https://github.com/viglucci","imageURL":"https://github.com/viglucci.png","key":"viglucci","page":null},"wellyshen":{"name":"Welly","alias":"wellyshen","url":"https://github.com/wellyshen","imageURL":"https://github.com/wellyshen.png","key":"wellyshen","page":null},"wolf20482":{"name":"wolf20482","alias":"wolf20482","url":"https://github.com/wolf20482","imageURL":"https://github.com/wolf20482.png","key":"wolf20482","page":null},"YashTotale":{"name":"Yash Totale","alias":"YashTotale","url":"https://github.com/YashTotale","imageURL":"https://github.com/YashTotale.png","key":"YashTotale","page":null},"ykzts":{"name":"Yamagishi Kazutoshi","alias":"ykzts","url":"https://github.com/ykzts","imageURL":"https://github.com/ykzts.png","key":"ykzts","page":null},"ysulyma":{"name":"Yuri Sulyma","alias":"ysulyma","url":"https://github.com/ysulyma","imageURL":"https://github.com/ysulyma.png","key":"ysulyma","page":null},"yuval-hazaz":{"name":"Yuval Hazaz","alias":"yuval-hazaz","url":"https://github.com/yuval-hazaz","imageURL":"https://github.com/yuval-hazaz.png","key":"yuval-hazaz","page":null},"aarongarciah":{"name":"Aar\xf3n Garc\xeda Herv\xe1s","alias":"aarongarciah","url":"https://github.com/aarongarciah","imageURL":"https://github.com/aarongarciah.png","key":"aarongarciah","page":null},"aeneasr":{"name":"hackerman","alias":"aeneasr","url":"https://github.com/aeneasr","imageURL":"https://github.com/aeneasr.png","key":"aeneasr","page":null},"Alex1304":{"name":"Alex1304","alias":"Alex1304","url":"https://github.com/Alex1304","imageURL":"https://github.com/Alex1304.png","key":"Alex1304","page":null},"borool":{"name":"borool","alias":"borool","url":"https://github.com/borool","imageURL":"https://github.com/borool.png","key":"borool","page":null},"cindygu4":{"name":"Cindy Gu","alias":"cindygu4","url":"https://github.com/cindygu4","imageURL":"https://github.com/cindygu4.png","key":"cindygu4","page":null},"davidmauskop":{"name":"davidmauskop","alias":"davidmauskop","url":"https://github.com/davidmauskop","imageURL":"https://github.com/davidmauskop.png","key":"davidmauskop","page":null},"dgilling":{"name":"Derric Gilling","alias":"dgilling","url":"https://github.com/dgilling","imageURL":"https://github.com/dgilling.png","key":"dgilling","page":null},"francoischalifour":{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},"hmil":{"name":"Hadrien Milano","alias":"hmil","url":"https://github.com/hmil","imageURL":"https://github.com/hmil.png","key":"hmil","page":null},"LoicPoullain":{"name":"Lo\xefc Poullain","alias":"LoicPoullain","url":"https://github.com/LoicPoullain","imageURL":"https://github.com/LoicPoullain.png","key":"LoicPoullain","page":null},"matijaSos":{"name":"Matija Sosic","alias":"matijaSos","url":"https://github.com/matijaSos","imageURL":"https://github.com/matijaSos.png","key":"matijaSos","page":null},"mpsq":{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},"Romstar":{"name":"Rami","alias":"Romstar","url":"https://github.com/Romstar","imageURL":"https://github.com/Romstar.png","key":"Romstar","page":null},"sarthakkundra":{"name":"Sarthak kundra","alias":"sarthakkundra","url":"https://github.com/sarthakkundra","imageURL":"https://github.com/sarthakkundra.png","key":"sarthakkundra","page":null},"sivaraam":{"name":"Kaartic Sivaraam","alias":"sivaraam","url":"https://github.com/sivaraam","imageURL":"https://github.com/sivaraam.png","key":"sivaraam","page":null},"Varshit07":{"name":"Varshit Shah","alias":"Varshit07","url":"https://github.com/Varshit07","imageURL":"https://github.com/Varshit07.png","key":"Varshit07","page":null},"woodrufs":{"name":"Stephen Woodruff","alias":"woodrufs","url":"https://github.com/woodrufs","imageURL":"https://github.com/woodrufs.png","key":"woodrufs","page":null},"arcanis":{"name":"Ma\xebl Nison","alias":"arcanis","url":"https://github.com/arcanis","imageURL":"https://github.com/arcanis.png","key":"arcanis","page":null},"camiluc":{"name":"camiluc","alias":"camiluc","url":"https://github.com/camiluc","imageURL":"https://github.com/camiluc.png","key":"camiluc","page":null},"AmyrAhmady":{"name":"iAmir","alias":"AmyrAhmady","url":"https://github.com/AmyrAhmady","imageURL":"https://github.com/AmyrAhmady.png","key":"AmyrAhmady","page":null},"belemaire":{"name":"Beno\xeet Lemaire","alias":"belemaire","url":"https://github.com/belemaire","imageURL":"https://github.com/belemaire.png","key":"belemaire","page":null},"davidjgoss":{"name":"David Goss","alias":"davidjgoss","url":"https://github.com/davidjgoss","imageURL":"https://github.com/davidjgoss.png","key":"davidjgoss","page":null},"egbobright":{"name":"Bright Egbo","alias":"egbobright","url":"https://github.com/egbobright","imageURL":"https://github.com/egbobright.png","key":"egbobright","page":null},"haivp3010":{"name":"Hai","alias":"haivp3010","url":"https://github.com/haivp3010","imageURL":"https://github.com/haivp3010.png","key":"haivp3010","page":null},"hong4rc":{"name":"Anh Hong","alias":"hong4rc","url":"https://github.com/hong4rc","imageURL":"https://github.com/hong4rc.png","key":"hong4rc","page":null},"jcs98":{"name":"Jainam Chirag Shah","alias":"jcs98","url":"https://github.com/jcs98","imageURL":"https://github.com/jcs98.png","key":"jcs98","page":null},"ka1bi4":{"name":"Roman Bug","alias":"ka1bi4","url":"https://github.com/ka1bi4","imageURL":"https://github.com/ka1bi4.png","key":"ka1bi4","page":null},"kenve":{"name":"kenve","alias":"kenve","url":"https://github.com/kenve","imageURL":"https://github.com/kenve.png","key":"kenve","page":null},"nategiraudeau":{"name":"Nate Giraudeau","alias":"nategiraudeau","url":"https://github.com/nategiraudeau","imageURL":"https://github.com/nategiraudeau.png","key":"nategiraudeau","page":null},"ndom91":{"name":"Nico Domino","alias":"ndom91","url":"https://github.com/ndom91","imageURL":"https://github.com/ndom91.png","key":"ndom91","page":null},"rarkins":{"name":"Rhys Arkins","alias":"rarkins","url":"https://github.com/rarkins","imageURL":"https://github.com/rarkins.png","key":"rarkins","page":null},"sigewuzhere":{"name":"Gergely Sinka","alias":"sigewuzhere","url":"https://github.com/sigewuzhere","imageURL":"https://github.com/sigewuzhere.png","key":"sigewuzhere","page":null},"smcelhinney":{"name":"Stephen McElhinney","alias":"smcelhinney","url":"https://github.com/smcelhinney","imageURL":"https://github.com/smcelhinney.png","key":"smcelhinney","page":null},"ThakurKarthik":{"name":"Thakur Karthik","alias":"ThakurKarthik","url":"https://github.com/ThakurKarthik","imageURL":"https://github.com/ThakurKarthik.png","key":"ThakurKarthik","page":null},"vanbasten17":{"name":"Marc Rabat Pla","alias":"vanbasten17","url":"https://github.com/vanbasten17","imageURL":"https://github.com/vanbasten17.png","key":"vanbasten17","page":null},"weareoutman":{"name":"Shenwei Wang","alias":"weareoutman","url":"https://github.com/weareoutman","imageURL":"https://github.com/weareoutman.png","key":"weareoutman","page":null},"ylemkimon":{"name":"ylemkimon","alias":"ylemkimon","url":"https://github.com/ylemkimon","imageURL":"https://github.com/ylemkimon.png","key":"ylemkimon","page":null},"aakhtar3":{"name":"aakhtar3","alias":"aakhtar3","url":"https://github.com/aakhtar3","imageURL":"https://github.com/aakhtar3.png","key":"aakhtar3","page":null},"abhishektiwari":{"name":"Abhishek Tiwari","alias":"abhishektiwari","url":"https://github.com/abhishektiwari","imageURL":"https://github.com/abhishektiwari.png","key":"abhishektiwari","page":null},"fanny":{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},"honlyHuang":{"name":"honlyHuang","alias":"honlyHuang","url":"https://github.com/honlyHuang","imageURL":"https://github.com/honlyHuang.png","key":"honlyHuang","page":null},"imskr":{"name":"Shubham Kumar","alias":"imskr","url":"https://github.com/imskr","imageURL":"https://github.com/imskr.png","key":"imskr","page":null},"jagracey":{"name":"John Gracey","alias":"jagracey","url":"https://github.com/jagracey","imageURL":"https://github.com/jagracey.png","key":"jagracey","page":null},"russtaylor":{"name":"Russ Taylor","alias":"russtaylor","url":"https://github.com/russtaylor","imageURL":"https://github.com/russtaylor.png","key":"russtaylor","page":null},"saintmalik":{"name":"SaintMalik","alias":"saintmalik","url":"https://github.com/saintmalik","imageURL":"https://github.com/saintmalik.png","key":"saintmalik","page":null},"shubhamzanwar":{"name":"Shubham Zanwar","alias":"shubhamzanwar","url":"https://github.com/shubhamzanwar","imageURL":"https://github.com/shubhamzanwar.png","key":"shubhamzanwar","page":null},"UmairKamran":{"name":"Umair Kamran","alias":"UmairKamran","url":"https://github.com/UmairKamran","imageURL":"https://github.com/UmairKamran.png","key":"UmairKamran","page":null},"utkarsh867":{"name":"Utkarsh Goel","alias":"utkarsh867","url":"https://github.com/utkarsh867","imageURL":"https://github.com/utkarsh867.png","key":"utkarsh867","page":null},"abadon7":{"name":"Henry V\xe9lez","alias":"abadon7","url":"https://github.com/abadon7","imageURL":"https://github.com/abadon7.png","key":"abadon7","page":null},"anru":{"name":"Andrey Rublev","alias":"anru","url":"https://github.com/anru","imageURL":"https://github.com/anru.png","key":"anru","page":null},"ayshiff":{"name":"R\xe9mi Doreau","alias":"ayshiff","url":"https://github.com/ayshiff","imageURL":"https://github.com/ayshiff.png","key":"ayshiff","page":null},"jeremyhager":{"name":"Jeremy Hager","alias":"jeremyhager","url":"https://github.com/jeremyhager","imageURL":"https://github.com/jeremyhager.png","key":"jeremyhager","page":null},"muskanvk":{"name":"Muskan Kumar","alias":"muskanvk","url":"https://github.com/muskanvk","imageURL":"https://github.com/muskanvk.png","key":"muskanvk","page":null},"timgates42":{"name":"Tim Gates","alias":"timgates42","url":"https://github.com/timgates42","imageURL":"https://github.com/timgates42.png","key":"timgates42","page":null},"ashscodes":{"name":"Ash","alias":"ashscodes","url":"https://github.com/ashscodes","imageURL":"https://github.com/ashscodes.png","key":"ashscodes","page":null},"josephMG":{"name":"josephMG","alias":"josephMG","url":"https://github.com/josephMG","imageURL":"https://github.com/josephMG.png","key":"josephMG","page":null},"rutikwankhade":{"name":"Rutik Wankhade","alias":"rutikwankhade","url":"https://github.com/rutikwankhade","imageURL":"https://github.com/rutikwankhade.png","key":"rutikwankhade","page":null},"samsisle":{"name":"Sam Ko","alias":"samsisle","url":"https://github.com/samsisle","imageURL":"https://github.com/samsisle.png","key":"samsisle","page":null},"adinaja":{"name":"adinaja","alias":"adinaja","url":"https://github.com/adinaja","imageURL":"https://github.com/adinaja.png","key":"adinaja","page":null},"ajifrank75":{"name":"Franklyn Chisom","alias":"ajifrank75","url":"https://github.com/ajifrank75","imageURL":"https://github.com/ajifrank75.png","key":"ajifrank75","page":null},"Ako92":{"name":"Ali Hosseini","alias":"Ako92","url":"https://github.com/Ako92","imageURL":"https://github.com/Ako92.png","key":"Ako92","page":null},"amy-lei":{"name":"Amy Lei","alias":"amy-lei","url":"https://github.com/amy-lei","imageURL":"https://github.com/amy-lei.png","key":"amy-lei","page":null},"anshulrgoyal":{"name":"Anshul Goyal","alias":"anshulrgoyal","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","key":"anshulrgoyal","page":null},"arcvats":{"name":"Archit","alias":"arcvats","url":"https://github.com/arcvats","imageURL":"https://github.com/arcvats.png","key":"arcvats","page":null},"arthur-flam":{"name":"Arthur Flam","alias":"arthur-flam","url":"https://github.com/arthur-flam","imageURL":"https://github.com/arthur-flam.png","key":"arthur-flam","page":null},"BogdanDor":{"name":"Bogdan Doroschenko","alias":"BogdanDor","url":"https://github.com/BogdanDor","imageURL":"https://github.com/BogdanDor.png","key":"BogdanDor","page":null},"boosh511":{"name":"alex busnelli","alias":"boosh511","url":"https://github.com/boosh511","imageURL":"https://github.com/boosh511.png","key":"boosh511","page":null},"Danon":{"name":"Daniel Wilkowski","alias":"Danon","url":"https://github.com/Danon","imageURL":"https://github.com/Danon.png","key":"Danon","page":null},"Drewbi":{"name":"Drew Alexander","alias":"Drewbi","url":"https://github.com/Drewbi","imageURL":"https://github.com/Drewbi.png","key":"Drewbi","page":null},"dschaller":{"name":"Derek","alias":"dschaller","url":"https://github.com/dschaller","imageURL":"https://github.com/dschaller.png","key":"dschaller","page":null},"FocalChord":{"name":"Nisarag","alias":"FocalChord","url":"https://github.com/FocalChord","imageURL":"https://github.com/FocalChord.png","key":"FocalChord","page":null},"govardhan-srinivas":{"name":"Govardhan Srinivas","alias":"govardhan-srinivas","url":"https://github.com/govardhan-srinivas","imageURL":"https://github.com/govardhan-srinivas.png","key":"govardhan-srinivas","page":null},"hsluoyz":{"name":"Yang Luo","alias":"hsluoyz","url":"https://github.com/hsluoyz","imageURL":"https://github.com/hsluoyz.png","key":"hsluoyz","page":null},"JeanMarcSaad":{"name":"Jean-Marc Saad","alias":"JeanMarcSaad","url":"https://github.com/JeanMarcSaad","imageURL":"https://github.com/JeanMarcSaad.png","key":"JeanMarcSaad","page":null},"JohnnyCrazy":{"name":"Jonas Dellinger","alias":"JohnnyCrazy","url":"https://github.com/JohnnyCrazy","imageURL":"https://github.com/JohnnyCrazy.png","key":"JohnnyCrazy","page":null},"Jonathannsegal":{"name":"Jonathan","alias":"Jonathannsegal","url":"https://github.com/Jonathannsegal","imageURL":"https://github.com/Jonathannsegal.png","key":"Jonathannsegal","page":null},"lebogangolifant":{"name":"lebogang Olifant","alias":"lebogangolifant","url":"https://github.com/lebogangolifant","imageURL":"https://github.com/lebogangolifant.png","key":"lebogangolifant","page":null},"leoigel":{"name":"leoigel","alias":"leoigel","url":"https://github.com/leoigel","imageURL":"https://github.com/leoigel.png","key":"leoigel","page":null},"mecm1993":{"name":"Manuel Cepeda","alias":"mecm1993","url":"https://github.com/mecm1993","imageURL":"https://github.com/mecm1993.png","key":"mecm1993","page":null},"MirzayevFarid":{"name":"Mirzayev Farid","alias":"MirzayevFarid","url":"https://github.com/MirzayevFarid","imageURL":"https://github.com/MirzayevFarid.png","key":"MirzayevFarid","page":null},"nebrelbug":{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},"olawanlejoel":{"name":"Olawanle Joel","alias":"olawanlejoel","url":"https://github.com/olawanlejoel","imageURL":"https://github.com/olawanlejoel.png","key":"olawanlejoel","page":null},"orta":{"name":"Orta Therox","alias":"orta","url":"https://github.com/orta","imageURL":"https://github.com/orta.png","key":"orta","page":null},"shalinikumari50":{"name":"shalinikumari50","alias":"shalinikumari50","url":"https://github.com/shalinikumari50","imageURL":"https://github.com/shalinikumari50.png","key":"shalinikumari50","page":null},"Souravdey777":{"name":"Sourav Dey","alias":"Souravdey777","url":"https://github.com/Souravdey777","imageURL":"https://github.com/Souravdey777.png","key":"Souravdey777","page":null},"thehanimo":{"name":"Hani Mohammed","alias":"thehanimo","url":"https://github.com/thehanimo","imageURL":"https://github.com/thehanimo.png","key":"thehanimo","page":null},"tolunayakbulut":{"name":"Tolunay Akbulut","alias":"tolunayakbulut","url":"https://github.com/tolunayakbulut","imageURL":"https://github.com/tolunayakbulut.png","key":"tolunayakbulut","page":null},"Vinnl":{"name":"Vincent","alias":"Vinnl","url":"https://github.com/Vinnl","imageURL":"https://github.com/Vinnl.png","key":"Vinnl","page":null},"BuckyMaler":{"name":"Bucky Maler","alias":"BuckyMaler","url":"https://github.com/BuckyMaler","imageURL":"https://github.com/BuckyMaler.png","key":"BuckyMaler","page":null},"mdfaizan7":{"name":"Faizan","alias":"mdfaizan7","url":"https://github.com/mdfaizan7","imageURL":"https://github.com/mdfaizan7.png","key":"mdfaizan7","page":null},"hobadams":{"name":"Hob Adams","alias":"hobadams","url":"https://github.com/hobadams","imageURL":"https://github.com/hobadams.png","key":"hobadams","page":null},"aladin002dz":{"name":"Mahfoudh Arous","alias":"aladin002dz","url":"https://github.com/aladin002dz","imageURL":"https://github.com/aladin002dz.png","key":"aladin002dz","page":null},"aldeed":{"name":"Eric Dobbertin","alias":"aldeed","url":"https://github.com/aldeed","imageURL":"https://github.com/aldeed.png","key":"aldeed","page":null},"amirulahmad":{"name":"Amirul Ahmad","alias":"amirulahmad","url":"https://github.com/amirulahmad","imageURL":"https://github.com/amirulahmad.png","key":"amirulahmad","page":null},"ayan-b":{"name":"Ayan Banerjee","alias":"ayan-b","url":"https://github.com/ayan-b","imageURL":"https://github.com/ayan-b.png","key":"ayan-b","page":null},"codemonkey800":{"name":"Jeremy Asuncion","alias":"codemonkey800","url":"https://github.com/codemonkey800","imageURL":"https://github.com/codemonkey800.png","key":"codemonkey800","page":null},"danielhochman":{"name":"Daniel Hochman","alias":"danielhochman","url":"https://github.com/danielhochman","imageURL":"https://github.com/danielhochman.png","key":"danielhochman","page":null},"dpkg":{"name":"Deepak Giri","alias":"dpkg","url":"https://github.com/dpkg","imageURL":"https://github.com/dpkg.png","key":"dpkg","page":null},"ehsanjso":{"name":"ehsan jso","alias":"ehsanjso","url":"https://github.com/ehsanjso","imageURL":"https://github.com/ehsanjso.png","key":"ehsanjso","page":null},"eKhattak":{"name":"Arsalan Khattak","alias":"eKhattak","url":"https://github.com/eKhattak","imageURL":"https://github.com/eKhattak.png","key":"eKhattak","page":null},"hi-matbub":{"name":"matbub","alias":"hi-matbub","url":"https://github.com/hi-matbub","imageURL":"https://github.com/hi-matbub.png","key":"hi-matbub","page":null},"jordanliu":{"name":"Jordan Liu","alias":"jordanliu","url":"https://github.com/jordanliu","imageURL":"https://github.com/jordanliu.png","key":"jordanliu","page":null},"pcowgill":{"name":"Paul Cowgill","alias":"pcowgill","url":"https://github.com/pcowgill","imageURL":"https://github.com/pcowgill.png","key":"pcowgill","page":null},"svtfrida":{"name":"Frida Hjelm","alias":"svtfrida","url":"https://github.com/svtfrida","imageURL":"https://github.com/svtfrida.png","key":"svtfrida","page":null},"taylorallen0913":{"name":"Taylor Allen","alias":"taylorallen0913","url":"https://github.com/taylorallen0913","imageURL":"https://github.com/taylorallen0913.png","key":"taylorallen0913","page":null},"xtellurian":{"name":"Rian Finnegan","alias":"xtellurian","url":"https://github.com/xtellurian","imageURL":"https://github.com/xtellurian.png","key":"xtellurian","page":null},"belokonm":{"name":"belokonm","alias":"belokonm","url":"https://github.com/belokonm","imageURL":"https://github.com/belokonm.png","key":"belokonm","page":null},"guillaumejacquart":{"name":"Guillaume Jacquart","alias":"guillaumejacquart","url":"https://github.com/guillaumejacquart","imageURL":"https://github.com/guillaumejacquart.png","key":"guillaumejacquart","page":null},"jsjoeio":{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},"Nishikoh":{"name":"Koki Nishihara","alias":"Nishikoh","url":"https://github.com/Nishikoh","imageURL":"https://github.com/Nishikoh.png","key":"Nishikoh","page":null},"pglezen":{"name":"Paul Glezen","alias":"pglezen","url":"https://github.com/pglezen","imageURL":"https://github.com/pglezen.png","key":"pglezen","page":null},"tetunori":{"name":"tetunori","alias":"tetunori","url":"https://github.com/tetunori","imageURL":"https://github.com/tetunori.png","key":"tetunori","page":null},"TomBrien":{"name":"Tom Brien","alias":"TomBrien","url":"https://github.com/TomBrien","imageURL":"https://github.com/TomBrien.png","key":"TomBrien","page":null},"jmcshane":{"name":"James McShane","alias":"jmcshane","url":"https://github.com/jmcshane","imageURL":"https://github.com/jmcshane.png","key":"jmcshane","page":null},"kasperp":{"name":"Kasper B\xf8gebjerg Pedersen","alias":"kasperp","url":"https://github.com/kasperp","imageURL":"https://github.com/kasperp.png","key":"kasperp","page":null},"mrmuhammadali":{"name":"Muhammad Ali","alias":"mrmuhammadali","url":"https://github.com/mrmuhammadali","imageURL":"https://github.com/mrmuhammadali.png","key":"mrmuhammadali","page":null},"piotros":{"name":"Piotr Baran","alias":"piotros","url":"https://github.com/piotros","imageURL":"https://github.com/piotros.png","key":"piotros","page":null},"s-pace":{"name":"Sylvain Pace","alias":"s-pace","url":"https://github.com/s-pace","imageURL":"https://github.com/s-pace.png","key":"s-pace","page":null},"iamrajiv":{"name":"Rajiv Singh","alias":"iamrajiv","url":"https://github.com/iamrajiv","imageURL":"https://github.com/iamrajiv.png","key":"iamrajiv","page":null},"jcomack":{"name":"Jimmy","alias":"jcomack","url":"https://github.com/jcomack","imageURL":"https://github.com/jcomack.png","key":"jcomack","page":null},"jdeniau":{"name":"Julien Deniau","alias":"jdeniau","url":"https://github.com/jdeniau","imageURL":"https://github.com/jdeniau.png","key":"jdeniau","page":null},"jonnynabors":{"name":"Jonny Nabors","alias":"jonnynabors","url":"https://github.com/jonnynabors","imageURL":"https://github.com/jonnynabors.png","key":"jonnynabors","page":null},"marcosvega91":{"name":"Marco Moretti","alias":"marcosvega91","url":"https://github.com/marcosvega91","imageURL":"https://github.com/marcosvega91.png","key":"marcosvega91","page":null},"AnayoOleru":{"name":"Anayo Oleru","alias":"AnayoOleru","url":"https://github.com/AnayoOleru","imageURL":"https://github.com/AnayoOleru.png","key":"AnayoOleru","page":null},"jaylees14":{"name":"Jay Lees","alias":"jaylees14","url":"https://github.com/jaylees14","imageURL":"https://github.com/jaylees14.png","key":"jaylees14","page":null},"JoseRenan":{"name":"Jos\xe9 Renan","alias":"JoseRenan","url":"https://github.com/JoseRenan","imageURL":"https://github.com/JoseRenan.png","key":"JoseRenan","page":null},"kamilkisiela":{"name":"Kamil Kisiela","alias":"kamilkisiela","url":"https://github.com/kamilkisiela","imageURL":"https://github.com/kamilkisiela.png","key":"kamilkisiela","page":null},"kripod":{"name":"Krist\xf3f Poduszl\xf3","alias":"kripod","url":"https://github.com/kripod","imageURL":"https://github.com/kripod.png","key":"kripod","page":null},"Noah-Silvera":{"name":"Noah Silvera","alias":"Noah-Silvera","url":"https://github.com/Noah-Silvera","imageURL":"https://github.com/Noah-Silvera.png","key":"Noah-Silvera","page":null},"watzon":{"name":"Chris Watson","alias":"watzon","url":"https://github.com/watzon","imageURL":"https://github.com/watzon.png","key":"watzon","page":null},"yatki":{"name":"Mehmet Yatk\u0131","alias":"yatki","url":"https://github.com/yatki","imageURL":"https://github.com/yatki.png","key":"yatki","page":null},"cangencer":{"name":"Can Gencer","alias":"cangencer","url":"https://github.com/cangencer","imageURL":"https://github.com/cangencer.png","key":"cangencer","page":null},"iWun":{"name":"Richard Chan","alias":"iWun","url":"https://github.com/iWun","imageURL":"https://github.com/iWun.png","key":"iWun","page":null},"38elements":{"name":"38elements","alias":"38elements","url":"https://github.com/38elements","imageURL":"https://github.com/38elements.png","key":"38elements","page":null},"bravo-kernel":{"name":"bravo-kernel","alias":"bravo-kernel","url":"https://github.com/bravo-kernel","imageURL":"https://github.com/bravo-kernel.png","key":"bravo-kernel","page":null},"elviswolcott":{"name":"Elvis Wolcott","alias":"elviswolcott","url":"https://github.com/elviswolcott","imageURL":"https://github.com/elviswolcott.png","key":"elviswolcott","page":null},"fakela":{"name":"Favour Kelvin","alias":"fakela","url":"https://github.com/fakela","imageURL":"https://github.com/fakela.png","key":"fakela","page":null},"GermaVinsmoke":{"name":"GermaVinsmoke","alias":"GermaVinsmoke","url":"https://github.com/GermaVinsmoke","imageURL":"https://github.com/GermaVinsmoke.png","key":"GermaVinsmoke","page":null},"iamkun":{"name":"iamkun","alias":"iamkun","url":"https://github.com/iamkun","imageURL":"https://github.com/iamkun.png","key":"iamkun","page":null},"jeffersonlicet":{"name":"Jefferson Licet","alias":"jeffersonlicet","url":"https://github.com/jeffersonlicet","imageURL":"https://github.com/jeffersonlicet.png","key":"jeffersonlicet","page":null},"KohheePeace":{"name":"KohheePeace","alias":"KohheePeace","url":"https://github.com/KohheePeace","imageURL":"https://github.com/KohheePeace.png","key":"KohheePeace","page":null},"lukecollier":{"name":"Luke Collier","alias":"lukecollier","url":"https://github.com/lukecollier","imageURL":"https://github.com/lukecollier.png","key":"lukecollier","page":null},"mohrash92":{"name":"mohrash92","alias":"mohrash92","url":"https://github.com/mohrash92","imageURL":"https://github.com/mohrash92.png","key":"mohrash92","page":null},"nisarhassan12":{"name":"Nisar Hassan Naqvi","alias":"nisarhassan12","url":"https://github.com/nisarhassan12","imageURL":"https://github.com/nisarhassan12.png","key":"nisarhassan12","page":null},"paularmstrong":{"name":"Paul Armstrong","alias":"paularmstrong","url":"https://github.com/paularmstrong","imageURL":"https://github.com/paularmstrong.png","key":"paularmstrong","page":null},"phoqe":{"name":"Linus L\xe5ngberg","alias":"phoqe","url":"https://github.com/phoqe","imageURL":"https://github.com/phoqe.png","key":"phoqe","page":null},"rlamana":{"name":"Ram\xf3n Lamana","alias":"rlamana","url":"https://github.com/rlamana","imageURL":"https://github.com/rlamana.png","key":"rlamana","page":null},"ZachJW34":{"name":"ZachJW34","alias":"ZachJW34","url":"https://github.com/ZachJW34","imageURL":"https://github.com/ZachJW34.png","key":"ZachJW34","page":null},"amilajack":{"name":"Amila Welihinda","alias":"amilajack","url":"https://github.com/amilajack","imageURL":"https://github.com/amilajack.png","key":"amilajack","page":null},"balloob":{"name":"Paulus Schoutsen","alias":"balloob","url":"https://github.com/balloob","imageURL":"https://github.com/balloob.png","key":"balloob","page":null},"deniaz":{"name":"Robert","alias":"deniaz","url":"https://github.com/deniaz","imageURL":"https://github.com/deniaz.png","key":"deniaz","page":null},"hassanfarid":{"name":"Hassan Farid","alias":"hassanfarid","url":"https://github.com/hassanfarid","imageURL":"https://github.com/hassanfarid.png","key":"hassanfarid","page":null},"jartuso":{"name":"jartuso","alias":"jartuso","url":"https://github.com/jartuso","imageURL":"https://github.com/jartuso.png","key":"jartuso","page":null},"mohamedsgap":{"name":"Mohamed Abdel Nasser","alias":"mohamedsgap","url":"https://github.com/mohamedsgap","imageURL":"https://github.com/mohamedsgap.png","key":"mohamedsgap","page":null},"scottilee":{"name":"Scott Lee","alias":"scottilee","url":"https://github.com/scottilee","imageURL":"https://github.com/scottilee.png","key":"scottilee","page":null},"Zhencha0Cai":{"name":"Zhenchao Cai","alias":"Zhencha0Cai","url":"https://github.com/Zhencha0Cai","imageURL":"https://github.com/Zhencha0Cai.png","key":"Zhencha0Cai","page":null},"awalias":{"name":"awalias","alias":"awalias","url":"https://github.com/awalias","imageURL":"https://github.com/awalias.png","key":"awalias","page":null},"edwandr":{"name":"Elie Dutheil","alias":"edwandr","url":"https://github.com/edwandr","imageURL":"https://github.com/edwandr.png","key":"edwandr","page":null},"erubi":{"name":"Evan Rubinton","alias":"erubi","url":"https://github.com/erubi","imageURL":"https://github.com/erubi.png","key":"erubi","page":null},"galhavivi":{"name":"Gal Havivi","alias":"galhavivi","url":"https://github.com/galhavivi","imageURL":"https://github.com/galhavivi.png","key":"galhavivi","page":null},"Jeffail":{"name":"Ashley Jeffs","alias":"Jeffail","url":"https://github.com/Jeffail","imageURL":"https://github.com/Jeffail.png","key":"Jeffail","page":null},"jjwill":{"name":"Joshua Williams","alias":"jjwill","url":"https://github.com/jjwill","imageURL":"https://github.com/jjwill.png","key":"jjwill","page":null},"jonathanrdelgado":{"name":"Jonathan Delgado","alias":"jonathanrdelgado","url":"https://github.com/jonathanrdelgado","imageURL":"https://github.com/jonathanrdelgado.png","key":"jonathanrdelgado","page":null},"mterrel":{"name":"Mark Terrel","alias":"mterrel","url":"https://github.com/mterrel","imageURL":"https://github.com/mterrel.png","key":"mterrel","page":null},"OndrejNepozitek":{"name":"Ond\u0159ej Nepo\u017Eitek","alias":"OndrejNepozitek","url":"https://github.com/OndrejNepozitek","imageURL":"https://github.com/OndrejNepozitek.png","key":"OndrejNepozitek","page":null},"sdowding":{"name":"Scott Dowding","alias":"sdowding","url":"https://github.com/sdowding","imageURL":"https://github.com/sdowding.png","key":"sdowding","page":null},"trustyoo86":{"name":"Hanseung Yoo","alias":"trustyoo86","url":"https://github.com/trustyoo86","imageURL":"https://github.com/trustyoo86.png","key":"trustyoo86","page":null},"wgao19":{"name":"Wei Gao","alias":"wgao19","url":"https://github.com/wgao19","imageURL":"https://github.com/wgao19.png","key":"wgao19","page":null},"endiliey":{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},"janko":{"name":"Janko Marohni\u0107","alias":"janko","url":"https://github.com/janko","imageURL":"https://github.com/janko.png","key":"janko","page":null},"nickmccurdy":{"name":"Nick McCurdy","alias":"nickmccurdy","url":"https://github.com/nickmccurdy","imageURL":"https://github.com/nickmccurdy.png","key":"nickmccurdy","page":null},"TransmissionsDev":{"name":"t11s","alias":"TransmissionsDev","url":"https://github.com/TransmissionsDev","imageURL":"https://github.com/TransmissionsDev.png","key":"TransmissionsDev","page":null},"FeynmanDNA":{"name":"KYY","alias":"FeynmanDNA","url":"https://github.com/FeynmanDNA","imageURL":"https://github.com/FeynmanDNA.png","key":"FeynmanDNA","page":null},"qshiwu":{"name":"kaichu","alias":"qshiwu","url":"https://github.com/qshiwu","imageURL":"https://github.com/qshiwu.png","key":"qshiwu","page":null},"shivangna":{"name":"Shivangna Kaistha","alias":"shivangna","url":"https://github.com/shivangna","imageURL":"https://github.com/shivangna.png","key":"shivangna","page":null},"binarylogic":{"name":"Binary Logic","alias":"binarylogic","url":"https://github.com/binarylogic","imageURL":"https://github.com/binarylogic.png","key":"binarylogic","page":null},"gimdongwoo":{"name":"Dongwoo Gim","alias":"gimdongwoo","url":"https://github.com/gimdongwoo","imageURL":"https://github.com/gimdongwoo.png","key":"gimdongwoo","page":null},"ericcarboni":{"name":"Eric Carboni","alias":"ericcarboni","url":"https://github.com/ericcarboni","imageURL":"https://github.com/ericcarboni.png","key":"ericcarboni","page":null},"jamiedavenport":{"name":"Jamie Davenport","alias":"jamiedavenport","url":"https://github.com/jamiedavenport","imageURL":"https://github.com/jamiedavenport.png","key":"jamiedavenport","page":null},"kenning":{"name":"Nick McCormick","alias":"kenning","url":"https://github.com/kenning","imageURL":"https://github.com/kenning.png","key":"kenning","page":null},"vinnytheviking":{"name":"Vincent van der Walt","alias":"vinnytheviking","url":"https://github.com/vinnytheviking","imageURL":"https://github.com/vinnytheviking.png","key":"vinnytheviking","page":null}}}},"docusaurus-plugin-ideal-image":{},"docusaurus-theme-mermaid":{},"feature-requests-plugin":{},"client-module-test-plugin":{},"docusaurus-theme-live-codeblock":{},"swizzle-theme-tests":{},"docusaurus-bootstrap-plugin":{},"docusaurus-mdx-fallback-plugin":{}}}')}}]); \ No newline at end of file diff --git a/assets/js/3c616b11.5531143c.js b/assets/js/3c616b11.5531143c.js new file mode 100644 index 0000000000..c80df1bc1e --- /dev/null +++ b/assets/js/3c616b11.5531143c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["10801"],{6283:function(t,e,s){s.r(e),s.d(e,{frontMatter:()=>r,default:()=>l,contentTitle:()=>a,assets:()=>c,toc:()=>d,metadata:()=>o});var o=JSON.parse('{"id":"tests/ascii/folder/\xe6\xf8\xe5","title":"\xe6\xf8\xe5","description":"Dogfood test for https://github.com/facebook/docusaurus/pull/8137","source":"@site/_dogfooding/_docs tests/tests/ascii/folder/\xe6\xf8\xe5.mdx","sourceDirName":"tests/ascii/folder","slug":"/tests/ascii/folder/\xe6\xf8\xe5","permalink":"/tests/docs/tests/ascii/folder/\xe6\xf8\xe5","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Admonitions tests","permalink":"/tests/docs/tests/admonitions"},"next":{"title":"index","permalink":"/tests/docs/tests/ascii/\xe6\xf8\xe5/"}}'),n=s(85893),i=s(80980);let r={},a=void 0,c={},d=[];function u(t){let e={a:"a",p:"p",...(0,i.a)(),...t.components};return(0,n.jsxs)(e.p,{children:["Dogfood test for ",(0,n.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/8137",children:"https://github.com/facebook/docusaurus/pull/8137"})]})}function l(t={}){let{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(u,{...t})}):u(t)}l.displayName="MDXContent(_dogfooding/_docs tests/tests/ascii/folder/\xe6\xf8\xe5.mdx)"},80980:function(t,e,s){s.d(e,{Z:()=>a,a:()=>r});var o=s(67294);let n={},i=o.createContext(n);function r(t){let e=o.useContext(i);return o.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:r(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/3ca89387.c48e673d.js b/assets/js/3ca89387.c48e673d.js new file mode 100644 index 0000000000..b0005a2d38 --- /dev/null +++ b/assets/js/3ca89387.c48e673d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["77404"],{11550:function(e,t,n){n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>m,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var r=n(2805),o=n(85893),s=n(80980);let a={mdx:{format:"md"},date:"2022-08-01T20:00",authors:["slorber"]},l="2.0.1",i={authorsImageUrls:[void 0]},c=[{value:"Committers: 1",id:"committers-1",level:2}];function u(e){let t={a:"a",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Fix bad npm publish of 2.0.0"}),"\n",(0,o.jsx)(t.h2,{id:"committers-1",children:"Committers: 1"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["S\xe9bastien Lorber (",(0,o.jsx)(t.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]})]})}function m(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>a});var r=n(67294);let o={},s=r.createContext(o);function a(e){let t=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(s.Provider,{value:t},e.children)}},2805:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.1","source":"@site/changelog/source/2.0.1.md","title":"2.0.1","description":"Fix bad npm publish of 2.0.0","date":"2022-08-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-08-01T20:00","authors":["slorber"]},"unlisted":false,"prevItem":{"title":"2.1.0","permalink":"/changelog/2.1.0"},"nextItem":{"title":"2.0.0","permalink":"/changelog/2.0.0"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/3ce9624a.80fede64.js b/assets/js/3ce9624a.80fede64.js new file mode 100644 index 0000000000..5d7dd2877b --- /dev/null +++ b/assets/js/3ce9624a.80fede64.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["72277"],{37135:function(e,s,r){r.r(s),r.d(s,{frontMatter:()=>o,default:()=>h,contentTitle:()=>u,assets:()=>a,toc:()=>c,metadata:()=>i});var i=JSON.parse('{"id":"resources","title":"Awesome Resources","description":"A curated list of interesting Docusaurus community projects.","source":"@site/community/2-resources.mdx","sourceDirName":".","slug":"/resources","permalink":"/community/resources","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/2-resources.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":2,"frontMatter":{},"sidebar":"community","previous":{"title":"Team","permalink":"/community/team"},"next":{"title":"Contributing","permalink":"/community/contributing"}}'),t=r(85893),n=r(80980);let o={},u="Awesome Resources",a={},c=[{value:"Community documentation",id:"community-documentation",level:2},{value:"Videos",id:"videos",level:2},{value:"Articles",id:"articles",level:2},{value:"Showcase",id:"showcase",level:2},{value:"Community plugins",id:"community-plugins",level:2},{value:"Search",id:"search",level:3},{value:"Integrations",id:"integrations",level:3},{value:"Features",id:"features",level:3},{value:"Enterprise usage",id:"enterprise-usage",level:2}];function l(e){let s={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"awesome-resources",children:"Awesome Resources"})}),"\n",(0,t.jsx)(s.p,{children:"A curated list of interesting Docusaurus community projects."}),"\n",(0,t.jsx)(s.h2,{id:"community-documentation",children:"Community documentation"}),"\n",(0,t.jsxs)(s.p,{children:["The ",(0,t.jsx)(s.strong,{children:(0,t.jsx)(s.a,{href:"https://docusaurus.community",children:"Docusaurus.community"})})," site extends the ",(0,t.jsx)(s.a,{href:"/docs",children:"official docs"})," with more complex examples and full articles that recommend best practices and provide solutions to common problems."]}),"\n",(0,t.jsx)(s.p,{children:"It is also a full Docusaurus application just like our main site, so customization and experimentation examples are perfectly suited to be hosted there."}),"\n",(0,t.jsxs)(s.admonition,{type:"info",children:[(0,t.jsx)(s.p,{children:"We might allow direct links to be added in our official documentation that point to the community documentation, on a case-by-case basis, if the community finds such links to articles useful."}),(0,t.jsx)(s.p,{children:"We are also contemplating further integration into the official documentation at some point in the future."})]}),"\n",(0,t.jsx)(s.h2,{id:"videos",children:"Videos"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://www.youtube.com/watch?v=QcGJsf6mgZE",children:"F8 2019: Using Docusaurus to Create Open Source Websites"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"articles",children:"Articles"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/webbertakken/awesome-docusaurus#readme",children:"Awesome Docusaurus"})," - Community curated list of Docusaurus resources."]}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://dev.to/mrmuhammadali/live-code-editing-in-docusaurus-ux-at-its-best-2hj1",children:"Live code editing in Docusaurus"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"https://blog.johnnyreilly.com/definitive-guide-to-migrating-from-blogger-to-docusaurus",children:"The definitive guide to migrating from Blogger to Docusaurus"})}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"showcase",children:"Showcase"}),"\n",(0,t.jsxs)(s.p,{children:["See the ",(0,t.jsx)("a",{href:r(83631).ZP("showcase"),children:"showcase"}),"."]}),"\n",(0,t.jsx)(s.h2,{id:"community-plugins",children:"Community plugins"}),"\n",(0,t.jsx)(s.h3,{id:"search",children:"Search"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/daldridge/docusaurus-plugin-lunr",children:"docusaurus-plugin-lunr"})," - Docusaurus plugin to create a local search index for use with Lunr.js"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/lelouch77/docusaurus-lunr-search",children:"docusaurus-lunr-search"})," - Offline Search for Docusaurus"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/cmfcmf/docusaurus-search-local",children:"docusaurus-search-local"})," - Offline/local search for Docusaurus"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/easyops-cn/docusaurus-search-local",children:"@easyops-cn/docusaurus-search-local"})," - Offline/local search for Docusaurus (language of zh supported)"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/typesense/docusaurus-theme-search-typesense",children:"docusaurus-theme-search-typesense"})," - Docusaurus plugin for ",(0,t.jsx)(s.a,{href:"https://typesense.org/docs/latest/guide/docsearch.html",children:"Typesense DocSearch"})]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/motifland/markprompt-js/tree/main/packages/docusaurus-theme-search",children:"@markprompt/docusaurus-theme-search"})," - Docusaurus plugin to add generative AI / LLM-powered docs search, powered by ",(0,t.jsx)(s.a,{href:"https://markprompt.com",children:"Markprompt"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/tauri-apps/meilisearch-docsearch",children:"meilisearch-docsearch"})," - Docusaurus plugin for ",(0,t.jsx)(s.a,{href:"https://www.meilisearch.com",children:"Meilisearch"})]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/askorama/orama/tree/main/packages/plugin-docusaurus",children:"@orama/plugin-docusaurus"})," - ",(0,t.jsx)(s.a,{href:"https://askorama.ai/",children:"Orama"})," plugin for Docusaurus v2"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/askorama/orama/tree/main/packages/plugin-docusaurus-v3",children:"@orama/plugin-docusaurus-v3"})," - ",(0,t.jsx)(s.a,{href:"https://askorama.ai/",children:"Orama"})," plugin for Docusaurus v3"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://getcanary.dev/docs/integrations/docusaurus.html",children:"@getcanary/docusaurus-theme-search-pagefind"})," - Create ",(0,t.jsx)(s.a,{href:"https://pagefind.app/",children:"Pagefind"})," index and use ",(0,t.jsx)(s.a,{href:"https://github.com/fastrepl/canary",children:"Canary"})," as UI primitives."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"integrations",children:"Integrations"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/jonnynabors/docusaurus2-dotenv",children:"docusaurus2-dotenv"})," - A Docusaurus plugin that supports dotenv and other environment variables"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/PostHog/posthog-docusaurus",children:"posthog-docusaurus"})," - Integrate ",(0,t.jsx)(s.a,{href:"https://posthog.com/",children:"PostHog"})," product analytics with Docusaurus"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/Moesif/docusaurus-plugin-moesif",children:"docusaurus-plugin-moesif"})," - Adds ",(0,t.jsx)(s.a,{href:"https://www.moesif.com/",children:"Moesif API Analytics"})," to track user behavior and pinpoint where developers drop off in your activation funnel."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/sgromkov/docusaurus-plugin-yandex-metrica",children:"docusaurus-plugin-yandex-metrica"})," - Adds ",(0,t.jsx)(s.a,{href:"https://metrika.yandex.ru/",children:"Yandex Metrika"})," counter for evaluating site traffic and analyzing user behavior."]}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"features",children:"Features"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/saucelabs/docusaurus-theme-github-codeblock",children:"docusaurus-theme-github-codeblock"}),". A Docusaurus plugin that supports referencing code examples from public GitHub repositories"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/jean-humann/docs-to-pdf",children:"docs-to-pdf"})," - Generate documentation into PDF format"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/rlamana/docusaurus-plugin-sass",children:"docusaurus-plugin-sass"})," - Sass/SCSS stylesheets support"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/rdilweb/docusaurus-plugin-remote-content",children:"docusaurus-plugin-remote-content"})," - A Docusaurus plugin that allows you to fetch content from remote sources"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/graphql-markdown/graphql-markdown",children:"@graphql-markdown/docusaurus"})," - A Docusaurus plugin for generating documentation from GraphQL schemas"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/atomicpages/docusaurus-plugin-react-docgen-typescript",children:"docusaurus-plugin-react-docgen-typescript"})," - A Docusaurus plugin for loading type annotations from ",(0,t.jsx)(s.code,{children:"react-docgen-typescript"})]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/atomicpages/docusaurus-plugin-react-docgen",children:"docusaurus-plugin-react-docgen"})," - A Docusaurus plugin for loading type annotations from ",(0,t.jsx)(s.code,{children:"react-docgen"})]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/atomicpages/docusaurus-plugin-module-alias",children:"docusaurus-plugin-module-alias"})," - A Docusaurus plugin for quickly aliasing local modules"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/protobuffet/docusaurus-protobuffet",children:"docusaurus-protobuffet"})," - Docusaurus toolset for Protobuf contract documentation"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/signcl/docusaurus-prince-pdf",children:"docusaurus-prince-pdf"})," - Generate PDF with PrinceXML for better font subsetting and ToC features. Support Docusaurus sites"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/rohit-gohri/redocusaurus",children:"redocusaurus"})," - A Docusaurus preset for integrating OpenAPI documentation into your docs with ",(0,t.jsx)(s.a,{href:"https://github.com/redocly/redoc",children:"Redoc"})]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/flexanalytics/plugin-image-zoom",children:"plugin-image-zoom"})," - An Image Zoom plugin for Docusaurus"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/tgreyuk/typedoc-plugin-markdown/tree/master/packages/docusaurus-plugin-typedoc",children:"docusaurus-plugin-typedoc"})," - A Docusaurus plugin to build documentation with ",(0,t.jsx)(s.a,{href:"https://typedoc.org/",children:"TypeDoc"})]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/PaloAltoNetworks/docusaurus-openapi-docs",children:"docusaurus-openapi-docs"})," - A Docusaurus plugin and theme for generating interactive OpenAPI docs"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/moojing/docusaurus-post-generator",children:"docusaurus-post-generator"})," - A command line tool for user to add a blog/doc file quickly by command like ",(0,t.jsx)(s.code,{children:"yarn gen-post new [template] [post_name]"}),"."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/Arsero/docusaurus-graph",children:"docusaurus-graph"})," - A Docusaurus plugin for generating a graph view showing links between documentation files."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/moonrailgun/docusaurus-i18n",children:"docusaurus-i18n"})," - Auto translate docusaurus documents with openai."]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"enterprise-usage",children:"Enterprise usage"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Facebook"}),"\n",(0,t.jsx)(s.li,{children:"Google"}),"\n",(0,t.jsx)(s.li,{children:"Stripe"}),"\n",(0,t.jsx)(s.li,{children:"Algolia"}),"\n",(0,t.jsx)(s.li,{children:"Callstack"}),"\n",(0,t.jsx)(s.li,{children:"Sauce Labs"}),"\n"]})]})}function h(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},80980:function(e,s,r){r.d(s,{Z:()=>u,a:()=>o});var i=r(67294);let t={},n=i.createContext(t);function o(e){let s=i.useContext(n);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function u(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3d73fe52.1dcf92ac.js b/assets/js/3d73fe52.1dcf92ac.js new file mode 100644 index 0000000000..33177723d7 --- /dev/null +++ b/assets/js/3d73fe52.1dcf92ac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["96993"],{86514:function(e,s,i){i.r(s),i.d(s,{default:()=>u});var n=i(85893);i(67294);var t=i(88408);function u(){return(0,n.jsx)(t.Z,{children:(0,n.jsx)("p",{id:"z-index-test",children:"This should have a z-index of 100"})})}}}]); \ No newline at end of file diff --git a/assets/js/3dd2dc02.b2e4ce90.js b/assets/js/3dd2dc02.b2e4ce90.js new file mode 100644 index 0000000000..c5630ff564 --- /dev/null +++ b/assets/js/3dd2dc02.b2e4ce90.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["19660"],{11706:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>l,default:()=>h,contentTitle:()=>a,assets:()=>c,toc:()=>r,metadata:()=>s});var s=JSON.parse('{"id":"advanced/client","title":"Client architecture","description":"How the Docusaurus client is structured","source":"@site/docs/advanced/client.mdx","sourceDirName":"advanced","slug":"/advanced/client","permalink":"/docs/advanced/client","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/advanced/client.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"How the Docusaurus client is structured"},"sidebar":"docs","previous":{"title":"Static site generation","permalink":"/docs/advanced/ssg"},"next":{"title":"Upgrading Docusaurus","permalink":"/docs/migration"}}'),o=t(85893),i=t(80980);let l={description:"How the Docusaurus client is structured"},a="Client architecture",c={},r=[{value:"Theme aliases",id:"theme-aliases",level:2},{value:"Client modules",id:"client-modules",level:2},{value:"Client module lifecycles",id:"client-module-lifecycles",level:3}];function d(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"client-architecture",children:"Client architecture"})}),"\n",(0,o.jsx)(n.h2,{id:"theme-aliases",children:"Theme aliases"}),"\n",(0,o.jsxs)(n.p,{children:["A theme works by exporting a set of components, e.g. ",(0,o.jsx)(n.code,{children:"Navbar"}),", ",(0,o.jsx)(n.code,{children:"Layout"}),", ",(0,o.jsx)(n.code,{children:"Footer"}),", to render the data passed down from plugins. Docusaurus and users use these components by importing them using the ",(0,o.jsx)(n.code,{children:"@theme"})," webpack alias:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import Navbar from '@theme/Navbar';\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The alias ",(0,o.jsx)(n.code,{children:"@theme"})," can refer to a few directories, in the following priority:"]}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["A user's ",(0,o.jsx)(n.code,{children:"website/src/theme"})," directory, which is a special directory that has the higher precedence."]}),"\n",(0,o.jsxs)(n.li,{children:["A Docusaurus theme package's ",(0,o.jsx)(n.code,{children:"theme"})," directory."]}),"\n",(0,o.jsx)(n.li,{children:"Fallback components provided by Docusaurus core (usually not needed)."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["This is called a ",(0,o.jsx)(n.em,{children:"layered architecture"}),": a higher-priority layer providing the component would shadow a lower-priority layer, making swizzling possible. Given the following structure:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"website\n\u251C\u2500\u2500 node_modules\n\u2502 \u2514\u2500\u2500 @docusaurus/theme-classic\n\u2502 \u2514\u2500\u2500 theme\n\u2502 \u2514\u2500\u2500 Navbar.js\n\u2514\u2500\u2500 src\n \u2514\u2500\u2500 theme\n \u2514\u2500\u2500 Navbar.js\n"})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"website/src/theme/Navbar.js"})," takes precedence whenever ",(0,o.jsx)(n.code,{children:"@theme/Navbar"})," is imported. This behavior is called component swizzling. If you are familiar with Objective C where a function's implementation can be swapped during runtime, it's the exact same concept here with changing the target ",(0,o.jsx)(n.code,{children:"@theme/Navbar"})," is pointing to!"]}),"\n",(0,o.jsxs)(n.p,{children:['We already talked about how the "userland theme" in ',(0,o.jsx)(n.code,{children:"src/theme"})," can re-use a theme component through the ",(0,o.jsx)(n.a,{href:"/docs/swizzling#wrapping",children:(0,o.jsx)(n.code,{children:"@theme-original"})})," alias. One theme package can also wrap a component from another theme, by importing the component from the initial theme, using the ",(0,o.jsx)(n.code,{children:"@theme-init"})," import."]}),"\n",(0,o.jsxs)(n.p,{children:["Here's an example of using this feature to enhance the default theme ",(0,o.jsx)(n.code,{children:"CodeBlock"})," component with a ",(0,o.jsx)(n.code,{children:"react-live"})," playground feature."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",children:"import InitialCodeBlock from '@theme-init/CodeBlock';\nimport React from 'react';\n\nexport default function CodeBlock(props) {\n return props.live ? (\n <ReactLivePlayground {...props} />\n ) : (\n <InitialCodeBlock {...props} />\n );\n}\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Check the code of ",(0,o.jsx)(n.code,{children:"@docusaurus/theme-live-codeblock"})," for details."]}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:['Unless you want to publish a re-usable "theme enhancer" (like ',(0,o.jsx)(n.code,{children:"@docusaurus/theme-live-codeblock"}),"), you likely don't need ",(0,o.jsx)(n.code,{children:"@theme-init"}),"."]})}),"\n",(0,o.jsx)(n.p,{children:'It can be quite hard to wrap your mind around these aliases. Let\'s imagine the following case with a super convoluted setup with three themes/plugins and the site itself all trying to define the same component. Internally, Docusaurus loads these themes as a "stack".'}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-text",children:"+-------------------------------------------------+\n| `website/src/theme/CodeBlock.js` | <-- `@theme/CodeBlock` always points to the top\n+-------------------------------------------------+\n| `theme-live-codeblock/theme/CodeBlock/index.js` | <-- `@theme-original/CodeBlock` points to the topmost non-swizzled component\n+-------------------------------------------------+\n| `plugin-awesome-codeblock/theme/CodeBlock.js` |\n+-------------------------------------------------+\n| `theme-classic/theme/CodeBlock/index.js` | <-- `@theme-init/CodeBlock` always points to the bottom\n+-------------------------------------------------+\n"})}),"\n",(0,o.jsxs)(n.p,{children:['The components in this "stack" are pushed in the order of ',(0,o.jsx)(n.code,{children:"preset plugins > preset themes > plugins > themes > site"}),", so the swizzled component in ",(0,o.jsx)(n.code,{children:"website/src/theme"})," always comes out on top because it's loaded last."]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"@theme/*"})," always points to the topmost component\u2014when ",(0,o.jsx)(n.code,{children:"CodeBlock"})," is swizzled, all other components requesting ",(0,o.jsx)(n.code,{children:"@theme/CodeBlock"})," receive the swizzled version."]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"@theme-original/*"})," always points to the topmost non-swizzled component. That's why you can import ",(0,o.jsx)(n.code,{children:"@theme-original/CodeBlock"}),' in the swizzled component\u2014it points to the next one in the "component stack", a theme-provided one. Plugin authors should not try to use this because your component could be the topmost component and cause a self-import.']}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"@theme-init/*"})," always points to the bottommost component\u2014usually, this comes from the theme or plugin that first provides this component. Individual plugins / themes trying to enhance code block can safely use ",(0,o.jsx)(n.code,{children:"@theme-init/CodeBlock"})," to get its basic version. Site creators should generally not use this because you likely want to enhance the ",(0,o.jsx)(n.em,{children:"topmost"})," instead of the ",(0,o.jsx)(n.em,{children:"bottommost"})," component. It's also possible that the ",(0,o.jsx)(n.code,{children:"@theme-init/CodeBlock"})," alias does not exist at all\u2014Docusaurus only creates it when it points to a different one from ",(0,o.jsx)(n.code,{children:"@theme-original/CodeBlock"}),", i.e. when it's provided by more than one theme. We don't waste aliases!"]}),"\n",(0,o.jsx)(n.h2,{id:"client-modules",children:"Client modules"}),"\n",(0,o.jsxs)(n.p,{children:["Client modules are part of your site's bundle, just like theme components. However, they are usually side-effect-ful. Client modules are anything that can be ",(0,o.jsx)(n.code,{children:"import"}),"ed by Webpack\u2014CSS, JS, etc. JS scripts usually work on the global context, like registering event listeners, creating global variables..."]}),"\n",(0,o.jsx)(n.p,{children:"These modules are imported globally before React even renders the initial UI."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:'title="@docusaurus/core/App.tsx"',children:"// How it works under the hood\nimport '@generated/client-modules';\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Plugins and sites can both declare client modules, through ",(0,o.jsx)(n.a,{href:"/docs/api/plugin-methods/lifecycle-apis#getClientModules",children:(0,o.jsx)(n.code,{children:"getClientModules"})})," and ",(0,o.jsx)(n.a,{href:"/docs/api/docusaurus-config#clientModules",children:(0,o.jsx)(n.code,{children:"siteConfig.clientModules"})}),", respectively."]}),"\n",(0,o.jsxs)(n.p,{children:["Client modules are called during server-side rendering as well, so remember to check the ",(0,o.jsx)(n.a,{href:"/docs/advanced/ssg#escape-hatches",children:"execution environment"})," before accessing client-side globals."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:'title="mySiteGlobalJs.js"',children:"import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';\n\nif (ExecutionEnvironment.canUseDOM) {\n // As soon as the site loads in the browser, register a global event listener\n window.addEventListener('keydown', (e) => {\n if (e.code === 'Period') {\n location.assign(location.href.replace('.com', '.dev'));\n }\n });\n}\n"})}),"\n",(0,o.jsxs)(n.p,{children:["CSS stylesheets imported as client modules are ",(0,o.jsx)(n.a,{href:"/docs/styling-layout#global-styles",children:"global"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-css",metastring:'title="mySiteGlobalCss.css"',children:"/* This stylesheet is global. */\n.globalSelector {\n color: red;\n}\n"})}),"\n",(0,o.jsx)(n.h3,{id:"client-module-lifecycles",children:"Client module lifecycles"}),"\n",(0,o.jsxs)(n.p,{children:["Besides introducing side-effects, client modules can optionally export two lifecycle functions: ",(0,o.jsx)(n.code,{children:"onRouteUpdate"})," and ",(0,o.jsx)(n.code,{children:"onRouteDidUpdate"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["Because Docusaurus builds a single-page application, ",(0,o.jsx)(n.code,{children:"script"})," tags will only be executed the first time the page loads, but will not re-execute on page transitions. These lifecycles are useful if you have some imperative JS logic that should execute every time a new page has loaded, e.g., to manipulate DOM elements, to send analytics data, etc."]}),"\n",(0,o.jsx)(n.p,{children:"For every route transition, there will be several important timings:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"The user clicks a link, which causes the router to change its current location."}),"\n",(0,o.jsx)(n.li,{children:"Docusaurus preloads the next route's assets, while keeping displaying the current page's content."}),"\n",(0,o.jsx)(n.li,{children:"The next route's assets have loaded."}),"\n",(0,o.jsx)(n.li,{children:"The new location's route component gets rendered to DOM."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"onRouteUpdate"})," will be called at event (2), and ",(0,o.jsx)(n.code,{children:"onRouteDidUpdate"})," will be called at (4). They both receive the current location and the previous location (which can be ",(0,o.jsx)(n.code,{children:"null"}),", if this is the first screen)."]}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"onRouteUpdate"}),' can optionally return a "cleanup" callback, which will be called at (3). For example, if you want to display a progress bar, you can start a timeout in ',(0,o.jsx)(n.code,{children:"onRouteUpdate"}),", and clear the timeout in the callback. (The classic theme already provides an ",(0,o.jsx)(n.code,{children:"nprogress"})," integration this way.)"]}),"\n",(0,o.jsxs)(n.p,{children:["Note that the new page's DOM is only available during event (4). If you need to manipulate the new page's DOM, you'll likely want to use ",(0,o.jsx)(n.code,{children:"onRouteDidUpdate"}),", which will be fired as soon as the DOM on the new page has mounted."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:'title="myClientModule.js"',children:"export function onRouteDidUpdate({location, previousLocation}) {\n // Don't execute if we are still on the same page; the lifecycle may be fired\n // because the hash changes (e.g. when navigating between headings)\n if (location.pathname !== previousLocation?.pathname) {\n const title = document.getElementsByTagName('h1')[0];\n if (title) {\n title.innerText += '\u2764\uFE0F';\n }\n }\n}\n\nexport function onRouteUpdate({location, previousLocation}) {\n if (location.pathname !== previousLocation?.pathname) {\n const progressBarTimeout = window.setTimeout(() => {\n nprogress.start();\n }, delay);\n return () => window.clearTimeout(progressBarTimeout);\n }\n return undefined;\n}\n"})}),"\n",(0,o.jsx)(n.p,{children:"Or, if you are using TypeScript and you want to leverage contextual typing:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-ts",metastring:'title="myClientModule.ts"',children:"import type {ClientModule} from '@docusaurus/types';\n\nconst module: ClientModule = {\n onRouteUpdate({location, previousLocation}) {\n // ...\n },\n onRouteDidUpdate({location, previousLocation}) {\n // ...\n },\n};\nexport default module;\n"})}),"\n",(0,o.jsx)(n.p,{children:"Both lifecycles will fire on first render, but they will not fire on server-side, so you can safely access browser globals in them."}),"\n",(0,o.jsx)(n.admonition,{title:"Prefer using React",type:"tip",children:(0,o.jsxs)(n.p,{children:["Client module lifecycles are purely imperative, and you can't use React hooks or access React contexts within them. If your operations are state-driven or involve complicated DOM manipulations, you should consider ",(0,o.jsx)(n.a,{href:"/docs/swizzling",children:"swizzling components"})," instead."]})})]})}function h(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},80980:function(e,n,t){t.d(n,{Z:()=>a,a:()=>l});var s=t(67294);let o={},i=s.createContext(o);function l(e){let n=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3e206144.9b8e08d4.js b/assets/js/3e206144.9b8e08d4.js new file mode 100644 index 0000000000..ee0adde869 --- /dev/null +++ b/assets/js/3e206144.9b8e08d4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["91538"],{51387:function(e,s,t){t.r(s),t.d(s,{frontMatter:()=>a,default:()=>d,contentTitle:()=>i,assets:()=>u,toc:()=>c,metadata:()=>r});var r=JSON.parse('{"id":"support","title":"Support","description":"Docusaurus has a community of thousands of developers.","source":"@site/community/0-support.mdx","sourceDirName":".","slug":"/support","permalink":"/community/support","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/0-support.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":0,"frontMatter":{},"sidebar":"community","next":{"title":"Team","permalink":"/community/team"}}'),o=t(85893),n=t(80980);let a={},i="Support",u={},c=[{value:"Stack Overflow",id:"stack-overflow",level:2},{value:"Discussion forums",id:"discussion-forums",level:2},{value:"Feature requests",id:"feature-requests",level:2},{value:"News",id:"news",level:2}];function l(e){let s={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"support",children:"Support"})}),"\n",(0,o.jsx)(s.p,{children:"Docusaurus has a community of thousands of developers."}),"\n",(0,o.jsx)(s.p,{children:"On this page we've listed some Docusaurus-related communities that you can be a part of; see the other pages in this section for additional online and in-person learning materials."}),"\n",(0,o.jsxs)(s.p,{children:["Before participating in Docusaurus' communities, ",(0,o.jsx)(s.a,{href:"https://engineering.fb.com/codeofconduct/",children:"please read our Code of Conduct"}),". We have adopted the ",(0,o.jsx)(s.a,{href:"https://www.contributor-covenant.org/",children:"Contributor Covenant"})," and we expect that all community members adhere to the guidelines within."]}),"\n",(0,o.jsx)(s.h2,{id:"stack-overflow",children:"Stack Overflow"}),"\n",(0,o.jsxs)(s.p,{children:["Stack Overflow is a popular forum to ask code-level questions or if you're stuck with a specific error. Read through the ",(0,o.jsx)(s.a,{href:"https://stackoverflow.com/questions/tagged/docusaurus",children:"existing questions"})," tagged with ",(0,o.jsx)(s.strong,{children:"docusaurus"})," or ",(0,o.jsx)(s.a,{href:"https://stackoverflow.com/questions/ask?tags=docusaurus",children:"ask your own"}),"!"]}),"\n",(0,o.jsx)(s.h2,{id:"discussion-forums",children:"Discussion forums"}),"\n",(0,o.jsx)(s.p,{children:"There are many online forums for discussion about best practices and application architecture as well as the future of Docusaurus. If you have an answerable code-level question, Stack Overflow is usually a better fit."}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://discord.gg/docusaurus",children:"Docusaurus online chat"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://discord.gg/fwbcrQ3dHR",children:"#help-and-questions"})," for user help"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://discord.gg/6g6ASPA",children:"#contributors"})," for contributing help"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.li,{children:(0,o.jsx)(s.a,{href:"https://www.reddit.com/r/docusaurus/",children:"Reddit's Docusaurus community"})}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"feature-requests",children:"Feature requests"}),"\n",(0,o.jsxs)(s.p,{children:["For new feature requests, you can create a post on our ",(0,o.jsx)(s.a,{href:"/feature-requests",children:"feature requests board (Canny)"}),", which is a handy tool for road-mapping and allows for sorting by upvotes, which gives the core team a better indicator of what features are in high demand, as compared to GitHub issues which are harder to triage. Refrain from making a Pull Request for new features (especially large ones) as someone might already be working on it or will be part of our roadmap. Talk to us first!"]}),"\n",(0,o.jsx)(s.h2,{id:"news",children:"News"}),"\n",(0,o.jsxs)(s.p,{children:["For the latest news about Docusaurus, ",(0,o.jsxs)(s.a,{href:"https://x.com/docusaurus",children:["follow ",(0,o.jsx)(s.strong,{children:"@docusaurus"})," on X"]})," and the ",(0,o.jsx)(s.a,{href:"/blog",children:"official Docusaurus blog"})," on this website."]})]})}function d(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},80980:function(e,s,t){t.d(s,{Z:()=>i,a:()=>a});var r=t(67294);let o={},n=r.createContext(o);function a(e){let s=r.useContext(n);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3e9ea429.73780c09.js b/assets/js/3e9ea429.73780c09.js new file mode 100644 index 0000000000..41debe3179 --- /dev/null +++ b/assets/js/3e9ea429.73780c09.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["64403"],{17488:function(e){e.exports=JSON.parse('{"tag":{"label":"D","permalink":"/tests/docs/tags/d","allTagsPath":"/tests/docs/tags","count":1,"items":[{"id":"standalone","title":"Standalone doc","description":"This doc is not in any sidebar, on purpose, to measure the build size impact of the huge sidebar","permalink":"/tests/docs/standalone"}],"unlisted":false}}')}}]); \ No newline at end of file diff --git a/assets/js/3ef80f0b.57915253.js b/assets/js/3ef80f0b.57915253.js new file mode 100644 index 0000000000..2be3de970f --- /dev/null +++ b/assets/js/3ef80f0b.57915253.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["63841"],{57556:function(e,s,n){n.r(s),n.d(s,{frontMatter:()=>i,default:()=>p,contentTitle:()=>a,assets:()=>l,toc:()=>d,metadata:()=>r});var r=JSON.parse('{"id":"browser-support","title":"Browser support","description":"How to keep a reasonable bundle size while ensuring sufficient browser support.","source":"@site/docs/browser-support.mdx","sourceDirName":".","slug":"/browser-support","permalink":"/docs/browser-support","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/browser-support.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"How to keep a reasonable bundle size while ensuring sufficient browser support."},"sidebar":"docs","previous":{"title":"Search","permalink":"/docs/search"},"next":{"title":"SEO","permalink":"/docs/seo"}}'),o=n(85893),t=n(80980);let i={description:"How to keep a reasonable bundle size while ensuring sufficient browser support."},a="Browser support",l={},d=[{value:"Purpose",id:"purpose",level:2},{value:"Default values",id:"default-values",level:2},{value:"Read more",id:"read-more",level:2}];function c(e){let s={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"browser-support",children:"Browser support"})}),"\n",(0,o.jsxs)(s.p,{children:["Docusaurus allows sites to define the list of supported browsers through a ",(0,o.jsx)(s.a,{href:"https://github.com/browserslist/browserslist",children:"browserslist configuration"}),"."]}),"\n",(0,o.jsx)(s.h2,{id:"purpose",children:"Purpose"}),"\n",(0,o.jsx)(s.p,{children:"Websites need to balance between backward compatibility and bundle size. As old browsers do not support modern APIs or syntax, more code is needed to implement the same functionality."}),"\n",(0,o.jsxs)(s.p,{children:["For example, you may use the ",(0,o.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining",children:"optional chaining syntax"}),":"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-js",children:"const value = obj?.prop?.val;\n"})}),"\n",(0,o.jsx)(s.p,{children:"...which unfortunately is only recognized by browser versions released after 2020. To be compatible with earlier browser versions, when building your site for production, our JS loader will transpile your code to a more verbose syntax:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-js",children:"var _obj, _obj$prop;\n\nconst value =\n (_obj = obj) === null || _obj === void 0\n ? void 0\n : (_obj$prop = _obj.prop) === null || _obj$prop === void 0\n ? void 0\n : _obj$prop.val;\n"})}),"\n",(0,o.jsx)(s.p,{children:"However, this penalizes all other users with increased site load time because the 29-character line now becomes 168 characters\u2014a 6-fold increase! (In practice, it will be better because the names used will be shorter.) As a tradeoff, the JS loader only transpiles the syntax to the degree that's supported by all browser versions defined in the browser list."}),"\n",(0,o.jsxs)(s.p,{children:["The browser list by default is provided through the ",(0,o.jsx)(s.code,{children:"package.json"})," file as a root ",(0,o.jsx)(s.code,{children:"browserslist"})," field."]}),"\n",(0,o.jsx)(s.admonition,{type:"warning",children:(0,o.jsx)(s.p,{children:"On old browsers, the compiled output will use unsupported (too recent) JS syntax, causing React to fail to initialize and end up with a static website with only HTML/CSS and no JS."})}),"\n",(0,o.jsx)(s.h2,{id:"default-values",children:"Default values"}),"\n",(0,o.jsxs)(s.p,{children:["Websites initialized with the default classic template has the following in ",(0,o.jsx)(s.code,{children:"package.json"}),":"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-json",metastring:'title="package.json"',children:'{\n "name": "docusaurus",\n // ...\n // highlight-start\n "browserslist": {\n "production": [">0.5%", "not dead", "not op_mini all"],\n "development": [\n "last 1 chrome version",\n "last 1 firefox version",\n "last 1 safari version"\n ]\n }\n // highlight-end\n // ...\n}\n'})}),"\n",(0,o.jsx)(s.p,{children:"Explained in natural language, the browsers supported in production are those:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["With more than 0.5% of market share; ",(0,o.jsx)(s.em,{children:"and"})]}),"\n",(0,o.jsxs)(s.li,{children:['Has official support or updates in the past 24 months (the opposite of "dead"); ',(0,o.jsx)(s.em,{children:"and"})]}),"\n",(0,o.jsx)(s.li,{children:"Is not Opera Mini."}),"\n"]}),"\n",(0,o.jsx)(s.p,{children:"And browsers used in development are:"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["The latest version of Chrome ",(0,o.jsx)(s.em,{children:"or"})," Firefox ",(0,o.jsx)(s.em,{children:"or"})," Safari."]}),"\n"]}),"\n",(0,o.jsxs)(s.p,{children:['You can "evaluate" any config with the ',(0,o.jsx)(s.code,{children:"browserslist"})," CLI to obtain the actual list:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-bash",children:'npx browserslist --env="production"\n'})}),"\n",(0,o.jsx)(s.p,{children:"The output is all browsers supported in production. Below is the output in January 2022:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-text",children:"and_chr 96\nand_uc 12.12\nchrome 96\nchrome 95\nchrome 94\nedge 96\nfirefox 95\nfirefox 94\nie 11\nios_saf 15.2\nios_saf 15.0-15.1\nios_saf 14.5-14.8\nios_saf 14.0-14.4\nios_saf 12.2-12.5\nopera 82\nopera 81\nsafari 15.1\nsafari 14.1\nsafari 13.1\n"})}),"\n",(0,o.jsx)(s.h2,{id:"read-more",children:"Read more"}),"\n",(0,o.jsxs)(s.p,{children:["You may wish to visit the ",(0,o.jsx)(s.a,{href:"https://github.com/browserslist/browserslist/blob/main/README.md",children:"browserslist documentation"})," for more specifications, especially the accepted ",(0,o.jsx)(s.a,{href:"https://github.com/browserslist/browserslist/blob/main/README.md#queries",children:"query values"})," and ",(0,o.jsx)(s.a,{href:"https://github.com/browserslist/browserslist/blob/main/README.md#best-practices",children:"best practices"}),"."]})]})}function p(e={}){let{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,s,n){n.d(s,{Z:()=>a,a:()=>i});var r=n(67294);let o={},t=r.createContext(o);function i(e){let s=r.useContext(t);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3f37e3c4.f0b28d23.js b/assets/js/3f37e3c4.f0b28d23.js new file mode 100644 index 0000000000..f8c4a6525f --- /dev/null +++ b/assets/js/3f37e3c4.f0b28d23.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["63998"],{29140:function(e,s,r){r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>h,default:()=>o,frontMatter:()=>n,metadata:()=>l,toc:()=>c});var l=r(83629),i=r(85893),t=r(80980);let n={mdx:{format:"md"},date:"2021-06-30T20:00",authors:["AuHau","bperlmutter","dirslashls","iamayushdas","Josh-Cena","jsamr","kdrag0n","lex111","ramiy","slorber","taylorreece"]},h="2.0.0-beta.3",a={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},c=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 11",id:"committers-11",level:2}];function u(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5092",children:"#5092"})," feat(v2): add icon to external footer links (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5080",children:"#5080"})," fix(v2): classic theme - semantic correct anchors links (",(0,i.jsx)(s.a,{href:"https://github.com/AuHau",children:"@AuHau"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5081",children:"#5081"})," fix(v2): restore previous scroll position on back button click (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5063",children:"#5063"})," fix(v2): restore responsive menu (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5094",children:"#5094"})," fix(v2): fix typos in swizzle command (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5095",children:"#5095"})," fix(v2): fix swizzle readComponent (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5059",children:"#5059"})," fix(v2): fix webpack SSG plugin error thrown due to new URL() / __filename (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5097",children:"#5097"})," fix(v2): fix useEffect infinite loop in blogOnly mode (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5074",children:"#5074"})," fix(v2): allow negative sidebar positions (",(0,i.jsx)(s.a,{href:"https://github.com/kdrag0n",children:"@kdrag0n"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5093",children:"#5093"})," fix(v2): redirect from should work with trailingSlash: true (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5085",children:"#5085"})," fix(v2): redirect plugin should emit redirect files with lower precedence than redirect target (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5082",children:"#5082"})," fix(v2): never remove trailing slash from site root like '/baseUrl/' (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5068",children:"#5068"})," fix(v2): sitemap should respect the global trailingSlash config option. (",(0,i.jsx)(s.a,{href:"https://github.com/taylorreece",children:"@taylorreece"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-types"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5058",children:"#5058"})," fix(v2): fix bad @docusaurus/types Plugin type generics (",(0,i.jsx)(s.a,{href:"https://github.com/jsamr",children:"@jsamr"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5064",children:"#5064"})," docs(v2): Rewrite markdown images section (",(0,i.jsx)(s.a,{href:"https://github.com/ramiy",children:"@ramiy"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5086",children:"#5086"})," docs(v2): Add SQL Frames to the showcase (",(0,i.jsx)(s.a,{href:"https://github.com/dirslashls",children:"@dirslashls"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5073",children:"#5073"})," docs(v2): update installation docs (",(0,i.jsx)(s.a,{href:"https://github.com/iamayushdas",children:"@iamayushdas"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5061",children:"#5061"})," docs(v2:) Divide ",(0,i.jsx)(s.code,{children:"markdown-features/code-blocks"})," to smaller sections (",(0,i.jsx)(s.a,{href:"https://github.com/ramiy",children:"@ramiy"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5066",children:"#5066"})," docs(v2): correct typo (",(0,i.jsx)(s.a,{href:"https://github.com/bperlmutter",children:"@bperlmutter"}),")"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-types"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5067",children:"#5067"})," chore: unstable yarn.lock (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5057",children:"#5057"})," chore(v2): upgrade examples to beta.2 (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"committers-11",children:"Committers: 11"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Adam Uhl\xed\u0159 (",(0,i.jsx)(s.a,{href:"https://github.com/AuHau",children:"@AuHau"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ayush das (",(0,i.jsx)(s.a,{href:"https://github.com/iamayushdas",children:"@iamayushdas"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Danny Lin (",(0,i.jsx)(s.a,{href:"https://github.com/kdrag0n",children:"@kdrag0n"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Joshua Chen (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Jules Sam. Randolph (",(0,i.jsx)(s.a,{href:"https://github.com/jsamr",children:"@jsamr"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Rami Yushuvaev (",(0,i.jsx)(s.a,{href:"https://github.com/ramiy",children:"@ramiy"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Taylor Reece (",(0,i.jsx)(s.a,{href:"https://github.com/taylorreece",children:"@taylorreece"}),")"]}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/bperlmutter",children:"@bperlmutter"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/dirslashls",children:"@dirslashls"})}),"\n"]})]})}function o(e={}){let{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},80980:function(e,s,r){r.d(s,{Z:()=>h,a:()=>n});var l=r(67294);let i={},t=l.createContext(i);function n(e){let s=l.useContext(t);return l.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function h(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),l.createElement(t.Provider,{value:s},e.children)}},83629:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.3","source":"@site/changelog/source/2.0.0-beta.3.md","title":"2.0.0-beta.3","description":"New Feature","date":"2021-06-30T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Adam Uhl\xed\u0159","alias":"AuHau","url":"https://github.com/AuHau","imageURL":"https://github.com/AuHau.png","key":"AuHau","page":null},{"name":"bperlmutter","alias":"bperlmutter","url":"https://github.com/bperlmutter","imageURL":"https://github.com/bperlmutter.png","key":"bperlmutter","page":null},{"name":"dirslashls","alias":"dirslashls","url":"https://github.com/dirslashls","imageURL":"https://github.com/dirslashls.png","key":"dirslashls","page":null},{"name":"Ayush das","alias":"iamayushdas","url":"https://github.com/iamayushdas","imageURL":"https://github.com/iamayushdas.png","key":"iamayushdas","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jules Sam. Randolph","alias":"jsamr","url":"https://github.com/jsamr","imageURL":"https://github.com/jsamr.png","key":"jsamr","page":null},{"name":"Danny Lin","alias":"kdrag0n","url":"https://github.com/kdrag0n","imageURL":"https://github.com/kdrag0n.png","key":"kdrag0n","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Rami Yushuvaev","alias":"ramiy","url":"https://github.com/ramiy","imageURL":"https://github.com/ramiy.png","key":"ramiy","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-06-30T20:00","authors":["AuHau","bperlmutter","dirslashls","iamayushdas","Josh-Cena","jsamr","kdrag0n","lex111","ramiy","slorber","taylorreece"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.4","permalink":"/changelog/2.0.0-beta.4"},"nextItem":{"title":"2.0.0-beta.2","permalink":"/changelog/2.0.0-beta.2"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/3f602128.227f6b45.js b/assets/js/3f602128.227f6b45.js new file mode 100644 index 0000000000..a817d3f04c --- /dev/null +++ b/assets/js/3f602128.227f6b45.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["17871"],{50164:function(e){e.exports=JSON.parse('{"metadata":{"permalink":"/changelog/page/2","page":2,"postsPerPage":20,"totalPages":6,"totalCount":105,"previousPage":"/changelog","nextPage":"/changelog/page/3","blogDescription":"Keep yourself up-to-date about new features in every release","blogTitle":"Docusaurus changelog"}}')}}]); \ No newline at end of file diff --git a/assets/js/3fd4127d.0e678f87.js b/assets/js/3fd4127d.0e678f87.js new file mode 100644 index 0000000000..bf50f86ab1 --- /dev/null +++ b/assets/js/3fd4127d.0e678f87.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["84524"],{27053:function(e,s,t){t.d(s,{Z:()=>a});let a=t.p+"assets/images/social-card-5214adcb56c496fa6afc571fb4d378f6.png"},36812:function(e,s,t){t.d(s,{Z:()=>a});let a=t.p+"assets/images/social-card-5214adcb56c496fa6afc571fb4d378f6.png"},39484:function(e,s,t){t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var a=t(19896),r=t(85893),n=t(80980);let o={title:"Docusaurus 3.6",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-11-04T00:00:00.000Z")},i=void 0,c={image:t(27053).Z,authorsImageUrls:[void 0]},l=[];function u(e){let s={a:"a",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s.p,{children:["We are happy to announce ",(0,r.jsx)(s.strong,{children:"Docusaurus 3.6"}),"."]}),"\n",(0,r.jsxs)(s.p,{children:["Docusaurus is now \u26A1\uFE0F\u26A1\uFE0F\u26A1\uFE0F ",(0,r.jsx)(s.strong,{children:"much faster"})," to build your site."]}),"\n",(0,r.jsxs)(s.p,{children:["Upgrading should be easy. Our ",(0,r.jsx)(s.a,{href:"/community/release-process",children:"release process"})," respects ",(0,r.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),". Minor versions do not include any breaking changes."]}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.img,{alt:"Docusaurus blog post social card",src:t(36812).Z+"",width:"1200",height:"600"})})]})}function p(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,s,t){t.d(s,{Z:()=>i,a:()=>o});var a=t(67294);let r={},n=a.createContext(r);function o(e){let s=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(n.Provider,{value:s},e.children)}},19896:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.6","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.6/index.mdx","source":"@site/blog/releases/3.6/index.mdx","title":"Docusaurus 3.6","description":"We are happy to announce Docusaurus 3.6.","date":"2024-11-04T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":5.91,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.6","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-11-04T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.7","permalink":"/blog/releases/3.7"},"nextItem":{"title":"Docusaurus 3.5","permalink":"/blog/releases/3.5"}}')}}]); \ No newline at end of file diff --git a/assets/js/40011a75.fc66df1b.js b/assets/js/40011a75.fc66df1b.js new file mode 100644 index 0000000000..eee46b6f46 --- /dev/null +++ b/assets/js/40011a75.fc66df1b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["99318"],{74563:function(e){e.exports=JSON.parse('{"metadata":{"permalink":"/blog/page/4","page":4,"postsPerPage":5,"totalPages":6,"totalCount":26,"previousPage":"/blog/page/3","nextPage":"/blog/page/5","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/4052c491.561accd5.js b/assets/js/4052c491.561accd5.js new file mode 100644 index 0000000000..701a27df45 --- /dev/null +++ b/assets/js/4052c491.561accd5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["40055"],{71261:function(e,t,i){i.d(t,{Z:()=>s});let s=i.p+"assets/images/endi-f942c4eafb5f650832b4327bfbadae4f.jpg"},93717:function(e,t,i){i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>s,toc:()=>u});var s=i(10222),a=i(85893),o=i(80980);let n={title:"Tribute to Endi",authors:"JMarcey",tags:["endi","tribute"]},r=void 0,c={authorsImageUrls:[void 0]},u=[];function l(e){let t={a:"a",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(t.p,{children:["It is with great sadness to announce that our primary external Docusaurus contributor, ",(0,a.jsx)(t.a,{href:"https://github.com/endiliey",children:"Endilie Yacop Sucipto"})," (Endi to those who knew him), ",(0,a.jsx)(t.a,{href:"https://give.asia/campaign/help_endi_beat_cancer#/updates",children:"passed away"})," over the weekend after an illness associated with his bout with cancer."]}),"\n",(0,a.jsx)(t.p,{children:"It is impossible to overstate Endi's impact on this project:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:["Docusaurus' top contributor, ",(0,a.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/graphs/contributors",children:"by far"}),"."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.a,{href:"https://docusaurus.io/blog/2018/09/11/Towards-Docusaurus-2",children:"Lead developer"})," on the nearly complete ",(0,a.jsx)(t.a,{href:"https://docusaurus.io/blog/2019/12/30/docusaurus-2019-recap",children:"version 2 of Docusaurus"}),"."]}),"\n",(0,a.jsxs)(t.li,{children:["Overall passionate advocate of the project on ",(0,a.jsx)(t.a,{href:"https://x.com/endiliey",children:"X"}),", ",(0,a.jsx)(t.a,{href:"https://discord.gg/docusaurus",children:"Discord"})," and other social media"]}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"Thinking about it now, it is absolutely amazing how much Endi accomplished on Docusaurus given what he was battling with his health."}),"\n",(0,a.jsxs)(t.p,{children:["We are working on ways to honor Endi's contributions - a commemorative sticker, possibly - and we are open to ideas. Leave a comment here or ",(0,a.jsx)(t.a,{href:"https://x.com/docusaurus",children:"tweet"})," if you have a suggestion."]}),"\n",(0,a.jsx)(t.p,{children:"The Docusaurus project will not be the same without Endi, and those of us who worked with him will miss him greatly. \uD83D\uDE14"}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"A photo from behind Endi's back, with Endi sitting on a rock cliff, facing the vast sea. His right hand forms a V pose.",src:i(71261).Z+"",width:"1080",height:"1080"})})]})}function h(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},80980:function(e,t,i){i.d(t,{Z:()=>r,a:()=>n});var s=i(67294);let a={},o=s.createContext(a);function n(e){let t=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:n(e.components),s.createElement(o.Provider,{value:t},e.children)}},10222:function(e){e.exports=JSON.parse('{"permalink":"/blog/2020/01/07/tribute-to-endi","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2020/01-07-tribute-to-endi.mdx","source":"@site/blog/2020/01-07-tribute-to-endi.mdx","title":"Tribute to Endi","description":"It is with great sadness to announce that our primary external Docusaurus contributor, Endilie Yacop Sucipto (Endi to those who knew him), passed away over the weekend after an illness associated with his bout with cancer.","date":"2020-01-07T00:00:00.000Z","tags":[{"inline":false,"label":"Endi","permalink":"/blog/tags/endi"},{"inline":false,"label":"Tribute","permalink":"/blog/tags/tribute"}],"readingTime":0.895,"hasTruncateMarker":true,"authors":[{"name":"Joel Marcey","title":"Developer Advocate at Meta","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{"x":"https://x.com/joelmarcey","github":"https://github.com/JoelMarcey"},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Tribute to Endi","authors":"JMarcey","tags":["endi","tribute"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2020 Recap","permalink":"/blog/2021/01/19/docusaurus-2020-recap"},"nextItem":{"title":"Docusaurus 2019 Recap","permalink":"/blog/2019/12/30/docusaurus-2019-recap"}}')}}]); \ No newline at end of file diff --git a/assets/js/409b40b6.08c597d2.js b/assets/js/409b40b6.08c597d2.js new file mode 100644 index 0000000000..94fcec1ea7 --- /dev/null +++ b/assets/js/409b40b6.08c597d2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["77827"],{98653:function(e){e.exports=JSON.parse('{"name":"feature-requests-plugin","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/40b17095.c20606b2.js b/assets/js/40b17095.c20606b2.js new file mode 100644 index 0000000000..baeef6c94e --- /dev/null +++ b/assets/js/40b17095.c20606b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["25303"],{82625:function(a,e,n){n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>h,default:()=>m,frontMatter:()=>o,metadata:()=>t,toc:()=>g});var t=n(44353),l=n(85893),i=n(80980);let o={mdx:{format:"md"},date:"2020-08-28T20:00",authors:["adinaja","ajifrank75","Ako92","amy-lei","anshulrgoyal","arcvats","arthur-flam","BogdanDor","boosh511","Danon","Drewbi","dschaller","fanny","FocalChord","francoischalifour","govardhan-srinivas","hsluoyz","imskr","JeanMarcSaad","JohnnyCrazy","Jonathannsegal","lebogangolifant","leoigel","mecm1993","MirzayevFarid","nebrelbug","olawanlejoel","orta","SamChou19815","shalinikumari50","slorber","Souravdey777","teikjun","thehanimo","tolunayakbulut","vandreleal","Vinnl","yangshun","ylemkimon"]},h="2.0.0-alpha.62",u={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},g=[];function r(a){return(0,l.jsx)(l.Fragment,{})}function m(a={}){let{wrapper:e}={...(0,i.a)(),...a.components};return e?(0,l.jsx)(e,{...a,children:(0,l.jsx)(r,{...a})}):r(a)}},80980:function(a,e,n){n.d(e,{Z:()=>h,a:()=>o});var t=n(67294);let l={},i=t.createContext(l);function o(a){let e=t.useContext(i);return t.useMemo(function(){return"function"==typeof a?a(e):{...e,...a}},[e,a])}function h(a){let e;return e=a.disableParentContext?"function"==typeof a.components?a.components(l):a.components||l:o(a.components),t.createElement(i.Provider,{value:e},a.children)}},44353:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.62","source":"@site/changelog/source/2.0.0-alpha.62.md","title":"2.0.0-alpha.62","description":"New Feature","date":"2020-08-28T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"adinaja","alias":"adinaja","url":"https://github.com/adinaja","imageURL":"https://github.com/adinaja.png","key":"adinaja","page":null},{"name":"Franklyn Chisom","alias":"ajifrank75","url":"https://github.com/ajifrank75","imageURL":"https://github.com/ajifrank75.png","key":"ajifrank75","page":null},{"name":"Ali Hosseini","alias":"Ako92","url":"https://github.com/Ako92","imageURL":"https://github.com/Ako92.png","key":"Ako92","page":null},{"name":"Amy Lei","alias":"amy-lei","url":"https://github.com/amy-lei","imageURL":"https://github.com/amy-lei.png","key":"amy-lei","page":null},{"name":"Anshul Goyal","alias":"anshulrgoyal","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","key":"anshulrgoyal","page":null},{"name":"Archit","alias":"arcvats","url":"https://github.com/arcvats","imageURL":"https://github.com/arcvats.png","key":"arcvats","page":null},{"name":"Arthur Flam","alias":"arthur-flam","url":"https://github.com/arthur-flam","imageURL":"https://github.com/arthur-flam.png","key":"arthur-flam","page":null},{"name":"Bogdan Doroschenko","alias":"BogdanDor","url":"https://github.com/BogdanDor","imageURL":"https://github.com/BogdanDor.png","key":"BogdanDor","page":null},{"name":"alex busnelli","alias":"boosh511","url":"https://github.com/boosh511","imageURL":"https://github.com/boosh511.png","key":"boosh511","page":null},{"name":"Daniel Wilkowski","alias":"Danon","url":"https://github.com/Danon","imageURL":"https://github.com/Danon.png","key":"Danon","page":null},{"name":"Drew Alexander","alias":"Drewbi","url":"https://github.com/Drewbi","imageURL":"https://github.com/Drewbi.png","key":"Drewbi","page":null},{"name":"Derek","alias":"dschaller","url":"https://github.com/dschaller","imageURL":"https://github.com/dschaller.png","key":"dschaller","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"Nisarag","alias":"FocalChord","url":"https://github.com/FocalChord","imageURL":"https://github.com/FocalChord.png","key":"FocalChord","page":null},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},{"name":"Govardhan Srinivas","alias":"govardhan-srinivas","url":"https://github.com/govardhan-srinivas","imageURL":"https://github.com/govardhan-srinivas.png","key":"govardhan-srinivas","page":null},{"name":"Yang Luo","alias":"hsluoyz","url":"https://github.com/hsluoyz","imageURL":"https://github.com/hsluoyz.png","key":"hsluoyz","page":null},{"name":"Shubham Kumar","alias":"imskr","url":"https://github.com/imskr","imageURL":"https://github.com/imskr.png","key":"imskr","page":null},{"name":"Jean-Marc Saad","alias":"JeanMarcSaad","url":"https://github.com/JeanMarcSaad","imageURL":"https://github.com/JeanMarcSaad.png","key":"JeanMarcSaad","page":null},{"name":"Jonas Dellinger","alias":"JohnnyCrazy","url":"https://github.com/JohnnyCrazy","imageURL":"https://github.com/JohnnyCrazy.png","key":"JohnnyCrazy","page":null},{"name":"Jonathan","alias":"Jonathannsegal","url":"https://github.com/Jonathannsegal","imageURL":"https://github.com/Jonathannsegal.png","key":"Jonathannsegal","page":null},{"name":"lebogang Olifant","alias":"lebogangolifant","url":"https://github.com/lebogangolifant","imageURL":"https://github.com/lebogangolifant.png","key":"lebogangolifant","page":null},{"name":"leoigel","alias":"leoigel","url":"https://github.com/leoigel","imageURL":"https://github.com/leoigel.png","key":"leoigel","page":null},{"name":"Manuel Cepeda","alias":"mecm1993","url":"https://github.com/mecm1993","imageURL":"https://github.com/mecm1993.png","key":"mecm1993","page":null},{"name":"Mirzayev Farid","alias":"MirzayevFarid","url":"https://github.com/MirzayevFarid","imageURL":"https://github.com/MirzayevFarid.png","key":"MirzayevFarid","page":null},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},{"name":"Olawanle Joel","alias":"olawanlejoel","url":"https://github.com/olawanlejoel","imageURL":"https://github.com/olawanlejoel.png","key":"olawanlejoel","page":null},{"name":"Orta Therox","alias":"orta","url":"https://github.com/orta","imageURL":"https://github.com/orta.png","key":"orta","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"shalinikumari50","alias":"shalinikumari50","url":"https://github.com/shalinikumari50","imageURL":"https://github.com/shalinikumari50.png","key":"shalinikumari50","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Sourav Dey","alias":"Souravdey777","url":"https://github.com/Souravdey777","imageURL":"https://github.com/Souravdey777.png","key":"Souravdey777","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"Hani Mohammed","alias":"thehanimo","url":"https://github.com/thehanimo","imageURL":"https://github.com/thehanimo.png","key":"thehanimo","page":null},{"name":"Tolunay Akbulut","alias":"tolunayakbulut","url":"https://github.com/tolunayakbulut","imageURL":"https://github.com/tolunayakbulut.png","key":"tolunayakbulut","page":null},{"name":"Vandr\xe9 Leal","alias":"vandreleal","url":"https://github.com/vandreleal","imageURL":"https://github.com/vandreleal.png","key":"vandreleal","page":null},{"name":"Vincent","alias":"Vinnl","url":"https://github.com/Vinnl","imageURL":"https://github.com/Vinnl.png","key":"Vinnl","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"ylemkimon","alias":"ylemkimon","url":"https://github.com/ylemkimon","imageURL":"https://github.com/ylemkimon.png","key":"ylemkimon","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-08-28T20:00","authors":["adinaja","ajifrank75","Ako92","amy-lei","anshulrgoyal","arcvats","arthur-flam","BogdanDor","boosh511","Danon","Drewbi","dschaller","fanny","FocalChord","francoischalifour","govardhan-srinivas","hsluoyz","imskr","JeanMarcSaad","JohnnyCrazy","Jonathannsegal","lebogangolifant","leoigel","mecm1993","MirzayevFarid","nebrelbug","olawanlejoel","orta","SamChou19815","shalinikumari50","slorber","Souravdey777","teikjun","thehanimo","tolunayakbulut","vandreleal","Vinnl","yangshun","ylemkimon"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.63","permalink":"/changelog/2.0.0-alpha.63"},"nextItem":{"title":"2.0.0-alpha.61","permalink":"/changelog/2.0.0-alpha.61"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/41db61f9.70ca9b5c.js b/assets/js/41db61f9.70ca9b5c.js new file mode 100644 index 0000000000..2fe4d7f9cd --- /dev/null +++ b/assets/js/41db61f9.70ca9b5c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["1438"],{29060:function(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>i});var a=n(81290),r=n(85893),o=n(80980);let s={mdx:{format:"md"},date:"2019-07-21T20:00"},c="2.0.0-alpha.23",l={authorsImageUrls:[]},i=[];function u(e){return(0,r.jsx)(r.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>c,a:()=>s});var a=n(67294);let r={},o=a.createContext(r);function s(e){let t=a.useContext(o);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),a.createElement(o.Provider,{value:t},e.children)}},81290:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.23","source":"@site/changelog/source/2.0.0-alpha.23.md","title":"2.0.0-alpha.23","description":"- Fix docusaurus route config generation for certain edge case","date":"2019-07-21T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-07-21T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.24","permalink":"/changelog/2.0.0-alpha.24"},"nextItem":{"title":"2.0.0-alpha.22","permalink":"/changelog/2.0.0-alpha.22"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/41f17299.d45b2997.js b/assets/js/41f17299.d45b2997.js new file mode 100644 index 0000000000..3640eacd16 --- /dev/null +++ b/assets/js/41f17299.d45b2997.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["58070"],{49908:function(e,t,n){n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>u});var r=n(2536),o=n(85893),a=n(80980);let s={mdx:{format:"md"},date:"2024-05-03T20:00",authors:["slorber"]},l="3.3.2",i={authorsImageUrls:[void 0]},u=[];function c(e){return(0,o.jsx)(o.Fragment,{})}function m(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>s});var r=n(67294);let o={},a=r.createContext(o);function s(e){let t=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(a.Provider,{value:t},e.children)}},2536:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.3.2","source":"@site/changelog/source/3.3.2.md","title":"3.3.2","description":"Bug Fix","date":"2024-05-03T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-05-03T20:00","authors":["slorber"]},"unlisted":false,"prevItem":{"title":"3.4.0","permalink":"/changelog/3.4.0"},"nextItem":{"title":"3.3.1","permalink":"/changelog/3.3.1"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/41f89139.80c7dbeb.js b/assets/js/41f89139.80c7dbeb.js new file mode 100644 index 0000000000..048300a5e0 --- /dev/null +++ b/assets/js/41f89139.80c7dbeb.js @@ -0,0 +1 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["95424"],{20120:function(e,t,s){"use strict";s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>g,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>u});var o=s(91179),n=s(85893),l=s(80980),a=s(83631);let r={title:"Blog post MDX require Feed tests",authors:["slorber"],tags:["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"]},g=void 0,i={authorsImageUrls:[void 0]},u=[];function d(e){let t={p:"p",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Some MDX tests, mostly to test how the RSS feed render those"}),"\n","\n",(0,n.jsx)(t.p,{children:"Test MDX with require calls"}),"\n","\n",(0,n.jsx)("img",{src:(0,a.ZP)("/img/docusaurus.png")}),"\n",(0,n.jsx)("img",{src:s(41949).default}),"\n",(0,n.jsx)("img",{src:s(41949).default})]})}function p(e={}){let{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},41949:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/docusaurus.30c6ff4.200.png 200w",images:[{path:s.p+"assets/ideal-img/docusaurus.30c6ff4.200.png",width:200,height:200}],src:s.p+"assets/ideal-img/docusaurus.30c6ff4.200.png",toString:function(){return s.p+"assets/ideal-img/docusaurus.30c6ff4.200.png"},placeholder:void 0,width:200,height:200},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAABm0lEQVR4nEXNP0hbQQDH8aM0RQoudlNwdZLg00IaffdCCDpoqlhSGzV3xxOz6FRq5w6BQkcVJIJYCFg6CILQQqGkgkjiu5fEf0QjBlETmyJaEKSm5n7yunT4bh9+P0IIIe2y73GgFG3u3h1rMJLGw6iMu6KIu+KQLgAPHENCu6FHdJOtepPhGz0VOaa2kB5rJNORemW3/RjcaV3rX27JP68ngfxEI7X5b/d8D559G1K+/BjC+28xeRBTbw4+4N3x7N/3p3NuErDNRn2TXfm2TOgWq1HJ1VLxq5KHhZp1WMB2oVgtnlbcxOtAya6MjIAhmfJaHHzPxMzZuFqoTCJx/vouUZrSiCfLmv7BrAC1uNItjhd7EXwsD+Ki5K9d3/Uh9nN4+v9iVkC3uPLbHJ/LIXzJdSO1ruOs0oscwj2ky+KdVPJLI2dCl0L5MgIjBYbh/VGspAO1i8texH5FZgmV7BOV3Lm9pZJVnbp2RDV4JKr2efBP+bof4ydskTxNR55402aHviE0J/+G0DxSaDOllxow0P79dtRNkrzuHtwg5HIaPwQEAAAAAElFTkSuQmCC"}},80980:function(e,t,s){"use strict";s.d(t,{Z:()=>r,a:()=>a});var o=s(67294);let n={},l=o.createContext(n);function a(e){let t=o.useContext(l);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),o.createElement(l.Provider,{value:t},e.children)}},91179:function(e){"use strict";e.exports=JSON.parse('{"permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-10-08-blog-post-mdx-require-feed-tests.mdx","source":"@site/_dogfooding/_blog tests/2021-10-08-blog-post-mdx-require-feed-tests.mdx","title":"Blog post MDX require Feed tests","description":"Some MDX tests, mostly to test how the RSS feed render those","date":"2021-10-08T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"},{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long"},{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long"},{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long"}],"readingTime":6.6,"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Blog post MDX require Feed tests","authors":["slorber"],"tags":["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"]},"unlisted":false,"prevItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/11/13/dup-title"},"nextItem":{"title":"Blog post MDX Feed tests","permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests"}}')}}]); \ No newline at end of file diff --git a/assets/js/42032.faa91285.js b/assets/js/42032.faa91285.js new file mode 100644 index 0000000000..fe8312661d --- /dev/null +++ b/assets/js/42032.faa91285.js @@ -0,0 +1,5 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["42032"],{55060:function(t,e,a){a.d(e,{diagram:()=>tv});var n,i=a(93737),s=a(84890),r=a(28923),l=a(11141),o=a(7608),h=function(){var t=(0,r.eW)(function(t,e,a,n){for(a=a||{},n=t.length;n--;a[t[n]]=e);return a},"o"),e=[1,24],a=[1,25],n=[1,26],i=[1,27],s=[1,28],l=[1,63],o=[1,64],h=[1,65],d=[1,66],u=[1,67],p=[1,68],y=[1,69],b=[1,29],f=[1,30],g=[1,31],x=[1,32],_=[1,33],m=[1,34],E=[1,35],A=[1,36],S=[1,37],C=[1,38],k=[1,39],O=[1,40],w=[1,41],T=[1,42],v=[1,43],R=[1,44],D=[1,45],N=[1,46],W=[1,47],P=[1,48],M=[1,50],B=[1,51],j=[1,52],Y=[1,53],I=[1,54],L=[1,55],U=[1,56],F=[1,57],X=[1,58],z=[1,59],Q=[1,60],$=[14,42],q=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],V=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],H=[1,82],G=[1,83],K=[1,84],J=[1,85],Z=[12,14,42],tt=[12,14,33,42],te=[12,14,33,42,76,77,79,80],ta=[12,33],tn=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ti={trace:(0,r.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:(0,r.eW)(function(t,e,a,n,i,s,r){var l=s.length-1;switch(i){case 3:n.setDirection("TB");break;case 4:n.setDirection("BT");break;case 5:n.setDirection("RL");break;case 6:n.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:n.setC4Type(s[l-3]);break;case 19:n.setTitle(s[l].substring(6)),this.$=s[l].substring(6);break;case 20:n.setAccDescription(s[l].substring(15)),this.$=s[l].substring(15);break;case 21:this.$=s[l].trim(),n.setTitle(this.$);break;case 22:case 23:this.$=s[l].trim(),n.setAccDescription(this.$);break;case 28:s[l].splice(2,0,"ENTERPRISE"),n.addPersonOrSystemBoundary(...s[l]),this.$=s[l];break;case 29:s[l].splice(2,0,"SYSTEM"),n.addPersonOrSystemBoundary(...s[l]),this.$=s[l];break;case 30:n.addPersonOrSystemBoundary(...s[l]),this.$=s[l];break;case 31:s[l].splice(2,0,"CONTAINER"),n.addContainerBoundary(...s[l]),this.$=s[l];break;case 32:n.addDeploymentNode("node",...s[l]),this.$=s[l];break;case 33:n.addDeploymentNode("nodeL",...s[l]),this.$=s[l];break;case 34:n.addDeploymentNode("nodeR",...s[l]),this.$=s[l];break;case 35:n.popBoundaryParseStack();break;case 39:n.addPersonOrSystem("person",...s[l]),this.$=s[l];break;case 40:n.addPersonOrSystem("external_person",...s[l]),this.$=s[l];break;case 41:n.addPersonOrSystem("system",...s[l]),this.$=s[l];break;case 42:n.addPersonOrSystem("system_db",...s[l]),this.$=s[l];break;case 43:n.addPersonOrSystem("system_queue",...s[l]),this.$=s[l];break;case 44:n.addPersonOrSystem("external_system",...s[l]),this.$=s[l];break;case 45:n.addPersonOrSystem("external_system_db",...s[l]),this.$=s[l];break;case 46:n.addPersonOrSystem("external_system_queue",...s[l]),this.$=s[l];break;case 47:n.addContainer("container",...s[l]),this.$=s[l];break;case 48:n.addContainer("container_db",...s[l]),this.$=s[l];break;case 49:n.addContainer("container_queue",...s[l]),this.$=s[l];break;case 50:n.addContainer("external_container",...s[l]),this.$=s[l];break;case 51:n.addContainer("external_container_db",...s[l]),this.$=s[l];break;case 52:n.addContainer("external_container_queue",...s[l]),this.$=s[l];break;case 53:n.addComponent("component",...s[l]),this.$=s[l];break;case 54:n.addComponent("component_db",...s[l]),this.$=s[l];break;case 55:n.addComponent("component_queue",...s[l]),this.$=s[l];break;case 56:n.addComponent("external_component",...s[l]),this.$=s[l];break;case 57:n.addComponent("external_component_db",...s[l]),this.$=s[l];break;case 58:n.addComponent("external_component_queue",...s[l]),this.$=s[l];break;case 60:n.addRel("rel",...s[l]),this.$=s[l];break;case 61:n.addRel("birel",...s[l]),this.$=s[l];break;case 62:n.addRel("rel_u",...s[l]),this.$=s[l];break;case 63:n.addRel("rel_d",...s[l]),this.$=s[l];break;case 64:n.addRel("rel_l",...s[l]),this.$=s[l];break;case 65:n.addRel("rel_r",...s[l]),this.$=s[l];break;case 66:n.addRel("rel_b",...s[l]),this.$=s[l];break;case 67:s[l].splice(0,1),n.addRel("rel",...s[l]),this.$=s[l];break;case 68:n.updateElStyle("update_el_style",...s[l]),this.$=s[l];break;case 69:n.updateRelStyle("update_rel_style",...s[l]),this.$=s[l];break;case 70:n.updateLayoutConfig("update_layout_config",...s[l]),this.$=s[l];break;case 71:this.$=[s[l]];break;case 72:s[l].unshift(s[l-1]),this.$=s[l];break;case 73:case 75:this.$=s[l].trim();break;case 74:let o={};o[s[l-1].trim()]=s[l].trim(),this.$=o;break;case 76:this.$=""}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:b,45:f,46:g,47:x,48:_,49:m,50:E,51:A,52:S,53:C,54:k,55:O,56:w,57:T,58:v,59:R,60:D,61:N,62:W,63:P,64:M,65:B,66:j,67:Y,68:I,69:L,70:U,71:F,72:X,73:z,74:Q},{13:70,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:b,45:f,46:g,47:x,48:_,49:m,50:E,51:A,52:S,53:C,54:k,55:O,56:w,57:T,58:v,59:R,60:D,61:N,62:W,63:P,64:M,65:B,66:j,67:Y,68:I,69:L,70:U,71:F,72:X,73:z,74:Q},{13:71,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:b,45:f,46:g,47:x,48:_,49:m,50:E,51:A,52:S,53:C,54:k,55:O,56:w,57:T,58:v,59:R,60:D,61:N,62:W,63:P,64:M,65:B,66:j,67:Y,68:I,69:L,70:U,71:F,72:X,73:z,74:Q},{13:72,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:b,45:f,46:g,47:x,48:_,49:m,50:E,51:A,52:S,53:C,54:k,55:O,56:w,57:T,58:v,59:R,60:D,61:N,62:W,63:P,64:M,65:B,66:j,67:Y,68:I,69:L,70:U,71:F,72:X,73:z,74:Q},{13:73,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:b,45:f,46:g,47:x,48:_,49:m,50:E,51:A,52:S,53:C,54:k,55:O,56:w,57:T,58:v,59:R,60:D,61:N,62:W,63:P,64:M,65:B,66:j,67:Y,68:I,69:L,70:U,71:F,72:X,73:z,74:Q},{14:[1,74]},t($,[2,13],{43:23,29:49,30:61,32:62,20:75,34:l,36:o,37:h,38:d,39:u,40:p,41:y,44:b,45:f,46:g,47:x,48:_,49:m,50:E,51:A,52:S,53:C,54:k,55:O,56:w,57:T,58:v,59:R,60:D,61:N,62:W,63:P,64:M,65:B,66:j,67:Y,68:I,69:L,70:U,71:F,72:X,73:z,74:Q}),t($,[2,14]),t(q,[2,16],{12:[1,76]}),t($,[2,36],{12:[1,77]}),t(V,[2,19]),t(V,[2,20]),{25:[1,78]},{27:[1,79]},t(V,[2,23]),{35:80,75:81,76:H,77:G,79:K,80:J},{35:86,75:81,76:H,77:G,79:K,80:J},{35:87,75:81,76:H,77:G,79:K,80:J},{35:88,75:81,76:H,77:G,79:K,80:J},{35:89,75:81,76:H,77:G,79:K,80:J},{35:90,75:81,76:H,77:G,79:K,80:J},{35:91,75:81,76:H,77:G,79:K,80:J},{35:92,75:81,76:H,77:G,79:K,80:J},{35:93,75:81,76:H,77:G,79:K,80:J},{35:94,75:81,76:H,77:G,79:K,80:J},{35:95,75:81,76:H,77:G,79:K,80:J},{35:96,75:81,76:H,77:G,79:K,80:J},{35:97,75:81,76:H,77:G,79:K,80:J},{35:98,75:81,76:H,77:G,79:K,80:J},{35:99,75:81,76:H,77:G,79:K,80:J},{35:100,75:81,76:H,77:G,79:K,80:J},{35:101,75:81,76:H,77:G,79:K,80:J},{35:102,75:81,76:H,77:G,79:K,80:J},{35:103,75:81,76:H,77:G,79:K,80:J},{35:104,75:81,76:H,77:G,79:K,80:J},t(Z,[2,59]),{35:105,75:81,76:H,77:G,79:K,80:J},{35:106,75:81,76:H,77:G,79:K,80:J},{35:107,75:81,76:H,77:G,79:K,80:J},{35:108,75:81,76:H,77:G,79:K,80:J},{35:109,75:81,76:H,77:G,79:K,80:J},{35:110,75:81,76:H,77:G,79:K,80:J},{35:111,75:81,76:H,77:G,79:K,80:J},{35:112,75:81,76:H,77:G,79:K,80:J},{35:113,75:81,76:H,77:G,79:K,80:J},{35:114,75:81,76:H,77:G,79:K,80:J},{35:115,75:81,76:H,77:G,79:K,80:J},{20:116,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:b,45:f,46:g,47:x,48:_,49:m,50:E,51:A,52:S,53:C,54:k,55:O,56:w,57:T,58:v,59:R,60:D,61:N,62:W,63:P,64:M,65:B,66:j,67:Y,68:I,69:L,70:U,71:F,72:X,73:z,74:Q},{12:[1,118],33:[1,117]},{35:119,75:81,76:H,77:G,79:K,80:J},{35:120,75:81,76:H,77:G,79:K,80:J},{35:121,75:81,76:H,77:G,79:K,80:J},{35:122,75:81,76:H,77:G,79:K,80:J},{35:123,75:81,76:H,77:G,79:K,80:J},{35:124,75:81,76:H,77:G,79:K,80:J},{35:125,75:81,76:H,77:G,79:K,80:J},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t($,[2,15]),t(q,[2,17],{21:22,19:130,22:e,23:a,24:n,26:i,28:s}),t($,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:a,24:n,26:i,28:s,34:l,36:o,37:h,38:d,39:u,40:p,41:y,44:b,45:f,46:g,47:x,48:_,49:m,50:E,51:A,52:S,53:C,54:k,55:O,56:w,57:T,58:v,59:R,60:D,61:N,62:W,63:P,64:M,65:B,66:j,67:Y,68:I,69:L,70:U,71:F,72:X,73:z,74:Q}),t(V,[2,21]),t(V,[2,22]),t(Z,[2,39]),t(tt,[2,71],{75:81,35:132,76:H,77:G,79:K,80:J}),t(te,[2,73]),{78:[1,133]},t(te,[2,75]),t(te,[2,76]),t(Z,[2,40]),t(Z,[2,41]),t(Z,[2,42]),t(Z,[2,43]),t(Z,[2,44]),t(Z,[2,45]),t(Z,[2,46]),t(Z,[2,47]),t(Z,[2,48]),t(Z,[2,49]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(Z,[2,54]),t(Z,[2,55]),t(Z,[2,56]),t(Z,[2,57]),t(Z,[2,58]),t(Z,[2,60]),t(Z,[2,61]),t(Z,[2,62]),t(Z,[2,63]),t(Z,[2,64]),t(Z,[2,65]),t(Z,[2,66]),t(Z,[2,67]),t(Z,[2,68]),t(Z,[2,69]),t(Z,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(ta,[2,28]),t(ta,[2,29]),t(ta,[2,30]),t(ta,[2,31]),t(ta,[2,32]),t(ta,[2,33]),t(ta,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(q,[2,18]),t($,[2,38]),t(tt,[2,72]),t(te,[2,74]),t(Z,[2,24]),t(Z,[2,35]),t(tn,[2,25]),t(tn,[2,26],{12:[1,138]}),t(tn,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:(0,r.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var a=Error(t);throw a.hash=e,a}},"parseError"),parse:(0,r.eW)(function(t){var e=this,a=[0],n=[],i=[null],s=[],l=this.table,o="",h=0,d=0,u=0,p=s.slice.call(arguments,1),y=Object.create(this.lexer),b={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(b.yy[f]=this.yy[f]);y.setInput(t,b.yy),b.yy.lexer=y,b.yy.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;s.push(g);var x=y.options&&y.options.ranges;function _(){var t;return"number"!=typeof(t=n.pop()||y.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof b.yy.parseError?this.parseError=b.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.eW)(function(t){a.length=a.length-2*t,i.length=i.length-t,s.length=s.length-t},"popStack"),(0,r.eW)(_,"lex");for(var m,E,A,S,C,k,O,w,T,v={};;){if(A=a[a.length-1],this.defaultActions[A]?S=this.defaultActions[A]:(null==m&&(m=_()),S=l[A]&&l[A][m]),void 0===S||!S.length||!S[0]){var R="";for(k in T=[],l[A])this.terminals_[k]&&k>2&&T.push("'"+this.terminals_[k]+"'");R=y.showPosition?"Parse error on line "+(h+1)+":\n"+y.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(R,{text:y.match,token:this.terminals_[m]||m,line:y.yylineno,loc:g,expected:T})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+A+", token: "+m);switch(S[0]){case 1:a.push(m),i.push(y.yytext),s.push(y.yylloc),a.push(S[1]),m=null,E?(m=E,E=null):(d=y.yyleng,o=y.yytext,h=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(O=this.productions_[S[1]][1],v.$=i[i.length-O],v._$={first_line:s[s.length-(O||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(O||1)].first_column,last_column:s[s.length-1].last_column},x&&(v._$.range=[s[s.length-(O||1)].range[0],s[s.length-1].range[1]]),void 0!==(C=this.performAction.apply(v,[o,d,h,b.yy,S[1],i,s].concat(p))))return C;O&&(a=a.slice(0,-1*O*2),i=i.slice(0,-1*O),s=s.slice(0,-1*O)),a.push(this.productions_[S[1]][0]),i.push(v.$),s.push(v._$),w=l[a[a.length-2]][a[a.length-1]],a.push(w);break;case 3:return!0}}return!0},"parse")},ts={EOF:1,parseError:(0,r.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,r.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,r.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,r.eW)(function(t){var e=t.length,a=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===n.length?this.yylloc.first_column:0)+n[n.length-a.length].length-a[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,r.eW)(function(){return this._more=!0,this},"more"),reject:(0,r.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,r.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,r.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,r.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,r.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,r.eW)(function(t,e){var a,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],a=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack)for(var s in i)this[s]=i[s];return!1},"test_match"),next:(0,r.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,a,n,i=this._currentRules(),s=0;s<i.length;s++)if((a=this._input.match(this.rules[i[s]]))&&(!e||a[0].length>e[0].length)){if(e=a,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(a,i[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,r.eW)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,r.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,r.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,r.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,r.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,r.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,r.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,r.eW)(function(t,e,a,n){switch(a){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};function tr(){this.yy={}}return ti.lexer=ts,(0,r.eW)(tr,"Parser"),tr.prototype=ti,ti.Parser=tr,new tr}();h.parser=h;var d=[],u=[""],p="global",y="",b=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],f=[],g="",x=!1,_=4,m=2,E=(0,r.eW)(function(){return n},"getC4Type"),A=(0,r.eW)(function(t){n=(0,r.oO)(t,(0,r.nV)())},"setC4Type"),S=(0,r.eW)(function(t,e,a,n,i,s,r,l,o){if(null==t||null==e||null==a||null==n)return;let h={},d=f.find(t=>t.from===e&&t.to===a);if(d?h=d:f.push(h),h.type=t,h.from=e,h.to=a,h.label={text:n},null==i)h.techn={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];h[t]={text:e}}else h.techn={text:i};if(null==s)h.descr={text:""};else if("object"==typeof s){let[t,e]=Object.entries(s)[0];h[t]={text:e}}else h.descr={text:s};if("object"==typeof r){let[t,e]=Object.entries(r)[0];h[t]=e}else h.sprite=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];h[t]=e}else h.tags=l;if("object"==typeof o){let[t,e]=Object.entries(o)[0];h[t]=e}else h.link=o;h.wrap=Q()},"addRel"),C=(0,r.eW)(function(t,e,a,n,i,s,r){if(null===e||null===a)return;let l={},o=d.find(t=>t.alias===e);if(o&&e===o.alias?l=o:(l.alias=e,d.push(l)),null==a?l.label={text:""}:l.label={text:a},null==n)l.descr={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]={text:e}}else l.descr={text:n};if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=e}else l.sprite=i;if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.tags=s;if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=e}else l.link=r;l.typeC4Shape={text:t},l.parentBoundary=p,l.wrap=Q()},"addPersonOrSystem"),k=(0,r.eW)(function(t,e,a,n,i,s,r,l){if(null===e||null===a)return;let o={},h=d.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,d.push(o)),null==a?o.label={text:""}:o.label={text:a},null==n)o.techn={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]={text:e}}else o.techn={text:n};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.sprite=s;if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.tags=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.wrap=Q(),o.typeC4Shape={text:t},o.parentBoundary=p},"addContainer"),O=(0,r.eW)(function(t,e,a,n,i,s,r,l){if(null===e||null===a)return;let o={},h=d.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,d.push(o)),null==a?o.label={text:""}:o.label={text:a},null==n)o.techn={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]={text:e}}else o.techn={text:n};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.sprite=s;if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.tags=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.wrap=Q(),o.typeC4Shape={text:t},o.parentBoundary=p},"addComponent"),w=(0,r.eW)(function(t,e,a,n,i){if(null===t||null===e)return;let s={},r=b.find(e=>e.alias===t);if(r&&t===r.alias?s=r:(s.alias=t,b.push(s)),null==e?s.label={text:""}:s.label={text:e},null==a)s.type={text:"system"};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]={text:e}}else s.type={text:a};if("object"==typeof n){let[t,e]=Object.entries(n)[0];s[t]=e}else s.tags=n;if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.link=i;s.parentBoundary=p,s.wrap=Q(),y=p,p=t,u.push(y)},"addPersonOrSystemBoundary"),T=(0,r.eW)(function(t,e,a,n,i){if(null===t||null===e)return;let s={},r=b.find(e=>e.alias===t);if(r&&t===r.alias?s=r:(s.alias=t,b.push(s)),null==e?s.label={text:""}:s.label={text:e},null==a)s.type={text:"container"};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]={text:e}}else s.type={text:a};if("object"==typeof n){let[t,e]=Object.entries(n)[0];s[t]=e}else s.tags=n;if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.link=i;s.parentBoundary=p,s.wrap=Q(),y=p,p=t,u.push(y)},"addContainerBoundary"),v=(0,r.eW)(function(t,e,a,n,i,s,r,l){if(null===e||null===a)return;let o={},h=b.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,b.push(o)),null==a?o.label={text:""}:o.label={text:a},null==n)o.type={text:"node"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]={text:e}}else o.type={text:n};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.tags=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.nodeType=t,o.parentBoundary=p,o.wrap=Q(),y=p,p=e,u.push(y)},"addDeploymentNode"),R=(0,r.eW)(function(){p=y,u.pop(),y=u.pop(),u.push(y)},"popBoundaryParseStack"),D=(0,r.eW)(function(t,e,a,n,i,s,r,l,o,h,u){let p=d.find(t=>t.alias===e);if(void 0!==p||void 0!==(p=b.find(t=>t.alias===e))){if(null!=a){if("object"==typeof a){let[t,e]=Object.entries(a)[0];p[t]=e}else p.bgColor=a}if(null!=n){if("object"==typeof n){let[t,e]=Object.entries(n)[0];p[t]=e}else p.fontColor=n}if(null!=i){if("object"==typeof i){let[t,e]=Object.entries(i)[0];p[t]=e}else p.borderColor=i}if(null!=s){if("object"==typeof s){let[t,e]=Object.entries(s)[0];p[t]=e}else p.shadowing=s}if(null!=r){if("object"==typeof r){let[t,e]=Object.entries(r)[0];p[t]=e}else p.shape=r}if(null!=l){if("object"==typeof l){let[t,e]=Object.entries(l)[0];p[t]=e}else p.sprite=l}if(null!=o){if("object"==typeof o){let[t,e]=Object.entries(o)[0];p[t]=e}else p.techn=o}if(null!=h){if("object"==typeof h){let[t,e]=Object.entries(h)[0];p[t]=e}else p.legendText=h}if(null!=u){if("object"==typeof u){let[t,e]=Object.entries(u)[0];p[t]=e}else p.legendSprite=u}}},"updateElStyle"),N=(0,r.eW)(function(t,e,a,n,i,s,r){let l=f.find(t=>t.from===e&&t.to===a);if(void 0!==l){if(null!=n){if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]=e}else l.textColor=n}if(null!=i){if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=e}else l.lineColor=i}if(null!=s){if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=parseInt(e)}else l.offsetX=parseInt(s)}if(null!=r){if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=parseInt(e)}else l.offsetY=parseInt(r)}}},"updateRelStyle"),W=(0,r.eW)(function(t,e,a){let n=_,i=m;n="object"==typeof e?parseInt(Object.values(e)[0]):parseInt(e),i="object"==typeof a?parseInt(Object.values(a)[0]):parseInt(a),n>=1&&(_=n),i>=1&&(m=i)},"updateLayoutConfig"),P=(0,r.eW)(function(){return _},"getC4ShapeInRow"),M=(0,r.eW)(function(){return m},"getC4BoundaryInRow"),B=(0,r.eW)(function(){return p},"getCurrentBoundaryParse"),j=(0,r.eW)(function(){return y},"getParentBoundaryParse"),Y=(0,r.eW)(function(t){return null==t?d:d.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),I=(0,r.eW)(function(t){return d.find(e=>e.alias===t)},"getC4Shape"),L=(0,r.eW)(function(t){return Object.keys(Y(t))},"getC4ShapeKeys"),U=(0,r.eW)(function(t){return null==t?b:b.filter(e=>e.parentBoundary===t)},"getBoundaries"),F=(0,r.eW)(function(){return f},"getRels"),X=(0,r.eW)(function(){return g},"getTitle"),z=(0,r.eW)(function(t){x=t},"setWrap"),Q=(0,r.eW)(function(){return x},"autoWrap"),$=(0,r.eW)(function(){d=[],b=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],y="",p="global",u=[""],f=[],u=[""],g="",x=!1,_=4,m=2},"clear"),q=(0,r.eW)(function(t){g=(0,r.oO)(t,(0,r.nV)())},"setTitle"),V={addPersonOrSystem:C,addPersonOrSystemBoundary:w,addContainer:k,addContainerBoundary:T,addComponent:O,addDeploymentNode:v,popBoundaryParseStack:R,addRel:S,updateElStyle:D,updateRelStyle:N,updateLayoutConfig:W,autoWrap:Q,setWrap:z,getC4ShapeArray:Y,getC4Shape:I,getC4ShapeKeys:L,getBoundaries:U,getBoundarys:U,getCurrentBoundaryParse:B,getParentBoundaryParse:j,getRels:F,getTitle:X,getC4Type:E,getC4ShapeInRow:P,getC4BoundaryInRow:M,setAccTitle:r.GN,getAccTitle:r.eu,getAccDescription:r.Mx,setAccDescription:r.U$,getConfig:(0,r.eW)(()=>(0,r.nV)().c4,"getConfig"),clear:$,LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:q,setC4Type:A},H=(0,r.eW)(function(t,e){return(0,i.Mu)(t,e)},"drawRect"),G=(0,r.eW)(function(t,e,a,n,i,s){let r=t.append("image");r.attr("width",e),r.attr("height",a),r.attr("x",n),r.attr("y",i);let l=s.startsWith("data:image/png;base64")?s:(0,o.sanitizeUrl)(s);r.attr("xlink:href",l)},"drawImage"),K=(0,r.eW)((t,e,a)=>{let n=t.append("g"),i=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",s=t.lineColor?t.lineColor:"#444444",r=t.offsetX?parseInt(t.offsetX):0,l=t.offsetY?parseInt(t.offsetY):0;if(0===i){let e=n.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",s),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url(#arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#arrowend)"),i=-1}else{let e=n.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",s).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url(#arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#arrowend)")}let o=a.messageFont();to(a)(t.label.text,n,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+r,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+l,t.label.width,t.label.height,{fill:e},o),t.techn&&""!==t.techn.text&&(o=a.messageFont(),to(a)("["+t.techn.text+"]",n,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+r,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+a.messageFontSize+5+l,Math.max(t.label.width,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},o))}},"drawRels"),J=(0,r.eW)(function(t,e,a){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",s=e.borderColor?e.borderColor:"#444444",r=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1}),H(n,{x:e.x,y:e.y,fill:i,stroke:s,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l});let o=a.boundaryFont();o.fontWeight="bold",o.fontSize=o.fontSize+2,o.fontColor=r,to(a)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},o),e.type&&""!==e.type.text&&((o=a.boundaryFont()).fontColor=r,to(a)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},o)),e.descr&&""!==e.descr.text&&((o=a.boundaryFont()).fontSize=o.fontSize-2,o.fontColor=r,to(a)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},o))},"drawBoundary"),Z=(0,r.eW)(function(t,e,a){let n=e.bgColor?e.bgColor:a[e.typeC4Shape.text+"_bg_color"],s=e.borderColor?e.borderColor:a[e.typeC4Shape.text+"_border_color"],r=e.fontColor?e.fontColor:"#FFFFFF",l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="}let o=t.append("g");o.attr("class","person-man");let h=(0,i.kc)();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":h.x=e.x,h.y=e.y,h.fill=n,h.width=e.width,h.height=e.height,h.stroke=s,h.rx=2.5,h.ry=2.5,h.attrs={"stroke-width":.5},H(o,h);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2))}let d=tl(a,e.typeC4Shape.text);switch(o.append("text").attr("fill",r).attr("font-family",d.fontFamily).attr("font-size",d.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":G(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,l)}let u=a[e.typeC4Shape.text+"Font"]();return u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=r,to(a)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:r},u),(u=a[e.typeC4Shape.text+"Font"]()).fontColor=r,e.techn&&e.techn?.text!==""?to(a)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:r,"font-style":"italic"},u):e.type&&""!==e.type.text&&to(a)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:r,"font-style":"italic"},u),e.descr&&""!==e.descr.text&&((u=a.personFont()).fontColor=r,to(a)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:r},u)),e.height},"drawC4Shape"),tt=(0,r.eW)(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),te=(0,r.eW)(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),ta=(0,r.eW)(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),tn=(0,r.eW)(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),ti=(0,r.eW)(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),ts=(0,r.eW)(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),tr=(0,r.eW)(function(t){let e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),tl=(0,r.eW)((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),to=function(){function t(t,e,a,i,s,r,l){n(e.append("text").attr("x",a+s/2).attr("y",i+r/2+5).style("text-anchor","middle").text(t),l)}function e(t,e,a,i,s,l,o,h){let{fontSize:d,fontFamily:u,fontWeight:p}=h,y=t.split(r.SY.lineBreakRegex);for(let t=0;t<y.length;t++){let r=t*d-d*(y.length-1)/2,l=e.append("text").attr("x",a+s/2).attr("y",i).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",d).style("font-weight",p).style("font-family",u);l.append("tspan").attr("dy",r).text(y[t]).attr("alignment-baseline","mathematical"),n(l,o)}}function a(t,a,i,s,r,l,o,h){let d=a.append("switch"),u=d.append("foreignObject").attr("x",i).attr("y",s).attr("width",r).attr("height",l).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,d,i,s,r,l,o,h),n(u,o)}function n(t,e){for(let a in e)e.hasOwnProperty(a)&&t.attr(a,e[a])}return(0,r.eW)(t,"byText"),(0,r.eW)(e,"byTspan"),(0,r.eW)(a,"byFo"),(0,r.eW)(n,"_setTextAttrs"),function(n){return"fo"===n.textPlacement?a:"old"===n.textPlacement?t:e}}(),tc={drawBoundary:J,drawC4Shape:Z,drawRels:K,insertArrowHead:tn,insertArrowEnd:ti,insertArrowFilledHead:ts,insertArrowCrossHead:tr,insertDatabaseIcon:tt,insertComputerIcon:te,insertClockIcon:ta},th=0,td=0,tu=4,tp=2;h.yy=V;var ty={},tb=class{static{(0,r.eW)(this,"Bounds")}constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,tf(t.db.getConfig())}setData(t,e,a,n){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=a,this.nextData.stopy=this.data.stopy=n}updateVal(t,e,a,n){void 0===t[e]?t[e]=a:t[e]=n(a,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+t.margin:this.nextData.stopx+2*t.margin,a=e+t.width,n=this.nextData.starty+2*t.margin,i=n+t.height;(e>=this.data.widthLimit||a>=this.data.widthLimit||this.nextData.cnt>tu)&&(e=this.nextData.startx+t.margin+ty.nextLinePaddingX,n=this.nextData.stopy+2*t.margin,this.nextData.stopx=a=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=n+t.height,this.nextData.cnt=1),t.x=e,t.y=n,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",n,Math.min),this.updateVal(this.data,"stopx",a,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",n,Math.min),this.updateVal(this.nextData,"stopx",a,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},tf(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},tf=(0,r.eW)(function(t){(0,r.Yc)(ty,t),t.fontFamily&&(ty.personFontFamily=ty.systemFontFamily=ty.messageFontFamily=t.fontFamily),t.fontSize&&(ty.personFontSize=ty.systemFontSize=ty.messageFontSize=t.fontSize),t.fontWeight&&(ty.personFontWeight=ty.systemFontWeight=ty.messageFontWeight=t.fontWeight)},"setConf"),tg=(0,r.eW)((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),tx=(0,r.eW)(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),t_=(0,r.eW)(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function tm(t,e,a,n,i){if(!e[t].width){if(a)e[t].text=(0,s.X4)(e[t].text,i,n),e[t].textLines=e[t].text.split(r.SY.lineBreakRegex).length,e[t].width=i,e[t].height=(0,s.XD)(e[t].text,n);else{let a=e[t].text.split(r.SY.lineBreakRegex);e[t].textLines=a.length;let i=0;for(let r of(e[t].height=0,e[t].width=0,a))e[t].width=Math.max((0,s.Cq)(r,n),e[t].width),i=(0,s.XD)(r,n),e[t].height=e[t].height+i}}}(0,r.eW)(tm,"calcC4ShapeTextWH");var tE=(0,r.eW)(function(t,e,a){e.x=a.data.startx,e.y=a.data.starty,e.width=a.data.stopx-a.data.startx,e.height=a.data.stopy-a.data.starty,e.label.y=ty.c4ShapeMargin-35;let n=e.wrap&&ty.wrap,i=tx(ty);i.fontSize=i.fontSize+2,i.fontWeight="bold";let r=(0,s.Cq)(e.label.text,i);tm("label",e,n,i,r),tc.drawBoundary(t,e,ty)},"drawBoundary"),tA=(0,r.eW)(function(t,e,a,n){let i=0;for(let r of n){i=0;let n=a[r],l=tg(ty,n.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,n.typeC4Shape.width=(0,s.Cq)("\xab"+n.typeC4Shape.text+"\xbb",l),n.typeC4Shape.height=l.fontSize+2,n.typeC4Shape.Y=ty.c4ShapePadding,i=n.typeC4Shape.Y+n.typeC4Shape.height-4,n.image={width:0,height:0,Y:0},n.typeC4Shape.text){case"person":case"external_person":n.image.width=48,n.image.height=48,n.image.Y=i,i=n.image.Y+n.image.height}n.sprite&&(n.image.width=48,n.image.height=48,n.image.Y=i,i=n.image.Y+n.image.height);let o=n.wrap&&ty.wrap,h=ty.width-2*ty.c4ShapePadding,d=tg(ty,n.typeC4Shape.text);if(d.fontSize=d.fontSize+2,d.fontWeight="bold",tm("label",n,o,d,h),n.label.Y=i+8,i=n.label.Y+n.label.height,n.type&&""!==n.type.text){n.type.text="["+n.type.text+"]";let t=tg(ty,n.typeC4Shape.text);tm("type",n,o,t,h),n.type.Y=i+5,i=n.type.Y+n.type.height}else if(n.techn&&""!==n.techn.text){n.techn.text="["+n.techn.text+"]";let t=tg(ty,n.techn.text);tm("techn",n,o,t,h),n.techn.Y=i+5,i=n.techn.Y+n.techn.height}let u=i,p=n.label.width;if(n.descr&&""!==n.descr.text){let t=tg(ty,n.typeC4Shape.text);tm("descr",n,o,t,h),n.descr.Y=i+20,i=n.descr.Y+n.descr.height,p=Math.max(n.label.width,n.descr.width),u=i-5*n.descr.textLines}p+=ty.c4ShapePadding,n.width=Math.max(n.width||ty.width,p,ty.width),n.height=Math.max(n.height||ty.height,u,ty.height),n.margin=n.margin||ty.c4ShapeMargin,t.insert(n),tc.drawC4Shape(e,n,ty)}t.bumpLastMargin(ty.c4ShapeMargin)},"drawC4ShapeArray"),tS=class{static{(0,r.eW)(this,"Point")}constructor(t,e){this.x=t,this.y=e}},tC=(0,r.eW)(function(t,e){let a=t.x,n=t.y,i=e.x,s=e.y,r=a+t.width/2,l=n+t.height/2,o=Math.abs(a-i),h=Math.abs(n-s),d=h/o,u=t.height/t.width,p=null;return n==s&&a<i?p=new tS(a+t.width,l):n==s&&a>i?p=new tS(a,l):a==i&&n<s?p=new tS(r,n+t.height):a==i&&n>s&&(p=new tS(r,n)),a>i&&n<s?p=u>=d?new tS(a,l+d*t.width/2):new tS(r-o/h*t.height/2,n+t.height):a<i&&n<s?p=u>=d?new tS(a+t.width,l+d*t.width/2):new tS(r+o/h*t.height/2,n+t.height):a<i&&n>s?p=u>=d?new tS(a+t.width,l-d*t.width/2):new tS(r+t.height/2*o/h,n):a>i&&n>s&&(p=u>=d?new tS(a,l-t.width/2*d):new tS(r-t.height/2*o/h,n)),p},"getIntersectPoint"),tk=(0,r.eW)(function(t,e){let a={x:0,y:0};a.x=e.x+e.width/2,a.y=e.y+e.height/2;let n=tC(t,a);return a.x=t.x+t.width/2,a.y=t.y+t.height/2,{startPoint:n,endPoint:tC(e,a)}},"getIntersectPoints"),tO=(0,r.eW)(function(t,e,a,n){let i=0;for(let t of e){i+=1;let e=t.wrap&&ty.wrap,r=t_(ty);"C4Dynamic"===n.db.getC4Type()&&(t.label.text=i+": "+t.label.text);let l=(0,s.Cq)(t.label.text,r);tm("label",t,e,r,l),t.techn&&""!==t.techn.text&&(l=(0,s.Cq)(t.techn.text,r),tm("techn",t,e,r,l)),t.descr&&""!==t.descr.text&&(l=(0,s.Cq)(t.descr.text,r),tm("descr",t,e,r,l));let o=tk(a(t.from),a(t.to));t.startPoint=o.startPoint,t.endPoint=o.endPoint}tc.drawRels(t,e,ty)},"drawRels");function tw(t,e,a,n,i){let s=new tb(i);for(let[r,l]of(s.data.widthLimit=a.data.widthLimit/Math.min(tp,n.length),n.entries())){let n=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=n,n=l.image.Y+l.image.height);let o=l.wrap&&ty.wrap,h=tx(ty);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",tm("label",l,o,h,s.data.widthLimit),l.label.Y=n+8,n=l.label.Y+l.label.height,l.type&&""!==l.type.text&&(l.type.text="["+l.type.text+"]",tm("type",l,o,tx(ty),s.data.widthLimit),l.type.Y=n+5,n=l.type.Y+l.type.height),l.descr&&""!==l.descr.text){let t=tx(ty);t.fontSize=t.fontSize-2,tm("descr",l,o,t,s.data.widthLimit),l.descr.Y=n+20,n=l.descr.Y+l.descr.height}if(0==r||r%tp==0){let t=a.data.startx+ty.diagramMarginX,e=a.data.stopy+ty.diagramMarginY+n;s.setData(t,t,e,e)}else{let t=s.data.stopx!==s.data.startx?s.data.stopx+ty.diagramMarginX:s.data.startx,e=s.data.starty;s.setData(t,t,e,e)}s.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),u=i.db.getC4ShapeKeys(l.alias);u.length>0&&tA(s,t,d,u),e=l.alias;let p=i.db.getBoundarys(e);p.length>0&&tw(t,e,s,p,i),"global"!==l.alias&&tE(t,l,s),a.data.stopy=Math.max(s.data.stopy+ty.c4ShapeMargin,a.data.stopy),a.data.stopx=Math.max(s.data.stopx+ty.c4ShapeMargin,a.data.stopx),th=Math.max(th,a.data.stopx),td=Math.max(td,a.data.stopy)}}(0,r.eW)(tw,"drawInsideBoundary");var tT={drawPersonOrSystemArray:tA,drawBoundary:tE,setConf:tf,draw:(0,r.eW)(function(t,e,a,n){let i;ty=(0,r.nV)().c4;let s=(0,r.nV)().securityLevel;"sandbox"===s&&(i=(0,l.Ys)("#i"+e));let o="sandbox"===s?(0,l.Ys)(i.nodes()[0].contentDocument.body):(0,l.Ys)("body"),h=n.db;n.db.setWrap(ty.wrap),tu=h.getC4ShapeInRow(),tp=h.getC4BoundaryInRow(),r.cM.debug(`C:${JSON.stringify(ty,null,2)}`);let d="sandbox"===s?o.select(`[id="${e}"]`):(0,l.Ys)(`[id="${e}"]`);tc.insertComputerIcon(d),tc.insertDatabaseIcon(d),tc.insertClockIcon(d);let u=new tb(n);u.setData(ty.diagramMarginX,ty.diagramMarginX,ty.diagramMarginY,ty.diagramMarginY),u.data.widthLimit=screen.availWidth,th=ty.diagramMarginX,td=ty.diagramMarginY;let p=n.db.getTitle();tw(d,"",u,n.db.getBoundarys(""),n),tc.insertArrowHead(d),tc.insertArrowEnd(d),tc.insertArrowCrossHead(d),tc.insertArrowFilledHead(d),tO(d,n.db.getRels(),n.db.getC4Shape,n),u.data.stopx=th,u.data.stopy=td;let y=u.data,b=y.stopy-y.starty+2*ty.diagramMarginY,f=y.stopx-y.startx+2*ty.diagramMarginX;p&&d.append("text").text(p).attr("x",(y.stopx-y.startx)/2-4*ty.diagramMarginX).attr("y",y.starty+ty.diagramMarginY),(0,r.v2)(d,b,f,ty.useMaxWidth);let g=60*!!p;d.attr("viewBox",y.startx-ty.diagramMarginX+" -"+(ty.diagramMarginY+g)+" "+f+" "+(b+g)),r.cM.debug("models:",y)},"draw")},tv={parser:h,db:V,renderer:tT,styles:(0,r.eW)(t=>`.person { + stroke: ${t.personBorder}; + fill: ${t.personBkg}; + } +`,"getStyles"),init:(0,r.eW)(({c4:t,wrap:e})=>{tT.setConf(t),V.setWrap(e)},"init")}},93737:function(t,e,a){a.d(e,{AD:()=>u,AE:()=>o,Mu:()=>s,O:()=>r,kc:()=>d,rB:()=>h,yU:()=>l});var n=a(28923),i=a(7608),s=(0,n.eW)((t,e)=>{let a=t.append("rect");if(a.attr("x",e.x),a.attr("y",e.y),a.attr("fill",e.fill),a.attr("stroke",e.stroke),a.attr("width",e.width),a.attr("height",e.height),e.name&&a.attr("name",e.name),e.rx&&a.attr("rx",e.rx),e.ry&&a.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)a.attr(t,e.attrs[t]);return e.class&&a.attr("class",e.class),a},"drawRect"),r=(0,n.eW)((t,e)=>{s(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),l=(0,n.eW)((t,e)=>{let a=e.text.replace(n.Vw," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class&&i.attr("class",e.class);let s=i.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(a),i},"drawText"),o=(0,n.eW)((t,e,a,n)=>{let s=t.append("image");s.attr("x",e),s.attr("y",a);let r=(0,i.sanitizeUrl)(n);s.attr("xlink:href",r)},"drawImage"),h=(0,n.eW)((t,e,a,n)=>{let s=t.append("use");s.attr("x",e),s.attr("y",a);let r=(0,i.sanitizeUrl)(n);s.attr("xlink:href",`#${r}`)},"drawEmbeddedImage"),d=(0,n.eW)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),u=(0,n.eW)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")}}]); \ No newline at end of file diff --git a/assets/js/4228388b.c6e8a194.js b/assets/js/4228388b.c6e8a194.js new file mode 100644 index 0000000000..88aa965d29 --- /dev/null +++ b/assets/js/4228388b.c6e8a194.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["20266"],{44069:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/thumbnail-dbb46fec970f4431a6846603224dd2fe.png"},10803:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/courier-624bbae7cbef3b4e7533d1976e35f842.png"},684:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/dyte-dark-b9748e4bcb4281880ff1856519d58b38.png"},51807:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/dyte-light-24caa76f96400453386185ae6bc06b8a.png"},79756:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/ionic-dark-17086f816052f02e84054fe002256ed9.png"},5844:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/ionic-light-b8a9c77c71a99f4c71a16584dac8ccf3.png"},43403:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/iota-dark-986d9518ba0e03583d734212ba93539d.png"},47731:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/iota-light-d899be0c1eb939a5ad13e2ecca4eb951.png"},84054:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/npm-trend-1e69b5c9e35be8bd6d9ac6fbaaf313d7.png"},53589:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/rising-stars-56326450d25b95f221f56db3b352c724.png"},3217:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/star-history-c7ba492b822fed1336d08fe449f87840.png"},10180:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/thumbnail-dbb46fec970f4431a6846603224dd2fe.png"},60061:function(e,s,n){n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>t,toc:()=>c});var t=n(31764),i=n(85893),o=n(80980);let r={title:"Docusaurus 2021 Recap",authors:["Josh-Cena"],tags:["recap"],image:"./img/thumbnail.png"},a=void 0,l={image:n(44069).Z,authorsImageUrls:[void 0]},c=[{value:"Highlights",id:"highlights",level:2},{value:"Trends",id:"trends",level:2},{value:"npm",id:"npm",level:3},{value:"GitHub",id:"github",level:3},{value:"Featured adoptions",id:"featured-adoptions",level:2},{value:"Community",id:"community",level:2},{value:"Going forward",id:"going-forward",level:2}];function h(e){let s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:["Docusaurus has made great progress in 2021! We've seen a lot of traction and just crossed ",(0,i.jsx)(s.strong,{children:"30k stars on GitHub"}),"!"]}),"\n",(0,i.jsxs)(s.p,{children:["We've ",(0,i.jsx)(s.strong,{children:"reached full feature parity"})," with v1 after ",(0,i.jsx)(s.a,{href:"/blog/2021/03/09/releasing-docusaurus-i18n",children:"the release of internationalization"}),", ",(0,i.jsxs)(s.a,{href:"/blog/2021/05/12/announcing-docusaurus-two-beta",children:["announced our ",(0,i.jsx)(s.strong,{children:"first beta"})]}),", and welcomed ",(0,i.jsx)(s.strong,{children:"significantly more users"})," this year."]}),"\n",(0,i.jsxs)(s.p,{children:["The ",(0,i.jsx)(s.strong,{children:"official v2 release"})," is just around the corner! Follow the ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/6113",children:"roadmap issue"})," for any latest news."]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{src:n(10180).Z+"",width:"1000",height:"562"})}),"\n",(0,i.jsx)(s.h2,{id:"highlights",children:"Highlights"}),"\n",(0,i.jsxs)(s.p,{children:["Let's begin by going over a few highlights this year. Remember the ",(0,i.jsx)(s.a,{href:"/blog/2021/05/12/announcing-docusaurus-two-beta#whats-next",children:"todo-list"})," from half a year ago? Time to take it out again and see how far we've come!"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Internationalization"}),": officially released four months after its initial landing in late 2020. Seen great success in ",(0,i.jsx)(s.a,{href:"/showcase?tags=i18n",children:"many projects"})]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Autogenerated sidebars"}),": no need to maintain a big ",(0,i.jsx)(s.code,{children:"sidebars.js"})," anymore"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Webpack 5"}),": significantly improved build performance"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Trailing slash config"}),": seamless integration with any content hosting provider"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Redesigned mobile navigation"}),": mobile users now enjoy all navigation features as on desktop"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"UI improvements"}),": more accessible quotes, better admonitions, back-to-top button..."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Blog multi-authors"}),": credit all the amazing contributors that collaborated on one blog post!"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"More blog features"}),": archive page, structured data for SEO, full post content in feeds \u2013 empowering you to ship a fully-featured blog in no time"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Asset collocation"}),": no need for a bloated static folder anymore: colocate your images with Markdown files"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Sidebar category index pages"}),": category labels can now be associated with pages, enabling better doc organization"]}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"Our codebase has been polished over time as well. We have improved test coverage, migrated all packages to TypeScript, and reduced our published bundle size by a maximum of 60%!"}),"\n",(0,i.jsx)(s.h2,{id:"trends",children:"Trends"}),"\n",(0,i.jsx)(s.h3,{id:"npm",children:"npm"}),"\n",(0,i.jsx)(s.p,{children:"Docusaurus v2 continues to grow steadily. V2 installation is now 8 times more than v1. In terms of weekly downloads, we have witnessed another three-fold increase (+209.4%), growing from 28,066 in early January to a peak of 86,846 in mid-December."}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.a,{href:"https://www.npmtrends.com/docusaurus-vs-@docusaurus/core",children:(0,i.jsx)(s.img,{alt:"Docusaurus v1 vs. v2 npm trends of the year 2021. The installations of Docusaurus v2 is constantly rising, while v1 is almost constant. V1 stays at 10000, while v2 grows from 30000 to almost 90000. There's a sharp drop from 90000 to 40000 just before the Jan 2022 line.",src:n(84054).Z+"",width:"800",height:"483"})})}),"\n",(0,i.jsx)(s.p,{children:"(Ah, the classic Christmas dip...)"}),"\n",(0,i.jsxs)(s.p,{children:["We released 18 versions, going from ",(0,i.jsx)(s.code,{children:"2.0.0-alpha.71"})," to ",(0,i.jsx)(s.code,{children:"2.0.0-beta.14"}),". That's one release every 20 days!"]}),"\n",(0,i.jsx)(s.h3,{id:"github",children:"GitHub"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Stars"}),": 20,460 \u2192 29,679 (+45.1% y/y). And, just before this blog post is published, we have reached 30k stars!"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Total contributors"}),": 512 \u2192 773 (+51.0% y/y)"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Dependents"}),": 5,039 \u2192 14,579 (+189.3% y/y) for v2, and 6,311 \u2192 7,581 (+20.1% y/y) for v1"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Commits"}),": 1,187 commits in the past year, averaging 23 commits every week"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Issues"}),": 619 issues opened, 505 of them eventually resolved"]}),"\n",(0,i.jsxs)(s.li,{children:["A ",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:(0,i.jsx)(s.strong,{children:"new core team member"})})," (yep, that's me \uD83D\uDE1D)"]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Our star trend is also very positive. Compared to similar projects, we are ",(0,i.jsx)(s.strong,{children:"growing at a faster rate"}),":"]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"Stars trend by year of 9 static site generators. Next.js grows the fastest, with Docusaurus at the 4th place in terms of growth rate.",src:n(3217).Z+"",width:"800",height:"550"})}),"\n",(0,i.jsxs)(s.p,{children:["With an 8.4k increase in stars, we are ranked number 3 in this year's ",(0,i.jsx)(s.a,{href:"https://risingstars.js.org/2021/en#section-ssg",children:"JavaScript rising stars of static site generators"}),", preceded only by Next.js and Astro."]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"Docusaurus placing 3rd in the "Static Sites" ranking list",src:n(53589).Z+"",width:"600",height:"412"})}),"\n",(0,i.jsx)(s.h2,{id:"featured-adoptions",children:"Featured adoptions"}),"\n",(0,i.jsxs)(s.p,{children:["Our showcase has welcomed a few new ",(0,i.jsx)(s.a,{href:"/showcase?tags=favorite",children:'"favorite" sites'})," that showcase the true potential of Docusaurus 2's pluggable architecture."]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://wiki.iota.org/",children:(0,i.jsx)(s.strong,{children:"IOTA-wiki"})})}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.img,{alt:"Iota wiki light mode",src:n(47731).Z+"#gh-light-mode-only",width:"800",height:"456"}),(0,i.jsx)(s.img,{alt:"Iota wiki dark mode",src:n(43403).Z+"#gh-dark-mode-only",width:"800",height:"456"})]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://docs.dyte.io/docs/home/introduction/",children:(0,i.jsx)(s.strong,{children:"Dyte"})})}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.img,{alt:"Dyte light mode",src:n(51807).Z+"#gh-light-mode-only",width:"800",height:"454"}),(0,i.jsx)(s.img,{alt:"Dyte dark mode",src:n(684).Z+"#gh-dark-mode-only",width:"800",height:"454"})]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ionicframework.com/docs",children:(0,i.jsx)(s.strong,{children:"Ionic"})})}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.img,{alt:"Ionic light mode",src:n(5844).Z+"#gh-light-mode-only",width:"800",height:"456"}),(0,i.jsx)(s.img,{alt:"Ionic dark mode",src:n(79756).Z+"#gh-dark-mode-only",width:"800",height:"456"})]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://www.courier.com/docs/",children:(0,i.jsx)(s.strong,{children:"Courier"})})}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:(0,i.jsx)(s.img,{alt:"Courier",src:n(10803).Z+"",width:"800",height:"454"})}),"\n",(0,i.jsxs)(s.p,{children:["The creativity of Docusaurus users is beyond our imagination \uD83E\uDD29 We look forward to more and more adopters leveraging the content features of Docusaurus while exploring original theme designs! If your site uses Docusaurus, we would love to ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/edit/main/website/src/data/users.tsx",children:"have it in our showcase"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"community",children:"Community"}),"\n",(0,i.jsxs)(s.p,{children:["As an active moderator on ",(0,i.jsx)(s.a,{href:"https://discord.gg/docusaurus",children:"Discord"}),", I can clearly see the community thriving. Many frequently asked questions are now integrated into our documentation, and some feature requests have been implemented as well. The project and the community reciprocally benefit each other \u2013 case in point, I was formerly a community contributor before becoming a maintainer."]}),"\n",(0,i.jsx)(s.p,{children:"We are constantly mentioned on X with inspirational feedback:"}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"@docusaurus"})," is amazing! cant believe it's THAT simple to use."]}),"\n"]}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsx)(s.p,{children:"No extra plugins, tooling or compilation steps. It just works out of the box."}),"\n"]}),"\n",(0,i.jsxs)(s.blockquote,{children:["\n",(0,i.jsxs)(s.p,{children:["I love ",(0,i.jsx)(s.strong,{children:"@docusaurus"}),". I couldn't have built the APIs, tutorials, and blogs contained in my site efficiently and beautifully in my workflow without Docusaurus."]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["And we keep every one of them in ",(0,i.jsx)(s.a,{href:"https://x.com/sebastienlorber/timelines/1392048416872706049",children:"our little box"})," \uD83D\uDE04 If you enjoy Docusaurus yourself, keep tagging us with your comments!"]}),"\n",(0,i.jsxs)(s.p,{children:["As we approach the official release, we are interested in knowing more about what people are doing out there: ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/discussions/4025",children:"plugin authors"}),", ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/discussions/5468",children:"creators of customized sites"}),", and ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/discussions/4610",children:"all new users"})," \u2013 please keep us posted about your achievements so we can steer our development to better serve your needs."]}),"\n",(0,i.jsx)(s.h2,{id:"going-forward",children:"Going forward"}),"\n",(0,i.jsxs)(s.p,{children:["In the past few months, we have been constantly speaking about the release-candidate phase of Docusaurus, and yes, it's almost there. We have created a dedicated ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/milestone/15",children:"milestone"})," to keep track of all issues to solve before we can confidently progress to the next stage. In short, we want to build a ",(0,i.jsx)(s.strong,{children:"more robust theming workflow"}),", empowering creative site creators to customize our default theme without fearing breaking changes as they upgrade. This will include:"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Guidelines on ",(0,i.jsx)(s.strong,{children:"component organization"}),". We want the theme components to have the right granularity so when you want to customize a part of your site, there's always a component doing just what you need."]}),"\n",(0,i.jsxs)(s.li,{children:["Improvements to the ",(0,i.jsx)(s.strong,{children:"swizzle CLI"}),". We want users to use it with delight and let it aid you through all possible swizzling scenarios."]}),"\n",(0,i.jsxs)(s.li,{children:["Refactoring our ",(0,i.jsx)(s.strong,{children:"theme APIs"}),". We want all swizzlable components to be actually appropriate for swizzling, so non-UI components will be re-located."]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.strong,{children:"Docs"}),". We want our docs to be maximally accessible to everyone \u2013 from first-time coders to experienced web developers. We will organize it as a more progressive tutorial that can be beneficial for every skill level."]}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Read more about plans for Docusaurus 2.0 in this ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/6113",children:"roadmap issue"}),". 2.0 will be a greater release with the help from the community, so please share your opinions and suggestions under any of the milestone issues!"]}),"\n",(0,i.jsxs)(s.p,{children:["As the core team is working hard to ship the general availability release, we plan to release other useful features as minor versions after 2.0. We have even made further plans for ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/milestone/16",children:"architectural changes in 3.0"}),"!"]}),"\n",(0,i.jsx)(s.p,{children:"With the official release of Docusaurus 2.0, we are confident to see much more new adoptions and migrations from v1."}),"\n",(0,i.jsxs)(s.p,{children:["We'd like to express our gratitude to ",(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/graphs/contributors?from=2021-01-01&to=2022-01-01&type=c",children:"all the contributors in 2021"}),", including:"]}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["The core team: ",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"Alexey Pyltsyn"}),", ",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"S\xe9bastien Lorber"}),", ",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"Joshua Chen"}),", and ",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"Yangshun Tay"})," for moderating the community, publicizing Docusaurus, triaging issues, and implementing new features"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/JoelMarcey",children:"Joel Marcey"})," for creating Docusaurus and supporting its development all along"]}),"\n",(0,i.jsxs)(s.li,{children:["The Algolia team for helping Docusaurus users ",(0,i.jsx)(s.a,{href:"/blog/2021/11/21/algolia-docsearch-migration",children:"migrate to the new DocSearch"})," and answering search-related questions"]}),"\n",(0,i.jsx)(s.li,{children:"All the active community members for making valuable code contributions, improving our documentation, and answering questions on Discord"}),"\n"]}),"\n",(0,i.jsx)(s.p,{children:"So long, 2021, and let's greet a great 2022!"})]})}function d(e={}){let{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},80980:function(e,s,n){n.d(s,{Z:()=>a,a:()=>r});var t=n(67294);let i={},o=t.createContext(i);function r(e){let s=t.useContext(o);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:s},e.children)}},31764:function(e){e.exports=JSON.parse('{"permalink":"/blog/2022/01/24/docusaurus-2021-recap","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2022/01-24-docusaurus-2021-recap/index.mdx","source":"@site/blog/2022/01-24-docusaurus-2021-recap/index.mdx","title":"Docusaurus 2021 Recap","description":"Docusaurus has made great progress in 2021! We\'ve seen a lot of traction and just crossed 30k stars on GitHub!","date":"2022-01-24T00:00:00.000Z","tags":[{"inline":false,"label":"Recap","permalink":"/blog/tags/recap","description":"Blog posts about Docusaurus\' year recaps"}],"readingTime":6.01,"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","title":"Working hard on Docusaurus","url":"https://joshcena.com/","email":"sidachen2003@gmail.com","page":{"permalink":"/blog/authors/josh-cena"},"imageURL":"https://github.com/josh-cena.png","key":"Josh-Cena"}],"frontMatter":{"title":"Docusaurus 2021 Recap","authors":["Josh-Cena"],"tags":["recap"],"image":"./img/thumbnail.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Announcing Docusaurus 2.0","permalink":"/blog/2022/08/01/announcing-docusaurus-2.0"},"nextItem":{"title":"DocSearch migration","permalink":"/blog/2021/11/21/algolia-docsearch-migration"}}')}}]); \ No newline at end of file diff --git a/assets/js/429aee9a.e6967628.js b/assets/js/429aee9a.e6967628.js new file mode 100644 index 0000000000..a4e6764b19 --- /dev/null +++ b/assets/js/429aee9a.e6967628.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["15458"],{68475:function(e,s,n){n.r(s),n.d(s,{assets:()=>r,contentTitle:()=>a,default:()=>u,frontMatter:()=>c,metadata:()=>i,toc:()=>t});var i=n(71437),h=n(85893),l=n(80980);let c={mdx:{format:"md"},date:"2024-08-09T19:00",authors:["alicelovescake","ashiq-firoz","Aslemammad","bharateshwq","bohyunjung","chirbard","d4nyll","dhayab","franzd1","Gekd","hichemfantar","johnnyreilly","Josh-Cena","lebalz","mxschmitt","OzakIOne","Paneedah","pjchender","priyadi","sergioalmela","slorber","tats-u","ultimate","Xebec19","yujonglee"]},a="3.5.0",r={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},t=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83E\uDD16 Dependencies",id:"robot-dependencies",level:2},{value:"\uD83D\uDD27 Maintenance",id:"wrench-maintenance",level:2},{value:"Committers: 25",id:"committers-25",level:2}];function o(e){let s={a:"a",code:"code",em:"em",h2:"h2",li:"li",ul:"ul",...(0,l.a)(),...e.components};return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10375",children:"#10375"})," feat(blog): add ",(0,h.jsx)(s.code,{children:"onUntruncatedBlogPosts"})," blog options (",(0,h.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10376",children:"#10376"})," feat(theme): show unlisted/draft banners in dev mode (",(0,h.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9252",children:"#9252"})," feat(blog): add feed xlst options to render beautiful RSS and Atom feeds (",(0,h.jsx)(s.a,{href:"https://github.com/Xebec19",children:"@Xebec19"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10216",children:"#10216"})," feat(blog): authors page (",(0,h.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10339",children:"#10339"})," feat(translation): add Estonian default translation (",(0,h.jsx)(s.a,{href:"https://github.com/chirbard",children:"@chirbard"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10325",children:"#10325"})," feat(translations): Indonesian translation (",(0,h.jsx)(s.a,{href:"https://github.com/priyadi",children:"@priyadi"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10335",children:"#10335"})," feat(mdx-loader): wrap mdx content title (",(0,h.jsx)(s.code,{children:"# Title"}),") in ",(0,h.jsx)(s.code,{children:"<header>"})," for concistency (",(0,h.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10222",children:"#10222"})," feat(blog): author header social icons (",(0,h.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-google-tag-manager"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-vercel-analytics"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10286",children:"#10286"})," feat(core): allow plugins to self-disable by returning null (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10252",children:"#10252"})," feat(blog): group sidebar items by year (",(0,h.jsx)(s.code,{children:"themeConfig.blog.sidebar.groupByYear"}),") (",(0,h.jsx)(s.a,{href:"https://github.com/alicelovescake",children:"@alicelovescake"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10224",children:"#10224"})," feat(blog): warn duplicate and inline authors (",(0,h.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10241",children:"#10241"})," feat(mdx): support recma plugins (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10344",children:"#10344"})," fix(translations): fix wrong Estonian (et) translations and typos (",(0,h.jsx)(s.a,{href:"https://github.com/Gekd",children:"@Gekd"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10360",children:"#10360"})," fix(translations): Fix and Improve Spanish translations (",(0,h.jsx)(s.a,{href:"https://github.com/sergioalmela",children:"@sergioalmela"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10235",children:"#10235"})," fix(theme-translation): add missing German (de) theme.admonition translations (",(0,h.jsx)(s.a,{href:"https://github.com/franzd1",children:"@franzd1"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10342",children:"#10342"})," fix(search): fix algolia search ignore ctrl + F in search input (",(0,h.jsx)(s.a,{href:"https://github.com/mxschmitt",children:"@mxschmitt"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10324",children:"#10324"})," fix(docs): the ",(0,h.jsx)(s.em,{children:"category"}),".json description attribute should display on generated index pages (",(0,h.jsx)(s.a,{href:"https://github.com/bharateshwq",children:"@bharateshwq"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10309",children:"#10309"})," fix(theme): docsVersionDropdown navbar item not showing the appropriate version (",(0,h.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10368",children:"#10368"})," fix(cli): Fix bad docusaurus CLI behavior on for --version, -V, --help, -h (",(0,h.jsx)(s.a,{href:"https://github.com/ashiq-firoz",children:"@ashiq-firoz"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10311",children:"#10311"})," fix(core): revert wrong anchor link implementation change (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10239",children:"#10239"})," fix(core): fail fast if plugin has no name (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10225",children:"#10225"})," fix(core): fix sites unable to start/build without a static dir (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10223",children:"#10223"})," fix: escape period (",(0,h.jsx)(s.a,{href:"https://github.com/d4nyll",children:"@d4nyll"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10288",children:"#10288"})," fix(theme): fix DocsVersionDropdownNavbarItem version link target (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10219",children:"#10219"})," fix(theme): ignored className attribute on lazy loaded TabItem (",(0,h.jsx)(s.a,{href:"https://github.com/lebalz",children:"@lebalz"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10240",children:"#10240"})," fix(markdown): mdx-code-block should support intentation (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10257",children:"#10257"})," chore(theme-translations): add more Traditional Chinese(zh-Hant) translations (",(0,h.jsx)(s.a,{href:"https://github.com/pjchender",children:"@pjchender"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:["Other\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10361",children:"#10361"})," docs: rename @getcanary/docusaurus-pagefind in docs (",(0,h.jsx)(s.a,{href:"https://github.com/yujonglee",children:"@yujonglee"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10345",children:"#10345"})," docs: Add @getcanary/docusaurus-pagefind in docs (",(0,h.jsx)(s.a,{href:"https://github.com/yujonglee",children:"@yujonglee"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10337",children:"#10337"})," docs: fix default value for ",(0,h.jsx)(s.code,{children:"docRootComponent"})," (",(0,h.jsx)(s.a,{href:"https://github.com/ultimate",children:"@ultimate"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10310",children:"#10310"})," docs: remove deprecated partial toc warning (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10245",children:"#10245"})," docs: add emoji for consistency (",(0,h.jsx)(s.a,{href:"https://github.com/Paneedah",children:"@Paneedah"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10180",children:"#10180"})," docs: backport #10173 to v3.3 + v3.4 & revise the content (",(0,h.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10233",children:"#10233"})," docs(search): update docsearch api url (",(0,h.jsx)(s.a,{href:"https://github.com/dhayab",children:"@dhayab"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10338",children:"#10338"})," docs(plugin-google-gtag): replace the broken Google Developers links with valid ones (",(0,h.jsx)(s.a,{href:"https://github.com/bohyunjung",children:"@bohyunjung"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"robot-dependencies",children:"\uD83E\uDD16 Dependencies"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10330",children:"#10330"})," chore(deps): bump github/codeql-action from 3.25.12 to 3.25.13 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10299",children:"#10299"})," chore(deps): bump actions/dependency-review-action from 4.3.3 to 4.3.4 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10300",children:"#10300"})," chore(deps): bump github/codeql-action from 3.25.11 to 3.25.12 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10259",children:"#10259"})," chore(deps): bump github/codeql-action from 3.25.10 to 3.25.11 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10247",children:"#10247"})," chore(deps): bump treosh/lighthouse-ci-action from 11.4.0 to 12.1.0 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10226",children:"#10226"})," chore(deps): bump github/codeql-action from 3.25.8 to 3.25.10 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10227",children:"#10227"})," chore(deps): bump ws from 7.5.9 to 7.5.10 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10210",children:"#10210"})," chore(deps): bump braces from 3.0.2 to 3.0.3 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10209",children:"#10209"})," chore(deps): bump actions/dependency-review-action from 4.3.2 to 4.3.3 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10208",children:"#10208"})," chore(deps): bump github/codeql-action from 3.25.7 to 3.25.8 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10195",children:"#10195"})," chore(deps): bump github/codeql-action from 3.25.6 to 3.25.7 (",(0,h.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"wrench-maintenance",children:"\uD83D\uDD27 Maintenance"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:["Other\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10369",children:"#10369"})," feat(ci): continuous releases for main and PRs with pkg.pr.new (",(0,h.jsx)(s.a,{href:"https://github.com/Aslemammad",children:"@Aslemammad"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10343",children:"#10343"})," chore(deps): update infima npm dependency to version 0.2.0-alpha.44 (",(0,h.jsx)(s.a,{href:"https://github.com/hichemfantar",children:"@hichemfantar"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10316",children:"#10316"})," refactor(docs): theme-common shouldn't depend on docs content (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10313",children:"#10313"})," refactor(blog): theme-common shouldn't depend on blog content plugins (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-google-tag-manager"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-vercel-analytics"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-mermaid"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(s.code,{children:"docusaurus"}),", ",(0,h.jsx)(s.code,{children:"eslint-plugin"}),", ",(0,h.jsx)(s.code,{children:"lqip-loader"}),", ",(0,h.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10256",children:"#10256"})," chore: simplify TypeScript configs, use TS 5.5 configDir placeholder (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"committers-25",children:"Committers: 25"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:["Aaron Chen (",(0,h.jsx)(s.a,{href:"https://github.com/pjchender",children:"@pjchender"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Alice Zhao (",(0,h.jsx)(s.a,{href:"https://github.com/alicelovescake",children:"@alicelovescake"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Ashiq Firoz (",(0,h.jsx)(s.a,{href:"https://github.com/ashiq-firoz",children:"@ashiq-firoz"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Balthasar Hofer (",(0,h.jsx)(s.a,{href:"https://github.com/lebalz",children:"@lebalz"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Bharatesh (",(0,h.jsx)(s.a,{href:"https://github.com/bharateshwq",children:"@bharateshwq"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Daniel Li (",(0,h.jsx)(s.a,{href:"https://github.com/d4nyll",children:"@d4nyll"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Dhaya (",(0,h.jsx)(s.a,{href:"https://github.com/dhayab",children:"@dhayab"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Hichem Fantar (",(0,h.jsx)(s.a,{href:"https://github.com/hichemfantar",children:"@hichemfantar"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["John Reilly (",(0,h.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Joshua Chen (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Julian V (",(0,h.jsx)(s.a,{href:"https://github.com/ultimate",children:"@ultimate"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Markus Tamm (",(0,h.jsx)(s.a,{href:"https://github.com/chirbard",children:"@chirbard"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Max Schmitt (",(0,h.jsx)(s.a,{href:"https://github.com/mxschmitt",children:"@mxschmitt"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Mohammad Bagher Abiyat (",(0,h.jsx)(s.a,{href:"https://github.com/Aslemammad",children:"@Aslemammad"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Paneedah (",(0,h.jsx)(s.a,{href:"https://github.com/Paneedah",children:"@Paneedah"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Priyadi Iman Nurcahyo (",(0,h.jsx)(s.a,{href:"https://github.com/priyadi",children:"@priyadi"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Robin Otter (",(0,h.jsx)(s.a,{href:"https://github.com/Gekd",children:"@Gekd"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Rohan Thakur (",(0,h.jsx)(s.a,{href:"https://github.com/Xebec19",children:"@Xebec19"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Sergio (",(0,h.jsx)(s.a,{href:"https://github.com/sergioalmela",children:"@sergioalmela"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Tatsunori Uchino (",(0,h.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,h.jsx)(s.li,{children:(0,h.jsx)(s.a,{href:"https://github.com/franzd1",children:"@franzd1"})}),"\n",(0,h.jsxs)(s.li,{children:["ozaki (",(0,h.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["yujonglee (",(0,h.jsx)(s.a,{href:"https://github.com/yujonglee",children:"@yujonglee"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["\uC815\uBCF4\uD604 Bohyun Jung (",(0,h.jsx)(s.a,{href:"https://github.com/bohyunjung",children:"@bohyunjung"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,h.jsx)(s,{...e,children:(0,h.jsx)(o,{...e})}):o(e)}},80980:function(e,s,n){n.d(s,{Z:()=>a,a:()=>c});var i=n(67294);let h={},l=i.createContext(h);function c(e){let s=i.useContext(l);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(h):e.components||h:c(e.components),i.createElement(l.Provider,{value:s},e.children)}},71437:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.5.0","source":"@site/changelog/source/3.5.0.md","title":"3.5.0","description":"New Feature","date":"2024-08-09T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alice Zhao","alias":"alicelovescake","url":"https://github.com/alicelovescake","imageURL":"https://github.com/alicelovescake.png","key":"alicelovescake","page":null},{"name":"Ashiq Firoz","alias":"ashiq-firoz","url":"https://github.com/ashiq-firoz","imageURL":"https://github.com/ashiq-firoz.png","key":"ashiq-firoz","page":null},{"name":"Mohammad Bagher Abiyat","alias":"Aslemammad","url":"https://github.com/Aslemammad","imageURL":"https://github.com/Aslemammad.png","key":"Aslemammad","page":null},{"name":"Bharatesh","alias":"bharateshwq","url":"https://github.com/bharateshwq","imageURL":"https://github.com/bharateshwq.png","key":"bharateshwq","page":null},{"name":"\uC815\uBCF4\uD604 Bohyun Jung","alias":"bohyunjung","url":"https://github.com/bohyunjung","imageURL":"https://github.com/bohyunjung.png","key":"bohyunjung","page":null},{"name":"Markus Tamm","alias":"chirbard","url":"https://github.com/chirbard","imageURL":"https://github.com/chirbard.png","key":"chirbard","page":null},{"name":"Daniel Li","alias":"d4nyll","url":"https://github.com/d4nyll","imageURL":"https://github.com/d4nyll.png","key":"d4nyll","page":null},{"name":"Dhaya","alias":"dhayab","url":"https://github.com/dhayab","imageURL":"https://github.com/dhayab.png","key":"dhayab","page":null},{"name":"franzd1","alias":"franzd1","url":"https://github.com/franzd1","imageURL":"https://github.com/franzd1.png","key":"franzd1","page":null},{"name":"Robin Otter","alias":"Gekd","url":"https://github.com/Gekd","imageURL":"https://github.com/Gekd.png","key":"Gekd","page":null},{"name":"Hichem Fantar","alias":"hichemfantar","url":"https://github.com/hichemfantar","imageURL":"https://github.com/hichemfantar.png","key":"hichemfantar","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Balthasar Hofer","alias":"lebalz","url":"https://github.com/lebalz","imageURL":"https://github.com/lebalz.png","key":"lebalz","page":null},{"name":"Max Schmitt","alias":"mxschmitt","url":"https://github.com/mxschmitt","imageURL":"https://github.com/mxschmitt.png","key":"mxschmitt","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Paneedah","alias":"Paneedah","url":"https://github.com/Paneedah","imageURL":"https://github.com/Paneedah.png","key":"Paneedah","page":null},{"name":"Aaron Chen","alias":"pjchender","url":"https://github.com/pjchender","imageURL":"https://github.com/pjchender.png","key":"pjchender","page":null},{"name":"Priyadi Iman Nurcahyo","alias":"priyadi","url":"https://github.com/priyadi","imageURL":"https://github.com/priyadi.png","key":"priyadi","page":null},{"name":"Sergio","alias":"sergioalmela","url":"https://github.com/sergioalmela","imageURL":"https://github.com/sergioalmela.png","key":"sergioalmela","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tatsunori Uchino","alias":"tats-u","url":"https://github.com/tats-u","imageURL":"https://github.com/tats-u.png","key":"tats-u","page":null},{"name":"Julian V","alias":"ultimate","url":"https://github.com/ultimate","imageURL":"https://github.com/ultimate.png","key":"ultimate","page":null},{"name":"Rohan Thakur","alias":"Xebec19","url":"https://github.com/Xebec19","imageURL":"https://github.com/Xebec19.png","key":"Xebec19","page":null},{"name":"yujonglee","alias":"yujonglee","url":"https://github.com/yujonglee","imageURL":"https://github.com/yujonglee.png","key":"yujonglee","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-08-09T19:00","authors":["alicelovescake","ashiq-firoz","Aslemammad","bharateshwq","bohyunjung","chirbard","d4nyll","dhayab","franzd1","Gekd","hichemfantar","johnnyreilly","Josh-Cena","lebalz","mxschmitt","OzakIOne","Paneedah","pjchender","priyadi","sergioalmela","slorber","tats-u","ultimate","Xebec19","yujonglee"]},"unlisted":false,"prevItem":{"title":"3.5.1","permalink":"/changelog/3.5.1"},"nextItem":{"title":"3.4.0","permalink":"/changelog/3.4.0"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/42c2afdc.02d63b90.js b/assets/js/42c2afdc.02d63b90.js new file mode 100644 index 0000000000..73fc20b9c2 --- /dev/null +++ b/assets/js/42c2afdc.02d63b90.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["65812"],{48100:function(e,t,s){s.r(t),s.d(t,{frontMatter:()=>r,default:()=>m,contentTitle:()=>d,assets:()=>c,toc:()=>i,metadata:()=>o});var o=JSON.parse('{"id":"tests/category-links/with-readme-doc/sample-doc","title":"Sample doc","description":"Lorem Ipsum","source":"@site/_dogfooding/_docs tests/tests/category-links/with-readme-doc/sample-doc.mdx","sourceDirName":"tests/category-links/with-readme-doc","slug":"/tests/category-links/with-readme-doc/sample-doc","permalink":"/tests/docs/tests/category-links/with-readme-doc/sample-doc","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Category with readme.md doc","permalink":"/tests/docs/tests/category-links/with-readme-doc/"},"next":{"title":"Image Tests","permalink":"/tests/docs/tests/images/"}}'),n=s(85893),a=s(80980);let r={},d="Sample doc",c={},i=[];function l(e){let t={h1:"h1",header:"header",p:"p",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"sample-doc",children:"Sample doc"})}),"\n",(0,n.jsx)(t.p,{children:"Lorem Ipsum"})]})}function m(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}m.displayName="MDXContent(_dogfooding/_docs tests/tests/category-links/with-readme-doc/sample-doc.mdx)"},80980:function(e,t,s){s.d(t,{Z:()=>d,a:()=>r});var o=s(67294);let n={},a=o.createContext(n);function r(e){let t=o.useContext(a);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43002.4e1d4dda.js b/assets/js/43002.4e1d4dda.js new file mode 100644 index 0000000000..e0189f1d94 --- /dev/null +++ b/assets/js/43002.4e1d4dda.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["43002"],{84128:function(t,r,e){e.d(r,{Z:()=>i});var a=e(58928);let i=function(t){return(0,a.Z)(t,4)}},67157:function(t,r,e){e.d(r,{DQ:()=>b,I_:()=>$,Jj:()=>_,QP:()=>v,ZH:()=>W});var a=e(57668),i=e(25653),n=e(19039),s=e(84890),d=e(28923),l=e(11141),o=(0,d.eW)((t,r,e,a)=>{r.forEach(r=>{y[r](t,e,a)})},"insertMarkers"),p=(0,d.eW)((t,r,e)=>{d.cM.trace("Making markers for ",e),t.append("defs").append("marker").attr("id",e+"_"+r+"-extensionStart").attr("class","marker extension "+r).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",e+"_"+r+"-extensionEnd").attr("class","marker extension "+r).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),c=(0,d.eW)((t,r,e)=>{t.append("defs").append("marker").attr("id",e+"_"+r+"-compositionStart").attr("class","marker composition "+r).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"_"+r+"-compositionEnd").attr("class","marker composition "+r).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),h=(0,d.eW)((t,r,e)=>{t.append("defs").append("marker").attr("id",e+"_"+r+"-aggregationStart").attr("class","marker aggregation "+r).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"_"+r+"-aggregationEnd").attr("class","marker aggregation "+r).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),g=(0,d.eW)((t,r,e)=>{t.append("defs").append("marker").attr("id",e+"_"+r+"-dependencyStart").attr("class","marker dependency "+r).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"_"+r+"-dependencyEnd").attr("class","marker dependency "+r).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),k=(0,d.eW)((t,r,e)=>{t.append("defs").append("marker").attr("id",e+"_"+r+"-lollipopStart").attr("class","marker lollipop "+r).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",e+"_"+r+"-lollipopEnd").attr("class","marker lollipop "+r).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),m=(0,d.eW)((t,r,e)=>{t.append("marker").attr("id",e+"_"+r+"-pointEnd").attr("class","marker "+r).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"_"+r+"-pointStart").attr("class","marker "+r).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),f=(0,d.eW)((t,r,e)=>{t.append("marker").attr("id",e+"_"+r+"-circleEnd").attr("class","marker "+r).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"_"+r+"-circleStart").attr("class","marker "+r).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),y={extension:p,composition:c,aggregation:h,dependency:g,lollipop:k,point:m,circle:f,cross:(0,d.eW)((t,r,e)=>{t.append("marker").attr("id",e+"_"+r+"-crossEnd").attr("class","marker cross "+r).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"_"+r+"-crossStart").attr("class","marker cross "+r).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),barb:(0,d.eW)((t,r,e)=>{t.append("defs").append("marker").attr("id",e+"_"+r+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb")},b=o,u=(0,d.eW)((t,r,e,a,i)=>{r.arrowTypeStart&&x(t,"start",r.arrowTypeStart,e,a,i),r.arrowTypeEnd&&x(t,"end",r.arrowTypeEnd,e,a,i)},"addEdgeMarkers"),w={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},x=(0,d.eW)((t,r,e,a,i,n)=>{let s=w[e];if(!s){d.cM.warn(`Unknown arrow type: ${e}`);return}t.attr(`marker-${r}`,`url(${a}#${i}_${n}-${s}${"start"===r?"Start":"End"})`)},"addEdgeMarker"),L={},M={},W=(0,d.eW)(()=>{L={},M={}},"clear"),$=(0,d.eW)((t,r)=>{let e;let i=(0,d.nV)(),s=(0,d.ku)(i.flowchart.htmlLabels),o="markdown"===r.labelType?(0,n.rw)(t,r.label,{style:r.labelStyle,useHtmlLabels:s,addSvgBackground:!0},i):(0,a.XO)(r.label,r.labelStyle),p=t.insert("g").attr("class","edgeLabel"),c=p.insert("g").attr("class","label");c.node().appendChild(o);let h=o.getBBox();if(s){let t=o.children[0],r=(0,l.Ys)(o);h=t.getBoundingClientRect(),r.attr("width",h.width),r.attr("height",h.height)}if(c.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),L[r.id]=p,r.width=h.width,r.height=h.height,r.startLabelLeft){let i=(0,a.XO)(r.startLabelLeft,r.labelStyle),n=t.insert("g").attr("class","edgeTerminals"),s=n.insert("g").attr("class","inner");e=s.node().appendChild(i);let d=i.getBBox();s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),M[r.id]||(M[r.id]={}),M[r.id].startLeft=n,S(e,r.startLabelLeft)}if(r.startLabelRight){let i=(0,a.XO)(r.startLabelRight,r.labelStyle),n=t.insert("g").attr("class","edgeTerminals"),s=n.insert("g").attr("class","inner");e=n.node().appendChild(i),s.node().appendChild(i);let d=i.getBBox();s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),M[r.id]||(M[r.id]={}),M[r.id].startRight=n,S(e,r.startLabelRight)}if(r.endLabelLeft){let i=(0,a.XO)(r.endLabelLeft,r.labelStyle),n=t.insert("g").attr("class","edgeTerminals"),s=n.insert("g").attr("class","inner");e=s.node().appendChild(i);let d=i.getBBox();s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),n.node().appendChild(i),M[r.id]||(M[r.id]={}),M[r.id].endLeft=n,S(e,r.endLabelLeft)}if(r.endLabelRight){let i=(0,a.XO)(r.endLabelRight,r.labelStyle),n=t.insert("g").attr("class","edgeTerminals"),s=n.insert("g").attr("class","inner");e=s.node().appendChild(i);let d=i.getBBox();s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),n.node().appendChild(i),M[r.id]||(M[r.id]={}),M[r.id].endRight=n,S(e,r.endLabelRight)}return o},"insertEdgeLabel");function S(t,r){(0,d.nV)().flowchart.htmlLabels&&t&&(t.style.width=9*r.length+"px",t.style.height="12px")}(0,d.eW)(S,"setTerminalWidth");var _=(0,d.eW)((t,r)=>{d.cM.debug("Moving label abc88 ",t.id,t.label,L[t.id],r);let e=r.updatedPath?r.updatedPath:r.originalPath,a=(0,d.nV)(),{subGraphTitleTotalMargin:n}=(0,i.L)(a);if(t.label){let a=L[t.id],i=t.x,l=t.y;if(e){let a=s.w8.calcLabelPosition(e);d.cM.debug("Moving label "+t.label+" from (",i,",",l,") to (",a.x,",",a.y,") abc88"),r.updatedPath&&(i=a.x,l=a.y)}a.attr("transform",`translate(${i}, ${l+n/2})`)}if(t.startLabelLeft){let r=M[t.id].startLeft,a=t.x,i=t.y;if(e){let r=s.w8.calcTerminalLabelPosition(10*!!t.arrowTypeStart,"start_left",e);a=r.x,i=r.y}r.attr("transform",`translate(${a}, ${i})`)}if(t.startLabelRight){let r=M[t.id].startRight,a=t.x,i=t.y;if(e){let r=s.w8.calcTerminalLabelPosition(10*!!t.arrowTypeStart,"start_right",e);a=r.x,i=r.y}r.attr("transform",`translate(${a}, ${i})`)}if(t.endLabelLeft){let r=M[t.id].endLeft,a=t.x,i=t.y;if(e){let r=s.w8.calcTerminalLabelPosition(10*!!t.arrowTypeEnd,"end_left",e);a=r.x,i=r.y}r.attr("transform",`translate(${a}, ${i})`)}if(t.endLabelRight){let r=M[t.id].endRight,a=t.x,i=t.y;if(e){let r=s.w8.calcTerminalLabelPosition(10*!!t.arrowTypeEnd,"end_right",e);a=r.x,i=r.y}r.attr("transform",`translate(${a}, ${i})`)}},"positionEdgeLabel"),E=(0,d.eW)((t,r)=>{let e=t.x,a=t.y,i=Math.abs(r.x-e),n=Math.abs(r.y-a),s=t.width/2,d=t.height/2;return!!(i>=s)||!!(n>=d)},"outsideNode"),P=(0,d.eW)((t,r,e)=>{d.cM.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(r)} + insidePoint : ${JSON.stringify(e)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let a=t.x,i=t.y,n=Math.abs(a-e.x),s=t.width/2,l=e.x<r.x?s-n:s+n,o=t.height/2,p=Math.abs(r.y-e.y),c=Math.abs(r.x-e.x);if(Math.abs(i-r.y)*s>Math.abs(a-r.x)*o){let t=e.y<r.y?r.y-o-i:i-o-r.y;l=c*t/p;let a={x:e.x<r.x?e.x+l:e.x-c+l,y:e.y<r.y?e.y+p-t:e.y-p+t};return 0===l&&(a.x=r.x,a.y=r.y),0===c&&(a.x=r.x),0===p&&(a.y=r.y),d.cM.debug(`abc89 topp/bott calc, Q ${p}, q ${t}, R ${c}, r ${l}`,a),a}{let t=p*(l=e.x<r.x?r.x-s-a:a-s-r.x)/c,i=e.x<r.x?e.x+c-l:e.x-c+l,n=e.y<r.y?e.y+t:e.y-t;return d.cM.debug(`sides calc abc89, Q ${p}, q ${t}, R ${c}, r ${l}`,{_x:i,_y:n}),0===l&&(i=r.x,n=r.y),0===c&&(i=r.x),0===p&&(n=r.y),{x:i,y:n}}},"intersection"),X=(0,d.eW)((t,r)=>{d.cM.debug("abc88 cutPathAtIntersect",t,r);let e=[],a=t[0],i=!1;return t.forEach(t=>{if(E(r,t)||i)a=t,i||e.push(t);else{let n=P(r,a,t),s=!1;e.forEach(t=>{s=s||t.x===n.x&&t.y===n.y}),e.some(t=>t.x===n.x&&t.y===n.y)||e.push(n),i=!0}}),e},"cutPathAtIntersect"),v=(0,d.eW)(function(t,r,e,a,n,s,o){let p,c=e.points;d.cM.debug("abc88 InsertEdge: edge=",e,"e=",r);let h=!1,g=s.node(r.v);var k=s.node(r.w);k?.intersect&&g?.intersect&&((c=c.slice(1,e.points.length-1)).unshift(g.intersect(c[0])),c.push(k.intersect(c[c.length-1]))),e.toCluster&&(d.cM.debug("to cluster abc88",a[e.toCluster]),c=X(e.points,a[e.toCluster].node),h=!0),e.fromCluster&&(d.cM.debug("from cluster abc88",a[e.fromCluster]),c=X(c.reverse(),a[e.fromCluster].node).reverse(),h=!0);let m=c.filter(t=>!Number.isNaN(t.y)),f=l.$0Z;e.curve&&("graph"===n||"flowchart"===n)&&(f=e.curve);let{x:y,y:b}=(0,i.o)(e),w=(0,l.jvg)().x(y).y(b).curve(f);switch(e.thickness){case"normal":p="edge-thickness-normal";break;case"thick":case"invisible":p="edge-thickness-thick";break;default:p=""}switch(e.pattern){case"solid":p+=" edge-pattern-solid";break;case"dotted":p+=" edge-pattern-dotted";break;case"dashed":p+=" edge-pattern-dashed"}let x=t.append("path").attr("d",w(m)).attr("id",e.id).attr("class"," "+p+(e.classes?" "+e.classes:"")).attr("style",e.style),L="";((0,d.nV)().flowchart.arrowMarkerAbsolute||(0,d.nV)().state.arrowMarkerAbsolute)&&(L=(L=(L=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),u(x,e,L,o,n);let M={};return h&&(M.updatedPath=c),M.originalPath=e.points,M},"insertEdge")}}]); \ No newline at end of file diff --git a/assets/js/43b66818.b8d83628.js b/assets/js/43b66818.b8d83628.js new file mode 100644 index 0000000000..8da053720f --- /dev/null +++ b/assets/js/43b66818.b8d83628.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["20047"],{60911:function(a,e,t){t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>h});var n=t(91571),i=t(85893),r=t(80980);let o={mdx:{format:"md"},date:"2022-10-29T20:00",authors:["adnanhashmi09","birjj","e-im","forgeRW","forresst","homotechsual","jeferson-sb","johnnyreilly","Josh-Cena","JPeer264","lex111","LittleboyHarry","mturoci","namnguyenthanhwork","pasora","Pranav2612000","ramazansancar","sanjaiyan-dev","shanpriyan","sjwall","slorber","Xabilahu"]},s="2.2.0",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},h=[];function m(a){return(0,i.jsx)(i.Fragment,{})}function u(a={}){let{wrapper:e}={...(0,r.a)(),...a.components};return e?(0,i.jsx)(e,{...a,children:(0,i.jsx)(m,{...a})}):m(a)}},80980:function(a,e,t){t.d(e,{Z:()=>s,a:()=>o});var n=t(67294);let i={},r=n.createContext(i);function o(a){let e=n.useContext(r);return n.useMemo(function(){return"function"==typeof a?a(e):{...e,...a}},[e,a])}function s(a){let e;return e=a.disableParentContext?"function"==typeof a.components?a.components(i):a.components||i:o(a.components),n.createElement(r.Provider,{value:e},a.children)}},91571:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.2.0","source":"@site/changelog/source/2.2.0.md","title":"2.2.0","description":"New Feature","date":"2022-10-29T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Adnan Hashmi","alias":"adnanhashmi09","url":"https://github.com/adnanhashmi09","imageURL":"https://github.com/adnanhashmi09.png","key":"adnanhashmi09","page":null},{"name":"Johan Fagerberg","alias":"birjj","url":"https://github.com/birjj","imageURL":"https://github.com/birjj.png","key":"birjj","page":null},{"name":"evan","alias":"e-im","url":"https://github.com/e-im","imageURL":"https://github.com/e-im.png","key":"e-im","page":null},{"name":"forgeRW","alias":"forgeRW","url":"https://github.com/forgeRW","imageURL":"https://github.com/forgeRW.png","key":"forgeRW","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Jeferson S. Brito","alias":"jeferson-sb","url":"https://github.com/jeferson-sb","imageURL":"https://github.com/jeferson-sb.png","key":"jeferson-sb","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jan Peer St\xf6cklmair","alias":"JPeer264","url":"https://github.com/JPeer264","imageURL":"https://github.com/JPeer264.png","key":"JPeer264","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"LittleboyHarry","alias":"LittleboyHarry","url":"https://github.com/LittleboyHarry","imageURL":"https://github.com/LittleboyHarry.png","key":"LittleboyHarry","page":null},{"name":"mturoci","alias":"mturoci","url":"https://github.com/mturoci","imageURL":"https://github.com/mturoci.png","key":"mturoci","page":null},{"name":"Nguy\u1EC5n Th\xe0nh Nam","alias":"namnguyenthanhwork","url":"https://github.com/namnguyenthanhwork","imageURL":"https://github.com/namnguyenthanhwork.png","key":"namnguyenthanhwork","page":null},{"name":"Masahiko Hara","alias":"pasora","url":"https://github.com/pasora","imageURL":"https://github.com/pasora.png","key":"pasora","page":null},{"name":"Pranav Joglekar","alias":"Pranav2612000","url":"https://github.com/Pranav2612000","imageURL":"https://github.com/Pranav2612000.png","key":"Pranav2612000","page":null},{"name":"Ramazan SANCAR","alias":"ramazansancar","url":"https://github.com/ramazansancar","imageURL":"https://github.com/ramazansancar.png","key":"ramazansancar","page":null},{"name":"Sanjaiyan Parthipan","alias":"sanjaiyan-dev","url":"https://github.com/sanjaiyan-dev","imageURL":"https://github.com/sanjaiyan-dev.png","key":"sanjaiyan-dev","page":null},{"name":"Shanmughapriyan S","alias":"shanpriyan","url":"https://github.com/shanpriyan","imageURL":"https://github.com/shanpriyan.png","key":"shanpriyan","page":null},{"name":"Sam Wall","alias":"sjwall","url":"https://github.com/sjwall","imageURL":"https://github.com/sjwall.png","key":"sjwall","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Xabier Lahuerta Vazquez","alias":"Xabilahu","url":"https://github.com/Xabilahu","imageURL":"https://github.com/Xabilahu.png","key":"Xabilahu","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-10-29T20:00","authors":["adnanhashmi09","birjj","e-im","forgeRW","forresst","homotechsual","jeferson-sb","johnnyreilly","Josh-Cena","JPeer264","lex111","LittleboyHarry","mturoci","namnguyenthanhwork","pasora","Pranav2612000","ramazansancar","sanjaiyan-dev","shanpriyan","sjwall","slorber","Xabilahu"]},"unlisted":false,"prevItem":{"title":"2.3.0","permalink":"/changelog/2.3.0"},"nextItem":{"title":"2.1.0","permalink":"/changelog/2.1.0"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/43cd9bda.d1f77c62.js b/assets/js/43cd9bda.d1f77c62.js new file mode 100644 index 0000000000..87c9651c83 --- /dev/null +++ b/assets/js/43cd9bda.d1f77c62.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["29304"],{44037:function(e,s,n){n.r(s),n.d(s,{assets:()=>h,contentTitle:()=>o,default:()=>a,frontMatter:()=>c,metadata:()=>i,toc:()=>u});var i=n(99296),r=n(85893),l=n(80980);let c={mdx:{format:"md"},date:"2021-06-24T20:00",authors:["eshantri","felipecrs","Josh-Cena","jsamr","lex111","loozhengyuan","manuelmeurer","ramiy","slorber","teikjun","tomekpapiernik"]},o="2.0.0-beta.2",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},u=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 11",id:"committers-11",level:2}];function t(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,l.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5052",children:"#5052"})," feat(v2): docs version banner configuration option (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5037",children:"#5037"})," feat(v2): plugins injectHtmlTags + configureWebpack should receive content loaded (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5053",children:"#5053"})," refactor(v2): remove deprecated docs option excludeNextVersionDocs (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5052",children:"#5052"})," feat(v2): docs version banner configuration option (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5054",children:"#5054"})," fix(v2): allow undefined favicon (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5048",children:"#5048"})," fix(v2): read last update from inner git repositories (",(0,r.jsx)(s.a,{href:"https://github.com/felipecrs",children:"@felipecrs"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5050",children:"#5050"})," fix(v2): add shadow to skip link on focus only (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5035",children:"#5035"})," fix(v2): fix some docs container/sidebar layout issues (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5047",children:"#5047"})," fix(v2): Fix Webpack persistent caching (evict on swizzle/alias/config change) (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5040",children:"#5040"})," fix(v2): Fix announcementBar layout shifts (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5034",children:"#5034"})," fix(v2): dev css modules classnames should include filename (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5016",children:"#5016"})," fix(v2): add missing quote in build command output (",(0,r.jsx)(s.a,{href:"https://github.com/manuelmeurer",children:"@manuelmeurer"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5023",children:"#5023"})," fix(v2): ignore hash changes in useChangeRoute hook (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5032",children:"#5032"})," fix(v2): less strict blog/docs uri frontmatter validation (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5053",children:"#5053"})," refactor(v2): remove deprecated docs option excludeNextVersionDocs (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4993",children:"#4993"})," style(v2): reduce number of ESLint warnings (",(0,r.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["Other\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5017",children:"#5017"})," chore(v2): remove badge for v1 tests (",(0,r.jsx)(s.a,{href:"https://github.com/loozhengyuan",children:"@loozhengyuan"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Other\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5049",children:"#5049"})," docs(v2): Fix Gatsby theme name for docs site - Docz (",(0,r.jsx)(s.a,{href:"https://github.com/ramiy",children:"@ramiy"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5030",children:"#5030"})," docs(v2): typo in deployment.mdx (",(0,r.jsx)(s.a,{href:"https://github.com/eshantri",children:"@eshantri"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5022",children:"#5022"})," docs(v2): Add React Native Render HTML site to showcase page (",(0,r.jsx)(s.a,{href:"https://github.com/jsamr",children:"@jsamr"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5027",children:"#5027"})," docs(v2): Add Buddy to deployment doc (",(0,r.jsx)(s.a,{href:"https://github.com/tomekpapiernik",children:"@tomekpapiernik"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5021",children:"#5021"})," docs(v2): fix incorrect anchor links in website (",(0,r.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5007",children:"#5007"})," docs(v2): wrap mdx usage in mdx-code-block (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5033",children:"#5033"})," docs(v2): GH pages: recommend using trailingSlash (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5005",children:"#5005"})," chore: add archived versions system + archive alpha.73-75 (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"committers-11",children:"Committers: 11"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Eshan Tripathi (",(0,r.jsx)(s.a,{href:"https://github.com/eshantri",children:"@eshantri"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Felipe Santos (",(0,r.jsx)(s.a,{href:"https://github.com/felipecrs",children:"@felipecrs"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Joshua Chen (",(0,r.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Jules Sam. Randolph (",(0,r.jsx)(s.a,{href:"https://github.com/jsamr",children:"@jsamr"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Manuel Meurer (",(0,r.jsx)(s.a,{href:"https://github.com/manuelmeurer",children:"@manuelmeurer"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Rami Yushuvaev (",(0,r.jsx)(s.a,{href:"https://github.com/ramiy",children:"@ramiy"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Teik Jun (",(0,r.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Tomasz Papiernik (",(0,r.jsx)(s.a,{href:"https://github.com/tomekpapiernik",children:"@tomekpapiernik"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["ZhengYuan Loo (",(0,r.jsx)(s.a,{href:"https://github.com/loozhengyuan",children:"@loozhengyuan"}),")"]}),"\n"]})]})}function a(e={}){let{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(t,{...e})}):t(e)}},80980:function(e,s,n){n.d(s,{Z:()=>o,a:()=>c});var i=n(67294);let r={},l=i.createContext(r);function c(e){let s=i.useContext(l);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),i.createElement(l.Provider,{value:s},e.children)}},99296:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.2","source":"@site/changelog/source/2.0.0-beta.2.md","title":"2.0.0-beta.2","description":"New Feature","date":"2021-06-24T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Eshan Tripathi","alias":"eshantri","url":"https://github.com/eshantri","imageURL":"https://github.com/eshantri.png","key":"eshantri","page":null},{"name":"Felipe Santos","alias":"felipecrs","url":"https://github.com/felipecrs","imageURL":"https://github.com/felipecrs.png","key":"felipecrs","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jules Sam. Randolph","alias":"jsamr","url":"https://github.com/jsamr","imageURL":"https://github.com/jsamr.png","key":"jsamr","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"ZhengYuan Loo","alias":"loozhengyuan","url":"https://github.com/loozhengyuan","imageURL":"https://github.com/loozhengyuan.png","key":"loozhengyuan","page":null},{"name":"Manuel Meurer","alias":"manuelmeurer","url":"https://github.com/manuelmeurer","imageURL":"https://github.com/manuelmeurer.png","key":"manuelmeurer","page":null},{"name":"Rami Yushuvaev","alias":"ramiy","url":"https://github.com/ramiy","imageURL":"https://github.com/ramiy.png","key":"ramiy","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"Tomasz Papiernik","alias":"tomekpapiernik","url":"https://github.com/tomekpapiernik","imageURL":"https://github.com/tomekpapiernik.png","key":"tomekpapiernik","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-06-24T20:00","authors":["eshantri","felipecrs","Josh-Cena","jsamr","lex111","loozhengyuan","manuelmeurer","ramiy","slorber","teikjun","tomekpapiernik"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.3","permalink":"/changelog/2.0.0-beta.3"},"nextItem":{"title":"2.0.0-beta.1","permalink":"/changelog/2.0.0-beta.1"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/4430260b.471ad594.js b/assets/js/4430260b.471ad594.js new file mode 100644 index 0000000000..912c8cf7ac --- /dev/null +++ b/assets/js/4430260b.471ad594.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["99161"],{16295:function(e,t,a){a.r(t),a.d(t,{frontMatter:()=>x,default:()=>D,contentTitle:()=>U,assets:()=>M,toc:()=>O,metadata:()=>p});var l,r,c,n,o,s,i,p=JSON.parse('{"type":"mdx","permalink":"/tests/pages/svg/","source":"@site/_dogfooding/_pages tests/svg/index.mdx","title":"Many inline SVGs","description":"Have a bunch of SVGs, they\'re written to intentionally override each others styled when inlined on the same page.","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/svg/index.mdx","unlisted":false}'),m=a(85893),E=a(80980),d=a(67294);function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var l in a)({}).hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e}).apply(null,arguments)}let h=e=>{let{title:t,titleId:a,...n}=e;return d.createElement("svg",f({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 600 470","aria-labelledby":a},n),t?d.createElement("title",{id:a},t):null,l||(l=d.createElement("style",null,"#integrationspostcss-logo:focus path,#integrationspostcss-logo:hover path{filter:brightness(1.2)}#integrationsdocusaurus-logo:focus path,#integrationsdocusaurus-logo:hover path{filter:brightness(1.1)}")),r||(r=d.createElement("g",{clipPath:"url(#integrationsa)"},d.createElement("path",{fill:"url(#integrationsb)",d:"M585.999 309.021a26.217 26.217 0 0 1 3.127 36.943 26.216 26.216 0 0 1-36.941 3.138 26.217 26.217 0 0 1-3.151-36.94 26.22 26.22 0 0 1 36.94-3.163"}),d.createElement("path",{fill:"#636E89",d:"M584.204 307.644a24.7 24.7 0 0 1-37.626 30.669 24.6 24.6 0 0 1-2.918-2.921 26.2 26.2 0 0 0 8.524 13.711 26.23 26.23 0 0 0 19.121 6.08A26.223 26.223 0 0 0 586 309.021l-.026-.036a26 26 0 0 0-1.77-1.356z"}),d.createElement("path",{fill:"url(#integrationsc)",d:"M354.04 156.355a131.63 131.63 0 0 0-104.194 46.772 131.64 131.64 0 0 0 15.821 185.464 131.64 131.64 0 0 0 77.734 30.718l-.092.082c57.229 3.566 164.318 16.113 218.417-69.559a8.424 8.424 0 0 0-1.649-10.995h-.007a8.43 8.43 0 0 0-10.124-.543c-44.998 30.005-70.385-15.98-68.134-40.784h-.011a131.63 131.63 0 0 0-46.365-110.153l-.13-.111a131.63 131.63 0 0 0-81.266-30.891"}),d.createElement("path",{fill:"#636E89",d:"M557.9 333.242a9.63 9.63 0 0 0-7.619 3.42 9.6 9.6 0 0 0-1.46 2.356c.374-.24.747-.473 1.124-.725a8.43 8.43 0 0 1 10.125.544h.006a8.42 8.42 0 0 1 1.649 10.995c-.494.782-1.001 1.538-1.504 2.304a9.623 9.623 0 0 0 3.63-16.627h-.009a9.63 9.63 0 0 0-5.942-2.26z"}),d.createElement("path",{fill:"url(#integrationsd)",d:"M481.423 205.71c-14.357-3.836-31.641-4.225-31.641-4.225.011 0 .018.036.029.036a131.6 131.6 0 0 1 22.132 35.609l5.69-2.47c9.507-4.024 20.817-5.949 22.343-10.301 1.187-3.385.123-6.215.123-6.215-1.474-6.098-9.473-9.975-18.676-12.434"}),d.createElement("path",{fill:"url(#integrationse)",d:"M457.046 162.936c-26.111-6.795-59.136 2.198-59.136 2.198q.283.142.553.305a131.6 131.6 0 0 1 36.842 21.808l.13.112a132 132 0 0 1 14.332 14.111h.014l4.832-1.202c19.339-3.97 25.753-9.813 27.225-14.782 1.567-5.29-2.466-9.591-2.466-9.591-5.687-6.691-13.623-10.709-22.327-12.974z"}),d.createElement("path",{fill:"url(#integrationsf)",d:"M478.53 238.481c-3.838-1.004-6.577-1.357-6.577-1.357l.065.19a131.7 131.7 0 0 1 6.864 21.468l.003.001s2.443.083 3.665.079c8.767-.04 14.614.187 17.033-2.611 1.657-1.917.381-5.478-1.12-7.519-4.899-6.666-13.536-8.578-19.933-10.251"}),d.createElement("path",{fill:"url(#integrationsg)",d:"M304.782 164.615a131.64 131.64 0 0 0-54.936 38.511c-46.835 55.588-39.752 138.613 15.82 185.465a131.64 131.64 0 0 0 77.735 30.717l-.093.083c48.345 3.012 132.267 12.43 189.772-36.361-30.185 12.116-76.529 17.449-98.64 15.154 2.095-8.487 1.076-17.395-2.85-24.9s-10.462-13.04-18.269-15.473a30.1 30.1 0 0 0-9.465-1.354q-.894.024-1.788.1l-.002-.036-.241.036a31 31 0 0 0-3.067.413l-31.508 4.227c-6.152-5.917-12.343-11.901-18.865-17.388-52.001-43.867-69.636-116.343-43.603-179.198zm67.329 201.241 32.97.28q.342-.004.684 0h.345v.036c3.533.141 6.984.942 10.194 2.366 5.42 2.421 9.948 6.53 12.996 11.796s4.477 11.444 4.101 17.735c-1.66-.197-3.187-.434-4.526-.725l.111-.097c-23.142-1.234-40.147-15.506-56.875-31.391"}),d.createElement("path",{fill:"url(#integrationsh)",d:"M279.018 177.502a131.6 131.6 0 0 0-29.173 25.625c-46.834 55.587-39.751 138.613 15.821 185.465a131.64 131.64 0 0 0 77.734 30.717l-.092.083c33.904 2.112 85.302 7.347 132.819-6.527-19.602 2.773-42.649 3.606-55.708-3.119l.115-.103a164.98 164.98 0 0 1-97.418-38.497 165 165 0 0 1-17.162-17.011l-.051-19.592c-.036-13.475-3.707-24.943-18.335-34.228-4.355-2.765-9.897-4.211-14.854-4.964a164.98 164.98 0 0 1 6.304-117.849"}),d.createElement("path",{fill:"#E6F4F1",d:"M281.036 434.798c7.496.482 13.285 1.352 16.096 2.418s2.412 2.241-1.108 3.267-9.873 1.819-17.663 2.204c-7.789.385-16.377.33-23.875-.151-7.497-.481-13.291-1.351-16.107-2.416-2.815-1.066-2.422-2.242 1.093-3.268s9.865-1.819 17.652-2.205c7.788-.385 16.376-.332 23.876.149"}),d.createElement("path",{fill:"url(#integrationsi)",d:"M265.428 297.19c-10.856.205-20.518 5.828-25.514 14.847a27.9 27.9 0 0 0-3.234 9.951h-.024l-.067.707q-.04.362-.07.723v115.249h62.466V328.054a30 30 0 0 0-.094-1.677l-.004-.072h-.002c-.908-10.315-7.245-19.743-16.784-24.974l-.037-.02c-5.126-2.801-10.883-4.227-16.637-4.118z"}),d.createElement("path",{fill:"#B3D0CB",d:"M266.505 297.174h-1.078c-10.856.204-20.518 5.827-25.514 14.846a27.9 27.9 0 0 0-3.234 9.951h-.025l-.066.707q-.04.361-.071.723v115.25c.034.866 1.994 1.71 5.614 2.421V331.173q.037-.443.085-.88l.082-.856h.032a33.8 33.8 0 0 1 3.925-12.083c6.067-10.952 17.799-17.777 30.98-18.028h.541a33.3 33.3 0 0 0-11.273-2.167z"}),d.createElement("path",{fill:"url(#integrationsj)",d:"M245.508 424.717a11.331 11.331 0 0 1-.971 20.917 11.33 11.33 0 0 1-14.508-6.806 11.33 11.33 0 0 1 6.802-14.511 11.33 11.33 0 0 1 8.663.394"}),d.createElement("path",{fill:"#636E89",d:"M240.841 423.651a12.9 12.9 0 0 1 3.239 15.24 12.9 12.9 0 0 1-3.029 4.086 12.9 12.9 0 0 1-4.373 2.598 11.336 11.336 0 0 0 14.268-5.783 11.333 11.333 0 0 0-5.438-15.075h-.014a11.3 11.3 0 0 0-4.655-1.061z"}),d.createElement("path",{fill:"url(#integrationsk)",d:"M260.303 430.917c2.115.965 3.749 2.708 4.542 4.844a8.34 8.34 0 0 1-.312 6.545c-.994 2.056-2.787 3.644-4.985 4.415a9.06 9.06 0 0 1-6.739-.301c-2.116-.965-3.751-2.706-4.546-4.842a8.34 8.34 0 0 1 .309-6.546c.992-2.056 2.784-3.645 4.982-4.417a9.05 9.05 0 0 1 6.738.297"}),d.createElement("path",{fill:"url(#integrationsl)",d:"m247.48 29.62 4.295 10.898-29.988 16.873a274 274 0 0 0-1.369 19.17c-9.772 8.38-18.825 18.131-26.81 28.871-5.385-.715-10.851-1.284-16.552-1.424l-22.787 41.458c3.995 3.842 8.222 7.257 12.681 10.493-3.756 11.267-6.133 22.504-7.051 33.335-6.394 4.785-12.743 9.801-19.057 15.196l3.696 27.522-10.25 3.5 11.63 6.773c4.329-1.258 8.624-2.706 12.91-4.226l1.235-.404-.021-.04c2.217-.797 4.434-1.576 6.649-2.422 3.501 7.907 8.274 14.677 14.167 20.091-2.949 7.238-5.73 14.542-8.264 21.945l-12.3-4.898 11.63 6.774 29.931 11.918c5.515-6.929 10.579-13.792 15.538-20.822 8.801.56 18.144-.538 27.724-3.26.73 2.194 1.517 4.357 2.306 6.519l-7.256 4.061 11.63 6.773 37.246-20.852c.784-7.08 1.22-13.933 1.466-20.711 9.729-7.799 18.841-16.973 26.996-27.178 5.3.711 10.676 1.21 16.277 1.372l22.84-41.557c-3.467-3.327-7.089-6.291-10.831-9.119 4.801-12.685 7.857-25.44 9.04-37.712a309 309 0 0 0 15.091-12.242l-4.978-37.852-11.63-6.773 1.322 10.06c-1.696.586-3.394 1.164-5.084 1.783-3.885-9.892-9.655-18.164-17.038-24.43 1.529-3.829 1.784-6.096 2.331-8.85l1.32-5.002-8.786-10.505-1.654 4.479-16.738-9.662c-4.173 5.243-8.139 10.541-11.993 15.881-10.243-.51-21.181 1.195-32.337 5.042a238 238 0 0 0-3.494-9.208h.01l-.209-.494c-.6-1.469-1.213-2.93-1.856-4.37zm33.824 46.59c15.88-.62 29.331 5.642 37.844 17.827a.5.5 0 0 0-.084.15c9.586 13.916 11.991 34.224 6.668 56.312l-.289 1.164c-5.358 21.053-17.315 41.922-33.363 58.231a94 94 0 0 1-2.769 2.73c-15.274 14.553-32.765 23.939-49.329 26.473a59 59 0 0 1-4.882.521c-7.503.481-14.538-.551-20.818-3.055-6.619-2.616-12.293-6.842-16.755-12.482-1.021-1.289-1.979-2.615-2.795-4.156-7.699-12.325-10.15-29.213-6.939-47.818a97 97 0 0 1 1.043-5.24c4.51-19.87 15.04-39.863 29.587-56.177.694-.788 1.394-1.575 2.057-2.224 15.988-17.033 35.117-28.291 53.307-31.371l.568-.194a60 60 0 0 1 6.949-.69"}),d.createElement("path",{fill:"url(#integrationsm)",d:"M190.227 284.252c5.516-6.93 10.578-13.793 15.536-20.823 8.801.559 18.146-.539 27.726-3.26 1.972 5.926 4.104 11.764 6.679 17.353l37.245-20.853c.784-7.08 1.222-13.933 1.467-20.71 9.729-7.8 18.842-16.975 26.998-27.179 5.299.711 10.674 1.21 16.275 1.372l22.841-41.556c-3.467-3.327-7.091-6.292-10.832-9.12 4.801-12.684 7.859-25.439 9.041-37.71a309 309 0 0 0 15.09-12.243l-4.978-37.852c-5.183 1.465-10.297 3.206-15.393 5.07-3.885-9.892-9.653-18.164-17.036-24.43a352 352 0 0 0 6.494-17.585L297.358 22.77c-4.174 5.243-8.138 10.543-11.992 15.883-10.242-.511-21.182 1.194-32.338 5.041-1.726-4.824-3.52-9.525-5.549-14.075l-37.322 21a274 274 0 0 0-1.368 19.17c-9.771 8.38-18.826 18.13-26.811 28.87-5.385-.716-10.851-1.282-16.552-1.423l-22.787 41.457c3.994 3.842 8.223 7.258 12.682 10.493-3.757 11.267-6.134 22.503-7.051 33.334-6.394 4.785-12.742 9.802-19.056 15.197l5.074 37.795c6.979-2.027 13.875-4.455 20.774-7.092 3.501 7.907 8.275 14.677 14.167 20.091-3.199 7.852-6.237 15.769-8.934 23.821zm12.426-54.461c-6.62-2.616-12.293-6.842-16.755-12.483-1.021-1.288-1.979-2.613-2.795-4.155-7.699-12.324-10.149-29.213-6.938-47.817q.44-2.593 1.042-5.242c4.511-19.87 15.04-39.863 29.587-56.176.695-.788 1.393-1.575 2.056-2.223 15.988-17.033 35.117-28.291 53.307-31.372l.57-.193c9.344-1.475 18.13-.717 25.828 2.228s14.148 8.016 18.962 14.907a.6.6 0 0 0-.083.15c4.745 6.889 7.78 15.42 8.925 25.092s.378 20.288-2.257 31.221l-.289 1.163c-5.357 21.053-17.314 41.923-33.362 58.232a93 93 0 0 1-2.77 2.729c-15.274 14.553-32.764 23.939-49.329 26.473q-2.385.36-4.881.522c-7.503.482-14.539-.551-20.818-3.056"}),d.createElement("path",{fill:"url(#integrationsn)",d:"M155.154 63.002h.004a2.5 2.5 0 0 0-.485.812c-.167.47-.193.98-.071 1.463 3.426 15.159 5.784 19.563 9.976 28.743 1.585 3.467 6.527 7.568 10.946 7.481 4.251-.083 9.151-1.885 12.773-5.525.007 0 .018 0 .018-.036.018-.035.039-.043.06-.06 3.621-3.64 5.398-8.55 5.46-12.801.065-4.419-4.061-9.34-7.535-10.908-9.201-4.146-13.617-6.483-28.793-9.832a2.5 2.5 0 0 0-1.46.075 2.5 2.5 0 0 0-.809.493h-.004c-.011.036-.032.036-.05.054-.014 0-.021 0-.028.035z"}),d.createElement("path",{fill:"url(#integrationso)",d:"M179.766 216.353s6.052-.317 12.414-6.526 16.445-13.765 24.777-12.658.613-9.983.613-9.983l-26.826-3.732-14.704 12.545 4.022 5.46z"}),d.createElement("path",{fill:"url(#integrationsp)",d:"M179.146 216.385s-16.986.666-20.15-14.993 6.813-11.484 6.813-11.484l10.231 6.091 4.357 8.547z"}),d.createElement("path",{fill:"url(#integrationsq)",d:"M182.045 199.122a8.903 8.903 0 0 1 .687 16.437 8.903 8.903 0 0 1-7.505-16.149 8.9 8.9 0 0 1 6.807-.292"}),d.createElement("path",{fill:"url(#integrationsr)",d:"M156.956 62.265c-.308 0-.616.046-.909.15-.253.09-.486.23-.695.399 12.388 10.225 15.747 14.878 22.736 23.476 2.619 3.226 4.282 9.853 2.444 14.369 2.773-.871 5.516-2.424 7.765-4.685.007 0 .018.001.018-.035.018-.036.04-.043.059-.061 3.622-3.64 5.4-8.55 5.462-12.801.065-4.419-4.061-9.34-7.536-10.908-9.201-4.146-13.616-6.483-28.791-9.833a2.4 2.4 0 0 0-.552-.075z"}),d.createElement("path",{fill:"#92DAFB",d:"M297.358 22.77c-4.174 5.243-8.138 10.543-11.992 15.883-10.242-.511-21.182 1.194-32.339 5.04-1.725-4.823-3.519-9.524-5.549-14.074l-37.322 21a285 285 0 0 0-.515 5.797l36.591-21.62c2.672 4.972 3.192 8.298 5.544 13.605 12.286-5.278 25.519-8.37 37.135-8.648a497 497 0 0 1 10.387-16.21zM204.816 73.4c-8.26 7.525-15.946 16.027-22.837 25.258-5.385-.715-10.851-1.282-16.552-1.422l-22.789 41.458a103 103 0 0 0 3.696 3.364l11.932-26.098c6.454-.316 12.678-.13 18.822.226 8.127-12.802 17.546-24.576 27.889-34.86a301 301 0 0 1-.161-7.925M160.862 270.7c-.186.545-.383 1.086-.566 1.632l2.345.935a70 70 0 0 1-1.779-2.567"}),d.createElement("path",{fill:"#92DAFB",d:"m213.056 48.987-2.9 1.632a275 275 0 0 0-1.239 16.77q1.531-1.41 3.085-2.772c.198-5.156.549-10.37 1.054-15.63m59.018 15.318a60 60 0 0 0-6.133.653l-.57.194c-18.19 3.08-37.319 14.337-53.307 31.37-.663.649-1.361 1.435-2.056 2.223a135 135 0 0 0-15.242 20.928 134.4 134.4 0 0 1 12.029-15.756c.695-.788 1.392-1.574 2.055-2.222 15.988-17.034 35.118-28.292 53.308-31.373l.568-.193c9.345-1.475 18.131-.717 25.829 2.228s14.149 8.016 18.963 14.908a.6.6 0 0 0-.083.15c4.745 6.889 7.779 15.42 8.924 25.092 1.146 9.672.378 20.288-2.257 31.222l-.289 1.161c-2.792 10.969-7.404 21.997-13.561 32.422 7.763-11.886 13.511-24.767 16.776-37.594l.287-1.162c2.635-10.933 3.403-21.549 2.258-31.221s-4.18-18.204-8.925-25.092a.6.6 0 0 1 .083-.15c-8.622-12.343-22.355-18.661-38.657-17.788"}),d.createElement("path",{fill:"url(#integrationss)",d:"M154.699 63.753c-.007.036-.018.04-.025.062a2.5 2.5 0 0 0-.071 1.46c3.425 15.158 5.783 19.564 9.975 28.743 1.585 3.467 6.529 7.567 10.948 7.48 3.75-.071 8.003-1.484 11.44-4.315-1.769.747-3.571 1.237-5.307 1.46-5.005.647-11.123-3.397-13.352-7.135-5.446-9.144-8.612-13.863-13.608-27.755"}),d.createElement("path",{fill:"url(#integrationst)",d:"M219.832 60.796c-15.697.513-30.508 6.891-41.742 17.975s-18.148 26.139-19.484 42.43a71 71 0 0 0-.18 3.924l-.025-.262c-.937 12.677-6.654 27.627-16.219 27.969h.011a15.454 15.454 0 0 0-15.352 11.987q-.174.784-.267 1.582h-.011c-3.913 27.944 9.434 44.499 19.98 46.149q.352.062.709.089h.032a7.54 7.54 0 0 0 7.591-4.873h.004s1.058-3.071 5.792-4.089c5.772-1.241 11.544-1.064 18.622-5.857 4.684-3.171 8.7-8.071 10.889-11.03 8.607 5.712 18.289 9.332 28.303 10.582 17.363 2.156 34.605-2.944 47.935-14.179s21.656-27.684 23.148-45.731-3.973-36.215-15.194-50.508-27.277-23.54-44.64-25.708h-.085a63 63 0 0 0-9.821-.445z"}),d.createElement("path",{fill:"url(#integrationsu)",d:"M219.831 60.797a62 62 0 0 0-24.953 6.173 71 71 0 0 1 4.828.42h.095c11.242 1.403 21.657 5.403 30.76 11.333-1.318 3.726-1.724 8.048-.308 11.359 2.252 5.268 6.978 10.479 13.355 13.164h.036c.036 0 .07.039.106.043 3.868 1.629 7.976 2.17 11.802 1.885a80.2 80.2 0 0 1 10.168 29.92c-2.44 13.915-8.17 26.868-16.679 37.699s-19.529 19.202-32.077 24.367c.506.075 1.013.15 1.521.211 14.134 1.755 27.596-1.292 38.949-7.879l.196-.111a63 63 0 0 0 7.12-4.851q.147-.115.291-.234a64 64 0 0 0 6.404-5.843l.112-.122c6.095-6.416 10.934-14.173 14.097-22.904a68.5 68.5 0 0 0 2.516-8.717l.053-.255a71 71 0 0 0 1.345-8.994 72 72 0 0 0 .175-8.914l-.007-.086a72 72 0 0 0-6.126-26.116 73 73 0 0 0-4.072-7.855l-.145-.244a72 72 0 0 0-4.96-7.204l-.169-.208a72 72 0 0 0-5.97-6.657c-5.194-5.113-11.156-9.416-17.716-12.656l.161.258c-6.645-3.365-13.744-5.57-21.006-6.528h-.085a63 63 0 0 0-9.821-.445zm11.634 18.521c7.68 5.162 14.385 11.716 19.814 19.272a22.6 22.6 0 0 1-7.014-1.68c-.032 0-.064-.04-.096-.04h-.033c-5.706-2.402-9.935-7.067-11.951-11.781-.732-1.714-.919-3.73-.72-5.77"}),d.createElement("path",{fill:"url(#integrationsv)",d:"M222.284 60.769c-.819 0-1.639 0-2.457.036h.004a62.3 62.3 0 0 0-12.251 1.62c2.691-.025 5.386.12 8.071.437h.088c17.527 2.189 33.736 11.524 45.062 25.952s16.844 32.768 15.337 50.987c-1.097 13.254-5.859 25.765-13.712 36.025s-18.461 17.831-30.546 21.801c30.315-2.679 54.972-27.305 57.688-60.157 3.106-37.58-23.679-71.7-59.834-76.215h-.086a64 64 0 0 0-7.365-.478z"}),d.createElement("path",{fill:"url(#integrationsw)",d:"M266.018 44.915a3.1 3.1 0 0 0-1.129-.176l-.003-.002c-.6.036-1.18.23-1.664.584-15.398 10.684-19.255 15.31-27.622 24.148-3.159 3.34-5.509 10.72-3.414 15.62 2.015 4.715 6.245 9.378 11.951 11.782h.032c.033 0 .063.035.095.039 5.707 2.403 11.998 2.17 16.779.318 4.97-1.926 8.607-8.764 8.788-13.357.475-12.161 1.09-18.154-2.027-36.634a3 3 0 0 0-.746-1.598l-.003-.002a3 3 0 0 0-.914-.68h.008c-.029 0-.056 0-.084-.036-.014 0-.025 0-.043-.036z"}),d.createElement("path",{fill:"url(#integrationsx)",d:"M126.984 144.998a1.33 1.33 0 0 0-.69 1.036c-1.051 8.197-.675 10.826-.254 16.176.16 2.021 1.882 4.969 4.105 5.731 2.139.733 4.915.726 7.387-.433q.007-.002.015 0h.041c2.472-1.158 4.254-3.286 5.059-5.399.838-2.195-.327-5.406-1.777-6.822-3.84-3.747-5.621-5.719-12.591-10.157a1.4 1.4 0 0 0-.743-.23c-.17 0-.338.037-.494.101h-.037q-.012.005-.018 0z"}),d.createElement("path",{fill:"#172834",d:"M209.18 130.137c1.159.962 2.054 2.697 2.488 4.824s.373 4.472-.171 6.519-1.526 3.629-2.73 4.397-2.532.66-3.69-.301c-1.159-.96-2.055-2.695-2.49-4.821s-.374-4.472.169-6.519c.543-2.048 1.525-3.631 2.728-4.4s2.531-.663 3.691.296m-51.748 41.07c-1.407 1.875-2.746 4.252-4.47 3.767-1.724-.486-2.343-2.896.268-6.546 2.611-3.649 6.302-2.163 6.578-1.305.414 1.284-.912 2.271-2.376 4.084"}),d.createElement("path",{fill:"#E6F4F1",d:"M413.028 215.515c-3.595 1.514-8.275 1.452-13.011-.171s-9.139-4.675-12.243-8.485c-3.103-3.81-4.652-8.066-4.306-11.832s2.559-6.733 6.152-8.249 8.272-1.458 13.008.163 9.142 4.671 12.247 8.48 4.658 8.064 4.315 11.831-2.553 6.736-6.144 8.255m24.832 38.455c-2.393 1.154-5.482 1.168-8.588.039s-5.975-3.31-7.976-6.061-2.97-5.849-2.695-8.612 1.774-4.963 4.165-6.119 5.48-1.171 8.586-.043c3.106 1.127 5.976 3.306 7.979 6.057 2.003 2.75 2.974 5.848 2.7 8.611s-1.77 4.965-4.16 6.123m-37.262-8.379c-1.894.87-4.346.865-6.818-.014-2.473-.88-4.762-2.562-6.364-4.678s-2.388-4.49-2.183-6.602 1.383-3.789 3.276-4.661 4.345-.869 6.817.01c2.473.878 4.763 2.56 6.367 4.674s2.39 4.49 2.187 6.602-1.381 3.791-3.273 4.664"}),d.createElement("path",{fill:"url(#integrationsy)",d:"M251.195 126.744a32.573 32.573 0 0 0-30.288 43.647 32.58 32.58 0 0 0 16.799 18.417 32.6 32.6 0 0 0 15.316 3.027c13.823-6.58 24.828-18.093 31.096-32.531a32.58 32.58 0 0 0-18.72-29.469l-.039-.036a32.6 32.6 0 0 0-14.164-3.073z"}),d.createElement("a",{xlinkHref:"https://docusaurus.io",id:"integrationsdocusaurus-logo",target:"_blank"},d.createElement("title",null,"Docusaurus"),d.createElement("path",{fill:"#3FB159",d:"m50.024 290.234-2.029-.413-17.798 10.2.378 2.351z"}),d.createElement("path",{fill:"#419F56",d:"M200.269 359.721a2.563 2.563 0 0 0-3.616-.497 2.6 2.6 0 0 0 .444-.963 2.6 2.6 0 0 0 .016-1.061l-.002-.002a2.57 2.57 0 0 0-3.011-2.025 2.58 2.58 0 0 0-1.637 1.087 2.58 2.58 0 0 0-.389 1.926 2.566 2.566 0 0 0 4.08 1.544 2.56 2.56 0 0 0-.459 2.023 2.57 2.57 0 0 0 2.966 2.032 2.57 2.57 0 0 0-1.469 2.836 2.57 2.57 0 0 0 1.719 1.944 2.57 2.57 0 0 0-1.615.419 2.58 2.58 0 0 0-1.096 1.63 2.56 2.56 0 0 0 .65 2.267 2.57 2.57 0 0 0-3.51.731 2.564 2.564 0 0 0 .697 3.562 2.57 2.57 0 0 0 3.561-.696c.38-.565.52-1.257.39-1.925l-.002-.002a2.56 2.56 0 0 0-.651-1.264 2.564 2.564 0 0 0 3.898-2.655l-.002-.002a2.57 2.57 0 0 0-1.718-1.944 2.562 2.562 0 0 0 2.715-3.048l-.002-.003a2.57 2.57 0 0 0-1.068-1.622 2.57 2.57 0 0 0-1.899-.409 2.566 2.566 0 0 0 1.471-2.834l-.002-.002a2.6 2.6 0 0 0-.464-1.044z"}),d.createElement("path",{fill:"#419F56",d:"M199.533 364.666a10.396 10.396 0 1 1-.003-.014"}),d.createElement("path",{fill:"#419F56",d:"M189.329 366.655v-10.396h-29.397v20.789h29.397z"}),d.createElement("path",{fill:"url(#integrationsz)",d:"M71.65 281.905a21.4 21.4 0 0 0-6.437.994q-1.015.324-1.982.742l-10.715 5.35-16.546 8.248a21.06 21.06 0 0 0-12.022 19.067v109.818a21.06 21.06 0 0 0 21.106 21.106h93.772c3.798 0 7.352-.999 10.425-2.74-.029.036-.054.035-.082.05l10.764-5.372 14.336-7.169h.037l1.267-.632q.608-.334 1.191-.704a21 21 0 0 0 4.241-3.56q.469-.512.904-1.053.433-.542.831-1.111.399-.572.76-1.169.36-.597.681-1.219a21 21 0 0 0 1.122-2.582q.238-.667.433-1.355a21.3 21.3 0 0 0 .792-5.773V303.024a21.5 21.5 0 0 0-.595-5.02 21 21 0 0 0-1.696-4.582 21 21 0 0 0-1.215-2.082 21.3 21.3 0 0 0-3.083-3.664 21.3 21.3 0 0 0-3.195-2.486 22 22 0 0 0-1.437-.834 21 21 0 0 0-3.078-1.323 21 21 0 0 0-3.31-.827 21 21 0 0 0-3.497-.283zm-27.77 13.329a.7.7 0 0 0-.278.036c.093 0 .185 0 .278-.036m-1.122.093c-.147 0-.292.036-.438.058.146 0 .29-.04.438-.058m-1.117.151c-.151.036-.302.054-.453.083.151-.036.301-.058.453-.083m-1.133.219c-.136.036-.27.061-.405.094q.201-.052.404-.094m-1.099.273q-.182.053-.363.101.18-.053.363-.101m-1.085.33q-.183.06-.365.126zm-1.03.375-.358.14c.119-.05.24-.093.358-.14m122.594 130.764c-.007.14-.022.28-.032.421zm-.697 4.257q-.045.169-.095.33zm-2.178 5.169q-.036.06-.071.125.036-.06.071-.125m-3.423 4.368c-.029.036-.056.055-.083.08.028-.036.056-.054.083-.08m-3.195 2.566c-.042.036-.085.054-.128.083.043-.036.086-.054.128-.083"}),d.createElement("path",{fill:"#498A58",d:"M187.979 386.625a4.92 4.92 0 0 0-4.381 2.848 4.9 4.9 0 0 0-.45 2.197 4.92 4.92 0 0 0-2.619-2.986h-.006a4.912 4.912 0 1 0 2.848 4.326 4.92 4.92 0 0 0 2.618 2.984 4.913 4.913 0 0 0 6.481-2.312 4.912 4.912 0 0 0 5.28 5.892 4.9 4.9 0 0 0 2.407-.911 4.87 4.87 0 0 0-1.166 2.973 4.907 4.907 0 0 0 5.537 5.069 4.91 4.91 0 0 0-.265 9.023 4.91 4.91 0 0 0 4.133-8.909h-.006a4.9 4.9 0 0 0-2.688-.411 4.9 4.9 0 0 0 2.653-2.499 4.916 4.916 0 0 0-2.389-6.522h-.005a4.91 4.91 0 0 0-4.942.48c.286-.336.526-.709.713-1.109a4.914 4.914 0 0 0-2.387-6.521h-.005a4.91 4.91 0 0 0-6.479 2.315 4.9 4.9 0 0 0-.417-3.209 4.92 4.92 0 0 0-2.322-2.253l-.006.001a4.9 4.9 0 0 0-2.137-.454z"}),d.createElement("path",{fill:"#498A58",d:"M194.813 393.32a19.894 19.894 0 0 1-1.534 36.722 19.892 19.892 0 1 1 1.511-36.733"}),d.createElement("path",{fill:"#498A58",d:"M186.528 411.459v19.797h-54.665V391.47h54.672z"}),d.createElement("path",{fill:"#3ECC5F",d:"M138.827 295.198H45.053a21.06 21.06 0 0 0-19.785 13.726l.126-.98-1.282-.165-5.14 1.555a3.6 3.6 0 0 0-2.032 1.525c-.26.422-.431.894-.501 1.385h-.007l-.008.062-.007.036a3.6 3.6 0 0 0 .141 1.467c.269.833.83 1.54 1.581 1.99l4.453 2.724-4.79 2.146a3.62 3.62 0 0 0-1.82 1.774 3.6 3.6 0 0 0-.321 1.438h-.008l.002.061-.002.035c.009.498.122.988.329 1.44a3.6 3.6 0 0 0 1.82 1.772l4.892 2.191-4.892 2.191a3.6 3.6 0 0 0-1.82 1.773 3.6 3.6 0 0 0-.321 1.438h-.007l.002.065-.002.036c.008.496.121.986.328 1.437a3.6 3.6 0 0 0 1.82 1.774l4.888 2.191-4.888 2.191a3.6 3.6 0 0 0-1.82 1.771 3.6 3.6 0 0 0-.32 1.438h-.012l.002.065-.002.036c.01.496.122.986.329 1.437a3.6 3.6 0 0 0 1.82 1.772l4.888 2.191-4.888 2.191a3.6 3.6 0 0 0-1.82 1.773 3.6 3.6 0 0 0-.321 1.438h-.008l.002.065-.002.036c.01.497.122.987.33 1.439a3.6 3.6 0 0 0 1.819 1.772l4.892 2.191-4.892 2.191a3.6 3.6 0 0 0-1.82 1.771 3.6 3.6 0 0 0-.32 1.44h-.008l.002.064-.002.036c.009.497.122.987.329 1.438a3.6 3.6 0 0 0 1.82 1.774l4.888 2.19-4.889 2.192c-.8.35-1.447.98-1.82 1.771a3.6 3.6 0 0 0-.32 1.438h-.008l.002.061-.002.036c.01.497.122.986.329 1.438a3.6 3.6 0 0 0 1.82 1.771l4.888 2.191-4.888 2.191a3.6 3.6 0 0 0-1.82 1.773 3.6 3.6 0 0 0-.321 1.438h-.007l.001.065-.001.036c.008.497.122.986.328 1.438a3.6 3.6 0 0 0 1.82 1.773l4.892 2.191-4.892 2.191a3.6 3.6 0 0 0-1.82 1.773 3.6 3.6 0 0 0-.32 1.438h-.008l.002.065-.002.036c.009.496.122.986.329 1.437a3.6 3.6 0 0 0 1.82 1.774l4.888 2.191-4.889 2.191a3.6 3.6 0 0 0-1.82 1.771 3.6 3.6 0 0 0-.32 1.438h-.008l.002.065-.002.036c.01.497.122.986.33 1.437a3.6 3.6 0 0 0 1.819 1.772l4.888 2.191-4.888 2.191a3.6 3.6 0 0 0-1.82 1.773 3.6 3.6 0 0 0-.32 1.438h-.008l.002.061-.002.036c.008.497.122.987.329 1.44a3.6 3.6 0 0 0 1.82 1.771l4.76 2.132a19.7 19.7 0 0 1-6.981-1.813 19.7 19.7 0 0 1-8.643-7.906q-.422.689-.785 1.409a19.705 19.705 0 0 0 9.474 26.204 19.7 19.7 0 0 0 7.692 1.819l-.043.036H138.83a21.06 21.06 0 0 0 21.106-21.104V316.274a21.06 21.06 0 0 0-21.106-21.106zM23.991 427.434l.004.075h-.004zm6.93 14.365c.057.054.12.1.179.15h-.007c-.059-.05-.116-.104-.175-.154z"}),d.createElement("path",{fill:"#FFFF50",d:"m186.528 351.613-22.212 10.451-4.383 2.063v61.997a21.05 21.05 0 0 1-10.682 18.366h-.018c-.022 0-.043.036-.065.04l10.763-5.373 14.337-7.168h.037l1.267-.633q.607-.334 1.191-.703a21 21 0 0 0 1.148-.786q.562-.41 1.093-.858a22 22 0 0 0 2-1.916 21 21 0 0 0 3.176-4.552 21 21 0 0 0 1.122-2.583q.238-.666.432-1.354a21 21 0 0 0 .59-2.823 22 22 0 0 0 .203-2.95v-11.324z"}),d.createElement("path",{fill:"#FFD5D5",d:"m164.592 373.646 8.846-4.086 8.431-3.895"}),d.createElement("path",{stroke:"#000",strokeLinecap:"round",strokeWidth:2,d:"m164.592 373.646 8.846-4.086 8.431-3.895"}),d.createElement("path",{fill:"#FFD5D5",d:"m164.592 381.013 8.846-4.086 8.431-3.894"}),d.createElement("path",{stroke:"#000",strokeLinecap:"round",strokeWidth:2,d:"m164.592 381.013 8.846-4.086 8.431-3.894"}),d.createElement("path",{fill:"#FFD5D5",d:"m164.592 388.381 8.846-4.086 8.431-3.895"}),d.createElement("path",{stroke:"#000",strokeLinecap:"round",strokeWidth:2,d:"m164.592 388.381 8.846-4.086 8.431-3.895"}),d.createElement("path",{fill:"#FFD5D5",d:"m164.592 395.749 8.846-4.087 8.431-3.894"}),d.createElement("path",{stroke:"#000",strokeLinecap:"round",strokeWidth:2,d:"m164.592 395.749 8.846-4.087 8.431-3.894"}),d.createElement("path",{fill:"#FFD5D5",d:"m164.592 403.116 8.846-4.086 8.431-3.895"}),d.createElement("path",{stroke:"#000",strokeLinecap:"round",strokeWidth:2,d:"m164.592 403.116 8.846-4.086 8.431-3.895"}),d.createElement("path",{fill:"#FFD5D5",d:"m164.592 410.484 8.846-4.086 8.431-3.895"}),d.createElement("path",{stroke:"#000",strokeLinecap:"round",strokeWidth:2,d:"m164.592 410.484 8.846-4.086 8.431-3.895"}),d.createElement("path",{fill:"#F7F7F7",d:"m186.528 307.473-3.291 1.549-23.304 10.966v26.781l26.595-12.515z"}),d.createElement("path",{d:"M52.925 306.741a12.52 12.52 0 0 0-11.532 7.208 12.5 12.5 0 0 0-1.171 5.13 2.413 2.413 0 1 0 4.813.21 7.7 7.7 0 0 1 .73-3.291 7.7 7.7 0 0 1 10.24-3.706h.007a7.7 7.7 0 0 1 4.425 7.029 2.411 2.411 0 1 0 4.822.017 12.53 12.53 0 0 0-7.197-11.416h-.014a12.5 12.5 0 0 0-5.123-1.181"}),d.createElement("path",{fill:"#fff",d:"M114.786 323.769a10.665 10.665 0 0 1 5.117 14.182 10.663 10.663 0 1 1-5.129-14.187"}),d.createElement("path",{fill:"#fff",d:"m109.405 322.791 50.527-2.804v26.781l-50.799-2.745z"}),d.createElement("path",{d:"M141.169 306.912c.564.265 1 .743 1.211 1.33a2.346 2.346 0 0 1-1.413 3.008 2.35 2.35 0 0 1-3.009-1.411 2.353 2.353 0 0 1 3.211-2.927"}),d.createElement("path",{fill:"#3ECC5F",d:"M169.749 427.433v19.797h-54.666v-39.785h54.673z"}),d.createElement("path",{fill:"url(#integrationsA)",d:"M205.298 347.859c1.506 1.52 2.428 3.563 2.661 5.895s-.233 4.855-1.344 7.283a18.3 18.3 0 0 1-2.645 4.135h.007c-20.369 23.95-51.64 46.957-51.64 46.957h-.007c-1.208.887-2.538 1.525-3.886 1.864-1.348.338-2.676.368-3.88.087-2.063-.484-3.629-1.849-4.354-3.795s-.549-4.314.488-6.583c.302-.66.672-1.303 1.103-1.913l.059-.079c.624-.879 22.564-31.666 45.719-52.165l.058-.054q.097-.082.19-.169c1.917-1.674 4.117-2.917 6.387-3.607s4.531-.803 6.562-.329l.014.002c1.761.415 3.3 1.26 4.502 2.473z"}),d.createElement("path",{fill:"#44D860",d:"M171.2 402.6a4.91 4.91 0 0 0-4.382 2.847 4.9 4.9 0 0 0-.45 2.197 4.9 4.9 0 0 0-2.618-2.986h-.006a4.91 4.91 0 0 0-6.97 4.255 4.905 4.905 0 0 0 2.843 4.658 4.912 4.912 0 0 0 6.974-4.587 4.9 4.9 0 0 0 2.619 2.984 4.91 4.91 0 0 0 6.48-2.312 4.91 4.91 0 0 0 7.687 4.981q-.433.507-.715 1.111a4.92 4.92 0 0 0-.154 3.756 4.92 4.92 0 0 0 2.546 2.765c.841.388 1.775.53 2.694.41a4.9 4.9 0 0 0-2.656 2.504 4.914 4.914 0 0 0 2.392 6.519 4.91 4.91 0 0 0 4.133-8.909h-.006a4.9 4.9 0 0 0-2.688-.41 4.91 4.91 0 0 0 .264-9.021h-.006a4.91 4.91 0 0 0-4.942.479c.287-.336.527-.709.713-1.109a4.91 4.91 0 0 0-2.386-6.521h-.006a4.913 4.913 0 0 0-6.478 2.316 4.91 4.91 0 0 0-2.74-5.462h-.006a4.9 4.9 0 0 0-2.137-.454z"}),d.createElement("path",{fill:"#44D860",d:"M178.034 409.294a19.895 19.895 0 0 1 9.668 26.415 19.894 19.894 0 1 1-9.692-26.426"}),d.createElement("path",{fill:"#460C0C",d:"M202.256 345.865c.928 1.66 1.398 3.617 1.375 5.722-.024 2.106-.54 4.304-1.511 6.427a19.7 19.7 0 0 1-2.858 4.469h.007c-22.011 25.88-55.801 50.74-55.801 50.74h-.007a13 13 0 0 1-.414.27c.469.255.977.451 1.516.586 1.204.281 2.532.251 3.88-.088s2.677-.976 3.885-1.864h.007s31.271-23.006 51.64-46.955h-.007a18.3 18.3 0 0 0 2.646-4.138c1.111-2.427 1.576-4.951 1.343-7.282s-1.155-4.374-2.661-5.894h-.007a9 9 0 0 0-3.035-1.997z"}),d.createElement("path",{fill:"url(#integrationsB)",d:"M236.684 324.68a2.7 2.7 0 0 1 .636 2.804 2.71 2.71 0 0 1-2.165 1.778c-4.81 1.478-7.817 9.676-8.582 11.997a11 11 0 0 1-.156.502l-.032.093c-.007 0-.018.058-.018.058h-.007a11.727 11.727 0 0 1-14.888 7.024 11.724 11.724 0 0 1-6.378-16.736c.018-.047.053-.087.072-.13h.008c2.408-4.467 7.27-9.594 12.832-11.173a.63.63 0 0 1 .458 0c.157.055.286.17.358.321a.625.625 0 0 1-.111.708.6.6 0 0 1-.22.151c-1.348.533-2.463 1.674-3.212 2.627 10.607-4.241 19.585-.938 20.256-.68q.067.019.133.04a2.7 2.7 0 0 1 1.02.643z"}),d.createElement("path",{fill:"url(#integrationsC)",d:"M197.952 345.101c-1.715.035-3.496.428-5.235 1.153a18 18 0 0 0-4.891 3.069 4 4 0 0 1-.189.169l-.059.053c-23.154 20.499-45.094 51.287-45.718 52.166l-.058.079a12 12 0 0 0-1.104 1.914c-.614 1.352-.927 2.751-.916 4.084s.349 2.561.983 3.585c-.266-1.703.032-3.586.854-5.397.313-.684.697-1.35 1.144-1.983l.062-.082c.646-.911 23.389-32.826 47.391-54.076l.062-.054q.101-.085.196-.176c2.887-2.512 6.355-4.051 9.717-4.313a11.4 11.4 0 0 0-2.239-.191"}),d.createElement("path",{fill:"url(#integrationsD)",d:"M209.862 343.192c1.351 1.364 2.179 3.198 2.388 5.291.209 2.092-.209 4.358-1.207 6.537a16.3 16.3 0 0 1-2.374 3.711h.008a172 172 0 0 1-5.483 6.129q.051-.215.089-.438c.22-1.521-.069-3.277-.834-5.067-.766-1.79-1.976-3.541-3.493-5.051a17 17 0 0 0-4.009-2.975h-.007c-2.395-1.26-4.813-1.706-6.769-1.248a175 175 0 0 1 5.793-5.379l.055-.047q.087-.075.17-.151c1.72-1.503 3.695-2.618 5.732-3.238 2.037-.619 4.067-.721 5.889-.295h.011c1.581.371 2.962 1.132 4.041 2.221"}),d.createElement("path",{fill:"#F3F3F3",d:"M193.698 345.815c-1.337 0-2.531.368-3.467 1.067-.033.036-.066.039-.099.075-.011.036-.021.036-.032.036a43 43 0 0 0-3.302 2.827l1.202.309c1.958-.519 4.44-.111 6.94 1.206h.007a17 17 0 0 1 4.009 2.976c3.095 3.081 4.778 7.012 4.328 10.115q-.006.054-.018.101l.778 1.089a42 42 0 0 0 2.33-2.888h-.008c.487-.673.806-1.485.941-2.401.45-3.103-1.233-7.036-4.328-10.118a17 17 0 0 0-4.009-2.974h-.007c-1.832-.963-3.652-1.437-5.265-1.42"}),d.createElement("path",{fill:"url(#integrationsE)",d:"M220.061 322.943c.08.226.095.535-.014.962-.398 1.525-3.05 2.33-2.922 4.141.129 1.811 2.646 2.674 3.744 3.861 1.097 1.187-5.934 6.659-2.341 11.527 1.579 2.14 3.602 2.801 5.374 2.871a12.4 12.4 0 0 0 1.957-3.454h.007l.018-.058.039-.096q.088-.263.164-.529c.808-2.449 3.98-11.097 9.054-12.656a2.86 2.86 0 0 0 2.284-1.875 2.85 2.85 0 0 0-.67-2.959 2.86 2.86 0 0 0-1.213-.726c-.579-.223-7.024-2.593-15.475-1.001z"}),d.createElement("path",{fill:"url(#integrationsF)",d:"M233.835 339.082c-.779 5.547-5.717 14.629-5.496 17.964-.018.98.243 1.946.753 2.784a5.164 5.164 0 0 0 9.571-2.595c.344-3.324-4.256-12.581-4.831-18.153z"}),d.createElement("path",{fill:"url(#integrationsG)",d:"M233.318 326.418c-.395-.008-.706.143-.706.143l.706 1.251c-.243.816-.326 2.094-.084 4.073.854 6.912-2.625 17.269-2.625 17.269l3.01 1.54 3.065-1.428s-3.096-10.478-1.988-17.354c.317-1.968.281-3.249.066-4.073l.754-1.225s-.778-.407-1.454.038a1.3 1.3 0 0 0-.744-.234"}),d.createElement("path",{fill:"#3ECC5F",d:"M172.112 382.75v-10.396h-29.397v20.789h29.397z"}),d.createElement("path",{fill:"#44D860",d:"M183.052 375.815a2.57 2.57 0 0 0-2.549-.98 2.6 2.6 0 0 0-1.067.483 2.56 2.56 0 0 0 .46-2.023l-.002-.003a2.567 2.567 0 1 0-.957 2.532 2.57 2.57 0 0 0-.459 2.023 2.564 2.564 0 0 0 2.966 2.033 2.56 2.56 0 0 0-1.469 2.835 2.57 2.57 0 0 0 1.719 1.945 2.53 2.53 0 0 0-1.615.419 2.55 2.55 0 0 0-1.096 1.63 2.56 2.56 0 0 0 .649 2.267 2.563 2.563 0 0 0-3.509.731 2.563 2.563 0 0 0 .697 3.561 2.567 2.567 0 0 0 3.951-2.621l-.002-.002a2.56 2.56 0 0 0-.651-1.263 2.566 2.566 0 0 0 3.898-2.656l-.002-.002a2.57 2.57 0 0 0-1.718-1.944q.346.027.687-.038a2.567 2.567 0 0 0 2.027-3.01l-.001-.003a2.567 2.567 0 0 0-2.967-2.03 2.57 2.57 0 0 0 1.47-2.835l-.001-.002a2.6 2.6 0 0 0-.464-1.044z"}),d.createElement("path",{fill:"#44D860",d:"M182.316 380.76a10.396 10.396 0 1 1-.003-.013"}),d.createElement("path",{fill:"#3ECC5F",d:"M65.576 280.185v.036a3.45 3.45 0 0 0-1.438.327 3.6 3.6 0 0 0-1.773 1.82l-.99 2.213 1.856-.927q.967-.42 1.982-.743a21 21 0 0 1 2.07-.545c.477-.101.968-.158 1.456-.227a3.6 3.6 0 0 0-1.632-1.611 3.6 3.6 0 0 0-1.44-.32h-.092zm10.905 0c-.498 0-.988.119-1.44.327a3.6 3.6 0 0 0-1.482 1.39h5.93a3.6 3.6 0 0 0-1.48-1.387 3.6 3.6 0 0 0-1.437-.319h-.092zm10.902 0c-.496 0-.986.119-1.437.327a3.6 3.6 0 0 0-1.48 1.386h5.925a3.6 3.6 0 0 0-1.477-1.379 3.6 3.6 0 0 0-1.438-.319h-.092zm-33.732 1.03h-.09a3.6 3.6 0 0 0-1.363.564 3.6 3.6 0 0 0-1.44 2.094l-1.335 5.2-3.82-3.773a3.6 3.6 0 0 0-2.31-1.056 3.5 3.5 0 0 0-1.456.219h-.004c-.018 0-.038 0-.057.036h-.025a3.6 3.6 0 0 0-1.223.824 3.6 3.6 0 0 0-.994 2.338l-.277 5.361-4.352-3.145a3.6 3.6 0 0 0-2.445-.69 3.6 3.6 0 0 0-1.406.44h-.004c-.018 0-.036 0-.054.035h-.025a3.6 3.6 0 0 0-1.081 1 3.6 3.6 0 0 0-.625 2.464l.547 5.341-5.324-.692a3.62 3.62 0 0 0-2.479.56 3.6 3.6 0 0 0-1.026 1.058c-.01.036-.025.036-.036.057-.007 0-.01 0-.018.036a3.6 3.6 0 0 0-.473 1.397 3.6 3.6 0 0 0 .624 2.462l3.027 4.434.624.38.534.766.076-.05c1.924-5.117 5.726-9.299 10.626-11.628l13.836-6.898h.013l2.697-1.345 6.606-3.298-1.944-2.894a3.6 3.6 0 0 0-2.054-1.494 3.6 3.6 0 0 0-1.473-.075z"}),d.createElement("path",{fill:"#3ECC5F",d:"m65.572 280.167.004.035c-.497.009-.986.12-1.438.327a3.6 3.6 0 0 0-1.773 1.819l-2.195 4.898-2.992-4.454a3.6 3.6 0 0 0-2.054-1.495 3.6 3.6 0 0 0-1.473-.071h-.09a3.6 3.6 0 0 0-1.363.563 3.6 3.6 0 0 0-1.44 2.095l-1.336 5.2.45 1.215a21.1 21.1 0 0 1 8.498-1.776h34.509v-1.291l-2.194-4.899a3.6 3.6 0 0 0-1.774-1.82 3.6 3.6 0 0 0-1.438-.32h-.093a3.6 3.6 0 0 0-1.438.324 3.6 3.6 0 0 0-1.772 1.82l-2.196 4.901-2.195-4.901a3.6 3.6 0 0 0-1.773-1.82 3.6 3.6 0 0 0-1.438-.32h-.093a3.6 3.6 0 0 0-1.439.327 3.6 3.6 0 0 0-1.771 1.82l-2.197 4.899-2.194-4.899a3.6 3.6 0 0 0-1.772-1.82 3.6 3.6 0 0 0-1.44-.32h-.092z"}),d.createElement("path",{d:"M181.356 316.674c-.094 0-.18 0-.258.04-.096.036-.185.061-.262.097a1.7 1.7 0 0 0-.278.168c-.014 0-.032.036-.048.036-.242.19-.522.494-.82.982-.597.976-1.276 2.69-1.831 5.847-.533 3.035-1.254 4.555-1.773 5.272a2.6 2.6 0 0 1-.451.499c-.042.036-.081.054-.117.087h-.008c-.037.036-.055.036-.061.039h-.003c-.05 0-.1.036-.147.043h-.161c-.112-.039-.324-.15-.596-.602-.272-.454-.578-1.231-.84-2.447-.563-2.614-1.224-3.759-2.069-4.258a1.6 1.6 0 0 0-1.192-.183h-.036c-.004 0-.13.039-.223.082-.081.04-.178.09-.28.166-.014 0-.034.036-.05.036-.241.19-.522.493-.82.981-.597.975-1.269 2.69-1.823 5.847-.534 3.035-1.262 4.557-1.781 5.274-.195.27-.359.426-.475.518-.018 0-.037.036-.054.039h-.007c-.015 0-.029 0-.041.036-.038.036-.053.036-.058.04-.055 0-.108.036-.159.05h-.154c-.112-.039-.325-.158-.598-.612s-.578-1.23-.84-2.447c-.562-2.614-1.227-3.747-2.068-4.25-.313-.187-.528-.306-.778-.368-.043 0-.084-.036-.13-.036h-.335c-.113 0-.249 0-.397.036a4.1 4.1 0 0 0-1.508.548c-1.17.684-2.531 2.135-3.61 5.063-.989 2.682-2.27 3.728-3.254 4.172a3.5 3.5 0 0 1-.985.29h-.039s-.173.036-.469 0h-.14a1 1 0 0 0-.149 0 4 4 0 0 1-.924-.251c-.994-.4-2.252-1.323-3.231-3.695-1.087-2.634-2.468-3.943-3.633-4.551a4.4 4.4 0 0 0-1.493-.484h-.297c-.124 0-.295 0-.488.036-.385.05-.913.179-1.495.484-1.165.608-2.538 1.917-3.625 4.551-.979 2.372-2.245 3.295-3.239 3.695a3.8 3.8 0 0 1-1.097.273h-.588a1 1 0 0 0-.093 0 5 5 0 0 1-.972-.219c-1.013-.341-2.258-1.114-3.219-3.063-1.102-2.235-2.5-3.346-3.652-3.849a4.8 4.8 0 0 0-1.78-.407c-.028 0-.97-.096-2.105.4-1.153.503-2.558 1.613-3.66 3.848-.966 1.959-2.163 2.732-3.121 3.071-.957.341-1.619.223-1.619.223a.7.7 0 0 0-.53.13.7.7 0 0 0-.283.467.71.71 0 0 0 .596.812s1.045.155 2.313-.294c1.268-.45 2.815-1.522 3.927-3.779.976-1.98 2.094-2.797 2.945-3.169.522-.229.92-.287 1.15-.298a.7.7 0 0 0 .217 0h.065a1 1 0 0 0 .1 0c.217 0 .639.051 1.21.302.851.372 1.975 1.191 2.951 3.17 1.117 2.266 2.721 3.335 4.039 3.779a6 6 0 0 0 1.267.277h.011s.188.036.499.036c.389 0 .629-.036.629-.036a1 1 0 0 0 .122-.036c.36-.05.774-.151 1.211-.327 1.336-.537 2.918-1.811 4.017-4.473.99-2.399 2.135-3.391 2.974-3.828a2.9 2.9 0 0 1 1.009-.327h.434c.237.036.592.108 1.011.327.839.437 1.982 1.429 2.972 3.828 1.099 2.662 2.683 3.936 4.018 4.473.485.194.94.295 1.325.345 0 0 .152.036.406.036h.08c.4 0 .649-.036.649-.036a1 1 0 0 0 .099-.036 5 5 0 0 0 1.269-.375c1.346-.607 2.916-2.026 4.005-4.979.998-2.708 2.159-3.839 2.992-4.326.355-.208.64-.283.863-.327.293-.035.541-.05.842.176.208.122.873.877 1.401 3.33.283 1.316.62 2.224 1.011 2.875.391.652.86 1.058 1.36 1.227.497.168.943.079 1.265-.054h.011c.017 0 .035 0 .053-.036a2 2 0 0 0 .256-.129c.28-.176.615-.475.967-.961.703-.972 1.478-2.692 2.035-5.862.536-3.048 1.185-4.607 1.64-5.35.227-.372.4-.537.484-.604.036-.036.044-.036.046-.036h.037c.015 0 .041 0 .091.044.208.122.869.877 1.397 3.33.283 1.316.626 2.224 1.017 2.875s.86 1.058 1.36 1.226c.501.169.95.076 1.272-.057.097-.036.207-.09.312-.155.28-.176.616-.472.968-.959.704-.971 1.469-2.692 2.026-5.862.536-3.048 1.187-4.607 1.642-5.35.227-.372.405-.537.49-.603.036-.036.047-.036.048-.036h.032c.014 0 .04 0 .093.043.207.122.869.87 1.397 3.323.283 1.316.625 2.229 1.016 2.881.392.651.86 1.06 1.36 1.228.459.154.874.09 1.188-.036v-1.723c-.093.104-.18.186-.247.24-.025 0-.052.036-.076.057-.015 0-.032.036-.045.036-.041.036-.056.04-.059.044h-.014c-.043 0-.084.036-.124.036h-.173c-.112-.04-.318-.159-.59-.611-.272-.453-.578-1.224-.84-2.441-.563-2.614-1.225-3.757-2.069-4.256a1.7 1.7 0 0 0-.935-.23z"}),d.createElement("path",{fill:"#C3C3C3",d:"M192.232 346.259c-.35 0-.692.036-1.024.057a5 5 0 0 0-.977.564c-.033.036-.066.04-.099.075-.011.036-.021.036-.032.036-1.58 1.211-3.082 2.573-4.519 4.01q.458-.157.953-.244c2.08-1.302 5.228-1.097 8.406.576h.007a17 17 0 0 1 4.009 2.976c3.095 3.082 4.778 7.013 4.328 10.116-.135.916-.455 1.728-.942 2.401h.007l-.235.312a6 6 0 0 1-.388.952c1.681-1.696 3.27-3.481 4.649-5.364h-.007q.054-.075.103-.15.107-.382.167-.793c.482-3.319-1.318-7.525-4.628-10.821a18.1 18.1 0 0 0-4.288-3.181h-.007c-1.902-1.001-3.794-1.511-5.483-1.522"})),d.createElement("a",{xlinkHref:"https://postcss.org",id:"integrationspostcss-logo",target:"_blank"},d.createElement("title",null,"PostCSS"),d.createElement("path",{fill:"#DD3735",d:"M468.398 320.391c-.196-1.276-.431-2.58-.661-3.851-.234-1.304-.435-2.613-.737-3.909-.463-1.753-.93-3.54-1.558-5.237-.488-1.407-1.17-2.72-1.852-4.032-.846-1.531-1.698-3.095-2.705-4.535-1.634-2.315-3.638-4.306-5.52-6.416-1.235-1.341-2.74-2.372-3.946-3.751-.685-.798-1.623-1.426-2.553-1.986-1.488-.895-3.03-1.681-4.568-2.433-1.175-.596-2.345-1.157-3.574-1.642-.977-.383-2.007-.655-3.008-.966-1.145-.36-2.269-.825-3.514-.897-.313-.026-.596-.091-.913-.151-.811-.165-1.592-.368-2.399-.499-1.228-.211-2.432-.495-3.686-.634-1.221-.144-2.462-.182-3.699-.187-1.376-.02-2.769.099-4.137.147-.891.017-1.782.034-2.631.114-1.291.106-2.608.283-3.896.422-.646.053-1.329.077-1.967.197a29 29 0 0 0-2.903.665c-.933.228-1.857.524-2.752.782-1.097.284-2.203.502-3.3.787-1.03.276-2.085.623-3.11.933-.363.117-.717.302-1.08.419-.789.278-1.625.459-2.401.838a66 66 0 0 0-4.134 2.064c-1.249.716-2.459 1.462-3.623 2.304-1.193.88-2.302 1.886-3.415 2.858a59 59 0 0 0-3.098 2.918c-.974.988-1.867 2.067-2.727 3.142-.472.612-.829 1.311-1.259 1.986-.72 1.09-1.445 2.147-2.127 3.266-.568.934-1.065 1.891-1.595 2.853-.951 1.704-1.721 3.486-2.423 5.26-.286.723-.538 1.443-.79 2.162-.379 1.079-.795 2.128-1.135 3.236-.248.753-.42 1.564-.524 2.366a274 274 0 0 0-.751 5.171c-.217 1.536-.122 3.1.037 4.62.137 1.351.439 2.647.746 3.976.076.332-.075.764.364.979.034-.005.018.134-.012.173-.076.215.051.404.262.444 0 0 .038.029.043.063l-.169.022c-.063.317.305.508.212.863-.025.072.127.188.208.28.012.101-.004.24.042.337.073.298.247.583.289.92.03.236.267.478.364.705.047.096.035.269-.024.346-.173.263-.114.46.208.554.071.025.19.146.198.213.026.202-.016.413-.024.62.076.058.118.121.093.193.013.101-.076.216-.033.279.338.502.517 1.095.628 1.696.017.135.101.261.19.42a.5.5 0 0 1 .207.006l-.126.634c.156-.124.287-.176.447-.266.157.425.31.815.492 1.167a.6.6 0 0 0 .229.175c-.026.072-.009.207-.072.25.212.587.352 1.151.662 1.692.034-.005.063-.043.096-.048-.178-.592-.327-1.223-.505-1.816l-.025-.202s.063-.043.096-.047c.052.13.141.289.153.39.27-.036.697.078.967.041.021-.105.038-.245.063-.316-.228-.175-.436-.456-.664-.63.102.26.047.37.06.471a7 7 0 0 0-.498-.138 6 6 0 0 1 .404-.603c-.039-.303-.242-.55-.71-.452.194-.095.384-.223.611-.322.047.096.093.192.136.255.21-.508-.242-.823-.302-1.295-.039-.577-.449-1.104-.628-1.697-.288-.92-.434-2.339-.655-3.269-.009-.067-.119-.121-.195-.179-.029.038-.143.499-.172.537.204.795.408 1.589.578 2.389-.034.004-.068.009-.063.042-.225-.689-.454-1.412-.726-2.197-.003.24-.025.346-.007.48-.106-.019-.144-.049-.322-.093.174.285.335.469.466.691-.249-.07-.515.001-.515.001l.12.942c-.38-.291-.516-.547-.715-.76-.102-.26-.17-.525-.271-.785l.096-.048c-.05-.13-.131-.222-.144-.323a28 28 0 0 1-.203-.795c.029-.038.16-.09.219-.166l-.322-.368c.275-.002.448.008.617-.014-.009-.067.021-.106-.017-.135-.376-.258-.174-.559-.074-.847.051-.144.283-.209.333-.353.206-.541.594-1.005.513-1.645-.039-.303.02-.653.015-.961a30 30 0 0 0-.049-1.74c-.027-.75-.188-1.483-.109-2.212.12-1.216.308-2.44.53-3.669.163-.879.364-1.728.595-2.615.34-1.382.645-2.759 1.129-4.092.681-1.942 1.505-3.834 2.291-5.756.5-1.198 1.043-2.333 1.615-3.506.543-1.135 1.082-2.304 1.734-3.385a28 28 0 0 1 3.096-4.289c1.197-1.394 2.322-2.813 3.633-4.12a42 42 0 0 1 5.523-4.65c1.607-1.141 3.306-2.09 5.011-3.005 1.092-.592 2.316-.962 3.451-1.492 1.295-.62 2.62-1.004 4.034-1.229.908-.156 1.773-.375 2.672-.599.801-.177 1.603-.353 2.468-.573-.084.148-.109.22-.134.292-.303.589-.64 1.183-.943 1.772-.248.479-.526.995-.774 1.474-.451.781-.935 1.565-1.347 2.375-.636 1.216-1.2 2.456-1.869 3.677-.673 1.187-1.423 2.316-2.135 3.474-.93 1.598-1.789 3.221-2.719 4.819-.838 1.518-1.751 2.977-2.555 4.49-.724 1.331-1.339 2.715-2.024 4.075-1.015 2.021-2.033 4.008-3.047 6.029-.8 1.546-1.604 3.059-2.437 4.61-.055.111-.152.158-.244.239-.059.076-.186.162-.178.229-.037.245-.007.481-.083.697-.206.541-.411 1.083-.656 1.595-.134.293-.341.56-.509.857-.072-.025-.11-.054-.178-.045.093-.355.641-.634.307-1.103-.135.292-.274.551-.408.843l-.303.863c.148.083.393.118.182.352-.079.182-.155.398-.235.58.034-.004.038.029.072.025.084-.149.172-.263.257-.412.033-.005.071.025.105.02-.058.351-.223.681-.353 1.007-.101.288-.413.535-.624.769.039.029.288.099.326.128.084-.149.126-.086.211-.234.08.092.16-.09.207.006.084-.148.172-.263.193-.369.092-.354.261-.651.581-.831.127-.086.215-.201.304-.316.88-1.18 1.799-2.331 2.569-3.566 1.2-1.909 2.257-3.867 3.385-5.8.48-.819 1.061-1.65 1.579-2.44.072.025.14.016.178.045.022.717.049 1.467.104 2.178.058 1.26.148 2.516.21 3.809.03.51.128 1.01.158 1.52.018.135-.071.25-.054.384.043.337.191.694.234 1.031.057 1.26.076 2.491.133 3.75 0 .275.17.526.267.752a1 1 0 0 0-.186-.112c.248 1.954.864 3.824.803 5.785.131-.052.195-.095.186-.162.004-.241.041-.486.011-.721.009-.207-.051-.405-.081-.64l-.043-.337c-.043-.611.011-1.269-.134-1.866-.153-.665-.234-1.305-.18-1.963.033-.279-.111-.602.015-.961l.064.505c.21 1.924.522 3.835.495 5.791-.012.173.162.458-.214.475-.034.004-.046.177-.101.287-.126.36.301.748.006 1.13-.059.076.115.361.174.559.009.067.051.13.021.168-.104.254-.104.254.102.261.128.736.281 1.401.405 2.103l.101-.013c.277-1.34-.161-2.617-.091-3.962.102.534.205 1.069.244 1.646.111.876.184 1.722.261 2.603.022.168.009.341-.003.514-.041.485-.015.961-.129 1.422-.092.355.04.851.091 1.255l.163 1.28c.004.034.118.121.135.256.073.298-.058.624.086.948.043.062-.012.172-.037.244-.021.106-.042.211.004.308l.166.492c.004.033.042.062.085.125.016-.139.004-.24-.001-.274.583-.01.343.536.647.77-.126.085-.223.132-.219.166.051.13.132.222.149.357.038.303.038.577.043.885.099.774.163 1.554.257 2.294.013.101.06.198.073.299.008.068-.017.14-.004.24l.089.708.136-.018c-.055.11-.11.22-.198.334-.034.005-.135.019-.14-.015l-.539-4.244-.506.068c.189 2.03.589 3.826.457 5.762-.401.089-.527.175-.966.234-1.047.141-2.094.282-3.136.456-1.25.169-2.461.366-3.711.535-.608.082-1.241.235-1.849.317-.81.109-1.667.122-2.477.231-1.25.168-2.453.433-3.698.635-.907.157-1.819.279-2.726.436-.604.116-1.208.231-1.807.38-.266.071-.489.203-.814.35-.102.013-.342.012-.54.073-.329.112-.608.356-.937.468-.494.17-.611.322-.48.819l.043.337a1 1 0 0 0-.258-.137c-.034.005-.063.043-.063.043.046.096.123.154.169.251.127-.085.274-.277.409-.295l.473-.063c-.068.009-.076.215-.156.397a21 21 0 0 0 .578-.318 1 1 0 0 1 .068.266c.469-.098.89-.292 1.308-.245 1.36.159 2.728.112 4.096.065a67 67 0 0 0 2.617-.216c1.258-.101 2.516-.202 3.766-.37 1.046-.141 2.047-.378 3.094-.52 1.452-.195 2.912-.324 4.369-.485.304-.041.637-.121.974-.166l2.466-.332c2.186-.363 4.377-.693 6.563-1.056 1.245-.202 2.52-.442 3.765-.644l3.837-.62c1.481-.233 2.967-.433 4.415-.663 1.114-.15 2.191-.329 3.3-.513 1.246-.202 2.516-.476 3.757-.712.671-.124 1.338-.283 2.005-.441.802-.177 1.633-.391 2.439-.534 1.207-.231 2.452-.433 3.659-.665 1.507-.305 3.01-.645 4.559-.887 1.409-.259 2.866-.421 4.28-.646 1.245-.201 2.486-.437 3.765-.644l2.114-.388s1.414-.224 2.115-.387c1.207-.231 2.405-.53 3.617-.727.772-.138 1.553-.209 2.325-.348 1.246-.202 2.52-.442 3.77-.61.472-.064.988-.065 1.6-.113-.24.272-.392.429-.574.625.14.016.283.065.427.114.004.034-.025.072-.016.139-.169.023-.334.08-.503.103-.046.177-.105.253-.13.599l.608-.082c-.236.032-.4.362-.611.597.038.029.072.024.11.053-.389-.085-.616.015-.705.404.106.02.173.01.275-.003a4 4 0 0 0-.059.35.5.5 0 0 0-.037.245l-.114-.087a.44.44 0 0 0-.06-.198c-.177.23-.464.406-.239.82-.127.086-.287.176-.443.3.042.063.119.121.165.218-.299.074-.595.182-.48.544.139.015.283.064.388.084-.16.091-.316.214-.476.304-.026.072-.038.245-.101.288-.46.165-.168.297-.012.447-.093.081-.186.162-.282.209a.56.56 0 0 1 .253.103 2 2 0 0 1-.219.167c.071.024.181.078.215.074q-.183.178-.455.472a.3.3 0 0 0 .055.164 3 3 0 0 0-.345.526c-.11.22-.143.499-.286.724-.611.87-1.002 1.848-1.837 2.577-.307.281-.573.625-.838.969-.535.654-.995 1.367-1.568 1.993-.754.821-1.551 1.579-2.381 2.342-1.016.924-2.032 1.849-3.052 2.74-.557.486-1.194.881-1.788 1.338-.595.456-1.16.875-1.755 1.332-.37.324-.695.745-1.108 1.006-1.055.622-2.185 1.185-3.277 1.777-.098.048-.161.091-.258.138-.797.484-1.556.998-2.362 1.414-.742.374-1.527.686-2.316.963-.262.104-.574.078-.874.152-.561.179-1.118.391-1.684.535-1.459.403-2.928.738-4.388 1.14-.866.219-1.689.501-2.554.72-.603.116-1.253.135-1.861.217-.439.059-.899.224-1.347.216-.721-.006-1.452-.079-2.178-.118-.173-.011-.418-.046-.545.039-.253.171-.515.001-.776.105-.165.056-.351-.055-.52-.033-.139-.015-.299.075-.472.064-.385-.051-.74-.14-1.141-.052-.4.088-.831-.059-1.283-.101-.625-.053-1.216-.111-1.841-.163a3 3 0 0 1-.714-.213c-.063.043-.156.124-.291.142-.587-.023-1.165.021-1.731-.109-.495-.105-.963-.281-1.462-.146-.13.052-.24-.002-.375.017-.119-.121-.254-.377-.355-.364-.672.125-1.15-.393-1.745-.484-.317-.06-.596-.365-.913-.425-.781-.203-1.47-.761-2.327-.748-.275.002-.562-.096-.879-.156.119.121.199.213.313.3l-.059.077c-.98-.416-1.96-.832-2.936-1.215-.139-.015-.258-.136-.368-.19l-.988-.484c-.11-.053-.326-.127-.321-.094-.173.264-.401.089-.545.04-.993-.517-2.091-.781-3.059-1.37-.41-.252-.875-.396-1.192-.73-.545-.509-1.171-.836-1.855-1.086a20 20 0 0 1-1.563-.68c-.258-.136-.52-.307-.567-.677-.03-.236-.161-.458-.448-.282-.161-.184-.326-.402-.503-.447-.427-.113-.736-.38-1.074-.609s-.621-.567-1.01-.651c-.709-.179-1.187-.697-1.652-1.114-1.087-.984-2.085-2.083-3.113-3.144-.08-.091-.224-.141-.338-.228l-.03.038c.212.314.419.595.631.909-.03.038-.093.081-.122.119-.233-.208-.499-.412-.732-.621-.029.039-.059.077-.092.081l2.919 3.512c.241.276.448.556.689.832a.5.5 0 0 1-.122.12 1.33 1.33 0 0 1-.96-.522c-.372-.498-.752-.789-1.419-.631a6 6 0 0 1-.263-.718c-.135.018-.236.032-.477.03a73 73 0 0 1 1.586 1.944c-.181-.078-.291-.132-.363-.156.689.558 1.231 1.307 2.059 1.607.267.751 1.192 1.004 1.489 1.717-.173-.01-.312-.026-.486-.037-.313-.3-.659-.596-1.01-.926q.146.34.38.566c.47.45.906.905 1.434 1.28.19.145.435.181.474.484.059-.077.122-.119.248-.205-.05.144-.075.216-.096.321.135-.018.241.002.342-.012.093.194.03.511.427.389.034-.005.072.024.11.053.224.415.494.379.844.16.064-.042.237-.031.279.031.216.348.457.35.726.04.022.168.077.332.094.466l.135-.018c-.009-.067-.055-.164-.076-.332.186.112.295.166.371.224.398.426.758.823 1.277 1.13.71.452 1.357.947 2.029 1.371 1.306.818 2.726 1.449 4.137 2.012 1.736.691 3.414 1.459 5.18 2.111 2.124.776 4.342 1.197 6.601 1.407.831.059 1.63.122 2.466.215.735.107 1.482.315 2.213.387 1.11.091 2.25.142 3.356.199.241.002.482.004.756.001l.009.067c.304-.041.658-.226.739-.134.203.247.32.094.519.033.228-.099.498-.135.768-.172.95-.093 1.887-.014 2.824-.209.203-.027.485-.236.697.078.063-.043.093-.081.156-.124.13-.052.3-.075.43-.127l.009.068c-.064.042-.131.051-.262.104.173.01.279.03.385.05-.059.077-.093.082-.157.124-.063.043-.16.09-.282.209 1.246.072 2.398-.048 3.377-.454l-.026-.202.135-.019c.009.068.051.13.093.193a10.95 10.95 0 0 0 4.452-1.182c.157.15.288.372.448.008.055-.11.219-.166.35-.218.295-.108.65-.293.933-.228.317.06.384-.224.62-.255a6.5 6.5 0 0 0 1.135-.256c.199-.061.388-.19.616-.288-.004-.034-.008-.068-.046-.097a6 6 0 0 0-.718.028 33 33 0 0 1 1.08-.693c.003.033.038.029.042.062-.097.048-.147.192-.283.21l.473-.064c-.101.014-.198.335-.341.56 1.177-.467 2.258-.887 3.304-1.302l-.009-.067c-.13.052-.232.065-.329.113-.123-.703.683-.572.902-1.012-.325.146-.65.293-.979.406l-.008-.068c1.083-.66 2.201-1.324 3.285-1.984.004.034.038.029.043.063-.186.162-.376.29-.658.499.207.007.342-.011.447.009.013.101.022.168-.008.206.57-.111.371-.598.501-.924.106.02.249.069.347.022.295-.108.552-.245.843-.387.325-.147.65-.294.97-.474.511-.308.979-.68 1.485-1.022.097-.047.27-.036.405-.055.101-.013.16-.09.219-.166.122-.119.232-.34.337-.32.482.004.798-.21.878-.666.034-.004.029-.038.063-.043.152-.157.303-.314.459-.439.692-.504 1.35-1.003 2.041-1.508.03-.038.102-.013.169-.023.101-.013.237-.031.3-.074.413-.261.788-.551 1.164-.842-.106-.02-.009-.067-.351-.056l-.008-.067a4 4 0 0 0 .62-.255l-.076-.058c.766-.994 1.8-1.784 2.55-2.639.173.011.244.036.346.022a.8.8 0 0 0-.001-.274c.114-.186.223-.407.375-.564.657-.774 1.395-1.456 1.981-2.254a49 49 0 0 0 2.418-3.409c.69-1.052 1.381-2.105 1.924-3.24.761-1.575 1.383-3.166 2.035-4.796.471-1.16.875-2.31 1.345-3.47.055-.11.173-.263.274-.276.899-.224 1.803-.415 2.668-.634.198-.061.417-.227.607-.356-.123-.154-.216-.348-.339-.502-.16-.184-.384-.325-.545-.509-.156-.15-.283-.339-.411-.527-.122-.155-.24-.276-.363-.431-.25-.343-.5-.686-.72-1.068-.046-.096-.135-.256-.115-.361.442-1.395.498-2.842.905-4.233.403-1.425.38-2.963.466-4.448.061-1.412.021-2.811.014-4.216-.023-.99-.007-1.951-.098-2.933.006-1.576-.246-3.015-.463-4.459m-80.12 49.025c-.27-.238-.511-.513-.782-.751l.089-.115c.423.355.845.708 1.272 1.096-.215-.073-.46-.109-.579-.23m.579.23c.097-.047.199-.06.296-.108.122.155.216.348.342.536-.477.03-.739-.14-.638-.428m36.886 9.18-.013-.101 1.866-.457.013.101a18 18 0 0 1-1.866.457m8.398-2.022c-.46.165-.957.3-1.422.431-.164.057-.345.252-.451-.042-.064.043-.131.052-.195.095.233.482.587.024.951.18-.73.201-1.431.364-2.127.561l-.009-.068c.199-.06.431-.126.629-.187l-.013-.101a11 11 0 0 0-1.021.069c-.102.014-.22.167-.317.214-.131.052-.261.104-.43.126-.57.111-1.144.189-1.68.295-.034.005-.106-.02-.139-.015l-.013-.101c2.224-.608 4.414-1.212 6.638-1.819.042.062.051.129.093.192-.202.028-.329.113-.494.17m.464-.405c.764-.206 1.465-.369 2.195-.57-1.498.647-1.996.783-2.195.57m-38.049-64.041c.893-1.628 1.818-3.26 2.707-4.921.282-.484.492-.992.774-1.475.084-.148.211-.234.363-.391l-.043-.063c.114-.187.232-.339.282-.483.135-.293.198-.609.294-.931a.5.5 0 0 1 .118-.152c.503.171.439-.334.586-.525.261-.378.518-.789.746-1.162.168-.297.341-.56.471-.886.021-.106-.102-.26-.153-.391l-.101.014c.093-.081.181-.196.274-.277.034-.004.034-.004.063-.042.165-.331.328-.661.497-.958a15 15 0 0 1 1.12-1.727 6 6 0 0 1-.143.499c.034-.005.038.029.072.025.337-.594.712-1.158 1.049-1.752-.039-.029-.077-.058-.11-.054-.148.192-.261.378-.409.569-.038-.029-.076-.058-.11-.053.282-.484.564-.967.838-1.518.08.092.165.218.334.469.092-.355.198-.609.269-.858-.088.114-.211.234-.299.348l-.115-.087.493-.991c.526-.996 1.048-2.026 1.574-3.022.194-.368.463-.679.623-1.043.479-1.366 1.364-2.513 1.991-3.797.139-.258.349-.492.526-.721.143-.225.287-.176.444-.026 1.057 1.023 2.118 2.079 3.175 3.101.783.751 1.561 1.469 2.313 2.258.914.973 1.794 1.951 2.708 2.924a150 150 0 0 1 3.079 3.422c1.523 1.713 2.978 3.436 4.5 5.149 1.122 1.254 2.238 2.473 3.325 3.732l-1.722.232c-1.591.18-3.229.263-4.808.544-2.148.393-4.313.924-6.453 1.383-2.705.605-5.47 1.012-8.205 1.38-.98.132-1.942.398-2.912.598-1.174.226-2.313.449-3.491.642a174 174 0 0 1-4.103.689c-.772.139-1.587.214-2.431.328m40.7 10.275.039.304c-.034.004-.064.042-.131.051-.195-.453-.394-.94-.623-1.389-.462-.931-.957-1.858-1.676-2.652-.796-.852-1.527-1.747-2.327-2.632-.199-.213-.461-.384-.689-.558-.808-.68-1.619-1.392-2.604-1.842a27.6 27.6 0 0 0-4.495-1.587 10 10 0 0 1-1.258-.447l.81-.109 5.762-.879c1.245-.202 2.46-.366 3.701-.602.304-.041.486.038.689.284.368.464.736.929 1.138 1.389.042.062.123.154.135.255.095.741.193 1.516.321 2.252.132.771.293 1.503.426 2.273.098.774.133 1.592.269 2.395.18 1.141.363 2.315.513 3.494m-37.768-6.388c1.579-.281 3.085-.587 4.631-.864 1.207-.231 2.452-.433 3.659-.664.502-.102.971-.199 1.486-.2-.507.342-1.012.684-1.442 1.085-.557.486-1.063 1.102-1.615 1.622s-1.024 1.131-1.458 1.772c-.543.861-1.166 1.631-1.748 2.462-.404.603-.88 1.181-1.213 1.808-.48.819-.883 1.695-1.317 2.61-.237-3.223-.437-6.416-.983-9.631m26.166 29.431c-1.046.415-2.122.868-3.219 1.153-.928.262-1.912.36-2.891.492-.878.119-1.727.199-2.613.25-.992.031-1.985.061-2.986-.249-.857-.261-1.744-.485-2.606-.78s-1.732-.657-2.434-1.316c-.508-.48-1.171-.836-1.771-1.234.152.39.432.695.833.881-.143.225-.392.155-.798-.338-.093.081-.19.128-.254.171.072-.249.143-.498.219-.714-.169-.252-.377-.532-.546-.783a28 28 0 0 1-.948-1.243c-.08-.092-.093-.193-.173-.285a7 7 0 0 1-.55-.543c-.322-.367-.614-.773-1.003-1.132.013.101.06.197.077.332-.034.005-.063.043-.063.043l-.928-1.622c-.033.004-.033.004-.063.043l.891 2.141c-.034.004-.064.043-.098.047a2 2 0 0 1-.325-.401c-.102-.261-.305-.233-.461-.11-.093.081-.13.326-.083.423.309.54.651 1.077.994 1.613.093.193.182.352.309.541.043.063.153.116.165.217.17.251.305.507.504.72.355.363.744.722 1.1 1.085.355.364.681.765 1.002 1.133.042.063.144.049.182.078.233.483.854.776 1.234.519.199.761 1.077.917 1.509 1.613a16 16 0 0 1-1.035-.307c-.029.039-.025.072-.05.144.431.148.862.295 1.263.481.363.157.727.313 1.061.508.452.316.95.454 1.542.512-.047-.097-.085-.126-.085-.126 1.001.311 2.04.65 2.83.921-3.503.54-7.243 1.113-11.118 1.703-.081-.64-.192-1.242-.273-1.882-.034-.269.003-.514-.065-.779-.298-1.536-.495-3.085-.889-4.573-.409-1.59-.61-3.173-.781-4.794-.078-.88-.261-1.78-.406-2.652-.149-1.179-.295-2.324-.411-3.507-.021-.169.029-.313.075-.49l.102-.014c.042.063.021.169.093.193.114.088.304.233.368.191.185-.162.472-.338.514-.549.117-.427.129-.874.078-1.278-.039-.303.071-.524.18-.744.055-.11.076-.216.126-.36-.148-.082-.291-.132-.477-.243.088-.389-.002-.823.479-1.093.064-.043.042-.211.063-.317l-.006-.855c.081.092.119.121.195.179a.4.4 0 0 1 .054-.11c-.017-.135-.084-.4-.051-.404.397-.122.172-.537.35-.767.029-.038-.052-.13-.06-.197-.009-.068-.022-.169.012-.173.46-.165.329-.661.602-.938.093-.081.114-.186.228-.373.33.435-.113.735-.104 1.076.531-.414.598-1.245.23-1.435.122-.12.24-.273.324-.421.32-.454.679-.88.965-1.329.198-.335.286-.724.484-1.059.114-.186.366-.358.556-.486.565-.419 1.092-.866 1.391-1.489.059-.077.152-.158.244-.238.093-.081.296-.109.317-.215.025-.071-.098-.226-.178-.318.126-.086.244-.238.497-.41-.075.216-.092.355-.142.499l.19.146c.274-.277.713-.61.991-.853-.004-.034-.191-.146-.191-.146-.189.129-.472.338-.759.514.055-.11.046-.178.076-.216.434-.367.868-.734 1.345-1.038a170 170 0 0 1 3.344-2.061c.19-.128.469-.097.705-.129a.7.7 0 0 0 .267-.07 29 29 0 0 1 1.56-.689c.228-.1.494-.17.73-.202 1.018-.102 2.031-.239 3.053-.308.443-.026.861.021 1.283.101.528.1 1.098.263 1.601.435.612.226 1.196.49 1.783.788 1.061.508 2.062 1.092 3.114 1.533 1.018.445 1.859 1.12 2.579 1.914.875.944 1.839 1.773 2.339 3.007l.789 2.155c.153.391.44.763.399 1.248-.062.865-.086 1.759-.114 2.619-.024.346-.049.692.027 1.024.2 1.035-.089 1.999-.375 2.997-.096.321-.26.652-.386 1.011.037.029.253.103.287.099l.227-.648c.033-.004.033-.004.072.025-.109.494-.18 1.018-.289 1.512-.273 1.099-.541 2.231-.919 3.31-.198.609-.611 1.144-.88 1.728-.278.517-.484 1.059-.766 1.543-.256.411-.513.822-.884 1.147-.827.796-1.686 1.597-2.597 2.268-.561.452-1.245.75-1.899 1.009m-18.225.64-.029.038c-.072-.025-.178-.045-.254-.103l-.964-1.103a.4.4 0 0 1-.111-.328 29 29 0 0 0 1.358 1.496m21.59 1.784c1.438-.844 2.572-1.922 3.588-3.121.147-.191.295-.382.48-.544 1.307-1.067 2.2-2.42 2.974-3.895.884-1.695 1.371-3.542 2.039-5.311.051-.143.101-.287.156-.397.42 3.848 1.338 7.562 2.328 11.299-3.799.649-7.665 1.307-11.565 1.969m34.113-5.623c-.025.072-.085.148-.11.22-.042-.062-.055-.163-.106-.293-.134.566-.607.355-.911.396-1.819.279-3.676.53-5.5.775-1.756.237-3.546.478-5.297.748-.574.078-1.165.294-1.735.405-1.376.254-2.756.474-4.136.694-.102.014-.224-.141-.41-.252q-.038.108-.164.33c-.043-.063-.119-.121-.199-.213a2 2 0 0 1-.067.283l-.101.014c-.128-.463-.319-.882-.379-1.354-.128-1.011-.155-2.034-.249-3.05-.027-.476-.116-.909-.172-1.347.149.083.258.137.406.22.05-.144.105-.254.16-.365 0 0-.072-.024-.148-.082.063-.043.122-.12.118-.153.021-.106.076-.216.067-.283-.03-.236-.123-.429-.183-.627.035-.004.068-.009.097-.047l.332.983.101-.014c-.165-.217.248-.478-.158-.698-.038-.029.004-.24-.009-.341-.126-.188-.22-.382-.355-.637.029-.038.126-.086.223-.133-.143-.049-.253-.103-.359-.123.299-.349.278-.517-.069-.813.063-.043.131-.052.127-.085-.039-.304-.077-.607-.183-.901-.11-.328.007-.755-.525-.888.046.096.089.159.169.251 0 0-.097.047-.19.128-.49-.345-.289-.92-.467-1.513.245.036.423.081.6.125-.098-.226-.301-.473-.44-.763l-.136.018-.282-2.223c.004.034.241.002.38.017-.004-.033.025-.071.021-.105-.118-.121-.271-.238-.427-.388l.059-.076c-.313-.301-.238-.79-.25-.891l-.3-2.358c.38.291-.07.797.462.931l-.043-.337-.034.005c-.098-.501-.162-1.006-.26-1.507l-.067.009c-.025.072-.021.106-.047.178l-.067.009c-.27-2.67-.541-5.34-.82-8.077.394.392.816.746 1.108 1.152.957 1.31 2.124 2.386 3.232 3.539.952 1.002 1.848 2.115 2.737 3.16 1.087 1.258 2.14 2.52 3.227 3.779.808.953 1.65 1.902 2.488 2.816a78 78 0 0 0 2.33 2.393c.672.697 1.378 1.39 2.051 2.087.795.852 1.59 1.705 2.381 2.523.398.426.829.848 1.26 1.269.237.242.567.403.791.544-.034.005-.068.01-.14-.015.119.121.199.213.275.271.397.152.457.35.293.68m.653-8.652-.03-.236c.008.067.055.164.03.236m-.739-15.008c-.034.004-.262-.171-.3-.2-.021.106.026.202-.025.346-.046-.096-.278-.031-.291-.132.026.476.322.916.348 1.392.093-.081.494-.17.582-.284.039.029.11.054.144.049-.611.596-.378 1.079-.002 1.611.085.125.322.367.154.664-.059.076.068.265.123.429l.101-.014.009.067-.291.143c-.081-.093-.512-.24-.533-.408l.218 1.717c.351.056.411.527.576.745.054-.11.08-.182.1-.288l.039.029c-.009.207-.017.414-.059.625-.029.312-.062.591-.057.899.004.033.08.091.084.125-.264.892.058 1.808.034 2.702-.019.654.167 1.313.185 1.996.005.582-.052 1.206-.115 1.797-.021.106-.084.149-.244.239.016-.414-.052-.679-.167-1.04-.033.005-.503-.172-.536-.167.06.471.411 1.075.581 1.6-.106-.02-.541-.201-.575-.197-.016.413.053.952.075 1.395.008.341-.257.685-.244 1.06.026.202.279.305.288.647l.271-.037c-.086-.673.141-1.321.051-2.028l.101-.014c.043.063.153.117.123.155-.021.38-.104.802-.023 1.168.025.202.22.382.182.627-.042.211-.05.417-.045.725-.055-.164-.097-.227-.11-.328-.034.005-.342.012-.376.017-.008.206.288.372.275.545-.029.038-.063.043-.126.086l-1.32-1.467c-1.04-1.162-2.081-2.323-3.126-3.518a8 8 0 0 1-.736-.929 47 47 0 0 0-4.132-4.685c-1.138-1.114-2.086-2.357-3.165-3.548-1.002-1.132-2-2.231-3.003-3.363-.355-.364-.773-.684-1.099-1.086-1.054-1.262-2.01-2.572-3.063-3.835-.888-1.045-1.84-2.047-2.758-3.054a35 35 0 0 1-.96-1.07.5.5 0 0 1-.098-.227c-.161-.731-.323-1.463-.447-2.166-.085-.674-.103-1.357-.193-2.064l-.077-.606c-.021-.168-.005-.308-.026-.476.029-.039.055-.11.084-.149-.979.132-1.996.235-2.972.401-.637.12-1.009-.104-1.508-.516-1.467-1.276-2.622-2.799-3.933-4.198-1.235-1.341-2.5-2.644-3.764-3.947-1.028-1.06-2.051-2.087-3.079-3.148-1.15-1.215-2.267-2.435-3.451-3.646a455 455 0 0 0-4.331-4.349c-.668-.664-1.399-1.285-2.139-1.973.447.008.861.021 1.271 0l1.633-.118c1.229-.062 2.453-.159 3.69-.154 1.03-.002 2.069.064 3.137.091 2.276.07 4.548.381 6.765.802 1.301.236 2.585.611 3.865.952 2.876.743 5.648 1.74 8.393 2.809.867.329 1.429.972 2.118 1.53.994.792 1.987 1.583 2.951 2.412 1.12.98 2.178 2.002 3.269 3.02.972.897 1.979 1.789 2.951 2.686.309.266.558.609.838.914.643.736 1.349 1.429 1.933 2.241.419.594.715 1.308 1.042 1.983.47.999.936 1.964 1.406 2.963.335.742.64 1.523.912 2.309.203.521.242 1.098.479 1.614.293.68.189 1.482.481 2.162.042.063.089.159.131.222.153.117.271.238.094.467-.029.038-.012.173.034.27.059-.076.085-.148.139-.259.009.068.047.097.051.13.017.135.001.274.051.405.009.067.089.159.131.222.06-.077.123-.119.245-.239.449 1.105.629 2.245.778 3.424.142 1.112.485 2.196.15 3.337.054-.384-.225-.689-.167-1.039"}),d.createElement("path",{fill:"#DD3735",d:"M441.137 338.848c.034 0 .067.034.067.034l-.033-.034c0-.033 0-.033-.034 0m5.285 33.05c-.367.268-.735.502-1.204.602-.033-.033-.033-.067-.067-.1.368-.234.77-.469 1.138-.703.033.067.1.134.133.201m-62.72-45.326c.368-.469.736-.937 1.137-1.405.033.033.301.1.335.134-.368.468-.87 1.103-1.238 1.605-.067-.066-.167-.301-.234-.334m-9.5 16.391c-.268-.569-.535-1.171-.803-1.74.033-.033.268-.134.301-.134.368.536.535 1.171.803 1.74 0 0-.268.134-.301.134m8.53-16.057c-.201.301-.402.636-.602.937-.034-.033-.402.134-.435.1.2-.301.702-.836.903-1.137a.4.4 0 0 0 .134.1m60.111 46.364c.034 0 .034-.034.067-.034.234.034.502.067.77.067-.435.301-.703.268-.837-.033m-60.045-44.959c.034-.1.101-.201.168-.301.067 0 .167-.033.167-.033.134-.234.134-.402.268-.603-.034-.033-.067-.033-.1-.066-.201.133-.402.301-.603.435.067.067.067.1.067.167-.267-.033-.368.1-.501.468-.034.1-.201.134-.369.268-.033.067-.067.234-.134.401l.034.034a.5.5 0 0 1-.167.1c-.201.2-.435.368-.636.569-.033.1-.067.201-.067.301.235-.234.636-.67.937-.937l.033.033c.134-.2.235-.401.369-.602.033.034.033.067.066.101-.1.267-.2.568-.301.836-.067.033-.167.1-.167.067-.134.1-.234.234-.368.335l-.602.401c-.335.301-.669.569-1.037.87-.234.367-.468.702-.736 1.137.401-.1.502.067.468.401.469.067.502-.301.636-.568.034-.067.067-.201.134-.234.301-.268.635-.502.97-.77.067-.067.067-.2.067-.301 0-.033-.167-.033-.268-.067.301-.335.736-.903 1.037-1.271.167-.101.335-.234.335-.335-.034-.367.2-.468.468-.602-.134-.1-.168-.2-.168-.234"}),d.createElement("path",{fill:"#DD3735",d:"M383.468 327.943c-.134.234-.268.435-.402.669l-.201-.1c-.133.769-.602 1.438-1.07 1.572.134.067.268.134.368.1.1-.033.167-.2.234-.301l.903-1.304.302-.502zm-11.14 14.685c.168 0 .335.034.536.034 0-.134.167-.101.167-.235h.1c0 .168.034.302.034.469h-.703c-.033-.034-.167-.234-.134-.268m-.267-1.539c-.1-.1-.268-.2-.268-.301-.033-.133.067-.301.168-.468.066.234.1.435.167.669-.034.033-.067.067-.067.1m.836-2.141c.134.335.268.703.401 1.037-.033 0-.234.101-.267.134-.134-.334-.301-.702-.435-1.037.033-.033.234-.134.301-.134m74.462 31.98c.167-.067.368-.101.636-.168-.301.235-.536.402-.736.603-.034-.034-.067-.067-.1-.067.066-.134.133-.234.2-.368m-41.111-70.682c.2-.134.368-.235.569-.368l.067.066c-.201.268-.369.536-.603.87-.033-.234-.033-.368-.067-.535-.033 0 0 0 .034-.033m9.801 16.926c.301-.134.602-.268.97-.435-.033.201-.033.335-.033.468a1.2 1.2 0 0 0-.335-.067c-.2.034-.569.302-.736.335-.033 0 .134-.268.134-.301m25.088 28.366c.067.335.703.502.067.836.1.067.201.101.301.168 0 .033-.033.1-.067.134-.067.033-.2.1-.267.067-.034 0-.101-.134-.101-.201 0-.301.034-.602.067-1.004m-88.412-4.393c-.134-1.999.312-2.975 1.006-.947.64 1.569.343-.446.042-2.781.334.122-.546-7.525.094-5.23.635 3.5.654 10.871 1.683 13.058.959 2.197 2.398-.428 3.181 1.024.829 1.533-.638 3.785-.135 5.632.465 1.716-.971 2.642 4.293 7.813 1.029 2.19 1.796 3.534 2.944 5.476 0 0 2.582 2.368 2.234 1.964 0 0-2.962-.535-3.098-.291.869 1.52 6.466 7.347 6.025 7.159.668 1.195-1.358-.687-2.261-1.286-.93-.616-1.19.326 4.159 6.266.752 1.154 2.523 2.652 3.728 3.512 2.161 1.544.51.194-.797-.833-6.733-5.779-13.207-16.197-13.26-15.199.167.672 2.162 4.262 4.619 7.745 2.401 3.402 5.103 6.411 5.103 6.411s-2.908-3.147-5.65-6.957a81 81 0 0 1-6.043-9.803c-.468-.843.213.783 1.262 2.947.992 2.048 2.211 4.271 2.053 4.258-.438.09-1.916-2.267-3.171-4.719s-2.289-4.984-2.458-4.986c-.544-.418-5.179-7.488-2.187-1.931 0 0-1.325-1.357.707.387 0 0-.555-5.351-1.568-7.668-1.354-2.629-3.621-7.756-3.722-9.275.05-.874 1.318.158.476-3.304-.782-3.023-3.086-9.451-2.603-13.778a130 130 0 0 0 3.344 15.336m79.148-67.503c-2.907-.496-7.25-1.019-7.232-1.258-.547-.252-2.779-.309-5.302-.133-1.639-.076-9.085 1.27-9.166 1.018 1.13-.406 4.544-1.028 8.353-1.245 3.57-.205 6.808-.002 6.366-.191-.24-.161-3.759-.613-7.387-.618-3.629 0-7.354.483-7.868.464-.651-.036 2.665-.607 6.072-.8 4.292-.244 6.584.043 8.378.061 1.237 0 4.006.403 5.007.48 1.001.079.337-.525-5.649-1.533 1.985-.172 1.577-.183 3.077-.319 0 0-4.239-.864-4.025-.786 0 0 3.186.316 6.513.986 3.717.747 6.39 1.591 7.606 1.941 1.103.126-1.989-1.701-.806-1.318 3.761.753 5.074 2.549 12.686 4.12 3.502 1.305-.635-1.482.344-.323-.64.78-5.63 0-2.189 1.444 2.365.919 10.683 3.428 10.683 3.428s-7.834-2.141-9.649-2.572c-.8-.111 6.766 2.457 7.994 3.186 2.26 1.319.47.646-1.203 0-1.789-.674-4.081-1.514-3.269-1.084 1.355.773 4.262 3.426 4.851 3.004 0 0 2.502 1.571-2.202-1.339 0 0-2.704-1.354-5.553-2.524-2.843-1.169-5.811-2.127-6.011-2.056.548.54 1.104 1.437-.743.854-2.308-.781-6.398-2.373-8.58-2.442-1.099 0 .591.889-6.491.162a63 63 0 0 1 5.395-.623z"})),d.createElement("path",{fill:"url(#integrationsH)",d:"M430.624 409.644c-3.386 7.689-9.482 13.79-16.949 16.961s-15.694 3.152-22.87-.052c-7.177-3.203-12.716-9.33-15.399-17.033-2.684-7.702-2.292-16.35 1.089-24.041s9.474-13.795 16.939-16.971c7.466-3.176 15.692-3.163 22.871.036s12.721 9.321 15.41 17.022 2.302 16.348-1.075 24.041"}),d.createElement("path",{fill:"url(#integrationsI)",d:"m407.197 428.53-99.977 14.422.407-77.632 98.483.84z"}),d.createElement("path",{fill:"#B3D0CB",d:"M416.304 368.543a49 49 0 0 1 5.933 3.593 28 28 0 0 0-5.933-3.593m16.589 33.797c-.359.905-.767 1.82-1.236 2.746l-.018.039c-5.048 9.926-14.493 16.708-25.016 17.969l-.002.036-.744.068c-.244.036-.488.036-.731.065l-97.87 8.745-.058 10.945 98.547-14.216q.355-.046.709-.1l.722-.104v-.036c5.015-.883 9.793-3.075 13.889-6.373 4.097-3.298 7.378-7.595 9.538-12.489l.018-.039a34 34 0 0 0 2.252-7.267z"}),d.createElement("path",{fill:"url(#integrationsJ)",d:"M329.644 422.404c-3.616 9.098-9.418 15.899-16.13 18.908s-13.782 1.979-19.659-2.864c-5.876-4.842-10.076-13.1-11.677-22.958s-.47-20.509 3.143-29.61 9.412-15.908 16.122-18.923 13.782-1.992 19.661 2.844 10.083 13.09 11.687 22.947c1.605 9.856.479 20.507-3.129 29.611"}),d.createElement("path",{fill:"url(#integrationsK)",d:"M296.392 366.865c2.037 1.121 3.536 2.982 4.166 5.171a8.34 8.34 0 0 1-.802 6.503c-1.145 1.975-3.052 3.425-5.302 4.029a9.06 9.06 0 0 1-6.697-.806c-2.038-1.121-3.538-2.979-4.17-5.168a8.34 8.34 0 0 1 .798-6.505c1.144-1.976 3.05-3.426 5.3-4.032a9.06 9.06 0 0 1 6.697.802"}),d.createElement("path",{fill:"#636E89",d:"M291.731 365.753q-.263.01-.525.036c2.05 1.417 3.491 3.519 4.043 5.902a9.6 9.6 0 0 1-1.053 6.997 9.96 9.96 0 0 1-4.224 3.925 9.04 9.04 0 0 0 5.605-.433 8.68 8.68 0 0 0 4.179-3.641 8.34 8.34 0 0 0 .803-6.504c-.631-2.19-2.13-4.05-4.168-5.172h-.011a9.05 9.05 0 0 0-4.651-1.106z"}),d.createElement("path",{fill:"url(#integrationsL)",d:"M313.203 355.452a11.334 11.334 0 1 1-.013-.007"}),d.createElement("path",{fill:"#636E89",d:"M309.416 354.138a12.23 12.23 0 0 1 3.037 15.583 12.23 12.23 0 0 1-9.046 6.109 11.336 11.336 0 0 0 14.088-4.936 11.333 11.333 0 0 0-4.293-15.441h-.01a11.3 11.3 0 0 0-3.776-1.308z"}),d.createElement("path",{fill:"url(#integrationsM)",d:"M328.102 364.918c2.037 1.122 3.535 2.982 4.166 5.171a8.34 8.34 0 0 1-.802 6.504c-1.145 1.975-3.052 3.424-5.302 4.028a9.05 9.05 0 0 1-6.697-.806c-2.038-1.12-3.538-2.979-4.17-5.168a8.34 8.34 0 0 1 .798-6.505c1.143-1.975 3.05-3.426 5.299-4.031a9.05 9.05 0 0 1 6.698.801"}),d.createElement("path",{fill:"#636E89",d:"M466.456 166.267q.268.301.531.609s5.228 5.576 3.196 12.435c-1.632 5.506-7.953 11.839-25.408 16.778a132 132 0 0 1 4.992 5.382h.014l4.831-1.203c19.34-3.97 25.752-9.813 27.225-14.781 1.567-5.29-2.466-9.591-2.466-9.591-3.55-4.177-7.973-7.311-12.915-9.629m29.07 45.567a12.66 12.66 0 0 1-.493 6.451c-1.813 5.169-14.656 7.603-26.13 12.144a132 132 0 0 1 3.041 6.701l5.689-2.469c9.507-4.024 20.818-5.95 22.344-10.302 1.186-3.385.122-6.215.122-6.215-.59-2.442-2.23-4.529-4.573-6.31m-.779 33.14q.067.085.134.176c1.5 2.042 2.776 5.605 1.118 7.521-2.419 2.798-8.265 2.57-17.032 2.609-.266.002-.593 0-.937 0q.45 1.75.852 3.512s2.445.083 3.667.079c8.767-.039 14.615.187 17.034-2.612 1.658-1.916.38-5.477-1.12-7.519a18.6 18.6 0 0 0-3.716-3.758z"}),d.createElement("path",{fill:"url(#integrationsN)",d:"M266.698 45.308c-1.748 20.215-4.034 26.395-7.844 39.084-1.447 4.811-7.163 11.056-12.949 11.736a23 23 0 0 1-3.068.143q.636.32 1.3.602h.032c.033 0 .065.035.097.039 5.707 2.403 11.997 2.171 16.778.32 4.969-1.926 8.606-8.765 8.788-13.358.474-12.16 1.089-18.152-2.028-36.633a3 3 0 0 0-.746-1.598 3 3 0 0 0-.359-.33z"}),d.createElement("path",{fill:"url(#integrationsO)",d:"M264.603 44.768a3.1 3.1 0 0 0-1.38.553C247.825 56.005 243.967 60.633 235.6 69.47c-3.159 3.34-5.508 10.72-3.414 15.62 1.109 2.593 2.887 5.169 5.212 7.363q-.442-.703-.822-1.414c-2.972-5.562-.957-14.502 2.424-18.763 8.116-10.214 12.22-15.977 25.603-27.508"}),d.createElement("path",{fill:"#B3D0CB",d:"M347.111 365.656c.532 4.578 2.613 9.125 5.816 12.713s7.288 5.944 11.418 6.588c4.296.668 8.296-.569 11.121-3.441s4.243-7.142 3.943-11.871l-.002-.036a21 21 0 0 0-.583-3.696zm-98.262-.674c-4.533-.034-8.922 1.286-12.331 3.708v22.503a19.4 19.4 0 0 0 4.315 2.289c4.43 1.685 9.503 1.874 14.105.527 4.602-1.348 8.356-4.122 10.435-7.712 2.08-3.591 2.315-7.704.655-11.435-1.661-3.731-5.081-6.774-9.51-8.461h-.021a22.1 22.1 0 0 0-7.647-1.412z"}),d.createElement("path",{fill:"#DEC283",d:"M128.042 145.003c4.557 5.3 6.173 8.273 9.152 13.224 1.371 2.279 1.781 6.741-.011 9.25a7 7 0 0 1-.199.265 8 8 0 0 0 .549-.237h.056c2.472-1.158 4.255-3.286 5.061-5.398.837-2.196-.328-5.405-1.778-6.821-3.841-3.748-5.62-5.719-12.591-10.158a1.2 1.2 0 0 0-.239-.125"}),d.createElement("path",{fill:"url(#integrationsP)",d:"M126.771 145.143q-.096.077-.176.176a1.34 1.34 0 0 0-.302.716c-1.051 8.197-.674 10.827-.253 16.177.16 2.02 1.883 4.969 4.106 5.73 1.481.508 3.269.661 5.049.32a10 10 0 0 1-1.126-.172c-2.595-.552-4.925-3.624-5.38-5.866-1.151-5.702-1.915-8.603-1.918-17.081"}),d.createElement("path",{fill:"#636E89",d:"M326.693 364.298a9.7 9.7 0 0 1 2.591 5.499 9.5 9.5 0 0 1-1.222 5.914 9.8 9.8 0 0 1-2.929 3.155 10.2 10.2 0 0 1-4.037 1.639 9.05 9.05 0 0 0 5.91-.159 8.7 8.7 0 0 0 4.46-3.753 8.34 8.34 0 0 0 .802-6.504c-.631-2.19-2.13-4.05-4.167-5.171h-.011a9 9 0 0 0-1.398-.614zm-69.611 65.825a9.72 9.72 0 0 1 3.294 5.368 9.5 9.5 0 0 1-.728 6.21 9.8 9.8 0 0 1-2.395 3.124 10.1 10.1 0 0 1-3.462 1.966 9.05 9.05 0 0 0 6.246-.263 8.7 8.7 0 0 0 4.496-4.22 8.35 8.35 0 0 0 .313-6.547c-.793-2.136-2.427-3.878-4.543-4.844h-.011a9 9 0 0 0-3.209-.789z"}),d.createElement("path",{fill:"url(#integrationsQ)",d:"M276.172 138.032a79 79 0 0 1-.032 1.757c-.88 10.609-4.112 20.778-9.441 29.711s-12.613 16.387-21.279 21.779c2.502.482 5.052.669 7.597.556.014 0 .032 0 .046-.036q1.415-.675 2.794-1.421c.165-.09.325-.187.49-.276a63 63 0 0 0 2.096-1.208c.36-.219.712-.447 1.067-.672q.707-.444 1.401-.907.644-.433 1.278-.883.557-.394 1.105-.802.681-.499 1.349-1.02.486-.383.965-.777c.459-.374.918-.746 1.367-1.133q.413-.364.818-.735a64 64 0 0 0 2.291-2.15q.549-.534 1.086-1.08c.319-.33.627-.672.94-1.009q.597-.64 1.176-1.297c.276-.316.545-.635.815-.955a66 66 0 0 0 1.86-2.31q.727-.948 1.42-1.925c.128-.183.26-.361.387-.544a66.3 66.3 0 0 0 6.336-11.372l.014-.036a32.57 32.57 0 0 0-7.946-21.269z"}),d.createElement("path",{fill:"#92DAFB",d:"M297.358 22.77c-4.174 5.243-8.138 10.543-11.992 15.883l3.545 1.1 10.379-12.626 28.089 7.599z"}),d.createElement("path",{fill:"url(#integrationsR)",d:"m320.886 52.31 6.494-17.584 8.785 10.505-3.651 13.852z"}),d.createElement("path",{fill:"url(#integrationsS)",d:"m353.314 71.67 11.63 6.773 4.978 37.851-11.629-6.771z"}),d.createElement("path",{fill:"url(#integrationsT)",d:"m343.203 121.766 11.628 6.771 15.091-12.242-11.629-6.772z"}),d.createElement("path",{fill:"url(#integrationsU)",d:"m334.162 159.476 11.629 6.773 10.831 9.119-11.628-6.771z"}),d.createElement("path",{fill:"url(#integrationsV)",d:"m344.994 168.597 11.628 6.771-22.84 41.557-11.629-6.773z"}),d.createElement("path",{fill:"url(#integrationsW)",d:"m305.878 208.779 16.275 1.372 11.629 6.774-16.277-1.372z"}),d.createElement("path",{fill:"url(#integrationsX)",d:"m277.413 256.669 11.63 6.773 1.466-20.71-11.629-6.773z"}),d.createElement("path",{fill:"url(#integrationsY)",d:"m240.168 277.521 37.245-20.852 11.63 6.773-37.246 20.852z"}))),c||(c=d.createElement("defs",null,d.createElement("linearGradient",{id:"integrationsb",x1:580.899,x2:560.141,y1:355.681,y2:310.112,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#636D89"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"integrationsc",x1:-14.218,x2:1034.23,y1:256.575,y2:673.719,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#4C636F"}),d.createElement("stop",{offset:.273,stopColor:"#C0DDD6"}),d.createElement("stop",{offset:.445,stopColor:"#E6F4F1"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"integrationsd",x1:479.795,x2:474.086,y1:232.846,y2:197.921,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#646E8A"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"integrationse",x1:453.265,x2:440.168,y1:202.287,y2:154.265,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#636D89"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"integrationsf",x1:484.832,x2:486.887,y1:266.428,y2:241.289,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#636D89"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"integrationsg",x1:238.313,x2:525.61,y1:237.913,y2:400.056,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#B3D0CB"}),d.createElement("stop",{offset:1,stopColor:"#B3D0CB",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationsh",x1:11.017,x2:481.093,y1:126.797,y2:467.172,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#738D9A"}),d.createElement("stop",{offset:1,stopColor:"#738D9A",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationsi",x1:238.721,x2:293.621,y1:382.518,y2:384.532,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#BEDBD4"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"integrationsj",x1:252.278,x2:224.574,y1:436.268,y2:432.741,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#636D89"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"integrationsk",x1:267.729,x2:246.277,y1:441.468,y2:438.528,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#636D89"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"integrationsl",x1:189.181,x2:355.737,y1:307.645,y2:133.602,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"integrationsm",x1:161.551,x2:344.044,y1:323.177,y2:61.203,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#324F9D"}),d.createElement("stop",{offset:1,stopColor:"#39AEE4"})),d.createElement("linearGradient",{id:"integrationsn",x1:181.589,x2:155.563,y1:69.135,y2:84.415,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DDC183"}),d.createElement("stop",{offset:1,stopColor:"#EEE8A9"})),d.createElement("linearGradient",{id:"integrationso",x1:81.79,x2:184.197,y1:186.494,y2:212.893,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#4C636F"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"integrationsp",x1:81.79,x2:184.197,y1:186.494,y2:212.893,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#4C636F"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"integrationsq",x1:81.79,x2:184.197,y1:186.494,y2:212.893,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#4C636F"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"integrationsr",x1:180.043,x2:153.948,y1:75.01,y2:69.943,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DEC283"}),d.createElement("stop",{offset:1,stopColor:"#DEC283",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationss",x1:151.921,x2:168.135,y1:57.782,y2:101.358,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#FBFAEF"}),d.createElement("stop",{offset:1,stopColor:"#FBFAEF",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationst",x1:304.329,x2:197.917,y1:72.006,y2:183.434,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#BEDBD4"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"integrationsu",x1:271.493,x2:181.921,y1:136.47,y2:73.411,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#B3D0CB"}),d.createElement("stop",{offset:1,stopColor:"#B3D0CB",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationsv",x1:289.766,x2:222.766,y1:212.069,y2:63.738,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#738D9A"}),d.createElement("stop",{offset:1,stopColor:"#738D9A",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationsw",x1:279.782,x2:235.4,y1:78.388,y2:70.032,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DEC283"}),d.createElement("stop",{offset:1,stopColor:"#EEE8A9"})),d.createElement("linearGradient",{id:"integrationsx",x1:151.03,x2:124.668,y1:155.944,y2:159.135,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DEC283"}),d.createElement("stop",{offset:1,stopColor:"#EEE8A9"})),d.createElement("linearGradient",{id:"integrationsy",x1:332.992,x2:231.955,y1:250.793,y2:140.44,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#A141C5"}),d.createElement("stop",{offset:1,stopColor:"#ECCFF7"})),d.createElement("linearGradient",{id:"integrationsz",x1:168.464,x2:173.024,y1:291.181,y2:402.148,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#3FB159"}),d.createElement("stop",{offset:1,stopColor:"#498A58"})),d.createElement("linearGradient",{id:"integrationsA",x1:182.905,x2:194.052,y1:364.146,y2:379.093,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"maroon"}),d.createElement("stop",{offset:1,stopColor:"#400D0D"})),d.createElement("linearGradient",{id:"integrationsB",x1:216.19,x2:218.877,y1:330.333,y2:353.98,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#F4E3D7"}),d.createElement("stop",{offset:1,stopColor:"#D1AE96"})),d.createElement("linearGradient",{id:"integrationsC",x1:191.057,x2:133.91,y1:345.353,y2:414.682,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#D89898"}),d.createElement("stop",{offset:1,stopColor:"#D89898",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationsD",x1:206.593,x2:196.966,y1:346.158,y2:357.179,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#B2B2B2"}),d.createElement("stop",{offset:1,stopColor:"#A09797"})),d.createElement("linearGradient",{id:"integrationsE",x1:226.043,x2:227.297,y1:327.467,y2:347.889,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DD3735"}),d.createElement("stop",{offset:1,stopColor:"#B31715"})),d.createElement("linearGradient",{id:"integrationsF",x1:238.583,x2:220.131,y1:354.696,y2:360.608,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DD3735"}),d.createElement("stop",{offset:1,stopColor:"#9C1E1C"})),d.createElement("linearGradient",{id:"integrationsG",x1:238.583,x2:220.131,y1:354.697,y2:360.608,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DD3735"}),d.createElement("stop",{offset:1,stopColor:"#9C1E1C"})),d.createElement("linearGradient",{id:"integrationsH",x1:385.094,x2:361.38,y1:442.396,y2:357.389,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#BEDBD4"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"integrationsI",x1:385.094,x2:361.38,y1:442.396,y2:357.39,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#BEDBD4"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"integrationsJ",x1:333.921,x2:284.719,y1:414.922,y2:408.998,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#234A5F"}),d.createElement("stop",{offset:1,stopColor:"#4C636F"})),d.createElement("linearGradient",{id:"integrationsK",x1:309.871,x2:284.097,y1:372.966,y2:375.065,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#636D89"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"integrationsL",x1:333.798,x2:288.547,y1:373.301,y2:364.654,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#636D89"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"integrationsM",x1:333.256,x2:315.504,y1:379.479,y2:369.39,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#636D89"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"integrationsN",x1:270.488,x2:241.606,y1:76.53,y2:109.211,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DEC283"}),d.createElement("stop",{offset:1,stopColor:"#DEC283",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationsO",x1:253.937,x2:225.632,y1:50.84,y2:96.701,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#FBFAEF"}),d.createElement("stop",{offset:1,stopColor:"#FBFAEF",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationsP",x1:114.921,x2:137.672,y1:133.963,y2:182.69,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#FBFAEF"}),d.createElement("stop",{offset:1,stopColor:"#FBFAEF",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationsQ",x1:318.429,x2:239.605,y1:213.862,y2:148.653,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#C489DC"}),d.createElement("stop",{offset:1,stopColor:"#C489DC",stopOpacity:0})),d.createElement("linearGradient",{id:"integrationsR",x1:327.793,x2:330.955,y1:52.842,y2:39.002,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"integrationsS",x1:362.882,x2:359.462,y1:106.425,y2:71.843,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"integrationsT",x1:350.016,x2:368.48,y1:125.733,y2:105.332,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"integrationsU",x1:347.354,x2:339.382,y1:168.982,y2:155.792,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"integrationsV",x1:330.022,x2:355.192,y1:210.32,y2:165.802,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"integrationsW",x1:315.332,x2:339.964,y1:212.2,y2:210.946,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"integrationsX",x1:284.217,x2:280.707,y1:242.347,y2:268.109,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"integrationsY",x1:248.368,x2:300.178,y1:278.829,y2:247.794,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("clipPath",{id:"integrationsa"},d.createElement("path",{fill:"#fff",d:"M0 0h599.596v470H0z"})))))};function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var l in a)({}).hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e}).apply(null,arguments)}let C=e=>{let{title:t,titleId:a,...l}=e;return d.createElement("svg",u({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 600 470","aria-labelledby":a},l),t?d.createElement("title",{id:a},t):null,n||(n=d.createElement("g",{clipPath:"url(#open-sourcea)"},d.createElement("path",{fill:"#211928",d:"m491.388 124.746.002.041c-.94 0-1.881 0-2.82.042-4.853.156-9.582.8-14.142 1.877 2.77 3.985 5.549 8.721 8.391 14.439 0 0-25.628 21.802-50.377 13.981l-.003-.041c-7.87 10.995-12.945 24.364-14.151 39.066a85 85 0 0 0-.213 3.784c-1.503-1.46-3.752-3.316-6.493-4.578-5.872-2.705-11.931-2.163-11.653.607.233 3.779 9.071.103 18.108 8.203.025 1.553.081 3.1.192 4.636-1.781-.595-4.643-1.32-7.697-1.178-5.74.268-9.96 3.071-8.948 5.245 2.917 4.574 7.152-3.003 16.915-1.073a83.1 83.1 0 0 0 9.849 31.081c-2.592-12.033-.34-17.091 2.598-23.366q.054-.086.101-.177a2.66 2.66 0 0 0-.426-2.902c-.029-.042-.048-.054-.075-.078-7.472-7.036-7.943-18.687-3.452-28.409a22.89 22.89 0 0 1 30.434-11.014h.024c3.676 2.134 7.422 5.101 10.87 6.766a33.7 33.7 0 0 0 14.636 3.186 34.7 34.7 0 0 0 7.481-.918 33.7 33.7 0 0 0 7.09-2.56c9.128-4.159 24.672-5.276 32.352-2.047h.037c16.822 7.906 24.054 27.949 16.155 44.774-3.468 5.712-7.888 10.891-13.024 14.024a2.505 2.505 0 0 0-.791 3.771c5.048 7.008 6.73 16.868 3.065 24.688a23.8 23.8 0 0 1-4.327 6.297c12.75-7.204 22.85-18.103 29.402-31.132 16.907-.301 20.503 11.873 26.55 8.929 3.612-1.996-3.005-8.793-11.01-11.495-5.919-1.998-11.982-1.471-13.746-1.256a78 78 0 0 0 1.584-3.917c.021 0 .037-.041.057-.045 19.749-9.788 29.624 3.047 35.115-3.09 3.053-3.791-7.203-8.258-17.148-7.637-8.722.545-16.11 5.073-16.11 5.073h-.042a80 80 0 0 0 2.877-15.563c3.413-41.295-24.615-78.945-63.421-86.637a77 77 0 0 0-5.266-.852h-.096a73 73 0 0 0-8.454-.545"}),d.createElement("path",{fill:"#312F30",d:"M274.093 51.829c13.028 11.011 24.728 27.042 24.728 27.042l-.053-.004a151.1 151.1 0 0 0-48.064 2.497l-1.404-6.98c-2.443-11.597-8.044-23.516-4.945-27.807 2.411-3.338 5.775-4.191 5.775-4.191 6.712-2.61 15.611 2.384 23.963 9.443m56.285-5.08c23.524 20.145 36.707 57.159 36.707 57.159a9 9 0 0 0-.651-.322 151.1 151.1 0 0 0-44.706-20.411l-.189-.05a151 151 0 0 0-22.693-4.25h-.021l-2.036-5.34c-8.941-20.825-7.641-30.699-3.924-35.345 3.955-4.945 10.654-3.966 10.654-3.966 10.033.971 19.023 5.814 26.864 12.53z"}),d.createElement("path",{fill:"url(#open-sourceb)",d:"M381.096 258.257a31.07 31.07 0 0 0-27.802 17.882 31 31 0 0 0-2.534 8.29h-.017s-11.688 55.296-4.363 113.9h.017c.256 1.779 2.269 3.504 5.819 4.988s8.501 2.669 14.313 3.426c4.266.553 8.89.863 13.597.91s9.401-.168 13.8-.635a7.7 7.7 0 0 0 2.792 2.234 7.68 7.68 0 0 0 10.22-3.693 8 8 0 0 0 .411-1.079h.045a12 12 0 0 0 2.468 1.555 12.05 12.05 0 0 0 9.215.424 12.05 12.05 0 0 0 7.246-15.43 12.05 12.05 0 0 0-6.212-6.82h-.016a12 12 0 0 0-2.149-.76c3.936-52.74-5.841-99.001-5.841-99.001a31.06 31.06 0 0 0-17.467-23.223l-.033-.041a31.05 31.05 0 0 0-13.509-2.927"}),d.createElement("path",{fill:"url(#open-sourcec)",d:"M110.955 219.809c-.668 2.309-3.33 17.303-4.351 19.479-1.228 2.613-2.789 4.903-4.574 6.953l-3.706-20.92-20.816 2.602-19.467 14.359 4.155 17.982h.017-.042c12.7 42.367 53.238 57.997 87.987 74.301 30.251 14.165 82.592 24.818 115.996 24.773-1.573-.334-22.478-4.022-24.039-4.406a151.12 151.12 0 0 1-97.14-80.996c-17.848-8.583-32.546-32.757-34.02-54.138z"}),d.createElement("path",{fill:"#2B1C39",d:"M110.955 219.81c-.668 2.309-3.33 17.303-4.351 19.479-1.228 2.613-2.789 4.903-4.574 6.953l-3.706-20.921-20.816 2.603-5.72 4.219 3.98 17.223h-.025c12.7 42.367 53.237 57.998 87.987 74.301 10.216 4.784 22.954 9.165 36.629 12.871a151.1 151.1 0 0 1-55.386-62.601c-17.845-8.582-32.54-32.749-34.018-54.127"}),d.createElement("path",{fill:"url(#open-sourced)",d:"M74.818 241.136c3.46 2.457 3.18 11.813 4.792 18.032 1.584 6.114.296 14.81-8.059 6.999-3.099-2.897-6.43-10.135-5.938-16.542.491-6.407 5.745-10.938 9.205-8.489"}),d.createElement("path",{fill:"url(#open-sourcee)",d:"M64.67 174.017c-4.53.05-8.947.775-13.141 2.083-.085.041-.16.066-.245.095a46 46 0 0 0-6.446 2.615C10.847 194.275 4.87 225.3 4.87 225.3h.016a34.86 34.86 0 0 0-.078 18.659l-.043-.065c1.335 4.21.64 17.122-2.934 19.741h-.009A5 5 0 0 0 .47 265.37a4.975 4.975 0 0 0 1.906 6.351h.017c3.17 2.205 7.213 4.177 10.956 5.151 10.404 2.364 21.344.066 30.99-4.089 5.748-2.564 13.523-7.908 17.858-12.519h-.025a34.9 34.9 0 0 0 7.807-10.691s9.334-19.185 15.548-17.228c5.266 1.658 2.108 10.513 5.056 21.898h-.016c.049.173.105.334.155.507q.3 1.09.681 2.206c5.996 18.803 16.801 31.48 37.395 48.31 24.5 20.021 43.254 23.945 55.58 19.555a151 151 0 0 1-39.401-50.897c-17.842-8.58-32.535-32.739-34.018-54.114-.003-17.194-9.728-33.672-26.32-41.468l-.052-.042a45.8 45.8 0 0 0-19.914-4.32z"}),d.createElement("path",{fill:"url(#open-sourcef)",d:"M301.844 34.148c-2.244.04-6.261.642-8.98 4.042-3.717 4.645-5.017 14.52 3.924 35.344l2.036 5.341h.021l.323.041a151 151 0 0 0-10.596-.794q5.11.199 10.196.743h.051s-11.7-16.03-24.728-27.041c-8.352-7.059-17.25-12.054-23.962-9.444 0 0-3.365.853-5.775 4.19-3.1 4.292 2.501 16.212 4.944 27.808l1.402 6.964c-.013 0-2.135-2.352-5.588-5.303-5.771-4.93-13.235-11.816-22.727-12.06-2.908-.073-7.099 1.058-7.818 3.877-1.048 4.113 2.998 9.472 8.708 17.758.796 1.155 2.477 3.403 2.477 3.403a152 152 0 0 1 6.497-2.451 151.11 151.11 0 0 0-95.758 103.38 151.11 151.11 0 0 0 106.772 185.082 151.11 151.11 0 0 0 123.789-271.144h.033s-13.182-37.01-36.703-57.156c-7.841-6.715-16.831-11.557-26.864-12.528 0 0-.654-.095-1.674-.074zm-20.621 43.844q3.161-.019 6.319.094a151 151 0 0 0-10.524 0q2.102-.075 4.205-.094m-27.516 2.787a151 151 0 0 0-9.957 2.272q3.346-.886 6.733-1.618c.073-.041.147-.041.219-.066q1.5-.315 3.005-.6z"}),d.createElement("path",{fill:"#546E6F",d:"M72.725 240.46h-.055c1.512 4.335 1.686 11.191 2.98 16.189 1.188 4.583.896 10.496-2.36 10.982 6.79 5.07 7.787-2.804 6.32-8.465-1.612-6.219-1.332-15.576-4.792-18.033a3.6 3.6 0 0 0-2.093-.673"}),d.createElement("path",{d:"M86.84 218.999c-6.838.551-15.966 19.311-15.966 19.311a38.8 38.8 0 0 1-8.684 11.894h.024c-4.822 5.131-13.473 11.074-19.868 13.927-10.732 4.623-22.9 7.181-34.476 4.551-2.49-.648-5.096-1.698-7.545-2.958a4.97 4.97 0 0 0 2.053 5.997h.016c3.17 2.205 7.214 4.177 10.957 5.151 10.404 2.364 21.343.066 30.99-4.089 5.748-2.564 13.523-7.908 17.858-12.519h-.025a34.9 34.9 0 0 0 7.807-10.691s9.334-19.185 15.548-17.227c5.266 1.657 2.108 10.512 5.056 21.897h-.017c.05.173.106.334.156.507q.298 1.09.681 2.207c5.995 18.803 16.801 31.479 37.395 48.309 24.5 20.021 43.254 23.945 55.58 19.555-.478-.399-.946-.814-1.419-1.22-12.408-1.268-28.035-8.124-46.644-23.331-22.911-18.724-34.932-32.827-41.603-53.746a43 43 0 0 1-.758-2.455c-.055-.19-.12-.372-.175-.563h.017c-3.28-12.666.234-22.519-5.624-24.364a3.6 3.6 0 0 0-1.335-.143"}),d.createElement("path",{d:"M418.97 164.331a160.8 160.8 0 0 1-5.464 38.166 160.81 160.81 0 0 1-196.993 113.559 160.8 160.8 0 0 1-80.87-51.265 151.11 151.11 0 0 0 107.619 110.237 151.11 151.11 0 0 0 185.114-106.713 151.1 151.1 0 0 0-9.406-103.984"}),d.createElement("path",{fill:"url(#open-sourceg)",d:"M274.093 51.829c13.028 11.011 24.728 27.042 24.728 27.042l-.053-.004a151.1 151.1 0 0 0-48.064 2.497l-1.404-6.98c-2.443-11.597-8.044-23.516-4.945-27.807 2.411-3.338 5.775-4.191 5.775-4.191 6.712-2.61 15.611 2.384 23.963 9.443"}),d.createElement("path",{fill:"url(#open-sourceh)",d:"M330.378 46.749c23.524 20.145 36.707 57.159 36.707 57.159a9 9 0 0 0-.651-.322 151.1 151.1 0 0 0-44.706-20.411l-.189-.05a151 151 0 0 0-22.693-4.25h-.021l-2.036-5.34c-8.941-20.825-7.641-30.699-3.924-35.345 3.955-4.945 10.654-3.966 10.654-3.966 10.033.971 19.023 5.814 26.864 12.53z"}),d.createElement("path",{fill:"#3B2C4D",d:"M301.844 34.125v.04c-2.244.042-6.26.643-8.98 4.043-1.311 1.64-2.288 3.977-2.654 7.17a283 283 0 0 1 2.352 3.868c.066-5.672 1.386-10.56 5.14-12.701 6.18-3.755 19.024 5.813 26.865 12.528 23.52 20.146 36.703 57.155 36.703 57.155h-.033c53.435 36.109 78.066 102.151 61.325 164.432-12.327 45.853-44.479 81.072-84.746 98.933a151.12 151.12 0 0 0 90.562-101.26 151.11 151.11 0 0 0-61.325-164.432h.032s-13.182-37.01-36.703-57.156c-7.841-6.715-16.831-11.557-26.864-12.528 0 0-.654-.094-1.674-.074z"}),d.createElement("path",{fill:"#312F30",d:"M245.112 76.044c3.463 2.958 5.592 5.308 5.592 5.308-.074.04-.147.04-.22.066a151 151 0 0 0-24.728 7.61c-.002-.002.001-.003 0 0 0 0-1.684-2.248-2.48-3.403-5.711-8.286-9.757-13.647-8.708-17.76.718-2.819 4.911-3.951 7.818-3.876 9.493.243 16.958 7.13 22.728 12.061z"}),d.createElement("path",{fill:"url(#open-sourcei)",d:"m486.068 42.54-14.747 6.938c-2.266 5.52-4.337 11.131-6.304 16.805l-.17.454h.013a483 483 0 0 0-2.784 8.286c-9.667-1.933-19.277-1.82-28.517.338-4.239-7.899-8.663-15.675-13.361-23.272l13.579-8.89-14.748 6.939-33.038 21.628h-.008c2.041 10.242 4.365 19.986 6.913 29.741-7.093 8.38-13.116 18.437-17.869 29.84-2.503-.777-5.02-1.476-7.537-2.173l1.817-10.007-14.746 6.936-9.331 51.377.035.041c5.698 5.608 11.454 10.722 17.285 15.593.013 0 .025 0 .038.041-.341 15.033 1.003 30.394 3.984 45.508l-.045.05c-4.573 4.76-9.015 9.737-13.329 15.165l-.045.049 19.91 51.223h.018-.018l.121-.042c5.48-1.161 10.762-2.709 16.01-4.468l.113-.041h.004c7.703 13.472 16.772 25.255 26.818 34.841l-.002.149a385 385 0 0 0-.394 23.127l-.003.14 37.455 20.984 14.745-6.936-9.951-5.575c.75-2.092 1.507-4.18 2.223-6.288 11.724 2.911 23.415 2.837 34.529-.218 2.261 4.139 4.088 5.947 6.127 8.371l3.477 4.756 15.944-1.549-2.751-4.714 21.153-10.046c-1.545-7.749-3.297-15.327-5.167-22.824 8.13-9.847 14.806-21.909 19.737-35.654a247 247 0 0 0 10.833 2.803l-.016.041 5.88 1.278q-.001 0 0 0l14.747-6.936-12.927-3.193 7.437-41.423a279 279 0 0 0-16.055-14.499c-.145-15.472-2.045-31.171-5.63-46.481 4.671-4.872 9.271-9.926 13.667-15.506l-19.862-51.1c-6.416 1.344-12.625 3.212-18.849 5.434-7.223-11.462-15.453-21.529-24.416-29.865.528-9.646.815-19.406.739-29.39l-27.29-15.184zm-34.328 70.693c.961 0 1.933.054 2.926.174 16.748.779 33.63 9.913 47.8 25.861a99 99 0 0 1 3.888 4.632c14.324 18.108 24.246 42.294 27.881 67.958.181 1.232.359 2.467.44 3.571 3.197 27.593-1.106 54.356-11.991 74.578l-.254.7c-11.493 20.844-29.13 32.711-48.826 32.853a.5.5 0 0 0-.073-.186c-19.58 0-39.475-11.515-55.166-31.954l-.82-1.084c-14.743-19.763-24.378-45.973-26.884-73.129a116 116 0 0 1-.355-4.627c-1.521-25.182 3.22-49.031 13.374-67.26a80 80 0 0 1 3.194-5.218c5.192-7.8 11.382-14.097 18.318-18.634 7.291-4.798 15.308-7.549 23.677-8.126a42 42 0 0 1 2.871-.109"}),d.createElement("path",{fill:"url(#open-sourcej)",d:"M400.732 64.834c2.041 10.241 4.363 19.985 6.911 29.74-7.093 8.38-13.116 18.437-17.869 29.84-6.759-2.097-13.557-3.976-20.465-5.242l-9.329 51.376c5.72 5.632 11.498 10.764 17.352 15.653-.34 15.033 1.006 30.395 3.987 45.509-4.605 4.789-9.076 9.799-13.417 15.265l19.908 51.222c5.563-1.171 10.919-2.747 16.243-4.534 7.703 13.473 16.775 25.259 26.823 34.847a385 385 0 0 0-.4 23.416l37.453 20.984c2.578-6.164 4.859-12.449 7.016-18.8 11.724 2.911 23.416 2.837 34.531-.219a376 376 0 0 0 10.801 18.518l33.146-21.699c-1.544-7.749-3.296-15.328-5.165-22.825 8.129-9.848 14.806-21.909 19.738-35.654 5.591 1.589 11.123 3.023 16.697 4.121l9.255-51.553a279 279 0 0 0-16.054-14.5c-.144-15.472-2.046-31.17-5.632-46.481 4.672-4.871 9.272-9.926 13.669-15.505l-19.862-51.102c-6.416 1.344-12.627 3.214-18.85 5.436-7.224-11.462-15.454-21.529-24.416-29.866.528-9.646.815-19.405.739-29.39l-37.474-20.85c-3.423 8.34-6.427 16.868-9.247 25.545-9.667-1.933-19.276-1.819-28.515.338-4.598-8.567-9.376-17.017-14.529-25.22zm39.21 49.697c7.29-4.798 15.306-7.55 23.675-8.127 1.913-.132 3.811-.178 5.796.065 16.748.782 33.631 9.916 47.8 25.864a99 99 0 0 1 3.888 4.63c14.324 18.109 24.246 42.295 27.881 67.96.182 1.231.36 2.465.441 3.57 3.196 27.593-1.107 54.355-11.992 74.578l-.253.7c-5.688 10.315-12.946 18.544-21.337 24.19s-17.743 8.593-27.489 8.664a.6.6 0 0 0-.073-.186c-9.692.004-19.567-2.821-29.042-8.31-9.474-5.488-18.357-13.528-26.124-23.645l-.82-1.084c-14.743-19.763-24.377-45.971-26.883-73.127a116 116 0 0 1-.356-4.629c-1.521-25.182 3.221-49.03 13.374-67.259a81 81 0 0 1 3.193-5.218c5.193-7.8 11.384-14.1 18.321-18.636"}),d.createElement("path",{fill:"#92DAFB",d:"M486.068 42.54c-.443 1.08-.861 2.172-1.29 3.257l36.22 20.478c.076 9.984-2.32 24.422-2.848 34.068 8.962 8.337 17.192 18.404 24.416 29.865 6.223-2.222 12.433-4.092 18.849-5.436l22.924 45.494c.53-.652 1.066-1.287 1.591-1.953l-19.86-51.101a127 127 0 0 0-9.498 2.387 166 166 0 0 0-9.353 3.047 168 168 0 0 0-5.599-8.324c-3.855-5.372-7.943-10.374-12.232-14.964a133 133 0 0 0-6.58-6.572c.264-4.823.468-9.675.596-14.569s.18-9.83.143-14.821zm-52.291.663-33.044 21.632c.267 1.34.552 2.649.828 3.972l27.563-18.042c5.153 8.204 9.93 16.654 14.528 25.22 7.646-4.316 22.858-7.771 32.527-5.838l.643-2.06c-9.668-1.933-19.277-1.82-28.517.338a519 519 0 0 0-7.055-12.75c-.017-.04-.037-.062-.056-.09a359 359 0 0 0-7.417-12.382m-64.468 75.968-1.487 8.19 20.846-.474 1.106-2.473c-6.415-1.967-13.913-4.042-20.465-5.243m48.558 20.331q-.453.606-.899 1.226a81 81 0 0 0-3.194 5.218c-10.153 18.23-14.895 42.078-13.374 67.26.086 1.564.213 3.102.358 4.627 2.505 27.157 12.139 53.364 26.882 73.128l.819 1.083c15.691 20.439 35.586 31.964 55.167 31.957a.6.6 0 0 1 .072.185c19.696-.14 37.334-12.009 48.827-32.853l.064-.173h-.012a73 73 0 0 1-4.449 5.746h-.029a66 66 0 0 1-4.823 5.053 60 60 0 0 1-5.166 4.345h-.025a55 55 0 0 1-5.441 3.586c-.029 0-.061.041-.092.054a51 51 0 0 1-5.66 2.804h-.041q-1.428.6-2.882 1.103c-.045 0-.09.041-.136.046q-1.444.499-2.911.903h-.062a48 48 0 0 1-6.118 1.265h-.102q-1.534.212-3.084.325h-.029q-1.587.116-3.186.128a.7.7 0 0 0-.072-.186c-1.98 0-3.964-.148-5.946-.379-.271-.041-.542-.057-.813-.09a55 55 0 0 1-5.72-1.093q-.481-.118-.961-.243a59 59 0 0 1-5.671-1.804 35 35 0 0 1-.877-.346 65 65 0 0 1-5.767-2.576q-.215-.113-.43-.231a72 72 0 0 1-5.658-3.278l-.45-.28a80 80 0 0 1-5.507-3.952 66 66 0 0 1-.811-.63 89 89 0 0 1-6.023-5.288 99 99 0 0 1-4.944-5.077c-.236-.263-.47-.534-.703-.803a108 108 0 0 1-4.885-5.886l-.82-1.084a119 119 0 0 1-4.975-7.251c-.559-.877-1.073-1.801-1.614-2.698a130 130 0 0 1-2.973-5.126c-.568-1.048-1.096-2.127-1.64-3.196a139 139 0 0 1-2.457-5.03 144 144 0 0 1-1.557-3.559 146 146 0 0 1-2.078-5.119 150 150 0 0 1-1.355-3.685 153 153 0 0 1-1.778-5.381c-.383-1.23-.765-2.457-1.118-3.701a157 157 0 0 1-1.478-5.682c-.298-1.224-.612-2.439-.882-3.673a157 157 0 0 1-1.209-6.302c-.185-1.049-.403-2.087-.567-3.141-.499-3.188-.9-6.386-1.201-9.585a114 114 0 0 1-.357-4.627c-.539-9.054-.27-18.004.798-26.629.017-.128.021-.259.037-.383.359-2.819.802-5.599 1.329-8.331l.033-.206a123 123 0 0 1 1.791-7.815c.037-.144.066-.297.104-.443a113 113 0 0 1 2.336-7.645c.025-.07.044-.149.068-.219a103 103 0 0 1 2.831-7.257c.033-.071.056-.149.087-.219a93 93 0 0 1 3.399-6.993zm154.396 44.316c3.585 15.31.834 38.57.979 54.042a279 279 0 0 1 16.053 14.5l-7.777 43.32c1.057.23 2.115.464 3.175.672l9.255-51.554a285 285 0 0 0-7.95-7.462 273 273 0 0 0-8.103-7.036c-.15-14.765-2.344-31.835-5.632-46.482m-24.005 144.067-1.98 3.192 1.669 23.217 5.477-3.584c-1.471-7.384-3.395-15.674-5.166-22.825m-77.965 33.785a356 356 0 0 1-3.733 10.474l1.369.766a249 249 0 0 0 4.197-10.799h.004a87 87 0 0 1-1.837-.43z"}),d.createElement("path",{fill:"url(#open-sourcek)",d:"M499.941 125.351c19.93 2.489 38.363 13.104 51.243 29.51s19.154 37.261 17.442 57.978-11.27 39.601-26.572 52.498-35.095 18.751-55.027 16.275c-19.931-2.475-38.37-13.078-51.26-29.476s-19.177-37.249-17.478-57.967c1.699-20.719 11.245-39.609 26.539-52.516 15.294-12.908 35.083-18.776 55.016-16.314"}),d.createElement("path",{fill:"#E6F4F1",d:"M488.57 124.827c-11.508.383-35.797 12.978-45.794 18.623 11.47 27.062 18.633 40.909 15.695 66.642-1.106 9.403-8.33 13.109-10.899 14.14a22 22 0 0 0-.875.318h-.037a18.6 18.6 0 0 0-9.864 9.252s-17.11 33.173 15.015 61.456a9.5 9.5 0 0 0 2.245 1.475 9.47 9.47 0 0 0 6.048.673s.114-.041.155-.041h.037c.963-.223 9.165-2.266 15.98-9.141 4.658-4.697 13.14-5.845 18.381-6.098 1.409.041 2.817 0 4.223-.054h.323l-.037-.041c36.874-1.624 66.287-30.941 69.462-69.236 3.566-43.142-27.183-82.307-68.686-87.49h-.096a72.6 72.6 0 0 0-11.274-.51z"}),d.createElement("path",{fill:"#172834",d:"M476.313 254.342c-1.614 2.152-3.151 4.88-5.13 4.323s-2.69-3.324.307-7.513c2.998-4.189 7.235-2.484 7.552-1.499.475 1.474-1.048 2.607-2.729 4.689"}),d.createElement("path",{fill:"url(#open-sourcel)",d:"M491.39 124.791c-.94 0-1.881 0-2.82.041-11.508.383-35.797 12.978-45.794 18.623 6.766 15.963 12.011 27.334 14.59 39.252l.051.128-.016.041c1.763 8.234 2.265 16.74 1.069 27.222-.77 6.543-4.485 10.286-7.55 12.33 4.129-.851 8.465-.197 12.454 2.157h.025c2.682 1.59 5.071 3.87 7.015 6.691h.006a28 28 0 0 1 2.266 3.971c2.171 2.739 6.297 6.353 13.965 9.041 14.105 4.944 43.022 5.051 57.064-16.451 11.288-17.284 8.114-58.553 6.423-74.264-12.388-15.147-30.014-25.722-50.2-28.243h-.096a73 73 0 0 0-8.455-.547z"}),d.createElement("path",{fill:"#172834",d:"M509.723 203.153c1.33 1.104 2.357 3.096 2.856 5.538s.427 5.133-.197 7.483c-.625 2.35-1.752 4.165-3.134 5.047s-2.905.757-4.236-.345c-1.33-1.103-2.358-3.094-2.857-5.535s-.43-5.133.194-7.483c.623-2.351 1.75-4.167 3.131-5.051 1.382-.883 2.906-.761 4.236.34"}),d.createElement("path",{fill:"#C0DDD6",d:"M491.39 124.757c-.94 0-1.88 0-2.819.041v.041c-1.733.058-3.759.396-5.978.942a80.2 80.2 0 0 1 27.158 7.234l.094.041a80.2 80.2 0 0 1 38.486 106.674 80.2 80.2 0 0 1-48.024 42.249c36.338-2.172 65.18-31.273 68.323-69.173 3.565-43.141-27.183-82.307-68.687-87.489h-.098a73 73 0 0 0-8.454-.549z"}),d.createElement("path",{fill:"url(#open-sourcem)",d:"M532.492 239.357s12.959-24.964 1.85-42.774c-12.955-20.77-44.83-12.955-44.83-12.955l8.637-12.544 53.879-3.497 8.637 28.585-6.581 32.903z"}),d.createElement("path",{fill:"url(#open-sourcen)",d:"M545.969 213.25a37.4 37.4 0 0 0-33.46 21.52 37.39 37.39 0 0 0 8.162 43.01c12.077-4.447 22.749-12.102 30.987-22.229 8.239-10.126 13.767-22.382 16.053-35.589a37.4 37.4 0 0 0-5.439-3.164h-.045a37.4 37.4 0 0 0-16.259-3.527z"}),d.createElement("path",{fill:"url(#open-sourceo)",d:"m297.608 269.335-.002.041a33.52 33.52 0 0 0-29.999 19.296 33.5 33.5 0 0 0-2.734 8.946h-.017s-12.615 59.673-4.71 122.914h.016c.277 1.92 2.45 3.782 6.281 5.382 3.831 1.601 9.173 2.88 15.445 3.697 3.573.463 7.386.768 11.299.905a8.3 8.3 0 0 0 4.23 4.576 8.29 8.29 0 0 0 11.322-4.691 13 13 0 0 0 4.713 3.765 13.02 13.02 0 0 0 9.945.459 13.02 13.02 0 0 0 8.165-8.937 8.295 8.295 0 0 0 10.69-4.125 8.293 8.293 0 0 0-3.978-11.031h-.012a8.3 8.3 0 0 0-1.352-.49c5.409-59.191-5.84-112.419-5.84-112.419a33.52 33.52 0 0 0-18.848-25.061l-.037-.041a33.5 33.5 0 0 0-14.579-3.163z"}),d.createElement("path",{fill:"url(#open-sourcep)",d:"M171.675 276.028a29.3 29.3 0 0 0-15.535 4.654 29.3 29.3 0 0 0-10.678 12.206 29.3 29.3 0 0 0-2.39 7.815h-.012s-10.995 52.019-4.138 107.204l.023.173h.013c.241 1.678 2.139 3.305 5.486 4.703s8.015 2.516 13.494 3.23c1.748.226 3.564.409 5.426.547a7.24 7.24 0 0 0 3.783 4.242 7.24 7.24 0 0 0 9.636-3.479q.127-.27.232-.549h.074a11.4 11.4 0 0 0 4.068 3.224 11.37 11.37 0 0 0 15.414-6.146 7.244 7.244 0 0 0 10.135-7.099 7.25 7.25 0 0 0-1.123-3.43c5.729-53.454-4.666-102.636-4.666-102.636a29.29 29.29 0 0 0-16.47-21.894h-.033a29.3 29.3 0 0 0-12.739-2.765"}),d.createElement("path",{fill:"#172834",d:"M448.683 196.856c1.107.919 1.962 2.577 2.377 4.61s.356 4.273-.164 6.23c-.52 1.956-1.458 3.467-2.608 4.201s-2.419.631-3.527-.287c-1.107-.918-1.963-2.575-2.379-4.608s-.358-4.273.162-6.23c.519-1.957 1.457-3.469 2.607-4.204s2.419-.633 3.526.283"}),d.createElement("path",{fill:"url(#open-sourceq)",d:"M435.755 218.708s-9.252-17.821-1.321-30.535c9.249-14.828 32.004-9.25 32.004-9.25l-6.166-8.954-33.939 1.205-6.166 20.407.173 19.787z"}),d.createElement("path",{fill:"url(#open-sourcer)",d:"M418.744 190.315a83 83 0 0 0-.456 3.855c-1.292 15.812 2.06 31.822 9.615 45.915 5.026-4.457 8.534-9.956 10.113-15.853s1.165-11.949-1.194-17.449c-3.18-7.369-9.645-13.259-18.078-16.468"}),d.createElement("path",{fill:"url(#open-sources)",d:"M449.982 215.382c-.184 0-.365.062-.532.144a1.5 1.5 0 0 0-.629.601c-4.811 8.027-5.648 10.946-7.691 16.719-.77 2.181-.421 6.084 1.431 7.952 1.781 1.797 4.534 3.132 7.516 3.12.004 0 .012.002.016 0 .017-.001.037.003.049.001 2.982 0 5.726-1.365 7.496-3.176 1.839-1.881 2.162-5.786 1.377-7.962-2.081-5.758-2.937-8.671-7.801-16.662a1.5 1.5 0 0 0-.631-.597 1.5 1.5 0 0 0-.535-.136q-.024.002-.042-.002c-.008-.002-.02-.004-.024-.002"}),d.createElement("path",{fill:"#172834",d:"M432.514 249.785a51.3 51.3 0 0 0-.126 9.058c.455.391.962.598 1.553.525 1.928-.239 2.987-2.721.785-7.061-.621-1.225-1.402-2.023-2.212-2.522"}),d.createElement("path",{fill:"url(#open-sourcet)",d:"M84.444 277.34c4.067.652 9.206 7.349 13.281 12.07 4.006 4.641 6.621 12.763-4.007 9.554-3.942-1.19-9.951-6.059-12.276-11.847-2.326-5.788-1.063-10.422 3.002-9.777"}),d.createElement("path",{fill:"url(#open-sourceu)",d:"M110.731 304.967c4.086-.52 10.904 4.458 16.144 7.84 5.15 3.324 9.947 10.381-1.155 10.296-4.117-.041-11.254-3.011-15.116-7.909-3.861-4.899-3.955-9.701.127-10.227"}),d.createElement("path",{fill:"url(#open-sourcev)",d:"M545.969 213.251c-3.477.046-7.129.763-7.129.763-.516 15.124-1.676 25.994-4.713 37.372-3.896 8.295-9.27 17.555-16.784 22.802 0 0 1.18 1.544 3.329 3.592 24.561-9.045 42.39-30.958 47.04-57.817a37.4 37.4 0 0 0-5.439-3.164h-.045a37.4 37.4 0 0 0-16.259-3.527z"}),d.createElement("path",{fill:"url(#open-sourcew)",d:"M445.8 104.815a7.2 7.2 0 0 0-1.844.227h-.008a6.9 6.9 0 0 0-2.711 1.418 6.9 6.9 0 0 0-1.691 2.177c-8.948 14.735-7.696 39.268-7.106 46.46-7.871 10.996-12.946 24.366-14.151 39.067a82 82 0 0 0-.213 3.784c-1.504-1.46-3.752-3.316-6.493-4.578-5.872-2.705-11.932-2.163-11.653.607.233 3.78 9.07.103 18.107 8.203.025 1.554.081 3.1.192 4.636-1.781-.595-4.643-1.32-7.696-1.178-5.74.268-9.961 3.071-8.949 5.245 2.918 4.574 7.152-3.003 16.915-1.073a83.1 83.1 0 0 0 9.85 31.081c-2.593-12.033-.341-17.091 2.598-23.366h.004q.051-.085.096-.177a2.66 2.66 0 0 0-.426-2.902c-.029-.041-.048-.054-.075-.079-7.472-7.035-7.943-18.686-3.452-28.408a22.893 22.893 0 0 1 30.434-11.014h.025c3.676 2.134 7.421 5.1 10.869 6.766a33.7 33.7 0 0 0 14.637 3.185 34.7 34.7 0 0 0 7.481-.917 33.7 33.7 0 0 0 7.089-2.56c9.128-4.159 24.672-5.276 32.352-2.047h.037c16.823 7.906 24.055 27.949 16.155 44.775-3.468 5.712-7.888 10.89-13.024 14.022a2.507 2.507 0 0 0-.79 3.772c5.048 7.007 6.729 16.867 3.064 24.688a23.8 23.8 0 0 1-4.327 6.297c12.75-7.204 22.85-18.104 29.403-31.132 16.906-.301 20.503 11.873 26.549 8.929 3.612-1.996-3.004-8.793-11.01-11.495-5.918-1.998-11.982-1.472-13.746-1.257a77 77 0 0 0 1.584-3.916c.021 0 .037-.041.058-.045 19.748-9.788 29.624 3.047 35.114-3.09 3.053-3.79-7.203-8.258-17.147-7.637-8.723.546-16.11 5.073-16.11 5.073h-.043a80 80 0 0 0 2.877-15.563 82.4 82.4 0 0 0-2.413-27.695c15.211-29.933 5.552-60.425-.409-72.72a6.88 6.88 0 0 0-3.382-3.482h-.008a6.9 6.9 0 0 0-2.992-.649c-.928 0-1.847.21-2.696.586h.012c-16.3 5.565-28.158 18.064-32.322 23.955a75.1 75.1 0 0 0-24.477-7.473h-.096a73 73 0 0 0-8.455-.549l.003.041c-.94 0-1.881-.001-2.82.041a72 72 0 0 0-14.142 1.879c-8.173-11.755-16.267-16.923-25.645-21.147a6.9 6.9 0 0 0-2.983-.728z"}),d.createElement("path",{fill:"url(#open-sourcex)",d:"m420.352 190.974-.062 14.764 7.614 34.348a36 36 0 0 0 4.798-5.18c-5.357-12.99-1.436-36.321-1.421-36.413-2.977-3.121-6.691-5.676-10.929-7.519"}),d.createElement("path",{fill:"url(#open-sourcey)",d:"M445.801 104.815c-.618 0-1.238.067-1.845.227h-.008a6.9 6.9 0 0 0-2.711 1.418 6.9 6.9 0 0 0-1.691 2.177c-8.948 14.735-7.696 39.268-7.106 46.46-7.87 10.997-12.946 24.366-14.151 39.067a82 82 0 0 0-.213 3.784c-1.503-1.46-3.752-3.316-6.493-4.578-5.872-2.705-11.931-2.163-11.653.607.233 3.78 9.071.103 18.108 8.203.024 1.554.08 3.1.191 4.636-1.781-.595-4.643-1.32-7.696-1.178-5.74.268-9.96 3.071-8.948 5.245 2.917 4.574 7.152-3.003 16.915-1.073a83.1 83.1 0 0 0 9.849 31.081c-2.592-12.033-.34-17.091 2.598-23.366q.053-.085.1-.177a2.66 2.66 0 0 0-.426-2.902c-.029-.041-.048-.053-.075-.078-7.472-7.035-7.943-18.687-3.452-28.409a22.88 22.88 0 0 1 17.874-12.983c9.835-14.794 24.341-25.473 40.959-30.15 16.618-4.678 34.278-3.055 49.865 4.584l.084.041c13.905 6.849 25.393 18.12 32.828 32.208 11.559-28.12 2.699-55.73-2.901-67.282a6.88 6.88 0 0 0-3.382-3.481h-.012a6.9 6.9 0 0 0-2.992-.65c-.928 0-1.845.21-2.694.586h.012c-16.3 5.565-28.158 18.064-32.322 23.955a75.1 75.1 0 0 0-24.477-7.472h-.096a73 73 0 0 0-8.454-.55l.002.041c-.94 0-1.881.001-2.82.042-4.853.16-9.582.8-14.142 1.878-8.173-11.755-16.267-16.922-25.644-21.146a6.9 6.9 0 0 0-2.984-.729z"}),d.createElement("path",{fill:"url(#open-sourcez)",d:"M559.419 108.237c-.928 0-1.844.21-2.694.585h.013c-16.301 5.565-28.159 18.064-32.323 23.956 20.468 10.313 35.848 29.597 41.797 52.321 15.211-29.933 5.552-60.425-.409-72.72a6.88 6.88 0 0 0-3.381-3.482h-.009a6.9 6.9 0 0 0-2.992-.649z"}),d.createElement("path",{fill:"#3B2C4D",d:"M445.8 104.815a7.2 7.2 0 0 0-1.844.227h-.008a6.9 6.9 0 0 0-2.711 1.418 6.9 6.9 0 0 0-1.691 2.177c-5.86 9.65-7.336 23.479-7.498 33.911a77.3 77.3 0 0 1 39.084-20.209c-7.077-8.73-14.231-13.102-22.348-16.758a6.9 6.9 0 0 0-2.983-.728zm113.619 3.431c-.928 0-1.845.21-2.694.586h.013c-15.44 5.271-27.45 17.011-32.309 23.936 34.176 20.344 48.066 62.321 31.165 98.324a77.3 77.3 0 0 1-18.263 24.556c.269 3.778-.311 7.572-1.908 10.98a23.8 23.8 0 0 1-4.328 6.297c12.75-7.204 22.851-18.104 29.403-31.132 16.907-.301 20.503 11.873 26.55 8.929 3.612-1.996-3.005-8.793-11.01-11.495-5.919-1.998-11.982-1.471-13.747-1.256a79 79 0 0 0 1.585-3.916c.02 0 .037-.042.058-.046 19.748-9.788 29.624 3.047 35.114-3.09 3.053-3.79-7.202-8.258-17.147-7.636-8.723.545-16.11 5.072-16.11 5.072h-.043a80 80 0 0 0 2.877-15.563 82.4 82.4 0 0 0-2.413-27.694c15.211-29.934 5.553-60.425-.408-72.721a6.88 6.88 0 0 0-3.382-3.482h-.013a6.9 6.9 0 0 0-2.99-.649"}),d.createElement("path",{d:"M550.17 117.214a5.7 5.7 0 0 0-1.531.235h.013c-8.572 4.29-15.478 11.718-20.37 17.404 12.125 7.006 22.237 17.241 29.339 29.44 4.487-17.741 1.302-34.324-1.369-42.573a6.17 6.17 0 0 0-2.57-3.505h-.013a6.2 6.2 0 0 0-2.572-.945 6 6 0 0 0-.931-.054z"}),d.createElement("path",{fill:"url(#open-sourceA)",d:"M445.801 104.813c-.618 0-1.238.067-1.845.227h-.008a6.9 6.9 0 0 0-2.711 1.418 6.9 6.9 0 0 0-1.691 2.177c-8.947 14.736-7.696 39.269-7.106 46.461 5.583-7.799 12.569-14.406 20.589-19.439a70.9 70.9 0 0 1 21.4-8.959c-8.173-11.755-16.267-16.922-25.645-21.147a6.9 6.9 0 0 0-2.983-.728z"}),d.createElement("path",{fill:"url(#open-sourceB)",d:"M301.844 34.148c-2.244.041-6.26.642-8.98 4.042-3.716 4.646-5.016 14.52 3.925 35.345l2.036 5.34h.02q5.245.581 10.437 1.525l-.705-2.4c-8.331-24.562-5.962-35.71-1.305-40.677a11.4 11.4 0 0 1 2.453-1.984 39 39 0 0 0-6.208-1.114s-.653-.093-1.673-.077"}),d.createElement("path",{fill:"url(#open-sourceC)",d:"M254.119 41.683c-1.395 0-2.73.214-3.989.703 0 0-3.365.853-5.775 4.19-3.1 4.292 2.502 16.21 4.944 27.806l1.404 6.983q3.202-.68 6.431-1.222c-3.481-13.198-8.639-25.726-5.098-30.628 3.147-4.357 7.539-5.471 7.539-5.471q.926-.357 1.895-.572c-2.558-1.122-5.035-1.774-7.351-1.79"}),d.createElement("path",{fill:"url(#open-sourceD)",d:"M245.112 76.044c3.463 2.958 5.592 5.308 5.592 5.308-.074.04-.147.04-.22.066a151 151 0 0 0-24.728 7.61c-.002-.002.001-.003 0 0 0 0-1.684-2.248-2.48-3.403-5.711-8.286-9.757-13.647-8.708-17.76.718-2.819 4.911-3.951 7.818-3.876 9.493.243 16.958 7.13 22.728 12.061z"}),d.createElement("path",{fill:"url(#open-sourceE)",d:"M221.828 63.988c-2.859.074-6.586 1.233-7.26 3.875-1.048 4.113 2.998 9.475 8.708 17.76.796 1.156 2.477 3.404 2.477 3.404-.002 0 .001 0 0 0 1.657-.67 3.33-1.308 5.008-1.919-6.23-8.999-10.375-15.13-9.152-19.924.33-1.294 1.229-2.313 2.417-3.085a20 20 0 0 0-1.64-.112z"}),d.createElement("path",{d:"M297.606 269.358a33.53 33.53 0 0 0-29.999 19.296 33.5 33.5 0 0 0-2.734 8.946h-.017s-12.615 59.673-4.71 122.914h.016c.353 2.348 3.538 4.596 9.045 6.382-6.303-64.334 6.045-122.745 6.045-122.745h.017a36 36 0 0 1 2.93-9.588 35.94 35.94 0 0 1 32.146-20.675l.002-.041c1.65-.005 3.299.103 4.934.325a34 34 0 0 0-3.06-1.646l-.037-.041a33.5 33.5 0 0 0-14.579-3.163zm-125.931 6.671a29.29 29.29 0 0 0-26.213 16.859 29.3 29.3 0 0 0-2.389 7.815h-.013s-10.994 52.019-4.137 107.205l.022.173h.013c.301 1.982 2.913 3.884 7.445 5.42-3.346-56.875 6.936-105.586 6.936-105.586h.012a35 35 0 0 1 2.847-9.317 34.92 34.92 0 0 1 27.987-19.899 29.3 29.3 0 0 0-12.51-2.67"}),d.createElement("path",{d:"M260.018 419.471q.062.53.127 1.061h.017c.277 1.919 2.45 3.781 6.281 5.382s9.173 2.879 15.445 3.696c3.573.463 7.385.769 11.299.905a8.3 8.3 0 0 0 4.229 4.576 8.29 8.29 0 0 0 11.323-4.691 13 13 0 0 0 4.713 3.765 13.01 13.01 0 0 0 18.099-8.441 13.95 13.95 0 0 1-7.809 5.331 14.17 14.17 0 0 1-9.472-.832 13.9 13.9 0 0 1-5.047-3.963 8.83 8.83 0 0 1-5.339 5.244 9.03 9.03 0 0 1-6.789-.308 8.8 8.8 0 0 1-4.53-4.815 132 132 0 0 1-12.102-.951c-9.357-1.203-16.671-3.335-20.445-5.959m82.818.387a8.96 8.96 0 0 1-4.376 1.993 9.04 9.04 0 0 1-4.792-.549 13.5 13.5 0 0 1-.864 2.347 13.6 13.6 0 0 1-1.227 2.044 8.296 8.296 0 0 0 10.676-4.129 8.3 8.3 0 0 0 .583-1.706m-204.12-13.684q.1.866.206 1.733l.023.174h.012c.242 1.677 2.14 3.304 5.487 4.702s8.015 2.516 13.494 3.23c1.748.226 3.563.409 5.426.547a7.24 7.24 0 0 0 3.782 4.243 7.245 7.245 0 0 0 9.868-4.029h.075a11.4 11.4 0 0 0 4.067 3.224 11.37 11.37 0 0 0 15.12-5.46q.159-.339.294-.686a7.247 7.247 0 0 0 9.464-3.553 7.3 7.3 0 0 0 .532-1.605 7.8 7.8 0 0 1-3.851 1.698 7.9 7.9 0 0 1-4.188-.542q-.145.361-.313.712c-1.362 2.836-3.822 5.028-6.837 6.093a12.35 12.35 0 0 1-9.243-.416 12.05 12.05 0 0 1-4.328-3.352h-.078a7.64 7.64 0 0 1-4.606 4.454 7.87 7.87 0 0 1-5.891-.265 7.7 7.7 0 0 1-2.472-1.803 7.5 7.5 0 0 1-1.551-2.607 109 109 0 0 1-5.771-.569c-4.485-.574-8.472-1.398-11.698-2.418s-5.62-2.216-7.023-3.505"}),d.createElement("path",{fill:"#3B2C4D",d:"M193.888 340.682c-3.749.03-7.447.885-10.598 2.451s-5.606 3.767-7.034 6.31c-1.859 3.308-1.849 6.955.027 10.138s5.465 5.643 9.977 6.837c3.577.946 7.527 1.042 11.289.274 3.762-.767 7.146-2.359 9.67-4.55a384 384 0 0 0-.796-17.88c-1.739-1.228-3.822-2.177-6.123-2.79h-.024a24.4 24.4 0 0 0-6.389-.784zm133.635 1.497c-4.328-.032-8.576.888-12.239 2.651s-6.586 4.294-8.423 7.292c-2.54 4.147-2.824 8.896-.789 13.203 2.035 4.308 6.223 7.82 11.642 9.766 3.255 1.166 6.828 1.721 10.42 1.618s7.1-.86 10.232-2.21a436 436 0 0 0-1.25-30.602q-.105-.04-.211-.078h-.025c-2.93-1.051-6.121-1.607-9.357-1.631z"}),d.createElement("path",{d:"M444.823 104.875c-.291.042-.58.087-.867.165h-.008a6.9 6.9 0 0 0-2.711 1.418 6.9 6.9 0 0 0-1.691 2.177c-8.948 14.736-7.696 39.268-7.106 46.46a73.6 73.6 0 0 1 15.339-15.807c-2.968-9.883-5.605-23.044-3.092-33.717q.05-.352.136-.696m124.079 100.709a84.9 84.9 0 0 1-5.347 29.297c.107-.276.218-.549.321-.826.021 0 .037-.041.058-.046 19.748-9.788 29.624 3.048 35.114-3.09 3.053-3.79-7.202-8.257-17.147-7.636-8.723.545-16.11 5.072-16.11 5.072h-.043a80 80 0 0 0 2.877-15.562c.2-2.418.289-4.821.277-7.209m-3.045 32.163c-1.611 0-2.855.141-3.525.219a84 84 0 0 1-1.475 3.345l-.25.482c16.811-.248 20.408 11.866 26.441 8.929 3.612-1.997-3.005-8.793-11.01-11.495-3.699-1.249-7.454-1.511-10.181-1.48"}),d.createElement("path",{fill:"url(#open-sourceF)",d:"m64.673 173.979-.002.041c-4.53.05-8.945.775-13.138 2.083-.085.041-.164.066-.249.094a46 46 0 0 0-6.446 2.616c-16.894 7.687-26.866 19.216-32.625 28.87.782 5.972 4.443 10.606 10.326 13.065 5.882 2.46 13.599 2.584 21.76.351 9.085-2.488 18.015-7.703 24.827-14.497s10.949-14.611 11.5-21.733c.24-3.154-.231-6.089-1.391-8.67a45.8 45.8 0 0 0-14.562-2.22"}),d.createElement("path",{d:"M5.162 254.102c-.343 3.283-1.079 6.465-2.266 8.327 11.073 2.737 14.42 2.32 26.68-2.042 0 0-18.398 1.007-24.414-6.285"}),d.createElement("path",{fill:"#546E6F",d:"M83.715 277.28c-2.285 0-3.489 1.903-3.428 4.747.746-1.283 2.024-1.89 3.752-1.509 4.091.908 8.904 8.02 12.756 13.06 1.323 1.731 2.449 3.882 2.9 5.784 3.121-1.359.945-6.576-1.97-9.952-4.074-4.72-9.214-11.417-13.281-12.07a4.6 4.6 0 0 0-.729-.06m27.608 27.648c-.203.002-.4.001-.592.042-2.209.284-3.195 1.822-3.022 3.95.425-.946 1.289-1.58 2.607-1.75 3.918-.499 10.455 4.274 15.48 7.517 3.011 1.944 5.897 5.219 5.277 7.46 3.504-2.03-.242-6.785-4.198-9.338-4.994-3.224-11.422-7.9-15.552-7.881"}),d.createElement("path",{fill:"url(#open-sourceG)",d:"M210.042 118.027c46.388-23.98 8.637 35.371-21.387 57.991-30.024 22.622-28.379 62.928-34.548 49.766-14.983-42.106 31.329-96.148 55.935-107.757"}),d.createElement("path",{fill:"#DFC384",d:"M450.315 215.427c3.33 9.417 3.662 12.995 4.681 19.854.368 2.488-.691 6.451-2.864 8.436 2.19-.443 4.138-1.575 5.505-2.973 1.839-1.882 2.162-5.788 1.377-7.963-2.081-5.759-2.936-8.671-7.8-16.662a1.5 1.5 0 0 0-.63-.598 1.6 1.6 0 0 0-.269-.094"}),d.createElement("path",{fill:"url(#open-sourceH)",d:"M449.868 215.393c-.145 0-.285.066-.417.132a1.5 1.5 0 0 0-.631.603c-4.81 8.027-5.647 10.945-7.69 16.719-.77 2.181-.42 6.084 1.431 7.952.913.92 2.079 1.718 3.401 2.276a11 11 0 0 1-.852-.687c-2.209-1.973-2.866-6.337-2.148-8.84 1.821-6.346 2.582-9.68 6.906-18.155"}),d.createElement("path",{fill:"url(#open-sourceI)",d:"m385.983 71.766 14.749-6.932 6.911 29.74-14.747 6.933z"}),d.createElement("path",{fill:"url(#open-sourceJ)",d:"m385.991 71.766 14.741-6.932L433.777 43.2l-14.748 6.938z"}),d.createElement("path",{fill:"url(#open-sourceK)",d:"m345.23 177.48 14.75-6.932 17.352 15.653-14.744 6.954z"}),d.createElement("path",{fill:"url(#open-sourceL)",d:"m354.561 126.103 14.748-6.931-9.329 51.376-14.715 6.973z"}),d.createElement("path",{fill:"url(#open-sourceM)",d:"m373.184 305.109 14.626-6.911-19.908-51.222-14.749 6.952z"}),d.createElement("path",{fill:"url(#open-sourceN)",d:"m373.184 305.108 14.626-6.91 16.243-4.535-14.859 6.977z"}),d.createElement("path",{fill:"url(#open-sourceO)",d:"m416.128 335.515 14.748-7.005-.4 23.416-14.743 6.93z"}))),o||(o=d.createElement("defs",null,d.createElement("linearGradient",{id:"open-sourceb",x1:384.327,x2:384.327,y1:423.166,y2:329.804,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#211928"}),d.createElement("stop",{offset:1})),d.createElement("linearGradient",{id:"open-sourcec",x1:98.257,x2:61.903,y1:301.599,y2:245.76,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#3B2C4D"}),d.createElement("stop",{offset:1,stopColor:"#2B1C39"})),d.createElement("linearGradient",{id:"open-sourced",x1:78.401,x2:71.01,y1:271.726,y2:246.734,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#9AC6C9"}),d.createElement("stop",{offset:1,stopColor:"#546E6F"})),d.createElement("linearGradient",{id:"open-sourcee",x1:58.995,x2:19.443,y1:201.264,y2:369.942,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#211928"}),d.createElement("stop",{offset:1})),d.createElement("linearGradient",{id:"open-sourcef",x1:198.591,x2:499.885,y1:114.016,y2:622.378,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#211928"}),d.createElement("stop",{offset:1})),d.createElement("linearGradient",{id:"open-sourceg",x1:270.039,x2:270.088,y1:80.169,y2:51.765,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#211928"}),d.createElement("stop",{offset:1,stopColor:"#2C2533"})),d.createElement("linearGradient",{id:"open-sourceh",x1:328.59,x2:340.804,y1:80.572,y2:52.071,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#211928"}),d.createElement("stop",{offset:1,stopColor:"#2C2533"})),d.createElement("linearGradient",{id:"open-sourcei",x1:329.214,x2:446.02,y1:19.281,y2:364.763,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#374955"}),d.createElement("stop",{offset:1,stopColor:"#132B3A"})),d.createElement("linearGradient",{id:"open-sourcej",x1:418.875,x2:515.939,y1:71.926,y2:464.295,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#39AEE4"}),d.createElement("stop",{offset:1,stopColor:"#324F9D"})),d.createElement("linearGradient",{id:"open-sourcek",x1:442.123,x2:451.234,y1:210.439,y2:230.784,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#E6F4F1"}),d.createElement("stop",{offset:1,stopColor:"#C3DFD8"})),d.createElement("linearGradient",{id:"open-sourcel",x1:479.735,x2:451.887,y1:229.169,y2:242.756,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#E6F4F1"}),d.createElement("stop",{offset:1,stopColor:"#C3DFD8"})),d.createElement("linearGradient",{id:"open-sourcem",x1:544.657,x2:548.728,y1:184.941,y2:230.892,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#C0DDD6"}),d.createElement("stop",{offset:1,stopColor:"#C0DDD6",stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourcen",x1:518.498,x2:574.918,y1:235.581,y2:278.041,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#ECCFF7"}),d.createElement("stop",{offset:1,stopColor:"#A141C5"})),d.createElement("linearGradient",{id:"open-sourceo",x1:202.95,x2:336.442,y1:348.5,y2:371.978,gradientUnits:"userSpaceOnUse"},d.createElement("stop",null),d.createElement("stop",{offset:.598,stopColor:"#211928"}),d.createElement("stop",{offset:1,stopColor:"#2C2533"})),d.createElement("linearGradient",{id:"open-sourcep",x1:90.942,x2:199.512,y1:328.976,y2:359.716,gradientUnits:"userSpaceOnUse"},d.createElement("stop",null),d.createElement("stop",{offset:.622,stopColor:"#211928"}),d.createElement("stop",{offset:1,stopColor:"#2C2533"})),d.createElement("linearGradient",{id:"open-sourceq",x1:441.123,x2:427.6,y1:168.946,y2:202.536,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#C0DDD6"}),d.createElement("stop",{offset:1,stopColor:"#C0DDD6",stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourcer",x1:439.685,x2:392.862,y1:207.08,y2:223.949,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#ECCFF7"}),d.createElement("stop",{offset:1,stopColor:"#A141C5"})),d.createElement("linearGradient",{id:"open-sources",x1:444.992,x2:460.826,y1:233.665,y2:231.609,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#EEE8A9"}),d.createElement("stop",{offset:1,stopColor:"#DEC283"})),d.createElement("linearGradient",{id:"open-sourcet",x1:87.274,x2:98.996,y1:293.405,y2:281.477,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#9AC6C9"}),d.createElement("stop",{offset:1,stopColor:"#546E6F"})),d.createElement("linearGradient",{id:"open-sourceu",x1:116.578,x2:121.925,y1:316.026,y2:299.368,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#9AC6C9"}),d.createElement("stop",{offset:1,stopColor:"#546E6F"})),d.createElement("linearGradient",{id:"open-sourcev",x1:553.382,x2:535.932,y1:257.211,y2:218.677,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#C489DC"}),d.createElement("stop",{offset:1,stopColor:"#C489DC",stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourcew",x1:563.867,x2:390.306,y1:147.752,y2:212.579,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#2C2533"}),d.createElement("stop",{offset:.457,stopColor:"#211928"}),d.createElement("stop",{offset:1})),d.createElement("linearGradient",{id:"open-sourcex",x1:424.11,x2:432.253,y1:219.985,y2:198.465,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#C489DC"}),d.createElement("stop",{offset:1,stopColor:"#C489DC",stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourcey",x1:449.557,x2:554.836,y1:153.241,y2:169.527,gradientUnits:"userSpaceOnUse"},d.createElement("stop",null),d.createElement("stop",{offset:1,stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourcez",x1:584.83,x2:519.024,y1:140.828,y2:129.312,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#2C2533"}),d.createElement("stop",{offset:.517,stopColor:"#211928"}),d.createElement("stop",{offset:1})),d.createElement("linearGradient",{id:"open-sourceA",x1:463.241,x2:419.618,y1:120.415,y2:143.099,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#211928"}),d.createElement("stop",{offset:1})),d.createElement("linearGradient",{id:"open-sourceB",x1:287.277,x2:307.926,y1:25.569,y2:79.808,gradientUnits:"userSpaceOnUse"},d.createElement("stop",null),d.createElement("stop",{offset:1,stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourceC",x1:241.181,x2:256.013,y1:28.914,y2:74.864,gradientUnits:"userSpaceOnUse"},d.createElement("stop",null),d.createElement("stop",{offset:1,stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourceD",x1:232.904,x2:232.995,y1:85.906,y2:66.993,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#211928"}),d.createElement("stop",{offset:1,stopColor:"#2C2533"})),d.createElement("linearGradient",{id:"open-sourceE",x1:199.448,x2:235.074,y1:38.802,y2:93.768,gradientUnits:"userSpaceOnUse"},d.createElement("stop",null),d.createElement("stop",{offset:1,stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourceF",x1:74.824,x2:17.243,y1:186.056,y2:229.652,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#3B2C4D"}),d.createElement("stop",{offset:1,stopColor:"#3B2C4D",stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourceG",x1:195.376,x2:149.426,y1:146.262,y2:230.019,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#3B2C4D"}),d.createElement("stop",{offset:1,stopColor:"#3B2C4D",stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourceH",x1:445.908,x2:441.796,y1:220.193,y2:247.132,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#FBFAEF"}),d.createElement("stop",{offset:1,stopColor:"#FBFAEF",stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourceI",x1:394.093,x2:399.646,y1:73.402,y2:92.322,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#374955"}),d.createElement("stop",{offset:1,stopColor:"#172834"})),d.createElement("linearGradient",{id:"open-sourceJ",x1:398,x2:422.883,y1:65.382,y2:48.931,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#172834",stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourceK",x1:347.001,x2:363.658,y1:169.849,y2:188.461,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#374955"}),d.createElement("stop",{offset:1,stopColor:"#132B3A"})),d.createElement("linearGradient",{id:"open-sourceL",x1:361.91,x2:356.255,y1:118.542,y2:161.007,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#374955"}),d.createElement("stop",{offset:1,stopColor:"#132B3A"})),d.createElement("linearGradient",{id:"open-sourceM",x1:352.728,x2:373.231,y1:231.217,y2:283.565,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#374955"}),d.createElement("stop",{offset:1,stopColor:"#132B3A"})),d.createElement("linearGradient",{id:"open-sourceN",x1:391.279,x2:414.041,y1:299.661,y2:298.891,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#172834"}),d.createElement("stop",{offset:1,stopColor:"#172834",stopOpacity:0})),d.createElement("linearGradient",{id:"open-sourceO",x1:420.563,x2:427.252,y1:331.405,y2:351.182,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#374955"}),d.createElement("stop",{offset:1,stopColor:"#132B3A"})),d.createElement("clipPath",{id:"open-sourcea"},d.createElement("path",{fill:"#fff",d:"M0 0h599.596v470H0z"})))))};function y(){return(y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var l in a)({}).hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e}).apply(null,arguments)}let g=e=>{let{title:t,titleId:a,...l}=e;return d.createElement("svg",y({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 452 502","aria-labelledby":a},l),t?d.createElement("title",{id:a},t):null,s||(s=d.createElement("g",{clipPath:"url(#mascota)"},d.createElement("path",{fill:"url(#mascotb)",d:"M253.381 3.276a20.61 20.61 0 0 1 6.145 28.535 20.726 20.726 0 0 1-28.599 6.18 20.61 20.61 0 0 1-6.164-28.53 20.727 20.727 0 0 1 28.595-6.2"}),d.createElement("path",{fill:"#636E89",d:"M244.694.141a20.74 20.74 0 0 0-13.584 3.047 20.7 20.7 0 0 1 11.383 3.266l.024.014a20.61 20.61 0 0 1 6.144 28.534 20.7 20.7 0 0 1-6.35 6.262 20.74 20.74 0 0 0 9.793-2.563 20.7 20.7 0 0 0 7.409-6.89 20.61 20.61 0 0 0-6.144-28.533l-.024-.015a20.7 20.7 0 0 0-8.651-3.122"}),d.createElement("path",{fill:"#636E89",d:"M253.373 27.076a6.94 6.94 0 0 0-6.671 3.119 6.9 6.9 0 0 0-1.062 2.99 6.9 6.9 0 0 0 .389 3.148c.007.014.01.029.02.043q.223.597.552 1.144c.477.977.93 1.937 1.369 2.89a20.72 20.72 0 0 0 11.565-8.612q.399-.618.753-1.263a280 280 0 0 0-4.008-2.408l-.008-.007a6.9 6.9 0 0 0-2.896-1.045z"}),d.createElement("path",{fill:"url(#mascotc)",d:"M253.549 29.08a6.36 6.36 0 0 0-6.115 2.857 6.33 6.33 0 0 0-.617 5.627c.007.012.009.025.016.038q.205.548.507 1.05c30.512 62.543-23.964 72.223-63.969 104.239l.044.02a123.8 123.8 0 0 0-32.727 34.008c-17.782 27.533-23.889 60.972-16.978 92.965a123.24 123.24 0 0 0 53.833 77.637c27.557 17.718 61.052 23.779 93.119 16.848 32.067-6.93 60.08-26.284 77.879-53.805a123.36 123.36 0 0 0 18.937-81.521l.008.003c-4.395-58.761-33.041-147.092-121.274-199.007l-.008-.004a6.34 6.34 0 0 0-2.655-.956"}),d.createElement("path",{fill:"url(#mascotd)",d:"M310.087 72.979c14.701 34.169 21.676 67.893 23.821 95.792l-.008-.003c3.951 32.667-3.744 65.659-21.76 93.292-15.949 24.416-39.135 43.364-66.394 54.259-27.258 10.896-57.263 13.207-85.922 6.62a123.4 123.4 0 0 0 27.732 24.583c27.556 17.718 61.049 23.779 93.114 16.849s60.077-26.282 77.876-53.802a123.37 123.37 0 0 0 18.936-81.519l.008.002c-3.336-44.608-20.657-106.252-67.403-156.073"}),d.createElement("path",{fill:"url(#mascote)",d:"M209.817 122.219c-2.978-.465-5.158.842-5.158.842-12.339 5.486-11.118 48.933-11.118 48.933 3.449-4.319 8.08-9.211 13.304-14.441 5.35-5.64 10.703-10.999 16.032-15.7l-.549-2.501c-3.532-13.006-8.681-16.535-12.511-17.133"}),d.createElement("path",{fill:"url(#mascotf)",d:"M324.962 90.385c25.02 39.935 35.422 82.71 37.9 115.824l-.008-.004a119.9 119.9 0 0 1-18.404 79.226c-17.3 26.746-44.525 45.554-75.691 52.289-31.165 6.735-63.718.845-90.5-16.375a119.8 119.8 0 0 1-44.466-51.625 123.2 123.2 0 0 0 19.116 44.247 123.4 123.4 0 0 0 34.646 33.546c27.56 17.719 61.057 23.78 93.127 16.85s60.085-26.285 77.886-53.807a123.37 123.37 0 0 0 18.938-81.526l.008.003c-2.956-39.53-16.889-92.443-52.552-138.648"}),d.createElement("path",{fill:"url(#mascotg)",d:"M176.948 147.829c-4.579-.724-7.725 3.103-7.725 3.103-19.833 21.858-.502 67.199-.502 67.199 2.687-7.832 5.522-14.397 8.423-20.129 3.963-8.028 9.336-17.217 16.379-26.036l-1.294-3.112c-5.412-15.652-10.979-20.346-15.281-21.025"}),d.createElement("path",{fill:"url(#mascoth)",d:"M237.851 103.451c-1.657-.274-2.811.347-2.811.347-9.583 4.26-12.159 38.081-12.159 38.081 7.602-7.307 16.343-16.246 23.856-24.801l-.426-1.942c-2.539-8.969-6.037-11.284-8.46-11.685"}),d.createElement("path",{fill:"url(#mascoti)",d:"M279.009 325.655c-6.056-.738-12.224.402-17.794 3.292-5.569 2.889-10.315 7.409-13.692 13.04a38 38 0 0 0-4.53 11.561l-.016-.002-25.584 114.434 83.794 11.213 5.773-116.377q.076-.997.099-1.995l.003-.104c.13-5.966-1.133-11.834-3.668-17.055-2.535-5.222-6.262-9.626-10.832-12.803l-.035-.024c-4.067-2.819-8.689-4.589-13.522-5.179z"}),d.createElement("path",{fill:"url(#mascotj)",d:"M280.564 450.742c9.634 4.489 16.635 11.199 19.465 18.654s1.255 15.046-4.376 21.102-14.861 10.082-25.656 11.193-22.273-.785-31.91-5.269c-9.638-4.485-16.645-11.193-19.481-18.647-2.837-7.455-1.27-15.047 4.355-21.106 5.626-6.059 14.85-10.09 25.644-11.205s22.273.775 31.914 5.256"}),d.createElement("path",{fill:"url(#mascotk)",d:"M418.99 169.22c-3.109-.43-6.104.064-8.802 1.452l-.002-.003-59.125 28.477a28 28 0 0 0-4.564 2.197l-.159.077.007.015c-3.123 1.891-5.805 4.363-7.866 7.25s-3.456 6.122-4.088 9.488l-.006.031c-1.159 6.256.382 12.567 4.284 17.544 3.903 4.977 9.847 8.214 16.525 8.998 1.837.215 3.704.241 5.566.077l.026-.003a28 28 0 0 0 2.233-.288l65.1-8.436c4.847-.333 9.126-3.031 12.189-7.68 3.063-4.65 4.745-11 4.789-18.091.055-8.651-2.33-17.763-6.629-25.33-4.299-7.568-10.16-12.972-16.296-15.024l-.029-.01a17.7 17.7 0 0 0-3.153-.741"}),d.createElement("path",{fill:"#E6F4F1",d:"M93.862 299.927c5.223 2.582 9.092 6.842 10.756 11.844s.985 10.336-1.886 14.83-7.698 7.778-13.422 9.132c-5.724 1.353-11.875.665-17.1-1.914s-9.097-6.837-10.764-11.838-.993-10.336 1.874-14.831 7.693-7.783 13.416-9.14 11.875-.672 17.102 1.905"}),d.createElement("path",{fill:"url(#mascotl)",d:"m15.52 282.068 73.467 16.043-2.145 38.065-75.786 5.496z"}),d.createElement("path",{fill:"url(#mascotm)",d:"M20.018 285.21c2.76 3.578 4.639 9.812 5.222 17.331.583 7.518-.177 15.706-2.113 22.763-1.935 7.056-4.887 12.403-8.208 14.865-3.32 2.462-6.737 1.838-9.498-1.736S.78 328.629.195 321.112c-.586-7.516.172-15.704 2.105-22.763 1.934-7.058 4.885-12.409 8.205-14.876s6.737-1.848 9.5 1.721"}),d.createElement("path",{fill:"url(#mascotn)",d:"M269.611 435.964a11.624 11.624 0 0 1 3.467 16.097 11.69 11.69 0 0 1-16.133 3.486 11.624 11.624 0 0 1-3.477-16.094 11.69 11.69 0 0 1 16.131-3.497"}),d.createElement("path",{fill:"url(#mascoto)",d:"M447.819 215.786a9.04 9.04 0 0 1 2.696 12.52 9.097 9.097 0 0 1-12.548 2.711 9.04 9.04 0 0 1-2.704-12.518 9.093 9.093 0 0 1 12.546-2.72"}),d.createElement("path",{fill:"url(#mascotp)",d:"M291.418 446.641c2.026 1.272 3.452 3.27 3.967 5.554a8.56 8.56 0 0 1-1.224 6.624c-1.298 1.958-3.347 3.331-5.697 3.816a9.33 9.33 0 0 1-6.834-1.227c-2.026-1.271-3.454-3.268-3.97-5.552a8.56 8.56 0 0 1 1.219-6.625c1.296-1.959 3.345-3.333 5.694-3.82a9.34 9.34 0 0 1 6.836 1.223"}),d.createElement("path",{fill:"url(#mascotq)",d:"M235.931 439.023c-2.292.695-4.2 2.247-5.304 4.314a8.56 8.56 0 0 0-.586 6.71c.73 2.229 2.34 4.091 4.477 5.177a9.34 9.34 0 0 0 6.918.613c2.292-.694 4.202-2.244 5.308-4.311a8.55 8.55 0 0 0 .589-6.709c-.728-2.23-2.337-4.093-4.473-5.18a9.34 9.34 0 0 0-6.917-.617"}),d.createElement("path",{fill:"url(#mascotr)",d:"M448.377 197.903a6.77 6.77 0 0 1 2.019 9.373 6.8 6.8 0 0 1-4.279 2.956 6.8 6.8 0 0 1-5.116-.925 6.77 6.77 0 0 1-2.025-9.373 6.81 6.81 0 0 1 9.394-2.036"}),d.createElement("path",{fill:"url(#mascots)",d:"M10.128 282.55a6.4 6.4 0 0 1 2.842 4.009 6.22 6.22 0 0 1-.883 4.784 6.47 6.47 0 0 1-4.089 2.759 6.65 6.65 0 0 1-4.902-.882 6.4 6.4 0 0 1-2.844-4.006 6.22 6.22 0 0 1 .879-4.785 6.47 6.47 0 0 1 4.087-2.762 6.65 6.65 0 0 1 4.903.879"}),d.createElement("path",{fill:"#636E89",d:"M7.401 281.598a6.7 6.7 0 0 0-1.172-.035 8.64 8.64 0 0 1 1.51 4.788 8.57 8.57 0 0 1-1.418 4.803 8.8 8.8 0 0 1-2.489 2.482 6.65 6.65 0 0 0 4.575.387 6.46 6.46 0 0 0 3.685-2.659 6.22 6.22 0 0 0 .882-4.783 6.4 6.4 0 0 0-2.84-4.008l-.009-.004a6.6 6.6 0 0 0-2.724-.971"}),d.createElement("path",{fill:"url(#mascott)",d:"M20.397 274.47a9.045 9.045 0 0 1 2.696 12.52 9.1 9.1 0 0 1-5.715 3.948 9.1 9.1 0 0 1-6.833-1.236 9.04 9.04 0 0 1-2.704-12.518 9.095 9.095 0 0 1 12.546-2.72"}),d.createElement("path",{fill:"url(#mascotu)",d:"M27.585 288.347a6.77 6.77 0 0 1 2.018 9.373 6.8 6.8 0 0 1-4.278 2.956 6.8 6.8 0 0 1-5.116-.925 6.773 6.773 0 0 1-2.025-9.373 6.806 6.806 0 0 1 9.393-2.036"}),d.createElement("path",{fill:"#BEDBD4",d:"M272.079 325.66c-4.926.538-9.701 2.29-13.963 5.121s-7.899 6.668-10.632 11.217a38 38 0 0 0-4.527 11.559l-.017-.002-19.592 87.67c11.574-7.391 24.966-11.511 39.061-9.141l12.927-92.489q.075-.996.099-1.994l.002-.103c.118-5.393-1.127-8.966-3.358-11.838"}),d.createElement("path",{fill:"url(#mascotv)",d:"m141.038 195.531-12.762 6.5 8.897 4.605c-.601 1.855-1.21 3.705-1.781 5.573-10.377-2.217-20.643-1.817-30.32 1.179a329 329 0 0 0-9.994-15.922l-12.762 6.5 1.061 1.693-16.815 11.773c1.57 6.748 3.315 13.339 5.163 19.858-6.87 8.863-12.403 19.626-16.356 31.814-3.21-.799-6.396-1.53-9.582-2.173l.003-.011-.541-.1a137 137 0 0 0-4.658-.852l-12.76 6.502 11.44 2.428-5.393 36.52a245 245 0 0 0 14.497 12.251c.551 13.557 2.653 27.262 6.223 40.579-3.97 4.404-7.872 8.966-11.58 13.982l18.846 44.222c5.598-1.361 11-3.177 16.406-5.303 6.659 9.84 14.164 18.429 22.264 25.48-.199 8.47-.184 17.032.156 25.781l24.383 12.528-3.661 11.179 12.762-6.502c1.719-4.583 3.264-9.244 4.745-13.938l.468-1.373-.046-.004c.759-2.44 1.534-4.872 2.252-7.339 8.544 1.419 16.979 1.045 25.035-1.109 3.938 6.8 8.038 13.488 12.372 20.012l-11.682 8.18 12.763-6.503 28.428-19.904c-2.073-8.918-4.379-17.393-6.885-25.87 5.999-7.548 11.012-16.536 14.874-26.667 2.218.609 4.446 1.149 6.675 1.687l-1.32 8.826 12.762-6.502 6.783-45.297c-5.178-4.774-10.393-9.108-15.669-13.226-.114-13.186-1.717-26.611-4.75-39.774 3.912-4.329 7.701-8.849 11.364-13.764l-18.891-44.327c-4.853 1.187-9.513 2.721-14.139 4.439-7.136-11.589-15.427-21.66-24.515-29.777l-.292-20.535zm-10.627 50.254c15.44 1.459 30.921 10.775 43.632 26.257l.749.926c13.49 16.901 22.67 39.596 25.616 63.327.17 1.333.322 2.678.44 4.046 2.028 22.029-1.483 43.067-9.899 59.337a71 71 0 0 1-2.662 4.664c-4.346 6.985-9.611 12.681-15.578 16.855-6.271 4.414-13.235 7.055-20.57 7.801-1.676.172-3.342.267-5.092.109-14.731-.206-29.809-7.731-42.692-21.305a87 87 0 0 1-3.54-3.946c-13.077-15.463-22.456-36.381-26.353-58.771-.194-1.074-.384-2.149-.485-3.115-3.565-24.095-.52-47.675 8.484-65.711l.204-.621c9.522-18.597 24.686-29.503 41.979-30.191a.5.5 0 0 0 .069.161 45 45 0 0 1 5.698.177"}),d.createElement("path",{fill:"#636E89",d:"M26.026 287.606a7.73 7.73 0 0 1-.669 7.127 7.8 7.8 0 0 1-2.922 2.662 7.8 7.8 0 0 1-3.855.883 6.79 6.79 0 0 0 6.745 2.397 6.8 6.8 0 0 0 4.278-2.955 6.77 6.77 0 0 0-2.02-9.374l-.006-.006a6.7 6.7 0 0 0-1.55-.734"}),d.createElement("path",{fill:"url(#mascotw)",d:"M195.756 470.128c-2.073-8.918-4.38-17.393-6.886-25.87 6-7.547 11.013-16.535 14.875-26.664 5.993 1.646 12.015 3.098 18.117 4.011l6.783-45.296c-5.179-4.774-10.394-9.107-15.67-13.225-.113-13.186-1.717-26.612-4.749-39.773 3.912-4.329 7.701-8.848 11.364-13.763l-18.89-44.327c-4.853 1.186-9.514 2.721-14.14 4.439-7.136-11.589-15.426-21.66-24.514-29.777.111-6.799.014-13.65-.292-20.535l-33.469-17.323c-2.095 5.477-3.926 11.051-5.646 16.679-10.376-2.216-20.642-1.817-30.319 1.179a329 329 0 0 0-9.994-15.922L53.81 223.926c1.569 6.748 3.315 13.341 5.163 19.859-6.87 8.863-12.403 19.625-16.356 31.814-4.954-1.233-9.852-2.333-14.777-3.136l-6.714 45.452a245 245 0 0 0 14.497 12.25c.551 13.557 2.653 27.262 6.222 40.579-3.969 4.404-7.87 8.965-11.579 13.981l18.846 44.222c5.598-1.362 11-3.178 16.406-5.303 6.658 9.84 14.162 18.429 22.262 25.48-.2 8.469-.183 17.031.157 25.78l33.482 17.204c2.778-7.406 5.182-14.968 7.42-22.654 8.543 1.419 16.979 1.045 25.034-1.109 4.273 7.377 8.701 14.647 13.451 21.691zm-35.799-42.44c-6.271 4.414-13.236 7.055-20.57 7.8-1.676.172-3.341.267-5.091.109-14.731-.206-29.808-7.73-42.691-21.303a87 87 0 0 1-3.542-3.948c-13.076-15.463-22.454-36.378-26.35-58.77-.193-1.074-.383-2.151-.484-3.117-3.565-24.093-.52-47.674 8.485-65.71l.202-.621c9.522-18.597 24.686-29.503 41.979-30.191a.6.6 0 0 0 .068.162c17.196-.567 34.985 8.966 49.325 26.432l.75.927c13.49 16.901 22.67 39.596 25.616 63.326.17 1.333.322 2.678.44 4.047 2.027 22.028-1.483 43.066-9.9 59.335a71 71 0 0 1-2.661 4.665c-4.346 6.985-9.611 12.681-15.578 16.855z"}),d.createElement("path",{fill:"url(#mascotx)",d:"m62.819 269.621.001.008a2.6 2.6 0 0 0-.754.615l-.003.002a2.6 2.6 0 0 0-.58 1.386c-2.021 15.844-1.29 20.925-.464 31.261.313 3.903 3.652 9.595 7.958 11.058 4.143 1.407 9.518 1.381 14.303-.868.01-.007.02-.008.028-.016q.04-.022.079-.037c4.785-2.249 8.232-6.37 9.789-10.456 1.617-4.247-.642-10.446-3.453-13.176-7.443-7.225-10.893-11.028-24.399-19.574a2.6 2.6 0 0 0-1.44-.438l-.002.002c-.328 0-.65.07-.954.192l-.001-.009c-.022.017-.044.024-.068.035-.015.006-.027.008-.04.015"}),d.createElement("path",{fill:"url(#mascoty)",d:"m59.078 406.104-18.586 6.169 1.353 3.086a9 9 0 0 0-.58-.047l-.773-3.039-8.893-8.422s-9.073-6.441-9.457 9.982 16.83 19.592 16.83 19.592q.315.063.632.105l.09.014.014.002c.549.079 6.416.808 13.85-3.756 7.804-4.792 20.477-9.95 28.596-6.958s2.063-10.02 2.063-10.02z"}),d.createElement("path",{fill:"#DEC283",d:"M64.28 269.423a3 3 0 0 0-.383-.029 2.6 2.6 0 0 0-.955.195l.001-.009c-.022.017-.043.024-.067.035q-.022.008-.039.017v.006a2.6 2.6 0 0 0-.755.614 2.6 2.6 0 0 0-.442.784c6.255 16.693 6.774 22.452 8.541 33.95.382 2.494-.17 5.887-1.525 8.845q.168.069.34.127c4.143 1.407 9.517 1.381 14.303-.868.01-.007.02-.008.027-.016q.042-.022.08-.037c4.786-2.249 8.234-6.37 9.79-10.455 1.618-4.247-.642-10.446-3.452-13.176-7.443-7.226-10.893-11.028-24.398-19.574a2.6 2.6 0 0 0-1.058-.41z"}),d.createElement("path",{fill:"url(#mascotz)",d:"M61.612 271.031q-.106.293-.139.608c-2.02 15.841-1.287 20.92-.463 31.254.314 3.903 3.651 9.593 7.955 11.055 1.867.634 3.985.976 6.185.955-3.956-2.347-7.205-6.859-8.09-10.45-2.8-11.375-4.63-17.418-5.448-33.422"}),d.createElement("path",{fill:"url(#mascotA)",d:"M112.497 287.47c-15.442-1.544-30.816 2.528-43.538 11.53s-22.015 22.386-26.317 37.901l.004-.156c-1.944 5.954-9.698 22.139-19.504 21.184l.002.003a15.94 15.94 0 0 0-15.508 7.147 15.9 15.9 0 0 0-2.024 4.718l-.028-.012c-.034.125-.06.255-.092.381C.512 389.17 1.18 412.01 8.839 421.92q.004.004.007.012a7.7 7.7 0 0 0 2.178 2.294l.041.038.004-.005.18.125a7.76 7.76 0 0 0 5.839 1.057 7.77 7.77 0 0 0 5.189-3.889c.663-1.125 3.829-6.001 9.182-6.498 6.054-.562 11.548 2.996 20.082.829 4.379-1.112 8.736-3.371 11.948-5.309 8.26 7.623 18.12 13.067 28.735 15.866 17.417 4.565 35.716 1.72 50.871-7.909s25.928-25.252 29.947-43.436.957-37.438-8.513-53.53-24.574-27.702-41.989-32.278l-.084-.023a65 65 0 0 0-9.959-1.794"}),d.createElement("path",{fill:"url(#mascotB)",d:"M112.522 287.52a64 64 0 0 0-29.258 3.961l.227.05.084.022c17.409 4.575 32.507 16.183 41.974 32.269 9.468 16.087 12.529 35.336 8.511 53.515-2.478 11.208-7.549 21.554-14.771 30.133-7.222 8.578-16.373 15.127-26.652 19.073 17.368 4.441 35.572 1.526 50.637-8.109 15.066-9.636 25.769-25.208 29.773-43.317 4.017-18.178.956-37.427-8.511-53.514s-24.565-27.694-41.974-32.269l-.084-.023a65 65 0 0 0-9.956-1.791"}),d.createElement("path",{fill:"url(#mascotC)",d:"M129.612 291.679c10.808 9.336 18.948 21.629 23.487 35.469s5.292 28.667 2.175 42.779c-3.236 14.64-10.499 27.884-20.896 38.104s-23.473 16.967-37.621 19.414c16.859 3.183 34.118-.45 48.284-10.162s24.183-24.781 28.024-42.156c3.719-16.884 1.341-34.735-6.678-50.133s-21.113-27.262-36.775-33.315"}),d.createElement("path",{fill:"url(#mascotD)",d:"M135.336 358.872a33.7 33.7 0 0 0-32.409 15.15 33.52 33.52 0 0 0-4.613 25.265 33.5 33.5 0 0 0 14.631 21.098 33.6 33.6 0 0 0 15.14 5.179c15.091-4.788 27.984-15.035 36.412-28.941a33.47 33.47 0 0 0-15.063-32.653l-.038-.025a33.6 33.6 0 0 0-14.06-5.073"}),d.createElement("path",{fill:"url(#mascotE)",d:"M9.28 348.695v.003a1.38 1.38 0 0 0-.849.959c-2.203 8.204-2.183 10.933-2.492 16.439-.116 2.079 1.233 5.318 3.396 6.397 2.08 1.038 4.914 1.41 7.596.568.003-.002.012-.001.015-.007.015-.006.03-.007.044-.013 2.683-.842 4.795-2.767 5.909-4.808 1.157-2.122.413-5.55-.87-7.19-3.402-4.341-4.946-6.592-11.444-12.063a1.4 1.4 0 0 0-.726-.335 1.4 1.4 0 0 0-.518.035l-.001-.003a.06.06 0 0 1-.039.009q-.011 0-.02.006z"}),d.createElement("path",{fill:"#172834",d:"M98.863 347.452c1.094 1.187 1.797 3.158 1.953 5.481.155 2.322-.248 4.805-1.122 6.902s-2.148 3.638-3.54 4.283c-1.392.644-2.789.341-3.884-.845s-1.798-3.156-1.955-5.478.246-4.804 1.12-6.903c.873-2.098 2.146-3.64 3.538-4.286s2.79-.344 3.885.84M33.4 382.553c-2.265 2.297-4.532 5.291-6.795 4.315s-2.663-4.373 1.575-8.867 9-1.797 9.219-.578c.327 1.825-1.666 2.927-3.999 5.13"}),d.createElement("path",{fill:"#BEDBD4",d:"M386.667 218.854c-2.612-.245-5.127.738-7.166 2.803s-3.495 5.099-4.148 8.65c-.742 4.043-.395 8.489.973 12.487l22.773-2.95c.304-4.106-.437-8.379-2.088-12.041s-4.102-6.471-6.907-7.915l-.016-.008c-1.117-.572-2.268-.918-3.421-1.026M280.454 381.766c4.523 2.219 7.794 5.567 9.095 9.309s.526 7.571-2.157 10.646c-2.682 3.074-7.051 5.142-12.146 5.749s-10.499-.298-15.023-2.515-7.799-5.563-9.103-9.305-.532-7.571 2.147-10.647c2.68-3.076 7.047-5.146 12.141-5.755s10.498.293 15.024 2.507"}),d.createElement("path",{fill:"#E6F4F1",d:"M219.6 192.372c1.265 2.743 1.335 6.369.194 10.078-1.141 3.71-3.4 7.201-6.28 9.704s-6.145 3.815-9.077 3.647-5.292-1.804-6.559-4.546-1.34-6.366-.2-10.076c1.139-3.71 3.397-7.202 6.276-9.707s6.144-3.819 9.077-3.653 5.293 1.799 6.563 4.539m29.216-20.211c.956 1.822 1.044 4.213.245 6.648s-2.42 4.714-4.506 6.337-4.466 2.454-6.618 2.313c-2.151-.14-3.898-1.242-4.855-3.063s-1.047-4.212-.25-6.647c.798-2.435 2.417-4.715 4.503-6.338 2.085-1.623 4.465-2.457 6.617-2.318s3.9 1.239 4.859 3.059m-5.543 29.07c.724 1.443.781 3.342.16 5.28-.621 1.937-1.869 3.754-3.471 5.051s-3.426 1.968-5.071 1.865-2.976-.972-3.701-2.414-.784-3.342-.164-5.279c.62-1.938 1.868-3.755 3.47-5.053 1.601-1.298 3.425-1.97 5.071-1.868s2.977.969 3.703 2.411"}),d.createElement("path",{fill:"#DEC283",d:"M9.875 348.663a1.4 1.4 0 0 0-.185-.009c5.088 8.944 5.931 12.234 8.016 18.686.475 1.474.45 3.614-.131 5.52 2.412-.921 4.307-2.715 5.341-4.61 1.158-2.122.413-5.549-.87-7.189-3.401-4.341-4.945-6.591-11.443-12.063a1.4 1.4 0 0 0-.728-.335"}),d.createElement("path",{fill:"#636E89",d:"M176.944 147.834c-1.741-.275-3.272.109-4.504.689 5.287 1.997 11.365 9.259 15.742 29.323l.264.932a130 130 0 0 1 5.073-6.801l-1.295-3.113c-5.41-15.657-10.978-20.351-15.28-21.03m32.88-25.616c-2.977-.465-5.157.844-5.157.844a7.5 7.5 0 0 0-1.377.805q.32.082.648.186c4.845 1.537 10.75 6.904 13.18 23.112a189 189 0 0 1 5.756-5.313l-.55-2.502c-3.528-13.007-8.673-16.534-12.5-17.132m-14.482 47.601q-.906.694-1.813 1.396l.014.783a95 95 0 0 1 1.799-2.179m42.203-66.407c-1.493-.157-2.508.389-2.508.389-1.586.706-2.978 2.224-4.201 4.262a8 8 0 0 1 2.046-.656s1.553-.381 3.429.447c2.522 1.116 5.625 4.432 6.299 13.832a321 321 0 0 0 4.126-4.605l-.426-1.942c-2.537-8.972-6.036-11.287-8.46-11.687a6 6 0 0 0-.305-.04m28.782 331.107a13.95 13.95 0 0 1 3.638 8.272 14 14 0 0 1-2.193 8.775 14.04 14.04 0 0 1-6.988 5.56 11.685 11.685 0 0 0 12.273-5.07 11.64 11.64 0 0 0 1.608-8.768 11.62 11.62 0 0 0-5.069-7.326l-.013-.01a11.6 11.6 0 0 0-3.256-1.433m21.946 10.89a11.17 11.17 0 0 1 2.614 6.517 11 11 0 0 1-1.819 6.742 11.4 11.4 0 0 1-4.508 3.938 9.3 9.3 0 0 0 5.42-.422 8.93 8.93 0 0 0 4.177-3.361 8.57 8.57 0 0 0 1.225-6.624c-.514-2.283-1.939-4.28-3.963-5.552l-.01-.007a9.3 9.3 0 0 0-3.136-1.231m-48.713-6.739-.24-.015q.358.188.699.404l.011.007a9.545 9.545 0 0 1 2.842 13.217 9.6 9.6 0 0 1-5.061 3.899 9.27 9.27 0 0 0 4.828-.819 8.9 8.9 0 0 0 3.667-3.143 8.57 8.57 0 0 0 1.224-6.624c-.513-2.283-1.939-4.28-3.962-5.552l-.011-.007a9.3 9.3 0 0 0-3.997-1.367M16.843 273.127a10.46 10.46 0 0 1 2.94 6.276 10.5 10.5 0 0 1-1.628 6.742 10.53 10.53 0 0 1-5.925 4.391 9.1 9.1 0 0 0 10.876-3.552 9.06 9.06 0 0 0 1.25-6.82 9.03 9.03 0 0 0-3.942-5.697l-.01-.007a9.1 9.1 0 0 0-3.56-1.333m427.499-58.678a9.095 9.095 0 0 0-10.489 8.237 9.05 9.05 0 0 0 .732 4.357 10.6 10.6 0 0 1 1.326-3.011 10.57 10.57 0 0 1 6.636-4.593 10.56 10.56 0 0 1 7.938 1.43l.013.008q.722.464 1.359 1.04a9.04 9.04 0 0 0-4.028-6.135l-.01-.007a9.1 9.1 0 0 0-3.477-1.326m1.412-17.544a6.81 6.81 0 0 0-7.789 5.627 6.8 6.8 0 0 0 .126 2.775q.183-.364.402-.708a7.82 7.82 0 0 1 10.791-2.343l.008.007a7.8 7.8 0 0 1 2.14 2.051 6.77 6.77 0 0 0-3.068-6.41l-.007-.007a6.8 6.8 0 0 0-2.603-.992"}),d.createElement("path",{fill:"url(#mascotF)",d:"M155.471 368.93q-.076.498-.158.996c-2.502 11.318-7.423 21.846-14.396 30.795-6.972 8.95-15.816 16.09-25.869 20.887a33.6 33.6 0 0 0 13.039 3.956l.457-.142q1.09-.357 2.169-.753.383-.135.764-.275a65 65 0 0 0 2.93-1.191l.101-.047q1.358-.6 2.689-1.261.41-.207.816-.419a65 65 0 0 0 2.866-1.559 65 65 0 0 0 1.891-1.14q.395-.243.786-.491a65 65 0 0 0 2.359-1.594l.231-.158a65 65 0 0 0 2.54-1.916q.273-.22.543-.442a68 68 0 0 0 1.867-1.565q.367-.32.727-.645a65 65 0 0 0 1.7-1.579 58 58 0 0 0 2.474-2.506l.366-.384a68 68 0 0 0 2.128-2.422l.309-.385a67 67 0 0 0 1.654-2.089q.3-.396.593-.797a69 69 0 0 0 1.886-2.686 66 66 0 0 0 1.283-2.006q.157-.248.312-.498a33.47 33.47 0 0 0-9.057-27.684"}),d.createElement("path",{fill:"#163448",d:"m92.192 219.922 12.764-6.503-9.996-15.925-12.765 6.502z"}),d.createElement("path",{fill:"url(#mascotG)",d:"m128.198 202.084 12.769-6.505 33.485 17.334-12.768 6.507z"}),d.createElement("path",{fill:"url(#mascotH)",d:"m161.689 219.428 12.758-6.502.292 20.532-12.758 6.503z"}),d.createElement("path",{fill:"url(#mascotI)",d:"m200.684 265.3 12.766-6.506-14.145 4.441-12.767 6.506z"}),d.createElement("path",{fill:"url(#mascotJ)",d:"m213.486 258.815 18.89 44.326-12.761 6.503-18.89-44.326z"}),d.createElement("path",{fill:"url(#mascotK)",d:"m219.636 309.629 12.762-6.504-11.365 13.765-12.763 6.503z"}),d.createElement("path",{fill:"url(#mascotL)",d:"m228.733 376.386 12.766-6.505-15.674-13.231-12.767 6.506z"}),d.createElement("path",{fill:"url(#mascotM)",d:"m228.758 376.38 12.748-6.5-6.775 45.282-12.748 6.501z"}),d.createElement("path",{fill:"url(#mascotN)",d:"m188.981 444.284 12.762-6.502 6.884 25.869-12.761 6.501z"}),d.createElement("path",{fill:"#92DAFB",d:"M130.169 255.198c11.091 4.063 21.837 12.046 31.133 23.369l.749.927c13.484 16.899 22.661 39.59 25.605 63.316.17 1.333.321 2.678.44 4.046 2.026 22.025-1.483 43.059-9.896 59.323a71 71 0 0 1-2.66 4.664c-4.345 6.984-9.606 12.679-15.571 16.852-6.269 4.413-13.23 7.055-20.561 7.8-1.675.172-3.34.265-5.089.108-3.324-.047-6.665-.485-9.995-1.262 5.345 1.964 10.767 3.025 16.144 3.1 1.749.158 3.414.064 5.089-.108 7.331-.745 14.293-3.386 20.561-7.799 5.965-4.174 11.228-9.869 15.572-16.852a71 71 0 0 0 2.66-4.665c8.413-16.265 11.922-37.299 9.896-59.322a101 101 0 0 0-.44-4.047c-2.945-23.726-12.122-46.417-25.606-63.315l-.749-.927c-11.005-13.406-24.042-22.131-37.282-25.208"}),d.createElement("path",{fill:"#92DAFB",d:"M130.169 255.198c11.091 4.063 21.837 12.046 31.133 23.369l.749.927c13.484 16.899 22.661 39.59 25.605 63.316.17 1.333.321 2.678.44 4.046 2.026 22.025-1.483 43.059-9.896 59.323a71 71 0 0 1-2.66 4.664c-4.345 6.984-9.606 12.679-15.571 16.852-6.269 4.413-13.23 7.055-20.561 7.8-1.675.172-3.34.265-5.089.108-3.324-.047-6.665-.485-9.995-1.262 5.345 1.964 10.767 3.025 16.144 3.1 1.749.158 3.414.064 5.089-.108 7.331-.745 14.293-3.386 20.561-7.799 5.965-4.174 11.228-9.869 15.572-16.852a71 71 0 0 0 2.66-4.665c8.413-16.265 11.922-37.299 9.896-59.322a101 101 0 0 0-.44-4.047c-2.945-23.726-12.122-46.417-25.606-63.315l-.749-.927c-11.005-13.406-24.042-22.131-37.282-25.208"}),d.createElement("path",{fill:"url(#mascotO)",d:"m170.92 287.655-.004.008a3 3 0 0 0-.989-.536l-.003-.003a3 3 0 0 0-1.741-.011c-17.886 4.802-23.019 7.816-33.753 13.24-4.053 2.05-8.704 8.12-8.394 13.365.299 5.047 2.672 10.781 7.175 14.908l.026.023q.039.034.075.069c4.502 4.126 10.43 6 15.494 5.869 5.264-.137 10.93-5.276 12.634-9.479 4.505-11.132 7.08-16.491 10.357-34.683a2.96 2.96 0 0 0-.159-1.73l-.002-.003a3 3 0 0 0-.622-.935l.009-.008-.067-.056q-.017-.02-.033-.034z"}),d.createElement("path",{fill:"#DEC283",d:"M171.871 289.78c-8.027 15.76-12.719 21.231-20.783 31.67-3.39 4.383-11.745 8.565-17.976 6.994l-.12-.033q.117.112.236.222l.026.023.075.068c4.502 4.126 10.427 6 15.49 5.868 5.264-.136 10.93-5.275 12.633-9.478 4.505-11.13 7.079-16.488 10.357-34.679a2.7 2.7 0 0 0 .062-.655"}),d.createElement("path",{fill:"#92DAFB",d:"m82.193 203.95-28.508 19.963c1.569 6.747 3.315 13.34 5.162 19.858-6.868 8.862-12.4 19.623-16.353 31.81-4.952-1.232-9.85-2.332-14.774-3.135l-1.002 6.783c5.556.909 11.08 2.149 16.668 3.539 4.485-13.826 10.76-26.034 18.552-36.089-2.096-7.394-4.075-14.872-5.855-22.527l26.974-18.889c-.29-.437-.572-.877-.864-1.313"}),d.createElement("path",{fill:"url(#mascotP)",d:"M169.399 287.031a3.1 3.1 0 0 0-1.213.101c-17.887 4.802-23.02 7.816-33.755 13.239-4.053 2.051-8.704 8.122-8.394 13.367.171 2.904 1.032 6.035 2.588 8.957.706-5.785 4.397-11.881 8.175-14.702 11.017-8.217 17.061-13.177 32.599-20.962"}),d.createElement("path",{fill:"url(#mascotQ)",d:"M8.876 348.95c0 .008-.01.007-.012.01a1.37 1.37 0 0 0-.406.688c-2.203 8.202-2.183 10.931-2.492 16.436-.115 2.079 1.233 5.317 3.395 6.395 1.015.508 2.21.854 3.48.98-2.378-1.207-4.134-4.434-4.285-6.685-.406-6.066-.799-9.223.32-17.824"}))),i||(i=d.createElement("defs",null,d.createElement("linearGradient",{id:"mascotb",x1:254.171,x2:234.45,y1:4.104,y2:38.578,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#636D89"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascotc",x1:112.194,x2:408.735,y1:562.312,y2:-346.931,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#4C636F"}),d.createElement("stop",{offset:.324,stopColor:"#C0DDD6"}),d.createElement("stop",{offset:.531,stopColor:"#E6F4F1"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"mascotd",x1:392.217,x2:234.969,y1:131.377,y2:323.064,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#C2DED7",stopOpacity:0}),d.createElement("stop",{offset:.461,stopColor:"#BEDBD4"}),d.createElement("stop",{offset:1,stopColor:"#B1CDC9"})),d.createElement("linearGradient",{id:"mascote",x1:225.512,x2:195.862,y1:135.477,y2:149.323,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#67728D"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascotf",x1:232.691,x2:337.511,y1:347.355,y2:119.037,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#738D9A"}),d.createElement("stop",{offset:1,stopColor:"#738D9A",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotg",x1:193.403,x2:159.34,y1:165.624,y2:184.192,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#727F97"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascoth",x1:225.068,x2:246.602,y1:121.012,y2:114.633,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#9BAEBC"}),d.createElement("stop",{offset:1,stopColor:"#636E89"})),d.createElement("linearGradient",{id:"mascoti",x1:232.323,x2:300.451,y1:396.622,y2:404.37,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#BEDBD4"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"mascotj",x1:290.002,x2:217.198,y1:497.547,y2:464.059,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#234A5F"}),d.createElement("stop",{offset:1,stopColor:"#4C636F"})),d.createElement("linearGradient",{id:"mascotk",x1:365.285,x2:400.958,y1:101.808,y2:228.431,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#BEDBD4"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"mascotl",x1:41.543,x2:42.044,y1:350.213,y2:221.763,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#BEDBD4"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"mascotm",x1:7.945,x2:11.403,y1:359.073,y2:277.824,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#031D2B"}),d.createElement("stop",{offset:1,stopColor:"#4C636F"})),d.createElement("linearGradient",{id:"mascotn",x1:271.574,x2:254.072,y1:451.376,y2:445.454,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#68748E"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascoto",x1:441.575,x2:443.246,y1:217.042,y2:232.819,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#646F8A"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascotp",x1:293.952,x2:281.114,y1:458.057,y2:451.982,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#66718D"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascotq",x1:245.856,x2:224.855,y1:449.66,y2:446.05,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#656F8B"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascotr",x1:445.435,x2:444.774,y1:196.596,y2:215.15,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#656F8A"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascots",x1:9.045,x2:-3.164,y1:287.755,y2:286.098,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#68728D"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascott",x1:23.253,x2:7.613,y1:286.014,y2:279.305,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#68728D"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascotu",x1:23.657,x2:16.977,y1:298.056,y2:287.016,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#646F8A"}),d.createElement("stop",{offset:1,stopColor:"#9BAEBC"})),d.createElement("linearGradient",{id:"mascotv",x1:162.403,x2:157.029,y1:499.376,y2:262.502,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#133247"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"mascotw",x1:163.024,x2:109.31,y1:568.996,y2:190.98,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#324F9D"}),d.createElement("stop",{offset:1,stopColor:"#39AEE4"})),d.createElement("linearGradient",{id:"mascotx",x1:90.092,x2:48.717,y1:291.365,y2:278.292,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DFC385"}),d.createElement("stop",{offset:1,stopColor:"#EEE8A9"})),d.createElement("linearGradient",{id:"mascoty",x1:3.562,x2:45.064,y1:356.939,y2:425.081,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#4C636F"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"mascotz",x1:64.656,x2:62.531,y1:282.37,y2:299.91,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#FBFAEF"}),d.createElement("stop",{offset:1,stopColor:"#FBFAEF",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotA",x1:179.455,x2:81.299,y1:340.794,y2:367.35,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#BEDBD4"}),d.createElement("stop",{offset:1,stopColor:"#E6F4F1"})),d.createElement("linearGradient",{id:"mascotB",x1:135.334,x2:101.039,y1:358.885,y2:292.711,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#BEDBD4"}),d.createElement("stop",{offset:1,stopColor:"#BEDBD4",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotC",x1:113.401,x2:165.278,y1:426.374,y2:297.715,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#738D9A"}),d.createElement("stop",{offset:1,stopColor:"#738D9A",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotD",x1:183.268,x2:120.727,y1:450.155,y2:368.859,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#A141C5"}),d.createElement("stop",{offset:1,stopColor:"#ECCFF7"})),d.createElement("linearGradient",{id:"mascotE",x1:30.638,x2:5.446,y1:368.496,y2:360.322,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DEC283"}),d.createElement("stop",{offset:1,stopColor:"#EEE8A9"})),d.createElement("linearGradient",{id:"mascotF",x1:153.842,x2:132.492,y1:415.767,y2:392.426,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#BE80D6"}),d.createElement("stop",{offset:1,stopColor:"#BE80D6",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotG",x1:124.785,x2:167.214,y1:193.016,y2:214.388,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#163448"}),d.createElement("stop",{offset:1,stopColor:"#163448",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotH",x1:166.912,x2:168.86,y1:213.263,y2:254.809,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#163448"}),d.createElement("stop",{offset:1,stopColor:"#163448",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotI",x1:192.631,x2:202.904,y1:265.542,y2:263.467,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#173548"}),d.createElement("stop",{offset:1,stopColor:"#173548",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotJ",x1:207.235,x2:219.33,y1:261.979,y2:290.277,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#133247"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"mascotK",x1:223.987,x2:215.934,y1:307.417,y2:319.523,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#173548"}),d.createElement("stop",{offset:1,stopColor:"#173548",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotL",x1:207.346,x2:226.011,y1:347.783,y2:365.321,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#173548"}),d.createElement("stop",{offset:1,stopColor:"#173548",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotM",x1:237.424,x2:229.894,y1:371.941,y2:412.251,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#173548"}),d.createElement("stop",{offset:1,stopColor:"#173548",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotN",x1:192.982,x2:200.983,y1:430.543,y2:453.43,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#133247"}),d.createElement("stop",{offset:1,stopColor:"#374955"})),d.createElement("linearGradient",{id:"mascotO",x1:155.392,x2:142.471,y1:353.623,y2:289.516,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#DDC082"}),d.createElement("stop",{offset:1,stopColor:"#EEE8A9"})),d.createElement("linearGradient",{id:"mascotP",x1:158.675,x2:130.834,y1:284.289,y2:319.545,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#FBFAEF"}),d.createElement("stop",{offset:1,stopColor:"#FBFAEF",stopOpacity:0})),d.createElement("linearGradient",{id:"mascotQ",x1:10.418,x2:4.977,y1:356.312,y2:369.776,gradientUnits:"userSpaceOnUse"},d.createElement("stop",{stopColor:"#FBFAEF"}),d.createElement("stop",{offset:1,stopColor:"#FBFAEF",stopOpacity:0})),d.createElement("clipPath",{id:"mascota"},d.createElement("path",{fill:"#fff",d:"M0 0h452v502H0z"})))))},x={},U="Many inline SVGs",M={},O=[];function F(e){let t={h1:"h1",header:"header",p:"p",...(0,E.a)(),...e.components};return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(t.header,{children:(0,m.jsx)(t.h1,{id:"many-inline-svgs",children:"Many inline SVGs"})}),"\n",(0,m.jsx)(t.p,{children:"Have a bunch of SVGs, they're written to intentionally override each others styled when inlined on the same page."}),"\n",(0,m.jsx)(h,{height:"20rem"}),"\n",(0,m.jsx)(C,{height:"20rem"}),"\n",(0,m.jsx)(g,{height:"20rem"})]})}function D(e={}){let{wrapper:t}={...(0,E.a)(),...e.components};return t?(0,m.jsx)(t,{...e,children:(0,m.jsx)(F,{...e})}):F(e)}},80980:function(e,t,a){a.d(t,{Z:()=>o,a:()=>n});var l=a(67294);let r={},c=l.createContext(r);function n(e){let t=l.useContext(c);return l.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),l.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/44473.7c731418.js b/assets/js/44473.7c731418.js new file mode 100644 index 0000000000..55c57a2360 --- /dev/null +++ b/assets/js/44473.7c731418.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["44473"],{77015:function(t,e,n){n.d(e,{diagram:()=>H});var i=n(28923),r=n(11141);function s(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}function o(t){return t.target.depth}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t,e){let n=0;if(void 0===e)for(let e of t)(e*=1)&&(n+=e);else{let i=-1;for(let r of t)(r=+e(r,++i,t))&&(n+=r)}return n}function a(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}function c(t){return function(){return t}}function u(t,e){return y(t.source,e.source)||t.index-e.index}function f(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.y0-e.y0}function p(t){return t.value}function d(t){return t.index}function g(t){return t.nodes}function _(t){return t.links}function x(t,e){let n=t.get(e);if(!n)throw Error("missing: "+e);return n}function m({nodes:t}){for(let e of t){let t=e.y0,n=t;for(let n of e.sourceLinks)n.y0=t+n.width/2,t+=n.width;for(let t of e.targetLinks)t.y1=n+t.width/2,n+=t.width}}var k=Math.PI,v=2*k,b=v-1e-6;function w(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function S(){return new w}w.prototype=S.prototype={constructor:w,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i)},bezierCurveTo:function(t,e,n,i,r,s){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+r)+","+(this._y1=+s)},arcTo:function(t,e,n,i,r){t*=1,e*=1,n*=1,i*=1,r*=1;var s=this._x1,o=this._y1,l=n-t,h=i-e,a=s-t,c=o-e,u=a*a+c*c;if(r<0)throw Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(u>1e-6){if(Math.abs(c*l-h*a)>1e-6&&r){var f=n-s,y=i-o,p=l*l+h*h,d=Math.sqrt(p),g=Math.sqrt(u),_=r*Math.tan((k-Math.acos((p+u-(f*f+y*y))/(2*d*g)))/2),x=_/g,m=_/d;Math.abs(x-1)>1e-6&&(this._+="L"+(t+x*a)+","+(e+x*c)),this._+="A"+r+","+r+",0,0,"+ +(c*f>a*y)+","+(this._x1=t+m*l)+","+(this._y1=e+m*h)}else this._+="L"+(this._x1=t)+","+(this._y1=e)}},arc:function(t,e,n,i,r,s){t*=1,e*=1,n*=1,s=!!s;var o=n*Math.cos(i),l=n*Math.sin(i),h=t+o,a=e+l,c=1^s,u=s?i-r:r-i;if(n<0)throw Error("negative radius: "+n);null===this._x1?this._+="M"+h+","+a:(Math.abs(this._x1-h)>1e-6||Math.abs(this._y1-a)>1e-6)&&(this._+="L"+h+","+a),n&&(u<0&&(u=u%v+v),u>b?this._+="A"+n+","+n+",0,1,"+c+","+(t-o)+","+(e-l)+"A"+n+","+n+",0,1,"+c+","+(this._x1=h)+","+(this._y1=a):u>1e-6&&(this._+="A"+n+","+n+",0,"+ +(u>=k)+","+c+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var E=Array.prototype.slice;function W(t){return function(){return t}}function A(t){return t[0]}function L(t){return t[1]}function M(t){return t.source}function I(t){return t.target}function T(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function P(t){return[t.source.x1,t.y0]}function C(t){return[t.target.x0,t.y1]}var N=function(){var t=(0,i.eW)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[1,9],n=[1,10],r=[1,5,10,12],s={trace:(0,i.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:(0,i.eW)(function(t,e,n,i,r,s,o){var l=s.length-1;switch(r){case 7:let h=i.findOrCreateNode(s[l-4].trim().replaceAll('""','"')),a=i.findOrCreateNode(s[l-2].trim().replaceAll('""','"')),c=parseFloat(s[l].trim());i.addLink(h,a,c);break;case 8:case 9:case 11:this.$=s[l];break;case 10:this.$=s[l-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:n},{1:[2,6],7:11,10:[1,12]},t(n,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(r,[2,8]),t(r,[2,9]),{19:[1,16]},t(r,[2,11]),{1:[2,1]},{1:[2,5]},t(n,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:n},{15:18,16:7,17:8,18:e,20:n},{18:[1,19]},t(n,[2,3]),{12:[1,20]},t(r,[2,10]),{15:21,16:7,17:8,18:e,20:n},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:(0,i.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,i.eW)(function(t){var e=this,n=[0],r=[],s=[null],o=[],l=this.table,h="",a=0,c=0,u=0,f=o.slice.call(arguments,1),y=Object.create(this.lexer),p={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(p.yy[d]=this.yy[d]);y.setInput(t,p.yy),p.yy.lexer=y,p.yy.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;o.push(g);var _=y.options&&y.options.ranges;function x(){var t;return"number"!=typeof(t=r.pop()||y.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,i.eW)(function(t){n.length=n.length-2*t,s.length=s.length-t,o.length=o.length-t},"popStack"),(0,i.eW)(x,"lex");for(var m,k,v,b,w,S,E,W,A,L={};;){if(v=n[n.length-1],this.defaultActions[v]?b=this.defaultActions[v]:(null==m&&(m=x()),b=l[v]&&l[v][m]),void 0===b||!b.length||!b[0]){var M="";for(S in A=[],l[v])this.terminals_[S]&&S>2&&A.push("'"+this.terminals_[S]+"'");M=y.showPosition?"Parse error on line "+(a+1)+":\n"+y.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(M,{text:y.match,token:this.terminals_[m]||m,line:y.yylineno,loc:g,expected:A})}if(b[0]instanceof Array&&b.length>1)throw Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(b[0]){case 1:n.push(m),s.push(y.yytext),o.push(y.yylloc),n.push(b[1]),m=null,k?(m=k,k=null):(c=y.yyleng,h=y.yytext,a=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[b[1]][1],L.$=s[s.length-E],L._$={first_line:o[o.length-(E||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(E||1)].first_column,last_column:o[o.length-1].last_column},_&&(L._$.range=[o[o.length-(E||1)].range[0],o[o.length-1].range[1]]),void 0!==(w=this.performAction.apply(L,[h,c,a,p.yy,b[1],s,o].concat(f))))return w;E&&(n=n.slice(0,-1*E*2),s=s.slice(0,-1*E),o=o.slice(0,-1*E)),n.push(this.productions_[b[1]][0]),s.push(L.$),o.push(L._$),W=l[n[n.length-2]][n[n.length-1]],n.push(W);break;case 3:return!0}}return!0},"parse")},o={EOF:1,parseError:(0,i.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,i.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,i.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,i.eW)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,i.eW)(function(){return this._more=!0,this},"more"),reject:(0,i.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,i.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,i.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,i.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,i.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,i.eW)(function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var s in r)this[s]=r[s];return!1},"test_match"),next:(0,i.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,i,r=this._currentRules(),s=0;s<r.length;s++)if((n=this._input.match(this.rules[r[s]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,i.eW)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,i.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,i.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,i.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,i.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,i.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,i.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,i.eW)(function(t,e,n,i){switch(n){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};function l(){this.yy={}}return s.lexer=o,(0,i.eW)(l,"Parser"),l.prototype=s,s.Parser=l,new l}();N.parser=N;var O=[],$=[],D=new Map,j=(0,i.eW)(()=>{O=[],$=[],D=new Map,(0,i.ZH)()},"clear"),z=class{constructor(t,e,n=0){this.source=t,this.target=e,this.value=n}static{(0,i.eW)(this,"SankeyLink")}},F=(0,i.eW)((t,e,n)=>{O.push(new z(t,e,n))},"addLink"),U=class{constructor(t){this.ID=t}static{(0,i.eW)(this,"SankeyNode")}},Y=(0,i.eW)(t=>{t=i.SY.sanitizeText(t,(0,i.nV)());let e=D.get(t);return void 0===e&&(e=new U(t),D.set(t,e),$.push(e)),e},"findOrCreateNode"),V=(0,i.eW)(()=>$,"getNodes"),G=(0,i.eW)(()=>O,"getLinks"),K=(0,i.eW)(()=>({nodes:$.map(t=>({id:t.ID})),links:O.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),X={nodesMap:D,getConfig:(0,i.eW)(()=>(0,i.nV)().sankey,"getConfig"),getNodes:V,getLinks:G,getGraph:K,addLink:F,findOrCreateNode:Y,getAccTitle:i.eu,setAccTitle:i.GN,getAccDescription:i.Mx,setAccDescription:i.U$,getDiagramTitle:i.Kr,setDiagramTitle:i.g2,clear:j},q=class t{static{(0,i.eW)(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}},Q={left:function(t){return t.depth},right:function(t,e){return e-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?s(t.sourceLinks,o)-1:0},justify:l},R=(0,i.eW)(function(t,e,n,o){let k,v;let{securityLevel:b,sankey:w}=(0,i.nV)(),N=i.Fy.sankey;"sandbox"===b&&(k=(0,r.Ys)("#i"+e));let O="sandbox"===b?(0,r.Ys)(k.nodes()[0].contentDocument.body):(0,r.Ys)("body"),$="sandbox"===b?O.select(`[id="${e}"]`):(0,r.Ys)(`[id="${e}"]`),D=w?.width??N.width,j=w?.height??N.width,z=w?.useMaxWidth??N.useMaxWidth,F=w?.nodeAlignment??N.nodeAlignment,U=w?.prefix??N.prefix,Y=w?.suffix??N.suffix,V=w?.showValues??N.showValues,G=o.db.getGraph(),K=Q[F];(function(){let t,e,n=0,i=0,r=1,o=1,k=24,v=8,b,w=d,S=l,E=g,W=_,A=6;function L(){let l={nodes:E.apply(null,arguments),links:W.apply(null,arguments)};return function({nodes:t,links:n}){for(let[e,n]of t.entries())n.index=e,n.sourceLinks=[],n.targetLinks=[];let i=new Map(t.map((e,n)=>[w(e,n,t),e]));for(let[t,e]of n.entries()){e.index=t;let{source:n,target:r}=e;"object"!=typeof n&&(n=e.source=x(i,n)),"object"!=typeof r&&(r=e.target=x(i,r)),n.sourceLinks.push(e),r.targetLinks.push(e)}if(null!=e)for(let{sourceLinks:n,targetLinks:i}of t)n.sort(e),i.sort(e)}(l),function({nodes:t}){for(let e of t)e.value=void 0===e.fixedValue?Math.max(h(e.sourceLinks,p),h(e.targetLinks,p)):e.fixedValue}(l),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{target:e}of(t.depth=r,t.sourceLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(l),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{source:e}of(t.height=r,t.targetLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(l),function(l){let c=function({nodes:e}){let i=a(e,t=>t.depth)+1,s=(r-n-k)/(i-1),o=Array(i);for(let t of e){let e=Math.max(0,Math.min(i-1,Math.floor(S.call(null,t,i))));t.layer=e,t.x0=n+e*s,t.x1=t.x0+k,o[e]?o[e].push(t):o[e]=[t]}if(t)for(let e of o)e.sort(t);return o}(l);b=Math.min(v,(o-i)/(a(c,t=>t.length)-1)),function(t){let n=s(t,t=>(o-i-(t.length-1)*b)/h(t,p));for(let r of t){let t=i;for(let e of r)for(let i of(e.y0=t,e.y1=t+e.value*n,t=e.y1+b,e.sourceLinks))i.width=i.value*n;t=(o-t+b)/(r.length+1);for(let e=0;e<r.length;++e){let n=r[e];n.y0+=t*(e+1),n.y1+=t*(e+1)}(function(t){if(void 0===e)for(let{sourceLinks:e,targetLinks:n}of t)e.sort(f),n.sort(u)})(r)}}(c);for(let e=0;e<A;++e){let n=Math.pow(.99,e),i=Math.max(1-n,(e+1)/A);(function(e,n,i){for(let r=e.length,s=r-2;s>=0;--s){let r=e[s];for(let t of r){let e=0,i=0;for(let{target:n,value:r}of t.sourceLinks){let s=r*(n.layer-t.layer);e+=function(t,e){let n=e.y0-(e.targetLinks.length-1)*b/2;for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n+=r+b}for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n-=r}return n}(t,n)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,P(t)}void 0===t&&r.sort(y),M(r,i)}})(c,n,i),function(e,n,i){for(let r=1,s=e.length;r<s;++r){let s=e[r];for(let t of s){let e=0,i=0;for(let{source:n,value:r}of t.targetLinks){let s=r*(t.layer-n.layer);e+=function(t,e){let n=t.y0-(t.sourceLinks.length-1)*b/2;for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n+=r+b}for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n-=r}return n}(n,t)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,P(t)}void 0===t&&s.sort(y),M(s,i)}}(c,n,i)}}(l),m(l),l}function M(t,e){let n=t.length>>1,r=t[n];T(t,r.y0-b,n-1,e),I(t,r.y1+b,n+1,e),T(t,o,t.length-1,e),I(t,i,0,e)}function I(t,e,n,i){for(;n<t.length;++n){let r=t[n],s=(e-r.y0)*i;s>1e-6&&(r.y0+=s,r.y1+=s),e=r.y1+b}}function T(t,e,n,i){for(;n>=0;--n){let r=t[n],s=(r.y1-e)*i;s>1e-6&&(r.y0-=s,r.y1-=s),e=r.y0-b}}function P({sourceLinks:t,targetLinks:n}){if(void 0===e){for(let{source:{sourceLinks:t}}of n)t.sort(f);for(let{target:{targetLinks:e}}of t)e.sort(u)}}return L.update=function(t){return m(t),t},L.nodeId=function(t){return arguments.length?(w="function"==typeof t?t:c(t),L):w},L.nodeAlign=function(t){return arguments.length?(S="function"==typeof t?t:c(t),L):S},L.nodeSort=function(e){return arguments.length?(t=e,L):t},L.nodeWidth=function(t){return arguments.length?(k=+t,L):k},L.nodePadding=function(t){return arguments.length?(v=b=+t,L):v},L.nodes=function(t){return arguments.length?(E="function"==typeof t?t:c(t),L):E},L.links=function(t){return arguments.length?(W="function"==typeof t?t:c(t),L):W},L.linkSort=function(t){return arguments.length?(e=t,L):e},L.size=function(t){return arguments.length?(n=i=0,r=+t[0],o=+t[1],L):[r-n,o-i]},L.extent=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],i=+t[0][1],o=+t[1][1],L):[[n,i],[r,o]]},L.iterations=function(t){return arguments.length?(A=+t,L):A},L})().nodeId(t=>t.id).nodeWidth(10).nodePadding(10+15*!!V).nodeAlign(K).extent([[0,0],[D,j]])(G);let X=(0,r.PKp)(r.K2I);$.append("g").attr("class","nodes").selectAll(".node").data(G.nodes).join("g").attr("class","node").attr("id",t=>(t.uid=q.next("node-")).id).attr("transform",function(t){return"translate("+t.x0+","+t.y0+")"}).attr("x",t=>t.x0).attr("y",t=>t.y0).append("rect").attr("height",t=>t.y1-t.y0).attr("width",t=>t.x1-t.x0).attr("fill",t=>X(t.id));let R=(0,i.eW)(({id:t,value:e})=>V?`${t} +${U}${Math.round(100*e)/100}${Y}`:t,"getText");$.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(G.nodes).join("text").attr("x",t=>t.x0<D/2?t.x1+6:t.x0-6).attr("y",t=>(t.y1+t.y0)/2).attr("dy",`${V?"0":"0.35"}em`).attr("text-anchor",t=>t.x0<D/2?"start":"end").text(R);let Z=$.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(G.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),B=w?.linkColor??"gradient";if("gradient"===B){let t=Z.append("linearGradient").attr("id",t=>(t.uid=q.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",t=>t.source.x1).attr("x2",t=>t.target.x0);t.append("stop").attr("offset","0%").attr("stop-color",t=>X(t.source.id)),t.append("stop").attr("offset","100%").attr("stop-color",t=>X(t.target.id))}switch(B){case"gradient":v=(0,i.eW)(t=>t.uid,"coloring");break;case"source":v=(0,i.eW)(t=>X(t.source.id),"coloring");break;case"target":v=(0,i.eW)(t=>X(t.target.id),"coloring");break;default:v=B}Z.append("path").attr("d",(function(t){var e=M,n=I,i=A,r=L,s=null;function o(){var o,l=E.call(arguments),h=e.apply(this,l),a=n.apply(this,l);if(s||(s=o=S()),t(s,+i.apply(this,(l[0]=h,l)),+r.apply(this,l),+i.apply(this,(l[0]=a,l)),+r.apply(this,l)),o)return s=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(i="function"==typeof t?t:W(+t),o):i},o.y=function(t){return arguments.length?(r="function"==typeof t?t:W(+t),o):r},o.context=function(t){return arguments.length?(s=null==t?null:t,o):s},o})(T).source(P).target(C)).attr("stroke",v).attr("stroke-width",t=>Math.max(1,t.width)),(0,i.j7)(void 0,$,0,z)},"draw"),Z=(0,i.eW)(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim(),"prepareTextForParsing"),B=N.parse.bind(N);N.parse=t=>B(Z(t));var H={parser:N,db:X,renderer:{draw:R}}}}]); \ No newline at end of file diff --git a/assets/js/447738d4.ec1f8221.js b/assets/js/447738d4.ec1f8221.js new file mode 100644 index 0000000000..c4d902caad --- /dev/null +++ b/assets/js/447738d4.ec1f8221.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["21463"],{8334:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>d,default:()=>m,contentTitle:()=>l,assets:()=>c,toc:()=>u,metadata:()=>r});var r=JSON.parse('{"id":"guides/docs/sidebar/autogenerated","title":"Autogenerated","description":"Docusaurus can create a sidebar automatically from your filesystem structure: each folder creates a sidebar category, and each file creates a doc link.","source":"@site/docs/guides/docs/sidebar/autogenerated.mdx","sourceDirName":"guides/docs/sidebar","slug":"/sidebar/autogenerated","permalink":"/docs/sidebar/autogenerated","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/sidebar/autogenerated.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/sidebar/autogenerated"},"sidebar":"docs","previous":{"title":"Sidebar items","permalink":"/docs/sidebar/items"},"next":{"title":"Using multiple sidebars","permalink":"/docs/sidebar/multiple-sidebars"}}'),i=t(85893),a=t(80980),s=t(15398),o=t(58636);let d={slug:"/sidebar/autogenerated"},l="Autogenerated",c={},u=[{value:"Category index convention",id:"category-index-convention",level:2},{value:"Autogenerated sidebar metadata",id:"autogenerated-sidebar-metadata",level:2},{value:"Doc item metadata",id:"doc-item-metadata",level:3},{value:"Category item metadata",id:"category-item-metadata",level:3},{value:"Using number prefixes",id:"using-number-prefixes",level:2},{value:"Customize the sidebar items generator",id:"customize-the-sidebar-items-generator",level:2}];function h(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components},{Details:t}=n;return t||function(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"autogenerated",children:"Autogenerated"})}),"\n","\n",(0,i.jsxs)(n.p,{children:["Docusaurus can ",(0,i.jsx)(n.strong,{children:"create a sidebar automatically"})," from your ",(0,i.jsx)(n.strong,{children:"filesystem structure"}),": each folder creates a sidebar category, and each file creates a doc link."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"type SidebarItemAutogenerated = {\n type: 'autogenerated';\n dirName: string; // Source folder to generate the sidebar slice from (relative to docs)\n};\n"})}),"\n",(0,i.jsx)(n.p,{children:"Docusaurus can generate a full sidebar from your docs folder:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n myAutogeneratedSidebar: [\n // highlight-start\n {\n type: 'autogenerated',\n dirName: '.', // '.' means the current docs folder\n },\n // highlight-end\n ],\n};\n"})}),"\n",(0,i.jsxs)(n.p,{children:["An ",(0,i.jsx)(n.code,{children:"autogenerated"})," item is converted by Docusaurus to a ",(0,i.jsx)(n.strong,{children:"sidebar slice"})," (also discussed in ",(0,i.jsx)(n.a,{href:"/docs/sidebar/items#category-shorthand",children:"category shorthands"}),"): a list of items of type ",(0,i.jsx)(n.code,{children:"doc"})," or ",(0,i.jsx)(n.code,{children:"category"}),", so you can splice ",(0,i.jsxs)(n.strong,{children:["multiple ",(0,i.jsx)(n.code,{children:"autogenerated"})," items"]})," from multiple directories, interleaving them with regular sidebar items, in one sidebar level."]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"A real-world example"}),(0,i.jsx)(n.p,{children:"Consider this file structure:"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"docs\n\u251C\u2500\u2500 api\n\u2502 \u251C\u2500\u2500 product1-api\n\u2502 \u2502 \u2514\u2500\u2500 api.md\n\u2502 \u2514\u2500\u2500 product2-api\n\u2502 \u251C\u2500\u2500 basic-api.md\n\u2502 \u2514\u2500\u2500 pro-api.md\n\u251C\u2500\u2500 intro.md\n\u2514\u2500\u2500 tutorials\n \u251C\u2500\u2500 advanced\n \u2502 \u251C\u2500\u2500 advanced1.md\n \u2502 \u251C\u2500\u2500 advanced2.md\n \u2502 \u2514\u2500\u2500 read-more\n \u2502 \u251C\u2500\u2500 resource1.md\n \u2502 \u2514\u2500\u2500 resource2.md\n \u251C\u2500\u2500 easy\n \u2502 \u251C\u2500\u2500 easy1.md\n \u2502 \u2514\u2500\u2500 easy2.md\n \u251C\u2500\u2500 tutorial-end.md\n \u251C\u2500\u2500 tutorial-intro.md\n \u2514\u2500\u2500 tutorial-medium.md\n"})}),(0,i.jsx)(n.p,{children:"And assume every doc's ID is just its file name. If you define an autogenerated sidebar like this:"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n mySidebar: [\n 'intro',\n {\n type: 'category',\n label: 'Tutorials',\n items: [\n 'tutorial-intro',\n // highlight-start\n {\n type: 'autogenerated',\n dirName: 'tutorials/easy', // Generate sidebar slice from docs/tutorials/easy\n },\n // highlight-end\n 'tutorial-medium',\n // highlight-start\n {\n type: 'autogenerated',\n dirName: 'tutorials/advanced', // Generate sidebar slice from docs/tutorials/advanced\n },\n // highlight-end\n 'tutorial-end',\n ],\n },\n // highlight-start\n {\n type: 'autogenerated',\n dirName: 'api', // Generate sidebar slice from docs/api\n },\n // highlight-end\n {\n type: 'category',\n label: 'Community',\n items: ['team', 'chat'],\n },\n ],\n};\n"})}),(0,i.jsx)(n.p,{children:"It would be resolved as:"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n mySidebar: [\n 'intro',\n {\n type: 'category',\n label: 'Tutorials',\n items: [\n 'tutorial-intro',\n // highlight-start\n // Two files in docs/tutorials/easy\n 'easy1',\n 'easy2',\n // highlight-end\n 'tutorial-medium',\n // highlight-start\n // Two files and a folder in docs/tutorials/advanced\n 'advanced1',\n 'advanced2',\n {\n type: 'category',\n label: 'read-more',\n items: ['resource1', 'resource2'],\n },\n // highlight-end\n 'tutorial-end',\n ],\n },\n // highlight-start\n // Two folders in docs/api\n {\n type: 'category',\n label: 'product1-api',\n items: ['api'],\n },\n {\n type: 'category',\n label: 'product2-api',\n items: ['basic-api', 'pro-api'],\n },\n // highlight-end\n {\n type: 'category',\n label: 'Community',\n items: ['team', 'chat'],\n },\n ],\n};\n"})}),(0,i.jsx)(n.p,{children:'Note how the autogenerate source directories themselves don\'t become categories: only the items they contain do. This is what we mean by "sidebar slice".'})]}),"\n",(0,i.jsx)(n.h2,{id:"category-index-convention",children:"Category index convention"}),"\n",(0,i.jsx)(n.p,{children:"Docusaurus can automatically link a category to its index document."}),"\n",(0,i.jsx)(n.p,{children:"A category index document is a document following one of those filename conventions:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Named as ",(0,i.jsx)(n.code,{children:"index"})," (case-insensitive): ",(0,i.jsx)(n.code,{children:"docs/Guides/index.md"})]}),"\n",(0,i.jsxs)(n.li,{children:["Named as ",(0,i.jsx)(n.code,{children:"README"})," (case-insensitive): ",(0,i.jsx)(n.code,{children:"docs/Guides/README.mdx"})]}),"\n",(0,i.jsxs)(n.li,{children:["Same name as parent folder: ",(0,i.jsx)(n.code,{children:"docs/Guides/Guides.md"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["This is equivalent to using a category with a ",(0,i.jsx)(n.a,{href:"/docs/sidebar/items#category-doc-link",children:"doc link"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n docs: [\n // highlight-start\n {\n type: 'category',\n label: 'Guides',\n link: {type: 'doc', id: 'Guides/index'},\n items: [],\n },\n // highlight-end\n ],\n};\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["Naming your introductory document ",(0,i.jsx)(n.code,{children:"README.md"})," makes it show up when browsing the folder using the GitHub interface, while using ",(0,i.jsx)(n.code,{children:"index.md"})," makes the behavior more in line with how HTML files are served."]})}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:["If a folder only has one index page, it will be turned into a link instead of a category. This is useful for ",(0,i.jsx)(n.strong,{children:"asset collocation"}),":"]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"some-doc\n\u251C\u2500\u2500 index.md\n\u251C\u2500\u2500 img1.png\n\u2514\u2500\u2500 img2.png\n"})})]}),"\n",(0,i.jsxs)(t,{children:[(0,i.jsx)("summary",{children:"Customizing category index matching"}),(0,i.jsxs)(n.p,{children:["It is possible to opt out any of the category index conventions, or define even more conventions. You can inject your own ",(0,i.jsx)(n.code,{children:"isCategoryIndex"})," matcher through the ",(0,i.jsx)(n.a,{href:"#customize-the-sidebar-items-generator",children:(0,i.jsx)(n.code,{children:"sidebarItemsGenerator"})})," callback. For example, you can also pick ",(0,i.jsx)(n.code,{children:"intro"})," as another file name eligible for automatically becoming the category index."]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n plugins: [\n [\n '@docusaurus/plugin-content-docs',\n {\n async sidebarItemsGenerator({\n ...args,\n isCategoryIndex: defaultCategoryIndexMatcher, // The default matcher implementation, given below\n defaultSidebarItemsGenerator,\n }) {\n return defaultSidebarItemsGenerator({\n ...args,\n // highlight-start\n isCategoryIndex(doc) {\n return (\n // Also pick intro.md in addition to the default ones\n doc.fileName.toLowerCase() === 'intro' ||\n defaultCategoryIndexMatcher(doc)\n );\n },\n // highlight-end\n });\n },\n },\n ],\n ],\n};\n"})}),(0,i.jsx)(n.p,{children:"Or choose to not have any category index convention."}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n plugins: [\n [\n '@docusaurus/plugin-content-docs',\n {\n async sidebarItemsGenerator({\n ...args,\n isCategoryIndex: defaultCategoryIndexMatcher, // The default matcher implementation, given below\n defaultSidebarItemsGenerator,\n }) {\n return defaultSidebarItemsGenerator({\n ...args,\n // highlight-start\n isCategoryIndex() {\n // No doc will be automatically picked as category index\n return false;\n },\n // highlight-end\n });\n },\n },\n ],\n ],\n};\n"})}),(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"isCategoryIndex"})," matcher will be provided with three fields:"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"fileName"}),", the file's name without extension and with casing preserved"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"directories"}),", the list of directory names ",(0,i.jsx)(n.em,{children:"from the lowest level to the highest level"}),", relative to the docs root directory"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"extension"}),", the file's extension, with a leading dot."]}),"\n"]}),(0,i.jsxs)(n.p,{children:["For example, for a doc file at ",(0,i.jsx)(n.code,{children:"guides/sidebar/autogenerated.md"}),", the props the matcher receives are"]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const props = {\n fileName: 'autogenerated',\n directories: ['sidebar', 'guides'],\n extension: '.md',\n};\n"})}),(0,i.jsx)(n.p,{children:"The default implementation is:"}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"function isCategoryIndex({fileName, directories}) {\n const eligibleDocIndexNames = [\n 'index',\n 'readme',\n directories[0].toLowerCase(),\n ];\n return eligibleDocIndexNames.includes(fileName.toLowerCase());\n}\n"})})]}),"\n",(0,i.jsx)(n.h2,{id:"autogenerated-sidebar-metadata",children:"Autogenerated sidebar metadata"}),"\n",(0,i.jsxs)(n.p,{children:["For handwritten sidebar definitions, you would provide metadata to sidebar items through ",(0,i.jsx)(n.code,{children:"sidebars.js"}),"; for autogenerated, Docusaurus would read them from the item's respective file. In addition, you may want to adjust the relative position of each item because, by default, items within a sidebar slice will be generated in ",(0,i.jsx)(n.strong,{children:"alphabetical order"})," (using file and folder names)."]}),"\n",(0,i.jsx)(n.h3,{id:"doc-item-metadata",children:"Doc item metadata"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"label"}),", ",(0,i.jsx)(n.code,{children:"className"}),", and ",(0,i.jsx)(n.code,{children:"customProps"})," attributes are declared in front matter as ",(0,i.jsx)(n.code,{children:"sidebar_label"}),", ",(0,i.jsx)(n.code,{children:"sidebar_class_name"}),", and ",(0,i.jsx)(n.code,{children:"sidebar_custom_props"}),", respectively. Position can be specified in the same way, via ",(0,i.jsx)(n.code,{children:"sidebar_position"})," front matter."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-md",metastring:'title="docs/tutorials/tutorial-easy.md"',children:"---\n# highlight-start\nsidebar_position: 2\nsidebar_label: Easy\nsidebar_class_name: green\n# highlight-end\n---\n\n# Easy Tutorial\n\nThis is the easy tutorial!\n"})}),"\n",(0,i.jsx)(n.h3,{id:"category-item-metadata",children:"Category item metadata"}),"\n",(0,i.jsxs)(n.p,{children:["Add a ",(0,i.jsx)(n.code,{children:"_category_.json"})," or ",(0,i.jsx)(n.code,{children:"_category_.yml"})," file in the respective folder. You can specify any category metadata and also the ",(0,i.jsx)(n.code,{children:"position"})," metadata. ",(0,i.jsx)(n.code,{children:"label"}),", ",(0,i.jsx)(n.code,{children:"className"}),", ",(0,i.jsx)(n.code,{children:"position"}),", and ",(0,i.jsx)(n.code,{children:"customProps"})," will default to the respective values of the category's linked doc, if there is one."]}),"\n",(0,i.jsxs)(s.Z,{children:[(0,i.jsx)(o.Z,{value:"JSON",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",metastring:'title="docs/tutorials/_category_.json"',children:'{\n "position": 2.5,\n "label": "Tutorial",\n "collapsible": true,\n "collapsed": false,\n "className": "red",\n "link": {\n "type": "generated-index",\n "title": "Tutorial overview"\n },\n "customProps": {\n "description": "This description can be used in the swizzled DocCard"\n }\n}\n'})})}),(0,i.jsx)(o.Z,{value:"YAML",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-yml",metastring:'title="docs/tutorials/_category_.yml"',children:"position: 2.5 # float position is supported\nlabel: 'Tutorial'\ncollapsible: true # make the category collapsible\ncollapsed: false # keep the category open by default\nclassName: red\nlink:\n type: generated-index\n title: Tutorial overview\ncustomProps:\n description: This description can be used in the swizzled DocCard\n"})})})]}),"\n",(0,i.jsxs)(n.admonition,{type:"info",children:[(0,i.jsxs)(n.p,{children:["If the ",(0,i.jsx)(n.code,{children:"link"})," is explicitly specified, Docusaurus will not apply any ",(0,i.jsx)(n.a,{href:"#category-index-convention",children:"default conventions"}),"."]}),(0,i.jsxs)(n.p,{children:["The doc links can be specified relatively, e.g. if the category is generated with the ",(0,i.jsx)(n.code,{children:"guides"})," directory, ",(0,i.jsx)(n.code,{children:'"link": {"type": "doc", "id": "intro"}'})," will be resolved to the ID ",(0,i.jsx)(n.code,{children:"guides/intro"}),", only falling back to ",(0,i.jsx)(n.code,{children:"intro"})," if a doc with the former ID doesn't exist."]}),(0,i.jsxs)(n.p,{children:["You can also use ",(0,i.jsx)(n.code,{children:"link: null"})," to opt out of default conventions and not generate any category index page."]})]}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["The position metadata is only used ",(0,i.jsx)(n.strong,{children:"within a sidebar slice"}),": Docusaurus does not re-order other items of your sidebar."]})}),"\n",(0,i.jsx)(n.h2,{id:"using-number-prefixes",children:"Using number prefixes"}),"\n",(0,i.jsx)(n.p,{children:"A simple way to order an autogenerated sidebar is to prefix docs and folders by number prefixes, which also makes them appear in the file system in the same order when sorted by file name:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"docs\n\u251C\u2500\u2500 01-Intro.md\n\u251C\u2500\u2500 02-Tutorial Easy\n\u2502 \u251C\u2500\u2500 01-First Part.md\n\u2502 \u251C\u2500\u2500 02-Second Part.md\n\u2502 \u2514\u2500\u2500 03-End.md\n\u251C\u2500\u2500 03-Tutorial Advanced\n\u2502 \u251C\u2500\u2500 01-First Part.md\n\u2502 \u251C\u2500\u2500 02-Second Part.md\n\u2502 \u251C\u2500\u2500 03-Third Part.md\n\u2502 \u2514\u2500\u2500 04-End.md\n\u2514\u2500\u2500 04-End.md\n"})}),"\n",(0,i.jsxs)(n.p,{children:["To make it ",(0,i.jsx)(n.strong,{children:"easier to adopt"}),", Docusaurus supports ",(0,i.jsx)(n.strong,{children:"multiple number prefix patterns"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["By default, Docusaurus will ",(0,i.jsx)(n.strong,{children:"remove the number prefix"})," from the doc id, title, label, and URL paths."]}),"\n",(0,i.jsxs)(n.admonition,{type:"warning",children:[(0,i.jsxs)(n.p,{children:[(0,i.jsxs)(n.strong,{children:["Prefer using ",(0,i.jsx)(n.a,{href:"#autogenerated-sidebar-metadata",children:"additional metadata"})]}),"."]}),(0,i.jsxs)(n.p,{children:["Updating a number prefix can be annoying, as it can require ",(0,i.jsx)(n.strong,{children:"updating multiple existing Markdown links"}),":"]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-diff",metastring:'title="docs/02-Tutorial Easy/01-First Part.md"',children:"- Check the [Tutorial End](../04-End.mdx);\n+ Check the [Tutorial End](../05-End.mdx);\n"})})]}),"\n",(0,i.jsx)(n.h2,{id:"customize-the-sidebar-items-generator",children:"Customize the sidebar items generator"}),"\n",(0,i.jsxs)(n.p,{children:["You can provide a custom ",(0,i.jsx)(n.code,{children:"sidebarItemsGenerator"})," function in the docs plugin (or preset) config:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n plugins: [\n [\n '@docusaurus/plugin-content-docs',\n {\n // highlight-start\n async sidebarItemsGenerator({\n defaultSidebarItemsGenerator,\n numberPrefixParser,\n item,\n version,\n docs,\n categoriesMetadata,\n isCategoryIndex,\n }) {\n // Example: return an hardcoded list of static sidebar items\n return [\n {type: 'doc', id: 'doc1'},\n {type: 'doc', id: 'doc2'},\n ];\n },\n // highlight-end\n },\n ],\n ],\n};\n"})}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Re-use and enhance the default generator"})," instead of writing a generator from scratch: ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/blob/main/packages/docusaurus-plugin-content-docs/src/sidebars/generator.ts",children:"the default generator we provide"})," is 250 lines long."]}),(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Add, update, filter, re-order"})," the sidebar items according to your use case:"]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"// highlight-start\n// Reverse the sidebar items ordering (including nested category items)\nfunction reverseSidebarItems(items) {\n // Reverse items in categories\n const result = items.map((item) => {\n if (item.type === 'category') {\n return {...item, items: reverseSidebarItems(item.items)};\n }\n return item;\n });\n // Reverse items at current level\n result.reverse();\n return result;\n}\n// highlight-end\n\nexport default {\n plugins: [\n [\n '@docusaurus/plugin-content-docs',\n {\n // highlight-start\n async sidebarItemsGenerator({defaultSidebarItemsGenerator, ...args}) {\n const sidebarItems = await defaultSidebarItemsGenerator(args);\n return reverseSidebarItems(sidebarItems);\n },\n // highlight-end\n },\n ],\n ],\n};\n"})})]})]})}function m(e={}){let{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},58636:function(e,n,t){t.d(n,{Z:()=>a});var r=t(85893);t(67294);var i=t(90496);function a(e){let{children:n,hidden:t,className:a}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,i.Z)("tabItem_pnkT",a),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>b});var r=t(85893),i=t(67294),a=t(90496),s=t(54947),o=t(3620),d=t(844),l=t(97486),c=t(32263),u=t(16971);function h(e){return i.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||i.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function m(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var g=t(71607);function p(e){let{className:n,block:t,selectedValue:i,selectValue:o,tabValues:d}=e,l=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.o5)(),u=e=>{let n=e.currentTarget,t=d[l.indexOf(n)].value;t!==i&&(c(n),o(t))},h=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let t=l.indexOf(e.currentTarget)+1;n=l[t]??l[0];break}case"ArrowLeft":{let t=l.indexOf(e.currentTarget)-1;n=l[t]??l[l.length-1]}}n?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":t},n),children:d.map(e=>{let{value:n,label:t,attributes:s}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:i===n?0:-1,"aria-selected":i===n,ref:e=>{l.push(e)},onKeyDown:h,onClick:u,...s,className:(0,a.Z)("tabs__item","tabItem_AQgk",s?.className,{"tabs__item--active":i===n}),children:t??n},n)})})}function x(e){let{lazy:n,children:t,selectedValue:s}=e,o=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=o.find(e=>e.props.value===s);return e?(0,i.cloneElement)(e,{className:(0,a.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:o.map((e,n)=>(0,i.cloneElement)(e,{key:n,hidden:e.props.value!==s}))})}function f(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:r}=e,a=function(e){let{values:n,children:t}=e;return(0,i.useMemo)(()=>{let e=n??h(t).map(e=>{let{props:{value:n,label:t,attributes:r,default:i}}=e;return{value:n,label:t,attributes:r,default:i}});return!function(e){let n=(0,c.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[s,g]=(0,i.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let r=t.find(e=>e.default)??t[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:n,tabValues:a})),[p,x]=function(e){let{queryString:n=!1,groupId:t}=e,r=(0,o.k6)(),a=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,l._X)(a),(0,i.useCallback)(e=>{if(!a)return;let n=new URLSearchParams(r.location.search);n.set(a,e),r.replace({...r.location,search:n.toString()})},[a,r])]}({queryString:t,groupId:r}),[f,b]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[r,a]=(0,u.Nk)(t);return[r,(0,i.useCallback)(e=>{t&&a.set(e)},[t,a])]}({groupId:r}),j=(()=>{let e=p??f;return m({value:e,tabValues:a})?e:null})();return(0,d.Z)(()=>{j&&g(j)},[j]),{selectedValue:s,selectValue:(0,i.useCallback)(e=>{if(!m({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);g(e),x(e),b(e)},[x,b,a]),tabValues:a}}(e);return(0,r.jsxs)("div",{className:(0,a.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(p,{...n,...e}),(0,r.jsx)(x,{...n,...e})]})}function b(e){let n=(0,g.Z)();return(0,r.jsx)(f,{...e,children:h(e.children)},String(n))}},80980:function(e,n,t){t.d(n,{Z:()=>o,a:()=>s});var r=t(67294);let i={},a=r.createContext(i);function s(e){let n=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/44e06438.40c6b8ee.js b/assets/js/44e06438.40c6b8ee.js new file mode 100644 index 0000000000..a4102303df --- /dev/null +++ b/assets/js/44e06438.40c6b8ee.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["10770"],{69545:function(e,t,n){n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>a,toc:()=>c});var a=n(56805),o=n(85893),r=n(80980);let l={mdx:{format:"md"},date:"2019-10-22T20:00"},i="2.0.0-alpha.30",s={authorsImageUrls:[]},c=[];function p(e){return(0,o.jsx)(o.Fragment,{})}function u(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},80980:function(e,t,n){n.d(t,{Z:()=>i,a:()=>l});var a=n(67294);let o={},r=a.createContext(o);function l(e){let t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),a.createElement(r.Provider,{value:t},e.children)}},56805:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.30","source":"@site/changelog/source/2.0.0-alpha.30.md","title":"2.0.0-alpha.30","description":"- Fix babel transpilation include/exclude logic to be more efficient. This also fix a very weird bug TypeError: Cannot assign to read only property \'exports\' of object \'#\'.(#1868)","date":"2019-10-22T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-22T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.31","permalink":"/changelog/2.0.0-alpha.31"},"nextItem":{"title":"2.0.0-alpha.29","permalink":"/changelog/2.0.0-alpha.29"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/44f0a4a7.d24784b4.js b/assets/js/44f0a4a7.d24784b4.js new file mode 100644 index 0000000000..8f77dd0e7a --- /dev/null +++ b/assets/js/44f0a4a7.d24784b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["18398"],{68976:function(s,e,i){i.r(e),i.d(e,{assets:()=>a,contentTitle:()=>h,default:()=>u,frontMatter:()=>c,metadata:()=>r,toc:()=>n});var r=i(83422),o=i(85893),l=i(80980);let c={mdx:{format:"md"},date:"2020-12-17T20:00",authors:["aarongarciah","aeneasr","Alex1304","ArtFlag","borool","cindygu4","davidmauskop","dgilling","francoischalifour","hmil","lex111","LoicPoullain","manzinello","matijaSos","mpsq","oriooctopus","Romstar","sarthakkundra","Simek","sivaraam","slorber","Varshit07","woodrufs"]},h="2.0.0-alpha.70",a={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},n=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 23",id:"committers-23",level:2}];function t(s){let e={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,l.a)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3932",children:"#3932"})," feat(v2): Add Root theme element (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-module-type-aliases"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,o.jsx)(e.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3916",children:"#3916"})," feat(v2): Add localeDropdown navbar item type + i18n localeConfigs field (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-mdx-loader"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-types"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3904",children:"#3904"})," feat(v2): inline table-of-contents + refactor TOC (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3888",children:"#3888"})," feat(v2): add custom props for consumption by swizzled sidebar (",(0,o.jsx)(e.a,{href:"https://github.com/oriooctopus",children:"@oriooctopus"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3842",children:"#3842"})," feat(v2): enable feeds by default in blog plugin (",(0,o.jsx)(e.a,{href:"https://github.com/cindygu4",children:"@cindygu4"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["Other\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3827",children:"#3827"})," feat(v2): add automated canary releases (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3761",children:"#3761"})," feat(v2): Added Lighthouse CI to PR checks (",(0,o.jsx)(e.a,{href:"https://github.com/sarthakkundra",children:"@sarthakkundra"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-1.x"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-module-type-aliases"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-common"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,o.jsx)(e.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3325",children:"#3325"})," feat(v2): core v2 i18n support + Docusaurus site Crowdin integration (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-mdx-loader"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-types"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3904",children:"#3904"})," feat(v2): inline table-of-contents + refactor TOC (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3842",children:"#3842"})," feat(v2): enable feeds by default in blog plugin (",(0,o.jsx)(e.a,{href:"https://github.com/cindygu4",children:"@cindygu4"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3922",children:"#3922"})," fix(v2): fix navbar items issue on Windows? (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3920",children:"#3920"})," fix(v2): i18n translation extractor should handle JSX formatting edge cases better (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3896",children:"#3896"})," fix(v2): do not treat at-rules during CSS minification (",(0,o.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3869",children:"#3869"})," fix(v2): load plugin commands async to fix broken plugin CLI commands ",(0,o.jsx)(e.code,{children:"docs:version"})," (",(0,o.jsx)(e.a,{href:"https://github.com/aeneasr",children:"@aeneasr"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3921",children:"#3921"})," fix(v2): remove useless console log (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3895",children:"#3895"})," fix(v2): use proper element for pagination nav label (",(0,o.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3882",children:"#3882"})," fix(v2): improve Footer structure, add class names, use Infima transition (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3877",children:"#3877"})," fix(v2): dynamic dark mode detection without toggle widget (",(0,o.jsx)(e.a,{href:"https://github.com/hmil",children:"@hmil"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3854",children:"#3854"})," fix(v2): refactor icons in theme-classic, fix swizzle issue (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3823",children:"#3823"})," fix(v2): support rendering of singular tabs (",(0,o.jsx)(e.a,{href:"https://github.com/aeneasr",children:"@aeneasr"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3817",children:"#3817"})," fix(v2): Allow footer logo at attribute to be empty (",(0,o.jsx)(e.a,{href:"https://github.com/aarongarciah",children:"@aarongarciah"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3900",children:"#3900"})," fix(v2): correct typo in metas generated for Twitter cards (",(0,o.jsx)(e.a,{href:"https://github.com/mpsq",children:"@mpsq"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["Other\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3872",children:"#3872"})," chore: add missing v1 generated files to ignores (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3833",children:"#3833"})," fix(v2): temporary: disable crowdin until PR env variable permission fixed (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"stylelint-copyright"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3852",children:"#3852"})," fix(v2): to fix the canary release GH workflow (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3853",children:"#3853"})," fix(v2): fix DocSearch keyboard navigator (",(0,o.jsx)(e.a,{href:"https://github.com/francoischalifour",children:"@francoischalifour"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3837",children:"#3837"})," fix(v2): update SearchPage styling, fix appearance in dark mode (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3828",children:"#3828"})," fix(v2): restore Algolia search (",(0,o.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3819",children:"#3819"})," feat(search): update DocSearch to alpha.31 (",(0,o.jsx)(e.a,{href:"https://github.com/francoischalifour",children:"@francoischalifour"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3839",children:"#3839"})," fix(v2): remove unnecessary backtick in output (",(0,o.jsx)(e.a,{href:"https://github.com/sivaraam",children:"@sivaraam"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3829",children:"#3829"})," fix(v2): fix search (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,o.jsx)(e.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3824",children:"#3824"})," fix(v2): update notifier dist tag (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3880",children:"#3880"})," polish(v2): improve docusaurus deploy logs (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3931",children:"#3931"})," docs(v2): blog.md with docs: false, for blog-only mode (",(0,o.jsx)(e.a,{href:"https://github.com/Romstar",children:"@Romstar"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3924",children:"#3924"})," docs(v2): Removed unnecessary closing parenthesis (",(0,o.jsx)(e.a,{href:"https://github.com/Varshit07",children:"@Varshit07"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3928",children:"#3928"})," docs(v2): add FoalTS to showcase page (",(0,o.jsx)(e.a,{href:"https://github.com/LoicPoullain",children:"@LoicPoullain"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3899",children:"#3899"})," docs(v2): Move sidebar content to its own page (",(0,o.jsx)(e.a,{href:"https://github.com/ArtFlag",children:"@ArtFlag"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3856",children:"#3856"})," docs(v2): typo (",(0,o.jsx)(e.a,{href:"https://github.com/borool",children:"@borool"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3891",children:"#3891"})," docs(v2): Wrap section about custom domains in :::info (",(0,o.jsx)(e.a,{href:"https://github.com/Alex1304",children:"@Alex1304"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3871",children:"#3871"})," docs(v2): missing ",(0,o.jsx)(e.code,{children:"<ColorGenerator/>"})," mdx import (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3873",children:"#3873"})," docs(v2): From docusaurus-migrate to @docusaurus/migrate (",(0,o.jsx)(e.a,{href:"https://github.com/manzinello",children:"@manzinello"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3867",children:"#3867"})," docs(v2): Add docusaurus-plugin-moesif to community plugins (",(0,o.jsx)(e.a,{href:"https://github.com/dgilling",children:"@dgilling"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3851",children:"#3851"})," docs(v2): Fixed Typo: Hided => Hidden (",(0,o.jsx)(e.a,{href:"https://github.com/woodrufs",children:"@woodrufs"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3832",children:"#3832"})," docs(v2): Add wasp to showcase (",(0,o.jsx)(e.a,{href:"https://github.com/matijaSos",children:"@matijaSos"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3813",children:"#3813"})," docs(v2): render deployment doc (",(0,o.jsx)(e.a,{href:"https://github.com/davidmauskop",children:"@davidmauskop"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3835",children:"#3835"})," docs(v2): update Client API docs page (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3831",children:"#3831"})," docs(v2): Docs refactoring and reorganization (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Other\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3912",children:"#3912"})," chore(v2): remove docs for alpha v64 (",(0,o.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3907",children:"#3907"})," chore(ci): fix canary release filtering (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3902",children:"#3902"})," chore(deps): bump ini from 1.3.5 to 1.3.7 (",(0,o.jsx)(e.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3884",children:"#3884"})," chore(ci): increase Lighthouse CI max_timeout (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3883",children:"#3883"})," chore(v2): remove docs for alpha v62-63 (",(0,o.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3863",children:"#3863"})," chore(ci): run V1 Build and Migration CLI tests conditionally on CI (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3861",children:"#3861"})," chore(ci): reduce number of jobs, remove build from lighthouse pipeline (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3860",children:"#3860"})," chore: add Yarn v2 cache directory to ignores (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3858",children:"#3858"})," chore(v2): disable Crowdin for deploy previews (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3857",children:"#3857"})," fix(v2): fix Crowdin ci commands (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3849",children:"#3849"})," chore(ci): CI scripts cleanup, add Node 14 runs, bump checkout action (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3850",children:"#3850"})," chore(v2): i18n CI: add write-translations call (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3848",children:"#3848"})," chore(v2): fix CI typo (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3847",children:"#3847"})," chore(v2): wire production Crowdin project + setup (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3846",children:"#3846"})," chore(v2): fix PRs not able to add lighthouse/buildsize comment from works (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-1.x"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3865",children:"#3865"})," chore(v2): fix ignore paths and Prettier commands in themes (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-cssnano-preset"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-mdx-loader"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-migrate"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-common"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-utils-validation"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,o.jsx)(e.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3844",children:"#3844"})," chore(v2): fix several lint warnings, add missing types, cleanup (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-common"}),", ",(0,o.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3838",children:"#3838"})," refactor(v2): extract site title formatter to theme-common util (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"committers-23",children:"Committers: 23"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["Aar\xf3n Garc\xeda Herv\xe1s (",(0,o.jsx)(e.a,{href:"https://github.com/aarongarciah",children:"@aarongarciah"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Alex1304 (",(0,o.jsx)(e.a,{href:"https://github.com/Alex1304",children:"@Alex1304"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Alexey Pyltsyn (",(0,o.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Arthur (",(0,o.jsx)(e.a,{href:"https://github.com/ArtFlag",children:"@ArtFlag"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Bartosz Kaszubowski (",(0,o.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Cindy Gu (",(0,o.jsx)(e.a,{href:"https://github.com/cindygu4",children:"@cindygu4"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Derric Gilling (",(0,o.jsx)(e.a,{href:"https://github.com/dgilling",children:"@dgilling"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Fran\xe7ois Chalifour (",(0,o.jsx)(e.a,{href:"https://github.com/francoischalifour",children:"@francoischalifour"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Hadrien Milano (",(0,o.jsx)(e.a,{href:"https://github.com/hmil",children:"@hmil"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Kaartic Sivaraam (",(0,o.jsx)(e.a,{href:"https://github.com/sivaraam",children:"@sivaraam"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Lo\xefc Poullain (",(0,o.jsx)(e.a,{href:"https://github.com/LoicPoullain",children:"@LoicPoullain"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Matija Sosic (",(0,o.jsx)(e.a,{href:"https://github.com/matijaSos",children:"@matijaSos"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Matteo Manzinello (",(0,o.jsx)(e.a,{href:"https://github.com/manzinello",children:"@manzinello"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["M\xe9ril (",(0,o.jsx)(e.a,{href:"https://github.com/mpsq",children:"@mpsq"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Oliver Ullman (",(0,o.jsx)(e.a,{href:"https://github.com/oriooctopus",children:"@oriooctopus"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Rami (",(0,o.jsx)(e.a,{href:"https://github.com/Romstar",children:"@Romstar"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Sarthak kundra (",(0,o.jsx)(e.a,{href:"https://github.com/sarthakkundra",children:"@sarthakkundra"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Stephen Woodruff (",(0,o.jsx)(e.a,{href:"https://github.com/woodrufs",children:"@woodrufs"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["S\xe9bastien Lorber (",(0,o.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(e.li,{children:["Varshit Shah (",(0,o.jsx)(e.a,{href:"https://github.com/Varshit07",children:"@Varshit07"}),")"]}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"https://github.com/borool",children:"@borool"})}),"\n",(0,o.jsx)(e.li,{children:(0,o.jsx)(e.a,{href:"https://github.com/davidmauskop",children:"@davidmauskop"})}),"\n",(0,o.jsxs)(e.li,{children:["hackerman (",(0,o.jsx)(e.a,{href:"https://github.com/aeneasr",children:"@aeneasr"}),")"]}),"\n"]})]})}function u(s={}){let{wrapper:e}={...(0,l.a)(),...s.components};return e?(0,o.jsx)(e,{...s,children:(0,o.jsx)(t,{...s})}):t(s)}},80980:function(s,e,i){i.d(e,{Z:()=>h,a:()=>c});var r=i(67294);let o={},l=r.createContext(o);function c(s){let e=r.useContext(l);return r.useMemo(function(){return"function"==typeof s?s(e):{...e,...s}},[e,s])}function h(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(o):s.components||o:c(s.components),r.createElement(l.Provider,{value:e},s.children)}},83422:function(s){s.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.70","source":"@site/changelog/source/2.0.0-alpha.70.md","title":"2.0.0-alpha.70","description":"New Feature","date":"2020-12-17T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Aar\xf3n Garc\xeda Herv\xe1s","alias":"aarongarciah","url":"https://github.com/aarongarciah","imageURL":"https://github.com/aarongarciah.png","key":"aarongarciah","page":null},{"name":"hackerman","alias":"aeneasr","url":"https://github.com/aeneasr","imageURL":"https://github.com/aeneasr.png","key":"aeneasr","page":null},{"name":"Alex1304","alias":"Alex1304","url":"https://github.com/Alex1304","imageURL":"https://github.com/Alex1304.png","key":"Alex1304","page":null},{"name":"Arthur","alias":"ArtFlag","url":"https://github.com/ArtFlag","imageURL":"https://github.com/ArtFlag.png","key":"ArtFlag","page":null},{"name":"borool","alias":"borool","url":"https://github.com/borool","imageURL":"https://github.com/borool.png","key":"borool","page":null},{"name":"Cindy Gu","alias":"cindygu4","url":"https://github.com/cindygu4","imageURL":"https://github.com/cindygu4.png","key":"cindygu4","page":null},{"name":"davidmauskop","alias":"davidmauskop","url":"https://github.com/davidmauskop","imageURL":"https://github.com/davidmauskop.png","key":"davidmauskop","page":null},{"name":"Derric Gilling","alias":"dgilling","url":"https://github.com/dgilling","imageURL":"https://github.com/dgilling.png","key":"dgilling","page":null},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},{"name":"Hadrien Milano","alias":"hmil","url":"https://github.com/hmil","imageURL":"https://github.com/hmil.png","key":"hmil","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lo\xefc Poullain","alias":"LoicPoullain","url":"https://github.com/LoicPoullain","imageURL":"https://github.com/LoicPoullain.png","key":"LoicPoullain","page":null},{"name":"Matteo Manzinello","alias":"manzinello","url":"https://github.com/manzinello","imageURL":"https://github.com/manzinello.png","key":"manzinello","page":null},{"name":"Matija Sosic","alias":"matijaSos","url":"https://github.com/matijaSos","imageURL":"https://github.com/matijaSos.png","key":"matijaSos","page":null},{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},{"name":"Oliver Ullman","alias":"oriooctopus","url":"https://github.com/oriooctopus","imageURL":"https://github.com/oriooctopus.png","key":"oriooctopus","page":null},{"name":"Rami","alias":"Romstar","url":"https://github.com/Romstar","imageURL":"https://github.com/Romstar.png","key":"Romstar","page":null},{"name":"Sarthak kundra","alias":"sarthakkundra","url":"https://github.com/sarthakkundra","imageURL":"https://github.com/sarthakkundra.png","key":"sarthakkundra","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"Kaartic Sivaraam","alias":"sivaraam","url":"https://github.com/sivaraam","imageURL":"https://github.com/sivaraam.png","key":"sivaraam","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Varshit Shah","alias":"Varshit07","url":"https://github.com/Varshit07","imageURL":"https://github.com/Varshit07.png","key":"Varshit07","page":null},{"name":"Stephen Woodruff","alias":"woodrufs","url":"https://github.com/woodrufs","imageURL":"https://github.com/woodrufs.png","key":"woodrufs","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-12-17T20:00","authors":["aarongarciah","aeneasr","Alex1304","ArtFlag","borool","cindygu4","davidmauskop","dgilling","francoischalifour","hmil","lex111","LoicPoullain","manzinello","matijaSos","mpsq","oriooctopus","Romstar","sarthakkundra","Simek","sivaraam","slorber","Varshit07","woodrufs"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.71","permalink":"/changelog/2.0.0-alpha.71"},"nextItem":{"title":"2.0.0-alpha.69","permalink":"/changelog/2.0.0-alpha.69"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/45401.a7923c4b.js b/assets/js/45401.a7923c4b.js new file mode 100644 index 0000000000..71facd700d --- /dev/null +++ b/assets/js/45401.a7923c4b.js @@ -0,0 +1,60 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["45401"],{97770:function(e,t,r){var n,i;t.CancellationTokenSource=t.CancellationToken=void 0;let a=r(48094),s=r(78472),o=r(345);(i=n||(t.CancellationToken=n={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:o.Event.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:o.Event.None}),i.is=function(e){return e&&(e===i.None||e===i.Cancelled||s.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)};let l=Object.freeze(function(e,t){let r=(0,a.default)().timer.setTimeout(e.bind(t),0);return{dispose(){r.dispose()}}});class u{constructor(){this._isCancelled=!1}cancel(){!this._isCancelled&&(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?l:(this._emitter||(this._emitter=new o.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new u),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof u&&this._token.dispose():this._token=n.None}}},345:function(e,t,r){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;let i=r(48094);!function(e){let t={dispose(){}};e.None=function(){return t}}(n||(t.Event=n={}));class a{add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e){if(this._contexts[n]===t){this._callbacks.splice(n,1),this._contexts.splice(n,1);return}r=!0}if(r)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],r=this._callbacks.slice(0),n=this._contexts.slice(0);for(let a=0,s=r.length;a<s;a++)try{t.push(r[a].apply(n[a],e))}catch(e){(0,i.default)().console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class s{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,r)=>{this._callbacks||(this._callbacks=new a),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let n={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),n.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},78472:function(e,t){function r(e){return"string"==typeof e||e instanceof String}function n(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=r,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=n,t.stringArray=function(e){return n(e)&&e.every(e=>r(e))}},48094:function(e,t){let r;function n(){if(void 0===r)throw Error("No runtime abstraction layer installed");return r}Object.defineProperty(t,"__esModule",{value:!0}),(n||(n={})).install=function(e){if(void 0===e)throw Error("No runtime abstraction layer provided");r=e},t.default=n},73622:function(e,t,r){r.d(t,{M:()=>o});var n=r(78983),i=r(47437),a=class extends n.T7{static{(0,n.eW)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},s={parser:{TokenBuilder:(0,n.eW)(()=>new a,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new n.nr,"ValueConverter")}};function o(e=i.uZ){let t=(0,i.f3)((0,i.Jr)(e),n.GS),r=(0,i.f3)((0,i.Q)({shared:t}),n.F_,s);return t.ServiceRegistry.register(r),{shared:t,Info:r}}(0,n.eW)(o,"createInfoServices")},43808:function(e,t,r){r.d(t,{l:()=>l});var n=r(78983),i=r(47437),a=class extends n.T7{static{(0,n.eW)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},s=class extends n.kb{static{(0,n.eW)(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},o={parser:{TokenBuilder:(0,n.eW)(()=>new a,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new s,"ValueConverter")}};function l(e=i.uZ){let t=(0,i.f3)((0,i.Jr)(e),n.GS),r=(0,i.f3)((0,i.Q)({shared:t}),n.WH,o);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}(0,n.eW)(l,"createPieServices")},43192:function(e,t,r){r.d(t,{g:()=>o});var n=r(78983),i=r(47437),a=class extends n.T7{static{(0,n.eW)(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},s={parser:{TokenBuilder:(0,n.eW)(()=>new a,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new n.nr,"ValueConverter")}};function o(e=i.uZ){let t=(0,i.f3)((0,i.Jr)(e),n.GS),r=(0,i.f3)((0,i.Q)({shared:t}),n.bb,s);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}(0,n.eW)(o,"createPacketServices")},62771:function(e,t,r){r.d(t,{i:()=>l});var n=r(78983),i=r(47437),a=class extends n.T7{static{(0,n.eW)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},s=class extends n.kb{static{(0,n.eW)(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},o={parser:{TokenBuilder:(0,n.eW)(()=>new a,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new s,"ValueConverter")}};function l(e=i.uZ){let t=(0,i.f3)((0,i.Jr)(e),n.GS),r=(0,i.f3)((0,i.Q)({shared:t}),n.Qr,o);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}(0,n.eW)(l,"createArchitectureServices")},80294:function(e,t,r){r.d(t,{z:()=>o});var n=r(78983),i=r(47437),a=class extends n.T7{static{(0,n.eW)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},s={parser:{TokenBuilder:(0,n.eW)(()=>new a,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new n.nr,"ValueConverter")}};function o(e=i.uZ){let t=(0,i.f3)((0,i.Jr)(e),n.GS),r=(0,i.f3)((0,i.Q)({shared:t}),n.vn,s);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}(0,n.eW)(o,"createGitGraphServices")},78983:function(e,t,r){r.d(t,{F_:()=>C,GS:()=>N,Qr:()=>w,T7:()=>M,WH:()=>L,bb:()=>$,eW:()=>c,kb:()=>_,nr:()=>P,vn:()=>b});var n,i,a,s,o,l=r(47437),u=Object.defineProperty,c=(e,t)=>u(e,"name",{value:t,configurable:!0});c(function(e){return g.isInstance(e,"Architecture")},"isArchitecture");var d="Branch";c(function(e){return g.isInstance(e,d)},"isBranch");var h="Commit";c(function(e){return g.isInstance(e,h)},"isCommit"),c(function(e){return g.isInstance(e,"Common")},"isCommon");var f="GitGraph";c(function(e){return g.isInstance(e,f)},"isGitGraph"),c(function(e){return g.isInstance(e,"Info")},"isInfo");var p="Merge";c(function(e){return g.isInstance(e,p)},"isMerge"),c(function(e){return g.isInstance(e,"Packet")},"isPacket"),c(function(e){return g.isInstance(e,"PacketBlock")},"isPacketBlock"),c(function(e){return g.isInstance(e,"Pie")},"isPie"),c(function(e){return g.isInstance(e,"PieSection")},"isPieSection");var m=class extends l.$v{static{c(this,"MermaidAstReflection")}getAllTypes(){return["Architecture","Branch","Checkout","CherryPicking","Commit","Common","Direction","Edge","GitGraph","Group","Info","Junction","Merge","Packet","PacketBlock","Pie","PieSection","Service","Statement"]}computeIsSubtype(e,t){switch(e){case d:case"Checkout":case"CherryPicking":case h:case p:return this.isSubtype("Statement",t);case"Direction":return this.isSubtype(f,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;throw Error(`${t} is not a valid reference id.`)}getTypeMetaData(e){switch(e){case"Architecture":return{name:"Architecture",properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case"Branch":return{name:"Branch",properties:[{name:"name"},{name:"order"}]};case"Checkout":return{name:"Checkout",properties:[{name:"branch"}]};case"CherryPicking":return{name:"CherryPicking",properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case"Commit":return{name:"Commit",properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Common":return{name:"Common",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Edge":return{name:"Edge",properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case"GitGraph":return{name:"GitGraph",properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case"Group":return{name:"Group",properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case"Info":return{name:"Info",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Junction":return{name:"Junction",properties:[{name:"id"},{name:"in"}]};case"Merge":return{name:"Merge",properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Packet":return{name:"Packet",properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case"PacketBlock":return{name:"PacketBlock",properties:[{name:"end"},{name:"label"},{name:"start"}]};case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case"PieSection":return{name:"PieSection",properties:[{name:"label"},{name:"value"}]};case"Service":return{name:"Service",properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case"Direction":return{name:"Direction",properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:e,properties:[]}}}},g=new m,y=c(()=>n??(n=(0,l.sC)('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"InfoGrammar"),T=c(()=>i??(i=(0,l.sC)(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),v=c(()=>a??(a=(0,l.sC)('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"PieGrammar"),E=c(()=>s??(s=(0,l.sC)('{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","name":"Architecture","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LeftPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RightPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Arrow","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"ArchitectureGrammar"),R=c(()=>o??(o=(0,l.sC)(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),A={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},k={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},I={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},x={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},S={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},N={AstReflection:c(()=>new m,"AstReflection")},C={Grammar:c(()=>y(),"Grammar"),LanguageMetaData:c(()=>A,"LanguageMetaData"),parser:{}},$={Grammar:c(()=>T(),"Grammar"),LanguageMetaData:c(()=>k,"LanguageMetaData"),parser:{}},L={Grammar:c(()=>v(),"Grammar"),LanguageMetaData:c(()=>I,"LanguageMetaData"),parser:{}},w={Grammar:c(()=>E(),"Grammar"),LanguageMetaData:c(()=>x,"LanguageMetaData"),parser:{}},b={Grammar:c(()=>R(),"Grammar"),LanguageMetaData:c(()=>S,"LanguageMetaData"),parser:{}},O={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},_=class extends l.tI{static{c(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return(void 0===n&&(n=this.runCustomConverter(e,t,r)),void 0===n)?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=O[e.name];if(void 0===n)return;let i=n.exec(t);return null===i?void 0:void 0!==i[1]?i[1].trim().replace(/[\t ]{2,}/gm," "):void 0!==i[2]?i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n"):void 0}},P=class extends _{static{c(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},M=class extends l.PH{static{c(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}};(class extends null{static{c(this,"CommonTokenBuilder")}})},16750:function(e,t,r){r.d(t,{Qc:()=>s}),r(80294),r(73622),r(43192),r(43808),r(62771);var n=r(78983),i={},a={info:(0,n.eW)(async()=>{let{createInfoServices:e}=await r.e("79896").then(r.bind(r,68241)),t=e().Info.parser.LangiumParser;i.info=t},"info"),packet:(0,n.eW)(async()=>{let{createPacketServices:e}=await r.e("8584").then(r.bind(r,7425)),t=e().Packet.parser.LangiumParser;i.packet=t},"packet"),pie:(0,n.eW)(async()=>{let{createPieServices:e}=await r.e("74753").then(r.bind(r,76846)),t=e().Pie.parser.LangiumParser;i.pie=t},"pie"),architecture:(0,n.eW)(async()=>{let{createArchitectureServices:e}=await r.e("36927").then(r.bind(r,49866)),t=e().Architecture.parser.LangiumParser;i.architecture=t},"architecture"),gitGraph:(0,n.eW)(async()=>{let{createGitGraphServices:e}=await r.e("39116").then(r.bind(r,82058)),t=e().GitGraph.parser.LangiumParser;i.gitGraph=t},"gitGraph")};async function s(e,t){let r=a[e];if(!r)throw Error(`Unknown diagram type: ${e}`);i[e]||await r();let n=i[e].parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new o(n);return n.value}(0,n.eW)(s,"parse");var o=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map(e=>e.message).join("\n")} ${e.parserErrors.map(e=>e.message).join("\n")}`),this.result=e}static{(0,n.eW)(this,"MermaidParseError")}}},47437:function(e,t,r){function n(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function i(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText}function a(e){return"object"==typeof e&&null!==e&&n(e.container)&&i(e.reference)&&"string"==typeof e.message}r.d(t,{PH:()=>oU,$v:()=>s,tI:()=>oF,uZ:()=>lq,Q:()=>lG,Jr:()=>lB,f3:()=>lK,sC:()=>lJ});class s{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return n(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(void 0!==n)return n;{let n=this.computeIsSubtype(e,t);return r[t]=n,n}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),r=[];for(let n of t)this.isSubtype(n,e)&&r.push(n);return this.allSubtypes[e]=r,r}}}function o(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function l(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function u(e){return o(e)&&"string"==typeof e.fullText}class c{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e;let t=[],r=this.iterator();do void 0!==(e=r.next()).value&&t.push(e.value);while(!e.done);return t}toSet(){return new Set(this)}toMap(e,t){return new Map(this.map(r=>[e?e(r):r,t?t(r):r]))}toString(){return this.join()}concat(e){let t=e[Symbol.iterator]();return new c(()=>({first:this.startFn(),firstDone:!1}),e=>{let r;if(!e.firstDone){do if(!(r=this.nextFn(e.first)).done)return r;while(!r.done);e.firstDone=!0}do if(!(r=t.next()).done)return r;while(!r.done);return f})}join(e=","){let t;let r=this.iterator(),n="",i=!1;do{var a;(t=r.next()).done||(i&&(n+=e),n+="string"==typeof(a=t.value)?a:void 0===a?"undefined":"function"==typeof a.toString?a.toString():Object.prototype.toString.call(a)),i=!0}while(!t.done);return n}indexOf(e,t=0){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(n>=t&&i.value===e)return n;i=r.next(),n++}return -1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(e){return new c(this.startFn,t=>{let{done:r,value:n}=this.nextFn(t);return r?f:{done:!1,value:e(n)}})}filter(e){return new c(this.startFn,t=>{let r;do if(!(r=this.nextFn(t)).done&&e(r.value))return r;while(!r.done);return f})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let r=this.iterator(),n=t,i=r.next();for(;!i.done;)n=void 0===n?i.value:e(n,i.value),i=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let n=e.next();if(n.done)return r;let i=this.recursiveReduce(e,t,r);return void 0===i?n.value:t(i,n.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return -1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new c(()=>({this:this.startFn()}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}let{done:r,value:n}=this.nextFn(t.this);if(!r){let r=e(n);if(!d(r))return{done:!1,value:r};t.iterator=r[Symbol.iterator]()}}while(t.iterator);return f})}flat(e){if(void 0===e&&(e=1),e<=0)return this;let t=e>1?this.flat(e-1):this;return new c(()=>({this:t.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:r,value:n}=t.nextFn(e.this);if(!r){if(!d(n))return{done:!1,value:n};e.iterator=n[Symbol.iterator]()}}while(e.iterator);return f})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new c(()=>{let t=this.startFn();for(let r=0;r<e&&!this.nextFn(t).done;r++);return t},this.nextFn)}limit(e){return new c(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e)?f:this.nextFn(t.state))}distinct(e){let t=new Set;return this.filter(r=>{let n=e?e(r):r;return!t.has(n)&&(t.add(n),!0)})}exclude(e,t){let r=new Set;for(let n of e){let e=t?t(n):n;r.add(e)}return this.filter(e=>{let n=t?t(e):e;return!r.has(n)})}}function d(e){return!!e&&"function"==typeof e[Symbol.iterator]}let h=new c(()=>void 0,()=>f),f=Object.freeze({done:!0,value:void 0});function p(...e){if(1===e.length){let t=e[0];if(t instanceof c)return t;if(d(t))return new c(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new c(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:f)}return e.length>1?new c(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let r=e[t.collIndex++];d(r)?t.iterator=r[Symbol.iterator]():r&&"number"==typeof r.length&&(t.array=r)}}while(t.iterator||t.array||t.collIndex<e.length);return f}):h}class m extends c{constructor(e,t,r){super(()=>({iterators:(null==r?void 0:r.includeRoot)?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){let r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return f})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}function g(e){return new m(e,e=>o(e)?e.content:[],{includeRoot:!0})}function y(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function T(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}(t2=t4||(t4={})).sum=function(e){return e.reduce((e,t)=>e+t,0)},t2.product=function(e){return e.reduce((e,t)=>e*t,0)},t2.min=function(e){return e.reduce((e,t)=>Math.min(e,t))},t2.max=function(e){return e.reduce((e,t)=>Math.max(e,t))},(t3=t7||(t7={}))[t3.Before=0]="Before",t3[t3.After=1]="After",t3[t3.OverlapFront=2]="OverlapFront",t3[t3.OverlapBack=3]="OverlapBack",t3[t3.Inside=4]="Inside";let v=/^[\w\p{L}]$/u;function E(e,t){return l(e)&&t.includes(e.tokenType.name)}class R extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function A(e){throw Error("Error! The input value was not handled.")}let k="AbstractRule",I="AbstractType",x="Condition",S="ValueLiteral",N="AbstractElement",C="BooleanLiteral",$="Conjunction",L="Disjunction",w="InferredType";function b(e){return ey.isInstance(e,w)}let O="Interface";function _(e){return ey.isInstance(e,O)}let P="Negation",M="ParameterReference",D="ParserRule";function Z(e){return ey.isInstance(e,D)}let U="SimpleType",F="TerminalRule";function G(e){return ey.isInstance(e,F)}let B="Type";function K(e){return ey.isInstance(e,B)}let j="Action";function V(e){return ey.isInstance(e,j)}let W="Alternatives";function H(e){return ey.isInstance(e,W)}let z="Assignment";function Y(e){return ey.isInstance(e,z)}let q="CharacterRange",X="CrossReference";function Q(e){return ey.isInstance(e,X)}let J="EndOfFile",ee="Group";function et(e){return ey.isInstance(e,ee)}let er="Keyword";function en(e){return ey.isInstance(e,er)}let ei="NegatedToken",ea="RegexToken",es="RuleCall";function eo(e){return ey.isInstance(e,es)}let el="TerminalAlternatives",eu="TerminalGroup",ec="TerminalRuleCall";function ed(e){return ey.isInstance(e,ec)}let eh="UnorderedGroup";function ef(e){return ey.isInstance(e,eh)}let ep="UntilToken",em="Wildcard";class eg extends s{getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,t){switch(e){case j:case W:case z:case q:case X:case J:case ee:case er:case ei:case ea:case es:case el:case eu:case ec:case eh:case ep:case em:return this.isSubtype(N,t);case"ArrayLiteral":case"NumberLiteral":case"StringLiteral":return this.isSubtype(S,t);case"ArrayType":case"ReferenceType":case U:case"UnionType":return this.isSubtype("TypeDefinition",t);case C:return this.isSubtype(x,t)||this.isSubtype(S,t);case $:case L:case P:case M:return this.isSubtype(x,t);case w:case O:case B:return this.isSubtype(I,t);case D:return this.isSubtype(k,t)||this.isSubtype(I,t);case F:return this.isSubtype(k,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return I;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return k;case"Grammar:usedGrammars":return"Grammar";case"NamedArgument:parameter":case"ParameterReference:parameter":return"Parameter";case"TerminalRuleCall:rule":return F;default:throw Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}let ey=new eg;function eT(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function ev(e){let t=function(e){for(;e.$container;)e=e.$container;return e}(e).$document;if(!t)throw Error("AST node has no document.");return t}function eE(e,t){if(!e)throw Error("Node must be an AstNode.");let r=null==t?void 0:t.range;return new c(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let i=t.keys[t.keyIndex];if(!i.startsWith("$")){let a=e[i];if(n(a)){if(t.keyIndex++,ek(a,r))return{done:!1,value:a}}else if(Array.isArray(a)){for(;t.arrayIndex<a.length;){let e=a[t.arrayIndex++];if(n(e)&&ek(e,r))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return f})}function eR(e,t){if(!e)throw Error("Root node must be an AstNode.");return new m(e,e=>eE(e,t))}function eA(e,t){if(e){if((null==t?void 0:t.range)&&!ek(e,t.range))return new m(e,()=>[])}else throw Error("Root node must be an AstNode.");return new m(e,e=>eE(e,t),{includeRoot:!0})}function ek(e,t){var r;if(!t)return!0;let n=null===(r=e.$cstNode)||void 0===r?void 0:r.range;return!!n&&function(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<e.start.character)return t7.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>t.end.character)return t7.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return r&&n?t7.Inside:r?t7.OverlapBack:t7.OverlapFront}(n,t)>t7.After}function eI(e){return new c(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith("$")){let n=e[r];if(i(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){let a=t.arrayIndex++,s=n[a];if(i(s))return{done:!1,value:{reference:s,container:e,property:r,index:a}}}t.arrayIndex=0}}t.keyIndex++}return f})}function ex(e){return e.charCodeAt(0)}function eS(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function eN(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function eC(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function e$(){throw Error("Internal Error - Should never get here!")}function eL(e){return"Character"===e.type}let ew=[];for(let e=ex("0");e<=ex("9");e++)ew.push(e);let eb=[ex("_")].concat(ew);for(let e=ex("a");e<=ex("z");e++)eb.push(e);for(let e=ex("A");e<=ex("Z");e++)eb.push(e);let eO=[ex(" "),ex("\f"),ex("\n"),ex("\r"),ex(" "),ex("\v"),ex(" "),ex("\xa0"),ex("\u1680"),ex("\u2000"),ex("\u2001"),ex("\u2002"),ex("\u2003"),ex("\u2004"),ex("\u2005"),ex("\u2006"),ex("\u2007"),ex("\u2008"),ex("\u2009"),ex("\u200A"),ex("\u2028"),ex("\u2029"),ex("\u202F"),ex("\u205F"),ex("\u3000"),ex("\uFEFF")],e_=/[0-9a-fA-F]/,eP=/[0-9]/,eM=/[1-9]/;class eD{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":eN(r,"global");break;case"i":eN(r,"ignoreCase");break;case"m":eN(r,"multiLine");break;case"u":eN(r,"unicode");break;case"y":eN(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead"}eC(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return e$()}quantifier(e=!1){let t;let r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;eC(t)}if((!0!==e||void 0!==t)&&eC(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e;let t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),eC(e))?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):e$()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[ex("\n"),ex("\r"),ex("\u2028"),ex("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e;let t=!1;switch(this.popChar()){case"d":e=ew;break;case"D":e=ew,t=!0;break;case"s":e=eO;break;case"S":e=eO,t=!0;break;case"w":e=eb;break;case"W":e=eb,t=!0}return eC(e)?{type:"Set",value:e,complement:t}:e$()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=ex("\f");break;case"n":e=ex("\n");break;case"r":e=ex("\r");break;case"t":e=ex(" ");break;case"v":e=ex("\v")}return eC(e)?{type:"Character",value:e}:e$()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:ex("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:ex(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:ex(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,eL(t)&&this.isRangeDash()){this.consumeChar("-");let r=this.classAtom();if(r.type,eL(r)){if(r.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:r.value})}else eS(t.value,e),e.push(ex("-")),eS(r.value,e)}else eS(t.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:ex("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;(this.consumeChar("("),"?"===this.peekChar(0))?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let t=this.disjunction();this.consumeChar(")");let r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(!1===eM.test(e))throw Error("Expecting a positive integer");for(;eP.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===eP.test(e))throw Error("Expecting an integer");for(;eP.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:ex(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return eP.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}}isQuantifier(){let e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let r=0;r<e;r++){let e=this.popChar();if(!1===e_.test(e))throw Error("Expecting a HexDecimal digits");t+=e}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class eZ{visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}let eU=/\r?\n/gm,eF=new eD,eG=new class extends eZ{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=eK(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=new RegExp(this.regex.substring(e.loc.begin,e.loc.end));this.multiline=!!"\n".match(t)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){("Group"!==e.type||!e.quantifier)&&super.visitChildren(e)}};function eB(e){return("string"==typeof e?new RegExp(e):e).test(" ")}function eK(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ej(e,t){let r=new Set,n=e.rules.find(e=>Z(e)&&e.entry);if(!n)return new Set(e.rules);for(let i of[n].concat(e.rules.filter(e=>G(e)&&e.hidden)))!function e(t,r,n){r.add(t.name),eR(t).forEach(t=>{if(eo(t)||n&&ed(t)){let i=t.rule.ref;i&&!r.has(i.name)&&e(i,r,n)}})}(i,r,t);let i=new Set;for(let t of e.rules)(r.has(t.name)||G(t)&&t.hidden)&&i.add(t);return i}function eV(e,t,r){if(!e||!t)return;let n=eW(e,t,e.astNode,!0);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function eW(e,t,r,n){if(!n){let r=eT(e.grammarSource,Y);if(r&&r.feature===t)return[e]}return o(e)&&e.astNode===r?e.content.flatMap(e=>eW(e,t,r,!1)):[]}function eH(e){let t=e;return b(t)&&(V(t.$container)?t=t.$container.$container:Z(t.$container)?t=t.$container:A(t.$container)),function e(t,r,n){var i;function a(r,i){let a;return eT(r,Y)||(a=e(i,i,n)),n.set(t,a),a}if(n.has(t))return n.get(t);for(let e of(n.set(t,void 0),eR(r))){if(Y(e)&&"name"===e.feature.toLowerCase())return n.set(t,e),e;if(eo(e)&&Z(e.rule.ref))return a(e,e.rule.ref);if(ey.isInstance(e,U)&&(null===(i=e.typeRef)||void 0===i?void 0:i.ref))return a(e,e.typeRef.ref)}}(e,t,new Map)}function ez(e){return function e(t,r){if(r.has(t))return!0;for(let n of(r.add(t),eR(t)))if(eo(n)){if(!n.rule.ref||Z(n.rule.ref)&&!e(n.rule.ref,r))return!1}else if(Y(n))return!1;else if(V(n))return!1;return!!t.definition}(e,new Set)}function eY(e){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){let t=e.returnType.ref;if(t&&(Z(t)||_(t)||K(t)))return t.name}}function eq(e){var t,r,n;if(Z(e))return ez(e)?e.name:null!==(t=eY(e))&&void 0!==t?t:e.name;if(_(e)||K(e)||ey.isInstance(e,"ReturnType"))return e.name;if(V(e)){let t=(r=e).inferredType?r.inferredType.name:(null===(n=r.type)||void 0===n?void 0:n.ref)?eq(r.type.ref):void 0;if(t)return t}else if(b(e))return e.name;throw Error("Cannot get name of Unknown Type")}function eX(e){let t={s:!1,i:!1,u:!1};return new RegExp(function e(t,r){var n,i,a,s,o,l,u,c,d,h,f,p;if(ey.isInstance(t,el)){return e0((c=t).elements.map(t=>e(t)).join("|"),{cardinality:c.cardinality,lookahead:c.lookahead})}if(ey.isInstance(t,eu)){return e0((d=t).elements.map(t=>e(t)).join(""),{cardinality:d.cardinality,lookahead:d.lookahead})}if(ey.isInstance(t,q)){return(h=t).right?e0(`[${eJ(h.left)}-${eJ(h.right)}]`,{cardinality:h.cardinality,lookahead:h.lookahead,wrap:!1}):e0(eJ(h.left),{cardinality:h.cardinality,lookahead:h.lookahead,wrap:!1})}if(ed(t)){let r=t.rule.ref;if(!r)throw Error("Missing rule reference.");return e0(e(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(ey.isInstance(t,ei)){return f=t,e0(`(?!${e(f.terminal)})${eQ}*?`,{cardinality:f.cardinality,lookahead:f.lookahead})}if(ey.isInstance(t,ep)){return p=t,e0(`${eQ}*?${e(p.terminal)}`,{cardinality:p.cardinality,lookahead:p.lookahead})}if(ey.isInstance(t,ea)){let e=t.regex.lastIndexOf("/"),n=t.regex.substring(1,e),i=t.regex.substring(e+1);return r&&(r.i=i.includes("i"),r.s=i.includes("s"),r.u=i.includes("u")),e0(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}if(ey.isInstance(t,em))return e0(eQ,{cardinality:t.cardinality,lookahead:t.lookahead});throw Error(`Invalid terminal element: ${null==t?void 0:t.$type}`)}}(e.definition,t),Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(""))}let eQ=/[\s\S]/.source;function eJ(e){return eK(e.value)}function e0(e,t){var r;return((!1!==t.wrap||t.lookahead)&&(e=`(${null!==(r=t.lookahead)&&void 0!==r?r:""}${e})`),t.cardinality)?`${e}${t.cardinality}`:e}var e1,e2,e3,e4,e7,e6,e5,e8,e9,te,tt,tr,tn,ti,ta,ts,to,tl,tu,tc,td,th,tf,tp,tm,tg,ty,tT,tv,tE,tR,tA,tk,tI,tx,tS,tN,tC,t$,tL,tw,tb,tO,t_,tP,tM,tD,tZ,tU,tF,tG,tB,tK,tj,tV,tW,tH,tz,tY,tq,tX,tQ,tJ,t0,t1,t2,t3,t4,t7,t6,t5,t8,t9,re,rt,rr,rn,ri,ra,rs,ro,rl,ru,rc,rd,rh,rf,rp,rm,rg,ry,rT,rv,rE,rR,rA,rk,rI,rx,rS,rN,rC,r$,rL,rw,rb,rO,r_,rP,rM,rD,rZ,rU,rF,rG,rB,rK,rj,rV,rW,rH,rz,rY,rq,rX,rQ,rJ,r0,r1,r2,r3,r4,r7,r6,r5,r8,r9,ne,nt,nr,nn,ni,na,ns,no,nl,nu,nc,nd,nh,nf,np,nm,ng,ny,nT,nv,nE,nR,nA,nk,nI,nx=r(46390),nS=r(70485),nN=r(31570),nC=r(24541),n$=r(94193),nL=r(84128);function nw(e){function t(){}t.prototype=e;let r=new t;function n(){return typeof r.bar}return n(),n(),e}let nb=function(e,t,r){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var a=Array(i);++n<i;)a[n]=e[n+t];return a};var nO=r(36430);let n_=function(e,t,r){var n=null==e?0:e.length;return n?nb(e,(t=r||void 0===t?1:(0,nO.Z)(t))<0?0:t,n):[]};var nP=r(43917),nM=r(94379),nD=r(58827),nZ=r(71709),nU=r(73713),nF=r(99445),nG=r(56430),nB=Object.prototype.hasOwnProperty,nK=(0,nZ.Z)(function(e,t){if((0,nF.Z)(t)||(0,nU.Z)(t)){(0,nD.Z)(t,(0,nG.Z)(t),e);return}for(var r in t)nB.call(t,r)&&(0,nM.Z)(e,r,t[r])}),nj=r(4064),nV=r(64693),nW=r(36873),nH=r(89668);let nz=function(e,t){if(null==e)return{};var r=(0,nj.Z)((0,nH.Z)(e),function(e){return[e]});return t=(0,nV.Z)(t),(0,nW.Z)(e,r,function(e,r){return t(e,r[0])})};var nY=r(65982),nq=r(93263),nX=r(38696),nQ=r(98522),nJ=nQ.Z&&nQ.Z.isRegExp,n0=nJ?(0,nX.Z)(nJ):function(e){return(0,nq.Z)(e)&&"[object RegExp]"==(0,nY.Z)(e)};class n1{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),(0,nx.Z)(this.definition,t=>{t.accept(e)})}}class n2 extends n1{constructor(e){super([]),this.idx=1,nK(this,nz(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class n3 extends n1{constructor(e){super(e.definition),this.orgText="",nK(this,nz(e,e=>void 0!==e))}}class n4 extends n1{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,nK(this,nz(e,e=>void 0!==e))}}class n7 extends n1{constructor(e){super(e.definition),this.idx=1,nK(this,nz(e,e=>void 0!==e))}}class n6 extends n1{constructor(e){super(e.definition),this.idx=1,nK(this,nz(e,e=>void 0!==e))}}class n5 extends n1{constructor(e){super(e.definition),this.idx=1,nK(this,nz(e,e=>void 0!==e))}}class n8 extends n1{constructor(e){super(e.definition),this.idx=1,nK(this,nz(e,e=>void 0!==e))}}class n9 extends n1{constructor(e){super(e.definition),this.idx=1,nK(this,nz(e,e=>void 0!==e))}}class ie extends n1{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,nK(this,nz(e,e=>void 0!==e))}}class it{constructor(e){this.idx=1,nK(this,nz(e,e=>void 0!==e))}accept(e){e.visit(this)}}class ir{visit(e){switch(e.constructor){case n2:return this.visitNonTerminal(e);case n4:return this.visitAlternative(e);case n7:return this.visitOption(e);case n6:return this.visitRepetitionMandatory(e);case n5:return this.visitRepetitionMandatoryWithSeparator(e);case n9:return this.visitRepetitionWithSeparator(e);case n8:return this.visitRepetition(e);case ie:return this.visitAlternation(e);case it:return this.visitTerminal(e);case n3:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}var ii=r(24195),ia=r(55196);let is=function(e,t){var r;return(0,ia.Z)(e,function(e,n,i){return!(r=t(e,n,i))}),!!r};var io=r(8572),il=r(74047);let iu=function(e,t,r){var n=(0,io.Z)(e)?ii.Z:is;return r&&(0,il.Z)(e,t,r)&&(t=void 0),n(e,(0,nV.Z)(t,3))};var ic=r(26687),id=Math.max;let ih=function(e,t,r,n){e=(0,nU.Z)(e)?e:(0,nS.Z)(e),r=r&&!n?(0,nO.Z)(r):0;var i=e.length;return r<0&&(r=id(i+r,0)),(0,nP.Z)(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&(0,ic.Z)(e,t,r)>-1},ip=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0},im=function(e,t){var r=!0;return(0,ia.Z)(e,function(e,n,i){return r=!!t(e,n,i)}),r},ig=function(e,t,r){var n=(0,io.Z)(e)?ip:im;return r&&(0,il.Z)(e,t,r)&&(t=void 0),n(e,(0,nV.Z)(t,3))};function iy(e,t=[]){return e instanceof n7||e instanceof n8||e instanceof n9||(e instanceof ie?iu(e.definition,e=>iy(e,t)):!(e instanceof n2&&ih(t,e))&&e instanceof n1&&(e instanceof n2&&t.push(e),ig(e.definition,e=>iy(e,t))))}function iT(e){if(e instanceof n2)return"SUBRULE";if(e instanceof n7)return"OPTION";if(e instanceof ie)return"OR";if(e instanceof n6)return"AT_LEAST_ONE";if(e instanceof n5)return"AT_LEAST_ONE_SEP";else if(e instanceof n9)return"MANY_SEP";else if(e instanceof n8)return"MANY";else if(e instanceof it)return"CONSUME";else throw Error("non exhaustive match")}class iv{walk(e,t=[]){(0,nx.Z)(e.definition,(r,n)=>{let i=n_(e.definition,n+1);if(r instanceof n2)this.walkProdRef(r,i,t);else if(r instanceof it)this.walkTerminal(r,i,t);else if(r instanceof n4)this.walkFlat(r,i,t);else if(r instanceof n7)this.walkOption(r,i,t);else if(r instanceof n6)this.walkAtLeastOne(r,i,t);else if(r instanceof n5)this.walkAtLeastOneSep(r,i,t);else if(r instanceof n9)this.walkManySep(r,i,t);else if(r instanceof n8)this.walkMany(r,i,t);else if(r instanceof ie)this.walkOr(r,i,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new n7({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=iE(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new n7({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=iE(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);(0,nx.Z)(e.definition,e=>{let t=new n4({definition:[e]});this.walk(t,n)})}}function iE(e,t,r){return[new n7({definition:[new it({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}var iR=r(46826);let iA=function(e){return e&&e.length?(0,iR.Z)(e):[]};var ik=r(17677);function iI(e){if(e instanceof n2)return iI(e.referencedRule);if(e instanceof it)return[e.terminalType];if(e instanceof n4||e instanceof n7||e instanceof n8||e instanceof n6||e instanceof n5||e instanceof n9||e instanceof it||e instanceof n3)return function(e){let t,r=[],n=e.definition,i=0,a=n.length>i,s=!0;for(;a&&s;)s=iy(t=n[i]),r=r.concat(iI(t)),i+=1,a=n.length>i;return iA(r)}(e);if(e instanceof ie)return function(e){let t=(0,nC.Z)(e.definition,e=>iI(e));return iA((0,ik.Z)(t))}(e);throw Error("non exhaustive match")}let ix="_~IN~_";class iS extends iv{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){var n,i;let a=(n=e.referencedRule,i=e.idx,n.name+i+ix+this.topProd.name),s=iI(new n4({definition:t.concat(r)}));this.follows[a]=s}}var iN=r(4740),iC=r(85143),i$=r(45983),iL=r(46603);let iw=function(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}},ib=function(e,t){return((0,io.Z)(e)?i$.Z:iL.Z)(e,iw((0,nV.Z)(t,3)))};var iO=r(13255),i_=Math.max;let iP=function(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:(0,nO.Z)(r);return i<0&&(i=i_(n+i,0)),(0,ic.Z)(e,t,i)};var iM=r(98381),iD=r(69052),iZ=r(90136),iU=r(74735),iF=r(48002),iG=r(50554);let iB=function(e,t,r,n){var i=-1,a=iU.Z,s=!0,o=e.length,l=[],u=t.length;if(!o)return l;r&&(t=(0,nj.Z)(t,(0,nX.Z)(r))),n?(a=iF.Z,s=!1):t.length>=200&&(a=iG.Z,s=!1,t=new iZ.Z(t));e:for(;++i<o;){var c=e[i],d=null==r?c:r(c);if(c=n||0!==c?c:0,s&&d==d){for(var h=u;h--;)if(t[h]===d)continue e;l.push(c)}else a(t,d,n)||l.push(c)}return l};var iK=r(40805),ij=r(29183),iV=r(42113),iW=(0,ij.Z)(function(e,t){return(0,iV.Z)(e)?iB(e,(0,iK.Z)(t,1,iV.Z,!0)):[]});let iH=function(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var a=e[t];a&&(i[n++]=a)}return i},iz=function(e){return e&&e.length?e[0]:void 0};var iY=r(16136);function iq(e){console&&console.error&&console.error(`Error: ${e}`)}function iX(e){console&&console.warn&&console.warn(`Warning: ${e}`)}let iQ={},iJ=new eD;function i0(e){let t=e.toString();if(iQ.hasOwnProperty(t))return iQ[t];{let e=iJ.pattern(t);return iQ[t]=e,e}}let i1="Complement Sets are not supported for first char optimization",i2='Unable to use "first char" lexer optimizations:\n';function i3(e,t,r){let n=ah(e);t[n]=n,!0===r&&function(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let e=ah(n.charCodeAt(0));t[e]=e}else{let e=r.toLowerCase();if(e!==r){let r=ah(e.charCodeAt(0));t[r]=r}}}(e,t)}function i4(e,t){return(0,iY.Z)(e.value,e=>"number"==typeof e?ih(t,e):void 0!==(0,iY.Z)(t,t=>e.from<=t&&t<=e.to))}class i7 extends eZ{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){ih(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===i4(e,this.targetCharCodes)&&(this.found=!0):void 0!==i4(e,this.targetCharCodes)&&(this.found=!0)}}function i6(e,t){if(!(t instanceof RegExp))return void 0!==(0,iY.Z)(t,t=>ih(e,t.charCodeAt(0)));{let r=i0(t),n=new i7(e);return n.visit(r),n.found}}let i5="PATTERN",i8="defaultMode",i9="modes",ae="boolean"==typeof RegExp("(?:)").sticky,at=/[^\\][$]/,ar=/[^\\[][\^]|^\^/;function an(e){let t=e.ignoreCase?"i":"";return RegExp(`^(?:${e.source})`,t)}function ai(e){let t=e.ignoreCase?"iy":"y";return RegExp(`${e.source}`,t)}function aa(e){let t=e.PATTERN;if(n0(t))return!1;if((0,iO.Z)(t))return!0;if((0,n$.Z)(t,"exec"))return!0;if((0,nP.Z)(t))return!1;throw Error("non exhaustive match")}function as(e){return!!(0,nP.Z)(e)&&1===e.length&&e.charCodeAt(0)}let ao={test:function(e){let t=e.length;for(let r=this.lastIndex;r<t;r++){let t=e.charCodeAt(r);if(10===t)return this.lastIndex=r+1,!0;if(13===t)return 10===e.charCodeAt(r+1)?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function al(e,t){if((0,n$.Z)(e,"LINE_BREAKS"))return!1;if(n0(e.PATTERN)){try{i6(t,e.PATTERN)}catch(e){return{issue:t6.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if((0,nP.Z)(e.PATTERN))return!1;if(aa(e))return{issue:t6.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function au(e){return(0,nC.Z)(e,e=>(0,nP.Z)(e)?e.charCodeAt(0):e)}function ac(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}let ad=[];function ah(e){return e<256?e:ad[e]}var af=r(48233),ap=r(70141),am=r(51054);function ag(e){let t=new Date().getTime(),r=e();return{time:new Date().getTime()-t,value:r}}function ay(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function aT(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}let av=1,aE={};function aR(e){var t,r,n;let i=function(e){let t=(0,nL.Z)(e),r=e,n=!0;for(;n;){let e=iW(r=iH((0,ik.Z)((0,nC.Z)(r,e=>e.CATEGORIES))),t);t=t.concat(e),(0,nN.Z)(e)?n=!1:r=e}return t}(e);t=i,(0,nx.Z)(t,e=>{var t,r;aA(e)||(aE[av]=e,e.tokenTypeIdx=av++),ak(e)&&!(0,io.Z)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),ak(e)||(e.CATEGORIES=[]),t=e,(0,n$.Z)(t,"categoryMatches")||(e.categoryMatches=[]),r=e,(0,n$.Z)(r,"categoryMatchesMap")||(e.categoryMatchesMap={})}),r=i,(0,nx.Z)(r,e=>{(function e(t,r){(0,nx.Z)(t,e=>{r.categoryMatchesMap[e.tokenTypeIdx]=!0}),(0,nx.Z)(r.CATEGORIES,n=>{let i=t.concat(r);ih(i,n)||e(i,n)})})([],e)}),n=i,(0,nx.Z)(n,e=>{e.categoryMatches=[],(0,nx.Z)(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(aE[r].tokenTypeIdx)})}),(0,nx.Z)(i,e=>{e.isParent=e.categoryMatches.length>0})}function aA(e){return(0,n$.Z)(e,"tokenTypeIdx")}function ak(e){return(0,n$.Z)(e,"CATEGORIES")}function aI(e){return(0,n$.Z)(e,"tokenTypeIdx")}(e1=t6||(t6={}))[e1.MISSING_PATTERN=0]="MISSING_PATTERN",e1[e1.INVALID_PATTERN=1]="INVALID_PATTERN",e1[e1.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e1[e1.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e1[e1.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e1[e1.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e1[e1.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e1[e1.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e1[e1.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e1[e1.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e1[e1.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e1[e1.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e1[e1.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e1[e1.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e1[e1.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e1[e1.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e1[e1.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e1[e1.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";let ax={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:{buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,i)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`},traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(ax);class aS{constructor(e,t=ax){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=ag(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=nK({},ax,t);let r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let r;let n=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===ax.lineTerminatorsPattern)this.config.lineTerminatorsPattern=ao;else if(this.config.lineTerminatorCharacters===ax.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),(0,io.Z)(e)?r={modes:{defaultMode:(0,nL.Z)(e)},defaultMode:i8}:(n=!1,r=(0,nL.Z)(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(e,t,r){let n=[];return(0,n$.Z)(e,i8)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+i8+"> property in its definition\n",type:t6.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,n$.Z)(e,i9)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+i9+"> property in its definition\n",type:t6.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,n$.Z)(e,i9)&&(0,n$.Z)(e,i8)&&!(0,n$.Z)(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${i8}: <${e.defaultMode}>which does not exist +`,type:t6.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,n$.Z)(e,i9)&&(0,nx.Z)(e.modes,(e,t)=>{(0,nx.Z)(e,(r,i)=>{if((0,iN.Z)(r))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${i}> +`,type:t6.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if((0,n$.Z)(r,"LONGER_ALT")){let i=(0,io.Z)(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT];(0,nx.Z)(i,i=>{(0,iN.Z)(i)||ih(e,i)||n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${t}> +`,type:t6.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}(r,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(function(e,t,r){let n=[],i=!1,a=ib(iH((0,ik.Z)((0,nS.Z)(e.modes))),e=>e[i5]===aS.NA),s=au(r);return t&&(0,nx.Z)(a,e=>{let t=al(e,s);if(!1!==t){let r={message:function(e,t){if(t.issue===t6.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. + The problem is in the <${e.name}> Token Type + Root cause: ${t.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===t6.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option. + The problem is in the <${e.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(e,t),type:t.issue,tokenType:e};n.push(r)}else(0,n$.Z)(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):i6(s,e.PATTERN)&&(i=!0)}),t&&!i&&n.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:t6.NO_LINE_BREAKS_FLAGS}),n}(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),r.modes=r.modes?r.modes:{},(0,nx.Z)(r.modes,(e,t)=>{r.modes[t]=ib(e,e=>(0,iN.Z)(e))});let i=(0,nG.Z)(r.modes);if((0,nx.Z)(r.modes,(e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(e,t){let r=[],n=function(e){let t=(0,iD.Z)(e,e=>!(0,n$.Z)(e,i5));return{errors:(0,nC.Z)(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:t6.MISSING_PATTERN,tokenTypes:[e]})),valid:iW(e,t)}}(e);r=r.concat(n.errors);let i=function(e){let t=(0,iD.Z)(e,e=>{let t=e[i5];return!n0(t)&&!(0,iO.Z)(t)&&!(0,n$.Z)(t,"exec")&&!(0,nP.Z)(t)});return{errors:(0,nC.Z)(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:t6.INVALID_PATTERN,tokenTypes:[e]})),valid:iW(e,t)}}(n.valid),a=i.valid;return(r=(r=(r=(r=r.concat(i.errors)).concat(function(e){let t=[],r=(0,iD.Z)(e,e=>n0(e[i5]));return(t=(t=(t=(t=t.concat(function(e){class t extends eZ{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}let r=(0,iD.Z)(e,e=>{let r=e.PATTERN;try{let e=i0(r),n=new t;return n.visit(e),n.found}catch(e){return at.test(r.source)}});return(0,nC.Z)(r,e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:t6.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}(r))).concat(function(e){class t extends eZ{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}let r=(0,iD.Z)(e,e=>{let r=e.PATTERN;try{let e=i0(r),n=new t;return n.visit(e),n.found}catch(e){return ar.test(r.source)}});return(0,nC.Z)(r,e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:t6.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}(r))).concat(function(e){let t=(0,iD.Z)(e,e=>{let t=e[i5];return t instanceof RegExp&&(t.multiline||t.global)});return(0,nC.Z)(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:t6.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}(r))).concat(function(e){let t=[],r=(0,nC.Z)(e,r=>(0,iM.Z)(e,(e,n)=>(r.PATTERN.source!==n.PATTERN.source||ih(t,n)||n.PATTERN===aS.NA||(t.push(n),e.push(n)),e),[]));r=iH(r);let n=(0,iD.Z)(r,e=>e.length>1);return(0,nC.Z)(n,e=>{let t=(0,nC.Z)(e,e=>e.name),r=iz(e).PATTERN;return{message:`The same RegExp pattern ->${r}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:t6.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}(r))).concat(function(e){let t=(0,iD.Z)(e,e=>e.PATTERN.test(""));return(0,nC.Z)(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:t6.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}(r))}(a))).concat(function(e){let t=(0,iD.Z)(e,e=>{if(!(0,n$.Z)(e,"GROUP"))return!1;let t=e.GROUP;return t!==aS.SKIPPED&&t!==aS.NA&&!(0,nP.Z)(t)});return(0,nC.Z)(t,e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:t6.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}(a))).concat(function(e,t){let r=(0,iD.Z)(e,e=>void 0!==e.PUSH_MODE&&!ih(t,e.PUSH_MODE));return(0,nC.Z)(r,e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:t6.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}(a,t))).concat(function(e){let t=[],r=(0,iM.Z)(e,(e,t,r)=>{var n;let i=t.PATTERN;return i===aS.NA||((0,nP.Z)(i)?e.push({str:i,idx:r,tokenType:t}):n0(i)&&(n=i,void 0===(0,iY.Z)([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==n.source.indexOf(e)))&&e.push({str:i.source,idx:r,tokenType:t})),e},[]);return(0,nx.Z)(e,(e,n)=>{(0,nx.Z)(r,({str:r,idx:i,tokenType:a})=>{if(n<i&&function(e,t){if(n0(t)){let r=t.exec(e);return null!==r&&0===r.index}if((0,iO.Z)(t))return t(e,0,[],{});if((0,n$.Z)(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}(r,e.PATTERN)){let r=`Token: ->${a.name}<- can never be matched. +Because it appears AFTER the Token Type ->${e.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:r,type:t6.UNREACHABLE_PATTERN,tokenTypes:[e,a]})}})}),t}(a))}(e,i))}),(0,nN.Z)(this.lexerDefinitionErrors)){let n;aR(e),this.TRACE_INIT("analyzeTokenTypes",()=>{n=function(e,t){let r,n,i,a,s,o,l,u,c,d,h,f;let p=(t=(0,iC.Z)(t,{useSticky:ae,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:(e,t)=>t()})).tracer;p("initCharCodeToOptimizedIndexMap",()=>{(function(){if((0,nN.Z)(ad)){ad=Array(65536);for(let e=0;e<65536;e++)ad[e]=e>255?255+~~(e/255):e}})()}),p("Reject Lexer.NA",()=>{r=ib(e,e=>e[i5]===aS.NA)});let m=!1;p("Transform Patterns",()=>{m=!1,n=(0,nC.Z)(r,e=>{let r=e[i5];if(n0(r)){let e=r.source;return 1!==e.length||"^"===e||"$"===e||"."===e||r.ignoreCase?2!==e.length||"\\"!==e[0]||ih(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?t.useSticky?ai(r):an(r):e[1]:e}if((0,iO.Z)(r))return m=!0,{exec:r};if("object"==typeof r)return m=!0,r;if("string"==typeof r){if(1===r.length)return r;{let e=new RegExp(r.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"));return t.useSticky?ai(e):an(e)}}throw Error("non exhaustive match")})}),p("misc mapping",()=>{i=(0,nC.Z)(r,e=>e.tokenTypeIdx),a=(0,nC.Z)(r,e=>{let t=e.GROUP;if(t!==aS.SKIPPED){if((0,nP.Z)(t))return t;if((0,iN.Z)(t))return!1;throw Error("non exhaustive match")}}),s=(0,nC.Z)(r,e=>{let t=e.LONGER_ALT;if(t)return(0,io.Z)(t)?(0,nC.Z)(t,e=>iP(r,e)):[iP(r,t)]}),o=(0,nC.Z)(r,e=>e.PUSH_MODE),l=(0,nC.Z)(r,e=>(0,n$.Z)(e,"POP_MODE"))}),p("Line Terminator Handling",()=>{let e=au(t.lineTerminatorCharacters);u=(0,nC.Z)(r,e=>!1),"onlyOffset"!==t.positionTracking&&(u=(0,nC.Z)(r,t=>(0,n$.Z)(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===al(t,e)&&i6(e,t.PATTERN)))}),p("Misc Mapping #2",()=>{c=(0,nC.Z)(r,aa),d=(0,nC.Z)(n,as),h=(0,iM.Z)(r,(e,t)=>{let r=t.GROUP;return(0,nP.Z)(r)&&r!==aS.SKIPPED&&(e[r]=[]),e},{}),f=(0,nC.Z)(n,(e,t)=>({pattern:n[t],longerAlt:s[t],canLineTerminator:u[t],isCustom:c[t],short:d[t],group:a[t],push:o[t],pop:l[t],tokenTypeIdx:i[t],tokenType:r[t]}))});let g=!0,y=[];return t.safeMode||p("First Char Optimization",()=>{y=(0,iM.Z)(r,(e,r,n)=>{if("string"==typeof r.PATTERN)ac(e,ah(r.PATTERN.charCodeAt(0)),f[n]);else if((0,io.Z)(r.START_CHARS_HINT)){let t;(0,nx.Z)(r.START_CHARS_HINT,r=>{let i=ah("string"==typeof r?r.charCodeAt(0):r);t!==i&&(t=i,ac(e,i,f[n]))})}else if(n0(r.PATTERN)){if(r.PATTERN.unicode)g=!1,t.ensureOptimizations&&iq(`${i2} Unable to analyze < ${r.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let i=function(e,t=!1){try{let t=i0(e);return function e(t,r,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)e(t.value[i],r,n);break;case"Alternative":let i=t.value;for(let t=0;t<i.length;t++){let a=i[t];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}switch(a.type){case"Character":i3(a.value,r,n);break;case"Set":if(!0===a.complement)throw Error(i1);(0,nx.Z)(a.value,e=>{if("number"==typeof e)i3(e,r,n);else if(!0===n)for(let t=e.from;t<=e.to;t++)i3(t,r,n);else{for(let t=e.from;t<=e.to&&t<256;t++)i3(t,r,n);if(e.to>=256){let t=e.from>=256?e.from:256,n=e.to,i=ah(t),a=ah(n);for(let e=i;e<=a;e++)r[e]=e}}});break;case"Group":e(a.value,r,n);break;default:throw Error("Non Exhaustive Match")}let s=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===function e(t){let r=t.quantifier;return!!r&&0===r.atLeast||!!t.value&&((0,io.Z)(t.value)?ig(t.value,e):e(t.value))}(a)||"Group"!==a.type&&!1===s)break}break;default:throw Error("non exhaustive match!")}return(0,nS.Z)(r)}(t.value,{},t.flags.ignoreCase)}catch(r){if(r.message===i1)t&&iX(`${i2} Unable to optimize: < ${e.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";t&&(r="\n This will disable the lexer's first char optimizations.\n See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),iq(`${i2} + Failed parsing: < ${e.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}(r.PATTERN,t.ensureOptimizations);(0,nN.Z)(i)&&(g=!1),(0,nx.Z)(i,t=>{ac(e,t,f[n])})}}else t.ensureOptimizations&&iq(`${i2} TokenType: <${r.name}> is using a custom token pattern without providing <start_chars_hint> parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),g=!1;return e},[])}),{emptyGroups:h,patternIdxToConfig:f,charCodeToPatternIdxToConfig:y,hasCustom:m,canBeOptimized:g}}(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=nK({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,!(0,nN.Z)(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+(0,nC.Z)(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));(0,nx.Z)(this.lexerDefinitionWarning,e=>{iX(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(ae?(this.chopInput=af.Z,this.match=this.matchWithTest):(this.updateLastIndex=ap.Z,this.match=this.matchWithExec),n&&(this.handleModes=ap.Z),!1===this.trackStartLines&&(this.computeNewColumn=af.Z),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=ap.Z),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let e=(0,iM.Z)(this.canModeBeOptimized,(e,t,r)=>(!1===t&&e.push(r),e),[]);if(t.ensureOptimizations&&!(0,nN.Z)(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{iQ={}}),this.TRACE_INIT("toFastProperties",()=>{nw(this)})})}tokenize(e,t=this.defaultMode){if(!(0,nN.Z)(this.lexerDefinitionErrors))throw Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+(0,nC.Z)(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,i,a,s,o,l,u,c,d,h,f,p,m,g,y,T;let v=e,E=v.length,R=0,A=0,k=Array(this.hasCustom?0:Math.floor(e.length/10)),I=[],x=this.trackStartLines?1:void 0,S=this.trackStartLines?1:void 0,N=function(e){let t={},r=(0,nG.Z)(e);return(0,nx.Z)(r,r=>{let n=e[r];if((0,io.Z)(n))t[r]=[];else throw Error("non exhaustive match")}),t}(this.emptyGroups),C=this.trackStartLines,$=this.config.lineTerminatorsPattern,L=0,w=[],b=[],O=[],_=[];function P(){return w}function M(e){let t=b[ah(e)];return void 0===t?_:t}Object.freeze(_);let D=e=>{if(1===O.length&&void 0===e.tokenType.PUSH_MODE){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);I.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{O.pop();let e=(0,am.Z)(O);w=this.patternIdxToConfig[e],b=this.charCodeToPatternIdxToConfig[e],L=w.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;y=b&&t?M:P}};function Z(e){O.push(e),b=this.charCodeToPatternIdxToConfig[e],L=(w=this.patternIdxToConfig[e]).length,L=w.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;y=b&&t?M:P}Z.call(this,t);let U=this.config.recoveryEnabled;for(;R<E;){o=null;let t=v.charCodeAt(R),b=y(t),O=b.length;for(r=0;r<O;r++){let n=(T=b[r]).pattern;l=null;let c=T.short;if(!1!==c?t===c&&(o=n):!0===T.isCustom?null!==(g=n.exec(v,R,k,N))?(o=g[0],void 0!==g.payload&&(l=g.payload)):o=null:(this.updateLastIndex(n,R),o=this.match(n,e,R)),null!==o){if(void 0!==(s=T.longerAlt)){let t=s.length;for(i=0;i<t;i++){let t=w[s[i]],r=t.pattern;if(u=null,!0===t.isCustom?null!==(g=r.exec(v,R,k,N))?(a=g[0],void 0!==g.payload&&(u=g.payload)):a=null:(this.updateLastIndex(r,R),a=this.match(r,e,R)),a&&a.length>o.length){o=a,l=u,T=t;break}}}break}}if(null!==o){if(c=o.length,void 0!==(d=T.group)&&(h=T.tokenTypeIdx,f=this.createTokenInstance(o,R,h,T.tokenType,x,S,c),this.handlePayload(f,l),!1===d?A=this.addToken(k,A,f):N[d].push(f)),e=this.chopInput(e,c),R+=c,S=this.computeNewColumn(S,c),!0===C&&!0===T.canLineTerminator){let e,t,r=0;$.lastIndex=0;do!0===(e=$.test(o))&&(t=$.lastIndex-1,r++);while(!0===e);0!==r&&(x+=r,S=c-t,this.updateTokenEndLineColumnLocation(f,d,t,r,x,S,c))}this.handleModes(T,D,Z,f)}else{let t=R,r=x,i=S,a=!1===U;for(;!1===a&&R<E;)for(e=this.chopInput(e,1),R++,n=0;n<L;n++){let t=w[n],r=t.pattern,i=t.short;if(!1!==i?v.charCodeAt(R)===i&&(a=!0):!0===t.isCustom?a=null!==r.exec(v,R,k,N):(this.updateLastIndex(r,R),a=null!==r.exec(e)),!0===a)break}if(p=R-t,S=this.computeNewColumn(S,p),m=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(v,t,p,r,i),I.push({offset:t,line:r,column:i,length:p,message:m}),!1===U)break}}return this.hasCustom||(k.length=A),{tokens:k,groups:N,errors:I}}handleModes(e,t,r,n){if(!0===e.pop){let i=e.push;t(n),void 0!==i&&r.call(this,i)}else void 0!==e.push&&r.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,r,n,i,a,s){let o,l;void 0!==t&&(l=(o=r===s-1)?-1:0,(1!==n||!0!==o)&&(e.endLine=i+l,e.endColumn=a-1+-l))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}}createStartOnlyToken(e,t,r,n,i,a){return{image:e,startOffset:t,startLine:i,startColumn:a,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,i,a,s){return{image:e,startOffset:t,endOffset:t+s-1,startLine:i,endLine:i,startColumn:a,endColumn:a+s-1,tokenTypeIdx:r,tokenType:n}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}matchWithTest(e,t,r){return!0===e.test(t)?t.substring(r,e.lastIndex):null}matchWithExec(e,t){let r=e.exec(t);return null!==r?r[0]:null}}function aN(e){return aC(e)?e.LABEL:e.name}function aC(e){return(0,nP.Z)(e.LABEL)&&""!==e.LABEL}aS.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",aS.NA=/NOT_APPLICABLE/;let a$="categories",aL="label",aw="group",ab="push_mode",aO="pop_mode",a_="longer_alt",aP="line_breaks",aM="start_chars_hint";function aD(e){let t=e.pattern,r={};if(r.name=e.name,(0,iN.Z)(t)||(r.PATTERN=t),(0,n$.Z)(e,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return(0,n$.Z)(e,a$)&&(r.CATEGORIES=e[a$]),aR([r]),(0,n$.Z)(e,aL)&&(r.LABEL=e[aL]),(0,n$.Z)(e,aw)&&(r.GROUP=e[aw]),(0,n$.Z)(e,aO)&&(r.POP_MODE=e[aO]),(0,n$.Z)(e,ab)&&(r.PUSH_MODE=e[ab]),(0,n$.Z)(e,a_)&&(r.LONGER_ALT=e[a_]),(0,n$.Z)(e,aP)&&(r.LINE_BREAKS=e[aP]),(0,n$.Z)(e,aM)&&(r.START_CHARS_HINT=e[aM]),r}let aZ=aD({name:"EOF",pattern:aS.NA});function aU(e,t,r,n,i,a,s,o){return{image:t,startOffset:r,endOffset:n,startLine:i,endLine:a,startColumn:s,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}aR([aZ]);let aF={buildMismatchTokenMessage({expected:e,actual:t,previous:r,ruleName:n}){let i=aC(e)?`--> ${aN(e)} <--`:`token of type --> ${e.name} <--`;return`Expecting ${i} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",s="\nbut found: '"+iz(t).image+"'";if(n)return a+n+s;{let t=(0,iM.Z)(e,(e,t)=>e.concat(t),[]),r=(0,nC.Z)(t,e=>`[${(0,nC.Z)(e,e=>aN(e)).join(", ")}]`),n=(0,nC.Z)(r,(e,t)=>` ${t+1}. ${e}`);return a+`one of these possible Token sequences: +${n.join("\n")}`+s}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){let i="Expecting: ",a="\nbut found: '"+iz(t).image+"'";if(r)return i+r+a;{let t=(0,nC.Z)(e,e=>`[${(0,nC.Z)(e,e=>aN(e)).join(",")}]`);return i+`expecting at least one iteration which starts with one of these possible Token sequences:: + <${t.join(" ,")}>`+a}}};Object.freeze(aF);let aG={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},aB={buildDuplicateFoundError(e,t){let r=e.name,n=iz(t),i=n.idx,a=iT(n),s=n instanceof it?n.terminalType.name:n instanceof n2?n.nonTerminalName:"",o=`->${a}${i>0?i:""}<- ${s?`with argument: ->${s}<-`:""} + appears more than once (${t.length} times) in the top level rule: ->${r}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return(o=o.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:e=>`Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){let t=(0,nC.Z)(e.prefixPath,e=>aN(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in <OR${r}> inside <${e.topLevelRule.name}> Rule, +<${t}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`},buildAlternationAmbiguityError(e){let t=(0,nC.Z)(e.prefixPath,e=>aN(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${r}> inside <${e.topLevelRule.name}> Rule, +<${t}> may appears as a prefix path in all these alternatives. +`;return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +`+"For Further details."},buildEmptyRepetitionError(e){let t=iT(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives: +<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. + has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){let t=e.topLevelRule.name,r=(0,nC.Z)(e.leftRecursionPath,e=>e.name),n=`${t} --> ${r.concat([t]).join(" --\x3e ")}`;return`Left Recursion found in grammar. +rule: <${t}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${n} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof n3?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};class aK extends ir{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){(0,nx.Z)((0,nS.Z)(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:t9.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}let aj=function(e,t){return(0,iK.Z)((0,nC.Z)(e,t),1)};var aV=r(83276);let aW=function(e,t,r,n){for(var i=-1,a=null==e?0:e.length;++i<a;){var s=e[i];t(n,s,r(s),e)}return n},aH=function(e,t,r,n){return(0,ia.Z)(e,function(e,i,a){t(n,e,r(e),a)}),n};var az=Object.prototype.hasOwnProperty,aY=(e2=function(e,t,r){az.call(e,r)?e[r].push(t):(0,aV.Z)(e,r,[t])},function(e,t){return((0,io.Z)(e)?aW:aH)(e,e2,(0,nV.Z)(t,2),{})});let aq=function(e,t,r){var n=null==e?0:e.length;return n?nb(e,0,(t=n-(t=r||void 0===t?1:(0,nO.Z)(t)))<0?0:t):[]};class aX extends iv{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,nL.Z)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,nL.Z)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){(0,nN.Z)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class aQ extends aX{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new n4({definition:t.concat(r)});this.possibleTokTypes=iI(e),this.found=!0}}}class aJ extends iv{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class a0 extends aJ{walkMany(e,t,r){if(e.idx===this.occurrence){let e=iz(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof it&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,r)}}class a1 extends aJ{walkManySep(e,t,r){if(e.idx===this.occurrence){let e=iz(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof it&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,r)}}class a2 extends aJ{walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let e=iz(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof it&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,r)}}class a3 extends aJ{walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let e=iz(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof it&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,r)}}function a4(e,t,r=[]){r=(0,nL.Z)(r);let n=[],i=0;function a(a){let s=a4(a.concat(n_(e,i+1)),t,r);return n.concat(s)}for(;r.length<t&&i<e.length;){let t=e[i];if(t instanceof n4)return a(t.definition);if(t instanceof n2)return a(t.definition);if(t instanceof n7)n=a(t.definition);else if(t instanceof n6)return a(t.definition.concat([new n8({definition:t.definition})]));else if(t instanceof n5)return a([new n4({definition:t.definition}),new n8({definition:[new it({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof n9)n=a(t.definition.concat([new n8({definition:[new it({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof n8)n=a(t.definition.concat([new n8({definition:t.definition})]));else if(t instanceof ie)return(0,nx.Z)(t.definition,e=>{!1===(0,nN.Z)(e.definition)&&(n=a(e.definition))}),n;else if(t instanceof it)r.push(t.terminalType);else throw Error("non exhaustive match");i++}return n.push({partialPath:r,suffixDef:n_(e,i)}),n}function a7(e,t,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",o=!1,l=t.length,u=l-n-1,c=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!(0,nN.Z)(d);){let e=d.pop();if(e===s){o&&(0,am.Z)(d).idx<=u&&d.pop();continue}let n=e.def,h=e.idx,f=e.ruleStack,p=e.occurrenceStack;if((0,nN.Z)(n))continue;let m=n[0];if(m===i){let e={idx:h,def:n_(n),ruleStack:aq(f),occurrenceStack:aq(p)};d.push(e)}else if(m instanceof it){if(h<l-1){let e=h+1;if(r(t[e],m.terminalType)){let t={idx:e,def:n_(n),ruleStack:f,occurrenceStack:p};d.push(t)}}else if(h===l-1)c.push({nextTokenType:m.terminalType,nextTokenOccurrence:m.idx,ruleStack:f,occurrenceStack:p}),o=!0;else throw Error("non exhaustive match")}else if(m instanceof n2){let e=(0,nL.Z)(f);e.push(m.nonTerminalName);let t=(0,nL.Z)(p);t.push(m.idx);let r={idx:h,def:m.definition.concat(a,n_(n)),ruleStack:e,occurrenceStack:t};d.push(r)}else if(m instanceof n7){let e={idx:h,def:n_(n),ruleStack:f,occurrenceStack:p};d.push(e),d.push(s);let t={idx:h,def:m.definition.concat(n_(n)),ruleStack:f,occurrenceStack:p};d.push(t)}else if(m instanceof n6){let e=new n8({definition:m.definition,idx:m.idx}),t={idx:h,def:m.definition.concat([e],n_(n)),ruleStack:f,occurrenceStack:p};d.push(t)}else if(m instanceof n5){let e=new n8({definition:[new it({terminalType:m.separator})].concat(m.definition),idx:m.idx}),t={idx:h,def:m.definition.concat([e],n_(n)),ruleStack:f,occurrenceStack:p};d.push(t)}else if(m instanceof n9){let e={idx:h,def:n_(n),ruleStack:f,occurrenceStack:p};d.push(e),d.push(s);let t=new n8({definition:[new it({terminalType:m.separator})].concat(m.definition),idx:m.idx}),r={idx:h,def:m.definition.concat([t],n_(n)),ruleStack:f,occurrenceStack:p};d.push(r)}else if(m instanceof n8){let e={idx:h,def:n_(n),ruleStack:f,occurrenceStack:p};d.push(e),d.push(s);let t=new n8({definition:m.definition,idx:m.idx}),r={idx:h,def:m.definition.concat([t],n_(n)),ruleStack:f,occurrenceStack:p};d.push(r)}else if(m instanceof ie)for(let e=m.definition.length-1;e>=0;e--){let t={idx:h,def:m.definition[e].definition.concat(n_(n)),ruleStack:f,occurrenceStack:p};d.push(t),d.push(s)}else if(m instanceof n4)d.push({idx:h,def:m.definition.concat(n_(n)),ruleStack:f,occurrenceStack:p});else if(m instanceof n3)d.push(function(e,t,r,n){let i=(0,nL.Z)(r);i.push(e.name);let a=(0,nL.Z)(n);return a.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:a}}(m,h,f,p));else throw Error("non exhaustive match")}return c}function a6(e){if(e instanceof n7||"Option"===e)return t5.OPTION;if(e instanceof n8||"Repetition"===e)return t5.REPETITION;if(e instanceof n6||"RepetitionMandatory"===e)return t5.REPETITION_MANDATORY;if(e instanceof n5||"RepetitionMandatoryWithSeparator"===e)return t5.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof n9||"RepetitionWithSeparator"===e)return t5.REPETITION_WITH_SEPARATOR;else if(e instanceof ie||"Alternation"===e)return t5.ALTERNATION;else throw Error("non exhaustive match")}function a5(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:i}=e,a=a6(n);return a===t5.ALTERNATION?sa(t,r,i):ss(t,r,a,i)}function a8(e,t,r,n){let i=e.length,a=ig(e,e=>ig(e,e=>1===e.length));if(t)return function(t){let n=(0,nC.Z)(t,e=>e.GATE);for(let t=0;t<i;t++){let i=e[t],a=i.length,s=n[t];if(void 0===s||!1!==s.call(this))t:for(let e=0;e<a;e++){let n=i[e],a=n.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),n[e]))continue t;return t}}};if(!a||n)return function(){for(let t=0;t<i;t++){let n=e[t],i=n.length;t:for(let e=0;e<i;e++){let i=n[e],a=i.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),i[e]))continue t;return t}}};{let t=(0,nC.Z)(e,e=>(0,ik.Z)(e)),r=(0,iM.Z)(t,(e,t,r)=>((0,nx.Z)(t,t=>{(0,n$.Z)(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),(0,nx.Z)(t.categoryMatches,t=>{(0,n$.Z)(e,t)||(e[t]=r)})}),e),{});return function(){return r[this.LA(1).tokenTypeIdx]}}}function a9(e,t,r){let n=ig(e,e=>1===e.length),i=e.length;if(!n||r)return function(){t:for(let r=0;r<i;r++){let n=e[r],i=n.length;for(let e=0;e<i;e++)if(!1===t(this.LA(e+1),n[e]))continue t;return!0}return!1};{let t=(0,ik.Z)(e);if(1===t.length&&(0,nN.Z)(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=(0,iM.Z)(t,(e,t,r)=>(e[t.tokenTypeIdx]=!0,(0,nx.Z)(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}(e3=t5||(t5={}))[e3.OPTION=0]="OPTION",e3[e3.REPETITION=1]="REPETITION",e3[e3.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",e3[e3.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",e3[e3.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",e3[e3.ALTERNATION=5]="ALTERNATION";class se extends iv{constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,t5.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,t5.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,t5.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,t5.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,t5.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}}class st extends ir{constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,t5.OPTION)}visitRepetition(e){this.checkIsTarget(e,t5.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,t5.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,t5.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,t5.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,t5.ALTERNATION)}}function sr(e){let t=Array(e);for(let r=0;r<e;r++)t[r]=[];return t}function sn(e){let t=[""];for(let r=0;r<e.length;r++){let n=e[r],i=[];for(let e=0;e<t.length;e++){let r=t[e];i.push(r+"_"+n.tokenTypeIdx);for(let e=0;e<n.categoryMatches.length;e++){let t="_"+n.categoryMatches[e];i.push(r+t)}}t=i}return t}function si(e,t){let r=(0,nC.Z)(e,e=>a4([e],1)),n=sr(r.length),i=(0,nC.Z)(r,e=>{let t={};return(0,nx.Z)(e,e=>{let r=sn(e.partialPath);(0,nx.Z)(r,e=>{t[e]=!0})}),t}),a=r;for(let e=1;e<=t;e++){let r=a;a=sr(r.length);for(let s=0;s<r.length;s++){let o=r[s];for(let r=0;r<o.length;r++){let l=o[r].partialPath,u=o[r].suffixDef,c=sn(l);if(function(e,t,r){for(let n=0;n<e.length;n++){if(n===r)continue;let i=e[n];for(let e=0;e<t.length;e++)if(!0===i[t[e]])return!1}return!0}(i,c,s)||(0,nN.Z)(u)||l.length===t){let e=n[s];if(!1===so(e,l)){e.push(l);for(let e=0;e<c.length;e++){let t=c[e];i[s][t]=!0}}}else{let t=a4(u,e+1,l);a[s]=a[s].concat(t),(0,nx.Z)(t,e=>{let t=sn(e.partialPath);(0,nx.Z)(t,e=>{i[s][e]=!0})})}}}}return n}function sa(e,t,r,n){let i=new st(e,t5.ALTERNATION,n);return t.accept(i),si(i.result,r)}function ss(e,t,r,n){let i=new st(e,r);t.accept(i);let a=i.result,s=new se(t,e,r).startWalking();return si([new n4({definition:a}),new n4({definition:s})],n)}function so(e,t){r:for(let r=0;r<e.length;r++){let n=e[r];if(n.length===t.length){for(let e=0;e<n.length;e++){let r=t[e],i=n[e];if(!1==(r===i||void 0!==i.categoryMatchesMap[r.tokenTypeIdx]))continue r}return!0}}return!1}function sl(e){return ig(e,e=>ig(e,e=>ig(e,e=>(0,nN.Z)(e.categoryMatches))))}function su(e){return`${iT(e)}_#_${e.idx}_#_${sc(e)}`}function sc(e){return e instanceof it?e.terminalType.name:e instanceof n2?e.nonTerminalName:""}class sd extends ir{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}class sh extends ir{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}class sf extends ir{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}let sp="MismatchedTokenException",sm="NoViableAltException",sg="EarlyExitException",sy="NotAllInputParsedException",sT=[sp,sm,sg,sy];function sv(e){return ih(sT,e.name)}Object.freeze(sT);class sE extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class sR extends sE{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=sp}}class sA extends sE{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=sm}}class sk extends sE{constructor(e,t){super(e,t),this.name=sy}}class sI extends sE{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=sg}}let sx={},sS="InRuleRecoveryException";class sN extends Error{constructor(e){super(e),this.name=sS}}function sC(e,t,r,n,i,a,s){let o=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence,d=l.isEndOfRule;1===this.RULE_STACK.length&&d&&void 0===u&&(u=aZ,c=1),void 0!==u&&void 0!==c&&this.shouldInRepetitionRecoveryBeTried(u,c,s)&&this.tryInRepetitionRecovery(e,t,r,u)}class s${constructor(e){var t;this.maxLookahead=null!==(t=null==e?void 0:e.maxLookahead)&&void 0!==t?t:sV.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);if((0,nN.Z)(t)){let r=this.validateEmptyOrAlternatives(e.rules);return[...t,...r,...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]}return t}validateNoLeftRecursion(e){return aj(e,e=>(function e(t,r,n,i=[]){let a=[],s=function e(t){let r=[];if((0,nN.Z)(t))return r;let n=iz(t);if(n instanceof n2)r.push(n.referencedRule);else if(n instanceof n4||n instanceof n7||n instanceof n6||n instanceof n5||n instanceof n9||n instanceof n8)r=r.concat(e(n.definition));else if(n instanceof ie)r=(0,ik.Z)((0,nC.Z)(n.definition,t=>e(t.definition)));else if(n instanceof it);else throw Error("non exhaustive match");let i=iy(n),a=t.length>1;if(!i||!a)return r;{let n=n_(t);return r.concat(e(n))}}(r.definition);if((0,nN.Z)(s))return[];{let r=t.name;ih(s,t)&&a.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:t9.LEFT_RECURSION,ruleName:r});let o=aj(iW(s,i.concat([t])),r=>{let a=(0,nL.Z)(i);return a.push(r),e(t,r,n,a)});return a.concat(o)}})(e,e,aB))}validateEmptyOrAlternatives(e){return aj(e,e=>(function(e,t){let r=new sh;return e.accept(r),aj(r.alternations,r=>aj(aq(r.definition),(n,i)=>{let a=a7([n],[],ay,1);return(0,nN.Z)(a)?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:i}),type:t9.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:i+1}]:[]}))})(e,aB))}validateAmbiguousAlternationAlternatives(e,t){return aj(e,e=>(function(e,t,r){let n=new sh;e.accept(n);let i=n.alternations;return aj(i=ib(i,e=>!0===e.ignoreAmbiguities),n=>{let i=sa(n.idx,e,n.maxLookahead||t,n),a=function(e,t,r,n){let i=[],a=(0,iM.Z)(e,(r,n,a)=>(!0===t.definition[a].ignoreAmbiguities||(0,nx.Z)(n,n=>{let s=[a];(0,nx.Z)(e,(e,r)=>{a!==r&&so(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&s.push(r)}),s.length>1&&!so(i,n)&&(i.push(n),r.push({alts:s,path:n}))}),r),[]);return(0,nC.Z)(a,e=>{let i=(0,nC.Z)(e.alts,e=>e+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:t9.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}})}(i,n,e,r),s=function(e,t,r,n){let i=(0,iM.Z)(e,(e,t,r)=>{let n=(0,nC.Z)(t,e=>({idx:r,path:e}));return e.concat(n)},[]);return iH(aj(i,e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];let a=e.idx,s=e.path,o=(0,iD.Z)(i,e=>{var r;return!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<a&&(r=e.path).length<s.length&&ig(r,(e,t)=>{let r=s[t];return e===r||r.categoryMatchesMap[e.tokenTypeIdx]})});return(0,nC.Z)(o,e=>{let i=[e.idx+1,a+1],s=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:t9.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:s,alternatives:i}})}))}(i,n,e,r);return a.concat(s)})})(e,t,aB))}validateSomeNonEmptyLookaheadPath(e,t){return function(e,t,r){let n=[];return(0,nx.Z)(e,e=>{let i=new sf;e.accept(i);let a=i.allProductions;(0,nx.Z)(a,i=>{let a=a6(i),s=i.maxLookahead||t,o=ss(i.idx,e,a,s)[0];if((0,nN.Z)((0,ik.Z)(o))){let t=r.buildEmptyRepetitionError({topLevelRule:e,repetition:i});n.push({message:t,type:t9.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),n}(e,t,aB)}buildLookaheadForAlternation(e){return function(e,t,r,n,i,a){let s=sa(e,t,r),o=sl(s)?aT:ay;return a(s,n,o,i)}(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,a8)}buildLookaheadForOptional(e){return function(e,t,r,n,i,a){let s=ss(e,t,i,r),o=sl(s)?aT:ay;return a(s[0],o,n)}(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,a6(e.prodType),a9)}}let sL=new class extends ir{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function sw(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function sb(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function sO(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function s_(e,t){let r=(0,nG.Z)(e),n=r.length;for(let i=0;i<n;i++){let n=e[r[i]],a=n.length;for(let e=0;e<a;e++){let r=n[e];void 0===r.tokenTypeIdx&&this[r.name](r.children,t)}}}(e4=t8||(t8={}))[e4.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e4[e4.MISSING_METHOD=1]="MISSING_METHOD";var sP=r(21367);let sM={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(sM);let sD=aD({name:"RECORDING_PHASE_TOKEN",pattern:aS.NA});aR([sD]);let sZ=aU(sD,"This IToken indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(sZ);let sU={name:"This CSTNode indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}};function sF(e,t,r,n=!1){sK(r);let i=(0,am.Z)(this.recordingProdStack),a=(0,iO.Z)(t)?t:t.DEF,s=new e({definition:[],idx:r});return n&&(s.separator=t.SEP),(0,n$.Z)(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),sM}function sG(e,t){sK(t);let r=(0,am.Z)(this.recordingProdStack),n=!1===(0,io.Z)(e),i=!1===n?e:e.DEF,a=new ie({definition:[],idx:t,ignoreAmbiguities:n&&!0===e.IGNORE_AMBIGUITIES});(0,n$.Z)(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD);let s=iu(i,e=>(0,iO.Z)(e.GATE));return a.hasPredicates=s,r.definition.push(a),(0,nx.Z)(i,e=>{let t=new n4({definition:[]});a.definition.push(t),(0,n$.Z)(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:(0,n$.Z)(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),sM}function sB(e){return 0===e?"":`${e}`}function sK(e){if(e<0||e>255){let t=Error(`Invalid DSL Method idx value: <${e}> + Idx value must be a none negative value smaller than ${256}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}let sj=aU(aZ,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(sj);let sV=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:aF,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),sW=Object.freeze({recoveryValueFunc:()=>void 0,resyncEnabled:!0});function sH(e){return function(){return e}}(e7=t9||(t9={}))[e7.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",e7[e7.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",e7[e7.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",e7[e7.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",e7[e7.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",e7[e7.LEFT_RECURSION=5]="LEFT_RECURSION",e7[e7.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",e7[e7.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",e7[e7.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",e7[e7.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",e7[e7.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",e7[e7.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",e7[e7.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",e7[e7.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION";class sz{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let t=this.className;this.TRACE_INIT("toFastProps",()=>{nw(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),(0,nx.Z)(this.definedRulesNames,e=>{let t;let r=this[e].originalGrammarAction;this.TRACE_INIT(`${e} Rule`,()=>{t=this.topLevelRuleRecord(e,r)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=function(e){let t=(0,iC.Z)(e,{errMsgProvider:aG}),r={};return(0,nx.Z)(e.rules,e=>{r[e.name]=e}),function(e,t){let r=new aK(e,t);return r.resolveRefs(),r.errors}(r,t.errMsgProvider)}({rules:(0,nS.Z)(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if((0,nN.Z)(r)&&!1===this.skipValidations){var e;let r=(e={rules:(0,nS.Z)(this.gastProductionsCache),tokenTypes:(0,nS.Z)(this.tokensMap),errMsgProvider:aB,grammarName:t},function(e,t,r,n){let i=aj(e,e=>(function(e,t){let r=new sd;e.accept(r);let n=nz(aY(r.allProductions,su),e=>e.length>1);return(0,nC.Z)((0,nS.Z)(n),r=>{let n=iz(r),i=t.buildDuplicateFoundError(e,r),a=iT(n),s={message:i,type:t9.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:n.idx},o=sc(n);return o&&(s.parameter=o),s})})(e,r)),a=function(e,t,r){let n=[],i=(0,nC.Z)(t,e=>e.name);return(0,nx.Z)(e,e=>{let t=e.name;if(ih(i,t)){let i=r.buildNamespaceConflictError(e);n.push({message:i,type:t9.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),n}(e,t,r),s=aj(e,e=>(function(e,t){let r=new sh;return e.accept(r),aj(r.alternations,r=>r.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:t9.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[])})(e,r)),o=aj(e,t=>(function(e,t,r,n){let i=[];if((0,iM.Z)(t,(t,r)=>r.name===e.name?t+1:t,0)>1){let t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});i.push({message:t,type:t9.DUPLICATE_RULE_NAME,ruleName:e.name})}return i})(t,e,n,r));return i.concat(a,s,o)}((e=(0,iC.Z)(e,{errMsgProvider:aB})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)),n=function(e){let t=e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName});return(0,nC.Z)(t,e=>Object.assign({type:t9.CUSTOM_LOOKAHEAD_VALIDATION},e))}({lookaheadStrategy:this.lookaheadStrategy,rules:(0,nS.Z)(this.gastProductionsCache),tokenTypes:(0,nS.Z)(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(r,n)}}),(0,nN.Z)(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let e=function(e){let t={};return(0,nx.Z)(e,e=>{nK(t,new iS(e).startWalking())}),t}((0,nS.Z)(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null===(t=(e=this.lookaheadStrategy).initialize)||void 0===t||t.call(e,{rules:(0,nS.Z)(this.gastProductionsCache)}),this.preComputeLookaheadFunctions((0,nS.Z)(this.gastProductionsCache))})),!sz.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,nN.Z)(this.definitionErrors))throw e=(0,nC.Z)(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected: + ${e.join("\n-------------------------------\n")}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),(0,n$.Z)(t,"ignoredIssues"))throw Error("The <ignoredIssues> IParserConfig property has been deprecated.\n Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=(0,n$.Z)(t,"skipValidations")?t.skipValidations:sV.skipValidations}}sz.DEFER_DEFINITION_ERRORS_HANDLING=!1,function(e,t){t.forEach(t=>{let r=t.prototype;Object.getOwnPropertyNames(r).forEach(n=>{if("constructor"===n)return;let i=Object.getOwnPropertyDescriptor(r,n);i&&(i.get||i.set)?Object.defineProperty(e.prototype,n,i):e.prototype[n]=t.prototype[n]})})}(sz,[class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,n$.Z)(e,"recoveryEnabled")?e.recoveryEnabled:sV.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=sC)}getTokenToInsert(e){let t=aU(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let i=this.findReSyncTokenType(),a=this.exportLexerState(),s=[],o=!1,l=this.LA(1),u=this.LA(1),c=()=>{let e=this.LA(0),t=new sR(this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=aq(s),this.SAVE_ERROR(t)};for(;!o;){if(this.tokenMatcher(u,n)){c();return}if(r.call(this)){c(),e.apply(this,t);return}this.tokenMatcher(u,i)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s))}this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(!1===r||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new sN("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,nN.Z)(t))return!1;let r=this.LA(1);return void 0!==(0,iY.Z)(t,e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return ih(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=(0,iY.Z)(e,e=>ay(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return sx;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return(0,nC.Z)(e,(r,n)=>0===n?sx:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){let e=(0,nC.Z)(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e));return(0,ik.Z)(e)}getFollowSetFromFollowKey(e){if(e===sx)return[aZ];let t=e.ruleName+e.idxInCallingRule+ix+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,aZ)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return aq(t)}attemptInRepetitionRecovery(e,t,r,n,i,a,s){}getCurrentGrammarPath(e,t){let r=this.getHumanReadableRuleStack();return{ruleStack:r,occurrenceStack:(0,nL.Z)(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return(0,nC.Z)(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}},class{initLooksAhead(e){this.dynamicTokensEnabled=(0,n$.Z)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:sV.dynamicTokensEnabled,this.maxLookahead=(0,n$.Z)(e,"maxLookahead")?e.maxLookahead:sV.maxLookahead,this.lookaheadStrategy=(0,n$.Z)(e,"lookaheadStrategy")?e.lookaheadStrategy:new s$({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){(0,nx.Z)(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:r,option:n,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:s}=function(e){sL.reset(),e.accept(sL);let t=sL.dslMethods;return sL.reset(),t}(e);(0,nx.Z)(t,t=>{let r=0===t.idx?"":t.idx;this.TRACE_INIT(`${iT(t)}${r}`,()=>{var r;let n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),i=(r=this.fullRuleNameToShort[e.name],256|t.idx|r);this.setLaFuncCache(i,n)})}),(0,nx.Z)(r,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,iT(t))}),(0,nx.Z)(n,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,iT(t))}),(0,nx.Z)(i,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,iT(t))}),(0,nx.Z)(a,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,iT(t))}),(0,nx.Z)(s,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,iT(t))})})})}computeLookaheadFunc(e,t,r,n,i,a){this.TRACE_INIT(`${a}${0===t?"":t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),s=t|r|this.fullRuleNameToShort[e.name];this.setLaFuncCache(s,a)})}getKeyForAutomaticLookahead(e,t){return t|e|this.getLastExplicitRuleShortName()}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,n$.Z)(e,"nodeLocationTracking")?e.nodeLocationTracking:sV.nodeLocationTracking,this.outputCst){if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sb,this.setNodeLocationFromNode=sb,this.cstPostRule=ap.Z,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ap.Z,this.setNodeLocationFromNode=ap.Z,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sw,this.setNodeLocationFromNode=sw,this.cstPostRule=ap.Z,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ap.Z,this.setNodeLocationFromNode=ap.Z,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ap.Z,this.setNodeLocationFromNode=ap.Z,this.cstPostRule=ap.Z,this.setInitialNodeLocation=ap.Z;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}else this.cstInvocationStateUpdate=ap.Z,this.cstFinallyStateUpdate=ap.Z,this.cstPostTerminal=ap.Z,this.cstPostNonTerminal=ap.Z,this.cstPostRule=ap.Z}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];void 0===r.children[e]?r.children[e]=[t]:r.children[e].push(t),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];void 0===r.children[t]?r.children[t]=[e]:r.children[t].push(e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if((0,iN.Z)(this.baseCstVisitorConstructor)){let e=function(e,t){let r=function(){};return sO(r,e+"BaseSemantics"),r.prototype={visit:function(e,t){if((0,io.Z)(e)&&(e=e[0]),!(0,iN.Z)(e))return this[e.name](e.children,t)},validateVisitor:function(){var e;let r=(e=this,function(e,t){let r=(0,iD.Z)(t,t=>!1===(0,iO.Z)(e[t]));return iH((0,nC.Z)(r,t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:t8.MISSING_METHOD,methodName:t})))}(e,t));if(!(0,nN.Z)(r)){let e=(0,nC.Z)(r,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${e.join("\n\n").replace(/\n/g,"\n ")}`)}}},r.prototype.constructor=r,r._RULE_NAMES=t,r}(this.className,(0,nG.Z)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if((0,iN.Z)(this.baseCstVisitorWithDefaultsConstructor)){let e=function(e,t,r){let n=function(){};sO(n,e+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return(0,nx.Z)(t,e=>{i[e]=s_}),n.prototype=i,n.prototype.constructor=n,n}(this.className,(0,nG.Z)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):sj}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?sj:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=aT,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,n$.Z)(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if((0,io.Z)(e)){if((0,nN.Z)(e))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if((0,io.Z)(e))this.tokensMap=(0,iM.Z)(e,(e,t)=>(e[t.name]=t,e),{});else if((0,n$.Z)(e,"modes")&&ig((0,ik.Z)((0,nS.Z)(e.modes)),aI)){let t=iA((0,ik.Z)((0,nS.Z)(e.modes)));this.tokensMap=(0,iM.Z)(t,(e,t)=>(e[t.name]=t,e),{})}else if((0,sP.Z)(e))this.tokensMap=(0,nL.Z)(e);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=aZ;let r=ig((0,n$.Z)(e,"modes")?(0,ik.Z)((0,nS.Z)(e.modes)):(0,nS.Z)(e),e=>(0,nN.Z)(e.categoryMatches));this.tokenMatcher=r?aT:ay,aR((0,nS.Z)(this.tokensMap))}defineRule(e,t,r){let n;if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=(0,n$.Z)(r,"resyncEnabled")?r.resyncEnabled:sW.resyncEnabled,a=(0,n$.Z)(r,"recoveryValueFunc")?r.recoveryValueFunc:sW.recoveryValueFunc,s=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s,Object.assign(!0===this.outputCst?function(...r){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,r);let n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(e){return this.invokeRuleCatch(e,i,a)}finally{this.ruleFinallyStateUpdate()}}:function(...r){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,r)}catch(e){return this.invokeRuleCatch(e,i,a)}finally{this.ruleFinallyStateUpdate()}},{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(sv(e)){if(i){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return r(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(n)return this.moveToTerminatedState(),r(e)}throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=i;i=()=>t.call(this)&&e.call(this)}}else n=e;if(!0===i.call(this))return n.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=()=>e.call(this)&&t.call(this)}}else n=t;if(!0===i.call(this)){let e=this.doSingleRepetition(n);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(n)}else throw this.raiseEarlyExitException(e,t5.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,a2)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,a3],t,1536,e,a3)}else throw this.raiseEarlyExitException(e,t5.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=()=>e.call(this)&&t.call(this)}}else n=t;let a=!0;for(;!0===i.call(this)&&!0===a;)a=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,a0,a)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,a1],t,1280,e,a1)}}repetitionSepSecondInternal(e,t,r,n,i){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,i],r,1536,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),n=(0,io.Z)(e)?e:e.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new sk(t,e))}}subruleInternal(e,t,r){let n;try{let i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw sv(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),n=t):this.consumeInternalError(e,t,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n;let i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new sR(n,t,i))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&"MismatchedTokenException"===r.name&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(e){if(e.name===sS)throw r;throw e}}else throw r}saveRecogState(){let e=this.errors,t=(0,nL.Z)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),aZ)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},class{ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=sW){if(ih(this.definedRulesNames,e)){let t={message:aB.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:t9.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=sW){let n=function(e,t,r){let n=[];return ih(t,e)||n.push({message:`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,type:t9.INVALID_RULE_OVERRIDE,ruleName:e}),n}(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let i=this.defineRule(e,t,r);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(sv(e))return!1;throw e}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){var e;return e=(0,nS.Z)(this.gastProductionsCache),(0,nC.Z)(e,function e(t){function r(t){return(0,nC.Z)(t,e)}if(t instanceof n2){let e={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,nP.Z)(t.label)&&(e.label=t.label),e}if(t instanceof n4)return{type:"Alternative",definition:r(t.definition)};if(t instanceof n7)return{type:"Option",idx:t.idx,definition:r(t.definition)};if(t instanceof n6)return{type:"RepetitionMandatory",idx:t.idx,definition:r(t.definition)};if(t instanceof n5)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:e(new it({terminalType:t.separator})),definition:r(t.definition)};else if(t instanceof n9)return{type:"RepetitionWithSeparator",idx:t.idx,separator:e(new it({terminalType:t.separator})),definition:r(t.definition)};else if(t instanceof n8)return{type:"Repetition",idx:t.idx,definition:r(t.definition)};else if(t instanceof ie)return{type:"Alternation",idx:t.idx,definition:r(t.definition)};else if(t instanceof it){var n,i;let e={type:"Terminal",name:t.terminalType.name,label:(i=n=t.terminalType,(0,nP.Z)(i.LABEL)&&""!==i.LABEL)?n.LABEL:n.name,idx:t.idx};(0,nP.Z)(t.label)&&(e.terminalLabel=t.label);let r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(e.pattern=n0(r)?r.source:r),e}else if(t instanceof n3)return{type:"Rule",name:t.name,orgText:t.orgText,definition:r(t.definition)};else throw Error("non exhaustive match")})}},class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=(0,n$.Z)(e,"errorMessageProvider")?e.errorMessageProvider:sV.errorMessageProvider}SAVE_ERROR(e){if(sv(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,nL.Z)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return(0,nL.Z)(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),i=ss(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:a,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new sI(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=sa(e,this.getGAstProductions()[r],this.maxLookahead),i=[];for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));let a=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:i,previous:a,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new sA(s,this.LA(1),a))}},class{initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if((0,iN.Z)(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return a7([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=iz(e.ruleStack);return new aQ(this.getGAstProductions()[t],e).startWalking()}},class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(t,r){return this.consumeInternalRecord(t,e,r)},this[`SUBRULE${t}`]=function(t,r){return this.subruleInternalRecord(t,e,r)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return sj}topLevelRuleRecord(e,t){try{let r=new n3({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return sF.call(this,n7,e,t)}atLeastOneInternalRecord(e,t){sF.call(this,n6,t,e)}atLeastOneSepFirstInternalRecord(e,t){sF.call(this,n5,t,e,!0)}manyInternalRecord(e,t){sF.call(this,n8,t,e)}manySepFirstInternalRecord(e,t){sF.call(this,n9,t,e,!0)}orInternalRecord(e,t){return sG.call(this,e,t)}subruleInternalRecord(e,t,r){if(sK(t),!e||!1===(0,n$.Z)(e,"ruleName")){let r=Error(`<SUBRULE${sB(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=(0,am.Z)(this.recordingProdStack),i=new n2({idx:t,nonTerminalName:e.ruleName,label:null==r?void 0:r.LABEL,referencedRule:void 0});return n.definition.push(i),this.outputCst?sU:sM}consumeInternalRecord(e,t,r){if(sK(t),!aA(e)){let r=Error(`<CONSUME${sB(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=(0,am.Z)(this.recordingProdStack),i=new it({idx:t,terminalType:e,label:null==r?void 0:r.LABEL});return n.definition.push(i),sZ}},class{initPerformanceTracer(e){if((0,n$.Z)(e,"traceInitPerf")){let t=e.traceInitPerf,r="number"==typeof t;this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=sV.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=ag(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}}}]);class sY extends sz{constructor(e,t=sV){let r=(0,nL.Z)(t);r.outputCst=!1,super(e,r)}}function sq(e,t,r){return`${e.name}_${t}_${r}`}class sX{constructor(e){this.target=e}isEpsilon(){return!1}}class sQ extends sX{constructor(e,t){super(e),this.tokenType=t}}class sJ extends sX{constructor(e){super(e)}isEpsilon(){return!0}}class s0 extends sX{constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}}function s1(e,t,r){let n=(0,iD.Z)((0,nC.Z)(r.definition,r=>(function e(t,r,n){if(n instanceof it)return s6(t,r,n.terminalType,n);if(n instanceof n2)return function(e,t,r){let n=r.referencedRule,i=e.ruleToStartState.get(n),a=s8(e,t,r,{type:1}),s=s8(e,t,r,{type:1});return s9(a,new s0(i,n,s)),{left:a,right:s}}(t,r,n);if(n instanceof ie)return function(t,r,n){let i=s8(t,r,n,{type:1});s4(t,i);let a=(0,nC.Z)(n.definition,n=>e(t,r,n));return s7(t,r,i,n,...a)}(t,r,n);if(n instanceof n7)return function(e,t,r){let n=s8(e,t,r,{type:1});s4(e,n);let i=s7(e,t,n,r,s1(e,t,r));return function(e,t,r,n){let i=n.left;return s5(i,n.right),e.decisionMap[sq(t,"Option",r.idx)]=i,n}(e,t,r,i)}(t,r,n);if(n instanceof n8)return function(e,t,r){let n=s8(e,t,r,{type:5});s4(e,n);let i=s7(e,t,n,r,s1(e,t,r));return s3(e,t,r,i)}(t,r,n);else if(n instanceof n9)return function(e,t,r){let n=s8(e,t,r,{type:5});s4(e,n);let i=s7(e,t,n,r,s1(e,t,r)),a=s6(e,t,r.separator,r);return s3(e,t,r,i,a)}(t,r,n);else if(n instanceof n6)return function(e,t,r){let n=s8(e,t,r,{type:4});s4(e,n);let i=s7(e,t,n,r,s1(e,t,r));return s2(e,t,r,i)}(t,r,n);else if(n instanceof n5)return function(e,t,r){let n=s8(e,t,r,{type:4});s4(e,n);let i=s7(e,t,n,r,s1(e,t,r)),a=s6(e,t,r.separator,r);return s2(e,t,r,i,a)}(t,r,n);else return s1(t,r,n)})(e,t,r)),e=>void 0!==e);return 1===n.length?n[0]:0===n.length?void 0:function(e,t){let r=t.length;for(let n=0;n<r-1;n++){let r;let i=t[n];1===i.left.transitions.length&&(r=i.left.transitions[0]);let a=r instanceof s0,s=r,o=t[n+1].left;1===i.left.type&&1===i.right.type&&void 0!==r&&(a&&s.followState===i.right||r.target===i.right)?(a?s.followState=o:r.target=o,function(e,t){e.states.splice(e.states.indexOf(t),1)}(e,i.right)):s5(i.right,o)}let n=t[0],i=t[r-1];return{left:n.left,right:i.right}}(e,n)}function s2(e,t,r,n,i){let a=n.left,s=n.right,o=s8(e,t,r,{type:11});s4(e,o);let l=s8(e,t,r,{type:12});return a.loopback=o,l.loopback=o,e.decisionMap[sq(t,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,s5(s,o),void 0===i?(s5(o,a),s5(o,l)):(s5(o,l),s5(o,i.left),s5(i.right,a)),{left:a,right:l}}function s3(e,t,r,n,i){let a=n.left,s=n.right,o=s8(e,t,r,{type:10});s4(e,o);let l=s8(e,t,r,{type:12}),u=s8(e,t,r,{type:9});return o.loopback=u,l.loopback=u,s5(o,a),s5(o,l),s5(s,u),void 0!==i?(s5(u,l),s5(u,i.left),s5(i.right,a)):s5(u,o),e.decisionMap[sq(t,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function s4(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function s7(e,t,r,n,...i){let a=s8(e,t,n,{type:8,start:r});for(let e of(r.end=a,i))void 0!==e?(s5(r,e.left),s5(e.right,a)):s5(r,a);return e.decisionMap[sq(t,function(e){if(e instanceof ie)return"Alternation";if(e instanceof n7)return"Option";if(e instanceof n8)return"Repetition";if(e instanceof n9)return"RepetitionWithSeparator";if(e instanceof n6)return"RepetitionMandatory";else if(e instanceof n5)return"RepetitionMandatoryWithSeparator";else throw Error("Invalid production type encountered")}(n),n.idx)]=r,{left:r,right:a}}function s6(e,t,r,n){let i=s8(e,t,n,{type:1}),a=s8(e,t,n,{type:1});return s9(i,new sQ(a,r)),{left:i,right:a}}function s5(e,t){s9(e,new sJ(t))}function s8(e,t,r,n){let i=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function s9(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}let oe={};class ot{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=or(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return(0,nC.Z)(this.configs,e=>e.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}}function or(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}var on=r(90373);class oi{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;r<t;r++)e+=!0===this.predicates[r]?"1":"0";return e}}let oa=new oi;class os extends s${constructor(e){var t;super(),this.logging=null!==(t=null==e?void 0:e.logging)&&void 0!==t?t:e=>console.log(e)}initialize(e){this.atn=function(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};(function(e,t){let r=t.length;for(let n=0;n<r;n++){let r=t[n],i=s8(e,r,void 0,{type:2}),a=s8(e,r,void 0,{type:7});i.stop=a,e.ruleToStartState.set(r,i),e.ruleToStopState.set(r,a)}})(t,e);let r=e.length;for(let n=0;n<r;n++){let r=e[n],i=s1(t,r,r);void 0!==i&&function(e,t,r){s5(e.ruleToStartState.get(t),r.left);let n=e.ruleToStopState.get(t);s5(r.right,n)}(t,r,i)}return t}(e.rules),this.dfas=function(e){let t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=function(e,t){let r={};return n=>{let i=n.toString(),a=r[i];return void 0!==a||(a={atnStartState:e,decision:t,states:{}},r[i]=a),a}}(e.decisionStates[n],n);return r}(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=sq(r,"Alternation",t),l=this.atn.decisionMap[o].decision,u=(0,nC.Z)(a5({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),e=>(0,nC.Z)(e,e=>e[0]));if(oo(u,!1)&&!i){let e=(0,iM.Z)(u,(e,t,r)=>((0,nx.Z)(t,t=>{t&&(e[t.tokenTypeIdx]=r,(0,nx.Z)(t.categoryMatches,t=>{e[t]=r}))}),e),{});return n?function(t){var r;let n=e[this.LA(1).tokenTypeIdx];if(void 0!==t&&void 0!==n){let e=null===(r=t[n])||void 0===r?void 0:r.GATE;if(void 0!==e&&!1===e.call(this))return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}return n?function(e){let t=new oi,r=void 0===e?0:e.length;for(let n=0;n<r;n++){let r=null==e?void 0:e[n].GATE;t.set(n,void 0===r||r.call(this))}let n=ol.call(this,a,l,t,s);return"number"==typeof n?n:void 0}:function(){let e=ol.call(this,a,l,oa,s);return"number"==typeof e?e:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:r,prodType:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=sq(r,n,t),l=this.atn.decisionMap[o].decision,u=(0,nC.Z)(a5({maxLookahead:1,occurrence:t,prodType:n,rule:r}),e=>(0,nC.Z)(e,e=>e[0]));if(oo(u)&&u[0][0]&&!i){let e=u[0],t=(0,ik.Z)(e);if(1===t.length&&(0,nN.Z)(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=(0,iM.Z)(t,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,(0,nx.Z)(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}return function(){let e=ol.call(this,a,l,oa,s);return"object"!=typeof e&&0===e}}}function oo(e,t=!0){let r=new Set;for(let n of e){let e=new Set;for(let i of n){if(void 0===i){if(!t)return!1;break}for(let t of[i.tokenTypeIdx].concat(i.categoryMatches))if(r.has(t)){if(!e.has(t))return!1}else r.add(t),e.add(t)}}return!0}function ol(e,t,r,n){let i=e[t](r),a=i.start;if(void 0===a){let e=function(e){let t=new ot,r=e.transitions.length;for(let n=0;n<r;n++)om({state:e.transitions[n].target,alt:n,stack:[]},t);return t}(i.atnStartState);a=op(i,oh(e)),i.start=a}return ou.apply(this,[i,a,r,n])}function ou(e,t,r,n){let i=t,a=1,s=[],o=this.LA(a++);for(;;){var l,u;let t=(l=i,u=o,l.edges[u.tokenTypeIdx]);if(void 0===t&&(t=oc.apply(this,[e,i,o,a,r,n])),t===oe)return function(e,t,r){var n,i;return{actualToken:r,possibleTokenTypes:(n=aj(t.configs.elements,e=>e.state.transitions).filter(e=>e instanceof sQ).map(e=>e.tokenType),i=e=>e.tokenTypeIdx,n&&n.length?(0,iR.Z)(n,(0,nV.Z)(i,2)):[]),tokenPath:e}}(s,i,o);if(!0===t.isAcceptState)return t.prediction;i=t,s.push(o),o=this.LA(a++)}}function oc(e,t,r,n,i,a){let s=function(e,t,r){let n;let i=new ot,a=[];for(let n of e.elements){if(!1===r.is(n.alt))continue;if(7===n.state.type){a.push(n);continue}let e=n.state.transitions.length;for(let r=0;r<e;r++){let e=function(e,t){if(e instanceof sQ&&ay(t,e.tokenType))return e.target}(n.state.transitions[r],t);void 0!==e&&i.add({state:e,alt:n.alt,stack:n.stack})}}if(0===a.length&&1===i.size&&(n=i),void 0===n)for(let e of(n=new ot,i.elements))om(e,n);if(a.length>0&&!function(e){for(let t of e.elements)if(7===t.state.type)return!0;return!1}(n))for(let e of a)n.add(e);return n}(t.configs,r,i);if(0===s.size)return of(e,t,r,oe),oe;let o=oh(s),l=function(e,t){let r;for(let n of e.elements)if(!0===t.is(n.alt)){if(void 0===r)r=n.alt;else if(r!==n.alt)return}return r}(s,i);if(void 0!==l)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(function(e){if(function(e){for(let t of e.elements)if(7!==t.state.type)return!1;return!0}(e))return!0;let t=function(e){let t=new Map;for(let r of e){let e=or(r,!1),n=t.get(e);void 0===n&&(n={},t.set(e,n)),n[r.alt]=!0}return t}(e.elements);return function(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}(t)&&!function(e){for(let t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}(t)}(s)){let t=(0,on.Z)(s.alts);o.isAcceptState=!0,o.prediction=t,o.configs.uniqueAlt=t,od.apply(this,[e,n,s.alts,a])}return of(e,t,r,o)}function od(e,t,r,n){let i=[];for(let e=1;e<=t;e++)i.push(this.LA(e).tokenType);let a=e.atnStartState;n(function(e){let t=(0,nC.Z)(e.prefixPath,e=>aN(e)).join(", "),r=0===e.production.idx?"":e.production.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${function(e){if(e instanceof n2)return"SUBRULE";if(e instanceof n7)return"OPTION";if(e instanceof ie)return"OR";if(e instanceof n6)return"AT_LEAST_ONE";if(e instanceof n5)return"AT_LEAST_ONE_SEP";else if(e instanceof n9)return"MANY_SEP";else if(e instanceof n8)return"MANY";else if(e instanceof it)return"CONSUME";else throw Error("non exhaustive match")}(e.production)}${r}> inside <${e.topLevelRule.name}> Rule, +<${t}> may appears as a prefix path in all these alternatives. +`;return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +`+"For Further details."}({topLevelRule:a.rule,ambiguityIndices:r,production:a.production,prefixPath:i}))}function oh(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function of(e,t,r,n){return n=op(e,n),t.edges[r.tokenTypeIdx]=n,n}function op(e,t){if(t===oe)return t;let r=t.configs.key,n=e.states[r];return void 0!==n?n:(t.configs.finalize(),e.states[r]=t,t)}function om(e,t){let r=e.state;if(7===r.type){if(e.stack.length>0){let r=[...e.stack];om({state:r.pop(),alt:e.alt,stack:r},t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let i=0;i<n;i++){let n=function(e,t){if(t instanceof sJ)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof s0){let r=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:r}}}(e,r.transitions[i]);void 0!==n&&om(n,t)}}(re||(re={})).is=function(e){return"string"==typeof e},(rt||(rt={})).is=function(e){return"string"==typeof e},(e6=rr||(rr={})).MIN_VALUE=-0x80000000,e6.MAX_VALUE=0x7fffffff,e6.is=function(e){return"number"==typeof e&&e6.MIN_VALUE<=e&&e<=e6.MAX_VALUE},(e5=rn||(rn={})).MIN_VALUE=0,e5.MAX_VALUE=0x7fffffff,e5.is=function(e){return"number"==typeof e&&e5.MIN_VALUE<=e&&e<=e5.MAX_VALUE},(e8=ri||(ri={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=rn.MAX_VALUE),t===Number.MAX_VALUE&&(t=rn.MAX_VALUE),{line:e,character:t}},e8.is=function(e){return nm.objectLiteral(e)&&nm.uinteger(e.line)&&nm.uinteger(e.character)},(e9=ra||(ra={})).create=function(e,t,r,n){if(nm.uinteger(e)&&nm.uinteger(t)&&nm.uinteger(r)&&nm.uinteger(n))return{start:ri.create(e,t),end:ri.create(r,n)};if(ri.is(e)&&ri.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)},e9.is=function(e){return nm.objectLiteral(e)&&ri.is(e.start)&&ri.is(e.end)},(te=rs||(rs={})).create=function(e,t){return{uri:e,range:t}},te.is=function(e){return nm.objectLiteral(e)&&ra.is(e.range)&&(nm.string(e.uri)||nm.undefined(e.uri))},(tt=ro||(ro={})).create=function(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}},tt.is=function(e){return nm.objectLiteral(e)&&ra.is(e.targetRange)&&nm.string(e.targetUri)&&ra.is(e.targetSelectionRange)&&(ra.is(e.originSelectionRange)||nm.undefined(e.originSelectionRange))},(tr=rl||(rl={})).create=function(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}},tr.is=function(e){return nm.objectLiteral(e)&&nm.numberRange(e.red,0,1)&&nm.numberRange(e.green,0,1)&&nm.numberRange(e.blue,0,1)&&nm.numberRange(e.alpha,0,1)},(tn=ru||(ru={})).create=function(e,t){return{range:e,color:t}},tn.is=function(e){return nm.objectLiteral(e)&&ra.is(e.range)&&rl.is(e.color)},(ti=rc||(rc={})).create=function(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}},ti.is=function(e){return nm.objectLiteral(e)&&nm.string(e.label)&&(nm.undefined(e.textEdit)||rv.is(e))&&(nm.undefined(e.additionalTextEdits)||nm.typedArray(e.additionalTextEdits,rv.is))},(ta=rd||(rd={})).Comment="comment",ta.Imports="imports",ta.Region="region",(ts=rh||(rh={})).create=function(e,t,r,n,i,a){let s={startLine:e,endLine:t};return nm.defined(r)&&(s.startCharacter=r),nm.defined(n)&&(s.endCharacter=n),nm.defined(i)&&(s.kind=i),nm.defined(a)&&(s.collapsedText=a),s},ts.is=function(e){return nm.objectLiteral(e)&&nm.uinteger(e.startLine)&&nm.uinteger(e.startLine)&&(nm.undefined(e.startCharacter)||nm.uinteger(e.startCharacter))&&(nm.undefined(e.endCharacter)||nm.uinteger(e.endCharacter))&&(nm.undefined(e.kind)||nm.string(e.kind))},(to=rf||(rf={})).create=function(e,t){return{location:e,message:t}},to.is=function(e){return nm.defined(e)&&rs.is(e.location)&&nm.string(e.message)},(tl=rp||(rp={})).Error=1,tl.Warning=2,tl.Information=3,tl.Hint=4,(tu=rm||(rm={})).Unnecessary=1,tu.Deprecated=2,(rg||(rg={})).is=function(e){return nm.objectLiteral(e)&&nm.string(e.href)},(tc=ry||(ry={})).create=function(e,t,r,n,i,a){let s={range:e,message:t};return nm.defined(r)&&(s.severity=r),nm.defined(n)&&(s.code=n),nm.defined(i)&&(s.source=i),nm.defined(a)&&(s.relatedInformation=a),s},tc.is=function(e){var t;return nm.defined(e)&&ra.is(e.range)&&nm.string(e.message)&&(nm.number(e.severity)||nm.undefined(e.severity))&&(nm.integer(e.code)||nm.string(e.code)||nm.undefined(e.code))&&(nm.undefined(e.codeDescription)||nm.string(null===(t=e.codeDescription)||void 0===t?void 0:t.href))&&(nm.string(e.source)||nm.undefined(e.source))&&(nm.undefined(e.relatedInformation)||nm.typedArray(e.relatedInformation,rf.is))},(td=rT||(rT={})).create=function(e,t,...r){let n={title:e,command:t};return nm.defined(r)&&r.length>0&&(n.arguments=r),n},td.is=function(e){return nm.defined(e)&&nm.string(e.title)&&nm.string(e.command)},(th=rv||(rv={})).replace=function(e,t){return{range:e,newText:t}},th.insert=function(e,t){return{range:{start:e,end:e},newText:t}},th.del=function(e){return{range:e,newText:""}},th.is=function(e){return nm.objectLiteral(e)&&nm.string(e.newText)&&ra.is(e.range)},(tf=rE||(rE={})).create=function(e,t,r){let n={label:e};return void 0!==t&&(n.needsConfirmation=t),void 0!==r&&(n.description=r),n},tf.is=function(e){return nm.objectLiteral(e)&&nm.string(e.label)&&(nm.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(nm.string(e.description)||void 0===e.description)},(rR||(rR={})).is=function(e){return nm.string(e)},(tp=rA||(rA={})).replace=function(e,t,r){return{range:e,newText:t,annotationId:r}},tp.insert=function(e,t,r){return{range:{start:e,end:e},newText:t,annotationId:r}},tp.del=function(e,t){return{range:e,newText:"",annotationId:t}},tp.is=function(e){return rv.is(e)&&(rE.is(e.annotationId)||rR.is(e.annotationId))},(tm=rk||(rk={})).create=function(e,t){return{textDocument:e,edits:t}},tm.is=function(e){return nm.defined(e)&&rL.is(e.textDocument)&&Array.isArray(e.edits)},(tg=rI||(rI={})).create=function(e,t,r){let n={kind:"create",uri:e};return void 0!==t&&(void 0!==t.overwrite||void 0!==t.ignoreIfExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n},tg.is=function(e){return e&&"create"===e.kind&&nm.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||nm.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||nm.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||rR.is(e.annotationId))},(ty=rx||(rx={})).create=function(e,t,r,n){let i={kind:"rename",oldUri:e,newUri:t};return void 0!==r&&(void 0!==r.overwrite||void 0!==r.ignoreIfExists)&&(i.options=r),void 0!==n&&(i.annotationId=n),i},ty.is=function(e){return e&&"rename"===e.kind&&nm.string(e.oldUri)&&nm.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||nm.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||nm.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||rR.is(e.annotationId))},(tT=rS||(rS={})).create=function(e,t,r){let n={kind:"delete",uri:e};return void 0!==t&&(void 0!==t.recursive||void 0!==t.ignoreIfNotExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n},tT.is=function(e){return e&&"delete"===e.kind&&nm.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||nm.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||nm.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||rR.is(e.annotationId))},(rN||(rN={})).is=function(e){return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every(e=>nm.string(e.kind)?rI.is(e)||rx.is(e)||rS.is(e):rk.is(e)))},(tv=rC||(rC={})).create=function(e){return{uri:e}},tv.is=function(e){return nm.defined(e)&&nm.string(e.uri)},(tE=r$||(r$={})).create=function(e,t){return{uri:e,version:t}},tE.is=function(e){return nm.defined(e)&&nm.string(e.uri)&&nm.integer(e.version)},(tR=rL||(rL={})).create=function(e,t){return{uri:e,version:t}},tR.is=function(e){return nm.defined(e)&&nm.string(e.uri)&&(null===e.version||nm.integer(e.version))},(tA=rw||(rw={})).create=function(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}},tA.is=function(e){return nm.defined(e)&&nm.string(e.uri)&&nm.string(e.languageId)&&nm.integer(e.version)&&nm.string(e.text)},(tk=rb||(rb={})).PlainText="plaintext",tk.Markdown="markdown",tk.is=function(e){return e===tk.PlainText||e===tk.Markdown},(rO||(rO={})).is=function(e){return nm.objectLiteral(e)&&rb.is(e.kind)&&nm.string(e.value)},(tI=r_||(r_={})).Text=1,tI.Method=2,tI.Function=3,tI.Constructor=4,tI.Field=5,tI.Variable=6,tI.Class=7,tI.Interface=8,tI.Module=9,tI.Property=10,tI.Unit=11,tI.Value=12,tI.Enum=13,tI.Keyword=14,tI.Snippet=15,tI.Color=16,tI.File=17,tI.Reference=18,tI.Folder=19,tI.EnumMember=20,tI.Constant=21,tI.Struct=22,tI.Event=23,tI.Operator=24,tI.TypeParameter=25,(tx=rP||(rP={})).PlainText=1,tx.Snippet=2,(rM||(rM={})).Deprecated=1,(tS=rD||(rD={})).create=function(e,t,r){return{newText:e,insert:t,replace:r}},tS.is=function(e){return e&&nm.string(e.newText)&&ra.is(e.insert)&&ra.is(e.replace)},(tN=rZ||(rZ={})).asIs=1,tN.adjustIndentation=2,(rU||(rU={})).is=function(e){return e&&(nm.string(e.detail)||void 0===e.detail)&&(nm.string(e.description)||void 0===e.description)},(rF||(rF={})).create=function(e){return{label:e}},(rG||(rG={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(tC=rB||(rB={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},tC.is=function(e){return nm.string(e)||nm.objectLiteral(e)&&nm.string(e.language)&&nm.string(e.value)},(rK||(rK={})).is=function(e){return!!e&&nm.objectLiteral(e)&&(rO.is(e.contents)||rB.is(e.contents)||nm.typedArray(e.contents,rB.is))&&(void 0===e.range||ra.is(e.range))},(rj||(rj={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(rV||(rV={})).create=function(e,t,...r){let n={label:e};return nm.defined(t)&&(n.documentation=t),nm.defined(r)?n.parameters=r:n.parameters=[],n},(t$=rW||(rW={})).Text=1,t$.Read=2,t$.Write=3,(rH||(rH={})).create=function(e,t){let r={range:e};return nm.number(t)&&(r.kind=t),r},(tL=rz||(rz={})).File=1,tL.Module=2,tL.Namespace=3,tL.Package=4,tL.Class=5,tL.Method=6,tL.Property=7,tL.Field=8,tL.Constructor=9,tL.Enum=10,tL.Interface=11,tL.Function=12,tL.Variable=13,tL.Constant=14,tL.String=15,tL.Number=16,tL.Boolean=17,tL.Array=18,tL.Object=19,tL.Key=20,tL.Null=21,tL.EnumMember=22,tL.Struct=23,tL.Event=24,tL.Operator=25,tL.TypeParameter=26,(rY||(rY={})).Deprecated=1,(rq||(rq={})).create=function(e,t,r,n,i){let a={name:e,kind:t,location:{uri:n,range:r}};return i&&(a.containerName=i),a},(rX||(rX={})).create=function(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}},(tw=rQ||(rQ={})).create=function(e,t,r,n,i,a){let s={name:e,detail:t,kind:r,range:n,selectionRange:i};return void 0!==a&&(s.children=a),s},tw.is=function(e){return e&&nm.string(e.name)&&nm.number(e.kind)&&ra.is(e.range)&&ra.is(e.selectionRange)&&(void 0===e.detail||nm.string(e.detail))&&(void 0===e.deprecated||nm.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))},(tb=rJ||(rJ={})).Empty="",tb.QuickFix="quickfix",tb.Refactor="refactor",tb.RefactorExtract="refactor.extract",tb.RefactorInline="refactor.inline",tb.RefactorRewrite="refactor.rewrite",tb.Source="source",tb.SourceOrganizeImports="source.organizeImports",tb.SourceFixAll="source.fixAll",(tO=r0||(r0={})).Invoked=1,tO.Automatic=2,(t_=r1||(r1={})).create=function(e,t,r){let n={diagnostics:e};return null!=t&&(n.only=t),null!=r&&(n.triggerKind=r),n},t_.is=function(e){return nm.defined(e)&&nm.typedArray(e.diagnostics,ry.is)&&(void 0===e.only||nm.typedArray(e.only,nm.string))&&(void 0===e.triggerKind||e.triggerKind===r0.Invoked||e.triggerKind===r0.Automatic)},(tP=r2||(r2={})).create=function(e,t,r){let n={title:e},i=!0;return"string"==typeof t?(i=!1,n.kind=t):rT.is(t)?n.command=t:n.edit=t,i&&void 0!==r&&(n.kind=r),n},tP.is=function(e){return e&&nm.string(e.title)&&(void 0===e.diagnostics||nm.typedArray(e.diagnostics,ry.is))&&(void 0===e.kind||nm.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||rT.is(e.command))&&(void 0===e.isPreferred||nm.boolean(e.isPreferred))&&(void 0===e.edit||rN.is(e.edit))},(tM=r3||(r3={})).create=function(e,t){let r={range:e};return nm.defined(t)&&(r.data=t),r},tM.is=function(e){return nm.defined(e)&&ra.is(e.range)&&(nm.undefined(e.command)||rT.is(e.command))},(tD=r4||(r4={})).create=function(e,t){return{tabSize:e,insertSpaces:t}},tD.is=function(e){return nm.defined(e)&&nm.uinteger(e.tabSize)&&nm.boolean(e.insertSpaces)},(tZ=r7||(r7={})).create=function(e,t,r){return{range:e,target:t,data:r}},tZ.is=function(e){return nm.defined(e)&&ra.is(e.range)&&(nm.undefined(e.target)||nm.string(e.target))},(tU=r6||(r6={})).create=function(e,t){return{range:e,parent:t}},tU.is=function(e){return nm.objectLiteral(e)&&ra.is(e.range)&&(void 0===e.parent||tU.is(e.parent))},(tF=r5||(r5={})).namespace="namespace",tF.type="type",tF.class="class",tF.enum="enum",tF.interface="interface",tF.struct="struct",tF.typeParameter="typeParameter",tF.parameter="parameter",tF.variable="variable",tF.property="property",tF.enumMember="enumMember",tF.event="event",tF.function="function",tF.method="method",tF.macro="macro",tF.keyword="keyword",tF.modifier="modifier",tF.comment="comment",tF.string="string",tF.number="number",tF.regexp="regexp",tF.operator="operator",tF.decorator="decorator",(tG=r8||(r8={})).declaration="declaration",tG.definition="definition",tG.readonly="readonly",tG.static="static",tG.deprecated="deprecated",tG.abstract="abstract",tG.async="async",tG.modification="modification",tG.documentation="documentation",tG.defaultLibrary="defaultLibrary",(r9||(r9={})).is=function(e){return nm.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])},(tB=ne||(ne={})).create=function(e,t){return{range:e,text:t}},tB.is=function(e){return null!=e&&ra.is(e.range)&&nm.string(e.text)},(tK=nt||(nt={})).create=function(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}},tK.is=function(e){return null!=e&&ra.is(e.range)&&nm.boolean(e.caseSensitiveLookup)&&(nm.string(e.variableName)||void 0===e.variableName)},(tj=nr||(nr={})).create=function(e,t){return{range:e,expression:t}},tj.is=function(e){return null!=e&&ra.is(e.range)&&(nm.string(e.expression)||void 0===e.expression)},(tV=nn||(nn={})).create=function(e,t){return{frameId:e,stoppedLocation:t}},tV.is=function(e){return nm.defined(e)&&ra.is(e.stoppedLocation)},(tW=ni||(ni={})).Type=1,tW.Parameter=2,tW.is=function(e){return 1===e||2===e},(tH=na||(na={})).create=function(e){return{value:e}},tH.is=function(e){return nm.objectLiteral(e)&&(void 0===e.tooltip||nm.string(e.tooltip)||rO.is(e.tooltip))&&(void 0===e.location||rs.is(e.location))&&(void 0===e.command||rT.is(e.command))},(tz=ns||(ns={})).create=function(e,t,r){let n={position:e,label:t};return void 0!==r&&(n.kind=r),n},tz.is=function(e){return nm.objectLiteral(e)&&ri.is(e.position)&&(nm.string(e.label)||nm.typedArray(e.label,na.is))&&(void 0===e.kind||ni.is(e.kind))&&void 0===e.textEdits||nm.typedArray(e.textEdits,rv.is)&&(void 0===e.tooltip||nm.string(e.tooltip)||rO.is(e.tooltip))&&(void 0===e.paddingLeft||nm.boolean(e.paddingLeft))&&(void 0===e.paddingRight||nm.boolean(e.paddingRight))},(no||(no={})).createSnippet=function(e){return{kind:"snippet",value:e}},(nl||(nl={})).create=function(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}},(nu||(nu={})).create=function(e){return{items:e}},(tY=nc||(nc={})).Invoked=0,tY.Automatic=1,(nd||(nd={})).create=function(e,t){return{range:e,text:t}},(nh||(nh={})).create=function(e,t){return{triggerKind:e,selectedCompletionInfo:t}},(nf||(nf={})).is=function(e){return nm.objectLiteral(e)&&rt.is(e.uri)&&nm.string(e.name)},(tq=np||(np={})).create=function(e,t,r,n){return new og(e,t,r,n)},tq.is=function(e){return!!(nm.defined(e)&&nm.string(e.uri)&&(nm.undefined(e.languageId)||nm.string(e.languageId))&&nm.uinteger(e.lineCount)&&nm.func(e.getText)&&nm.func(e.positionAt)&&nm.func(e.offsetAt))},tq.applyEdits=function(e,t){let r=e.getText(),n=function e(t,r){if(t.length<=1)return t;let n=t.length/2|0,i=t.slice(0,n),a=t.slice(n);e(i,r),e(a,r);let s=0,o=0,l=0;for(;s<i.length&&o<a.length;)0>=r(i[s],a[o])?t[l++]=i[s++]:t[l++]=a[o++];for(;s<i.length;)t[l++]=i[s++];for(;o<a.length;)t[l++]=a[o++];return t}(t,(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=r.length;for(let t=n.length-1;t>=0;t--){let a=n[t],s=e.offsetAt(a.range.start),o=e.offsetAt(a.range.end);if(o<=i)r=r.substring(0,s)+a.newText+r.substring(o,r.length);else throw Error("Overlapping edit");i=s}return r};class og{constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,r=!0;for(let n=0;n<t.length;n++){r&&(e.push(n),r=!1);let i=t.charAt(n);r="\r"===i||"\n"===i,"\r"===i&&n+1<t.length&&"\n"===t.charAt(n+1)&&n++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return ri.create(0,e);for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return ri.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,n),r)}get lineCount(){return this.getLineOffsets().length}}!function(e){let t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.numberRange=function(e,r,n){return"[object Number]"===t.call(e)&&r<=e&&e<=n},e.integer=function(e){return"[object Number]"===t.call(e)&&-0x80000000<=e&&e<=0x7fffffff},e.uinteger=function(e){return"[object Number]"===t.call(e)&&0<=e&&e<=0x7fffffff},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(nm||(nm={}));class oy{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new oA(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new oE;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new ov(e.startOffset,e.image.length,y(e),e.tokenType,!1);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){let t=e.container;if(t){let r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}construct(e){let t=this.current;"string"==typeof e.$type&&(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();(null==r?void 0:r.content.length)===0&&this.removeNode(r)}addHiddenTokens(e){for(let t of e){let e=new ov(t.startOffset,t.image.length,y(t),t.tokenType,!0);e.root=this.rootNode,this.addHiddenToken(this.rootNode,e)}}addHiddenToken(e,t){let{offset:r,end:n}=t;for(let i=0;i<e.content.length;i++){let a=e.content[i],{offset:s,end:l}=a;if(o(a)&&r>s&&n<l){this.addHiddenToken(a,t);return}if(n<=s){e.content.splice(i,0,t);return}}e.content.push(t)}}class oT{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,t;let r="string"==typeof(null===(e=this._astNode)||void 0===e?void 0:e.$type)?this._astNode:null===(t=this.container)||void 0===t?void 0:t.astNode;if(!r)throw Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class ov extends oT{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,n,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=n,this._length=t,this._range=r}}class oE extends oT{constructor(){super(...arguments),this.content=new oR(this)}get children(){return this.content}get offset(){var e,t;return null!==(t=null===(e=this.firstNonHiddenNode)||void 0===e?void 0:e.offset)&&void 0!==t?t:0}get length(){return this.end-this.offset}get end(){var e,t;return null!==(t=null===(e=this.lastNonHiddenNode)||void 0===e?void 0:e.end)&&void 0!==t?t:0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(!e||!t)return{start:ri.create(0,0),end:ri.create(0,0)};if(void 0===this._rangeCache){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line<r.start.line?r.start:n.end}}return this._rangeCache}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}}class oR extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,oR.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(let t of e)t.container=this.parent}}class oA extends oE{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=null!=e?e:""}}let ok=Symbol("Datatype");function oI(e){return e.$type===ok}let ox=e=>e.endsWith("\u200B")?e:e+"\u200B";class oS{constructor(e){this._unorderedGroups=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition;this.wrapper=new ob(t,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class oN extends oS{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new oy,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let r=e.fragment?void 0:ez(e)?ok:eq(e),n=this.wrapper.DEFINE_RULE(ox(e.name),this.startImplementation(r,t).bind(this));return e.entry&&(this.mainRule=n),n}parse(e){this.nodeBuilder.buildRootNode(e);let t=this.lexer.tokenize(e);this.wrapper.input=t.tokens;let r=this.mainRule.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(t.hidden),this.unorderedGroups.clear(),{value:r,lexerErrors:t.errors,parserErrors:this.wrapper.errors}}startImplementation(e,t){return r=>{let n;if(!this.isRecording()){let t={$type:e};this.stack.push(t),e===ok&&(t.value="")}try{n=t(r)}catch(e){n=void 0}return this.isRecording()||void 0!==n||(n=this.construct()),n}}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let e=this.nodeBuilder.buildLeafNode(n,r),{assignment:t,isCrossRef:i}=this.getAssignment(r),a=this.current;if(t){let a=en(r)?n.image:this.converter.convert(n.image,e);this.assign(t.operator,t.feature,a,e,i)}else if(oI(a)){let t=n.image;en(r)||(t=this.converter.convert(t,e).toString()),a.value+=t}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n){let i;this.isRecording()||(i=this.nodeBuilder.buildCompositeNode(r));let a=this.wrapper.wrapSubrule(e,t,n);!this.isRecording()&&i&&i.length>0&&this.performSubruleAssignment(a,r,i)}performSubruleAssignment(e,t,r){let{assignment:n,isCrossRef:i}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,i);else if(!n){let t=this.current;if(oI(t))t.value+=e.toString();else if("object"==typeof e&&e){let r=e.$type,n=this.assignWithoutOverride(e,t);r&&(n.$type=r),this.stack.pop(),this.stack.push(n)}}}action(e,t){if(!this.isRecording()){let r=this.current;if(!r.$cstNode&&t.feature&&t.operator){let e=(r=this.construct(!1)).$cstNode.feature;this.nodeBuilder.buildCompositeNode(e)}this.stack.pop(),this.stack.push({$type:e}),t.feature&&t.operator&&this.assign(t.operator,t.feature,r,r.$cstNode,!1)}}construct(e=!0){if(this.isRecording())return;let t=this.current;return(!function(e){for(let[t,r]of Object.entries(e))!t.startsWith("$")&&(Array.isArray(r)?r.forEach((r,i)=>{n(r)&&(r.$container=e,r.$containerProperty=t,r.$containerIndex=i)}):n(r)&&(r.$container=e,r.$containerProperty=t))}(t),this.nodeBuilder.construct(t),e&&this.stack.pop(),oI(t))?this.converter.convert(t.value,t.$cstNode):(!function(e,t){for(let r of e.getTypeMetaData(t.$type).properties)void 0!==r.defaultValue&&void 0===t[r.name]&&(t[r.name]=function e(t){return Array.isArray(t)?[...t.map(e)]:t}(r.defaultValue))}(this.astReflection,t),t)}getAssignment(e){if(!this.assignmentMap.has(e)){let t=eT(e,Y);this.assignmentMap.set(e,{assignment:t,isCrossRef:!!t&&Q(t.terminal)})}return this.assignmentMap.get(e)}assign(e,t,r,n,i){let a;let s=this.current;switch(a=i&&"string"==typeof r?this.linker.buildReference(s,t,n,r):r,e){case"=":s[t]=a;break;case"?=":s[t]=!0;break;case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(a)}}assignWithoutOverride(e,t){for(let[r,n]of Object.entries(t)){let t=e[r];void 0===t?e[r]=n:Array.isArray(t)&&Array.isArray(n)&&(n.push(...t),e[r]=n)}return e}get definitionErrors(){return this.wrapper.definitionErrors}}class oC{buildMismatchTokenMessage(e){return aF.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return aF.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return aF.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return aF.buildEarlyExitMessage(e)}}class o$ extends oC{buildMismatchTokenMessage({expected:e,actual:t}){let r=e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`;return`Expecting ${r} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class oL extends oS{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e);return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){let r=this.wrapper.DEFINE_RULE(ox(e.name),this.startImplementation(t).bind(this));return e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n){this.before(r),this.wrapper.wrapSubrule(e,t,n),this.after(r)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}}let ow={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new o$};class ob extends sY{constructor(e,t){super(e,Object.assign(Object.assign(Object.assign({},ow),{lookaheadStrategy:t&&"maxLookahead"in t?new s$({maxLookahead:t.maxLookahead}):new os}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}}function oO(e,t,r){return function(e,t){let r=ej(t,!1);for(let n of p(t.rules).filter(Z).filter(e=>r.has(e))){let t=Object.assign(Object.assign({},e),{consume:1,optional:1,subrule:1,many:1,or:1});t.rules.set(n.name,e.parser.rule(n,function e(t,r,n=!1){let i;if(en(r))i=function(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}(t,r);else if(V(r))i=function(e,t){let r=eq(t);return()=>e.parser.action(r,t)}(t,r);else if(Y(r))i=e(t,r.terminal);else if(Q(r))i=function e(t,r,n=r.terminal){if(n){if(eo(n)&&Z(n.rule.ref)){let e=t.subrule++;return i=>t.parser.subrule(e,oD(t,n.rule.ref),r,i)}if(eo(n)&&G(n.rule.ref)){let e=t.consume++,i=oZ(t,n.rule.ref.name);return()=>t.parser.consume(e,i,r)}else if(en(n)){let e=t.consume++,i=oZ(t,n.value);return()=>t.parser.consume(e,i,r)}else throw Error("Could not build cross reference parser")}{if(!r.type.ref)throw Error("Could not resolve reference to type: "+r.type.$refText);let n=eH(r.type.ref),i=null==n?void 0:n.terminal;if(!i)throw Error("Could not find name assignment for type: "+eq(r.type.ref));return e(t,r,i)}}(t,r);else if(eo(r))i=function(e,t){let r=t.rule.ref;if(Z(r)){let n=e.subrule++,i=t.arguments.length>0?function(e,t){let r=t.map(e=>o_(e.value));return t=>{let n={};for(let i=0;i<r.length;i++){let a=e.parameters[i],s=r[i];n[a.name]=s(t)}return n}}(r,t.arguments):()=>({});return a=>e.parser.subrule(n,oD(e,r),t,i(a))}if(G(r)){let n=e.consume++,i=oZ(e,r.name);return()=>e.parser.consume(n,i,t)}if(r)A(r);else throw new R(t.$cstNode,`Undefined rule type: ${t.$type}`)}(t,r);else if(H(r))i=function(t,r){if(1===r.elements.length)return e(t,r.elements[0]);{let n=[];for(let i of r.elements){let r={ALT:e(t,i,!0)},a=oP(i);a&&(r.GATE=o_(a)),n.push(r)}let i=t.or++;return e=>t.parser.alternatives(i,n.map(t=>{let r={ALT:()=>t.ALT(e)},n=t.GATE;return n&&(r.GATE=()=>n(e)),r}))}}(t,r);else if(ef(r))i=function(t,r){if(1===r.elements.length)return e(t,r.elements[0]);let n=[];for(let i of r.elements){let r={ALT:e(t,i,!0)},a=oP(i);a&&(r.GATE=o_(a)),n.push(r)}let i=t.or++,a=(e,t)=>{let r=t.getRuleStack().join("-");return`uGroup_${e}_${r}`},s=oM(t,oP(r),e=>t.parser.alternatives(i,n.map((r,n)=>{let s={ALT:()=>!0},o=t.parser;s.ALT=()=>{if(r.ALT(e),!o.isRecording()){let e=a(i,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);let t=o.unorderedGroups.get(e);void 0===(null==t?void 0:t[n])&&(t[n]=!0)}};let l=r.GATE;return l?s.GATE=()=>l(e):s.GATE=()=>{let e=o.unorderedGroups.get(a(i,o));return!(null==e?void 0:e[n])},s})),"*");return e=>{s(e),t.parser.isRecording()||t.parser.unorderedGroups.delete(a(i,t.parser))}}(t,r);else if(et(r))i=function(t,r){let n=r.elements.map(r=>e(t,r));return e=>n.forEach(t=>t(e))}(t,r);else{var a;if(ey.isInstance(r,J)){let e=t.consume++;i=()=>t.parser.consume(e,aZ,r)}else throw new R(r.$cstNode,`Unexpected element type: ${r.$type}`)}return oM(t,n?void 0:oP(r),i,r.cardinality)}(t,n.definition)))}}({parser:t,tokens:r,rules:new Map,ruleNames:new Map},e),t}function o_(e){if(ey.isInstance(e,L)){let t=o_(e.left),r=o_(e.right);return e=>t(e)||r(e)}if(ey.isInstance(e,$)){let t=o_(e.left),r=o_(e.right);return e=>t(e)&&r(e)}if(ey.isInstance(e,P)){let t=o_(e.value);return e=>!t(e)}if(ey.isInstance(e,M)){let t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(ey.isInstance(e,C)){let t=!!e.true;return()=>t}A(e)}function oP(e){if(et(e))return e.guardCondition}function oM(e,t,r,n){let i=t&&o_(t);if(!n){if(!i)return r;{let t=e.or++;return n=>e.parser.alternatives(t,[{ALT:()=>r(n),GATE:()=>i(n)},{ALT:sH(),GATE:()=>!i(n)}])}}if("*"===n){let t=e.many++;return n=>e.parser.many(t,{DEF:()=>r(n),GATE:i?()=>i(n):void 0})}if("+"===n){let t=e.many++;if(!i)return n=>e.parser.atLeastOne(t,{DEF:()=>r(n)});{let n=e.or++;return a=>e.parser.alternatives(n,[{ALT:()=>e.parser.atLeastOne(t,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:sH(),GATE:()=>!i(a)}])}}if("?"===n){let t=e.optional++;return n=>e.parser.optional(t,{DEF:()=>r(n),GATE:i?()=>i(n):void 0})}A(n)}function oD(e,t){let r=function(e,t){if(Z(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let r=t,n=r.$container,i=t.$type;for(;!Z(n);)(et(n)||H(n)||ef(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,e.ruleNames.set(t,i),i}}(e,t),n=e.rules.get(r);if(!n)throw Error(`Rule "${r}" not found."`);return n}function oZ(e,t){let r=e.tokens[t];if(!r)throw Error(`Token "${t}" not found."`);return r}class oU{buildTokens(e,t){let r=p(ej(e,!1)),n=this.buildTerminalTokens(r),i=this.buildKeywordTokens(r,n,t);return n.forEach(e=>{let t=e.PATTERN;"object"==typeof t&&t&&"test"in t&&eB(t)?i.unshift(e):i.push(e)}),i}buildTerminalTokens(e){return e.filter(G).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=eX(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r,LINE_BREAKS:!0};return e.hidden&&(n.GROUP=eB(t)?aS.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!e.flags.includes("u")||!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){let t=RegExp(e,e.flags+"y");return(e,r)=>(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(Z).flatMap(e=>eR(e).filter(en)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!(null==r?void 0:r.caseInsensitive)))}buildKeywordToken(e,t,r){return{name:e.value,PATTERN:this.buildKeywordPattern(e,r),LONGER_ALT:this.findLongerAlt(e,t)}}buildKeywordPattern(e,t){var r;return t?new RegExp((r=e.value,Array.prototype.map.call(r,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:eK(e)).join(""))):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{let n=null==r?void 0:r.PATTERN;return(null==n?void 0:n.source)&&function(e,t){let r=function(e){"string"==typeof e&&(e=new RegExp(e));let t=e,r=e.source,n=0;return new RegExp(function e(){let i="",a;function s(e){i+=r.substr(n,e),n+=e}function o(e){i+="(?:"+r.substr(n,e)+"|$)",n+=e}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":o(3);break;case"x":o(4);break;case"u":o(t.unicode?"{"===r[n+2]?r.indexOf("}",n)-n+1:6:2);break;case"p":case"P":o(t.unicode?r.indexOf("}",n)-n+1:2);break;case"k":o(r.indexOf(">",n)-n+1);break;default:o(2)}break;case"[":(a=/\[(?:\\.|.)*?\]/g).lastIndex=n,o((a=a.exec(r)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":(a=/\{\d+,?\d*\}/g).lastIndex=n,(a=a.exec(r))?s(a[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":i+="(?:",n+=3,i+=e()+"|$)";break;case"=":i+="(?=",n+=3,i+=e()+")";break;case"!":a=n,n+=3,e(),i+=r.substr(a,n-a);break;case"<":switch(r[n+3]){case"=":case"!":a=n,n+=4,e(),i+=r.substr(a,n-a);break;default:s(r.indexOf(">",n)-n+1),i+=e()+"|$)"}}else s(1),i+=e()+"|$)";break;case")":return++n,i;default:o(1)}return i}(),e.flags)}(e),n=t.match(r);return!!n&&n[0].length>0}("^"+n.source+"$",e.value)&&t.push(r),t},[])}}class oF{convert(e,t){let r=t.grammarSource;if(Q(r)&&(r=function(e){if(e.terminal)return e.terminal;if(e.type.ref){let t=eH(e.type.ref);return null==t?void 0:t.terminal}}(r)),eo(r)){let n=r.rule.ref;if(!n)throw Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){var n,i,a,s;switch(e.name.toUpperCase()){case"INT":return ng.convertInt(t);case"STRING":return ng.convertString(t);case"ID":return ng.convertID(t)}switch(null===(n=G(e)?null!==(a=null===(i=e.type)||void 0===i?void 0:i.name)&&void 0!==a?a:"string":ez(e)?e.name:null!==(s=eY(e))&&void 0!==s?s:e.name)||void 0===n?void 0:n.toLowerCase()){case"number":return ng.convertNumber(t);case"boolean":return ng.convertBoolean(t);case"bigint":return ng.convertBigint(t);case"date":return ng.convertDate(t);default:return t}}}(tX=ng||(ng={})).convertString=function(e){let t="";for(let r=1;r<e.length-1;r++){let n=e.charAt(r);"\\"===n?t+=function(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return e}}(e.charAt(++r)):t+=n}return t},tX.convertID=function(e){return"^"===e.charAt(0)?e.substring(1):e},tX.convertInt=function(e){return parseInt(e)},tX.convertBigint=function(e){return BigInt(e)},tX.convertDate=function(e){return new Date(e)},tX.convertNumber=function(e){return Number(e)},tX.convertBoolean=function(e){return"true"===e.toLowerCase()};var oG=r(97770);let oB=0,oK=Symbol("OperationCancelled");async function oj(e){if(e===oG.CancellationToken.None)return;let t=Date.now();if(t-oB>=10&&(oB=t,await new Promise(e=>{"undefined"==typeof setImmediate?setTimeout(e,0):setImmediate(e)})),e.isCancellationRequested)throw oK}class oV{constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}}class oW{constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(let t of e)if(oW.isIncremental(t)){let e=oY(t.range),r=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,r)+t.text+this._content.substring(n,this._content.length);let i=Math.max(e.start.line,0),a=Math.max(e.end.line,0),s=this._lineOffsets,o=oH(t.text,!1,r);if(a-i===o.length)for(let e=0,t=o.length;e<t;e++)s[e+i+1]=o[e];else o.length<1e4?s.splice(i+1,a-i,...o):this._lineOffsets=s=s.slice(0,i+1).concat(o,s.slice(a+1));let l=t.text.length-(n-r);if(0!==l)for(let e=i+1+o.length,t=s.length;e<t;e++)s[e]=s[e]+l}else if(oW.isFull(t))this._content=t.text,this._lineOffsets=void 0;else throw Error("Unknown change event received");this._version=t}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=oH(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return{line:0,character:e};for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line];if(e.character<=0)return r;let n=e.line+1<t.length?t[e.line+1]:this._content.length,i=Math.min(r+e.character,n);return this.ensureBeforeEOL(i,r)}ensureBeforeEOL(e,t){for(;e>t&&oz(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}}function oH(e,t,r=0){let n=t?[r]:[];for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);oz(i)&&(13===i&&t+1<e.length&&10===e.charCodeAt(t+1)&&t++,n.push(r+t+1))}return n}function oz(e){return 13===e||10===e}function oY(e){let t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function oq(e){let t=oY(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(tQ=ny||(ny={})).create=function(e,t,r,n){return new oW(e,t,r,n)},tQ.update=function(e,t,r){if(e instanceof oW)return e.update(t,r),e;throw Error("TextDocument.update: document must be created by TextDocument.create")},tQ.applyEdits=function(e,t){let r=e.getText(),n=function e(t,r){if(t.length<=1)return t;let n=t.length/2|0,i=t.slice(0,n),a=t.slice(n);e(i,r),e(a,r);let s=0,o=0,l=0;for(;s<i.length&&o<a.length;)0>=r(i[s],a[o])?t[l++]=i[s++]:t[l++]=a[o++];for(;s<i.length;)t[l++]=i[s++];for(;o<a.length;)t[l++]=a[o++];return t}(t.map(oq),(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=0,a=[];for(let t of n){let n=e.offsetAt(t.range.start);if(n<i)throw Error("Overlapping edit");n>i&&a.push(r.substring(i,n)),t.newText.length&&a.push(t.newText),i=e.offsetAt(t.range.end)}return a.push(r.substr(i)),a.join("")},(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",i=0,a=-1,s=0,o=0;o<=e.length;++o){if(o<e.length)r=e.charCodeAt(o);else{if(47===r)break;r=47}if(47===r){if(a===o-1||1===s);else if(a!==o-1&&2===s){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2)){if(n.length>2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=o,s=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=o,s=0;continue}}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),i=o-a-1;a=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var n={resolve:function(){for(var e,n,i="",a=!1,s=arguments.length-1;s>=-1&&!a;s--)s>=0?e=arguments[s]:(void 0===n&&(n=process.cwd()),e=n),t(e),0!==e.length&&(i=e+"/"+i,a=47===e.charCodeAt(0));return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&i&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var i=arguments[r];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":n.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r||(e=n.resolve(e))===(r=n.resolve(r)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var a=e.length,s=a-i,o=1;o<r.length&&47===r.charCodeAt(o);++o);for(var l=r.length-o,u=s<l?s:l,c=-1,d=0;d<=u;++d){if(d===u){if(l>u){if(47===r.charCodeAt(o+d))return r.slice(o+d+1);if(0===d)return r.slice(o+d)}else s>u&&(47===e.charCodeAt(i+d)?c=d:0===d&&(c=0));break}var h=e.charCodeAt(i+d);if(h!==r.charCodeAt(o+d))break;47===h&&(c=d)}var f="";for(d=i+c+1;d<=a;++d)d!==a&&47!==e.charCodeAt(d)||(0===f.length?f+="..":f+="/..");return f.length>0?f+r.slice(o+c):(o+=c,47===r.charCodeAt(o)&&++o,r.slice(o))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,i=-1,a=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!a){i=s;break}}else a=!1;return -1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var n,i=0,a=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var o=r.length-1,l=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(47===u){if(!s){i=n+1;break}}else -1===l&&(s=!1,l=n+1),o>=0&&(u===r.charCodeAt(o)?-1==--o&&(a=n):(o=-1,a=l))}return i===a?a=l:-1===a&&(a=e.length),e.slice(i,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){i=n+1;break}}else -1===a&&(s=!1,a=n+1);return -1===a?"":e.slice(i,a)},extname:function(e){t(e);for(var r=-1,n=0,i=-1,a=!0,s=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(47!==l)-1===i&&(a=!1,i=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!a){n=o+1;break}}return -1===r||-1===i||0===s||1===s&&r===i-1&&r===n+1?"":e.slice(r,i)},format:function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},parse:function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,i=e.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var s=-1,o=0,l=-1,u=!0,c=e.length-1,d=0;c>=n;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===s?s=c:1!==d&&(d=1):-1!==s&&(d=-1);else if(!u){o=c+1;break}return -1===s||-1===l||0===d||1===d&&s===l-1&&s===o+1?-1!==l&&(r.base=r.name=0===o&&a?e.slice(1,l):e.slice(o,l)):(0===o&&a?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),o>0?r.dir=e.slice(0,o-1):a&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{let e;(r.r(n),r.d(n,{URI:()=>l,Utils:()=>v}),"object"==typeof process)?e="win32"===process.platform:"object"==typeof navigator&&(e=navigator.userAgent.indexOf("Windows")>=0);let t=/^\w[\w\d+.-]*$/,i=/^\//,a=/^\/\//;function s(e,r){if(!e.scheme&&r)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!t.test(e.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!i.test(e.path))throw Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(e.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let o=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class l{static isUri(e){return e instanceof l||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,i,a=!1){"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||a?e:"file",this.authority=t||"",this.path=function(e,t){switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t}(this.scheme,r||""),this.query=n||"",this.fragment=i||"",s(this,a))}get fsPath(){return p(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:i,fragment:a}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===i?i=this.query:null===i&&(i=""),void 0===a?a=this.fragment:null===a&&(a=""),t===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&a===this.fragment?this:new c(t,r,n,i,a)}static parse(e,t=!1){let r=o.exec(e);return r?new c(r[2]||"",y(r[4]||""),y(r[5]||""),y(r[7]||""),y(r[9]||""),t):new c("","","","","")}static file(t){let r="";if(e&&(t=t.replace(/\\/g,"/")),"/"===t[0]&&"/"===t[1]){let e=t.indexOf("/",2);-1===e?(r=t.substring(2),t="/"):(r=t.substring(2,e),t=t.substring(e)||"/")}return new c("file",r,t,"","")}static from(e){let t=new c(e.scheme,e.authority,e.path,e.query,e.fragment);return s(t,!0),t}toString(e=!1){return m(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof l)return e;{let t=new c(e);return t._formatted=e.external,t._fsPath=e._sep===u?e.fsPath:null,t}}return e}}let u=e?1:void 0;class c extends l{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=p(this,!1)),this._fsPath}toString(e=!1){return e?m(this,!0):(this._formatted||(this._formatted=m(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=u),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}let d={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function h(e,t,r){let n,i=-1;for(let a=0;a<e.length;a++){let s=e.charCodeAt(a);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s||r&&91===s||r&&93===s||r&&58===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),void 0!==n&&(n+=e.charAt(a));else{void 0===n&&(n=e.substr(0,a));let t=d[s];void 0!==t?(-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),n+=t):-1===i&&(i=a)}}return -1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function f(e){let t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);35===n||63===n?(void 0===t&&(t=e.substr(0,r)),t+=d[n]):void 0!==t&&(t+=e[r])}return void 0!==t?t:e}function p(t,r){let n;return n=t.authority&&t.path.length>1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&90>=t.path.charCodeAt(1)||t.path.charCodeAt(1)>=97&&122>=t.path.charCodeAt(1))&&58===t.path.charCodeAt(2)?r?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(n=n.replace(/\//g,"\\")),n}function m(e,t){let r=t?f:h,n="",{scheme:i,authority:a,path:s,query:o,fragment:l}=e;if(i&&(n+=i,n+=":"),(a||"file"===i)&&(n+="/",n+="/"),a){let e=a.indexOf("@");if(-1!==e){let t=a.substr(0,e);a=a.substr(e+1),-1===(e=t.lastIndexOf(":"))?n+=r(t,!1,!1):(n+=r(t.substr(0,e),!1,!1),n+=":",n+=r(t.substr(e+1),!1,!0)),n+="@"}-1===(e=(a=a.toLowerCase()).lastIndexOf(":"))?n+=r(a,!1,!0):(n+=r(a.substr(0,e),!1,!0),n+=a.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){let e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){let e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}n+=r(s,!0,!1)}return o&&(n+="?",n+=r(o,!1,!1)),l&&(n+="#",n+=t?l:h(l,!1,!1)),n}let g=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function y(e){return e.match(g)?e.replace(g,e=>(function e(t){try{return decodeURIComponent(t)}catch{return t.length>3?t.substr(0,3)+e(t.substr(3)):t}})(e)):e}var T,v,E=r(470);let R=E.posix||E;(T=v||(v={})).joinPath=function(e,...t){return e.with({path:R.join(e.path,...t)})},T.resolvePath=function(e,...t){let r=e.path,n=!1;"/"!==r[0]&&(r="/"+r,n=!0);let i=R.resolve(r,...t);return n&&"/"===i[0]&&!e.authority&&(i=i.substring(1)),e.with({path:i})},T.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=R.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},T.basename=function(e){return R.basename(e.path)},T.extname=function(e){return R.extname(e.path)}})(),nT=n})();let{URI:oX,Utils:oQ}=nT;(tJ=nv||(nv={})).basename=oQ.basename,tJ.dirname=oQ.dirname,tJ.extname=oQ.extname,tJ.joinPath=oQ.joinPath,tJ.resolvePath=oQ.resolvePath,tJ.equals=function(e,t){return(null==e?void 0:e.toString())===(null==t?void 0:t.toString())},tJ.relative=function(e,t){let r="string"==typeof e?e:e.path,n="string"==typeof t?t:t.path,i=r.split("/").filter(e=>e.length>0),a=n.split("/").filter(e=>e.length>0),s=0;for(;s<i.length&&i[s]===a[s];s++);return"../".repeat(i.length-s)+a.slice(s).join("/")},(t0=nE||(nE={}))[t0.Changed=0]="Changed",t0[t0.Parsed=1]="Parsed",t0[t0.IndexedContent=2]="IndexedContent",t0[t0.ComputedScopes=3]="ComputedScopes",t0[t0.Linked=4]="Linked",t0[t0.IndexedReferences=5]="IndexedReferences",t0[t0.Validated=6]="Validated";class oJ{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=oG.CancellationToken.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return(t=null!=t?t:oX.parse(e.uri),r)?this.createAsync(t,e,r):this.create(t,e)}fromString(e,t,r){return r?this.createAsync(t,e,r):this.create(t,e)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t){if("string"==typeof t){let r=this.parse(e,t);return this.createLangiumDocument(r,e,void 0,t)}if("$model"in t){let r={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,e)}{let r=this.parse(e,t.getText());return this.createLangiumDocument(r,e,t)}}async createAsync(e,t,r){if("string"==typeof t){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let i;if(r)i={parseResult:e,uri:t,state:nE.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(t,n);i={parseResult:e,uri:t,state:nE.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=i,i}async update(e,t){var r,n;let i=null===(r=e.parseResult.value.$cstNode)||void 0===r?void 0:r.root.fullText,a=null===(n=this.textDocuments)||void 0===n?void 0:n.get(e.uri.toString()),s=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{let t=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:t})}return i!==s&&(e.parseResult=await this.parseAsync(e.uri,s,t),e.parseResult.value.$document=e),e.state=nE.Parsed,e}parse(e,t){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r;let n=this.serviceRegistry;return()=>null!=r?r:r=ny.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,null!=t?t:"")}}class o0{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory}get all(){return p(this.documentMap.values())}addDocument(e){let t=e.uri.toString();if(this.documentMap.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){let t=e.toString();return this.documentMap.get(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r)),r}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(e=>(this.addDocument(e),e));{let r=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(r),r}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentMap.get(t);return r&&(r.state=nE.Changed,r.precomputedScopes=void 0,r.references=[],r.diagnostics=void 0),r}deleteDocument(e){let t=e.toString(),r=this.documentMap.get(t);return r&&(r.state=nE.Changed,this.documentMap.delete(t)),r}}class o1{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,t=oG.CancellationToken.None){for(let r of eA(e.parseResult.value))await oj(t),eI(r).forEach(t=>this.doLink(t,e))}doLink(e,t){let r=e.reference;if(void 0===r._ref)try{let t=this.getCandidate(e);if(a(t))r._ref=t;else if(r._nodeDescription=t,this.langiumDocuments().hasDocument(t.documentUri)){let n=this.loadAstNode(t);r._ref=null!=n?n:this.createLinkingError(e,t)}}catch(t){r._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${r.$refText}': ${t}`})}t.references.push(r)}unlink(e){for(let t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){let t=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return null!=t?t:this.createLinkingError(e)}buildReference(e,t,r,i){let s=this,o={$refNode:r,$refText:i,get ref(){var l,u;if(n(this._ref))return this._ref;if("object"==typeof(u=this._nodeDescription)&&null!==u&&"string"==typeof u.name&&"string"==typeof u.type&&"string"==typeof u.path){let r=s.loadAstNode(this._nodeDescription);this._ref=null!=r?r:s.createLinkingError({reference:o,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){let r=s.getLinkedNode({reference:o,container:e,property:t});if(r.error&&ev(e).state<nE.ComputedScopes)return;this._ref=null!==(l=r.node)&&void 0!==l?l:r.error,this._nodeDescription=r.descr}return n(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return a(this._ref)?this._ref:void 0}};return o}getLinkedNode(e){try{let t=this.getCandidate(e);if(a(t))return{error:t};let r=this.loadAstNode(t);if(r)return{node:r,descr:t};return{descr:t,error:this.createLinkingError(e,t)}}catch(t){return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${t}`})}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let r=ev(e.container);r.state<nE.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);let n=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${n} named '${e.reference.$refText}'.`,targetDescription:t})}}class o2{getName(e){if("string"==typeof e.name)return e.name}getNameNode(e){return eV(e.$cstNode,"name")}}class o3{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let t=function(e){var t;let r=e.astNode;for(;r===(null===(t=e.container)||void 0===t?void 0:t.astNode);){let t=eT(e.grammarSource,Y);if(t)return t;e=e.container}}(e),r=e.astNode;if(t&&r){let n=r[t.feature];if(i(n))return n.ref;if(Array.isArray(n)){for(let t of n)if(i(t)&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return t.ref}}if(r){let t=this.nameProvider.getNameNode(r);if(t&&(t===e||function(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}(e,t)))return r}}}findDeclarationNode(e){let t=this.findDeclaration(e);if(null==t?void 0:t.$cstNode){let e=this.nameProvider.getNameNode(t);return null!=e?e:t.$cstNode}}findReferences(e,t){let r=[];if(t.includeDeclaration){let t=this.getReferenceToSelf(e);t&&r.push(t)}let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(e=>nv.equals(e.sourceUri,t.documentUri))),r.push(...n),p(r)}getReferenceToSelf(e){let t=this.nameProvider.getNameNode(e);if(t){let r=ev(e),n=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:n,targetUri:r.uri,targetPath:n,segment:T(t),local:!0}}}}class o4{constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return t4.sum(p(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return 1===r.length?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){var t;return null!==(t=this.map.get(e))&&void 0!==t?t:[]}has(e,t){if(void 0===t)return this.map.has(e);{let r=this.map.get(e);return!!r&&r.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(t=>e(t,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return p(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return p(this.map.keys())}values(){return p(this.map.values()).flat()}entriesGroupedByKey(){return p(this.map.entries())}}class o7{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}}class o6{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=oG.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,r=eE,n=oG.CancellationToken.None){let i=[];for(let a of(this.exportNode(e,i,t),r(e)))await oj(n),this.exportNode(a,i,t);return i}exportNode(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async computeLocalScopes(e,t=oG.CancellationToken.None){let r=e.parseResult.value,n=new o4;for(let i of eR(r))await oj(t),this.processNode(i,e,n);return n}processNode(e,t,r){let n=e.$container;if(n){let i=this.nameProvider.getName(e);i&&r.add(n,this.descriptions.createDescription(e,i,t))}}}class o5{constructor(e,t,r){var n;this.elements=e,this.outerScope=t,this.caseInsensitive=null!==(n=null==r?void 0:r.caseInsensitive)&&void 0!==n&&n}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?this.elements.find(t=>t.name.toLowerCase()===e.toLowerCase()):this.elements.find(t=>t.name===e);return t||(this.outerScope?this.outerScope.getElement(e):void 0)}}class o8{constructor(e,t,r){var n;for(let t of(this.elements=new Map,this.caseInsensitive=null!==(n=null==r?void 0:r.caseInsensitive)&&void 0!==n&&n,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getAllElements(){let e=p(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class o9{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error("This cache has already been disposed")}}class le extends o9{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class lt extends o9{constructor(e){super(),this.cache=new Map,this.converter=null!=e?e:e=>e}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let e=r();return n.set(t,e),e}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}}class lr extends le{constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class ln{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new lr(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=ev(e.container).precomputedScopes;if(n){let i=e.container;do{let e=n.get(i);e.length>0&&t.push(p(e).filter(e=>this.reflection.isSubtype(e.type,r))),i=i.$container}while(i)}let i=this.getGlobalScope(r,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,r){return new o5(p(e),t,r)}createScopeForNodes(e,t,r){return new o5(p(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new o8(this.indexManager.allElements(e)))}}function li(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}class la{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t={}){let r=null==t?void 0:t.replacer,n=(e,r)=>this.replacer(e,r,t),i=r?(e,t)=>r(e,t,n):n;try{return this.currentDocument=ev(e),JSON.stringify(e,i,null==t?void 0:t.space)}finally{this.currentDocument=void 0}}deserialize(e,t={}){let r=JSON.parse(e);return this.linkNode(r,r,t),r}replacer(e,t,{refText:r,sourceText:a,textRegions:s,comments:o,uriConverter:l}){var u,c,d,h;if(!this.ignoreProperties.has(e)){if(i(t)){let e=t.ref,n=r?t.$refText:void 0;if(!e)return{$error:null!==(c=null===(u=t.error)||void 0===u?void 0:u.message)&&void 0!==c?c:"Could not resolve reference",$refText:n};{let r=ev(e),i="";this.currentDocument&&this.currentDocument!==r&&(i=l?l(r.uri,t):r.uri.toString());let a=this.astNodeLocator.getAstNodePath(e);return{$ref:`${i}#${a}`,$refText:n}}}if(!n(t))return t;{let r;if(s&&(r=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),(!e||t.$document)&&(null==r?void 0:r.$textRegion)&&(r.$textRegion.documentURI=null===(d=this.currentDocument)||void 0===d?void 0:d.uri.toString())),a&&!e&&(null!=r||(r=Object.assign({},t)),r.$sourceText=null===(h=t.$cstNode)||void 0===h?void 0:h.text),o){null!=r||(r=Object.assign({},t));let e=this.commentProvider.getComment(t);e&&(r.$comment=e.replace(/\r/g,""))}return null!=r?r:t}}}addAstNodeRegionWithAssignmentsTo(e){let t=e=>({offset:e.offset,end:e.end,length:e.length,range:e.range});if(e.$cstNode){let r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{var i;let a=((i=e.$cstNode)&&n?eW(i,n,i.astNode,!0):[]).map(t);0!==a.length&&(r[n]=a)}),e}}linkNode(e,t,r,i,a,s){for(let[i,a]of Object.entries(e))if(Array.isArray(a))for(let s=0;s<a.length;s++){let o=a[s];li(o)?a[s]=this.reviveReference(e,i,t,o,r):n(o)&&this.linkNode(o,t,r,e,i,s)}else li(a)?e[i]=this.reviveReference(e,i,t,a,r):n(a)&&this.linkNode(a,t,r,e,i);e.$container=i,e.$containerProperty=a,e.$containerIndex=s}reviveReference(e,t,r,i,a){let s=i.$refText,o=i.$error;if(i.$ref){let e=this.getRefNode(r,i.$ref,a.uriConverter);if(n(e))return s||(s=this.nameProvider.getName(e)),{$refText:null!=s?s:"",ref:e};o=e}if(o){let r={$refText:null!=s?s:""};return r.error={container:e,property:t,message:o,reference:r},r}}getRefNode(e,t,r){try{let n=t.indexOf("#");if(0===n){let r=this.astNodeLocator.getAstNode(e,t.substring(1));if(!r)return"Could not resolve path: "+t;return r}if(n<0){let e=r?r(t):oX.parse(t),n=this.langiumDocuments.getDocument(e);if(!n)return"Could not find document for URI: "+t;return n.parseResult.value}let i=r?r(t.substring(0,n)):oX.parse(t.substring(0,n)),a=this.langiumDocuments.getDocument(i);if(!a)return"Could not find document for URI: "+t;if(n===t.length-1)return a.parseResult.value;let s=this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(n+1));if(!s)return"Could not resolve URI: "+t;return s}catch(e){return String(e)}}}class ls{register(e){if(!this.singleton&&!this.map){this.singleton=e;return}if(!this.map&&(this.map={},this.singleton)){for(let e of this.singleton.LanguageMetaData.fileExtensions)this.map[e]=this.singleton;this.singleton=void 0}for(let t of e.LanguageMetaData.fileExtensions)void 0!==this.map[t]&&this.map[t]!==e&&console.warn(`The file extension ${t} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.`),this.map[t]=e}getServices(e){if(void 0!==this.singleton)return this.singleton;if(void 0===this.map)throw Error("The service registry is empty. Use `register` to register the services of a language.");let t=nv.extname(e),r=this.map[t];if(!r)throw Error(`The service registry contains no services for the extension '${t}'.`);return r}get all(){return void 0!==this.singleton?[this.singleton]:void 0!==this.map?Object.values(this.map):[]}}(nR||(nR={})).all=["fast","slow","built-in"];class lo{constructor(e){this.entries=new o4,this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if("built-in"===r)throw Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[n,i]of Object.entries(e))if(Array.isArray(i))for(let e of i){let i={check:this.wrapValidationException(e,t),category:r};this.addEntry(n,i)}else if("function"==typeof i){let e={check:this.wrapValidationException(i,t),category:r};this.addEntry(n,e)}}wrapValidationException(e,t){return async(r,n,i)=>{try{await e.call(t,r,n,i)}catch(t){if(t===oK)throw t;console.error("An error occurred during validation:",t);let e=t instanceof Error?t.message:String(t);t instanceof Error&&t.stack&&console.error(t.stack),n("error","An error occurred during validation: "+e,{node:r})}}}addEntry(e,t){if("AstNode"===e){this.entries.add("AstNode",t);return}for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=p(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(e=>t.includes(e.category))),r.map(e=>e.check)}}class ll{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},r=oG.CancellationToken.None){let n=e.parseResult,i=[];if(await oj(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,i,t),t.stopAfterLexingErrors&&i.some(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===nA.LexingError})||(this.processParsingErrors(n,i,t),t.stopAfterParsingErrors&&i.some(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===nA.ParsingError}))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===nA.LinkingError}))))return i;try{i.push(...await this.validateAst(n.value,t,r))}catch(e){if(e===oK)throw e;console.error("An error occurred during validation:",e)}return await oj(r),i}processLexingErrors(e,t,r){for(let r of e.lexerErrors){let e={severity:lu("error"),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:{code:nA.LexingError},source:this.getSource()};t.push(e)}}processParsingErrors(e,t,r){for(let r of e.parserErrors){let e;if(isNaN(r.token.startOffset)){if("previousToken"in r){let t=r.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let r={line:t.endLine-1,character:t.endColumn};e={start:r,end:r}}}}else e=y(r.token);if(e){let n={severity:lu("error"),range:e,message:r.message,data:{code:nA.ParsingError},source:this.getSource()};t.push(n)}}}processLinkingErrors(e,t,r){for(let r of e.references){let e=r.error;if(e){let r={node:e.container,property:e.property,index:e.index,data:{code:nA.LinkingError,containerType:e.container.$type,property:e.property,refText:e.reference.$refText}};t.push(this.toDiagnostic("error",e.message,r))}}}async validateAst(e,t,r=oG.CancellationToken.None){let n=[],i=(e,t,r)=>{n.push(this.toDiagnostic(e,t,r))};return await Promise.all(eA(e).map(async e=>{for(let n of(await oj(r),this.validationRegistry.getChecks(e.$type,t.categories)))await n(e,i,r)})),n}toDiagnostic(e,t,r){var n;let i;return{message:t,range:(n=r).range?n.range:("string"==typeof n.property?i=eV(n.node.$cstNode,n.property,n.index):"string"==typeof n.keyword&&(i=function(e,t,r){if(!e)return;let n=function(e,t,r){let n;if(e.astNode!==r)return[];if(en(e.grammarSource)&&e.grammarSource.value===t)return[e];let i=g(e).iterator(),a=[];do if(!(n=i.next()).done){let e=n.value;e.astNode===r?en(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):i.prune()}while(!n.done);return a}(e,t,null==e?void 0:e.astNode);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}(n.node.$cstNode,n.keyword,n.index)),null!=i||(i=n.node.$cstNode),i)?i.range:{start:{line:0,character:0},end:{line:0,character:0}},severity:lu(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function lu(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+e)}}(t1=nA||(nA={})).LexingError="lexing-error",t1.ParsingError="parsing-error",t1.LinkingError="linking-error";class lc{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r=ev(e)){let n;null!=t||(t=this.nameProvider.getName(e));let i=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${i} has no name.`);let a=()=>{var t;return null!=n?n:n=T(null!==(t=this.nameProvider.getNameNode(e))&&void 0!==t?t:e.$cstNode)};return{node:e,name:t,get nameSegment(){return a()},selectionSegment:T(e.$cstNode),type:e.$type,documentUri:r.uri,path:i}}}class ld{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=oG.CancellationToken.None){let r=[];for(let n of eA(e.parseResult.value))await oj(t),eI(n).filter(e=>!a(e)).forEach(e=>{let t=this.createDescription(e);t&&r.push(t)});return r}createDescription(e){let t=e.reference.$nodeDescription,r=e.reference.$refNode;if(!t||!r)return;let n=ev(e.container).uri;return{sourceUri:n,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:T(r),local:nv.equals(t.documentUri,n)}}}class lh{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||0===t.length)return e;let r=t.indexOf(this.indexSeparator);if(r>0){let n=t.substring(0,r),i=parseInt(t.substring(r+1)),a=e[n];return null==a?void 0:a[i]}return e[t]},e)}}class lf{constructor(e){this._ready=new oV,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t,r;this.workspaceConfig=null!==(r=null===(t=e.capabilities.workspace)||void 0===t?void 0:t.configuration)&&void 0!==r&&r}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,r[t])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(t=>{this.updateSectionConfiguration(t,e.settings[t])})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}}(nk||(nk={})).create=function(e){return{dispose:async()=>await e()}};class lp{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new o4,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=nE.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=oG.CancellationToken.None){var n,i;for(let r of e){let e=r.uri.toString();if(r.state===nE.Validated){if("boolean"==typeof t.validation&&t.validation)r.state=nE.IndexedReferences,r.diagnostics=void 0,this.buildState.delete(e);else if("object"==typeof t.validation){let a=this.buildState.get(e),s=null===(n=null==a?void 0:a.result)||void 0===n?void 0:n.validationChecks;if(s){let n=(null!==(i=t.validation.categories)&&void 0!==i?i:nR.all).filter(e=>!s.includes(e));n.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:n})},result:a.result}),r.state=nE.IndexedReferences)}}}else this.buildState.delete(e)}this.currentState=nE.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=oG.CancellationToken.None){for(let e of(this.currentState=nE.Changed,t))this.langiumDocuments.deleteDocument(e),this.buildState.delete(e.toString()),this.indexManager.remove(e);for(let t of e){if(!this.langiumDocuments.invalidateDocument(t)){let e=this.langiumDocumentFactory.fromModel({$type:"INVALID"},t);e.state=nE.Changed,this.langiumDocuments.addDocument(e)}this.buildState.delete(t.toString())}let n=p(e).concat(t).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!n.has(e.uri.toString())&&this.shouldRelink(e,n)).forEach(e=>{this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e),e.state=Math.min(e.state,nE.ComputedScopes),e.diagnostics=void 0}),await this.emitUpdate(e,t),await oj(r);let i=this.langiumDocuments.all.filter(e=>{var t;return e.state<nE.Linked||!(null===(t=this.buildState.get(e.uri.toString()))||void 0===t?void 0:t.completed)}).toArray();await this.buildDocuments(i,this.updateBuildOptions,r)}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}shouldRelink(e,t){return!!e.references.some(e=>void 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),nk.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,nE.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,nE.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,nE.ComputedScopes,r,async e=>{let t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.precomputedScopes=await t.computeLocalScopes(e,r)}),await this.runCancelable(e,nE.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(e,nE.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r));let n=e.filter(e=>this.shouldValidate(e));for(let t of(await this.runCancelable(n,nE.Validated,r,e=>this.validate(e,r)),e)){let e=this.buildState.get(t.uri.toString());e&&(e.completed=!0)}}prepareBuild(e,t){for(let r of e){let e=r.uri.toString(),n=this.buildState.get(e);(!n||n.completed)&&this.buildState.set(e,{completed:!1,options:t,result:null==n?void 0:n.result})}}async runCancelable(e,t,r,n){let i=e.filter(e=>e.state<t);for(let e of i)await oj(r),await n(e),e.state=t;await this.notifyBuildPhase(i,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),nk.create(()=>{this.buildPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;if(t&&"path"in t?n=t:r=t,null!=r||(r=oG.CancellationToken.None),n){let t=this.langiumDocuments.getDocument(n);if(t&&t.state>e)return Promise.resolve(n)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(oK):new Promise((t,i)=>{let a=this.onBuildPhase(e,()=>{if(a.dispose(),s.dispose(),n){let e=this.langiumDocuments.getDocument(n);t(null==e?void 0:e.uri)}else t(void 0)}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(oK)})})}async notifyBuildPhase(e,t,r){if(0!==e.length)for(let n of this.buildPhaseListeners.get(t))await oj(r),await n(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){var r,n;let i=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,s="object"==typeof a?a:void 0,o=await i.validateDocument(e,s,t);e.diagnostics?e.diagnostics.push(...o):e.diagnostics=o;let l=this.buildState.get(e.uri.toString());if(l){null!==(r=l.result)&&void 0!==r||(l.result={});let e=null!==(n=null==s?void 0:s.categories)&&void 0!==n?n:nR.all;l.result.validationChecks?l.result.validationChecks.push(...e):l.result.validationChecks=[...e]}}getBuildOptions(e){var t,r;return null!==(r=null===(t=this.buildState.get(e.uri.toString()))||void 0===t?void 0:t.options)&&void 0!==r?r:{}}}class lm{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new lt,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=ev(e).uri,n=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{nv.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),p(n)}allElements(e,t){let r=p(this.symbolIndex.keys());return t&&(r=r.filter(e=>!t||t.has(e))),r.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){var r;return t?this.symbolByTypeIndex.get(e,t,()=>{var r;return(null!==(r=this.symbolIndex.get(e))&&void 0!==r?r:[]).filter(e=>this.astReflection.isSubtype(e.type,t))}):null!==(r=this.symbolIndex.get(e))&&void 0!==r?r:[]}remove(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=oG.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.references.ScopeComputation.computeExports(e,t),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=oG.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return!!r&&r.some(e=>!e.local&&t.has(e.targetUri.toString()))}}class lg{constructor(e){this.initialBuildOptions={},this._ready=new oV,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}initialize(e){var t;this.folders=null!==(t=e.workspaceFolders)&&void 0!==t?t:void 0}initialized(e){return this.mutex.write(e=>{var t;return this.initializeWorkspace(null!==(t=this.folders)&&void 0!==t?t:[],e)})}async initializeWorkspace(e,t=oG.CancellationToken.None){let r=await this.performStartup(e);await oj(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=this.serviceRegistry.all.flatMap(e=>e.LanguageMetaData.fileExtensions),r=[],n=e=>{r.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)};return await this.loadAdditionalDocuments(e,n),await Promise.all(e.map(e=>[e,this.getRootFolder(e)]).map(async e=>this.traverseFolder(...e,t,n))),this._ready.resolve(),r}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return oX.parse(e.uri)}async traverseFolder(e,t,r,n){let i=await this.fileSystemProvider.readDirectory(t);await Promise.all(i.map(async t=>{this.includeEntry(e,t,r)&&(t.isDirectory?await this.traverseFolder(e,t.uri,r,n):t.isFile&&n(await this.langiumDocuments.getOrCreateDocument(t.uri)))}))}includeEntry(e,t,r){let n=nv.basename(t.uri);if(n.startsWith("."))return!1;if(t.isDirectory)return"node_modules"!==n&&"out"!==n;if(t.isFile){let e=nv.extname(t.uri);return r.includes(e)}return!1}}class ly{constructor(e){let t=e.parser.TokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=lv(t)?Object.values(t):t;this.chevrotainLexer=new aS(r,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e){var t;let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:null!==(t=r.groups.hidden)&&void 0!==t?t:[]}}toTokenTypeDictionary(e){if(lv(e))return e;let t=lT(e)?Object.values(e.modes).flat():e,r={};return t.forEach(e=>r[e.name]=e),r}}function lT(e){return e&&"modes"in e&&"defaultMode"in e}function lv(e){return!(Array.isArray(e)&&(0===e.length||"name"in e[0]))&&!lT(e)}function lE(e){let t="";return("string"==typeof e?e:e.text).split(eU)}let lR=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,lA=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu,lk=/\S/,lI=/\s*$/;function lx(e,t){let r=e.substring(t).match(lk);return r?t+r.index:e.length}function lS(e){let t=e.tokens[e.index],r=t,n=t,i=[];for(;t&&"break"!==t.type&&"tag"!==t.type;){var a;i.push("inline-tag"===(a=e).tokens[a.index].type?lN(a,!0):lC(a)),n=t,t=e.tokens[e.index]}return new lO(i,ra.create(r.range.start,n.range.end))}function lN(e,t){let r=e.tokens[e.index++],n=r.content.substring(1),i=e.tokens[e.index];if((null==i?void 0:i.type)==="text"){if(t){let i=lC(e);return new lb(n,new lO([i],i.range),t,ra.create(r.range.start,i.range.end))}{let i=lS(e);return new lb(n,i,t,ra.create(r.range.start,i.range.end))}}{let e=r.range;return new lb(n,new lO([],e),t,e)}}function lC(e){let t=e.tokens[e.index++];return new l_(t.content,t.range)}function l$(e){if(!e)return l$({start:"/**",end:"*/",line:"*"});let{start:t,end:r,line:n}=e;return{start:lL(t,!0),end:lL(r,!1),line:lL(n,!0)}}function lL(e,t){if("string"!=typeof e&&"object"!=typeof e)return e;{let r="string"==typeof e?eK(e):e.source;return t?RegExp(`^\\s*${r}`):RegExp(`\\s*${r}\\s*$`)}}class lw{constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(0===e.length)e=t.toString();else{let r=t.toString();e+=lP(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(0===t.length)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=lP(t)+n}return t.trim()}}class lb{constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return(1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e} +${t}`),this.inline)?`{${e}}`:e}toMarkdown(e){var t,r;return null!==(r=null===(t=null==e?void 0:e.renderTag)||void 0===t?void 0:t.call(e,this))&&void 0!==r?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let r=function(e,t,r){var n,i;if("linkplain"===e||"linkcode"===e||"link"===e){let a=t.indexOf(" "),s=t;if(a>0){let e=lx(t,a);s=t.substring(e),t=t.substring(0,a)}return("linkcode"===e||"link"===e&&"code"===r.link)&&(s=`\`${s}\``),null!==(i=null===(n=r.renderLink)||void 0===n?void 0:n.call(r,t,s))&&void 0!==i?i:function(e,t){try{return oX.parse(e,!0),`[${t}](${e})`}catch(t){return e}}(t,s)}}(this.name,t,null!=e?e:{});if("string"==typeof r)return r}let r="";(null==e?void 0:e.tag)==="italic"||(null==e?void 0:e.tag)===void 0?r="*":(null==e?void 0:e.tag)==="bold"?r="**":(null==e?void 0:e.tag)==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return(1===this.content.inlines.length?n=`${n} \u{2014} ${t}`:this.content.inlines.length>1&&(n=`${n} +${t}`),this.inline)?`{${n}}`:n}}class lO{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){let r=this.inlines[t],n=this.inlines[t+1];e+=r.toString(),n&&n.range.start.line>r.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];t+=n.toMarkdown(e),i&&i.range.start.line>n.range.start.line&&(t+="\n")}return t}}class l_{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function lP(e){return e.endsWith("\n")?"\n":"\n\n"}class lM{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&function(e,t){let r=l$(void 0),n=lE(e);if(0===n.length)return!1;let i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!(null==s?void 0:s.exec(i))&&!!(null==o?void 0:o.exec(a))}(t)){var r,n,i;let a,s;return("string"==typeof(r=t)?(s=void 0,a=void 0):(s=r.range.start,a=void 0),s||(s=ri.create(0,0)),function(e){var t,r,n,i;let a=ri.create(e.position.line,e.position.character);if(0===e.tokens.length)return new lw([],ra.create(a,a));let s=[];for(;e.index<e.tokens.length;){let t=function(e,t){let r=e.tokens[e.index];return"tag"===r.type?lN(e,!1):"text"===r.type||"inline-tag"===r.type?lS(e):void(function(e,t){if(t){let r=new l_("",e.range);"inlines"in t?t.inlines.push(r):t.content.inlines.push(r)}}(r,t),e.index++)}(e,s[s.length-1]);t&&s.push(t)}let o=null!==(r=null===(t=s[0])||void 0===t?void 0:t.range.start)&&void 0!==r?r:a,l=null!==(i=null===(n=s[s.length-1])||void 0===n?void 0:n.range.end)&&void 0!==i?i:a;return new lw(s,ra.create(o,l))}({index:0,tokens:function(e){var t,r,n;let i=[],a=e.position.line,s=e.position.character;for(let o=0;o<e.lines.length;o++){let l=0===o,u=o===e.lines.length-1,c=e.lines[o],d=0;if(l&&e.options.start){let r=null===(t=e.options.start)||void 0===t?void 0:t.exec(c);r&&(d=r.index+r[0].length)}else{let t=null===(r=e.options.line)||void 0===r?void 0:r.exec(c);t&&(d=t.index+t[0].length)}if(u){let t=null===(n=e.options.end)||void 0===n?void 0:n.exec(c);t&&(c=c.substring(0,t.index))}if(lx(c=c.substring(0,function(e){let t=e.match(lI);if(t&&"number"==typeof t.index)return t.index}(c)),d)>=c.length){if(i.length>0){let e=ri.create(a,s);i.push({type:"break",content:"",range:ra.create(e,e)})}}else{lR.lastIndex=d;let e=lR.exec(c);if(e){let t=e[0],r=e[1],n=ri.create(a,s+d),o=ri.create(a,s+d+t.length);i.push({type:"tag",content:r,range:ra.create(n,o)}),d+=t.length,d=lx(c,d)}if(d<c.length){let e=c.substring(d),t=Array.from(e.matchAll(lA));i.push(...function(e,t,r,n){let i=[];if(0===e.length){let e=ri.create(r,n),a=ri.create(r,n+t.length);i.push({type:"text",content:t,range:ra.create(e,a)})}else{let a=0;for(let s of e){let e=s.index,o=t.substring(a,e);o.length>0&&i.push({type:"text",content:t.substring(a,e),range:ra.create(ri.create(r,a+n),ri.create(r,e+n))});let l=o.length+1,u=s[1];if(i.push({type:"inline-tag",content:u,range:ra.create(ri.create(r,a+l+n),ri.create(r,a+l+u.length+n))}),l+=u.length,4===s.length){l+=s[2].length;let e=s[3];i.push({type:"text",content:e,range:ra.create(ri.create(r,a+l+n),ri.create(r,a+l+e.length+n))})}else i.push({type:"text",content:"",range:ra.create(ri.create(r,a+l+n),ri.create(r,a+l+n))});a=e+s[0].length}let s=t.substring(a);s.length>0&&i.push({type:"text",content:s,range:ra.create(ri.create(r,a+n),ri.create(r,a+n+s.length))})}return i}(t,e,a,s+d))}}a++,s=0}return i.length>0&&"break"===i[i.length-1].type?i.slice(0,-1):i}({lines:lE(r),position:s,options:l$(a)}),position:s})).toMarkdown({renderLink:(t,r)=>this.documentationLinkRenderer(e,t,r),renderTag:t=>this.documentationTagRenderer(e,t)})}}documentationLinkRenderer(e,t,r){var n;let i=null!==(n=this.findNameInPrecomputedScopes(e,t))&&void 0!==n?n:this.findNameInGlobalScope(e,t);if(i&&i.nameSegment){let e=i.nameSegment.range.start.line+1,t=i.nameSegment.range.start.character+1,n=i.documentUri.with({fragment:`L${e},${t}`});return`[${r}](${n.toString()})`}}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){let r=ev(e).precomputedScopes;if(!r)return;let n=e;do{let e=r.get(n).find(e=>e.name===t);if(e)return e;n=n.$container}while(n)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}}class lD{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return"string"==typeof e.$comment?e.$comment:null===(t=function(e,t){if(e){let r=function(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let e=r.content[n];if(t||!e.hidden)return e}e=r}}(e,!0);if(r&&E(r,t))return r;if(u(e)){let r=e.content.findIndex(e=>!e.hidden);for(let n=r-1;n>=0;n--){let r=e.content[n];if(E(r,t))return r}}}}(e.$cstNode,this.grammarConfig().multilineCommentRules))||void 0===t?void 0:t.text}}r(345);class lZ{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e){return Promise.resolve(this.syncParser.parse(e))}}class lU{constructor(){this.previousTokenSource=new oG.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=new oG.CancellationTokenSource;return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r){let n=new oV,i={action:t,deferred:n,cancellationToken:null!=r?r:oG.CancellationToken.None};return e.push(i),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:r})=>{try{let n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(e){e===oK?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class lF{constructor(e){this.grammarElementIdMap=new o7,this.tokenTypeIdMap=new o7,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors.map(e=>Object.assign({},e)),parserErrors:e.parserErrors.map(e=>Object.assign({},e)),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}createDehyrationContext(e){let t=new Map,r=new Map;for(let r of eA(e))t.set(r,{});if(e.$cstNode)for(let t of g(e.$cstNode))r.set(t,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[a,s]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!a.startsWith("$")){if(Array.isArray(s)){let e=[];for(let o of(r[a]=e,s))n(o)?e.push(this.dehydrateAstNode(o,t)):i(o)?e.push(this.dehydrateReference(o,t)):e.push(o)}else n(s)?r[a]=this.dehydrateAstNode(s,t):i(s)?r[a]=this.dehydrateReference(s,t):void 0!==s&&(r[a]=s)}return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return u(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),o(e)?r.content=e.content.map(e=>this.dehydrateCstNode(e,t)):l(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t;let r=new Map,n=new Map;for(let t of eA(e))r.set(t,{});if(e.$cstNode)for(let r of g(e.$cstNode)){let e;"fullText"in r?t=e=new oA(r.fullText):"content"in r?e=new oE:"tokenType"in r&&(e=this.hydrateCstLeafNode(r)),e&&(n.set(r,e),e.root=t)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[a,s]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!a.startsWith("$")){if(Array.isArray(s)){let e=[];for(let o of(r[a]=e,s))n(o)?e.push(this.setParent(this.hydrateAstNode(o,t),r)):i(o)?e.push(this.hydrateReference(o,r,a,t)):e.push(o)}else n(s)?r[a]=this.setParent(this.hydrateAstNode(s,t),r):i(s)?r[a]=this.hydrateReference(s,r,a,t):void 0!==s&&(r[a]=s)}return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),o(n))for(let i of e.content){let e=this.hydrateCstNode(i,t,r++);n.content.push(e)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType),r=e.offset,n=e.length,i=e.startLine,a=e.startColumn,s=e.endLine;return new ov(r,n,{start:{line:i,character:a},end:{line:s,character:e.endColumn}},t,e.hidden)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap();let t=this.grammarElementIdMap.getKey(e);if(t)return t;throw Error("Invalid grammar element id: "+e)}createGrammarElementIdMap(){let e=0;for(let t of eA(this.grammar))ey.isInstance(t,N)&&this.grammarElementIdMap.set(t,e++)}}function lG(e){return{documentation:{CommentProvider:e=>new lD(e),DocumentationProvider:e=>new lM(e)},parser:{AsyncParser:e=>new lZ(e),GrammarConfig:e=>(function(e){let t=[];for(let n of e.Grammar.rules){var r;G(n)&&(r=n).hidden&&!eX(r).test(" ")&&function(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),eG.reset(e),eG.visit(eF.pattern(e)),eG.multiline}catch(e){return!1}}(eX(n))&&t.push(n.name)}return{multilineCommentRules:t,nameRegexp:v}})(e),LangiumParser:e=>(function(e){let t=function(e){let t=e.Grammar,r=e.parser.Lexer;return oO(t,new oN(e),r.definition)}(e);return t.finalize(),t})(e),CompletionParser:e=>(function(e){let t=e.Grammar,r=e.parser.Lexer,n=new oL(e);return oO(t,n,r.definition),n.finalize(),n})(e),ValueConverter:()=>new oF,TokenBuilder:()=>new oU,Lexer:e=>new ly(e),ParserErrorMessageProvider:()=>new o$},workspace:{AstNodeLocator:()=>new lh,AstNodeDescriptionProvider:e=>new lc(e),ReferenceDescriptionProvider:e=>new ld(e)},references:{Linker:e=>new o1(e),NameProvider:()=>new o2,ScopeProvider:e=>new ln(e),ScopeComputation:e=>new o6(e),References:e=>new o3(e)},serializer:{Hydrator:e=>new lF(e),JsonSerializer:e=>new la(e)},validation:{DocumentValidator:e=>new ll(e),ValidationRegistry:e=>new lo(e)},shared:()=>e.shared}}function lB(e){return{ServiceRegistry:()=>new ls,workspace:{LangiumDocuments:e=>new o0(e),LangiumDocumentFactory:e=>new oJ(e),DocumentBuilder:e=>new lp(e),IndexManager:e=>new lm(e),WorkspaceManager:e=>new lg(e),FileSystemProvider:t=>e.fileSystemProvider(t),WorkspaceLock:()=>new lU,ConfigurationProvider:e=>new lf(e)}}}function lK(e,t,r,n,i,a,s,o,l){return lV([e,t,r,n,i,a,s,o,l].reduce(lz,{}))}(nI||(nI={})).merge=(e,t)=>lz(lz({},e),t);let lj=Symbol("isProxy");function lV(e,t){let r=new Proxy({},{deleteProperty:()=>!1,get:(n,i)=>lH(n,i,e,t||r),getOwnPropertyDescriptor:(n,i)=>(lH(n,i,e,t||r),Object.getOwnPropertyDescriptor(n,i)),has:(t,r)=>r in e,ownKeys:()=>[...Reflect.ownKeys(e),lj]});return r[lj]=!0,r}let lW=Symbol();function lH(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:e[t]});if(e[t]===lW)throw Error('Cycle detected. Please make "'+String(t)+'" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){let i=r[t];e[t]=lW;try{e[t]="function"==typeof i?i(n):lV(i,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function lz(e,t){if(t){for(let[r,n]of Object.entries(t))if(void 0!==n){let t=e[r];null!==t&&null!==n&&"object"==typeof t&&"object"==typeof n?e[r]=lz(t,n):e[r]=n}}return e}class lY{readFile(){throw Error("No file system is available.")}async readDirectory(){return[]}}let lq={fileSystemProvider:()=>new lY},lX={Grammar:()=>void 0,LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},lQ={AstReflection:()=>new eg};function lJ(e){var t;let r=function(){let e=lK(lB(lq),lQ),t=lK(lG({shared:e}),lX);return e.ServiceRegistry.register(t),t}(),n=r.serializer.JsonSerializer.deserialize(e);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,oX.parse(`memory://${null!==(t=n.name)&&void 0!==t?t:"grammar"}.langium`)),n}},27805:function(e,t,r){r.d(t,{Z:()=>i});var n=r(98588);let i=function(e,t,r){for(var i=-1,a=e.length;++i<a;){var s=e[i],o=t(s);if(null!=o&&(void 0===l?o==o&&!(0,n.Z)(o):r(o,l)))var l=o,u=s}return u}},3472:function(e,t,r){r.d(t,{Z:()=>n});let n=function(e,t){return e<t}},5977:function(e,t,r){r.d(t,{Z:()=>a});var n=r(55196),i=r(73713);let a=function(e,t){var r=-1,a=(0,i.Z)(e)?Array(e.length):[];return(0,n.Z)(e,function(e,n,i){a[++r]=t(e,n,i)}),a}},36873:function(e,t,r){r.d(t,{Z:()=>c});var n=r(84483),i=r(94379),a=r(55147),s=r(24136),o=r(21367),l=r(81004);let u=function(e,t,r,n){if(!(0,o.Z)(e))return e;t=(0,a.Z)(t,e);for(var u=-1,c=t.length,d=c-1,h=e;null!=h&&++u<c;){var f=(0,l.Z)(t[u]),p=r;if("__proto__"===f||"constructor"===f||"prototype"===f)break;if(u!=d){var m=h[f];void 0===(p=n?n(m,f,h):void 0)&&(p=(0,o.Z)(m)?m:(0,s.Z)(t[u+1])?[]:{})}(0,i.Z)(h,f,p),h=h[f]}return e},c=function(e,t,r){for(var i=-1,s=t.length,o={};++i<s;){var l=t[i],c=(0,n.Z)(e,l);r(c,l)&&u(o,(0,a.Z)(l,e),c)}return o}},84128:function(e,t,r){r.d(t,{Z:()=>i});var n=r(58928);let i=function(e){return(0,n.Z)(e,4)}},85143:function(e,t,r){r.d(t,{Z:()=>u});var n=r(29183),i=r(83230),a=r(74047),s=r(78649),o=Object.prototype,l=o.hasOwnProperty;let u=(0,n.Z)(function(e,t){e=Object(e);var r=-1,n=t.length,u=n>2?t[2]:void 0;for(u&&(0,a.Z)(t[0],t[1],u)&&(n=1);++r<n;)for(var c=t[r],d=(0,s.Z)(c),h=-1,f=d.length;++h<f;){var p=d[h],m=e[p];(void 0===m||(0,i.Z)(m,o[p])&&!l.call(e,p))&&(e[p]=c[p])}return e})},16136:function(e,t,r){r.d(t,{Z:()=>c});var n,i=r(64693),a=r(73713),s=r(56430),o=r(79761),l=r(36430),u=Math.max;let c=(n=function(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var a=null==r?0:(0,l.Z)(r);return a<0&&(a=u(n+a,0)),(0,o.Z)(e,(0,i.Z)(t,3),a)},function(e,t,r){var o=Object(e);if(!(0,a.Z)(e)){var l=(0,i.Z)(t,3);e=(0,s.Z)(e),t=function(e){return l(o[e],e,o)}}var u=n(e,t,r);return u>-1?o[l?e[u]:u]:void 0})},17677:function(e,t,r){r.d(t,{Z:()=>i});var n=r(40805);let i=function(e){return(null==e?0:e.length)?(0,n.Z)(e,1):[]}},43917:function(e,t,r){r.d(t,{Z:()=>s});var n=r(65982),i=r(8572),a=r(93263);let s=function(e){return"string"==typeof e||!(0,i.Z)(e)&&(0,a.Z)(e)&&"[object String]"==(0,n.Z)(e)}},51054:function(e,t,r){r.d(t,{Z:()=>n});let n=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},24541:function(e,t,r){r.d(t,{Z:()=>o});var n=r(4064),i=r(64693),a=r(5977),s=r(8572);let o=function(e,t){return((0,s.Z)(e)?n.Z:a.Z)(e,(0,i.Z)(t,3))}},90373:function(e,t,r){r.d(t,{Z:()=>s});var n=r(27805),i=r(3472),a=r(48233);let s=function(e){return e&&e.length?(0,n.Z)(e,a.Z,i.Z):void 0}},70982:function(e,t,r){r.d(t,{Z:()=>m});var n=/\s/;let i=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t};var a=/^\s+/,s=r(21367),o=r(98588),l=0/0,u=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,d=/^0o[0-7]+$/i,h=parseInt;let f=function(e){if("number"==typeof e)return e;if((0,o.Z)(e))return l;if((0,s.Z)(e)){var t,r="function"==typeof e.valueOf?e.valueOf():e;e=(0,s.Z)(r)?r+"":r}if("string"!=typeof e)return 0===e?e:+e;e=(t=e)?t.slice(0,i(t)+1).replace(a,""):t;var n=c.test(e);return n||d.test(e)?h(e.slice(2),n?2:8):u.test(e)?l:+e};var p=1/0;let m=function(e){return e?(e=f(e))===p||e===-p?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},36430:function(e,t,r){r.d(t,{Z:()=>i});var n=r(70982);let i=function(e){var t=(0,n.Z)(e),r=t%1;return t==t?r?t-r:t:0}}}]); \ No newline at end of file diff --git a/assets/js/4605be71.a347dd8b.js b/assets/js/4605be71.a347dd8b.js new file mode 100644 index 0000000000..13f24135bd --- /dev/null +++ b/assets/js/4605be71.a347dd8b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["22179"],{8967:function(t,e,s){s.r(e),s.d(e,{frontMatter:()=>d,default:()=>c,contentTitle:()=>o,assets:()=>r,toc:()=>a,metadata:()=>i});var i=JSON.parse('{"id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2","title":"Unlisted 2","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2.mdx","sourceDirName":"tests/visibility/some-unlisteds/subcategory-with-listed-index","slug":"/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2","permalink":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"}'),n=s(85893),l=s(80980);let d={unlisted:!0,tags:["visibility","unlisted"]},o="Unlisted 2",r={},a=[];function u(t){let e={h1:"h1",header:"header",p:"p",...(0,l.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"unlisted-2",children:"Unlisted 2"})}),"\n",(0,n.jsx)(e.p,{children:"Doc with unlisted front matter"})]})}function c(t={}){let{wrapper:e}={...(0,l.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(u,{...t})}):u(t)}c.displayName="MDXContent(_dogfooding/_docs tests/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted2.mdx)"},80980:function(t,e,s){s.d(e,{Z:()=>o,a:()=>d});var i=s(67294);let n={},l=i.createContext(n);function d(t){let e=i.useContext(l);return i.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:d(t.components),i.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/46765cf2.b3724d1d.js b/assets/js/46765cf2.b3724d1d.js new file mode 100644 index 0000000000..64c6cd733a --- /dev/null +++ b/assets/js/46765cf2.b3724d1d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["38699"],{47592:function(e){e.exports=JSON.parse('{"name":"changelog-plugin","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/46974.8cf645e6.js b/assets/js/46974.8cf645e6.js new file mode 100644 index 0000000000..08b88f4495 --- /dev/null +++ b/assets/js/46974.8cf645e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["46974"],{37818:function(e,s,t){t.r(s)}}]); \ No newline at end of file diff --git a/assets/js/46f5ed35.bdc296f7.js b/assets/js/46f5ed35.bdc296f7.js new file mode 100644 index 0000000000..30a5daa785 --- /dev/null +++ b/assets/js/46f5ed35.bdc296f7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["99205"],{9565:function(e,n,s){s.d(n,{Z:()=>i});let i=s.p+"assets/images/demo-0e309a1a631b58ebe6d5f2d8014351e8.png"},99305:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>o,default:()=>h,contentTitle:()=>l,assets:()=>d,toc:()=>a,metadata:()=>i});var i=JSON.parse('{"id":"api/misc/logger/logger","title":"\uD83D\uDCE6 logger","description":"An encapsulated logger for semantically formatting console messages.","source":"@site/docs/api/misc/logger/logger.mdx","sourceDirName":"api/misc/logger","slug":"/api/misc/@docusaurus/logger","permalink":"/docs/api/misc/@docusaurus/logger","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/misc/logger/logger.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":2,"frontMatter":{"sidebar_position":2,"slug":"/api/misc/@docusaurus/logger"},"sidebar":"api","previous":{"title":"string-literal-i18n-messages","permalink":"/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages"}}'),r=s(85893),t=s(80980);let o={sidebar_position:2,slug:"/api/misc/@docusaurus/logger"},l="\uD83D\uDCE6 logger",d={},a=[{value:"APIs",id:"apis",level:2},{value:"Using the template literal tag",id:"using-the-template-literal-tag",level:3}];function c(e){let n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"-logger",children:"\uD83D\uDCE6 logger"})}),"\n",(0,r.jsx)(n.p,{children:"An encapsulated logger for semantically formatting console messages."}),"\n",(0,r.jsx)(n.p,{children:"Authors of packages in the Docusaurus ecosystem are encouraged to use this package to provide unified log formats."}),"\n",(0,r.jsx)(n.h2,{id:"apis",children:"APIs"}),"\n",(0,r.jsxs)(n.p,{children:["It exports a single object as default export: ",(0,r.jsx)(n.code,{children:"logger"}),". ",(0,r.jsx)(n.code,{children:"logger"})," has the following properties:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Some useful colors.","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"red"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"yellow"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"green"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"bold"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"dim"})}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Formatters. These functions all have the signature ",(0,r.jsx)(n.code,{children:"(msg: unknown) => string"}),". Note that their implementations are not guaranteed. You should only care about their semantics.","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"path"}),": formats a file path."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"url"}),": formats a URL."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"name"}),": formats an identifier."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"code"}),": formats a code snippet."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"subdue"}),": subdues the text."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"num"}),": formats a number."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["The ",(0,r.jsx)(n.code,{children:"interpolate"})," function. It is a template literal tag. The syntax can be found below."]}),"\n",(0,r.jsxs)(n.li,{children:["Logging functions. All logging functions can both be used as normal functions (similar to the ",(0,r.jsx)(n.code,{children:"console.log"})," family, but only accepts one parameter) or template literal tags.","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"info"}),": prints information."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"warn"}),": prints a warning that should be paid attention to."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"error"}),": prints an error (not necessarily halting the program) that signals significant problems."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"success"}),": prints a success message."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["The ",(0,r.jsx)(n.code,{children:"report"})," function. It takes a ",(0,r.jsx)(n.code,{children:"ReportingSeverity"})," value (",(0,r.jsx)(n.code,{children:"ignore"}),", ",(0,r.jsx)(n.code,{children:"log"}),", ",(0,r.jsx)(n.code,{children:"warn"}),", ",(0,r.jsx)(n.code,{children:"throw"}),") and reports a message according to the severity."]}),"\n"]}),"\n",(0,r.jsxs)(n.admonition,{type:"warning",children:[(0,r.jsxs)(n.mdxAdmonitionTitle,{children:["A word on the ",(0,r.jsx)(n.code,{children:"error"})," formatter"]}),(0,r.jsxs)(n.p,{children:["Beware that an ",(0,r.jsx)(n.code,{children:"error"})," message, even when it doesn't hang the program, is likely going to cause confusion. When users inspect logs and find an ",(0,r.jsx)(n.code,{children:"[ERROR]"}),", even when the build succeeds, they will assume something is going wrong. Use it sparingly."]}),(0,r.jsxs)(n.p,{children:["Docusaurus only uses ",(0,r.jsx)(n.code,{children:"logger.error"})," when printing messages immediately before throwing an error, or when user has set the reporting severity of ",(0,r.jsx)(n.code,{children:"onBrokenLink"}),", etc. to ",(0,r.jsx)(n.code,{children:'"error"'}),"."]}),(0,r.jsxs)(n.p,{children:["In addition, ",(0,r.jsx)(n.code,{children:"warn"})," and ",(0,r.jsx)(n.code,{children:"error"})," will color the ",(0,r.jsx)(n.strong,{children:"entire"})," message for better attention. If you are printing large blocks of help text about an error, better use ",(0,r.jsx)(n.code,{children:"logger.info"}),"."]})]}),"\n",(0,r.jsx)(n.h3,{id:"using-the-template-literal-tag",children:"Using the template literal tag"}),"\n",(0,r.jsxs)(n.p,{children:["The template literal tag evaluates the template and expressions embedded. ",(0,r.jsx)(n.code,{children:"interpolate"})," returns a new string, while other logging functions prints it. Below is a typical usage:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",children:"import logger from '@docusaurus/logger';\n\nlogger.info`Hello name=${name}! You have number=${money} dollars. Here are the ${\n items.length > 1 ? 'items' : 'item'\n} on the shelf: ${items}\nTo buy anything, enter code=${'buy x'} where code=${'x'} is the item's name; to quit, press code=${'Ctrl + C'}.`;\n"})}),"\n",(0,r.jsxs)(n.p,{children:["An embedded expression is optionally preceded by a flag in the form ",(0,r.jsx)(n.code,{children:"[a-z]+="})," (a few lowercase letters, followed by an equals sign, directly preceding the embedded expression). If the expression is not preceded by any flag, it's printed out as-is. Otherwise, it's formatted with one of the formatters:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"path="}),": ",(0,r.jsx)(n.code,{children:"path"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"url="}),": ",(0,r.jsx)(n.code,{children:"url"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"name="}),": ",(0,r.jsx)(n.code,{children:"name"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"code="}),": ",(0,r.jsx)(n.code,{children:"code"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"subdue="}),": ",(0,r.jsx)(n.code,{children:"subdue"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"number="}),": ",(0,r.jsx)(n.code,{children:"num"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["If the expression is an array, it's formatted by ",(0,r.jsx)(n.code,{children:"`\\n- ${array.join('\\n- ')}\\n`"})," (note it automatically gets a leading line end). Each member is formatted by itself and the bullet is not formatted. So you would see the above message printed as:"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Some text output in the terminal, containing array, code, name, and number formatting",src:s(9565).Z+"",width:"1234",height:"150"})})]})}function h(e={}){let{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},80980:function(e,n,s){s.d(n,{Z:()=>l,a:()=>o});var i=s(67294);let r={},t=i.createContext(r);function o(e){let n=i.useContext(t);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4794e44a.4802d000.js b/assets/js/4794e44a.4802d000.js new file mode 100644 index 0000000000..093a1b2108 --- /dev/null +++ b/assets/js/4794e44a.4802d000.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["23693"],{87689:function(s,e,i){i.r(e),i.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>n});var l=i(17760),h=i(85893),r=i(80980);let o={mdx:{format:"md"},date:"2021-03-09T20:00",authors:["3alisaki","9oelM","apurvaojas","armano2","ArtFlag","asystentka-jolka","ataft","aukokyong","ayonious","B4nan","ben-qnimble","bennodev19","caglarturali","christian-bromann","dbrrt","edno","edulazaro","eric-hc","iamshadmirza","imbhargav5","iruzevic","jlin27","JoelMarcey","juancarlosjr97","juzhiyuan","kumaraditya303","lex111","limkinZero","linyuxuanlin","lisa761","LittleboyHarry","longlho","manzinello","massoudmaboudi","MatanBobi","miroiu","MisterFISHUP","moonrailgun","natac13","nicojs","NikolayS","ntbosscher","oze4","philipp985","RDIL","roydukkey","saihaj","SamChou19815","samhrncir","sammychinedu2ky","saydo17","semoal","Siemienik","Simek","sksamuel","slorber","theankurkedia","TheodoreChu","tienvx","tokarchyn","tomsfernandez","vamsi3","viglucci","wellyshen","wolf20482","yangshun","YashTotale","ykzts","ysulyma","yuval-hazaz"]},c="2.0.0-alpha.71",a={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},n=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:":running: Performance",id:"running-performance",level:2},{value:"Committers: 70",id:"committers-70",level:2}];function t(s){let e={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,r.a)(),...s.components};return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(e.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4222",children:"#4222"})," feat(v2): add ability to set custom heading id (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4328",children:"#4328"})," feat(v2): Add playgroundPosition config for live codeblock (",(0,h.jsx)(e.a,{href:"https://github.com/tokarchyn",children:"@tokarchyn"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4209",children:"#4209"})," feat(v2): auto focus to tab if it is outside viewport (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4329",children:"#4329"})," feat(v2): add arabic translation (",(0,h.jsx)(e.a,{href:"https://github.com/3alisaki",children:"@3alisaki"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4325",children:"#4325"})," feat(v2): [theme-classic] add Polish translation (",(0,h.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4312",children:"#4312"})," feat(v2): Add Turkish translations for theme labels (",(0,h.jsx)(e.a,{href:"https://github.com/caglarturali",children:"@caglarturali"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4271",children:"#4271"})," feat(v2): add Farsi default translations (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4261",children:"#4261"})," feat(v2): add icon to generic sidebar link (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4109",children:"#4109"})," feat(v2): default canonical urls (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4308",children:"#4308"})," feat(v2): add --config option to CLI (",(0,h.jsx)(e.a,{href:"https://github.com/longlho",children:"@longlho"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4185",children:"#4185"})," feat(v2): allow extend PostCSS config (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4021",children:"#4021"})," feat(v2): Allow plugins to consume webpack stats (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4303",children:"#4303"})," feat(v2): add japanese translations (",(0,h.jsx)(e.a,{href:"https://github.com/ykzts",children:"@ykzts"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-module-type-aliases"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4295",children:"#4295"})," feat(v2): Add Interpolate / interpolate APIs + complete theme translations (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-mdx-loader"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4278",children:"#4278"}),' feat(v2): ability to "escape" JSX in MDX files as code blocks (',(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4232",children:"#4232"})," feat(v2): editUrl functions should receive md doc permalink (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4121",children:"#4121"})," feat(v2): editUrl function for advanced use-cases (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-1.x"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-migrate"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-pwa"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-preset-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4218",children:"#4218"})," feat(v2): support/use React v17 by default (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4215",children:"#4215"})," feat(v2): Add i18n default code translation bundles (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-module-type-aliases"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4140",children:"#4140"})," feat(v2): add support for RTL direction (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4199",children:"#4199"})," feat(v2): allow to change location of search bar (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3993",children:"#3993"})," feat(v2): themed logo in footer (",(0,h.jsx)(e.a,{href:"https://github.com/natac13",children:"@natac13"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4198",children:"#4198"})," feat(v2): add fonts loaders + webpack resolve.roots (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3998",children:"#3998"})," feat(v2): Cache hashed assets to dedicated folders (",(0,h.jsx)(e.a,{href:"https://github.com/kumaraditya303",children:"@kumaraditya303"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3979",children:"#3979"})," feat(v2): better error message for invalid plugin config (",(0,h.jsx)(e.a,{href:"https://github.com/9oelM",children:"@9oelM"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4168",children:"#4168"})," feat(v2): Extract/translate hardcoded labels from classic theme (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-init"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4098",children:"#4098"})," feat(v2): improve templates, use JSDoc type annotation, improve ",(0,h.jsx)(e.code,{children:"docusaurus.config.js"})," autocompletion (",(0,h.jsx)(e.a,{href:"https://github.com/LittleboyHarry",children:"@LittleboyHarry"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-migrate"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3986",children:"#3986"})," feat(v2): skip dependency install on docusaurus init (",(0,h.jsx)(e.a,{href:"https://github.com/kumaraditya303",children:"@kumaraditya303"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3949",children:"#3949"})," feat(v2): new docs edit options: editCurrentVersion + editLocalizedDocs (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(e.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-1.x"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-migrate"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-pwa"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-preset-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils-validation"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),", ",(0,h.jsx)(e.code,{children:"lqip-loader"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4223",children:"#4223"})," chore(v2): upgrade dependencies + require Node 12 (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(e.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4366",children:"#4366"})," fix(v2): align installed core-js version with babel config (",(0,h.jsx)(e.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4345",children:"#4345"})," fix(v2): always extract translations from site/src (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4342",children:"#4342"})," chore(v2): bump clean-css to 5.1.1 (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4212",children:"#4212"})," fix(v2): typo in resolve.roots (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4155",children:"#4155"})," fix(v2): BaseUrl issue banner insertion should be prevented if JS can load (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4137",children:"#4137"})," fix(v2): escape apostrophes in route paths (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4136",children:"#4136"})," fix(v2): fix navigation from homepage (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4125",children:"#4125"})," fix(v2): baseUrl help banner should not be indexed by Google / SEO (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4080",children:"#4080"})," fix(v2): chokidar reloading debounced (",(0,h.jsx)(e.a,{href:"https://github.com/semoal",children:"@semoal"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3965",children:"#3965"})," fix(v2): fix svg loader for CSS files (",(0,h.jsx)(e.a,{href:"https://github.com/apurvaojas",children:"@apurvaojas"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3943",children:"#3943"})," fix(v2): disables all inlining in CleanCSS (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3941",children:"#3941"})," fix(v2): fix i18n build logging. (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4349",children:"#4349"})," fix(v2): fix update code translations script + update some translations (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4311",children:"#4311"})," fix(v2): fit footer in viewport when content area is too small (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4340",children:"#4340"})," fix(v2): prevent useless blog pages to be in search results (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4274",children:"#4274"})," fix(v2): theme classic should have lib-next prettified (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4267",children:"#4267"})," fix(v2): Allow null as valid for title of item in footer links. (",(0,h.jsx)(e.a,{href:"https://github.com/ben-qnimble",children:"@ben-qnimble"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4254",children:"#4254"})," fix(v2): fix LTR PostCSS bug on Netlify and monorepo symlinks (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4247",children:"#4247"})," fix(v2): make doc container full width when hidden sidebar (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4241",children:"#4241"})," fix(v2): avoid horizontal scrolling when long lines of code (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4200",children:"#4200"})," fix(v2): various minor bugs with location hash (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4195",children:"#4195"})," fix(v2): restore hamburger menu (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4189",children:"#4189"})," fix(v2): prevent click on item menu with children on mobiles (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4176",children:"#4176"})," fix(v2): make locale dropdown accessible from keyboard (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4163",children:"#4163"})," fix(v2): fix warning and improve styling inline TOC (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4162",children:"#4162"})," fix(v2): make more accessible skip link (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4160",children:"#4160"})," fix(v2): fix hreflang headers (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4147",children:"#4147"})," fix(v2): avoid misuse section tag in blog posts (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4146",children:"#4146"})," fix(v2): use current color for language icon (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4118",children:"#4118"})," fix(v2): navbar dropdown subitems should be translated properly (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4011",children:"#4011"})," fix(v2): fix accessibility issue with IconArrow (",(0,h.jsx)(e.a,{href:"https://github.com/natac13",children:"@natac13"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3968",children:"#3968"})," fix(v2): fix blog only contextual search (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4315",children:"#4315"})," fix(v2): make code blocks more standalone (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4277",children:"#4277"})," fix(v2): Code blocks should be LTR by default (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4318",children:"#4318"})," fix(v2): evaluate code in live editor on client only (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3954",children:"#3954"})," fix(v2): allow async/await in live code editor (",(0,h.jsx)(e.a,{href:"https://github.com/9oelM",children:"@9oelM"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4339",children:"#4339"})," fix(v2): search page results localization (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4304",children:"#4304"})," fix(v2): fix bad theme pluralization rules for some labels (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-cssnano-preset"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4240",children:"#4240"})," fix(v2): remove PostCSS plugin for combine duplicated selectors (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:["Other\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4234",children:"#4234"})," fix(v2): fix website versions page (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4233",children:"#4233"})," fix(v2): website editUrl should target upstream docs (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4067",children:"#4067"})," fix(v2): Fix blog post url/date (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3952",children:"#3952"})," docs(v2): Fix invalid json (",(0,h.jsx)(e.a,{href:"https://github.com/oze4",children:"@oze4"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4188",children:"#4188"})," fix(v2): prepend docsearch modal to body element (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4154",children:"#4154"})," fix(v2): add base url to opensearch.xml (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-ideal-image"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4166",children:"#4166"})," fix(v2): ideal image assets should be served under ./assets (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4092",children:"#4092"})," fix(v2): fix/enhance minor i18n issues reported (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3940",children:"#3940"})," fix(v2): i18n should not crash theme without footer (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4004",children:"#4004"})," fix(v2): Fix double trailingSlash in sitemap.xml (",(0,h.jsx)(e.a,{href:"https://github.com/ntbosscher",children:"@ntbosscher"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3970",children:"#3970"})," fix(v2): fix multi-instance mdx loaders not sandboxed correctly (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3903",children:"#3903"})," fix(v2): fix redirect toUrl (windows + trailing slash) (",(0,h.jsx)(e.a,{href:"https://github.com/saydo17",children:"@saydo17"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-utils"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3944",children:"#3944"})," fix(v2): ignore style imports in excerpt (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(e.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4371",children:"#4371"})," refactor(v2): update Russian translation in classic theme (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4359",children:"#4359"})," polish(v2): [theme-classic] slightly improve Japanese translation (",(0,h.jsx)(e.a,{href:"https://github.com/MisterFISHUP",children:"@MisterFISHUP"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4350",children:"#4350"})," polish(v2): Updated theme label translations for Turkish (",(0,h.jsx)(e.a,{href:"https://github.com/caglarturali",children:"@caglarturali"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4351",children:"#4351"})," polish(v2): add japanese translation for #4304 (",(0,h.jsx)(e.a,{href:"https://github.com/ykzts",children:"@ykzts"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4309",children:"#4309"})," polish(v2): improved Farsi translation (",(0,h.jsx)(e.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4279",children:"#4279"})," polish(v2): theme default translations for language de / german (",(0,h.jsx)(e.a,{href:"https://github.com/philipp985",children:"@philipp985"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4275",children:"#4275"})," polish(v2): Add more tags translations (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4246",children:"#4246"})," refactor(v2): add Russian translation for classic theme (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4242",children:"#4242"})," refactor(v2): use Link component for external links (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4244",children:"#4244"})," refactor(v2): clean-ups and fixes (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4193",children:"#4193"})," refactor(v2): update tabs to follow WAI-ARIA spec (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4194",children:"#4194"})," refactor(v2): use transform instead of top position for hideable navbar (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4167",children:"#4167"})," refactor(v2): minor styling improvements (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4169",children:"#4169"})," refactor(v2): remove delay after skip link pressed (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4086",children:"#4086"})," style(v2): add className to tab container (",(0,h.jsx)(e.a,{href:"https://github.com/ArtFlag",children:"@ArtFlag"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4352",children:"#4352"})," refactor(v2): format last updated date using Intl (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4243",children:"#4243"})," refactor(v2): introduce Seo component for internal using (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4344",children:"#4344"})," refactor(v2): format post date using Intl (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4257",children:"#4257"})," refactor(v2): improve notifier message (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-pwa"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4219",children:"#4219"})," refactor(v2): add more translatable strings (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:["Other\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4074",children:"#4074"})," polish(v2): improve codesandbox template package.json (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-debug"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3953",children:"#3953"})," refactor(v2): fix debug plugin name (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3946",children:"#3946"})," refactor(v2): minor a11y tweaks (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(e.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:["Other\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4369",children:"#4369"})," docs(v2): various improvements (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4362",children:"#4362"})," docs(v2): Add stryker-mutator.io to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/nicojs",children:"@nicojs"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4354",children:"#4354"})," docs(v2): add trpgengine showcase (",(0,h.jsx)(e.a,{href:"https://github.com/moonrailgun",children:"@moonrailgun"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4346",children:"#4346"})," docs(v1): update phrasing for website dir relative to docs dir (",(0,h.jsx)(e.a,{href:"https://github.com/aukokyong",children:"@aukokyong"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4338",children:"#4338"})," docs(v2): update showcase instruction regarding tags + fix site tags (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4331",children:"#4331"})," docs(v2): add ocpeasy to users (",(0,h.jsx)(e.a,{href:"https://github.com/dbrrt",children:"@dbrrt"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4307",children:"#4307"})," docs(v2): Add RactivePlayer to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/ysulyma",children:"@ysulyma"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4297",children:"#4297"})," docs(v2): Fix examples by importing React (",(0,h.jsx)(e.a,{href:"https://github.com/roydukkey",children:"@roydukkey"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4296",children:"#4296"})," docs(v2): move migrated sites from v1 to v2 showcase (",(0,h.jsx)(e.a,{href:"https://github.com/lisa761",children:"@lisa761"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4293",children:"#4293"})," docs(v2): Added React Native ARIA to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/theankurkedia",children:"@theankurkedia"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4284",children:"#4284"})," docs(v2): Add AttoBot website to showcase page (",(0,h.jsx)(e.a,{href:"https://github.com/wolf20482",children:"@wolf20482"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4285",children:"#4285"})," docs(v2): escape more jsx in mdx files for Crowdin (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4283",children:"#4283"})," docs(v2): Add Postgres.ai to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/NikolayS",children:"@NikolayS"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4282",children:"#4282"})," docs: update Netlify deploy status badge (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4259",children:"#4259"})," docs(v2): improve cli docs (",(0,h.jsx)(e.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4266",children:"#4266"})," docs(v2): update agilets banner (",(0,h.jsx)(e.a,{href:"https://github.com/bennodev19",children:"@bennodev19"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4263",children:"#4263"})," docs(v2): remove npx and use github action to configure ssh key (",(0,h.jsx)(e.a,{href:"https://github.com/MatanBobi",children:"@MatanBobi"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4262",children:"#4262"})," docs(v2): Added kotest to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/sksamuel",children:"@sksamuel"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4256",children:"#4256"})," docs(v2): Add docusaurus2-graphql-doc-generator to community resources (",(0,h.jsx)(e.a,{href:"https://github.com/edno",children:"@edno"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4252",children:"#4252"})," docs(v2): Added mailgo to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/manzinello",children:"@manzinello"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4251",children:"#4251"})," docs(v2): Add Axioms to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/limkinZero",children:"@limkinZero"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4237",children:"#4237"})," docs(v2): Replace mbt-bundle by sicope-model (",(0,h.jsx)(e.a,{href:"https://github.com/tienvx",children:"@tienvx"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4236",children:"#4236"})," docs(v2): v2 migration should mention RSS feed url change (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4230",children:"#4230"})," docs(v2): fix npm/yarn command example for swizzling TypeScript theme components (",(0,h.jsx)(e.a,{href:"https://github.com/YashTotale",children:"@YashTotale"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4229",children:"#4229"})," docs(v2): Fix link to slash introduction svg (",(0,h.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4226",children:"#4226"})," docs(v2): Removing wrong parenthesis on image variable (",(0,h.jsx)(e.a,{href:"https://github.com/juancarlosjr97",children:"@juancarlosjr97"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4225",children:"#4225"})," docs(v2): added Apache APISIX (",(0,h.jsx)(e.a,{href:"https://github.com/juzhiyuan",children:"@juzhiyuan"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4224",children:"#4224"})," docs(v2): Add MikroORM site to showcase page (",(0,h.jsx)(e.a,{href:"https://github.com/B4nan",children:"@B4nan"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4220",children:"#4220"})," Add WebdriverIO docs page as showcase (",(0,h.jsx)(e.a,{href:"https://github.com/christian-bromann",children:"@christian-bromann"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4210",children:"#4210"})," misc: add requirements for sites being added to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4207",children:"#4207"})," docs(v2): Added Console Table Documentation Site to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4204",children:"#4204"})," docs(v1): fixing a broken link in blog posts (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4178",children:"#4178"})," docs(v2): localize 404 page with Netlify + docs (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4177",children:"#4177"})," docs(v2): Add docusaurus-plugin-remote-content to resources list (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4172",children:"#4172"})," docs(v2): Add react-hooks.org to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/imbhargav5",children:"@imbhargav5"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4173",children:"#4173"})," docs(v2): typo fixing double colon (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4164",children:"#4164"})," docs(v2): add a note for images not rendered on dev server (",(0,h.jsx)(e.a,{href:"https://github.com/yuval-hazaz",children:"@yuval-hazaz"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4161",children:"#4161"})," docs(v2): Add docusaurus-theme-github-codeblock (",(0,h.jsx)(e.a,{href:"https://github.com/christian-bromann",children:"@christian-bromann"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4158",children:"#4158"})," docs(v2): improve bad static assets doc + remove some useless useBaseUrl usage (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4144",children:"#4144"})," docs(v2): community docs typo fix (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4143",children:"#4143"})," docs(v2): guide docs typo fix (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4141",children:"#4141"})," docs(v2): plugins docs typo fix (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4139",children:"#4139"})," docs(v2): Add Rematch site to showcase page (",(0,h.jsx)(e.a,{href:"https://github.com/semoal",children:"@semoal"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4128",children:"#4128"})," docs(v2): remove duplicate link from docs about Docusaurus1 (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4129",children:"#4129"})," docs(v2): typo fix in Migration Docs (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4127",children:"#4127"})," docs(v2): remove unnecessary brace from installation doc (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4130",children:"#4130"})," docs(v2): typo in i18n docs (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4112",children:"#4112"})," docs(v2): Do not encourage using the permalink prop (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4106",children:"#4106"})," docs(v2): update broken link on resources page (",(0,h.jsx)(e.a,{href:"https://github.com/eric-hc",children:"@eric-hc"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4084",children:"#4084"})," docs(v2): Use the TOCInline component in config doc (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4020",children:"#4020"})," docs(v2): 2020 recap blog post (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4009",children:"#4009"})," docs(v2): add hideableSidebar option to config demo (",(0,h.jsx)(e.a,{href:"https://github.com/natac13",children:"@natac13"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4062",children:"#4062"})," docs(v2): Add codesandbox integration (",(0,h.jsx)(e.a,{href:"https://github.com/sammychinedu2ky",children:"@sammychinedu2ky"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4058",children:"#4058"})," docs(v2): Include new.docusaurus.io CodeSandbox in issue templates + README (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4053",children:"#4053"})," docs(v2): Add Eightshift Docs site to showcase page (",(0,h.jsx)(e.a,{href:"https://github.com/iruzevic",children:"@iruzevic"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4048",children:"#4048"})," docs(v1): Docker: remind the user to use the --host flag (",(0,h.jsx)(e.a,{href:"https://github.com/tomsfernandez",children:"@tomsfernandez"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4047",children:"#4047"})," docs(v1): version page should recommend v2 (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4046",children:"#4046"})," docs(v2): add sciwp to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/edulazaro",children:"@edulazaro"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4036",children:"#4036"})," docs(v2): Add Nodify to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/miroiu",children:"@miroiu"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4038",children:"#4038"})," docs(v1): suggest to use Docusaurus 2 even for non-FB websites (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4026",children:"#4026"})," docs(v2): Add FlexIt to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/ataft",children:"@ataft"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4022",children:"#4022"})," docs: fix typo from 'dissapear' to 'disappear' (",(0,h.jsx)(e.a,{href:"https://github.com/vamsi3",children:"@vamsi3"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4002",children:"#4002"})," docs(v2): Add how to run your own DocSearch (",(0,h.jsx)(e.a,{href:"https://github.com/TheodoreChu",children:"@TheodoreChu"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3997",children:"#3997"})," docs(v2): Add Datagit site to showcase page (",(0,h.jsx)(e.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3990",children:"#3990"})," docs(v2): Add wiki-powerto site showcase (",(0,h.jsx)(e.a,{href:"https://github.com/linyuxuanlin",children:"@linyuxuanlin"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3991",children:"#3991"})," docs(v2): add overwriting css variables for dark mode (",(0,h.jsx)(e.a,{href:"https://github.com/natac13",children:"@natac13"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3987",children:"#3987"})," docs(v2): Add AgileTs site to showcase page (",(0,h.jsx)(e.a,{href:"https://github.com/bennodev19",children:"@bennodev19"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3978",children:"#3978"})," docs(v2): Add documentation for docs multi-instance support (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3977",children:"#3977"})," docs(v2): nudge users to add site to showcase (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3975",children:"#3975"})," docs(v2): Reorganize/split the guides doc / markdown sections (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3976",children:"#3976"})," docs(v2): Add AI-Speaker site to showcase page (",(0,h.jsx)(e.a,{href:"https://github.com/asystentka-jolka",children:"@asystentka-jolka"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3974",children:"#3974"})," docs(v2): doc typo on sidebar admonition (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3962",children:"#3962"})," docs(v2): Add migration info doc regarding docs folder location (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3950",children:"#3950"})," docs(v2): update GitHub entreprise deployment doc (",(0,h.jsx)(e.a,{href:"https://github.com/samhrncir",children:"@samhrncir"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3945",children:"#3945"})," docs(v2): Added information about setting ",(0,h.jsx)(e.code,{children:"/"})," in routeBasePath (",(0,h.jsx)(e.a,{href:"https://github.com/Siemienik",children:"@Siemienik"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4356",children:"#4356"})," polish(v2): [theme-classic] add Chinese translations (zh-Hant & zh-Hans) (",(0,h.jsx)(e.a,{href:"https://github.com/MisterFISHUP",children:"@MisterFISHUP"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4126",children:"#4126"})," docs(v2): do not recommend using useBaseUrl() hook in most cases (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4049",children:"#4049"})," docs(v1): version page should recommend v2 (bis) (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4014",children:"#4014"})," docs(v2): i18n doc + polish (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-cssnano-preset"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-migrate"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-module-type-aliases"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-pwa"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-preset-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils-validation"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),", ",(0,h.jsx)(e.code,{children:"lqip-loader"}),", ",(0,h.jsx)(e.code,{children:"stylelint-copyright"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4034",children:"#4034"})," docs(v2): Add READMEs to v2 packages (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-init"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3881",children:"#3881"})," docs(v2): update FB OSS logo (",(0,h.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(e.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:["Other\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4372",children:"#4372"})," chore(v1): release docusaurus v1.14.7 (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4368",children:"#4368"})," chore(deps): bump elliptic from 6.5.3 to 6.5.4 (",(0,h.jsx)(e.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4365",children:"#4365"})," chore: unstable yarnlock (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4337",children:"#4337"})," misc: restore build size bot (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4289",children:"#4289"})," chore(v2): remove docs for alpha v69 (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4253",children:"#4253"})," chore(v2): remove docs for alpha v68 (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4248",children:"#4248"})," chore(v2): Fix build size bot (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4214",children:"#4214"})," chore(v2): setup for i18n staging deployment (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4159",children:"#4159"})," chore(v2): fix build size bot again (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4156",children:"#4156"})," chore(v2): fix build size bot monitoring of js/css assets (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4100",children:"#4100"})," chore(v2): remove docs for alpha v66 (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4077",children:"#4077"})," chore(v2): fix unstable master yarn.lock (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4063",children:"#4063"}),' chore(v2): Regen codesandbox templates + add template: "docusaurus" (',(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4056",children:"#4056"})," chore(v2): update codesandbox redirect (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4041",children:"#4041"})," chore(v1): revert v1 netlify.toml (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4040",children:"#4040"})," chore(v1): upgrade v1 Crowdin cli + CI config (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4030",children:"#4030"})," chore(v2): install Crowdin cli through npm package (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4003",children:"#4003"})," chore: add DevContainer config for GitHub codespaces (",(0,h.jsx)(e.a,{href:"https://github.com/kumaraditya303",children:"@kumaraditya303"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4001",children:"#4001"})," chore(v2): Upgrade crowdin (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3995",children:"#3995"})," chore(v2): remove docs for alpha v65 (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3960",children:"#3960"})," fix(v2): remove duplicate section on Versions page (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4370",children:"#4370"})," chore(v2): update infima (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),", ",(0,h.jsx)(e.code,{children:"lqip-loader"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4361",children:"#4361"})," refactor(v2): remove duplicated lodash dependencies and import only what needed (",(0,h.jsx)(e.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-1.x"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4270",children:"#4270"})," chore(v2): upgrade react-dev-utils (",(0,h.jsx)(e.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-migrate"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4264",children:"#4264"})," chore(v2): bump/align deps in monorepo: commander, semver, fs-extra (",(0,h.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4265",children:"#4265"})," chore(v2): PostCSS peer dep fix (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4091",children:"#4091"})," refactor(v2): Switch from inquirer to prompts (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4066",children:"#4066"})," chore(v2): Update a few dependencies (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-migrate"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils-validation"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),", ",(0,h.jsx)(e.code,{children:"lqip-loader"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4148",children:"#4148"})," chore(v2): upgrade dependencies (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-pwa"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4120",children:"#4120"})," chore(v2): Update workbox to v6 (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4081",children:"#4081"})," chore(v2): Update webpack-related dependencies, pre-work to migrate to Webpack 5 (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4012",children:"#4012"})," chore(v2): docusaurus-init: switch from inquirer to prompts (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4005",children:"#4005"})," chore(v2): prettier fixes (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-migrate"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3988",children:"#3988"})," chore(v2): fix date-sensitive test fixture (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),", ",(0,h.jsx)(e.code,{children:"stylelint-copyright"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3959",children:"#3959"})," chore(v2): fix windows Jest tests (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(e.h2,{id:"running-performance",children:":running: Performance"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.code,{children:"docusaurus-cssnano-preset"}),", ",(0,h.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(e.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:[(0,h.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/4355",children:"#4355"})," perf(v2): improve blog mdx-loader and postcss loader (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(e.h2,{id:"committers-70",children:"Committers: 70"}),"\n",(0,h.jsxs)(e.ul,{children:["\n",(0,h.jsxs)(e.li,{children:["Alexey Pyltsyn (",(0,h.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Ali Saki (",(0,h.jsx)(e.a,{href:"https://github.com/3alisaki",children:"@3alisaki"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Andrew Taft (",(0,h.jsx)(e.a,{href:"https://github.com/ataft",children:"@ataft"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Ankur Kedia (",(0,h.jsx)(e.a,{href:"https://github.com/theankurkedia",children:"@theankurkedia"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Apurva Ojas (",(0,h.jsx)(e.a,{href:"https://github.com/apurvaojas",children:"@apurvaojas"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Armano (",(0,h.jsx)(e.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Arthur (",(0,h.jsx)(e.a,{href:"https://github.com/ArtFlag",children:"@ArtFlag"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Bartosz Kaszubowski (",(0,h.jsx)(e.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Ben (",(0,h.jsx)(e.a,{href:"https://github.com/ben-qnimble",children:"@ben-qnimble"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["BennoDev (",(0,h.jsx)(e.a,{href:"https://github.com/bennodev19",children:"@bennodev19"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Bhargav Ponnapalli (",(0,h.jsx)(e.a,{href:"https://github.com/imbhargav5",children:"@imbhargav5"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Christian Bromann (",(0,h.jsx)(e.a,{href:"https://github.com/christian-bromann",children:"@christian-bromann"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["David Barrat (",(0,h.jsx)(e.a,{href:"https://github.com/dbrrt",children:"@dbrrt"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Eduardo L\xe1zaro (",(0,h.jsx)(e.a,{href:"https://github.com/edulazaro",children:"@edulazaro"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Eric Carboni (",(0,h.jsx)(e.a,{href:"https://github.com/eric-hc",children:"@eric-hc"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Gr\xe9gory Heitz (",(0,h.jsx)(e.a,{href:"https://github.com/edno",children:"@edno"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Ivan Ru\u017Eevi\u0107 (",(0,h.jsx)(e.a,{href:"https://github.com/iruzevic",children:"@iruzevic"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Jessica Lin (",(0,h.jsx)(e.a,{href:"https://github.com/jlin27",children:"@jlin27"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Joel M (",(0,h.jsx)(e.a,{href:"https://github.com/9oelM",children:"@9oelM"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Joel Marcey (",(0,h.jsx)(e.a,{href:"https://github.com/JoelMarcey",children:"@JoelMarcey"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Jola (",(0,h.jsx)(e.a,{href:"https://github.com/asystentka-jolka",children:"@asystentka-jolka"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Juan Carlos Blanco Delgado (",(0,h.jsx)(e.a,{href:"https://github.com/juancarlosjr97",children:"@juancarlosjr97"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Kevin Viglucci (",(0,h.jsx)(e.a,{href:"https://github.com/viglucci",children:"@viglucci"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Kumar Aditya (",(0,h.jsx)(e.a,{href:"https://github.com/kumaraditya303",children:"@kumaraditya303"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Lisa Chandra (",(0,h.jsx)(e.a,{href:"https://github.com/lisa761",children:"@lisa761"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["LittleboyHarry (",(0,h.jsx)(e.a,{href:"https://github.com/LittleboyHarry",children:"@LittleboyHarry"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Long Ho (",(0,h.jsx)(e.a,{href:"https://github.com/longlho",children:"@longlho"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Martin Ad\xe1mek (",(0,h.jsx)(e.a,{href:"https://github.com/B4nan",children:"@B4nan"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Massoud Maboudi (",(0,h.jsx)(e.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Matan Borenkraout (",(0,h.jsx)(e.a,{href:"https://github.com/MatanBobi",children:"@MatanBobi"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Matt Oestreich (",(0,h.jsx)(e.a,{href:"https://github.com/oze4",children:"@oze4"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Matteo Manzinello (",(0,h.jsx)(e.a,{href:"https://github.com/manzinello",children:"@manzinello"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Miroiu Emanuel (",(0,h.jsx)(e.a,{href:"https://github.com/miroiu",children:"@miroiu"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Mohd Shad Mirza (",(0,h.jsx)(e.a,{href:"https://github.com/iamshadmirza",children:"@iamshadmirza"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Nahiyan Kamal (",(0,h.jsx)(e.a,{href:"https://github.com/ayonious",children:"@ayonious"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Nathan Bosscher (",(0,h.jsx)(e.a,{href:"https://github.com/ntbosscher",children:"@ntbosscher"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Nico Jansen (",(0,h.jsx)(e.a,{href:"https://github.com/nicojs",children:"@nicojs"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Nikolay Samokhvalov (",(0,h.jsx)(e.a,{href:"https://github.com/NikolayS",children:"@NikolayS"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Pablo Vidal (",(0,h.jsx)(e.a,{href:"https://github.com/limkinZero",children:"@limkinZero"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Power Lin (",(0,h.jsx)(e.a,{href:"https://github.com/linyuxuanlin",children:"@linyuxuanlin"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Reece Dunham (",(0,h.jsx)(e.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Saihajpreet Singh (",(0,h.jsx)(e.a,{href:"https://github.com/saihaj",children:"@saihaj"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Sam Hrncir (",(0,h.jsx)(e.a,{href:"https://github.com/samhrncir",children:"@samhrncir"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Sam Sam (",(0,h.jsx)(e.a,{href:"https://github.com/sksamuel",children:"@sksamuel"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Sam Zhou (",(0,h.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Sean Campbell (",(0,h.jsx)(e.a,{href:"https://github.com/natac13",children:"@natac13"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Sergio Moreno (",(0,h.jsx)(e.a,{href:"https://github.com/semoal",children:"@semoal"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Siemienik Pawel (",(0,h.jsx)(e.a,{href:"https://github.com/Siemienik",children:"@Siemienik"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["S\xe9bastien Lorber (",(0,h.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Theodore Chu (",(0,h.jsx)(e.a,{href:"https://github.com/TheodoreChu",children:"@TheodoreChu"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Tien Vo Xuan (",(0,h.jsx)(e.a,{href:"https://github.com/tienvx",children:"@tienvx"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Tomas Fernandez (",(0,h.jsx)(e.a,{href:"https://github.com/tomsfernandez",children:"@tomsfernandez"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Vamsi Krishna Reddy Satti (",(0,h.jsx)(e.a,{href:"https://github.com/vamsi3",children:"@vamsi3"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Welly (",(0,h.jsx)(e.a,{href:"https://github.com/wellyshen",children:"@wellyshen"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Yamagishi Kazutoshi (",(0,h.jsx)(e.a,{href:"https://github.com/ykzts",children:"@ykzts"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Yangshun Tay (",(0,h.jsx)(e.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Yash Totale (",(0,h.jsx)(e.a,{href:"https://github.com/YashTotale",children:"@YashTotale"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Yuri Sulyma (",(0,h.jsx)(e.a,{href:"https://github.com/ysulyma",children:"@ysulyma"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["Yuval Hazaz (",(0,h.jsx)(e.a,{href:"https://github.com/yuval-hazaz",children:"@yuval-hazaz"}),")"]}),"\n",(0,h.jsx)(e.li,{children:(0,h.jsx)(e.a,{href:"https://github.com/MisterFISHUP",children:"@MisterFISHUP"})}),"\n",(0,h.jsx)(e.li,{children:(0,h.jsx)(e.a,{href:"https://github.com/aukokyong",children:"@aukokyong"})}),"\n",(0,h.jsx)(e.li,{children:(0,h.jsx)(e.a,{href:"https://github.com/philipp985",children:"@philipp985"})}),"\n",(0,h.jsx)(e.li,{children:(0,h.jsx)(e.a,{href:"https://github.com/roydukkey",children:"@roydukkey"})}),"\n",(0,h.jsx)(e.li,{children:(0,h.jsx)(e.a,{href:"https://github.com/sammychinedu2ky",children:"@sammychinedu2ky"})}),"\n",(0,h.jsx)(e.li,{children:(0,h.jsx)(e.a,{href:"https://github.com/saydo17",children:"@saydo17"})}),"\n",(0,h.jsx)(e.li,{children:(0,h.jsx)(e.a,{href:"https://github.com/tokarchyn",children:"@tokarchyn"})}),"\n",(0,h.jsx)(e.li,{children:(0,h.jsx)(e.a,{href:"https://github.com/wolf20482",children:"@wolf20482"})}),"\n",(0,h.jsxs)(e.li,{children:["moonrailgun (",(0,h.jsx)(e.a,{href:"https://github.com/moonrailgun",children:"@moonrailgun"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["\xc7a\u011Flar Tural\u0131 (",(0,h.jsx)(e.a,{href:"https://github.com/caglarturali",children:"@caglarturali"}),")"]}),"\n",(0,h.jsxs)(e.li,{children:["\u741A\u81F4\u8FDC (",(0,h.jsx)(e.a,{href:"https://github.com/juzhiyuan",children:"@juzhiyuan"}),")"]}),"\n"]})]})}function u(s={}){let{wrapper:e}={...(0,r.a)(),...s.components};return e?(0,h.jsx)(e,{...s,children:(0,h.jsx)(t,{...s})}):t(s)}},80980:function(s,e,i){i.d(e,{Z:()=>c,a:()=>o});var l=i(67294);let h={},r=l.createContext(h);function o(s){let e=l.useContext(r);return l.useMemo(function(){return"function"==typeof s?s(e):{...e,...s}},[e,s])}function c(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(h):s.components||h:o(s.components),l.createElement(r.Provider,{value:e},s.children)}},17760:function(s){s.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.71","source":"@site/changelog/source/2.0.0-alpha.71.md","title":"2.0.0-alpha.71","description":"New Feature","date":"2021-03-09T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ali Saki","alias":"3alisaki","url":"https://github.com/3alisaki","imageURL":"https://github.com/3alisaki.png","key":"3alisaki","page":null},{"name":"Joel M","alias":"9oelM","url":"https://github.com/9oelM","imageURL":"https://github.com/9oelM.png","key":"9oelM","page":null},{"name":"Apurva Ojas","alias":"apurvaojas","url":"https://github.com/apurvaojas","imageURL":"https://github.com/apurvaojas.png","key":"apurvaojas","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"Arthur","alias":"ArtFlag","url":"https://github.com/ArtFlag","imageURL":"https://github.com/ArtFlag.png","key":"ArtFlag","page":null},{"name":"Jola","alias":"asystentka-jolka","url":"https://github.com/asystentka-jolka","imageURL":"https://github.com/asystentka-jolka.png","key":"asystentka-jolka","page":null},{"name":"Andrew Taft","alias":"ataft","url":"https://github.com/ataft","imageURL":"https://github.com/ataft.png","key":"ataft","page":null},{"name":"aukokyong","alias":"aukokyong","url":"https://github.com/aukokyong","imageURL":"https://github.com/aukokyong.png","key":"aukokyong","page":null},{"name":"Nahiyan Kamal","alias":"ayonious","url":"https://github.com/ayonious","imageURL":"https://github.com/ayonious.png","key":"ayonious","page":null},{"name":"Martin Ad\xe1mek","alias":"B4nan","url":"https://github.com/B4nan","imageURL":"https://github.com/B4nan.png","key":"B4nan","page":null},{"name":"Ben","alias":"ben-qnimble","url":"https://github.com/ben-qnimble","imageURL":"https://github.com/ben-qnimble.png","key":"ben-qnimble","page":null},{"name":"BennoDev","alias":"bennodev19","url":"https://github.com/bennodev19","imageURL":"https://github.com/bennodev19.png","key":"bennodev19","page":null},{"name":"\xc7a\u011Flar Tural\u0131","alias":"caglarturali","url":"https://github.com/caglarturali","imageURL":"https://github.com/caglarturali.png","key":"caglarturali","page":null},{"name":"Christian Bromann","alias":"christian-bromann","url":"https://github.com/christian-bromann","imageURL":"https://github.com/christian-bromann.png","key":"christian-bromann","page":null},{"name":"David Barrat","alias":"dbrrt","url":"https://github.com/dbrrt","imageURL":"https://github.com/dbrrt.png","key":"dbrrt","page":null},{"name":"Gr\xe9gory Heitz","alias":"edno","url":"https://github.com/edno","imageURL":"https://github.com/edno.png","key":"edno","page":null},{"name":"Eduardo L\xe1zaro","alias":"edulazaro","url":"https://github.com/edulazaro","imageURL":"https://github.com/edulazaro.png","key":"edulazaro","page":null},{"name":"Eric Carboni","alias":"eric-hc","url":"https://github.com/eric-hc","imageURL":"https://github.com/eric-hc.png","key":"eric-hc","page":null},{"name":"Mohd Shad Mirza","alias":"iamshadmirza","url":"https://github.com/iamshadmirza","imageURL":"https://github.com/iamshadmirza.png","key":"iamshadmirza","page":null},{"name":"Bhargav Ponnapalli","alias":"imbhargav5","url":"https://github.com/imbhargav5","imageURL":"https://github.com/imbhargav5.png","key":"imbhargav5","page":null},{"name":"Ivan Ru\u017Eevi\u0107","alias":"iruzevic","url":"https://github.com/iruzevic","imageURL":"https://github.com/iruzevic.png","key":"iruzevic","page":null},{"name":"Jessica Lin","alias":"jlin27","url":"https://github.com/jlin27","imageURL":"https://github.com/jlin27.png","key":"jlin27","page":null},{"name":"Joel Marcey","alias":"JoelMarcey","url":"https://github.com/JoelMarcey","imageURL":"https://github.com/JoelMarcey.png","key":"JoelMarcey","page":null},{"name":"Juan Carlos Blanco Delgado","alias":"juancarlosjr97","url":"https://github.com/juancarlosjr97","imageURL":"https://github.com/juancarlosjr97.png","key":"juancarlosjr97","page":null},{"name":"\u741A\u81F4\u8FDC","alias":"juzhiyuan","url":"https://github.com/juzhiyuan","imageURL":"https://github.com/juzhiyuan.png","key":"juzhiyuan","page":null},{"name":"Kumar Aditya","alias":"kumaraditya303","url":"https://github.com/kumaraditya303","imageURL":"https://github.com/kumaraditya303.png","key":"kumaraditya303","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Pablo Vidal","alias":"limkinZero","url":"https://github.com/limkinZero","imageURL":"https://github.com/limkinZero.png","key":"limkinZero","page":null},{"name":"Power Lin","alias":"linyuxuanlin","url":"https://github.com/linyuxuanlin","imageURL":"https://github.com/linyuxuanlin.png","key":"linyuxuanlin","page":null},{"name":"Lisa Chandra","alias":"lisa761","url":"https://github.com/lisa761","imageURL":"https://github.com/lisa761.png","key":"lisa761","page":null},{"name":"LittleboyHarry","alias":"LittleboyHarry","url":"https://github.com/LittleboyHarry","imageURL":"https://github.com/LittleboyHarry.png","key":"LittleboyHarry","page":null},{"name":"Long Ho","alias":"longlho","url":"https://github.com/longlho","imageURL":"https://github.com/longlho.png","key":"longlho","page":null},{"name":"Matteo Manzinello","alias":"manzinello","url":"https://github.com/manzinello","imageURL":"https://github.com/manzinello.png","key":"manzinello","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Matan Borenkraout","alias":"MatanBobi","url":"https://github.com/MatanBobi","imageURL":"https://github.com/MatanBobi.png","key":"MatanBobi","page":null},{"name":"Miroiu Emanuel","alias":"miroiu","url":"https://github.com/miroiu","imageURL":"https://github.com/miroiu.png","key":"miroiu","page":null},{"name":"MisterFISHUP","alias":"MisterFISHUP","url":"https://github.com/MisterFISHUP","imageURL":"https://github.com/MisterFISHUP.png","key":"MisterFISHUP","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Sean Campbell","alias":"natac13","url":"https://github.com/natac13","imageURL":"https://github.com/natac13.png","key":"natac13","page":null},{"name":"Nico Jansen","alias":"nicojs","url":"https://github.com/nicojs","imageURL":"https://github.com/nicojs.png","key":"nicojs","page":null},{"name":"Nikolay Samokhvalov","alias":"NikolayS","url":"https://github.com/NikolayS","imageURL":"https://github.com/NikolayS.png","key":"NikolayS","page":null},{"name":"Nathan Bosscher","alias":"ntbosscher","url":"https://github.com/ntbosscher","imageURL":"https://github.com/ntbosscher.png","key":"ntbosscher","page":null},{"name":"Matt Oestreich","alias":"oze4","url":"https://github.com/oze4","imageURL":"https://github.com/oze4.png","key":"oze4","page":null},{"name":"philipp985","alias":"philipp985","url":"https://github.com/philipp985","imageURL":"https://github.com/philipp985.png","key":"philipp985","page":null},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},{"name":"roydukkey","alias":"roydukkey","url":"https://github.com/roydukkey","imageURL":"https://github.com/roydukkey.png","key":"roydukkey","page":null},{"name":"Saihajpreet Singh","alias":"saihaj","url":"https://github.com/saihaj","imageURL":"https://github.com/saihaj.png","key":"saihaj","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"Sam Hrncir","alias":"samhrncir","url":"https://github.com/samhrncir","imageURL":"https://github.com/samhrncir.png","key":"samhrncir","page":null},{"name":"sammychinedu2ky","alias":"sammychinedu2ky","url":"https://github.com/sammychinedu2ky","imageURL":"https://github.com/sammychinedu2ky.png","key":"sammychinedu2ky","page":null},{"name":"saydo17","alias":"saydo17","url":"https://github.com/saydo17","imageURL":"https://github.com/saydo17.png","key":"saydo17","page":null},{"name":"Sergio Moreno","alias":"semoal","url":"https://github.com/semoal","imageURL":"https://github.com/semoal.png","key":"semoal","page":null},{"name":"Siemienik Pawel","alias":"Siemienik","url":"https://github.com/Siemienik","imageURL":"https://github.com/Siemienik.png","key":"Siemienik","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"Sam Sam","alias":"sksamuel","url":"https://github.com/sksamuel","imageURL":"https://github.com/sksamuel.png","key":"sksamuel","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Ankur Kedia","alias":"theankurkedia","url":"https://github.com/theankurkedia","imageURL":"https://github.com/theankurkedia.png","key":"theankurkedia","page":null},{"name":"Theodore Chu","alias":"TheodoreChu","url":"https://github.com/TheodoreChu","imageURL":"https://github.com/TheodoreChu.png","key":"TheodoreChu","page":null},{"name":"Tien Vo Xuan","alias":"tienvx","url":"https://github.com/tienvx","imageURL":"https://github.com/tienvx.png","key":"tienvx","page":null},{"name":"tokarchyn","alias":"tokarchyn","url":"https://github.com/tokarchyn","imageURL":"https://github.com/tokarchyn.png","key":"tokarchyn","page":null},{"name":"Tomas Fernandez","alias":"tomsfernandez","url":"https://github.com/tomsfernandez","imageURL":"https://github.com/tomsfernandez.png","key":"tomsfernandez","page":null},{"name":"Vamsi Krishna Reddy Satti","alias":"vamsi3","url":"https://github.com/vamsi3","imageURL":"https://github.com/vamsi3.png","key":"vamsi3","page":null},{"name":"Kevin Viglucci","alias":"viglucci","url":"https://github.com/viglucci","imageURL":"https://github.com/viglucci.png","key":"viglucci","page":null},{"name":"Welly","alias":"wellyshen","url":"https://github.com/wellyshen","imageURL":"https://github.com/wellyshen.png","key":"wellyshen","page":null},{"name":"wolf20482","alias":"wolf20482","url":"https://github.com/wolf20482","imageURL":"https://github.com/wolf20482.png","key":"wolf20482","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Yash Totale","alias":"YashTotale","url":"https://github.com/YashTotale","imageURL":"https://github.com/YashTotale.png","key":"YashTotale","page":null},{"name":"Yamagishi Kazutoshi","alias":"ykzts","url":"https://github.com/ykzts","imageURL":"https://github.com/ykzts.png","key":"ykzts","page":null},{"name":"Yuri Sulyma","alias":"ysulyma","url":"https://github.com/ysulyma","imageURL":"https://github.com/ysulyma.png","key":"ysulyma","page":null},{"name":"Yuval Hazaz","alias":"yuval-hazaz","url":"https://github.com/yuval-hazaz","imageURL":"https://github.com/yuval-hazaz.png","key":"yuval-hazaz","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-03-09T20:00","authors":["3alisaki","9oelM","apurvaojas","armano2","ArtFlag","asystentka-jolka","ataft","aukokyong","ayonious","B4nan","ben-qnimble","bennodev19","caglarturali","christian-bromann","dbrrt","edno","edulazaro","eric-hc","iamshadmirza","imbhargav5","iruzevic","jlin27","JoelMarcey","juancarlosjr97","juzhiyuan","kumaraditya303","lex111","limkinZero","linyuxuanlin","lisa761","LittleboyHarry","longlho","manzinello","massoudmaboudi","MatanBobi","miroiu","MisterFISHUP","moonrailgun","natac13","nicojs","NikolayS","ntbosscher","oze4","philipp985","RDIL","roydukkey","saihaj","SamChou19815","samhrncir","sammychinedu2ky","saydo17","semoal","Siemienik","Simek","sksamuel","slorber","theankurkedia","TheodoreChu","tienvx","tokarchyn","tomsfernandez","vamsi3","viglucci","wellyshen","wolf20482","yangshun","YashTotale","ykzts","ysulyma","yuval-hazaz"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.72","permalink":"/changelog/2.0.0-alpha.72"},"nextItem":{"title":"2.0.0-alpha.70","permalink":"/changelog/2.0.0-alpha.70"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/47d4c0e5.58afdf68.js b/assets/js/47d4c0e5.58afdf68.js new file mode 100644 index 0000000000..985c5470ac --- /dev/null +++ b/assets/js/47d4c0e5.58afdf68.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["87846"],{74736:function(e,t,n){n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>i});var r=n(84276),a=n(85893),o=n(80980);let s={mdx:{format:"md"},date:"2023-09-20T19:00"},c="2.4.2",u={authorsImageUrls:[]},i=[];function l(e){return(0,a.jsx)(a.Fragment,{})}function m(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},80980:function(e,t,n){n.d(t,{Z:()=>c,a:()=>s});var r=n(67294);let a={},o=r.createContext(a);function s(e){let t=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(o.Provider,{value:t},e.children)}},84276:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.4.2","source":"@site/changelog/source/2.4.2.md","title":"2.4.2","description":"Bad npm publish, please use 2.4.3","date":"2023-09-20T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2023-09-20T19:00"},"unlisted":false,"prevItem":{"title":"2.4.3","permalink":"/changelog/2.4.3"},"nextItem":{"title":"2.4.1","permalink":"/changelog/2.4.1"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/48302.6eb8a7d3.js b/assets/js/48302.6eb8a7d3.js new file mode 100644 index 0000000000..67e1a82b0d --- /dev/null +++ b/assets/js/48302.6eb8a7d3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["48302"],{87704:function(e,t,n){n.d(t,{c:()=>d});var r=n(4740),i=n(84128),a=n(24541);function d(e){var t,n,d={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:(t=e,a.Z(t.nodes(),function(e){var n=t.node(e),i=t.parent(e),a={v:e};return r.Z(n)||(a.value=n),r.Z(i)||(a.parent=i),a})),edges:(n=e,a.Z(n.edges(),function(e){var t=n.edge(e),i={v:e.v,w:e.w};return r.Z(e.name)||(i.name=e.name),r.Z(t)||(i.value=t),i}))};return r.Z(e.graph())||(d.value=i.Z(e.graph())),d}n(64085)},84128:function(e,t,n){n.d(t,{Z:()=>i});var r=n(58928);let i=function(e){return(0,r.Z)(e,4)}},67739:function(e,t,n){n.r(t),n.d(t,{render:()=>C});var r=n(11779),i=n(25653);n(19039),n(84890);var a=n(28923),d=n(44387),c=n(87704),o=n(62145),s=new Map,l=new Map,g=new Map,f=(0,a.eW)(()=>{l.clear(),g.clear(),s.clear()},"clear"),h=(0,a.eW)((e,t)=>{let n=l.get(t)||[];return a.cM.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),u=(0,a.eW)((e,t)=>{let n=l.get(t)||[];return a.cM.info("Descendants of ",t," is ",n),a.cM.info("Edge is ",e),e.v!==t&&e.w!==t&&(n?n.includes(e.v)||h(e.v,t)||h(e.w,t)||n.includes(e.w):(a.cM.debug("Tilt, ",t,",not in descendants"),!1))},"edgeInCluster"),p=(0,a.eW)((e,t,n,r)=>{a.cM.warn("Copying children of ",e,"root",r,"data",t.node(e),r);let i=t.children(e)||[];e!==r&&i.push(e),a.cM.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(i=>{if(t.children(i).length>0)p(i,t,n,r);else{let d=t.node(i);a.cM.info("cp ",i," to ",r," with parent ",e),n.setNode(i,d),r!==t.parent(i)&&(a.cM.warn("Setting parent",i,t.parent(i)),n.setParent(i,t.parent(i))),e!==r&&i!==e?(a.cM.debug("Setting parent",i,e),n.setParent(i,e)):(a.cM.info("In copy ",e,"root",r,"data",t.node(e),r),a.cM.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==r,"node!==clusterId",i!==e));let c=t.edges(i);a.cM.debug("Copying Edges",c),c.forEach(i=>{a.cM.info("Edge",i);let d=t.edge(i.v,i.w,i.name);a.cM.info("Edge data",d,r);try{u(i,r)?(a.cM.info("Copying as ",i.v,i.w,d,i.name),n.setEdge(i.v,i.w,d,i.name),a.cM.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):a.cM.info("Skipping copy of edge ",i.v,"--\x3e",i.w," rootId: ",r," clusterId:",e)}catch(e){a.cM.error(e)}})}a.cM.debug("Removing node",i),t.removeNode(i)})},"copy"),w=(0,a.eW)((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)g.set(i,e),r=[...r,...w(i,t)];return r},"extractDescendants"),M=(0,a.eW)((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),d=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>d.some(t=>e.v===t.v&&e.w===t.w))},"findCommonEdges"),v=(0,a.eW)((e,t,n)=>{let r;let i=t.children(e);if(a.cM.trace("Searching children of id ",e,i),i.length<1)return e;for(let e of i){let i=v(e,t,n),a=M(t,n,i);if(i){if(!(a.length>0))return i;r=i}}return r},"findNonClusterChild"),y=(0,a.eW)(e=>s.has(e)&&s.get(e).externalConnections&&s.has(e)?s.get(e).id:e,"getAnchorId"),X=(0,a.eW)((e,t)=>{if(!e||t>10){a.cM.debug("Opting out, no graph ");return}for(let t of(a.cM.debug("Opting in, graph "),e.nodes().forEach(function(t){e.children(t).length>0&&(a.cM.warn("Cluster identified",t," Replacement id in edges: ",v(t,e,t)),l.set(t,w(t,e)),s.set(t,{id:v(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let n=e.children(t),r=e.edges();n.length>0?(a.cM.debug("Cluster identified",t,l),r.forEach(e=>{h(e.v,t)^h(e.w,t)&&(a.cM.warn("Edge: ",e," leaves cluster ",t),a.cM.warn("Descendants of XXX ",t,": ",l.get(t)),s.get(t).externalConnections=!0)})):a.cM.debug("Not a cluster ",t,l)}),s.keys())){let n=s.get(t).id,r=e.parent(n);r!==t&&s.has(r)&&!s.get(r).externalConnections&&(s.get(t).id=r)}e.edges().forEach(function(t){let n=e.edge(t);a.cM.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),a.cM.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let r=t.v,i=t.w;if(a.cM.warn("Fix XXX",s,"ids:",t.v,t.w,"Translating: ",s.get(t.v)," --- ",s.get(t.w)),s.get(t.v)||s.get(t.w)){if(a.cM.warn("Fixing and trying - removing XXX",t.v,t.w,t.name),r=y(t.v),i=y(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v){let i=e.parent(r);s.get(i).externalConnections=!0,n.fromCluster=t.v}if(i!==t.w){let r=e.parent(i);s.get(r).externalConnections=!0,n.toCluster=t.w}a.cM.warn("Fix Replacing with XXX",r,i,t.name),e.setEdge(r,i,n,t.name)}}),a.cM.warn("Adjusted Graph",c.c(e)),m(e,0),a.cM.trace(s)},"adjustClustersAndEdges"),m=(0,a.eW)((e,t)=>{if(a.cM.warn("extractor - ",t,c.c(e),e.children("D")),t>10){a.cM.error("Bailing out");return}let n=e.nodes(),r=!1;for(let t of n){let n=e.children(t);r=r||n.length>0}if(!r){a.cM.debug("Done, no node has children",e.nodes());return}for(let r of(a.cM.debug("Nodes = ",n,t),n))if(a.cM.debug("Extracting node",r,s,s.has(r)&&!s.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),s.has(r)){if(!s.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){a.cM.warn("Cluster without external connections, without a parent and with children",r,t);let n="TB"===e.graph().rankdir?"LR":"TB";s.get(r)?.clusterData?.dir&&(n=s.get(r).clusterData.dir,a.cM.warn("Fixing dir",s.get(r).clusterData.dir,n));let i=new o.k({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});a.cM.warn("Old graph before copy",c.c(e)),p(r,e,i,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:s.get(r).clusterData,label:s.get(r).label,graph:i}),a.cM.warn("New graph after copy node: (",r,")",c.c(i)),a.cM.debug("Old graph after copy",c.c(e))}else a.cM.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!s.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),a.cM.debug(s)}else a.cM.debug("Not a cluster",r,t);for(let r of(n=e.nodes(),a.cM.warn("New list of nodes",n),n)){let n=e.node(r);a.cM.warn(" Now next level",r,n),n?.clusterNode&&m(n.graph,t+1)}},"extractor"),b=(0,a.eW)((e,t)=>{if(0===t.length)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=e.children(t),i=b(e,r);n=[...n,...i]}),n},"sorter"),E=(0,a.eW)(e=>b(e,e.children()),"sortNodesByHierarchy"),N=(0,a.eW)(async(e,t,n,o,l,g)=>{a.cM.warn("Graph in recursive render:XAX",c.c(t),l);let f=t.graph().rankdir;a.cM.trace("Dir in recursive render - dir:",f);let h=e.insert("g").attr("class","root");t.nodes()?a.cM.info("Recursive render XXX",t.nodes()):a.cM.info("No nodes found for",t),t.edges().length>0&&a.cM.info("Recursive edges",t.edge(t.edges()[0]));let u=h.insert("g").attr("class","clusters"),p=h.insert("g").attr("class","edgePaths"),w=h.insert("g").attr("class","edgeLabels"),M=h.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(e){let i=t.node(e);if(void 0!==l){let n=JSON.parse(JSON.stringify(l.clusterData));a.cM.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",n.height,"\nParent cluster",l.height),t.setNode(l.id,n),t.parent(e)||(a.cM.trace("Setting parent",e,l.id),t.setParent(e,l.id,n))}if(a.cM.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),i?.clusterNode){a.cM.info("Cluster identified XBX",e,i.width,t.node(e));let{ranksep:d,nodesep:c}=t.graph();i.graph.setGraph({...i.graph.graph(),ranksep:d+25,nodesep:c});let s=await N(M,i.graph,n,o,t.node(e),g),l=s.elem;(0,r.jr)(i,l),i.diff=s.diff||0,a.cM.info("New compound node after recursive render XAX",e,"width",i.width,"height",i.height),(0,r.Yn)(l,i)}else t.children(e).length>0?(a.cM.trace("Cluster - the non recursive path XBX",e,i.id,i,i.width,"Graph:",t),a.cM.trace(v(i.id,t)),s.set(i.id,{id:v(i.id,t),node:i})):(a.cM.trace("Node - the non recursive path XAX",e,M,t.node(e),f),await (0,r.Lf)(M,t.node(e),f))}));let y=(0,a.eW)(async()=>{let e=t.edges().map(async function(e){let n=t.edge(e.v,e.w,e.name);a.cM.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),a.cM.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),a.cM.info("Fix",s,"ids:",e.v,e.w,"Translating: ",s.get(e.v),s.get(e.w)),await (0,r.I_)(w,n)});await Promise.all(e)},"processEdges");await y(),a.cM.info("Graph before layout:",JSON.stringify(c.c(t))),a.cM.info("############################################# XXX"),a.cM.info("### Layout ### XXX"),a.cM.info("############################################# XXX"),(0,d.bK)(t),a.cM.info("Graph after layout:",JSON.stringify(c.c(t)));let X=0,{subGraphTitleTotalMargin:m}=(0,i.L)(g);return await Promise.all(E(t).map(async function(e){let n=t.node(e);if(a.cM.info("Position XBX => "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n?.clusterNode)n.y+=m,a.cM.info("A tainted cluster node XBX1",e,n.id,n.width,n.height,n.x,n.y,t.parent(e)),s.get(n.id).node=n,(0,r.aH)(n);else if(t.children(e).length>0){a.cM.info("A pure cluster node XBX1",e,n.id,n.x,n.y,n.width,n.height,t.parent(e)),n.height+=m,t.node(n.parentId);let i=n?.padding/2||0,d=n?.labelBBox?.height||0;a.cM.debug("OffsetY",d-i||0,"labelHeight",d,"halfPadding",i),await (0,r.us)(u,n),s.get(n.id).node=n}else{let e=t.node(n.parentId);n.y+=m/2,a.cM.info("A regular node XBX1 - using the padding",n.id,"parent",n.parentId,n.width,n.height,n.x,n.y,"offsetY",n.offsetY,"parent",e,e?.offsetY,n),(0,r.aH)(n)}})),t.edges().forEach(function(e){let i=t.edge(e);a.cM.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(i),i),i.points.forEach(e=>e.y+=m/2);let d=t.node(e.v);var c=t.node(e.w);let l=(0,r.QP)(p,i,s,n,d,c,o);(0,r.Jj)(i,l)}),t.nodes().forEach(function(e){let n=t.node(e);a.cM.info(e,n.type,n.diff),n.isGroup&&(X=n.diff)}),a.cM.warn("Returning from recursive render XAX",h,X),{elem:h,diff:X}},"recursiveRender"),C=(0,a.eW)(async(e,t)=>{let n=new o.k({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),i=t.select("g");(0,r.DQ)(i,e.markers,e.type,e.diagramId),(0,r.eT)(),(0,r.gU)(),(0,r.ZH)(),f(),e.nodes.forEach(e=>{n.setNode(e.id,{...e}),e.parentId&&n.setParent(e.id,e.parentId)}),a.cM.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){let t=e.start,r=t+"---"+t+"---1",i=t+"---"+t+"---2",a=n.node(t);n.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(r,a.parentId),n.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(i,a.parentId);let d=structuredClone(e),c=structuredClone(e),o=structuredClone(e);d.label="",d.arrowTypeEnd="none",d.id=t+"-cyclic-special-1",c.arrowTypeEnd="none",c.id=t+"-cyclic-special-mid",o.label="",a.isGroup&&(d.fromCluster=t,o.toCluster=t),o.id=t+"-cyclic-special-2",n.setEdge(t,r,d,t+"-cyclic-special-0"),n.setEdge(r,i,c,t+"-cyclic-special-1"),n.setEdge(i,t,o,t+"-cyc<lic-special-2")}else n.setEdge(e.start,e.end,{...e},e.id)}),a.cM.warn("Graph at first:",JSON.stringify(c.c(n))),X(n),a.cM.warn("Graph after XAX:",JSON.stringify(c.c(n)));let d=(0,a.nV)();await N(i,n,e.type,e.diagramId,void 0,d)},"render")}}]); \ No newline at end of file diff --git a/assets/js/48325788.8aa05d17.js b/assets/js/48325788.8aa05d17.js new file mode 100644 index 0000000000..df0379a210 --- /dev/null +++ b/assets/js/48325788.8aa05d17.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["57884"],{27337:function(e,s,i){i.r(s),i.d(s,{assets:()=>n,contentTitle:()=>a,default:()=>u,frontMatter:()=>c,metadata:()=>r,toc:()=>o});var r=i(18696),l=i(85893),h=i(80980);let c={mdx:{format:"md"},date:"2021-08-26T20:00",authors:["BattleOfPlassey","dbseal","deepakprabhakara","erickzhao","faloi","forresst","fouad","gulien","hamzahamidi","HaochenQ","incendial","isaac-philip","jansivans","johnnyreilly","JonnyBurger","Josh-Cena","lex111","massoudmaboudi","metmarkosaric","michalsanger","neaped","Pierre-Gilles","sjwall","slorber","sparanoid","wan-nyan-wan","zpao"]},a="2.0.0-beta.5",n={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:":running: Performance",id:"running-performance",level:2},{value:"Committers: 27",id:"committers-27",level:2}];function t(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,h.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5396",children:"#5396"})," feat(plugin-blog): multi-authors support + authors.yml global configuration (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5371",children:"#5371"})," feat: make blog config options and navbar versions dropdown label translatable (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5375",children:"#5375"})," feat: add metatags support for seo / blogposts #5373 (",(0,l.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3646",children:"#3646"})," feat: doc tags (same as blog tags) (",(0,l.jsx)(s.a,{href:"https://github.com/isaac-philip",children:"@isaac-philip"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5354",children:"#5354"})," feat(plugin-blog): allow ",(0,l.jsx)(s.code,{children:"'ALL'"})," as ",(0,l.jsx)(s.code,{children:"postsPerPage"})," option value (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5330",children:"#5330"})," feat: Markdown page-specific head metadatas (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5322",children:"#5322"})," feat: structured data for blog posts (",(0,l.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5314",children:"#5314"})," feat(v2): add cs (Czech) translations for docusaurus-theme-classic (",(0,l.jsx)(s.a,{href:"https://github.com/michalsanger",children:"@michalsanger"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5233",children:"#5233"})," feat: new init template classic-typescript (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5309",children:"#5309"})," feat: blog posts support /YYYY/MM/DD/blog-post/index.md pattern + blog frontmatter can reference relative images (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5299",children:"#5299"})," feat: mdx loader fallback, allow importing mdx docs from anywhere (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3646",children:"#3646"})," feat: doc tags (same as blog tags) (",(0,l.jsx)(s.a,{href:"https://github.com/isaac-philip",children:"@isaac-philip"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5345",children:"#5345"})," refactor: rename Git master branch to main (",(0,l.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5349",children:"#5349"})," refactor(core): replace useDocusaurusContext().isClient by useIsBrowser() (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5264",children:"#5264"})," fix: apply proper class for active doc item on mobiles + avoid duplicated classes (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5425",children:"#5425"})," fix: toc does not highlight clicked anchor + use scroll-margin-top (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5424",children:"#5424"})," refactor: make dynamic authors layout via CSS only (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5422",children:"#5422"})," fix: make tags wrapping properly (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5419",children:"#5419"})," fix: various fixes back-to-top button (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5361",children:"#5361"})," fix: refactor TOC highlighting + handle edge cases (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5357",children:"#5357"})," fix: code blocks should scroll in RTL direction (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5346",children:"#5346"})," fix: author/image adjustments in BlogPosting schema (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5240",children:"#5240"})," fix: remove top margin only from directly first element (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5317",children:"#5317"})," fix: make proper highlighting doc link if no sidebar (",(0,l.jsx)(s.a,{href:"https://github.com/hamzahamidi",children:"@hamzahamidi"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5316",children:"#5316"})," fix: avoid extra default active class on doc sidebar item (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5319",children:"#5319"})," fix: unbreak highlighting regular navbar links (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5264",children:"#5264"})," fix: apply proper class for active doc item on mobiles + avoid duplicated classes (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5275",children:"#5275"})," fix: improve spanish translation (",(0,l.jsx)(s.a,{href:"https://github.com/faloi",children:"@faloi"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5262",children:"#5262"})," fix: show secondary menu if even there is no main one (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5426",children:"#5426"})," fix: Make update-notifier fail-safe if no permission to read configStore (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5398",children:"#5398"})," fix: fix write-translations warning for theme-common translations (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5381",children:"#5381"})," fix: canary releases should ignore notifier updates (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5339",children:"#5339"})," fix: add admonitions support to mdx partials loaded through the fallback mdx loader (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5311",children:"#5311"})," fix: docusaurus serve logs wrong port if 3000 is taken (",(0,l.jsx)(s.a,{href:"https://github.com/wan-nyan-wan",children:"@wan-nyan-wan"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5308",children:"#5308"})," fix: remove unexpected whitespaces in CSS bundle (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5268",children:"#5268"})," fix: fix wrong regex that removes extra letters from swizzled component names (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5399",children:"#5399"})," fix: fix site unlocalized 404 pages + aggressive Netlify /assets caching (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5249",children:"#5249"})," fix: fix Crowdin mapping for pt-BR (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5383",children:"#5383"})," fix: fix Locale Dropdown RTL icon + Webpack aliases ordering (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5370",children:"#5370"})," fix(init): fix links to feature images in classic-typescript (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5364",children:"#5364"})," fix: unbreak Details component (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5297",children:"#5297"})," fix: fix constant value import (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5334",children:"#5334"})," fix: plugin ideal-image should generate filename with a hash even in development (",(0,l.jsx)(s.a,{href:"https://github.com/Pierre-Gilles",children:"@Pierre-Gilles"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5290",children:"#5290"})," fix: make successful build if missing favicon (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5270",children:"#5270"})," fix: ability to link md files with relative paths when paths contain space (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5261",children:"#5261"})," fix: fix various TS errors (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5402",children:"#5402"})," refactor: improve styles of Details component (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5386",children:"#5386"})," refactor: various tags improvements (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5377",children:"#5377"})," refactor: make main heading font size changeable via CSS var (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5355",children:"#5355"})," refactor: add blog microdata in markup instead of use JSON-LD (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5365",children:"#5365"})," refactor(v2): improved Farsi default translations (",(0,l.jsx)(s.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5280",children:"#5280"})," refactor(v2): improved Farsi default translations (",(0,l.jsx)(s.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5389",children:"#5389"})," refactor: clean Canny integration + rename 'Feedback' to 'Feature Requests' + improve TS doc page (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5242",children:"#5242"})," refactor: reduce ESLint warnings / better typing (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5423",children:"#5423"})," docs: clarify using custom attributes for navbar link (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5421",children:"#5421"})," docs: add Indent to showcase (",(0,l.jsx)(s.a,{href:"https://github.com/fouad",children:"@fouad"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5405",children:"#5405"})," docs: add Gotenberg to showcase (",(0,l.jsx)(s.a,{href:"https://github.com/gulien",children:"@gulien"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5406",children:"#5406"})," docs: specify proper min Node.js version for Travis CI example (",(0,l.jsx)(s.a,{href:"https://github.com/BattleOfPlassey",children:"@BattleOfPlassey"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5390",children:"#5390"})," docs(v2): showcase BoxyHQ (",(0,l.jsx)(s.a,{href:"https://github.com/deepakprabhakara",children:"@deepakprabhakara"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5376",children:"#5376"})," docs(v2): Update Datagit site to showcase page (",(0,l.jsx)(s.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5372",children:"#5372"})," docs: remove docusaurus-preset-name from preset doc (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5366",children:"#5366"})," docs: Add drayman to showcase (",(0,l.jsx)(s.a,{href:"https://github.com/jansivans",children:"@jansivans"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5369",children:"#5369"})," docs(v2): Add Nocalhost website to showcase page (",(0,l.jsx)(s.a,{href:"https://github.com/neaped",children:"@neaped"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5351",children:"#5351"})," docs(website): bump announcement bar + include Twitter link + refactor site colors (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5352",children:"#5352"})," docs: update ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-sass"})," instructions (",(0,l.jsx)(s.a,{href:"https://github.com/erickzhao",children:"@erickzhao"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5332",children:"#5332"})," docs(v2): add mdx-mermaid to resources (",(0,l.jsx)(s.a,{href:"https://github.com/sjwall",children:"@sjwall"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5331",children:"#5331"})," docs: Changelog page should display TOC with releases (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5329",children:"#5329"})," docs: add Haochen to showcase page (",(0,l.jsx)(s.a,{href:"https://github.com/HaochenQ",children:"@HaochenQ"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5313",children:"#5313"})," docs: try to make plugin/preset config less confusing (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5296",children:"#5296"})," docs: update canary doc (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5219",children:"#5219"})," docs: refactor API documentation (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5271",children:"#5271"})," Add Plausible Analytics docs to showcase page (",(0,l.jsx)(s.a,{href:"https://github.com/metmarkosaric",children:"@metmarkosaric"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5283",children:"#5283"})," docs: fix broken link to syncing tab choices section (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5259",children:"#5259"})," docs(v2): update Remotion website picture in showcase (",(0,l.jsx)(s.a,{href:"https://github.com/JonnyBurger",children:"@JonnyBurger"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5260",children:"#5260"})," docs(v2): add Dart Code Metrics site to showcase page (",(0,l.jsx)(s.a,{href:"https://github.com/incendial",children:"@incendial"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5253",children:"#5253"})," docs: Fix typo ",(0,l.jsx)(s.code,{children:"2-resources.md"})," (",(0,l.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5248",children:"#5248"})," docs(v2): add docusaurus-prince-pdf to resources (",(0,l.jsx)(s.a,{href:"https://github.com/sparanoid",children:"@sparanoid"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5239",children:"#5239"})," docs(v2): Add unmand site to showcase page (",(0,l.jsx)(s.a,{href:"https://github.com/dbseal",children:"@dbseal"}),")"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5397",children:"#5397"})," chore: rename docusaurus-2-website package + refactor scripts (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5342",children:"#5342"})," chore: fix e2e yarn berry tests (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5328",children:"#5328"})," refactor(website): convert website to TypeScript (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5336",children:"#5336"})," chore: bump url-parse from 1.5.1 to 1.5.3 (",(0,l.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5312",children:"#5312"})," fix: fix changelog page mdx import for i18n (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5295",children:"#5295"})," fix: fix canary release versions (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5285",children:"#5285"})," fix: fix canary version names (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5269",children:"#5269"})," misc: enable pt-BR + archive older versions (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5237",children:"#5237"})," chore: enable pt-BR i18n locale on staging (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5345",children:"#5345"})," refactor: rename Git master branch to main (",(0,l.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5341",children:"#5341"})," polish: bind key listener to light/dark toggle + a11y lint fixes (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5347",children:"#5347"})," chore(mdx-loader): migrate package to TypeScript (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5335",children:"#5335"})," refactor: better typing + remove unnecessary eslint-disable (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5338",children:"#5338"})," refactor(plugin-blog): style improvements in blogUtils (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5256",children:"#5256"})," chore: upgrade Infima to alpha.30 (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5315",children:"#5315"})," refactor(init): share common files between templates (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5284",children:"#5284"})," refactor: properly type docs version (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"running-performance",children:":running: Performance"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5349",children:"#5349"})," refactor(core): replace useDocusaurusContext().isClient by useIsBrowser() (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"committers-27",children:"Committers: 27"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["David Seal (",(0,l.jsx)(s.a,{href:"https://github.com/dbseal",children:"@dbseal"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Deepak Prabhakara (",(0,l.jsx)(s.a,{href:"https://github.com/deepakprabhakara",children:"@deepakprabhakara"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Dmitry Zhifarsky (",(0,l.jsx)(s.a,{href:"https://github.com/incendial",children:"@incendial"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Erick Zhao (",(0,l.jsx)(s.a,{href:"https://github.com/erickzhao",children:"@erickzhao"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Federico Aloi (",(0,l.jsx)(s.a,{href:"https://github.com/faloi",children:"@faloi"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Forresst (",(0,l.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Fouad Matin (",(0,l.jsx)(s.a,{href:"https://github.com/fouad",children:"@fouad"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Garry (",(0,l.jsx)(s.a,{href:"https://github.com/neaped",children:"@neaped"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Hamza Hamidi (",(0,l.jsx)(s.a,{href:"https://github.com/hamzahamidi",children:"@hamzahamidi"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Isaac Philip (",(0,l.jsx)(s.a,{href:"https://github.com/isaac-philip",children:"@isaac-philip"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["John Reilly (",(0,l.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Jonny Burger (",(0,l.jsx)(s.a,{href:"https://github.com/JonnyBurger",children:"@JonnyBurger"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Joshua Chen (",(0,l.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Julien Neuhart (",(0,l.jsx)(s.a,{href:"https://github.com/gulien",children:"@gulien"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Marko Saric (",(0,l.jsx)(s.a,{href:"https://github.com/metmarkosaric",children:"@metmarkosaric"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Massoud Maboudi (",(0,l.jsx)(s.a,{href:"https://github.com/massoudmaboudi",children:"@massoudmaboudi"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Michal S\xe4nger (",(0,l.jsx)(s.a,{href:"https://github.com/michalsanger",children:"@michalsanger"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Palash Shrivastava (",(0,l.jsx)(s.a,{href:"https://github.com/BattleOfPlassey",children:"@BattleOfPlassey"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Paul O\u2019Shannessy (",(0,l.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Pierre-Gilles Leymarie (",(0,l.jsx)(s.a,{href:"https://github.com/Pierre-Gilles",children:"@Pierre-Gilles"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Sam Wall (",(0,l.jsx)(s.a,{href:"https://github.com/sjwall",children:"@sjwall"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Tunghsiao Liu (",(0,l.jsx)(s.a,{href:"https://github.com/sparanoid",children:"@sparanoid"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Yan Ivan Evdokimov (",(0,l.jsx)(s.a,{href:"https://github.com/jansivans",children:"@jansivans"}),")"]}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/HaochenQ",children:"@HaochenQ"})}),"\n",(0,l.jsxs)(s.li,{children:["wan-nyan-wan (",(0,l.jsx)(s.a,{href:"https://github.com/wan-nyan-wan",children:"@wan-nyan-wan"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,h.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(t,{...e})}):t(e)}},80980:function(e,s,i){i.d(s,{Z:()=>a,a:()=>c});var r=i(67294);let l={},h=r.createContext(l);function c(e){let s=r.useContext(h);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:c(e.components),r.createElement(h.Provider,{value:s},e.children)}},18696:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.5","source":"@site/changelog/source/2.0.0-beta.5.md","title":"2.0.0-beta.5","description":"New Feature","date":"2021-08-26T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Palash Shrivastava","alias":"BattleOfPlassey","url":"https://github.com/BattleOfPlassey","imageURL":"https://github.com/BattleOfPlassey.png","key":"BattleOfPlassey","page":null},{"name":"David Seal","alias":"dbseal","url":"https://github.com/dbseal","imageURL":"https://github.com/dbseal.png","key":"dbseal","page":null},{"name":"Deepak Prabhakara","alias":"deepakprabhakara","url":"https://github.com/deepakprabhakara","imageURL":"https://github.com/deepakprabhakara.png","key":"deepakprabhakara","page":null},{"name":"Erick Zhao","alias":"erickzhao","url":"https://github.com/erickzhao","imageURL":"https://github.com/erickzhao.png","key":"erickzhao","page":null},{"name":"Federico Aloi","alias":"faloi","url":"https://github.com/faloi","imageURL":"https://github.com/faloi.png","key":"faloi","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Fouad Matin","alias":"fouad","url":"https://github.com/fouad","imageURL":"https://github.com/fouad.png","key":"fouad","page":null},{"name":"Julien Neuhart","alias":"gulien","url":"https://github.com/gulien","imageURL":"https://github.com/gulien.png","key":"gulien","page":null},{"name":"Hamza Hamidi","alias":"hamzahamidi","url":"https://github.com/hamzahamidi","imageURL":"https://github.com/hamzahamidi.png","key":"hamzahamidi","page":null},{"name":"HaochenQ","alias":"HaochenQ","url":"https://github.com/HaochenQ","imageURL":"https://github.com/HaochenQ.png","key":"HaochenQ","page":null},{"name":"Dmitry Zhifarsky","alias":"incendial","url":"https://github.com/incendial","imageURL":"https://github.com/incendial.png","key":"incendial","page":null},{"name":"Isaac Philip","alias":"isaac-philip","url":"https://github.com/isaac-philip","imageURL":"https://github.com/isaac-philip.png","key":"isaac-philip","page":null},{"name":"Yan Ivan Evdokimov","alias":"jansivans","url":"https://github.com/jansivans","imageURL":"https://github.com/jansivans.png","key":"jansivans","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Jonny Burger","alias":"JonnyBurger","url":"https://github.com/JonnyBurger","imageURL":"https://github.com/JonnyBurger.png","key":"JonnyBurger","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Marko Saric","alias":"metmarkosaric","url":"https://github.com/metmarkosaric","imageURL":"https://github.com/metmarkosaric.png","key":"metmarkosaric","page":null},{"name":"Michal S\xe4nger","alias":"michalsanger","url":"https://github.com/michalsanger","imageURL":"https://github.com/michalsanger.png","key":"michalsanger","page":null},{"name":"Garry","alias":"neaped","url":"https://github.com/neaped","imageURL":"https://github.com/neaped.png","key":"neaped","page":null},{"name":"Pierre-Gilles Leymarie","alias":"Pierre-Gilles","url":"https://github.com/Pierre-Gilles","imageURL":"https://github.com/Pierre-Gilles.png","key":"Pierre-Gilles","page":null},{"name":"Sam Wall","alias":"sjwall","url":"https://github.com/sjwall","imageURL":"https://github.com/sjwall.png","key":"sjwall","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tunghsiao Liu","alias":"sparanoid","url":"https://github.com/sparanoid","imageURL":"https://github.com/sparanoid.png","key":"sparanoid","page":null},{"name":"wan-nyan-wan","alias":"wan-nyan-wan","url":"https://github.com/wan-nyan-wan","imageURL":"https://github.com/wan-nyan-wan.png","key":"wan-nyan-wan","page":null},{"name":"Paul O\u2019Shannessy","alias":"zpao","url":"https://github.com/zpao","imageURL":"https://github.com/zpao.png","key":"zpao","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-08-26T20:00","authors":["BattleOfPlassey","dbseal","deepakprabhakara","erickzhao","faloi","forresst","fouad","gulien","hamzahamidi","HaochenQ","incendial","isaac-philip","jansivans","johnnyreilly","JonnyBurger","Josh-Cena","lex111","massoudmaboudi","metmarkosaric","michalsanger","neaped","Pierre-Gilles","sjwall","slorber","sparanoid","wan-nyan-wan","zpao"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.6","permalink":"/changelog/2.0.0-beta.6"},"nextItem":{"title":"2.0.0-beta.4","permalink":"/changelog/2.0.0-beta.4"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/484c5ba1.44c06a34.js b/assets/js/484c5ba1.44c06a34.js new file mode 100644 index 0000000000..1033bc9ff8 --- /dev/null +++ b/assets/js/484c5ba1.44c06a34.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["55292"],{57049:function(e,t,a){a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>l,metadata:()=>n,toc:()=>i});var n=a(26679),r=a(85893),o=a(80980);let l={mdx:{format:"md"},date:"2020-06-18T19:00"},s="2.0.0-alpha.57",c={authorsImageUrls:[]},i=[];function u(e){return(0,r.jsx)(r.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,a){a.d(t,{Z:()=>s,a:()=>l});var n=a(67294);let r={},o=n.createContext(r);function l(e){let t=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),n.createElement(o.Provider,{value:t},e.children)}},26679:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.57","source":"@site/changelog/source/2.0.0-alpha.57.md","title":"2.0.0-alpha.57","description":"Bad release, check ## 2.0.0-alpha.58","date":"2020-06-18T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2020-06-18T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.58","permalink":"/changelog/2.0.0-alpha.58"},"nextItem":{"title":"2.0.0-alpha.56","permalink":"/changelog/2.0.0-alpha.56"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/48574.da17428b.js b/assets/js/48574.da17428b.js new file mode 100644 index 0000000000..c637a6675f --- /dev/null +++ b/assets/js/48574.da17428b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["48574"],{89616:function(t,e,a){a.d(e,{diagram:()=>z});var n,i=a(29277);a(8382),a(57668),a(63985),a(11779),a(25653),a(19039);var r=a(84890),d=a(28923),s=a(11141),o=a(44387),g=a(62145),l={},p=(0,d.eW)((t,e)=>{l[t]=e},"set"),h=(t=>l[t],(0,d.eW)(()=>Object.keys(l),"keys")),c=(()=>h().length,(0,d.eW)(t=>t.append("circle").attr("class","start-state").attr("r",(0,d.nV)().state.sizeUnit).attr("cx",(0,d.nV)().state.padding+(0,d.nV)().state.sizeUnit).attr("cy",(0,d.nV)().state.padding+(0,d.nV)().state.sizeUnit),"drawStartState")),x=(0,d.eW)(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",(0,d.nV)().state.textHeight).attr("class","divider").attr("x2",2*(0,d.nV)().state.textHeight).attr("y1",0).attr("y2",0),"drawDivider"),V=(0,d.eW)((t,e)=>{let a=t.append("text").attr("x",2*(0,d.nV)().state.padding).attr("y",(0,d.nV)().state.textHeight+2*(0,d.nV)().state.padding).attr("font-size",(0,d.nV)().state.fontSize).attr("class","state-title").text(e.id),n=a.node().getBBox();return t.insert("rect",":first-child").attr("x",(0,d.nV)().state.padding).attr("y",(0,d.nV)().state.padding).attr("width",n.width+2*(0,d.nV)().state.padding).attr("height",n.height+2*(0,d.nV)().state.padding).attr("rx",(0,d.nV)().state.radius),a},"drawSimpleState"),u=(0,d.eW)((t,e)=>{let a=(0,d.eW)(function(t,e,a){let n=t.append("tspan").attr("x",2*(0,d.nV)().state.padding).text(e);a||n.attr("dy",(0,d.nV)().state.textHeight)},"addTspan"),n=t.append("text").attr("x",2*(0,d.nV)().state.padding).attr("y",(0,d.nV)().state.textHeight+1.3*(0,d.nV)().state.padding).attr("font-size",(0,d.nV)().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),i=n.height,r=t.append("text").attr("x",(0,d.nV)().state.padding).attr("y",i+.4*(0,d.nV)().state.padding+(0,d.nV)().state.dividerMargin+(0,d.nV)().state.textHeight).attr("class","state-description"),s=!0,o=!0;e.descriptions.forEach(function(t){s||(a(r,t,o),o=!1),s=!1});let g=t.append("line").attr("x1",(0,d.nV)().state.padding).attr("y1",(0,d.nV)().state.padding+i+(0,d.nV)().state.dividerMargin/2).attr("y2",(0,d.nV)().state.padding+i+(0,d.nV)().state.dividerMargin/2).attr("class","descr-divider"),l=r.node().getBBox(),p=Math.max(l.width,n.width);return g.attr("x2",p+3*(0,d.nV)().state.padding),t.insert("rect",":first-child").attr("x",(0,d.nV)().state.padding).attr("y",(0,d.nV)().state.padding).attr("width",p+2*(0,d.nV)().state.padding).attr("height",l.height+i+2*(0,d.nV)().state.padding).attr("rx",(0,d.nV)().state.radius),t},"drawDescrState"),f=(0,d.eW)((t,e,a)=>{let n;let i=(0,d.nV)().state.padding,r=2*(0,d.nV)().state.padding,s=t.node().getBBox(),o=s.width,g=s.x,l=t.append("text").attr("x",0).attr("y",(0,d.nV)().state.titleShift).attr("font-size",(0,d.nV)().state.fontSize).attr("class","state-title").text(e.id),p=l.node().getBBox().width+r,h=Math.max(p,o);h===o&&(h+=r);let c=t.node().getBBox();e.doc,n=g-i,p>o&&(n=(o-h)/2+i),Math.abs(g-c.x)<i&&p>o&&(n=g-(p-o)/2);let x=1-(0,d.nV)().state.textHeight;return t.insert("rect",":first-child").attr("x",n).attr("y",x).attr("class",a?"alt-composit":"composit").attr("width",h).attr("height",c.height+(0,d.nV)().state.textHeight+(0,d.nV)().state.titleShift+1).attr("rx","0"),l.attr("x",n+i),p<=o&&l.attr("x",g+(h-r)/2-p/2+i),t.insert("rect",":first-child").attr("x",n).attr("y",(0,d.nV)().state.titleShift-(0,d.nV)().state.textHeight-(0,d.nV)().state.padding).attr("width",h).attr("height",3*(0,d.nV)().state.textHeight).attr("rx",(0,d.nV)().state.radius),t.insert("rect",":first-child").attr("x",n).attr("y",(0,d.nV)().state.titleShift-(0,d.nV)().state.textHeight-(0,d.nV)().state.padding).attr("width",h).attr("height",c.height+3+2*(0,d.nV)().state.textHeight).attr("rx",(0,d.nV)().state.radius),t},"addTitleAndBox"),y=(0,d.eW)(t=>(t.append("circle").attr("class","end-state-outer").attr("r",(0,d.nV)().state.sizeUnit+(0,d.nV)().state.miniPadding).attr("cx",(0,d.nV)().state.padding+(0,d.nV)().state.sizeUnit+(0,d.nV)().state.miniPadding).attr("cy",(0,d.nV)().state.padding+(0,d.nV)().state.sizeUnit+(0,d.nV)().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",(0,d.nV)().state.sizeUnit).attr("cx",(0,d.nV)().state.padding+(0,d.nV)().state.sizeUnit+2).attr("cy",(0,d.nV)().state.padding+(0,d.nV)().state.sizeUnit+2)),"drawEndState"),w=(0,d.eW)((t,e)=>{let a=(0,d.nV)().state.forkWidth,n=(0,d.nV)().state.forkHeight;if(e.parentId){let t=a;a=n,n=t}return t.append("rect").style("stroke","black").style("fill","black").attr("width",a).attr("height",n).attr("x",(0,d.nV)().state.padding).attr("y",(0,d.nV)().state.padding)},"drawForkJoinState"),b=(0,d.eW)((t,e,a,n)=>{let i=0,r=n.append("text");r.style("text-anchor","start"),r.attr("class","noteText");let s=t.replace(/\r\n/g,"<br/>"),o=(s=s.replace(/\n/g,"<br/>")).split(d.SY.lineBreakRegex),g=1.25*(0,d.nV)().state.noteMargin;for(let t of o){let n=t.trim();if(n.length>0){let t=r.append("tspan");t.text(n),0===g&&(g+=t.node().getBBox().height),i+=g,t.attr("x",e+(0,d.nV)().state.noteMargin),t.attr("y",a+i+1.25*(0,d.nV)().state.noteMargin)}}return{textWidth:r.node().getBBox().width,textHeight:i}},"_drawLongText"),B=(0,d.eW)((t,e)=>{e.attr("class","state-note");let a=e.append("rect").attr("x",0).attr("y",(0,d.nV)().state.padding),{textWidth:n,textHeight:i}=b(t,0,0,e.append("g"));return a.attr("height",i+2*(0,d.nV)().state.noteMargin),a.attr("width",n+2*(0,d.nV)().state.noteMargin),a},"drawNote"),m=(0,d.eW)(function(t,e){let a=e.id,n={id:a,label:e.id,width:0,height:0},i=t.append("g").attr("id",a).attr("class","stateGroup");"start"===e.type&&c(i),"end"===e.type&&y(i),("fork"===e.type||"join"===e.type)&&w(i,e),"note"===e.type&&B(e.note.text,i),"divider"===e.type&&x(i),"default"===e.type&&0===e.descriptions.length&&V(i,e),"default"===e.type&&e.descriptions.length>0&&u(i,e);let r=i.node().getBBox();return n.width=r.width+2*(0,d.nV)().state.padding,n.height=r.height+2*(0,d.nV)().state.padding,p(a,n),n},"drawState"),k=0,M=(0,d.eW)(function(t,e,a){let n=(0,d.eW)(function(t){switch(t){case i.bH.relationType.AGGREGATION:return"aggregation";case i.bH.relationType.EXTENSION:return"extension";case i.bH.relationType.COMPOSITION:return"composition";case i.bH.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(t=>!Number.isNaN(t.y));let o=e.points,g=(0,s.jvg)().x(function(t){return t.x}).y(function(t){return t.y}).curve(s.$0Z),l=t.append("path").attr("d",g(o)).attr("id","edge"+k).attr("class","transition"),p="";if((0,d.nV)().state.arrowMarkerAbsolute&&(p=(p=(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),l.attr("marker-end","url("+p+"#"+n(i.bH.relationType.DEPENDENCY)+"End)"),void 0!==a.title){let n=t.append("g").attr("class","stateLabel"),{x:i,y:s}=r.w8.calcLabelPosition(e.points),o=d.SY.getRows(a.title),g=0,l=[],p=0,h=0;for(let t=0;t<=o.length;t++){let e=n.append("text").attr("text-anchor","middle").text(o[t]).attr("x",i).attr("y",s+g),a=e.node().getBBox();p=Math.max(p,a.width),h=Math.min(h,a.x),d.cM.info(a.x,i,s+g),0===g&&(g=e.node().getBBox().height,d.cM.info("Title height",g,s)),l.push(e)}let c=g*o.length;if(o.length>1){let t=(o.length-1)*g*.5;l.forEach((e,a)=>e.attr("y",s+a*g-t)),c=g*o.length}let x=n.node().getBBox();n.insert("rect",":first-child").attr("class","box").attr("x",i-p/2-(0,d.nV)().state.padding/2).attr("y",s-c/2-(0,d.nV)().state.padding/2-3.5).attr("width",p+(0,d.nV)().state.padding).attr("height",c+(0,d.nV)().state.padding),d.cM.info(x)}k++},"drawEdge"),S={},E=(0,d.eW)(function(){},"setConf"),N=(0,d.eW)(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),W=(0,d.eW)(function(t,e,a,i){let r;n=(0,d.nV)().state;let o=(0,d.nV)().securityLevel;"sandbox"===o&&(r=(0,s.Ys)("#i"+e));let g="sandbox"===o?(0,s.Ys)(r.nodes()[0].contentDocument.body):(0,s.Ys)("body"),l="sandbox"===o?r.nodes()[0].contentDocument:document;d.cM.debug("Rendering diagram "+t);let p=g.select(`[id='${e}']`);N(p),H(i.db.getRootDoc(),p,void 0,!1,g,l,i);let h=n.padding,c=p.node().getBBox(),x=c.width+2*h,V=c.height+2*h;(0,d.v2)(p,V,1.75*x,n.useMaxWidth),p.attr("viewBox",`${c.x-n.padding} ${c.y-n.padding} `+x+" "+V)},"draw"),v=(0,d.eW)(t=>t?t.length*n.fontSizeFactor:1,"getLabelWidth"),H=(0,d.eW)((t,e,a,i,r,s,l)=>{let p;let h=new g.k({compound:!0,multigraph:!0}),c=!0;for(p=0;p<t.length;p++)if("relation"===t[p].stmt){c=!1;break}a?h.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:c?1:n.edgeLengthFactor,nodeSep:c?1:50,isMultiGraph:!0}):h.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:c?1:n.edgeLengthFactor,nodeSep:c?1:50,ranker:"tight-tree",isMultiGraph:!0}),h.setDefaultEdgeLabel(function(){return{}}),l.db.extract(t);let x=l.db.getStates(),V=l.db.getRelations();for(let t of Object.keys(x)){let d;let o=x[t];if(a&&(o.parentId=a),o.doc){let t=e.append("g").attr("id",o.id).attr("class","stateGroup");d=H(o.doc,t,o.id,!i,r,s,l);{let e=(t=f(t,o,i)).node().getBBox();d.width=e.width,d.height=e.height+n.padding/2,S[o.id]={y:n.compositTitleSize}}}else d=m(e,o,h);if(o.note){let t=m(e,{descriptions:[],id:o.id+"-note",note:o.note,type:"note"},h);"left of"===o.note.position?(h.setNode(d.id+"-note",t),h.setNode(d.id,d)):(h.setNode(d.id,d),h.setNode(d.id+"-note",t)),h.setParent(d.id,d.id+"-group"),h.setParent(d.id+"-note",d.id+"-group")}else h.setNode(d.id,d)}d.cM.debug("Count=",h.nodeCount(),h);let u=0;V.forEach(function(t){u++,d.cM.debug("Setting edge",t),h.setEdge(t.id1,t.id2,{relation:t,width:v(t.title),height:n.labelHeight*d.SY.getRows(t.title).length,labelpos:"c"},"id"+u)}),(0,o.bK)(h),d.cM.debug("Graph after layout",h.nodes());let y=e.node();h.nodes().forEach(function(t){void 0!==t&&void 0!==h.node(t)?(d.cM.warn("Node "+t+": "+JSON.stringify(h.node(t))),r.select("#"+y.id+" #"+t).attr("transform","translate("+(h.node(t).x-h.node(t).width/2)+","+(h.node(t).y+(S[t]?S[t].y:0)-h.node(t).height/2)+" )"),r.select("#"+y.id+" #"+t).attr("data-x-shift",h.node(t).x-h.node(t).width/2),s.querySelectorAll("#"+y.id+" #"+t+" .divider").forEach(t=>{let e=t.parentElement,a=0,n=0;e&&(e.parentElement&&(a=e.parentElement.getBBox().width),Number.isNaN(n=parseInt(e.getAttribute("data-x-shift"),10))&&(n=0)),t.setAttribute("x1",0-n+8),t.setAttribute("x2",a-n-8)})):d.cM.debug("No Node "+t+": "+JSON.stringify(h.node(t)))});let w=y.getBBox();h.edges().forEach(function(t){void 0!==t&&void 0!==h.edge(t)&&(d.cM.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(h.edge(t))),M(e,h.edge(t),h.edge(t).relation))}),w=y.getBBox();let b={id:a||"root",label:a||"root",width:0,height:0};return b.width=w.width+2*n.padding,b.height=w.height+2*n.padding,d.cM.debug("Doc rendered",b,h),b},"renderDoc"),z={parser:i.J8,db:i.bH,renderer:{setConf:E,draw:W},styles:i.Ee,init:(0,d.eW)(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,i.bH.clear()},"init")}}}]); \ No newline at end of file diff --git a/assets/js/487c3fae.7f4dc7d5.js b/assets/js/487c3fae.7f4dc7d5.js new file mode 100644 index 0000000000..f48285bdb5 --- /dev/null +++ b/assets/js/487c3fae.7f4dc7d5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["56953"],{43832:function(e,a,t){t.r(a),t.d(a,{assets:()=>h,contentTitle:()=>l,default:()=>r,frontMatter:()=>n,metadata:()=>i,toc:()=>u});var i=t(64208),s=t(85893),o=t(80980);let n={mdx:{format:"md"},date:"2022-05-27T20:00",authors:["BenDz","charleskorn","datlechin","Designatory","forresst","Gary50613","ggicci","Josh-Cena","JPeer264","jrmyw92","junjieweb","lanegoolsby","massoudmaboudi","matkoch","Messiahhh","mhughes2k","nitya","oluwatobiss","ori-shalom","pranabdas","RuiAAPeres","slorber","Zamiell"]},l="2.0.0-beta.21",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},u=[];function g(e){return(0,s.jsx)(s.Fragment,{})}function r(e={}){let{wrapper:a}={...(0,o.a)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(g,{...e})}):g(e)}},80980:function(e,a,t){t.d(a,{Z:()=>l,a:()=>n});var i=t(67294);let s={},o=i.createContext(s);function n(e){let a=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:n(e.components),i.createElement(o.Provider,{value:a},e.children)}},64208:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.21","source":"@site/changelog/source/2.0.0-beta.21.md","title":"2.0.0-beta.21","description":"Breaking Change","date":"2022-05-27T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Benjamin Diolez","alias":"BenDz","url":"https://github.com/BenDz","imageURL":"https://github.com/BenDz.png","key":"BenDz","page":null},{"name":"Charles Korn","alias":"charleskorn","url":"https://github.com/charleskorn","imageURL":"https://github.com/charleskorn.png","key":"charleskorn","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Designatory","alias":"Designatory","url":"https://github.com/Designatory","imageURL":"https://github.com/Designatory.png","key":"Designatory","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"\u51F1\u6069 Kane","alias":"Gary50613","url":"https://github.com/Gary50613","imageURL":"https://github.com/Gary50613.png","key":"Gary50613","page":null},{"name":"Ggicci","alias":"ggicci","url":"https://github.com/ggicci","imageURL":"https://github.com/ggicci.png","key":"ggicci","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jan Peer St\xf6cklmair","alias":"JPeer264","url":"https://github.com/JPeer264","imageURL":"https://github.com/JPeer264.png","key":"JPeer264","page":null},{"name":"Jeremy","alias":"jrmyw92","url":"https://github.com/jrmyw92","imageURL":"https://github.com/jrmyw92.png","key":"jrmyw92","page":null},{"name":"Junjie","alias":"junjieweb","url":"https://github.com/junjieweb","imageURL":"https://github.com/junjieweb.png","key":"junjieweb","page":null},{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Matthias Koch","alias":"matkoch","url":"https://github.com/matkoch","imageURL":"https://github.com/matkoch.png","key":"matkoch","page":null},{"name":"Akara","alias":"Messiahhh","url":"https://github.com/Messiahhh","imageURL":"https://github.com/Messiahhh.png","key":"Messiahhh","page":null},{"name":"Michael Hughes","alias":"mhughes2k","url":"https://github.com/mhughes2k","imageURL":"https://github.com/mhughes2k.png","key":"mhughes2k","page":null},{"name":"Nitya Narasimhan","alias":"nitya","url":"https://github.com/nitya","imageURL":"https://github.com/nitya.png","key":"nitya","page":null},{"name":"Oluwatobi Sofela","alias":"oluwatobiss","url":"https://github.com/oluwatobiss","imageURL":"https://github.com/oluwatobiss.png","key":"oluwatobiss","page":null},{"name":"Ori Shalom","alias":"ori-shalom","url":"https://github.com/ori-shalom","imageURL":"https://github.com/ori-shalom.png","key":"ori-shalom","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"Rui Peres","alias":"RuiAAPeres","url":"https://github.com/RuiAAPeres","imageURL":"https://github.com/RuiAAPeres.png","key":"RuiAAPeres","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"James","alias":"Zamiell","url":"https://github.com/Zamiell","imageURL":"https://github.com/Zamiell.png","key":"Zamiell","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-05-27T20:00","authors":["BenDz","charleskorn","datlechin","Designatory","forresst","Gary50613","ggicci","Josh-Cena","JPeer264","jrmyw92","junjieweb","lanegoolsby","massoudmaboudi","matkoch","Messiahhh","mhughes2k","nitya","oluwatobiss","ori-shalom","pranabdas","RuiAAPeres","slorber","Zamiell"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.22","permalink":"/changelog/2.0.0-beta.22"},"nextItem":{"title":"2.0.0-beta.20","permalink":"/changelog/2.0.0-beta.20"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/487d990e.8effb771.js b/assets/js/487d990e.8effb771.js new file mode 100644 index 0000000000..77ca775126 --- /dev/null +++ b/assets/js/487d990e.8effb771.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["62153"],{20061:function(s,e,l){l.r(e),l.d(e,{assets:()=>u,contentTitle:()=>h,default:()=>t,frontMatter:()=>r,metadata:()=>n,toc:()=>o});var n=l(69682),i=l(85893),c=l(80980);let r={mdx:{format:"md"},date:"2020-07-24T20:00",authors:["aladin002dz","aldeed","amirulahmad","anshulrgoyal","ayan-b","codemonkey800","danielhochman","dpkg","ehsanjso","eKhattak","francoischalifour","hi-matbub","jknoxville","jordanliu","lex111","nebrelbug","pcowgill","SamChou19815","slorber","svtfrida","taylorallen0913","teikjun","vandreleal","xtellurian","yangshun"]},h="2.0.0-alpha.59",u={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 25",id:"committers-25",level:2}];function a(s){let e={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,c.a)(),...s.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-migrate"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3015",children:"#3015"})," feat: automate migration from v1 to v2 (",(0,i.jsx)(e.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-init"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3105",children:"#3105"})," feat(v2): add docusaurus script for npm users (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2815",children:"#2815"})," feat(v2): introduce DocSearch v3 search (",(0,i.jsx)(e.a,{href:"https://github.com/francoischalifour",children:"@francoischalifour"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3059",children:"#3059"})," feat(v2): broken links detection (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3084",children:"#3084"})," feat(v2): absolute slugs and slug resolution system (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3069",children:"#3069"})," feat(v2): support for adding relative images and handling broken image links (",(0,i.jsx)(e.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-module-type-aliases"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2971",children:"#2971"})," feat(v2): global data + useGlobalData + docs versions dropdown (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3080",children:"#3080"})," feat(v2): add support for serve command (",(0,i.jsx)(e.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-module-type-aliases"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3058",children:"#3058"})," feat(v2): useDocusaurusContext().siteMetadata (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3032",children:"#3032"})," feat(v2): notify users when docusaurus version is outdated (",(0,i.jsx)(e.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3033",children:"#3033"})," feat(v2): add useBaseUrlUtils() hook (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3006",children:"#3006"})," feat(v2): prompt user when default port is in use (",(0,i.jsx)(e.a,{href:"https://github.com/taylorallen0913",children:"@taylorallen0913"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-module-type-aliases"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3050",children:"#3050"})," feat(v2): Collect plugin versions to allow them to be inspected in debug plugin (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3038",children:"#3038"})," feat(v2): Support keywords meta in blog posts (",(0,i.jsx)(e.a,{href:"https://github.com/dpkg",children:"@dpkg"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2974",children:"#2974"})," feat(v2): Error when hooks depends on context is used outside of Layout (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-pwa"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2205",children:"#2205"})," feat(v2): Plugin for Offline/PWA support (",(0,i.jsx)(e.a,{href:"https://github.com/codemonkey800",children:"@codemonkey800"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2994",children:"#2994"})," feat(v2): configureWebpack merge strategy + use file-loader for common asset types (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2989",children:"#2989"})," feat(v2): add disableVersioning config to docs plugin (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2877",children:"#2877"})," feat(v2): allow skipping build docs for next version (",(0,i.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-1.x"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2955",children:"#2955"})," feat(v1): add deletedDocs config to fix unwanted versioning fallback (",(0,i.jsx)(e.a,{href:"https://github.com/aldeed",children:"@aldeed"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2943",children:"#2943"})," feat(v2): option and config validation life cycle method for official plugins (",(0,i.jsx)(e.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-module-type-aliases"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2971",children:"#2971"})," feat(v2): global data + useGlobalData + docs versions dropdown (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3012",children:"#3012"})," fix(v2): refactor color mode system (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3107",children:"#3107"})," fix(v2): broken links detector: ignore existing folders (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3112",children:"#3112"})," fix(v2): baseUrl is wrongly appended to anchor links (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3063",children:"#3063"})," fix(v2): classify link hrefs with protocol identifier as internal (",(0,i.jsx)(e.a,{href:"https://github.com/svtfrida",children:"@svtfrida"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3106",children:"#3106"})," fix(v2): dropdown navbar item: validation too strict (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3029",children:"#3029"})," fix(v2): change description for blog post paginator (",(0,i.jsx)(e.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3108",children:"#3108"})," fix(v2): fix docs instance path typo (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3025",children:"#3025"})," fix(v2):pass siteConfig as prop to pages (",(0,i.jsx)(e.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-init"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3008",children:"#3008"})," chore(v2): Add E2E test for yarn v2 (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:["Other\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3017",children:"#3017"})," fix(v2): fix broken links on versions page (",(0,i.jsx)(e.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3012",children:"#3012"})," fix(v2): refactor color mode system (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3001",children:"#3001"})," fix(v2): refactor routes.ts + add route hash for chunkNames key (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3010",children:"#3010"})," fix(v2): make client-redirect-plugin not baseUrl sensitive (",(0,i.jsx)(e.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-1.x"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2993",children:"#2993"})," fix(relative path): last update date and by isn\u2019t generated if localh\u2026 (",(0,i.jsx)(e.a,{href:"https://github.com/amirulahmad",children:"@amirulahmad"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2969",children:"#2969"})," fix: fromExtensions and toExtensions translation when used with baseUrl (",(0,i.jsx)(e.a,{href:"https://github.com/jknoxville",children:"@jknoxville"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3088",children:"#3088"})," improve navbar menu (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-mdx-loader"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3087",children:"#3087"})," refactor(v2): async md image transformer + pathname protocol as an escape hatch (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-types"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2970",children:"#2970"})," feat(v2): add option validation for remaining official plugins (",(0,i.jsx)(e.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2987",children:"#2987"})," chore(v2): use joi for config validation (",(0,i.jsx)(e.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3026",children:"#3026"})," docs(v2): add documentation for migration command (",(0,i.jsx)(e.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3094",children:"#3094"})," docs(v2): showcase user Clutch (",(0,i.jsx)(e.a,{href:"https://github.com/danielhochman",children:"@danielhochman"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3101",children:"#3101"})," docs(v2):Add azure-pipelines CI guide (",(0,i.jsx)(e.a,{href:"https://github.com/ayan-b",children:"@ayan-b"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3098",children:"#3098"})," docs: Add azure-pipelines CI guide (",(0,i.jsx)(e.a,{href:"https://github.com/ayan-b",children:"@ayan-b"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3086",children:"#3086"})," doc(v2): replace heading position (",(0,i.jsx)(e.a,{href:"https://github.com/eKhattak",children:"@eKhattak"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3082",children:"#3082"})," fixing few typos and enhancing few sentences clarity (",(0,i.jsx)(e.a,{href:"https://github.com/aladin002dz",children:"@aladin002dz"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3078",children:"#3078"})," Updated link for #docusaurus-2-dev discord (",(0,i.jsx)(e.a,{href:"https://github.com/jordanliu",children:"@jordanliu"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3076",children:"#3076"})," docs(v2): showcase Runlet (",(0,i.jsx)(e.a,{href:"https://github.com/vandreleal",children:"@vandreleal"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3040",children:"#3040"})," docs(v2): correct the documentation for docs-only mode (",(0,i.jsx)(e.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3034",children:"#3034"})," docs(v2): showcase user Tasit (",(0,i.jsx)(e.a,{href:"https://github.com/pcowgill",children:"@pcowgill"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3022",children:"#3022"})," docs(v2): showcase Eta (",(0,i.jsx)(e.a,{href:"https://github.com/nebrelbug",children:"@nebrelbug"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3011",children:"#3011"})," docs(v1): external links (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2997",children:"#2997"})," docs(v2): Document TypeScript support (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2973",children:"#2973"})," docs(v2): Fix typo in markdown-features (",(0,i.jsx)(e.a,{href:"https://github.com/ehsanjso",children:"@ehsanjso"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2991",children:"#2991"})," Showcase Amphora Data (",(0,i.jsx)(e.a,{href:"https://github.com/xtellurian",children:"@xtellurian"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2983",children:"#2983"})," docs(v2): add plugin redirects production build note (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2967",children:"#2967"})," docs(v2): fix typos in plugin-content examples (",(0,i.jsx)(e.a,{href:"https://github.com/hi-matbub",children:"@hi-matbub"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2960",children:"#2960"})," doc(v2): publish doc update after alpha.58 release (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2966",children:"#2966"})," docs(v2): fix typo in plugin-content-pages example (",(0,i.jsx)(e.a,{href:"https://github.com/hi-matbub",children:"@hi-matbub"}),")"]}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-migrate"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3113",children:"#3113"})," chore(v2): ability to test the migration cli easily (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:["Other\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3099",children:"#3099"})," fix(v2): netlify.toml shouldn't affect v1 site deployment config (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3068",children:"#3068"})," chore(deps): bump lodash from 4.17.15 to 4.17.19 (",(0,i.jsx)(e.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2958",children:"#2958"})," docs(v2): rename 2.0.0-alpha.57 to 2.0.0-alpha.58 (",(0,i.jsx)(e.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3093",children:"#3093"})," fix(v2): fix recent baseurl issues (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-mdx-loader"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3087",children:"#3087"})," refactor(v2): async md image transformer + pathname protocol as an escape hatch (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-pwa"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3055",children:"#3055"})," chore(v2): Adopt corejs 3 and only import at entry point (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-debug"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2998",children:"#2998"})," chore(v2): refactor yarn tsc to yarn build + add theme-classic watch mode (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-init"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3008",children:"#3008"})," chore(v2): Add E2E test for yarn v2 (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3001",children:"#3001"})," fix(v2): refactor routes.ts + add route hash for chunkNames key (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/3007",children:"#3007"})," fix(v2): Add two missing docusaurus core babel dependency (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2987",children:"#2987"})," chore(v2): use joi for config validation (",(0,i.jsx)(e.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2950",children:"#2950"})," chore(v2): Implement a simple E2E testing mechanism for ",(0,i.jsx)(e.code,{children:"docusausus start"})," (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-types"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2970",children:"#2970"})," feat(v2): add option validation for remaining official plugins (",(0,i.jsx)(e.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2996",children:"#2996"})," chore(v2): Merge devDependencies in theme-classic (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2977",children:"#2977"})," chore(v2): Remove extraneous package-lock.json (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2962",children:"#2962"})," Feat: replace yup with joi for cleaner validation (",(0,i.jsx)(e.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),", ",(0,i.jsx)(e.code,{children:"lqip-loader"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2976",children:"#2976"})," chore(v2): Fix more eslint errors (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,i.jsx)(e.code,{children:"docusaurus-utils"}),", ",(0,i.jsx)(e.code,{children:"docusaurus"}),", ",(0,i.jsx)(e.code,{children:"lqip-loader"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/pull/2972",children:"#2972"})," chore(v2): Fix a lot of eslint warnings (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(e.h2,{id:"committers-25",children:"Committers: 25"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsxs)(e.li,{children:["Alexey Pyltsyn (",(0,i.jsx)(e.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Amirul Ahmad (",(0,i.jsx)(e.a,{href:"https://github.com/amirulahmad",children:"@amirulahmad"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Anshul Goyal (",(0,i.jsx)(e.a,{href:"https://github.com/anshulrgoyal",children:"@anshulrgoyal"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Arsalan Khattak (",(0,i.jsx)(e.a,{href:"https://github.com/eKhattak",children:"@eKhattak"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Ayan Banerjee (",(0,i.jsx)(e.a,{href:"https://github.com/ayan-b",children:"@ayan-b"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Ben Gubler (",(0,i.jsx)(e.a,{href:"https://github.com/nebrelbug",children:"@nebrelbug"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Daniel Hochman (",(0,i.jsx)(e.a,{href:"https://github.com/danielhochman",children:"@danielhochman"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Deepak Giri (",(0,i.jsx)(e.a,{href:"https://github.com/dpkg",children:"@dpkg"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Eric Dobbertin (",(0,i.jsx)(e.a,{href:"https://github.com/aldeed",children:"@aldeed"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Fran\xe7ois Chalifour (",(0,i.jsx)(e.a,{href:"https://github.com/francoischalifour",children:"@francoischalifour"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Frida Hjelm (",(0,i.jsx)(e.a,{href:"https://github.com/svtfrida",children:"@svtfrida"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Jeremy Asuncion (",(0,i.jsx)(e.a,{href:"https://github.com/codemonkey800",children:"@codemonkey800"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["John Knox (",(0,i.jsx)(e.a,{href:"https://github.com/jknoxville",children:"@jknoxville"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Jordan Liu (",(0,i.jsx)(e.a,{href:"https://github.com/jordanliu",children:"@jordanliu"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Mahfoudh Arous (",(0,i.jsx)(e.a,{href:"https://github.com/aladin002dz",children:"@aladin002dz"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Paul Cowgill (",(0,i.jsx)(e.a,{href:"https://github.com/pcowgill",children:"@pcowgill"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Rian Finnegan (",(0,i.jsx)(e.a,{href:"https://github.com/xtellurian",children:"@xtellurian"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Sam Zhou (",(0,i.jsx)(e.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(e.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Taylor Allen (",(0,i.jsx)(e.a,{href:"https://github.com/taylorallen0913",children:"@taylorallen0913"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Teik Jun (",(0,i.jsx)(e.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Vandr\xe9 Leal (",(0,i.jsx)(e.a,{href:"https://github.com/vandreleal",children:"@vandreleal"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["Yangshun Tay (",(0,i.jsx)(e.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["ehsan jso (",(0,i.jsx)(e.a,{href:"https://github.com/ehsanjso",children:"@ehsanjso"}),")"]}),"\n",(0,i.jsxs)(e.li,{children:["matbub (",(0,i.jsx)(e.a,{href:"https://github.com/hi-matbub",children:"@hi-matbub"}),")"]}),"\n"]})]})}function t(s={}){let{wrapper:e}={...(0,c.a)(),...s.components};return e?(0,i.jsx)(e,{...s,children:(0,i.jsx)(a,{...s})}):a(s)}},80980:function(s,e,l){l.d(e,{Z:()=>h,a:()=>r});var n=l(67294);let i={},c=n.createContext(i);function r(s){let e=n.useContext(c);return n.useMemo(function(){return"function"==typeof s?s(e):{...e,...s}},[e,s])}function h(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(i):s.components||i:r(s.components),n.createElement(c.Provider,{value:e},s.children)}},69682:function(s){s.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.59","source":"@site/changelog/source/2.0.0-alpha.59.md","title":"2.0.0-alpha.59","description":"New Feature","date":"2020-07-24T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Mahfoudh Arous","alias":"aladin002dz","url":"https://github.com/aladin002dz","imageURL":"https://github.com/aladin002dz.png","key":"aladin002dz","page":null},{"name":"Eric Dobbertin","alias":"aldeed","url":"https://github.com/aldeed","imageURL":"https://github.com/aldeed.png","key":"aldeed","page":null},{"name":"Amirul Ahmad","alias":"amirulahmad","url":"https://github.com/amirulahmad","imageURL":"https://github.com/amirulahmad.png","key":"amirulahmad","page":null},{"name":"Anshul Goyal","alias":"anshulrgoyal","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","key":"anshulrgoyal","page":null},{"name":"Ayan Banerjee","alias":"ayan-b","url":"https://github.com/ayan-b","imageURL":"https://github.com/ayan-b.png","key":"ayan-b","page":null},{"name":"Jeremy Asuncion","alias":"codemonkey800","url":"https://github.com/codemonkey800","imageURL":"https://github.com/codemonkey800.png","key":"codemonkey800","page":null},{"name":"Daniel Hochman","alias":"danielhochman","url":"https://github.com/danielhochman","imageURL":"https://github.com/danielhochman.png","key":"danielhochman","page":null},{"name":"Deepak Giri","alias":"dpkg","url":"https://github.com/dpkg","imageURL":"https://github.com/dpkg.png","key":"dpkg","page":null},{"name":"ehsan jso","alias":"ehsanjso","url":"https://github.com/ehsanjso","imageURL":"https://github.com/ehsanjso.png","key":"ehsanjso","page":null},{"name":"Arsalan Khattak","alias":"eKhattak","url":"https://github.com/eKhattak","imageURL":"https://github.com/eKhattak.png","key":"eKhattak","page":null},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},{"name":"matbub","alias":"hi-matbub","url":"https://github.com/hi-matbub","imageURL":"https://github.com/hi-matbub.png","key":"hi-matbub","page":null},{"name":"John Knox","alias":"jknoxville","url":"https://github.com/jknoxville","imageURL":"https://github.com/jknoxville.png","key":"jknoxville","page":null},{"name":"Jordan Liu","alias":"jordanliu","url":"https://github.com/jordanliu","imageURL":"https://github.com/jordanliu.png","key":"jordanliu","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},{"name":"Paul Cowgill","alias":"pcowgill","url":"https://github.com/pcowgill","imageURL":"https://github.com/pcowgill.png","key":"pcowgill","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Frida Hjelm","alias":"svtfrida","url":"https://github.com/svtfrida","imageURL":"https://github.com/svtfrida.png","key":"svtfrida","page":null},{"name":"Taylor Allen","alias":"taylorallen0913","url":"https://github.com/taylorallen0913","imageURL":"https://github.com/taylorallen0913.png","key":"taylorallen0913","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"Vandr\xe9 Leal","alias":"vandreleal","url":"https://github.com/vandreleal","imageURL":"https://github.com/vandreleal.png","key":"vandreleal","page":null},{"name":"Rian Finnegan","alias":"xtellurian","url":"https://github.com/xtellurian","imageURL":"https://github.com/xtellurian.png","key":"xtellurian","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-07-24T20:00","authors":["aladin002dz","aldeed","amirulahmad","anshulrgoyal","ayan-b","codemonkey800","danielhochman","dpkg","ehsanjso","eKhattak","francoischalifour","hi-matbub","jknoxville","jordanliu","lex111","nebrelbug","pcowgill","SamChou19815","slorber","svtfrida","taylorallen0913","teikjun","vandreleal","xtellurian","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.60","permalink":"/changelog/2.0.0-alpha.60"},"nextItem":{"title":"2.0.0-alpha.58","permalink":"/changelog/2.0.0-alpha.58"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/48cbf216.07afbd31.js b/assets/js/48cbf216.07afbd31.js new file mode 100644 index 0000000000..6610f602d3 --- /dev/null +++ b/assets/js/48cbf216.07afbd31.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["60291"],{74730:function(e,t,s){s.r(t),s.d(t,{frontMatter:()=>p,default:()=>f,contentTitle:()=>l,assets:()=>u,toc:()=>m,metadata:()=>r});var r=JSON.parse('{"id":"tests/import-bad-package","title":"Import Bad Package","description":"We are importing MDX content from a file that is in a package that has a bad React version.","source":"@site/_dogfooding/_docs tests/tests/import-bad-package.mdx","sourceDirName":"tests","slug":"/tests/import-bad-package","permalink":"/tests/docs/tests/import-bad-package","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Image Tests","permalink":"/tests/docs/tests/images/"},"next":{"title":"Broken Anchors tests","permalink":"/tests/docs/tests/links/broken-anchors-tests"}}'),n=s(85893),a=s(80980),o=s(67294),i=s(73935);function c(){if(!o.version.startsWith("19"))throw Error(`'test-bad-package/README.mdx' is rendered with bad React version: ${o.version}`);if(!o.version.startsWith("19"))throw Error(`'test-bad-package/README.mdx' is rendered with bad React-DOM version: ${i.version}`);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{children:["React version: ",o.version]}),(0,n.jsxs)("div",{children:["React DOM version: ",i.version]})]})}function d(e){let t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",hr:"hr",p:"p",pre:"pre",...(0,a.a)(),...e.components},{Details:s}=t;return s||function(e,t){throw Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"test-bad-package",children:"test-bad-package"})}),"\n",(0,n.jsx)(t.p,{children:"This package declares a wrong React version on purpose (16.14.0)"}),"\n",(0,n.jsx)(t.p,{children:"The goal is to test that the MD/MDX content of this package can still be imported/rendered by our website."}),"\n",(0,n.jsxs)(t.p,{children:["See related issue ",(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/9027",children:"https://github.com/facebook/docusaurus/issues/9027"})]}),"\n",(0,n.jsx)(t.hr,{}),"\n","\n","\n",(0,n.jsx)(c,{}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h2,{id:"mdx-components-work",children:"MDX Components work:"}),"\n",(0,n.jsxs)(s,{children:[(0,n.jsx)("summary",{children:"Summary"}),(0,n.jsx)(t.p,{children:"Details"})]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-js",children:"const age = 42;\n"})})]})}function h(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}let p={},l="Import Bad Package",u={},m=[{value:"MDX Components work:",id:"mdx-components-work",level:2}];function x(e){let t={a:"a",h1:"h1",header:"header",hr:"hr",p:"p",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"import-bad-package",children:"Import Bad Package"})}),"\n",(0,n.jsx)(t.p,{children:"We are importing MDX content from a file that is in a package that has a bad React version."}),"\n",(0,n.jsx)(t.p,{children:"This is expected to work despite the bad version."}),"\n",(0,n.jsxs)(t.p,{children:["See ",(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/9027",children:"https://github.com/facebook/docusaurus/issues/9027"})]}),"\n",(0,n.jsx)(t.hr,{}),"\n","\n",(0,n.jsx)(h,{})]})}function f(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(x,{...e})}):x(e)}f.displayName="MDXContent(_dogfooding/_docs tests/tests/import-bad-package.mdx)"},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>o});var r=s(67294);let n={},a=r.createContext(n);function o(e){let t=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/492798ca.3652740e.js b/assets/js/492798ca.3652740e.js new file mode 100644 index 0000000000..7ccb04ee3c --- /dev/null +++ b/assets/js/492798ca.3652740e.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["1790"],{86266:function(e,n,i){i.r(n),i.d(n,{frontMatter:()=>o,default:()=>m,contentTitle:()=>c,assets:()=>u,toc:()=>h,metadata:()=>r});var r=JSON.parse('{"id":"api/plugins/plugin-ideal-image","title":"\uD83D\uDCE6 plugin-ideal-image","description":"Docusaurus Plugin to generate an almost ideal image (responsive, lazy-loading, and low quality placeholder).","source":"@site/docs/api/plugins/plugin-ideal-image.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-ideal-image","permalink":"/docs/api/plugins/@docusaurus/plugin-ideal-image","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-ideal-image.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":8,"frontMatter":{"sidebar_position":8,"slug":"/api/plugins/@docusaurus/plugin-ideal-image"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-google-tag-manager","permalink":"/docs/api/plugins/@docusaurus/plugin-google-tag-manager"},"next":{"title":"\uD83D\uDCE6 plugin-pwa","permalink":"/docs/api/plugins/@docusaurus/plugin-pwa"}}'),t=i(85893),l=i(80980),a=i(15398),s=i(58636),d=i(32240);let o={sidebar_position:8,slug:"/api/plugins/@docusaurus/plugin-ideal-image"},c="\uD83D\uDCE6 plugin-ideal-image",u={},h=[{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Example configuration",id:"ex-config",level:3}];function p(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"-plugin-ideal-image",children:"\uD83D\uDCE6 plugin-ideal-image"})}),"\n","\n",(0,t.jsx)(n.p,{children:"Docusaurus Plugin to generate an almost ideal image (responsive, lazy-loading, and low quality placeholder)."}),"\n",(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsxs)(n.p,{children:["By default, the plugin is ",(0,t.jsx)(n.strong,{children:"inactive in development"})," so you could always view full-scale images. If you want to debug the ideal image behavior, you could set the ",(0,t.jsx)(n.a,{href:"#disableInDev",children:(0,t.jsx)(n.code,{children:"disableInDev"})})," option to ",(0,t.jsx)(n.code,{children:"false"}),"."]})}),"\n",(0,t.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,t.jsxs)(a.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(s.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-ideal-image\n"})})}),(0,t.jsx)(s.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-ideal-image\n"})})}),(0,t.jsx)(s.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-ideal-image\n"})})})]}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(n.p,{children:"This plugin supports the PNG and JPG formats only."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-jsx",children:"import Image from '@theme/IdealImage';\nimport thumbnail from './path/to/img.png';\n\n// your React code\n<Image img={thumbnail} />\n\n// or\n<Image img={require('./path/to/img.png')} />\n"})}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsxs)(n.p,{children:["This plugin registers a ",(0,t.jsx)(n.a,{href:"https://webpack.js.org/loaders/",children:"Webpack loader"})," that changes the type of imported/require images:"]}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Before: ",(0,t.jsx)(n.code,{children:"string"})]}),"\n",(0,t.jsxs)(n.li,{children:["After: ",(0,t.jsx)(n.code,{children:'{preSrc: string, src: import("@theme/IdealImage").SrcImage}'})]}),"\n"]})]}),"\n",(0,t.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,t.jsx)(n.p,{children:"Accepted fields:"}),"\n",(0,t.jsx)(d.Z,{children:(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Option"}),(0,t.jsx)(n.th,{children:"Type"}),(0,t.jsx)(n.th,{children:"Default"}),(0,t.jsx)(n.th,{children:"Description"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"name"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"string"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"ideal-img/[name].[hash:hex:7].[width].[ext]"})}),(0,t.jsx)(n.td,{children:"Filename template for output files."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"sizes"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"number[]"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.em,{children:"original size"})}),(0,t.jsx)(n.td,{children:"Specify all widths you want to use. If a specified size exceeds the original image's width, the latter will be used (i.e. images won't be scaled up)."})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"size"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.em,{children:"original size"})}),(0,t.jsx)(n.td,{children:"Specify one width you want to use; if the specified size exceeds the original image's width, the latter will be used (i.e. images won't be scaled up)"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"min"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{}),(0,t.jsxs)(n.td,{children:["As an alternative to manually specifying ",(0,t.jsx)(n.code,{children:"sizes"}),", you can specify ",(0,t.jsx)(n.code,{children:"min"}),", ",(0,t.jsx)(n.code,{children:"max"})," and ",(0,t.jsx)(n.code,{children:"steps"}),", and the sizes will be generated for you."]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"max"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{}),(0,t.jsxs)(n.td,{children:["See ",(0,t.jsx)(n.code,{children:"min"})," above"]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"steps"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"4"})}),(0,t.jsxs)(n.td,{children:["Configure the number of images generated between ",(0,t.jsx)(n.code,{children:"min"})," and ",(0,t.jsx)(n.code,{children:"max"})," (inclusive)"]})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"quality"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"number"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"85"})}),(0,t.jsx)(n.td,{children:"JPEG compression quality"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"disableInDev"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"boolean"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"true"})}),(0,t.jsxs)(n.td,{children:["You can test ideal image behavior in dev mode by setting this to ",(0,t.jsx)(n.code,{children:"false"}),". ",(0,t.jsx)(n.strong,{children:"Tip"}),": use ",(0,t.jsx)(n.a,{href:"https://www.browserstack.com/guide/how-to-perform-network-throttling-in-chrome",children:"network throttling"})," in your browser to simulate slow networks."]})]})]})]})}),"\n",(0,t.jsx)(n.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,t.jsx)(n.p,{children:"Here's an example configuration:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n plugins: [\n [\n '@docusaurus/plugin-ideal-image',\n // highlight-start\n {\n quality: 70,\n max: 1030, // max resized image's size.\n min: 640, // min resized image's size. if original is lower, use that size.\n steps: 2, // the max number of images generated between min and max (inclusive)\n disableInDev: false,\n },\n // highlight-end\n ],\n ],\n};\n"})})]})}function m(e={}){let{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},58636:function(e,n,i){i.d(n,{Z:()=>l});var r=i(85893);i(67294);var t=i(90496);function l(e){let{children:n,hidden:i,className:l}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,t.Z)("tabItem_pnkT",l),hidden:i,children:n})}},15398:function(e,n,i){i.d(n,{Z:()=>j});var r=i(85893),t=i(67294),l=i(90496),a=i(54947),s=i(3620),d=i(844),o=i(97486),c=i(32263),u=i(16971);function h(e){return t.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||t.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:n,tabValues:i}=e;return i.some(e=>e.value===n)}var m=i(71607);function g(e){let{className:n,block:i,selectedValue:t,selectValue:s,tabValues:d}=e,o=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.o5)(),u=e=>{let n=e.currentTarget,i=d[o.indexOf(n)].value;i!==t&&(c(n),s(i))},h=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let i=o.indexOf(e.currentTarget)+1;n=o[i]??o[0];break}case"ArrowLeft":{let i=o.indexOf(e.currentTarget)-1;n=o[i]??o[o.length-1]}}n?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":i},n),children:d.map(e=>{let{value:n,label:i,attributes:a}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>{o.push(e)},onKeyDown:h,onClick:u,...a,className:(0,l.Z)("tabs__item","tabItem_AQgk",a?.className,{"tabs__item--active":t===n}),children:i??n},n)})})}function x(e){let{lazy:n,children:i,selectedValue:a}=e,s=(Array.isArray(i)?i:[i]).filter(Boolean);if(n){let e=s.find(e=>e.props.value===a);return e?(0,t.cloneElement)(e,{className:(0,l.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:s.map((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==a}))})}function f(e){let n=function(e){let{defaultValue:n,queryString:i=!1,groupId:r}=e,l=function(e){let{values:n,children:i}=e;return(0,t.useMemo)(()=>{let e=n??h(i).map(e=>{let{props:{value:n,label:i,attributes:r,default:t}}=e;return{value:n,label:i,attributes:r,default:t}});return!function(e){let n=(0,c.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,i])}(e),[a,m]=(0,t.useState)(()=>(function(e){let{defaultValue:n,tabValues:i}=e;if(0===i.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:i}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${i.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let r=i.find(e=>e.default)??i[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:n,tabValues:l})),[g,x]=function(e){let{queryString:n=!1,groupId:i}=e,r=(0,s.k6)(),l=function(e){let{queryString:n=!1,groupId:i}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!i)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return i??null}({queryString:n,groupId:i});return[(0,o._X)(l),(0,t.useCallback)(e=>{if(!l)return;let n=new URLSearchParams(r.location.search);n.set(l,e),r.replace({...r.location,search:n.toString()})},[l,r])]}({queryString:i,groupId:r}),[f,j]=function(e){let{groupId:n}=e,i=n?`docusaurus.tab.${n}`:null,[r,l]=(0,u.Nk)(i);return[r,(0,t.useCallback)(e=>{i&&l.set(e)},[i,l])]}({groupId:r}),b=(()=>{let e=g??f;return p({value:e,tabValues:l})?e:null})();return(0,d.Z)(()=>{b&&m(b)},[b]),{selectedValue:a,selectValue:(0,t.useCallback)(e=>{if(!p({value:e,tabValues:l}))throw Error(`Can't select invalid tab value=${e}`);m(e),x(e),j(e)},[x,j,l]),tabValues:l}}(e);return(0,r.jsxs)("div",{className:(0,l.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(g,{...n,...e}),(0,r.jsx)(x,{...n,...e})]})}function j(e){let n=(0,m.Z)();return(0,r.jsx)(f,{...e,children:h(e.children)},String(n))}},32240:function(e,n,i){i.d(n,{Z:()=>d});var r=i(85893),t=i(67294),l=i(96700),a=i(3620);let s=t.forwardRef(function(e,n){let{name:i,children:s}=e,d=function(e){let n=e;for(;(0,t.isValidElement)(n);)[n]=t.Children.toArray(n.props.children);if("string"!=typeof n)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return n}(s),o=i?`${i}-${d}`:d,c=`#${o}`,u=(0,a.k6)();return(0,l.Z)().collectAnchor(o),(0,r.jsx)("tr",{id:o,tabIndex:0,ref:u.location.hash===c?n:void 0,onClick:e=>{let n="TD"===e.target.tagName.toUpperCase(),i=!!window.getSelection()?.toString();n&&!i&&u.push(c)},onKeyDown:e=>{"Enter"===e.key&&u.push(c)},children:s.props.children})});function d(e){let{children:n,name:i}=e;if("table"!==n.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[l,a]=t.Children.toArray(n.props.children),d=(0,t.useRef)(null);(0,t.useEffect)(()=>{d.current?.focus()},[d]);let o=t.Children.map(a.props.children,e=>(0,r.jsx)(s,{name:i,ref:d,children:e}));return(0,r.jsxs)("table",{className:"apiTable_e8hp",children:[l,(0,r.jsx)("tbody",{children:o})]})}},80980:function(e,n,i){i.d(n,{Z:()=>s,a:()=>a});var r=i(67294);let t={},l=r.createContext(t);function a(e){let n=r.useContext(l);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/49704.7a57da41.js b/assets/js/49704.7a57da41.js new file mode 100644 index 0000000000..4acc524dc6 --- /dev/null +++ b/assets/js/49704.7a57da41.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["49704"],{57668:function(t,e,r){r.d(e,{Lf:()=>X,XO:()=>h,Yn:()=>J,ZH:()=>Q,aH:()=>Z,jr:()=>c,qo:()=>m});var a=r(19039),i=r(84890),n=r(28923),s=r(11141);function l(t,e){e&&t.attr("style",e)}function d(t){let e=(0,s.Ys)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),a=t.label,i=t.isNode?"nodeLabel":"edgeLabel",n=r.append("span");return n.html(a),l(n,t.labelStyle),n.attr("class",i),l(r,t.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}(0,n.eW)(l,"applyStyle"),(0,n.eW)(d,"addHtmlLabel");var h=(0,n.eW)((t,e,r,s)=>{let l=t||"";if("object"==typeof l&&(l=l[0]),(0,n.ku)((0,n.nV)().flowchart.htmlLabels))return l=l.replace(/\\n|\n/g,"<br />"),n.cM.debug("vertexText"+l),d({isNode:s,label:(0,a.EY)((0,i.SH)(l)),labelStyle:e.replace("fill:","color:")});{let t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let a=[];for(let e of"string"==typeof l?l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?l:[]){let a=document.createElementNS("http://www.w3.org/2000/svg","tspan");a.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),a.setAttribute("dy","1em"),a.setAttribute("x","0"),r?a.setAttribute("class","title-row"):a.setAttribute("class","row"),a.textContent=e.trim(),t.appendChild(a)}return t}},"createLabel"),o=(0,n.eW)(async(t,e,r,l)=>{let d,o,c;let y=(0,n.nV)(),x=e.useHtmlLabels||(0,n.ku)(y.flowchart.htmlLabels);d=r||"node default";let g=t.insert("g").attr("class",d).attr("id",e.domId||e.id),p=g.insert("g").attr("class","label").attr("style",e.labelStyle);o=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];let u=p.node(),w=(c="markdown"===e.labelType?(0,a.rw)(p,(0,n.oO)((0,i.SH)(o),y),{useHtmlLabels:x,width:e.width||y.flowchart.wrappingWidth,classes:"markdown-node-label"},y):u.appendChild(h((0,n.oO)((0,i.SH)(o),y),e.labelStyle,!1,l))).getBBox(),f=e.padding/2;if((0,n.ku)(y.flowchart.htmlLabels)){let t=c.children[0],e=(0,s.Ys)(c),r=t.getElementsByTagName("img");if(r){let t=""===o.replace(/<img[^>]*>/g,"").trim();await Promise.all([...r].map(e=>new Promise(r=>{function a(){if(e.style.display="flex",e.style.flexDirection="column",t){let t=5*parseInt(y.fontSize?y.fontSize:window.getComputedStyle(document.body).fontSize,10)+"px";e.style.minWidth=t,e.style.maxWidth=t}else e.style.width="100%";r(e)}(0,n.eW)(a,"setupImage"),setTimeout(()=>{e.complete&&a()}),e.addEventListener("error",a),e.addEventListener("load",a)})))}w=t.getBoundingClientRect(),e.attr("width",w.width),e.attr("height",w.height)}return x?p.attr("transform","translate("+-w.width/2+", "+-w.height/2+")"):p.attr("transform","translate(0, "+-w.height/2+")"),e.centerLabel&&p.attr("transform","translate("+-w.width/2+", "+-w.height/2+")"),p.insert("rect",":first-child"),{shapeSvg:g,bbox:w,halfPadding:f,label:p}},"labelHelper"),c=(0,n.eW)((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function y(t,e,r,a){return t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}(0,n.eW)(y,"insertPolygonShape");var x=(0,n.eW)(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r)}return e},"expandAndDeduplicateDirections"),g=(0,n.eW)((t,e,r)=>{let a=x(t),i=e.height+2*r.padding,n=i/2,s=e.width+2*n+r.padding,l=r.padding/2;return a.has("right")&&a.has("left")&&a.has("up")&&a.has("down")?[{x:0,y:0},{x:n,y:0},{x:s/2,y:2*l},{x:s-n,y:0},{x:s,y:0},{x:s,y:-i/3},{x:s+2*l,y:-i/2},{x:s,y:-2*i/3},{x:s,y:-i},{x:s-n,y:-i},{x:s/2,y:-i-2*l},{x:n,y:-i},{x:0,y:-i},{x:0,y:-2*i/3},{x:-2*l,y:-i/2},{x:0,y:-i/3}]:a.has("right")&&a.has("left")&&a.has("up")?[{x:n,y:0},{x:s-n,y:0},{x:s,y:-i/2},{x:s-n,y:-i},{x:n,y:-i},{x:0,y:-i/2}]:a.has("right")&&a.has("left")&&a.has("down")?[{x:0,y:0},{x:n,y:-i},{x:s-n,y:-i},{x:s,y:0}]:a.has("right")&&a.has("up")&&a.has("down")?[{x:0,y:0},{x:s,y:-n},{x:s,y:-i+n},{x:0,y:-i}]:a.has("left")&&a.has("up")&&a.has("down")?[{x:s,y:0},{x:0,y:-n},{x:0,y:-i+n},{x:s,y:-i}]:a.has("right")&&a.has("left")?[{x:n,y:0},{x:n,y:-l},{x:s-n,y:-l},{x:s-n,y:0},{x:s,y:-i/2},{x:s-n,y:-i},{x:s-n,y:-i+l},{x:n,y:-i+l},{x:n,y:-i},{x:0,y:-i/2}]:a.has("up")&&a.has("down")?[{x:s/2,y:0},{x:0,y:-l},{x:n,y:-l},{x:n,y:-i+l},{x:0,y:-i+l},{x:s/2,y:-i},{x:s,y:-i+l},{x:s-n,y:-i+l},{x:s-n,y:-l},{x:s,y:-l}]:a.has("right")&&a.has("up")?[{x:0,y:0},{x:s,y:-n},{x:0,y:-i}]:a.has("right")&&a.has("down")?[{x:0,y:0},{x:s,y:0},{x:0,y:-i}]:a.has("left")&&a.has("up")?[{x:s,y:0},{x:0,y:-n},{x:s,y:-i}]:a.has("left")&&a.has("down")?[{x:s,y:0},{x:0,y:0},{x:s,y:-i}]:a.has("right")?[{x:n,y:-l},{x:n,y:-l},{x:s-n,y:-l},{x:s-n,y:0},{x:s,y:-i/2},{x:s-n,y:-i},{x:s-n,y:-i+l},{x:n,y:-i+l},{x:n,y:-i+l}]:a.has("left")?[{x:n,y:0},{x:n,y:-l},{x:s-n,y:-l},{x:s-n,y:-i+l},{x:n,y:-i+l},{x:n,y:-i},{x:0,y:-i/2}]:a.has("up")?[{x:n,y:-l},{x:n,y:-i+l},{x:0,y:-i+l},{x:s/2,y:-i},{x:s,y:-i+l},{x:s-n,y:-i+l},{x:s-n,y:-l}]:a.has("down")?[{x:s/2,y:0},{x:0,y:-l},{x:n,y:-l},{x:n,y:-i+l},{x:s-n,y:-i+l},{x:s-n,y:-l},{x:s,y:-l}]:[{x:0,y:0}]},"getArrowPoints");function p(t,e,r,a){var i=t.x,n=t.y,s=i-a.x,l=n-a.y,d=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/d);a.x<i&&(h=-h);var o=Math.abs(e*r*l/d);return a.y<n&&(o=-o),{x:i+h,y:n+o}}function u(t,e,r){return p(t,e,e,r)}function w(t,e,r,a){var i,n,s,l,d,h,o,c,y,x,g,p,u;if(i=e.y-t.y,s=t.x-e.x,d=e.x*t.y-t.x*e.y,y=i*r.x+s*r.y+d,x=i*a.x+s*a.y+d,!(0!==y&&0!==x&&f(y,x))){if(n=a.y-r.y,l=r.x-a.x,h=a.x*r.y-r.x*a.y,o=n*t.x+l*t.y+h,c=n*e.x+l*e.y+h,!(0!==o&&0!==c&&f(o,c))&&0!=(g=i*l-n*s))return p=Math.abs(g/2),{x:(u=s*h-l*d)<0?(u-p)/g:(u+p)/g,y:(u=n*d-i*h)<0?(u-p)/g:(u+p)/g}}}function f(t,e){return t*e>0}function b(t,e,r){var a=t.x,i=t.y,n=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach(function(t){s=Math.min(s,t.x),l=Math.min(l,t.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var d=a-t.width/2-s,h=i-t.height/2-l,o=0;o<e.length;o++){var c=e[o],y=e[o<e.length-1?o+1:0],x=w(t,r,{x:d+c.x,y:h+c.y},{x:d+y.x,y:h+y.y});x&&n.push(x)}return n.length?(n.length>1&&n.sort(function(t,e){var a=t.x-r.x,i=t.y-r.y,n=Math.sqrt(a*a+i*i),s=e.x-r.x,l=e.y-r.y,d=Math.sqrt(s*s+l*l);return n<d?-1:+(n!==d)}),n[0]):t}(0,n.eW)(function(t,e){return t.intersect(e)},"intersectNode"),(0,n.eW)(p,"intersectEllipse"),(0,n.eW)(u,"intersectCircle"),(0,n.eW)(w,"intersectLine"),(0,n.eW)(f,"sameSign"),(0,n.eW)(b,"intersectPolygon");var m=(0,n.eW)((t,e)=>{var r,a,i=t.x,n=t.y,s=e.x-i,l=e.y-n,d=t.width/2,h=t.height/2;return Math.abs(l)*d>Math.abs(s)*h?(l<0&&(h=-h),r=0===l?0:h*s/l,a=h):(s<0&&(d=-d),r=d,a=0===s?0:d*l/s),{x:i+r,y:n+a}},"intersectRect"),W=(0,n.eW)(async(t,e)=>{e.useHtmlLabels||(0,n.nV)().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:r,bbox:a,halfPadding:i}=await o(t,e,"node "+e.classes,!0);n.cM.info("Classes = ",e.classes);let s=r.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-a.width/2-i).attr("y",-a.height/2-i).attr("width",a.width+e.padding).attr("height",a.height+e.padding),c(e,s),e.intersect=function(t){return m(e,t)},r},"note"),v=(0,n.eW)(t=>t?" "+t:"","formatClass"),k=(0,n.eW)((t,e)=>`${e||"node default"}${v(t.classes)} ${v(t.class)}`,"getClassesFromNode"),M=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e,void 0),!0),i=a.width+e.padding+(a.height+e.padding),s=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}];n.cM.info("Question main (Circle)");let l=y(r,i,i,s);return l.attr("style",e.style),c(e,l),e.intersect=function(t){return n.cM.warn("Intersect called"),b(e,s,t)},r},"question"),S=(0,n.eW)((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);return r.insert("polygon",":first-child").attr("points",[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}].map(function(t){return t.x+","+t.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return u(e,14,t)},r},"choice"),B=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e,void 0),!0),i=a.height+e.padding,n=i/4,s=a.width+2*n+e.padding,l=[{x:n,y:0},{x:s-n,y:0},{x:s,y:-i/2},{x:s-n,y:-i},{x:n,y:-i},{x:0,y:-i/2}],d=y(r,s,i,l);return d.attr("style",e.style),c(e,d),e.intersect=function(t){return b(e,l,t)},r},"hexagon"),C=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,void 0,!0),i=a.height+2*e.padding,n=i/2,s=a.width+2*n+e.padding,l=g(e.directions,a,e),d=y(r,s,i,l);return d.attr("style",e.style),c(e,d),e.intersect=function(t){return b(e,l,t)},r},"block_arrow"),L=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,s=[{x:-n/2,y:0},{x:i,y:0},{x:i,y:-n},{x:-n/2,y:-n},{x:0,y:-n/2}];return y(r,i,n,s).attr("style",e.style),e.width=i+n,e.height=n,e.intersect=function(t){return b(e,s,t)},r},"rect_left_inv_arrow"),T=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e),!0),i=a.width+e.padding,n=a.height+e.padding,s=[{x:-2*n/6,y:0},{x:i-n/6,y:0},{x:i+2*n/6,y:-n},{x:n/6,y:-n}],l=y(r,i,n,s);return l.attr("style",e.style),c(e,l),e.intersect=function(t){return b(e,s,t)},r},"lean_right"),D=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,s=[{x:2*n/6,y:0},{x:i+n/6,y:0},{x:i-2*n/6,y:-n},{x:-n/6,y:-n}],l=y(r,i,n,s);return l.attr("style",e.style),c(e,l),e.intersect=function(t){return b(e,s,t)},r},"lean_left"),E=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,s=[{x:-2*n/6,y:0},{x:i+2*n/6,y:0},{x:i-n/6,y:-n},{x:n/6,y:-n}],l=y(r,i,n,s);return l.attr("style",e.style),c(e,l),e.intersect=function(t){return b(e,s,t)},r},"trapezoid"),I=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,s=[{x:n/6,y:0},{x:i-n/6,y:0},{x:i+2*n/6,y:-n},{x:-2*n/6,y:-n}],l=y(r,i,n,s);return l.attr("style",e.style),c(e,l),e.intersect=function(t){return b(e,s,t)},r},"inv_trapezoid"),N=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,s=[{x:0,y:0},{x:i+n/2,y:0},{x:i,y:-n/2},{x:i+n/2,y:-n},{x:0,y:-n}],l=y(r,i,n,s);return l.attr("style",e.style),c(e,l),e.intersect=function(t){return b(e,s,t)},r},"rect_right_inv_arrow"),Y=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e,void 0),!0),i=a.width+e.padding,n=i/2,s=n/(2.5+i/50),l=a.height+s+e.padding,d="M 0,"+s+" a "+n+","+s+" 0,0,0 "+i+" 0 a "+n+","+s+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+n+","+s+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",d).attr("transform","translate("+-i/2+","+-(l/2+s)+")");return c(e,h),e.intersect=function(t){let r=m(e,t),a=r.x-e.x;if(0!=n&&(Math.abs(a)<e.width/2||Math.abs(a)==e.width/2&&Math.abs(r.y-e.y)>e.height/2-s)){let i=s*s*(1-a*a/(n*n));0!=i&&(i=Math.sqrt(i)),i=s-i,t.y-e.y>0&&(i=-i),r.y+=i}return r},r},"cylinder"),_=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a,halfPadding:i}=await o(t,e,"node "+e.classes+" "+e.class,!0),s=r.insert("rect",":first-child"),l=e.positioned?e.width:a.width+e.padding,d=e.positioned?e.height:a.height+e.padding,h=e.positioned?-l/2:-a.width/2-i,y=e.positioned?-d/2:-a.height/2-i;if(s.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",h).attr("y",y).attr("width",l).attr("height",d),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(A(s,e.props.borders,l,d),t.delete("borders")),t.forEach(t=>{n.cM.warn(`Unknown node property ${t}`)})}return c(e,s),e.intersect=function(t){return m(e,t)},r},"rect"),j=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a,halfPadding:i}=await o(t,e,"node "+e.classes,!0),s=r.insert("rect",":first-child"),l=e.positioned?e.width:a.width+e.padding,d=e.positioned?e.height:a.height+e.padding,h=e.positioned?-l/2:-a.width/2-i,y=e.positioned?-d/2:-a.height/2-i;if(s.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",h).attr("y",y).attr("width",l).attr("height",d),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(A(s,e.props.borders,l,d),t.delete("borders")),t.forEach(t=>{n.cM.warn(`Unknown node property ${t}`)})}return c(e,s),e.intersect=function(t){return m(e,t)},r},"composite"),V=(0,n.eW)(async(t,e)=>{let{shapeSvg:r}=await o(t,e,"label",!0);n.cM.trace("Classes = ",e.class);let a=r.insert("rect",":first-child");if(a.attr("width",0).attr("height",0),r.attr("class","label edgeLabel"),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(A(a,e.props.borders,0,0),t.delete("borders")),t.forEach(t=>{n.cM.warn(`Unknown node property ${t}`)})}return c(e,a),e.intersect=function(t){return m(e,t)},r},"labelRect");function A(t,e,r,a){let i=[],s=(0,n.eW)(t=>{i.push(t,0)},"addBorder"),l=(0,n.eW)(t=>{i.push(0,t)},"skipBorder");e.includes("t")?(n.cM.debug("add top border"),s(r)):l(r),e.includes("r")?(n.cM.debug("add right border"),s(a)):l(a),e.includes("b")?(n.cM.debug("add bottom border"),s(r)):l(r),e.includes("l")?(n.cM.debug("add left border"),s(a)):l(a),t.attr("stroke-dasharray",i.join(" "))}(0,n.eW)(A,"applyNodePropertyBorders");var R=(0,n.eW)((t,e)=>{let r;r=e.classes?"node "+e.classes:"node default";let a=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=a.insert("rect",":first-child"),l=a.insert("line"),d=a.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText,y="";y="object"==typeof o?o[0]:o,n.cM.info("Label text abc79",y,o,"object"==typeof o);let x=d.node().appendChild(h(y,e.labelStyle,!0,!0)),g={width:0,height:0};if((0,n.ku)((0,n.nV)().flowchart.htmlLabels)){let t=x.children[0],e=(0,s.Ys)(x);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}n.cM.info("Text 2",o);let p=o.slice(1,o.length),u=x.getBBox(),w=d.node().appendChild(h(p.join?p.join("<br/>"):p,e.labelStyle,!0,!0));if((0,n.ku)((0,n.nV)().flowchart.htmlLabels)){let t=w.children[0],e=(0,s.Ys)(w);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}let f=e.padding/2;return(0,s.Ys)(w).attr("transform","translate( "+(g.width>u.width?0:(u.width-g.width)/2)+", "+(u.height+f+5)+")"),(0,s.Ys)(x).attr("transform","translate( "+(g.width<u.width?0:-(u.width-g.width)/2)+", 0)"),g=d.node().getBBox(),d.attr("transform","translate("+-g.width/2+", "+(-g.height/2-f+3)+")"),i.attr("class","outer title-state").attr("x",-g.width/2-f).attr("y",-g.height/2-f).attr("width",g.width+e.padding).attr("height",g.height+e.padding),l.attr("class","divider").attr("x1",-g.width/2-f).attr("x2",g.width/2+f).attr("y1",-g.height/2-f+u.height+f).attr("y2",-g.height/2-f+u.height+f),c(e,i),e.intersect=function(t){return m(e,t)},a},"rectWithTitle"),H=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e,void 0),!0),i=a.height+e.padding,n=a.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-n/2).attr("y",-i/2).attr("width",n).attr("height",i);return c(e,s),e.intersect=function(t){return m(e,t)},r},"stadium"),O=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a,halfPadding:i}=await o(t,e,k(e,void 0),!0),s=r.insert("circle",":first-child");return s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",a.width/2+i).attr("width",a.width+e.padding).attr("height",a.height+e.padding),n.cM.info("Circle main"),c(e,s),e.intersect=function(t){return n.cM.info("Circle intersect",e,a.width/2+i,t),u(e,a.width/2+i,t)},r},"circle"),P=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a,halfPadding:i}=await o(t,e,k(e,void 0),!0),s=r.insert("g",":first-child"),l=s.insert("circle"),d=s.insert("circle");return s.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",a.width/2+i+5).attr("width",a.width+e.padding+10).attr("height",a.height+e.padding+10),d.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",a.width/2+i).attr("width",a.width+e.padding).attr("height",a.height+e.padding),n.cM.info("DoubleCircle main"),c(e,l),e.intersect=function(t){return n.cM.info("DoubleCircle intersect",e,a.width/2+i+5,t),u(e,a.width/2+i+5,t)},r},"doublecircle"),q=(0,n.eW)(async(t,e)=>{let{shapeSvg:r,bbox:a}=await o(t,e,k(e,void 0),!0),i=a.width+e.padding,n=a.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-n},{x:0,y:-n},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-n},{x:-8,y:-n},{x:-8,y:0}],l=y(r,i,n,s);return l.attr("style",e.style),c(e,l),e.intersect=function(t){return b(e,s,t)},r},"subroutine"),$=(0,n.eW)((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=r.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),c(e,a),e.intersect=function(t){return u(e,7,t)},r},"start"),z=(0,n.eW)((t,e,r)=>{let a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,n=10;return"LR"===r&&(i=10,n=70),c(e,a.append("rect").attr("x",-1*i/2).attr("y",-1*n/2).attr("width",i).attr("height",n).attr("class","fork-join")),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return m(e,t)},a},"forkJoin"),F={rhombus:M,composite:j,question:M,rect:_,labelRect:V,rectWithTitle:R,choice:S,circle:O,doublecircle:P,stadium:H,hexagon:B,block_arrow:C,rect_left_inv_arrow:L,lean_right:T,lean_left:D,trapezoid:E,inv_trapezoid:I,rect_right_inv_arrow:N,cylinder:Y,start:$,end:(0,n.eW)((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),a.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),c(e,i),e.intersect=function(t){return u(e,7,t)},r},"end"),note:W,subroutine:q,fork:z,join:z,class_box:(0,n.eW)((t,e)=>{let r;let a=e.padding/2;r=e.classes?"node "+e.classes:"node default";let i=t.insert("g").attr("class",r).attr("id",e.domId||e.id),l=i.insert("rect",":first-child"),d=i.insert("line"),o=i.insert("line"),y=0,x=4,g=i.insert("g").attr("class","label"),p=0,u=e.classData.annotations?.[0],w=e.classData.annotations[0]?"\xab"+e.classData.annotations[0]+"\xbb":"",f=g.node().appendChild(h(w,e.labelStyle,!0,!0)),b=f.getBBox();if((0,n.ku)((0,n.nV)().flowchart.htmlLabels)){let t=f.children[0],e=(0,s.Ys)(f);b=t.getBoundingClientRect(),e.attr("width",b.width),e.attr("height",b.height)}e.classData.annotations[0]&&(x+=b.height+4,y+=b.width);let W=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&((0,n.nV)().flowchart.htmlLabels?W+="<"+e.classData.type+">":W+="<"+e.classData.type+">");let v=g.node().appendChild(h(W,e.labelStyle,!0,!0));(0,s.Ys)(v).attr("class","classTitle");let k=v.getBBox();if((0,n.ku)((0,n.nV)().flowchart.htmlLabels)){let t=v.children[0],e=(0,s.Ys)(v);k=t.getBoundingClientRect(),e.attr("width",k.width),e.attr("height",k.height)}x+=k.height+4,k.width>y&&(y=k.width);let M=[];e.classData.members.forEach(t=>{let r=t.getDisplayDetails(),a=r.displayText;(0,n.nV)().flowchart.htmlLabels&&(a=a.replace(/</g,"<").replace(/>/g,">"));let i=g.node().appendChild(h(a,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0)),l=i.getBBox();if((0,n.ku)((0,n.nV)().flowchart.htmlLabels)){let t=i.children[0],e=(0,s.Ys)(i);l=t.getBoundingClientRect(),e.attr("width",l.width),e.attr("height",l.height)}l.width>y&&(y=l.width),x+=l.height+4,M.push(i)}),x+=8;let S=[];if(e.classData.methods.forEach(t=>{let r=t.getDisplayDetails(),a=r.displayText;(0,n.nV)().flowchart.htmlLabels&&(a=a.replace(/</g,"<").replace(/>/g,">"));let i=g.node().appendChild(h(a,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0)),l=i.getBBox();if((0,n.ku)((0,n.nV)().flowchart.htmlLabels)){let t=i.children[0],e=(0,s.Ys)(i);l=t.getBoundingClientRect(),e.attr("width",l.width),e.attr("height",l.height)}l.width>y&&(y=l.width),x+=l.height+4,S.push(i)}),x+=8,u){let t=(y-b.width)/2;(0,s.Ys)(f).attr("transform","translate( "+(-1*y/2+t)+", "+-1*x/2+")"),p=b.height+4}let B=(y-k.width)/2;return(0,s.Ys)(v).attr("transform","translate( "+(-1*y/2+B)+", "+(-1*x/2+p)+")"),p+=k.height+4,d.attr("class","divider").attr("x1",-y/2-a).attr("x2",y/2+a).attr("y1",-x/2-a+8+p).attr("y2",-x/2-a+8+p),p+=8,M.forEach(t=>{(0,s.Ys)(t).attr("transform","translate( "+-y/2+", "+(-1*x/2+p+4)+")");let e=t?.getBBox();p+=(e?.height??0)+4}),p+=8,o.attr("class","divider").attr("x1",-y/2-a).attr("x2",y/2+a).attr("y1",-x/2-a+8+p).attr("y2",-x/2-a+8+p),p+=8,S.forEach(t=>{(0,s.Ys)(t).attr("transform","translate( "+-y/2+", "+(-1*x/2+p)+")");let e=t?.getBBox();p+=(e?.height??0)+4}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-y/2-a).attr("y",-(x/2)-a).attr("width",y+e.padding).attr("height",x+e.padding),c(e,l),e.intersect=function(t){return m(e,t)},i},"class_box")},U={},X=(0,n.eW)(async(t,e,r)=>{let a,i;if(e.link){let s;"sandbox"===(0,n.nV)().securityLevel?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),a=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s),i=await F[e.shape](a,e,r)}else a=i=await F[e.shape](t,e,r);return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),U[e.id]=a,e.haveCallback&&U[e.id].attr("class",U[e.id].attr("class")+" clickable"),a},"insertNode"),J=(0,n.eW)((t,e)=>{U[e.id]=t},"setNodeElem"),Q=(0,n.eW)(()=>{U={}},"clear"),Z=(0,n.eW)(t=>{let e=U[t.id];n.cM.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r},"positionNode")}}]); \ No newline at end of file diff --git a/assets/js/4994aa22.1b9d5599.js b/assets/js/4994aa22.1b9d5599.js new file mode 100644 index 0000000000..bf273818d7 --- /dev/null +++ b/assets/js/4994aa22.1b9d5599.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["21681"],{69057:function(e,i,s){s.d(i,{Z:()=>a});let a=s.p+"assets/files/docusaurus-asset-example-93ea653de6d8636f7254aecab1adbcce.docx"},38318:function(e,i,s){s.d(i,{Z:()=>a});let a=s.p+"assets/files/docusaurus-asset-example-93ea653de6d8636f7254aecab1adbcce.docx"},87877:function(e,i,s){s.d(i,{Z:()=>a});let a=s.p+"assets/images/docusaurus-asset-example-banner-63decf1180b7949f4c3d0f7b7ecfd162.png"},80703:function(e,i,s){s.d(i,{Z:()=>a});let a="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcz48cmVjdCBpZD0iayIgeD0iMCIgd2lkdGg9IjQuODgzIiBoZWlnaHQ9IjQuODgzIiByeD0iMSIvPjxyZWN0IGlkPSJmbiIgeD0iMCIgeT0iMS40NDciIHdpZHRoPSI0LjU2MyIgaGVpZ2h0PSIxLjQ0NyIgcng9Ii43MjMiLz48cGF0aCBkPSJNNC44ODMuMDl2MS4wOGExIDEgMCAwMS0xIDFIMWExIDEgMCAwMS0xLTFWLjA5aDQuODgzeiIgaWQ9ImEiLz48L2RlZnM+PGcgZmlsbD0iIzNFQ0M1RiI+PHBhdGggZD0iTTIzIDE2M2MtNy40IDAtMTQtNC0xNy4zLTEwQTIwIDIwIDAgMDAzIDE2M2MwIDExIDkgMjAgMjAgMjBoMjB2LTIwSDIzek0xNjQgMTgzaDl2LTRoLTh6Ii8+PHBhdGggZD0iTTE4MyA1M1Y0M2MwLTExLTktMjAtMjAtMjBINzNjLTQtOC02LTgtMTAgMC00LTgtNi04LTEwIDAtNC04LTYtOC0xMCAwLTctOS05LTUtMTAuMyAyLjMtOS0zLTEwLjMtMS43LTcuMyA3LjMtOSAyLTEwIDMtMi40IDEwLjQtOCA0LTggNiAwIDEwLTggNC04IDYgMCAxMC04IDQtOCA2IDAgMTAtOCA0LTggNiAwIDEwLTggNC04IDYgMCAxMC04IDQtOCA2IDAgMTAtOCA0LTggNiAwIDEwLTggNC04IDYgMCAxMC04IDQtOCA2IDAgMTAtOCA0LTggNiAwIDEwLTggNC04IDYgMCAxMC04IDQtOCA2IDAgMTAgMCAxMSA5IDIwIDIwIDIwaDEyMGMxMSAwIDIwLTkgMjAtMjAiLz48L2c+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE4MyA4M2wtNzAtNC4zYy0xMy4zLTEuNS0xMy4zLTE5LjggMC0yMS4zbDcwLTQuNCIvPjx1c2UgaHJlZj0iI2giIHg9IjYwIi8+PHVzZSBocmVmPSIjZiIgeD0iNTAiLz48cGF0aCBkPSJNMTAzIDE4M2g2MGMxMSAwIDIwLTkgMjAtMjBWOTNoLTYwYy0xMSAwLTIwIDktMjAgMjB2NzB6IiBmaWxsPSIjRkZGRjUwIi8+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBhdGggZD0iTTYzIDUzYTEgMSAwIDEwLTIwIDAiIHN0cm9rZS13aWR0aD0iNSIvPjxwYXRoIGQ9Ik0xODMgNjIuNmMtNSAwLTUgMTAtMTAgMTAuNy01IDAtNS0xMC0xMC0xMHMtNSA5LTEwIDktNS04LjUtMTAtOC41LTUgOC0xMCA4LTUtNy4yNS0xMC03LjI1LTUgNi41LTEwIDYuNSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMTY4IDExM2gtNTBtNTAgMTBoLTUwbTUwIDEwaC01MG01MCAxMGgtNTBtNTAgMTBoLTUwbTUwIDEwaC01MCIvPjwvZz48Y2lyY2xlIGN4PSIxNDMiIGN5PSIzOS4zIiByPSIyLjUiLz48Y2lyY2xlIGN4PSIxNjMiIGN5PSIzOCIgcj0iMi41Ii8+PGNpcmNsZSBjeD0iMTEzIiBjeT0iNzEiIHI9IjEiLz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgtMTUgNDMzLjQ4NyAtMzQwLjg5MikiPjxyZWN0IGZpbGw9IiNEOEQ4RDgiIHdpZHRoPSI4NC41MjIiIGhlaWdodD0iMzMuMzY3IiByeD0iMiIvPjxyZWN0IGZpbGw9IiM0QTRBNEEiIHg9IjEuODA4IiB5PSIxLjA4NSIgd2lkdGg9IjgxLjM3OSIgaGVpZ2h0PSIyLjE3IiByeD0iMS4wODUiLz48ZyBmaWxsPSIjRDhEOEQ4IiBvcGFjaXR5PSIuMTM2Ij48dXNlIGhyZWY9IiNmbiIgeD0iMy43OTgiLz48dXNlIGhyZWY9IiNmbiIgeD0iMTAuMDQyIi8+PHVzZSBocmVmPSIjZm4iIHg9IjE0Ljg0NiIvPjx1c2UgaHJlZj0iI2ZuIiB4PSIxOS42NDkiLz48dXNlIGhyZWY9IiNmbiIgeD0iMjQuNDUzIi8+PHVzZSBocmVmPSIjZm4iIHg9IjMwLjQ1NyIvPjx1c2UgaHJlZj0iI2ZuIiB4PSIzNS4yNiIvPjx1c2UgaHJlZj0iI2ZuIiB4PSI0MC4wNjQiLz48dXNlIGhyZWY9IiNmbiIgeD0iNDQuODY3Ii8+PHVzZSBocmVmPSIjZm4iIHg9IjUwLjg3MiIvPjx1c2UgaHJlZj0iI2ZuIiB4PSI1NS42NzUiLz48dXNlIGhyZWY9IiNmbiIgeD0iNjAuNDc5Ii8+PHVzZSBocmVmPSIjZm4iIHg9IjY2LjQ4MyIvPjx1c2UgaHJlZj0iI2ZuIiB4PSI3MS4yODYiLz48dXNlIGhyZWY9IiNmbiIgeD0iNzYuMDkiLz48L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoLTE4MCA0MS42ODQgNC4zNzUpIiBmaWxsPSIjNEE0QTRBIj48dXNlIGhyZWY9IiNrIiB4PSI3LjU5NSIvPjx1c2UgaHJlZj0iI2siIHg9IjEzLjM4MiIvPjx1c2UgaHJlZj0iI2siIHg9IjE5LjE2OSIvPjx1c2UgaHJlZj0iI2siIHg9IjI0Ljk1NiIvPjx1c2UgaHJlZj0iI2siIHg9IjMwLjc0MyIvPjx1c2UgaHJlZj0iI2siIHg9IjM2LjUzIi8+PHVzZSBocmVmPSIjayIgeD0iNDIuMzE3Ii8+PHVzZSBocmVmPSIjayIgeD0iNDguMTA0Ii8+PHVzZSBocmVmPSIjayIgeD0iNTMuODkxIi8+PHVzZSBocmVmPSIjayIgeD0iNTkuNjc4Ii8+PHVzZSBocmVmPSIjayIgeD0iNjUuNDY1Ii8+PHVzZSBocmVmPSIjayIgeD0iNzEuMjUyIi8+PHVzZSBocmVmPSIjayIgeD0iNzcuMDM4Ii8+PHVzZSBocmVmPSIjayIgeD0iNy41OTUiLz48dXNlIGhyZWY9IiNrIiB4PSIxMy4zODIiLz48dXNlIGhyZWY9IiNrIiB4PSIxOS4xNjkiLz48dXNlIGhyZWY9IiNrIiB4PSIyNC45NTYiLz48dXNlIGhyZWY9IiNrIiB4PSIzMC43NDMiLz48dXNlIGhyZWY9IiNrIiB4PSIzNi41MyIvPjx1c2UgaHJlZj0iI2siIHg9IjQyLjMxNyIvPjx1c2UgaHJlZj0iI2siIHg9IjQ4LjEwNCIvPjx1c2UgaHJlZj0iI2siIHg9IjUzLjg5MSIvPjx1c2UgaHJlZj0iI2siIHg9IjU5LjY3OCIvPjx1c2UgaHJlZj0iI2siIHg9IjY1LjQ2NSIvPjx1c2UgaHJlZj0iI2siIHg9IjcxLjI1MiIvPjx1c2UgaHJlZj0iI2siIHg9Ijc3LjAzOCIvPjxyZWN0IHJ4PSIxIiB3aWR0aD0iNi43IiBoZWlnaHQ9IjQuODgzIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgOS41KSIgZmlsbD0iIzRBNEE0QSI+PHVzZSBocmVmPSIjayIgeD0iOC4wNDIiLz48dXNlIGhyZWY9IiNrIiB4PSIxMy44MjkiLz48dXNlIGhyZWY9IiNrIiB4PSIxOS42MTYiLz48dXNlIGhyZWY9IiNrIiB4PSIyNS40MDMiLz48dXNlIGhyZWY9IiNrIiB4PSIzMS4xOSIvPjx1c2UgaHJlZj0iI2siIHg9IjM2Ljk3NyIvPjx1c2UgaHJlZj0iI2siIHg9IjQyLjc2NCIvPjx1c2UgaHJlZj0iI2siIHg9IjQ4LjU1MSIvPjx1c2UgaHJlZj0iI2siIHg9IjU0LjMzNyIvPjx1c2UgaHJlZj0iI2siIHg9IjYwLjEyNCIvPjx1c2UgaHJlZj0iI2siIHg9IjY1LjkxMSIvPjx1c2UgaHJlZj0iI2siIHg9IjcxLjY5OCIvPjx1c2UgaHJlZj0iI2siIHg9Ijc3LjQ4NSIvPjwvZz48ZyBmaWxsPSIjNEE0QTRBIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS4yMTIgMTUuMTkpIj48dXNlIGhyZWY9IiNrIi8+PHVzZSBocmVmPSIjayIgeD0iNS43ODciLz48dXNlIGhyZWY9IiNrIiB4PSIxMS41NzQiLz48dXNlIGhyZWY9IiNrIiB4PSIxNy4zNjEiLz48dXNlIGhyZWY9IiNrIiB4PSIyMy4xNDgiLz48dXNlIGhyZWY9IiNrIiB4PSIyOC45MzUiLz48dXNlIGhyZWY9IiNrIiB4PSIzNC43MjIiLz48dXNlIGhyZWY9IiNrIiB4PSI0MC41MDgiLz48dXNlIGhyZWY9IiNrIiB4PSI0Ni4yOTUiLz48dXNlIGhyZWY9IiNrIiB4PSI1Mi4wODIiLz48dXNlIGhyZWY9IiNrIiB4PSI1Ny44NjkiLz48L2c+PHJlY3QgeD0iNzUiIHk9IjE1LjIiIHJ4PSIxIiB3aWR0aD0iOC40IiBoZWlnaHQ9IjQuODgzIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMjEuMTQ0KSIgZmlsbD0iIzRBNEE0QSI+PHVzZSBocmVmPSIjayIgeD0iMTUuODE4Ii8+PHVzZSBocmVmPSIjayIgeD0iMjEuNjA1Ii8+PHVzZSBocmVmPSIjayIgeD0iMjcuMzkyIi8+PHVzZSBocmVmPSIjayIgeD0iMzMuMTc5Ii8+PHVzZSBocmVmPSIjayIgeD0iMzguOTY2Ii8+PHVzZSBocmVmPSIjayIgeD0iNDQuNzUzIi8+PHVzZSBocmVmPSIjayIgeD0iNTAuNTQiLz48dXNlIGhyZWY9IiNrIiB4PSI1Ni4zMjciLz48dXNlIGhyZWY9IiNrIiB4PSI2Mi4xMTQiLz48cmVjdCB4PSIuNSIgcng9IjEiIHdpZHRoPSIxNC4zIiBoZWlnaHQ9IjQuODgzIi8+PHJlY3QgeD0iNjgiIHJ4PSIxIiB3aWR0aD0iMTQuMyIgaGVpZ2h0PSI0Ljg4MyIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDI3LjEyNikiIGZpbGw9IiM0QTRBNEEiPjx1c2UgaHJlZj0iI2siIHg9Ii40NDciLz48dXNlIGhyZWY9IiNrIiB4PSI2LjIzNCIvPjx1c2UgaHJlZj0iI2siIHg9IjEyLjAyMSIvPjx1c2UgaHJlZj0iI2siIHg9IjE3LjgwOCIvPjxyZWN0IHg9IjIzLjUiIHJ4PSIxIiB3aWR0aD0iMzAiIGhlaWdodD0iNC44ODMiLz48cmVjdCB4PSI1NC40IiByeD0iMSIgd2lkdGg9IjUuNiIgaGVpZ2h0PSI0Ljg4MyIvPjx1c2UgaHJlZj0iI2siIHg9IjYwLjg0OCIvPjx1c2UgaHJlZj0iI2siIHg9IjY2LjYzNSIvPjx1c2UgaHJlZj0iI2siIHg9Ijc3LjQ4NSIvPjx1c2UgaHJlZj0iI2EiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgMzguNDcxIDEuMDc0KSIvPjx1c2UgaHJlZj0iI2EiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcyLjA2IDIuNzEzKSIvPjwvZz48L2c+PGcgZmlsbD0iIzNFQ0M1RiI+PHBhdGggZD0iTTgzIDEyM2g0MHYtMjBIODN6TTgzIDE4M2g0MHYtNDBIODN6Ii8+PC9nPjxnIGlkPSJoIiBmaWxsPSIjNDREODYwIj48Y2lyY2xlIGN4PSIxMjMiIGN5PSIxMTMiIHI9IjEwIi8+PGNpcmNsZSBjeD0iMTI4IiBjeT0iMTA0LjMiIHI9IjIuNCIvPjxjaXJjbGUgY3g9IjEzMS43IiBjeT0iMTA4IiByPSIyLjQiLz48Y2lyY2xlIGN4PSIxMzMiIGN5PSIxMTMiIHI9IjIuNCIvPjxjaXJjbGUgY3g9IjEzMS43IiBjeT0iMTE4IiByPSIyLjQiLz48Y2lyY2xlIGN4PSIxMjgiIGN5PSIxMjEuNyIgcj0iMi40Ii8+PC9nPjxnIGlkPSJmIiBmaWxsPSIjNDREODYwIj48Y2lyY2xlIGN4PSIxMjMiIGN5PSIxNjMiIHI9IjIwIi8+PGNpcmNsZSBjeD0iMTEzIiBjeT0iMTQ1LjciIHI9IjUiLz48Y2lyY2xlIGN4PSIxMjMiIGN5PSIxNDMiIHI9IjUiLz48Y2lyY2xlIGN4PSIxMzMiIGN5PSIxNDUuNyIgcj0iNSIvPjxjaXJjbGUgY3g9IjE0MC4zIiBjeT0iMTUzIiByPSI1Ii8+PGNpcmNsZSBjeD0iMTQzIiBjeT0iMTYzIiByPSI1Ii8+PC9nPjwvc3ZnPg=="},63376:function(e,i,s){s.d(i,{Z:()=>a});let a="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dXNlIGhyZWY9IiNlIiB4PSItMjAiIG9wYWNpdHk9Ii4zNjEiLz48dXNlIGhyZWY9IiNlIiB4PSItNDAiIG9wYWNpdHk9Ii4zNjEiLz48ZyBpZD0iZSI+PGcgZmlsbD0iIzNFQ0M1RiI+PHBhdGggZD0iTTYzIDE2M2MtNy40IDAtMTQtNC0xNy4zLTEwYTIwIDIwIDAgMDAtMi43IDEwYzAgMTEgOSAyMCAyMCAyMGgyMHYtMjBINjN6Ii8+PHBhdGggZD0iTTIyMyA4M0g2M2MtOCA0LTggNiAwIDEwLTggNC04IDYgMCAxMC04IDQtOCA2IDAgMTAtOCA0LTggNiAwIDEwLTggNC04IDYgMCAxMC04IDQtOCA2IDAgMTAtOCA0LTggNiAwIDEwLTggNC04IDYgMCAxMCAwIDExIDkgMjAgMjAgMjBoMTIwYzExIDAgMjAtOSAyMC0yMFY4M3oiLz48L2c+PHBhdGggZD0iTTIyMyA1M1YzM2MwLTExLjA0Ni04Ljk1NC0yMC0yMC0yMEg4Ny4xMTJjLTE2LjUyNCAwLTI5LjkzNyAxMy4zNjItMzAgMjkuODg1LS4xMjEgMzEuNjgtLjA3NSA0Ny41ODEuMTM5IDQ3LjcwNWgxNjUuNzVWNTN6IiBmaWxsPSIjRDAwMjFCIi8+PC9nPjx1c2UgaHJlZj0iI2giIHg9IjYwIi8+PHVzZSBocmVmPSIjZiIgeD0iNTAiLz48cGF0aCBkPSJNMTQzIDE4M2g2MGMxMSAwIDIwLTkgMjAtMjBWOTNoLTYwYy0xMSAwLTIwIDktMjAgMjB2NzB6IiBmaWxsPSIjRkZGRjUwIi8+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBhdGggZD0iTTEwMyA1M2ExIDEgMCAxMC0yMCAwIiBzdHJva2Utd2lkdGg9IjUiLz48cGF0aCBkPSJNMjIzIDYyLjZjLTUgMC01IDEwLTEwIDEwLjctNSAwLTUtMTAtMTAtMTBzLTUgOS0xMCA5LTUtOC41LTEwLTguNS01IDgtMTAgOC01LTcuMjUtMTAtNy4yNS01IDYuNS0xMCA2LjUiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTIwOCAxMTNoLTUwbTUwIDEwaC01MG01MCAxMGgtNTBtNTAgMTBoLTUwbTUwIDEwaC01MG01MCAxMGgtNTAiLz48L2c+PGNpcmNsZSBjeD0iMTgzIiBjeT0iMzkuMyIgcj0iMi41Ii8+PGNpcmNsZSBjeD0iMjAzIiBjeT0iMzgiIHI9IjIuNSIvPjxjaXJjbGUgY3g9IjE1MyIgY3k9IjcxIiByPSIxIi8+PHBhdGggZD0iTTIyNSAxMTZoLTIzdjY4aC01di02OGgtMzF2LTRoNTguMjU2YTQuNTAyIDQuNTAyIDAgMDE4Ljc0NCAxLjUgNC41IDQuNSAwIDAxLTguMjQyIDIuNXoiIGZpbGw9IiNEOEQ4RDgiLz48ZyBmaWxsPSIjM0VDQzVGIj48cGF0aCBkPSJNMTIzIDEyM2g0MHYtMjBoLTMwek0xMjMgMTgzaDQwdi00MGgtMzB6Ii8+PC9nPjxnIGlkPSJoIiBmaWxsPSIjNDREODYwIj48Y2lyY2xlIGN4PSIxNjMiIGN5PSIxMTMiIHI9IjEwIi8+PGNpcmNsZSBjeD0iMTY4IiBjeT0iMTA0LjMiIHI9IjIuNCIvPjxjaXJjbGUgY3g9IjE3MS43IiBjeT0iMTA4IiByPSIyLjQiLz48Y2lyY2xlIGN4PSIxNzMiIGN5PSIxMTMiIHI9IjIuNCIvPjxjaXJjbGUgY3g9IjE3MS43IiBjeT0iMTE4IiByPSIyLjQiLz48Y2lyY2xlIGN4PSIxNjgiIGN5PSIxMjEuNyIgcj0iMi40Ii8+PC9nPjxnIGlkPSJmIiBmaWxsPSIjNDREODYwIj48Y2lyY2xlIGN4PSIxNjMiIGN5PSIxNjMiIHI9IjIwIi8+PGNpcmNsZSBjeD0iMTUzIiBjeT0iMTQ1LjciIHI9IjUiLz48Y2lyY2xlIGN4PSIxNjMiIGN5PSIxNDMiIHI9IjUiLz48Y2lyY2xlIGN4PSIxNzMiIGN5PSIxNDUuNyIgcj0iNSIvPjxjaXJjbGUgY3g9IjE4MC4zIiBjeT0iMTUzIiByPSI1Ii8+PGNpcmNsZSBjeD0iMTgzIiBjeT0iMTYzIiByPSI1Ii8+PC9nPjxwYXRoIGQ9Ik05NSAzMmgxMjguMnY0OEg3NVY1MmMwLTExIDktMjAgMjAtMjB6Ii8+PHBhdGggZD0iTTEwMyA1M2ExIDEgMCAxMC0yMCAwIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzlCOUI5QiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBvcGFjaXR5PSIuNTQ2Ii8+PGcgZmlsbD0iI0Q4RDhEOCI+PHBhdGggb3BhY2l0eT0iLjQzNiIgZD0iTTIxMiAzNWg4djE5aC04eiIvPjxwYXRoIGQ9Ik0yMDEgMTdoNS4zM2M3LjItLjM4IDEzLjMgNS4xMyAxMy42IDEyYTEzIDEzIDAgMDEuMDE4LjY4M3YuM2gtOHYtM2MwLTUuNS00LjUtMTAtMTAtMTBhMTAgMTAgMCAwMC0uOS4wNHoiIG9wYWNpdHk9Ii41MzgiLz48cGF0aCBvcGFjaXR5PSIuNDM2IiBkPSJNMjEyIDU2aDh2NGgtOHoiLz48L2c+PGVsbGlwc2UgZmlsbD0iIzkzMDAxMiIgdHJhbnNmb3JtPSJyb3RhdGUoLTIwIDkzLjUgMjgpIiBjeD0iOTMuNSIgY3k9IjI4IiByeD0iMy41IiByeT0iMSIvPjxwYXRoIGQ9Ik05NS41MiAyNC43NDdjLTEuMy00LjgtNi03LjctMTAuNS02LjVtMy41IDEwLjVjLTEuMy00LjgtNi03LjctMTAuNS02LjUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZEMDAwRCIgb3BhY2l0eT0iLjYiLz48cGF0aCBmaWxsPSIjRDhEOEQ4IiBkPSJNNzQgMTg0aDEzNXYzSDc0eiIvPjxnIGlkPSJ3Ij48Y2lyY2xlIGN4PSI3MS41IiBjeT0iMTg2LjUiIHI9IjYuNSIvPjxjaXJjbGUgZmlsbD0iIzRBNEE0QSIgY3g9IjcxLjUiIGN5PSIxODYuNSIgcj0iMi41Ii8+PC9nPjx1c2UgaHJlZj0iI3ciIHg9IjEzOCIvPjwvc3ZnPg=="},86421:function(e,i,s){s.r(i),s.d(i,{frontMatter:()=>p,default:()=>E,contentTitle:()=>L,assets:()=>z,toc:()=>Z,metadata:()=>M});var a,I,t,n,l,r,c,g,j,o,d,u,M=JSON.parse('{"id":"guides/markdown-features/assets","title":"Assets","description":"Handling assets in Docusaurus Markdown","source":"@site/docs/guides/markdown-features/markdown-features-assets.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/assets","permalink":"/docs/markdown-features/assets","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-assets.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"assets","description":"Handling assets in Docusaurus Markdown","slug":"/markdown-features/assets"},"sidebar":"docs","previous":{"title":"Headings and Table of contents","permalink":"/docs/markdown-features/toc"},"next":{"title":"Markdown links","permalink":"/docs/markdown-features/links"}}'),m=s(85893),h=s(80980),N=s(14522),x=s(15398),y=s(58636),S=s(67294);function D(){return(D=Object.assign?Object.assign.bind():function(e){for(var i=1;i<arguments.length;i++){var s=arguments[i];for(var a in s)({}).hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(null,arguments)}let P=e=>{let{title:i,titleId:s,...M}=e;return S.createElement("svg",D({xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":s},M),i?S.createElement("title",{id:s},i):null,a||(a=S.createElement("g",{fill:"#3ECC5F"},S.createElement("path",{d:"M23 163c-7.4 0-14-4-17.3-10A20 20 0 0 0 3 163c0 11 9 20 20 20h20v-20zm141 20h9v-4h-8z"}),S.createElement("path",{d:"M183 53V43c0-11-9-20-20-20H73c-4-8-6-8-10 0-4-8-6-8-10 0-4-8-6-8-10 0-7-9-9-5-10.3 2.3-9-3-10.3-1.7-7.3 7.3-9 2-10 3-2.4 10.4-8 4-8 6 0 10-8 4-8 6 0 10-8 4-8 6 0 10-8 4-8 6 0 10-8 4-8 6 0 10-8 4-8 6 0 10-8 4-8 6 0 10-8 4-8 6 0 10-8 4-8 6 0 10-8 4-8 6 0 10-8 4-8 6 0 10-8 4-8 6 0 10 0 11 9 20 20 20h120c11 0 20-9 20-20"}))),I||(I=S.createElement("path",{fill:"#FFF",d:"m183 83-70-4.3c-13.3-1.5-13.3-19.8 0-21.3l70-4.4"})),t||(t=S.createElement("use",{x:60,href:"#docusaurusa"})),n||(n=S.createElement("use",{x:50,href:"#docusaurusb"})),l||(l=S.createElement("path",{fill:"#FFFF50",d:"M103 183h60c11 0 20-9 20-20V93h-60c-11 0-20 9-20 20z"})),r||(r=S.createElement("g",{fill:"none",stroke:"#000",strokeLinecap:"round",strokeWidth:2},S.createElement("path",{strokeWidth:5,d:"M63 53a1 1 0 1 0-20 0"}),S.createElement("path",{strokeLinecap:"butt",d:"M183 62.6c-5 0-5 10-10 10.7-5 0-5-10-10-10s-5 9-10 9-5-8.5-10-8.5-5 8-10 8-5-7.25-10-7.25-5 6.5-10 6.5"}),S.createElement("path",{d:"M168 113h-50m50 10h-50m50 10h-50m50 10h-50m50 10h-50m50 10h-50"}))),c||(c=S.createElement("circle",{cx:143,cy:39.3,r:2.5})),g||(g=S.createElement("circle",{cx:163,cy:38,r:2.5})),j||(j=S.createElement("circle",{cx:113,cy:71,r:1})),o||(o=S.createElement("path",{fill:"#3ECC5F",d:"M83 123h40v-20H83zm0 60h40v-40H83z"})),d||(d=S.createElement("g",{id:"docusaurusa",fill:"#44D860"},S.createElement("circle",{cx:123,cy:113,r:10}),S.createElement("circle",{cx:128,cy:104.3,r:2.4}),S.createElement("circle",{cx:131.7,cy:108,r:2.4}),S.createElement("circle",{cx:133,cy:113,r:2.4}),S.createElement("circle",{cx:131.7,cy:118,r:2.4}),S.createElement("circle",{cx:128,cy:121.7,r:2.4}))),u||(u=S.createElement("g",{id:"docusaurusb",fill:"#44D860"},S.createElement("circle",{cx:123,cy:163,r:20}),S.createElement("circle",{cx:113,cy:145.7,r:5}),S.createElement("circle",{cx:123,cy:143,r:5}),S.createElement("circle",{cx:133,cy:145.7,r:5}),S.createElement("circle",{cx:140.3,cy:153,r:5}),S.createElement("circle",{cx:143,cy:163,r:5}))))};var T=s(83631),w=s(83569);let p={id:"assets",description:"Handling assets in Docusaurus Markdown",slug:"/markdown-features/assets"},L="Assets",z={},Z=[{value:"Images",id:"images",level:2},{value:"Files",id:"files",level:2},{value:"Inline SVGs",id:"inline-svgs",level:2},{value:"Themed Images",id:"themed-images",level:2},{value:"GitHub-style themed images",id:"github-style-themed-images",level:3},{value:"Static assets",id:"static-assets",level:2}];function b(e){let i={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,h.a)(),...e.components};return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(i.header,{children:(0,m.jsx)(i.h1,{id:"assets",children:"Assets"})}),"\n","\n",(0,m.jsx)(i.p,{children:"Sometimes you want to link to assets (e.g. docx files, images...) directly from Markdown files, and it is convenient to co-locate the asset next to the Markdown file using it."}),"\n",(0,m.jsx)(i.p,{children:"Let's imagine the following file structure:"}),"\n",(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{children:"# Your doc\n/website/docs/myFeature.mdx\n\n# Some assets you want to use\n/website/docs/assets/docusaurus-asset-example-banner.png\n/website/docs/assets/docusaurus-asset-example.docx\n"})}),"\n",(0,m.jsx)(i.h2,{id:"images",children:"Images"}),"\n",(0,m.jsx)(i.p,{children:"You can display images in three different ways: Markdown syntax, CJS require, or ES imports syntax."}),"\n",(0,m.jsxs)(x.Z,{children:[(0,m.jsxs)(y.Z,{value:"Markdown syntax",children:[(0,m.jsx)(i.p,{children:"Display images using simple Markdown syntax:"}),(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-md",children:"![Example banner](./assets/docusaurus-asset-example-banner.png)\n"})})]}),(0,m.jsxs)(y.Z,{value:"CommonJS require",children:[(0,m.jsxs)(i.p,{children:["Display images using inline CommonJS ",(0,m.jsx)(i.code,{children:"require"})," in JSX image tag:"]}),(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-jsx",children:"<img\n src={require('./assets/docusaurus-asset-example-banner.png').default}\n alt=\"Example banner\"\n/>\n"})})]}),(0,m.jsxs)(y.Z,{value:"Import statement",children:[(0,m.jsxs)(i.p,{children:["Display images using ES ",(0,m.jsx)(i.code,{children:"import"})," syntax and JSX image tag:"]}),(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-jsx",children:"import myImageUrl from './assets/docusaurus-asset-example-banner.png';\n\n<img src={myImageUrl} alt=\"Example banner\" />;\n"})})]})]}),"\n",(0,m.jsx)(i.p,{children:"All of the above result in displaying the image:"}),"\n",(0,m.jsx)(N.Z,{children:(0,m.jsx)(i.p,{children:(0,m.jsx)(i.img,{alt:"My image alternative text",src:s(87877).Z+"",width:"422",height:"110"})})}),"\n",(0,m.jsx)(i.admonition,{type:"note",children:(0,m.jsxs)(i.p,{children:["If you are using ",(0,m.jsx)(i.a,{href:"/docs/api/plugins/@docusaurus/plugin-ideal-image",children:"@docusaurus/plugin-ideal-image"}),", you need to use the dedicated image component, as documented."]})}),"\n",(0,m.jsx)(i.h2,{id:"files",children:"Files"}),"\n",(0,m.jsxs)(i.p,{children:["In the same way, you can link to existing assets by ",(0,m.jsx)(i.code,{children:"require"}),"'ing them and using the returned URL in ",(0,m.jsx)(i.code,{children:"video"}),"s, ",(0,m.jsx)(i.code,{children:"a"})," anchor links, etc."]}),"\n",(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-md",children:"# My Markdown page\n\n<a target=\"\\_blank\" href={require('./assets/docusaurus-asset-example.docx').default}> Download this docx </a>\n\nor\n\n[Download this docx using Markdown](./assets/docusaurus-asset-example.docx)\n"})}),"\n",(0,m.jsxs)(N.Z,{children:[(0,m.jsx)("a",{target:"_blank",href:s(69057).Z,children:"Download this docx"}),(0,m.jsx)(i.p,{children:(0,m.jsx)(i.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(38318).Z+"",children:"Download this docx using Markdown"})})]}),"\n",(0,m.jsx)(i.admonition,{title:"Markdown links are always file paths",type:"info",children:(0,m.jsxs)(i.p,{children:["If you use the Markdown image or link syntax, all asset paths will be resolved as file paths by Docusaurus and automatically converted to ",(0,m.jsx)(i.code,{children:"require()"})," calls. You don't need to use ",(0,m.jsx)(i.code,{children:"require()"})," in Markdown unless you use the JSX syntax, which you do have to handle yourself."]})}),"\n",(0,m.jsx)(i.h2,{id:"inline-svgs",children:"Inline SVGs"}),"\n",(0,m.jsx)(i.p,{children:"Docusaurus supports inlining SVGs out of the box."}),"\n",(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-jsx",children:"import DocusaurusSvg from './docusaurus.svg';\n\n<DocusaurusSvg />;\n"})}),"\n",(0,m.jsx)(N.Z,{children:(0,m.jsx)(P,{})}),"\n",(0,m.jsx)(i.p,{children:"This can be useful if you want to alter the part of the SVG image via CSS. For example, you can change one of the SVG colors based on the current theme."}),"\n",(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-jsx",children:"import DocusaurusSvg from './docusaurus.svg';\n\n<DocusaurusSvg className=\"themedDocusaurus\" />;\n"})}),"\n",(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-css",children:"[data-theme='light'] .themedDocusaurus [fill='#FFFF50'] {\n fill: greenyellow;\n}\n\n[data-theme='dark'] .themedDocusaurus [fill='#FFFF50'] {\n fill: seagreen;\n}\n"})}),"\n",(0,m.jsx)(N.Z,{children:(0,m.jsx)(P,{className:"themedDocusaurus"})}),"\n",(0,m.jsx)(i.h2,{id:"themed-images",children:"Themed Images"}),"\n",(0,m.jsxs)(i.p,{children:["Docusaurus supports themed images: the ",(0,m.jsx)(i.code,{children:"ThemedImage"})," component (included in the themes) allows you to switch the image source based on the current theme."]}),"\n",(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-jsx",children:"import useBaseUrl from '@docusaurus/useBaseUrl';\nimport ThemedImage from '@theme/ThemedImage';\n\n<ThemedImage\n alt=\"Docusaurus themed image\"\n // highlight-start\n sources={{\n light: useBaseUrl('/img/docusaurus_light.svg'),\n dark: useBaseUrl('/img/docusaurus_dark.svg'),\n }}\n // highlight-end\n/>;\n"})}),"\n","\n",(0,m.jsx)(N.Z,{children:(0,m.jsx)(w.Z,{alt:"Docusaurus themed image",sources:{light:(0,T.ZP)("/img/docusaurus_keytar.svg"),dark:(0,T.ZP)("/img/docusaurus_speed.svg")}})}),"\n",(0,m.jsx)(i.h3,{id:"github-style-themed-images",children:"GitHub-style themed images"}),"\n",(0,m.jsxs)(i.p,{children:["GitHub uses its own ",(0,m.jsx)(i.a,{href:"https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/",children:"image theming approach"})," with path fragments, which you can easily implement yourself."]}),"\n",(0,m.jsxs)(i.p,{children:["To toggle the visibility of an image using the path fragment (for GitHub, it's ",(0,m.jsx)(i.code,{children:"#gh-dark-mode-only"})," and ",(0,m.jsx)(i.code,{children:"#gh-light-mode-only"}),"), add the following to your custom CSS (you can also use your own suffix if you don't want to be coupled to GitHub):"]}),"\n",(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-css",metastring:'title="src/css/custom.css"',children:"[data-theme='light'] img[src$='#gh-dark-mode-only'],\n[data-theme='dark'] img[src$='#gh-light-mode-only'] {\n display: none;\n}\n"})}),"\n",(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-md",children:"![Docusaurus themed image](/img/docusaurus_keytar.svg#gh-light-mode-only)![Docusaurus themed image](/img/docusaurus_speed.svg#gh-dark-mode-only)\n"})}),"\n",(0,m.jsx)(N.Z,{children:(0,m.jsxs)(i.p,{children:[(0,m.jsx)(i.img,{alt:"Docusaurus themed image",src:s(80703).Z+"#gh-light-mode-only",width:"200",height:"200"}),(0,m.jsx)(i.img,{alt:"Docusaurus themed image",src:s(63376).Z+"#gh-dark-mode-only",width:"250",height:"200"})]})}),"\n",(0,m.jsx)(i.h2,{id:"static-assets",children:"Static assets"}),"\n",(0,m.jsxs)(i.p,{children:["If a Markdown link or image has an absolute path, the path will be seen as a file path and will be resolved from the static directories. For example, if you have configured ",(0,m.jsx)(i.a,{href:"/docs/static-assets",children:"static directories"})," to be ",(0,m.jsx)(i.code,{children:"['public', 'static']"}),", then for the following image:"]}),"\n",(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-md",metastring:'title="my-doc.md"',children:"![An image from the static](/img/docusaurus.png)\n"})}),"\n",(0,m.jsxs)(i.p,{children:["Docusaurus will try to look for it in both ",(0,m.jsx)(i.code,{children:"static/img/docusaurus.png"})," and ",(0,m.jsx)(i.code,{children:"public/img/docusaurus.png"}),". The link will then be converted to a ",(0,m.jsx)(i.code,{children:"require()"})," call instead of staying as a URL. This is desirable in two regards:"]}),"\n",(0,m.jsxs)(i.ol,{children:["\n",(0,m.jsx)(i.li,{children:"You don't have to worry about the base URL, which Docusaurus will take care of when serving the asset;"}),"\n",(0,m.jsx)(i.li,{children:"The image enters Webpack's build pipeline and its name will be appended by a hash, which enables browsers to aggressively cache the image and improves your site's performance."}),"\n"]}),"\n",(0,m.jsxs)(i.p,{children:["If you intend to write URLs, you can use the ",(0,m.jsx)(i.code,{children:"pathname://"})," protocol to disable automatic asset linking."]}),"\n",(0,m.jsx)(i.pre,{children:(0,m.jsx)(i.code,{className:"language-md",children:"![banner](pathname:///img/docusaurus-asset-example-banner.png)\n"})}),"\n",(0,m.jsxs)(i.p,{children:["This link will be generated as ",(0,m.jsx)(i.code,{children:'<img src="/img/docusaurus-asset-example-banner.png" alt="banner" />'}),", without any processing or file existence checking."]})]})}function E(e={}){let{wrapper:i}={...(0,h.a)(),...e.components};return i?(0,m.jsx)(i,{...e,children:(0,m.jsx)(b,{...e})}):b(e)}},58636:function(e,i,s){s.d(i,{Z:()=>t});var a=s(85893);s(67294);var I=s(90496);function t(e){let{children:i,hidden:s,className:t}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,I.Z)("tabItem_pnkT",t),hidden:s,children:i})}},15398:function(e,i,s){s.d(i,{Z:()=>N});var a=s(85893),I=s(67294),t=s(90496),n=s(54947),l=s(3620),r=s(844),c=s(97486),g=s(32263),j=s(16971);function o(e){return I.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||I.isValidElement(e)&&function(e){let{props:i}=e;return!!i&&"object"==typeof i&&"value"in i}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function d(e){let{value:i,tabValues:s}=e;return s.some(e=>e.value===i)}var u=s(71607);function M(e){let{className:i,block:s,selectedValue:I,selectValue:l,tabValues:r}=e,c=[],{blockElementScrollPositionUntilNextRender:g}=(0,n.o5)(),j=e=>{let i=e.currentTarget,s=r[c.indexOf(i)].value;s!==I&&(g(i),l(s))},o=e=>{let i=null;switch(e.key){case"Enter":j(e);break;case"ArrowRight":{let s=c.indexOf(e.currentTarget)+1;i=c[s]??c[0];break}case"ArrowLeft":{let s=c.indexOf(e.currentTarget)-1;i=c[s]??c[c.length-1]}}i?.focus()};return(0,a.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,t.Z)("tabs",{"tabs--block":s},i),children:r.map(e=>{let{value:i,label:s,attributes:n}=e;return(0,a.jsx)("li",{role:"tab",tabIndex:I===i?0:-1,"aria-selected":I===i,ref:e=>{c.push(e)},onKeyDown:o,onClick:j,...n,className:(0,t.Z)("tabs__item","tabItem_AQgk",n?.className,{"tabs__item--active":I===i}),children:s??i},i)})})}function m(e){let{lazy:i,children:s,selectedValue:n}=e,l=(Array.isArray(s)?s:[s]).filter(Boolean);if(i){let e=l.find(e=>e.props.value===n);return e?(0,I.cloneElement)(e,{className:(0,t.Z)("margin-top--md",e.props.className)}):null}return(0,a.jsx)("div",{className:"margin-top--md",children:l.map((e,i)=>(0,I.cloneElement)(e,{key:i,hidden:e.props.value!==n}))})}function h(e){let i=function(e){let{defaultValue:i,queryString:s=!1,groupId:a}=e,t=function(e){let{values:i,children:s}=e;return(0,I.useMemo)(()=>{let e=i??o(s).map(e=>{let{props:{value:i,label:s,attributes:a,default:I}}=e;return{value:i,label:s,attributes:a,default:I}});return!function(e){let i=(0,g.lx)(e,(e,i)=>e.value===i.value);if(i.length>0)throw Error(`Docusaurus error: Duplicate values "${i.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[i,s])}(e),[n,u]=(0,I.useState)(()=>(function(e){let{defaultValue:i,tabValues:s}=e;if(0===s.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(i){if(!d({value:i,tabValues:s}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${i}" but none of its children has the corresponding value. Available values are: ${s.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return i}let a=s.find(e=>e.default)??s[0];if(!a)throw Error("Unexpected error: 0 tabValues");return a.value})({defaultValue:i,tabValues:t})),[M,m]=function(e){let{queryString:i=!1,groupId:s}=e,a=(0,l.k6)(),t=function(e){let{queryString:i=!1,groupId:s}=e;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!s)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:i,groupId:s});return[(0,c._X)(t),(0,I.useCallback)(e=>{if(!t)return;let i=new URLSearchParams(a.location.search);i.set(t,e),a.replace({...a.location,search:i.toString()})},[t,a])]}({queryString:s,groupId:a}),[h,N]=function(e){let{groupId:i}=e,s=i?`docusaurus.tab.${i}`:null,[a,t]=(0,j.Nk)(s);return[a,(0,I.useCallback)(e=>{s&&t.set(e)},[s,t])]}({groupId:a}),x=(()=>{let e=M??h;return d({value:e,tabValues:t})?e:null})();return(0,r.Z)(()=>{x&&u(x)},[x]),{selectedValue:n,selectValue:(0,I.useCallback)(e=>{if(!d({value:e,tabValues:t}))throw Error(`Can't select invalid tab value=${e}`);u(e),m(e),N(e)},[m,N,t]),tabValues:t}}(e);return(0,a.jsxs)("div",{className:(0,t.Z)("tabs-container","tabList_Qoir"),children:[(0,a.jsx)(M,{...i,...e}),(0,a.jsx)(m,{...i,...e})]})}function N(e){let i=(0,u.Z)();return(0,a.jsx)(h,{...e,children:o(e.children)},String(i))}},14522:function(e,i,s){s.d(i,{Z:()=>l});var a=s(85893);s(67294);var I=s(90496);let t="dot_giz1",n="bar_rrRL";function l(e){let{children:i,minHeight:s,url:l="http://localhost:3000",style:r,bodyStyle:c}=e;return(0,a.jsxs)("div",{className:"browserWindow_my1Q",style:{...r,minHeight:s},children:[(0,a.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,a.jsxs)("div",{className:"buttons_uHc7",children:[(0,a.jsx)("span",{className:t,style:{background:"#f25f58"}}),(0,a.jsx)("span",{className:t,style:{background:"#fbbe3c"}}),(0,a.jsx)("span",{className:t,style:{background:"#58cb42"}})]}),(0,a.jsx)("div",{className:(0,I.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:l}),(0,a.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:n}),(0,a.jsx)("span",{className:n}),(0,a.jsx)("span",{className:n})]})})]}),(0,a.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:i})]})}},80980:function(e,i,s){s.d(i,{Z:()=>l,a:()=>n});var a=s(67294);let I={},t=a.createContext(I);function n(e){let i=a.useContext(t);return a.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(I):e.components||I:n(e.components),a.createElement(t.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4a3883fa.79091d5f.js b/assets/js/4a3883fa.79091d5f.js new file mode 100644 index 0000000000..3f954fe229 --- /dev/null +++ b/assets/js/4a3883fa.79091d5f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["55174"],{74351:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>d,default:()=>c,contentTitle:()=>o,assets:()=>r,toc:()=>l,metadata:()=>s});var s=JSON.parse('{"type":"mdx","permalink":"/tests/pages/unlisted","source":"@site/_dogfooding/_pages tests/unlisted.mdx","title":"Unlisted page","description":"This unlisted page should always be directly accessible, but hidden from search engines","frontMatter":{"unlisted":true},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/unlisted.mdx","unlisted":true}'),i=n(85893),a=n(80980);let d={unlisted:!0},o="Unlisted page",r={},l=[];function u(e){let t={h1:"h1",header:"header",p:"p",...(0,a.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"unlisted-page",children:"Unlisted page"})}),"\n",(0,i.jsx)(t.p,{children:"This unlisted page should always be directly accessible, but hidden from search engines"})]})}function c(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>o,a:()=>d});var s=n(67294);let i={},a=s.createContext(i);function d(e){let t=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4a70d01c.2e784686.js b/assets/js/4a70d01c.2e784686.js new file mode 100644 index 0000000000..5eb8e0f22b --- /dev/null +++ b/assets/js/4a70d01c.2e784686.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["21412"],{29400:function(e,l,s){s.r(l),s.d(l,{assets:()=>h,contentTitle:()=>a,default:()=>u,frontMatter:()=>t,metadata:()=>n,toc:()=>o});var n=s(43587),r=s(85893),i=s(80980);let t={mdx:{format:"md"},date:"2021-04-27T20:00",authors:["alena-ko","arnaudjnn","JeremyDolle","johnnyreilly","kazk","lex111","lisa761","luism3861","MisterFISHUP","react-learner","SamChou19815","slorber"]},a="2.0.0-alpha.74",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 12",id:"committers-12",level:2}];function c(e){let l={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:["Other\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4515",children:"#4515"})," feat(v2): add tag filters to showcase page (",(0,r.jsx)(l.a,{href:"https://github.com/lisa761",children:"@lisa761"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4658",children:"#4658"})," feat(v2): allow user to customize/enhance the default sidebar items generator (",(0,r.jsx)(l.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4655",children:"#4655"})," feat(v2): docs, make numberPrefixParser configurable, better defaults, minor breaking-changes (",(0,r.jsx)(l.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(l.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(l.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(l.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(l.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4688",children:"#4688"})," fix(v2): fix title logic (meta vs heading) + ignore fixed anchor id syntax (",(0,r.jsx)(l.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4689",children:"#4689"})," chore(v2): update infima to alpha 23 (",(0,r.jsx)(l.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4667",children:"#4667"})," fix(v2): Unbreak blog post title by handling title fallback in ",(0,r.jsx)(l.code,{children:"LayoutHead"})," (",(0,r.jsx)(l.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4687",children:"#4687"})," fix(v2): accept empty/null custom_edit_url docs frontmatter for retrocompat (",(0,r.jsx)(l.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4651",children:"#4651"})," fix(v2): sidebar autogen from subfolder should read category metadata correctly (",(0,r.jsx)(l.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4629",children:"#4629"})," fix(v2): fix validation rejecting admonitions false (",(0,r.jsx)(l.a,{href:"https://github.com/kazk",children:"@kazk"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(l.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(l.code,{children:"docusaurus-utils-validation"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4654",children:"#4654"})," fix(v2): fix too strict markdown frontmatter validation (",(0,r.jsx)(l.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4646",children:"#4646"})," fix(v2): ignore imports when h1 heading parsing (",(0,r.jsx)(l.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4641",children:"#4641"})," fix(v2): parse headings directly after h1 properly (",(0,r.jsx)(l.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(l.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4682",children:"#4682"})," refactor(v2): align external icon on right (",(0,r.jsx)(l.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(l.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4496",children:"#4496"})," docs(v2): Add Qovery to deployment doc (",(0,r.jsx)(l.a,{href:"https://github.com/arnaudjnn",children:"@arnaudjnn"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4680",children:"#4680"})," docs(v2): Fix urls in deployment.md (",(0,r.jsx)(l.a,{href:"https://github.com/luism3861",children:"@luism3861"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4668",children:"#4668"})," docs(v2): Add Hostman to deployment doc (",(0,r.jsx)(l.a,{href:"https://github.com/alena-ko",children:"@alena-ko"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4676",children:"#4676"})," docs(v2): Add Daily Digest - COVID-19 IN FRANCE to showcase (",(0,r.jsx)(l.a,{href:"https://github.com/MisterFISHUP",children:"@MisterFISHUP"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4643",children:"#4643"})," docs(v2): Fix typo in installation.md (",(0,r.jsx)(l.a,{href:"https://github.com/react-learner",children:"@react-learner"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4649",children:"#4649"})," docs(v2): Add new showcase user (",(0,r.jsx)(l.a,{href:"https://github.com/JeremyDolle",children:"@JeremyDolle"}),")"]}),"\n"]}),"\n",(0,r.jsx)(l.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:["Other\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4670",children:"#4670"})," chore: add some redirects to v1.docusaurus.io (",(0,r.jsx)(l.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.code,{children:"docusaurus-init"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:[(0,r.jsx)(l.a,{href:"https://github.com/facebook/docusaurus/pull/4631",children:"#4631"})," chore(v2): update examples to use alpha73 (",(0,r.jsx)(l.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(l.h2,{id:"committers-12",children:"Committers: 12"}),"\n",(0,r.jsxs)(l.ul,{children:["\n",(0,r.jsxs)(l.li,{children:["Alexey Pyltsyn (",(0,r.jsx)(l.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["Arnaud Jeannin (",(0,r.jsx)(l.a,{href:"https://github.com/arnaudjnn",children:"@arnaudjnn"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["DOLLE (",(0,r.jsx)(l.a,{href:"https://github.com/JeremyDolle",children:"@JeremyDolle"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["John Reilly (",(0,r.jsx)(l.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["Lisa Chandra (",(0,r.jsx)(l.a,{href:"https://github.com/lisa761",children:"@lisa761"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["Luis Medina Huerta (",(0,r.jsx)(l.a,{href:"https://github.com/luism3861",children:"@luism3861"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["Sam Zhou (",(0,r.jsx)(l.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["S\xe9bastien Lorber (",(0,r.jsx)(l.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(l.li,{children:["Tommy (",(0,r.jsx)(l.a,{href:"https://github.com/react-learner",children:"@react-learner"}),")"]}),"\n",(0,r.jsx)(l.li,{children:(0,r.jsx)(l.a,{href:"https://github.com/MisterFISHUP",children:"@MisterFISHUP"})}),"\n",(0,r.jsx)(l.li,{children:(0,r.jsx)(l.a,{href:"https://github.com/alena-ko",children:"@alena-ko"})}),"\n",(0,r.jsxs)(l.li,{children:["kazk (",(0,r.jsx)(l.a,{href:"https://github.com/kazk",children:"@kazk"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:l}={...(0,i.a)(),...e.components};return l?(0,r.jsx)(l,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},80980:function(e,l,s){s.d(l,{Z:()=>a,a:()=>t});var n=s(67294);let r={},i=n.createContext(r);function t(e){let l=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(l):{...l,...e}},[l,e])}function a(e){let l;return l=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),n.createElement(i.Provider,{value:l},e.children)}},43587:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.74","source":"@site/changelog/source/2.0.0-alpha.74.md","title":"2.0.0-alpha.74","description":"New Feature","date":"2021-04-27T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"alena-ko","alias":"alena-ko","url":"https://github.com/alena-ko","imageURL":"https://github.com/alena-ko.png","key":"alena-ko","page":null},{"name":"Arnaud Jeannin","alias":"arnaudjnn","url":"https://github.com/arnaudjnn","imageURL":"https://github.com/arnaudjnn.png","key":"arnaudjnn","page":null},{"name":"DOLLE","alias":"JeremyDolle","url":"https://github.com/JeremyDolle","imageURL":"https://github.com/JeremyDolle.png","key":"JeremyDolle","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"kazk","alias":"kazk","url":"https://github.com/kazk","imageURL":"https://github.com/kazk.png","key":"kazk","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lisa Chandra","alias":"lisa761","url":"https://github.com/lisa761","imageURL":"https://github.com/lisa761.png","key":"lisa761","page":null},{"name":"Luis Medina Huerta","alias":"luism3861","url":"https://github.com/luism3861","imageURL":"https://github.com/luism3861.png","key":"luism3861","page":null},{"name":"MisterFISHUP","alias":"MisterFISHUP","url":"https://github.com/MisterFISHUP","imageURL":"https://github.com/MisterFISHUP.png","key":"MisterFISHUP","page":null},{"name":"Tommy","alias":"react-learner","url":"https://github.com/react-learner","imageURL":"https://github.com/react-learner.png","key":"react-learner","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-04-27T20:00","authors":["alena-ko","arnaudjnn","JeremyDolle","johnnyreilly","kazk","lex111","lisa761","luism3861","MisterFISHUP","react-learner","SamChou19815","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.75","permalink":"/changelog/2.0.0-alpha.75"},"nextItem":{"title":"2.0.0-alpha.73","permalink":"/changelog/2.0.0-alpha.73"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/4ab187ba.85ecc34b.js b/assets/js/4ab187ba.85ecc34b.js new file mode 100644 index 0000000000..cfc794cf58 --- /dev/null +++ b/assets/js/4ab187ba.85ecc34b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["67700"],{86041:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>c,default:()=>u,contentTitle:()=>r,assets:()=>a,toc:()=>d,metadata:()=>o});var o=JSON.parse('{"id":"tests/category-links/custom-index-convention/intro","title":"Introduction","description":"This file is called intro.md. Typically, it won\'t be selected by the convention; however, it is in this case, because we have used a custom one.","source":"@site/_dogfooding/_docs tests/tests/category-links/custom-index-convention/intro.mdx","sourceDirName":"tests/category-links/custom-index-convention","slug":"/tests/category-links/custom-index-convention/intro","permalink":"/tests/docs/tests/category-links/custom-index-convention/intro","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Category Links","permalink":"/tests/docs/category-links-generated-index-slug"},"next":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/custom-index-convention/sample-doc"}}'),s=n(85893),i=n(80980);let c={},r="Introduction",a={},d=[];function l(e){let t={code:"code",h1:"h1",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,s.jsxs)(t.p,{children:["This file is called ",(0,s.jsx)(t.code,{children:"intro.md"}),". Typically, it won't be selected by the convention; however, it is in this case, because we have used a custom one."]})]})}function u(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}u.displayName="MDXContent(_dogfooding/_docs tests/tests/category-links/custom-index-convention/intro.mdx)"},80980:function(e,t,n){n.d(t,{Z:()=>r,a:()=>c});var o=n(67294);let s={},i=o.createContext(s);function c(e){let t=o.useContext(i);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4b7113b6.654b7985.js b/assets/js/4b7113b6.654b7985.js new file mode 100644 index 0000000000..b355cac0eb --- /dev/null +++ b/assets/js/4b7113b6.654b7985.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["20181"],{22585:function(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Tests","slug":"/category/tests","permalink":"/tests/docs/category/tests","sidebar":"sidebar","navigation":{"previous":{"title":"Doc With Last Update Front Matter","permalink":"/tests/docs/doc-with-last-update"},"next":{"title":"Case-Sensitive doc","permalink":"/tests/docs/tests/Case-Sentitive-Doc"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/4c9d8eaa.33dd6e95.js b/assets/js/4c9d8eaa.33dd6e95.js new file mode 100644 index 0000000000..8b2cfa6555 --- /dev/null +++ b/assets/js/4c9d8eaa.33dd6e95.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["3906"],{52180:function(e,t,i){i.r(t),i.d(t,{frontMatter:()=>b,default:()=>y,contentTitle:()=>x,assets:()=>g,toc:()=>j,metadata:()=>n});var n=JSON.parse('{"id":"team","title":"Team","description":"Active Team","source":"@site/community/1-team.mdx","sourceDirName":".","slug":"/team","permalink":"/community/team","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/1-team.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":1,"frontMatter":{},"sidebar":"community","previous":{"title":"Support","permalink":"/community/support"},"next":{"title":"Awesome Resources","permalink":"/community/resources"}}'),a=i(85893),s=i(80980);i(67294);var r=i(77827),o=i(35363),l=i(57922);function h(e){let{to:t,children:i}=e;return(0,a.jsx)(o.Z,{to:t,children:i??(0,a.jsx)(r.Z,{id:"team.profile.websiteLinkLabel",children:"website"})})}function c(e){let{className:t,name:i,children:n,githubUrl:s,xUrl:r}=e;return(0,a.jsx)("div",{className:t,children:(0,a.jsxs)("div",{className:"card card--full-height",children:[(0,a.jsx)("div",{className:"card__header",children:(0,a.jsxs)("div",{className:"avatar avatar--vertical",children:[(0,a.jsx)("img",{className:"avatar__photo avatar__photo--xl",src:`${s}.png`,alt:`${i}'s avatar`}),(0,a.jsx)("div",{className:"avatar__intro",children:(0,a.jsx)(l.Z,{as:"h3",className:"avatar__name",children:i})})]})}),(0,a.jsx)("div",{className:"card__body",children:n}),(0,a.jsx)("div",{className:"card__footer",children:(0,a.jsxs)("div",{className:"button-group button-group--block",children:[s&&(0,a.jsx)(o.Z,{className:"button button--secondary",href:s,children:"GitHub"}),r&&(0,a.jsx)(o.Z,{className:"button button--secondary",href:r,children:"X"})]})})]})})}function d(e){return(0,a.jsx)(c,{...e,className:"col col--6 margin-bottom--lg"})}function u(){return(0,a.jsxs)("div",{className:"row",children:[(0,a.jsx)(d,{name:"S\xe9bastien Lorber",githubUrl:"https://github.com/slorber",xUrl:"https://x.com/sebastienlorber",children:(0,a.jsx)(r.Z,{id:"team.profile.Sebastien Lorber.body",values:{website:(0,a.jsx)(h,{to:"https://sebastienlorber.com/"}),devto:(0,a.jsx)(o.Z,{to:"https://dev.to/sebastienlorber",children:"Dev.to"})},children:"React lover since 2014. Freelance, helping Facebook ship Docusaurus v2. He writes regularly, on his {website} and {devto}."})}),(0,a.jsx)(d,{name:"Sida Chen",githubUrl:"https://github.com/Josh-Cena",xUrl:"https://x.com/SidaChen63",children:(0,a.jsx)(r.Z,{id:"team.profile.Sida Chen.body",children:"Student from Shanghai, China. Enthusiastic open-source project creator, but never actually works hard on those projects he created."})}),(0,a.jsx)(d,{name:"Cl\xe9ment Couriol",githubUrl:"https://github.com/ozakione",children:(0,a.jsx)(r.Z,{id:"team.profile.Clement Couriol.body",children:"Student from CPE Lyon, France. Passionate web developer who tries to become an expert web developer."})})]})}function m(){return(0,a.jsxs)("div",{className:"row",children:[(0,a.jsx)(d,{name:"Joel Marcey",githubUrl:"https://github.com/JoelMarcey",xUrl:"https://x.com/joelmarcey",children:(0,a.jsx)(r.Z,{id:"team.profile.Joel Marcey.body",children:"Docusaurus founder and now ever grateful Docusaurus cheerleader to those who actually write code for it."})}),(0,a.jsx)(d,{name:"Alexey Pyltsyn",githubUrl:"https://github.com/lex111",children:(0,a.jsx)(r.Z,{id:"team.profile.Alexey Pyltsyn.body",children:"Obsessed open-source enthusiast \uD83D\uDC4B Eternal amateur at everything \uD83E\uDD37\u200D\u2642\uFE0F Maintainer of Russian docs on PHP, React, Kubernetes and much more \uD83E\uDDD0"})}),(0,a.jsx)(d,{name:"Yangshun Tay",githubUrl:"https://github.com/yangshun",xUrl:"https://x.com/yangshunz",children:(0,a.jsx)(r.Z,{id:"team.profile.Yangshun Tay.body",children:"Full Front End Stack developer who likes working on the Jamstack. Working on Docusaurus made him Facebook's unofficial part-time Open Source webmaster, which is an awesome role to be in."})}),(0,a.jsx)(d,{name:"Endilie Yacop Sucipto",githubUrl:"https://github.com/endiliey",xUrl:"https://x.com/endiliey",children:(0,a.jsx)(r.Z,{id:"team.profile.Endilie Yacop Sucipto.body",children:"Maintainer @docusaurus \xb7 \uD83D\uDD25\uD83D\uDD25\uD83D\uDD25"})}),(0,a.jsx)(d,{name:"Wei Gao",githubUrl:"https://github.com/wgao19",xUrl:"https://x.com/wgao19",children:(0,a.jsx)(r.Z,{id:"team.profile.Wei Gao.body",children:"\uD83C\uDFFB\u200D\uD83C\uDF3E Work in progress React developer, maintains Docusaurus, writes docs and spams this world with many websites."})})]})}function p(){return(0,a.jsxs)("div",{className:"row",children:[(0,a.jsx)(d,{name:"Anshul Goyal",githubUrl:"https://github.com/anshulrgoyal",xUrl:"https://x.com/ar_goyal",children:(0,a.jsx)(r.Z,{id:"team.profile.Anshul Goyal.body",values:{websiteLink:(0,a.jsx)(o.Z,{href:"https://anshulgoyal.dev/",children:(0,a.jsx)(r.Z,{id:"team.profile.Anshul Goyal.body.websiteLink.label",children:"website"})})},children:"Fullstack developer who loves to code and try new technologies. In his free time, he contributes to open source, writes blog posts on his {websiteLink} and watches Anime."})}),(0,a.jsx)(d,{name:"Drew Alexander",githubUrl:"https://github.com/drewbi",children:(0,a.jsx)(r.Z,{id:"team.profile.Drew Alexander.body",children:"Developer and Creative, trying to gain the skills to build whatever he can think of."})}),(0,a.jsx)(d,{name:"Fanny Vieira",githubUrl:"https://github.com/fanny",xUrl:"https://x.com/fannyvieiira",children:(0,a.jsx)(r.Z,{id:"team.profile.Fanny Vieira.body",values:{blogLink:(0,a.jsx)(o.Z,{href:"https://dev.to/fannyvieira",children:(0,a.jsx)(r.Z,{id:"team.profile.Fanny Vieira.body.blogLink.label",children:"her blog"})}),spotifyLink:(0,a.jsx)(o.Z,{href:"https://open.spotify.com/user/anotherfanny",children:(0,a.jsx)(r.Z,{id:"team.profile.Fanny Vieira.body.spotifyLink.label",children:"Spotify playlists"})})},children:"Fanny got started with web development in high school, building a project for the school kitchen. In her free time she loves contributing to Open Source, occasionally writing on {blogLink} about her experiences, cooking, and creating {spotifyLink}."})}),(0,a.jsx)(d,{name:"Sam Zhou",githubUrl:"https://github.com/SamChou19815",xUrl:"https://x.com/SamChou19815",children:(0,a.jsx)(r.Z,{id:"team.profile.Sam Zhou.body",values:{websiteLink:(0,a.jsx)(o.Z,{href:"https://developersam.com",children:(0,a.jsx)(r.Z,{id:"team.profile.Anshul Goyal.body.websiteLink.label",children:"website"})}),samLangLink:(0,a.jsx)(o.Z,{href:"https://samlang.developersam.com/",children:(0,a.jsx)(r.Z,{id:"team.profile.Sam Zhou.body.samLangLink.label",children:"programming language"})}),miniReactLink:(0,a.jsx)(o.Z,{href:"https://github.com/SamChou19815/mini-react",children:(0,a.jsx)(r.Z,{id:"team.profile.Sam Zhou.body.miniReactLink.label",children:"mini React"})})},children:"Sam started programming in 2011 and built his {websiteLink} in 2015. He is interested in programming languages, dev infra and web development, and has built his own {samLangLink} and {miniReactLink}."})}),(0,a.jsx)(d,{name:"Tan Teik Jun",githubUrl:"https://github.com/teikjun",xUrl:"https://x.com/teik_jun",children:(0,a.jsx)(r.Z,{id:"team.profile.Tan Teik Jun.body",children:"Open-source enthusiast who aims to become as awesome as the other humans on this page. Working on Docusaurus brought him closer to his goal. \uD83C\uDF31"})}),(0,a.jsx)(d,{name:"Nisarag Bhatt",githubUrl:"https://github.com/FocalChord",xUrl:"https://x.com/focalchord_",children:(0,a.jsx)(r.Z,{id:"team.profile.Nisarag Bhatt.body",children:"Fullstack web developer who loves learning new technologies and applying them! Loves contributing to open source as well as writing content articles and tutorials."})})]})}let b={},x="Team",g={},j=[{value:"Active Team",id:"active-team",level:2},{value:"Honorary Alumni",id:"honorary-alumni",level:2},{value:"Student Fellows",id:"student-fellows",level:2},{value:"Acknowledgements",id:"acknowledgements",level:2}];function f(e){let t={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"team",children:"Team"})}),"\n","\n",(0,a.jsx)(t.h2,{id:"active-team",children:"Active Team"}),"\n",(0,a.jsx)(t.p,{children:"The Docusaurus team works on the core functionality, plugins for the classic theme, as well as the Docusaurus documentation website."}),"\n",(0,a.jsx)(t.p,{children:"Current members of the Docusaurus team are listed in alphabetical order below."}),"\n",(0,a.jsx)(u,{}),"\n",(0,a.jsx)(t.h2,{id:"honorary-alumni",children:"Honorary Alumni"}),"\n",(0,a.jsx)(t.p,{children:"Docusaurus would never be what it is today without the huge contributions from these folks who have moved on to bigger and greater things."}),"\n",(0,a.jsx)(m,{}),"\n",(0,a.jsx)(t.h2,{id:"student-fellows",children:"Student Fellows"}),"\n",(0,a.jsxs)(t.p,{children:["A handful of students have also worked on Docusaurus as part of their school term/internship and the ",(0,a.jsx)(t.a,{href:"https://fellowship.mlh.io/",children:"Major League Hacking Fellowship program"}),", contributing amazing features such as plugin options validation, migration tooling, and a Bootstrap theme."]}),"\n",(0,a.jsx)(p,{}),"\n",(0,a.jsx)(t.h2,{id:"acknowledgements",children:"Acknowledgements"}),"\n",(0,a.jsx)(t.p,{children:"Docusaurus was originally created by Joel Marcey. Today, Docusaurus has a few hundred open source contributors. We\u2019d like to recognize a few people who have made significant contributions to Docusaurus and its documentation in the past and have helped maintain them over the years:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/amyrlam",children:"Amy Lam"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/chenglou",children:"Cheng Lou"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/caabernathy",children:"Christine Abernathy"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/vjeux",children:"Christopher Chedeau"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/elviswolcott",children:"Elvis Wolcott"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/ericnakagawa",children:"Eric Nakagawa"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/fiennyangeln",children:"Fienny Angelina"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/deltice",children:"Frank Li"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/hramos",children:"H\xe9ctor Ramos"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/rlamana",children:"Ram\xf3n Lamana"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/rickyvetter",children:"Ricky Vetter"})}),"\n"]})]})}function y(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(f,{...e})}):f(e)}},80980:function(e,t,i){i.d(t,{Z:()=>o,a:()=>r});var n=i(67294);let a={},s=n.createContext(a);function r(e){let t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4cff09f6.e27d9614.js b/assets/js/4cff09f6.e27d9614.js new file mode 100644 index 0000000000..0f0adb3791 --- /dev/null +++ b/assets/js/4cff09f6.e27d9614.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["64350"],{9627:function(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Docusaurus Guides","description":"Let\'s learn about the most important Docusaurus concepts!","image":"/img/docusaurus.png","keywords":["guides"],"slug":"/category/guides","permalink":"/docs/category/guides","sidebar":"docs","navigation":{"previous":{"title":"TypeScript Support","permalink":"/docs/typescript-support"},"next":{"title":"Pages","permalink":"/docs/creating-pages"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/4da4b771.2d2ec5ff.js b/assets/js/4da4b771.2d2ec5ff.js new file mode 100644 index 0000000000..109fc68475 --- /dev/null +++ b/assets/js/4da4b771.2d2ec5ff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["70984"],{27495:function(e,t,n){n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>u});var r=n(98783),o=n(85893),a=n(80980);let s={mdx:{format:"md"},date:"2024-11-22T20:00",authors:["slorber"]},l="3.6.3",i={authorsImageUrls:[void 0]},u=[];function c(e){return(0,o.jsx)(o.Fragment,{})}function m(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>s});var r=n(67294);let o={},a=r.createContext(o);function s(e){let t=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(a.Provider,{value:t},e.children)}},98783:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.6.3","source":"@site/changelog/source/3.6.3.md","title":"3.6.3","description":"Bug Fix","date":"2024-11-22T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-11-22T20:00","authors":["slorber"]},"unlisted":false,"prevItem":{"title":"3.7.0","permalink":"/changelog/3.7.0"},"nextItem":{"title":"3.6.2","permalink":"/changelog/3.6.2"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/4e761ad8.3138094a.js b/assets/js/4e761ad8.3138094a.js new file mode 100644 index 0000000000..cd409af31a --- /dev/null +++ b/assets/js/4e761ad8.3138094a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["8718"],{43443:function(t,e,s){s.r(e),s.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>c,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var i=s(71895),n=s(85893),o=s(80980);let l={title:"Unlisted blog post",unlisted:!0,tags:["blog","visibility","unlisted"],slug:"/unlisted-post"},a=void 0,r={authorsImageUrls:[]},d=[];function u(t){let e={p:"p",...(0,o.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:'This unlisted blog post should be "hidden" in production, but remain accessible.'}),"\n",(0,n.jsx)(e.p,{children:"It is filtered from the sidebar, sitemap, SEO indexation..."})]})}function c(t={}){let{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(u,{...t})}):u(t)}},80980:function(t,e,s){s.d(e,{Z:()=>a,a:()=>l});var i=s(67294);let n={},o=i.createContext(n);function l(t){let e=i.useContext(o);return i.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:l(t.components),i.createElement(o.Provider,{value:e},t.children)}},71895:function(t){t.exports=JSON.parse('{"permalink":"/tests/blog/unlisted-post","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-08-24-post-unlisted.mdx","source":"@site/_dogfooding/_blog tests/2022-08-24-post-unlisted.mdx","title":"Unlisted blog post","description":"This unlisted blog post should be \\"hidden\\" in production, but remain accessible.","date":"2022-08-24T00:00:00.000Z","tags":[{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Visibility","permalink":"/tests/blog/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/blog/tags/unlisted"}],"readingTime":4.2,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Unlisted blog post","unlisted":true,"tags":["blog","visibility","unlisted"],"slug":"/unlisted-post"},"unlisted":true}')}}]); \ No newline at end of file diff --git a/assets/js/4ee169f9.9e93232e.js b/assets/js/4ee169f9.9e93232e.js new file mode 100644 index 0000000000..49a1303a62 --- /dev/null +++ b/assets/js/4ee169f9.9e93232e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["7779"],{85130:function(t,e,s){s.r(e),s.d(e,{frontMatter:()=>d,default:()=>c,contentTitle:()=>o,assets:()=>r,toc:()=>a,metadata:()=>i});var i=JSON.parse('{"id":"tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1","title":"Unlisted 1","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1.mdx","sourceDirName":"tests/visibility/some-unlisteds/subcategory-with-listed-index","slug":"/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1","permalink":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"}'),n=s(85893),l=s(80980);let d={unlisted:!0,tags:["visibility","unlisted"]},o="Unlisted 1",r={},a=[];function u(t){let e={h1:"h1",header:"header",p:"p",...(0,l.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"unlisted-1",children:"Unlisted 1"})}),"\n",(0,n.jsx)(e.p,{children:"Doc with unlisted front matter"})]})}function c(t={}){let{wrapper:e}={...(0,l.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(u,{...t})}):u(t)}c.displayName="MDXContent(_dogfooding/_docs tests/tests/visibility/some-unlisteds/subcategory-with-listed-index/unlisted1.mdx)"},80980:function(t,e,s){s.d(e,{Z:()=>o,a:()=>d});var i=s(67294);let n={},l=i.createContext(n);function d(t){let e=i.useContext(l);return i.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:d(t.components),i.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/4f8c86e0.123757e6.js b/assets/js/4f8c86e0.123757e6.js new file mode 100644 index 0000000000..1bcd627ab3 --- /dev/null +++ b/assets/js/4f8c86e0.123757e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["27208"],{56318:function(t,e,o){o.r(e),o.d(e,{assets:()=>r,contentTitle:()=>g,default:()=>c,frontMatter:()=>a,metadata:()=>n,toc:()=>i});var n=o(40421),l=o(85893),s=o(80980);let a={authors:["slorber",{name:"Josh-Cena",image_url:"https://avatars.githubusercontent.com/u/55398995?v=4",url:"https://joshcena.com"}],tags:["blog","docusaurus","paginated-tag","long","long-long","long-long-long","long-long-long-long","long-long-long-long-long"]},g="Multiple authors",r={authorsImageUrls:[void 0,void 0]},i=[];function u(t){let e={p:"p",...(0,s.a)(),...t.components};return(0,l.jsx)(e.p,{children:"You can have multiple authors for one blog post!"})}function c(t={}){let{wrapper:e}={...(0,s.a)(),...t.components};return e?(0,l.jsx)(e,{...t,children:(0,l.jsx)(u,{...t})}):u(t)}},80980:function(t,e,o){o.d(e,{Z:()=>g,a:()=>a});var n=o(67294);let l={},s=n.createContext(l);function a(t){let e=n.useContext(s);return n.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function g(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(l):t.components||l:a(t.components),n.createElement(s.Provider,{value:e},t.children)}},40421:function(t){t.exports=JSON.parse('{"permalink":"/tests/blog/2021/08/23/multiple-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-08-23-multiple-authors.mdx","source":"@site/_dogfooding/_blog tests/2021-08-23-multiple-authors.mdx","title":"Multiple authors","description":"You can have multiple authors for one blog post!","date":"2021-08-23T00:00:00.000Z","tags":[{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"},{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Long","permalink":"/tests/blog/tags/long"},{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long"},{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long"},{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long"},{"inline":false,"label":"Long-long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long-long"}],"readingTime":1.8,"hasTruncateMarker":false,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Josh-Cena","image_url":"https://avatars.githubusercontent.com/u/55398995?v=4","url":"https://joshcena.com","imageURL":"https://avatars.githubusercontent.com/u/55398995?v=4","socials":{},"key":null,"page":null}],"frontMatter":{"authors":["slorber",{"name":"Josh-Cena","image_url":"https://avatars.githubusercontent.com/u/55398995?v=4","url":"https://joshcena.com","imageURL":"https://avatars.githubusercontent.com/u/55398995?v=4"}],"tags":["blog","docusaurus","paginated-tag","long","long-long","long-long-long","long-long-long-long","long-long-long-long-long"]},"unlisted":false,"prevItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/09/13/dup-title"},"nextItem":{"title":"Hmmm!","permalink":"/tests/blog/2021/08/22/no-author"}}')}}]); \ No newline at end of file diff --git a/assets/js/50a3e386.4cd748dc.js b/assets/js/50a3e386.4cd748dc.js new file mode 100644 index 0000000000..83dc3d53bc --- /dev/null +++ b/assets/js/50a3e386.4cd748dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["40013"],{97213:function(e,s,t){t.r(s),t.d(s,{frontMatter:()=>l,default:()=>a,contentTitle:()=>d,assets:()=>u,toc:()=>r,metadata:()=>n});var n=JSON.parse('{"id":"toc/toc-5-5","title":"toc-5-5","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-5-5.mdx","sourceDirName":"toc","slug":"/toc/toc-5-5","permalink":"/tests/docs/toc/toc-5-5","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":5,"toc_max_heading_level":5},"sidebar":"sidebar","previous":{"title":"toc-4-5","permalink":"/tests/docs/toc/toc-4-5"},"next":{"title":"toc-_-5","permalink":"/tests/docs/toc/toc-_-5"}}'),i=t(85893),c=t(80980),o=t(2630);let l={toc_min_heading_level:5,toc_max_heading_level:5},d=void 0,u={},r=[...o.d$];function h(e){return(0,i.jsx)(o.ZP,{})}function a(e={}){let{wrapper:s}={...(0,c.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}a.displayName="MDXContent(_dogfooding/_docs tests/toc/toc-5-5.mdx)"},2630:function(e,s,t){t.d(s,{ZP:()=>l,d$:()=>c});var n=t(85893),i=t(80980);let c=[{value:"section 1",id:"section-1",level:2},{value:"subsection 1-1",id:"subsection-1-1",level:3},{value:"subsection 1-1-1",id:"subsection-1-1-1",level:4},{value:"subsection 1-1-1-1",id:"subsection-1-1-1-1",level:5},{value:"subsection 1-1-1-1-1",id:"subsection-1-1-1-1-1",level:6},{value:"subsection 1-1-1-1-2",id:"subsection-1-1-1-1-2",level:6},{value:"subsection 1-1-1-2",id:"subsection-1-1-1-2",level:5},{value:"subsection 1-1-2",id:"subsection-1-1-2",level:4},{value:"subsection 1-2",id:"subsection-1-2",level:3},{value:"subsection 1-3",id:"subsection-1-3",level:3},{value:"section 2",id:"section-2",level:2},{value:"subsection 2-1",id:"subsection-2-1",level:3},{value:"subsection 2-1",id:"subsection-2-1-1",level:3},{value:"section 3",id:"section-3",level:2},{value:"subsection 3-1",id:"subsection-3-1",level:3},{value:"subsection 3-2",id:"subsection-3-2",level:3}];function o(e){let s={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"title",children:"title"})}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-1",children:"section 1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-1",children:"subsection 1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-1",children:"subsection 1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-1",children:"subsection 1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-1",children:"subsection 1-1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-2",children:"subsection 1-1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-2",children:"subsection 1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-2",children:"subsection 1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-2",children:"subsection 1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-3",children:"subsection 1-3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-2",children:"section 2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-3",children:"section 3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-1",children:"subsection 3-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-2",children:"subsection 3-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"})]})}function l(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},80980:function(e,s,t){t.d(s,{Z:()=>l,a:()=>o});var n=t(67294);let i={},c=n.createContext(i);function o(e){let s=n.useContext(c);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5140cc17.08ad5b27.js b/assets/js/5140cc17.08ad5b27.js new file mode 100644 index 0000000000..1f83f7aa87 --- /dev/null +++ b/assets/js/5140cc17.08ad5b27.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["83984"],{37324:function(t,e,a){a.r(e),a.d(e,{assets:()=>u,contentTitle:()=>s,default:()=>c,frontMatter:()=>i,metadata:()=>n,toc:()=>l});var n=a(67169),r=a(85893),o=a(80980);let i={mdx:{format:"md"},date:"2023-05-15T20:00",authors:["andrewnicols","armano2","LiberaTeMetuMortis","morsko1","SACHINnANYAKKARA","slorber","tarunrajput"]},s="2.4.1",u={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0]},l=[];function m(t){return(0,r.jsx)(r.Fragment,{})}function c(t={}){let{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(m,{...t})}):m(t)}},80980:function(t,e,a){a.d(e,{Z:()=>s,a:()=>i});var n=a(67294);let r={},o=n.createContext(r);function i(t){let e=n.useContext(o);return n.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function s(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:i(t.components),n.createElement(o.Provider,{value:e},t.children)}},67169:function(t){t.exports=JSON.parse('{"permalink":"/changelog/2.4.1","source":"@site/changelog/source/2.4.1.md","title":"2.4.1","description":"Bug Fix","date":"2023-05-15T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Andrew Lyons","alias":"andrewnicols","url":"https://github.com/andrewnicols","imageURL":"https://github.com/andrewnicols.png","key":"andrewnicols","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"MetuMortis","alias":"LiberaTeMetuMortis","url":"https://github.com/LiberaTeMetuMortis","imageURL":"https://github.com/LiberaTeMetuMortis.png","key":"LiberaTeMetuMortis","page":null},{"name":"Aleksandr Vladykin","alias":"morsko1","url":"https://github.com/morsko1","imageURL":"https://github.com/morsko1.png","key":"morsko1","page":null},{"name":"Sachin Nanayakkara","alias":"SACHINnANYAKKARA","url":"https://github.com/SACHINnANYAKKARA","imageURL":"https://github.com/SACHINnANYAKKARA.png","key":"SACHINnANYAKKARA","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tarun Chauhan","alias":"tarunrajput","url":"https://github.com/tarunrajput","imageURL":"https://github.com/tarunrajput.png","key":"tarunrajput","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-05-15T20:00","authors":["andrewnicols","armano2","LiberaTeMetuMortis","morsko1","SACHINnANYAKKARA","slorber","tarunrajput"]},"unlisted":false,"prevItem":{"title":"2.4.2","permalink":"/changelog/2.4.2"},"nextItem":{"title":"2.4.0","permalink":"/changelog/2.4.0"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/514f0e36.9ab644c2.js b/assets/js/514f0e36.9ab644c2.js new file mode 100644 index 0000000000..454713308e --- /dev/null +++ b/assets/js/514f0e36.9ab644c2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["47814"],{45451:function(e,a,t){t.r(a),t.d(a,{frontMatter:()=>s,default:()=>c,contentTitle:()=>d,assets:()=>p,toc:()=>i,metadata:()=>n});var n=JSON.parse('{"type":"mdx","permalink":"/examples/markdownPageExample","source":"@site/src/pages/examples/markdownPageExample.mdx","title":"Markdown Page example","description":"Markdown Page example","frontMatter":{"title":"Markdown Page example","description":"Markdown Page example","wrapperClassName":"docusaurus-markdown-example"},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/src/pages/examples/markdownPageExample.mdx","unlisted":false}'),o=t(85893),r=t(80980);let s={title:"Markdown Page example",description:"Markdown Page example",wrapperClassName:"docusaurus-markdown-example"},d="Markdown page",p={},i=[];function l(e){let a={admonition:"admonition",h1:"h1",header:"header",p:"p",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(a.header,{children:(0,o.jsx)(a.h1,{id:"markdown-page",children:"Markdown page"})}),"\n",(0,o.jsx)(a.p,{children:"This is a page generated from markdown to illustrate the Markdown page feature."}),"\n",(0,o.jsx)(a.admonition,{type:"tip",children:(0,o.jsx)(a.p,{children:"Use Markdown pages when you just want to focus on content and the default layout is good enough"})})]})}function c(e={}){let{wrapper:a}={...(0,r.a)(),...e.components};return a?(0,o.jsx)(a,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},80980:function(e,a,t){t.d(a,{Z:()=>d,a:()=>s});var n=t(67294);let o={},r=n.createContext(o);function s(e){let a=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function d(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(r.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/519746e1.d0034969.js b/assets/js/519746e1.d0034969.js new file mode 100644 index 0000000000..29d829ca95 --- /dev/null +++ b/assets/js/519746e1.d0034969.js @@ -0,0 +1 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["43762"],{60381:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i=t.p+"assets/images/social-card-736cfe55fc7bba07204176852d67c0d5.png"},1352:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i=t.p+"assets/images/npm-downloads-f9d754a81ff372a5bae83c8751195e2b.png"},78948:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i=t.p+"assets/images/redocusaurus-5cf08a76be6f85090544417b82986cfb.png"},66474:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i=t.p+"assets/images/search-848f1f1b9eb0d1b710e1d1dec50fb84a.png"},66788:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i=t.p+"assets/images/shiki-twoslash-b74271684fa819a0175595409b2f323b.png"},61576:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i=t.p+"assets/images/slash-plushies-71b7a47477442dfcf890627669aba97d.jpg"},44065:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i=t.p+"assets/images/social-card-736cfe55fc7bba07204176852d67c0d5.png"},75964:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i=t.p+"assets/images/star-history-72ae014f60d05445753e9f690e41d347.png"},80415:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvgAAACgCAIAAAD2Ao8HAAAbm0lEQVR42u3dCVhV553HcbtMp31m2uk807TTaTvtzDx52sk002xNpjZeRBY3UMANRRQXQBQXFFEWAREBt2B2Y6IhNXFp0hhj1GhMYtQY9Rwu62WVXS67F3BFWeZ/uYYgIAIiXO798nwen8v1Luec9z3v++M97zln2Nb6OgAAAIs0jE0AAAAIOgAAAAQdAAAAgg4AAABBBwAAgKADAABA0AEAAAQdAAAAgg4AAABBBwAAgKADAABA0AEAACDoAAAAgg4AAABBBwAAgKADAABA0AEAACDoAAAAEHQAAABBBwAAgKADAABA0AEAACDoAEAXNhrKwiq0q/Vn5N/NtZVsEAAEHQBD25baquCyr+blveWUFqxRZ7cZqc6Zlrk5sjKNTQSAoANgKImvr42oTF1Q+NdJuuiRiXPb55sObFQvv8L32GIACDoAzN366rylJYfcs+Ltkvy6CTedkXUAEHQAmOm0m8DSE7NzXxubsrxX4abDuE5kZTobEwBBB4AZTLupqw4tP++dt2tCelhvM83/bLV7cu+Ezs+7Z25hwwIg6AAYNJFVuoVFf5ucEWubOL9vIzfPnvUcNmzYPz7yL10N6szdZChjIwMg6AAYODE1BQEXP56R/byDdmGfj0y197v1mv99bXSX/7VS/wUbHABBB0C/8S860DlebDSUBelPeeW+Pi41sM+B5vcv2f/gNz96/K3xPX/L7NztlAgAgg6A+xKk/2JpyWF5EFJ2zpQwJO48V3cprCLRJ3+3S3q4jep1/yM3v103Yth3vnW3wZsujU1ZQekAIOgA6LWIylRJM1vqquMMJaYcMzv3tbl5O9tChm2id78cmeowI6fnL16QGRVYfCC+vpbCAkDQAXBvEhqeqzeYHo9OXiZhYnJGzNKSw+1P6u73cNNbvplr95YfKW+obmlp+ez6NUoNAEEHQI9SzrjUQPukhf5FByKrdO1Pbhr0cCO8MyN2lx8qa6hqafeTe/MmBQeAoAPg3uIMJQ/0sFTfzM8If6fsI31DZUtXPzeam/0/OvhcrYHiA0DQAdBt0LlUYibhRszLCN9VdvDijYqWbn/S09N/9+c/b67iruYACDoA7pJvXNLDRycvG528ZNDzzZyMsL+UfVhyo7zLWKPVanNzc9s/Ex0dHffeuxQiAIIOgK61nTE+mPlGF/aW/kDxjbJuBm8CAwPd3d3t7e23bt3a9qSdnV1qRQWFCICgA+Cuc5AnpIUOSr6ZrQtJ0H9QdF3fcq+f+vr6Z599Vh40NjZ6enrGxsbK4+vXrw8fPryxufklyhEAQQfA3QSUHOs+kYw45/nIZtv/Cnxa/PED1/vMN7N0wW/q9xdeL+0y0xgMBkdHx6eeemrevHkSZUxP7tmzJyYmxvS4qanJx8dnxowZzs7O27Ztk2f2X71KIQIg6ADoaEtdtdeFHd1fHefRlxy+/8sfDmv385DDb/582qNvU4yTL2d1P3gTFBS0Y8cOefD222+PGDGivLy8ubl53LhxOTk57V+mqqpWqzU9Tmy4QVECIOgA6GhR4f7uo8ljCeO+/f3vSLj50WM//fWCx/7N/b+/++O/l19//MzP+zCQc7Xpevuwkpyc7OnpOWfOnPz8/Nuni9+48cQTTzQ1NZl+PXPmzJNPPvnUU08FBAR0k42qGhspSgAEHQAdravOHpMS0E06+afHfyax5ldzH2175umPJn3vJz+QJx992aFXQefL2qQ70klV1R/+8IeTJ09+/vnnTz/9dEJCgqScqKiotkNUbQeqrl692v0g0JXGa1EViZsM5RQoAIIOgI5Hr3wL9nYZTZ75eIoEmu/+6HsdbkH1cNhwef4/ljzZ85Rjk+jV0HyzfTpZvnz5u+++a3p87dq1wMBAyT1+fn4Sd+45N/la042Uy9n7Kj5el7/NI32VfLh8xYrSzyhNAAQdAHeIr6/1yH6xy3Tyxw9cJdD8w8P/3Pm/Ht/lNOKcZ69GdG40NbQllTfeeMPW1ralxz/y3vQrue9VHFtfsH2WLnhk4pzOn++Z+wqlCYCgA+AOdxvOEcNPTP/W3337h7//Sb+cTK7UpZtSy82bN+Pi4mpqarpJNg3NN3VXLuyvPB5b+IaXLtS2q2TTwejkZZQmAIIOgDssKNjXTXp4Yo/zM4cm99ddxzscvWr/c7P5VtbVggNVn20o3Dk3Y82oxN7dSXRSimdMwYydtccpUAAEHQB3iKzS+eTvHoArBC7Mis6+WmBKNo3NjTnXig5Wndhc9Ob8jIhRifN6+2ljtLOCc2e8VzG18LpbS4uLOHN5FaUJgKAD4A6bDOUu6eEDdkFkt9RlU1KX22vn9+G9tursRVkeO0vd0y5PutXsYso3bSoaplGaAAg6AO4wN2+n+dy3vEue6TOfL57+pWHK1caO4aaDnZdzQqvO+Vx8K77+EiULgKADoC6w9MQora+5hRuX5Fnr8qcfqZ5a1eDafbhp75UK3zHZC+yzvOYVv7as7CCFC4CgA6Auvu7SspKjgx5uHLWzVubM2Fc+Le/apJ6Hm/ZO1k+RlGPilLOUkgVA0AFQt746zzF5yWDlm6mps7ZfdE+qn3yzybVv+aZNfaOrw9dBZ3S298zCLRQuAIIOYO1m524flIgzIdnzWM2U5maX+8w37S0qnNk2qDMtfz2FC4CgA1i7yMo0N906G3XuQKacGWkzKxpc+zHi3J6PXOneFnRmFG6kcAEQdAAYBelPDVjKGaOdVXrDreP54bfc9tS4NzTfO/1UVY3dt++P8+f/2t39Fx3+K/nqZFPKcciay4gOAIIOAKM1FUm2ib27tk2kOuOEMmV071POaHVWZaprS4Mxl9TcdDtaMyUk32NJwUyv/FkSUF6qmH6odlrncHP9uvMnnwxftephR8eHpk37xfbtjxUUOHR+2c1m1w9Tpi3WzXS5sJpiBUDQAaxcremB14UdvQor49VZlxS3FsWlSHHzVGf26r371anyxvpE18C0GfLryJTZbQebbg/GZHvVNhrHdZqbJ2q1IzdseMTZ+V+dnH4WF/eIqo6UJ7sb77np0qi6XkmcEl28nfIFQNABrNrpwncSqnPkwQbDxfl5uyakhfYwrBxSjGHF5KriGq7O6OEbfRSPpq/fWKW4zkz07JByxLis2XNPu0zz+JWDw0NBQQ8fOzb8+nXnuyWb2trxdzxTcvvDryR57azJbb+yr18qosQBgg4AK1KZurg0fWXbuI5/0YemODJd9ewmrCxVPdpSTps9yrSR6qx73sMhV5nU/l01itvcjFmds874dM+SqnHfxJeGO08jrx9/4MAzixf/p739Q76+v/nmvxpdWrTffHhtsndbuNlmKNWnB1LiAEEHgLXYUZNnCgRfFO6TX1eUfmaKI7Hq9Fuqy4uKe5dhxV6dXdJ60KqzRHXyhG4T0jbFvfO7DKqrd0bHcZ2AYs9bLV/PSja4tCS6NFZMOH16RETEb8eO/amr68+ff/7RjAy7jgM8+o4fXp2y6FVDqaxdcu6L8uubrcNXAAg6ACzfiaJ3TWngljo1oTrbt2CvZJG/KNNMTzYrLlFdHZB6W53WZcoxqVDcfO8yZWea6nlDce3yXXWq2wLdHVnHNXf29dbTr/LTHG6dm2hansMJf5Ksc+vWhK4PYzW5tCR38eFl6Sv2VGibWsOZrDLlDhB0AFiFYl1wWxrQpwe+WFuRnL6qfUS4pbqsUD3ahxUvdeatu6cck5uK6yZleuegc16d3M27Lquui3S3r/XnnD17x95nvLz+3WPKr+pPOd3xSn0Xp5ofOvR/xscVd/3wxq+/ukgXQrkDBB0Alu9Vg77pziNQV5K8OkeEa4qrz9cjNDbq7Iw7Z9h047Ayxb5dylmnTr/nW64orssT3e33jh5/yHnnm4+XFo9pSe/qlSXGU82PHRseFPSwg8ND7u6/SEh4whh0Uu+9VI3qpFcMZZQ+QNABYOEOlR7rYWQxqK4zWrPOCz0IK+1lq5Omtk5PdlI95UN68pZG+fdy61BNs0tL9l1fdnT7nzZseCQxsd2p5jU9XSpZcUofIOgAsHBJF17ueWQpU9z8VI9rimuvgo5x8o3iukL1OKJO7cW7tC4t9S4tBfd6WV5rGGo7hpXe089Pzn2R0gcIOgAsXFn6il5FlqZeRpz7eWNzD1+ZY8w6dXXjv/pY0/MPL09bRukDBB0AluzFuupGdVJLX7OL+Uh7b5TH9F+Wfjam52+RFZfVpw4ABB0AFmtfhWoBKee21F6/RVafOgAQdABYrJOF+ywn6PSe6QKJAAg6ACxTTma0NQed7KxY6gBA0AFgsS6lLLDmoGNI8aUOAAQdAJaqtrHbixRbvEZ10vP1BmoCQNABYIF21ORbc8ox2VGTR00ACDoALNB75WcJOrIRqAkAQQeABfqk5CBBRzYCNQEg6ACwQOfzdhB0zuXtoCYABB0AFigrK46gk5W9gZoAEHQAWKDCjDUEnSJdKDUBIOgAsECl6YEEHX16IDUBIOgAsECVqYsJOlWp/tQEgKADwAIZUnwJOrXJPtQEgKADwHzF11VtMZRuMRRtupS3sTozrjotrkobU3F+fcWZ9eUn1umPR+mPRJZ+GFHyfnjJvjXFb68pTAgtfD2k4NV6dSpB53LiNNkask1ky8j2ka0k20q2mGw32XqyDWVLyvaUrSrbVrawbGfZ2rLNqXgAQQfAXaJJ/SXpLKXX3FCti61U11eclm51belHkSV/Cy/ebQwiBa8F57+4Om9zUG5MYE7EiqzggMzlS3X+S3Te/mmzF6a6+yW7+SaN90m0n69q+uyGMpGgIxuhzxtQtr+UgpSFlIiUi5SOlJGUlJSXlJqUnZSglKOUppSplKyUr5SyMUJVnJZyl9JvTU6lUh/YKQCCDmBuYaV2i0G/qebChurUmMqz0WWfRpZ+GF6yL6wwIaRg26q8+NaMEr48c+XSjMVL0uf7p870S5ks/aJ3ot39pJN+1GT1KUfIRjCHspBaYcxMKZOlnkhtkTojNUfqj9QiqUtSo6ReSe2SOiY1Teqb1Dqpe1IDpR6yMwIEHaBHB4A2XSqMq05bX3EmSn8s8uIH4cXvhBZuX533vHQ2K7LDAjIDluh8jHkl2c1HO8ZMwsp9jeiojOi4yEYY6uUotVHqpDEh6XyklkpdbR1Mel5qr9RhqclSn6VWS92WGs5BNxB02AqwsEGX0o3VWbGVanTZibWlH4UX75HWX/5EDsyNMo616PwWpXr6Jbve5zGgIapenUDQkY1gbeUutV3qvNR8qf/GcaPcKNkjWlPRHtlHZE+R/UX2mtZjagwXgaADDJLnjAMwebGVWmmXIy8eWFO0Kzj/ZflDdnnW6tb44rFA6+St2lhhfOm5aoKO4lJtfUGnFwfUVBvZj2RvMkairNWyf8leJvua7HGteUgr++BzDBGBoAP0nmGzoTCuKnld2ecRF/eHFe1cnfdcYE5EQGbA4vR5C1Om+Ggd6YTun151JujIRqAm3PexM0fZK2XflD1U9lPZW2WflT1X9l/Zi2Vflj2aZg0EHViXLYaSDdWp0eVfGAdjChOC87dK+7g0Y+mitFkLkpwZiRkYhQQdxaWQoDMwI0NJzrJ3yz4ue7rs77LXG4eFyr+QdkBaA5pEEHQwFKNMaVx1WnTZiYiS90MLtwflxi3PXCl/8y1IdvFWbWn6zUGmOp6gIxuBmmAGSchWWgZpH6SVkLZCWgxpN6T1kDZEWhKaUxB0MFinKdVsrMmJqTwbVXoorGjX6vz4FdnhS3ULF6a6W+fc3iHnS3UcQUc2AjXB7GdPO0irIm2LtDDSzkhrI22OtDzS/kgrRFMMgg7u12ZDSWylNkp/dE3R26vy4ldkhSxJn++XNJH2d6j7UBlN0JGNQE0Y0qQtkhZJ2iVpnaSNkpZK2qvNHA4DQQedhmeqN1ZnRpefiih5P6Rg28qcdcYZM6nTGZuxYG+qDgQd2QjUBEs9i15aMGnHpDWTNs14LKz8lLRy0tbR4BN0YOE2XcqPqfgq4uL+kIJXV+ZELtX5+SW70Sxaoc2qHUFHNgI1weoGgZLdpN2T1k/aQGkJpT2UVpGugaCDoTgdWB9XpY3SHwkrTAi6sGFZZoD8fWM+9x/AoAtWRxJ0ZCNQE2C6C4e0kNJOSmspbaa0nNJ+SitKV0LQgbmc4hRbqay9eED+QAnMCV+cPt83iSmWuOepLprr1n1fT1l9b2oCuiVtqbSo0q5K6yptrLS0nAhG0MEDviJwbbn8nbG29KPQwu2BOZFLdD4LtE40RuAMc84tx4CRVlfaXmmBpR2W1ljaZGmZ6Z4IOuj9BOH62o01OdFln64pTDDODtb5LeBcJ/SrI6pVn3glq08dQL+ln6SJrVN/1kmLLe228ex3bhZG0EGHy9LEVaet1R8OLXgtMHvN4jQvznjCg/aKam/NQUdWnzqAB3rml7Tk0p5Lqy5tu7TwXPiHoGNVR6AqYiuViIv7V+e9sDxz5aJU9/lMisSAW2nd85FXstNhoI2U1l7afGn5pf2XXkD6AjpEgo5lMGyozpBEH1Lw6vKsVQuNsYYdHmahXLHSO17JilP6MAfSI0i/YJzsrD8sPQX3QCXoDJXToIrWl58IK3prZe5a//S5HISC2TpqrdN0jjJBB+Z6wEt6Dek7pAeRfkR6E7pUgo6ZDNikth6H2rwsw983idOgMGRsUEdZZ9DZwKUCMWROcXeSnkX6F+llpK9hyIegM0A3TIitTAwv+WtQbuyS9PkM2GBIX03nsvVdTecyV9DBUB7ykX5Heh/pg6Qn4qYWBJ1+mzscU3EuvPidwNwo/7TZ3qotOxsshhXexpyblsOC/laxlV5J+ibpoaSfYnYzQafnYzaXjGM2xXsCcyIXpXp4qzbsTrBUG63v6JWsMuUOC809NtJnSc8l/VfreM8lOnSCzjc21uSsLT24Km/LEp2PN0ejYE1Krencq1LOt4L15J5Ee+nRpF+T3k36OIKO1QWdLYbS6LIToQWvBWStYAYxrNk7ioP1BB1ZWUocVjuvWfo76fWk77POm3YNs5Zhm4sHgnJjFqV6UOkBE3/V5oZ1TEmW1fTnSDTQSvpB6Q2lT7SewR7LDDrx9bVxVclrinevyA7zS3alZgNdOq6OsYagI6tJWQOdSf8ovaT0ldJjWvBduoZZ0FTiqvUVZ0ILXw/IDPDVjqUGA/cUoI60+EEdWcEAbvsA3PMIl3as9J7Sh0pPKv0pQceMzpOKqTwbUrBtqW6hdyKnVAC9dtDSB3UOMpwD9Ho68yjpVaVvlR7WAs7hGjY0D0tpwwoTJHv6aLmgO3C/M3Us+OKBl5mdA9wf6Welt5U+V3reIXp4a8gEnQ3VuvDi3cuzVvsmjafmAf1ot+JoqUFHVo3yBfrvBK7x0gtLXyw9MkGnv04F10fpj6zMWceEYuABDlOrmhzVyfJSjqwU93wAHtxEZumdpY+Wnpqg02txVSmhRTuM02646wIwIEJU2wbLSjmyOiE0IMBA/KVkK/219NrSdxN0ur+xVHmU/uOVOdEM3gCDYq9qUQewZHUoU2AwhnmipTeXPp2g882l/MKKdi3VLWLwBhj0A1hpynjLSDmpyngOWgGDPczjL/27OVyWcHCCTlx1Wkjhdv+0OdQGwHwsVm306pC/AZaswmLOtALM59TOtDnS40u/bxVBJ7ZSCc57YVGqOwUPmKdg1fbKUD7bXBY+mOFhwCxJ7y8ZQJKApQWd+Pra9RWngy5sZPINMCRsVkfdGpopRxZbFp4SBMx/Ko+kAskGA3NhnmEP8uQp7er8ePINMORsVe1uDrVxHVlgWWzKDhhaiUdygqSFIRZ0NtbkhBZu5z7hwJC2RbFrGFInk8sCU2rAkD2q5SHJ4QHNXB7Wfxf3K1lTvHuJzocCAyzDJtXu+lAY15GF3MRYDmARJEVIlpBEYVZBx7BOfzwgK5DzwwHLE6bamvl5WLJ4YTQ+gGWRRCG5QtKFZIzBDDqbLuWFFGzzS3ajSABLHlJWbRKVceaZcmTBFnEmOWDJk3jcJGlI3hjgoGOI0h8LyFzuTfsCWI19iuMN1YwOY8nC7OOGnYC1DPDYSOqQ7NG3AZ5hvRrCCc5/hbOoAOu0Wh1pJpdOlsWQhaFEACs8S0tySG8HeHoUdGKrklbkhDMLB8B2xb5GmTBYEUe+WhaAUgCsfAaPZBJJJv0TdNaVfbY0YzGbFUAbX1WzS3GoHti4I18nX+rL9gfwNcknklL6GHTi66ojSt7zT53JdgTQxue8xu+sxv8rzZIvNctPaf76pcPFs04POuKUnnV697RD0EnNslPG75Vvl2WQJaE4AAjJKpJYJLf0NOg8V1sZVrRzQdJEth1gpcPCijFJSKRYcVKz6jNN6HFNxFFN1MeamMOamEMjOtt+dORXX4yuP9fPAzzygfKx8uFdfqnRYeNSybLJEspyytLKMsuSy/JTiIC1kdwi6UUyTHdBR9LQmuK3iTiA2QpRbcMfxFQ5xThMIkEh5FPN2qN3DTT39OYx208/d7zw5fiG8308P0veKG+XD5GP6tsymAKQrIWsi6yRrNd8cg9gTXFHkkyH0Z1hrffdvBRR8i5XxAHMbSrMWnXUTtXhuDomR3UyXaRYfu23kZvzmoDTmrDjEg40fU8VXYk9rHnj6Mj3j9ud+Nwx9dTYkjNOlV85156bcO3cxEbFRcgD+VWelP+SF8jL5MXyltjD/bwkrYzrKGvqzdEuwFpOznKTVCPZ5nbQWXvxwMKUaWwXYNAtUm1ilVHvKA6nlLFFilPnW4g3Ky4B/XT9qqWnNeuOPIhUYb5kfWWtqWaAlZBsIwknvr52GNsCGPxpMapmp+pQod5jmku+6txf3xhtZSnHRNa6JxtnrTrqA3V0juokcbMbqeq4vaojN6AAzHuq8iyCDmBGYtRRx9UxdXc5c3u/Orq/vogRnXsf7Fdt4lW7T5Wx7U+kb2i9XOE+xTGcfAMMEQQdwBwHeLYodqeVsVfvvOvCWnVUf37LA5ujY2b6YY5OhDpqj+oohbKAW98ABB0A/XYGgWrzsmqvqOMaFBeDMuFBfVE/nXVlLjjrCgBBBxhy85SjFdv7eftmdVQPLyvc5XV0jMe5zC0AHTYuFdfRAUDQAazRMnXkS6r9UXVMvuLUqEw8qI65/8/0Pa/xO3f7ysgBpzWBJzUrT2hWf64J/nRE6PERa45rwj/RRBzTRLZeYHDdx8YgEt1q/WFjLhGmE8hjWx8Led70AnmlvF7eJe+VT5DPkU+Tz5RPls+Xb5Hvkm+8fWXkc8YloYgBEHQAa7RQtTmtjG1uN7knW3HyZssAIOgAsBhbVbt81dl4LwV1QqA6kg0CgKADwOLijmK/SbVjOwAg6AAAABB0AAAACDoAAAAEHQAAAIIOAAAAQQcAAICgAwAACDoAAAAEHQAAAIIOAAAAQQcAAICgAwAAQNABAADW4v8BIMkHbXsCeUgAAAAASUVORK5CYII="},74270:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i=t.p+"assets/images/slash-introducing-411a16dd05086935b8e9ddae38ae9b45.svg"},50534:function(e,s,t){"use strict";t.d(s,{Z:()=>i});let i=t.p+"assets/images/slash-up-and-running-1c1f83f3064dcd56be41632c51be62ac.png"},54062:function(e,s,t){"use strict";t.r(s),t.d(s,{assets:()=>g,contentTitle:()=>p,default:()=>f,frontMatter:()=>u,metadata:()=>i,toc:()=>A});var i=t(11601),a=t(85893),n=t(80980),r=t(54208),o=t(14522),l=t(22097),c=t(85486),d=t(84299);t(83631),t(83569);var h=t(85017);let u={title:"Announcing Docusaurus 2.0",authors:["slorber","Josh-Cena","yangshun","lex111","zpao",{key:"JMarcey",title:"Co-creator of Docusaurus 1"}],tags:["release"],image:"./img/social-card.png"},p=void 0,g={image:t(60381).Z,authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0]},A=[{value:"What is Docusaurus exactly?",id:"what-is-docusaurus-exactly",level:2},{value:"The story behind Docusaurus",id:"the-story-behind-docusaurus",level:2},{value:"Toward Docusaurus 2.0",id:"toward-docusaurus-20",level:2},{value:"Who uses Docusaurus 2.0?",id:"who-uses-docusaurus-20",level:2},{value:"What's New in 2.0?",id:"whats-new-in-20",level:2},{value:"MDX",id:"mdx",level:3},{value:"File system conventions",id:"file-system-conventions",level:3},{value:"Plugins",id:"plugins",level:3},{value:"Theming",id:"theming",level:3},{value:"Other features",id:"other-features",level:3},{value:"Why 2.0 now?",id:"why-20-now",level:2},{value:"What's Next?",id:"whats-next",level:2},{value:"Thank You",id:"thank-you",level:2}];function m(e){let s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.a)(),...e.components},{TweetQuote:i}=s;return i||function(e,s){throw Error("Expected "+(s?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("TweetQuote",!0),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(s.p,{children:["Today we are extremely happy to finally ",(0,a.jsx)(s.strong,{children:"announce Docusaurus 2.0"}),"! \uD83E\uDD73\uFE0F"]}),"\n",(0,a.jsxs)(s.p,{children:["At ",(0,a.jsx)(s.a,{href:"https://opensource.fb.com/",children:(0,a.jsx)(s.strong,{children:"Meta Open Source"})}),", we believe Docusaurus will help you build the ",(0,a.jsx)(s.strong,{children:"best documentation websites"})," with ",(0,a.jsx)(s.strong,{children:"minimal effort"}),", letting you ",(0,a.jsx)(s.strong,{children:"focus on what really matters"}),": writing the content."]}),"\n",(0,a.jsxs)(s.p,{children:["After ",(0,a.jsxs)(s.strong,{children:["4 years of work, ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/releases/tag/v2.0.0-alpha.75",children:"75 alphas"})," and ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/releases/tag/v2.0.0-beta.22",children:"22 betas"})]}),", the next generation of Docusaurus is ",(0,a.jsx)(s.strong,{children:"ready for prime time"}),". From now on, we now plan to ",(0,a.jsxs)(s.strong,{children:["respect ",(0,a.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"})]})," and will release ",(0,a.jsx)(s.strong,{children:"major versions more frequently"}),"."]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"social-card image",src:t(44065).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,a.jsxs)(s.admonition,{type:"info",children:[(0,a.jsxs)(s.mdxAdmonitionTitle,{children:["We are on ",(0,a.jsx)(s.a,{href:"https://www.producthunt.com/posts/docusaurus-2-0",children:"ProductHunt"})," and ",(0,a.jsx)(s.a,{href:"https://news.ycombinator.com/item?id=32303052",children:"Hacker News"}),"!"]}),(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.strong,{children:"Now"})," is the best time to show your love for Docusaurus!"]}),(0,a.jsxs)("div",{style:{display:"flex"},children:[(0,a.jsx)(l.Z,{}),(0,a.jsx)(c.Z,{})]})]}),"\n",(0,a.jsx)(s.admonition,{type:"tip",children:(0,a.jsxs)(s.p,{children:["In a hurry? Check ",(0,a.jsx)(s.a,{href:"#whats-new-in-20",children:"what's new in Docusaurus 2.0"}),"!"]})}),"\n",(0,a.jsx)(s.h2,{id:"what-is-docusaurus-exactly",children:"What is Docusaurus exactly?"}),"\n",(0,a.jsxs)(s.p,{children:["Docusaurus is a ",(0,a.jsx)(s.strong,{children:"static site generator"})," that helps you ship ",(0,a.jsx)(s.strong,{children:"beautiful documentation websites"})," in ",(0,a.jsx)(s.strong,{children:"no time"}),"."]}),"\n",(0,a.jsxs)(s.p,{children:["Focus on your content: just write ",(0,a.jsx)(s.strong,{children:"Markdown files"}),". Docusaurus will generate an optimized ",(0,a.jsx)(s.strong,{children:"website"})," for you that's easy to ",(0,a.jsx)(s.strong,{children:"host anywhere"}),"."]}),"\n",(0,a.jsxs)(s.p,{children:["Docusaurus is ",(0,a.jsx)(s.strong,{children:"full-featured"})," and very ",(0,a.jsx)(s.strong,{children:"flexible"}),": we ship with well-designed docs and blog layout, as well as out-of-the-box versioning, search, and internationalization functionalities, with a call to accessibility and search engine optimizations. Its flexible theming system permits to ",(0,a.jsx)(s.strong,{children:"adapt the UI to match your branding"})," so that it integrates nicely with your main website or documentation portal. Its usage of ",(0,a.jsx)(s.strong,{children:"React"})," enables a ",(0,a.jsx)(s.strong,{children:"modern client-side navigation"}),", and the ability to build an ",(0,a.jsx)(s.strong,{children:"interactive documentation"}),"."]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"Introducing Slash",src:t(74270).Z+"",width:"760",height:"160"})}),"\n",(0,a.jsxs)(s.p,{children:["The Docusaurus philosophy is akin to the ",(0,a.jsx)(s.strong,{children:"Pareto principle"}),": you can get ",(0,a.jsx)(s.strong,{children:"80% of the results"})," for ",(0,a.jsx)(s.strong,{children:"20% of the effort"}),". This enables you to compete with top-notch documentation sites with ",(0,a.jsx)(s.strong,{children:"minimal effort"}),"."]}),"\n",(0,a.jsx)(i,{url:"https://x.com/rachelnabors/status/1452697991039660038",handle:"rachelnabors",name:"Rachel Nabors",job:"Former ReactJS & React-Native docs manager",children:(0,a.jsx)(s.p,{children:"Unless you're spinning up a documentation team with engineering resources, you\nprobably want Docusaurus!"})}),"\n",(0,a.jsxs)(s.p,{children:["Docusaurus aims to be the ",(0,a.jsx)(s.strong,{children:"best documentation tool"}),", but you can use it for ",(0,a.jsx)(s.strong,{children:"other use-cases"})," as well: a blog, a knowledge base, a developer portfolio, a second brain, or even to scaffold landing pages!"]}),"\n",(0,a.jsx)(i,{url:"https://x.com/johnny_reilly/status/1551861926334025728",handle:"johnny_reilly",name:"Johnny Reilly",job:"Group Principal Engineer at Investec",children:(0,a.jsx)(s.p,{children:"Using Docusaurus for my tech blog has been a fantastic choice. It looks\ntremendous out-of-the-box and the awesome DX means I write way more"})}),"\n",(0,a.jsx)(s.admonition,{type:"tip",children:(0,a.jsxs)(s.p,{children:["Try Docusaurus now with our ",(0,a.jsx)(s.a,{href:"/docs/playground",children:"online playgrounds"})," and ",(0,a.jsx)(s.a,{href:"https://tutorial.docusaurus.io/",children:"5 minutes tutorial"})," \u23F1\uFE0F"]})}),"\n",(0,a.jsx)(s.h2,{id:"the-story-behind-docusaurus",children:"The story behind Docusaurus"}),"\n",(0,a.jsxs)(s.p,{children:["Docusaurus was created at ",(0,a.jsx)(s.strong,{children:"Facebook Open Source"})," in ",(0,a.jsx)(s.strong,{children:"2017"})," (now ",(0,a.jsx)(s.a,{href:"https://opensource.fb.com/",children:"Meta Open Source"}),"). We had a lot of internal and open source projects to document. It's ",(0,a.jsx)(s.strong,{children:"complicated enough to write good documentation"}),", let alone to create the HTML, CSS, and JavaScript for a good-looking website. We wanted project leaders to be able to ",(0,a.jsx)(s.strong,{children:"focus on the content"}),", and ",(0,a.jsx)(s.strong,{children:"Markdown"})," is great for that."]}),"\n",(0,a.jsxs)(s.p,{children:["At that time, our solution was to ",(0,a.jsx)(s.strong,{children:"copy/paste a Jekyll template"})," over and over again. This naturally became ",(0,a.jsx)(s.strong,{children:"hard to maintain"}),", so we created a tool to ",(0,a.jsx)(s.strong,{children:"solve our own pain"})," once for all."]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsxs)(s.strong,{children:[(0,a.jsx)(s.a,{href:"/blog/2017/12/14/introducing-docusaurus",children:"Docusaurus v1 was born"}),"!"]})}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"Birth of Slash",src:t(80415).Z+"",width:"760",height:"160"})}),"\n",(0,a.jsxs)(s.p,{children:["It quickly built momentum at Facebook and in the frontend ecosystem, adopted by many popular projects such as ",(0,a.jsx)(s.a,{href:"https://prettier.io/",children:"Prettier"}),", ",(0,a.jsx)(s.a,{href:"https://babeljs.io/",children:"Babel"}),", ",(0,a.jsx)(s.a,{href:"https://archive.reactnative.dev/",children:"React-Native"}),", ",(0,a.jsx)(s.a,{href:"https://katex.org/docs/",children:"KaTeX"}),", and of course ",(0,a.jsx)(s.a,{href:"http://v1.docusaurus.io/",children:"Docusaurus v1"})," itself."]}),"\n",(0,a.jsx)(h.Gl,{}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(s.admonition,{type:"note",children:(0,a.jsx)(s.p,{children:"Notice that the sample sites above use different colors, but still look quite the same."})}),"\n",(0,a.jsx)(s.h2,{id:"toward-docusaurus-20",children:"Toward Docusaurus 2.0"}),"\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.a,{href:"http://v1.docusaurus.io/",children:(0,a.jsx)(s.strong,{children:"Docusaurus v1"})})," has been very successful, but we started to ",(0,a.jsx)(s.strong,{children:"question some architectural choices"}),":"]}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["React was only used as a ",(0,a.jsx)(s.strong,{children:"server-side templating language"}),", and not used on the client"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.strong,{children:"Theming system was pretty limited"}),", and apart from changing a few colors with CSS, it was difficult to do more advanced customizations"]}),"\n",(0,a.jsxs)(s.li,{children:["The ",(0,a.jsx)(s.strong,{children:"docs versioning system was confusing"}),", since it was based on a diff algorithm"]}),"\n",(0,a.jsxs)(s.li,{children:["The codebase was ",(0,a.jsx)(s.strong,{children:"monolithic"}),", neither well-tested nor easy to extend"]}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.a,{href:"https://docusaurus.io/",children:(0,a.jsx)(s.strong,{children:"Docusaurus v2"})})," was ",(0,a.jsx)(s.strong,{children:"rebuilt"})," from the ground up with a new ",(0,a.jsx)(s.strong,{children:"modular architecture"}),":"]}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["React is now also used on the client, enabling a ",(0,a.jsx)(s.strong,{children:"modern Single Page Application navigation"})]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.strong,{children:"Plugins"})," empower the community to contribute useful features as third-party packages"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.strong,{children:"Theming"})," is more ",(0,a.jsx)(s.strong,{children:"flexible"})," than ever"]}),"\n",(0,a.jsx)(s.li,{children:"Docs versioning is now based on snapshot copies, much easier to understand"}),"\n",(0,a.jsxs)(s.li,{children:["We kept ",(0,a.jsx)(s.strong,{children:"everything good from v1"}),": docs, blog, pages, versioning, i18n..."]}),"\n",(0,a.jsxs)(s.li,{children:["We implemented ",(0,a.jsx)(s.strong,{children:"several new features"})]}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:["More details in the ",(0,a.jsx)(s.a,{href:"/blog/2018/09/11/Towards-Docusaurus-2",children:"Docusaurus 2 project announcement"})," and ",(0,a.jsx)(s.a,{href:"https://docusaurus.io/docs/migration",children:"v1 to v2 migration guide"})]}),"\n",(0,a.jsx)(s.h2,{id:"who-uses-docusaurus-20",children:"Who uses Docusaurus 2.0?"}),"\n",(0,a.jsxs)(s.p,{children:["Despite being in pre-release, it didn't take long for ",(0,a.jsx)(s.strong,{children:"Docusaurus v2 to outgrow Docusaurus v1"})," in terms of NPM downloads:"]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://npmtrends.com/docusaurus-vs-@docusaurus/core",children:(0,a.jsx)(s.img,{alt:"NPM downloads: v2 outgrows v1",src:t(1352).Z+"",width:"1200",height:"645"})})}),"\n",(0,a.jsx)(s.p,{children:"Our GitHub star trend is very positive, competing with major frameworks:"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.a,{href:"https://star-history.com/#facebook/docusaurus&vercel/next.js&gatsbyjs/gatsby&hexojs/hexo&nuxt/nuxt.js&vuejs/vuepress&11ty/eleventy&gohugoio/hugo&remix-run/remix&mkdocs/mkdocs&Timeline",children:(0,a.jsx)(s.img,{alt:"GitHub stars: Docusaurus is well-positioned",src:t(75964).Z+"",width:"1200",height:"759"})})}),"\n",(0,a.jsx)(s.p,{children:"Today, Docusaurus v2 has already been a great success even before its launch:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["We received so many ",(0,a.jsx)(s.a,{href:"https://x.com/sebastienlorber/timelines/1392048416872706049",children:"lovely testimonials"})]}),"\n",(0,a.jsxs)(s.li,{children:["Companies like ",(0,a.jsx)(s.a,{href:"https://blog.1password.com/docusaurus-documentation-framework/",children:"1Password"})," and ",(0,a.jsx)(s.a,{href:"https://www.courier.com/blog/how-we-built-our-documentation/",children:"Courier"})," are writing down their positive experience"]}),"\n",(0,a.jsxs)(s.li,{children:["Our ",(0,a.jsx)(s.a,{href:"/showcase",children:"site showcase"})," references hundreds of sites, and this is only the tip of the iceberg."]}),"\n"]}),"\n",(0,a.jsx)(h.qg,{}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(s.admonition,{type:"tip",children:(0,a.jsxs)(s.p,{children:["Please add your site to our ",(0,a.jsx)(s.a,{href:"/showcase",children:"site showcase"}),"! It only takes a few seconds: just ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/discussions/7826",children:"post a comment here"}),"."]})}),"\n",(0,a.jsx)(i,{url:"https://x.com/maxlynch/status/1549415692704825346",handle:"maxlynch",name:"Max Lynch",job:"Ionic co-founder and CEO",children:(0,a.jsx)(s.p,{children:"We use Docusaurus everywhere now and love it"})}),"\n",(0,a.jsx)(i,{url:"https://x.com/supabase/status/1328960757149671425",handle:"supabase",name:"Supabase",job:"Open Source Firebase alternative",children:(0,a.jsx)(s.p,{children:"We've been using V2 since January and it has been great"})}),"\n",(0,a.jsx)(i,{url:"https://x.com/gabrielcsapo/status/1415061312917233665",handle:"gabrielcsapo",name:"Gabriel Csapo",job:"Staff Software Engineer at LinkedIn",children:(0,a.jsx)(s.p,{children:"Docusaurus is next level easy for literally everything you would need for\ndocumentation in your project."})}),"\n",(0,a.jsx)(i,{url:"https://x.com/ItWasMattGregg/status/1526682295075102721",handle:"ItWasMattGregg",name:"Matt Gregg",job:"Senior Front End Developer at Shopify",children:(0,a.jsx)(s.p,{children:"Docusaurus is awesome. We use it"})}),"\n",(0,a.jsx)(s.h2,{id:"whats-new-in-20",children:"What's New in 2.0?"}),"\n",(0,a.jsxs)(s.p,{children:["It would be difficult to describe every single new feature coming with Docusaurus v2. Let's focus on the features we believe are the ",(0,a.jsx)(s.strong,{children:"most impactful"}),"."]}),"\n",(0,a.jsx)(s.h3,{id:"mdx",children:"MDX"}),"\n",(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.a,{href:"https://github.com/mdx-js/mdx",children:"MDX"})," allows you to ",(0,a.jsx)(s.strong,{children:"interleave React components"})," in Markdown. This enables you to build top-notch ",(0,a.jsx)(s.strong,{children:"interactive documentation experiences"})," very easily."]}),"\n",(0,a.jsx)(s.p,{children:"A demo is worth a thousand words:"}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-md",metastring:'title="docs/my-document.mdx"',children:"### Give it a try: press that button!\n\nimport ColorModeToggle from '@theme/ColorModeToggle';\n\n<ColorModeToggle/>\n"})}),"\n",(0,a.jsxs)(o.Z,{children:[(0,a.jsx)("h3",{children:"Give it a try: press that button!"}),(0,a.jsx)(d.Z,{})]}),"\n",(0,a.jsx)(s.admonition,{type:"info",children:(0,a.jsxs)(s.p,{children:["MDX has its own ",(0,a.jsx)(s.a,{href:"https://mdxjs.com/docs/extending-mdx/",children:"plugin system"}),". You to customize your Markdown authoring experience, and even create your own Markdown syntax."]})}),"\n",(0,a.jsx)(i,{url:"https://x.com/HamelHusain/status/1551962275250053123",handle:"HamelHusain",name:"Hamel Husain",job:"Head Of Data Science at Outerbounds",children:(0,a.jsx)(s.p,{children:"Docusaurus + MDX is great: we were able to implement a beautiful two-pane\nlayout and give the author fine-grained control on the placement of code and\ncorresponding prose."})}),"\n",(0,a.jsx)(s.h3,{id:"file-system-conventions",children:"File system conventions"}),"\n",(0,a.jsxs)(s.p,{children:["Our goal is to make Docusaurus very ",(0,a.jsx)(s.strong,{children:"intuitive"})," to use. We added file system conventions, and adding a doc page is as easy as creating one Markdown file."]}),"\n",(0,a.jsx)(r.Z,{id:"T3S8GyFIXjo",params:"autoplay=1&autohide=1&showinfo=0&rel=0",title:"Explain Like I'm 5: Docusaurus",poster:"maxresdefault",webp:!0}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(i,{url:"https://x.com/paularmstrong/status/1552005085168865281",handle:"paularmstrong",name:"Paul Armstrong",job:"Principal Engineer at Microsoft",children:(0,a.jsx)(s.p,{children:"Using the auto-generated sidebars makes it so simple to just create a page and\nnot worry about any other configuration."})}),"\n",(0,a.jsx)(s.h3,{id:"plugins",children:"Plugins"}),"\n",(0,a.jsxs)(s.p,{children:["Docusaurus now has a ",(0,a.jsx)(s.strong,{children:"modular architecture"})," with a plugin system \u2014 our ",(0,a.jsx)(s.strong,{children:"core features"})," like docs, blog, pages, and search are all powered by individual plugins."]}),"\n",(0,a.jsxs)(s.p,{children:["More importantly, it enables our community to ",(0,a.jsx)(s.strong,{children:"enhance Docusaurus"})," with additional features."]}),"\n",(0,a.jsx)(s.p,{children:"Let's highlight some examples:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/rohit-gohri/redocusaurus",children:"redocusaurus"}),": seamless integration with ",(0,a.jsx)(s.a,{href:"https://www.openapis.org/",children:"OpenAPI"})," and ",(0,a.jsx)(s.a,{href:"https://github.com/Redocly/redoc",children:"Redoc"})]}),"\n"]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"redocusaurus plugin example",src:t(78948).Z+"",width:"1200",height:"667"})}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://www.npmjs.com/package/docusaurus-preset-shiki-twoslash",children:"docusaurus-preset-shiki-twoslash"}),": use ",(0,a.jsx)(s.a,{href:"https://github.com/shikijs/shiki",children:"Shiki"})," code block syntax highlighting with ",(0,a.jsx)(s.a,{href:"https://shikijs.github.io/twoslash/",children:"TwoSlash"})," TypeScript compiler hints"]}),"\n"]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"shiki-twoslash plugin example",src:t(66788).Z+"",width:"1200",height:"667"})}),"\n",(0,a.jsx)(i,{url:"https://x.com/orta",handle:"orta",name:"Orta Therox",job:"Former TypeScript core team at Microsoft",children:(0,a.jsx)(s.p,{children:"The plugin API was a breeze to use, and powerful enough that I could port the\ncode sample renderer from the TypeScript website site in a couple of hours."})}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/easyops-cn/docusaurus-search-local",children:"docusaurus-search-local"}),": one of the various local search alternatives to the built-in Algolia plugin"]}),"\n"]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"local search plugin example",src:t(66474).Z+"",width:"1200",height:"627"})}),"\n",(0,a.jsx)(s.admonition,{type:"tip",children:(0,a.jsxs)(s.p,{children:["We have a curated list of outstanding plugins in our ",(0,a.jsx)(s.a,{href:"/community/resources",children:"community resources"})," page."]})}),"\n",(0,a.jsx)(i,{url:"https://x.com/jodyheavener/status/1551974535452311552",handle:"jodyheavener",name:"Jody Heavener",job:"Senior Developer at 1Password",children:(0,a.jsx)(s.p,{children:"The plugin system in Docusaurus v2 has made expanding 1Password's developer\nportal so easy and fun. Super excited to show you what we've got cooking up."})}),"\n",(0,a.jsx)(s.h3,{id:"theming",children:"Theming"}),"\n",(0,a.jsxs)(s.p,{children:["Theming is one of the most important features of Docusaurus: we believe a professional documentation site should ",(0,a.jsx)(s.strong,{children:"respect your company's branding"})," and create a consistent experience."]}),"\n",(0,a.jsxs)(s.p,{children:["Docusaurus theming gives a lot of ",(0,a.jsx)(s.strong,{children:"flexibility"})," on multiple levels:"]}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"Customize CSS variables to adjust colors, fonts, and more"}),"\n",(0,a.jsx)(s.li,{children:"Provide your own CSS stylesheets"}),"\n",(0,a.jsx)(s.li,{children:"Implement your own theme from scratch"}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.strong,{children:"Override any React component"})," provided by our default theme: we call this ",(0,a.jsx)(s.a,{href:"https://docusaurus.io/docs/swizzling",children:"swizzling"})]}),"\n"]}),"\n",(0,a.jsx)(i,{url:"https://x.com/hung_dev/status/1546918275065741312",handle:"hung_dev",name:"\nHung Viet Nguyen",job:"Creator of JestPreview",children:(0,a.jsx)(s.p,{children:"I love Docusaurus Swizzling feature. It\u2019s opinionated and flexible at the same\ntime. This is super cool since a framework usually needs to sacrifice one for\nthe other."})}),"\n",(0,a.jsxs)(s.p,{children:["This enables users willing to invest a bit more time on ",(0,a.jsx)(s.strong,{children:"customizations"})," to build sites that ",(0,a.jsx)(s.strong,{children:"look different"})," from others."]}),"\n",(0,a.jsx)(h.cQ,{}),"\n",(0,a.jsx)(i,{url:"https://x.com/dabit3/status/1382855449813389315",handle:"dabit3",name:"Nader Dabit",job:"Web3 developer, Developer DAO founder",children:(0,a.jsx)(s.p,{children:"So far it\u2019s working out really nicely. It\u2019s been really easy to style up the\nway that we wanted it to look. No blockers at all."})}),"\n",(0,a.jsx)(s.h3,{id:"other-features",children:"Other features"}),"\n",(0,a.jsx)(s.p,{children:"Docusaurus 2 comes with a very long list of useful features:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["Theme: dark mode, better UI and UX, flexible ",(0,a.jsx)(s.code,{children:"themeConfig"})," options..."]}),"\n",(0,a.jsx)(s.li,{children:"Docs versioning: flexible plugin options to adapt to your workflow"}),"\n",(0,a.jsx)(s.li,{children:"Docs sidebar: collapsible category, category index pages..."}),"\n",(0,a.jsx)(s.li,{children:"Blog: multiple authors, authors map, archive page..."}),"\n",(0,a.jsx)(s.li,{children:"Markdown: tabs, math equations, live code blocks, linking, flexible front matter..."}),"\n",(0,a.jsx)(s.li,{children:"Search: use the new Algolia DocSearch 3 experience"}),"\n",(0,a.jsx)(s.li,{children:"Assets: make it easy to incorporate images and other kinds of files"}),"\n",(0,a.jsx)(s.li,{children:"Internationalization: config options, default theme translations..."}),"\n",(0,a.jsx)(s.li,{children:"Accessibility: aria labels, color contrasts, skip-to-content, keyboard navigation, progressive enhancement..."}),"\n",(0,a.jsx)(s.li,{children:"SEO: sensible defaults, easy to customize, canonical url, social card, no-index, sitemap, microdata, hreflang..."}),"\n",(0,a.jsx)(s.li,{children:"PWA: add offline support to your site, and make it installable"}),"\n",(0,a.jsx)(s.li,{children:"Fail-fast: strict config validation, detect broken links, and prevent bad production deployments"}),"\n",(0,a.jsx)(s.li,{children:"TypeScript support for config files, plugins, custom pages and theme authors"}),"\n",(0,a.jsxs)(s.li,{children:["Playgrounds: assess Docusaurus easily from your browser with ",(0,a.jsx)(s.a,{href:"https://docusaurus.new",children:"docusaurus.new"})]}),"\n",(0,a.jsx)(s.li,{children:"Canary releases: use the @canary npm tag to use the upcoming release before anyone else"}),"\n",(0,a.jsx)(s.li,{children:"Tests: Docusaurus is well-tested, we dogfood features and ensure they keep working"}),"\n"]}),"\n",(0,a.jsx)(i,{url:"https://x.com/alexbdebrie/status/1540010328335032320",handle:"alexbdebrie",name:"Alex DeBrie",job:"AWS Data Hero, author of The DynamoDB Book",children:(0,a.jsx)(s.p,{children:"Recently, I was shocked at how good Docusaurus is out of the box. Super solid,\na good bit of configuration without being overwhelming, and the ability to\nreally customize the styling if you're braver than I am."})}),"\n",(0,a.jsx)(s.h2,{id:"why-20-now",children:"Why 2.0 now?"}),"\n",(0,a.jsxs)(s.p,{children:["Many enthusiastic followers of ours have been curious ",(0,a.jsx)(s.strong,{children:"why it took us 4 years to release Docusaurus 2.0"}),", considering the beta is already successful and ",(0,a.jsx)(s.strong,{children:"widely used in production"}),"."]}),"\n",(0,a.jsxs)(s.p,{children:["The reason is that we aim to ",(0,a.jsxs)(s.strong,{children:["respect ",(0,a.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"})]}),", which means we will be incrementing the major version number whenever we release a ",(0,a.jsx)(s.strong,{children:"breaking change"}),"."]}),"\n",(0,a.jsx)(s.p,{children:"It is important for multiple reasons:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["It ",(0,a.jsx)(s.strong,{children:"guarantees simple minor version upgrades"}),", as long as you only use the ",(0,a.jsx)(s.a,{href:"/community/release-process#public-api-surface",children:"public API"})]}),"\n",(0,a.jsx)(s.li,{children:"It follows front-end ecosystem conventions"}),"\n",(0,a.jsx)(s.li,{children:"A new major version is an opportunity to thoroughly document breaking changes"}),"\n",(0,a.jsx)(s.li,{children:"A new major/minor version is an opportunity to communicate new features through a blog post"}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:["The problem is that our flexible theming system inherently creates a very ",(0,a.jsx)(s.strong,{children:"implicit API surface"})," on which it is ",(0,a.jsx)(s.strong,{children:"hard to know what is a breaking change"})," in the first place. Highly customized Docusaurus sites sometimes have a hard time upgrading Docusaurus because they achieve customizations using internal APIs. We dedicated time to extensive theme refactors and clearly defining our ",(0,a.jsx)(s.a,{href:"/community/release-process#public-api-surface",children:"public API"}),", so that future code changes can be made more safely. We will continue to expand this public theming API so that the most common site customizations do not need to use any internal API."]}),"\n",(0,a.jsxs)(s.admonition,{type:"info",children:[(0,a.jsxs)(s.p,{children:["From now on, Docusaurus will ",(0,a.jsx)(s.strong,{children:"release new major versions more frequently"}),". In practice, you can expect a ",(0,a.jsx)(s.strong,{children:"new major version every 2 to 4 months"}),"."]}),(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.a,{href:"https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html",children:"Major version numbers are not sacred"}),", but we still group breaking changes together and avoid releasing major versions too often."]}),(0,a.jsxs)(s.p,{children:["Check our ",(0,a.jsx)(s.a,{href:"/community/release-process",children:"release process"})," documentation for details."]})]}),"\n",(0,a.jsx)(s.h2,{id:"whats-next",children:"What's Next?"}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"Slash Up and Running",src:t(50534).Z+"",width:"760",height:"160"})}),"\n",(0,a.jsxs)(s.p,{children:["The work on Docusaurus 3.0 has started, and this next version will be released only in a few months. We will ",(0,a.jsx)(s.strong,{children:"backport retro-compatible changes in Docusaurus 2.x"})," minor versions to make them available as soon as possible to the community on a stable channel."]}),"\n",(0,a.jsx)(s.p,{children:"A sample of the features on our roadmap for the upcoming major versions of Docusaurus:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/4029",children:"Upgrade to MDX 2.0"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/4625",children:"Improve Markdown infrastructure"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/6114",children:"Improve theming and swizzle"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/2961",children:"TailwindCSS theme"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/7227",children:"Theme; support custom item types for navbar, doc sidebar, blog sidebar, footer"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/4389",children:"Dynamic navbar: navbar item activation strategies"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/2968",children:"Custom Social Cards"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/3236",children:"CSS-in-JS support"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/6520",children:"Use Node.js ES Modules"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/4765",children:"Improve build time performance"})}),"\n",(0,a.jsx)(s.li,{children:(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/4138",children:"Extend Docusaurus plugins, CMS integration"})}),"\n"]}),"\n",(0,a.jsx)(s.h2,{id:"thank-you",children:"Thank You"}),"\n",(0,a.jsxs)(s.p,{children:["We'd like to express our gratitude to ",(0,a.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/graphs/contributors",children:"all our contributors"}),", including:"]}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["The Docusaurus core team: ",(0,a.jsx)(s.a,{href:"https://github.com/lex111",children:"Alexey Pyltsyn"}),", ",(0,a.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"Joshua Chen"}),", ",(0,a.jsx)(s.a,{href:"https://github.com/slorber",children:"S\xe9bastien Lorber"}),", ",(0,a.jsx)(s.a,{href:"https://github.com/yangshun",children:"Yangshun Tay"})," and all our ",(0,a.jsx)(s.a,{href:"https://docusaurus.io/community/team",children:"former team members"})]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/JoelMarcey",children:"Joel Marcey"})," for creating Docusaurus 1.0 and supporting the Docusaurus 2.0 project at Meta Open Source"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/zpao",children:"Paul O\u2019Shannessy"})," for supporting the development of all the next versions of Docusaurus at Meta Open Source"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/ericnakagawa",children:"Eric Nakagawa"})," for creating our cutest mascot Slash"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/endiliey",children:"Endilie Yacop Sucipto"})," for his significant ",(0,a.jsx)(s.a,{href:"/blog/2020/01/07/tribute-to-endi",children:"initial work on Docusaurus v2"})]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.a,{href:"https://github.com/shortcuts",children:"Cl\xe9ment Vannicatte"}),", ",(0,a.jsx)(s.a,{href:"https://github.com/Shipow",children:"Kevin Granger"})," and the whole Algolia team for their support"]}),"\n",(0,a.jsxs)(s.li,{children:["All the community members for making valuable code contributions, improving our documentation, and answering questions on ",(0,a.jsx)(s.a,{href:"https://discordapp.com/invite/docusaurus",children:"Discord"})]}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:["We'd like to thank in particular all our ",(0,a.jsx)(s.strong,{children:"Docusaurus 2.0 early adopters"})," for assessing its alpha, beta and canary releases, providing a ton of ",(0,a.jsx)(s.strong,{children:"invaluable feedback"}),". We sincerely hope you had a great experience using it, and that you will continue to provide feedback on the upcoming pre-releases of Docusaurus 3.0."]}),"\n",(0,a.jsxs)(s.p,{children:["At ",(0,a.jsx)(s.a,{href:"https://opensource.fb.com/",children:"Meta Open Source"}),", Docusaurus is one of our ",(0,a.jsx)(s.strong,{children:"most successful projects"}),". We can't wait to see all the outstanding documentation websites that you will create! Don't forget to ",(0,a.jsxs)(s.strong,{children:["submit them to our ",(0,a.jsx)(s.a,{href:"/showcase",children:"site showcase"})]}),"!"]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.strong,{children:"Now, let your imagination run wild \uD83E\uDD2A!"})}),"\n",(0,a.jsx)(s.p,{children:"\u2014 Slash"}),"\n",(0,a.jsxs)(s.admonition,{type:"info",children:[(0,a.jsxs)(s.mdxAdmonitionTitle,{children:["We are on ",(0,a.jsx)(s.a,{href:"https://www.producthunt.com/posts/docusaurus-2-0",children:"ProductHunt"})," and ",(0,a.jsx)(s.a,{href:"https://news.ycombinator.com/item?id=32303052",children:"Hacker News"}),"!"]}),(0,a.jsx)(s.p,{children:"\uD83D\uDE4F Share your experience using Docusaurus with the community!"}),(0,a.jsxs)("div",{style:{display:"flex"},children:[(0,a.jsx)(l.Z,{}),(0,a.jsx)(c.Z,{})]})]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.img,{alt:"Slash plushies",src:t(61576).Z+"",width:"1332",height:"1331"})})]})}function f(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},19497:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/babel.cbc364a.640.png 640w,"+t.p+"assets/ideal-img/babel.3669cfa.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/babel.cbc364a.640.png",width:640,height:355},{path:t.p+"assets/ideal-img/babel.3669cfa.1030.png",width:1030,height:571}],src:t.p+"assets/ideal-img/babel.cbc364a.640.png",toString:function(){return t.p+"assets/ideal-img/babel.cbc364a.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxUlEQVR4nAG6AEX/AHW3yo+qtZWouZOjuZCTupGGu4yEuoKCt3yHsnCOwQDI2OD07urj4uHc29ns6+fy8+3y8+3s7Oj18enC0+UA1ODq/vz78vP06+vu8PDz9PT38/P39/f5////0dbpANjf6f/9/Pj28fDs4PXy6P767/757v359P///+TH1wDb3ej4/Pv1+PPw8eb1+O31+Oz1+ez4+/b+///vwMwA1p7J1Zuk2JSQ1oZ71IB01Htx1nhv23lw3Xxy5m11yK+UrA2JDh4AAAAASUVORK5CYII="}},30677:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/docusaurus.2ad1782.640.png 640w,"+t.p+"assets/ideal-img/docusaurus.ba4280f.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/docusaurus.2ad1782.640.png",width:640,height:355},{path:t.p+"assets/ideal-img/docusaurus.ba4280f.1030.png",width:1030,height:571}],src:t.p+"assets/ideal-img/docusaurus.2ad1782.640.png",toString:function(){return t.p+"assets/ideal-img/docusaurus.2ad1782.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAwUlEQVR4nBXJPQuCQBgA4PvBQWE4CEFBSwQhRG1KU1M/oYYCzaCGCLIPjb4uQ++6pNOztHqjZ32QPFk0LbM1MtW+0eiZDX1c18ZV3VD0QV63kLU7xSL0yPnkbRn3aHQJxZVGPhdkaF/Q8kgAIIkfd4pf4p4m4Tfjn3cKAPOlj1zM/p1wEhzYDYcMC+5/MwEA2Fqhw/nf4skD4gTUpbd9FOPsHX0A2HCGVp2prXU3bXVdU+yKtC5LTqngKnm3VPRy8g+/UpX4n6rSEgAAAABJRU5ErkJggg=="}},94486:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/katex.2b3ecc9.640.png 640w,"+t.p+"assets/ideal-img/katex.91ac937.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/katex.2b3ecc9.640.png",width:640,height:355},{path:t.p+"assets/ideal-img/katex.91ac937.1030.png",width:1030,height:571}],src:t.p+"assets/ideal-img/katex.2b3ecc9.640.png",toString:function(){return t.p+"assets/ideal-img/katex.2b3ecc9.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAv0lEQVR4nAXB3wrBUBwA4PPAaiHSduOGG4UiV0rIC3gCNwqToraz5d8K46zNzraznbMxP9+HqqrV3eiDldFfmp252Z4arQluTLA83UnjA1pfbJFxQv2n51LOaMbiXPgiiri/wARplgP5N04S50VCSlkY8ThJRQYAe40gwyIAOWPMth9vzw0CGoZBygUA3FYYna4kB6Asvr8c4r1dGkQiFZ/vD8BfbBEeqfpwZva6elPW6mVNKeKadKxJZ6VkFyp/r/+XglW08JQAAAAASUVORK5CYII="}},94e3:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/prettier.0987194.640.png 640w,"+t.p+"assets/ideal-img/prettier.ac62bde.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/prettier.0987194.640.png",width:640,height:355},{path:t.p+"assets/ideal-img/prettier.ac62bde.1030.png",width:1030,height:571}],src:t.p+"assets/ideal-img/prettier.0987194.640.png",toString:function(){return t.p+"assets/ideal-img/prettier.0987194.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAvklEQVR4nDXCzwvBUBwA8PcHO6yWQktIK0kcnJRc5OIosZ1wkXKRNjYchmbzY794tnnv7SsHnz6IGy6rfbnWkyqdkViXxJJULspCYcyXB6naDM23Bvac4+mk69rFNv2n6z9dx7uzOJiuTaQYNwCGo4gwBn+MJQCwUm2kGVegJMD4FYaUEEbp74cAwHm+QfrBihnx8Nt6uO4Le/gdhHFEaALgTJZIaS+UVldrNlQxqxbTmzy/zXG7DLcXeDOV/gIPyZWv09LiSwAAAABJRU5ErkJggg=="}},87493:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/react-native.e8025ec.640.png 640w,"+t.p+"assets/ideal-img/react-native.8cebf9a.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/react-native.e8025ec.640.png",width:640,height:355},{path:t.p+"assets/ideal-img/react-native.8cebf9a.1030.png",width:1030,height:571}],src:t.p+"assets/ideal-img/react-native.e8025ec.640.png",toString:function(){return t.p+"assets/ideal-img/react-native.e8025ec.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxUlEQVR4nAG6AEX/AGisw32brIaZrYCSqn2EroB1rX52r5eYzoGMumSBtwC8ztfm4uHZ2dnLy8rP0c/i49/q6+f4+fX/+/S7zN8Az9zl+/n38vP04uTm6enq7O3u7Ovt9vb3////0NXpANDY4vXz8vHx8efm5+zr6vPy8vTz8vv4+f///+PG1wDY2+b3+/ni6OnO1djY3d/d4uTb4OPu8fL////uwMwA1p7J1pylzYiFvW5iu2dcu2NZulxUz2tk33505mx04r2PDpDiiAMAAAAASUVORK5CYII="}},92867:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/courier.e9b71f4.640.png 640w,"+t.p+"assets/ideal-img/courier.f8addf0.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/courier.e9b71f4.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/courier.f8addf0.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/courier.e9b71f4.640.png",toString:function(){return t.p+"assets/ideal-img/courier.e9b71f4.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AIyt27SXz7ud17eW2bGD269z3qhv3p5x3ZJw2X1+2gDIyeH52u/XwdTDq8LRu8/SvdLQu9Hm1+j/8//EzewAz9ro+/j+3dzizczR1NPY19XbxMHIxLzH49/hvb7XANTW5/ft+Pr3+//+/v39/f///8S+xUIjSS8XPIZdfwDW1ub39v3y9Pju8fTy9vj///+4uMImFDceEjeUVXkA1pzJ1Jej2JKO2IZ61oB024B1zGpjrUNDrERE11Vl8lGDEKxF5owAAAAASUVORK5CYII="}},27601:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/datagit.98630dd.640.png 640w,"+t.p+"assets/ideal-img/datagit.afeea1f.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/datagit.98630dd.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/datagit.afeea1f.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/datagit.98630dd.640.png",toString:function(){return t.p+"assets/ideal-img/datagit.98630dd.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAtElEQVR4nB3MSwtBQRiH8fm+SkoSycLOykI2ZOUb2CqxILlEJ5dDlFyaFIccnZk5877zF+un3yMah3B+UytpvJOZLsykb0Y90+urzjCstaVYyhcAdg6Ati6M6RFGlhiIB/5d+JcnAGMptsTETKyUUTomsjNPisP1l91fR5rfEQdvzUQAzsO1OJ4DAIqcIheR+1j3+Gj9vwfdidg0x+t6a1ut7MoFv5Txi+ldLrXPJvf5lEykv9L2nupSFk8xAAAAAElFTkSuQmCC"}},90765:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/dyte.b411d0a.640.png 640w,"+t.p+"assets/ideal-img/dyte.9d967ec.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/dyte.b411d0a.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/dyte.9d967ec.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/dyte.b411d0a.640.png",toString:function(){return t.p+"assets/ideal-img/dyte.b411d0a.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAvElEQVR4nCXJPQ/BQBgA4Pu9FqSDIBKjicFmEIPERmwkWCQkREvQpr4SJK7otb1DtXp3r4hnfVBhZrfmZHpg6uGpLkJt+BkP/H6PNjqs2LyhWmfZ7por82RZl3foCxBSSi4iABgaDlJ3FucCM/9IGKYv2/+QgLNAAIC2xEjfYwBJXM/1vIj/CcF/fR7paLO3JIBD6eVuXx2XsAd9B2H0e2cwRUZ1olfqZrlkFrLrvGLklE06sUvFt5kkjilfulmaxNksu3AAAAAASUVORK5CYII="}},12101:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/hasura.e4f3ebd.640.png 640w,"+t.p+"assets/ideal-img/hasura.226d6d3.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/hasura.e4f3ebd.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/hasura.226d6d3.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/hasura.e4f3ebd.640.png",toString:function(){return t.p+"assets/ideal-img/hasura.e4f3ebd.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AFqhu2SFmW2FnGR7l2Bpl2Fcl1pXk1dblk1lm1N7tgBGXm0VGyImLjUhKC0cJCgdJykbJSYWHyERHB0sSGIASl1sGSIqJi81KzI4KDA1JCsxJSwyISkvGiAiOUJZAFJgbxwkLCYuNiUtNR8nLiIqMh8mLiQqMhooLk42TABOWWkPHSUbKTMgMkEcLTsjNEEdMD4hMD4XNEFYMUUAtn6soWhzqmZjqFpPplJIqFBHqElCq0lCp0hAxUpUim0yiR9LFnEAAAAASUVORK5CYII="}},26220:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/ionic.7f10b53.640.png 640w,"+t.p+"assets/ideal-img/ionic.cd19b49.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/ionic.7f10b53.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/ionic.cd19b49.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/ionic.7f10b53.640.png",toString:function(){return t.p+"assets/ideal-img/ionic.7f10b53.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AJbY7s3o99Xo+tPk+8DK/MbA+ci/98HB98DM+Ji26gDK3ej//Pzy8vLs6+rn6u74+vn////x8u/w7OXE1uoA0d7p////7u/w4uPm6Ojq7e7z8/T309PW19fWub7UANTd6P/+/vj4+Pj4+fr6/Pr7/fb3+tve5/3//tCzxADZ3en8///0+Pn1+vv2+/v2+/vz+fvO2ef3///crLoA1ZzJ1Zqj2ZSP2ol814F12H1z2Hhv1HFq23lw42ZvKQ2aZPs/3GIAAAAASUVORK5CYII="}},73157:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/outerbounds.7fa8be7.640.png 640w,"+t.p+"assets/ideal-img/outerbounds.17abaf6.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/outerbounds.7fa8be7.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/outerbounds.17abaf6.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/outerbounds.7fa8be7.640.png",toString:function(){return t.p+"assets/ideal-img/outerbounds.7fa8be7.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAwklEQVR4nAXBPWvCQBgA4Pu7UhQsUh2Kk2sXF8Ghkz/BqdqCIBkUbf1Ag5GKaFsjyZ2X+3ovd+bt85BuxD9jszip6T6bzPVsBMFQfLzzt/Gt0/8jy3OCWFCasvSaZdR7i17fnUSEIIzJ4vvi81xIBZAbcNY6kMIIgd5MZ0eyin6cBSU1ZTJOtFRWcXZLWYH5cfRFosO1QJQGuJBCG3COZYIybhGTQUDC18mm2wvbL5vW07pZ3T5Xw3p5V3vYNSq/pcd/0kecLyndd98AAAAASUVORK5CYII="}},23739:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/quickwit.aae4257.640.png 640w,"+t.p+"assets/ideal-img/quickwit.e851c05.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/quickwit.aae4257.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/quickwit.e851c05.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/quickwit.aae4257.640.png",toString:function(){return t.p+"assets/ideal-img/quickwit.aae4257.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AFyguGaElrfL3djp/8zP+MvA98e99b7C97yt3pmd1QBLYG0jIii6u77x7+3s7On+//z+/fr8/vz/9/PHy+EAVWRzKCszvb/C6uvr4ODi7+7w8vHz8vL0////ztToAFxmdSkrM7/Bw/Ty8ujo6Ors6/T09P38/P///+PF1QBXXW0bIyu4vcDk7OzZ3+Dc4eLn7e72+fr9///uvssAuYCtpGl0zYeD2Ip70n1x13xy13du2XVs3Hpx52tzWcaFkyvPIw8AAAAASUVORK5CYII="}},39200:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/react-native.9ad7a23.640.png 640w,"+t.p+"assets/ideal-img/react-native.02f5343.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/react-native.9ad7a23.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/react-native.02f5343.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/react-native.9ad7a23.640.png",toString:function(){return t.p+"assets/ideal-img/react-native.9ad7a23.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AGaqwXuXqIWWqoKSqoKEroN1rYF2rXVzq32Jt22MwAC/0drp4uDF0NSpvcS+0dTI3N6909nQ3N789+++0eQA0+Dp///90urysdjlttrmuN3rpsXg0+Xw////ztPoANTc5vv5+PTy8ejk5O3p6fn19fz39f36+f///+PG1QDZ3Of09/bv8/Xq7/Hz+Pr0+vv0+vz5/Pz9///uvssA1p3J05eh1Y+L1IN22YN32X9023px3Hhv23pw52pzwqeO97QIzhcAAAAASUVORK5CYII="}},2921:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/figma.e023b25.640.png 640w,"+t.p+"assets/ideal-img/figma.4b79b06.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/figma.e023b25.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/figma.4b79b06.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/figma.e023b25.640.png",toString:function(){return t.p+"assets/ideal-img/figma.e023b25.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AHCswX+aqIearISVrH6Cq4F3rn93r3V1rG54pmeFuQDC09zu6ebp5+fl5OTo6OXu7+rx8ezr7Ojz7+e8zuEA0d7o///++fn65+fo9fX1+Pj5+Pj5/Pz9////0NToANXd5/z6+Pf39+Xk4+Ph5ePi5urp6vv5+f///+PF1QDe4ez////z+Pnf4+rg5O7m6/Hr8fP5/Pz9///uvssA157K1pqk2ZOO1YN50nxz1Xtw2Hdu3Hdv3Hpw52pyiw2SNplStDwAAAAASUVORK5CYII="}},18891:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/gulp.645374a.640.png 640w,"+t.p+"assets/ideal-img/gulp.f298c97.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/gulp.645374a.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/gulp.f298c97.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/gulp.645374a.640.png",toString:function(){return t.p+"assets/ideal-img/gulp.645374a.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AJG2zL6ls8OmuMGiubuLs7x9tLd7s7F+taR/rIeGugDU3eb/8/D97+7/8e/97en45N/76eX57On/6+PBx9oA0N/o8fPz7fDy7fDx8fT1/P7++fT189/i////ztLmANHY4u/r6vDu7+/t7fXz8//+/vrt7vXY2v///+PE1QDg4+7////9/v7+///8/v729/j3+/v2+fr4///ru8gA153J1pqj25SQ2ol82IF12X5z2npw3Hdu3Hpw52py1S6WZvfndWMAAAAASUVORK5CYII="}},68429:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/iota.95754da.640.png 640w,"+t.p+"assets/ideal-img/iota.117672c.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/iota.95754da.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/iota.117672c.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/iota.95754da.640.png",toString:function(){return t.p+"assets/ideal-img/iota.95754da.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AFOYtVZ2j111kl1zlFpilVtVl09LjkhLjEJSi05uqgA0TWYSGC8lLkQTGzELFy0IFCknOEsoOk4FDSAmQmUAO1BoGyU7NURYHTJIEh83DBQsZJGpbJeuBQ8lSUZpAEBPZwYRJw8qPRVDUwwWLR4sQUpvkUhoihAhNFQxUQA7Rl8ABx0DESgADSUCEigNHjQRJkIVJ0MAGCxJITwAs3uqnWNypmNjpFZOpVJKo0xFoUI8pEE8oUJAxEhVk18yaV+3uG0AAAAASUVORK5CYII="}},67304:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/lacework.dfc8aa5.640.png 640w,"+t.p+"assets/ideal-img/lacework.33303f9.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/lacework.dfc8aa5.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/lacework.33303f9.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/lacework.dfc8aa5.640.png",toString:function(){return t.p+"assets/ideal-img/lacework.dfc8aa5.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AIzU7rnd78Te8cHa8b7I87+69ri19ayx8qCy7oao5wCd1eWz3eO94OTI5eXM6/K43/+bw/6Bqfxji/xTgOoAt93q1/b53PX65fr83/T7zuT8vdT8rMT6nrj/hpzmAN3k7vTw8PLw8Pv6+vHv8P/+/Pn29fXw7P///uTH1gDe4ezx9/bx9vj2+/zw9vj3/f7x9/nq7/Pz///pu8kA153J0JWf1pCN2IZ60ntv1ntw13dt1G9n13Vr52pzffeTuLcnN78AAAAASUVORK5CYII="}},31929:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/react-navigation.1b40364.640.png 640w,"+t.p+"assets/ideal-img/react-navigation.a6b28c6.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/react-navigation.1b40364.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/react-navigation.a6b28c6.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/react-navigation.1b40364.640.png",toString:function(){return t.p+"assets/ideal-img/react-navigation.1b40364.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AJna8c3n9tLl99Hh+c3Q+czC+cjA+L+/9bfC8JWz6QDN3u728Pjw7/j29Pz19fv09fr29/zz8/n69vjC1O4Aydfr3dzu2Nrp19fkzc7gzs/g29znxMXitbbevsTiAMzU6c/O7NHR5+Xk7c/O3aWkt+bl7bOy2Kyx29W30wDKzujQ1fHR1vHb4PXZ3/LT1+za4PXP1O/R4Pnaq8gA0pjHz5Oi1I6P1YR71H901Xtz1HNv1XFu1HNv4mVyADiS2eC63VAAAAAASUVORK5CYII="}},51609:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/sap-cloud.f57d7fa.640.png 640w,"+t.p+"assets/ideal-img/sap-cloud.312bf29.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/sap-cloud.f57d7fa.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/sap-cloud.312bf29.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/sap-cloud.f57d7fa.640.png",toString:function(){return t.p+"assets/ideal-img/sap-cloud.f57d7fa.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AJjT3Mzc1NLa1tDW2M7F186318i12MG217q50Zas1ADUrU3/pgD8pwv+rBD/uC//uTD/rxH9rQ3/rQDHokwA2bRi/7Ie/bkx/7Yq9rxT9rtS/7Yt/bUx/7QezqJbANzk7P///8XHyN7g4f//+f///dLPyNzZz////+PF1ADf4+7////N2NzW5Ob7///5/v/U3dTV2sr6///uvssA153K0JWe15CK14R2035y1Hlu1HRs1nJr13Vr52pyn7CEdE5qo0kAAAAASUVORK5CYII="}},65020:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/snapchat.5f28663.640.png 640w,"+t.p+"assets/ideal-img/snapchat.39e00a7.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/snapchat.5f28663.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/snapchat.39e00a7.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/snapchat.5f28663.640.png",toString:function(){return t.p+"assets/ideal-img/snapchat.5f28663.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AHGztIijj5GjlYydlIqNkYqAk4Z9lYCAlnJ9iGiGpQDQ2Er96gDz5wP26QDv5RHw5xD47QD26wP/7wDAykgAr7dRwbcEvrcSwLYLvLMWurQWv7gQv7cQxLsFpqZLAD9IY19YEVtVGxUiNy0oMDQ0LTA+PxwZIhkeI1E0SgBITFs2OB44OiggLC8mLSovLSwoLSskKSwbKytaLDkAuH2ppGl3q2ZlrlxPqlRJqE9Fq0pDsk1ErkxDx0pT21lMrI2uNt0AAAAASUVORK5CYII="}},73959:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/solana.8bcac78.640.png 640w,"+t.p+"assets/ideal-img/solana.e7c1e4f.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/solana.8bcac78.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/solana.e7c1e4f.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/solana.8bcac78.640.png",toString:function(){return t.p+"assets/ideal-img/solana.8bcac78.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AJfa783n9dXo+c/g9szP98zB98i/98C+9LfC7pa06QDS5e3+/Pj7+/r8/Pr2+vX7/vr8/fr2+/b///vH2e4A1eLs9Pb08fT09PX26/Dw9vb38vL06/Dx/f38zNHlAN3l7v////z+/v7+//3+/v////7//v39/f///+PG1wCcoKuWmZiVmZqWm5yXm5yVmZqWm5yWmZuRnp2qfIgAsXejmF1noFlUolBDnkk8nUM4oUA3oj41njwywENMFZ6NFBzee74AAAAASUVORK5CYII="}},85334:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/stackblitz.3a585ac.640.png 640w,"+t.p+"assets/ideal-img/stackblitz.786829d.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/stackblitz.3a585ac.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/stackblitz.786829d.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/stackblitz.3a585ac.640.png",toString:function(){return t.p+"assets/ideal-img/stackblitz.3a585ac.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AGmswn6ZqIibrISUq4CDrH90qntyqXNzqGl1omaEuADK2+Tx6+ns6unv7evr6+j4+fT5+vXz8/D//fW+z+IA2ebv/v37+Pr79v7/8vX3ysrMv8DDur3B0tbXzdLmAN3m7////fj5+ff//9bv9SEmKwUIDgYNFR0sM9W5yQDLz9nd4uDZ3d7a4ePE1txxen5kbHBka29oeXnRpLEAv4azsHR/uHJuuGdbuGFUwWdbxGNaxmFZw2JY0FRd0wl8G5D7uNgAAAAASUVORK5CYII="}},49443:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/supabase.e96fd5f.640.png 640w,"+t.p+"assets/ideal-img/supabase.f37ca60.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/supabase.e96fd5f.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/supabase.f37ca60.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/supabase.e96fd5f.640.png",toString:function(){return t.p+"assets/ideal-img/supabase.e96fd5f.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AFibsGF8iWx/kGd4jmFljWFWjFxUjFhYjU5ZhVRypgBGWGAXEg4jIiEnJiQcHBgZGhUaGhUcHRkZFQ0yRFcAUV5nHx0cKiorLS0tKSkqJyYoKSgpKCgqHx4cPkNXAFdfaB8dGywsLDIxMS0rKyknJzEvLzAuLyMmI1Y4SABVWWMTFxUiJicnLC0hJicdIiMlKywkKCkTISBbLTkAuX+so2dxqmVgqllMp1FFp01Cqkk/rEc+qEY9xkpSZqAv5L+d0r8AAAAASUVORK5CYII="}},83355:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/tauri.7d284be.640.png 640w,"+t.p+"assets/ideal-img/tauri.4852075.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/tauri.7d284be.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/tauri.4852075.1030.png",width:1030,height:573}],src:t.p+"assets/ideal-img/tauri.7d284be.640.png",toString:function(){return t.p+"assets/ideal-img/tauri.7d284be.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVR4nAG6AEX/AFucsWV/jXCCk2h4kGBljmFXjl9Yk1tbkVBbiFV0qgBFWWMTEhIYGxwuLyQ4ODM0NzMuKhoxNjczNDI5SFcAQ1lmSkM2UUxELTk4S0pKR0hLPzcnQEpYPUpbR0dSAEhWY0ZEOE1HPh4fJTc4PDQ0NyIkKSomIyYmG1w9SwBNUl0PHB4YIicaHyEwNjg0Oz0YHiAkKCcaJyFbLTkAtXypqGt0rWZirVxPpVBDqE1CrExCrUlAqEc+xUlStsQ1Jd2lGVkAAAAASUVORK5CYII="}},54208:function(e,s,t){"use strict";t.d(s,{Z:()=>n});var i=t(67294),a=function(){return(a=Object.assign||function(e){for(var s,t=1,i=arguments.length;t<i;t++)for(var a in s=arguments[t])Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a]);return e}).apply(this,arguments)},n=i.forwardRef(function(e,s){var t=i.useState(!1),n=t[0],r=t[1],o=i.useState(!1),l=o[0],c=o[1],d=encodeURIComponent(e.id),h="string"==typeof e.playlistCoverId?encodeURIComponent(e.playlistCoverId):null,u=e.title,p=e.poster||"hqdefault",g="&".concat(e.params)||"",A=e.muted?"&mute=1":"",m=e.announce||"Watch",f=e.webp?"webp":"jpg",x=e.webp?"vi_webp":"vi",w=e.thumbnail||(e.playlist?"https://i.ytimg.com/".concat(x,"/").concat(h,"/").concat(p,".").concat(f):"https://i.ytimg.com/".concat(x,"/").concat(d,"/").concat(p,".").concat(f)),b=e.noCookie?"https://www.youtube-nocookie.com":"https://www.youtube.com";b=e.cookie?"https://www.youtube.com":"https://www.youtube-nocookie.com";var j=e.playlist?"".concat(b,"/embed/videoseries?autoplay=1").concat(A,"&list=").concat(d).concat(g):"".concat(b,"/embed/").concat(d,"?autoplay=1&state=1").concat(A).concat(g),v=e.activatedClass||"lyt-activated",y=e.adNetwork||!1,k=e.aspectHeight||9,S=e.aspectWidth||16,I=e.iframeClass||"",D=e.playerClass||"lty-playbtn",B=e.wrapperClass||"yt-lite",U=e.onIframeAdded||function(){},z=e.rel?"prefetch":"preload",C=e.containerElement||"article";return i.useEffect(function(){l&&U()},[l]),i.createElement(i.Fragment,null,i.createElement("link",{rel:z,href:w,as:"image"}),i.createElement(i.Fragment,null,n&&i.createElement(i.Fragment,null,i.createElement("link",{rel:"preconnect",href:b}),i.createElement("link",{rel:"preconnect",href:"https://www.google.com"}),y&&i.createElement(i.Fragment,null,i.createElement("link",{rel:"preconnect",href:"https://static.doubleclick.net"}),i.createElement("link",{rel:"preconnect",href:"https://googleads.g.doubleclick.net"})))),i.createElement(C,{onPointerOver:function(){n||r(!0)},onClick:function(){l||c(!0)},className:"".concat(B," ").concat(l?v:""),"data-title":u,style:a({backgroundImage:"url(".concat(w,")")},{"--aspect-ratio":"".concat(k/S*100,"%")})},i.createElement("button",{type:"button",className:D,"aria-label":"".concat(m," ").concat(u)}),l&&i.createElement("iframe",{ref:s,className:I,title:u,width:"560",height:"315",frameBorder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,src:j})))})},21811:function(e,s,t){"use strict";t.d(s,{Z:()=>o});var i=t(85893);t(67294);var a=t(66222),n=t(77827);function r(e,s){switch(e){case"noicon":case"loaded":return null;case"loading":return(0,n.I)({id:"theme.IdealImageMessage.loading",message:"Loading...",description:"When the full-scale image is loading"});case"load":{let{pickedSrc:e}=s,{size:t}=e,i=t?` (${function(e){let s=["B","KB","MB","GB","TB"];if(0===e)return"n/a";let t=Math.floor(Math.log(e)/Math.log(1024));return 0===t?`${e} ${s[t]}`:`${(e/1024**t).toFixed(1)} ${s[t]}`}(t)})`:"";return(0,n.I)({id:"theme.IdealImageMessage.load",message:"Click to load{sizeMessage}",description:"To prompt users to load the full image. sizeMessage is a parenthesized size figure."},{sizeMessage:i})}case"offline":return(0,n.I)({id:"theme.IdealImageMessage.offline",message:"Your browser is offline. Image not loaded",description:"When the user is viewing an offline document"});case"error":{let{loadInfo:e}=s;if(404===e)return(0,n.I)({id:"theme.IdealImageMessage.404error",message:"404. Image not found",description:"When the image is not found"});return(0,n.I)({id:"theme.IdealImageMessage.error",message:"Error. Click to reload",description:"When the image fails to load for unknown error"})}default:throw Error(`Wrong icon: ${e}`)}}function o(e){let{img:s,...t}=e;return"string"==typeof s||"default"in s?(0,i.jsx)("img",{src:"string"==typeof s?s:s.default,...t}):(0,i.jsx)(a.default,{...t,height:s.src.height??100,width:s.src.width??100,placeholder:{lqip:s.preSrc},src:s.src.src,srcSet:s.src.images.map(e=>({...e,src:e.path})),getMessage:r})}},85017:function(e,s,t){"use strict";t.d(s,{Gl:()=>h,qg:()=>u,cQ:()=>p});var i=t(85893),a=t(67294),n=t(90496),r=t(35363),o=t(21811);let l="navButton_qSul";function c(e){let{index:s,site:t}=e;return(0,i.jsxs)("div",{className:"cssCarouselContent_dGP2",children:[(0,i.jsx)(o.Z,{img:t.image,alt:t.name,loading:0===s?"eager":"lazy"}),(0,i.jsxs)(r.Z,{to:t.url,className:"siteLink_IglZ",target:"_blank",children:["\uD83D\uDD17 ",t.name]})]},s)}function d(e){let{sites:s,aspectRatio:t}=e,r=(0,a.useRef)(null),o=e=>{let s=r.current,t=s.offsetWidth;s.scrollBy({left:e?t:-t,behavior:"smooth"})};return(0,i.jsx)("div",{className:"cssCarousel_jWvs",style:{aspectRatio:t},children:(0,i.jsxs)("div",{ref:r,className:"cssCarouselSlider_nIAN",style:{aspectRatio:t},children:[s.map((e,s)=>(0,i.jsx)("div",{className:"cssCarouselItem_GXZ2",children:(0,i.jsx)(c,{index:s,site:e})},s)),(0,i.jsx)("button",{className:(0,n.Z)(l,"navButtonPrev_SxeT"),type:"button",onClick:()=>o(!1),children:"<"}),(0,i.jsx)("button",{className:(0,n.Z)(l,"navButtonNext_yu77"),type:"button",onClick:()=>o(!0),children:">"})]})})}function h(){return(0,i.jsx)(d,{aspectRatio:1072/584,sites:[{name:"Prettier",image:t(94e3),url:"https://prettier.io/"},{name:"Babel",image:t(19497),url:"https://babeljs.io/"},{name:"React-Native",image:t(87493),url:"https://archive.reactnative.dev/"},{name:"Katex",image:t(94486),url:"https://katex.org/docs/"},{name:"Docusaurus",image:t(30677),url:"https://v1.docusaurus.io/"}]})}function u(){return(0,i.jsx)(d,{aspectRatio:2148/1194,sites:[{name:"Tauri",image:t(83355),url:"https://tauri.app/"},{name:"Figma",image:t(2921),url:"https://www.figma.com/plugin-docs/"},{name:"Snapchat",image:t(65020),url:"https://docs.snap.com/"},{name:"Iota",image:t(68429),url:"https://wiki.iota.org/"},{name:"SAP Cloud",image:t(51609),url:"https://sap.github.io/cloud-sdk/"},{name:"Supabase",image:t(49443),url:"https://supabase.com/docs"},{name:"StackBlitz",image:t(85334),url:"https://developer.stackblitz.com/"},{name:"Lacework",image:t(67304),url:"https://docs.lacework.com/"},{name:"React-Navigation",image:t(31929),url:"https://reactnavigation.org/"},{name:"Solana",image:t(73959),url:"https://docs.solana.com/"},{name:"Gulp",image:t(18891),url:"https://gulpjs.com/"}]})}function p(){return(0,i.jsx)(d,{aspectRatio:2148/1194,sites:[{name:"Ionic",image:t(26220),url:"https://ionicframework.com/docs/"},{name:"Outerbounds",image:t(73157),url:"https://outerbounds.com/docs/"},{name:"Courier",image:t(92867),url:"https://www.courier.com/docs/"},{name:"Quickwit",image:t(23739),url:"https://quickwit.io/docs/"},{name:"Dyte",image:t(90765),url:"https://docs.dyte.io/"},{name:"React-Native",image:t(39200),url:"https://reactnative.dev/"},{name:"Hasura",image:t(12101),url:"https://hasura.io/docs/"},{name:"Datagit",image:t(27601),url:"https://www.datagit.ir/"}]})}},14522:function(e,s,t){"use strict";t.d(s,{Z:()=>o});var i=t(85893);t(67294);var a=t(90496);let n="dot_giz1",r="bar_rrRL";function o(e){let{children:s,minHeight:t,url:o="http://localhost:3000",style:l,bodyStyle:c}=e;return(0,i.jsxs)("div",{className:"browserWindow_my1Q",style:{...l,minHeight:t},children:[(0,i.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,i.jsxs)("div",{className:"buttons_uHc7",children:[(0,i.jsx)("span",{className:n,style:{background:"#f25f58"}}),(0,i.jsx)("span",{className:n,style:{background:"#fbbe3c"}}),(0,i.jsx)("span",{className:n,style:{background:"#58cb42"}})]}),(0,i.jsx)("div",{className:(0,a.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:o}),(0,i.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{className:r}),(0,i.jsx)("span",{className:r}),(0,i.jsx)("span",{className:r})]})})]}),(0,i.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:s})]})}},85486:function(e,s,t){"use strict";t.d(s,{Z:()=>n});var i=t(85893);t(67294);var a=t(35363);function n(e){let{size:s=54}=e;return(0,i.jsx)(a.Z,{to:"https://news.ycombinator.com/item?id=32303052",style:{display:"block",width:s,height:s},children:(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:s,height:s,children:[(0,i.jsx)("path",{fill:"#FF6D00",d:"M42 42H6V6h36v36z"}),(0,i.jsx)("path",{fill:"#FFF",d:"M8 8v32h32V8H8zm30 30H10V10h28v28z"}),(0,i.jsx)("path",{fill:"#FFF",d:"M23 32h2v-6l5.5-10h-2.1L24 24.1 19.6 16h-2.1L23 26z"})]})})}},22097:function(e,s,t){"use strict";t.d(s,{Z:()=>r});var i=t(85893);t(67294);var a=t(90496),n=t(35363);function r(e){let{className:s,style:t}=e;return(0,i.jsx)(n.Z,{to:"https://www.producthunt.com/posts/docusaurus-2-0?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-docusaurus-2-0",className:(0,a.Z)("producthunt-badge-widget",s),style:{display:"block",width:250,height:54,...t},children:(0,i.jsx)("img",{className:"producthunt-badge-widget",src:"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=353916&theme=light",alt:"Docusaurus 2.0 - Build optimized websites quickly, focus on your content. | Product Hunt",style:{width:250,height:54,maxWidth:"initial"},width:250,height:54})})}},80980:function(e,s,t){"use strict";t.d(s,{Z:()=>o,a:()=>r});var i=t(67294);let a={},n=i.createContext(a);function r(e){let s=i.useContext(n);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),i.createElement(n.Provider,{value:s},e.children)}},11601:function(e){"use strict";e.exports=JSON.parse('{"permalink":"/blog/2022/08/01/announcing-docusaurus-2.0","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2022/08-01-announcing-docusaurus-2.0/index.mdx","source":"@site/blog/2022/08-01-announcing-docusaurus-2.0/index.mdx","title":"Announcing Docusaurus 2.0","description":"Today we are extremely happy to finally announce Docusaurus 2.0! \uD83E\uDD73\uFE0F","date":"2022-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":12.075,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Joshua Chen","title":"Working hard on Docusaurus","url":"https://joshcena.com/","email":"sidachen2003@gmail.com","page":{"permalink":"/blog/authors/josh-cena"},"imageURL":"https://github.com/josh-cena.png","key":"Josh-Cena"},{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"},{"name":"Alexey Pyltsyn","title":"Open-source enthusiast","url":"https://github.com/lex111","email":"lex@php.net","page":{"permalink":"/blog/authors/lex-111"},"imageURL":"https://github.com/lex111.png","key":"lex111"},{"name":"Paul O\u2019Shannessy","title":"Engineering Manager at Meta","url":"https://x.com/zpao","page":{"permalink":"/blog/authors/zpao"},"socials":{"x":"https://x.com/zpao","github":"https://github.com/zpao"},"imageURL":"https://github.com/zpao.png","key":"zpao"},{"name":"Joel Marcey","title":"Co-creator of Docusaurus 1","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Announcing Docusaurus 2.0","authors":["slorber","Josh-Cena","yangshun","lex111","zpao",{"key":"JMarcey","title":"Co-creator of Docusaurus 1"}],"tags":["release"],"image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2.1","permalink":"/blog/2022/09/01/docusaurus-2.1"},"nextItem":{"title":"Docusaurus 2021 Recap","permalink":"/blog/2022/01/24/docusaurus-2021-recap"}}')}}]); \ No newline at end of file diff --git a/assets/js/519fdddf.1c96a1f0.js b/assets/js/519fdddf.1c96a1f0.js new file mode 100644 index 0000000000..b5bcaf3a57 --- /dev/null +++ b/assets/js/519fdddf.1c96a1f0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["89478"],{89696:function(e,t,s){s.r(t),s.d(t,{frontMatter:()=>o,default:()=>u,contentTitle:()=>d,assets:()=>c,toc:()=>a,metadata:()=>n});var n=JSON.parse('{"id":"tests/visibility/force-unlisted","title":"force_unlisted_parseFrontMatter_test","description":"This doc is hidden despite unlisted: false","source":"@site/_dogfooding/_docs tests/tests/visibility/force-unlisted.mdx","sourceDirName":"tests/visibility","slug":"/tests/visibility/force-unlisted","permalink":"/tests/docs/tests/visibility/force-unlisted","draft":false,"unlisted":true,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"force_unlisted_parseFrontMatter_test":true},"sidebar":"sidebar"}'),r=s(85893),i=s(80980);let o={unlisted:!0,force_unlisted_parseFrontMatter_test:!0},d="force_unlisted_parseFrontMatter_test",c={},a=[];function l(e){let t={code:"code",h1:"h1",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"force_unlisted_parsefrontmatter_test",children:"force_unlisted_parseFrontMatter_test"})}),"\n",(0,r.jsxs)(t.p,{children:["This doc is hidden despite ",(0,r.jsx)(t.code,{children:"unlisted: false"})]}),"\n",(0,r.jsxs)(t.p,{children:["We use ",(0,r.jsx)(t.code,{children:"parseFrontMatter"})," to force it to true thanks to ",(0,r.jsx)(t.code,{children:"force_unlisted_parseFrontMatter_test: true"})]})]})}function u(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}u.displayName="MDXContent(_dogfooding/_docs tests/tests/visibility/force-unlisted.mdx)"},80980:function(e,t,s){s.d(t,{Z:()=>d,a:()=>o});var n=s(67294);let r={},i=n.createContext(r);function o(e){let t=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/51b4980b.876ae71a.js b/assets/js/51b4980b.876ae71a.js new file mode 100644 index 0000000000..480555c2e1 --- /dev/null +++ b/assets/js/51b4980b.876ae71a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["74138"],{67418:function(t){t.exports=JSON.parse('{"tag":{"label":"Blog","permalink":"/tests/blog/tags/blog","allTagsPath":"/tests/blog/tags","count":4,"unlisted":false},"listMetadata":{"permalink":"/tests/blog/tags/blog/page/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":4,"previousPage":"/tests/blog/tags/blog","blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/51cfc813.41e71a3d.js b/assets/js/51cfc813.41e71a3d.js new file mode 100644 index 0000000000..7f4794b773 --- /dev/null +++ b/assets/js/51cfc813.41e71a3d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["69070"],{65159:function(e,t,n){n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var l=n(87171),s=n(85893),a=n(80980);let r={mdx:{format:"md"},date:"2020-04-27T20:00",authors:["lex111"]},i="2.0.0-alpha.53",o={authorsImageUrls:[void 0]},c=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"Committers: 1",id:"committers-1",level:2}];function u(e){let t={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"HOTFIX for 2.0.0-alpha.51"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"docusaurus-theme-classic"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/2676",children:"#2676"})," fix(v2): allow build website without custom css (",(0,s.jsx)(t.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"committers-1",children:"Committers: 1"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Alexey Pyltsyn (",(0,s.jsx)(t.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]})]})}function h(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>i,a:()=>r});var l=n(67294);let s={},a=l.createContext(s);function r(e){let t=l.useContext(a);return l.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),l.createElement(a.Provider,{value:t},e.children)}},87171:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.53","source":"@site/changelog/source/2.0.0-alpha.53.md","title":"2.0.0-alpha.53","description":"HOTFIX for 2.0.0-alpha.51.","date":"2020-04-27T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-04-27T20:00","authors":["lex111"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.54","permalink":"/changelog/2.0.0-alpha.54"},"nextItem":{"title":"2.0.0-alpha.51","permalink":"/changelog/2.0.0-alpha.51"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/520a8178.fc5eb297.js b/assets/js/520a8178.fc5eb297.js new file mode 100644 index 0000000000..8cbefb7e45 --- /dev/null +++ b/assets/js/520a8178.fc5eb297.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["4828"],{25891:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>u,default:()=>h,contentTitle:()=>o,assets:()=>c,toc:()=>d,metadata:()=>i});var i=JSON.parse('{"id":"api/plugins/plugin-debug","title":"\uD83D\uDCE6 plugin-debug","description":"The debug plugin will display useful debug information at http3000/docusaurus/debug.","source":"@site/docs/api/plugins/plugin-debug.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-debug","permalink":"/docs/api/plugins/@docusaurus/plugin-debug","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-debug.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":5,"frontMatter":{"sidebar_position":5,"slug":"/api/plugins/@docusaurus/plugin-debug"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-client-redirects","permalink":"/docs/api/plugins/@docusaurus/plugin-client-redirects"},"next":{"title":"\uD83D\uDCE6 plugin-google-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-google-analytics"}}'),s=t(85893),r=t(80980),l=t(15398),a=t(58636);let u={sidebar_position:5,slug:"/api/plugins/@docusaurus/plugin-debug"},o="\uD83D\uDCE6 plugin-debug",c={},d=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Example configuration",id:"ex-config",level:3}];function p(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"-plugin-debug",children:"\uD83D\uDCE6 plugin-debug"})}),"\n","\n",(0,s.jsxs)(n.p,{children:["The debug plugin will display useful debug information at ",(0,s.jsx)(n.a,{href:"http://localhost:3000/__docusaurus/debug",children:(0,s.jsx)(n.code,{children:"http://localhost:3000/__docusaurus/debug"})}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["It is mostly useful for plugin authors, that will be able to inspect more easily the content of the ",(0,s.jsx)(n.code,{children:".docusaurus"})," folder (like the creates routes), but also be able to inspect data structures that are never written to disk, like the plugin data loaded through the ",(0,s.jsx)(n.code,{children:"contentLoaded"})," lifecycle."]}),"\n",(0,s.jsxs)(n.admonition,{type:"info",children:[(0,s.jsxs)(n.p,{children:["If you use the plugin via the classic preset, the preset will ",(0,s.jsx)(n.strong,{children:"enable the plugin in development and disable it in production"})," by default (",(0,s.jsx)(n.code,{children:"debug: undefined"}),") to avoid exposing potentially sensitive information. You can use ",(0,s.jsx)(n.code,{children:"debug: true"})," to always enable it or ",(0,s.jsx)(n.code,{children:"debug: false"})," to always disable it."]}),(0,s.jsx)(n.p,{children:"If you use a standalone plugin, you may need to achieve the same effect by checking the environment:"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n plugins: [\n // highlight-next-line\n process.env.NODE_ENV !== 'production' && '@docusaurus/plugin-debug',\n ].filter(Boolean),\n};\n"})})]}),"\n",(0,s.jsxs)(n.admonition,{type:"note",children:[(0,s.jsx)(n.p,{children:"If you report a bug, we will probably ask you to have this plugin turned on in the production, so that we can inspect your deployment config more easily."}),(0,s.jsxs)(n.p,{children:["If you don't have any sensitive information, you can keep it on in production ",(0,s.jsx)(n.a,{href:"/__docusaurus/debug",children:"like we do"}),"."]})]}),"\n",(0,s.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,s.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,s.jsx)(a.Z,{value:"npm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-debug\n"})})}),(0,s.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-debug\n"})})}),(0,s.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-debug\n"})})})]}),"\n",(0,s.jsxs)(n.admonition,{type:"tip",children:[(0,s.jsxs)(n.p,{children:["If you use the preset ",(0,s.jsx)(n.code,{children:"@docusaurus/preset-classic"}),", you don't need to install this plugin as a dependency."]}),(0,s.jsxs)(n.p,{children:["You can configure this plugin through the ",(0,s.jsx)(n.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),"."]})]}),"\n",(0,s.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,s.jsx)(n.p,{children:"This plugin currently has no options."}),"\n",(0,s.jsx)(n.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,s.jsx)(n.p,{children:"You can configure this plugin through preset options or plugin options."}),"\n",(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsx)(n.p,{children:"Most Docusaurus users configure this plugin through the preset options."})}),"\n",(0,s.jsxs)(l.Z,{groupId:"api-config-ex",children:[(0,s.jsxs)(a.Z,{value:"preset",label:"Preset options",children:[(0,s.jsxs)(n.p,{children:["If you use a preset, configure this plugin through the ",(0,s.jsx)(n.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),":"]}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n // highlight-next-line\n debug: true, // This will enable the plugin in production\n },\n ],\n ],\n};\n"})})]}),(0,s.jsxs)(a.Z,{value:"plugin",label:"Plugin Options",children:[(0,s.jsx)(n.p,{children:"If you are using a standalone plugin, provide options directly to the plugin:"}),(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // highlight-next-line\n plugins: ['@docusaurus/plugin-debug'],\n};\n"})})]})]})]})}function h(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},58636:function(e,n,t){t.d(n,{Z:()=>r});var i=t(85893);t(67294);var s=t(90496);function r(e){let{children:n,hidden:t,className:r}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.Z)("tabItem_pnkT",r),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>x});var i=t(85893),s=t(67294),r=t(90496),l=t(54947),a=t(3620),u=t(844),o=t(97486),c=t(32263),d=t(16971);function p(e){return s.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||s.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var g=t(71607);function f(e){let{className:n,block:t,selectedValue:s,selectValue:a,tabValues:u}=e,o=[],{blockElementScrollPositionUntilNextRender:c}=(0,l.o5)(),d=e=>{let n=e.currentTarget,t=u[o.indexOf(n)].value;t!==s&&(c(n),a(t))},p=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let t=o.indexOf(e.currentTarget)+1;n=o[t]??o[0];break}case"ArrowLeft":{let t=o.indexOf(e.currentTarget)-1;n=o[t]??o[o.length-1]}}n?.focus()};return(0,i.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":t},n),children:u.map(e=>{let{value:n,label:t,attributes:l}=e;return(0,i.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>{o.push(e)},onKeyDown:p,onClick:d,...l,className:(0,r.Z)("tabs__item","tabItem_AQgk",l?.className,{"tabs__item--active":s===n}),children:t??n},n)})})}function b(e){let{lazy:n,children:t,selectedValue:l}=e,a=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=a.find(e=>e.props.value===l);return e?(0,s.cloneElement)(e,{className:(0,r.Z)("margin-top--md",e.props.className)}):null}return(0,i.jsx)("div",{className:"margin-top--md",children:a.map((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==l}))})}function m(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:i}=e,r=function(e){let{values:n,children:t}=e;return(0,s.useMemo)(()=>{let e=n??p(t).map(e=>{let{props:{value:n,label:t,attributes:i,default:s}}=e;return{value:n,label:t,attributes:i,default:s}});return!function(e){let n=(0,c.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[l,g]=(0,s.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!h({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let i=t.find(e=>e.default)??t[0];if(!i)throw Error("Unexpected error: 0 tabValues");return i.value})({defaultValue:n,tabValues:r})),[f,b]=function(e){let{queryString:n=!1,groupId:t}=e,i=(0,a.k6)(),r=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o._X)(r),(0,s.useCallback)(e=>{if(!r)return;let n=new URLSearchParams(i.location.search);n.set(r,e),i.replace({...i.location,search:n.toString()})},[r,i])]}({queryString:t,groupId:i}),[m,x]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[i,r]=(0,d.Nk)(t);return[i,(0,s.useCallback)(e=>{t&&r.set(e)},[t,r])]}({groupId:i}),j=(()=>{let e=f??m;return h({value:e,tabValues:r})?e:null})();return(0,u.Z)(()=>{j&&g(j)},[j]),{selectedValue:l,selectValue:(0,s.useCallback)(e=>{if(!h({value:e,tabValues:r}))throw Error(`Can't select invalid tab value=${e}`);g(e),b(e),x(e)},[b,x,r]),tabValues:r}}(e);return(0,i.jsxs)("div",{className:(0,r.Z)("tabs-container","tabList_Qoir"),children:[(0,i.jsx)(f,{...n,...e}),(0,i.jsx)(b,{...n,...e})]})}function x(e){let n=(0,g.Z)();return(0,i.jsx)(m,{...e,children:p(e.children)},String(n))}},80980:function(e,n,t){t.d(n,{Z:()=>a,a:()=>l});var i=t(67294);let s={},r=i.createContext(s);function l(e){let n=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/522b3e8c.2a1e9bf8.js b/assets/js/522b3e8c.2a1e9bf8.js new file mode 100644 index 0000000000..b4638000cc --- /dev/null +++ b/assets/js/522b3e8c.2a1e9bf8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["34720"],{1458:function(e,t,a){a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=a(54630),l=a(85893),o=a(80980);let r={mdx:{format:"md"},date:"2020-03-08T20:00",authors:["lex111"]},s="2.0.0-alpha.48",u={authorsImageUrls:[void 0]},c=[];function i(e){return(0,l.jsx)(l.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(i,{...e})}):i(e)}},80980:function(e,t,a){a.d(t,{Z:()=>s,a:()=>r});var n=a(67294);let l={},o=n.createContext(l);function r(e){let t=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),n.createElement(o.Provider,{value:t},e.children)}},54630:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.48","source":"@site/changelog/source/2.0.0-alpha.48.md","title":"2.0.0-alpha.48","description":"HOTFIX for 2.0.0-alpha.44.","date":"2020-03-08T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-03-08T20:00","authors":["lex111"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.49","permalink":"/changelog/2.0.0-alpha.49"},"nextItem":{"title":"2.0.0-alpha.44","permalink":"/changelog/2.0.0-alpha.44"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/533a09ca.f000fb5f.js b/assets/js/533a09ca.f000fb5f.js deleted file mode 100644 index 940f5a158b..0000000000 --- a/assets/js/533a09ca.f000fb5f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[3098],{2621:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"tutorial-basics/create-a-blog-post","title":"Create a Blog Post","description":"Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...","source":"@site/docs/tutorial-basics/create-a-blog-post.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/create-a-blog-post","permalink":"/docs/tutorial-basics/create-a-blog-post","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-blog-post.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Create a Document","permalink":"/docs/tutorial-basics/create-a-document"},"next":{"title":"Markdown Features","permalink":"/docs/tutorial-basics/markdown-features"}}');var r=s(4848),o=s(3023);const n={sidebar_position:3},i="Create a Blog Post",c={},l=[{value:"Create your first Post",id:"create-your-first-post",level:2}];function u(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"create-a-blog-post",children:"Create a Blog Post"})}),"\n",(0,r.jsxs)(t.p,{children:["Docusaurus creates a ",(0,r.jsx)(t.strong,{children:"page for each blog post"}),", but also a ",(0,r.jsx)(t.strong,{children:"blog index page"}),", a ",(0,r.jsx)(t.strong,{children:"tag system"}),", an ",(0,r.jsx)(t.strong,{children:"RSS"})," feed..."]}),"\n",(0,r.jsx)(t.h2,{id:"create-your-first-post",children:"Create your first Post"}),"\n",(0,r.jsxs)(t.p,{children:["Create a file at ",(0,r.jsx)(t.code,{children:"blog/2021-02-28-greetings.md"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-md",metastring:'title="blog/2021-02-28-greetings.md"',children:"---\nslug: greetings\ntitle: Greetings!\nauthors:\n - name: Joel Marcey\n title: Co-creator of Docusaurus 1\n url: https://github.com/JoelMarcey\n image_url: https://github.com/JoelMarcey.png\n - name: S\xe9bastien Lorber\n title: Docusaurus maintainer\n url: https://sebastienlorber.com\n image_url: https://github.com/slorber.png\ntags: [greetings]\n---\n\nCongratulations, you have made your first post!\n\nFeel free to play around and edit this post as much as you like.\n"})}),"\n",(0,r.jsxs)(t.p,{children:["A new blog post is now available at ",(0,r.jsx)(t.a,{href:"http://localhost:3000/blog/greetings",children:"http://localhost:3000/blog/greetings"}),"."]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>n,x:()=>i});var a=s(6540);const r={},o=a.createContext(r);function n(e){const t=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),a.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/54542266.7e43a1aa.js b/assets/js/54542266.7e43a1aa.js new file mode 100644 index 0000000000..8860a1f4b4 --- /dev/null +++ b/assets/js/54542266.7e43a1aa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["83896"],{44069:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/thumbnail-dbb46fec970f4431a6846603224dd2fe.png"},10180:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/thumbnail-dbb46fec970f4431a6846603224dd2fe.png"},60057:function(e,t,s){s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var a=s(31764),n=s(85893),r=s(80980);let o={title:"Docusaurus 2021 Recap",authors:["Josh-Cena"],tags:["recap"],image:"./img/thumbnail.png"},i=void 0,u={image:s(44069).Z,authorsImageUrls:[void 0]},c=[];function l(e){let t={a:"a",img:"img",p:"p",strong:"strong",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["Docusaurus has made great progress in 2021! We've seen a lot of traction and just crossed ",(0,n.jsx)(t.strong,{children:"30k stars on GitHub"}),"!"]}),"\n",(0,n.jsxs)(t.p,{children:["We've ",(0,n.jsx)(t.strong,{children:"reached full feature parity"})," with v1 after ",(0,n.jsx)(t.a,{href:"/blog/2021/03/09/releasing-docusaurus-i18n",children:"the release of internationalization"}),", ",(0,n.jsxs)(t.a,{href:"/blog/2021/05/12/announcing-docusaurus-two-beta",children:["announced our ",(0,n.jsx)(t.strong,{children:"first beta"})]}),", and welcomed ",(0,n.jsx)(t.strong,{children:"significantly more users"})," this year."]}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.strong,{children:"official v2 release"})," is just around the corner! Follow the ",(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/6113",children:"roadmap issue"})," for any latest news."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:s(10180).Z+"",width:"1000",height:"562"})})]})}function d(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>o});var a=s(67294);let n={},r=a.createContext(n);function o(e){let t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),a.createElement(r.Provider,{value:t},e.children)}},31764:function(e){e.exports=JSON.parse('{"permalink":"/blog/2022/01/24/docusaurus-2021-recap","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2022/01-24-docusaurus-2021-recap/index.mdx","source":"@site/blog/2022/01-24-docusaurus-2021-recap/index.mdx","title":"Docusaurus 2021 Recap","description":"Docusaurus has made great progress in 2021! We\'ve seen a lot of traction and just crossed 30k stars on GitHub!","date":"2022-01-24T00:00:00.000Z","tags":[{"inline":false,"label":"Recap","permalink":"/blog/tags/recap","description":"Blog posts about Docusaurus\' year recaps"}],"readingTime":6.01,"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","title":"Working hard on Docusaurus","url":"https://joshcena.com/","email":"sidachen2003@gmail.com","page":{"permalink":"/blog/authors/josh-cena"},"imageURL":"https://github.com/josh-cena.png","key":"Josh-Cena"}],"frontMatter":{"title":"Docusaurus 2021 Recap","authors":["Josh-Cena"],"tags":["recap"],"image":"./img/thumbnail.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Announcing Docusaurus 2.0","permalink":"/blog/2022/08/01/announcing-docusaurus-2.0"},"nextItem":{"title":"DocSearch migration","permalink":"/blog/2021/11/21/algolia-docsearch-migration"}}')}}]); \ No newline at end of file diff --git a/assets/js/554438a9.23f6f507.js b/assets/js/554438a9.23f6f507.js new file mode 100644 index 0000000000..a87d7c0fe8 --- /dev/null +++ b/assets/js/554438a9.23f6f507.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["45450"],{74270:function(e,o,t){t.d(o,{Z:()=>n});let n=t.p+"assets/images/slash-introducing-411a16dd05086935b8e9ddae38ae9b45.svg"},50855:function(e,o,t){t.r(o),t.d(o,{assets:()=>i,contentTitle:()=>u,default:()=>d,frontMatter:()=>r,metadata:()=>n,toc:()=>c});var n=t(97419),s=t(85893),a=t(80980);let r={title:"Introducing Docusaurus",authors:"JMarcey",tags:["documentation","blog","docusaurus"]},u=void 0,i={authorsImageUrls:[void 0]},c=[];function l(e){let o={a:"a",img:"img",li:"li",ol:"ol",p:"p",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{src:t(74270).Z+"",width:"760",height:"160"})}),"\n",(0,s.jsxs)(o.p,{children:["We are very happy to introduce ",(0,s.jsx)(o.a,{href:"https://github.com/facebook/docusaurus",children:"Docusaurus"})," to help you manage one or many open source websites."]}),"\n",(0,s.jsxs)(o.p,{children:["We created ",(0,s.jsx)(o.a,{href:"https://docusaurus.io",children:"Docusaurus"})," for the following reasons:"]}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsx)(o.li,{children:"To put the focus on writing good documentation instead of worrying about the infrastructure of a website."}),"\n",(0,s.jsx)(o.li,{children:"To provide features that many of our open source websites need like blog support, search and versioning."}),"\n",(0,s.jsx)(o.li,{children:"To make it easy to push updates, new features, and bug fixes to everyone all at once."}),"\n",(0,s.jsx)(o.li,{children:"And, finally, to provide a consistent look and feel across all of our open source projects."}),"\n"]})]})}function d(e={}){let{wrapper:o}={...(0,a.a)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},80980:function(e,o,t){t.d(o,{Z:()=>u,a:()=>r});var n=t(67294);let s={},a=n.createContext(s);function r(e){let o=n.useContext(a);return n.useMemo(function(){return"function"==typeof e?e(o):{...o,...e}},[o,e])}function u(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(a.Provider,{value:o},e.children)}},97419:function(e){e.exports=JSON.parse('{"permalink":"/blog/2017/12/14/introducing-docusaurus","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2017/12-14-introducing-docusaurus.mdx","source":"@site/blog/2017/12-14-introducing-docusaurus.mdx","title":"Introducing Docusaurus","description":"We are very happy to introduce Docusaurus to help you manage one or many open source websites.","date":"2017-12-14T00:00:00.000Z","tags":[{"inline":false,"label":"Documentation","permalink":"/blog/tags/documentation"},{"inline":false,"label":"Blog","permalink":"/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus"}],"readingTime":8.215,"hasTruncateMarker":true,"authors":[{"name":"Joel Marcey","title":"Developer Advocate at Meta","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{"x":"https://x.com/joelmarcey","github":"https://github.com/JoelMarcey"},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Introducing Docusaurus","authors":"JMarcey","tags":["documentation","blog","docusaurus"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"How I Converted Profilo to Docusaurus in Under 2 Hours","permalink":"/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"}}')}}]); \ No newline at end of file diff --git a/assets/js/55a7f034.154677f9.js b/assets/js/55a7f034.154677f9.js new file mode 100644 index 0000000000..15a895a92a --- /dev/null +++ b/assets/js/55a7f034.154677f9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["97454"],{4423:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>i,default:()=>h,contentTitle:()=>o,assets:()=>d,toc:()=>c,metadata:()=>s});var s=JSON.parse('{"type":"mdx","permalink":"/tests/pages/navbar-dropdown-tests","source":"@site/_dogfooding/_pages tests/navbar-dropdown-tests.mdx","title":"navbar-dropdown-tests","description":"1. Make sure that the theme switcher is placed immediately after the language switcher in the navbar.","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/navbar-dropdown-tests.mdx","unlisted":false}'),r=n(85893),a=n(80980);let i={},o="navbar-dropdown-tests",d={},c=[];function l(e){let t={code:"code",h1:"h1",header:"header",li:"li",ol:"ol",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"navbar-dropdown-tests",children:"navbar-dropdown-tests"})}),"\n",(0,r.jsx)("div",{id:"navbar-dropdown-tests",children:(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Make sure that the theme switcher is placed immediately after the language switcher in the navbar."}),"\n",(0,r.jsxs)(t.li,{children:["Press ",(0,r.jsx)(t.code,{children:"Tab"})," several times to focus language switcher."]}),"\n",(0,r.jsxs)(t.li,{children:["Press ",(0,r.jsx)(t.code,{children:"Enter"})," to open language switcher."]}),"\n",(0,r.jsxs)(t.li,{children:["Press ",(0,r.jsx)(t.code,{children:"Tab"})," several times to exit language switcher."]}),"\n",(0,r.jsx)(t.li,{children:"Check if the theme selection button is in focus immediately after the last item."}),"\n"]})})]})}function h(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},80980:function(e,t,n){n.d(t,{Z:()=>o,a:()=>i});var s=n(67294);let r={},a=s.createContext(r);function i(e){let t=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/56350a98.71a85660.js b/assets/js/56350a98.71a85660.js new file mode 100644 index 0000000000..ed571d4d27 --- /dev/null +++ b/assets/js/56350a98.71a85660.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["94893"],{31680:function(e){e.exports=JSON.parse('{"tag":{"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases","allTagsPath":"/blog/tags","count":16,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/release/page/3","page":3,"postsPerPage":5,"totalPages":4,"totalCount":16,"previousPage":"/blog/tags/release/page/2","nextPage":"/blog/tags/release/page/4","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/5651bc45.06a69896.js b/assets/js/5651bc45.06a69896.js new file mode 100644 index 0000000000..c7950ea174 --- /dev/null +++ b/assets/js/5651bc45.06a69896.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["44868"],{33988:function(e,t,i){i.r(t),i.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>n,toc:()=>c});var n=i(15803),a=i(85893),s=i(80980);let o={mdx:{format:"md"},date:"2019-10-26T20:00"},l="2.0.0-alpha.31",r={authorsImageUrls:[]},c=[];function d(e){let t={code:"code",li:"li",ul:"ul",...(0,s.a)(),...e.components};return(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Footer is now sticky/ pinned to the bottom of the viewport in desktop browsers."}),"\n",(0,a.jsx)(t.li,{children:"Footer is now also displayed in docs page for consistency."}),"\n",(0,a.jsx)(t.li,{children:"Remove empty doc sidebar container if sidebar for a particular doc page does not exist. Otherwise, it will cause an additional empty space."}),"\n",(0,a.jsx)(t.li,{children:"Default PostCSS loader now only polyfills stage 3+ features (previously it was stage 2) like Create React App. Stage 2 CSS is considered relatively unstable and subject to change while Stage 3 features will likely become a standard."}),"\n",(0,a.jsx)(t.li,{children:"Fix search bar focus bug. When you put the focus on search input, previously the focus will remain although we have clicked to other area outside of the search input."}),"\n",(0,a.jsxs)(t.li,{children:["New themeConfig option ",(0,a.jsx)(t.code,{children:"sidebarCollapsible"}),". It is on by default. If explicitly set to ",(0,a.jsx)(t.code,{children:"false"}),", all doc items in sidebar is expanded. Otherwise, it will still be a collapsible sidebar."]}),"\n",(0,a.jsx)(t.li,{children:"Disable adding hashes to the generated class names of CSS modules in dev mode. Generating unique identifiers takes some time, which can be saved since including paths to files in class names is enough to avoid collisions."}),"\n",(0,a.jsx)(t.li,{children:"Fix showing sidebar category with empty items."}),"\n",(0,a.jsxs)(t.li,{children:["Update infima from 0.2.0-alpha.2 to 0.2.0-alpha.3\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Fix pagination nav and right sidebar color contrast ratio"}),"\n",(0,a.jsx)(t.li,{children:"Fix sidebar arrow color in dark mode"}),"\n",(0,a.jsx)(t.li,{children:"Fix footer mobile issue"}),"\n",(0,a.jsx)(t.li,{children:"Increase sidebar width"}),"\n",(0,a.jsx)(t.li,{children:"etc"}),"\n"]}),"\n"]}),"\n"]})}function h(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},80980:function(e,t,i){i.d(t,{Z:()=>l,a:()=>o});var n=i(67294);let a={},s=n.createContext(a);function o(e){let t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),n.createElement(s.Provider,{value:t},e.children)}},15803:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.31","source":"@site/changelog/source/2.0.0-alpha.31.md","title":"2.0.0-alpha.31","description":"- Footer is now sticky/ pinned to the bottom of the viewport in desktop browsers.","date":"2019-10-26T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-26T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.32","permalink":"/changelog/2.0.0-alpha.32"},"nextItem":{"title":"2.0.0-alpha.30","permalink":"/changelog/2.0.0-alpha.30"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/5665a0fb.f06247a9.js b/assets/js/5665a0fb.f06247a9.js new file mode 100644 index 0000000000..69b867e771 --- /dev/null +++ b/assets/js/5665a0fb.f06247a9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["9011"],{43132:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>a,default:()=>h,contentTitle:()=>o,assets:()=>r,toc:()=>c,metadata:()=>i});var i=JSON.parse('{"id":"api/plugin-methods/i18n-lifecycles","title":"I18n lifecycles","description":"Plugins use these lifecycles to load i18n-related data.","source":"@site/docs/api/plugin-methods/i18n-lifecycles.mdx","sourceDirName":"api/plugin-methods","slug":"/api/plugin-methods/i18n-lifecycles","permalink":"/docs/api/plugin-methods/i18n-lifecycles","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugin-methods/i18n-lifecycles.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"api","previous":{"title":"Extending infrastructure","permalink":"/docs/api/plugin-methods/extend-infrastructure"},"next":{"title":"Static methods","permalink":"/docs/api/plugin-methods/static-methods"}}'),s=t(85893),l=t(80980);let a={sidebar_position:3},o="I18n lifecycles",r={},c=[{value:"<code>getTranslationFiles({content})</code>",id:"getTranslationFiles",level:2},{value:"<code>translateContent({content,translationFiles})</code>",id:"translateContent",level:2},{value:"<code>translateThemeConfig({themeConfig,translationFiles})</code>",id:"translateThemeConfig",level:2},{value:"<code>async getDefaultCodeTranslationMessages()</code>",id:"getDefaultCodeTranslationMessages",level:2}];function d(e){let n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"i18n-lifecycles",children:"I18n lifecycles"})}),"\n",(0,s.jsx)(n.p,{children:"Plugins use these lifecycles to load i18n-related data."}),"\n",(0,s.jsx)(n.h2,{id:"getTranslationFiles",children:(0,s.jsx)(n.code,{children:"getTranslationFiles({content})"})}),"\n",(0,s.jsx)(n.p,{children:"Plugins declare the JSON translation files they want to use."}),"\n",(0,s.jsxs)(n.p,{children:["Returns translation files ",(0,s.jsx)(n.code,{children:"{path: string, content: ChromeI18nJSON}"}),":"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"path"}),": relative to the plugin localized folder ",(0,s.jsx)(n.code,{children:"i18n/[locale]/[pluginName]"}),". Extension ",(0,s.jsx)(n.code,{children:".json"})," should be omitted to remain generic."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"content"}),": using the Chrome i18n JSON format."]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["These files will be written by the ",(0,s.jsxs)(n.a,{href:"/docs/cli#docusaurus-write-translations-sitedir",children:[(0,s.jsx)(n.code,{children:"write-translations"})," CLI"]})," to the plugin i18n subfolder, and will be read in the appropriate locale before calling ",(0,s.jsx)(n.a,{href:"#translateContent",children:(0,s.jsx)(n.code,{children:"translateContent()"})})," and ",(0,s.jsx)(n.a,{href:"#translateThemeConfig",children:(0,s.jsx)(n.code,{children:"translateThemeConfig()"})})]}),"\n",(0,s.jsx)(n.p,{children:"Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="my-plugin.js"',children:"export default function (context, options) {\n return {\n name: 'my-plugin',\n // highlight-start\n async getTranslationFiles({content}) {\n return [\n {\n path: 'sidebar-labels',\n content: {\n someSidebarLabel: {\n message: 'Some Sidebar Label',\n description: 'A label used in my plugin in the sidebar',\n },\n someLabelFromContent: content.myLabel,\n },\n },\n ];\n },\n // highlight-end\n };\n}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"translateContent",children:(0,s.jsx)(n.code,{children:"translateContent({content,translationFiles})"})}),"\n",(0,s.jsx)(n.p,{children:"Translate the plugin content, using the localized translation files."}),"\n",(0,s.jsx)(n.p,{children:"Returns the localized plugin content."}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"contentLoaded()"})," lifecycle will be called with the localized plugin content returned by ",(0,s.jsx)(n.code,{children:"translateContent()"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="my-plugin.js"',children:"export default function (context, options) {\n return {\n name: 'my-plugin',\n // highlight-start\n translateContent({content, translationFiles}) {\n const myTranslationFile = translationFiles.find(\n (f) => f.path === 'myTranslationFile',\n );\n return {\n ...content,\n someContentLabel: myTranslationFile.someContentLabel.message,\n };\n },\n // highlight-end\n };\n}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"translateThemeConfig",children:(0,s.jsx)(n.code,{children:"translateThemeConfig({themeConfig,translationFiles})"})}),"\n",(0,s.jsxs)(n.p,{children:["Translate the site ",(0,s.jsx)(n.code,{children:"themeConfig"})," labels, using the localized translation files."]}),"\n",(0,s.jsxs)(n.p,{children:["Returns the localized ",(0,s.jsx)(n.code,{children:"themeConfig"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="my-plugin.js"',children:"export default function (context, options) {\n return {\n name: 'my-theme',\n // highlight-start\n translateThemeConfig({themeConfig, translationFiles}) {\n const myTranslationFile = translationFiles.find(\n (f) => f.path === 'myTranslationFile',\n );\n return {\n ...themeConfig,\n someThemeConfigLabel: myTranslationFile.someThemeConfigLabel.message,\n };\n },\n // highlight-end\n };\n}\n"})}),"\n",(0,s.jsx)(n.h2,{id:"getDefaultCodeTranslationMessages",children:(0,s.jsx)(n.code,{children:"async getDefaultCodeTranslationMessages()"})}),"\n",(0,s.jsxs)(n.p,{children:["Themes using the ",(0,s.jsx)(n.code,{children:"<Translate>"})," API can provide default code translation messages."]}),"\n",(0,s.jsxs)(n.p,{children:["It should return messages in ",(0,s.jsx)(n.code,{children:"Record<string, string>"}),", where keys are translation IDs and values are messages (without the description) localized using the site's current locale."]}),"\n",(0,s.jsx)(n.p,{children:"Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="my-plugin.js"',children:"export default function (context, options) {\n return {\n name: 'my-theme',\n // highlight-start\n async getDefaultCodeTranslationMessages() {\n return readJsonFile(`${context.i18n.currentLocale}.json`);\n },\n // highlight-end\n };\n}\n"})})]})}function h(e={}){let{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},80980:function(e,n,t){t.d(n,{Z:()=>o,a:()=>a});var i=t(67294);let s={},l=i.createContext(s);function a(e){let n=i.useContext(l);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5696d949.cd84578d.js b/assets/js/5696d949.cd84578d.js new file mode 100644 index 0000000000..e791ca26c2 --- /dev/null +++ b/assets/js/5696d949.cd84578d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["44508"],{92401:function(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>a,toc:()=>i});var a=n(32484),r=n(85893),o=n(80980);let l={mdx:{format:"md"},date:"2019-10-12T20:00"},s="2.0.0-alpha.26",c={authorsImageUrls:[]},i=[];function p(e){return(0,r.jsx)(r.Fragment,{})}function u(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},80980:function(e,t,n){n.d(t,{Z:()=>s,a:()=>l});var a=n(67294);let r={},o=a.createContext(r);function l(e){let t=a.useContext(o);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),a.createElement(o.Provider,{value:t},e.children)}},32484:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.26","source":"@site/changelog/source/2.0.0-alpha.26.md","title":"2.0.0-alpha.26","description":"- Docs, pages plugin is rewritten in TypeScript","date":"2019-10-12T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-12T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.27","permalink":"/changelog/2.0.0-alpha.27"},"nextItem":{"title":"2.0.0-alpha.25","permalink":"/changelog/2.0.0-alpha.25"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/56987e16.0aafe2d4.js b/assets/js/56987e16.0aafe2d4.js new file mode 100644 index 0000000000..9623a6170a --- /dev/null +++ b/assets/js/56987e16.0aafe2d4.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["27749"],{71602:function(e,r,n){n.r(r),n.d(r,{frontMatter:()=>u,default:()=>f,contentTitle:()=>c,assets:()=>d,toc:()=>p,metadata:()=>t});var t=JSON.parse('{"id":"api/plugins/plugin-rsdoctor","title":"\uD83D\uDCE6 plugin-rsdoctor","description":"A Rsdoctor plugin can help you troubleshoot the bundling phase of your Docusaurus site, supporting both Webpack and Rspack.","source":"@site/docs/api/plugins/plugin-rsdoctor.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-rsdoctor","permalink":"/docs/api/plugins/@docusaurus/plugin-rsdoctor","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-rsdoctor.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":7,"frontMatter":{"sidebar_position":7,"slug":"/api/plugins/@docusaurus/plugin-rsdoctor"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-google-gtag","permalink":"/docs/api/plugins/@docusaurus/plugin-google-gtag"},"next":{"title":"\uD83D\uDCE6 plugin-svgr","permalink":"/docs/api/plugins/@docusaurus/plugin-svgr"}}'),o=n(85893),a=n(80980),l=n(15398),s=n(58636),i=n(32240);let u={sidebar_position:7,slug:"/api/plugins/@docusaurus/plugin-rsdoctor"},c="\uD83D\uDCE6 plugin-rsdoctor",d={},p=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Example configuration",id:"ex-config",level:3}];function h(e){let r={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.header,{children:(0,o.jsx)(r.h1,{id:"-plugin-rsdoctor",children:"\uD83D\uDCE6 plugin-rsdoctor"})}),"\n","\n",(0,o.jsxs)(r.p,{children:["A ",(0,o.jsx)(r.a,{href:"https://rsdoctor.dev/",children:"Rsdoctor"})," plugin can help you troubleshoot the bundling phase of your Docusaurus site, supporting both Webpack and Rspack."]}),"\n",(0,o.jsx)(r.admonition,{type:"tip",children:(0,o.jsx)(r.p,{children:"Use it to figure out which plugin or loader is slowing down the bundler, and focus your efforts on optimizing the bottleneck."})}),"\n",(0,o.jsx)(r.h2,{id:"installation",children:"Installation"}),"\n",(0,o.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,o.jsx)(s.Z,{value:"npm",children:(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-rsdoctor\n"})})}),(0,o.jsx)(s.Z,{value:"yarn",label:"Yarn",children:(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-rsdoctor\n"})})}),(0,o.jsx)(s.Z,{value:"pnpm",label:"pnpm",children:(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-rsdoctor\n"})})})]}),"\n",(0,o.jsx)(r.h2,{id:"configuration",children:"Configuration"}),"\n",(0,o.jsx)(r.p,{children:"Accepted fields:"}),"\n",(0,o.jsx)(i.Z,{children:(0,o.jsxs)(r.table,{children:[(0,o.jsx)(r.thead,{children:(0,o.jsxs)(r.tr,{children:[(0,o.jsx)(r.th,{children:"Name"}),(0,o.jsx)(r.th,{children:"Type"}),(0,o.jsx)(r.th,{children:"Default"}),(0,o.jsx)(r.th,{children:"Description"})]})}),(0,o.jsx)(r.tbody,{children:(0,o.jsxs)(r.tr,{children:[(0,o.jsx)(r.td,{children:(0,o.jsx)(r.code,{children:"rsdoctorOptions"})}),(0,o.jsx)(r.td,{children:(0,o.jsx)(r.code,{children:"object"})}),(0,o.jsx)(r.td,{children:(0,o.jsx)(r.code,{children:"{}"})}),(0,o.jsxs)(r.td,{children:["The ",(0,o.jsx)(r.a,{href:"https://rsdoctor.dev/config/options/options",children:"Rsdoctor bundler plugin options"}),", forwarded as is"]})]})})]})}),"\n",(0,o.jsx)(r.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,o.jsx)(r.p,{children:"You can configure this plugin through plugin options."}),"\n",(0,o.jsx)(r.pre,{children:(0,o.jsx)(r.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n plugins: [\n [\n 'rsdoctor',\n {\n rsdoctorOptions: {\n mode: 'lite',\n },\n },\n ],\n ],\n};\n"})})]})}function f(e={}){let{wrapper:r}={...(0,a.a)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},58636:function(e,r,n){n.d(r,{Z:()=>a});var t=n(85893);n(67294);var o=n(90496);function a(e){let{children:r,hidden:n,className:a}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,o.Z)("tabItem_pnkT",a),hidden:n,children:r})}},15398:function(e,r,n){n.d(r,{Z:()=>x});var t=n(85893),o=n(67294),a=n(90496),l=n(54947),s=n(3620),i=n(844),u=n(97486),c=n(32263),d=n(16971);function p(e){return o.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||o.isValidElement(e)&&function(e){let{props:r}=e;return!!r&&"object"==typeof r&&"value"in r}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:r,tabValues:n}=e;return n.some(e=>e.value===r)}var f=n(71607);function g(e){let{className:r,block:n,selectedValue:o,selectValue:s,tabValues:i}=e,u=[],{blockElementScrollPositionUntilNextRender:c}=(0,l.o5)(),d=e=>{let r=e.currentTarget,n=i[u.indexOf(r)].value;n!==o&&(c(r),s(n))},p=e=>{let r=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=u.indexOf(e.currentTarget)+1;r=u[n]??u[0];break}case"ArrowLeft":{let n=u.indexOf(e.currentTarget)-1;r=u[n]??u[u.length-1]}}r?.focus()};return(0,t.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},r),children:i.map(e=>{let{value:r,label:n,attributes:l}=e;return(0,t.jsx)("li",{role:"tab",tabIndex:o===r?0:-1,"aria-selected":o===r,ref:e=>{u.push(e)},onKeyDown:p,onClick:d,...l,className:(0,a.Z)("tabs__item","tabItem_AQgk",l?.className,{"tabs__item--active":o===r}),children:n??r},r)})})}function m(e){let{lazy:r,children:n,selectedValue:l}=e,s=(Array.isArray(n)?n:[n]).filter(Boolean);if(r){let e=s.find(e=>e.props.value===l);return e?(0,o.cloneElement)(e,{className:(0,a.Z)("margin-top--md",e.props.className)}):null}return(0,t.jsx)("div",{className:"margin-top--md",children:s.map((e,r)=>(0,o.cloneElement)(e,{key:r,hidden:e.props.value!==l}))})}function b(e){let r=function(e){let{defaultValue:r,queryString:n=!1,groupId:t}=e,a=function(e){let{values:r,children:n}=e;return(0,o.useMemo)(()=>{let e=r??p(n).map(e=>{let{props:{value:r,label:n,attributes:t,default:o}}=e;return{value:r,label:n,attributes:t,default:o}});return!function(e){let r=(0,c.lx)(e,(e,r)=>e.value===r.value);if(r.length>0)throw Error(`Docusaurus error: Duplicate values "${r.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[r,n])}(e),[l,f]=(0,o.useState)(()=>(function(e){let{defaultValue:r,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(r){if(!h({value:r,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${r}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return r}let t=n.find(e=>e.default)??n[0];if(!t)throw Error("Unexpected error: 0 tabValues");return t.value})({defaultValue:r,tabValues:a})),[g,m]=function(e){let{queryString:r=!1,groupId:n}=e,t=(0,s.k6)(),a=function(e){let{queryString:r=!1,groupId:n}=e;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:r,groupId:n});return[(0,u._X)(a),(0,o.useCallback)(e=>{if(!a)return;let r=new URLSearchParams(t.location.search);r.set(a,e),t.replace({...t.location,search:r.toString()})},[a,t])]}({queryString:n,groupId:t}),[b,x]=function(e){let{groupId:r}=e,n=r?`docusaurus.tab.${r}`:null,[t,a]=(0,d.Nk)(n);return[t,(0,o.useCallback)(e=>{n&&a.set(e)},[n,a])]}({groupId:t}),j=(()=>{let e=g??b;return h({value:e,tabValues:a})?e:null})();return(0,i.Z)(()=>{j&&f(j)},[j]),{selectedValue:l,selectValue:(0,o.useCallback)(e=>{if(!h({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);f(e),m(e),x(e)},[m,x,a]),tabValues:a}}(e);return(0,t.jsxs)("div",{className:(0,a.Z)("tabs-container","tabList_Qoir"),children:[(0,t.jsx)(g,{...r,...e}),(0,t.jsx)(m,{...r,...e})]})}function x(e){let r=(0,f.Z)();return(0,t.jsx)(b,{...e,children:p(e.children)},String(r))}},32240:function(e,r,n){n.d(r,{Z:()=>i});var t=n(85893),o=n(67294),a=n(96700),l=n(3620);let s=o.forwardRef(function(e,r){let{name:n,children:s}=e,i=function(e){let r=e;for(;(0,o.isValidElement)(r);)[r]=o.Children.toArray(r.props.children);if("string"!=typeof r)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return r}(s),u=n?`${n}-${i}`:i,c=`#${u}`,d=(0,l.k6)();return(0,a.Z)().collectAnchor(u),(0,t.jsx)("tr",{id:u,tabIndex:0,ref:d.location.hash===c?r:void 0,onClick:e=>{let r="TD"===e.target.tagName.toUpperCase(),n=!!window.getSelection()?.toString();r&&!n&&d.push(c)},onKeyDown:e=>{"Enter"===e.key&&d.push(c)},children:s.props.children})});function i(e){let{children:r,name:n}=e;if("table"!==r.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[a,l]=o.Children.toArray(r.props.children),i=(0,o.useRef)(null);(0,o.useEffect)(()=>{i.current?.focus()},[i]);let u=o.Children.map(l.props.children,e=>(0,t.jsx)(s,{name:n,ref:i,children:e}));return(0,t.jsxs)("table",{className:"apiTable_e8hp",children:[a,(0,t.jsx)("tbody",{children:u})]})}},80980:function(e,r,n){n.d(r,{Z:()=>s,a:()=>l});var t=n(67294);let o={},a=t.createContext(o);function l(e){let r=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),t.createElement(a.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/574c6d27.e5e0efb2.js b/assets/js/574c6d27.e5e0efb2.js new file mode 100644 index 0000000000..a10354ecf9 --- /dev/null +++ b/assets/js/574c6d27.e5e0efb2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["34041"],{75939:function(e){e.exports=JSON.parse('{"tag":{"label":"Label for tag e","permalink":"/tests/docs/tags/permalink-for-tag-e","description":"Description for tag e","allTagsPath":"/tests/docs/tags","count":1,"items":[{"id":"more-test","title":"Another test page","description":"Test link","permalink":"/tests/docs/more-test"}],"unlisted":false}}')}}]); \ No newline at end of file diff --git a/assets/js/575718d1.b10c3acf.js b/assets/js/575718d1.b10c3acf.js new file mode 100644 index 0000000000..b1caaa0662 --- /dev/null +++ b/assets/js/575718d1.b10c3acf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["19724"],{51215:function(e,s,n){n.d(s,{Z:()=>r});let r=n.p+"assets/images/social-card-75819f68ecbb579fe176843bb2e3df82.png"},87390:function(e,s,n){n.d(s,{Z:()=>r});let r=n.p+"assets/images/social-card-75819f68ecbb579fe176843bb2e3df82.png"},38421:function(e,s,n){n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var r=n(80931),t=n(85893),i=n(80980),a=n(51118);let o={title:"Announcing Docusaurus 3.0",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2023-10-31T00:00:00.000Z")},c=void 0,l={image:n(51215).Z,authorsImageUrls:[void 0]},d=[{value:"Breaking changes",id:"breaking-changes",level:2},{value:"Highlights",id:"highlights",level:2},{value:"Markdown",id:"markdown",level:3},{value:"ESM and TypeScript configs",id:"esm-ts-configs",level:3},{value:"Unlisted content",id:"unlisted-content",level:3},{value:"React 18",id:"react-18",level:3},{value:"Automatic JSX runtime",id:"automatic-jsx-runtime",level:3},{value:"Debug builds",id:"debug-builds",level:3},{value:"TypeScript",id:"typescript",level:3},{value:"Code blocks",id:"code-blocks",level:3},{value:"Mermaid diagrams",id:"mermaid-diagrams",level:3},{value:"Query-string data attributes",id:"query-string-data-attributes",level:3},{value:"Other features",id:"other-features",level:3},{value:"Conclusion",id:"conclusion",level:2}];function u(e){let s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",mermaid:"mermaid",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components},{Details:r}=s;return r||function(e,s){throw Error("Expected "+(s?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.p,{children:["Today, we are happy to ",(0,t.jsx)(s.strong,{children:"announce Docusaurus 3.0"}),"! \uD83E\uDD73"]}),"\n",(0,t.jsxs)(s.p,{children:["At ",(0,t.jsx)(s.a,{href:"https://opensource.fb.com/",children:(0,t.jsx)(s.strong,{children:"Meta Open Source"})}),", we believe Docusaurus will help you build the ",(0,t.jsx)(s.strong,{children:"best documentation websites"})," with ",(0,t.jsx)(s.strong,{children:"minimal effort"}),", letting you ",(0,t.jsx)(s.strong,{children:"focus on what really matters"}),": writing the content."]}),"\n",(0,t.jsxs)(s.p,{children:["This is a new ",(0,t.jsx)(s.strong,{children:"major version"})," of Docusaurus, coming with ",(0,t.jsx)(s.strong,{children:"new exciting features"})," and upgraded dependencies."]}),"\n",(0,t.jsxs)(s.p,{children:["In line with the ",(0,t.jsx)(s.a,{href:"https://semver.org/",children:(0,t.jsx)(s.strong,{children:"Semantic Versioning"})})," principles, this release includes ",(0,t.jsx)(s.strong,{children:"breaking changes"})," we documented thoroughly in the ",(0,t.jsx)(s.a,{href:"/docs/migration/v3/",children:(0,t.jsx)(s.strong,{children:"v3 upgrade guide"})}),". Breaking changes can be bothersome, but they are necessary to set the ground for a ",(0,t.jsx)(s.strong,{children:"new wave of Docusaurus features"})," we plan to implement."]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"v3.0 social-card image",src:n(87390).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,t.jsxs)(s.p,{children:["We initially planned to release more frequent major versions, but Docusaurus v3 has taken longer than expected. Among the breaking changes that we accrued, ",(0,t.jsx)(s.strong,{children:"upgrading to MDX v3"})," is probably the main challenge to the adoption of this new version. We went the extra mile to make this upgrade as easy as possible, notably by adding ",(0,t.jsx)(s.a,{href:"/docs/api/docusaurus-config#markdown",children:"compatibility options for MDX v1"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"The simplest sites will only need to upgrade a few npm dependencies. For more complex sites, we came up with a few strategies that can help you upgrade more confidently:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"/blog/preparing-your-site-for-docusaurus-v3",children:"Prepare your site"})," ahead of time, incrementally, while staying on Docusaurus v2"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing",children:"Set up visual regression tests"})," to catch unexpected visual changes happening during the upgrade"]}),"\n"]}),"\n",(0,t.jsx)(s.admonition,{title:"About Docusaurus v2",type:"info",children:(0,t.jsxs)(s.p,{children:["According to our ",(0,t.jsx)(s.a,{href:"/community/release-process#stable-version",children:"release process"}),", Docusaurus v2 has now entered ",(0,t.jsx)(s.strong,{children:"maintenance mode"}),". It will only receive support for major security issues for 3 months, until 31 January 2024. It is recommended to upgrade within that time frame to v3."]})}),"\n","\n",(0,t.jsx)(s.h2,{id:"breaking-changes",children:"Breaking changes"}),"\n",(0,t.jsxs)(s.p,{children:["This section only gives you a quick glance. All the breaking changes are thoroughly documented in the ",(0,t.jsx)(s.a,{href:"/docs/migration/v3",children:(0,t.jsx)(s.strong,{children:"v3 upgrade guide"})}),"."]}),"\n",(0,t.jsx)(s.p,{children:"Docusaurus v3 upgraded a few dependencies to new major versions, each coming with its own breaking changes:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Node.js v16 \u27A1\uFE0F v18"}),"\n",(0,t.jsx)(s.li,{children:"React v17 \u27A1\uFE0F v18"}),"\n",(0,t.jsx)(s.li,{children:"MDX v1 \u27A1\uFE0F v3"}),"\n",(0,t.jsx)(s.li,{children:"TypeScript v4 \u27A1\uFE0F v5"}),"\n",(0,t.jsx)(s.li,{children:"prism-react-renderer v1 \u27A1\uFE0F v2"}),"\n",(0,t.jsx)(s.li,{children:"react-live v2 \u27A1\uFE0F v4"}),"\n",(0,t.jsx)(s.li,{children:"Mermaid v9 \u27A1\uFE0F v10"}),"\n",(0,t.jsx)(s.li,{children:"import-fresh v3 \u27A1\uFE0F jiti v1"}),"\n",(0,t.jsx)(s.li,{children:"remark-emoji v2 \u27A1\uFE0F v4"}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["A typical ",(0,t.jsx)(s.code,{children:"package.json"})," dependency upgrade looks like:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-diff",metastring:'title="package.json"',children:' {\n "dependencies": {\n // upgrade to Docusaurus v3\n- "@docusaurus/core": "2.4.3",\n- "@docusaurus/preset-classic": "2.4.3",\n+ "@docusaurus/core": "3.0.0",\n+ "@docusaurus/preset-classic": "3.0.0",\n // upgrade to MDX v3\n- "@mdx-js/react": "^1.6.22",\n+ "@mdx-js/react": "^3.0.0",\n // upgrade to prism-react-renderer v2.0+\n- "prism-react-renderer": "^1.3.5",\n+ "prism-react-renderer": "^2.1.0",\n // upgrade to React v18.0+\n- "react": "^17.0.2",\n- "react-dom": "^17.0.2"\n+ "react": "^18.2.0",\n+ "react-dom": "^18.2.0"\n },\n "devDependencies": {\n // upgrade Docusaurus dev dependencies to v3\n- "@docusaurus/module-type-aliases": "2.4.3",\n- "@docusaurus/types": "2.4.3"\n+ "@docusaurus/module-type-aliases": "3.0.0",\n+ "@docusaurus/types": "3.0.0"\n }\n "engines": {\n // require Node.js 18.0+\n- "node": ">=16.14"\n+ "node": ">=18.0"\n }\n }\n'})}),"\n",(0,t.jsx)(s.p,{children:"Apart from MDX v3, most breaking changes coming with those upgraded dependencies have been handled internally for you: most of the time, you shouldn't have to do anything. Outside of dependencies, the only functional breaking changes coming explicitly from the Docusaurus codebase are:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9189",children:"#9189"}),": new default blog RSS feed limit of 20 entries"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9308",children:"#9308"}),": fix and re-introduce the ",(0,t.jsx)(s.code,{children:":::warning"})," admonition, deprecate ",(0,t.jsx)(s.code,{children:":::caution"})]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9310",children:"#9310"}),": remove the legacy versioned sidebar id prefix, used for sites versioned before ",(0,t.jsx)(s.code,{children:"v2.0.0-beta.10"})," (December 2021)"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/7966",children:"#7966"}),": refactor docs theme components, eventually requiring to you re-swizzle them"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"highlights",children:"Highlights"}),"\n",(0,t.jsxs)(s.p,{children:["Below is a non-exhaustive list of new useful features coming with this new version. All the features are listed in the ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/releases/tag/v3.0.0",children:(0,t.jsx)(s.strong,{children:"Docusaurus v3.0.0 release notes"})}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"markdown",children:"Markdown"}),"\n",(0,t.jsx)(s.p,{children:"Docusaurus v3 upgraded from MDX v1 to MDX v3:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["in ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8288",children:"#8288"}),", we upgraded to ",(0,t.jsx)(s.a,{href:"https://mdxjs.com/blog/v2/",children:(0,t.jsx)(s.strong,{children:"MDX v2"})})," (",(0,t.jsx)(s.a,{href:"https://mdxjs.com/migrating/v2/",children:"migration guide"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["in ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9451",children:"#9451"}),", we upgraded to ",(0,t.jsx)(s.a,{href:"https://mdxjs.com/blog/v3/",children:(0,t.jsx)(s.strong,{children:"MDX v3"})})," (",(0,t.jsx)(s.a,{href:"https://mdxjs.com/migrating/v3/",children:"migration guide"}),")"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["This new MDX version is ",(0,t.jsx)(s.strong,{children:"much better for content writers and plugin authors"}),", and lays the ground for implementing new exciting Markdown features."]}),"\n",(0,t.jsxs)(s.admonition,{title:"MDX v3 - the main challenge",type:"warning",children:[(0,t.jsxs)(s.p,{children:["The transition from MDX v1 to MDX v3 is the ",(0,t.jsx)(s.strong,{children:"main challenge"})," to the adoption of Docusaurus v3."]}),(0,t.jsxs)(s.p,{children:["Some documents that compiled successfully under Docusaurus v2 might now ",(0,t.jsx)(s.strong,{children:"fail to compile"})," under Docusaurus v3, while others might ",(0,t.jsx)(s.strong,{children:"render differently"}),"."]}),(0,t.jsxs)(s.p,{children:["Most breaking changes come from ",(0,t.jsx)(s.a,{href:"https://mdxjs.com/blog/v2/",children:"MDX v2"}),", and ",(0,t.jsx)(s.a,{href:"https://mdxjs.com/blog/v3/",children:"MDX v3"})," is a relatively small release. The ",(0,t.jsx)(s.a,{href:"https://mdxjs.com/migrating/v2/",children:"MDX v2 migration guide"})," has a section on how to ",(0,t.jsx)(s.a,{href:"https://mdxjs.com/migrating/v2/#update-mdx-files",children:"update MDX files"})," that will be particularly relevant to us. Also make sure to read the ",(0,t.jsx)(s.a,{href:"https://mdxjs.com/docs/troubleshooting-mdx/",children:"Troubleshooting MDX"})," page that can help you interpret common MDX error messages."]}),(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"Don't be intimidated"}),". Most problems are ",(0,t.jsx)(s.strong,{children:"easy to fix"})," and often related to ",(0,t.jsx)(s.code,{children:"{"})," and ",(0,t.jsx)(s.code,{children:"<"})," characters that you now need to escape. However, depending on the size of your site, you might need to edit many files and feel overwhelmed. For this reason, we provide a command ",(0,t.jsx)(s.a,{href:"https://github.com/slorber/docusaurus-mdx-checker",children:(0,t.jsx)(s.code,{children:"npx docusaurus-mdx-checker"})})," to help you get an estimate of the work to be done, and we recommend to ",(0,t.jsx)(s.a,{href:"/blog/preparing-your-site-for-docusaurus-v3",children:"prepare your site in advance"}),"."]}),(0,t.jsxs)(s.p,{children:["If you created custom ",(0,t.jsx)(s.a,{href:"/docs/markdown-features/plugins",children:"MDX plugins"})," (Remark/Rehype), the AST is slightly different, and you might need to refactor them."]})]}),"\n",(0,t.jsxs)(s.p,{children:["This notably enables us to add a ",(0,t.jsx)(s.a,{href:"/docs/markdown-features#mdx-vs-commonmark",children:"CommonMark mode"})," that should make it easier for existing documentations to adopt Docusaurus. It is currently opt-in and ",(0,t.jsx)(s.strong,{children:"experimental"})," and limited (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/9092",children:"some Docusaurus features will not work"}),"). In Docusaurus v3, all files are still interpreted as MDX, but we plan to interpret ",(0,t.jsx)(s.code,{children:".md"})," files as CommonMark in an upcoming major version, and recommend to use the ",(0,t.jsx)(s.code,{children:".mdx"})," extension for any file using JSX or ES modules."]}),"\n",(0,t.jsxs)(s.p,{children:["We also introduced a new way to ",(0,t.jsx)(s.a,{href:"/docs/api/docusaurus-config#markdown",children:"configure Markdown globally for your site"}),", and plan to add more flexible options later."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n markdown: {\n format: 'mdx',\n mermaid: true,\n preprocessor: ({filePath, fileContent}) => {\n return fileContent.replaceAll('{{MY_VAR}}', 'MY_VALUE');\n },\n mdx1Compat: {\n comments: true,\n admonitions: true,\n headingIds: true,\n },\n },\n};\n"})}),"\n",(0,t.jsxs)(s.p,{children:["Docusaurus now uses the ",(0,t.jsx)(s.a,{href:"https://github.com/remarkjs/remark-directive",children:"remark-directive"})," plugin to support admonitions. This also offers you the ability to create your own Remark plugins to extend Markdown with your own ",(0,t.jsx)(s.a,{href:"https://talk.commonmark.org/t/generic-directives-plugins-syntax/444",children:"custom directives"})," such as ",(0,t.jsx)(s.code,{children:":textDirective"}),", ",(0,t.jsx)(s.code,{children:"::leafDirective"})," or ",(0,t.jsx)(s.code,{children:":::containerDirective"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"esm-ts-configs",children:"ESM and TypeScript configs"}),"\n",(0,t.jsxs)(s.p,{children:["In ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9317",children:"#9317"}),", we added support for ES Modules and TypeScript config files, including site config, docs sidebars, plugins and presets."]}),"\n",(0,t.jsx)(s.p,{children:"Here are 2 TypeScript examples, giving you a modern experience with IDE autocompletion:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ts",metastring:'title="docusaurus.config.ts"',children:"import type {Config} from '@docusaurus/types';\nimport type * as Preset from '@docusaurus/preset-classic';\n\nconst config: Config = {\n title: 'My Site',\n favicon: 'img/favicon.ico',\n // your site config ...\n presets: [\n [\n 'classic',\n {\n // your preset config ...\n } satisfies Preset.Options,\n ],\n ],\n themeConfig: {\n // your theme config ...\n } satisfies Preset.ThemeConfig,\n};\n\nexport default config;\n"})}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ts",metastring:'title="sidebars.ts"',children:"import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';\n\nconst sidebars: SidebarsConfig = {\n docs: ['introduction'],\n};\n\nexport default sidebars;\n"})}),"\n",(0,t.jsx)(s.h3,{id:"unlisted-content",children:"Unlisted content"}),"\n",(0,t.jsxs)(s.p,{children:["Docusaurus already supported a ",(0,t.jsx)(s.code,{children:"draft: true"})," front matter option in our 3 content plugins (docs, blog, pages), which allows you to remove some pages from your production builds."]}),"\n",(0,t.jsxs)(s.p,{children:["In ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8004",children:"#8004"}),", we introduced a new ",(0,t.jsx)(s.code,{children:"unlisted: true"}),' front matter option, which will keep your pages available in production builds, while "hiding" them and making them impossible to discover unless you have the url. This enables convenient workflows where you can easily ask for feedback on a piece of content before the final publication.']}),"\n",(0,t.jsx)(s.p,{children:"Unlisted content will:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["be excluded from ",(0,t.jsx)(s.code,{children:"sitemap.xml"})]}),"\n",(0,t.jsxs)(s.li,{children:["be excluded from SEO results thanks to ",(0,t.jsx)(s.code,{children:'<meta name="robots" content="noindex, nofollow" />'})]}),"\n",(0,t.jsx)(s.li,{children:"be excluded from blog RSS feeds"}),"\n",(0,t.jsx)(s.li,{children:"be excluded from Algolia DocSearch results"}),"\n",(0,t.jsx)(s.li,{children:"be filtered from site navbar items, docs sidebars, blog sidebar, blog archives, tags pages..."}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Unlisted content will also display a banner so that you don't forget to turn it off once your content is ready for prime time. Here's an example of an ",(0,t.jsx)(s.a,{href:"/tests/blog/unlisted-post",children:"unlisted blog post"}),":"]}),"\n",(0,t.jsx)(a.Z,{url:"/tests/blog/unlisted-post"}),"\n",(0,t.jsx)(s.h3,{id:"react-18",children:"React 18"}),"\n",(0,t.jsxs)(s.p,{children:["In ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8961",children:"#8961"}),", we upgraded to React 18. This is important, notably for the ",(0,t.jsx)(s.a,{href:"https://react.dev/blog/2022/03/29/react-v18#gradually-adopting-concurrent-features",children:"gradual adoption of Concurrent React features"}),", as well as upcoming exciting features such as ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/9089",children:"build-time React Server Components"}),"."]}),"\n",(0,t.jsxs)(s.p,{children:["This new version of React should be a drop-in replacement for most Docusaurus sites. It comes with breaking changes that we handled internally in the Docusaurus codebase. If your site is using a lot of custom React code, we recommend you to take a look at the official article on ",(0,t.jsx)(s.a,{href:"https://react.dev/blog/2022/03/08/react-18-upgrade-guide",children:"How to Upgrade to React 18"}),", notably the new ",(0,t.jsx)(s.a,{href:"https://react.dev/blog/2022/03/08/react-18-upgrade-guide#automatic-batching",children:"automatic batching"})," behavior."]}),"\n",(0,t.jsxs)(s.admonition,{title:"Experimental support for React 18 features",type:"danger",children:[(0,t.jsx)(s.p,{children:"React 18 comes with new features:"}),(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"<Suspense>"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"React.lazy()"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.code,{children:"startTransition()"})}),"\n"]}),(0,t.jsxs)(s.p,{children:["Their Docusaurus support is considered as ",(0,t.jsx)(s.strong,{children:"experimental"}),". We might have to adjust the integration in the future, leading to a different runtime behavior."]})]}),"\n",(0,t.jsx)(s.h3,{id:"automatic-jsx-runtime",children:"Automatic JSX runtime"}),"\n",(0,t.jsxs)(s.p,{children:["Docusaurus now uses the ",(0,t.jsx)(s.a,{href:"https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html",children:'"automatic" JSX runtime'}),"."]}),"\n",(0,t.jsx)(s.p,{children:"It is not needed anymore to import React in JSX files that do not use any React API."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-diff",metastring:'title="src/components/MyComponent.js"',children:"- import React from 'react';\n\n export default function MyComponent() {\n return <div>Hello</div>;\n }\n"})}),"\n",(0,t.jsx)(s.h3,{id:"debug-builds",children:"Debug builds"}),"\n",(0,t.jsx)(s.p,{children:"It is now possible to build your static site in dev mode."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-bash",children:"docusaurus build --dev\n"})}),"\n",(0,t.jsxs)(s.admonition,{title:"Debug React-related problems",type:"tip",children:[(0,t.jsxs)(s.p,{children:["Docusaurus will log more errors to the console, notably React 18 hydration errors through the new ",(0,t.jsxs)(s.a,{href:"https://react.dev/reference/react-dom/client/hydrateRoot#parameters",children:[(0,t.jsx)(s.code,{children:"onRecoverableError"})," callback"]}),"."]}),(0,t.jsxs)(s.p,{children:["This new build mode is particularly helpful for ",(0,t.jsx)(s.strong,{children:"troubleshooting React problems"}),". Docusaurus will use the development build of React, thus producing detailed and readable error messages instead of minified ones linking to the ",(0,t.jsx)(s.a,{href:"https://reactjs.org/docs/error-decoder.html/",children:"React Error Decoder page"}),"."]})]}),"\n",(0,t.jsx)(s.h3,{id:"typescript",children:"TypeScript"}),"\n",(0,t.jsx)(s.p,{children:"Docusaurus v3 now requires a minimum version of TypeScript 5.0."}),"\n",(0,t.jsx)(s.p,{children:"We re-internalized the base recommended TypeScript config to a new official package:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-diff",metastring:'title="tsconfig.json"',children:' {\n- "extends": "@tsconfig/docusaurus/tsconfig.json",\n+ "extends": "@docusaurus/tsconfig",\n "compilerOptions": {\n "baseUrl": "."\n }\n }\n'})}),"\n",(0,t.jsxs)(s.p,{children:["We also have cleaner, normalized exports for Docusaurus core type, plugin, and preset options, which you can use within the brand-new ",(0,t.jsx)(s.a,{href:"#esm-ts-configs",children:"TypeScript config files"}),":"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ts",metastring:'title="docusaurus.config.ts"',children:"import type {Config} from '@docusaurus/types';\nimport type {Options, ThemeConfig} from '@docusaurus/preset-classic';\nimport type {SidebarsConfig} from '@docusaurus/plugin-content-docs';\n"})}),"\n",(0,t.jsx)(s.h3,{id:"code-blocks",children:"Code blocks"}),"\n",(0,t.jsxs)(s.p,{children:["In ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9316",children:"#9316"}),", we improved on syntax highlighting thanks to the ",(0,t.jsx)(s.a,{href:"https://github.com/FormidableLabs/prism-react-renderer",children:"prism-react-renderer"})," v2 upgrade. For example, a bash param ",(0,t.jsx)(s.code,{children:"--save"})," is now colored:"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-bash",children:"npm install --save some-package\n"})}),"\n",(0,t.jsxs)(s.p,{children:["The ",(0,t.jsx)(s.a,{href:"/docs/markdown-features/code-blocks#interactive-code-editor",children:"interactive code editor"})," also upgrades to ",(0,t.jsx)(s.a,{href:"https://github.com/FormidableLabs/react-live",children:"react-live"})," v4, coming with a new ",(0,t.jsx)(s.a,{href:"https://github.com/alangpierce/sucrase",children:"sucrase"})," compiler. It is faster, lighter, and supports modern features, notably TypeScript type annotations."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-js",metastring:"live",live:!0,children:"function Hello() {\n const name: string = 'World';\n return <div>Hello {name}</div>;\n}\n"})}),"\n",(0,t.jsxs)(s.p,{children:["In ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8982",children:"#8982"})," and ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8870",children:"#8870"}),", we also added ",(0,t.jsx)(s.a,{href:"/docs/markdown-features/code-blocks#custom-magic-comments",children:"magic comments"})," support for TeX-like, Haskell-like, and WebAssembly comment syntax."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-haskell",metastring:'title="haskell.hs"',children:"stringLength :: String -> Int\n-- highlight-next-line\nstringLength [] = 0\nstringLength (x:xs) = 1 + stringLength xs\n"})}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-matlab",metastring:'title="matlab.m"',children:"% highlight-start\nfunction result = times2(n)\n result = n * 2;\nend\n% highlight-end\nx = 10;\n% highlight-next-line\ny = times2(x);\n"})}),"\n",(0,t.jsx)(s.h3,{id:"mermaid-diagrams",children:"Mermaid diagrams"}),"\n",(0,t.jsxs)(s.p,{children:["In ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9305",children:"#9305"}),", we upgraded to Mermaid v10.4 and added support for async diagram rendering. Docusaurus is now able to render new types of diagrams."]}),"\n",(0,t.jsxs)(r,{children:[(0,t.jsx)("summary",{children:"Mindmap"}),(0,t.jsx)(s.mermaid,{value:"mindmap\n root((mindmap))\n Research\n Creative techniques\n Strategic planning\n Argument mapping\n Tools\n Pen and paper\n Mermaid"})]}),"\n",(0,t.jsxs)(r,{children:[(0,t.jsx)("summary",{children:"Quadrant chart"}),(0,t.jsx)(s.mermaid,{value:"quadrantChart\n title Reach and engagement of campaigns\n x-axis Low Reach --\x3e High Reach\n y-axis Low Engagement --\x3e High Engagement\n quadrant-1 We should expand\n quadrant-2 Need to promote\n quadrant-3 Re-evaluate\n quadrant-4 May be improved\n Campaign A: [0.3, 0.6]\n Campaign B: [0.45, 0.23]\n Campaign C: [0.57, 0.69]\n Campaign D: [0.78, 0.34]\n Campaign E: [0.40, 0.34]\n Campaign F: [0.35, 0.78]"})]}),"\n",(0,t.jsx)(s.h3,{id:"query-string-data-attributes",children:"Query-string data attributes"}),"\n",(0,t.jsxs)(s.p,{children:["In ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9028",children:"#9028"}),", we made it possible to set custom HTML ",(0,t.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/data-*",children:"data attributes"})," though ",(0,t.jsx)(s.code,{children:"docusaurus-data-x"})," query-string parameters. This makes it easier to embed a Docusaurus iframe on another site, and lets you customize the appearance of the embedded version with CSS."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-css",metastring:'title="/src/css/custom.css"',children:"html[data-navbar='false'] .navbar {\n display: none;\n}\n\nhtml[data-red-border] div#__docusaurus {\n border: red solid thick;\n}\n"})}),"\n",(0,t.jsx)(a.Z,{url:"/docs/?docusaurus-data-navbar=false&docusaurus-data-red-border"}),"\n",(0,t.jsx)(s.h3,{id:"other-features",children:"Other features"}),"\n",(0,t.jsx)(s.p,{children:"Other new features worth mentioning:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9189",children:"#9189"}),": new blog ",(0,t.jsx)(s.code,{children:"feedOptions.limit"})," option"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9071",children:"#9071"}),": add normalized SEO front matter support for the pages plugin"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9028",children:"#9171"}),": the client-redirects plugin now supports fully qualified urls and query-string/hash in destination url"]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9171",children:"#9171"}),": new ESLint rule ",(0,t.jsx)(s.a,{href:"/docs/api/misc/@docusaurus/eslint-plugin/no-html-links",children:(0,t.jsx)(s.code,{children:"no-html-links"})})]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8384",children:"#8384"}),": new ESLint rule ",(0,t.jsx)(s.a,{href:"/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading",children:(0,t.jsx)(s.code,{children:"prefer-docusaurus-heading"})})]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["Read ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/releases/tag/v3.0.0",children:(0,t.jsx)(s.strong,{children:"Docusaurus v3.0.0 release notes"})})," for an exhaustive list of changes."]}),"\n",(0,t.jsx)(s.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsxs)(s.p,{children:["This release comes with a few features, but more importantly ",(0,t.jsx)(s.strong,{children:"upgrades many pieces of the Docusaurus infrastructure"}),"."]}),"\n",(0,t.jsxs)(s.p,{children:["The ",(0,t.jsx)(s.strong,{children:"MDX upgrade"})," consumed a lot of our time this year, and we worked hard to make this important upgrade less difficult for all of you."]}),"\n",(0,t.jsxs)(s.p,{children:["Now that we've caught up with our infrastructure, we'll be back ",(0,t.jsx)(s.strong,{children:"delivering useful documentation features"})," very soon, in upcoming minor versions."]}),"\n",(0,t.jsxs)(s.p,{children:["We would like to thank you for using Docusaurus over the years. The documentation framework space is becoming more competitive lately, and we will do our best to ensure that Docusaurus remains a ",(0,t.jsx)(s.strong,{children:"competitive solution"})," that stands out for its great ",(0,t.jsx)(s.strong,{children:"flexibility"}),"."]})]})}function h(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},51118:function(e,s,n){n.d(s,{Z:()=>i});var r=n(85893);n(67294);var t=n(14522);function i(e){let{url:s}=e;return(0,r.jsx)("div",{style:{padding:10},children:(0,r.jsx)(t.Z,{url:s,style:{minWidth:"min(100%,45vw)",width:800,maxWidth:"100%",overflow:"hidden"},bodyStyle:{padding:0},children:(0,r.jsx)("iframe",{src:s,title:s,style:{display:"block",width:"100%",height:300}})})})}},14522:function(e,s,n){n.d(s,{Z:()=>o});var r=n(85893);n(67294);var t=n(90496);let i="dot_giz1",a="bar_rrRL";function o(e){let{children:s,minHeight:n,url:o="http://localhost:3000",style:c,bodyStyle:l}=e;return(0,r.jsxs)("div",{className:"browserWindow_my1Q",style:{...c,minHeight:n},children:[(0,r.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,r.jsxs)("div",{className:"buttons_uHc7",children:[(0,r.jsx)("span",{className:i,style:{background:"#f25f58"}}),(0,r.jsx)("span",{className:i,style:{background:"#fbbe3c"}}),(0,r.jsx)("span",{className:i,style:{background:"#58cb42"}})]}),(0,r.jsx)("div",{className:(0,t.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:o}),(0,r.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:a}),(0,r.jsx)("span",{className:a}),(0,r.jsx)("span",{className:a})]})})]}),(0,r.jsx)("div",{className:"browserWindowBody_Idgs",style:l,children:s})]})}},80980:function(e,s,n){n.d(s,{Z:()=>o,a:()=>a});var r=n(67294);let t={},i=r.createContext(t);function a(e){let s=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(i.Provider,{value:s},e.children)}},80931:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.0","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.0/index.mdx","source":"@site/blog/releases/3.0/index.mdx","title":"Announcing Docusaurus 3.0","description":"Today, we are happy to announce Docusaurus 3.0! \uD83E\uDD73","date":"2023-10-31T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":10.515,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Announcing Docusaurus 3.0","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2023-10-31T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.1","permalink":"/blog/releases/3.1"},"nextItem":{"title":"Preparing your site for Docusaurus v3","permalink":"/blog/preparing-your-site-for-docusaurus-v3"}}')}}]); \ No newline at end of file diff --git a/assets/js/575b7f6e.3a8ef23c.js b/assets/js/575b7f6e.3a8ef23c.js new file mode 100644 index 0000000000..5f4b15e2cc --- /dev/null +++ b/assets/js/575b7f6e.3a8ef23c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["58351"],{1567:function(e,s,i){i.r(s),i.d(s,{assets:()=>a,contentTitle:()=>l,default:()=>u,frontMatter:()=>h,metadata:()=>r,toc:()=>c});var r=i(30124),n=i(85893),t=i(80980);let h={mdx:{format:"md"},date:"2020-09-11T20:00",authors:["ashscodes","josephMG","mpsq","rutikwankhade","Simek","slorber","thadguidry"]},l="2.0.0-alpha.64",a={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0]},c=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 7",id:"committers-7",level:2}];function o(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3432",children:"#3432"})," feat(v2): add style property to theme-classic navbar (",(0,n.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3406",children:"#3406"})," feat(v2): ability to add/override theme html metadatas (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3426",children:"#3426"})," feat(v2): add option to add trailing slash to urls in sitemap (",(0,n.jsx)(s.a,{href:"https://github.com/mpsq",children:"@mpsq"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Other\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3438",children:"#3438"})," fix(v2): docusaurus 2 PWA should work under baseurl (deploy previews) (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3435",children:"#3435"})," fix(v2): fix empty link error message (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3436",children:"#3436"})," fix(v2): Correctly resolve sw.js path on windows (",(0,n.jsx)(s.a,{href:"https://github.com/ashscodes",children:"@ashscodes"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3433",children:"#3433"})," fix(v2): fix theme-classic announcement bar closeable style (",(0,n.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-1.x"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3429",children:"#3429"})," fix(v1): versioned_docs and skip-next-release relative path issue (",(0,n.jsx)(s.a,{href:"https://github.com/josephMG",children:"@josephMG"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3418",children:"#3418"})," fix(v2): reset sidebar state on sidebar changes (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-debug"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3405",children:"#3405"})," fix(v2): fix debug plugin unscoped inline code global css (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3428",children:"#3428"})," docs(v2): fix grammar (",(0,n.jsx)(s.a,{href:"https://github.com/thadguidry",children:"@thadguidry"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3425",children:"#3425"})," docs(v2): mention Eta in ssrTemplate section (",(0,n.jsx)(s.a,{href:"https://github.com/mpsq",children:"@mpsq"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3423",children:"#3423"})," docs(v2): minor typo fix (",(0,n.jsx)(s.a,{href:"https://github.com/rutikwankhade",children:"@rutikwankhade"}),")"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3439",children:"#3439"})," chore(v2): fix serialize-javascript security issue by upgrading webpack/workbox (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["Other\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3401",children:"#3401"})," chore(deps): bump decompress from 4.2.0 to 4.2.1 (",(0,n.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"committers-7",children:"Committers: 7"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Ash (",(0,n.jsx)(s.a,{href:"https://github.com/ashscodes",children:"@ashscodes"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Bartosz Kaszubowski (",(0,n.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["M\xe9ril (",(0,n.jsx)(s.a,{href:"https://github.com/mpsq",children:"@mpsq"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Rutik Wankhade (",(0,n.jsx)(s.a,{href:"https://github.com/rutikwankhade",children:"@rutikwankhade"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Thad Guidry (",(0,n.jsx)(s.a,{href:"https://github.com/thadguidry",children:"@thadguidry"}),")"]}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/josephMG",children:"@josephMG"})}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},80980:function(e,s,i){i.d(s,{Z:()=>l,a:()=>h});var r=i(67294);let n={},t=r.createContext(n);function h(e){let s=r.useContext(t);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:h(e.components),r.createElement(t.Provider,{value:s},e.children)}},30124:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.64","source":"@site/changelog/source/2.0.0-alpha.64.md","title":"2.0.0-alpha.64","description":"New Feature","date":"2020-09-11T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ash","alias":"ashscodes","url":"https://github.com/ashscodes","imageURL":"https://github.com/ashscodes.png","key":"ashscodes","page":null},{"name":"josephMG","alias":"josephMG","url":"https://github.com/josephMG","imageURL":"https://github.com/josephMG.png","key":"josephMG","page":null},{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},{"name":"Rutik Wankhade","alias":"rutikwankhade","url":"https://github.com/rutikwankhade","imageURL":"https://github.com/rutikwankhade.png","key":"rutikwankhade","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Thad Guidry","alias":"thadguidry","url":"https://github.com/thadguidry","imageURL":"https://github.com/thadguidry.png","key":"thadguidry","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-09-11T20:00","authors":["ashscodes","josephMG","mpsq","rutikwankhade","Simek","slorber","thadguidry"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.65","permalink":"/changelog/2.0.0-alpha.65"},"nextItem":{"title":"2.0.0-alpha.63","permalink":"/changelog/2.0.0-alpha.63"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/5785f4e1.3fc29a68.js b/assets/js/5785f4e1.3fc29a68.js new file mode 100644 index 0000000000..a7676e2061 --- /dev/null +++ b/assets/js/5785f4e1.3fc29a68.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["28620"],{34360:function(s,e,a){a.r(e),a.d(e,{frontMatter:()=>m,default:()=>p,contentTitle:()=>h,assets:()=>d,toc:()=>o,metadata:()=>n});var n=JSON.parse('{"id":"guides/markdown-features/math-equations","title":"Math Equations","description":"Writing LaTeX Math Equations","source":"@site/docs/guides/markdown-features/markdown-features-math-equations.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/math-equations","permalink":"/docs/markdown-features/math-equations","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-math-equations.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"math-equations","description":"Writing LaTeX Math Equations","slug":"/markdown-features/math-equations"},"sidebar":"docs","previous":{"title":"MDX Plugins","permalink":"/docs/markdown-features/plugins"},"next":{"title":"Diagrams","permalink":"/docs/markdown-features/diagrams"}}'),t=a(85893),l=a(80980),r=a(15398),i=a(58636),c=a(14522);let m={id:"math-equations",description:"Writing LaTeX Math Equations",slug:"/markdown-features/math-equations"},h="Math Equations",d={},o=[{value:"Usage",id:"usage",level:2},{value:"Inline",id:"inline",level:3},{value:"Blocks",id:"blocks",level:3},{value:"Enabling math equations",id:"configuration",level:2},{value:"Self-hosting KaTeX assets",id:"self-hosting-katex-assets",level:2}];function x(s){let e={a:"a",admonition:"admonition",annotation:"annotation",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",math:"math",mi:"mi",mn:"mn",mo:"mo",mrow:"mrow",mspace:"mspace",msubsup:"msubsup",msup:"msup",mtext:"mtext",ol:"ol",p:"p",pre:"pre",semantics:"semantics",span:"span",strong:"strong",...(0,l.a)(),...s.components},{Details:a}=e;return a||function(s,e){throw Error("Expected "+(e?"component":"object")+" `"+s+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.header,{children:(0,t.jsx)(e.h1,{id:"math-equations",children:"Math Equations"})}),"\n","\n",(0,t.jsxs)(e.p,{children:["Mathematical equations can be rendered using ",(0,t.jsx)(e.a,{href:"https://katex.org",children:"KaTeX"}),"."]}),"\n",(0,t.jsxs)(e.p,{children:["See ",(0,t.jsx)(e.a,{href:"#configuration",children:"below"})," how to activate them."]}),"\n",(0,t.jsx)(e.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsxs)(e.p,{children:["Please read the ",(0,t.jsx)(e.a,{href:"https://katex.org",children:"KaTeX"})," documentation for more details."]}),"\n",(0,t.jsx)(e.h3,{id:"inline",children:"Inline"}),"\n",(0,t.jsxs)(e.p,{children:["Write inline math equations by wrapping LaTeX equations between ",(0,t.jsx)(e.code,{children:"$"}),":"]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-latex",children:"Let $f\\colon[a,b]\\to\\R$ be Riemann integrable. Let $F\\colon[a,b]\\to\\R$ be\n$F(x)=\\int_{a}^{x} f(t)\\,dt$. Then $F$ is continuous, and at all $x$ such that\n$f$ is continuous at $x$, $F$ is differentiable at $x$ with $F'(x)=f(x)$.\n"})}),"\n",(0,t.jsx)(c.Z,{children:(0,t.jsxs)(e.p,{children:["Let ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{children:"f"}),(0,t.jsx)(e.mspace,{}),(0,t.jsx)(e.mspace,{width:"0.1111em"}),(0,t.jsx)(e.mo,{lspace:"0em",rspace:"0.17em"}),(0,t.jsx)(e.mtext,{children:"\u2009\u2063"}),(0,t.jsx)(e.mo,{lspace:"0em",rspace:"0em",children:":"}),(0,t.jsx)(e.mspace,{width:"0.3333em"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"["}),(0,t.jsx)(e.mi,{children:"a"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mi,{children:"b"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"]"}),(0,t.jsx)(e.mo,{children:"\u2192"}),(0,t.jsx)(e.mi,{mathvariant:"double-struck",children:"R"})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"f\\colon[a,b] \\to \\R"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1em",verticalAlign:"-0.25em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.10764em"},children:"f"}),(0,t.jsx)(e.span,{className:"mspace nobreak"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1111em"}}),(0,t.jsx)(e.span,{className:"mpunct"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"-0.1667em"}}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mrel",children:":"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.3333em"}}),(0,t.jsx)(e.span,{className:"mopen",children:"["}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"a"}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"b"}),(0,t.jsx)(e.span,{className:"mclose",children:"]"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2192"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6889em"}}),(0,t.jsx)(e.span,{className:"mord mathbb",children:"R"})]})]})]})," be Riemann integrable. Let ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mspace,{}),(0,t.jsx)(e.mspace,{width:"0.1111em"}),(0,t.jsx)(e.mo,{lspace:"0em",rspace:"0.17em"}),(0,t.jsx)(e.mtext,{children:"\u2009\u2063"}),(0,t.jsx)(e.mo,{lspace:"0em",rspace:"0em",children:":"}),(0,t.jsx)(e.mspace,{width:"0.3333em"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"["}),(0,t.jsx)(e.mi,{children:"a"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mi,{children:"b"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"]"}),(0,t.jsx)(e.mo,{children:"\u2192"}),(0,t.jsx)(e.mi,{mathvariant:"double-struck",children:"R"})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"F\\colon[a,b]\\to\\R"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1em",verticalAlign:"-0.25em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"}),(0,t.jsx)(e.span,{className:"mspace nobreak"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1111em"}}),(0,t.jsx)(e.span,{className:"mpunct"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"-0.1667em"}}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mrel",children:":"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.3333em"}}),(0,t.jsx)(e.span,{className:"mopen",children:"["}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"a"}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"b"}),(0,t.jsx)(e.span,{className:"mclose",children:"]"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2192"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6889em"}}),(0,t.jsx)(e.span,{className:"mord mathbb",children:"R"})]})]})]})," be ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mi,{children:"x"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mo,{children:"\u222B"}),(0,t.jsx)(e.mi,{children:"a"}),(0,t.jsx)(e.mi,{children:"x"})]}),(0,t.jsx)(e.mi,{children:"f"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mi,{children:"t"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"}),(0,t.jsx)(e.mtext,{children:"\u2009"}),(0,t.jsx)(e.mi,{children:"d"}),(0,t.jsx)(e.mi,{children:"t"})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"F(x)=\n\\int_{a}^{x} f(t)\\,dt"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1em",verticalAlign:"-0.25em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"}),(0,t.jsx)(e.span,{className:"mopen",children:"("}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"}),(0,t.jsx)(e.span,{className:"mclose",children:")"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.2151em",verticalAlign:"-0.3558em"}}),(0,t.jsxs)(e.span,{className:"mop",children:[(0,t.jsx)(e.span,{className:"mop op-symbol small-op",style:{marginRight:"0.19445em",position:"relative",top:"-0.0006em"},children:"\u222B"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8593em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.3442em",marginLeft:"-0.1945em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"a"})})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.2579em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"x"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200B"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3558em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.10764em"},children:"f"}),(0,t.jsx)(e.span,{className:"mopen",children:"("}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"t"}),(0,t.jsx)(e.span,{className:"mclose",children:")"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"d"}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"t"})]})]})]}),". Then ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsx)(e.mi,{children:"F"})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"F"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6833em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"})]})})]})," is continuous, and at all ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsx)(e.mi,{children:"x"})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"x"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.4306em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"})]})})]})," such that ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsx)(e.mi,{children:"f"})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"f"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8889em",verticalAlign:"-0.1944em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.10764em"},children:"f"})]})})]})," is continuous at ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsx)(e.mi,{children:"x"})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"x"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.4306em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"})]})})]}),", ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsx)(e.mi,{children:"F"})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"F"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6833em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"})]})})]})," is differentiable at ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsx)(e.mi,{children:"x"})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"x"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.4306em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"})]})})]})," with ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mo,{mathvariant:"normal",lspace:"0em",rspace:"0em",children:"\u2032"})]}),(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mi,{children:"x"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mi,{children:"f"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mi,{children:"x"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"F'(x)=f(x)"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.0019em",verticalAlign:"-0.25em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.7519em"},children:(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"\u2032"})})})]})})})})})]}),(0,t.jsx)(e.span,{className:"mopen",children:"("}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"}),(0,t.jsx)(e.span,{className:"mclose",children:")"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1em",verticalAlign:"-0.25em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.10764em"},children:"f"}),(0,t.jsx)(e.span,{className:"mopen",children:"("}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"}),(0,t.jsx)(e.span,{className:"mclose",children:")"})]})]})]}),"."]})}),"\n",(0,t.jsx)(e.h3,{id:"blocks",children:"Blocks"}),"\n",(0,t.jsxs)(e.p,{children:["For equation block or display mode, use line breaks and ",(0,t.jsx)(e.code,{children:"$$"}),":"]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-latex",children:"$$\nI = \\int_0^{2\\pi} \\sin(x)\\,dx\n$$\n"})}),"\n",(0,t.jsx)(c.Z,{children:(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{children:"I"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mo,{children:"\u222B"}),(0,t.jsx)(e.mn,{children:"0"}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mn,{children:"2"}),(0,t.jsx)(e.mi,{children:"\u03C0"})]})]}),(0,t.jsx)(e.mi,{children:"sin"}),(0,t.jsx)(e.mo,{children:"\u2061"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mi,{children:"x"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"}),(0,t.jsx)(e.mtext,{children:"\u2009"}),(0,t.jsx)(e.mi,{children:"d"}),(0,t.jsx)(e.mi,{children:"x"})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"I = \\int_0^{2\\pi} \\sin(x)\\,dx"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6833em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.07847em"},children:"I"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"2.476em",verticalAlign:"-0.9119em"}}),(0,t.jsxs)(e.span,{className:"mop",children:[(0,t.jsx)(e.span,{className:"mop op-symbol large-op",style:{marginRight:"0.44445em",position:"relative",top:"-0.0011em"},children:"\u222B"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.564em"},children:[(0,t.jsxs)(e.span,{style:{top:"-1.7881em",marginLeft:"-0.4445em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"0"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.8129em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mtight",children:"2"}),(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.03588em"},children:"\u03C0"})]})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200B"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.9119em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mop",children:"sin"}),(0,t.jsx)(e.span,{className:"mopen",children:"("}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"}),(0,t.jsx)(e.span,{className:"mclose",children:")"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"d"}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"})]})]})]})})}),"\n",(0,t.jsx)(e.h2,{id:"configuration",children:"Enabling math equations"}),"\n",(0,t.jsx)(e.p,{children:"Enable KaTeX:"}),"\n",(0,t.jsxs)(e.ol,{children:["\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:["Install the ",(0,t.jsx)(e.code,{children:"remark-math"})," and ",(0,t.jsx)(e.code,{children:"rehype-katex"})," plugins:"]}),"\n",(0,t.jsxs)(r.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(i.Z,{value:"npm",children:(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-bash",children:"npm install --save remark-math@6 rehype-katex@7\n"})})}),(0,t.jsx)(i.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-bash",children:"yarn add remark-math@6 rehype-katex@7\n"})})}),(0,t.jsx)(i.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-bash",children:"pnpm add remark-math@6 rehype-katex@7\n"})})})]}),"\n",(0,t.jsx)(e.admonition,{type:"warning",children:(0,t.jsxs)(e.p,{children:["Make sure to use ",(0,t.jsx)(e.code,{children:"remark-math 6"})," and ",(0,t.jsx)(e.code,{children:"rehype-katex 7"})," for Docusaurus v3 (using MDX v3). We can't guarantee other versions will work."]})}),"\n"]}),"\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:["These 2 plugins are ",(0,t.jsx)(e.a,{href:"https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c",children:(0,t.jsx)(e.strong,{children:"only available as ES Modules"})}),". We recommended to use an ",(0,t.jsx)(e.a,{href:"https://flaviocopes.com/es-modules/",children:(0,t.jsx)(e.strong,{children:"ES Modules"})})," config file:"]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-js",metastring:'title="ES module docusaurus.config.js"',children:"// highlight-start\nimport remarkMath from 'remark-math';\nimport rehypeKatex from 'rehype-katex';\n// highlight-end\n\n// highlight-start\nexport default {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n docs: {\n path: 'docs',\n // highlight-start\n remarkPlugins: [remarkMath],\n rehypePlugins: [rehypeKatex],\n // highlight-end\n },\n },\n ],\n ],\n};\n"})}),"\n",(0,t.jsxs)(a,{children:[(0,t.jsx)("summary",{children:(0,t.jsxs)(e.p,{children:["Using a\n",(0,t.jsx)(e.a,{href:"https://nodejs.org/api/modules.html#modules-commonjs-modules",children:(0,t.jsx)(e.strong,{children:"CommonJS"})}),"\nconfig file?"]})}),(0,t.jsx)(e.p,{children:"If you decide to use a CommonJS config file, it is possible to load those ES module plugins thanks to dynamic imports and an async config creator function:"}),(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-js",metastring:'title="CommonJS module docusaurus.config.js"',children:"// highlight-start\nmodule.exports = async function createConfigAsync() {\n // highlight-end\n return {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n docs: {\n path: 'docs',\n // highlight-start\n remarkPlugins: [(await import('remark-math')).default],\n rehypePlugins: [(await import('rehype-katex')).default],\n // highlight-end\n },\n },\n ],\n ],\n };\n};\n"})})]}),"\n"]}),"\n",(0,t.jsxs)(e.li,{children:["\n",(0,t.jsxs)(e.p,{children:["Include the KaTeX CSS in your config under ",(0,t.jsx)(e.code,{children:"stylesheets"}),":"]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-js",children:"export default {\n //...\n stylesheets: [\n {\n href: 'https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css',\n type: 'text/css',\n integrity:\n 'sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM',\n crossorigin: 'anonymous',\n },\n ],\n};\n"})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(a,{children:[(0,t.jsx)("summary",{children:"See a config file example"}),(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"// highlight-start\nimport remarkMath from 'remark-math';\nimport rehypeKatex from 'rehype-katex';\n// highlight-end\n\nexport default {\n title: 'Docusaurus',\n tagline: 'Build optimized websites quickly, focus on your content',\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n docs: {\n path: 'docs',\n // highlight-start\n remarkPlugins: [remarkMath],\n rehypePlugins: [rehypeKatex],\n // highlight-end\n },\n },\n ],\n ],\n // highlight-start\n stylesheets: [\n {\n href: 'https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css',\n type: 'text/css',\n integrity:\n 'sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM',\n crossorigin: 'anonymous',\n },\n ],\n // highlight-end\n};\n"})})]}),"\n",(0,t.jsx)(e.h2,{id:"self-hosting-katex-assets",children:"Self-hosting KaTeX assets"}),"\n",(0,t.jsxs)(e.p,{children:["Loading stylesheets, fonts, and JavaScript libraries from CDN sources is a good practice for popular libraries and assets, since it reduces the amount of assets you have to host. In case you prefer to self-host the ",(0,t.jsx)(e.code,{children:"katex.min.css"})," (along with required KaTeX fonts), you can download the latest version from ",(0,t.jsx)(e.a,{href:"https://github.com/KaTeX/KaTeX/releases",children:"KaTeX GitHub releases"}),", extract and copy ",(0,t.jsx)(e.code,{children:"katex.min.css"})," and ",(0,t.jsx)(e.code,{children:"fonts"})," directory (only ",(0,t.jsx)(e.code,{children:".woff2"})," font types should be enough) to your site's ",(0,t.jsx)(e.code,{children:"static"})," directory, and in ",(0,t.jsx)(e.code,{children:"docusaurus.config.js"}),", replace the stylesheet's ",(0,t.jsx)(e.code,{children:"href"})," from the CDN URL to your local path (say, ",(0,t.jsx)(e.code,{children:"/katex/katex.min.css"}),")."]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n stylesheets: [\n {\n href: '/katex/katex.min.css',\n type: 'text/css',\n },\n ],\n};\n"})})]})}function p(s={}){let{wrapper:e}={...(0,l.a)(),...s.components};return e?(0,t.jsx)(e,{...s,children:(0,t.jsx)(x,{...s})}):x(s)}},58636:function(s,e,a){a.d(e,{Z:()=>l});var n=a(85893);a(67294);var t=a(90496);function l(s){let{children:e,hidden:a,className:l}=s;return(0,n.jsx)("div",{role:"tabpanel",className:(0,t.Z)("tabItem_pnkT",l),hidden:a,children:e})}},15398:function(s,e,a){a.d(e,{Z:()=>N});var n=a(85893),t=a(67294),l=a(90496),r=a(54947),i=a(3620),c=a(844),m=a(97486),h=a(32263),d=a(16971);function o(s){return t.Children.toArray(s).filter(s=>"\n"!==s).map(s=>{if(!s||t.isValidElement(s)&&function(s){let{props:e}=s;return!!e&&"object"==typeof e&&"value"in e}(s))return s;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof s.type?s.type:s.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function x(s){let{value:e,tabValues:a}=s;return a.some(s=>s.value===e)}var p=a(71607);function j(s){let{className:e,block:a,selectedValue:t,selectValue:i,tabValues:c}=s,m=[],{blockElementScrollPositionUntilNextRender:h}=(0,r.o5)(),d=s=>{let e=s.currentTarget,a=c[m.indexOf(e)].value;a!==t&&(h(e),i(a))},o=s=>{let e=null;switch(s.key){case"Enter":d(s);break;case"ArrowRight":{let a=m.indexOf(s.currentTarget)+1;e=m[a]??m[0];break}case"ArrowLeft":{let a=m.indexOf(s.currentTarget)-1;e=m[a]??m[m.length-1]}}e?.focus()};return(0,n.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":a},e),children:c.map(s=>{let{value:e,label:a,attributes:r}=s;return(0,n.jsx)("li",{role:"tab",tabIndex:t===e?0:-1,"aria-selected":t===e,ref:s=>{m.push(s)},onKeyDown:o,onClick:d,...r,className:(0,l.Z)("tabs__item","tabItem_AQgk",r?.className,{"tabs__item--active":t===e}),children:a??e},e)})})}function u(s){let{lazy:e,children:a,selectedValue:r}=s,i=(Array.isArray(a)?a:[a]).filter(Boolean);if(e){let s=i.find(s=>s.props.value===r);return s?(0,t.cloneElement)(s,{className:(0,l.Z)("margin-top--md",s.props.className)}):null}return(0,n.jsx)("div",{className:"margin-top--md",children:i.map((s,e)=>(0,t.cloneElement)(s,{key:e,hidden:s.props.value!==r}))})}function g(s){let e=function(s){let{defaultValue:e,queryString:a=!1,groupId:n}=s,l=function(s){let{values:e,children:a}=s;return(0,t.useMemo)(()=>{let s=e??o(a).map(s=>{let{props:{value:e,label:a,attributes:n,default:t}}=s;return{value:e,label:a,attributes:n,default:t}});return!function(s){let e=(0,h.lx)(s,(s,e)=>s.value===e.value);if(e.length>0)throw Error(`Docusaurus error: Duplicate values "${e.map(s=>s.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(s),s},[e,a])}(s),[r,p]=(0,t.useState)(()=>(function(s){let{defaultValue:e,tabValues:a}=s;if(0===a.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(e){if(!x({value:e,tabValues:a}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${a.map(s=>s.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}let n=a.find(s=>s.default)??a[0];if(!n)throw Error("Unexpected error: 0 tabValues");return n.value})({defaultValue:e,tabValues:l})),[j,u]=function(s){let{queryString:e=!1,groupId:a}=s,n=(0,i.k6)(),l=function(s){let{queryString:e=!1,groupId:a}=s;if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!a)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:e,groupId:a});return[(0,m._X)(l),(0,t.useCallback)(s=>{if(!l)return;let e=new URLSearchParams(n.location.search);e.set(l,s),n.replace({...n.location,search:e.toString()})},[l,n])]}({queryString:a,groupId:n}),[g,N]=function(s){let{groupId:e}=s,a=e?`docusaurus.tab.${e}`:null,[n,l]=(0,d.Nk)(a);return[n,(0,t.useCallback)(s=>{a&&l.set(s)},[a,l])]}({groupId:n}),f=(()=>{let s=j??g;return x({value:s,tabValues:l})?s:null})();return(0,c.Z)(()=>{f&&p(f)},[f]),{selectedValue:r,selectValue:(0,t.useCallback)(s=>{if(!x({value:s,tabValues:l}))throw Error(`Can't select invalid tab value=${s}`);p(s),u(s),N(s)},[u,N,l]),tabValues:l}}(s);return(0,n.jsxs)("div",{className:(0,l.Z)("tabs-container","tabList_Qoir"),children:[(0,n.jsx)(j,{...e,...s}),(0,n.jsx)(u,{...e,...s})]})}function N(s){let e=(0,p.Z)();return(0,n.jsx)(g,{...s,children:o(s.children)},String(e))}},14522:function(s,e,a){a.d(e,{Z:()=>i});var n=a(85893);a(67294);var t=a(90496);let l="dot_giz1",r="bar_rrRL";function i(s){let{children:e,minHeight:a,url:i="http://localhost:3000",style:c,bodyStyle:m}=s;return(0,n.jsxs)("div",{className:"browserWindow_my1Q",style:{...c,minHeight:a},children:[(0,n.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,n.jsxs)("div",{className:"buttons_uHc7",children:[(0,n.jsx)("span",{className:l,style:{background:"#f25f58"}}),(0,n.jsx)("span",{className:l,style:{background:"#fbbe3c"}}),(0,n.jsx)("span",{className:l,style:{background:"#58cb42"}})]}),(0,n.jsx)("div",{className:(0,t.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:i}),(0,n.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:r}),(0,n.jsx)("span",{className:r}),(0,n.jsx)("span",{className:r})]})})]}),(0,n.jsx)("div",{className:"browserWindowBody_Idgs",style:m,children:e})]})}},80980:function(s,e,a){a.d(e,{Z:()=>i,a:()=>r});var n=a(67294);let t={},l=n.createContext(t);function r(s){let e=n.useContext(l);return n.useMemo(function(){return"function"==typeof s?s(e):{...e,...s}},[e,s])}function i(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(t):s.components||t:r(s.components),n.createElement(l.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/5851db7c.baf34077.js b/assets/js/5851db7c.baf34077.js new file mode 100644 index 0000000000..0fde21528e --- /dev/null +++ b/assets/js/5851db7c.baf34077.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["39387"],{83388:function(l){l.exports=JSON.parse('{"tag":{"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long","allTagsPath":"/tests/blog/tags","count":3,"unlisted":false},"listMetadata":{"permalink":"/tests/blog/tags/long-long-long-long","page":1,"postsPerPage":3,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/59362658.8ad1cf9c.js b/assets/js/59362658.8ad1cf9c.js deleted file mode 100644 index c347599e79..0000000000 --- a/assets/js/59362658.8ad1cf9c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[9325],{4986:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var o=s(1632),r=s(4848),n=s(3023);const a={slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},i=void 0,l={authorsImageUrls:[void 0]},c=[];function u(e){const t={a:"a",admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["Blog posts support ",(0,r.jsx)(t.a,{href:"https://docusaurus.io/docs/markdown-features",children:"Docusaurus Markdown features"}),", such as ",(0,r.jsx)(t.a,{href:"https://mdxjs.com/",children:"MDX"}),"."]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"Use the power of React to create interactive blog posts."})}),"\n","\n",(0,r.jsx)(t.p,{children:"For example, use JSX to create an interactive button:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"<button onClick={() => alert('button clicked!')}>Click me!</button>\n"})}),"\n",(0,r.jsx)("button",{onClick:()=>alert("button clicked!"),children:"Click me!"})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>i});var o=s(6540);const r={},n=o.createContext(r);function a(e){const t=o.useContext(n);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),o.createElement(n.Provider,{value:t},e.children)}},1632:e=>{e.exports=JSON.parse('{"permalink":"/blog/mdx-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2021-08-01-mdx-blog-post.mdx","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.235,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"prevItem":{"title":"Welcome","permalink":"/blog/welcome"},"nextItem":{"title":"Long Blog Post","permalink":"/blog/long-blog-post"}}')}}]); \ No newline at end of file diff --git a/assets/js/59581.1acf2889.js b/assets/js/59581.1acf2889.js new file mode 100644 index 0000000000..c6f35a97da --- /dev/null +++ b/assets/js/59581.1acf2889.js @@ -0,0 +1,63 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["59581"],{63170:function(t,e,r){r.d(e,{A:()=>i});var a=r(28923),i=class{constructor(t){this.init=t,this.records=this.init()}static{(0,a.eW)(this,"ImperativeState")}reset(){this.records=this.init()}}},20849:function(t,e,r){function a(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}r.d(e,{A:()=>a}),(0,r(28923).eW)(a,"populateCommonDb")},64395:function(t,e,r){r.d(e,{diagram:()=>tp});var a=r(20849),i=r(63170),o=r(84890),c=r(28923),s=r(16750),n=r(11141),h={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},d=c.vZ.gitGraph,l=(0,c.eW)(()=>(0,o.Rb)({...d,...(0,c.iE)().gitGraph}),"getConfig"),$=new i.A(()=>{let t=l(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function m(){return(0,o.MX)({length:7})}function g(t,e){let r=Object.create(null);return t.reduce((t,a)=>{let i=e(a);return r[i]||(r[i]=!0,t.push(a)),t},[])}(0,c.eW)(m,"getID"),(0,c.eW)(g,"uniqBy");var y=(0,c.eW)(function(t){$.records.direction=t},"setDirection"),p=(0,c.eW)(function(t){c.cM.debug("options str",t),t=(t=t?.trim())||"{}";try{$.records.options=JSON.parse(t)}catch(t){c.cM.error("error while parsing gitGraph options",t.message)}},"setOptions"),x=(0,c.eW)(function(){return $.records.options},"getOptions"),f=(0,c.eW)(function(t){let e=t.msg,r=t.id,a=t.type,i=t.tags;c.cM.info("commit",e,r,a,i),c.cM.debug("Entering commit:",e,r,a,i);let o=l();r=c.SY.sanitizeText(r,o),e=c.SY.sanitizeText(e,o),i=i?.map(t=>c.SY.sanitizeText(t,o));let s={id:r||$.records.seq+"-"+m(),message:e,seq:$.records.seq++,type:a??h.NORMAL,tags:i??[],parents:null==$.records.head?[]:[$.records.head.id],branch:$.records.currBranch};$.records.head=s,c.cM.info("main branch",o.mainBranchName),$.records.commits.set(s.id,s),$.records.branches.set($.records.currBranch,s.id),c.cM.debug("in pushCommit "+s.id)},"commit"),u=(0,c.eW)(function(t){let e=t.name,r=t.order;if(e=c.SY.sanitizeText(e,l()),$.records.branches.has(e))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);$.records.branches.set(e,null!=$.records.head?$.records.head.id:null),$.records.branchConfig.set(e,{name:e,order:r}),B(e),c.cM.debug("in createBranch")},"branch"),b=(0,c.eW)(t=>{let e=t.branch,r=t.id,a=t.type,i=t.tags,o=l();e=c.SY.sanitizeText(e,o),r&&(r=c.SY.sanitizeText(r,o));let s=$.records.branches.get($.records.currBranch),n=$.records.branches.get(e),d=s?$.records.commits.get(s):void 0,g=n?$.records.commits.get(n):void 0;if(d&&g&&d.branch===e)throw Error(`Cannot merge branch '${e}' into itself.`);if($.records.currBranch===e){let t=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(void 0===d||!d){let t=Error(`Incorrect usage of "merge". Current branch (${$.records.currBranch})has no commits`);throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},t}if(!$.records.branches.has(e)){let t=Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},t}if(void 0===g||!g){let t=Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},t}if(d===g){let t=Error('Incorrect usage of "merge". Both branches have same head');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(r&&$.records.commits.has(r)){let t=Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom Id");throw t.hash={text:`merge ${e} ${r} ${a} ${i?.join(" ")}`,token:`merge ${e} ${r} ${a} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${a} ${i?.join(" ")}`]},t}let y={id:r||`${$.records.seq}-${m()}`,message:`merged branch ${e} into ${$.records.currBranch}`,seq:$.records.seq++,parents:null==$.records.head?[]:[$.records.head.id,n||""],branch:$.records.currBranch,type:h.MERGE,customType:a,customId:!!r,tags:i??[]};$.records.head=y,$.records.commits.set(y.id,y),$.records.branches.set($.records.currBranch,y.id),c.cM.debug($.records.branches),c.cM.debug("in mergeBranch")},"merge"),w=(0,c.eW)(function(t){let e=t.id,r=t.targetId,a=t.tags,i=t.parent;c.cM.debug("Entering cherryPick:",e,r,a);let o=l();if(e=c.SY.sanitizeText(e,o),r=c.SY.sanitizeText(r,o),a=a?.map(t=>c.SY.sanitizeText(t,o)),i=c.SY.sanitizeText(i,o),!e||!$.records.commits.has(e)){let t=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let s=$.records.commits.get(e);if(void 0===s||!s)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let n=s.branch;if(s.type===h.MERGE&&!i)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!$.records.commits.has(r)){if(n===$.records.currBranch){let t=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let t=$.records.branches.get($.records.currBranch);if(void 0===t||!t){let t=Error(`Incorrect usage of "cherry-pick". Current branch (${$.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let o=$.records.commits.get(t);if(void 0===o||!o){let t=Error(`Incorrect usage of "cherry-pick". Current branch (${$.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let d={id:$.records.seq+"-"+m(),message:`cherry-picked ${s?.message} into ${$.records.currBranch}`,seq:$.records.seq++,parents:null==$.records.head?[]:[$.records.head.id,s.id],branch:$.records.currBranch,type:h.CHERRY_PICK,tags:a?a.filter(Boolean):[`cherry-pick:${s.id}${s.type===h.MERGE?`|parent:${i}`:""}`]};$.records.head=d,$.records.commits.set(d.id,d),$.records.branches.set($.records.currBranch,d.id),c.cM.debug($.records.branches),c.cM.debug("in cherryPick")}},"cherryPick"),B=(0,c.eW)(function(t){if(t=c.SY.sanitizeText(t,l()),$.records.branches.has(t)){$.records.currBranch=t;let e=$.records.branches.get($.records.currBranch);void 0!==e&&e?$.records.head=$.records.commits.get(e)??null:$.records.head=null}else{let e=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function E(t,e,r){let a=t.indexOf(e);-1===a?t.push(r):t.splice(a,1,r)}function k(t){let e=t.reduce((t,e)=>t.seq>e.seq?t:e,t[0]),r="";t.forEach(function(t){t===e?r+=" *":r+=" |"});let a=[r,e.id,e.seq];for(let t in $.records.branches)$.records.branches.get(t)===e.id&&a.push(t);if(c.cM.debug(a.join(" ")),e.parents&&2==e.parents.length&&e.parents[0]&&e.parents[1]){let r=$.records.commits.get(e.parents[0]);E(t,e,r),e.parents[1]&&t.push($.records.commits.get(e.parents[1]))}else if(0==e.parents.length)return;else if(e.parents[0]){let r=$.records.commits.get(e.parents[0]);E(t,e,r)}k(t=g(t,t=>t.id))}(0,c.eW)(E,"upsert"),(0,c.eW)(k,"prettyPrintCommitHistory");var M=(0,c.eW)(function(){c.cM.debug($.records.commits),k([v()[0]])},"prettyPrint"),C=(0,c.eW)(function(){$.reset(),(0,c.ZH)()},"clear"),L=(0,c.eW)(function(){return[...$.records.branchConfig.values()].map((t,e)=>null!==t.order&&void 0!==t.order?t:{...t,order:parseFloat(`0.${e}`)}).sort((t,e)=>(t.order??0)-(e.order??0)).map(({name:t})=>({name:t}))},"getBranchesAsObjArray"),T=(0,c.eW)(function(){return $.records.branches},"getBranches"),W=(0,c.eW)(function(){return $.records.commits},"getCommits"),v=(0,c.eW)(function(){let t=[...$.records.commits.values()];return t.forEach(function(t){c.cM.debug(t.id)}),t.sort((t,e)=>t.seq-e.seq),t},"getCommitsArray"),R={commitType:h,getConfig:l,setDirection:y,setOptions:p,getOptions:x,commit:f,branch:u,merge:b,cherryPick:w,checkout:B,prettyPrint:M,clear:C,getBranchesAsObjArray:L,getBranches:T,getCommits:W,getCommitsArray:v,getCurrentBranch:(0,c.eW)(function(){return $.records.currBranch},"getCurrentBranch"),getDirection:(0,c.eW)(function(){return $.records.direction},"getDirection"),getHead:(0,c.eW)(function(){return $.records.head},"getHead"),setAccTitle:c.GN,getAccTitle:c.eu,getAccDescription:c.Mx,setAccDescription:c.U$,setDiagramTitle:c.g2,getDiagramTitle:c.Kr},P=(0,c.eW)((t,e)=>{for(let r of((0,a.A)(t,e),t.dir&&e.setDirection(t.dir),t.statements))A(r,e)},"populate"),A=(0,c.eW)((t,e)=>{let r={Commit:(0,c.eW)(t=>e.commit(I(t)),"Commit"),Branch:(0,c.eW)(t=>e.branch(G(t)),"Branch"),Merge:(0,c.eW)(t=>e.merge(S(t)),"Merge"),Checkout:(0,c.eW)(t=>e.checkout(O(t)),"Checkout"),CherryPicking:(0,c.eW)(t=>e.cherryPick(q(t)),"CherryPicking")}[t.$type];r?r(t):c.cM.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),I=(0,c.eW)(t=>({id:t.id,msg:t.message??"",type:void 0!==t.type?h[t.type]:h.NORMAL,tags:t.tags??void 0}),"parseCommit"),G=(0,c.eW)(t=>({name:t.name,order:t.order??0}),"parseBranch"),S=(0,c.eW)(t=>({branch:t.branch,id:t.id??"",type:void 0!==t.type?h[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),O=(0,c.eW)(t=>t.branch,"parseCheckout"),q=(0,c.eW)(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),H={parse:(0,c.eW)(async t=>{let e=await (0,s.Qc)("gitGraph",t);c.cM.debug(e),P(e,R)},"parse")},z=(0,c.nV)(),Y=z?.gitGraph,D=new Map,N=new Map,j=new Map,K=[],F=0,_="LR",U=(0,c.eW)(()=>{D.clear(),N.clear(),j.clear(),F=0,K=[],_="LR"},"clear"),V=(0,c.eW)(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return("string"==typeof t?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(t=>{let r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),r.setAttribute("class","row"),r.textContent=t.trim(),e.appendChild(r)}),e},"drawText"),Q=(0,c.eW)(t=>{let e,r,a;return"BT"===_?(r=(0,c.eW)((t,e)=>t<=e,"comparisonFunc"),a=1/0):(r=(0,c.eW)((t,e)=>t>=e,"comparisonFunc"),a=0),t.forEach(t=>{let i="TB"===_||"BT"==_?N.get(t)?.y:N.get(t)?.x;void 0!==i&&r(i,a)&&(e=t,a=i)}),e},"findClosestParent"),X=(0,c.eW)(t=>{let e="",r=1/0;return t.forEach(t=>{let a=N.get(t).y;a<=r&&(e=t,r=a)}),e||void 0},"findClosestParentBT"),Z=(0,c.eW)((t,e,r)=>{let a=r,i=r,o=[];t.forEach(t=>{let r=e.get(t);if(!r)throw Error(`Commit not found for key ${t}`);r.parents.length?i=Math.max(a=tt(r),i):o.push(r),te(r,a)}),a=i,o.forEach(t=>{tr(t,a,r)}),t.forEach(t=>{let r=e.get(t);if(r?.parents.length){let t=X(r.parents);(a=N.get(t).y-40)<=i&&(i=a);let e=D.get(r.branch).pos,o=a-10;N.set(r.id,{x:e,y:o})}})},"setParallelBTPos"),J=(0,c.eW)(t=>{let e=Q(t.parents.filter(t=>null!==t));if(!e)throw Error(`Closest parent not found for commit ${t.id}`);let r=N.get(e)?.y;if(void 0===r)throw Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),tt=(0,c.eW)(t=>J(t)+40,"calculateCommitPosition"),te=(0,c.eW)((t,e)=>{let r=D.get(t.branch);if(!r)throw Error(`Branch not found for commit ${t.id}`);let a=r.pos,i=e+10;return N.set(t.id,{x:a,y:i}),{x:a,y:i}},"setCommitPosition"),tr=(0,c.eW)((t,e,r)=>{let a=D.get(t.branch);if(!a)throw Error(`Branch not found for commit ${t.id}`);let i=a.pos;N.set(t.id,{x:i,y:e+r})},"setRootPosition"),ta=(0,c.eW)((t,e,r,a,i,o)=>{if(o===h.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%8} ${a}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%8} ${a}-inner`);else if(o===h.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${a}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${a}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${a}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${a}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${a}`);else{let c=t.append("circle");if(c.attr("cx",r.x),c.attr("cy",r.y),c.attr("r",e.type===h.MERGE?9:10),c.attr("class",`commit ${e.id} commit${i%8}`),o===h.MERGE){let o=t.append("circle");o.attr("cx",r.x),o.attr("cy",r.y),o.attr("r",6),o.attr("class",`commit ${a} ${e.id} commit${i%8}`)}o===h.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${a} ${e.id} commit${i%8}`)}},"drawCommitBullet"),ti=(0,c.eW)((t,e,r,a)=>{if(e.type!==h.CHERRY_PICK&&(e.customId&&e.type===h.MERGE||e.type!==h.MERGE)&&Y?.showCommitLabel){let i=t.append("g"),o=i.insert("rect").attr("class","commit-label-bkg"),c=i.append("text").attr("x",a).attr("y",r.y+25).attr("class","commit-label").text(e.id),s=c.node()?.getBBox();if(s&&(o.attr("x",r.posWithOffset-s.width/2-2).attr("y",r.y+13.5).attr("width",s.width+4).attr("height",s.height+4),"TB"===_||"BT"===_?(o.attr("x",r.x-(s.width+16+5)).attr("y",r.y-12),c.attr("x",r.x-(s.width+16)).attr("y",r.y+s.height-12)):c.attr("x",r.posWithOffset-s.width/2),Y.rotateCommitLabel)){if("TB"===_||"BT"===_)c.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),o.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let t=-7.5-(s.width+10)/25*9.5,e=10+s.width/25*8.5;i.attr("transform","translate("+t+", "+e+") rotate(-45, "+a+", "+r.y+")")}}}},"drawCommitLabel"),to=(0,c.eW)((t,e,r,a)=>{if(e.tags.length>0){let i=0,o=0,c=0,s=[];for(let a of e.tags.reverse()){let e=t.insert("polygon"),n=t.append("circle"),h=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(a),d=h.node()?.getBBox();if(!d)throw Error("Tag bbox not found");o=Math.max(o,d.width),c=Math.max(c,d.height),h.attr("x",r.posWithOffset-d.width/2),s.push({tag:h,hole:n,rect:e,yOffset:i}),i+=20}for(let{tag:t,hole:e,rect:i,yOffset:n}of s){let s=c/2,h=r.y-19.2-n;if(i.attr("class","tag-label-bkg").attr("points",` + ${a-o/2-2},${h+2} + ${a-o/2-2},${h-2} + ${r.posWithOffset-o/2-4},${h-s-2} + ${r.posWithOffset+o/2+4},${h-s-2} + ${r.posWithOffset+o/2+4},${h+s+2} + ${r.posWithOffset-o/2-4},${h+s+2}`),e.attr("cy",h).attr("cx",a-o/2+2).attr("r",1.5).attr("class","tag-hole"),"TB"===_||"BT"===_){let c=a+n;i.attr("class","tag-label-bkg").attr("points",` + ${r.x},${c+2} + ${r.x},${c-2} + ${r.x+10},${c-s-2} + ${r.x+10+o+4},${c-s-2} + ${r.x+10+o+4},${c+s+2} + ${r.x+10},${c+s+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+a+")"),e.attr("cx",r.x+2).attr("cy",c).attr("transform","translate(12,12) rotate(45, "+r.x+","+a+")"),t.attr("x",r.x+5).attr("y",c+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+a+")")}}}},"drawCommitTags"),tc=(0,c.eW)(t=>{switch(t.customType??t.type){case h.NORMAL:return"commit-normal";case h.REVERSE:return"commit-reverse";case h.HIGHLIGHT:return"commit-highlight";case h.MERGE:return"commit-merge";case h.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),ts=(0,c.eW)((t,e,r,a)=>{let i={x:0,y:0};if(t.parents.length>0){let r=Q(t.parents);if(r){let o=a.get(r)??i;return"TB"===e?o.y+40:"BT"===e?(a.get(t.id)??i).y-40:o.x+40}}else{if("TB"===e)return 30;if("BT"===e)return(a.get(t.id)??i).y-40}return 0},"calculatePosition"),tn=(0,c.eW)((t,e,r)=>{let a="BT"===_&&r?e:e+10,i="TB"===_||"BT"===_?a:D.get(t.branch)?.pos,o="TB"===_||"BT"===_?D.get(t.branch)?.pos:a;if(void 0===o||void 0===i)throw Error(`Position were undefined for commit ${t.id}`);return{x:o,y:i,posWithOffset:a}},"getCommitPosition"),th=(0,c.eW)((t,e,r)=>{if(!Y)throw Error("GitGraph config not found");let a=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),o=30*("TB"===_||"BT"===_),s=[...e.keys()],n=Y?.parallelCommits??!1,h=s.sort((0,c.eW)((t,r)=>{let a=e.get(t)?.seq,i=e.get(r)?.seq;return void 0!==a&&void 0!==i?a-i:0},"sortKeys"));"BT"===_&&(n&&Z(h,e,o),h=h.reverse()),h.forEach(t=>{let c=e.get(t);if(!c)throw Error(`Commit not found for key ${t}`);n&&(o=ts(c,_,o,N));let s=tn(c,o,n);if(r){let t=tc(c),e=c.customType??c.type,r=D.get(c.branch)?.index??0;ta(a,c,s,t,r,e),ti(i,c,s,o),to(i,c,s,o)}"TB"===_||"BT"===_?N.set(c.id,{x:s.x,y:s.posWithOffset}):N.set(c.id,{x:s.posWithOffset,y:s.y}),(o="BT"===_&&n?o+40:o+40+10)>F&&(F=o)})},"drawCommits"),td=(0,c.eW)((t,e,r,a,i)=>{let o=("TB"===_||"BT"===_?r.x<a.x:r.y<a.y)?e.branch:t.branch,s=(0,c.eW)(t=>t.branch===o,"isOnBranchToGetCurve"),n=(0,c.eW)(r=>r.seq>t.seq&&r.seq<e.seq,"isBetweenCommits");return[...i.values()].some(t=>n(t)&&s(t))},"shouldRerouteArrow"),tl=(0,c.eW)((t,e,r=0)=>{let a=t+Math.abs(t-e)/2;if(r>5)return a;if(K.every(t=>Math.abs(t-a)>=10))return K.push(a),a;let i=Math.abs(t-e);return tl(t,e-i/5,r+1)},"findLane"),t$=(0,c.eW)((t,e,r,a)=>{let i;let o=N.get(e.id),c=N.get(r.id);if(void 0===o||void 0===c)throw Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let s=td(e,r,o,c,a),n="",d="",l=0,$=0,m=D.get(r.branch)?.index;if(r.type===h.MERGE&&e.id!==r.parents[0]&&(m=D.get(e.branch)?.index),s){n="A 10 10, 0, 0, 0,",d="A 10 10, 0, 0, 1,",l=10,$=10;let t=o.y<c.y?tl(o.y,c.y):tl(c.y,o.y),r=o.x<c.x?tl(o.x,c.x):tl(c.x,o.x);"TB"===_?o.x<c.x?i=`M ${o.x} ${o.y} L ${r-l} ${o.y} ${d} ${r} ${o.y+$} L ${r} ${c.y-l} ${n} ${r+$} ${c.y} L ${c.x} ${c.y}`:(m=D.get(e.branch)?.index,i=`M ${o.x} ${o.y} L ${r+l} ${o.y} ${n} ${r} ${o.y+$} L ${r} ${c.y-l} ${d} ${r-$} ${c.y} L ${c.x} ${c.y}`):"BT"===_?o.x<c.x?i=`M ${o.x} ${o.y} L ${r-l} ${o.y} ${n} ${r} ${o.y-$} L ${r} ${c.y+l} ${d} ${r+$} ${c.y} L ${c.x} ${c.y}`:(m=D.get(e.branch)?.index,i=`M ${o.x} ${o.y} L ${r+l} ${o.y} ${d} ${r} ${o.y-$} L ${r} ${c.y+l} ${n} ${r-$} ${c.y} L ${c.x} ${c.y}`):o.y<c.y?i=`M ${o.x} ${o.y} L ${o.x} ${t-l} ${n} ${o.x+$} ${t} L ${c.x-l} ${t} ${d} ${c.x} ${t+$} L ${c.x} ${c.y}`:(m=D.get(e.branch)?.index,i=`M ${o.x} ${o.y} L ${o.x} ${t+l} ${d} ${o.x+$} ${t} L ${c.x-l} ${t} ${n} ${c.x} ${t-$} L ${c.x} ${c.y}`)}else n="A 20 20, 0, 0, 0,",d="A 20 20, 0, 0, 1,",l=20,$=20,"TB"===_?(o.x<c.x&&(i=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${o.x} ${o.y} L ${o.x} ${c.y-l} ${n} ${o.x+$} ${c.y} L ${c.x} ${c.y}`:`M ${o.x} ${o.y} L ${c.x-l} ${o.y} ${d} ${c.x} ${o.y+$} L ${c.x} ${c.y}`),o.x>c.x&&(n="A 20 20, 0, 0, 0,",d="A 20 20, 0, 0, 1,",l=20,$=20,i=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${o.x} ${o.y} L ${o.x} ${c.y-l} ${d} ${o.x-$} ${c.y} L ${c.x} ${c.y}`:`M ${o.x} ${o.y} L ${c.x+l} ${o.y} ${n} ${c.x} ${o.y+$} L ${c.x} ${c.y}`),o.x===c.x&&(i=`M ${o.x} ${o.y} L ${c.x} ${c.y}`)):"BT"===_?(o.x<c.x&&(i=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${o.x} ${o.y} L ${o.x} ${c.y+l} ${d} ${o.x+$} ${c.y} L ${c.x} ${c.y}`:`M ${o.x} ${o.y} L ${c.x-l} ${o.y} ${n} ${c.x} ${o.y-$} L ${c.x} ${c.y}`),o.x>c.x&&(n="A 20 20, 0, 0, 0,",d="A 20 20, 0, 0, 1,",l=20,$=20,i=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${o.x} ${o.y} L ${o.x} ${c.y+l} ${n} ${o.x-$} ${c.y} L ${c.x} ${c.y}`:`M ${o.x} ${o.y} L ${c.x-l} ${o.y} ${n} ${c.x} ${o.y-$} L ${c.x} ${c.y}`),o.x===c.x&&(i=`M ${o.x} ${o.y} L ${c.x} ${c.y}`)):(o.y<c.y&&(i=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${o.x} ${o.y} L ${c.x-l} ${o.y} ${d} ${c.x} ${o.y+$} L ${c.x} ${c.y}`:`M ${o.x} ${o.y} L ${o.x} ${c.y-l} ${n} ${o.x+$} ${c.y} L ${c.x} ${c.y}`),o.y>c.y&&(i=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${o.x} ${o.y} L ${c.x-l} ${o.y} ${n} ${c.x} ${o.y-$} L ${c.x} ${c.y}`:`M ${o.x} ${o.y} L ${o.x} ${c.y+l} ${d} ${o.x+$} ${c.y} L ${c.x} ${c.y}`),o.y===c.y&&(i=`M ${o.x} ${o.y} L ${c.x} ${c.y}`));if(void 0===i)throw Error("Line definition not found");t.append("path").attr("d",i).attr("class","arrow arrow"+m%8)},"drawArrow"),tm=(0,c.eW)((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(t=>{let a=e.get(t);a.parents&&a.parents.length>0&&a.parents.forEach(t=>{t$(r,e.get(t),a,e)})})},"drawArrows"),tg=(0,c.eW)((t,e)=>{let r=t.append("g");e.forEach((t,e)=>{let a=e%8,i=D.get(t.name)?.pos;if(void 0===i)throw Error(`Position not found for branch ${t.name}`);let o=r.append("line");o.attr("x1",0),o.attr("y1",i),o.attr("x2",F),o.attr("y2",i),o.attr("class","branch branch"+a),"TB"===_?(o.attr("y1",30),o.attr("x1",i),o.attr("y2",F),o.attr("x2",i)):"BT"===_&&(o.attr("y1",F),o.attr("x1",i),o.attr("y2",30),o.attr("x2",i)),K.push(i);let c=V(t.name),s=r.insert("rect"),n=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);n.node().appendChild(c);let h=c.getBBox();s.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-h.width-4-30*(Y?.rotateCommitLabel===!0)).attr("y",-h.height/2+8).attr("width",h.width+18).attr("height",h.height+4),n.attr("transform","translate("+(-h.width-14-30*(Y?.rotateCommitLabel===!0))+", "+(i-h.height/2-1)+")"),"TB"===_?(s.attr("x",i-h.width/2-10).attr("y",0),n.attr("transform","translate("+(i-h.width/2-5)+", 0)")):"BT"===_?(s.attr("x",i-h.width/2-10).attr("y",F),n.attr("transform","translate("+(i-h.width/2-5)+", "+F+")")):s.attr("transform","translate(-19, "+(i-h.height/2)+")")})},"drawBranches"),ty=(0,c.eW)(function(t,e,r,a,i){return D.set(t,{pos:e,index:r}),e+=50+40*!!i+("TB"===_||"BT"===_?a.width/2:0)},"setBranchPosition"),tp={parser:H,db:R,renderer:{draw:(0,c.eW)(function(t,e,r,a){if(U(),c.cM.debug("in gitgraph renderer",t+"\n","id:",e,r),!Y)throw Error("GitGraph config not found");let i=Y.rotateCommitLabel??!1,s=a.db;j=s.getCommits();let h=s.getBranchesAsObjArray();_=s.getDirection();let d=(0,n.Ys)(`[id="${e}"]`),l=0;h.forEach((t,e)=>{let r=V(t.name),a=d.append("g"),o=a.insert("g").attr("class","branchLabel"),c=o.insert("g").attr("class","label branch-label");c.node()?.appendChild(r);let s=r.getBBox();l=ty(t.name,l,e,s,i),c.remove(),o.remove(),a.remove()}),th(d,j,!1),Y.showBranches&&tg(d,h),tm(d,j),th(d,j,!0),o.w8.insertTitle(d,"gitTitleText",Y.titleTopMargin??0,s.getDiagramTitle()),(0,c.Rw)(void 0,d,Y.diagramPadding,Y.useMaxWidth)},"draw")},styles:(0,c.eW)(t=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(e=>` + .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; } + .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; } + .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; } + .label${e} { fill: ${t["git"+e]}; } + .arrow${e} { stroke: ${t["git"+e]}; } + `).join("\n")} + + .branch { + stroke-width: 1; + stroke: ${t.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + .commit-reverse { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`,"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/5985f86d.d7e0d22f.js b/assets/js/5985f86d.d7e0d22f.js new file mode 100644 index 0000000000..737676e989 --- /dev/null +++ b/assets/js/5985f86d.d7e0d22f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["19027"],{61589:function(e,t,n){n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>l,metadata:()=>a,toc:()=>u});var a=n(54567),o=n(85893),r=n(80980);let l={mdx:{format:"md"},date:"2019-07-14T19:00"},c="2.0.0-alpha.20",s={authorsImageUrls:[]},u=[];function i(e){return(0,o.jsx)(o.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}},80980:function(e,t,n){n.d(t,{Z:()=>c,a:()=>l});var a=n(67294);let o={},r=a.createContext(o);function l(e){let t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),a.createElement(r.Provider,{value:t},e.children)}},54567:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.20","source":"@site/changelog/source/2.0.0-alpha.20.md","title":"2.0.0-alpha.20","description":"- Add copy codeblock button","date":"2019-07-14T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-07-14T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.21","permalink":"/changelog/2.0.0-alpha.21"},"nextItem":{"title":"2.0.0-alpha.19","permalink":"/changelog/2.0.0-alpha.19"},"listPageLink":"/changelog/page/6"}')}}]); \ No newline at end of file diff --git a/assets/js/59cb67ce.b64c0354.js b/assets/js/59cb67ce.b64c0354.js new file mode 100644 index 0000000000..084abc4c93 --- /dev/null +++ b/assets/js/59cb67ce.b64c0354.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["69889"],{5121:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>x,default:()=>f,contentTitle:()=>j,assets:()=>g,toc:()=>b,metadata:()=>s});var s=JSON.parse('{"id":"tests/toc-partials/index","title":"TOC partial test","description":"This page tests that MDX-imported content appears correctly in the table-of-contents","source":"@site/_dogfooding/_docs tests/tests/toc-partials/index.mdx","sourceDirName":"tests/toc-partials","slug":"/tests/toc-partials/","permalink":"/tests/docs/tests/toc-partials/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Doc Without","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-without"},"next":{"title":"Visibility","permalink":"/tests/docs/tests/visibility/"}}'),a=n(85893),i=n(80980);let l=[{value:"Partial",id:"partial",level:2},{value:"Partial Sub Heading 1",id:"partial-sub-heading-1",level:3},{value:"Partial Sub Sub Heading 1",id:"partial-sub-sub-heading-1",level:4},{value:"Partial Sub Heading 2",id:"partial-sub-heading-2",level:3},{value:"Partial Sub Sub Heading 2",id:"partial-sub-sub-heading-2",level:4}];function r(e){let t={h2:"h2",h3:"h3",h4:"h4",p:"p",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"partial",children:"Partial"}),"\n",(0,a.jsx)(t.p,{children:"Partial intro"}),"\n",(0,a.jsx)(t.h3,{id:"partial-sub-heading-1",children:"Partial Sub Heading 1"}),"\n",(0,a.jsx)(t.p,{children:"Partial Sub Heading 1 content"}),"\n",(0,a.jsx)(t.h4,{id:"partial-sub-sub-heading-1",children:"Partial Sub Sub Heading 1"}),"\n",(0,a.jsx)(t.p,{children:"Partial Sub Sub Heading 1 content"}),"\n",(0,a.jsx)(t.h3,{id:"partial-sub-heading-2",children:"Partial Sub Heading 2"}),"\n",(0,a.jsx)(t.p,{children:"Partial Sub Heading 2 content"}),"\n",(0,a.jsx)(t.h4,{id:"partial-sub-sub-heading-2",children:"Partial Sub Sub Heading 2"}),"\n",(0,a.jsx)(t.p,{children:"Partial Sub Sub Heading 2 content"})]})}function d(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(r,{...e})}):r(e)}function o(e){let t={h3:"h3",p:"p",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h3,{id:"2nd-level-partial",children:"2nd level partial"}),"\n",(0,a.jsx)(t.p,{children:"I'm 2 levels deep."})]})}function c(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(o,{...e})}):o(e)}d.displayName="MDXContent(_dogfooding/_docs tests/tests/toc-partials/_partial.mdx)",c.displayName="MDXContent(_dogfooding/_docs tests/tests/toc-partials/_second-level-partial.mdx)";let p=[{value:"1st level partial",id:"1st-level-partial",level:2},{value:"2nd level partial",id:"2nd-level-partial",level:3}];function h(e){let t={h2:"h2",p:"p",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"1st-level-partial",children:"1st level partial"}),"\n",(0,a.jsx)(t.p,{children:"I'm 1 level deep."}),"\n",(0,a.jsx)(c,{})]})}function u(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}u.displayName="MDXContent(_dogfooding/_docs tests/tests/toc-partials/_first-level-partial.mdx)";let x={},j="TOC partial test",g={},b=[...l,...l,...p,...p];function m(e){let t={a:"a",h1:"h1",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"toc-partial-test",children:"TOC partial test"})}),"\n",(0,a.jsx)(t.p,{children:"This page tests that MDX-imported content appears correctly in the table-of-contents"}),"\n",(0,a.jsx)(t.p,{children:"See also:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/3915",children:"https://github.com/facebook/docusaurus/issues/3915"})}),"\n",(0,a.jsx)(t.li,{children:(0,a.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/9684",children:"https://github.com/facebook/docusaurus/pull/9684"})}),"\n"]}),"\n",(0,a.jsx)(t.hr,{}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"The table of contents should include headings of this partial"}),":"]}),"\n",(0,a.jsx)(d,{}),"\n",(0,a.jsx)(t.hr,{}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"We can import the same partial using a different name and it still works"}),":"]}),"\n","\n",(0,a.jsx)(d,{}),"\n",(0,a.jsx)(t.hr,{}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"We can import a partial and not use it, the TOC remains unaffected"}),":"]}),"\n","\n",(0,a.jsx)(t.hr,{}),"\n","\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.strong,{children:"It also works for partials importing other partials"})}),"\n",(0,a.jsx)(u,{}),"\n",(0,a.jsx)(t.hr,{}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.strong,{children:"And we can even use the same partial twice!"})}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.strong,{children:"(although it's useless and not particularly recommended because headings will have the same ids)"})}),"\n",(0,a.jsx)(u,{})]})}function f(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}f.displayName="MDXContent(_dogfooding/_docs tests/tests/toc-partials/index.mdx)"},80980:function(e,t,n){n.d(t,{Z:()=>r,a:()=>l});var s=n(67294);let a={},i=s.createContext(a);function l(e){let t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5b85a2c0.daecb4fc.js b/assets/js/5b85a2c0.daecb4fc.js new file mode 100644 index 0000000000..6a9e3943c2 --- /dev/null +++ b/assets/js/5b85a2c0.daecb4fc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["66002"],{57692:function(e,s,c){c.r(s),c.d(s,{assets:()=>n,contentTitle:()=>o,default:()=>a,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var r=c(73628),l=c(85893),u=c(80980);let i={mdx:{format:"md"},date:"2020-09-03T20:00",authors:["mpsq","samsisle","Simek","slorber","thadguidry"]},o="2.0.0-alpha.63",n={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0]},d=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 5",id:"committers-5",level:2}];function t(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,u.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3387",children:"#3387"})," feat(v2): allow users to specify a custom ssr HTML template (",(0,l.jsx)(s.a,{href:"https://github.com/mpsq",children:"@mpsq"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-debug"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3392",children:"#3392"})," feat(v2): officially release @docusaurus/plugin-debug (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3388",children:"#3388"})," feat(v2): add isCloseable property for theme-classic announcement bar (",(0,l.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3373",children:"#3373"})," feat(v2): docs options.onlyIncludeVersions (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3397",children:"#3397"})," fix(v2): DocSearch should keep working after a new release (part 2/2) (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3393",children:"#3393"})," fix(v2): DocSearch should keep working after a new release (part 1/2) (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3381",children:"#3381"})," fix(v2): alpha 62 doc fixes (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3385",children:"#3385"})," fix(v2): scripts should allow unknown values (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3382",children:"#3382"})," fix(v2): allow using classic theme/preset without the docs plugin (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3377",children:"#3377"})," fix(v2): reject routeBasePath: '' (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3390",children:"#3390"})," docs(v1, v2): Update Deploy to Vercel guide (",(0,l.jsx)(s.a,{href:"https://github.com/samsisle",children:"@samsisle"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3344",children:"#3344"})," docs(v2): Update Deploy to Vercel guide (",(0,l.jsx)(s.a,{href:"https://github.com/samsisle",children:"@samsisle"}),")"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3386",children:"#3386"})," chore(v2): pin exact dependency versions (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-1.x"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-init-1.x"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),", ",(0,l.jsx)(s.code,{children:"lqip-loader"}),", ",(0,l.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3359",children:"#3359"})," chore(v2): prepare v2.0.0.alpha-62 release (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"committers-5",children:"Committers: 5"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Bartosz Kaszubowski (",(0,l.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["M\xe9ril (",(0,l.jsx)(s.a,{href:"https://github.com/mpsq",children:"@mpsq"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Sam Ko (",(0,l.jsx)(s.a,{href:"https://github.com/samsisle",children:"@samsisle"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,l.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Thad Guidry (",(0,l.jsx)(s.a,{href:"https://github.com/thadguidry",children:"@thadguidry"}),")"]}),"\n"]})]})}function a(e={}){let{wrapper:s}={...(0,u.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(t,{...e})}):t(e)}},80980:function(e,s,c){c.d(s,{Z:()=>o,a:()=>i});var r=c(67294);let l={},u=r.createContext(l);function i(e){let s=r.useContext(u);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:i(e.components),r.createElement(u.Provider,{value:s},e.children)}},73628:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.63","source":"@site/changelog/source/2.0.0-alpha.63.md","title":"2.0.0-alpha.63","description":"New Feature","date":"2020-09-03T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},{"name":"Sam Ko","alias":"samsisle","url":"https://github.com/samsisle","imageURL":"https://github.com/samsisle.png","key":"samsisle","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Thad Guidry","alias":"thadguidry","url":"https://github.com/thadguidry","imageURL":"https://github.com/thadguidry.png","key":"thadguidry","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-09-03T20:00","authors":["mpsq","samsisle","Simek","slorber","thadguidry"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.64","permalink":"/changelog/2.0.0-alpha.64"},"nextItem":{"title":"2.0.0-alpha.62","permalink":"/changelog/2.0.0-alpha.62"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/5bdb6cb3.18c161af.js b/assets/js/5bdb6cb3.18c161af.js new file mode 100644 index 0000000000..5ac2e17f39 --- /dev/null +++ b/assets/js/5bdb6cb3.18c161af.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["9993"],{5641:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/social-card-73a479db9ad439c10153f05dc03fdc91.png"},18571:function(e,s,n){n.d(s,{Z:()=>t});let t=n.p+"assets/images/social-card-73a479db9ad439c10153f05dc03fdc91.png"},47466:function(e,s,n){n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>l});var t=n(5922),r=n(85893),a=n(80980);let o={title:"Docusaurus 3.7",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2025-01-03T00:00:00.000Z")},i=void 0,c={image:n(5641).Z,authorsImageUrls:[void 0]},l=[{value:"Highlight",id:"highlight",level:2},{value:"React 19",id:"react-19",level:3},{value:"SVGR plugin",id:"svgr-plugin",level:3},{value:"Other changes",id:"other-changes",level:2}];function u(e){let s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s.p,{children:["We are happy to announce ",(0,r.jsx)(s.strong,{children:"Docusaurus 3.7"}),"."]}),"\n",(0,r.jsxs)(s.p,{children:["Docusaurus is now compatible with ",(0,r.jsx)(s.a,{href:"https://react.dev/blog/2024/12/05/react-19",children:"React 19"}),"."]}),"\n",(0,r.jsxs)(s.p,{children:["Upgrading should be easy. Our ",(0,r.jsx)(s.a,{href:"/community/release-process",children:"release process"})," respects ",(0,r.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),". Minor versions do not include any breaking changes."]}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.img,{alt:"Docusaurus blog post social card",src:n(18571).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,r.jsx)(s.h2,{id:"highlight",children:"Highlight"}),"\n",(0,r.jsx)(s.h3,{id:"react-19",children:"React 19"}),"\n",(0,r.jsxs)(s.p,{children:["In ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10763",children:"#10763"}),", we added support for ",(0,r.jsx)(s.a,{href:"https://react.dev/blog/2024/12/05/react-19",children:"React 19"}),", and the Docusaurus website is running on React 19 already."]}),"\n",(0,r.jsx)(s.p,{children:"From now on, all newly initialized sites will run on React 19 by default, and React 19 will be the minimum required version Docusaurus v4."}),"\n",(0,r.jsx)(s.p,{children:"However, React 18 remains supported, and existing Docusaurus sites can either choose to stay on React 18, or upgrade their dependencies to React 19:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-diff",children:'{\n "name": "my-docusaurus-site",\n "dependencies": {\n- "react": "^18.0.0",\n- "react-dom": "^18.0.0"\n+ "react": "^19.0.0",\n+ "react-dom": "^19.0.0"\n }\n}\n'})}),"\n",(0,r.jsxs)(s.admonition,{type:"warning",children:[(0,r.jsx)(s.p,{children:"There's no urge to upgrade your site immediately."}),(0,r.jsx)(s.p,{children:"React 19 is a bit heavier than React 18. Since we support both versions, we don't leverage yet the new features that are exclusive to React 19."}),(0,r.jsx)(s.p,{children:"However, upgrading to React 19 prepares your site for Docusaurus v4, that will drop support for React 18."}),(0,r.jsx)(s.p,{children:"Here are good reasons to upgrade your site before Docusaurus v4:"}),(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:"You have custom React code and want to ensure it is ready for React19"}),"\n",(0,r.jsx)(s.li,{children:"You plan to leverage the brand-new React 19 features in your own code"}),"\n",(0,r.jsx)(s.li,{children:"You use custom or third-party plugins and want to ensure their compatibility"}),"\n",(0,r.jsx)(s.li,{children:"You have a monorepo and want to align the React dependency to v19 for all packages"}),"\n"]})]}),"\n",(0,r.jsxs)(s.p,{children:["Along the way, we ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10786",children:"fixed"})," all the remaining hydration errors reported by React 19, some of them produced by our aggressive HTML minifier settings."]}),"\n",(0,r.jsx)(s.h3,{id:"svgr-plugin",children:"SVGR plugin"}),"\n",(0,r.jsxs)(s.p,{children:["Docusaurus has built-in support for ",(0,r.jsx)(s.a,{href:"https://github.com/gregberge/svgr",children:"SVGR"}),", allowing you to seamlessly import and use SVG files as React components:"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-tsx",children:"import DocusaurusSvg from './docusaurus.svg';\n\n<DocusaurusSvg />;\n"})}),"\n",(0,r.jsxs)(s.p,{children:["This built-in support has been the source of various bug reports due to the inability to customize the ",(0,r.jsx)(s.a,{href:"https://react-svgr.com/docs/options/",children:"SVGR Options"}),", in particular the ",(0,r.jsx)(s.a,{href:"https://svgo.dev/",children:"SVG Optimizer"})," options."]}),"\n",(0,r.jsxs)(s.p,{children:["In ",(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10677",children:"#10677"}),", we extracted a new ",(0,r.jsx)(s.a,{href:"/docs/api/plugins/@docusaurus/plugin-svgr",children:(0,r.jsx)(s.code,{children:"@docusaurus/plugin-svgr"})})," that you can now configure according to your needs. It is included by default in our classic preset:"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-js",children:"export default {\n presets: [\n [\n 'classic',\n {\n svgr: {\n svgrConfig: {\n // Your SVGR options ...\n svgoConfig: {\n // Your SVGO options ...\n // Use \"svgoConfig: undefined\" to use a svgo.config.js file\n },\n },\n },\n },\n ],\n ],\n};\n"})}),"\n",(0,r.jsx)(s.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,r.jsx)(s.p,{children:"Other notable changes include:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10768",children:"#10768"}),": Blog authors have built-in icons for social platforms bluesky, mastodon, threads, twitch, youtube, instagram."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10729",children:"#10729"}),": Blog now supports ",(0,r.jsx)(s.code,{children:"frontMatter.sidebar_label"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10803",children:"#10803"}),": ",(0,r.jsx)(s.code,{children:"@docusaurus/remark-plugin-npm2yarn"})," now supports Bun conversions."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10672",children:"#10672"}),": Upgrade Algolia DocSearch to ",(0,r.jsx)(s.code,{children:"algoliasearch"})," v5."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10800",children:"#10800"}),": Docusaurus Faster turns Rspack incremental mode on by default."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10783",children:"#10783"}),": Improve Dutch theme translations."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10760",children:"#10760"}),": Improve Korean theme translations."]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Check the ",(0,r.jsx)(s.strong,{children:(0,r.jsx)(s.a,{href:"/changelog/3.7.0",children:"3.7.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function h(e={}){let{wrapper:s}={...(0,a.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,s,n){n.d(s,{Z:()=>i,a:()=>o});var t=n(67294);let r={},a=t.createContext(r);function o(e){let s=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(a.Provider,{value:s},e.children)}},5922:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.7","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.7/index.mdx","source":"@site/blog/releases/3.7/index.mdx","title":"Docusaurus 3.7","description":"We are happy to announce Docusaurus 3.7.","date":"2025-01-03T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":2.41,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.7","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2025-01-03T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","nextItem":{"title":"Docusaurus 3.6","permalink":"/blog/releases/3.6"}}')}}]); \ No newline at end of file diff --git a/assets/js/5c640cab.73ee54dd.js b/assets/js/5c640cab.73ee54dd.js new file mode 100644 index 0000000000..84018cb75b --- /dev/null +++ b/assets/js/5c640cab.73ee54dd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["85055"],{19978:function(e,t,a){a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var i=a(10222),n=a(85893),o=a(80980);let r={title:"Tribute to Endi",authors:"JMarcey",tags:["endi","tribute"]},s=void 0,u={authorsImageUrls:[void 0]},c=[];function l(e){let t={a:"a",p:"p",...(0,o.a)(),...e.components};return(0,n.jsxs)(t.p,{children:["It is with great sadness to announce that our primary external Docusaurus contributor, ",(0,n.jsx)(t.a,{href:"https://github.com/endiliey",children:"Endilie Yacop Sucipto"})," (Endi to those who knew him), ",(0,n.jsx)(t.a,{href:"https://give.asia/campaign/help_endi_beat_cancer#/updates",children:"passed away"})," over the weekend after an illness associated with his bout with cancer."]})}function d(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},80980:function(e,t,a){a.d(t,{Z:()=>s,a:()=>r});var i=a(67294);let n={},o=i.createContext(n);function r(e){let t=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(o.Provider,{value:t},e.children)}},10222:function(e){e.exports=JSON.parse('{"permalink":"/blog/2020/01/07/tribute-to-endi","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2020/01-07-tribute-to-endi.mdx","source":"@site/blog/2020/01-07-tribute-to-endi.mdx","title":"Tribute to Endi","description":"It is with great sadness to announce that our primary external Docusaurus contributor, Endilie Yacop Sucipto (Endi to those who knew him), passed away over the weekend after an illness associated with his bout with cancer.","date":"2020-01-07T00:00:00.000Z","tags":[{"inline":false,"label":"Endi","permalink":"/blog/tags/endi"},{"inline":false,"label":"Tribute","permalink":"/blog/tags/tribute"}],"readingTime":0.895,"hasTruncateMarker":true,"authors":[{"name":"Joel Marcey","title":"Developer Advocate at Meta","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{"x":"https://x.com/joelmarcey","github":"https://github.com/JoelMarcey"},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Tribute to Endi","authors":"JMarcey","tags":["endi","tribute"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2020 Recap","permalink":"/blog/2021/01/19/docusaurus-2020-recap"},"nextItem":{"title":"Docusaurus 2019 Recap","permalink":"/blog/2019/12/30/docusaurus-2019-recap"}}')}}]); \ No newline at end of file diff --git a/assets/js/5c7aa639.c1c727df.js b/assets/js/5c7aa639.c1c727df.js new file mode 100644 index 0000000000..d96ac8b28d --- /dev/null +++ b/assets/js/5c7aa639.c1c727df.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["66494"],{47131:function(e,t,s){s.d(t,{Z:()=>o});let o="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjM0VDQzVGIj48cGF0aCBkPSJNMjMgMTYzYy03LjQgMC0xNC00LTE3LjMtMTBBMjAgMjAgMCAwMDMgMTYzYzAgMTEgOSAyMCAyMCAyMGgyMHYtMjBIMjN6bTE0MSAyMGg5di00aC04eiIvPjxwYXRoIGQ9Ik0xODMgNTNWNDNjMC0xMS05LTIwLTIwLTIwSDczYy00LTgtNi04LTEwIDAtNC04LTYtOC0xMCAwLTQtOC02LTgtMTAgMC03LTktOS01LTEwLjMgMi4zLTktMy0xMC4zLTEuNy03LjMgNy4zLTkgMi0xMCAzLTIuNCAxMC40LTggNC04IDYgMCAxMC04IDQtOCA2IDAgMTAtOCA0LTggNiAwIDEwLTggNC04IDYgMCAxMC04IDQtOCA2IDAgMTAtOCA0LTggNiAwIDEwLTggNC04IDYgMCAxMC04IDQtOCA2IDAgMTAtOCA0LTggNiAwIDEwLTggNC04IDYgMCAxMC04IDQtOCA2IDAgMTAtOCA0LTggNiAwIDEwIDAgMTEgOSAyMCAyMCAyMGgxMjBjMTEgMCAyMC05IDIwLTIwIi8+PC9nPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0xODMgODNsLTcwLTQuM2MtMTMuMy0xLjUtMTMuMy0xOS44IDAtMjEuM2w3MC00LjQiLz48dXNlIGhyZWY9IiNoIiB4PSI2MCIvPjx1c2UgaHJlZj0iI2YiIHg9IjUwIi8+PHBhdGggZD0iTTEwMyAxODNoNjBjMTEgMCAyMC05IDIwLTIwVjkzaC02MGMtMTEgMC0yMCA5LTIwIDIwdjcweiIgZmlsbD0iI0ZGRkY1MCIvPjxnIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwYXRoIGQ9Ik02MyA1M2ExIDEgMCAxMC0yMCAwIiBzdHJva2Utd2lkdGg9IjUiLz48cGF0aCBkPSJNMTgzIDYyLjZjLTUgMC01IDEwLTEwIDEwLjctNSAwLTUtMTAtMTAtMTBzLTUgOS0xMCA5LTUtOC41LTEwLTguNS01IDgtMTAgOC01LTcuMjUtMTAtNy4yNS01IDYuNS0xMCA2LjUiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTE2OCAxMTNoLTUwbTUwIDEwaC01MG01MCAxMGgtNTBtNTAgMTBoLTUwbTUwIDEwaC01MG01MCAxMGgtNTAiLz48L2c+PGNpcmNsZSBjeD0iMTQzIiBjeT0iMzkuMyIgcj0iMi41Ii8+PGNpcmNsZSBjeD0iMTYzIiBjeT0iMzgiIHI9IjIuNSIvPjxjaXJjbGUgY3g9IjExMyIgY3k9IjcxIiByPSIxIi8+PHBhdGggZD0iTTgzIDEyM2g0MHYtMjBIODN6bTAgNjBoNDB2LTQwSDgzeiIgZmlsbD0iIzNFQ0M1RiIvPjxnIGlkPSJoIiBmaWxsPSIjNDREODYwIj48Y2lyY2xlIGN4PSIxMjMiIGN5PSIxMTMiIHI9IjEwIi8+PGNpcmNsZSBjeD0iMTI4IiBjeT0iMTA0LjMiIHI9IjIuNCIvPjxjaXJjbGUgY3g9IjEzMS43IiBjeT0iMTA4IiByPSIyLjQiLz48Y2lyY2xlIGN4PSIxMzMiIGN5PSIxMTMiIHI9IjIuNCIvPjxjaXJjbGUgY3g9IjEzMS43IiBjeT0iMTE4IiByPSIyLjQiLz48Y2lyY2xlIGN4PSIxMjgiIGN5PSIxMjEuNyIgcj0iMi40Ii8+PC9nPjxnIGlkPSJmIiBmaWxsPSIjNDREODYwIj48Y2lyY2xlIGN4PSIxMjMiIGN5PSIxNjMiIHI9IjIwIi8+PGNpcmNsZSBjeD0iMTEzIiBjeT0iMTQ1LjciIHI9IjUiLz48Y2lyY2xlIGN4PSIxMjMiIGN5PSIxNDMiIHI9IjUiLz48Y2lyY2xlIGN4PSIxMzMiIGN5PSIxNDUuNyIgcj0iNSIvPjxjaXJjbGUgY3g9IjE0MC4zIiBjeT0iMTUzIiByPSI1Ii8+PGNpcmNsZSBjeD0iMTQzIiBjeT0iMTYzIiByPSI1Ii8+PC9nPjwvc3ZnPgo="},80415:function(e,t,s){s.d(t,{Z:()=>o});let o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvgAAACgCAIAAAD2Ao8HAAAbm0lEQVR42u3dCVhV553HcbtMp31m2uk807TTaTvtzDx52sk002xNpjZeRBY3UMANRRQXQBQXFFEWAREBt2B2Y6IhNXFp0hhj1GhMYtQY9Rwu62WVXS67F3BFWeZ/uYYgIAIiXO798nwen8v1Luec9z3v++M97zln2Nb6OgAAAIs0jE0AAAAIOgAAAAQdAAAAgg4AAABBBwAAgKADAABA0AEAAAQdAAAAgg4AAABBBwAAgKADAABA0AEAACDoAAAAgg4AAABBBwAAgKADAABA0AEAACDoAAAAEHQAAABBBwAAgKADAABA0AEAACDoAEAXNhrKwiq0q/Vn5N/NtZVsEAAEHQBD25baquCyr+blveWUFqxRZ7cZqc6Zlrk5sjKNTQSAoANgKImvr42oTF1Q+NdJuuiRiXPb55sObFQvv8L32GIACDoAzN366rylJYfcs+Ltkvy6CTedkXUAEHQAmOm0m8DSE7NzXxubsrxX4abDuE5kZTobEwBBB4AZTLupqw4tP++dt2tCelhvM83/bLV7cu+Ezs+7Z25hwwIg6AAYNJFVuoVFf5ucEWubOL9vIzfPnvUcNmzYPz7yL10N6szdZChjIwMg6AAYODE1BQEXP56R/byDdmGfj0y197v1mv99bXSX/7VS/wUbHABBB0C/8S860DlebDSUBelPeeW+Pi41sM+B5vcv2f/gNz96/K3xPX/L7NztlAgAgg6A+xKk/2JpyWF5EFJ2zpQwJO48V3cprCLRJ3+3S3q4jep1/yM3v103Yth3vnW3wZsujU1ZQekAIOgA6LWIylRJM1vqquMMJaYcMzv3tbl5O9tChm2id78cmeowI6fnL16QGRVYfCC+vpbCAkDQAXBvEhqeqzeYHo9OXiZhYnJGzNKSw+1P6u73cNNbvplr95YfKW+obmlp+ez6NUoNAEEHQI9SzrjUQPukhf5FByKrdO1Pbhr0cCO8MyN2lx8qa6hqafeTe/MmBQeAoAPg3uIMJQ/0sFTfzM8If6fsI31DZUtXPzeam/0/OvhcrYHiA0DQAdBt0LlUYibhRszLCN9VdvDijYqWbn/S09N/9+c/b67iruYACDoA7pJvXNLDRycvG528ZNDzzZyMsL+UfVhyo7zLWKPVanNzc9s/Ex0dHffeuxQiAIIOgK61nTE+mPlGF/aW/kDxjbJuBm8CAwPd3d3t7e23bt3a9qSdnV1qRQWFCICgA+Cuc5AnpIUOSr6ZrQtJ0H9QdF3fcq+f+vr6Z599Vh40NjZ6enrGxsbK4+vXrw8fPryxufklyhEAQQfA3QSUHOs+kYw45/nIZtv/Cnxa/PED1/vMN7N0wW/q9xdeL+0y0xgMBkdHx6eeemrevHkSZUxP7tmzJyYmxvS4qanJx8dnxowZzs7O27Ztk2f2X71KIQIg6ADoaEtdtdeFHd1fHefRlxy+/8sfDmv385DDb/582qNvU4yTL2d1P3gTFBS0Y8cOefD222+PGDGivLy8ubl53LhxOTk57V+mqqpWqzU9Tmy4QVECIOgA6GhR4f7uo8ljCeO+/f3vSLj50WM//fWCx/7N/b+/++O/l19//MzP+zCQc7Xpevuwkpyc7OnpOWfOnPz8/Nuni9+48cQTTzQ1NZl+PXPmzJNPPvnUU08FBAR0k42qGhspSgAEHQAdravOHpMS0E06+afHfyax5ldzH2175umPJn3vJz+QJx992aFXQefL2qQ70klV1R/+8IeTJ09+/vnnTz/9dEJCgqScqKiotkNUbQeqrl692v0g0JXGa1EViZsM5RQoAIIOgI5Hr3wL9nYZTZ75eIoEmu/+6HsdbkH1cNhwef4/ljzZ85Rjk+jV0HyzfTpZvnz5u+++a3p87dq1wMBAyT1+fn4Sd+45N/la042Uy9n7Kj5el7/NI32VfLh8xYrSzyhNAAQdAHeIr6/1yH6xy3Tyxw9cJdD8w8P/3Pm/Ht/lNOKcZ69GdG40NbQllTfeeMPW1ralxz/y3vQrue9VHFtfsH2WLnhk4pzOn++Z+wqlCYCgA+AOdxvOEcNPTP/W3337h7//Sb+cTK7UpZtSy82bN+Pi4mpqarpJNg3NN3VXLuyvPB5b+IaXLtS2q2TTwejkZZQmAIIOgDssKNjXTXp4Yo/zM4cm99ddxzscvWr/c7P5VtbVggNVn20o3Dk3Y82oxN7dSXRSimdMwYydtccpUAAEHQB3iKzS+eTvHoArBC7Mis6+WmBKNo3NjTnXig5Wndhc9Ob8jIhRifN6+2ljtLOCc2e8VzG18LpbS4uLOHN5FaUJgKAD4A6bDOUu6eEDdkFkt9RlU1KX22vn9+G9tursRVkeO0vd0y5PutXsYso3bSoaplGaAAg6AO4wN2+n+dy3vEue6TOfL57+pWHK1caO4aaDnZdzQqvO+Vx8K77+EiULgKADoC6w9MQora+5hRuX5Fnr8qcfqZ5a1eDafbhp75UK3zHZC+yzvOYVv7as7CCFC4CgA6Auvu7SspKjgx5uHLWzVubM2Fc+Le/apJ6Hm/ZO1k+RlGPilLOUkgVA0AFQt746zzF5yWDlm6mps7ZfdE+qn3yzybVv+aZNfaOrw9dBZ3S298zCLRQuAIIOYO1m524flIgzIdnzWM2U5maX+8w37S0qnNk2qDMtfz2FC4CgA1i7yMo0N906G3XuQKacGWkzKxpc+zHi3J6PXOneFnRmFG6kcAEQdAAYBelPDVjKGaOdVXrDreP54bfc9tS4NzTfO/1UVY3dt++P8+f/2t39Fx3+K/nqZFPKcciay4gOAIIOAKM1FUm2ib27tk2kOuOEMmV071POaHVWZaprS4Mxl9TcdDtaMyUk32NJwUyv/FkSUF6qmH6odlrncHP9uvMnnwxftephR8eHpk37xfbtjxUUOHR+2c1m1w9Tpi3WzXS5sJpiBUDQAaxcremB14UdvQor49VZlxS3FsWlSHHzVGf26r371anyxvpE18C0GfLryJTZbQebbg/GZHvVNhrHdZqbJ2q1IzdseMTZ+V+dnH4WF/eIqo6UJ7sb77np0qi6XkmcEl28nfIFQNABrNrpwncSqnPkwQbDxfl5uyakhfYwrBxSjGHF5KriGq7O6OEbfRSPpq/fWKW4zkz07JByxLis2XNPu0zz+JWDw0NBQQ8fOzb8+nXnuyWb2trxdzxTcvvDryR57azJbb+yr18qosQBgg4AK1KZurg0fWXbuI5/0YemODJd9ewmrCxVPdpSTps9yrSR6qx73sMhV5nU/l01itvcjFmds874dM+SqnHfxJeGO08jrx9/4MAzixf/p739Q76+v/nmvxpdWrTffHhtsndbuNlmKNWnB1LiAEEHgLXYUZNnCgRfFO6TX1eUfmaKI7Hq9Fuqy4uKe5dhxV6dXdJ60KqzRHXyhG4T0jbFvfO7DKqrd0bHcZ2AYs9bLV/PSja4tCS6NFZMOH16RETEb8eO/amr68+ff/7RjAy7jgM8+o4fXp2y6FVDqaxdcu6L8uubrcNXAAg6ACzfiaJ3TWngljo1oTrbt2CvZJG/KNNMTzYrLlFdHZB6W53WZcoxqVDcfO8yZWea6nlDce3yXXWq2wLdHVnHNXf29dbTr/LTHG6dm2hansMJf5Ksc+vWhK4PYzW5tCR38eFl6Sv2VGibWsOZrDLlDhB0AFiFYl1wWxrQpwe+WFuRnL6qfUS4pbqsUD3ahxUvdeatu6cck5uK6yZleuegc16d3M27Lquui3S3r/XnnD17x95nvLz+3WPKr+pPOd3xSn0Xp5ofOvR/xscVd/3wxq+/ukgXQrkDBB0Alu9Vg77pziNQV5K8OkeEa4qrz9cjNDbq7Iw7Z9h047Ayxb5dylmnTr/nW64orssT3e33jh5/yHnnm4+XFo9pSe/qlSXGU82PHRseFPSwg8ND7u6/SEh4whh0Uu+9VI3qpFcMZZQ+QNABYOEOlR7rYWQxqK4zWrPOCz0IK+1lq5Omtk5PdlI95UN68pZG+fdy61BNs0tL9l1fdnT7nzZseCQxsd2p5jU9XSpZcUofIOgAsHBJF17ueWQpU9z8VI9rimuvgo5x8o3iukL1OKJO7cW7tC4t9S4tBfd6WV5rGGo7hpXe089Pzn2R0gcIOgAsXFn6il5FlqZeRpz7eWNzD1+ZY8w6dXXjv/pY0/MPL09bRukDBB0AluzFuupGdVJLX7OL+Uh7b5TH9F+Wfjam52+RFZfVpw4ABB0AFmtfhWoBKee21F6/RVafOgAQdABYrJOF+ywn6PSe6QKJAAg6ACxTTma0NQed7KxY6gBA0AFgsS6lLLDmoGNI8aUOAAQdAJaqtrHbixRbvEZ10vP1BmoCQNABYIF21ORbc8ox2VGTR00ACDoALNB75WcJOrIRqAkAQQeABfqk5CBBRzYCNQEg6ACwQOfzdhB0zuXtoCYABB0AFigrK46gk5W9gZoAEHQAWKDCjDUEnSJdKDUBIOgAsECl6YEEHX16IDUBIOgAsECVqYsJOlWp/tQEgKADwAIZUnwJOrXJPtQEgKADwHzF11VtMZRuMRRtupS3sTozrjotrkobU3F+fcWZ9eUn1umPR+mPRJZ+GFHyfnjJvjXFb68pTAgtfD2k4NV6dSpB53LiNNkask1ky8j2ka0k20q2mGw32XqyDWVLyvaUrSrbVrawbGfZ2rLNqXgAQQfAXaJJ/SXpLKXX3FCti61U11eclm51belHkSV/Cy/ebQwiBa8F57+4Om9zUG5MYE7EiqzggMzlS3X+S3Te/mmzF6a6+yW7+SaN90m0n69q+uyGMpGgIxuhzxtQtr+UgpSFlIiUi5SOlJGUlJSXlJqUnZSglKOUppSplKyUr5SyMUJVnJZyl9JvTU6lUh/YKQCCDmBuYaV2i0G/qebChurUmMqz0WWfRpZ+GF6yL6wwIaRg26q8+NaMEr48c+XSjMVL0uf7p870S5ks/aJ3ot39pJN+1GT1KUfIRjCHspBaYcxMKZOlnkhtkTojNUfqj9QiqUtSo6ReSe2SOiY1Teqb1Dqpe1IDpR6yMwIEHaBHB4A2XSqMq05bX3EmSn8s8uIH4cXvhBZuX533vHQ2K7LDAjIDluh8jHkl2c1HO8ZMwsp9jeiojOi4yEYY6uUotVHqpDEh6XyklkpdbR1Mel5qr9RhqclSn6VWS92WGs5BNxB02AqwsEGX0o3VWbGVanTZibWlH4UX75HWX/5EDsyNMo616PwWpXr6Jbve5zGgIapenUDQkY1gbeUutV3qvNR8qf/GcaPcKNkjWlPRHtlHZE+R/UX2mtZjagwXgaADDJLnjAMwebGVWmmXIy8eWFO0Kzj/ZflDdnnW6tb44rFA6+St2lhhfOm5aoKO4lJtfUGnFwfUVBvZj2RvMkairNWyf8leJvua7HGteUgr++BzDBGBoAP0nmGzoTCuKnld2ecRF/eHFe1cnfdcYE5EQGbA4vR5C1Om+Ggd6YTun151JujIRqAm3PexM0fZK2XflD1U9lPZW2WflT1X9l/Zi2Vflj2aZg0EHViXLYaSDdWp0eVfGAdjChOC87dK+7g0Y+mitFkLkpwZiRkYhQQdxaWQoDMwI0NJzrJ3yz4ue7rs77LXG4eFyr+QdkBaA5pEEHQwFKNMaVx1WnTZiYiS90MLtwflxi3PXCl/8y1IdvFWbWn6zUGmOp6gIxuBmmAGSchWWgZpH6SVkLZCWgxpN6T1kDZEWhKaUxB0MFinKdVsrMmJqTwbVXoorGjX6vz4FdnhS3ULF6a6W+fc3iHnS3UcQUc2AjXB7GdPO0irIm2LtDDSzkhrI22OtDzS/kgrRFMMgg7u12ZDSWylNkp/dE3R26vy4ldkhSxJn++XNJH2d6j7UBlN0JGNQE0Y0qQtkhZJ2iVpnaSNkpZK2qvNHA4DQQedhmeqN1ZnRpefiih5P6Rg28qcdcYZM6nTGZuxYG+qDgQd2QjUBEs9i15aMGnHpDWTNs14LKz8lLRy0tbR4BN0YOE2XcqPqfgq4uL+kIJXV+ZELtX5+SW70Sxaoc2qHUFHNgI1weoGgZLdpN2T1k/aQGkJpT2UVpGugaCDoTgdWB9XpY3SHwkrTAi6sGFZZoD8fWM+9x/AoAtWRxJ0ZCNQE2C6C4e0kNJOSmspbaa0nNJ+SitKV0LQgbmc4hRbqay9eED+QAnMCV+cPt83iSmWuOepLprr1n1fT1l9b2oCuiVtqbSo0q5K6yptrLS0nAhG0MEDviJwbbn8nbG29KPQwu2BOZFLdD4LtE40RuAMc84tx4CRVlfaXmmBpR2W1ljaZGmZ6Z4IOuj9BOH62o01OdFln64pTDDODtb5LeBcJ/SrI6pVn3glq08dQL+ln6SJrVN/1kmLLe228ex3bhZG0EGHy9LEVaet1R8OLXgtMHvN4jQvznjCg/aKam/NQUdWnzqAB3rml7Tk0p5Lqy5tu7TwXPiHoGNVR6AqYiuViIv7V+e9sDxz5aJU9/lMisSAW2nd85FXstNhoI2U1l7afGn5pf2XXkD6AjpEgo5lMGyozpBEH1Lw6vKsVQuNsYYdHmahXLHSO17JilP6MAfSI0i/YJzsrD8sPQX3QCXoDJXToIrWl58IK3prZe5a//S5HISC2TpqrdN0jjJBB+Z6wEt6Dek7pAeRfkR6E7pUgo6ZDNikth6H2rwsw983idOgMGRsUEdZZ9DZwKUCMWROcXeSnkX6F+llpK9hyIegM0A3TIitTAwv+WtQbuyS9PkM2GBIX03nsvVdTecyV9DBUB7ykX5Heh/pg6Qn4qYWBJ1+mzscU3EuvPidwNwo/7TZ3qotOxsshhXexpyblsOC/laxlV5J+ibpoaSfYnYzQafnYzaXjGM2xXsCcyIXpXp4qzbsTrBUG63v6JWsMuUOC809NtJnSc8l/VfreM8lOnSCzjc21uSsLT24Km/LEp2PN0ejYE1Krencq1LOt4L15J5Ee+nRpF+T3k36OIKO1QWdLYbS6LIToQWvBWStYAYxrNk7ioP1BB1ZWUocVjuvWfo76fWk77POm3YNs5Zhm4sHgnJjFqV6UOkBE3/V5oZ1TEmW1fTnSDTQSvpB6Q2lT7SewR7LDDrx9bVxVclrinevyA7zS3alZgNdOq6OsYagI6tJWQOdSf8ovaT0ldJjWvBduoZZ0FTiqvUVZ0ILXw/IDPDVjqUGA/cUoI60+EEdWcEAbvsA3PMIl3as9J7Sh0pPKv0pQceMzpOKqTwbUrBtqW6hdyKnVAC9dtDSB3UOMpwD9Ho68yjpVaVvlR7WAs7hGjY0D0tpwwoTJHv6aLmgO3C/M3Us+OKBl5mdA9wf6Welt5U+V3reIXp4a8gEnQ3VuvDi3cuzVvsmjafmAf1ot+JoqUFHVo3yBfrvBK7x0gtLXyw9MkGnv04F10fpj6zMWceEYuABDlOrmhzVyfJSjqwU93wAHtxEZumdpY+Wnpqg02txVSmhRTuM02646wIwIEJU2wbLSjmyOiE0IMBA/KVkK/219NrSdxN0ur+xVHmU/uOVOdEM3gCDYq9qUQewZHUoU2AwhnmipTeXPp2g882l/MKKdi3VLWLwBhj0A1hpynjLSDmpyngOWgGDPczjL/27OVyWcHCCTlx1Wkjhdv+0OdQGwHwsVm306pC/AZaswmLOtALM59TOtDnS40u/bxVBJ7ZSCc57YVGqOwUPmKdg1fbKUD7bXBY+mOFhwCxJ7y8ZQJKApQWd+Pra9RWngy5sZPINMCRsVkfdGpopRxZbFp4SBMx/Ko+kAskGA3NhnmEP8uQp7er8ePINMORsVe1uDrVxHVlgWWzKDhhaiUdygqSFIRZ0NtbkhBZu5z7hwJC2RbFrGFInk8sCU2rAkD2q5SHJ4QHNXB7Wfxf3K1lTvHuJzocCAyzDJtXu+lAY15GF3MRYDmARJEVIlpBEYVZBx7BOfzwgK5DzwwHLE6bamvl5WLJ4YTQ+gGWRRCG5QtKFZIzBDDqbLuWFFGzzS3ajSABLHlJWbRKVceaZcmTBFnEmOWDJk3jcJGlI3hjgoGOI0h8LyFzuTfsCWI19iuMN1YwOY8nC7OOGnYC1DPDYSOqQ7NG3AZ5hvRrCCc5/hbOoAOu0Wh1pJpdOlsWQhaFEACs8S0tySG8HeHoUdGKrklbkhDMLB8B2xb5GmTBYEUe+WhaAUgCsfAaPZBJJJv0TdNaVfbY0YzGbFUAbX1WzS3GoHti4I18nX+rL9gfwNcknklL6GHTi66ojSt7zT53JdgTQxue8xu+sxv8rzZIvNctPaf76pcPFs04POuKUnnV697RD0EnNslPG75Vvl2WQJaE4AAjJKpJYJLf0NOg8V1sZVrRzQdJEth1gpcPCijFJSKRYcVKz6jNN6HFNxFFN1MeamMOamEMjOtt+dORXX4yuP9fPAzzygfKx8uFdfqnRYeNSybLJEspyytLKMsuSy/JTiIC1kdwi6UUyTHdBR9LQmuK3iTiA2QpRbcMfxFQ5xThMIkEh5FPN2qN3DTT39OYx208/d7zw5fiG8308P0veKG+XD5GP6tsymAKQrIWsi6yRrNd8cg9gTXFHkkyH0Z1hrffdvBRR8i5XxAHMbSrMWnXUTtXhuDomR3UyXaRYfu23kZvzmoDTmrDjEg40fU8VXYk9rHnj6Mj3j9ud+Nwx9dTYkjNOlV85156bcO3cxEbFRcgD+VWelP+SF8jL5MXyltjD/bwkrYzrKGvqzdEuwFpOznKTVCPZ5nbQWXvxwMKUaWwXYNAtUm1ilVHvKA6nlLFFilPnW4g3Ky4B/XT9qqWnNeuOPIhUYb5kfWWtqWaAlZBsIwknvr52GNsCGPxpMapmp+pQod5jmku+6txf3xhtZSnHRNa6JxtnrTrqA3V0juokcbMbqeq4vaojN6AAzHuq8iyCDmBGYtRRx9UxdXc5c3u/Orq/vogRnXsf7Fdt4lW7T5Wx7U+kb2i9XOE+xTGcfAMMEQQdwBwHeLYodqeVsVfvvOvCWnVUf37LA5ujY2b6YY5OhDpqj+oohbKAW98ABB0A/XYGgWrzsmqvqOMaFBeDMuFBfVE/nXVlLjjrCgBBBxhy85SjFdv7eftmdVQPLyvc5XV0jMe5zC0AHTYuFdfRAUDQAazRMnXkS6r9UXVMvuLUqEw8qI65/8/0Pa/xO3f7ysgBpzWBJzUrT2hWf64J/nRE6PERa45rwj/RRBzTRLZeYHDdx8YgEt1q/WFjLhGmE8hjWx8Led70AnmlvF7eJe+VT5DPkU+Tz5RPls+Xb5Hvkm+8fWXkc8YloYgBEHQAa7RQtTmtjG1uN7knW3HyZssAIOgAsBhbVbt81dl4LwV1QqA6kg0CgKADwOLijmK/SbVjOwAg6AAAABB0AAAACDoAAAAEHQAAAIIOAAAAQQcAAICgAwAACDoAAAAEHQAAAIIOAAAAQQcAAICgAwAAQNABAADW4v8BIMkHbXsCeUgAAAAASUVORK5CYII="},74270:function(e,t,s){s.d(t,{Z:()=>o});let o=s.p+"assets/images/slash-introducing-411a16dd05086935b8e9ddae38ae9b45.svg"},50534:function(e,t,s){s.d(t,{Z:()=>o});let o=s.p+"assets/images/slash-up-and-running-1c1f83f3064dcd56be41632c51be62ac.png"},73036:function(e,t,s){s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var o=s(97419),i=s(85893),n=s(80980);let a={title:"Introducing Docusaurus",authors:"JMarcey",tags:["documentation","blog","docusaurus"]},r=void 0,l={authorsImageUrls:[void 0]},c=[{value:"The Birth of docusaurus",id:"the-birth-of-docusaurus",level:2},{value:"Getting Up and Running",id:"getting-up-and-running",level:2},{value:"How does Docusaurus work?",id:"how-does-docusaurus-work",level:2},{value:"Community",id:"community",level:2},{value:"Acknowledgements",id:"acknowledgements",level:2},{value:"Resources",id:"resources",level:2}];function u(e){let t={a:"a",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:s(74270).Z+"",width:"760",height:"160"})}),"\n",(0,i.jsxs)(t.p,{children:["We are very happy to introduce ",(0,i.jsx)(t.a,{href:"https://github.com/facebook/docusaurus",children:"Docusaurus"})," to help you manage one or many open source websites."]}),"\n",(0,i.jsxs)(t.p,{children:["We created ",(0,i.jsx)(t.a,{href:"https://docusaurus.io",children:"Docusaurus"})," for the following reasons:"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"To put the focus on writing good documentation instead of worrying about the infrastructure of a website."}),"\n",(0,i.jsx)(t.li,{children:"To provide features that many of our open source websites need like blog support, search and versioning."}),"\n",(0,i.jsx)(t.li,{children:"To make it easy to push updates, new features, and bug fixes to everyone all at once."}),"\n",(0,i.jsx)(t.li,{children:"And, finally, to provide a consistent look and feel across all of our open source projects."}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["Docusaurus is a tool designed to make it easy for teams to publish documentation websites without having to worry about the infrastructure and design details. At its core, all a user has to provide are documentation files written in Markdown, customization of a provided home page written in React, and a few configuration modifications. Docusaurus handles the rest by providing default styles, site formatting, and simple document navigation. Getting started is easy, as users can ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/installation.html",children:"install"})," it using ",(0,i.jsx)(t.code,{children:"npm"})," or ",(0,i.jsx)(t.code,{children:"yarn"})," via a simple initialization script that ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/site-preparation.html",children:"creates a working example website out of the box"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["Docusaurus also provides core website and documentation features out-of-the-box including ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/blog.html",children:"blog support"}),", ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/translation.html",children:"internationalization"}),", ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/search.html",children:"search"}),", and ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/versioning.html",children:"versioning"}),". While some projects may not require any of these features, enabling them is generally a matter of updating configuration options instead of having to add the infrastructure from the ground up. As more features get added to Docusaurus, users just can easily update to the latest version. This can be done by simply running npm or yarn update and updating configuration options. Users or teams will no longer need to manually rework their entire website infrastructure each time a new feature gets added."]}),"\n",(0,i.jsx)(t.h2,{id:"the-birth-of-docusaurus",children:"The Birth of docusaurus"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:s(80415).Z+"",width:"760",height:"160"})}),"\n",(0,i.jsx)(t.p,{children:"When Facebook first started their open source program, many teams implemented a custom website for each of their open source projects. This approach presented challenges when the open source program team was asked to help the project teams improve their documentation. Since each site was unique, adding basic infrastructure such as a blog, consistent navigation, search, etc. became challenging undertakings."}),"\n",(0,i.jsx)(t.p,{children:"The open source team tried to help mitigate this problem by coming up with a standard template, based on Jekyll, that could be used as a starting point for a project website. We asked our new projects to manually copy our template source to their repo, write their docs, and publish. This template approach was adopted by most of open source projects launched; some existing projects even converted their custom website implementations to the new template as well."}),"\n",(0,i.jsx)(t.p,{children:'The problem with the "copy the template to your repo" approach is that, even though the platform is consistent, pushing updates becomes unmaintainable across an entire suite of projects already using the template. This is because we lost control of the template after a project copied it to their repo. Projects were free to modify the template as desired and apply their own project-specific features to it. So while projects share the same site generation platform, they have now diverted enough where they cannot take advantage of the new features we have added to the template over time. There was no easy way we could ask all current projects to "copy" a new version of the template since it might break their existing site or remove features that they have added on their own. Instead, we would have to apply the updates manually to each project one-by-one. This became very problematic when projects started asking for our team for internationalization support within the template, requiring low-level changes to how the template was structured and generated.'}),"\n",(0,i.jsx)(t.p,{children:"So we started thinking about what we could do to help mitigate the challenge of keeping sites updated and consistent across our entire portfolio. We also wanted multiple projects to share the same site generation software. We wanted them to start out with the same template, and yet have the flexibility to customize and adapt their site theme to suit their needs. They should be able to extend and customize their site, but when we update the underlying infrastructure with fixes and features, the project should be able update simply and without any breaking changes."}),"\n",(0,i.jsx)(t.p,{children:"Docusaurus was born!"}),"\n",(0,i.jsx)(t.p,{children:"At Facebook, Docusaurus allows us to quickly get different projects up and running with documentation websites, especially for teams who don't have much experience with web development or primarily want a basic site to showcase their project. Docusaurus already supports sites needing more advanced features like internationalization for Jest and versioning for React Native. As different projects request new features for their sites, they are added to Docusaurus and simultaneously provided to all projects! All together, this ends up greatly reducing the work needed to maintain different sites for different projects. Our teams are able to focus on keeping their projects healthier by spending more time adding features, fixing bugs, and writing documentation."}),"\n",(0,i.jsx)(t.h2,{id:"getting-up-and-running",children:"Getting Up and Running"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:s(50534).Z+"",width:"760",height:"160"})}),"\n",(0,i.jsxs)(t.p,{children:["At its core, we wanted sites running Docusaurus to be simple to use. With one ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/installation.html",children:"installation"})," command and some simple ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/site-preparation.html",children:"configuration"}),", you can actually have a default running website."]}),"\n",(0,i.jsxs)(t.p,{children:["When you run ",(0,i.jsx)(t.code,{children:"docusaurus-init"}),", you will see a structure similar to:"]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"root-of-repo\n\u251C\u2500\u2500 docs-examples-from-docusaurus\n\u2502 \u251C\u2500\u2500 doc1.md\n\u2502 \u251C\u2500\u2500 doc2.md\n\u2502 \u251C\u2500\u2500 doc3.md\n\u2502 \u251C\u2500\u2500 example-doc4.md\n\u2502 \u2514\u2500\u2500 example-doc5.md\n\u251C\u2500\u2500 website\n\u2502 \u251C\u2500\u2500 blog-examples-from-docusaurus\n\u2502 \u2502 \u251C\u2500\u2500 2016-03-11-blog-post.md\n\u2502 \u2502 \u2514\u2500\u2500 2017-04-10-blog-post-two.md\n\u2502 \u251C\u2500\u2500 core\n\u2502 \u2502 \u2514\u2500\u2500 Footer.js\n\u2502 \u251C\u2500\u2500 node_modules\n\u2502 \u251C\u2500\u2500 package.json\n\u2502 \u251C\u2500\u2500 pages\n\u2502 \u251C\u2500\u2500 sidebars.json\n\u2502 \u251C\u2500\u2500 siteConfig.js\n\u2502 \u2514\u2500\u2500 static\n"})}),"\n",(0,i.jsxs)(t.p,{children:["With the exception of node_modules and package.json, all the directories and files you see are where you customize and add content to your Docusaurus-based website. The docs folder is where you add your Markdown that represents your documentation; the blog folder is where you add your Markdown for your ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/blog.html",children:"blog posts"}),"; ",(0,i.jsx)(t.code,{children:"siteConfig.js"})," is where you make most of the ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/site-config.html",children:"customizations"})," for your site; ",(0,i.jsx)(t.code,{children:"sidebars.json"})," is where you maintain the layout and content of the ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/navigation.html",children:"sidebar"})," for your documentation; the ",(0,i.jsx)(t.code,{children:"pages"})," folder is where you add ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/custom-pages.html",children:"custom"})," pages for your site; the ",(0,i.jsx)(t.code,{children:"static"})," folder is where all of your static assets go (e.g., CSS stylesheets and images); and the ",(0,i.jsx)(t.code,{children:"core"})," folder is where you can customize core components of the site, in this case the footer."]}),"\n",(0,i.jsx)(t.h2,{id:"how-does-docusaurus-work",children:"How does Docusaurus work?"}),"\n",(0,i.jsxs)(t.p,{children:["Docusaurus is written primarily in JavaScript and ",(0,i.jsx)(t.a,{href:"https://facebook.github.io/react",children:"React"}),", replacing Jekyll which we used in the old template. We use ",(0,i.jsx)(t.a,{href:"https://github.com/jonschlinkert/remarkable",children:"Remarkable"})," for our Markdown rendering and ",(0,i.jsx)(t.a,{href:"https://highlightjs.org/",children:"highlight.js"})," for our code block syntax highlighting. The core of Docusaurus' functionality is in the ",(0,i.jsx)(t.a,{href:"https://github.com/facebookexperimental/Docusaurus/tree/master/lib",children:"lib directory"})," of the ",(0,i.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/",children:"Docusaurus repo"}),". The general structure looks like:"]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"root-of-Docusaurus\n\u251C\u2500\u2500 lib\n\u2502 \u251C\u2500\u2500 core\n\u2502 \u251C\u2500\u2500 server\n\u2502 \u2502 \u251C\u2500\u2500 generate.js\n\u2502 \u2502 \u251C\u2500\u2500 server.js\n\u2502 \u2502 \u2514\u2500\u2500 ...and more files\n\u2502 \u251C\u2500\u2500 static\n\u2502 \u251C\u2500\u2500 build-files.js\n\u2502 \u251C\u2500\u2500 copy-examples.js\n\u2502 \u251C\u2500\u2500 generate-feed.js\n\u2502 \u251C\u2500\u2500 publish-gh-pages.js\n\u2502 \u251C\u2500\u2500 rename-version.js\n\u2502 \u251C\u2500\u2500 start-server.js\n\u2502 \u251C\u2500\u2500 versions.js\n\u2502 \u2514\u2500\u2500 write-translations.js\n"})}),"\n",(0,i.jsxs)(t.p,{children:["The key files here are build-files.js and start-server.js. There are many similarities between these two files: ",(0,i.jsx)(t.code,{children:"build-files.js"})," is used to build the physical artifacts for serving by an external web server. ",(0,i.jsx)(t.code,{children:"start-server.js"})," is used to run the Docusaurus server and locally test your site. Both go through the following general process to take all of the Markdown and configuration to create a runnable website:"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["Process your website settings in ",(0,i.jsx)(t.code,{children:"siteConfig.js"})]}),"\n",(0,i.jsx)(t.li,{children:"Read the document metadata that exists in all the Markdown files in your docs directory."}),"\n",(0,i.jsx)(t.li,{children:"Create a table of contents for your documents based upon the IDs extracted from the metadata."}),"\n",(0,i.jsx)(t.li,{children:"Convert the Markdown to HTML, including doing link replacement."}),"\n",(0,i.jsx)(t.li,{children:"These files will go in a build/docs directory of the compiled site, and any translated versions will go into a language specific folder within the build/docs folder."}),"\n",(0,i.jsx)(t.li,{children:"Repeat 1-3 for blog posts."}),"\n",(0,i.jsx)(t.li,{children:"The blog file will go in a build/blog directory of the compiled site."}),"\n",(0,i.jsx)(t.li,{children:"Read the main.css file and concatenate any user-defined css into master css file that will be in the build/css directory of the compiled site."}),"\n",(0,i.jsx)(t.li,{children:"Copy images into an build/img directory of the compiled site."}),"\n",(0,i.jsx)(t.li,{children:"Take any custom pages that were added to the pages folder of the site and compile/copy those into the root build directory of the compiled site. Any translated versions will go into a language specific folder within build."}),"\n",(0,i.jsx)(t.li,{children:"Create CNAME and sitemap.xml files and add those to build."}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Note that this process does not take into full account how translations or versioning works. The underlying details of those features will be saved for future blog posts."}),"\n",(0,i.jsx)(t.p,{children:"The final structure of your compiled site will look similar to:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"build\n\u251C\u2500\u2500 website\n\u2502 \u251C\u2500\u2500 CNAME\n\u2502 \u251C\u2500\u2500 blog\n\u2502 \u251C\u2500\u2500 css\n\u2502 \u251C\u2500\u2500 docs\n\u2502 \u251C\u2500\u2500 en\n\u2502 \u251C\u2500\u2500 help.html # custom page\n\u2502 \u251C\u2500\u2500 img\n\u2502 \u251C\u2500\u2500 index.html # landing page\n\u2502 \u251C\u2500\u2500 sitemap.xml\n\u2502 \u2514\u2500\u2500 users.html # custom page\n"})}),"\n",(0,i.jsx)(t.h2,{id:"community",children:"Community"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:s(47131).Z+"",width:"200",height:"200"})}),"\n",(0,i.jsxs)(t.p,{children:["We welcome your ",(0,i.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/blob/master/CONTRIBUTING.md",children:"contributions"})," to Docusaurus, whether you want to use it for your own site, you want to ",(0,i.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/blob/master/CONTRIBUTING.md",children:"contribute"})," to the Docusaurus core or just have questions. Follow us on ",(0,i.jsx)(t.a,{href:"https://github.com/facebook/docusaurus",children:"GitHub"})," and ",(0,i.jsx)(t.a,{href:"https://x.com/docusaurus",children:"X)"}),"."]}),"\n",(0,i.jsx)(t.h2,{id:"acknowledgements",children:"Acknowledgements"}),"\n",(0,i.jsxs)(t.p,{children:["Docusaurus wouldn't exist without the work of the rest of the core Docusaurus team: ",(0,i.jsx)(t.a,{href:"http://x.com/ericnakagawa",children:"Eric Nakagawa"}),", ",(0,i.jsx)(t.a,{href:"https://x.com/hectorramos",children:"Hector Ramos"}),", ",(0,i.jsx)(t.a,{href:"https://x.com/EricVicenti",children:"Eric Vicenti"})," and ",(0,i.jsx)(t.a,{href:"https://github.com/deltice",children:"Frank Li"})," \u2014 a former intern at Facebook who implemented the core technology and features."]}),"\n",(0,i.jsxs)(t.p,{children:["Special thanks also goes out to our earliest ",(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/en/users.html",children:"adopters"})," of Docusaurus:"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://bucklescript.github.io/",children:"BuckleScript"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://fasttext.cc",children:"FastText"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://jestjs.io",children:"Jest"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"http://makeitopen.com",children:"Make It Open"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://prettier.io/",children:"Prettier"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://reasonml.github.io/reason-react/",children:"Reason-react"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://facebook.github.io/react-native/",children:"React Native"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://facebook.github.io/relay/",children:"Relay"})}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Without their dedication to creating or migrating their websites over to the platform, we would have not have been in the position where we are today."}),"\n",(0,i.jsx)(t.h2,{id:"resources",children:"Resources"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io",children:"Read our documentation"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://x.com/docusaurus",children:"Follow our X feed"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://github.com/facebook/docusaurus",children:"Follow us on GitHub"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://v1.docusaurus.io/about-slash.html",children:"About Slash, the Docusaurus mascot"})}),"\n"]})]})}function d(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},80980:function(e,t,s){s.d(t,{Z:()=>r,a:()=>a});var o=s(67294);let i={},n=o.createContext(i);function a(e){let t=o.useContext(n);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(n.Provider,{value:t},e.children)}},97419:function(e){e.exports=JSON.parse('{"permalink":"/blog/2017/12/14/introducing-docusaurus","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2017/12-14-introducing-docusaurus.mdx","source":"@site/blog/2017/12-14-introducing-docusaurus.mdx","title":"Introducing Docusaurus","description":"We are very happy to introduce Docusaurus to help you manage one or many open source websites.","date":"2017-12-14T00:00:00.000Z","tags":[{"inline":false,"label":"Documentation","permalink":"/blog/tags/documentation"},{"inline":false,"label":"Blog","permalink":"/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus"}],"readingTime":8.215,"hasTruncateMarker":true,"authors":[{"name":"Joel Marcey","title":"Developer Advocate at Meta","url":"https://x.com/JoelMarcey","page":{"permalink":"/blog/authors/j-marcey"},"socials":{"x":"https://x.com/joelmarcey","github":"https://github.com/JoelMarcey"},"imageURL":"https://github.com/JoelMarcey.png","key":"JMarcey"}],"frontMatter":{"title":"Introducing Docusaurus","authors":"JMarcey","tags":["documentation","blog","docusaurus"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"How I Converted Profilo to Docusaurus in Under 2 Hours","permalink":"/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus"}}')}}]); \ No newline at end of file diff --git a/assets/js/5c868d36.79c23adf.js b/assets/js/5c868d36.79c23adf.js deleted file mode 100644 index 98e6b6f6bc..0000000000 --- a/assets/js/5c868d36.79c23adf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[1974],{9009:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"tutorial-basics/create-a-page","title":"Create a Page","description":"Add Markdown or React files to src/pages to create a standalone page:","source":"@site/docs/tutorial-basics/create-a-page.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/create-a-page","permalink":"/docs/tutorial-basics/create-a-page","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-page.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Tutorial - Basics","permalink":"/docs/category/tutorial---basics"},"next":{"title":"Create a Document","permalink":"/docs/tutorial-basics/create-a-document"}}');var s=t(4848),n=t(3023);const o={sidebar_position:1},c="Create a Page",i={},l=[{value:"Create your first React Page",id:"create-your-first-react-page",level:2},{value:"Create your first Markdown Page",id:"create-your-first-markdown-page",level:2}];function d(e){const a={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsx)(a.h1,{id:"create-a-page",children:"Create a Page"})}),"\n",(0,s.jsxs)(a.p,{children:["Add ",(0,s.jsx)(a.strong,{children:"Markdown or React"})," files to ",(0,s.jsx)(a.code,{children:"src/pages"})," to create a ",(0,s.jsx)(a.strong,{children:"standalone page"}),":"]}),"\n",(0,s.jsxs)(a.ul,{children:["\n",(0,s.jsxs)(a.li,{children:[(0,s.jsx)(a.code,{children:"src/pages/index.js"})," \u2192 ",(0,s.jsx)(a.code,{children:"localhost:3000/"})]}),"\n",(0,s.jsxs)(a.li,{children:[(0,s.jsx)(a.code,{children:"src/pages/foo.md"})," \u2192 ",(0,s.jsx)(a.code,{children:"localhost:3000/foo"})]}),"\n",(0,s.jsxs)(a.li,{children:[(0,s.jsx)(a.code,{children:"src/pages/foo/bar.js"})," \u2192 ",(0,s.jsx)(a.code,{children:"localhost:3000/foo/bar"})]}),"\n"]}),"\n",(0,s.jsx)(a.h2,{id:"create-your-first-react-page",children:"Create your first React Page"}),"\n",(0,s.jsxs)(a.p,{children:["Create a file at ",(0,s.jsx)(a.code,{children:"src/pages/my-react-page.js"}),":"]}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-jsx",metastring:'title="src/pages/my-react-page.js"',children:"import React from 'react';\nimport Layout from '@theme/Layout';\n\nexport default function MyReactPage() {\n return (\n <Layout>\n <h1>My React page</h1>\n <p>This is a React page</p>\n </Layout>\n );\n}\n"})}),"\n",(0,s.jsxs)(a.p,{children:["A new page is now available at ",(0,s.jsx)(a.a,{href:"http://localhost:3000/my-react-page",children:"http://localhost:3000/my-react-page"}),"."]}),"\n",(0,s.jsx)(a.h2,{id:"create-your-first-markdown-page",children:"Create your first Markdown Page"}),"\n",(0,s.jsxs)(a.p,{children:["Create a file at ",(0,s.jsx)(a.code,{children:"src/pages/my-markdown-page.md"}),":"]}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-mdx",metastring:'title="src/pages/my-markdown-page.md"',children:"# My Markdown page\n\nThis is a Markdown page\n"})}),"\n",(0,s.jsxs)(a.p,{children:["A new page is now available at ",(0,s.jsx)(a.a,{href:"http://localhost:3000/my-markdown-page",children:"http://localhost:3000/my-markdown-page"}),"."]})]})}function p(e={}){const{wrapper:a}={...(0,n.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3023:(e,a,t)=>{t.d(a,{R:()=>o,x:()=>c});var r=t(6540);const s={},n=r.createContext(s);function o(e){const a=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(n.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5df873bd.1fc0b780.js b/assets/js/5df873bd.1fc0b780.js new file mode 100644 index 0000000000..9988a3ebbe --- /dev/null +++ b/assets/js/5df873bd.1fc0b780.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["64687"],{77213:function(e,t,n){n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>i});var a=n(67148),o=n(85893),r=n(80980);let s={mdx:{format:"md"},date:"2022-08-01T19:00",authors:["Josh-Cena","slorber"]},l="2.0.0",u={authorsImageUrls:[void 0,void 0]},i=[];function c(e){return(0,o.jsx)(o.Fragment,{})}function h(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>s});var a=n(67294);let o={},r=a.createContext(o);function s(e){let t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:t},e.children)}},67148:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0","source":"@site/changelog/source/2.0.0.md","title":"2.0.0","description":"Bad npm publish, please use 2.0.1","date":"2022-08-01T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-08-01T19:00","authors":["Josh-Cena","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.1","permalink":"/changelog/2.0.1"},"nextItem":{"title":"2.0.0-rc.1","permalink":"/changelog/2.0.0-rc.1"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/5e335fc2.ecdf6f78.js b/assets/js/5e335fc2.ecdf6f78.js new file mode 100644 index 0000000000..6ad8d7fbfc --- /dev/null +++ b/assets/js/5e335fc2.ecdf6f78.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["19481"],{49958:function(e,t,a){a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>u,default:()=>p,frontMatter:()=>o,metadata:()=>n,toc:()=>c});var n=a(64172),s=a(85893),r=a(80980);let o={title:"Docusaurus 2019 Recap",authors:"yangshun",tags:["recap"]},u=void 0,i={authorsImageUrls:[void 0]},c=[];function l(e){let t={a:"a",p:"p",...(0,r.a)(),...e.components};return(0,s.jsxs)(t.p,{children:["2019 was a great year for Docusaurus - we've made tremendous progress on ",(0,s.jsx)(t.a,{href:"https://docusaurus.io/",children:"Docusaurus 2"}),". Current Docusaurus 1 users who aren't using the translations feature can feel free to check it out and ",(0,s.jsx)(t.a,{href:"https://docusaurus.io/docs/migration",children:"migrate"})," to it! Otherwise we will work with you to make that happen in 2020 :)"]})}function p(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},80980:function(e,t,a){a.d(t,{Z:()=>u,a:()=>o});var n=a(67294);let s={},r=n.createContext(s);function o(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function u(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(r.Provider,{value:t},e.children)}},64172:function(e){e.exports=JSON.parse('{"permalink":"/blog/2019/12/30/docusaurus-2019-recap","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2019/12-30-docusaurus-2019-recap.mdx","source":"@site/blog/2019/12-30-docusaurus-2019-recap.mdx","title":"Docusaurus 2019 Recap","description":"2019 was a great year for Docusaurus - we\'ve made tremendous progress on Docusaurus 2. Current Docusaurus 1 users who aren\'t using the translations feature can feel free to check it out and migrate to it! Otherwise we will work with you to make that happen in 2020 :)","date":"2019-12-30T00:00:00.000Z","tags":[{"inline":false,"label":"Recap","permalink":"/blog/tags/recap","description":"Blog posts about Docusaurus\' year recaps"}],"readingTime":2.72,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"title":"Docusaurus 2019 Recap","authors":"yangshun","tags":["recap"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Tribute to Endi","permalink":"/blog/2020/01/07/tribute-to-endi"},"nextItem":{"title":"Happy 1st Birthday Slash!","permalink":"/blog/2018/12/14/Happy-First-Birthday-Slash"}}')}}]); \ No newline at end of file diff --git a/assets/js/5e90a9b3.09946f3f.js b/assets/js/5e90a9b3.09946f3f.js deleted file mode 100644 index 9ecfda3263..0000000000 --- a/assets/js/5e90a9b3.09946f3f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[8025],{7134:t=>{t.exports=JSON.parse('{"tag":{"label":"Hola","permalink":"/blog/tags/hola","description":"Hola tag description","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/hola","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.1e205c05.js b/assets/js/5e95c892.1e205c05.js new file mode 100644 index 0000000000..e0b04ceabf --- /dev/null +++ b/assets/js/5e95c892.1e205c05.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["63432"],{41626:function(e,s,r){r.r(s),r.d(s,{default:()=>l});var t=r(85893);r(67294);var u=r(90496),a=r(57335),c=r(55951),n=r(95473),i=r(88408);function l(e){return(0,t.jsx)(a.FG,{className:(0,u.Z)(c.k.wrapper.docsPages),children:(0,t.jsx)(i.Z,{children:(0,n.H)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.43cbfb3e.js b/assets/js/5e95c892.43cbfb3e.js deleted file mode 100644 index 26a34526d4..0000000000 --- a/assets/js/5e95c892.43cbfb3e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[9647],{7602:(e,s,r)=>{r.r(s),r.d(s,{default:()=>p});r(6540);var t=r(1750),a=r(5861),c=r(8532),n=r(3971),u=r(7374),i=r(4848);function p(e){return(0,i.jsx)(a.e3,{className:(0,t.A)(c.G.wrapper.docsPages),children:(0,i.jsx)(u.A,{children:(0,n.v)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/5f61b80e.67ed16fc.js b/assets/js/5f61b80e.67ed16fc.js new file mode 100644 index 0000000000..5cb6b59f3e --- /dev/null +++ b/assets/js/5f61b80e.67ed16fc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["75611"],{71510:function(t,e,s){s.r(e),s.d(e,{frontMatter:()=>a,default:()=>u,contentTitle:()=>i,assets:()=>d,toc:()=>l,metadata:()=>n});var n=JSON.parse('{"id":"tests/links/target","title":"Target doc","description":"This is just a doc meant to be linked to by other docs.","source":"@site/_dogfooding/_docs tests/tests/links/target.mdx","sourceDirName":"tests/links","slug":"/tests/links/target-doc-slug","permalink":"/tests/docs/tests/links/target-doc-slug","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"target-doc-slug"},"sidebar":"sidebar","previous":{"title":"Broken Anchors tests","permalink":"/tests/docs/tests/links/broken-anchors-tests"},"next":{"title":"Test links","permalink":"/tests/docs/tests/links/test-markdown-links"}}'),o=s(85893),r=s(80980);let a={slug:"target-doc-slug"},i="Target doc",d={},l=[{value:"Target heading",id:"target-heading",level:2}];function c(t){let e={h1:"h1",h2:"h2",header:"header",p:"p",...(0,r.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"target-doc",children:"Target doc"})}),"\n",(0,o.jsx)(e.p,{children:"This is just a doc meant to be linked to by other docs."}),"\n",(0,o.jsx)(e.h2,{id:"target-heading",children:"Target heading"})]})}function u(t={}){let{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(c,{...t})}):c(t)}u.displayName="MDXContent(_dogfooding/_docs tests/tests/links/target.mdx)"},80980:function(t,e,s){s.d(e,{Z:()=>i,a:()=>a});var n=s(67294);let o={},r=n.createContext(o);function a(t){let e=n.useContext(r);return n.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:a(t.components),n.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/5fb252f5.9560b44e.js b/assets/js/5fb252f5.9560b44e.js new file mode 100644 index 0000000000..cf0c907fc2 --- /dev/null +++ b/assets/js/5fb252f5.9560b44e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["17370"],{39176:function(e,s,n){n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>t,toc:()=>h});var t=n(71403),i=n(85893),l=n(80980);let r={mdx:{format:"md"},date:"2023-02-03T20:00",authors:["Josh-Cena","scastiel","slorber"]},o="2.3.1",c={authorsImageUrls:[void 0,void 0,void 0]},h=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83E\uDD16 Dependencies",id:"robot-dependencies",level:2},{value:"Committers: 3",id:"committers-3",level:2}];function a(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,l.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8628",children:"#8628"})," fix(theme-common): fix issue in tab scroll position restoration on tab click (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8619",children:"#8619"})," fix(theme-common): localStorage utils dispatch too many storage events leading to infinite loop (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8618",children:"#8618"})," fix(theme-common): prepare usage of useSyncExternalStore compatibility with React 18 (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8593",children:"#8593"})," fix(theme-classic): allow rendering single tab item (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8606",children:"#8606"})," fix(utils): handle CRLF when parsing MDX imports (",(0,i.jsx)(s.a,{href:"https://github.com/scastiel",children:"@scastiel"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-preset-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8597",children:"#8597"})," fix(preset-classic): install the right plugin for googleTagManager (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8614",children:"#8614"})," chore(theme-translations): complete zh translations (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"robot-dependencies",children:"\uD83E\uDD16 Dependencies"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8610",children:"#8610"})," chore(deps): bump eta from 1.12.3 to 2.0.0 (",(0,i.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"committers-3",children:"Committers: 3"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Joshua Chen (",(0,i.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["S\xe9bastien Castiel (",(0,i.jsx)(s.a,{href:"https://github.com/scastiel",children:"@scastiel"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},80980:function(e,s,n){n.d(s,{Z:()=>o,a:()=>r});var t=n(67294);let i={},l=t.createContext(i);function r(e){let s=t.useContext(l);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(l.Provider,{value:s},e.children)}},71403:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.3.1","source":"@site/changelog/source/2.3.1.md","title":"2.3.1","description":"Bug Fix","date":"2023-02-03T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"S\xe9bastien Castiel","alias":"scastiel","url":"https://github.com/scastiel","imageURL":"https://github.com/scastiel.png","key":"scastiel","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-02-03T20:00","authors":["Josh-Cena","scastiel","slorber"]},"unlisted":false,"prevItem":{"title":"2.4.0","permalink":"/changelog/2.4.0"},"nextItem":{"title":"2.3.0","permalink":"/changelog/2.3.0"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/604f9362.17a61732.js b/assets/js/604f9362.17a61732.js new file mode 100644 index 0000000000..01cf58bf67 --- /dev/null +++ b/assets/js/604f9362.17a61732.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["58422"],{98856:function(t){t.exports=JSON.parse('{"tags":[{"label":"A","permalink":"/tests/docs/tags/a","description":"Description for tag a","count":1},{"label":"Label for tag b","permalink":"/tests/docs/tags/b","count":1},{"label":"Label for tag e","permalink":"/tests/docs/tags/permalink-for-tag-e","description":"Description for tag e","count":1},{"label":"Some-tag","permalink":"/tests/docs/tags/some-tag","count":1},{"label":"D","permalink":"/tests/docs/tags/d","count":1},{"label":"Visibility","permalink":"/tests/docs/tags/visibility","count":4},{"label":"Unlisted","permalink":"/tests/docs/tags/unlisted","count":1},{"label":"Listed","permalink":"/tests/docs/tags/listed","count":2}]}')}}]); \ No newline at end of file diff --git a/assets/js/61266023.f84e0e30.js b/assets/js/61266023.f84e0e30.js new file mode 100644 index 0000000000..a24e87b20f --- /dev/null +++ b/assets/js/61266023.f84e0e30.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["11280"],{23832:function(e,t,n){n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var a=n(15803),o=n(85893),r=n(80980);let s={mdx:{format:"md"},date:"2019-10-26T20:00"},l="2.0.0-alpha.31",i={authorsImageUrls:[]},c=[];function p(e){return(0,o.jsx)(o.Fragment,{})}function u(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>s});var a=n(67294);let o={},r=a.createContext(o);function s(e){let t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:t},e.children)}},15803:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.31","source":"@site/changelog/source/2.0.0-alpha.31.md","title":"2.0.0-alpha.31","description":"- Footer is now sticky/ pinned to the bottom of the viewport in desktop browsers.","date":"2019-10-26T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-26T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.32","permalink":"/changelog/2.0.0-alpha.32"},"nextItem":{"title":"2.0.0-alpha.30","permalink":"/changelog/2.0.0-alpha.30"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/6199064d.76bed2d0.js b/assets/js/6199064d.76bed2d0.js new file mode 100644 index 0000000000..0cf74f6d14 --- /dev/null +++ b/assets/js/6199064d.76bed2d0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["81183"],{23102:function(e,s,t){t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var a=t(61068),n=t(85893),r=t(80980);let i={title:"Releasing Docusaurus i18n",authors:["slorber"],tags:["release","i18n"],image:"/img/blog/2021-03-09-releasing-docusaurus-i18n/social-card.png"},o=void 0,l={authorsImageUrls:[void 0]},u=[];function c(e){let s={a:"a",p:"p",strong:"strong",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:["Today, we officially release ",(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"https://docusaurus.io/docs/i18n/introduction",children:"Docusaurus 2 i18n"})})," (",(0,n.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/Internationalization_and_localization",children:"internationalization"}),"), as part of ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/releases/tag/v2.0.0-alpha.71",children:"2.0.0-alpha.71"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["Docusaurus 2 has now reached ",(0,n.jsx)(s.strong,{children:"full feature parity with Docusaurus 1"}),". \uD83C\uDF89 And soon, after a few additional infrastructure updates and a bit more testing, the ",(0,n.jsx)(s.strong,{children:"first Docusaurus 2 beta"})," will be released."]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"We went the extra mile"}),", and the new i18n support is ",(0,n.jsx)(s.strong,{children:"even better than in Docusaurus 1"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["In this post, we will present you the ",(0,n.jsx)(s.strong,{children:"translation workflow"}),", explain some ",(0,n.jsx)(s.strong,{children:"design decisions"})," and ",(0,n.jsx)(s.strong,{children:"showcase early adopter sites"})," that just went live: ",(0,n.jsx)(s.a,{href:"https://jestjs.io/",children:"Jest"}),", ",(0,n.jsx)(s.a,{href:"https://learn.redwoodjs.com/",children:"Redwood"}),", and ",(0,n.jsx)(s.a,{href:"https://datagit.ir/",children:"Datagit"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["We also ",(0,n.jsx)(s.strong,{children:"dogfood"})," the i18n support on the ",(0,n.jsx)(s.strong,{children:"Docusaurus 2 site itself"}),", and this post is already available in ",(0,n.jsx)(s.a,{href:"https://docusaurus.io/blog/2021/03/09/releasing-docusaurus-i18n",children:"English"})," and ",(0,n.jsx)(s.a,{href:"https://docusaurus.io/fr/blog/2021/03/09/releasing-docusaurus-i18n",children:"French"}),"!"]})]})}function d(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},80980:function(e,s,t){t.d(s,{Z:()=>o,a:()=>i});var a=t(67294);let n={},r=a.createContext(n);function i(e){let s=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(r.Provider,{value:s},e.children)}},61068:function(e){e.exports=JSON.parse('{"permalink":"/blog/2021/03/09/releasing-docusaurus-i18n","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2021/03-09-releasing-docusaurus-i18n.mdx","source":"@site/blog/2021/03-09-releasing-docusaurus-i18n.mdx","title":"Releasing Docusaurus i18n","description":"Today, we officially release Docusaurus 2 i18n (internationalization), as part of 2.0.0-alpha.71.","date":"2021-03-09T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"},{"inline":false,"label":"I18n","permalink":"/blog/tags/i-18-n"}],"readingTime":3.445,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Releasing Docusaurus i18n","authors":["slorber"],"tags":["release","i18n"],"image":"/img/blog/2021-03-09-releasing-docusaurus-i18n/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Announcing Docusaurus 2 Beta","permalink":"/blog/2021/05/12/announcing-docusaurus-two-beta"},"nextItem":{"title":"Docusaurus 2020 Recap","permalink":"/blog/2021/01/19/docusaurus-2020-recap"}}')}}]); \ No newline at end of file diff --git a/assets/js/621db11d.193a8164.js b/assets/js/621db11d.193a8164.js new file mode 100644 index 0000000000..7ca50804e0 --- /dev/null +++ b/assets/js/621db11d.193a8164.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["39854"],{5666:function(e,t,s){s.d(t,{CS:()=>p,iZ:()=>x,ci:()=>M,Ne:()=>C,cH:()=>N,nO:()=>h,wj:()=>i,n4:()=>c});var a=s(85893),l=s(67294),r=s(50923),n=s(3564);function i(){let e=(0,n.Z)(),t=e?.data?.blogMetadata;if(!t)throw Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}let o=l.createContext(null);function c(e){let{children:t,content:s,isBlogPostPage:r=!1}=e,n=function(e){let{content:t,isBlogPostPage:s}=e;return(0,l.useMemo)(()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:s}),[t,s])}({content:s,isBlogPostPage:r});return(0,a.jsx)(o.Provider,{value:n,children:t})}function h(){let e=(0,l.useContext)(o);if(null===e)throw new r.i6("BlogPostProvider");return e}var u=s(83631),m=s(8156);let d=e=>new Date(e).toISOString();function g(e){let t=e.map(v);return{author:1===t.length?t[0]:t}}function f(e,t,s){return e?{image:function(e){let{imageUrl:t,caption:s}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:s}}({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${s}`})}:{}}function p(e){let{siteConfig:t}=(0,m.Z)(),{withBaseUrl:s}=(0,u.Cg)(),{metadata:{blogDescription:a,blogTitle:l,permalink:r}}=e,n=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":n,mainEntityOfPage:n,headline:l,description:a,blogPost:e.items.map(e=>(function(e,t,s){let{assets:a,frontMatter:l,metadata:r}=e,{date:n,title:i,description:o,lastUpdatedAt:c}=r,h=a.image??l.image,u=l.keywords??[],m=`${t.url}${r.permalink}`,p=c?d(c):void 0;return{"@type":"BlogPosting","@id":m,mainEntityOfPage:m,url:m,headline:i,name:i,description:o,datePublished:n,...p?{dateModified:p}:{},...g(r.authors),...f(h,s,i),...u?{keywords:u}:{}}})(e.content,t,s))}}function x(){let e=i(),{assets:t,metadata:s}=h(),{siteConfig:a}=(0,m.Z)(),{withBaseUrl:l}=(0,u.Cg)(),{date:r,title:n,description:o,frontMatter:c,lastUpdatedAt:p}=s,x=t.image??c.image,v=c.keywords??[],j=p?d(p):void 0,w=`${a.url}${s.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":w,mainEntityOfPage:w,url:w,headline:n,name:n,description:o,datePublished:r,...j?{dateModified:j}:{},...g(s.authors),...f(x,l,n),...v?{keywords:v}:{},isPartOf:{"@type":"Blog","@id":`${a.url}${e.blogBasePath}`,name:e.blogTitle}}}function v(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}var j=s(3620),w=s(35363),b=s(32263),Z=s(71208);function N(e){let{pathname:t}=(0,j.TH)();return(0,l.useMemo)(()=>e.filter(e=>!e.unlisted||!!(0,Z.Mg)(e.permalink,t)),[e,t])}function M(e){let t=Object.entries((0,b.vM)(e,e=>`${new Date(e.date).getFullYear()}`));return t.reverse(),t}function C(e){let{items:t,ulClassName:s,liClassName:l,linkClassName:r,linkActiveClassName:n}=e;return(0,a.jsx)("ul",{className:s,children:t.map(e=>(0,a.jsx)("li",{className:l,children:(0,a.jsx)(w.Z,{isNavLink:!0,to:e.permalink,className:r,activeClassName:n,children:e.title})},e.permalink))})}},68930:function(e,t,s){s.d(t,{Z:()=>v});var a=s(85893),l=s(67294),r=s(90496),n=s(35363);let i=function(e){return(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,a.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,a.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,a.jsx)("path",{d:"M3.6 9h16.8"}),(0,a.jsx)("path",{d:"M3.6 15h16.8"}),(0,a.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,a.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})},o="authorSocialLink_hEWM",c={twitter:{Icon:function(e){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 209",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",...e,children:(0,a.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 250",preserveAspectRatio:"xMidYMid",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.Z)(e.className,"githubSvg_jqE4"),children:(0,a.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,a.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,a.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,a.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.Z)(e.className,"xSvg_Q0g7"),children:(0,a.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"},bluesky:{Icon:function(e){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 226",...e,children:(0,a.jsx)("path",{fill:"#1185FE",d:"M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"})})},label:"Bluesky"},instagram:{Icon:function(e){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.Z)(e.className,"instagramSvg_Svcp"),children:(0,a.jsx)("path",{d:"M128 23.064c34.177 0 38.225.13 51.722.745 12.48.57 19.258 2.655 23.769 4.408 5.974 2.322 10.238 5.096 14.717 9.575 4.48 4.479 7.253 8.743 9.575 14.717 1.753 4.511 3.838 11.289 4.408 23.768.615 13.498.745 17.546.745 51.723 0 34.178-.13 38.226-.745 51.723-.57 12.48-2.655 19.257-4.408 23.768-2.322 5.974-5.096 10.239-9.575 14.718-4.479 4.479-8.743 7.253-14.717 9.574-4.511 1.753-11.289 3.839-23.769 4.408-13.495.616-17.543.746-51.722.746-34.18 0-38.228-.13-51.723-.746-12.48-.57-19.257-2.655-23.768-4.408-5.974-2.321-10.239-5.095-14.718-9.574-4.479-4.48-7.253-8.744-9.574-14.718-1.753-4.51-3.839-11.288-4.408-23.768-.616-13.497-.746-17.545-.746-51.723 0-34.177.13-38.225.746-51.722.57-12.48 2.655-19.258 4.408-23.769 2.321-5.974 5.095-10.238 9.574-14.717 4.48-4.48 8.744-7.253 14.718-9.575 4.51-1.753 11.288-3.838 23.768-4.408 13.497-.615 17.545-.745 51.723-.745M128 0C93.237 0 88.878.147 75.226.77c-13.625.622-22.93 2.786-31.071 5.95-8.418 3.271-15.556 7.648-22.672 14.764C14.367 28.6 9.991 35.738 6.72 44.155 3.555 52.297 1.392 61.602.77 75.226.147 88.878 0 93.237 0 128c0 34.763.147 39.122.77 52.774.622 13.625 2.785 22.93 5.95 31.071 3.27 8.417 7.647 15.556 14.763 22.672 7.116 7.116 14.254 11.492 22.672 14.763 8.142 3.165 17.446 5.328 31.07 5.95 13.653.623 18.012.77 52.775.77s39.122-.147 52.774-.77c13.624-.622 22.929-2.785 31.07-5.95 8.418-3.27 15.556-7.647 22.672-14.763 7.116-7.116 11.493-14.254 14.764-22.672 3.164-8.142 5.328-17.446 5.95-31.07.623-13.653.77-18.012.77-52.775s-.147-39.122-.77-52.774c-.622-13.624-2.786-22.929-5.95-31.07-3.271-8.418-7.648-15.556-14.764-22.672C227.4 14.368 220.262 9.99 211.845 6.72c-8.142-3.164-17.447-5.328-31.071-5.95C167.122.147 162.763 0 128 0Zm0 62.27C91.698 62.27 62.27 91.7 62.27 128c0 36.302 29.428 65.73 65.73 65.73 36.301 0 65.73-29.428 65.73-65.73 0-36.301-29.429-65.73-65.73-65.73Zm0 108.397c-23.564 0-42.667-19.103-42.667-42.667S104.436 85.333 128 85.333s42.667 19.103 42.667 42.667-19.103 42.667-42.667 42.667Zm83.686-110.994c0 8.484-6.876 15.36-15.36 15.36-8.483 0-15.36-6.876-15.36-15.36 0-8.483 6.877-15.36 15.36-15.36 8.484 0 15.36 6.877 15.36 15.36Z"})})},label:"Instagram"},threads:{Icon:function(e){return(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-label":"Threads",viewBox:"0 0 192 192",width:"1em",fill:"none",height:"1em",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.Z)(e.className,"threadsSvg_kngY"),children:(0,a.jsx)("path",{d:"M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.229c8.249.053 14.474 2.452 18.503 7.129 2.932 3.405 4.893 8.111 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.194 47.292 9.642 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553ZM98.44 129.507c-10.44.588-21.286-4.098-21.82-14.135-.397-7.442 5.296-15.746 22.461-16.735 1.966-.114 3.895-.169 5.79-.169 6.235 0 12.068.606 17.371 1.765-1.978 24.702-13.58 28.713-23.802 29.274Z"})})},label:"Threads"},mastodon:{Icon:function(e){let t=(0,l.useId)();return(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 61 65",width:"1em",height:"1em",...e,children:[(0,a.jsx)("path",{fill:`url(#${t})`,d:"M60.754 14.39C59.814 7.406 53.727 1.903 46.512.836 45.294.656 40.682 0 29.997 0h-.08C19.23 0 16.938.656 15.72.836 8.705 1.873 2.299 6.82.745 13.886c-.748 3.48-.828 7.338-.689 10.877.198 5.075.237 10.142.697 15.197a71.482 71.482 0 0 0 1.664 9.968c1.477 6.056 7.458 11.096 13.317 13.152a35.718 35.718 0 0 0 19.484 1.028 28.365 28.365 0 0 0 2.107-.576c1.572-.5 3.413-1.057 4.766-2.038a.154.154 0 0 0 .062-.118v-4.899a.146.146 0 0 0-.055-.111.145.145 0 0 0-.122-.028 54 54 0 0 1-12.644 1.478c-7.328 0-9.298-3.478-9.863-4.925a15.258 15.258 0 0 1-.857-3.882.142.142 0 0 1 .178-.145 52.976 52.976 0 0 0 12.437 1.477c1.007 0 2.012 0 3.02-.026 4.213-.119 8.654-.334 12.8-1.144.103-.02.206-.038.295-.065 6.539-1.255 12.762-5.196 13.394-15.176.024-.393.083-4.115.083-4.523.003-1.386.446-9.829-.065-15.017Z"}),(0,a.jsx)("path",{fill:"#fff",d:"M50.394 22.237v17.35H43.52V22.749c0-3.545-1.478-5.353-4.483-5.353-3.303 0-4.958 2.139-4.958 6.364v9.217h-6.835V23.76c0-4.225-1.657-6.364-4.96-6.364-2.988 0-4.48 1.808-4.48 5.353v16.84H10.93V22.237c0-3.545.905-6.362 2.715-8.45 1.868-2.082 4.317-3.152 7.358-3.152 3.519 0 6.178 1.354 7.951 4.057l1.711 2.871 1.714-2.871c1.773-2.704 4.432-4.056 7.945-4.056 3.038 0 5.487 1.069 7.36 3.152 1.81 2.085 2.712 4.902 2.71 8.449Z"}),(0,a.jsx)("defs",{children:(0,a.jsxs)("linearGradient",{id:t,x1:30.5,x2:30.5,y1:0,y2:65,gradientUnits:"userSpaceOnUse",children:[(0,a.jsx)("stop",{stopColor:"#6364FF"}),(0,a.jsx)("stop",{offset:1,stopColor:"#563ACC"})]})})]})},label:"Mastodon"},youtube:{Icon:function(e){return(0,a.jsxs)("svg",{viewBox:"0 0 256 180",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:[(0,a.jsx)("path",{d:"M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134Z",fill:"red"}),(0,a.jsx)("path",{fill:"#FFF",d:"m102.421 128.06 66.328-38.418-66.328-38.418z"})]})},label:"YouTube"},twitch:{Icon:function(e){return(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 2400 2800",width:"1em",height:"1em",...e,children:[(0,a.jsx)("path",{d:"m2200 1300-400 400h-400l-350 350v-350H600V200h1600z",fill:"#fff"}),(0,a.jsxs)("g",{children:[(0,a.jsx)("path",{d:"M500 0 0 500v1800h600v500l500-500h400l900-900V0H500zm1700 1300-400 400h-400l-350 350v-350H600V200h1600v1100z",fill:"#9146ff"}),(0,a.jsx)("path",{d:"M1700 550h200v600h-200zM1150 550h200v600h-200z",fill:"#9146ff"})]})]})},label:"Twitch"}};function h(e){let{platform:t,link:s}=e,{Icon:l,label:h}=c[t]??{Icon:i,label:t};return(0,a.jsx)(n.Z,{className:o,href:s,title:h,children:(0,a.jsx)(l,{className:(0,r.Z)(o)})})}function u(e){let{author:t}=e,s=Object.entries(t.socials??{});return(0,a.jsx)("div",{className:"authorSocials_tPnL",children:s.map(e=>{let[t,s]=e;return(0,a.jsx)(h,{platform:t,link:s},t)})})}var m=s(57922);let d={authorImage:"authorImage_p8ow","author-as-h1":"author-as-h1_Pd3R","author-as-h2":"author-as-h2_UaZL",authorDetails:"authorDetails_dWdF",authorName:"authorName_Y8Hr",authorTitle:"authorTitle_Slpj",authorBlogPostCount:"authorBlogPostCount_FxU_"};function g(e){return e.href?(0,a.jsx)(n.Z,{...e}):(0,a.jsx)(a.Fragment,{children:e.children})}function f(e){let{title:t}=e;return(0,a.jsx)("small",{className:d.authorTitle,title:t,children:t})}function p(e){let{name:t,as:s}=e;return s?(0,a.jsx)(m.Z,{as:s,className:d.authorName,children:t}):(0,a.jsx)("span",{className:d.authorName,children:t})}function x(e){let{count:t}=e;return(0,a.jsx)("span",{className:(0,r.Z)(d.authorBlogPostCount),children:t})}function v(e){let{as:t,author:s,className:l,count:n}=e,{name:i,title:o,url:c,imageURL:h,email:m,page:v}=s,j=v?.permalink||c||m&&`mailto:${m}`||void 0;return(0,a.jsxs)("div",{className:(0,r.Z)("avatar margin-bottom--sm",l,d[`author-as-${t}`]),children:[h&&(0,a.jsx)(g,{href:j,className:"avatar__photo-link",children:(0,a.jsx)("img",{className:(0,r.Z)("avatar__photo",d.authorImage),src:h,alt:i})}),(i||o)&&(0,a.jsxs)("div",{className:(0,r.Z)("avatar__intro",d.authorDetails),children:[(0,a.jsxs)("div",{className:"avatar__name",children:[i&&(0,a.jsx)(g,{href:j,children:(0,a.jsx)(p,{name:i,as:t})}),void 0!==n&&(0,a.jsx)(x,{count:n})]}),!!o&&(0,a.jsx)(f,{title:o}),(0,a.jsx)(u,{author:s})]})]})}},2453:function(e,t,s){s.r(t),s.d(t,{default:()=>f});var a=s(85893);s(67294);var l=s(90496),r=s(57335),n=s(55951),i=s(43764),o=s(9942),c=s(69879),h=s(57922),u=s(68930);let m={authorListItem:"authorListItem_Y1Zl"};function d(e){let{author:t}=e;return(0,a.jsx)("li",{className:m.authorListItem,children:(0,a.jsx)(u.Z,{as:"h2",author:t,count:t.count})})}function g(e){let{authors:t}=e;return(0,a.jsx)("section",{className:(0,l.Z)("margin-vert--lg",m.authorsListSection),children:(0,a.jsx)("ul",{children:t.map(e=>(0,a.jsx)(d,{author:e},e.key))})})}function f(e){let{authors:t,sidebar:s}=e,u=(0,i.HV)();return(0,a.jsxs)(r.FG,{className:(0,l.Z)(n.k.wrapper.blogPages,n.k.page.blogAuthorsListPage),children:[(0,a.jsx)(r.d,{title:u}),(0,a.jsx)(c.Z,{tag:"blog_authors_list"}),(0,a.jsxs)(o.Z,{sidebar:s,children:[(0,a.jsx)(h.Z,{as:"h1",children:u}),(0,a.jsx)(g,{authors:t})]})]})}},9942:function(e,t,s){s.d(t,{Z:()=>b});var a=s(85893),l=s(67294),r=s(90496),n=s(88408),i=s(28115),o=s(77827),c=s(5666),h=s(26378),u=s(57922);function m(e){let{year:t,yearGroupHeadingClassName:s,children:l}=e;return(0,a.jsxs)("div",{role:"group",children:[(0,a.jsx)(u.Z,{as:"h3",className:s,children:t}),l]})}let d=(0,l.memo)(function(e){let{items:t,yearGroupHeadingClassName:s,ListComponent:l}=e;if(!(0,h.L)().blog.sidebar.groupByYear)return(0,a.jsx)(l,{items:t});{let e=(0,c.ci)(t);return(0,a.jsx)(a.Fragment,{children:e.map(e=>{let[t,r]=e;return(0,a.jsx)(m,{year:t,yearGroupHeadingClassName:s,children:(0,a.jsx)(l,{items:r})},t)})})}}),g=e=>{let{items:t}=e;return(0,a.jsx)(c.Ne,{items:t,ulClassName:(0,r.Z)("sidebarItemList_OSkG","clean-list"),liClassName:"sidebarItem_WJ0y",linkClassName:"sidebarItemLink_Qrfg",linkActiveClassName:"sidebarItemLinkActive_nUeK"})},f=(0,l.memo)(function(e){let{sidebar:t}=e,s=(0,c.cH)(t.items);return(0,a.jsx)("aside",{className:"col col--3",children:(0,a.jsxs)("nav",{className:(0,r.Z)("sidebar_P3nc","thin-scrollbar"),"aria-label":(0,o.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,a.jsx)("div",{className:(0,r.Z)("sidebarItemTitle_VrjY","margin-bottom--md"),children:t.title}),(0,a.jsx)(d,{items:s,ListComponent:g,yearGroupHeadingClassName:"yearGroupHeading_lECJ"})]})})});var p=s(44160);let x=e=>{let{items:t}=e;return(0,a.jsx)(c.Ne,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function v(e){let{sidebar:t}=e,s=(0,c.cH)(t.items);return(0,a.jsx)(d,{items:s,ListComponent:x,yearGroupHeadingClassName:"yearGroupHeading_Ruz9"})}let j=(0,l.memo)(function(e){return(0,a.jsx)(p.Zo,{component:v,props:e})});function w(e){let{sidebar:t}=e,s=(0,i.i)();return t?.items.length?"mobile"===s?(0,a.jsx)(j,{sidebar:t}):(0,a.jsx)(f,{sidebar:t}):null}function b(e){let{sidebar:t,toc:s,children:l,...i}=e,o=t&&t.items.length>0;return(0,a.jsx)(n.Z,{...i,children:(0,a.jsx)("div",{className:"container margin-vert--lg",children:(0,a.jsxs)("div",{className:"row",children:[(0,a.jsx)(w,{sidebar:t}),(0,a.jsx)("main",{className:(0,r.Z)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:l}),s&&(0,a.jsx)("div",{className:"col col--2",children:s})]})})})}},43764:function(e,t,s){s.d(t,{HV:()=>c,J$:()=>u,Wi:()=>i,ds:()=>o,fw:()=>h});var a=s(85893);s(67294);var l=s(77827),r=s(11660);function n(){let{selectMessage:e}=(0,r.c)();return t=>e(t,(0,l.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function i(e){let t=n();return(0,l.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function o(e){let t=n();return(0,l.I)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}let c=()=>(0,l.I)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function h(){return(0,a.jsx)(l.Z,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function u(){return(0,a.jsx)(l.Z,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}},11660:function(e,t,s){s.d(t,{c:()=>o});var a=s(67294),l=s(8156);let r=["zero","one","two","few","many","other"];function n(e){return r.filter(t=>e.includes(t))}let i={locale:"en",pluralForms:n(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,l.Z)();return(0,a.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:n(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),i}},[e])}();return{selectMessage:(t,s)=>(function(e,t,s){let a=e.split("|");if(1===a.length)return a[0];a.length>s.pluralForms.length&&console.error(`For locale=${s.locale}, a maximum of ${s.pluralForms.length} plural forms are expected (${s.pluralForms.join(",")}), but the message contains ${a.length}: ${e}`);let l=s.select(t);return a[Math.min(s.pluralForms.indexOf(l),a.length-1)]})(s,t,e)}}}}]); \ No newline at end of file diff --git a/assets/js/621db11d.2512ddf2.js b/assets/js/621db11d.2512ddf2.js deleted file mode 100644 index e8fb8a3468..0000000000 --- a/assets/js/621db11d.2512ddf2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[4212],{1831:(e,t,s)=>{s.d(t,{in:()=>c,OU:()=>M,Ki:()=>C,kJ:()=>f,x:()=>i,e7:()=>h,J_:()=>x,Gx:()=>A});var a=s(6540),n=s(9129),r=s(9060),l=s(4848);function i(){const e=(0,r.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=a.createContext(null);function c(e){let{children:t,content:s,isBlogPostPage:n=!1}=e;const r=function(e){let{content:t,isBlogPostPage:s}=e;return(0,a.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:s})),[t,s])}({content:s,isBlogPostPage:n});return(0,l.jsx)(o.Provider,{value:r,children:t})}function h(){const e=(0,a.useContext)(o);if(null===e)throw new n.dV("BlogPostProvider");return e}var u=s(5e3),m=s(1571);const d=e=>new Date(e).toISOString();function g(e){const t=e.map(v);return{author:1===t.length?t[0]:t}}function p(e,t,s){return e?{image:w({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${s}`})}:{}}function f(e){const{siteConfig:t}=(0,m.A)(),{withBaseUrl:s}=(0,u.hH)(),{metadata:{blogDescription:a,blogTitle:n,permalink:r}}=e,l=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":l,mainEntityOfPage:l,headline:n,description:a,blogPost:e.items.map((e=>function(e,t,s){const{assets:a,frontMatter:n,metadata:r}=e,{date:l,title:i,description:o,lastUpdatedAt:c}=r,h=a.image??n.image,u=n.keywords??[],m=`${t.url}${r.permalink}`,f=c?d(c):void 0;return{"@type":"BlogPosting","@id":m,mainEntityOfPage:m,url:m,headline:i,name:i,description:o,datePublished:l,...f?{dateModified:f}:{},...g(r.authors),...p(h,s,i),...u?{keywords:u}:{}}}(e.content,t,s)))}}function x(){const e=i(),{assets:t,metadata:s}=h(),{siteConfig:a}=(0,m.A)(),{withBaseUrl:n}=(0,u.hH)(),{date:r,title:l,description:o,frontMatter:c,lastUpdatedAt:f}=s,x=t.image??c.image,v=c.keywords??[],w=f?d(f):void 0,j=`${a.url}${s.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":j,mainEntityOfPage:j,url:j,headline:l,name:l,description:o,datePublished:r,...w?{dateModified:w}:{},...g(s.authors),...p(x,n,l),...v?{keywords:v}:{},isPartOf:{"@type":"Blog","@id":`${a.url}${e.blogBasePath}`,name:e.blogTitle}}}function v(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function w(e){let{imageUrl:t,caption:s}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:s}}var j=s(9519),b=s(5739),N=s(29),k=s(5438);function A(e){const{pathname:t}=(0,j.zy)();return(0,a.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.ys)(e.permalink,t))}(e,t)))),[e,t])}function C(e){const t=(0,N.$z)(e,(e=>`${new Date(e.date).getFullYear()}`)),s=Object.entries(t);return s.reverse(),s}function M(e){let{items:t,ulClassName:s,liClassName:a,linkClassName:n,linkActiveClassName:r}=e;return(0,l.jsx)("ul",{className:s,children:t.map((e=>(0,l.jsx)("li",{className:a,children:(0,l.jsx)(b.A,{isNavLink:!0,to:e.permalink,className:n,activeClassName:r,children:e.title})},e.permalink)))})}},2013:(e,t,s)=>{s.d(t,{A:()=>N});var a=s(6540),n=s(1750),r=s(5739),l=s(4848);const i="githubSvg_jqE4";const o="xSvg_Q0g7";const c=function(e){return(0,l.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,l.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,l.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,l.jsx)("path",{d:"M3.6 9h16.8"}),(0,l.jsx)("path",{d:"M3.6 15h16.8"}),(0,l.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,l.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})};const h="instagramSvg_Svcp";const u="threadsSvg_kngY";const m={authorSocials:"authorSocials_tPnL",authorSocialLink:"authorSocialLink_hEWM",authorSocialIcon:"authorSocialIcon_hTX6"},d={twitter:{Icon:function(e){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 209",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",...e,children:(0,l.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 250",preserveAspectRatio:"xMidYMid",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,n.A)(e.className,i),children:(0,l.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,l.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,l.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,l.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,l.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,n.A)(e.className,o),children:(0,l.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"},bluesky:{Icon:function(e){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 226",...e,children:(0,l.jsx)("path",{fill:"#1185FE",d:"M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"})})},label:"Bluesky"},instagram:{Icon:function(e){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,n.A)(e.className,h),children:(0,l.jsx)("path",{d:"M128 23.064c34.177 0 38.225.13 51.722.745 12.48.57 19.258 2.655 23.769 4.408 5.974 2.322 10.238 5.096 14.717 9.575 4.48 4.479 7.253 8.743 9.575 14.717 1.753 4.511 3.838 11.289 4.408 23.768.615 13.498.745 17.546.745 51.723 0 34.178-.13 38.226-.745 51.723-.57 12.48-2.655 19.257-4.408 23.768-2.322 5.974-5.096 10.239-9.575 14.718-4.479 4.479-8.743 7.253-14.717 9.574-4.511 1.753-11.289 3.839-23.769 4.408-13.495.616-17.543.746-51.722.746-34.18 0-38.228-.13-51.723-.746-12.48-.57-19.257-2.655-23.768-4.408-5.974-2.321-10.239-5.095-14.718-9.574-4.479-4.48-7.253-8.744-9.574-14.718-1.753-4.51-3.839-11.288-4.408-23.768-.616-13.497-.746-17.545-.746-51.723 0-34.177.13-38.225.746-51.722.57-12.48 2.655-19.258 4.408-23.769 2.321-5.974 5.095-10.238 9.574-14.717 4.48-4.48 8.744-7.253 14.718-9.575 4.51-1.753 11.288-3.838 23.768-4.408 13.497-.615 17.545-.745 51.723-.745M128 0C93.237 0 88.878.147 75.226.77c-13.625.622-22.93 2.786-31.071 5.95-8.418 3.271-15.556 7.648-22.672 14.764C14.367 28.6 9.991 35.738 6.72 44.155 3.555 52.297 1.392 61.602.77 75.226.147 88.878 0 93.237 0 128c0 34.763.147 39.122.77 52.774.622 13.625 2.785 22.93 5.95 31.071 3.27 8.417 7.647 15.556 14.763 22.672 7.116 7.116 14.254 11.492 22.672 14.763 8.142 3.165 17.446 5.328 31.07 5.95 13.653.623 18.012.77 52.775.77s39.122-.147 52.774-.77c13.624-.622 22.929-2.785 31.07-5.95 8.418-3.27 15.556-7.647 22.672-14.763 7.116-7.116 11.493-14.254 14.764-22.672 3.164-8.142 5.328-17.446 5.95-31.07.623-13.653.77-18.012.77-52.775s-.147-39.122-.77-52.774c-.622-13.624-2.786-22.929-5.95-31.07-3.271-8.418-7.648-15.556-14.764-22.672C227.4 14.368 220.262 9.99 211.845 6.72c-8.142-3.164-17.447-5.328-31.071-5.95C167.122.147 162.763 0 128 0Zm0 62.27C91.698 62.27 62.27 91.7 62.27 128c0 36.302 29.428 65.73 65.73 65.73 36.301 0 65.73-29.428 65.73-65.73 0-36.301-29.429-65.73-65.73-65.73Zm0 108.397c-23.564 0-42.667-19.103-42.667-42.667S104.436 85.333 128 85.333s42.667 19.103 42.667 42.667-19.103 42.667-42.667 42.667Zm83.686-110.994c0 8.484-6.876 15.36-15.36 15.36-8.483 0-15.36-6.876-15.36-15.36 0-8.483 6.877-15.36 15.36-15.36 8.484 0 15.36 6.877 15.36 15.36Z"})})},label:"Instagram"},threads:{Icon:function(e){return(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-label":"Threads",viewBox:"0 0 192 192",width:"1em",fill:"none",height:"1em",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,n.A)(e.className,u),children:(0,l.jsx)("path",{d:"M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.229c8.249.053 14.474 2.452 18.503 7.129 2.932 3.405 4.893 8.111 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.194 47.292 9.642 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553ZM98.44 129.507c-10.44.588-21.286-4.098-21.82-14.135-.397-7.442 5.296-15.746 22.461-16.735 1.966-.114 3.895-.169 5.79-.169 6.235 0 12.068.606 17.371 1.765-1.978 24.702-13.58 28.713-23.802 29.274Z"})})},label:"Threads"},mastodon:{Icon:function(e){const t=(0,a.useId)();return(0,l.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 61 65",width:"1em",height:"1em",...e,children:[(0,l.jsx)("path",{fill:`url(#${t})`,d:"M60.754 14.39C59.814 7.406 53.727 1.903 46.512.836 45.294.656 40.682 0 29.997 0h-.08C19.23 0 16.938.656 15.72.836 8.705 1.873 2.299 6.82.745 13.886c-.748 3.48-.828 7.338-.689 10.877.198 5.075.237 10.142.697 15.197a71.482 71.482 0 0 0 1.664 9.968c1.477 6.056 7.458 11.096 13.317 13.152a35.718 35.718 0 0 0 19.484 1.028 28.365 28.365 0 0 0 2.107-.576c1.572-.5 3.413-1.057 4.766-2.038a.154.154 0 0 0 .062-.118v-4.899a.146.146 0 0 0-.055-.111.145.145 0 0 0-.122-.028 54 54 0 0 1-12.644 1.478c-7.328 0-9.298-3.478-9.863-4.925a15.258 15.258 0 0 1-.857-3.882.142.142 0 0 1 .178-.145 52.976 52.976 0 0 0 12.437 1.477c1.007 0 2.012 0 3.02-.026 4.213-.119 8.654-.334 12.8-1.144.103-.02.206-.038.295-.065 6.539-1.255 12.762-5.196 13.394-15.176.024-.393.083-4.115.083-4.523.003-1.386.446-9.829-.065-15.017Z"}),(0,l.jsx)("path",{fill:"#fff",d:"M50.394 22.237v17.35H43.52V22.749c0-3.545-1.478-5.353-4.483-5.353-3.303 0-4.958 2.139-4.958 6.364v9.217h-6.835V23.76c0-4.225-1.657-6.364-4.96-6.364-2.988 0-4.48 1.808-4.48 5.353v16.84H10.93V22.237c0-3.545.905-6.362 2.715-8.45 1.868-2.082 4.317-3.152 7.358-3.152 3.519 0 6.178 1.354 7.951 4.057l1.711 2.871 1.714-2.871c1.773-2.704 4.432-4.056 7.945-4.056 3.038 0 5.487 1.069 7.36 3.152 1.81 2.085 2.712 4.902 2.71 8.449Z"}),(0,l.jsx)("defs",{children:(0,l.jsxs)("linearGradient",{id:t,x1:30.5,x2:30.5,y1:0,y2:65,gradientUnits:"userSpaceOnUse",children:[(0,l.jsx)("stop",{stopColor:"#6364FF"}),(0,l.jsx)("stop",{offset:1,stopColor:"#563ACC"})]})})]})},label:"Mastodon"},youtube:{Icon:function(e){return(0,l.jsxs)("svg",{viewBox:"0 0 256 180",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:[(0,l.jsx)("path",{d:"M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134Z",fill:"red"}),(0,l.jsx)("path",{fill:"#FFF",d:"m102.421 128.06 66.328-38.418-66.328-38.418z"})]})},label:"YouTube"},twitch:{Icon:function(e){return(0,l.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 2400 2800",width:"1em",height:"1em",...e,children:[(0,l.jsx)("path",{d:"m2200 1300-400 400h-400l-350 350v-350H600V200h1600z",fill:"#fff"}),(0,l.jsxs)("g",{children:[(0,l.jsx)("path",{d:"M500 0 0 500v1800h600v500l500-500h400l900-900V0H500zm1700 1300-400 400h-400l-350 350v-350H600V200h1600v1100z",fill:"#9146ff"}),(0,l.jsx)("path",{d:"M1700 550h200v600h-200zM1150 550h200v600h-200z",fill:"#9146ff"})]})]})},label:"Twitch"}};function g(e){let{platform:t,link:s}=e;const{Icon:a,label:i}=d[o=t]??{Icon:c,label:o};var o;return(0,l.jsx)(r.A,{className:m.authorSocialLink,href:s,title:i,children:(0,l.jsx)(a,{className:(0,n.A)(m.authorSocialLink)})})}function p(e){let{author:t}=e;const s=Object.entries(t.socials??{});return(0,l.jsx)("div",{className:m.authorSocials,children:s.map((e=>{let[t,s]=e;return(0,l.jsx)(g,{platform:t,link:s},t)}))})}var f=s(2409);const x={authorImage:"authorImage_p8ow","author-as-h1":"author-as-h1_Pd3R","author-as-h2":"author-as-h2_UaZL",authorDetails:"authorDetails_dWdF",authorName:"authorName_Y8Hr",authorTitle:"authorTitle_Slpj",authorBlogPostCount:"authorBlogPostCount_FxU_"};function v(e){return e.href?(0,l.jsx)(r.A,{...e}):(0,l.jsx)(l.Fragment,{children:e.children})}function w(e){let{title:t}=e;return(0,l.jsx)("small",{className:x.authorTitle,title:t,children:t})}function j(e){let{name:t,as:s}=e;return s?(0,l.jsx)(f.A,{as:s,className:x.authorName,children:t}):(0,l.jsx)("span",{className:x.authorName,children:t})}function b(e){let{count:t}=e;return(0,l.jsx)("span",{className:(0,n.A)(x.authorBlogPostCount),children:t})}function N(e){let{as:t,author:s,className:a,count:r}=e;const{name:i,title:o,url:c,imageURL:h,email:u,page:m}=s,d=m?.permalink||c||u&&`mailto:${u}`||void 0;return(0,l.jsxs)("div",{className:(0,n.A)("avatar margin-bottom--sm",a,x[`author-as-${t}`]),children:[h&&(0,l.jsx)(v,{href:d,className:"avatar__photo-link",children:(0,l.jsx)("img",{className:(0,n.A)("avatar__photo",x.authorImage),src:h,alt:i})}),(i||o)&&(0,l.jsxs)("div",{className:(0,n.A)("avatar__intro",x.authorDetails),children:[(0,l.jsxs)("div",{className:"avatar__name",children:[i&&(0,l.jsx)(v,{href:d,children:(0,l.jsx)(j,{name:i,as:t})}),void 0!==r&&(0,l.jsx)(b,{count:r})]}),!!o&&(0,l.jsx)(w,{title:o}),(0,l.jsx)(p,{author:s})]})]})}},2090:(e,t,s)=>{s.r(t),s.d(t,{default:()=>p});s(6540);var a=s(1750),n=s(5861),r=s(8532),l=s(4993),i=s(8079),o=s(3308),c=s(2409),h=s(2013);const u={authorListItem:"authorListItem_Y1Zl"};var m=s(4848);function d(e){let{author:t}=e;return(0,m.jsx)("li",{className:u.authorListItem,children:(0,m.jsx)(h.A,{as:"h2",author:t,count:t.count})})}function g(e){let{authors:t}=e;return(0,m.jsx)("section",{className:(0,a.A)("margin-vert--lg",u.authorsListSection),children:(0,m.jsx)("ul",{children:t.map((e=>(0,m.jsx)(d,{author:e},e.key)))})})}function p(e){let{authors:t,sidebar:s}=e;const h=(0,l.uz)();return(0,m.jsxs)(n.e3,{className:(0,a.A)(r.G.wrapper.blogPages,r.G.page.blogAuthorsListPage),children:[(0,m.jsx)(n.be,{title:h}),(0,m.jsx)(o.A,{tag:"blog_authors_list"}),(0,m.jsxs)(i.A,{sidebar:s,children:[(0,m.jsx)(c.A,{as:"h1",children:h}),(0,m.jsx)(g,{authors:t})]})]})}},8079:(e,t,s)=>{s.d(t,{A:()=>B});var a=s(6540),n=s(1750),r=s(7374),l=s(242),i=s(4709),o=s(1831),c=s(6963),h=s(2409),u=s(4848);function m(e){let{year:t,yearGroupHeadingClassName:s,children:a}=e;return(0,u.jsxs)("div",{role:"group",children:[(0,u.jsx)(h.A,{as:"h3",className:s,children:t}),a]})}function d(e){let{items:t,yearGroupHeadingClassName:s,ListComponent:a}=e;if((0,c.p)().blog.sidebar.groupByYear){const e=(0,o.Ki)(t);return(0,u.jsx)(u.Fragment,{children:e.map((e=>{let[t,n]=e;return(0,u.jsx)(m,{year:t,yearGroupHeadingClassName:s,children:(0,u.jsx)(a,{items:n})},t)}))})}return(0,u.jsx)(a,{items:t})}const g=(0,a.memo)(d),p="sidebar_P3nc",f="sidebarItemTitle_VrjY",x="sidebarItemList_OSkG",v="sidebarItem_WJ0y",w="sidebarItemLink_Qrfg",j="sidebarItemLinkActive_nUeK",b="yearGroupHeading_lECJ",N=e=>{let{items:t}=e;return(0,u.jsx)(o.OU,{items:t,ulClassName:(0,n.A)(x,"clean-list"),liClassName:v,linkClassName:w,linkActiveClassName:j})};function k(e){let{sidebar:t}=e;const s=(0,o.Gx)(t.items);return(0,u.jsx)("aside",{className:"col col--3",children:(0,u.jsxs)("nav",{className:(0,n.A)(p,"thin-scrollbar"),"aria-label":(0,i.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,u.jsx)("div",{className:(0,n.A)(f,"margin-bottom--md"),children:t.title}),(0,u.jsx)(g,{items:s,ListComponent:N,yearGroupHeadingClassName:b})]})})}const A=(0,a.memo)(k);var C=s(5105);const M="yearGroupHeading_Ruz9",_=e=>{let{items:t}=e;return(0,u.jsx)(o.OU,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function y(e){let{sidebar:t}=e;const s=(0,o.Gx)(t.items);return(0,u.jsx)(g,{items:s,ListComponent:_,yearGroupHeadingClassName:M})}function P(e){return(0,u.jsx)(C.GX,{component:y,props:e})}const I=(0,a.memo)(P);function L(e){let{sidebar:t}=e;const s=(0,l.l)();return t?.items.length?"mobile"===s?(0,u.jsx)(I,{sidebar:t}):(0,u.jsx)(A,{sidebar:t}):null}function B(e){const{sidebar:t,toc:s,children:a,...l}=e,i=t&&t.items.length>0;return(0,u.jsx)(r.A,{...l,children:(0,u.jsx)("div",{className:"container margin-vert--lg",children:(0,u.jsxs)("div",{className:"row",children:[(0,u.jsx)(L,{sidebar:t}),(0,u.jsx)("main",{className:(0,n.A)("col",{"col--7":i,"col--9 col--offset-1":!i}),children:a}),s&&(0,u.jsx)("div",{className:"col col--2",children:s})]})})})}},4993:(e,t,s)=>{s.d(t,{Y4:()=>u,ZD:()=>i,np:()=>h,uz:()=>c,wI:()=>o});s(6540);var a=s(4709),n=s(7054),r=s(4848);function l(){const{selectMessage:e}=(0,n.W)();return t=>e(t,(0,a.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function i(e){const t=l();return(0,a.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function o(e){const t=l();return(0,a.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}const c=()=>(0,a.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function h(){return(0,r.jsx)(a.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function u(){return(0,r.jsx)(a.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}},7054:(e,t,s)=>{s.d(t,{W:()=>c});var a=s(6540),n=s(1571);const r=["zero","one","two","few","many","other"];function l(e){return r.filter((t=>e.includes(t)))}const i={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,n.A)();return(0,a.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:l(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),i}}),[e])}function c(){const e=o();return{selectMessage:(t,s)=>function(e,t,s){const a=e.split("|");if(1===a.length)return a[0];a.length>s.pluralForms.length&&console.error(`For locale=${s.locale}, a maximum of ${s.pluralForms.length} plural forms are expected (${s.pluralForms.join(",")}), but the message contains ${a.length}: ${e}`);const n=s.select(t),r=s.pluralForms.indexOf(n);return a[Math.min(r,a.length-1)]}(s,t,e)}}}}]); \ No newline at end of file diff --git a/assets/js/62b37705.ea0acf6d.js b/assets/js/62b37705.ea0acf6d.js new file mode 100644 index 0000000000..c1b90e015e --- /dev/null +++ b/assets/js/62b37705.ea0acf6d.js @@ -0,0 +1,5 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["80220"],{77409:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>i,default:()=>m,contentTitle:()=>u,assets:()=>d,toc:()=>h,metadata:()=>r});var r=JSON.parse('{"id":"canary","title":"Canary releases","description":"Docusaurus has a canary releases system.","source":"@site/community/4-canary.mdx","sourceDirName":".","slug":"/canary","permalink":"/community/canary","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/community/4-canary.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":4,"frontMatter":{},"sidebar":"community","previous":{"title":"Contributing","permalink":"/community/contributing"},"next":{"title":"Release process","permalink":"/community/release-process"}}'),s=t(85893),a=t(80980),c=t(15398),l=t(58636),o=t(21143);let i={},u="Canary releases",d={},h=[{value:"Canary npm dist tag",id:"canary-npm-dist-tag",level:2},{value:"Using a canary release",id:"using-a-canary-release",level:2}];function p(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"canary-releases",children:"Canary releases"})}),"\n","\n",(0,s.jsxs)(o.mC,{children:[(0,s.jsx)(n.p,{children:"Docusaurus has a canary releases system."}),(0,s.jsxs)(n.p,{children:["It permits you to ",(0,s.jsx)(n.strong,{children:"test new unreleased features"})," as soon as the pull requests are merged on the ",(0,s.jsx)(n.a,{href:"/community/release-process#next-version",children:"next version"})," of Docusaurus."]}),(0,s.jsxs)(n.p,{children:["It is a good way to ",(0,s.jsx)(n.strong,{children:"give feedback to maintainers"}),", ensuring the newly implemented feature works as intended."]}),(0,s.jsxs)(n.admonition,{type:"note",children:[(0,s.jsx)(n.p,{children:"Using a canary release in production might seem risky, but in practice, it's not."}),(0,s.jsx)(n.p,{children:"A canary release passes all automated tests and is used in production by the Docusaurus site itself."})]}),(0,s.jsx)(o.UM,{children:(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsxs)(n.p,{children:["The canary version shown below ",(0,s.jsx)(n.strong,{children:"may not be up-to-date"}),". Please go to the ",(0,s.jsx)(n.a,{href:"https://www.npmjs.com/package/@docusaurus/core?activeTab=versions",children:"npm page"})," to find the actual version name."]})})}),(0,s.jsx)(o.FS,{children:(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["The canary version shown below is directly fetched from npm and ",(0,s.jsx)(n.strong,{children:"is up-to-date"}),". You can directly use these numbers in your package.json."]})})}),(0,s.jsx)(n.h2,{id:"canary-npm-dist-tag",children:"Canary npm dist tag"}),(0,s.jsxs)(n.p,{children:["For any code-related commit on ",(0,s.jsx)(n.code,{children:"main"}),", the continuous integration will publish a canary release under the ",(0,s.jsx)(n.code,{children:"@canary"})," npm dist tag. It generally takes up to 10 minutes."]}),(0,s.jsxs)(n.p,{children:["You can see on ",(0,s.jsx)(n.a,{href:"https://www.npmjs.com/package/@docusaurus/core?activeTab=versions",children:"npm"})," the current dist tags:"]}),(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"latest"}),": stable releases (Current: ",(0,s.jsx)(o.SR,{}),")"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"canary"}),": canary releases (",(0,s.jsx)(o.I1,{}),")"]}),"\n"]}),(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["Make sure to use the latest canary release and check the publication date (sometimes the publish process fails). ",(0,s.jsx)(o.rv,{})]})}),(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsxs)(n.p,{children:["Canary versions follow the naming convention ",(0,s.jsx)(n.code,{children:"0.0.0-commitNumber"}),"."]})}),(0,s.jsx)(n.h2,{id:"using-a-canary-release",children:"Using a canary release"}),(0,s.jsxs)(n.p,{children:["Take the latest version published under the ",(0,s.jsx)(n.a,{href:"https://www.npmjs.com/package/@docusaurus/core?activeTab=versions",children:"canary npm dist tag"})," (",(0,s.jsx)(o.I1,{}),")."]}),(0,s.jsxs)(n.p,{children:["Use it for all the ",(0,s.jsx)(n.code,{children:"@docusaurus/*"})," dependencies in your ",(0,s.jsx)(n.code,{children:"package.json"}),":"]}),(0,s.jsx)(o.Hc,{}),(0,s.jsx)(n.p,{children:"Then, install the dependencies again and start your site:"}),(0,s.jsxs)(c.Z,{children:[(0,s.jsx)(l.Z,{value:"npm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm install\nnpm start\n"})})}),(0,s.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yarn install\nyarn start\n"})})}),(0,s.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"pnpm install\npnpm start\n"})})})]}),(0,s.jsxs)(n.p,{children:["You can also upgrade the ",(0,s.jsx)(n.code,{children:"@docusaurus/*"})," packages with command line:"]}),(0,s.jsxs)(c.Z,{children:[(0,s.jsx)(l.Z,{value:"npm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm install --save-exact @docusaurus/core@canary @docusaurus/preset-classic@canary\n"})})}),(0,s.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"yarn add --exact @docusaurus/core@canary @docusaurus/preset-classic@canary\n"})})}),(0,s.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"pnpm add --save-exact @docusaurus/core@canary @docusaurus/preset-classic@canary\n"})})})]}),(0,s.jsxs)(n.admonition,{type:"warning",children:[(0,s.jsxs)(n.p,{children:["Make sure to include all the ",(0,s.jsx)(n.code,{children:"@docusaurus/*"})," packages."]}),(0,s.jsxs)(n.p,{children:["For canary releases, prefer using an exact version instead of a semver range (avoid the ",(0,s.jsx)(n.code,{children:"^"})," prefix)."]})]})]})]})}function m(e={}){let{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},58636:function(e,n,t){t.d(n,{Z:()=>a});var r=t(85893);t(67294);var s=t(90496);function a(e){let{children:n,hidden:t,className:a}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,s.Z)("tabItem_pnkT",a),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>b});var r=t(85893),s=t(67294),a=t(90496),c=t(54947),l=t(3620),o=t(844),i=t(97486),u=t(32263),d=t(16971);function h(e){return s.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||s.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var m=t(71607);function f(e){let{className:n,block:t,selectedValue:s,selectValue:l,tabValues:o}=e,i=[],{blockElementScrollPositionUntilNextRender:u}=(0,c.o5)(),d=e=>{let n=e.currentTarget,t=o[i.indexOf(n)].value;t!==s&&(u(n),l(t))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let t=i.indexOf(e.currentTarget)+1;n=i[t]??i[0];break}case"ArrowLeft":{let t=i.indexOf(e.currentTarget)-1;n=i[t]??i[i.length-1]}}n?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":t},n),children:o.map(e=>{let{value:n,label:t,attributes:c}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>{i.push(e)},onKeyDown:h,onClick:d,...c,className:(0,a.Z)("tabs__item","tabItem_AQgk",c?.className,{"tabs__item--active":s===n}),children:t??n},n)})})}function x(e){let{lazy:n,children:t,selectedValue:c}=e,l=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=l.find(e=>e.props.value===c);return e?(0,s.cloneElement)(e,{className:(0,a.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:l.map((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==c}))})}function j(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:r}=e,a=function(e){let{values:n,children:t}=e;return(0,s.useMemo)(()=>{let e=n??h(t).map(e=>{let{props:{value:n,label:t,attributes:r,default:s}}=e;return{value:n,label:t,attributes:r,default:s}});return!function(e){let n=(0,u.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[c,m]=(0,s.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let r=t.find(e=>e.default)??t[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:n,tabValues:a})),[f,x]=function(e){let{queryString:n=!1,groupId:t}=e,r=(0,l.k6)(),a=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,i._X)(a),(0,s.useCallback)(e=>{if(!a)return;let n=new URLSearchParams(r.location.search);n.set(a,e),r.replace({...r.location,search:n.toString()})},[a,r])]}({queryString:t,groupId:r}),[j,b]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[r,a]=(0,d.Nk)(t);return[r,(0,s.useCallback)(e=>{t&&a.set(e)},[t,a])]}({groupId:r}),g=(()=>{let e=f??j;return p({value:e,tabValues:a})?e:null})();return(0,o.Z)(()=>{g&&m(g)},[g]),{selectedValue:c,selectValue:(0,s.useCallback)(e=>{if(!p({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);m(e),x(e),b(e)},[x,b,a]),tabValues:a}}(e);return(0,r.jsxs)("div",{className:(0,a.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(f,{...n,...e}),(0,r.jsx)(x,{...n,...e})]})}function b(e){let n=(0,m.Z)();return(0,r.jsx)(j,{...e,children:h(e.children)},String(n))}},56497:function(e,n,t){t.d(n,{Z:()=>a});var r=t(85893);t(67294);var s=t(71607);function a(e){let{children:n,fallback:t}=e;return(0,s.Z)()?(0,r.jsx)(r.Fragment,{children:n?.()}):t??null}},21143:function(e,n,t){t.d(n,{CW:()=>f,FS:()=>v,Fr:()=>x,Hc:()=>k,I1:()=>p,SR:()=>m,UM:()=>y,Zl:()=>b,mC:()=>d,mq:()=>g,rv:()=>w});var r=t(85893),s=t(67294),a=t(99887),c=t(90158),l=t(77827),o=t(35363),i=t(95998);let u=s.createContext(null);function d(e){let{children:n}=e,[t,a]=(0,s.useState)(null),c=(0,s.useRef)(!0);return(0,s.useEffect)(()=>(c.current=!0,()=>{c.current=!1}),[]),(0,s.useEffect)(()=>{fetch("https://registry.npmjs.org/@docusaurus/core").then(e=>e.json()).then(e=>{if(!c.current)return;let n=Object.keys(e.versions).at(-1),t=e.time[n];a({name:n,time:t})})},[]),(0,r.jsx)(u.Provider,{value:t,children:n})}function h(){let e=a.J("default").preferredVersion?.name,n=(0,c.gB)("default"),t=(n.find(e=>"current"!==e.name)??n[0]).name;return e&&"current"!==e?e:t}function p(){let e=(0,s.useContext)(u);return e?(0,r.jsx)("span",{children:(0,r.jsx)(l.Z,{description:"The hint text for the current canary version tag.",values:{canaryVersionName:(0,r.jsx)("b",{children:e.name})},children:"Current: {canaryVersionName}"})}):(0,r.jsx)("span",{children:(0,r.jsx)(l.Z,{description:"An example canary version tag when the actual version can't be fetched.",children:"Example: 0.0.0-4922"})})}function m(){let e=h();return(0,r.jsx)("span",{children:e})}function f(){return(0,r.jsx)("span",{children:3})}function x(){return(0,r.jsx)("span",{children:2})}function j(e){let{branch:n}=e;return(0,r.jsx)(o.Z,{to:`https://github.com/facebook/docusaurus/tree/${n}`,children:(0,r.jsx)("code",{children:n})})}function b(){return(0,r.jsx)(j,{branch:"docusaurus-v2"})}function g(){return(0,r.jsx)(j,{branch:"main"})}function y(e){let{children:n}=e;return(0,s.useContext)(u)?null:n}function v(e){let{children:n}=e;return(0,s.useContext)(u)?n:null}function k(){let e=s.useContext(u)?.name??"0.0.0-4922",n=h();return(0,r.jsx)(i.Z,{language:"diff",children:`- "@docusaurus/core": "^${n}", +- "@docusaurus/preset-classic": "^${n}", ++ "@docusaurus/core": "${e}", ++ "@docusaurus/preset-classic": "${e}", +`})}function w(){let e=s.useContext(u)?.time;return e?(0,r.jsx)(l.Z,{values:{time:(0,r.jsx)("b",{children:new Date(e).toLocaleString()})},children:"The latest canary version that's available on npm is published at {time}."}):null}},95998:function(e,n,t){t.d(n,{Z:()=>en});var r,s={};t.r(s),t.d(s,{ButtonExample:()=>C});var a=t(85893),c=t(67294),l=t(90496),o=t(71607),i=t(10075),u=t(77827),d=t(8156),h=t(56497),p=t(85108),m=t(45245),f=t(26378);function x(){let{prism:e}=(0,f.L)(),{colorMode:n}=(0,m.I)(),t=e.theme,r=e.darkTheme||t;return"dark"===n?r:t}var j=t(67490);function b(e){let{children:n}=e;return(0,a.jsx)("div",{className:(0,l.Z)("playgroundHeader_Tvsk"),children:n})}function g(){return(0,a.jsx)("div",{children:"Loading..."})}function y(){return(0,a.jsx)(h.Z,{fallback:(0,a.jsx)(g,{}),children:()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j.Z,{fallback:e=>(0,a.jsx)(p.Ac,{...e}),children:(0,a.jsx)(i.i5,{})}),(0,a.jsx)(i.IF,{})]})})}function v(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b,{children:(0,a.jsx)(u.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,a.jsx)("div",{className:"playgroundPreview_mApW",children:(0,a.jsx)(y,{})})]})}function k(){let e=(0,o.Z)();return(0,a.jsx)(i.uz,{className:"playgroundEditor_TySg"},String(e))}function w(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b,{children:(0,a.jsx)(u.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,a.jsx)(k,{})]})}let N=e=>`${e};`;function B(e){let{children:n,transformCode:t,...r}=e,{siteConfig:{themeConfig:s}}=(0,d.Z)(),{liveCodeBlock:{playgroundPosition:c}}=s,l=x(),o=r.metastring?.includes("noInline")??!1;return(0,a.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,a.jsx)(i.nu,{code:n?.replace(/\n$/,""),noInline:o,transformCode:t??N,theme:l,...r,children:"top"===c?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(v,{}),(0,a.jsx)(w,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(w,{}),(0,a.jsx)(v,{})]})})})}function C(e){return(0,a.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let Z={React:c,...c,...s};var E=t(55951),L=t(6324),T=t.n(L);let I=/title=(?<quote>["'])(?<title>.*?)\1/,S=/\{(?<range>[\d,-]+)\}/,_={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},$={..._,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},A=Object.keys(_);function O(e,n){let t=e.map(e=>{let{start:t,end:r}=$[e];return`(?:${t}\\s*(${n.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${t})\\s*$`)}function D(e){let{as:n,...t}=e,r=function(e){let n={color:"--prism-color",backgroundColor:"--prism-background-color"},t={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,a=n[r];a&&"string"==typeof s&&(t[a]=s)}),t}(x());return(0,a.jsx)(n,{...t,style:r,className:(0,l.Z)(t.className,"codeBlockContainer_jDV4",E.k.common.codeBlock)})}let F={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function M(e){let{children:n,className:t}=e;return(0,a.jsx)(D,{as:"pre",tabIndex:0,className:(0,l.Z)(F.codeBlockStandalone,"thin-scrollbar",t),children:(0,a.jsx)("code",{className:F.codeBlockLines,children:n})})}var R=t(50923);let V={attributes:!0,characterData:!0,childList:!0,subtree:!0};var W=t(7316);let H={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function q(e){let{line:n,classNames:t,showLineNumbers:r,getLineProps:s,getTokenProps:c}=e;1===n.length&&"\n"===n[0].content&&(n[0].content="");let o=s({line:n,className:(0,l.Z)(t,r&&H.codeLine)}),i=n.map((e,n)=>(0,a.jsx)("span",{...c({token:e})},n));return(0,a.jsxs)("span",{...o,children:[r?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:H.codeLineNumber}),(0,a.jsx)("span",{className:H.codeLineContent,children:i})]}):i,(0,a.jsx)("br",{})]})}var U=t(44771);function P(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function z(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let Y={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function G(e){let{code:n,className:t}=e,[r,s]=(0,c.useState)(!1),o=(0,c.useRef)(void 0),i=(0,c.useCallback)(()=>{(0,U.Z)(n),s(!0),o.current=window.setTimeout(()=>{s(!1)},1e3)},[n]);return(0,c.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,a.jsx)("button",{type:"button","aria-label":r?(0,u.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,u.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,u.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,l.Z)("clean-btn",t,Y.copyButton,r&&Y.copyButtonCopied),onClick:i,children:(0,a.jsxs)("span",{className:Y.copyButtonIcons,"aria-hidden":"true",children:[(0,a.jsx)(P,{className:Y.copyButtonIcon}),(0,a.jsx)(z,{className:Y.copyButtonSuccessIcon})]})})}function Q(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let J={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function X(e){let{className:n,onClick:t,isEnabled:r}=e,s=(0,u.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,a.jsx)("button",{type:"button",onClick:t,className:(0,l.Z)("clean-btn",n,r&&J.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,a.jsx)(Q,{className:J.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var n;let{children:t,className:r="",metastring:s,title:i,showLineNumbers:u,language:d}=e,{prism:{defaultLanguage:h,magicComments:p}}=(0,f.L)(),m=(n=d??function(e){let n=e.split(" ").find(e=>e.startsWith("language-"));return n?.replace(/language-/,"")}(r)??h,n?.toLowerCase()),j=x(),b=function(){let[e,n]=(0,c.useState)(!1),[t,r]=(0,c.useState)(!1),s=(0,c.useRef)(null),a=(0,c.useCallback)(()=>{let t=s.current.querySelector("code");e?t.removeAttribute("style"):(t.style.whiteSpace="pre-wrap",t.style.overflowWrap="anywhere"),n(e=>!e)},[s,e]),l=(0,c.useCallback)(()=>{let{scrollWidth:e,clientWidth:n}=s.current;r(e>n||s.current.querySelector("code").hasAttribute("style"))},[s]);return!function(e,n){let[t,r]=(0,c.useState)(),s=(0,c.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,c.useEffect)(()=>{s()},[s]),function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:V,r=(0,R.zX)(n),s=(0,R.Ql)(t);(0,c.useEffect)(()=>{let n=new MutationObserver(r);return e&&n.observe(e,s),()=>n.disconnect()},[e,r,s])}(t,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),s())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(s,l),(0,c.useEffect)(()=>{l()},[e,l]),(0,c.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:s,isEnabled:e,isCodeScrollable:t,toggle:a}}(),g=(0,o.Z)(),y=(s?.match(I)?.groups.title??"")||i,{lineClassNames:v,code:k}=function(e,n){let t=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:a}=n;if(a&&S.test(a)){let e=a.match(S).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let n=s[0].className;return{lineClassNames:Object.fromEntries(T()(e).filter(e=>e>0).map(e=>[e-1,[n]])),code:t}}if(void 0===r)return{lineClassNames:{},code:t};let c=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return O(["js","jsBlock"],n);case"jsx":case"tsx":return O(["js","jsBlock","jsx"],n);case"html":return O(["js","jsBlock","html"],n);case"python":case"py":case"bash":return O(["bash"],n);case"markdown":case"md":return O(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return O(["tex"],n);case"lua":case"haskell":return O(["lua"],n);case"sql":return O(["lua","jsBlock"],n);case"wasm":return O(["wasm"],n);case"vb":case"vba":case"visual-basic":return O(["vb","rem"],n);case"vbnet":return O(["vbnet","rem"],n);case"batch":return O(["rem"],n);case"basic":return O(["rem","f90"],n);case"fsharp":return O(["js","ml"],n);case"ocaml":case"sml":return O(["ml"],n);case"fortran":return O(["f90"],n);case"cobol":return O(["cobol"],n);default:return O(A,n)}}(r,s),l=t.split("\n"),o=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),i=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:n,line:t}=e;return[t,n]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.start,n]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.end,n]}));for(let e=0;e<l.length;){let n=l[e].match(c);if(!n){e+=1;continue}let t=n.slice(1).find(e=>void 0!==e);i[t]?o[i[t]].range+=`${e},`:u[t]?o[u[t]].start=e:d[t]&&(o[d[t]].range+=`${o[d[t]].start}-${e-1},`),l.splice(e,1)}t=l.join("\n");let h={};return Object.entries(o).forEach(e=>{let[n,{range:t}]=e;T()(t).forEach(e=>{h[e]??=[],h[e].push(n)})}),{lineClassNames:h,code:t}}(t,{metastring:s,language:m,magicComments:p}),w=function(e){let{showLineNumbers:n,metastring:t}=e;return"boolean"==typeof n?n?1:void 0:"number"==typeof n?n:function(e){let n=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}(t)}({showLineNumbers:u,metastring:s});return(0,a.jsxs)(D,{as:"div",className:(0,l.Z)(r,m&&!r.includes(`language-${m}`)&&`language-${m}`),children:[y&&(0,a.jsx)("div",{className:F.codeBlockTitle,children:y}),(0,a.jsxs)("div",{className:F.codeBlockContent,children:[(0,a.jsx)(W.y$,{theme:j,code:k,language:m??"text",children:e=>{let{className:n,style:t,tokens:r,getLineProps:s,getTokenProps:c}=e;return(0,a.jsx)("pre",{tabIndex:0,ref:b.codeBlockRef,className:(0,l.Z)(n,F.codeBlock,"thin-scrollbar"),style:t,children:(0,a.jsx)("code",{className:(0,l.Z)(F.codeBlockLines,void 0!==w&&F.codeBlockLinesWithNumbering),style:void 0===w?void 0:{counterReset:`line-count ${w-1}`},children:r.map((e,n)=>(0,a.jsx)(q,{line:e,getLineProps:s,getTokenProps:c,classNames:v[n],showLineNumbers:void 0!==w},n))})})}}),g?(0,a.jsxs)("div",{className:F.buttonGroup,children:[(b.isEnabled||b.isCodeScrollable)&&(0,a.jsx)(X,{className:F.codeButton,onClick:()=>b.toggle(),isEnabled:b.isEnabled}),(0,a.jsx)(G,{className:F.codeButton,code:k})]}):null]})]})}let ee=(r=function(e){let{children:n,...t}=e,r=(0,o.Z)(),s=c.Children.toArray(n).some(e=>(0,c.isValidElement)(e))?n:Array.isArray(n)?n.join(""):n;return(0,a.jsx)("string"==typeof s?K:M,{...t,children:s},String(r))},function(e){return e.live?(0,a.jsx)(B,{scope:Z,...e}):(0,a.jsx)(r,{...e})});function en(e){return(0,a.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/641734b9.b2232906.js b/assets/js/641734b9.b2232906.js new file mode 100644 index 0000000000..6405fed830 --- /dev/null +++ b/assets/js/641734b9.b2232906.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["18187"],{49332:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>u,default:()=>b,contentTitle:()=>h,assets:()=>m,toc:()=>p,metadata:()=>t});var t=JSON.parse('{"id":"styling-layout","title":"Styling and Layout","description":"A Docusaurus site is a pre-rendered single-page React application. You can style it the way you style React apps.","source":"@site/docs/styling-layout.mdx","sourceDirName":".","slug":"/styling-layout","permalink":"/docs/styling-layout","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/styling-layout.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"A Docusaurus site is a pre-rendered single-page React application. You can style it the way you style React apps."},"sidebar":"docs","previous":{"title":"Head metadata","permalink":"/docs/markdown-features/head-metadata"},"next":{"title":"Swizzling","permalink":"/docs/swizzling"}}'),a=s(85893),o=s(80980),r=s(15398),i=s(58636),l=s(24373),c=s(51118),d=s(95998);let u={description:"A Docusaurus site is a pre-rendered single-page React application. You can style it the way you style React apps."},h="Styling and Layout",m={},p=[{value:"Global styles",id:"global-styles",level:2},{value:"Theme Class Names",id:"theme-class-names",level:3},{value:"Styling your site with Infima",id:"styling-your-site-with-infima",level:3},{value:"Dark Mode",id:"dark-mode",level:3},{value:"Data Attributes",id:"data-attributes",level:3},{value:"Mobile View",id:"mobile-view",level:3},{value:"CSS modules",id:"css-modules",level:2},{value:"CSS-in-JS",id:"css-in-js",level:2},{value:"Sass/SCSS",id:"sassscss",level:2},{value:"Global styles using Sass/SCSS",id:"global-styles-using-sassscss",level:3},{value:"Modules using Sass/SCSS",id:"modules-using-sassscss",level:3},{value:"TypeScript support",id:"typescript-support",level:4}];function g(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components},{Details:s}=n;return s||function(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"styling-and-layout",children:"Styling and Layout"})}),"\n",(0,a.jsx)(n.admonition,{type:"tip",children:(0,a.jsxs)(n.p,{children:["This section is focused on styling through stylesheets. For more advanced customizations (DOM structure, React code...), refer to the ",(0,a.jsx)(n.a,{href:"/docs/swizzling",children:"swizzling guide"}),"."]})}),"\n",(0,a.jsx)(n.p,{children:"A Docusaurus site is a single-page React application. You can style it the way you style React apps."}),"\n",(0,a.jsx)(n.p,{children:"There are a few approaches/frameworks which will work, depending on your preferences and the type of website you are trying to build. Websites that are highly interactive and behave more like web apps will benefit from more modern styling approaches that co-locate styles with the components. Component styling can also be particularly useful when you wish to customize or swizzle a component."}),"\n",(0,a.jsx)(n.h2,{id:"global-styles",children:"Global styles"}),"\n",(0,a.jsx)(n.p,{children:"This is the most traditional way of styling that most developers (including non-front-end developers) would be familiar with. It works fine for small websites that do not have much customization."}),"\n",(0,a.jsxs)(n.p,{children:["If you're using ",(0,a.jsx)(n.code,{children:"@docusaurus/preset-classic"}),", you can create your own CSS files (e.g. ",(0,a.jsx)(n.code,{children:"/src/css/custom.css"}),") and import them globally by passing them as an option of the classic theme."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n // highlight-start\n theme: {\n customCss: ['./src/css/custom.css'],\n },\n // highlight-end\n },\n ],\n ],\n};\n"})}),"\n",(0,a.jsx)(n.p,{children:"Any CSS you write within that file will be available globally and can be referenced directly using string literals."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-css",metastring:'title="/src/css/custom.css"',children:".purple-text {\n color: rebeccapurple;\n}\n"})}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-jsx",children:'function MyComponent() {\n return (\n <main>\n <h1 className="purple-text">Purple Heading!</h1>\n </main>\n );\n}\n'})}),"\n",(0,a.jsx)(n.p,{children:"If you want to add CSS to any element, you can open the DevTools in your browser to inspect its class names. Class names come in several kinds:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:"Theme class names"}),". These class names are listed exhaustively in ",(0,a.jsx)(n.a,{href:"#theme-class-names",children:"the next subsection"}),". They don't have any default properties. You should always prioritize targeting those stable class names in your custom CSS."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:"Infima class names"}),". These class names are found in the classic theme and usually follow the ",(0,a.jsx)(n.a,{href:"http://getbem.com/naming/",children:"BEM convention"})," of ",(0,a.jsx)(n.code,{children:"block__element--modifier"}),". They are usually stable but are still considered implementation details, so you should generally avoid targeting them. However, you can ",(0,a.jsx)(n.a,{href:"#styling-your-site-with-infima",children:"modify Infima CSS variables"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:"CSS module class names"}),". These class names end with a hash which may change over time (",(0,a.jsx)(n.code,{children:"codeBlockContainer_RIuc"}),"). They are considered implementation details and you should almost always avoid targeting them in your custom CSS. If you must, you can use an ",(0,a.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors",children:"attribute selector"})," (",(0,a.jsx)(n.code,{children:"[class*='codeBlockContainer']"}),") that ignores the hash."]}),"\n"]}),"\n",(0,a.jsx)(n.h3,{id:"theme-class-names",children:"Theme Class Names"}),"\n",(0,a.jsx)(n.p,{children:"We provide some stable CSS class names for robust and maintainable global layout styling. These names are theme-agnostic and meant to be targeted by custom CSS."}),"\n",(0,a.jsx)(n.admonition,{type:"tip",children:(0,a.jsxs)(n.p,{children:["If you can't find a way to create a robust CSS selector, please ",(0,a.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/5468",children:"report your customization use-case"})," and we will consider adding new class names."]})}),"\n",(0,a.jsxs)(s,{children:[(0,a.jsx)("summary",{children:"Exhaustive list of stable class names"}),(0,a.jsx)(d.Z,{className:"language-ts",children:"/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// Please do not modify the classnames! This is a breaking change, and annoying\n// for users!\n\n/**\n * These class names are used to style page layouts in Docusaurus, meant to be\n * targeted by user-provided custom CSS selectors.\n */\nexport const ThemeClassNames = {\n page: {\n blogListPage: 'blog-list-page',\n blogPostPage: 'blog-post-page',\n blogTagsListPage: 'blog-tags-list-page',\n blogTagPostListPage: 'blog-tags-post-list-page',\n blogAuthorsListPage: 'blog-authors-list-page',\n blogAuthorsPostsPage: 'blog-authors-posts-page',\n\n docsDocPage: 'docs-doc-page',\n docsTagsListPage: 'docs-tags-list-page',\n docsTagDocListPage: 'docs-tags-doc-list-page',\n\n mdxPage: 'mdx-page',\n },\n\n // TODO Docusaurus v4: remove old classes?\n wrapper: {\n main: 'main-wrapper', // replaced by theme-layout-main\n // TODO these wrapper class names are now quite useless\n // TODO do breaking change later in 3.0\n // we already add plugin name/id class on <html>: that's enough\n blogPages: 'blog-wrapper',\n docsPages: 'docs-wrapper',\n mdxPages: 'mdx-wrapper',\n },\n\n common: {\n editThisPage: 'theme-edit-this-page',\n lastUpdated: 'theme-last-updated',\n backToTopButton: 'theme-back-to-top-button',\n codeBlock: 'theme-code-block',\n admonition: 'theme-admonition',\n unlistedBanner: 'theme-unlisted-banner',\n draftBanner: 'theme-draft-banner',\n\n admonitionType: (type: string) => `theme-admonition-${type}`,\n },\n\n announcementBar: {\n container: 'theme-announcement-bar',\n },\n\n layout: {\n navbar: {\n container: 'theme-layout-navbar',\n containerLeft: 'theme-layout-navbar-left',\n containerRight: 'theme-layout-navbar-right',\n mobileSidebar: {\n container: 'theme-layout-navbar-sidebar',\n panel: 'theme-layout-navbar-sidebar-panel',\n },\n },\n main: {\n container: 'theme-layout-main',\n },\n footer: {\n container: 'theme-layout-footer',\n column: 'theme-layout-footer-column',\n },\n },\n\n /**\n * Follows the naming convention \"theme-{blog,doc,version,page}?-<suffix>\"\n */\n docs: {\n docVersionBanner: 'theme-doc-version-banner',\n docVersionBadge: 'theme-doc-version-badge',\n docBreadcrumbs: 'theme-doc-breadcrumbs',\n docMarkdown: 'theme-doc-markdown',\n docTocMobile: 'theme-doc-toc-mobile',\n docTocDesktop: 'theme-doc-toc-desktop',\n docFooter: 'theme-doc-footer',\n docFooterTagsRow: 'theme-doc-footer-tags-row',\n docFooterEditMetaRow: 'theme-doc-footer-edit-meta-row',\n docSidebarContainer: 'theme-doc-sidebar-container',\n docSidebarMenu: 'theme-doc-sidebar-menu',\n docSidebarItemCategory: 'theme-doc-sidebar-item-category',\n docSidebarItemLink: 'theme-doc-sidebar-item-link',\n docSidebarItemCategoryLevel: (level: number) =>\n `theme-doc-sidebar-item-category-level-${level}` as const,\n docSidebarItemLinkLevel: (level: number) =>\n `theme-doc-sidebar-item-link-level-${level}` as const,\n // TODO add other stable classNames here\n },\n blog: {\n // TODO add other stable classNames here\n blogFooterTagsRow: 'theme-blog-footer-tags-row',\n blogFooterEditMetaRow: 'theme-blog-footer-edit-meta-row',\n },\n pages: {\n pageFooterEditMetaRow: 'theme-pages-footer-edit-meta-row',\n },\n} as const;\n".replace(/\/\*[\s\S]*?\*\/|\/\/.*/g,"").replace(/^ *\n/gm,"").trim()})]}),"\n",(0,a.jsx)(n.h3,{id:"styling-your-site-with-infima",children:"Styling your site with Infima"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"@docusaurus/preset-classic"})," uses ",(0,a.jsx)(n.a,{href:"https://infima.dev/",children:"Infima"})," as the underlying styling framework. Infima provides a flexible layout and common UI components styling suitable for content-centric websites (blogs, documentation, landing pages). For more details, check out the ",(0,a.jsx)(n.a,{href:"https://infima.dev/",children:"Infima website"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["When you scaffold your Docusaurus project with ",(0,a.jsx)(n.code,{children:"create-docusaurus"}),", the website will be generated with basic Infima stylesheets and default styling. You can override Infima CSS variables globally."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-css",metastring:'title="/src/css/custom.css"',children:":root {\n --ifm-color-primary: #25c2a0;\n --ifm-code-font-size: 95%;\n}\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Infima uses 7 shades of each color. We recommend using ",(0,a.jsx)(n.a,{href:"https://www.colorbox.io/",children:"ColorBox"})," to find the different shades of colors for your chosen primary color."]}),"\n",(0,a.jsxs)(n.p,{children:["Alternatively, use the following tool to generate the different shades for your website and copy the variables into ",(0,a.jsx)(n.code,{children:"/src/css/custom.css"}),"."]}),"\n",(0,a.jsx)(l.Z,{}),"\n",(0,a.jsx)(n.h3,{id:"dark-mode",children:"Dark Mode"}),"\n",(0,a.jsxs)(n.p,{children:["In light mode, the ",(0,a.jsx)(n.code,{children:"<html>"})," element has a ",(0,a.jsx)(n.code,{children:'data-theme="light"'})," attribute; in dark mode, it's ",(0,a.jsx)(n.code,{children:'data-theme="dark"'}),". Therefore, you can scope your CSS to dark-mode-only by targeting ",(0,a.jsx)(n.code,{children:"html"})," with a specific attribute."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-css",children:"/* Overriding root Infima variables */\n[data-theme='dark'] {\n --ifm-color-primary: #4e89e8;\n}\n/* Styling one class specially in dark mode */\n[data-theme='dark'] .purple-text {\n color: plum;\n}\n"})}),"\n",(0,a.jsxs)(n.admonition,{type:"tip",children:[(0,a.jsxs)(n.p,{children:["It is possible to initialize the Docusaurus theme directly from a ",(0,a.jsx)(n.code,{children:"docusaurus-theme"})," query string parameter."]}),(0,a.jsx)(n.p,{children:"Examples:"}),(0,a.jsx)(c.Z,{url:"/docs/?docusaurus-theme=dark"}),(0,a.jsx)(c.Z,{url:"/docs/configuration?docusaurus-theme=light"})]}),"\n",(0,a.jsx)(n.h3,{id:"data-attributes",children:"Data Attributes"}),"\n",(0,a.jsxs)(n.p,{children:["It is possible to inject ",(0,a.jsx)(n.code,{children:"<html>"})," data attributes with query string parameters following the ",(0,a.jsx)(n.code,{children:"docusaurus-data-<key>"})," pattern. This gives you the flexibility to style a page differently based on the query string."]}),"\n",(0,a.jsx)(n.p,{children:"For example, let's render one of our pages with a red border and no navbar:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-css",metastring:'title="/src/css/custom.css"',children:"html[data-navbar='false'] .navbar {\n display: none;\n}\n\nhtml[data-red-border] div#__docusaurus {\n border: red solid thick;\n}\n"})}),"\n",(0,a.jsx)(c.Z,{url:"/docs/?docusaurus-data-navbar=false&docusaurus-data-red-border"}),"\n",(0,a.jsx)(n.admonition,{title:"Iframe Mode",type:"tip",children:(0,a.jsxs)(n.p,{children:["If you plan to embed some Docusaurus pages on another site though an iframe, it can be useful to create an alternative display mode and use iframe urls such as ",(0,a.jsx)(n.code,{children:"https://mysite.com/docs/myDoc?docusaurus-data-mode=iframe"}),". It is your responsibility to provide the additional styles and decide which UI elements you want to keep or hide."]})}),"\n",(0,a.jsx)(n.h3,{id:"mobile-view",children:"Mobile View"}),"\n",(0,a.jsxs)(n.p,{children:["Docusaurus uses ",(0,a.jsx)(n.code,{children:"996px"})," as the cutoff between mobile screen width and desktop. If you want your layout to be different in the mobile view, you can use media queries."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-css",children:".banner {\n padding: 4rem;\n}\n/** In mobile view, reduce the padding */\n@media screen and (max-width: 996px) {\n .heroBanner {\n padding: 2rem;\n }\n}\n"})}),"\n",(0,a.jsx)(n.admonition,{title:"Customizing the breakpoint",type:"tip",children:(0,a.jsxs)(n.p,{children:["Some React components, such as the header and the sidebar, implement different JavaScript logic when in mobile view. If you change the breakpoint value in your custom CSS, you probably also want to update the invocations of the ",(0,a.jsx)(n.code,{children:"useWindowSize"})," hook by ",(0,a.jsx)(n.a,{href:"/docs/swizzling",children:"swizzling"})," the components it's used in and passing an explicit option argument."]})}),"\n",(0,a.jsx)(n.h2,{id:"css-modules",children:"CSS modules"}),"\n",(0,a.jsxs)(n.p,{children:["To style your components using ",(0,a.jsx)(n.a,{href:"https://github.com/css-modules/css-modules",children:"CSS Modules"}),", name your stylesheet files with the ",(0,a.jsx)(n.code,{children:".module.css"})," suffix (e.g. ",(0,a.jsx)(n.code,{children:"welcome.module.css"}),"). Webpack will load such CSS files as CSS modules and you have to reference the class names as properties of the imported CSS module (as opposed to using plain strings). This is similar to the convention used in ",(0,a.jsx)(n.a,{href:"https://facebook.github.io/create-react-app/docs/adding-a-css-modules-stylesheet",children:"Create React App"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-css",metastring:'title="styles.module.css"',children:".main {\n padding: 12px;\n}\n\n.heading {\n font-weight: bold;\n}\n\n.contents {\n color: #ccc;\n}\n"})}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-jsx",children:"import styles from './styles.module.css';\n\nfunction MyComponent() {\n return (\n <main className={styles.main}>\n <h1 className={styles.heading}>Hello!</h1>\n <article className={styles.contents}>Lorem Ipsum</article>\n </main>\n );\n}\n"})}),"\n",(0,a.jsx)(n.p,{children:"The class names will be processed by webpack into a globally unique class name during build."}),"\n",(0,a.jsx)(n.h2,{id:"css-in-js",children:"CSS-in-JS"}),"\n",(0,a.jsx)(n.admonition,{type:"warning",children:(0,a.jsxs)(n.p,{children:["CSS-in-JS support is a work in progress, so libs like MUI may have display quirks. ",(0,a.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/1640",children:"Welcoming PRs"}),"."]})}),"\n",(0,a.jsx)(n.h2,{id:"sassscss",children:"Sass/SCSS"}),"\n",(0,a.jsxs)(n.p,{children:["To use Sass/SCSS as your CSS preprocessor, install the unofficial Docusaurus plugin ",(0,a.jsx)(n.a,{href:"https://github.com/rlamana/docusaurus-plugin-sass",children:(0,a.jsx)(n.code,{children:"docusaurus-plugin-sass"})}),". This plugin works for both global styles and the CSS modules approach:"]}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsxs)(n.li,{children:["Install ",(0,a.jsx)(n.a,{href:"https://github.com/rlamana/docusaurus-plugin-sass",children:(0,a.jsx)(n.code,{children:"docusaurus-plugin-sass"})}),":"]}),"\n"]}),"\n",(0,a.jsxs)(r.Z,{groupId:"npm2yarn",children:[(0,a.jsx)(i.Z,{value:"npm",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"npm install --save docusaurus-plugin-sass sass\n"})})}),(0,a.jsx)(i.Z,{value:"yarn",label:"Yarn",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"yarn add docusaurus-plugin-sass sass\n"})})}),(0,a.jsx)(i.Z,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"pnpm add docusaurus-plugin-sass sass\n"})})})]}),"\n",(0,a.jsxs)(n.ol,{start:"2",children:["\n",(0,a.jsxs)(n.li,{children:["Include the plugin in your ",(0,a.jsx)(n.code,{children:"docusaurus.config.js"})," file:"]}),"\n"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n // highlight-next-line\n plugins: ['docusaurus-plugin-sass'],\n // ...\n};\n"})}),"\n",(0,a.jsxs)(n.ol,{start:"3",children:["\n",(0,a.jsx)(n.li,{children:"Write and import your stylesheets in Sass/SCSS as normal."}),"\n"]}),"\n",(0,a.jsx)(n.h3,{id:"global-styles-using-sassscss",children:"Global styles using Sass/SCSS"}),"\n",(0,a.jsxs)(n.p,{children:["You can now set the ",(0,a.jsx)(n.code,{children:"customCss"})," property of ",(0,a.jsx)(n.code,{children:"@docusaurus/preset-classic"})," to point to your Sass/SCSS file:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n // ...\n theme: {\n // highlight-next-line\n customCss: ['./src/css/custom.scss'],\n },\n // ...\n },\n ],\n ],\n};\n"})}),"\n",(0,a.jsx)(n.h3,{id:"modules-using-sassscss",children:"Modules using Sass/SCSS"}),"\n",(0,a.jsxs)(n.p,{children:["Name your stylesheet files with the ",(0,a.jsx)(n.code,{children:".module.scss"})," suffix (e.g. ",(0,a.jsx)(n.code,{children:"welcome.module.scss"}),") instead of ",(0,a.jsx)(n.code,{children:".css"}),". Webpack will use ",(0,a.jsx)(n.code,{children:"sass-loader"})," to preprocess your stylesheets and load them as CSS modules."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-scss",metastring:'title="styles.module.scss"',children:".main {\n padding: 12px;\n\n article {\n color: #ccc;\n }\n}\n"})}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-jsx",children:"import styles from './styles.module.scss';\n\nfunction MyComponent() {\n return (\n <main className={styles.main}>\n <article>Lorem Ipsum</article>\n </main>\n );\n}\n"})}),"\n",(0,a.jsx)(n.h4,{id:"typescript-support",children:"TypeScript support"}),"\n",(0,a.jsxs)(n.p,{children:["To enable TypeScript support for Sass/SCSS modules, the TypeScript configuration should be updated to add the ",(0,a.jsx)(n.code,{children:"docusaurus-plugin-sass"})," type definitions. This can be done in the ",(0,a.jsx)(n.code,{children:"tsconfig.json"})," file:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-diff",children:'{\n "extends": "@docusaurus/tsconfig",\n "compilerOptions": {\n ...\n+ "types": ["docusaurus-plugin-sass"]\n }\n}\n'})})]})}function b(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(g,{...e})}):g(e)}},37796:function(e,n,s){s.d(n,{Z:()=>a});var t=s(85893);function a(e){return(0,t.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}s(67294)},49356:function(e,n,s){s.d(n,{Z:()=>C});var t=s(85893),a=s(67294),o=s(90496),r=s(77827),i=s(55951);let l={admonition:"admonition_o5H7",admonitionHeading:"admonitionHeading_FzoX",admonitionIcon:"admonitionIcon_rXq6",admonitionContent:"admonitionContent_Knsx"};function c(e){let{type:n,className:s,children:a}=e;return(0,t.jsx)("div",{className:(0,o.Z)(i.k.common.admonition,i.k.common.admonitionType(n),l.admonition,s),children:a})}function d(e){let{icon:n,title:s}=e;return(0,t.jsxs)("div",{className:l.admonitionHeading,children:[(0,t.jsx)("span",{className:l.admonitionIcon,children:n}),s]})}function u(e){let{children:n}=e;return n?(0,t.jsx)("div",{className:l.admonitionContent,children:n}):null}function h(e){let{type:n,icon:s,title:a,children:o,className:r}=e;return(0,t.jsxs)(c,{type:n,className:r,children:[a||s?(0,t.jsx)(d,{title:a,icon:s}):null,(0,t.jsx)(u,{children:o})]})}let m={icon:(0,t.jsx)(function(e){return(0,t.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,t.jsx)(r.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function p(e){return(0,t.jsx)(h,{...m,...e,className:(0,o.Z)("alert alert--secondary",e.className),children:e.children})}let g={icon:(0,t.jsx)(function(e){return(0,t.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,t.jsx)(r.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function b(e){return(0,t.jsx)(h,{...g,...e,className:(0,o.Z)("alert alert--success",e.className),children:e.children})}var f=s(37796);let x={icon:(0,t.jsx)(f.Z,{}),title:(0,t.jsx)(r.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function j(e){return(0,t.jsx)(h,{...x,...e,className:(0,o.Z)("alert alert--info",e.className),children:e.children})}function y(e){return(0,t.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let v={icon:(0,t.jsx)(y,{}),title:(0,t.jsx)(r.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},w={icon:(0,t.jsx)(function(e){return(0,t.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,t.jsx)(r.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},k={icon:(0,t.jsx)(y,{}),title:(0,t.jsx)(r.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};var S=s(57922);let N={note:p,tip:b,info:j,warning:function(e){return(0,t.jsx)(h,{...v,...e,className:(0,o.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,t.jsx)(h,{...w,...e,className:(0,o.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,t.jsx)(p,{title:"secondary",...e}),important:e=>(0,t.jsx)(j,{title:"important",...e}),success:e=>(0,t.jsx)(b,{title:"success",...e}),caution:function(e){return(0,t.jsx)(h,{...k,...e,className:(0,o.Z)("alert alert--warning",e.className),children:e.children})},"my-custom-admonition":function(e){return(0,t.jsxs)("div",{style:{border:"solid red",padding:10},children:[(0,t.jsx)(S.Z,{as:"h5",style:{color:"blue",fontSize:30},children:e.title}),(0,t.jsx)("div",{children:e.children})]})}};function C(e){let n=function(e){let{mdxAdmonitionTitle:n,rest:s}=function(e){let n=a.Children.toArray(e),s=n.find(e=>a.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),o=n.filter(e=>e!==s);return{mdxAdmonitionTitle:s?.props.children,rest:o.length>0?(0,t.jsx)(t.Fragment,{children:o}):null}}(e.children),o=e.title??n;return{...e,...o&&{title:o},children:s}}(e),s=function(e){let n=N[e];return n||(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),N.info)}(n.type);return(0,t.jsx)(s,{...n})}},58636:function(e,n,s){s.d(n,{Z:()=>o});var t=s(85893);s(67294);var a=s(90496);function o(e){let{children:n,hidden:s,className:o}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,a.Z)("tabItem_pnkT",o),hidden:s,children:n})}},15398:function(e,n,s){s.d(n,{Z:()=>x});var t=s(85893),a=s(67294),o=s(90496),r=s(54947),i=s(3620),l=s(844),c=s(97486),d=s(32263),u=s(16971);function h(e){return a.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||a.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function m(e){let{value:n,tabValues:s}=e;return s.some(e=>e.value===n)}var p=s(71607);function g(e){let{className:n,block:s,selectedValue:a,selectValue:i,tabValues:l}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,r.o5)(),u=e=>{let n=e.currentTarget,s=l[c.indexOf(n)].value;s!==a&&(d(n),i(s))},h=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let s=c.indexOf(e.currentTarget)+1;n=c[s]??c[0];break}case"ArrowLeft":{let s=c.indexOf(e.currentTarget)-1;n=c[s]??c[c.length-1]}}n?.focus()};return(0,t.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":s},n),children:l.map(e=>{let{value:n,label:s,attributes:r}=e;return(0,t.jsx)("li",{role:"tab",tabIndex:a===n?0:-1,"aria-selected":a===n,ref:e=>{c.push(e)},onKeyDown:h,onClick:u,...r,className:(0,o.Z)("tabs__item","tabItem_AQgk",r?.className,{"tabs__item--active":a===n}),children:s??n},n)})})}function b(e){let{lazy:n,children:s,selectedValue:r}=e,i=(Array.isArray(s)?s:[s]).filter(Boolean);if(n){let e=i.find(e=>e.props.value===r);return e?(0,a.cloneElement)(e,{className:(0,o.Z)("margin-top--md",e.props.className)}):null}return(0,t.jsx)("div",{className:"margin-top--md",children:i.map((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==r}))})}function f(e){let n=function(e){let{defaultValue:n,queryString:s=!1,groupId:t}=e,o=function(e){let{values:n,children:s}=e;return(0,a.useMemo)(()=>{let e=n??h(s).map(e=>{let{props:{value:n,label:s,attributes:t,default:a}}=e;return{value:n,label:s,attributes:t,default:a}});return!function(e){let n=(0,d.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,s])}(e),[r,p]=(0,a.useState)(()=>(function(e){let{defaultValue:n,tabValues:s}=e;if(0===s.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:s}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${s.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let t=s.find(e=>e.default)??s[0];if(!t)throw Error("Unexpected error: 0 tabValues");return t.value})({defaultValue:n,tabValues:o})),[g,b]=function(e){let{queryString:n=!1,groupId:s}=e,t=(0,i.k6)(),o=function(e){let{queryString:n=!1,groupId:s}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!s)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:n,groupId:s});return[(0,c._X)(o),(0,a.useCallback)(e=>{if(!o)return;let n=new URLSearchParams(t.location.search);n.set(o,e),t.replace({...t.location,search:n.toString()})},[o,t])]}({queryString:s,groupId:t}),[f,x]=function(e){let{groupId:n}=e,s=n?`docusaurus.tab.${n}`:null,[t,o]=(0,u.Nk)(s);return[t,(0,a.useCallback)(e=>{s&&o.set(e)},[s,o])]}({groupId:t}),j=(()=>{let e=g??f;return m({value:e,tabValues:o})?e:null})();return(0,l.Z)(()=>{j&&p(j)},[j]),{selectedValue:r,selectValue:(0,a.useCallback)(e=>{if(!m({value:e,tabValues:o}))throw Error(`Can't select invalid tab value=${e}`);p(e),b(e),x(e)},[b,x,o]),tabValues:o}}(e);return(0,t.jsxs)("div",{className:(0,o.Z)("tabs-container","tabList_Qoir"),children:[(0,t.jsx)(g,{...n,...e}),(0,t.jsx)(b,{...n,...e})]})}function x(e){let n=(0,p.Z)();return(0,t.jsx)(f,{...e,children:h(e.children)},String(n))}},56497:function(e,n,s){s.d(n,{Z:()=>o});var t=s(85893);s(67294);var a=s(71607);function o(e){let{children:n,fallback:s}=e;return(0,a.Z)()?(0,t.jsx)(t.Fragment,{children:n?.()}):s??null}},51118:function(e,n,s){s.d(n,{Z:()=>o});var t=s(85893);s(67294);var a=s(14522);function o(e){let{url:n}=e;return(0,t.jsx)("div",{style:{padding:10},children:(0,t.jsx)(a.Z,{url:n,style:{minWidth:"min(100%,45vw)",width:800,maxWidth:"100%",overflow:"hidden"},bodyStyle:{padding:0},children:(0,t.jsx)("iframe",{src:n,title:n,style:{display:"block",width:"100%",height:300}})})})}},14522:function(e,n,s){s.d(n,{Z:()=>i});var t=s(85893);s(67294);var a=s(90496);let o="dot_giz1",r="bar_rrRL";function i(e){let{children:n,minHeight:s,url:i="http://localhost:3000",style:l,bodyStyle:c}=e;return(0,t.jsxs)("div",{className:"browserWindow_my1Q",style:{...l,minHeight:s},children:[(0,t.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,t.jsxs)("div",{className:"buttons_uHc7",children:[(0,t.jsx)("span",{className:o,style:{background:"#f25f58"}}),(0,t.jsx)("span",{className:o,style:{background:"#fbbe3c"}}),(0,t.jsx)("span",{className:o,style:{background:"#58cb42"}})]}),(0,t.jsx)("div",{className:(0,a.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:i}),(0,t.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:r}),(0,t.jsx)("span",{className:r}),(0,t.jsx)("span",{className:r})]})})]}),(0,t.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:n})]})}},24373:function(e,n,s){s.d(n,{Z:()=>g});var t=s(85893),a=s(67294),o=s(90496),r=s(27124),i=s.n(r),l=s(35363),c=s(77827),d=s(45245),u=s(95998),h=s(49356),m=s(45822);let p={color:"color_mVUL",input:"input_HUC3",colorInput:"colorInput_C1YB",colorTable:"colorTable_Js7s"};function g(){let{colorMode:e,setColorMode:n}=(0,d.I)(),s="dark"===e,r=s?m.r$:m.Yj,g=s?m.iR:m.Nu,[b,f]=(0,a.useState)(r),[x,j]=(0,a.useState)(r),[y,v]=(0,a.useState)(g),[w,k]=(0,a.useState)(m.NT),[S,N]=(0,a.useState)(s?m.Ax:m.lP);function C(e){let n=e.target.value.replace(/^(?=[^#])/,"#");f(n);try{j(i()(n).hex())}catch{}}return(0,a.useEffect)(()=>{N(s?m.Ax:m.lP)},[s]),(0,a.useEffect)(()=>{let e=JSON.parse(S.get()??"{}");f(e.baseColor??r),j(e.baseColor??r),v(e.background??g),k(e.shades??m.NT)},[S,g,r]),(0,a.useEffect)(()=>{(0,m.i3)({baseColor:x,background:y,shades:w},s),S.set(JSON.stringify({baseColor:x,background:y,shades:w}))},[x,y,w,S,s]),(0,t.jsxs)("div",{children:[(0,t.jsx)(h.Z,{type:"tip",children:(0,t.jsx)("p",{children:(0,t.jsx)(c.Z,{id:"colorGenerator.tip.body",values:{wcagLink:(0,t.jsx)(l.Z,{href:"https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast",children:(0,t.jsx)(c.Z,{id:"colorGenerator.tip.body.wcagLink.label",children:"WCAG-AA contrast ratio"})})},children:"Aim for at least {wcagLink} for the primary color to ensure readability. Use the Docusaurus website itself to preview how your color palette would look like. You can use alternative palettes in dark mode because one color doesn't usually work in both light and dark mode."})})}),(0,t.jsxs)("p",{children:[(0,t.jsx)("label",{htmlFor:"primary_color",children:(0,t.jsx)("strong",{className:"margin-right--sm",children:(0,t.jsx)(c.Z,{id:"colorGenerator.inputs.primary.label",children:"Primary Color:"})})})," ",(0,t.jsx)("input",{id:"primary_color",type:"text",className:(0,o.Z)(p.input,"margin-right--sm"),value:b,onChange:C}),(0,t.jsx)("input",{type:"color",className:p.colorInput,value:x,onChange:C}),(0,t.jsx)("button",{type:"button",className:"clean-btn button button--primary margin-left--md",onClick:()=>n(s?"light":"dark"),children:(0,t.jsx)(c.Z,{id:"colorGenerator.inputs.modeToggle.label",values:{colorMode:s?(0,t.jsx)(c.Z,{id:"colorGenerator.inputs.modeToggle.label.colorMode.light",children:"light"}):(0,t.jsx)(c.Z,{id:"colorGenerator.inputs.modeToggle.label.colorMode.dark",children:"dark"})},children:"Edit {colorMode} mode"})}),(0,t.jsx)("button",{type:"button",className:"clean-btn button button--secondary margin-left--md",onClick:()=>{f(r),j(r),v(g),k(m.NT)},children:(0,t.jsx)(c.Z,{id:"colorGenerator.inputs.resetButton.label",children:"Reset"})})]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("label",{htmlFor:"background_color",children:(0,t.jsx)("strong",{className:"margin-right--sm",children:(0,t.jsx)(c.Z,{id:"colorGenerator.inputs.background.label",children:"Background:"})})}),(0,t.jsx)("input",{id:"background_color",type:"color",className:(0,o.Z)(p.colorInput,"margin-right--sm"),value:y,onChange:e=>{v(e.target.value)}})]}),(0,t.jsx)("div",{children:(0,t.jsxs)("table",{className:p.colorTable,children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{children:(0,t.jsx)(c.Z,{id:"colorGenerator.table.heading1",children:"CSS Variable Name"})}),(0,t.jsx)("th",{children:(0,t.jsx)(c.Z,{id:"colorGenerator.table.heading2",description:"This column is the color's representation in hex",children:"Hex"})}),(0,t.jsx)("th",{children:(0,t.jsx)(c.Z,{id:"colorGenerator.table.heading3",description:"This column is the adjusted shades' adjustment values relative to the primary color",children:"Adjustment"})}),(0,t.jsx)("th",{children:(0,t.jsx)(c.Z,{id:"colorGenerator.table.heading4",description:"This column is WCAG contrast rating: AAA, AA, Fail",children:"Contrast Rating"})})]})}),(0,t.jsx)("tbody",{children:(0,m.t8)(w,x).sort((e,n)=>e.displayOrder-n.displayOrder).map(e=>{let{variableName:n,adjustment:s,adjustmentInput:a,hex:o}=e;return(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{children:(0,t.jsx)("code",{children:n})}),(0,t.jsxs)("td",{children:[(0,t.jsx)("span",{className:p.color,style:{backgroundColor:o}}),(0,t.jsx)("code",{className:"margin-left--sm",children:o.toLowerCase()})]}),(0,t.jsx)("td",{children:"--ifm-color-primary"===n?0:(0,t.jsx)("input",{"aria-label":`${n} CSS variable name`,className:p.input,type:"number",value:a,onChange:e=>{let t=parseFloat(e.target.value);k({...w,[n]:{...w[n],adjustmentInput:e.target.value,adjustment:Number.isNaN(t)?s:t/100}})}})}),(0,t.jsx)("td",{style:{fontSize:"medium",backgroundColor:y,color:o},children:(0,t.jsx)("b",{children:function(e,n){let s=i()(e).contrast(i()(n));return s>7?"AAA \uD83C\uDFC5":s>4.5?"AA \uD83D\uDC4D":"Fail \uD83D\uDD34"}(o,y)})})]},n)})})]})}),(0,t.jsx)("p",{children:(0,t.jsx)(c.Z,{id:"colorGenerator.text",values:{cssPath:(0,t.jsx)("code",{children:"src/css/custom.css"})},children:"Replace the variables in {cssPath} with these new variables."})}),(0,t.jsx)(u.Z,{className:"language-css",title:"/src/css/custom.css",children:`${s?"[data-theme='dark']":":root"} { +${(0,m.t8)(w,x).sort((e,n)=>e.codeOrder-n.codeOrder).map(e=>` ${e.variableName}: ${e.hex.toLowerCase()};`).join("\n")}${y!==g?` + --ifm-background-color: ${y};`:""} +}`})]})}},95998:function(e,n,s){s.d(n,{Z:()=>en});var t,a={};s.r(a),s.d(a,{ButtonExample:()=>C});var o=s(85893),r=s(67294),i=s(90496),l=s(71607),c=s(10075),d=s(77827),u=s(8156),h=s(56497),m=s(85108),p=s(45245),g=s(26378);function b(){let{prism:e}=(0,g.L)(),{colorMode:n}=(0,p.I)(),s=e.theme,t=e.darkTheme||s;return"dark"===n?t:s}var f=s(67490);function x(e){let{children:n}=e;return(0,o.jsx)("div",{className:(0,i.Z)("playgroundHeader_Tvsk"),children:n})}function j(){return(0,o.jsx)("div",{children:"Loading..."})}function y(){return(0,o.jsx)(h.Z,{fallback:(0,o.jsx)(j,{}),children:()=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(f.Z,{fallback:e=>(0,o.jsx)(m.Ac,{...e}),children:(0,o.jsx)(c.i5,{})}),(0,o.jsx)(c.IF,{})]})})}function v(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(x,{children:(0,o.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,o.jsx)("div",{className:"playgroundPreview_mApW",children:(0,o.jsx)(y,{})})]})}function w(){let e=(0,l.Z)();return(0,o.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function k(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(x,{children:(0,o.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,o.jsx)(w,{})]})}let S=e=>`${e};`;function N(e){let{children:n,transformCode:s,...t}=e,{siteConfig:{themeConfig:a}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:r}}=a,i=b(),l=t.metastring?.includes("noInline")??!1;return(0,o.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,o.jsx)(c.nu,{code:n?.replace(/\n$/,""),noInline:l,transformCode:s??S,theme:i,...t,children:"top"===r?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(v,{}),(0,o.jsx)(k,{})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(k,{}),(0,o.jsx)(v,{})]})})})}function C(e){return(0,o.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let T={React:r,...r,...a};var I=s(55951),B=s(6324),Z=s.n(B);let L=/title=(?<quote>["'])(?<title>.*?)\1/,A=/\{(?<range>[\d,-]+)\}/,_={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},E={..._,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},z=Object.keys(_);function M(e,n){let s=e.map(e=>{let{start:s,end:t}=E[e];return`(?:${s}\\s*(${n.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${t})`}).join("|");return RegExp(`^\\s*(?:${s})\\s*$`)}function R(e){let{as:n,...s}=e,t=function(e){let n={color:"--prism-color",backgroundColor:"--prism-background-color"},s={};return Object.entries(e.plain).forEach(e=>{let[t,a]=e,o=n[t];o&&"string"==typeof a&&(s[o]=a)}),s}(b());return(0,o.jsx)(n,{...s,style:t,className:(0,i.Z)(s.className,"codeBlockContainer_jDV4",I.k.common.codeBlock)})}let D={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function O(e){let{children:n,className:s}=e;return(0,o.jsx)(R,{as:"pre",tabIndex:0,className:(0,i.Z)(D.codeBlockStandalone,"thin-scrollbar",s),children:(0,o.jsx)("code",{className:D.codeBlockLines,children:n})})}var W=s(50923);let $={attributes:!0,characterData:!0,childList:!0,subtree:!0};var P=s(7316);let H={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function F(e){let{line:n,classNames:s,showLineNumbers:t,getLineProps:a,getTokenProps:r}=e;1===n.length&&"\n"===n[0].content&&(n[0].content="");let l=a({line:n,className:(0,i.Z)(s,t&&H.codeLine)}),c=n.map((e,n)=>(0,o.jsx)("span",{...r({token:e})},n));return(0,o.jsxs)("span",{...l,children:[t?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:H.codeLineNumber}),(0,o.jsx)("span",{className:H.codeLineContent,children:c})]}):c,(0,o.jsx)("br",{})]})}var G=s(44771);function V(e){return(0,o.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,o.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function q(e){return(0,o.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let U={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function Y(e){let{code:n,className:s}=e,[t,a]=(0,r.useState)(!1),l=(0,r.useRef)(void 0),c=(0,r.useCallback)(()=>{(0,G.Z)(n),a(!0),l.current=window.setTimeout(()=>{a(!1)},1e3)},[n]);return(0,r.useEffect)(()=>()=>window.clearTimeout(l.current),[]),(0,o.jsx)("button",{type:"button","aria-label":t?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",s,U.copyButton,t&&U.copyButtonCopied),onClick:c,children:(0,o.jsxs)("span",{className:U.copyButtonIcons,"aria-hidden":"true",children:[(0,o.jsx)(V,{className:U.copyButtonIcon}),(0,o.jsx)(q,{className:U.copyButtonSuccessIcon})]})})}function J(e){return(0,o.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,o.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let Q={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function X(e){let{className:n,onClick:s,isEnabled:t}=e,a=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,o.jsx)("button",{type:"button",onClick:s,className:(0,i.Z)("clean-btn",n,t&&Q.wordWrapButtonEnabled),"aria-label":a,title:a,children:(0,o.jsx)(J,{className:Q.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var n;let{children:s,className:t="",metastring:a,title:c,showLineNumbers:d,language:u}=e,{prism:{defaultLanguage:h,magicComments:m}}=(0,g.L)(),p=(n=u??function(e){let n=e.split(" ").find(e=>e.startsWith("language-"));return n?.replace(/language-/,"")}(t)??h,n?.toLowerCase()),f=b(),x=function(){let[e,n]=(0,r.useState)(!1),[s,t]=(0,r.useState)(!1),a=(0,r.useRef)(null),o=(0,r.useCallback)(()=>{let s=a.current.querySelector("code");e?s.removeAttribute("style"):(s.style.whiteSpace="pre-wrap",s.style.overflowWrap="anywhere"),n(e=>!e)},[a,e]),i=(0,r.useCallback)(()=>{let{scrollWidth:e,clientWidth:n}=a.current;t(e>n||a.current.querySelector("code").hasAttribute("style"))},[a]);return!function(e,n){let[s,t]=(0,r.useState)(),a=(0,r.useCallback)(()=>{t(e.current?.closest("[role=tabpanel][hidden]"))},[e,t]);(0,r.useEffect)(()=>{a()},[a]),function(e,n){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$,t=(0,W.zX)(n),a=(0,W.Ql)(s);(0,r.useEffect)(()=>{let n=new MutationObserver(t);return e&&n.observe(e,a),()=>n.disconnect()},[e,t,a])}(s,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),a())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(a,i),(0,r.useEffect)(()=>{i()},[e,i]),(0,r.useEffect)(()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)}),[i]),{codeBlockRef:a,isEnabled:e,isCodeScrollable:s,toggle:o}}(),j=(0,l.Z)(),y=(a?.match(L)?.groups.title??"")||c,{lineClassNames:v,code:w}=function(e,n){let s=e.replace(/\n$/,""),{language:t,magicComments:a,metastring:o}=n;if(o&&A.test(o)){let e=o.match(A).groups.range;if(0===a.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let n=a[0].className;return{lineClassNames:Object.fromEntries(Z()(e).filter(e=>e>0).map(e=>[e-1,[n]])),code:s}}if(void 0===t)return{lineClassNames:{},code:s};let r=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return M(["js","jsBlock"],n);case"jsx":case"tsx":return M(["js","jsBlock","jsx"],n);case"html":return M(["js","jsBlock","html"],n);case"python":case"py":case"bash":return M(["bash"],n);case"markdown":case"md":return M(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return M(["tex"],n);case"lua":case"haskell":return M(["lua"],n);case"sql":return M(["lua","jsBlock"],n);case"wasm":return M(["wasm"],n);case"vb":case"vba":case"visual-basic":return M(["vb","rem"],n);case"vbnet":return M(["vbnet","rem"],n);case"batch":return M(["rem"],n);case"basic":return M(["rem","f90"],n);case"fsharp":return M(["js","ml"],n);case"ocaml":case"sml":return M(["ml"],n);case"fortran":return M(["f90"],n);case"cobol":return M(["cobol"],n);default:return M(z,n)}}(t,a),i=s.split("\n"),l=Object.fromEntries(a.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(a.filter(e=>e.line).map(e=>{let{className:n,line:s}=e;return[s,n]})),d=Object.fromEntries(a.filter(e=>e.block).map(e=>{let{className:n,block:s}=e;return[s.start,n]})),u=Object.fromEntries(a.filter(e=>e.block).map(e=>{let{className:n,block:s}=e;return[s.end,n]}));for(let e=0;e<i.length;){let n=i[e].match(r);if(!n){e+=1;continue}let s=n.slice(1).find(e=>void 0!==e);c[s]?l[c[s]].range+=`${e},`:d[s]?l[d[s]].start=e:u[s]&&(l[u[s]].range+=`${l[u[s]].start}-${e-1},`),i.splice(e,1)}s=i.join("\n");let h={};return Object.entries(l).forEach(e=>{let[n,{range:s}]=e;Z()(s).forEach(e=>{h[e]??=[],h[e].push(n)})}),{lineClassNames:h,code:s}}(s,{metastring:a,language:p,magicComments:m}),k=function(e){let{showLineNumbers:n,metastring:s}=e;return"boolean"==typeof n?n?1:void 0:"number"==typeof n?n:function(e){let n=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}(s)}({showLineNumbers:d,metastring:a});return(0,o.jsxs)(R,{as:"div",className:(0,i.Z)(t,p&&!t.includes(`language-${p}`)&&`language-${p}`),children:[y&&(0,o.jsx)("div",{className:D.codeBlockTitle,children:y}),(0,o.jsxs)("div",{className:D.codeBlockContent,children:[(0,o.jsx)(P.y$,{theme:f,code:w,language:p??"text",children:e=>{let{className:n,style:s,tokens:t,getLineProps:a,getTokenProps:r}=e;return(0,o.jsx)("pre",{tabIndex:0,ref:x.codeBlockRef,className:(0,i.Z)(n,D.codeBlock,"thin-scrollbar"),style:s,children:(0,o.jsx)("code",{className:(0,i.Z)(D.codeBlockLines,void 0!==k&&D.codeBlockLinesWithNumbering),style:void 0===k?void 0:{counterReset:`line-count ${k-1}`},children:t.map((e,n)=>(0,o.jsx)(F,{line:e,getLineProps:a,getTokenProps:r,classNames:v[n],showLineNumbers:void 0!==k},n))})})}}),j?(0,o.jsxs)("div",{className:D.buttonGroup,children:[(x.isEnabled||x.isCodeScrollable)&&(0,o.jsx)(X,{className:D.codeButton,onClick:()=>x.toggle(),isEnabled:x.isEnabled}),(0,o.jsx)(Y,{className:D.codeButton,code:w})]}):null]})]})}let ee=(t=function(e){let{children:n,...s}=e,t=(0,l.Z)(),a=r.Children.toArray(n).some(e=>(0,r.isValidElement)(e))?n:Array.isArray(n)?n.join(""):n;return(0,o.jsx)("string"==typeof a?K:O,{...s,children:a},String(t))},function(e){return e.live?(0,o.jsx)(N,{scope:T,...e}):(0,o.jsx)(t,{...e})});function en(e){return(0,o.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/6466e69d.d19a8b01.js b/assets/js/6466e69d.d19a8b01.js new file mode 100644 index 0000000000..b4a262736d --- /dev/null +++ b/assets/js/6466e69d.d19a8b01.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["28825"],{19:function(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var s=t(82385),o=t(85893),a=t(80980);let i={mdx:{format:"md"},date:"2021-04-30T20:00",authors:["gempain","RDIL","slorber","tommy351"]},r="2.0.0-alpha.75",c={authorsImageUrls:[void 0,void 0,void 0,void 0]},l=[{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"Committers: 4",id:"committers-4",level:2}];function u(e){let n={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"docusaurus-cssnano-preset"}),", ",(0,o.jsx)(n.code,{children:"docusaurus-init"}),", ",(0,o.jsx)(n.code,{children:"docusaurus-mdx-loader"}),", ",(0,o.jsx)(n.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,o.jsx)(n.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,o.jsx)(n.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,o.jsx)(n.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,o.jsx)(n.code,{children:"docusaurus-plugin-pwa"}),", ",(0,o.jsx)(n.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(n.code,{children:"docusaurus-theme-common"}),", ",(0,o.jsx)(n.code,{children:"docusaurus-types"}),", ",(0,o.jsx)(n.code,{children:"docusaurus"}),", ",(0,o.jsx)(n.code,{children:"lqip-loader"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4089",children:"#4089"})," feat(v2): Webpack 5, PostCSS 8 (",(0,o.jsx)(n.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4704",children:"#4704"})," docs(v2): showcase meli (",(0,o.jsx)(n.a,{href:"https://github.com/gempain",children:"@gempain"}),")"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4699",children:"#4699"})," docs(v2): Add Kosko to showcase (",(0,o.jsx)(n.a,{href:"https://github.com/tommy351",children:"@tommy351"}),")"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"committers-4",children:"Committers: 4"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Geoffroy Empain (",(0,o.jsx)(n.a,{href:"https://github.com/gempain",children:"@gempain"}),")"]}),"\n",(0,o.jsxs)(n.li,{children:["Reece Dunham (",(0,o.jsx)(n.a,{href:"https://github.com/RDIL",children:"@RDIL"}),")"]}),"\n",(0,o.jsxs)(n.li,{children:["S\xe9bastien Lorber (",(0,o.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(n.li,{children:["Tommy Chen (",(0,o.jsx)(n.a,{href:"https://github.com/tommy351",children:"@tommy351"}),")"]}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},80980:function(e,n,t){t.d(n,{Z:()=>r,a:()=>i});var s=t(67294);let o={},a=s.createContext(o);function i(e){let n=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(a.Provider,{value:n},e.children)}},82385:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.75","source":"@site/changelog/source/2.0.0-alpha.75.md","title":"2.0.0-alpha.75","description":"Breaking Change","date":"2021-04-30T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Geoffroy Empain","alias":"gempain","url":"https://github.com/gempain","imageURL":"https://github.com/gempain.png","key":"gempain","page":null},{"name":"Reece Dunham","alias":"RDIL","url":"https://github.com/RDIL","imageURL":"https://github.com/RDIL.png","key":"RDIL","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tommy Chen","alias":"tommy351","url":"https://github.com/tommy351","imageURL":"https://github.com/tommy351.png","key":"tommy351","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-04-30T20:00","authors":["gempain","RDIL","slorber","tommy351"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.0","permalink":"/changelog/2.0.0-beta.0"},"nextItem":{"title":"2.0.0-alpha.74","permalink":"/changelog/2.0.0-alpha.74"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/64aa9092.c74199be.js b/assets/js/64aa9092.c74199be.js new file mode 100644 index 0000000000..4ae5ce9042 --- /dev/null +++ b/assets/js/64aa9092.c74199be.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["48908"],{13353:function(e,a,t){t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>h,default:()=>r,frontMatter:()=>o,metadata:()=>i,toc:()=>m});var i=t(99522),n=t(85893),l=t(80980);let o={mdx:{format:"md"},date:"2023-01-26T20:00",authors:["0916dhkim","3v0k4","denis-alkhelali","Djunnni","friederbluemle","johnnyreilly","Josh-Cena","JoshuaKGoldberg","lachieh","lanegoolsby","MatijaSi","mhnaeem","mturoci","SJFCS","slorber","stnor","Thomascogez"]},h="2.3.0",s={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},m=[];function u(e){return(0,n.jsx)(n.Fragment,{})}function r(e={}){let{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},80980:function(e,a,t){t.d(a,{Z:()=>h,a:()=>o});var i=t(67294);let n={},l=i.createContext(n);function o(e){let a=i.useContext(l);return i.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function h(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),i.createElement(l.Provider,{value:a},e.children)}},99522:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.3.0","source":"@site/changelog/source/2.3.0.md","title":"2.3.0","description":"New Feature","date":"2023-01-26T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Danny Kim","alias":"0916dhkim","url":"https://github.com/0916dhkim","imageURL":"https://github.com/0916dhkim.png","key":"0916dhkim","page":null},{"name":"Riccardo","alias":"3v0k4","url":"https://github.com/3v0k4","imageURL":"https://github.com/3v0k4.png","key":"3v0k4","page":null},{"name":"Denis Al-Khelali","alias":"denis-alkhelali","url":"https://github.com/denis-alkhelali","imageURL":"https://github.com/denis-alkhelali.png","key":"denis-alkhelali","page":null},{"name":"Dongjoon Lee","alias":"Djunnni","url":"https://github.com/Djunnni","imageURL":"https://github.com/Djunnni.png","key":"Djunnni","page":null},{"name":"Frieder Bluemle","alias":"friederbluemle","url":"https://github.com/friederbluemle","imageURL":"https://github.com/friederbluemle.png","key":"friederbluemle","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Josh Goldberg","alias":"JoshuaKGoldberg","url":"https://github.com/JoshuaKGoldberg","imageURL":"https://github.com/JoshuaKGoldberg.png","key":"JoshuaKGoldberg","page":null},{"name":"Lachlan Heywood","alias":"lachieh","url":"https://github.com/lachieh","imageURL":"https://github.com/lachieh.png","key":"lachieh","page":null},{"name":"Lane Goolsby","alias":"lanegoolsby","url":"https://github.com/lanegoolsby","imageURL":"https://github.com/lanegoolsby.png","key":"lanegoolsby","page":null},{"name":"Matija Sirk","alias":"MatijaSi","url":"https://github.com/MatijaSi","imageURL":"https://github.com/MatijaSi.png","key":"MatijaSi","page":null},{"name":"Muhammad Hammad","alias":"mhnaeem","url":"https://github.com/mhnaeem","imageURL":"https://github.com/mhnaeem.png","key":"mhnaeem","page":null},{"name":"mturoci","alias":"mturoci","url":"https://github.com/mturoci","imageURL":"https://github.com/mturoci.png","key":"mturoci","page":null},{"name":"\u5B8B\u9526\u4E30","alias":"SJFCS","url":"https://github.com/SJFCS","imageURL":"https://github.com/SJFCS.png","key":"SJFCS","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Stefan Norberg","alias":"stnor","url":"https://github.com/stnor","imageURL":"https://github.com/stnor.png","key":"stnor","page":null},{"name":"Thomas.CA","alias":"Thomascogez","url":"https://github.com/Thomascogez","imageURL":"https://github.com/Thomascogez.png","key":"Thomascogez","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-01-26T20:00","authors":["0916dhkim","3v0k4","denis-alkhelali","Djunnni","friederbluemle","johnnyreilly","Josh-Cena","JoshuaKGoldberg","lachieh","lanegoolsby","MatijaSi","mhnaeem","mturoci","SJFCS","slorber","stnor","Thomascogez"]},"unlisted":false,"prevItem":{"title":"2.3.1","permalink":"/changelog/2.3.1"},"nextItem":{"title":"2.2.0","permalink":"/changelog/2.2.0"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/64dfb3e9.c76697b2.js b/assets/js/64dfb3e9.c76697b2.js new file mode 100644 index 0000000000..e14f7fdc7c --- /dev/null +++ b/assets/js/64dfb3e9.c76697b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["59172"],{41918:function(e,n,t){t.d(n,{Z:()=>r});let r="/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, {useState} from 'react';\n\nexport default function MyComponent() {\n const [bool, setBool] = useState(false);\n return (\n <div>\n <p>MyComponent rendered !</p>\n <p>bool={bool ? 'true' : 'false'}</p>\n <p>\n <button onClick={() => setBool((b) => !b)}>toggle bool</button>\n </p>\n </div>\n );\n}\n"},78230:function(e,n,t){t.r(n),t.d(n,{Highlight:()=>f,frontMatter:()=>m,contentTitle:()=>p,assets:()=>x,default:()=>b,toc:()=>g,metadata:()=>r});var r=JSON.parse('{"id":"guides/markdown-features/react","title":"MDX and React","description":"Using the power of React in Docusaurus Markdown documents, thanks to MDX","source":"@site/docs/guides/markdown-features/markdown-features-react.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features/react","permalink":"/docs/markdown-features/react","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-react.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"react","description":"Using the power of React in Docusaurus Markdown documents, thanks to MDX","slug":"/markdown-features/react"},"sidebar":"docs","previous":{"title":"Markdown Features","permalink":"/docs/markdown-features"},"next":{"title":"Tabs","permalink":"/docs/markdown-features/tabs"}}'),o=t(85893),s=t(80980),i=t(14522),a=t(15398),l=t(58636),c=t(95998),d=t(41918);function u(e){let n={code:"code",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("span",{children:["Hello ",e.name]}),"\n",(0,o.jsxs)(n.p,{children:["This is text some content from ",(0,o.jsx)(n.code,{children:"_markdown-partial-example.md"}),"."]})]})}function h(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}t(78596);let m={id:"react",description:"Using the power of React in Docusaurus Markdown documents, thanks to MDX",slug:"/markdown-features/react"},p="MDX and React",x={},f=({children:e,color:n})=>(0,o.jsx)("span",{style:{backgroundColor:n,borderRadius:"2px",color:"#fff",padding:"0.2rem"},children:e}),g=[{value:"Exporting components",id:"exporting-components",level:3},{value:"Importing components",id:"importing-components",level:3},{value:"MDX component scope",id:"mdx-component-scope",level:3},{value:"Markdown and JSX interoperability",id:"markdown-and-jsx-interoperability",level:3},{value:"Importing code snippets",id:"importing-code-snippets",level:2},{value:"Importing Markdown",id:"importing-markdown",level:2},{value:"Available exports",id:"available-exports",level:2}];function j(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"mdx-and-react",children:"MDX and React"})}),"\n","\n",(0,o.jsxs)(n.p,{children:["Docusaurus has built-in support for ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/",children:"MDX"}),", which allows you to write JSX within your Markdown files and render them as React components."]}),"\n",(0,o.jsxs)(n.p,{children:["Check out the ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/",children:"MDX docs"})," to see what fancy stuff you can do with MDX."]}),"\n",(0,o.jsxs)(n.admonition,{title:"Debugging MDX",type:"tip",children:[(0,o.jsx)(n.p,{children:"The MDX format is quite strict, and you may get compilation errors."}),(0,o.jsxs)(n.p,{children:["Use the ",(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.a,{href:"https://mdxjs.com/playground/",children:"MDX playground"})})," to debug them and make sure your syntax is valid."]})]}),"\n",(0,o.jsx)(n.admonition,{type:"info",children:(0,o.jsxs)(n.p,{children:["Prettier, the most popular formatter, ",(0,o.jsx)(n.a,{href:"https://github.com/prettier/prettier/issues/12209",children:"supports only the legacy MDX v1"}),". If you get an unintentional formatting result, you may want to add ",(0,o.jsx)(n.code,{children:"{/* prettier-ignore */}"})," before the problematic area, or add ",(0,o.jsx)(n.code,{children:"*.mdx"})," to your ",(0,o.jsx)(n.code,{children:".prettierignore"}),", until Prettier has proper support for MDX v3. ",(0,o.jsxs)(n.a,{href:"https://github.com/orgs/mdx-js/discussions/2067",children:["One of the main authors of MDX recommends ",(0,o.jsx)(n.code,{children:"remark-cli"})," with ",(0,o.jsx)(n.code,{children:"remark-mdx"})]}),"."]})}),"\n",(0,o.jsx)(n.h3,{id:"exporting-components",children:"Exporting components"}),"\n",(0,o.jsxs)(n.p,{children:["To define any custom component within an MDX file, you have to export it: only paragraphs that start with ",(0,o.jsx)(n.code,{children:"export"})," will be parsed as components instead of prose."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"export const Highlight = ({children, color}) => (\n <span\n style={{\n backgroundColor: color,\n borderRadius: '2px',\n color: '#fff',\n padding: '0.2rem',\n }}>\n {children}\n </span>\n);\n\n<Highlight color=\"#25c2a0\">Docusaurus green</Highlight> and <Highlight color=\"#1877F2\">Facebook blue</Highlight> are my favorite colors.\n\nI can write **Markdown** alongside my _JSX_!\n"})}),"\n",(0,o.jsx)(n.p,{children:"Notice how it renders both the markup from your React component and the Markdown syntax:"}),"\n","\n",(0,o.jsxs)(i.Z,{minHeight:240,children:[(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(f,{color:"#25c2a0",children:"Docusaurus green"}),"\n"," ","and ",(0,o.jsx)(f,{color:"#1877F2",children:"Facebook blue"})," are my favorite colors."]}),(0,o.jsxs)(n.p,{children:["I can write ",(0,o.jsx)(n.strong,{children:"Markdown"})," alongside my ",(0,o.jsx)(n.em,{children:"JSX"}),"!"]})]}),"\n",(0,o.jsxs)(n.admonition,{title:"MDX is JSX",type:"warning",children:[(0,o.jsx)(n.p,{children:"Since all doc files are parsed using MDX, anything that looks like HTML is actually JSX. Therefore, if you need to inline-style a component, follow JSX flavor and provide style objects."}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"/* Instead of this: */\n<span style=\"background-color: red\">Foo</span>\n/* Use this: */\n<span style={{backgroundColor: 'red'}}>Foo</span>\n"})})]}),"\n",(0,o.jsx)(n.h3,{id:"importing-components",children:"Importing components"}),"\n",(0,o.jsx)(n.p,{children:"You can also import your own components defined in other files or third-party components installed via npm."}),"\n","\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"\x3c!-- Docusaurus theme component --\x3e\nimport TOCInline from '@theme/TOCInline';\n\x3c!-- External component --\x3e\nimport Button from '@mui/material/Button';\n\x3c!-- Custom component --\x3e\nimport BrowserWindow from '@site/src/components/BrowserWindow';\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"@site"})," alias points to your website's directory, usually where the ",(0,o.jsx)(n.code,{children:"docusaurus.config.js"})," file is. Using an alias instead of relative paths (",(0,o.jsx)(n.code,{children:"'../../src/components/BrowserWindow'"}),") saves you from updating import paths when moving files around, or when ",(0,o.jsx)(n.a,{href:"/docs/versioning",children:"versioning docs"})," and ",(0,o.jsx)(n.a,{href:"/docs/i18n/tutorial",children:"translating"}),"."]})}),"\n",(0,o.jsxs)(n.p,{children:["While declaring components within Markdown is very convenient for simple cases, it becomes hard to maintain because of limited editor support, risks of parsing errors, and low reusability. Use a separate ",(0,o.jsx)(n.code,{children:".js"})," file when your component involves complex JS logic:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",metastring:'title="src/components/Highlight.js"',children:"import React from 'react';\n\nexport default function Highlight({children, color}) {\n return (\n <span\n style={{\n backgroundColor: color,\n borderRadius: '2px',\n color: '#fff',\n padding: '0.2rem',\n }}>\n {children}\n </span>\n );\n}\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="markdown-file.mdx"',children:"import Highlight from '@site/src/components/Highlight';\n\n<Highlight color=\"#25c2a0\">Docusaurus green</Highlight>\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["If you use the same component across a lot of files, you don't need to import it everywhere\u2014consider adding it to the global scope. ",(0,o.jsx)(n.a,{href:"#mdx-component-scope",children:"See below"})]})}),"\n",(0,o.jsx)(n.h3,{id:"mdx-component-scope",children:"MDX component scope"}),"\n",(0,o.jsxs)(n.p,{children:["Apart from ",(0,o.jsx)(n.a,{href:"#importing-components",children:"importing a component"})," and ",(0,o.jsx)(n.a,{href:"#exporting-components",children:"exporting a component"}),", a third way to use a component in MDX is to ",(0,o.jsx)(n.strong,{children:"register it to the global scope"}),", which will make it automatically available in every MDX file, without any import statements."]}),"\n",(0,o.jsx)(n.p,{children:"For example, given this MDX file:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"- a\n- list!\n\nAnd some <Highlight>custom markup</Highlight>...\n"})}),"\n",(0,o.jsxs)(n.p,{children:["It will be compiled to a React component containing ",(0,o.jsx)(n.code,{children:"ul"}),", ",(0,o.jsx)(n.code,{children:"li"}),", ",(0,o.jsx)(n.code,{children:"p"}),", and ",(0,o.jsx)(n.code,{children:"Highlight"})," elements. ",(0,o.jsx)(n.code,{children:"Highlight"})," is not a native html element: you need to provide your own React component implementation for it."]}),"\n",(0,o.jsxs)(n.p,{children:["In Docusaurus, the MDX component scope is provided by the ",(0,o.jsx)(n.code,{children:"@theme/MDXComponents"})," file. It's not a React component, ",(0,o.jsx)(n.em,{children:"per se"}),", unlike most other exports under the ",(0,o.jsx)(n.code,{children:"@theme/"})," alias: it is a record from tag names like ",(0,o.jsx)(n.code,{children:"Highlight"})," to their React component implementations."]}),"\n",(0,o.jsxs)(n.p,{children:["If you ",(0,o.jsx)(n.a,{href:"/docs/swizzling",children:"swizzle"})," this component, you will find all tags that have been implemented, and you can further customize our implementation by swizzling the respective sub-component, like ",(0,o.jsx)(n.code,{children:"@theme/MDXComponents/Code"})," (which is used to render ",(0,o.jsx)(n.a,{href:"/docs/markdown-features/code-blocks",children:"Markdown code blocks"}),")."]}),"\n",(0,o.jsxs)(n.p,{children:["If you want to register extra tag names (like the ",(0,o.jsx)(n.code,{children:"<Highlight>"})," tag above), you should consider ",(0,o.jsxs)(n.a,{href:"/docs/swizzling#wrapping",children:["wrapping ",(0,o.jsx)(n.code,{children:"@theme/MDXComponents"})]}),", so you don't have to maintain all the existing mappings. Since the swizzle CLI doesn't allow wrapping non-component files yet, you should manually create the wrapper:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-js",metastring:'title="src/theme/MDXComponents.js"',children:"import React from 'react';\n// Import the original mapper\nimport MDXComponents from '@theme-original/MDXComponents';\n// highlight-next-line\nimport Highlight from '@site/src/components/Highlight';\n\nexport default {\n // Re-use the default mapping\n ...MDXComponents,\n // Map the \"<Highlight>\" tag to our Highlight component\n // `Highlight` will receive all props that were passed to `<Highlight>` in MDX\n // highlight-next-line\n Highlight,\n};\n"})}),"\n",(0,o.jsxs)(n.p,{children:["And now, you can freely use ",(0,o.jsx)(n.code,{children:"<Highlight>"})," in every page, without writing the import statement:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:'I can conveniently use <Highlight color="#25c2a0">Docusaurus green</Highlight> everywhere!\n'})}),"\n",(0,o.jsx)(i.Z,{children:(0,o.jsxs)(n.p,{children:["I can conveniently use ",(0,o.jsx)(f,{color:"#25c2a0",children:"Docusaurus green"})," everywhere!"]})}),"\n",(0,o.jsxs)(n.admonition,{type:"warning",children:[(0,o.jsxs)(n.p,{children:["We use ",(0,o.jsx)(n.strong,{children:"upper-case"})," tag names like ",(0,o.jsx)(n.code,{children:"Highlight"})," on purpose."]}),(0,o.jsx)(n.p,{children:"From MDX v3+ onward (Docusaurus v3+), lower-case tag names are always rendered as native html elements, and will not use any component mapping you provide."})]}),"\n",(0,o.jsxs)(n.admonition,{type:"warning",children:[(0,o.jsxs)(n.p,{children:["This feature is powered by ",(0,o.jsxs)(n.a,{href:"https://mdxjs.com/docs/using-mdx/#mdx-provider",children:["an ",(0,o.jsx)(n.code,{children:"MDXProvider"})]}),". If you are importing Markdown in a React page, you have to supply this provider yourself through the ",(0,o.jsx)(n.code,{children:"MDXContent"})," theme component."]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",metastring:'title="src/pages/index.js"',children:"import React from 'react';\nimport FeatureDisplay from './_featureDisplay.mdx';\n// highlight-next-line\nimport MDXContent from '@theme/MDXContent';\n\nexport default function LandingPage() {\n return (\n <div>\n {/* highlight-start */}\n <MDXContent>\n <FeatureDisplay />\n </MDXContent>\n {/* highlight-end */}\n </div>\n );\n}\n"})}),(0,o.jsxs)(n.p,{children:["If you don't wrap your imported MDX with ",(0,o.jsx)(n.code,{children:"MDXContent"}),", the global scope will not be available."]})]}),"\n",(0,o.jsx)(n.h3,{id:"markdown-and-jsx-interoperability",children:"Markdown and JSX interoperability"}),"\n",(0,o.jsxs)(n.p,{children:["Docusaurus v3 is using ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/blog/v3/",children:"MDX v3"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/docs/what-is-mdx/#mdx-syntax",children:"MDX syntax"})," is mostly compatible with ",(0,o.jsx)(n.a,{href:"https://commonmark.org/",children:"CommonMark"}),", but is much stricter because your ",(0,o.jsx)(n.code,{children:".mdx"})," files can use JSX and are compiled into real React components (check the ",(0,o.jsx)(n.a,{href:"https://mdxjs.com/playground/",children:"playground"}),")."]}),"\n",(0,o.jsxs)(n.p,{children:["Some valid CommonMark features won't work with MDX (",(0,o.jsx)(n.a,{href:"https://mdxjs.com/docs/what-is-mdx/#markdown",children:"more info"}),"), notably:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Indented code blocks: use triple backticks instead"}),"\n",(0,o.jsxs)(n.li,{children:["Autolinks (",(0,o.jsx)(n.code,{children:"<http://localhost:3000>"}),"): use regular link syntax instead (",(0,o.jsx)(n.code,{children:"[http://localhost:3000](http://localhost:3000)"}),")"]}),"\n",(0,o.jsxs)(n.li,{children:["HTML syntax (",(0,o.jsx)(n.code,{children:'<p style="color: red;">'}),"): use JSX instead (",(0,o.jsx)(n.code,{children:"<p style={{color: 'red'}}>"}),")"]}),"\n",(0,o.jsxs)(n.li,{children:["Unescaped ",(0,o.jsx)(n.code,{children:"{"})," and ",(0,o.jsx)(n.code,{children:"<"}),": escape them with ",(0,o.jsx)(n.code,{children:"\\"})," instead (",(0,o.jsx)(n.code,{children:"\\{"})," and ",(0,o.jsx)(n.code,{children:"\\<"}),")"]}),"\n"]}),"\n",(0,o.jsxs)(n.admonition,{title:"Experimental CommonMark support",type:"danger",children:[(0,o.jsxs)(n.p,{children:["Docusaurus v3 makes it possible to opt-in for a less strict, standard ",(0,o.jsx)(n.a,{href:"https://commonmark.org/",children:"CommonMark"})," support with the following options:"]}),(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["The ",(0,o.jsx)(n.code,{children:"mdx.format: md"})," front matter"]}),"\n",(0,o.jsxs)(n.li,{children:["The ",(0,o.jsx)(n.code,{children:".md"})," file extension combined with the ",(0,o.jsx)(n.code,{children:'siteConfig.markdown.format: "detect"'})," configuration"]}),"\n"]}),(0,o.jsxs)(n.p,{children:["This feature is ",(0,o.jsx)(n.strong,{children:"experimental"})," and currently has a few ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/9092",children:"limitations"}),"."]})]}),"\n",(0,o.jsx)(n.h2,{id:"importing-code-snippets",children:"Importing code snippets"}),"\n",(0,o.jsxs)(n.p,{children:["You can not only import a file containing a component definition, but also import any code file as raw text, and then insert it in a code block, thanks to ",(0,o.jsx)(n.a,{href:"https://webpack.js.org/loaders/raw-loader/",children:"Webpack raw-loader"}),". In order to use ",(0,o.jsx)(n.code,{children:"raw-loader"}),", you first need to install it in your project:"]}),"\n",(0,o.jsxs)(a.Z,{groupId:"npm2yarn",children:[(0,o.jsx)(l.Z,{value:"npm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"npm install --save raw-loader\n"})})}),(0,o.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"yarn add raw-loader\n"})})}),(0,o.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"pnpm add raw-loader\n"})})})]}),"\n",(0,o.jsx)(n.p,{children:"Now you can import code snippets from another file as it is:"}),"\n","\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",metastring:'title="myMarkdownFile.mdx"',children:"import CodeBlock from '@theme/CodeBlock';\nimport MyComponentSource from '!!raw-loader!./myComponent';\n\n<CodeBlock language=\"jsx\">{MyComponentSource}</CodeBlock>\n"})}),"\n","\n",(0,o.jsx)(i.Z,{children:(0,o.jsx)(c.Z,{language:"jsx",children:d.Z})}),"\n",(0,o.jsxs)(n.p,{children:["See ",(0,o.jsx)(n.a,{href:"/docs/markdown-features/code-blocks#usage-in-jsx",children:"using code blocks in JSX"})," for more details of the ",(0,o.jsx)(n.code,{children:"<CodeBlock>"})," component."]}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["You have to use ",(0,o.jsx)(n.code,{children:"<CodeBlock>"})," rather than the Markdown triple-backtick ",(0,o.jsx)(n.code,{children:"```"}),", because the latter will ship out any of its content as-is, but you want to interpolate the imported text here."]})}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"This feature is experimental and might be subject to breaking API changes in the future."})}),"\n",(0,o.jsx)(n.h2,{id:"importing-markdown",children:"Importing Markdown"}),"\n",(0,o.jsxs)(n.p,{children:["You can use Markdown files as components and import them elsewhere, either in Markdown files or in React pages. Each MDX file default-exports its page content as a React component. In the ",(0,o.jsx)(n.code,{children:"import"})," statement, you can default-import this component with any name, but it must be capitalized following React's naming rules."]}),"\n",(0,o.jsxs)(n.p,{children:["By convention, using the ",(0,o.jsxs)(n.strong,{children:[(0,o.jsx)(n.code,{children:"_"})," filename prefix"]})," will not create any doc page and means the Markdown file is a ",(0,o.jsx)(n.strong,{children:'"partial"'}),", to be imported by other files."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",metastring:'title="_markdown-partial-example.mdx"',children:"<span>Hello {props.name}</span>\n\nThis is text some content from `_markdown-partial-example.mdx`.\n"})}),"\n","\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",metastring:'title="someOtherDoc.mdx"',children:"import PartialExample from './_markdown-partial-example.mdx';\n\n<PartialExample name=\"Sebastien\" />\n"})}),"\n","\n",(0,o.jsx)(i.Z,{children:(0,o.jsx)(h,{name:"Sebastien"})}),"\n",(0,o.jsx)(n.p,{children:"This way, you can reuse content among multiple pages and avoid duplicating materials."}),"\n",(0,o.jsx)(n.h2,{id:"available-exports",children:"Available exports"}),"\n",(0,o.jsx)(n.p,{children:"Within the MDX page, the following variables are available as globals:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"frontMatter"}),": the front matter as a record of string keys and values;"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"toc"}),": the table of contents, as a tree of headings. See also ",(0,o.jsx)(n.a,{href:"/docs/markdown-features/toc#inline-table-of-contents",children:"Inline TOC"})," for a more concrete use-case."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"contentTitle"}),": the Markdown title, which is the first ",(0,o.jsx)(n.code,{children:"h1"})," heading in the Markdown text. It's ",(0,o.jsx)(n.code,{children:"undefined"})," if there isn't one (e.g. title specified in the front matter)."]}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"import TOCInline from '@theme/TOCInline';\nimport CodeBlock from '@theme/CodeBlock';\n\nThe table of contents for this page, serialized:\n\n<CodeBlock className=\"language-json\">{JSON.stringify(toc, null, 2)}</CodeBlock>\n\nThe front matter of this page:\n\n<ul>\n {Object.entries(frontMatter).map(([key, value]) => <li key={key}><b>{key}</b>: {value}</li>)}\n</ul>\n\n<p>The title of this page is: <b>{contentTitle}</b></p>\n"})}),"\n","\n",(0,o.jsxs)(i.Z,{children:[(0,o.jsx)(n.p,{children:"The table of contents for this page, serialized:"}),(0,o.jsx)(c.Z,{className:"language-json",children:JSON.stringify(g,null,2)}),(0,o.jsx)(n.p,{children:"The front matter of this page:"}),(0,o.jsx)("ul",{children:Object.entries(m).map(([e,n])=>(0,o.jsxs)("li",{children:[(0,o.jsx)("b",{children:e}),": ",n]},e))}),(0,o.jsxs)("p",{children:["The title of this page is: ",(0,o.jsx)("b",{children:p})]})]})]})}function b(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(j,{...e})}):j(e)}},78596:function(e,n,t){t.d(n,{Z:()=>s});var r=t(85893);t(67294);var o=t(89477);function s(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:s}=e;return(0,r.jsx)("div",{className:"tableOfContentsInline_2sru",children:(0,r.jsx)(o.Z,{toc:n,minHeadingLevel:t,maxHeadingLevel:s,className:"table-of-contents",linkClassName:null})})}},89477:function(e,n,t){t.d(n,{Z:()=>c});var r=t(85893),o=t(67294),s=t(26378);function i(e){let n=e.getBoundingClientRect();return n.top===n.bottom?i(e.parentNode):n}var a=t(35363);let l=o.memo(function e(n){let{toc:t,className:o,linkClassName:s,isChild:i}=n;return t.length?(0,r.jsx)("ul",{className:i?void 0:o,children:t.map(n=>(0,r.jsxs)("li",{children:[(0,r.jsx)(a.Z,{to:`#${n.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:n.value}}),(0,r.jsx)(e,{isChild:!0,toc:n.children,className:o,linkClassName:s})]},n.id))}):null});function c(e){let{toc:n,className:t="table-of-contents table-of-contents__left-border",linkClassName:a="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:d,maxHeadingLevel:u,...h}=e,m=(0,s.L)(),p=d??m.tableOfContents.minHeadingLevel,x=u??m.tableOfContents.maxHeadingLevel,f=function(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:r}=e;return(0,o.useMemo)(()=>(function e(n){let{toc:t,minHeadingLevel:r,maxHeadingLevel:o}=n;return t.flatMap(n=>{let t=e({toc:n.children,minHeadingLevel:r,maxHeadingLevel:o});return n.level>=r&&n.level<=o?[{...n,children:t}]:t})})({toc:function(e){let n=e.map(e=>({...e,parentIndex:-1,children:[]})),t=Array(7).fill(-1);n.forEach((e,n)=>{let r=t.slice(2,e.level);e.parentIndex=Math.max(...r),t[e.level]=n});let r=[];return n.forEach(e=>{let{parentIndex:t,...o}=e;t>=0?n[t].children.push(o):r.push(o)}),r}(n),minHeadingLevel:t,maxHeadingLevel:r}),[n,t,r])}({toc:n,minHeadingLevel:p,maxHeadingLevel:x});return!function(e){let n=(0,o.useRef)(void 0),t=function(){let e=(0,o.useRef)(0),{navbar:{hideOnScroll:n}}=(0,s.L)();return(0,o.useEffect)(()=>{e.current=n?0:document.querySelector(".navbar").clientHeight},[n]),e}();(0,o.useEffect)(()=>{if(!e)return()=>{};let{linkClassName:r,linkActiveClassName:o,minHeadingLevel:s,maxHeadingLevel:a}=e;function l(){let e=Array.from(document.getElementsByClassName(r)),l=function(e,n){let{anchorTopOffset:t}=n,r=e.find(e=>i(e).top>=t);if(r){var o;return(o=i(r)).top>0&&o.bottom<window.innerHeight/2?r:e[e.indexOf(r)-1]??null}return e[e.length-1]??null}(function(e){let{minHeadingLevel:n,maxHeadingLevel:t}=e,r=[];for(let e=n;e<=t;e+=1)r.push(`h${e}.anchor`);return Array.from(document.querySelectorAll(r.join()))}({minHeadingLevel:s,maxHeadingLevel:a}),{anchorTopOffset:t.current}),c=e.find(e=>l&&l.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));e.forEach(e=>{e===c?(n.current&&n.current!==e&&n.current.classList.remove(o),e.classList.add(o),n.current=e):e.classList.remove(o)})}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}},[e,t])}((0,o.useMemo)(()=>{if(a&&c)return{linkClassName:a,linkActiveClassName:c,minHeadingLevel:p,maxHeadingLevel:x}},[a,c,p,x])),(0,r.jsx)(l,{toc:f,className:t,linkClassName:a,...h})}},58636:function(e,n,t){t.d(n,{Z:()=>s});var r=t(85893);t(67294);var o=t(90496);function s(e){let{children:n,hidden:t,className:s}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,o.Z)("tabItem_pnkT",s),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>j});var r=t(85893),o=t(67294),s=t(90496),i=t(54947),a=t(3620),l=t(844),c=t(97486),d=t(32263),u=t(16971);function h(e){return o.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||o.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function m(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var p=t(71607);function x(e){let{className:n,block:t,selectedValue:o,selectValue:a,tabValues:l}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,i.o5)(),u=e=>{let n=e.currentTarget,t=l[c.indexOf(n)].value;t!==o&&(d(n),a(t))},h=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{let t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1]}}n?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":t},n),children:l.map(e=>{let{value:n,label:t,attributes:i}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:o===n?0:-1,"aria-selected":o===n,ref:e=>{c.push(e)},onKeyDown:h,onClick:u,...i,className:(0,s.Z)("tabs__item","tabItem_AQgk",i?.className,{"tabs__item--active":o===n}),children:t??n},n)})})}function f(e){let{lazy:n,children:t,selectedValue:i}=e,a=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=a.find(e=>e.props.value===i);return e?(0,o.cloneElement)(e,{className:(0,s.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:a.map((e,n)=>(0,o.cloneElement)(e,{key:n,hidden:e.props.value!==i}))})}function g(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:r}=e,s=function(e){let{values:n,children:t}=e;return(0,o.useMemo)(()=>{let e=n??h(t).map(e=>{let{props:{value:n,label:t,attributes:r,default:o}}=e;return{value:n,label:t,attributes:r,default:o}});return!function(e){let n=(0,d.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[i,p]=(0,o.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let r=t.find(e=>e.default)??t[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:n,tabValues:s})),[x,f]=function(e){let{queryString:n=!1,groupId:t}=e,r=(0,a.k6)(),s=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,c._X)(s),(0,o.useCallback)(e=>{if(!s)return;let n=new URLSearchParams(r.location.search);n.set(s,e),r.replace({...r.location,search:n.toString()})},[s,r])]}({queryString:t,groupId:r}),[g,j]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[r,s]=(0,u.Nk)(t);return[r,(0,o.useCallback)(e=>{t&&s.set(e)},[t,s])]}({groupId:r}),b=(()=>{let e=x??g;return m({value:e,tabValues:s})?e:null})();return(0,l.Z)(()=>{b&&p(b)},[b]),{selectedValue:i,selectValue:(0,o.useCallback)(e=>{if(!m({value:e,tabValues:s}))throw Error(`Can't select invalid tab value=${e}`);p(e),f(e),j(e)},[f,j,s]),tabValues:s}}(e);return(0,r.jsxs)("div",{className:(0,s.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(x,{...n,...e}),(0,r.jsx)(f,{...n,...e})]})}function j(e){let n=(0,p.Z)();return(0,r.jsx)(g,{...e,children:h(e.children)},String(n))}},56497:function(e,n,t){t.d(n,{Z:()=>s});var r=t(85893);t(67294);var o=t(71607);function s(e){let{children:n,fallback:t}=e;return(0,o.Z)()?(0,r.jsx)(r.Fragment,{children:n?.()}):t??null}},14522:function(e,n,t){t.d(n,{Z:()=>a});var r=t(85893);t(67294);var o=t(90496);let s="dot_giz1",i="bar_rrRL";function a(e){let{children:n,minHeight:t,url:a="http://localhost:3000",style:l,bodyStyle:c}=e;return(0,r.jsxs)("div",{className:"browserWindow_my1Q",style:{...l,minHeight:t},children:[(0,r.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,r.jsxs)("div",{className:"buttons_uHc7",children:[(0,r.jsx)("span",{className:s,style:{background:"#f25f58"}}),(0,r.jsx)("span",{className:s,style:{background:"#fbbe3c"}}),(0,r.jsx)("span",{className:s,style:{background:"#58cb42"}})]}),(0,r.jsx)("div",{className:(0,o.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:a}),(0,r.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:i}),(0,r.jsx)("span",{className:i}),(0,r.jsx)("span",{className:i})]})})]}),(0,r.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:n})]})}},95998:function(e,n,t){t.d(n,{Z:()=>en});var r,o={};t.r(o),t.d(o,{ButtonExample:()=>M});var s=t(85893),i=t(67294),a=t(90496),l=t(71607),c=t(10075),d=t(77827),u=t(8156),h=t(56497),m=t(85108),p=t(45245),x=t(26378);function f(){let{prism:e}=(0,x.L)(),{colorMode:n}=(0,p.I)(),t=e.theme,r=e.darkTheme||t;return"dark"===n?r:t}var g=t(67490);function j(e){let{children:n}=e;return(0,s.jsx)("div",{className:(0,a.Z)("playgroundHeader_Tvsk"),children:n})}function b(){return(0,s.jsx)("div",{children:"Loading..."})}function y(){return(0,s.jsx)(h.Z,{fallback:(0,s.jsx)(b,{}),children:()=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(g.Z,{fallback:e=>(0,s.jsx)(m.Ac,{...e}),children:(0,s.jsx)(c.i5,{})}),(0,s.jsx)(c.IF,{})]})})}function v(){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(j,{children:(0,s.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,s.jsx)("div",{className:"playgroundPreview_mApW",children:(0,s.jsx)(y,{})})]})}function w(){let e=(0,l.Z)();return(0,s.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function k(){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(j,{children:(0,s.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,s.jsx)(w,{})]})}let C=e=>`${e};`;function N(e){let{children:n,transformCode:t,...r}=e,{siteConfig:{themeConfig:o}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:i}}=o,a=f(),l=r.metastring?.includes("noInline")??!1;return(0,s.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,s.jsx)(c.nu,{code:n?.replace(/\n$/,""),noInline:l,transformCode:t??C,theme:a,...r,children:"top"===i?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(v,{}),(0,s.jsx)(k,{})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(k,{}),(0,s.jsx)(v,{})]})})})}function M(e){return(0,s.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let B={React:i,...i,...o};var D=t(55951),I=t(6324),T=t.n(I);let L=/title=(?<quote>["'])(?<title>.*?)\1/,X=/\{(?<range>[\d,-]+)\}/,E={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},H={...E,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},S=Object.keys(E);function _(e,n){let t=e.map(e=>{let{start:t,end:r}=H[e];return`(?:${t}\\s*(${n.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${t})\\s*$`)}function Z(e){let{as:n,...t}=e,r=function(e){let n={color:"--prism-color",backgroundColor:"--prism-background-color"},t={};return Object.entries(e.plain).forEach(e=>{let[r,o]=e,s=n[r];s&&"string"==typeof o&&(t[s]=o)}),t}(f());return(0,s.jsx)(n,{...t,style:r,className:(0,a.Z)(t.className,"codeBlockContainer_jDV4",D.k.common.codeBlock)})}let R={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function A(e){let{children:n,className:t}=e;return(0,s.jsx)(Z,{as:"pre",tabIndex:0,className:(0,a.Z)(R.codeBlockStandalone,"thin-scrollbar",t),children:(0,s.jsx)("code",{className:R.codeBlockLines,children:n})})}var O=t(50923);let F={attributes:!0,characterData:!0,childList:!0,subtree:!0};var W=t(7316);let z={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function $(e){let{line:n,classNames:t,showLineNumbers:r,getLineProps:o,getTokenProps:i}=e;1===n.length&&"\n"===n[0].content&&(n[0].content="");let l=o({line:n,className:(0,a.Z)(t,r&&z.codeLine)}),c=n.map((e,n)=>(0,s.jsx)("span",{...i({token:e})},n));return(0,s.jsxs)("span",{...l,children:[r?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:z.codeLineNumber}),(0,s.jsx)("span",{className:z.codeLineContent,children:c})]}):c,(0,s.jsx)("br",{})]})}var J=t(44771);function U(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function q(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let P={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function V(e){let{code:n,className:t}=e,[r,o]=(0,i.useState)(!1),l=(0,i.useRef)(void 0),c=(0,i.useCallback)(()=>{(0,J.Z)(n),o(!0),l.current=window.setTimeout(()=>{o(!1)},1e3)},[n]);return(0,i.useEffect)(()=>()=>window.clearTimeout(l.current),[]),(0,s.jsx)("button",{type:"button","aria-label":r?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.Z)("clean-btn",t,P.copyButton,r&&P.copyButtonCopied),onClick:c,children:(0,s.jsxs)("span",{className:P.copyButtonIcons,"aria-hidden":"true",children:[(0,s.jsx)(U,{className:P.copyButtonIcon}),(0,s.jsx)(q,{className:P.copyButtonSuccessIcon})]})})}function Q(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let Y={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function G(e){let{className:n,onClick:t,isEnabled:r}=e,o=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,s.jsx)("button",{type:"button",onClick:t,className:(0,a.Z)("clean-btn",n,r&&Y.wordWrapButtonEnabled),"aria-label":o,title:o,children:(0,s.jsx)(Q,{className:Y.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var n;let{children:t,className:r="",metastring:o,title:c,showLineNumbers:d,language:u}=e,{prism:{defaultLanguage:h,magicComments:m}}=(0,x.L)(),p=(n=u??function(e){let n=e.split(" ").find(e=>e.startsWith("language-"));return n?.replace(/language-/,"")}(r)??h,n?.toLowerCase()),g=f(),j=function(){let[e,n]=(0,i.useState)(!1),[t,r]=(0,i.useState)(!1),o=(0,i.useRef)(null),s=(0,i.useCallback)(()=>{let t=o.current.querySelector("code");e?t.removeAttribute("style"):(t.style.whiteSpace="pre-wrap",t.style.overflowWrap="anywhere"),n(e=>!e)},[o,e]),a=(0,i.useCallback)(()=>{let{scrollWidth:e,clientWidth:n}=o.current;r(e>n||o.current.querySelector("code").hasAttribute("style"))},[o]);return!function(e,n){let[t,r]=(0,i.useState)(),o=(0,i.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,i.useEffect)(()=>{o()},[o]),function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:F,r=(0,O.zX)(n),o=(0,O.Ql)(t);(0,i.useEffect)(()=>{let n=new MutationObserver(r);return e&&n.observe(e,o),()=>n.disconnect()},[e,r,o])}(t,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),o())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(o,a),(0,i.useEffect)(()=>{a()},[e,a]),(0,i.useEffect)(()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)}),[a]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:t,toggle:s}}(),b=(0,l.Z)(),y=(o?.match(L)?.groups.title??"")||c,{lineClassNames:v,code:w}=function(e,n){let t=e.replace(/\n$/,""),{language:r,magicComments:o,metastring:s}=n;if(s&&X.test(s)){let e=s.match(X).groups.range;if(0===o.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${s}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let n=o[0].className;return{lineClassNames:Object.fromEntries(T()(e).filter(e=>e>0).map(e=>[e-1,[n]])),code:t}}if(void 0===r)return{lineClassNames:{},code:t};let i=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return _(["js","jsBlock"],n);case"jsx":case"tsx":return _(["js","jsBlock","jsx"],n);case"html":return _(["js","jsBlock","html"],n);case"python":case"py":case"bash":return _(["bash"],n);case"markdown":case"md":return _(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return _(["tex"],n);case"lua":case"haskell":return _(["lua"],n);case"sql":return _(["lua","jsBlock"],n);case"wasm":return _(["wasm"],n);case"vb":case"vba":case"visual-basic":return _(["vb","rem"],n);case"vbnet":return _(["vbnet","rem"],n);case"batch":return _(["rem"],n);case"basic":return _(["rem","f90"],n);case"fsharp":return _(["js","ml"],n);case"ocaml":case"sml":return _(["ml"],n);case"fortran":return _(["f90"],n);case"cobol":return _(["cobol"],n);default:return _(S,n)}}(r,o),a=t.split("\n"),l=Object.fromEntries(o.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(o.filter(e=>e.line).map(e=>{let{className:n,line:t}=e;return[t,n]})),d=Object.fromEntries(o.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.start,n]})),u=Object.fromEntries(o.filter(e=>e.block).map(e=>{let{className:n,block:t}=e;return[t.end,n]}));for(let e=0;e<a.length;){let n=a[e].match(i);if(!n){e+=1;continue}let t=n.slice(1).find(e=>void 0!==e);c[t]?l[c[t]].range+=`${e},`:d[t]?l[d[t]].start=e:u[t]&&(l[u[t]].range+=`${l[u[t]].start}-${e-1},`),a.splice(e,1)}t=a.join("\n");let h={};return Object.entries(l).forEach(e=>{let[n,{range:t}]=e;T()(t).forEach(e=>{h[e]??=[],h[e].push(n)})}),{lineClassNames:h,code:t}}(t,{metastring:o,language:p,magicComments:m}),k=function(e){let{showLineNumbers:n,metastring:t}=e;return"boolean"==typeof n?n?1:void 0:"number"==typeof n?n:function(e){let n=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}(t)}({showLineNumbers:d,metastring:o});return(0,s.jsxs)(Z,{as:"div",className:(0,a.Z)(r,p&&!r.includes(`language-${p}`)&&`language-${p}`),children:[y&&(0,s.jsx)("div",{className:R.codeBlockTitle,children:y}),(0,s.jsxs)("div",{className:R.codeBlockContent,children:[(0,s.jsx)(W.y$,{theme:g,code:w,language:p??"text",children:e=>{let{className:n,style:t,tokens:r,getLineProps:o,getTokenProps:i}=e;return(0,s.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,a.Z)(n,R.codeBlock,"thin-scrollbar"),style:t,children:(0,s.jsx)("code",{className:(0,a.Z)(R.codeBlockLines,void 0!==k&&R.codeBlockLinesWithNumbering),style:void 0===k?void 0:{counterReset:`line-count ${k-1}`},children:r.map((e,n)=>(0,s.jsx)($,{line:e,getLineProps:o,getTokenProps:i,classNames:v[n],showLineNumbers:void 0!==k},n))})})}}),b?(0,s.jsxs)("div",{className:R.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,s.jsx)(G,{className:R.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,s.jsx)(V,{className:R.codeButton,code:w})]}):null]})]})}let ee=(r=function(e){let{children:n,...t}=e,r=(0,l.Z)(),o=i.Children.toArray(n).some(e=>(0,i.isValidElement)(e))?n:Array.isArray(n)?n.join(""):n;return(0,s.jsx)("string"==typeof o?K:A,{...t,children:o},String(r))},function(e){return e.live?(0,s.jsx)(N,{scope:B,...e}):(0,s.jsx)(r,{...e})});function en(e){return(0,s.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/65e0415e.9e9b0738.js b/assets/js/65e0415e.9e9b0738.js new file mode 100644 index 0000000000..1bf1b5812c --- /dev/null +++ b/assets/js/65e0415e.9e9b0738.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["69131"],{93519:function(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Sidebar item description tests","slug":"/category/sidebar-item-description-tests","permalink":"/tests/docs/category/sidebar-item-description-tests","sidebar":"sidebar","navigation":{"previous":{"title":"Some Unlisteds - Unlisted 2","permalink":"/tests/docs/tests/visibility/some-unlisteds/unlisted2"},"next":{"title":"Another category with index","permalink":"/tests/docs/category/another-category-with-index"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/6608e8cd.0311031b.js b/assets/js/6608e8cd.0311031b.js new file mode 100644 index 0000000000..ff14dde1be --- /dev/null +++ b/assets/js/6608e8cd.0311031b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["86277"],{42e3:function(t){t.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Dual author socials","permalink":"/tests/blog/2024/07/03/dual-author","unlisted":false,"date":"2024-07-03T00:00:00.000Z"},{"title":"How multiple authors with socials looks","permalink":"/tests/blog/2024/07/03/multiple-authors","unlisted":false,"date":"2024-07-03T00:00:00.000Z"},{"title":"Single author socials","permalink":"/tests/blog/2024/07/03/single-author","unlisted":false,"date":"2024-07-03T00:00:00.000Z"},{"title":"Ensure heading... (custom label)","permalink":"/tests/blog/2023/08/05/","unlisted":false,"date":"2023-08-05T00:00:00.000Z"},{"title":"Test if href in feed resolved correctly","permalink":"/tests/blog/2023/07/19/a","unlisted":false,"date":"2023-07-19T00:00:00.000Z"},{"title":"Test Relative Path","permalink":"/tests/blog/2023/07/19/b","unlisted":false,"date":"2023-07-19T00:00:00.000Z"},{"title":"A post with html slug","permalink":"/tests/blog/x/y/z.html","unlisted":false,"date":"2022-10-02T00:00:00.000Z"},{"title":"Unlisted blog post","permalink":"/tests/blog/unlisted-post","unlisted":true,"date":"2022-08-24T00:00:00.000Z"},{"title":"First post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/04/20/dup-footnote","unlisted":false,"date":"2022-04-20T00:00:00.000Z"},{"title":"Second post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/22/dup-footnote","unlisted":false,"date":"2022-01-22T00:00:00.000Z"},{"title":"Third post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/01/21/dup-footnote","unlisted":false,"date":"2022-01-21T00:00:00.000Z"},{"title":"Image-only authors","permalink":"/tests/blog/2022/01/20/image-only-authors","unlisted":false,"date":"2022-01-20T00:00:00.000Z"},{"title":"Post with duplicate title","permalink":"/tests/blog/2021/11/13/dup-title","unlisted":false,"date":"2021-11-13T00:00:00.000Z"},{"title":"Blog post MDX require Feed tests","permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests","unlisted":false,"date":"2021-10-08T00:00:00.000Z"},{"title":"Blog post MDX Feed tests","permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests","unlisted":false,"date":"2021-10-07T00:00:00.000Z"},{"title":"Post with duplicate title","permalink":"/tests/blog/2021/09/13/dup-title","unlisted":false,"date":"2021-09-13T00:00:00.000Z"},{"title":"Multiple authors","permalink":"/tests/blog/2021/08/23/multiple-authors","unlisted":false,"date":"2021-08-23T00:00:00.000Z"},{"title":"Hmmm!","permalink":"/tests/blog/2021/08/22/no-author","unlisted":false,"date":"2021-08-22T00:00:00.000Z"},{"title":"Blog TOC FrontMatter tests","permalink":"/tests/blog/2021/08/21/blog-post-toc-tests","unlisted":false,"date":"2021-08-21T00:00:00.000Z"},{"title":"Using twice the blog plugin","permalink":"/tests/blog/2020/08/03/demo/second-blog-intro","unlisted":false,"date":"2020-08-03T00:00:00.000Z"}]}')}}]); \ No newline at end of file diff --git a/assets/js/66664890.0255ad71.js b/assets/js/66664890.0255ad71.js new file mode 100644 index 0000000000..8ab3ce2399 --- /dev/null +++ b/assets/js/66664890.0255ad71.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["56750"],{87945:function(e,t,n){n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var a=n(72752),o=n(85893),r=n(80980);let s={mdx:{format:"md"},date:"2021-12-10T20:00"},c="2.0.0-beta.13",i={authorsImageUrls:[]},l=[];function u(e){let t={p:"p",...(0,r.a)(),...e.components};return(0,o.jsx)(t.p,{children:"Good npm publish, same code as beta.11"})}function p(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>c,a:()=>s});var a=n(67294);let o={},r=a.createContext(o);function s(e){let t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:t},e.children)}},72752:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.13","source":"@site/changelog/source/2.0.0-beta.13.md","title":"2.0.0-beta.13","description":"Good npm publish, same code as beta.11","date":"2021-12-10T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-10T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-beta.14","permalink":"/changelog/2.0.0-beta.14"},"nextItem":{"title":"2.0.0-beta.12","permalink":"/changelog/2.0.0-beta.12"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/666c1406.ea0169a4.js b/assets/js/666c1406.ea0169a4.js new file mode 100644 index 0000000000..6555e1eb6d --- /dev/null +++ b/assets/js/666c1406.ea0169a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["92502"],{28231:function(a,t,i){i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>m,default:()=>u,frontMatter:()=>h,metadata:()=>e,toc:()=>l});var e=i(39776),n=i(85893),r=i(80980);let h={mdx:{format:"md"},date:"2020-10-19T20:00",authors:["aakhtar3","abhishektiwari","christian-bromann","fanny","hamzahamidi","honlyHuang","imskr","jagracey","lex111","MatanBobi","russtaylor","saintmalik","shubhamzanwar","Simek","slorber","UmairKamran","utkarsh867"]},m="2.0.0-alpha.66",s={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},l=[];function o(a){return(0,n.jsx)(n.Fragment,{})}function u(a={}){let{wrapper:t}={...(0,r.a)(),...a.components};return t?(0,n.jsx)(t,{...a,children:(0,n.jsx)(o,{...a})}):o(a)}},80980:function(a,t,i){i.d(t,{Z:()=>m,a:()=>h});var e=i(67294);let n={},r=e.createContext(n);function h(a){let t=e.useContext(r);return e.useMemo(function(){return"function"==typeof a?a(t):{...t,...a}},[t,a])}function m(a){let t;return t=a.disableParentContext?"function"==typeof a.components?a.components(n):a.components||n:h(a.components),e.createElement(r.Provider,{value:t},a.children)}},39776:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.66","source":"@site/changelog/source/2.0.0-alpha.66.md","title":"2.0.0-alpha.66","description":"New Feature","date":"2020-10-19T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"aakhtar3","alias":"aakhtar3","url":"https://github.com/aakhtar3","imageURL":"https://github.com/aakhtar3.png","key":"aakhtar3","page":null},{"name":"Abhishek Tiwari","alias":"abhishektiwari","url":"https://github.com/abhishektiwari","imageURL":"https://github.com/abhishektiwari.png","key":"abhishektiwari","page":null},{"name":"Christian Bromann","alias":"christian-bromann","url":"https://github.com/christian-bromann","imageURL":"https://github.com/christian-bromann.png","key":"christian-bromann","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"Hamza Hamidi","alias":"hamzahamidi","url":"https://github.com/hamzahamidi","imageURL":"https://github.com/hamzahamidi.png","key":"hamzahamidi","page":null},{"name":"honlyHuang","alias":"honlyHuang","url":"https://github.com/honlyHuang","imageURL":"https://github.com/honlyHuang.png","key":"honlyHuang","page":null},{"name":"Shubham Kumar","alias":"imskr","url":"https://github.com/imskr","imageURL":"https://github.com/imskr.png","key":"imskr","page":null},{"name":"John Gracey","alias":"jagracey","url":"https://github.com/jagracey","imageURL":"https://github.com/jagracey.png","key":"jagracey","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Matan Borenkraout","alias":"MatanBobi","url":"https://github.com/MatanBobi","imageURL":"https://github.com/MatanBobi.png","key":"MatanBobi","page":null},{"name":"Russ Taylor","alias":"russtaylor","url":"https://github.com/russtaylor","imageURL":"https://github.com/russtaylor.png","key":"russtaylor","page":null},{"name":"SaintMalik","alias":"saintmalik","url":"https://github.com/saintmalik","imageURL":"https://github.com/saintmalik.png","key":"saintmalik","page":null},{"name":"Shubham Zanwar","alias":"shubhamzanwar","url":"https://github.com/shubhamzanwar","imageURL":"https://github.com/shubhamzanwar.png","key":"shubhamzanwar","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Umair Kamran","alias":"UmairKamran","url":"https://github.com/UmairKamran","imageURL":"https://github.com/UmairKamran.png","key":"UmairKamran","page":null},{"name":"Utkarsh Goel","alias":"utkarsh867","url":"https://github.com/utkarsh867","imageURL":"https://github.com/utkarsh867.png","key":"utkarsh867","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-10-19T20:00","authors":["aakhtar3","abhishektiwari","christian-bromann","fanny","hamzahamidi","honlyHuang","imskr","jagracey","lex111","MatanBobi","russtaylor","saintmalik","shubhamzanwar","Simek","slorber","UmairKamran","utkarsh867"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.67","permalink":"/changelog/2.0.0-alpha.67"},"nextItem":{"title":"2.0.0-alpha.65","permalink":"/changelog/2.0.0-alpha.65"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/66806.acf44f71.js b/assets/js/66806.acf44f71.js new file mode 100644 index 0000000000..fdbcf42e81 --- /dev/null +++ b/assets/js/66806.acf44f71.js @@ -0,0 +1,117 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["66806"],{63170:function(t,e,a){a.d(e,{A:()=>i});var r=a(28923),i=class{constructor(t){this.init=t,this.records=this.init()}static{(0,r.eW)(this,"ImperativeState")}reset(){this.records=this.init()}}},93737:function(t,e,a){a.d(e,{AD:()=>h,AE:()=>c,Mu:()=>s,O:()=>n,kc:()=>d,rB:()=>l,yU:()=>o});var r=a(28923),i=a(7608),s=(0,r.eW)((t,e)=>{let a=t.append("rect");if(a.attr("x",e.x),a.attr("y",e.y),a.attr("fill",e.fill),a.attr("stroke",e.stroke),a.attr("width",e.width),a.attr("height",e.height),e.name&&a.attr("name",e.name),e.rx&&a.attr("rx",e.rx),e.ry&&a.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)a.attr(t,e.attrs[t]);return e.class&&a.attr("class",e.class),a},"drawRect"),n=(0,r.eW)((t,e)=>{s(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),o=(0,r.eW)((t,e)=>{let a=e.text.replace(r.Vw," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class&&i.attr("class",e.class);let s=i.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(a),i},"drawText"),c=(0,r.eW)((t,e,a,r)=>{let s=t.append("image");s.attr("x",e),s.attr("y",a);let n=(0,i.sanitizeUrl)(r);s.attr("xlink:href",n)},"drawImage"),l=(0,r.eW)((t,e,a,r)=>{let s=t.append("use");s.attr("x",e),s.attr("y",a);let n=(0,i.sanitizeUrl)(r);s.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),d=(0,r.eW)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),h=(0,r.eW)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")},88250:function(t,e,a){a.d(e,{diagram:()=>tj});var r=a(93737),i=a(63170),s=a(84890),n=a(28923),o=a(11141),c=a(7608),l=function(){var t=(0,n.eW)(function(t,e,a,r){for(a=a||{},r=t.length;r--;a[t[r]]=e);return a},"o"),e=[1,2],a=[1,3],r=[1,4],i=[2,4],s=[1,9],o=[1,11],c=[1,13],l=[1,14],d=[1,16],h=[1,17],p=[1,18],g=[1,24],u=[1,25],x=[1,26],y=[1,27],m=[1,28],b=[1,29],T=[1,30],f=[1,31],E=[1,32],w=[1,33],I=[1,34],L=[1,35],P=[1,36],_=[1,37],k=[1,38],M=[1,39],A=[1,41],N=[1,42],v=[1,43],S=[1,44],O=[1,45],D=[1,46],W=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],R=[4,5,16,50,52,53],Y=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],C=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],B=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],V=[68,69,70],F=[1,122],q={trace:(0,n.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:(0,n.eW)(function(t,e,a,r,i,s,n){var o=s.length-1;switch(i){case 3:return r.apply(s[o]),s[o];case 4:case 9:case 8:case 13:this.$=[];break;case 5:case 10:s[o-1].push(s[o]),this.$=s[o-1];break;case 6:case 7:case 11:case 12:case 62:this.$=s[o];break;case 15:s[o].type="createParticipant",this.$=s[o];break;case 16:s[o-1].unshift({type:"boxStart",boxData:r.parseBoxData(s[o-2])}),s[o-1].push({type:"boxEnd",boxText:s[o-2]}),this.$=s[o-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-2]),sequenceIndexStep:Number(s[o-1]),sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:r.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:s[o-1].actor};break;case 23:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:s[o-1].actor};break;case 29:r.setDiagramTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 30:r.setDiagramTitle(s[o].substring(7)),this.$=s[o].substring(7);break;case 31:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 32:case 33:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 34:s[o-1].unshift({type:"loopStart",loopText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.LOOP_START}),s[o-1].push({type:"loopEnd",loopText:s[o-2],signalType:r.LINETYPE.LOOP_END}),this.$=s[o-1];break;case 35:s[o-1].unshift({type:"rectStart",color:r.parseMessage(s[o-2]),signalType:r.LINETYPE.RECT_START}),s[o-1].push({type:"rectEnd",color:r.parseMessage(s[o-2]),signalType:r.LINETYPE.RECT_END}),this.$=s[o-1];break;case 36:s[o-1].unshift({type:"optStart",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.OPT_START}),s[o-1].push({type:"optEnd",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.OPT_END}),this.$=s[o-1];break;case 37:s[o-1].unshift({type:"altStart",altText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.ALT_START}),s[o-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=s[o-1];break;case 38:s[o-1].unshift({type:"parStart",parText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.PAR_START}),s[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=s[o-1];break;case 39:s[o-1].unshift({type:"parStart",parText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.PAR_OVER_START}),s[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=s[o-1];break;case 40:s[o-1].unshift({type:"criticalStart",criticalText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.CRITICAL_START}),s[o-1].push({type:"criticalEnd",signalType:r.LINETYPE.CRITICAL_END}),this.$=s[o-1];break;case 41:s[o-1].unshift({type:"breakStart",breakText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.BREAK_START}),s[o-1].push({type:"breakEnd",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.BREAK_END}),this.$=s[o-1];break;case 43:this.$=s[o-3].concat([{type:"option",optionText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.CRITICAL_OPTION},s[o]]);break;case 45:this.$=s[o-3].concat([{type:"and",parText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.PAR_AND},s[o]]);break;case 47:this.$=s[o-3].concat([{type:"else",altText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.ALT_ELSE},s[o]]);break;case 48:s[o-3].draw="participant",s[o-3].type="addParticipant",s[o-3].description=r.parseMessage(s[o-1]),this.$=s[o-3];break;case 49:s[o-1].draw="participant",s[o-1].type="addParticipant",this.$=s[o-1];break;case 50:s[o-3].draw="actor",s[o-3].type="addParticipant",s[o-3].description=r.parseMessage(s[o-1]),this.$=s[o-3];break;case 51:s[o-1].draw="actor",s[o-1].type="addParticipant",this.$=s[o-1];break;case 52:s[o-1].type="destroyParticipant",this.$=s[o-1];break;case 53:this.$=[s[o-1],{type:"addNote",placement:s[o-2],actor:s[o-1].actor,text:s[o]}];break;case 54:s[o-2]=[].concat(s[o-1],s[o-1]).slice(0,2),s[o-2][0]=s[o-2][0].actor,s[o-2][1]=s[o-2][1].actor,this.$=[s[o-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:s[o-2].slice(0,2),text:s[o]}];break;case 55:this.$=[s[o-1],{type:"addLinks",actor:s[o-1].actor,text:s[o]}];break;case 56:this.$=[s[o-1],{type:"addALink",actor:s[o-1].actor,text:s[o]}];break;case 57:this.$=[s[o-1],{type:"addProperties",actor:s[o-1].actor,text:s[o]}];break;case 58:this.$=[s[o-1],{type:"addDetails",actor:s[o-1].actor,text:s[o]}];break;case 61:this.$=[s[o-2],s[o]];break;case 63:this.$=r.PLACEMENT.LEFTOF;break;case 64:this.$=r.PLACEMENT.RIGHTOF;break;case 65:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o],activate:!0},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:s[o-1].actor}];break;case 66:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:s[o-4].actor}];break;case 67:this.$=[s[o-3],s[o-1],{type:"addMessage",from:s[o-3].actor,to:s[o-1].actor,signalType:s[o-2],msg:s[o]}];break;case 68:this.$={type:"addParticipant",actor:s[o]};break;case 69:this.$=r.LINETYPE.SOLID_OPEN;break;case 70:this.$=r.LINETYPE.DOTTED_OPEN;break;case 71:this.$=r.LINETYPE.SOLID;break;case 72:this.$=r.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=r.LINETYPE.DOTTED;break;case 74:this.$=r.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=r.LINETYPE.SOLID_CROSS;break;case 76:this.$=r.LINETYPE.DOTTED_CROSS;break;case 77:this.$=r.LINETYPE.SOLID_POINT;break;case 78:this.$=r.LINETYPE.DOTTED_POINT;break;case 79:this.$=r.parseMessage(s[o].trim().substring(1))}},"anonymous"),table:[{3:1,4:e,5:a,6:r},{1:[3]},{3:5,4:e,5:a,6:r},{3:6,4:e,5:a,6:r},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:s,5:o,8:8,9:10,12:12,13:c,14:l,17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:P,50:_,52:k,53:M,54:A,59:N,60:v,61:S,62:O,70:D},t(W,[2,5]),{9:47,12:12,13:c,14:l,17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:P,50:_,52:k,53:M,54:A,59:N,60:v,61:S,62:O,70:D},t(W,[2,7]),t(W,[2,8]),t(W,[2,14]),{12:48,50:_,52:k,53:M},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:D},{22:55,70:D},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(W,[2,29]),t(W,[2,30]),{32:[1,61]},{34:[1,62]},t(W,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:D},{22:72,70:D},{22:73,70:D},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:D},{22:90,70:D},{22:91,70:D},{22:92,70:D},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(W,[2,6]),t(W,[2,15]),t(R,[2,9],{10:93}),t(W,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(W,[2,21]),{5:[1,97]},{5:[1,98]},t(W,[2,24]),t(W,[2,25]),t(W,[2,26]),t(W,[2,27]),t(W,[2,28]),t(W,[2,31]),t(W,[2,32]),t(Y,i,{7:99}),t(Y,i,{7:100}),t(Y,i,{7:101}),t(C,i,{40:102,7:103}),t(B,i,{42:104,7:105}),t(B,i,{7:105,42:106}),t($,i,{45:107,7:108}),t(Y,i,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:D},t(V,[2,69]),t(V,[2,70]),t(V,[2,71]),t(V,[2,72]),t(V,[2,73]),t(V,[2,74]),t(V,[2,75]),t(V,[2,76]),t(V,[2,77]),t(V,[2,78]),{22:118,70:D},{22:120,58:119,70:D},{70:[2,63]},{70:[2,64]},{56:121,81:F},{56:123,81:F},{56:124,81:F},{56:125,81:F},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:_,52:k,53:M},{5:[1,131]},t(W,[2,19]),t(W,[2,20]),t(W,[2,22]),t(W,[2,23]),{4:s,5:o,8:8,9:10,12:12,13:c,14:l,16:[1,132],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:P,50:_,52:k,53:M,54:A,59:N,60:v,61:S,62:O,70:D},{4:s,5:o,8:8,9:10,12:12,13:c,14:l,16:[1,133],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:P,50:_,52:k,53:M,54:A,59:N,60:v,61:S,62:O,70:D},{4:s,5:o,8:8,9:10,12:12,13:c,14:l,16:[1,134],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:P,50:_,52:k,53:M,54:A,59:N,60:v,61:S,62:O,70:D},{16:[1,135]},{4:s,5:o,8:8,9:10,12:12,13:c,14:l,16:[2,46],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:P,49:[1,136],50:_,52:k,53:M,54:A,59:N,60:v,61:S,62:O,70:D},{16:[1,137]},{4:s,5:o,8:8,9:10,12:12,13:c,14:l,16:[2,44],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:P,48:[1,138],50:_,52:k,53:M,54:A,59:N,60:v,61:S,62:O,70:D},{16:[1,139]},{16:[1,140]},{4:s,5:o,8:8,9:10,12:12,13:c,14:l,16:[2,42],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:P,47:[1,141],50:_,52:k,53:M,54:A,59:N,60:v,61:S,62:O,70:D},{4:s,5:o,8:8,9:10,12:12,13:c,14:l,16:[1,142],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:P,50:_,52:k,53:M,54:A,59:N,60:v,61:S,62:O,70:D},{15:[1,143]},t(W,[2,49]),{15:[1,144]},t(W,[2,51]),t(W,[2,52]),{22:145,70:D},{22:146,70:D},{56:147,81:F},{56:148,81:F},{56:149,81:F},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(W,[2,16]),t(R,[2,10]),{12:151,50:_,52:k,53:M},t(R,[2,12]),t(R,[2,13]),t(W,[2,18]),t(W,[2,34]),t(W,[2,35]),t(W,[2,36]),t(W,[2,37]),{15:[1,152]},t(W,[2,38]),{15:[1,153]},t(W,[2,39]),t(W,[2,40]),{15:[1,154]},t(W,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:F},{56:158,81:F},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:D},t(R,[2,11]),t(C,i,{7:103,40:160}),t(B,i,{7:105,42:161}),t($,i,{7:108,45:162}),t(W,[2,48]),t(W,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:(0,n.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var a=Error(t);throw a.hash=e,a}},"parseError"),parse:(0,n.eW)(function(t){var e=this,a=[0],r=[],i=[null],s=[],o=this.table,c="",l=0,d=0,h=0,p=s.slice.call(arguments,1),g=Object.create(this.lexer),u={yy:{}};for(var x in this.yy)Object.prototype.hasOwnProperty.call(this.yy,x)&&(u.yy[x]=this.yy[x]);g.setInput(t,u.yy),u.yy.lexer=g,u.yy.parser=this,void 0===g.yylloc&&(g.yylloc={});var y=g.yylloc;s.push(y);var m=g.options&&g.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||g.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,n.eW)(function(t){a.length=a.length-2*t,i.length=i.length-t,s.length=s.length-t},"popStack"),(0,n.eW)(b,"lex");for(var T,f,E,w,I,L,P,_,k,M={};;){if(E=a[a.length-1],this.defaultActions[E]?w=this.defaultActions[E]:(null==T&&(T=b()),w=o[E]&&o[E][T]),void 0===w||!w.length||!w[0]){var A="";for(L in k=[],o[E])this.terminals_[L]&&L>2&&k.push("'"+this.terminals_[L]+"'");A=g.showPosition?"Parse error on line "+(l+1)+":\n"+g.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[T]||T)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==T?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[T]||T,line:g.yylineno,loc:y,expected:k})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+T);switch(w[0]){case 1:a.push(T),i.push(g.yytext),s.push(g.yylloc),a.push(w[1]),T=null,f?(T=f,f=null):(d=g.yyleng,c=g.yytext,l=g.yylineno,y=g.yylloc,h>0&&h--);break;case 2:if(P=this.productions_[w[1]][1],M.$=i[i.length-P],M._$={first_line:s[s.length-(P||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(P||1)].first_column,last_column:s[s.length-1].last_column},m&&(M._$.range=[s[s.length-(P||1)].range[0],s[s.length-1].range[1]]),void 0!==(I=this.performAction.apply(M,[c,d,l,u.yy,w[1],i,s].concat(p))))return I;P&&(a=a.slice(0,-1*P*2),i=i.slice(0,-1*P),s=s.slice(0,-1*P)),a.push(this.productions_[w[1]][0]),i.push(M.$),s.push(M._$),_=o[a[a.length-2]][a[a.length-1]],a.push(_);break;case 3:return!0}}return!0},"parse")},z={EOF:1,parseError:(0,n.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,n.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,n.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,n.eW)(function(t){var e=t.length,a=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===r.length?this.yylloc.first_column:0)+r[r.length-a.length].length-a[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,n.eW)(function(){return this._more=!0,this},"more"),reject:(0,n.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,n.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,n.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,n.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,n.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,n.eW)(function(t,e){var a,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],a=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack)for(var s in i)this[s]=i[s];return!1},"test_match"),next:(0,n.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,a,r,i=this._currentRules(),s=0;s<i.length;s++)if((a=this._input.match(this.rules[i[s]]))&&(!e||a[0].length>e[0].length)){if(e=a,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(a,i[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,n.eW)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,n.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,n.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,n.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,n.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,n.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,n.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,n.eW)(function(t,e,a,r){switch(a){case 0:case 51:case 66:return 5;case 1:case 2:case 3:case 4:case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 52:return e.yytext=e.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 68;case 65:return 69;case 67:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};function H(){this.yy={}}return q.lexer=z,(0,n.eW)(H,"Parser"),H.prototype=q,q.Parser=H,new H}();l.parser=l;var d=new i.A(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),h=(0,n.eW)(function(t){d.records.boxes.push({name:t.text,wrap:t.wrap??N(),fill:t.color,actorKeys:[]}),d.records.currentBox=d.records.boxes.slice(-1)[0]},"addBox"),p=(0,n.eW)(function(t,e,a,r){let i=d.records.currentBox,s=d.records.actors.get(t);if(s){if(d.records.currentBox&&s.box&&d.records.currentBox!==s.box)throw Error(`A same participant should only be defined in one Box: ${s.name} can't be in '${s.box.name}' and in '${d.records.currentBox.name}' at the same time.`);if(i=s.box?s.box:d.records.currentBox,s.box=i,s&&e===s.name&&null==a)return}if(a?.text==null&&(a={text:e,type:r}),(null==r||null==a.text)&&(a={text:e,type:r}),d.records.actors.set(t,{box:i,name:e,description:a.text,wrap:a.wrap??N(),prevActor:d.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:r??"participant"}),d.records.prevActor){let e=d.records.actors.get(d.records.prevActor);e&&(e.nextActor=t)}d.records.currentBox&&d.records.currentBox.actorKeys.push(t),d.records.prevActor=t},"addActor"),g=(0,n.eW)(t=>{let e;let a=0;if(!t)return 0;for(e=0;e<d.records.messages.length;e++)d.records.messages[e].type===D.ACTIVE_START&&d.records.messages[e].from===t&&a++,d.records.messages[e].type===D.ACTIVE_END&&d.records.messages[e].from===t&&a--;return a},"activationCount"),u=(0,n.eW)(function(t,e,a,r){d.records.messages.push({from:t,to:e,message:a.text,wrap:a.wrap??N(),answer:r})},"addMessage"),x=(0,n.eW)(function(t,e,a,r,i=!1){if(r===D.ACTIVE_END&&1>g(t??"")){let e=Error("Trying to inactivate an inactive participant ("+t+")");throw e.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return d.records.messages.push({from:t,to:e,message:a?.text??"",wrap:a?.wrap??N(),type:r,activate:i}),!0},"addSignal"),y=(0,n.eW)(function(){return d.records.boxes.length>0},"hasAtLeastOneBox"),m=(0,n.eW)(function(){return d.records.boxes.some(t=>t.name)},"hasAtLeastOneBoxWithTitle"),b=(0,n.eW)(function(){return d.records.messages},"getMessages"),T=(0,n.eW)(function(){return d.records.boxes},"getBoxes"),f=(0,n.eW)(function(){return d.records.actors},"getActors"),E=(0,n.eW)(function(){return d.records.createdActors},"getCreatedActors"),w=(0,n.eW)(function(){return d.records.destroyedActors},"getDestroyedActors"),I=(0,n.eW)(function(t){return d.records.actors.get(t)},"getActor"),L=(0,n.eW)(function(){return[...d.records.actors.keys()]},"getActorKeys"),P=(0,n.eW)(function(){d.records.sequenceNumbersEnabled=!0},"enableSequenceNumbers"),_=(0,n.eW)(function(){d.records.sequenceNumbersEnabled=!1},"disableSequenceNumbers"),k=(0,n.eW)(()=>d.records.sequenceNumbersEnabled,"showSequenceNumbers"),M=(0,n.eW)(function(t){d.records.wrapEnabled=t},"setWrap"),A=(0,n.eW)(t=>{if(void 0===t)return{};t=t.trim();let e=null!==/^:?wrap:/.exec(t)||null===/^:?nowrap:/.exec(t)&&void 0;return{cleanedText:(void 0===e?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}},"extractWrap"),N=(0,n.eW)(()=>void 0!==d.records.wrapEnabled?d.records.wrapEnabled:n.nV().sequence?.wrap??!1,"autoWrap"),v=(0,n.eW)(function(){d.reset(),(0,n.ZH)()},"clear"),S=(0,n.eW)(function(t){let{wrap:e,cleanedText:a}=A(t.trim()),r={text:a,wrap:e};return n.cM.debug(`parseMessage: ${JSON.stringify(r)}`),r},"parseMessage"),O=(0,n.eW)(function(t){let e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),a=e?.[1]?e[1].trim():"transparent",r=e?.[2]?e[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",a)||(a="transparent",r=t.trim());else{let e=new Option().style;e.color=a,e.color!==a&&(a="transparent",r=t.trim())}let{wrap:i,cleanedText:s}=A(r);return{text:s?(0,n.oO)(s,(0,n.nV)()):void 0,color:a,wrap:i}},"parseBoxData"),D={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},W=(0,n.eW)(function(t,e,a){let r={actor:t,placement:e,message:a.text,wrap:a.wrap??N()},i=[].concat(t,t);d.records.notes.push(r),d.records.messages.push({from:i[0],to:i[1],message:a.text,wrap:a.wrap??N(),type:D.NOTE,placement:e})},"addNote"),R=(0,n.eW)(function(t,e){let a=I(t);try{let t=(0,n.oO)(e.text,(0,n.nV)());t=(t=t.replace(/&/g,"&")).replace(/=/g,"=");let r=JSON.parse(t);C(a,r)}catch(t){n.cM.error("error while parsing actor link text",t)}},"addLinks"),Y=(0,n.eW)(function(t,e){let a=I(t);try{let t={},r=(0,n.oO)(e.text,(0,n.nV)()),i=r.indexOf("@"),s=(r=(r=r.replace(/&/g,"&")).replace(/=/g,"=")).slice(0,i-1).trim(),o=r.slice(i+1).trim();t[s]=o,C(a,t)}catch(t){n.cM.error("error while parsing actor link text",t)}},"addALink");function C(t,e){if(null==t.links)t.links=e;else for(let a in e)t.links[a]=e[a]}(0,n.eW)(C,"insertLinks");var B=(0,n.eW)(function(t,e){let a=I(t);try{let t=(0,n.oO)(e.text,(0,n.nV)()),r=JSON.parse(t);$(a,r)}catch(t){n.cM.error("error while parsing actor properties text",t)}},"addProperties");function $(t,e){if(null==t.properties)t.properties=e;else for(let a in e)t.properties[a]=e[a]}function V(){d.records.currentBox=void 0}(0,n.eW)($,"insertProperties"),(0,n.eW)(V,"boxEnd");var F=(0,n.eW)(function(t,e){let a=I(t),r=document.getElementById(e.text);try{let t=r.innerHTML,e=JSON.parse(t);e.properties&&$(a,e.properties),e.links&&C(a,e.links)}catch(t){n.cM.error("error while parsing actor details text",t)}},"addDetails"),q=(0,n.eW)(function(t,e){if(t?.properties!==void 0)return t.properties[e]},"getActorProperty"),z=(0,n.eW)(function(t){if(Array.isArray(t))t.forEach(function(t){z(t)});else switch(t.type){case"sequenceIndex":d.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":p(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(d.records.actors.has(t.actor))throw Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");d.records.lastCreated=t.actor,p(t.actor,t.actor,t.description,t.draw),d.records.createdActors.set(t.actor,d.records.messages.length);break;case"destroyParticipant":d.records.lastDestroyed=t.actor,d.records.destroyedActors.set(t.actor,d.records.messages.length);break;case"activeStart":case"activeEnd":x(t.actor,void 0,void 0,t.signalType);break;case"addNote":W(t.actor,t.placement,t.text);break;case"addLinks":R(t.actor,t.text);break;case"addALink":Y(t.actor,t.text);break;case"addProperties":B(t.actor,t.text);break;case"addDetails":F(t.actor,t.text);break;case"addMessage":if(d.records.lastCreated){if(t.to!==d.records.lastCreated)throw Error("The created participant "+d.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");d.records.lastCreated=void 0}else if(d.records.lastDestroyed){if(t.to!==d.records.lastDestroyed&&t.from!==d.records.lastDestroyed)throw Error("The destroyed participant "+d.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");d.records.lastDestroyed=void 0}x(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":h(t.boxData);break;case"boxEnd":V();break;case"loopStart":x(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":x(void 0,void 0,void 0,t.signalType);break;case"rectStart":x(void 0,void 0,t.color,t.signalType);break;case"optStart":x(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":x(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":(0,n.GN)(t.text);break;case"parStart":case"and":x(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":x(void 0,void 0,t.criticalText,t.signalType);break;case"option":x(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":x(void 0,void 0,t.breakText,t.signalType)}},"apply"),H={addActor:p,addMessage:u,addSignal:x,addLinks:R,addDetails:F,addProperties:B,autoWrap:N,setWrap:M,enableSequenceNumbers:P,disableSequenceNumbers:_,showSequenceNumbers:k,getMessages:b,getActors:f,getCreatedActors:E,getDestroyedActors:w,getActor:I,getActorKeys:L,getActorProperty:q,getAccTitle:n.eu,getBoxes:T,getDiagramTitle:n.Kr,setDiagramTitle:n.g2,getConfig:(0,n.eW)(()=>(0,n.nV)().sequence,"getConfig"),clear:v,parseMessage:S,parseBoxData:O,LINETYPE:D,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:W,setAccTitle:n.GN,apply:z,setAccDescription:n.U$,getAccDescription:n.Mx,hasAtLeastOneBox:y,hasAtLeastOneBoxWithTitle:m},U=(0,n.eW)(t=>`.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + #arrowhead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${t.signalColor}; + } + + #crosshead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + .actor-man circle, line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: 2px; + } +`,"getStyles"),j="actor-top",K="actor-bottom",G="actor-man",X=(0,n.eW)(function(t,e){return(0,r.Mu)(t,e)},"drawRect"),J=(0,n.eW)(function(t,e,a,r,i){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return{height:0,width:0};let s=e.links,n=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");let d=t.append("g");d.attr("id","actor"+n+"_popup"),d.attr("class","actorPopupMenu"),d.attr("display",l);var h="";void 0!==o.class&&(h=" "+o.class);let p=o.width>a?o.width:a,g=d.append("rect");if(g.attr("class","actorPopupMenuPanel"+h),g.attr("x",o.x),g.attr("y",o.height),g.attr("fill",o.fill),g.attr("stroke",o.stroke),g.attr("width",p),g.attr("height",o.height),g.attr("rx",o.rx),g.attr("ry",o.ry),null!=s){var u=20;for(let t in s){var x=d.append("a"),y=(0,c.sanitizeUrl)(s[t]);x.attr("xlink:href",y),x.attr("target","_blank"),tw(r)(t,x,o.x+10,o.height+u,p,20,{class:"actor"},r),u+=30}}return g.attr("height",u),{height:o.height+u,width:p}},"drawPopup"),Z=(0,n.eW)(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),Q=(0,n.eW)(async function(t,e,a=null){let r=t.append("foreignObject"),i=await (0,n.uT)(e.text,(0,n.iE)()),s=r.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(r.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),"noteText"===e.class){let a=t.node().firstChild;a.setAttribute("height",s.height+2*e.textMargin);let i=a.getBBox();r.attr("x",Math.round(i.x+i.width/2-s.width/2)).attr("y",Math.round(i.y+i.height/2-s.height/2))}else if(a){let{startx:t,stopx:i,starty:n}=a;if(t>i){let e=t;t=i,i=e}r.attr("x",Math.round(t+Math.abs(t-i)/2-s.width/2)),"loopText"===e.class?r.attr("y",Math.round(n)):r.attr("y",Math.round(n-s.height))}return[r]},"drawKatex"),tt=(0,n.eW)(function(t,e){let a=0,r=0,i=e.text.split(n.SY.lineBreakRegex),[o,c]=(0,s.VG)(e.fontSize),l=[],d=0,h=(0,n.eW)(()=>e.y,"yfunc");if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":h=(0,n.eW)(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=(0,n.eW)(()=>Math.round(e.y+(a+r+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=(0,n.eW)(()=>Math.round(e.y+(a+r+2*e.textMargin)-e.textMargin),"yfunc")}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle"}for(let[n,p]of i.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==o&&(d=n*o);let i=t.append("text");i.attr("x",e.x),i.attr("y",h()),void 0!==e.anchor&&i.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&i.style("font-family",e.fontFamily),void 0!==c&&i.style("font-size",c),void 0!==e.fontWeight&&i.style("font-weight",e.fontWeight),void 0!==e.fill&&i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class),void 0!==e.dy?i.attr("dy",e.dy):0!==d&&i.attr("dy",d);let g=p||s.$m;if(e.tspan){let t=i.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(g)}else i.text(g);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(r+=(i._groups||i)[0][0].getBBox().height,a=r),l.push(i)}return l},"drawText"),te=(0,n.eW)(function(t,e){function a(t,e,a,r,i){return t+","+e+" "+(t+a)+","+e+" "+(t+a)+","+(e+r-i)+" "+(t+a-1.2*i)+","+(e+r)+" "+t+","+(e+r)}(0,n.eW)(a,"genPoints");let r=t.append("polygon");return r.attr("points",a(e.x,e.y,e.width,e.height,7)),r.attr("class","labelBox"),e.y=e.y+e.height/2,tt(t,e),r},"drawLabel"),ta=-1,tr=(0,n.eW)((t,e,a,r)=>{t.select&&a.forEach(a=>{let i=e.get(a),s=t.select("#actor"+i.actorCnt);!r.mirrorActors&&i.stopy?s.attr("y2",i.stopy+i.height/2):r.mirrorActors&&s.attr("y2",i.stopy)})},"fixLifeLineHeights"),ti=(0,n.eW)(function(t,e,a,i){let s=i?e.stopy:e.starty,o=e.x+e.width/2,c=s+e.height,l=t.append("g").lower();var d=l;i||(ta++,Object.keys(e.links||{}).length&&!a.forceMenus&&d.attr("onclick",Z(`actor${ta}_popup`)).attr("cursor","pointer"),d.append("line").attr("id","actor"+ta).attr("x1",o).attr("y1",c).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),d=l.append("g"),e.actorCnt=ta,null!=e.links&&d.attr("id","root-"+ta));let h=(0,r.kc)();var p="actor";e.properties?.class?p=e.properties.class:h.fill="#eaeaea",i?p+=` ${K}`:p+=` ${j}`,h.x=e.x,h.y=s,h.width=e.width,h.height=e.height,h.class=p,h.rx=3,h.ry=3,h.name=e.name;let g=X(d,h);if(e.rectData=h,e.properties?.icon){let t=e.properties.icon.trim();"@"===t.charAt(0)?(0,r.rB)(d,h.x+h.width-20,h.y+10,t.substr(1)):(0,r.AE)(d,h.x+h.width-20,h.y+10,t)}tE(a,(0,n.l0)(e.description))(e.description,d,h.x,h.y,h.width,h.height,{class:"actor actor-box"},a);let u=e.height;if(g.node){let t=g.node().getBBox();e.height=t.height,u=t.height}return u},"drawActorTypeParticipant"),ts=(0,n.eW)(function(t,e,a,i){let s=i?e.stopy:e.starty,o=e.x+e.width/2,c=s+80,l=t.append("g").lower();i||(ta++,l.append("line").attr("id","actor"+ta).attr("x1",o).attr("y1",c).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=ta);let d=t.append("g"),h=G;i?h+=` ${K}`:h+=` ${j}`,d.attr("class",h),d.attr("name",e.name);let p=(0,r.kc)();p.x=e.x,p.y=s,p.fill="#eaeaea",p.width=e.width,p.height=e.height,p.class="actor",p.rx=3,p.ry=3,d.append("line").attr("id","actor-man-torso"+ta).attr("x1",o).attr("y1",s+25).attr("x2",o).attr("y2",s+45),d.append("line").attr("id","actor-man-arms"+ta).attr("x1",o-18).attr("y1",s+33).attr("x2",o+18).attr("y2",s+33),d.append("line").attr("x1",o-18).attr("y1",s+60).attr("x2",o).attr("y2",s+45),d.append("line").attr("x1",o).attr("y1",s+45).attr("x2",o+18-2).attr("y2",s+60);let g=d.append("circle");g.attr("cx",e.x+e.width/2),g.attr("cy",s+10),g.attr("r",15),g.attr("width",e.width),g.attr("height",e.height);let u=d.node().getBBox();return e.height=u.height,tE(a,(0,n.l0)(e.description))(e.description,d,p.x,p.y+35,p.width,p.height,{class:`actor ${G}`},a),e.height},"drawActorTypeActor"),tn=(0,n.eW)(async function(t,e,a,r){switch(e.type){case"actor":return await ts(t,e,a,r);case"participant":return await ti(t,e,a,r)}},"drawActor"),to=(0,n.eW)(function(t,e,a){let r=t.append("g");th(r,e),e.name&&tE(a)(e.name,r,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},a),r.lower()},"drawBox"),tc=(0,n.eW)(function(t){return t.append("g")},"anchorElement"),tl=(0,n.eW)(function(t,e,a,i,s){let n=(0,r.kc)(),o=e.anchored;n.x=e.startx,n.y=e.starty,n.class="activation"+s%3,n.width=e.stopx-e.startx,n.height=a-e.starty,X(o,n)},"drawActivation"),td=(0,n.eW)(async function(t,e,a,i){let{boxMargin:s,boxTextMargin:o,labelBoxHeight:c,labelBoxWidth:l,messageFontFamily:d,messageFontSize:h,messageFontWeight:p}=i,g=t.append("g"),u=(0,n.eW)(function(t,e,a,r){return g.append("line").attr("x1",t).attr("y1",e).attr("x2",a).attr("y2",r).attr("class","loopLine")},"drawLoopLine");u(e.startx,e.starty,e.stopx,e.starty),u(e.stopx,e.starty,e.stopx,e.stopy),u(e.startx,e.stopy,e.stopx,e.stopy),u(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach(function(t){u(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")});let x=(0,r.AD)();x.text=a,x.x=e.startx,x.y=e.starty,x.fontFamily=d,x.fontSize=h,x.fontWeight=p,x.anchor="middle",x.valign="middle",x.tspan=!1,x.width=l||50,x.height=c||20,x.textMargin=o,x.class="labelText",te(g,x),(x=tT()).text=e.title,x.x=e.startx+l/2+(e.stopx-e.startx)/2,x.y=e.starty+s+o,x.anchor="middle",x.valign="middle",x.textMargin=o,x.class="loopText",x.fontFamily=d,x.fontSize=h,x.fontWeight=p,x.wrap=!0;let y=(0,n.l0)(x.text)?await Q(g,x,e):tt(g,x);if(void 0!==e.sectionTitles){for(let[t,a]of Object.entries(e.sectionTitles))if(a.message){x.text=a.message,x.x=e.startx+(e.stopx-e.startx)/2,x.y=e.sections[t].y+s+o,x.class="loopText",x.anchor="middle",x.valign="middle",x.tspan=!1,x.fontFamily=d,x.fontSize=h,x.fontWeight=p,x.wrap=e.wrap,(0,n.l0)(x.text)?(e.starty=e.sections[t].y,await Q(g,x,e)):tt(g,x);let r=Math.round(y.map(t=>(t._groups||t)[0][0].getBBox().height).reduce((t,e)=>t+e));e.sections[t].height+=r-(s+o)}}return e.height=Math.round(e.stopy-e.starty),g},"drawLoop"),th=(0,n.eW)(function(t,e){(0,r.O)(t,e)},"drawBackgroundRect"),tp=(0,n.eW)(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),tg=(0,n.eW)(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),tu=(0,n.eW)(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),tx=(0,n.eW)(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),ty=(0,n.eW)(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),tm=(0,n.eW)(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),tb=(0,n.eW)(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),tT=(0,n.eW)(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),tf=(0,n.eW)(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),tE=function(){function t(t,e,a,r,s,n,o){i(e.append("text").attr("x",a+s/2).attr("y",r+n/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,a,r,o,c,l,d){let{actorFontSize:h,actorFontFamily:p,actorFontWeight:g}=d,[u,x]=(0,s.VG)(h),y=t.split(n.SY.lineBreakRegex);for(let t=0;t<y.length;t++){let s=t*u-u*(y.length-1)/2,n=e.append("text").attr("x",a+o/2).attr("y",r).style("text-anchor","middle").style("font-size",x).style("font-weight",g).style("font-family",p);n.append("tspan").attr("x",a+o/2).attr("dy",s).text(y[t]),n.attr("y",r+c/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(n,l)}}function a(t,a,r,s,n,o,c,l){let d=a.append("switch"),h=d.append("foreignObject").attr("x",r).attr("y",s).attr("width",n).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,d,r,s,n,o,c,l),i(h,c)}async function r(t,a,r,s,o,c,l,d){let h=await (0,n.nH)(t,(0,n.iE)()),p=a.append("switch"),g=p.append("foreignObject").attr("x",r+o/2-h.width/2).attr("y",s+c/2-h.height/2).attr("width",h.width).attr("height",h.height).append("xhtml:div").style("height","100%").style("width","100%");g.append("div").style("text-align","center").style("vertical-align","middle").html(await (0,n.uT)(t,(0,n.iE)())),e(t,p,r,s,o,c,l,d),i(g,l)}function i(t,e){for(let a in e)e.hasOwnProperty(a)&&t.attr(a,e[a])}return(0,n.eW)(t,"byText"),(0,n.eW)(e,"byTspan"),(0,n.eW)(a,"byFo"),(0,n.eW)(r,"byKatex"),(0,n.eW)(i,"_setTextAttrs"),function(i,s=!1){return s?r:"fo"===i.textPlacement?a:"old"===i.textPlacement?t:e}}(),tw=function(){function t(t,e,a,i,s,n,o){r(e.append("text").attr("x",a).attr("y",i).style("text-anchor","start").text(t),o)}function e(t,e,a,i,s,o,c,l){let{actorFontSize:d,actorFontFamily:h,actorFontWeight:p}=l,g=t.split(n.SY.lineBreakRegex);for(let t=0;t<g.length;t++){let s=t*d-d*(g.length-1)/2,n=e.append("text").attr("x",a).attr("y",i).style("text-anchor","start").style("font-size",d).style("font-weight",p).style("font-family",h);n.append("tspan").attr("x",a).attr("dy",s).text(g[t]),n.attr("y",i+o/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(n,c)}}function a(t,a,i,s,n,o,c,l){let d=a.append("switch"),h=d.append("foreignObject").attr("x",i).attr("y",s).attr("width",n).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,d,i,s,n,o,c,l),r(h,c)}function r(t,e){for(let a in e)e.hasOwnProperty(a)&&t.attr(a,e[a])}return(0,n.eW)(t,"byText"),(0,n.eW)(e,"byTspan"),(0,n.eW)(a,"byFo"),(0,n.eW)(r,"_setTextAttrs"),function(r){return"fo"===r.textPlacement?a:"old"===r.textPlacement?t:e}}(),tI={drawRect:X,drawText:tt,drawLabel:te,drawActor:tn,drawBox:to,drawPopup:J,anchorElement:tc,drawActivation:tl,drawLoop:td,drawBackgroundRect:th,insertArrowHead:tx,insertArrowFilledHead:ty,insertSequenceNumber:tm,insertArrowCrossHead:tb,insertDatabaseIcon:tp,insertComputerIcon:tg,insertClockIcon:tu,getTextObj:tT,getNoteRect:tf,fixLifeLineHeights:tr,sanitizeUrl:c.sanitizeUrl},tL={},tP={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:(0,n.eW)(function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map(t=>t.height||0))+(0===this.loops.length?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(0===this.messages.length?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(0===this.notes.length?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:(0,n.eW)(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:(0,n.eW)(function(t){this.boxes.push(t)},"addBox"),addActor:(0,n.eW)(function(t){this.actors.push(t)},"addActor"),addLoop:(0,n.eW)(function(t){this.loops.push(t)},"addLoop"),addMessage:(0,n.eW)(function(t){this.messages.push(t)},"addMessage"),addNote:(0,n.eW)(function(t){this.notes.push(t)},"addNote"),lastActor:(0,n.eW)(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:(0,n.eW)(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:(0,n.eW)(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:(0,n.eW)(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:(0,n.eW)(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,tW((0,n.nV)())},"init"),updateVal:(0,n.eW)(function(t,e,a,r){void 0===t[e]?t[e]=a:t[e]=r(a,t[e])},"updateVal"),updateBounds:(0,n.eW)(function(t,e,a,r){let i=this,s=0;function o(o){return(0,n.eW)(function(n){s++;let c=i.sequenceItems.length-s+1;i.updateVal(n,"starty",e-c*tL.boxMargin,Math.min),i.updateVal(n,"stopy",r+c*tL.boxMargin,Math.max),i.updateVal(tP.data,"startx",t-c*tL.boxMargin,Math.min),i.updateVal(tP.data,"stopx",a+c*tL.boxMargin,Math.max),"activation"!==o&&(i.updateVal(n,"startx",t-c*tL.boxMargin,Math.min),i.updateVal(n,"stopx",a+c*tL.boxMargin,Math.max),i.updateVal(tP.data,"starty",e-c*tL.boxMargin,Math.min),i.updateVal(tP.data,"stopy",r+c*tL.boxMargin,Math.max))},"updateItemBounds")}(0,n.eW)(o,"updateFn"),this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))},"updateBounds"),insert:(0,n.eW)(function(t,e,a,r){let i=n.SY.getMin(t,a),s=n.SY.getMax(t,a),o=n.SY.getMin(e,r),c=n.SY.getMax(e,r);this.updateVal(tP.data,"startx",i,Math.min),this.updateVal(tP.data,"starty",o,Math.min),this.updateVal(tP.data,"stopx",s,Math.max),this.updateVal(tP.data,"stopy",c,Math.max),this.updateBounds(i,o,s,c)},"insert"),newActivation:(0,n.eW)(function(t,e,a){let r=a.get(t.from),i=tR(t.from).length||0,s=r.x+r.width/2+(i-1)*tL.activationWidth/2;this.activations.push({startx:s,starty:this.verticalPos+2,stopx:s+tL.activationWidth,stopy:void 0,actor:t.from,anchored:tI.anchorElement(e)})},"newActivation"),endActivation:(0,n.eW)(function(t){let e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:(0,n.eW)(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:(0,n.eW)(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:(0,n.eW)(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:(0,n.eW)(function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap},"isLoopOverlap"),addSectionToLoop:(0,n.eW)(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:tP.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:(0,n.eW)(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:(0,n.eW)(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:(0,n.eW)(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=n.SY.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:(0,n.eW)(function(){return this.verticalPos},"getVerticalPos"),getBounds:(0,n.eW)(function(){return{bounds:this.data,models:this.models}},"getBounds")},t_=(0,n.eW)(async function(t,e){tP.bumpVerticalPos(tL.boxMargin),e.height=tL.boxMargin,e.starty=tP.getVerticalPos();let a=(0,r.kc)();a.x=e.startx,a.y=e.starty,a.width=e.width||tL.width,a.class="note";let i=t.append("g"),s=tI.drawRect(i,a),o=(0,r.AD)();o.x=e.startx,o.y=e.starty,o.width=a.width,o.dy="1em",o.text=e.message,o.class="noteText",o.fontFamily=tL.noteFontFamily,o.fontSize=tL.noteFontSize,o.fontWeight=tL.noteFontWeight,o.anchor=tL.noteAlign,o.textMargin=tL.noteMargin,o.valign="center";let c=Math.round(((0,n.l0)(o.text)?await Q(i,o):tt(i,o)).map(t=>(t._groups||t)[0][0].getBBox().height).reduce((t,e)=>t+e));s.attr("height",c+2*tL.noteMargin),e.height+=c+2*tL.noteMargin,tP.bumpVerticalPos(c+2*tL.noteMargin),e.stopy=e.starty+c+2*tL.noteMargin,e.stopx=e.startx+a.width,tP.insert(e.startx,e.starty,e.stopx,e.stopy),tP.models.addNote(e)},"drawNote"),tk=(0,n.eW)(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),tM=(0,n.eW)(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),tA=(0,n.eW)(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function tN(t,e){let a;tP.bumpVerticalPos(10);let{startx:r,stopx:i,message:o}=e,c=n.SY.splitBreaks(o).length,l=(0,n.l0)(o),d=l?await (0,n.nH)(o,(0,n.nV)()):s.w8.calculateTextDimensions(o,tk(tL));if(!l){let t=d.height/c;e.height+=t,tP.bumpVerticalPos(t)}let h=d.height-10,p=d.width;if(r===i){a=tP.getVerticalPos()+h,tL.rightAngles||(h+=tL.boxMargin,a=tP.getVerticalPos()+h),h+=30;let t=n.SY.getMax(p/2,tL.width/2);tP.insert(r-t,tP.getVerticalPos()-10+h,i+t,tP.getVerticalPos()+30+h)}else h+=tL.boxMargin,a=tP.getVerticalPos()+h,tP.insert(r,a-10,i,a);return tP.bumpVerticalPos(h),e.height+=h,e.stopy=e.starty+e.height,tP.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),a}(0,n.eW)(tN,"boundMessage");var tv=(0,n.eW)(async function(t,e,a,i){let o;let{startx:c,stopx:l,starty:d,message:h,type:p,sequenceIndex:g,sequenceVisible:u}=e,x=s.w8.calculateTextDimensions(h,tk(tL)),y=(0,r.AD)();y.x=c,y.y=d+10,y.width=l-c,y.class="messageText",y.dy="1em",y.text=h,y.fontFamily=tL.messageFontFamily,y.fontSize=tL.messageFontSize,y.fontWeight=tL.messageFontWeight,y.anchor=tL.messageAlign,y.valign="center",y.textMargin=tL.wrapPadding,y.tspan=!1,(0,n.l0)(y.text)?await Q(t,y,{startx:c,stopx:l,starty:a}):tt(t,y);let m=x.width;c===l?o=tL.rightAngles?t.append("path").attr("d",`M ${c},${a} H ${c+n.SY.getMax(tL.width/2,m/2)} V ${a+25} H ${c}`):t.append("path").attr("d","M "+c+","+a+" C "+(c+60)+","+(a-10)+" "+(c+60)+","+(a+30)+" "+c+","+(a+20)):((o=t.append("line")).attr("x1",c),o.attr("y1",a),o.attr("x2",l),o.attr("y2",a)),p===i.db.LINETYPE.DOTTED||p===i.db.LINETYPE.DOTTED_CROSS||p===i.db.LINETYPE.DOTTED_POINT||p===i.db.LINETYPE.DOTTED_OPEN||p===i.db.LINETYPE.BIDIRECTIONAL_DOTTED?(o.style("stroke-dasharray","3, 3"),o.attr("class","messageLine1")):o.attr("class","messageLine0");let b="";tL.arrowMarkerAbsolute&&(b=(b=(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),o.attr("stroke-width",2),o.attr("stroke","none"),o.style("fill","none"),(p===i.db.LINETYPE.SOLID||p===i.db.LINETYPE.DOTTED)&&o.attr("marker-end","url("+b+"#arrowhead)"),(p===i.db.LINETYPE.BIDIRECTIONAL_SOLID||p===i.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(o.attr("marker-start","url("+b+"#arrowhead)"),o.attr("marker-end","url("+b+"#arrowhead)")),(p===i.db.LINETYPE.SOLID_POINT||p===i.db.LINETYPE.DOTTED_POINT)&&o.attr("marker-end","url("+b+"#filled-head)"),(p===i.db.LINETYPE.SOLID_CROSS||p===i.db.LINETYPE.DOTTED_CROSS)&&o.attr("marker-end","url("+b+"#crosshead)"),(u||tL.showSequenceNumbers)&&(o.attr("marker-start","url("+b+"#sequencenumber)"),t.append("text").attr("x",c).attr("y",a+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(g))},"drawMessage"),tS=(0,n.eW)(function(t,e,a,r,i,s,o){let c,l=0,d=0,h=0;for(let t of r){let r=e.get(t),s=r.box;c&&c!=s&&(o||tP.models.addBox(c),d+=tL.boxMargin+c.margin),s&&s!=c&&(o||(s.x=l+d,s.y=i),d+=s.margin),r.width=r.width||tL.width,r.height=n.SY.getMax(r.height||tL.height,tL.height),r.margin=r.margin||tL.actorMargin,h=n.SY.getMax(h,r.height),a.get(r.name)&&(d+=r.width/2),r.x=l+d,r.starty=tP.getVerticalPos(),tP.insert(r.x,i,r.x+r.width,r.height),l+=r.width+d,r.box&&(r.box.width=l+s.margin-r.box.x),d=r.margin,c=r.box,tP.models.addActor(r)}c&&!o&&tP.models.addBox(c),tP.bumpVerticalPos(h)},"addActorRenderingData"),tO=(0,n.eW)(async function(t,e,a,r){if(r){let r=0;for(let i of(tP.bumpVerticalPos(2*tL.boxMargin),a)){let a=e.get(i);a.stopy||(a.stopy=tP.getVerticalPos());let s=await tI.drawActor(t,a,tL,!0);r=n.SY.getMax(r,s)}tP.bumpVerticalPos(r+tL.boxMargin)}else for(let r of a){let a=e.get(r);await tI.drawActor(t,a,tL,!1)}},"drawActors"),tD=(0,n.eW)(function(t,e,a,r){let i=0,s=0;for(let n of a){let a=e.get(n),o=tF(a),c=tI.drawPopup(t,a,o,tL,tL.forceMenus,r);c.height>i&&(i=c.height),c.width+a.x>s&&(s=c.width+a.x)}return{maxHeight:i,maxWidth:s}},"drawActorsPopup"),tW=(0,n.eW)(function(t){(0,n.Yc)(tL,t),t.fontFamily&&(tL.actorFontFamily=tL.noteFontFamily=tL.messageFontFamily=t.fontFamily),t.fontSize&&(tL.actorFontSize=tL.noteFontSize=tL.messageFontSize=t.fontSize),t.fontWeight&&(tL.actorFontWeight=tL.noteFontWeight=tL.messageFontWeight=t.fontWeight)},"setConf"),tR=(0,n.eW)(function(t){return tP.activations.filter(function(e){return e.actor===t})},"actorActivations"),tY=(0,n.eW)(function(t,e){let a=e.get(t),r=tR(t);return[r.reduce(function(t,e){return n.SY.getMin(t,e.startx)},a.x+a.width/2-1),r.reduce(function(t,e){return n.SY.getMax(t,e.stopx)},a.x+a.width/2+1)]},"activationBounds");function tC(t,e,a,r,i){tP.bumpVerticalPos(a);let o=r;if(e.id&&e.message&&t[e.id]){let a=t[e.id].width,i=tk(tL);e.message=s.w8.wrapLabel(`[${e.message}]`,a-2*tL.wrapPadding,i),e.width=a,e.wrap=!0;let c=s.w8.calculateTextDimensions(e.message,i),l=n.SY.getMax(c.height,tL.labelBoxHeight);o=r+l,n.cM.debug(`${l} - ${e.message}`)}i(e),tP.bumpVerticalPos(o)}function tB(t,e,a,r,i,s,o){function c(a,r){a.x<i.get(t.from).x?(tP.insert(e.stopx-r,e.starty,e.startx,e.stopy+a.height/2+tL.noteMargin),e.stopx=e.stopx+r):(tP.insert(e.startx,e.starty,e.stopx+r,e.stopy+a.height/2+tL.noteMargin),e.stopx=e.stopx-r)}function l(a,r){a.x<i.get(t.to).x?(tP.insert(e.startx-r,e.starty,e.stopx,e.stopy+a.height/2+tL.noteMargin),e.startx=e.startx+r):(tP.insert(e.stopx,e.starty,e.startx+r,e.stopy+a.height/2+tL.noteMargin),e.startx=e.startx-r)}if((0,n.eW)(c,"receiverAdjustment"),(0,n.eW)(l,"senderAdjustment"),s.get(t.to)==r){let e=i.get(t.to),r="actor"==e.type?21:e.width/2+3;c(e,r),e.starty=a-e.height/2,tP.bumpVerticalPos(e.height/2)}else if(o.get(t.from)==r){let e=i.get(t.from);if(tL.mirrorActors){let t="actor"==e.type?18:e.width/2;l(e,t)}e.stopy=a-e.height/2,tP.bumpVerticalPos(e.height/2)}else if(o.get(t.to)==r){let e=i.get(t.to);if(tL.mirrorActors){let t="actor"==e.type?21:e.width/2+3;c(e,t)}e.stopy=a-e.height/2,tP.bumpVerticalPos(e.height/2)}}(0,n.eW)(tC,"adjustLoopHeightForWrap"),(0,n.eW)(tB,"adjustCreatedDestroyedData");var t$=(0,n.eW)(async function(t,e,a,r){let i;let{securityLevel:s,sequence:c}=(0,n.nV)();tL=c,"sandbox"===s&&(i=(0,o.Ys)("#i"+e));let l="sandbox"===s?(0,o.Ys)(i.nodes()[0].contentDocument.body):(0,o.Ys)("body"),d="sandbox"===s?i.nodes()[0].contentDocument:document;tP.init(),n.cM.debug(r.db);let h="sandbox"===s?l.select(`[id="${e}"]`):(0,o.Ys)(`[id="${e}"]`),p=r.db.getActors(),g=r.db.getCreatedActors(),u=r.db.getDestroyedActors(),x=r.db.getBoxes(),y=r.db.getActorKeys(),m=r.db.getMessages(),b=r.db.getDiagramTitle(),T=r.db.hasAtLeastOneBox(),f=r.db.hasAtLeastOneBoxWithTitle(),E=await tV(p,m,r);if(tL.height=await tq(p,E,x),tI.insertComputerIcon(h),tI.insertDatabaseIcon(h),tI.insertClockIcon(h),T&&(tP.bumpVerticalPos(tL.boxMargin),f&&tP.bumpVerticalPos(x[0].textMaxHeight)),!0===tL.hideUnusedParticipants){let t=new Set;m.forEach(e=>{t.add(e.from),t.add(e.to)}),y=y.filter(e=>t.has(e))}tS(h,p,g,y,0,m,!1);let w=await tU(m,p,E,r);function I(t,e){let a=tP.endActivation(t);a.starty+18>e&&(a.starty=e-6,e+=12),tI.drawActivation(h,a,e,tL,tR(t.from).length),tP.insert(a.startx,e-10,a.stopx,e)}tI.insertArrowHead(h),tI.insertArrowCrossHead(h),tI.insertArrowFilledHead(h),tI.insertSequenceNumber(h),(0,n.eW)(I,"activeEnd");let L=1,P=1,_=[],k=[],M=0;for(let t of m){let e,a,i;switch(t.type){case r.db.LINETYPE.NOTE:tP.resetVerticalPos(),a=t.noteModel,await t_(h,a);break;case r.db.LINETYPE.ACTIVE_START:tP.newActivation(t,h,p);break;case r.db.LINETYPE.ACTIVE_END:I(t,tP.getVerticalPos());break;case r.db.LINETYPE.LOOP_START:tC(w,t,tL.boxMargin,tL.boxMargin+tL.boxTextMargin,t=>tP.newLoop(t));break;case r.db.LINETYPE.LOOP_END:e=tP.endLoop(),await tI.drawLoop(h,e,"loop",tL),tP.bumpVerticalPos(e.stopy-tP.getVerticalPos()),tP.models.addLoop(e);break;case r.db.LINETYPE.RECT_START:tC(w,t,tL.boxMargin,tL.boxMargin,t=>tP.newLoop(void 0,t.message));break;case r.db.LINETYPE.RECT_END:e=tP.endLoop(),k.push(e),tP.models.addLoop(e),tP.bumpVerticalPos(e.stopy-tP.getVerticalPos());break;case r.db.LINETYPE.OPT_START:tC(w,t,tL.boxMargin,tL.boxMargin+tL.boxTextMargin,t=>tP.newLoop(t));break;case r.db.LINETYPE.OPT_END:e=tP.endLoop(),await tI.drawLoop(h,e,"opt",tL),tP.bumpVerticalPos(e.stopy-tP.getVerticalPos()),tP.models.addLoop(e);break;case r.db.LINETYPE.ALT_START:tC(w,t,tL.boxMargin,tL.boxMargin+tL.boxTextMargin,t=>tP.newLoop(t));break;case r.db.LINETYPE.ALT_ELSE:tC(w,t,tL.boxMargin+tL.boxTextMargin,tL.boxMargin,t=>tP.addSectionToLoop(t));break;case r.db.LINETYPE.ALT_END:e=tP.endLoop(),await tI.drawLoop(h,e,"alt",tL),tP.bumpVerticalPos(e.stopy-tP.getVerticalPos()),tP.models.addLoop(e);break;case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:tC(w,t,tL.boxMargin,tL.boxMargin+tL.boxTextMargin,t=>tP.newLoop(t)),tP.saveVerticalPos();break;case r.db.LINETYPE.PAR_AND:tC(w,t,tL.boxMargin+tL.boxTextMargin,tL.boxMargin,t=>tP.addSectionToLoop(t));break;case r.db.LINETYPE.PAR_END:e=tP.endLoop(),await tI.drawLoop(h,e,"par",tL),tP.bumpVerticalPos(e.stopy-tP.getVerticalPos()),tP.models.addLoop(e);break;case r.db.LINETYPE.AUTONUMBER:L=t.message.start||L,P=t.message.step||P,t.message.visible?r.db.enableSequenceNumbers():r.db.disableSequenceNumbers();break;case r.db.LINETYPE.CRITICAL_START:tC(w,t,tL.boxMargin,tL.boxMargin+tL.boxTextMargin,t=>tP.newLoop(t));break;case r.db.LINETYPE.CRITICAL_OPTION:tC(w,t,tL.boxMargin+tL.boxTextMargin,tL.boxMargin,t=>tP.addSectionToLoop(t));break;case r.db.LINETYPE.CRITICAL_END:e=tP.endLoop(),await tI.drawLoop(h,e,"critical",tL),tP.bumpVerticalPos(e.stopy-tP.getVerticalPos()),tP.models.addLoop(e);break;case r.db.LINETYPE.BREAK_START:tC(w,t,tL.boxMargin,tL.boxMargin+tL.boxTextMargin,t=>tP.newLoop(t));break;case r.db.LINETYPE.BREAK_END:e=tP.endLoop(),await tI.drawLoop(h,e,"break",tL),tP.bumpVerticalPos(e.stopy-tP.getVerticalPos()),tP.models.addLoop(e);break;default:try{(i=t.msgModel).starty=tP.getVerticalPos(),i.sequenceIndex=L,i.sequenceVisible=r.db.showSequenceNumbers();let e=await tN(h,i);tB(t,i,e,M,p,g,u),_.push({messageModel:i,lineStartY:e}),tP.models.addMessage(i)}catch(t){n.cM.error("error while drawing message",t)}}[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT,r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(L+=P),M++}for(let t of(n.cM.debug("createdActors",g),n.cM.debug("destroyedActors",u),await tO(h,p,y,!1),_))await tv(h,t.messageModel,t.lineStartY,r);for(let t of(tL.mirrorActors&&await tO(h,p,y,!0),k.forEach(t=>tI.drawBackgroundRect(h,t)),tr(h,p,y,tL),tP.models.boxes))t.height=tP.getVerticalPos()-t.y,tP.insert(t.x,t.y,t.x+t.width,t.height),t.startx=t.x,t.starty=t.y,t.stopx=t.startx+t.width,t.stopy=t.starty+t.height,t.stroke="rgb(0,0,0, 0.5)",tI.drawBox(h,t,tL);T&&tP.bumpVerticalPos(tL.boxMargin);let A=tD(h,p,y,d),{bounds:N}=tP.getBounds();void 0===N.startx&&(N.startx=0),void 0===N.starty&&(N.starty=0),void 0===N.stopx&&(N.stopx=0),void 0===N.stopy&&(N.stopy=0);let v=N.stopy-N.starty;v<A.maxHeight&&(v=A.maxHeight);let S=v+2*tL.diagramMarginY;tL.mirrorActors&&(S=S-tL.boxMargin+tL.bottomMarginAdj);let O=N.stopx-N.startx;O<A.maxWidth&&(O=A.maxWidth);let D=O+2*tL.diagramMarginX;b&&h.append("text").text(b).attr("x",(N.stopx-N.startx)/2-2*tL.diagramMarginX).attr("y",-25),(0,n.v2)(h,S,D,tL.useMaxWidth);let W=40*!!b;h.attr("viewBox",N.startx-tL.diagramMarginX+" -"+(tL.diagramMarginY+W)+" "+D+" "+(S+W)),n.cM.debug("models:",tP.models)},"draw");async function tV(t,e,a){let r={};for(let i of e)if(t.get(i.to)&&t.get(i.from)){let e=t.get(i.to);if(i.placement===a.db.PLACEMENT.LEFTOF&&!e.prevActor||i.placement===a.db.PLACEMENT.RIGHTOF&&!e.nextActor)continue;let o=void 0!==i.placement,c=!o,l=o?tM(tL):tk(tL),d=i.wrap?s.w8.wrapLabel(i.message,tL.width-2*tL.wrapPadding,l):i.message,h=((0,n.l0)(d)?await (0,n.nH)(i.message,(0,n.nV)()):s.w8.calculateTextDimensions(d,l)).width+2*tL.wrapPadding;c&&i.from===e.nextActor?r[i.to]=n.SY.getMax(r[i.to]||0,h):c&&i.from===e.prevActor?r[i.from]=n.SY.getMax(r[i.from]||0,h):c&&i.from===i.to?(r[i.from]=n.SY.getMax(r[i.from]||0,h/2),r[i.to]=n.SY.getMax(r[i.to]||0,h/2)):i.placement===a.db.PLACEMENT.RIGHTOF?r[i.from]=n.SY.getMax(r[i.from]||0,h):i.placement===a.db.PLACEMENT.LEFTOF?r[e.prevActor]=n.SY.getMax(r[e.prevActor]||0,h):i.placement===a.db.PLACEMENT.OVER&&(e.prevActor&&(r[e.prevActor]=n.SY.getMax(r[e.prevActor]||0,h/2)),e.nextActor&&(r[i.from]=n.SY.getMax(r[i.from]||0,h/2)))}return n.cM.debug("maxMessageWidthPerActor:",r),r}(0,n.eW)(tV,"getMaxMessageWidthPerActor");var tF=(0,n.eW)(function(t){let e=0,a=tA(tL);for(let r in t.links){let t=s.w8.calculateTextDimensions(r,a).width+2*tL.wrapPadding+2*tL.boxMargin;e<t&&(e=t)}return e},"getRequiredPopupWidth");async function tq(t,e,a){let r=0;for(let e of t.keys()){let a=t.get(e);a.wrap&&(a.description=s.w8.wrapLabel(a.description,tL.width-2*tL.wrapPadding,tA(tL)));let i=(0,n.l0)(a.description)?await (0,n.nH)(a.description,(0,n.nV)()):s.w8.calculateTextDimensions(a.description,tA(tL));a.width=a.wrap?tL.width:n.SY.getMax(tL.width,i.width+2*tL.wrapPadding),a.height=a.wrap?n.SY.getMax(i.height,tL.height):tL.height,r=n.SY.getMax(r,a.height)}for(let a in e){let r=t.get(a);if(!r)continue;let i=t.get(r.nextActor);if(!i){let t=e[a]+tL.actorMargin-r.width/2;r.margin=n.SY.getMax(t,tL.actorMargin);continue}let s=e[a]+tL.actorMargin-r.width/2-i.width/2;r.margin=n.SY.getMax(s,tL.actorMargin)}let i=0;return a.forEach(e=>{let a=tk(tL),r=e.actorKeys.reduce((e,a)=>e+=t.get(a).width+(t.get(a).margin||0),0);r-=2*tL.boxTextMargin,e.wrap&&(e.name=s.w8.wrapLabel(e.name,r-2*tL.wrapPadding,a));let o=s.w8.calculateTextDimensions(e.name,a);i=n.SY.getMax(o.height,i);let c=n.SY.getMax(r,o.width+2*tL.wrapPadding);if(e.margin=tL.boxTextMargin,r<c){let t=(c-r)/2;e.margin+=t}}),a.forEach(t=>t.textMaxHeight=i),n.SY.getMax(r,tL.height)}(0,n.eW)(tq,"calculateActorMargins");var tz=(0,n.eW)(async function(t,e,a){let r=e.get(t.from),i=e.get(t.to),o=r.x,c=i.x,l=t.wrap&&t.message,d=(0,n.l0)(t.message)?await (0,n.nH)(t.message,(0,n.nV)()):s.w8.calculateTextDimensions(l?s.w8.wrapLabel(t.message,tL.width,tM(tL)):t.message,tM(tL)),h={width:l?tL.width:n.SY.getMax(tL.width,d.width+2*tL.noteMargin),height:0,startx:r.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===a.db.PLACEMENT.RIGHTOF?(h.width=l?n.SY.getMax(tL.width,d.width):n.SY.getMax(r.width/2+i.width/2,d.width+2*tL.noteMargin),h.startx=o+(r.width+tL.actorMargin)/2):t.placement===a.db.PLACEMENT.LEFTOF?(h.width=l?n.SY.getMax(tL.width,d.width+2*tL.noteMargin):n.SY.getMax(r.width/2+i.width/2,d.width+2*tL.noteMargin),h.startx=o-h.width+(r.width-tL.actorMargin)/2):t.to===t.from?(d=s.w8.calculateTextDimensions(l?s.w8.wrapLabel(t.message,n.SY.getMax(tL.width,r.width),tM(tL)):t.message,tM(tL)),h.width=l?n.SY.getMax(tL.width,r.width):n.SY.getMax(r.width,tL.width,d.width+2*tL.noteMargin),h.startx=o+(r.width-h.width)/2):(h.width=Math.abs(o+r.width/2-(c+i.width/2))+tL.actorMargin,h.startx=o<c?o+r.width/2-tL.actorMargin/2:c+i.width/2-tL.actorMargin/2),l&&(h.message=s.w8.wrapLabel(t.message,h.width-2*tL.wrapPadding,tM(tL))),n.cM.debug(`NM:[${h.startx},${h.stopx},${h.starty},${h.stopy}:${h.width},${h.height}=${t.message}]`),h},"buildNoteModel"),tH=(0,n.eW)(function(t,e,a){if(![a.db.LINETYPE.SOLID_OPEN,a.db.LINETYPE.DOTTED_OPEN,a.db.LINETYPE.SOLID,a.db.LINETYPE.DOTTED,a.db.LINETYPE.SOLID_CROSS,a.db.LINETYPE.DOTTED_CROSS,a.db.LINETYPE.SOLID_POINT,a.db.LINETYPE.DOTTED_POINT,a.db.LINETYPE.BIDIRECTIONAL_SOLID,a.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type))return{};let[r,i]=tY(t.from,e),[o,c]=tY(t.to,e),l=r<=o,d=l?i:r,h=l?o:c,p=Math.abs(o-c)>2,g=(0,n.eW)(t=>l?-t:t,"adjustValue");t.from===t.to?h=d:(t.activate&&!p&&(h+=g(tL.activationWidth/2-1)),[a.db.LINETYPE.SOLID_OPEN,a.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=g(3)),[a.db.LINETYPE.BIDIRECTIONAL_SOLID,a.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(d-=g(3)));let u=[r,i,o,c],x=Math.abs(d-h);t.wrap&&t.message&&(t.message=s.w8.wrapLabel(t.message,n.SY.getMax(x+2*tL.wrapPadding,tL.width),tk(tL)));let y=s.w8.calculateTextDimensions(t.message,tk(tL));return{width:n.SY.getMax(t.wrap?0:y.width+2*tL.wrapPadding,x+2*tL.wrapPadding,tL.width),height:0,startx:d,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,u),toBounds:Math.max.apply(null,u)}},"buildMessageModel"),tU=(0,n.eW)(async function(t,e,a,r){let i,o,c;let l={},d=[];for(let a of t){switch(a.id=s.w8.random({length:10}),a.type){case r.db.LINETYPE.LOOP_START:case r.db.LINETYPE.ALT_START:case r.db.LINETYPE.OPT_START:case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:case r.db.LINETYPE.CRITICAL_START:case r.db.LINETYPE.BREAK_START:d.push({id:a.id,msg:a.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case r.db.LINETYPE.ALT_ELSE:case r.db.LINETYPE.PAR_AND:case r.db.LINETYPE.CRITICAL_OPTION:a.message&&(l[(i=d.pop()).id]=i,l[a.id]=i,d.push(i));break;case r.db.LINETYPE.LOOP_END:case r.db.LINETYPE.ALT_END:case r.db.LINETYPE.OPT_END:case r.db.LINETYPE.PAR_END:case r.db.LINETYPE.CRITICAL_END:case r.db.LINETYPE.BREAK_END:l[(i=d.pop()).id]=i;break;case r.db.LINETYPE.ACTIVE_START:{let t=e.get(a.from?a.from:a.to.actor),r=tR(a.from?a.from:a.to.actor).length,i=t.x+t.width/2+(r-1)*tL.activationWidth/2,s={startx:i,stopx:i+tL.activationWidth,actor:a.from,enabled:!0};tP.activations.push(s)}break;case r.db.LINETYPE.ACTIVE_END:{let t=tP.activations.map(t=>t.actor).lastIndexOf(a.from);tP.activations.splice(t,1).splice(0,1)}}void 0!==a.placement?(o=await tz(a,e,r),a.noteModel=o,d.forEach(t=>{(i=t).from=n.SY.getMin(i.from,o.startx),i.to=n.SY.getMax(i.to,o.startx+o.width),i.width=n.SY.getMax(i.width,Math.abs(i.from-i.to))-tL.labelBoxWidth})):(c=tH(a,e,r),a.msgModel=c,c.startx&&c.stopx&&d.length>0&&d.forEach(t=>{if(i=t,c.startx===c.stopx){let t=e.get(a.from),r=e.get(a.to);i.from=n.SY.getMin(t.x-c.width/2,t.x-t.width/2,i.from),i.to=n.SY.getMax(r.x+c.width/2,r.x+t.width/2,i.to),i.width=n.SY.getMax(i.width,Math.abs(i.to-i.from))-tL.labelBoxWidth}else i.from=n.SY.getMin(c.startx,i.from),i.to=n.SY.getMax(c.stopx,i.to),i.width=n.SY.getMax(i.width,c.width)-tL.labelBoxWidth}))}return tP.activations=[],n.cM.debug("Loop type widths:",l),l},"calculateLoopBounds"),tj={parser:l,db:H,renderer:{bounds:tP,drawActors:tO,drawActorsPopup:tD,setConf:tW,draw:t$},styles:U,init:(0,n.eW)(({wrap:t})=>{H.setWrap(t)},"init")}}}]); \ No newline at end of file diff --git a/assets/js/66e08b1e.0c41c769.js b/assets/js/66e08b1e.0c41c769.js new file mode 100644 index 0000000000..397ff8f401 --- /dev/null +++ b/assets/js/66e08b1e.0c41c769.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["89657"],{81846:function(a,t,e){e.r(t),e.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>n,toc:()=>m});var n=e(68509),s=e(85893),o=e(80980);let i={mdx:{format:"md"},date:"2021-07-28T20:00",authors:["antonvasilev52","arnaudjnn","cmfcmf","covalentbond","davidzhao","dbrrt","dgeb","fmassot","forresst","Josh-Cena","lennartkoopmann","lex111","lukasbach","marssaljr","massoudmaboudi","mweststrate","NazarStreletskyi","nirtamir2","pcho","pmuens","pranabdas","rluvaton","semoal","shortcuts","slorber","taylorreece","tohidnateghi","wenerme"]},r="2.0.0-beta.4",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},m=[];function u(a){return(0,s.jsx)(s.Fragment,{})}function h(a={}){let{wrapper:t}={...(0,o.a)(),...a.components};return t?(0,s.jsx)(t,{...a,children:(0,s.jsx)(u,{...a})}):u(a)}},80980:function(a,t,e){e.d(t,{Z:()=>r,a:()=>i});var n=e(67294);let s={},o=n.createContext(s);function i(a){let t=n.useContext(o);return n.useMemo(function(){return"function"==typeof a?a(t):{...t,...a}},[t,a])}function r(a){let t;return t=a.disableParentContext?"function"==typeof a.components?a.components(s):a.components||s:i(a.components),n.createElement(o.Provider,{value:t},a.children)}},68509:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.4","source":"@site/changelog/source/2.0.0-beta.4.md","title":"2.0.0-beta.4","description":"New Feature","date":"2021-07-28T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"antonvasilev52","alias":"antonvasilev52","url":"https://github.com/antonvasilev52","imageURL":"https://github.com/antonvasilev52.png","key":"antonvasilev52","page":null},{"name":"Arnaud Jeannin","alias":"arnaudjnn","url":"https://github.com/arnaudjnn","imageURL":"https://github.com/arnaudjnn.png","key":"arnaudjnn","page":null},{"name":"Christian Flach","alias":"cmfcmf","url":"https://github.com/cmfcmf","imageURL":"https://github.com/cmfcmf.png","key":"cmfcmf","page":null},{"name":"Arijit Kundu","alias":"covalentbond","url":"https://github.com/covalentbond","imageURL":"https://github.com/covalentbond.png","key":"covalentbond","page":null},{"name":"David Zhao","alias":"davidzhao","url":"https://github.com/davidzhao","imageURL":"https://github.com/davidzhao.png","key":"davidzhao","page":null},{"name":"David Barrat","alias":"dbrrt","url":"https://github.com/dbrrt","imageURL":"https://github.com/dbrrt.png","key":"dbrrt","page":null},{"name":"Dan Gebhardt","alias":"dgeb","url":"https://github.com/dgeb","imageURL":"https://github.com/dgeb.png","key":"dgeb","page":null},{"name":"Fran\xe7ois Massot","alias":"fmassot","url":"https://github.com/fmassot","imageURL":"https://github.com/fmassot.png","key":"fmassot","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Lennart Koopmann","alias":"lennartkoopmann","url":"https://github.com/lennartkoopmann","imageURL":"https://github.com/lennartkoopmann.png","key":"lennartkoopmann","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Lukas Bach","alias":"lukasbach","url":"https://github.com/lukasbach","imageURL":"https://github.com/lukasbach.png","key":"lukasbach","page":null},{"name":"Mar\xe7al Junior","alias":"marssaljr","url":"https://github.com/marssaljr","imageURL":"https://github.com/marssaljr.png","key":"marssaljr","page":null},{"name":"Massoud Maboudi","alias":"massoudmaboudi","url":"https://github.com/massoudmaboudi","imageURL":"https://github.com/massoudmaboudi.png","key":"massoudmaboudi","page":null},{"name":"Michel Weststrate","alias":"mweststrate","url":"https://github.com/mweststrate","imageURL":"https://github.com/mweststrate.png","key":"mweststrate","page":null},{"name":"Nazar","alias":"NazarStreletskyi","url":"https://github.com/NazarStreletskyi","imageURL":"https://github.com/NazarStreletskyi.png","key":"NazarStreletskyi","page":null},{"name":"nirtamir2","alias":"nirtamir2","url":"https://github.com/nirtamir2","imageURL":"https://github.com/nirtamir2.png","key":"nirtamir2","page":null},{"name":"Przemys\u0142aw Chojecki","alias":"pcho","url":"https://github.com/pcho","imageURL":"https://github.com/pcho.png","key":"pcho","page":null},{"name":"Philipp Muens","alias":"pmuens","url":"https://github.com/pmuens","imageURL":"https://github.com/pmuens.png","key":"pmuens","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"Raz Luvaton","alias":"rluvaton","url":"https://github.com/rluvaton","imageURL":"https://github.com/rluvaton.png","key":"rluvaton","page":null},{"name":"Sergio Moreno","alias":"semoal","url":"https://github.com/semoal","imageURL":"https://github.com/semoal.png","key":"semoal","page":null},{"name":"Cl\xe9ment Vannicatte","alias":"shortcuts","url":"https://github.com/shortcuts","imageURL":"https://github.com/shortcuts.png","key":"shortcuts","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null},{"name":"tohid nateghi","alias":"tohidnateghi","url":"https://github.com/tohidnateghi","imageURL":"https://github.com/tohidnateghi.png","key":"tohidnateghi","page":null},{"name":"\u9648\u6768\u6587","alias":"wenerme","url":"https://github.com/wenerme","imageURL":"https://github.com/wenerme.png","key":"wenerme","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-07-28T20:00","authors":["antonvasilev52","arnaudjnn","cmfcmf","covalentbond","davidzhao","dbrrt","dgeb","fmassot","forresst","Josh-Cena","lennartkoopmann","lex111","lukasbach","marssaljr","massoudmaboudi","mweststrate","NazarStreletskyi","nirtamir2","pcho","pmuens","pranabdas","rluvaton","semoal","shortcuts","slorber","taylorreece","tohidnateghi","wenerme"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.5","permalink":"/changelog/2.0.0-beta.5"},"nextItem":{"title":"2.0.0-beta.3","permalink":"/changelog/2.0.0-beta.3"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/67445aac.6b5ba3ea.js b/assets/js/67445aac.6b5ba3ea.js new file mode 100644 index 0000000000..8327f854fc --- /dev/null +++ b/assets/js/67445aac.6b5ba3ea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["12537"],{62234:function(e,n,s){s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>o,frontMatter:()=>h,metadata:()=>l,toc:()=>r});var l=s(17708),i=s(85893),t=s(80980);let h={mdx:{format:"md"},date:"2019-11-22T20:00",authors:["endiliey","lex111","yangshun"]},c="2.0.0-alpha.36",a={authorsImageUrls:[void 0,void 0,void 0]},r=[{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"Committers: 3",id:"committers-3",level:2}];function u(e){let n={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"docusaurus-init"}),", ",(0,i.jsx)(n.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,i.jsx)(n.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/1989",children:"#1989"})," misc(v2): change blog front matter to snake_case (",(0,i.jsx)(n.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(n.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2012",children:"#2012"})," feat(v2): allow hiding docs table of contents (",(0,i.jsx)(n.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2007",children:"#2007"})," feat(v2): only create one css file to avoid code-split css loading problem (",(0,i.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2005",children:"#2005"})," fix(v2): adjust first-level heading offset (",(0,i.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2013",children:"#2013"})," refactor(v2): split out dark mode toggle so it is easily swizzle-able (",(0,i.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2017",children:"#2017"})," feat(v2): style right sidebar scrollbar when overflow (",(0,i.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2003",children:"#2003"})," refactor(v2): improve semantic markup of blog (",(0,i.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2024",children:"#2024"})," test(v2): babel exclude transpilation logic to prevent regression (",(0,i.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2014",children:"#2014"})," feat(v2): add meta generator docusaurus (",(0,i.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(n.code,{children:"docusaurus-plugin-ideal-image"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2015",children:"#2015"})," chore(v2): bump & remove unused deps (",(0,i.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Other\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2009",children:"#2009"})," misc(v2): branding update (",(0,i.jsx)(n.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2010",children:"#2010"})," docs(v2): misc updates (",(0,i.jsx)(n.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"committers-3",children:"Committers: 3"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Alexey Pyltsyn (",(0,i.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(n.li,{children:["Endi (",(0,i.jsx)(n.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,i.jsxs)(n.li,{children:["Yangshun Tay (",(0,i.jsx)(n.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]})]})}function o(e={}){let{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},80980:function(e,n,s){s.d(n,{Z:()=>c,a:()=>h});var l=s(67294);let i={},t=l.createContext(i);function h(e){let n=l.useContext(t);return l.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:h(e.components),l.createElement(t.Provider,{value:n},e.children)}},17708:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.36","source":"@site/changelog/source/2.0.0-alpha.36.md","title":"2.0.0-alpha.36","description":"Breaking Change","date":"2019-11-22T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-22T20:00","authors":["endiliey","lex111","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.37","permalink":"/changelog/2.0.0-alpha.37"},"nextItem":{"title":"2.0.0-alpha.35","permalink":"/changelog/2.0.0-alpha.35"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/6794d4cd.abdaac1e.js b/assets/js/6794d4cd.abdaac1e.js new file mode 100644 index 0000000000..6a7e4313f1 --- /dev/null +++ b/assets/js/6794d4cd.abdaac1e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["42590"],{93314:function(e,s,n){n.d(s,{Z:()=>c});var t=n(85893);n(67294);var a=n(53327),l=n(35363);function r(e){let{to:s,children:n}=e;return(0,t.jsx)(l.Z,{className:"navlink__gTJ",isNavLink:!0,to:s,exact:!0,activeStyle:{backgroundColor:"#363739"},children:n})}function c(e){let{children:s}=e;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(a.Z,{children:[(0,t.jsx)("html",{lang:"en"}),(0,t.jsx)("title",{children:"Docusaurus debug panel"}),(0,t.jsx)("meta",{name:"robots",content:"noindex"})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("nav",{className:"nav_sWk6",children:[(0,t.jsx)(r,{to:"/__docusaurus/debug",children:"Config"}),(0,t.jsx)(r,{to:"/__docusaurus/debug/metadata",children:"Metadata"}),(0,t.jsx)(r,{to:"/__docusaurus/debug/registry",children:"Registry"}),(0,t.jsx)(r,{to:"/__docusaurus/debug/routes",children:"Routes"}),(0,t.jsx)(r,{to:"/__docusaurus/debug/content",children:"Content"}),(0,t.jsx)(r,{to:"/__docusaurus/debug/globalData",children:"Global data"})]}),(0,t.jsx)("main",{className:"container_tECh",children:s})]})]})}},71800:function(e,s,n){n.r(s),n.d(s,{default:()=>r});var t=n(85893);n(67294);var a=n(15248),l=n(93314);function r(){return(0,t.jsxs)(l.Z,{children:[(0,t.jsx)("h2",{children:"Registry"}),(0,t.jsx)("ul",{className:"clean-list",children:Object.values(a.Z).map(e=>{let[,s,n]=e;return(0,t.jsxs)("li",{className:"listItem_lSSi",children:[(0,t.jsxs)("div",{style:{marginBottom:"10px"},children:["Aliased Path: ",(0,t.jsx)("code",{children:s})]}),(0,t.jsxs)("div",{children:["Resolved Path: ",(0,t.jsx)("code",{children:n})]})]},s)})})]})}}}]); \ No newline at end of file diff --git a/assets/js/67bff682.c7b54c69.js b/assets/js/67bff682.c7b54c69.js new file mode 100644 index 0000000000..bb1431186c --- /dev/null +++ b/assets/js/67bff682.c7b54c69.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["50415"],{1268:function(e,i,n){n.r(i),n.d(i,{assets:()=>h,contentTitle:()=>t,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>o});var s=n(98057),l=n(85893),c=n(80980);let r={mdx:{format:"md"},date:"2019-11-17T20:00",authors:["endiliey","ericcarboni","jamiedavenport","kenning","lex111","vinnytheviking"]},t="2.0.0-alpha.35",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:":running: Performance",id:"running-performance",level:2},{value:"Committers: 6",id:"committers-6",level:2}];function a(e){let i={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,c.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1965",children:"#1965"})," feat(v2): add ability specify link in footer logo (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-mdx-loader"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1992",children:"#1992"})," fix(v2): static phrasing content should be rendered correctly in TOC (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1999",children:"#1999"})," fix(v2): remove hashbang when click on category (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1962",children:"#1962"})," fix(v2): make not clickable post title on post item page (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1980",children:"#1980"})," fix(v2): remove invalid label attribute of footer links (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1978",children:"#1978"})," fix(v2): use regular div instead of main tag for wrapper layout page (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1975",children:"#1975"})," fix(v2): move header inside article tag in doc page (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1974",children:"#1974"})," fix(v2): remove invalid attributes of nav links (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1963",children:"#1963"})," fix(v2): remove empty containers when no data in blog pages (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1966",children:"#1966"})," fix(v2): remove duplicate meta tags (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1994",children:"#1994"})," fix(v2): throw error if first level item of a sidebar is not category (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2001",children:"#2001"})," fix(v2): improve UI of search (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1991",children:"#1991"})," fix(v2): remove accessible anchors via keyboard (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1987",children:"#1987"})," refactor(v2): replace h1 tag with h2 in blog list pages (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1981",children:"#1981"})," fix(v2): use tag time for showing last update of doc item (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1977",children:"#1977"})," feat(v2): add aria-label to read more links for a11y (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1964",children:"#1964"})," fix(v2): use tag time for showing post item date (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1994",children:"#1994"})," fix(v2): throw error if first level item of a sidebar is not category (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:["Other\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1986",children:"#1986"})," fix(v2): remove obsolete iframe attributes (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-init"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1982",children:"#1982"})," feat(v2): add FB link to footer (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1968",children:"#1968"})," refactor(v2): simplify blog truncate function (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:["Other\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1988",children:"#1988"})," docs(v2): fix syntax highlighting for YML code blocks (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1976",children:"#1976"})," docs(v2): Add section to blog document about feed location (",(0,l.jsx)(i.a,{href:"https://github.com/vinnytheviking",children:"@vinnytheviking"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1970",children:"#1970"})," docs(v2): update configureWebpack utility functions (",(0,l.jsx)(i.a,{href:"https://github.com/jamiedavenport",children:"@jamiedavenport"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-1.x"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1961",children:"#1961"})," docs(v1): remove exclusive language (",(0,l.jsx)(i.a,{href:"https://github.com/ericcarboni",children:"@ericcarboni"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:["Other\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/2002",children:"#2002"})," fix(v2): fix browser window menu icon on smaller screen (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1986",children:"#1986"})," fix(v2): remove obsolete iframe attributes (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-init"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1982",children:"#1982"})," feat(v2): add FB link to footer (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus-1.x"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-init-1.x"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,l.jsx)(i.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1985",children:"#1985"})," chore(v2): update dependencies (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"running-performance",children:":running: Performance"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:[(0,l.jsx)(i.a,{href:"https://github.com/facebook/docusaurus/pull/1979",children:"#1979"})," perf(v2): reduce main bundle size by using es5 if possible (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(i.h2,{id:"committers-6",children:"Committers: 6"}),"\n",(0,l.jsxs)(i.ul,{children:["\n",(0,l.jsxs)(i.li,{children:["Alexey Pyltsyn (",(0,l.jsx)(i.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:["Endi (",(0,l.jsx)(i.a,{href:"https://github.com/endiliey",children:"@endiliey"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:["Eric Carboni (",(0,l.jsx)(i.a,{href:"https://github.com/ericcarboni",children:"@ericcarboni"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:["Jamie Davenport (",(0,l.jsx)(i.a,{href:"https://github.com/jamiedavenport",children:"@jamiedavenport"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:["Nick McCormick (",(0,l.jsx)(i.a,{href:"https://github.com/kenning",children:"@kenning"}),")"]}),"\n",(0,l.jsxs)(i.li,{children:["Vincent van der Walt (",(0,l.jsx)(i.a,{href:"https://github.com/vinnytheviking",children:"@vinnytheviking"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:i}={...(0,c.a)(),...e.components};return i?(0,l.jsx)(i,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},80980:function(e,i,n){n.d(i,{Z:()=>t,a:()=>r});var s=n(67294);let l={},c=s.createContext(l);function r(e){let i=s.useContext(c);return s.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function t(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),s.createElement(c.Provider,{value:i},e.children)}},98057:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.35","source":"@site/changelog/source/2.0.0-alpha.35.md","title":"2.0.0-alpha.35","description":"New Feature","date":"2019-11-17T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"Eric Carboni","alias":"ericcarboni","url":"https://github.com/ericcarboni","imageURL":"https://github.com/ericcarboni.png","key":"ericcarboni","page":null},{"name":"Jamie Davenport","alias":"jamiedavenport","url":"https://github.com/jamiedavenport","imageURL":"https://github.com/jamiedavenport.png","key":"jamiedavenport","page":null},{"name":"Nick McCormick","alias":"kenning","url":"https://github.com/kenning","imageURL":"https://github.com/kenning.png","key":"kenning","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Vincent van der Walt","alias":"vinnytheviking","url":"https://github.com/vinnytheviking","imageURL":"https://github.com/vinnytheviking.png","key":"vinnytheviking","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-17T20:00","authors":["endiliey","ericcarboni","jamiedavenport","kenning","lex111","vinnytheviking"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.36","permalink":"/changelog/2.0.0-alpha.36"},"nextItem":{"title":"2.0.0-alpha.34","permalink":"/changelog/2.0.0-alpha.34"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/67cff4f8.d228ce84.js b/assets/js/67cff4f8.d228ce84.js new file mode 100644 index 0000000000..a6cb8dd292 --- /dev/null +++ b/assets/js/67cff4f8.d228ce84.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["47072"],{84681:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>d,default:()=>u,contentTitle:()=>i,assets:()=>r,toc:()=>l,metadata:()=>s});var s=JSON.parse('{"id":"standalone","title":"Standalone doc","description":"This doc is not in any sidebar, on purpose, to measure the build size impact of the huge sidebar","source":"@site/_dogfooding/_docs tests/standalone.mdx","sourceDirName":".","slug":"/standalone","permalink":"/tests/docs/standalone","draft":false,"unlisted":false,"tags":[{"inline":false,"label":"Label for tag b","permalink":"/tests/docs/tags/b"},{"inline":false,"label":"D","permalink":"/tests/docs/tags/d"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"tags":["b","d"]}}'),a=n(85893),o=n(80980);let d={tags:["b","d"]},i="Standalone doc",r={},l=[];function c(e){let t={h1:"h1",header:"header",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"standalone-doc",children:"Standalone doc"})}),"\n",(0,a.jsx)(t.p,{children:"This doc is not in any sidebar, on purpose, to measure the build size impact of the huge sidebar"})]})}function u(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}u.displayName="MDXContent(_dogfooding/_docs tests/standalone.mdx)"},80980:function(e,t,n){n.d(t,{Z:()=>i,a:()=>d});var s=n(67294);let a={},o=s.createContext(a);function d(e){let t=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:d(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/681d569e.b2228523.js b/assets/js/681d569e.b2228523.js new file mode 100644 index 0000000000..c1e116533b --- /dev/null +++ b/assets/js/681d569e.b2228523.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["51361"],{3800:function(t){t.exports=JSON.parse('{"tag":{"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag","allTagsPath":"/tests/blog/tags","count":10,"unlisted":false},"listMetadata":{"permalink":"/tests/blog/tags/paginated-tag","page":1,"postsPerPage":3,"totalPages":4,"totalCount":10,"nextPage":"/tests/blog/tags/paginated-tag/page/2","blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/6875c492.18628d69.js b/assets/js/6875c492.18628d69.js deleted file mode 100644 index ab15f1334e..0000000000 --- a/assets/js/6875c492.18628d69.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[4813],{1831:(e,t,n)=>{"use strict";n.d(t,{in:()=>c,OU:()=>C,Ki:()=>k,kJ:()=>f,x:()=>o,e7:()=>d,J_:()=>x,Gx:()=>y});var s=n(6540),a=n(9129),r=n(9060),i=n(4848);function o(){const e=(0,r.A)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const l=s.createContext(null);function c(e){let{children:t,content:n,isBlogPostPage:a=!1}=e;const r=function(e){let{content:t,isBlogPostPage:n}=e;return(0,s.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:n})),[t,n])}({content:n,isBlogPostPage:a});return(0,i.jsx)(l.Provider,{value:r,children:t})}function d(){const e=(0,s.useContext)(l);if(null===e)throw new a.dV("BlogPostProvider");return e}var u=n(5e3),m=n(1571);const h=e=>new Date(e).toISOString();function g(e){const t=e.map(j);return{author:1===t.length?t[0]:t}}function p(e,t,n){return e?{image:b({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${n}`})}:{}}function f(e){const{siteConfig:t}=(0,m.A)(),{withBaseUrl:n}=(0,u.hH)(),{metadata:{blogDescription:s,blogTitle:a,permalink:r}}=e,i=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":i,mainEntityOfPage:i,headline:a,description:s,blogPost:e.items.map((e=>function(e,t,n){const{assets:s,frontMatter:a,metadata:r}=e,{date:i,title:o,description:l,lastUpdatedAt:c}=r,d=s.image??a.image,u=a.keywords??[],m=`${t.url}${r.permalink}`,f=c?h(c):void 0;return{"@type":"BlogPosting","@id":m,mainEntityOfPage:m,url:m,headline:o,name:o,description:l,datePublished:i,...f?{dateModified:f}:{},...g(r.authors),...p(d,n,o),...u?{keywords:u}:{}}}(e.content,t,n)))}}function x(){const e=o(),{assets:t,metadata:n}=d(),{siteConfig:s}=(0,m.A)(),{withBaseUrl:a}=(0,u.hH)(),{date:r,title:i,description:l,frontMatter:c,lastUpdatedAt:f}=n,x=t.image??c.image,j=c.keywords??[],b=f?h(f):void 0,v=`${s.url}${n.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":v,mainEntityOfPage:v,url:v,headline:i,name:i,description:l,datePublished:r,...b?{dateModified:b}:{},...g(n.authors),...p(x,a,i),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function b(e){let{imageUrl:t,caption:n}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:n}}var v=n(9519),A=n(5739),w=n(29),N=n(5438);function y(e){const{pathname:t}=(0,v.zy)();return(0,s.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,N.ys)(e.permalink,t))}(e,t)))),[e,t])}function k(e){const t=(0,w.$z)(e,(e=>`${new Date(e.date).getFullYear()}`)),n=Object.entries(t);return n.reverse(),n}function C(e){let{items:t,ulClassName:n,liClassName:s,linkClassName:a,linkActiveClassName:r}=e;return(0,i.jsx)("ul",{className:n,children:t.map((e=>(0,i.jsx)("li",{className:s,children:(0,i.jsx)(A.A,{isNavLink:!0,to:e.permalink,className:a,activeClassName:r,children:e.title})},e.permalink)))})}},2473:(e,t,n)=>{"use strict";n.d(t,{A:()=>P});var s=n(6540),a=n(4848);function r(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),r=t.filter((e=>e!==n)),i=n?.props.children;return{mdxAdmonitionTitle:i,rest:r.length>0?(0,a.jsx)(a.Fragment,{children:r}):null}}(e.children),r=e.title??t;return{...e,...r&&{title:r},children:n}}var i=n(1750),o=n(4709),l=n(8532);const c="admonition_o5H7",d="admonitionHeading_FzoX",u="admonitionIcon_rXq6",m="admonitionContent_Knsx";function h(e){let{type:t,className:n,children:s}=e;return(0,a.jsx)("div",{className:(0,i.A)(l.G.common.admonition,l.G.common.admonitionType(t),c,n),children:s})}function g(e){let{icon:t,title:n}=e;return(0,a.jsxs)("div",{className:d,children:[(0,a.jsx)("span",{className:u,children:t}),n]})}function p(e){let{children:t}=e;return t?(0,a.jsx)("div",{className:m,children:t}):null}function f(e){const{type:t,icon:n,title:s,children:r,className:i}=e;return(0,a.jsxs)(h,{type:t,className:i,children:[s||n?(0,a.jsx)(g,{title:s,icon:n}):null,(0,a.jsx)(p,{children:r})]})}function x(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const j={icon:(0,a.jsx)(x,{}),title:(0,a.jsx)(o.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function b(e){return(0,a.jsx)(f,{...j,...e,className:(0,i.A)("alert alert--secondary",e.className),children:e.children})}function v(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const A={icon:(0,a.jsx)(v,{}),title:(0,a.jsx)(o.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function w(e){return(0,a.jsx)(f,{...A,...e,className:(0,i.A)("alert alert--success",e.className),children:e.children})}function N(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const y={icon:(0,a.jsx)(N,{}),title:(0,a.jsx)(o.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function k(e){return(0,a.jsx)(f,{...y,...e,className:(0,i.A)("alert alert--info",e.className),children:e.children})}function C(e){return(0,a.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const B={icon:(0,a.jsx)(C,{}),title:(0,a.jsx)(o.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function _(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const T={icon:(0,a.jsx)(_,{}),title:(0,a.jsx)(o.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const M={icon:(0,a.jsx)(C,{}),title:(0,a.jsx)(o.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const L={...{note:b,tip:w,info:k,warning:function(e){return(0,a.jsx)(f,{...B,...e,className:(0,i.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,a.jsx)(f,{...T,...e,className:(0,i.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,a.jsx)(b,{title:"secondary",...e}),important:e=>(0,a.jsx)(k,{title:"important",...e}),success:e=>(0,a.jsx)(w,{title:"success",...e}),caution:function(e){return(0,a.jsx)(f,{...M,...e,className:(0,i.A)("alert alert--warning",e.className),children:e.children})}}};function P(e){const t=r(e),n=(s=t.type,L[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),L.info));var s;return(0,a.jsx)(n,{...t})}},2013:(e,t,n)=>{"use strict";n.d(t,{A:()=>w});var s=n(6540),a=n(1750),r=n(5739),i=n(4848);const o="githubSvg_jqE4";const l="xSvg_Q0g7";const c=function(e){return(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,i.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,i.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,i.jsx)("path",{d:"M3.6 9h16.8"}),(0,i.jsx)("path",{d:"M3.6 15h16.8"}),(0,i.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,i.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})};const d="instagramSvg_Svcp";const u="threadsSvg_kngY";const m={authorSocials:"authorSocials_tPnL",authorSocialLink:"authorSocialLink_hEWM",authorSocialIcon:"authorSocialIcon_hTX6"},h={twitter:{Icon:function(e){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 209",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",...e,children:(0,i.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 250",preserveAspectRatio:"xMidYMid",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.A)(e.className,o),children:(0,i.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,i.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,i.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,i.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.A)(e.className,l),children:(0,i.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"},bluesky:{Icon:function(e){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 226",...e,children:(0,i.jsx)("path",{fill:"#1185FE",d:"M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"})})},label:"Bluesky"},instagram:{Icon:function(e){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.A)(e.className,d),children:(0,i.jsx)("path",{d:"M128 23.064c34.177 0 38.225.13 51.722.745 12.48.57 19.258 2.655 23.769 4.408 5.974 2.322 10.238 5.096 14.717 9.575 4.48 4.479 7.253 8.743 9.575 14.717 1.753 4.511 3.838 11.289 4.408 23.768.615 13.498.745 17.546.745 51.723 0 34.178-.13 38.226-.745 51.723-.57 12.48-2.655 19.257-4.408 23.768-2.322 5.974-5.096 10.239-9.575 14.718-4.479 4.479-8.743 7.253-14.717 9.574-4.511 1.753-11.289 3.839-23.769 4.408-13.495.616-17.543.746-51.722.746-34.18 0-38.228-.13-51.723-.746-12.48-.57-19.257-2.655-23.768-4.408-5.974-2.321-10.239-5.095-14.718-9.574-4.479-4.48-7.253-8.744-9.574-14.718-1.753-4.51-3.839-11.288-4.408-23.768-.616-13.497-.746-17.545-.746-51.723 0-34.177.13-38.225.746-51.722.57-12.48 2.655-19.258 4.408-23.769 2.321-5.974 5.095-10.238 9.574-14.717 4.48-4.48 8.744-7.253 14.718-9.575 4.51-1.753 11.288-3.838 23.768-4.408 13.497-.615 17.545-.745 51.723-.745M128 0C93.237 0 88.878.147 75.226.77c-13.625.622-22.93 2.786-31.071 5.95-8.418 3.271-15.556 7.648-22.672 14.764C14.367 28.6 9.991 35.738 6.72 44.155 3.555 52.297 1.392 61.602.77 75.226.147 88.878 0 93.237 0 128c0 34.763.147 39.122.77 52.774.622 13.625 2.785 22.93 5.95 31.071 3.27 8.417 7.647 15.556 14.763 22.672 7.116 7.116 14.254 11.492 22.672 14.763 8.142 3.165 17.446 5.328 31.07 5.95 13.653.623 18.012.77 52.775.77s39.122-.147 52.774-.77c13.624-.622 22.929-2.785 31.07-5.95 8.418-3.27 15.556-7.647 22.672-14.763 7.116-7.116 11.493-14.254 14.764-22.672 3.164-8.142 5.328-17.446 5.95-31.07.623-13.653.77-18.012.77-52.775s-.147-39.122-.77-52.774c-.622-13.624-2.786-22.929-5.95-31.07-3.271-8.418-7.648-15.556-14.764-22.672C227.4 14.368 220.262 9.99 211.845 6.72c-8.142-3.164-17.447-5.328-31.071-5.95C167.122.147 162.763 0 128 0Zm0 62.27C91.698 62.27 62.27 91.7 62.27 128c0 36.302 29.428 65.73 65.73 65.73 36.301 0 65.73-29.428 65.73-65.73 0-36.301-29.429-65.73-65.73-65.73Zm0 108.397c-23.564 0-42.667-19.103-42.667-42.667S104.436 85.333 128 85.333s42.667 19.103 42.667 42.667-19.103 42.667-42.667 42.667Zm83.686-110.994c0 8.484-6.876 15.36-15.36 15.36-8.483 0-15.36-6.876-15.36-15.36 0-8.483 6.877-15.36 15.36-15.36 8.484 0 15.36 6.877 15.36 15.36Z"})})},label:"Instagram"},threads:{Icon:function(e){return(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-label":"Threads",viewBox:"0 0 192 192",width:"1em",fill:"none",height:"1em",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.A)(e.className,u),children:(0,i.jsx)("path",{d:"M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.229c8.249.053 14.474 2.452 18.503 7.129 2.932 3.405 4.893 8.111 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.194 47.292 9.642 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553ZM98.44 129.507c-10.44.588-21.286-4.098-21.82-14.135-.397-7.442 5.296-15.746 22.461-16.735 1.966-.114 3.895-.169 5.79-.169 6.235 0 12.068.606 17.371 1.765-1.978 24.702-13.58 28.713-23.802 29.274Z"})})},label:"Threads"},mastodon:{Icon:function(e){const t=(0,s.useId)();return(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 61 65",width:"1em",height:"1em",...e,children:[(0,i.jsx)("path",{fill:`url(#${t})`,d:"M60.754 14.39C59.814 7.406 53.727 1.903 46.512.836 45.294.656 40.682 0 29.997 0h-.08C19.23 0 16.938.656 15.72.836 8.705 1.873 2.299 6.82.745 13.886c-.748 3.48-.828 7.338-.689 10.877.198 5.075.237 10.142.697 15.197a71.482 71.482 0 0 0 1.664 9.968c1.477 6.056 7.458 11.096 13.317 13.152a35.718 35.718 0 0 0 19.484 1.028 28.365 28.365 0 0 0 2.107-.576c1.572-.5 3.413-1.057 4.766-2.038a.154.154 0 0 0 .062-.118v-4.899a.146.146 0 0 0-.055-.111.145.145 0 0 0-.122-.028 54 54 0 0 1-12.644 1.478c-7.328 0-9.298-3.478-9.863-4.925a15.258 15.258 0 0 1-.857-3.882.142.142 0 0 1 .178-.145 52.976 52.976 0 0 0 12.437 1.477c1.007 0 2.012 0 3.02-.026 4.213-.119 8.654-.334 12.8-1.144.103-.02.206-.038.295-.065 6.539-1.255 12.762-5.196 13.394-15.176.024-.393.083-4.115.083-4.523.003-1.386.446-9.829-.065-15.017Z"}),(0,i.jsx)("path",{fill:"#fff",d:"M50.394 22.237v17.35H43.52V22.749c0-3.545-1.478-5.353-4.483-5.353-3.303 0-4.958 2.139-4.958 6.364v9.217h-6.835V23.76c0-4.225-1.657-6.364-4.96-6.364-2.988 0-4.48 1.808-4.48 5.353v16.84H10.93V22.237c0-3.545.905-6.362 2.715-8.45 1.868-2.082 4.317-3.152 7.358-3.152 3.519 0 6.178 1.354 7.951 4.057l1.711 2.871 1.714-2.871c1.773-2.704 4.432-4.056 7.945-4.056 3.038 0 5.487 1.069 7.36 3.152 1.81 2.085 2.712 4.902 2.71 8.449Z"}),(0,i.jsx)("defs",{children:(0,i.jsxs)("linearGradient",{id:t,x1:30.5,x2:30.5,y1:0,y2:65,gradientUnits:"userSpaceOnUse",children:[(0,i.jsx)("stop",{stopColor:"#6364FF"}),(0,i.jsx)("stop",{offset:1,stopColor:"#563ACC"})]})})]})},label:"Mastodon"},youtube:{Icon:function(e){return(0,i.jsxs)("svg",{viewBox:"0 0 256 180",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:[(0,i.jsx)("path",{d:"M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134Z",fill:"red"}),(0,i.jsx)("path",{fill:"#FFF",d:"m102.421 128.06 66.328-38.418-66.328-38.418z"})]})},label:"YouTube"},twitch:{Icon:function(e){return(0,i.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 2400 2800",width:"1em",height:"1em",...e,children:[(0,i.jsx)("path",{d:"m2200 1300-400 400h-400l-350 350v-350H600V200h1600z",fill:"#fff"}),(0,i.jsxs)("g",{children:[(0,i.jsx)("path",{d:"M500 0 0 500v1800h600v500l500-500h400l900-900V0H500zm1700 1300-400 400h-400l-350 350v-350H600V200h1600v1100z",fill:"#9146ff"}),(0,i.jsx)("path",{d:"M1700 550h200v600h-200zM1150 550h200v600h-200z",fill:"#9146ff"})]})]})},label:"Twitch"}};function g(e){let{platform:t,link:n}=e;const{Icon:s,label:o}=h[l=t]??{Icon:c,label:l};var l;return(0,i.jsx)(r.A,{className:m.authorSocialLink,href:n,title:o,children:(0,i.jsx)(s,{className:(0,a.A)(m.authorSocialLink)})})}function p(e){let{author:t}=e;const n=Object.entries(t.socials??{});return(0,i.jsx)("div",{className:m.authorSocials,children:n.map((e=>{let[t,n]=e;return(0,i.jsx)(g,{platform:t,link:n},t)}))})}var f=n(2409);const x={authorImage:"authorImage_p8ow","author-as-h1":"author-as-h1_Pd3R","author-as-h2":"author-as-h2_UaZL",authorDetails:"authorDetails_dWdF",authorName:"authorName_Y8Hr",authorTitle:"authorTitle_Slpj",authorBlogPostCount:"authorBlogPostCount_FxU_"};function j(e){return e.href?(0,i.jsx)(r.A,{...e}):(0,i.jsx)(i.Fragment,{children:e.children})}function b(e){let{title:t}=e;return(0,i.jsx)("small",{className:x.authorTitle,title:t,children:t})}function v(e){let{name:t,as:n}=e;return n?(0,i.jsx)(f.A,{as:n,className:x.authorName,children:t}):(0,i.jsx)("span",{className:x.authorName,children:t})}function A(e){let{count:t}=e;return(0,i.jsx)("span",{className:(0,a.A)(x.authorBlogPostCount),children:t})}function w(e){let{as:t,author:n,className:s,count:r}=e;const{name:o,title:l,url:c,imageURL:d,email:u,page:m}=n,h=m?.permalink||c||u&&`mailto:${u}`||void 0;return(0,i.jsxs)("div",{className:(0,a.A)("avatar margin-bottom--sm",s,x[`author-as-${t}`]),children:[d&&(0,i.jsx)(j,{href:h,className:"avatar__photo-link",children:(0,i.jsx)("img",{className:(0,a.A)("avatar__photo",x.authorImage),src:d,alt:o})}),(o||l)&&(0,i.jsxs)("div",{className:(0,a.A)("avatar__intro",x.authorDetails),children:[(0,i.jsxs)("div",{className:"avatar__name",children:[o&&(0,i.jsx)(j,{href:h,children:(0,i.jsx)(v,{name:o,as:t})}),void 0!==r&&(0,i.jsx)(A,{count:r})]}),!!l&&(0,i.jsx)(b,{title:l}),(0,i.jsx)(p,{author:n})]})]})}},8079:(e,t,n)=>{"use strict";n.d(t,{A:()=>P});var s=n(6540),a=n(1750),r=n(7374),i=n(242),o=n(4709),l=n(1831),c=n(6963),d=n(2409),u=n(4848);function m(e){let{year:t,yearGroupHeadingClassName:n,children:s}=e;return(0,u.jsxs)("div",{role:"group",children:[(0,u.jsx)(d.A,{as:"h3",className:n,children:t}),s]})}function h(e){let{items:t,yearGroupHeadingClassName:n,ListComponent:s}=e;if((0,c.p)().blog.sidebar.groupByYear){const e=(0,l.Ki)(t);return(0,u.jsx)(u.Fragment,{children:e.map((e=>{let[t,a]=e;return(0,u.jsx)(m,{year:t,yearGroupHeadingClassName:n,children:(0,u.jsx)(s,{items:a})},t)}))})}return(0,u.jsx)(s,{items:t})}const g=(0,s.memo)(h),p="sidebar_P3nc",f="sidebarItemTitle_VrjY",x="sidebarItemList_OSkG",j="sidebarItem_WJ0y",b="sidebarItemLink_Qrfg",v="sidebarItemLinkActive_nUeK",A="yearGroupHeading_lECJ",w=e=>{let{items:t}=e;return(0,u.jsx)(l.OU,{items:t,ulClassName:(0,a.A)(x,"clean-list"),liClassName:j,linkClassName:b,linkActiveClassName:v})};function N(e){let{sidebar:t}=e;const n=(0,l.Gx)(t.items);return(0,u.jsx)("aside",{className:"col col--3",children:(0,u.jsxs)("nav",{className:(0,a.A)(p,"thin-scrollbar"),"aria-label":(0,o.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,u.jsx)("div",{className:(0,a.A)(f,"margin-bottom--md"),children:t.title}),(0,u.jsx)(g,{items:n,ListComponent:w,yearGroupHeadingClassName:A})]})})}const y=(0,s.memo)(N);var k=n(5105);const C="yearGroupHeading_Ruz9",B=e=>{let{items:t}=e;return(0,u.jsx)(l.OU,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function _(e){let{sidebar:t}=e;const n=(0,l.Gx)(t.items);return(0,u.jsx)(g,{items:n,ListComponent:B,yearGroupHeadingClassName:C})}function T(e){return(0,u.jsx)(k.GX,{component:_,props:e})}const M=(0,s.memo)(T);function L(e){let{sidebar:t}=e;const n=(0,i.l)();return t?.items.length?"mobile"===n?(0,u.jsx)(M,{sidebar:t}):(0,u.jsx)(y,{sidebar:t}):null}function P(e){const{sidebar:t,toc:n,children:s,...i}=e,o=t&&t.items.length>0;return(0,u.jsx)(r.A,{...i,children:(0,u.jsx)("div",{className:"container margin-vert--lg",children:(0,u.jsxs)("div",{className:"row",children:[(0,u.jsx)(L,{sidebar:t}),(0,u.jsx)("main",{className:(0,a.A)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:s}),n&&(0,u.jsx)("div",{className:"col col--2",children:n})]})})})}},7232:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(6540);var s=n(4709),a=n(8705),r=n(4848);function i(e){const{metadata:t}=e,{previousPage:n,nextPage:i}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,r.jsx)(a.A,{permalink:n,title:(0,r.jsx)(s.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),i&&(0,r.jsx)(a.A,{permalink:i,title:(0,r.jsx)(s.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},1187:(e,t,n)=>{"use strict";n.d(t,{A:()=>L});n(6540);var s=n(1750),a=n(1831),r=n(4848);function i(e){let{children:t,className:n}=e;return(0,r.jsx)("article",{className:n,children:t})}var o=n(5739);const l={title:"title_UBNu"};function c(e){let{className:t}=e;const{metadata:n,isBlogPostPage:i}=(0,a.e7)(),{permalink:c,title:d}=n,u=i?"h1":"h2";return(0,r.jsx)(u,{className:(0,s.A)(l.title,t),children:i?d:(0,r.jsx)(o.A,{to:c,children:d})})}var d=n(4709),u=n(7054),m=n(9153);const h={container:"container_x5Un"};function g(e){let{readingTime:t}=e;const n=function(){const{selectMessage:e}=(0,u.W)();return t=>{const n=Math.ceil(t);return e(n,(0,d.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:n(t)})}function p(e){let{date:t,formattedDate:n}=e;return(0,r.jsx)("time",{dateTime:t,children:n})}function f(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function x(e){let{className:t}=e;const{metadata:n}=(0,a.e7)(),{date:i,readingTime:o}=n,l=(0,m.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,s.A)(h.container,"margin-vert--md",t),children:[(0,r.jsx)(p,{date:i,formattedDate:(c=i,l.format(new Date(c)))}),void 0!==o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f,{}),(0,r.jsx)(g,{readingTime:o})]})]});var c}var j=n(2013);const b={authorCol:"authorCol_bvyx",imageOnlyAuthorRow:"imageOnlyAuthorRow_L2DM",imageOnlyAuthorCol:"imageOnlyAuthorCol_oyze"};function v(e){let{className:t}=e;const{metadata:{authors:n},assets:i}=(0,a.e7)();if(0===n.length)return null;const o=n.every((e=>{let{name:t}=e;return!t})),l=1===n.length;return(0,r.jsx)("div",{className:(0,s.A)("margin-top--md margin-bottom--sm",o?b.imageOnlyAuthorRow:"row",t),children:n.map(((e,t)=>(0,r.jsx)("div",{className:(0,s.A)(!o&&(l?"col col--12":"col col--6"),o?b.imageOnlyAuthorCol:b.authorCol),children:(0,r.jsx)(j.A,{author:{...e,imageURL:i.authorsImageUrls[t]??e.imageURL}})},t)))})}function A(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(c,{}),(0,r.jsx)(x,{}),(0,r.jsx)(v,{})]})}var w=n(5819),N=n(853);function y(e){let{children:t,className:n}=e;const{isBlogPostPage:i}=(0,a.e7)();return(0,r.jsx)("div",{id:i?w.LU:void 0,className:(0,s.A)("markdown",n),children:(0,r.jsx)(N.A,{children:t})})}var k=n(8532),C=n(8800),B=n(4849);function _(){return(0,r.jsx)("b",{children:(0,r.jsx)(d.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function T(e){const{blogPostTitle:t,...n}=e;return(0,r.jsx)(o.A,{"aria-label":(0,d.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(_,{})})}function M(){const{metadata:e,isBlogPostPage:t}=(0,a.e7)(),{tags:n,title:i,editUrl:o,hasTruncateMarker:l,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&l,m=n.length>0;if(!(m||u||o))return null;if(t){const e=!!(o||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[m&&(0,r.jsx)("div",{className:(0,s.A)("row","margin-top--sm",k.G.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(B.A,{tags:n})})}),e&&(0,r.jsx)(C.A,{className:(0,s.A)("margin-top--sm",k.G.blog.blogFooterEditMetaRow),editUrl:o,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[m&&(0,r.jsx)("div",{className:(0,s.A)("col",{"col--9":u}),children:(0,r.jsx)(B.A,{tags:n})}),u&&(0,r.jsx)("div",{className:(0,s.A)("col text--right",{"col--3":m}),children:(0,r.jsx)(T,{blogPostTitle:i,to:e.permalink})})]})}function L(e){let{children:t,className:n}=e;const o=function(){const{isBlogPostPage:e}=(0,a.e7)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(i,{className:(0,s.A)(o,n),children:[(0,r.jsx)(A,{}),(0,r.jsx)(y,{children:t}),(0,r.jsx)(M,{})]})}},5709:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(6540);var s=n(1831),a=n(1187),r=n(4848);function i(e){let{items:t,component:n=a.A}=e;return(0,r.jsx)(r.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,r.jsx)(s.in,{content:t,children:(0,r.jsx)(n,{children:(0,r.jsx)(t,{})})},t.metadata.permalink)}))})}},1780:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>j});n(6540);var s=n(1750),a=n(4709),r=n(5861),i=n(8532),o=n(4993),l=n(5739),c=n(8079),d=n(7232),u=n(3308),m=n(5709),h=n(9169),g=n(2409),p=n(4848);function f(e){let{tag:t}=e;const n=(0,o.ZD)(t);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(r.be,{title:n,description:t.description}),(0,p.jsx)(u.A,{tag:"blog_tags_posts"})]})}function x(e){let{tag:t,items:n,sidebar:s,listMetadata:r}=e;const i=(0,o.ZD)(t);return(0,p.jsxs)(c.A,{sidebar:s,children:[t.unlisted&&(0,p.jsx)(h.A,{}),(0,p.jsxs)("header",{className:"margin-bottom--xl",children:[(0,p.jsx)(g.A,{as:"h1",children:i}),t.description&&(0,p.jsx)("p",{children:t.description}),(0,p.jsx)(l.A,{href:t.allTagsPath,children:(0,p.jsx)(a.A,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,p.jsx)(m.A,{items:n}),(0,p.jsx)(d.A,{metadata:r})]})}function j(e){return(0,p.jsxs)(r.e3,{className:(0,s.A)(i.G.wrapper.blogPages,i.G.page.blogTagPostListPage),children:[(0,p.jsx)(f,{...e}),(0,p.jsx)(x,{...e})]})}},9169:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var s=n(1750),a=n(9137),r=n(8532),i=n(2473),o=n(4848);function l(e){let{className:t}=e;return(0,o.jsx)(i.A,{type:"caution",title:(0,o.jsx)(a.Rc,{}),className:(0,s.A)(t,r.G.common.unlistedBanner),children:(0,o.jsx)(a.Uh,{})})}function c(e){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(a.AE,{}),(0,o.jsx)(l,{...e})]})}},8800:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(6540);var s=n(1750),a=n(4709),r=n(8532),i=n(5739);const o={iconEdit:"iconEdit_IMw_"};var l=n(4848);function c(e){let{className:t,...n}=e;return(0,l.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(o.iconEdit,t),"aria-hidden":"true",...n,children:(0,l.jsx)("g",{children:(0,l.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,l.jsxs)(i.A,{to:t,className:r.G.common.editThisPage,children:[(0,l.jsx)(c,{}),(0,l.jsx)(a.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(9153);function m(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=(0,u.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,l.jsx)(a.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,l.jsx)("b",{children:(0,l.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,l.jsx)(a.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,l.jsx)("b",{children:t})},children:" by {user}"})}function g(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,l.jsxs)("span",{className:r.G.common.lastUpdated,children:[(0,l.jsx)(a.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,l.jsx)(m,{lastUpdatedAt:t}):"",byUser:n?(0,l.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const p={lastUpdated:"lastUpdated_OHCJ"};function f(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:r}=e;return(0,l.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,l.jsx)("div",{className:"col",children:n&&(0,l.jsx)(d,{editUrl:n})}),(0,l.jsx)("div",{className:(0,s.A)("col",p.lastUpdated),children:(a||r)&&(0,l.jsx)(g,{lastUpdatedAt:a,lastUpdatedBy:r})})]})}},853:(e,t,n)=>{"use strict";n.d(t,{A:()=>he});var s=n(6540),a=n(3023),r=n(2785),i=n(3754),o=n(1750),l=n(5407),c=n(6963);function d(){const{prism:e}=(0,c.p)(),{colorMode:t}=(0,l.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(8532),m=n(9934),h=n.n(m);const g=/title=(?<quote>["'])(?<title>.*?)\1/,p=/\{(?<range>[\d,-]+)\}/,f={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},x={...f,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},j=Object.keys(f);function b(e,t){const n=e.map((e=>{const{start:n,end:s}=x[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function v(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){const t=e?.split(" ").find((e=>e.startsWith("showLineNumbers")));if(t){if(t.startsWith("showLineNumbers=")){const e=t.replace("showLineNumbers=","");return parseInt(e,10)}return 1}}(n)}function A(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:r}=t;if(r&&p.test(r)){const e=r.match(p).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${r}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return b(["js","jsBlock"],t);case"jsx":case"tsx":return b(["js","jsBlock","jsx"],t);case"html":return b(["js","jsBlock","html"],t);case"python":case"py":case"bash":return b(["bash"],t);case"markdown":case"md":return b(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return b(["tex"],t);case"lua":case"haskell":return b(["lua"],t);case"sql":return b(["lua","jsBlock"],t);case"wasm":return b(["wasm"],t);case"vb":case"vba":case"visual-basic":return b(["vb","rem"],t);case"vbnet":return b(["vbnet","rem"],t);case"batch":return b(["rem"],t);case"basic":return b(["rem","f90"],t);case"fsharp":return b(["js","ml"],t);case"ocaml":case"sml":return b(["ml"],t);case"fortran":return b(["f90"],t);case"cobol":return b(["cobol"],t);default:return b(j,t)}}(s,a),o=n.split("\n"),l=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),c=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<o.length;){const e=o[h].match(i);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));c[t]?l[c[t]].range+=`${h},`:d[t]?l[d[t]].start=h:u[t]&&(l[u[t]].range+=`${l[u[t]].start}-${h-1},`),o.splice(h,1)}n=o.join("\n");const m={};return Object.entries(l).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const w="codeBlockContainer_jDV4";var N=n(4848);function y(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const r=t[s];r&&"string"==typeof a&&(n[r]=a)})),n}(d());return(0,N.jsx)(t,{...n,style:s,className:(0,o.A)(n.className,w,u.G.common.codeBlock)})}const k={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function C(e){let{children:t,className:n}=e;return(0,N.jsx)(y,{as:"pre",tabIndex:0,className:(0,o.A)(k.codeBlockStandalone,"thin-scrollbar",n),children:(0,N.jsx)("code",{className:k.codeBlockLines,children:t})})}var B=n(9129);const _={attributes:!0,characterData:!0,childList:!0,subtree:!0};function T(e,t){const[n,a]=(0,s.useState)(),r=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{r()}),[r]),function(e,t,n){void 0===n&&(n=_);const a=(0,B._q)(t),r=(0,B.Be)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,r),()=>t.disconnect()}),[e,a,r])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var M=n(7663);const L="codeLine_qRmp",P="codeLineNumber_dS_J",U="codeLineContent_XF5l";function E(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:r}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const i=a({line:t,className:(0,o.A)(n,s&&L)}),l=t.map(((e,t)=>(0,N.jsx)("span",{...r({token:e})},t)));return(0,N.jsxs)("span",{...i,children:[s?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("span",{className:P}),(0,N.jsx)("span",{className:U,children:l})]}):l,(0,N.jsx)("br",{})]})}var I=n(4709);function S(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function R(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const z={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function H(e){let{code:t,className:n}=e;const[a,r]=(0,s.useState)(!1),i=(0,s.useRef)(void 0),l=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const r=document.getSelection(),i=r.rangeCount>0&&r.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let o=!1;try{o=document.execCommand("copy")}catch{}s.remove(),i&&(r.removeAllRanges(),r.addRange(i)),a&&a.focus()}(t),r(!0),i.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(i.current)),[]),(0,N.jsx)("button",{type:"button","aria-label":a?(0,I.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,I.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,I.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,o.A)("clean-btn",n,z.copyButton,a&&z.copyButtonCopied),onClick:l,children:(0,N.jsxs)("span",{className:z.copyButtonIcons,"aria-hidden":"true",children:[(0,N.jsx)(S,{className:z.copyButtonIcon}),(0,N.jsx)(R,{className:z.copyButtonSuccessIcon})]})})}function O(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const F="wordWrapButtonIcon_MQXS",$="wordWrapButtonEnabled_TBIH";function V(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,I.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,N.jsx)("button",{type:"button",onClick:n,className:(0,o.A)("clean-btn",t,s&&$),"aria-label":a,title:a,children:(0,N.jsx)(O,{className:F,"aria-hidden":"true"})})}function G(e){let{children:t,className:n="",metastring:a,title:r,showLineNumbers:l,language:u}=e;const{prism:{defaultLanguage:m,magicComments:h}}=(0,c.p)(),p=function(e){return e?.toLowerCase()}(u??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??m),f=d(),x=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),r=(0,s.useRef)(null),i=(0,s.useCallback)((()=>{const n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[r,e]),o=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=r.current,n=e>t||r.current.querySelector("code").hasAttribute("style");a(n)}),[r]);return T(r,o),(0,s.useEffect)((()=>{o()}),[e,o]),(0,s.useEffect)((()=>(window.addEventListener("resize",o,{passive:!0}),()=>{window.removeEventListener("resize",o)})),[o]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:i}}(),j=(0,i.A)(),b=function(e){return e?.match(g)?.groups.title??""}(a)||r,{lineClassNames:w,code:C}=A(t,{metastring:a,language:p,magicComments:h}),B=v({showLineNumbers:l,metastring:a});return(0,N.jsxs)(y,{as:"div",className:(0,o.A)(n,p&&!n.includes(`language-${p}`)&&`language-${p}`),children:[b&&(0,N.jsx)("div",{className:k.codeBlockTitle,children:b}),(0,N.jsxs)("div",{className:k.codeBlockContent,children:[(0,N.jsx)(M.f4,{theme:f,code:C,language:p??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:r}=e;return(0,N.jsx)("pre",{tabIndex:0,ref:x.codeBlockRef,className:(0,o.A)(t,k.codeBlock,"thin-scrollbar"),style:n,children:(0,N.jsx)("code",{className:(0,o.A)(k.codeBlockLines,void 0!==B&&k.codeBlockLinesWithNumbering),style:void 0===B?void 0:{counterReset:"line-count "+(B-1)},children:s.map(((e,t)=>(0,N.jsx)(E,{line:e,getLineProps:a,getTokenProps:r,classNames:w[t],showLineNumbers:void 0!==B},t)))})})}}),j?(0,N.jsxs)("div",{className:k.buttonGroup,children:[(x.isEnabled||x.isCodeScrollable)&&(0,N.jsx)(V,{className:k.codeButton,onClick:()=>x.toggle(),isEnabled:x.isEnabled}),(0,N.jsx)(H,{className:k.codeButton,code:C})]}):null]})]})}function Z(e){let{children:t,...n}=e;const a=(0,i.A)(),r=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),o="string"==typeof r?G:C;return(0,N.jsx)(o,{...n,children:r},String(a))}function D(e){return(0,N.jsx)("code",{...e})}var W=n(5739);var Y=n(6051),q=n(343);const X="details_Nokh",J="isBrowser_QrB5",Q="collapsibleContent_EoA1";function K(e){return!!e&&("SUMMARY"===e.tagName||K(e.parentElement))}function ee(e,t){return!!e&&(e===t||ee(e.parentElement,t))}function te(e){let{summary:t,children:n,...a}=e;(0,Y.A)().collectAnchor(a.id);const r=(0,i.A)(),l=(0,s.useRef)(null),{collapsed:c,setCollapsed:d}=(0,q.u)({initialState:!a.open}),[u,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,N.jsx)("summary",{children:t??"Details"});return(0,N.jsxs)("details",{...a,ref:l,open:u,"data-collapsed":c,className:(0,o.A)(X,r&&J,a.className),onMouseDown:e=>{K(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;K(t)&&ee(t,l.current)&&(e.preventDefault(),c?(d(!1),m(!0)):d(!0))},children:[h,(0,N.jsx)(q.N,{lazy:!1,collapsed:c,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,N.jsx)("div",{className:Q,children:n})})]})}const ne="details_Cn_P";function se(e){let{...t}=e;return(0,N.jsx)(te,{...t,className:(0,o.A)("alert alert--info",ne,t.className)})}function ae(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,N.jsx)(N.Fragment,{children:t.filter((e=>e!==n))});return(0,N.jsx)(se,{...e,summary:n,children:a})}var re=n(2409);function ie(e){return(0,N.jsx)(re.A,{...e})}const oe="containsTaskList_k9gM";function le(e){if(void 0!==e)return(0,o.A)(e,e?.includes("contains-task-list")&&oe)}const ce="img_vXGZ";var de=n(2473),ue=n(219);const me={Head:r.A,details:ae,Details:ae,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,N.jsx)(D,{...e}):(0,N.jsx)(Z,{...e})},a:function(e){return(0,N.jsx)(W.A,{...e})},pre:function(e){return(0,N.jsx)(N.Fragment,{children:e.children})},ul:function(e){return(0,N.jsx)("ul",{...e,className:le(e.className)})},li:function(e){return(0,Y.A)().collectAnchor(e.id),(0,N.jsx)("li",{...e})},img:function(e){return(0,N.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,o.A)(t,ce))});var t},h1:e=>(0,N.jsx)(ie,{as:"h1",...e}),h2:e=>(0,N.jsx)(ie,{as:"h2",...e}),h3:e=>(0,N.jsx)(ie,{as:"h3",...e}),h4:e=>(0,N.jsx)(ie,{as:"h4",...e}),h5:e=>(0,N.jsx)(ie,{as:"h5",...e}),h6:e=>(0,N.jsx)(ie,{as:"h6",...e}),admonition:de.A,mermaid:ue.A};function he(e){let{children:t}=e;return(0,N.jsx)(a.x,{components:me,children:t})}},8705:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(6540);var s=n(1750),a=n(5739),r=n(4848);function i(e){const{permalink:t,title:n,subLabel:i,isNext:o}=e;return(0,r.jsxs)(a.A,{className:(0,s.A)("pagination-nav__link",o?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[i&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:i}),(0,r.jsx)("div",{className:"pagination-nav__label",children:n})]})}},5475:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var s=n(1750),a=n(5739);const r={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};var i=n(4848);function o(e){let{permalink:t,label:n,count:o,description:l}=e;return(0,i.jsxs)(a.A,{href:t,title:l,className:(0,s.A)(r.tag,o?r.tagWithCount:r.tagRegular),children:[n,o&&(0,i.jsx)("span",{children:o})]})}},4849:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(6540);var s=n(1750),a=n(4709),r=n(5475);const i={tags:"tags_rTaS",tag:"tag_l5va"};var o=n(4848);function l(e){let{tags:t}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("b",{children:(0,o.jsx)(a.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,o.jsx)("ul",{className:(0,s.A)(i.tags,"padding--none","margin-left--sm"),children:t.map((e=>(0,o.jsx)("li",{className:i.tag,children:(0,o.jsx)(r.A,{...e})},e.permalink)))})]})}},4993:(e,t,n)=>{"use strict";n.d(t,{Y4:()=>u,ZD:()=>o,np:()=>d,uz:()=>c,wI:()=>l});n(6540);var s=n(4709),a=n(7054),r=n(4848);function i(){const{selectMessage:e}=(0,a.W)();return t=>e(t,(0,s.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function o(e){const t=i();return(0,s.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function l(e){const t=i();return(0,s.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}const c=()=>(0,s.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function d(){return(0,r.jsx)(s.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function u(){return(0,r.jsx)(s.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}},9137:(e,t,n)=>{"use strict";n.d(t,{AE:()=>l,Rc:()=>i,TT:()=>d,Uh:()=>o,Yh:()=>c});n(6540);var s=n(4709),a=n(2785),r=n(4848);function i(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function o(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function l(){return(0,r.jsx)(a.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}},9153:(e,t,n)=>{"use strict";n.d(t,{i:()=>a});var s=n(1571);function a(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,s.A)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},7054:(e,t,n)=>{"use strict";n.d(t,{W:()=>c});var s=n(6540),a=n(1571);const r=["zero","one","two","few","many","other"];function i(e){return r.filter((t=>e.includes(t)))}const o={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function l(){const{i18n:{currentLocale:e}}=(0,a.A)();return(0,s.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),o}}),[e])}function c(){const e=l();return{selectMessage:(t,n)=>function(e,t,n){const s=e.split("|");if(1===s.length)return s[0];s.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);const a=n.select(t),r=n.pluralForms.indexOf(a);return s[Math.min(r,s.length-1)]}(n,t,e)}}},9934:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,r]=t;if(s&&r){s=parseInt(s),r=parseInt(r);const e=s<r?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(r+=e);for(let t=s;t!==r;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},3023:(e,t,n)=>{"use strict";n.d(t,{R:()=>i,x:()=>o});var s=n(6540);const a={},r=s.createContext(a);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6875c492.675d3866.js b/assets/js/6875c492.675d3866.js new file mode 100644 index 0000000000..980e5d4824 --- /dev/null +++ b/assets/js/6875c492.675d3866.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["60083"],{5666:function(e,t,n){n.d(t,{CS:()=>f,iZ:()=>p,ci:()=>y,Ne:()=>k,cH:()=>N,nO:()=>d,wj:()=>l,n4:()=>c});var r=n(85893),s=n(67294),a=n(50923),i=n(3564);function l(){let e=(0,i.Z)(),t=e?.data?.blogMetadata;if(!t)throw Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}let o=s.createContext(null);function c(e){let{children:t,content:n,isBlogPostPage:a=!1}=e,i=function(e){let{content:t,isBlogPostPage:n}=e;return(0,s.useMemo)(()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:n}),[t,n])}({content:n,isBlogPostPage:a});return(0,r.jsx)(o.Provider,{value:i,children:t})}function d(){let e=(0,s.useContext)(o);if(null===e)throw new a.i6("BlogPostProvider");return e}var u=n(83631),h=n(8156);let m=e=>new Date(e).toISOString();function g(e){let t=e.map(j);return{author:1===t.length?t[0]:t}}function x(e,t,n){return e?{image:function(e){let{imageUrl:t,caption:n}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:n}}({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${n}`})}:{}}function f(e){let{siteConfig:t}=(0,h.Z)(),{withBaseUrl:n}=(0,u.Cg)(),{metadata:{blogDescription:r,blogTitle:s,permalink:a}}=e,i=`${t.url}${a}`;return{"@context":"https://schema.org","@type":"Blog","@id":i,mainEntityOfPage:i,headline:s,description:r,blogPost:e.items.map(e=>(function(e,t,n){let{assets:r,frontMatter:s,metadata:a}=e,{date:i,title:l,description:o,lastUpdatedAt:c}=a,d=r.image??s.image,u=s.keywords??[],h=`${t.url}${a.permalink}`,f=c?m(c):void 0;return{"@type":"BlogPosting","@id":h,mainEntityOfPage:h,url:h,headline:l,name:l,description:o,datePublished:i,...f?{dateModified:f}:{},...g(a.authors),...x(d,n,l),...u?{keywords:u}:{}}})(e.content,t,n))}}function p(){let e=l(),{assets:t,metadata:n}=d(),{siteConfig:r}=(0,h.Z)(),{withBaseUrl:s}=(0,u.Cg)(),{date:a,title:i,description:o,frontMatter:c,lastUpdatedAt:f}=n,p=t.image??c.image,j=c.keywords??[],v=f?m(f):void 0,b=`${r.url}${n.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":b,mainEntityOfPage:b,url:b,headline:i,name:i,description:o,datePublished:a,...v?{dateModified:v}:{},...g(n.authors),...x(p,s,i),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${r.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}var v=n(3620),b=n(35363),w=n(32263),Z=n(71208);function N(e){let{pathname:t}=(0,v.TH)();return(0,s.useMemo)(()=>e.filter(e=>!e.unlisted||!!(0,Z.Mg)(e.permalink,t)),[e,t])}function y(e){let t=Object.entries((0,w.vM)(e,e=>`${new Date(e.date).getFullYear()}`));return t.reverse(),t}function k(e){let{items:t,ulClassName:n,liClassName:s,linkClassName:a,linkActiveClassName:i}=e;return(0,r.jsx)("ul",{className:n,children:t.map(e=>(0,r.jsx)("li",{className:s,children:(0,r.jsx)(b.Z,{isNavLink:!0,to:e.permalink,className:a,activeClassName:i,children:e.title})},e.permalink))})}},37796:function(e,t,n){n.d(t,{Z:()=>s});var r=n(85893);function s(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}n(67294)},49356:function(e,t,n){n.d(t,{Z:()=>C});var r=n(85893),s=n(67294),a=n(90496),i=n(77827),l=n(55951);let o={admonition:"admonition_o5H7",admonitionHeading:"admonitionHeading_FzoX",admonitionIcon:"admonitionIcon_rXq6",admonitionContent:"admonitionContent_Knsx"};function c(e){let{type:t,className:n,children:s}=e;return(0,r.jsx)("div",{className:(0,a.Z)(l.k.common.admonition,l.k.common.admonitionType(t),o.admonition,n),children:s})}function d(e){let{icon:t,title:n}=e;return(0,r.jsxs)("div",{className:o.admonitionHeading,children:[(0,r.jsx)("span",{className:o.admonitionIcon,children:t}),n]})}function u(e){let{children:t}=e;return t?(0,r.jsx)("div",{className:o.admonitionContent,children:t}):null}function h(e){let{type:t,icon:n,title:s,children:a,className:i}=e;return(0,r.jsxs)(c,{type:t,className:i,children:[s||n?(0,r.jsx)(d,{title:s,icon:n}):null,(0,r.jsx)(u,{children:a})]})}let m={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function g(e){return(0,r.jsx)(h,{...m,...e,className:(0,a.Z)("alert alert--secondary",e.className),children:e.children})}let x={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function f(e){return(0,r.jsx)(h,{...x,...e,className:(0,a.Z)("alert alert--success",e.className),children:e.children})}var p=n(37796);let j={icon:(0,r.jsx)(p.Z,{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function v(e){return(0,r.jsx)(h,{...j,...e,className:(0,a.Z)("alert alert--info",e.className),children:e.children})}function b(e){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let w={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},Z={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},N={icon:(0,r.jsx)(b,{}),title:(0,r.jsx)(i.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};var y=n(57922);let k={note:g,tip:f,info:v,warning:function(e){return(0,r.jsx)(h,{...w,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,r.jsx)(h,{...Z,...e,className:(0,a.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,r.jsx)(g,{title:"secondary",...e}),important:e=>(0,r.jsx)(v,{title:"important",...e}),success:e=>(0,r.jsx)(f,{title:"success",...e}),caution:function(e){return(0,r.jsx)(h,{...N,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})},"my-custom-admonition":function(e){return(0,r.jsxs)("div",{style:{border:"solid red",padding:10},children:[(0,r.jsx)(y.Z,{as:"h5",style:{color:"blue",fontSize:30},children:e.title}),(0,r.jsx)("div",{children:e.children})]})}};function C(e){let t=function(e){let{mdxAdmonitionTitle:t,rest:n}=function(e){let t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),a=t.filter(e=>e!==n);return{mdxAdmonitionTitle:n?.props.children,rest:a.length>0?(0,r.jsx)(r.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}(e),n=function(e){let t=k[e];return t||(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),k.info)}(t.type);return(0,r.jsx)(n,{...t})}},68930:function(e,t,n){n.d(t,{Z:()=>j});var r=n(85893),s=n(67294),a=n(90496),i=n(35363);let l=function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,r.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,r.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,r.jsx)("path",{d:"M3.6 9h16.8"}),(0,r.jsx)("path",{d:"M3.6 15h16.8"}),(0,r.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,r.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})},o="authorSocialLink_hEWM",c={twitter:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 209",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",...e,children:(0,r.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 250",preserveAspectRatio:"xMidYMid",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"githubSvg_jqE4"),children:(0,r.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,r.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,r.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"xSvg_Q0g7"),children:(0,r.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"},bluesky:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 226",...e,children:(0,r.jsx)("path",{fill:"#1185FE",d:"M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"})})},label:"Bluesky"},instagram:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"instagramSvg_Svcp"),children:(0,r.jsx)("path",{d:"M128 23.064c34.177 0 38.225.13 51.722.745 12.48.57 19.258 2.655 23.769 4.408 5.974 2.322 10.238 5.096 14.717 9.575 4.48 4.479 7.253 8.743 9.575 14.717 1.753 4.511 3.838 11.289 4.408 23.768.615 13.498.745 17.546.745 51.723 0 34.178-.13 38.226-.745 51.723-.57 12.48-2.655 19.257-4.408 23.768-2.322 5.974-5.096 10.239-9.575 14.718-4.479 4.479-8.743 7.253-14.717 9.574-4.511 1.753-11.289 3.839-23.769 4.408-13.495.616-17.543.746-51.722.746-34.18 0-38.228-.13-51.723-.746-12.48-.57-19.257-2.655-23.768-4.408-5.974-2.321-10.239-5.095-14.718-9.574-4.479-4.48-7.253-8.744-9.574-14.718-1.753-4.51-3.839-11.288-4.408-23.768-.616-13.497-.746-17.545-.746-51.723 0-34.177.13-38.225.746-51.722.57-12.48 2.655-19.258 4.408-23.769 2.321-5.974 5.095-10.238 9.574-14.717 4.48-4.48 8.744-7.253 14.718-9.575 4.51-1.753 11.288-3.838 23.768-4.408 13.497-.615 17.545-.745 51.723-.745M128 0C93.237 0 88.878.147 75.226.77c-13.625.622-22.93 2.786-31.071 5.95-8.418 3.271-15.556 7.648-22.672 14.764C14.367 28.6 9.991 35.738 6.72 44.155 3.555 52.297 1.392 61.602.77 75.226.147 88.878 0 93.237 0 128c0 34.763.147 39.122.77 52.774.622 13.625 2.785 22.93 5.95 31.071 3.27 8.417 7.647 15.556 14.763 22.672 7.116 7.116 14.254 11.492 22.672 14.763 8.142 3.165 17.446 5.328 31.07 5.95 13.653.623 18.012.77 52.775.77s39.122-.147 52.774-.77c13.624-.622 22.929-2.785 31.07-5.95 8.418-3.27 15.556-7.647 22.672-14.763 7.116-7.116 11.493-14.254 14.764-22.672 3.164-8.142 5.328-17.446 5.95-31.07.623-13.653.77-18.012.77-52.775s-.147-39.122-.77-52.774c-.622-13.624-2.786-22.929-5.95-31.07-3.271-8.418-7.648-15.556-14.764-22.672C227.4 14.368 220.262 9.99 211.845 6.72c-8.142-3.164-17.447-5.328-31.071-5.95C167.122.147 162.763 0 128 0Zm0 62.27C91.698 62.27 62.27 91.7 62.27 128c0 36.302 29.428 65.73 65.73 65.73 36.301 0 65.73-29.428 65.73-65.73 0-36.301-29.429-65.73-65.73-65.73Zm0 108.397c-23.564 0-42.667-19.103-42.667-42.667S104.436 85.333 128 85.333s42.667 19.103 42.667 42.667-19.103 42.667-42.667 42.667Zm83.686-110.994c0 8.484-6.876 15.36-15.36 15.36-8.483 0-15.36-6.876-15.36-15.36 0-8.483 6.877-15.36 15.36-15.36 8.484 0 15.36 6.877 15.36 15.36Z"})})},label:"Instagram"},threads:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-label":"Threads",viewBox:"0 0 192 192",width:"1em",fill:"none",height:"1em",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,a.Z)(e.className,"threadsSvg_kngY"),children:(0,r.jsx)("path",{d:"M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.229c8.249.053 14.474 2.452 18.503 7.129 2.932 3.405 4.893 8.111 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.194 47.292 9.642 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553ZM98.44 129.507c-10.44.588-21.286-4.098-21.82-14.135-.397-7.442 5.296-15.746 22.461-16.735 1.966-.114 3.895-.169 5.79-.169 6.235 0 12.068.606 17.371 1.765-1.978 24.702-13.58 28.713-23.802 29.274Z"})})},label:"Threads"},mastodon:{Icon:function(e){let t=(0,s.useId)();return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 61 65",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{fill:`url(#${t})`,d:"M60.754 14.39C59.814 7.406 53.727 1.903 46.512.836 45.294.656 40.682 0 29.997 0h-.08C19.23 0 16.938.656 15.72.836 8.705 1.873 2.299 6.82.745 13.886c-.748 3.48-.828 7.338-.689 10.877.198 5.075.237 10.142.697 15.197a71.482 71.482 0 0 0 1.664 9.968c1.477 6.056 7.458 11.096 13.317 13.152a35.718 35.718 0 0 0 19.484 1.028 28.365 28.365 0 0 0 2.107-.576c1.572-.5 3.413-1.057 4.766-2.038a.154.154 0 0 0 .062-.118v-4.899a.146.146 0 0 0-.055-.111.145.145 0 0 0-.122-.028 54 54 0 0 1-12.644 1.478c-7.328 0-9.298-3.478-9.863-4.925a15.258 15.258 0 0 1-.857-3.882.142.142 0 0 1 .178-.145 52.976 52.976 0 0 0 12.437 1.477c1.007 0 2.012 0 3.02-.026 4.213-.119 8.654-.334 12.8-1.144.103-.02.206-.038.295-.065 6.539-1.255 12.762-5.196 13.394-15.176.024-.393.083-4.115.083-4.523.003-1.386.446-9.829-.065-15.017Z"}),(0,r.jsx)("path",{fill:"#fff",d:"M50.394 22.237v17.35H43.52V22.749c0-3.545-1.478-5.353-4.483-5.353-3.303 0-4.958 2.139-4.958 6.364v9.217h-6.835V23.76c0-4.225-1.657-6.364-4.96-6.364-2.988 0-4.48 1.808-4.48 5.353v16.84H10.93V22.237c0-3.545.905-6.362 2.715-8.45 1.868-2.082 4.317-3.152 7.358-3.152 3.519 0 6.178 1.354 7.951 4.057l1.711 2.871 1.714-2.871c1.773-2.704 4.432-4.056 7.945-4.056 3.038 0 5.487 1.069 7.36 3.152 1.81 2.085 2.712 4.902 2.71 8.449Z"}),(0,r.jsx)("defs",{children:(0,r.jsxs)("linearGradient",{id:t,x1:30.5,x2:30.5,y1:0,y2:65,gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#6364FF"}),(0,r.jsx)("stop",{offset:1,stopColor:"#563ACC"})]})})]})},label:"Mastodon"},youtube:{Icon:function(e){return(0,r.jsxs)("svg",{viewBox:"0 0 256 180",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:[(0,r.jsx)("path",{d:"M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134Z",fill:"red"}),(0,r.jsx)("path",{fill:"#FFF",d:"m102.421 128.06 66.328-38.418-66.328-38.418z"})]})},label:"YouTube"},twitch:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 2400 2800",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"m2200 1300-400 400h-400l-350 350v-350H600V200h1600z",fill:"#fff"}),(0,r.jsxs)("g",{children:[(0,r.jsx)("path",{d:"M500 0 0 500v1800h600v500l500-500h400l900-900V0H500zm1700 1300-400 400h-400l-350 350v-350H600V200h1600v1100z",fill:"#9146ff"}),(0,r.jsx)("path",{d:"M1700 550h200v600h-200zM1150 550h200v600h-200z",fill:"#9146ff"})]})]})},label:"Twitch"}};function d(e){let{platform:t,link:n}=e,{Icon:s,label:d}=c[t]??{Icon:l,label:t};return(0,r.jsx)(i.Z,{className:o,href:n,title:d,children:(0,r.jsx)(s,{className:(0,a.Z)(o)})})}function u(e){let{author:t}=e,n=Object.entries(t.socials??{});return(0,r.jsx)("div",{className:"authorSocials_tPnL",children:n.map(e=>{let[t,n]=e;return(0,r.jsx)(d,{platform:t,link:n},t)})})}var h=n(57922);let m={authorImage:"authorImage_p8ow","author-as-h1":"author-as-h1_Pd3R","author-as-h2":"author-as-h2_UaZL",authorDetails:"authorDetails_dWdF",authorName:"authorName_Y8Hr",authorTitle:"authorTitle_Slpj",authorBlogPostCount:"authorBlogPostCount_FxU_"};function g(e){return e.href?(0,r.jsx)(i.Z,{...e}):(0,r.jsx)(r.Fragment,{children:e.children})}function x(e){let{title:t}=e;return(0,r.jsx)("small",{className:m.authorTitle,title:t,children:t})}function f(e){let{name:t,as:n}=e;return n?(0,r.jsx)(h.Z,{as:n,className:m.authorName,children:t}):(0,r.jsx)("span",{className:m.authorName,children:t})}function p(e){let{count:t}=e;return(0,r.jsx)("span",{className:(0,a.Z)(m.authorBlogPostCount),children:t})}function j(e){let{as:t,author:n,className:s,count:i}=e,{name:l,title:o,url:c,imageURL:d,email:h,page:j}=n,v=j?.permalink||c||h&&`mailto:${h}`||void 0;return(0,r.jsxs)("div",{className:(0,a.Z)("avatar margin-bottom--sm",s,m[`author-as-${t}`]),children:[d&&(0,r.jsx)(g,{href:v,className:"avatar__photo-link",children:(0,r.jsx)("img",{className:(0,a.Z)("avatar__photo",m.authorImage),src:d,alt:l})}),(l||o)&&(0,r.jsxs)("div",{className:(0,a.Z)("avatar__intro",m.authorDetails),children:[(0,r.jsxs)("div",{className:"avatar__name",children:[l&&(0,r.jsx)(g,{href:v,children:(0,r.jsx)(f,{name:l,as:t})}),void 0!==i&&(0,r.jsx)(p,{count:i})]}),!!o&&(0,r.jsx)(x,{title:o}),(0,r.jsx)(u,{author:n})]})]})}},9942:function(e,t,n){n.d(t,{Z:()=>w});var r=n(85893),s=n(67294),a=n(90496),i=n(88408),l=n(28115),o=n(77827),c=n(5666),d=n(26378),u=n(57922);function h(e){let{year:t,yearGroupHeadingClassName:n,children:s}=e;return(0,r.jsxs)("div",{role:"group",children:[(0,r.jsx)(u.Z,{as:"h3",className:n,children:t}),s]})}let m=(0,s.memo)(function(e){let{items:t,yearGroupHeadingClassName:n,ListComponent:s}=e;if(!(0,d.L)().blog.sidebar.groupByYear)return(0,r.jsx)(s,{items:t});{let e=(0,c.ci)(t);return(0,r.jsx)(r.Fragment,{children:e.map(e=>{let[t,a]=e;return(0,r.jsx)(h,{year:t,yearGroupHeadingClassName:n,children:(0,r.jsx)(s,{items:a})},t)})})}}),g=e=>{let{items:t}=e;return(0,r.jsx)(c.Ne,{items:t,ulClassName:(0,a.Z)("sidebarItemList_OSkG","clean-list"),liClassName:"sidebarItem_WJ0y",linkClassName:"sidebarItemLink_Qrfg",linkActiveClassName:"sidebarItemLinkActive_nUeK"})},x=(0,s.memo)(function(e){let{sidebar:t}=e,n=(0,c.cH)(t.items);return(0,r.jsx)("aside",{className:"col col--3",children:(0,r.jsxs)("nav",{className:(0,a.Z)("sidebar_P3nc","thin-scrollbar"),"aria-label":(0,o.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,r.jsx)("div",{className:(0,a.Z)("sidebarItemTitle_VrjY","margin-bottom--md"),children:t.title}),(0,r.jsx)(m,{items:n,ListComponent:g,yearGroupHeadingClassName:"yearGroupHeading_lECJ"})]})})});var f=n(44160);let p=e=>{let{items:t}=e;return(0,r.jsx)(c.Ne,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function j(e){let{sidebar:t}=e,n=(0,c.cH)(t.items);return(0,r.jsx)(m,{items:n,ListComponent:p,yearGroupHeadingClassName:"yearGroupHeading_Ruz9"})}let v=(0,s.memo)(function(e){return(0,r.jsx)(f.Zo,{component:j,props:e})});function b(e){let{sidebar:t}=e,n=(0,l.i)();return t?.items.length?"mobile"===n?(0,r.jsx)(v,{sidebar:t}):(0,r.jsx)(x,{sidebar:t}):null}function w(e){let{sidebar:t,toc:n,children:s,...l}=e,o=t&&t.items.length>0;return(0,r.jsx)(i.Z,{...l,children:(0,r.jsx)("div",{className:"container margin-vert--lg",children:(0,r.jsxs)("div",{className:"row",children:[(0,r.jsx)(b,{sidebar:t}),(0,r.jsx)("main",{className:(0,a.Z)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:s}),n&&(0,r.jsx)("div",{className:"col col--2",children:n})]})})})}},22272:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var s=n(77827),a=n(65773);function i(e){let{metadata:t}=e,{previousPage:n,nextPage:i}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,r.jsx)(a.Z,{permalink:n,title:(0,r.jsx)(s.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),i&&(0,r.jsx)(a.Z,{permalink:i,title:(0,r.jsx)(s.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},76460:function(e,t,n){n.d(t,{Z:()=>s});var r=n(85893);function s(e){let{children:t,className:n}=e;return(0,r.jsx)("article",{className:n,children:t})}n(67294)},90437:function(e,t,n){n.d(t,{Z:()=>o});var r=n(85893);n(67294);var s=n(90496),a=n(59699),i=n(5666),l=n(84015);function o(e){let{children:t,className:n}=e,{isBlogPostPage:o}=(0,i.nO)();return(0,r.jsx)("div",{id:o?a.blogPostContainerID:void 0,className:(0,s.Z)("markdown",n),children:(0,r.jsx)(l.Z,{children:t})})}},54505:function(e,t,n){n.d(t,{Z:()=>h});var r=n(85893);n(67294);var s=n(90496),a=n(77827),i=n(11660),l=n(90177),o=n(5666);function c(e){let{readingTime:t}=e,n=function(){let{selectMessage:e}=(0,i.c)();return t=>{let n=Math.ceil(t);return e(n,(0,a.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:n(t)})}function d(e){let{date:t,formattedDate:n}=e;return(0,r.jsx)("time",{dateTime:t,children:n})}function u(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function h(e){let{className:t}=e,{metadata:n}=(0,o.nO)(),{date:a,readingTime:i}=n,h=(0,l.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,s.Z)("container_x5Un","margin-vert--md",t),children:[(0,r.jsx)(d,{date:a,formattedDate:h.format(new Date(a))}),void 0!==i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u,{}),(0,r.jsx)(c,{readingTime:i})]})]})}},37147:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(90496),a=n(35363),i=n(5666);function l(e){let{className:t}=e,{metadata:n,isBlogPostPage:l}=(0,i.nO)(),{permalink:o,title:c}=n;return(0,r.jsx)(l?"h1":"h2",{className:(0,s.Z)("title_UBNu",t),children:l?c:(0,r.jsx)(a.Z,{to:o,children:c})})}},80145:function(e,t,n){n.d(t,{Z:()=>Z});var r=n(85893);n(67294);var s=n(90496),a=n(5666),i=n(76460),l=n(37147),o=n(54505),c=n(68930);let d={authorCol:"authorCol_bvyx",imageOnlyAuthorRow:"imageOnlyAuthorRow_L2DM",imageOnlyAuthorCol:"imageOnlyAuthorCol_oyze"};function u(e){let{className:t}=e,{metadata:{authors:n},assets:i}=(0,a.nO)();if(0===n.length)return null;let l=n.every(e=>{let{name:t}=e;return!t}),o=1===n.length;return(0,r.jsx)("div",{className:(0,s.Z)("margin-top--md margin-bottom--sm",l?d.imageOnlyAuthorRow:"row",t),children:n.map((e,t)=>(0,r.jsx)("div",{className:(0,s.Z)(!l&&(o?"col col--12":"col col--6"),l?d.imageOnlyAuthorCol:d.authorCol),children:(0,r.jsx)(c.Z,{author:{...e,imageURL:i.authorsImageUrls[t]??e.imageURL}})},t))})}function h(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(l.Z,{}),(0,r.jsx)(o.Z,{}),(0,r.jsx)(u,{})]})}var m=n(90437),g=n(55951),x=n(60114),f=n(47294),p=n(77827),j=n(35363);function v(){return(0,r.jsx)("b",{children:(0,r.jsx)(p.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function b(e){let{blogPostTitle:t,...n}=e;return(0,r.jsx)(j.Z,{"aria-label":(0,p.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(v,{})})}function w(){let{metadata:e,isBlogPostPage:t}=(0,a.nO)(),{tags:n,title:i,editUrl:l,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&o,h=n.length>0;if(!(h||u||l))return null;if(!t)return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[h&&(0,r.jsx)("div",{className:(0,s.Z)("col",{"col--9":u}),children:(0,r.jsx)(f.Z,{tags:n})}),u&&(0,r.jsx)("div",{className:(0,s.Z)("col text--right",{"col--3":h}),children:(0,r.jsx)(b,{blogPostTitle:i,to:e.permalink})})]});{let e=!!(l||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[h&&(0,r.jsx)("div",{className:(0,s.Z)("row","margin-top--sm",g.k.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(f.Z,{tags:n})})}),e&&(0,r.jsx)(x.Z,{className:(0,s.Z)("margin-top--sm",g.k.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:d,lastUpdatedBy:c})]})}}function Z(e){let{children:t,className:n}=e,l=function(){let{isBlogPostPage:e}=(0,a.nO)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(i.Z,{className:(0,s.Z)(l,n),children:[(0,r.jsx)(h,{}),(0,r.jsx)(m.Z,{children:t}),(0,r.jsx)(w,{})]})}},65808:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var s=n(5666),a=n(80145);function i(e){let{items:t,component:n=a.Z}=e;return(0,r.jsx)(r.Fragment,{children:t.map(e=>{let{content:t}=e;return(0,r.jsx)(s.n4,{content:t,children:(0,r.jsx)(n,{children:(0,r.jsx)(t,{})})},t.metadata.permalink)})})}},7601:function(e,t,n){n.r(t),n.d(t,{default:()=>j});var r=n(85893);n(67294);var s=n(90496),a=n(77827),i=n(57335),l=n(55951),o=n(43764),c=n(35363),d=n(9942),u=n(22272),h=n(69879),m=n(65808),g=n(12221),x=n(57922);function f(e){let{tag:t}=e,n=(0,o.Wi)(t);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.d,{title:n,description:t.description}),(0,r.jsx)(h.Z,{tag:"blog_tags_posts"})]})}function p(e){let{tag:t,items:n,sidebar:s,listMetadata:i}=e,l=(0,o.Wi)(t);return(0,r.jsxs)(d.Z,{sidebar:s,children:[t.unlisted&&(0,r.jsx)(g.Z,{}),(0,r.jsxs)("header",{className:"margin-bottom--xl",children:[(0,r.jsx)(x.Z,{as:"h1",children:l}),t.description&&(0,r.jsx)("p",{children:t.description}),(0,r.jsx)(c.Z,{href:t.allTagsPath,children:(0,r.jsx)(a.Z,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,r.jsx)(m.Z,{items:n}),(0,r.jsx)(u.Z,{metadata:i})]})}function j(e){return(0,r.jsxs)(i.FG,{className:(0,s.Z)(l.k.wrapper.blogPages,l.k.page.blogTagPostListPage),children:[(0,r.jsx)(f,{...e}),(0,r.jsx)(p,{...e})]})}},12221:function(e,t,n){n.d(t,{Z:()=>c});var r=n(85893);n(67294);var s=n(90496),a=n(68746),i=n(55951),l=n(49356);function o(e){let{className:t}=e;return(0,r.jsx)(l.Z,{type:"caution",title:(0,r.jsx)(a.cI,{}),className:(0,s.Z)(t,i.k.common.unlistedBanner),children:(0,r.jsx)(a.eU,{})})}function c(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.T$,{}),(0,r.jsx)(o,{...e})]})}},2769:function(e,t,n){n.d(t,{Z:()=>h});var r=n(85893),s=n(67294),a=n(90496),i=n(96700),l=n(71607),o=n(97812);let c={details:"details_Nokh",isBrowser:"isBrowser_QrB5",collapsibleContent:"collapsibleContent_EoA1"};function d(e){return!!e&&("SUMMARY"===e.tagName||d(e.parentElement))}function u(e){let{summary:t,children:n,...u}=e;(0,i.Z)().collectAnchor(u.id);let h=(0,l.Z)(),m=(0,s.useRef)(null),{collapsed:g,setCollapsed:x}=(0,o.u)({initialState:!u.open}),[f,p]=(0,s.useState)(u.open),j=s.isValidElement(t)?t:(0,r.jsx)("summary",{children:t??"Details"});return(0,r.jsxs)("details",{...u,ref:m,open:f,"data-collapsed":g,className:(0,a.Z)(c.details,h&&c.isBrowser,u.className),onMouseDown:e=>{d(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;d(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,m.current)&&(e.preventDefault(),g?(x(!1),p(!0)):x(!0))},children:[j,(0,r.jsx)(o.z,{lazy:!1,collapsed:g,onCollapseTransitionEnd:e=>{x(e),p(!e)},children:(0,r.jsx)("div",{className:c.collapsibleContent,children:n})})]})}function h(e){let{...t}=e;return(0,r.jsx)(u,{...t,className:(0,a.Z)("alert alert--info","details_Cn_P",t.className)})}},60114:function(e,t,n){n.d(t,{Z:()=>g});var r=n(85893);n(67294);var s=n(90496),a=n(77827),i=n(55951),l=n(35363);function o(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)("iconEdit_IMw_",t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function c(e){let{editUrl:t}=e;return(0,r.jsxs)(l.Z,{to:t,className:i.k.common.editThisPage,children:[(0,r.jsx)(o,{}),(0,r.jsx)(a.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var d=n(90177);function u(e){let{lastUpdatedAt:t}=e,n=new Date(t),s=(0,d.P)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(a.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(a.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function m(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:i.k.common.lastUpdated,children:[(0,r.jsx)(a.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(u,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}function g(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:i}=e;return(0,r.jsxs)("div",{className:(0,s.Z)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(c,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.Z)("col","lastUpdated_OHCJ"),children:(a||i)&&(0,r.jsx)(m,{lastUpdatedAt:a,lastUpdatedBy:i})})]})}},84015:function(e,t,n){n.d(t,{Z:()=>B});var r=n(85893),s=n(67294),a=n(80980),i=n(53327),l=n(95998);function o(e){return(0,r.jsx)("code",{...e})}function c(e){return void 0!==e.children&&s.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,r.jsx)(o,{...e}):(0,r.jsx)(l.Z,{...e})}var d=n(35363),u=n(2769);function h(e){let t=s.Children.toArray(e.children),n=t.find(e=>s.isValidElement(e)&&"summary"===e.type),a=(0,r.jsx)(r.Fragment,{children:t.filter(e=>e!==n)});return(0,r.jsx)(u.Z,{...e,summary:n,children:a})}var m=n(57922);function g(e){return(0,r.jsx)(m.Z,{...e})}var x=n(90496);let f={containsTaskList:"containsTaskList_k9gM"};var p=n(96700),j=n(49356),v=n(67490),b=n(85108),w=n(26378),Z=n(45245),N=n(57396);async function y(e){let{id:t,text:n,config:r}=e;N.Z.mermaidAPI.initialize(r);try{return await N.Z.render(t,n)}catch(e){throw document.querySelector(`#d${t}`)?.remove(),e}}function k(e){let{renderResult:t}=e,n=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let e=n.current;t.bindFunctions?.(e)},[t]),(0,r.jsx)("div",{ref:n,className:"docusaurus-mermaid-container container_RUsj",dangerouslySetInnerHTML:{__html:t.svg}})}function C(e){let{value:t}=e,n=function(e){let{text:t,config:n}=e,[r,a]=(0,s.useState)(null),i=(0,s.useRef)(`mermaid-svg-${Math.round(1e7*Math.random())}`).current,l=function(){let{colorMode:e}=(0,Z.I)(),t=(0,w.L)().mermaid,n=t.theme[e],{options:r}=t;return(0,s.useMemo)(()=>({startOnLoad:!1,...r,theme:n}),[n,r])}(),o=n??l;return(0,s.useEffect)(()=>{y({id:i,text:t,config:o}).then(a).catch(e=>{a(()=>{throw e})})},[i,t,o]),r}({text:t});return null===n?null:(0,r.jsx)(k,{renderResult:n})}let _={Head:i.Z,details:h,Details:h,code:c,a:function(e){return(0,r.jsx)(d.Z,{...e})},pre:function(e){return(0,r.jsx)(r.Fragment,{children:e.children})},ul:function(e){return(0,r.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,x.Z)(e,e?.includes("contains-task-list")&&f.containsTaskList)}(e.className)})},li:function(e){return(0,p.Z)().collectAnchor(e.id),(0,r.jsx)("li",{...e})},img:function(e){var t;return(0,r.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,x.Z)(t,"img_vXGZ"))})},h1:e=>(0,r.jsx)(g,{as:"h1",...e}),h2:e=>(0,r.jsx)(g,{as:"h2",...e}),h3:e=>(0,r.jsx)(g,{as:"h3",...e}),h4:e=>(0,r.jsx)(g,{as:"h4",...e}),h5:e=>(0,r.jsx)(g,{as:"h5",...e}),h6:e=>(0,r.jsx)(g,{as:"h6",...e}),admonition:j.Z,mermaid:function(e){return(0,r.jsx)(v.Z,{fallback:e=>(0,r.jsx)(b.Ac,{...e}),children:(0,r.jsx)(C,{...e})})},Code:c,Highlight:function(e){let{children:t,color:n}=e;return(0,r.jsx)("span",{style:{backgroundColor:n,borderRadius:"2px",color:"#fff",padding:"0.2rem"},children:t})},TweetQuote:function(e){let{url:t,handle:n,name:s,job:a,children:i}=e,l=`https://unavatar.io/x/${n}`,o=`https://x.com/${n}`;return(0,r.jsxs)("figure",{className:"tweetQuote_h8Rz",children:[(0,r.jsx)("blockquote",{children:(0,r.jsx)(d.Z,{to:t,children:i})}),(0,r.jsx)("figcaption",{children:(0,r.jsx)(d.Z,{to:o,rel:"nofollow",children:(0,r.jsxs)("div",{className:"avatar",children:[(0,r.jsx)("img",{alt:s,className:(0,x.Z)("avatar__photo","avatarImg_b51M"),src:l}),(0,r.jsxs)("div",{className:(0,x.Z)("avatar__intro"),children:[(0,r.jsx)("strong",{className:"avatar__name",children:(0,r.jsx)("cite",{children:s})}),(0,r.jsx)("small",{className:"avatar__subtitle",itemProp:"description",children:a})]})]})})})]})}};function B(e){let{children:t}=e;return(0,r.jsx)(a.Z,{components:_,children:t})}},65773:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893);n(67294);var s=n(90496),a=n(35363);function i(e){let{permalink:t,title:n,subLabel:i,isNext:l}=e;return(0,r.jsxs)(a.Z,{className:(0,s.Z)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[i&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:i}),(0,r.jsx)("div",{className:"pagination-nav__label",children:n})]})}},63479:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(90496),a=n(35363);let i={tag:"tag_Nd8t",tagRegular:"tagRegular_TiLs",tagWithCount:"tagWithCount_AQg7"};function l(e){let{permalink:t,label:n,count:l,description:o}=e;return(0,r.jsxs)(a.Z,{href:t,title:o,className:(0,s.Z)(i.tag,l?i.tagWithCount:i.tagRegular),children:[n,l&&(0,r.jsx)("span",{children:l})]})}},47294:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(90496),a=n(77827),i=n(63479);function l(e){let{tags:t}=e;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("b",{children:(0,r.jsx)(a.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,r.jsx)("ul",{className:(0,s.Z)("tags_rTaS","padding--none","margin-left--sm"),children:t.map(e=>(0,r.jsx)("li",{className:"tag_l5va",children:(0,r.jsx)(i.Z,{...e})},e.permalink))})]})}},43764:function(e,t,n){n.d(t,{HV:()=>c,J$:()=>u,Wi:()=>l,ds:()=>o,fw:()=>d});var r=n(85893);n(67294);var s=n(77827),a=n(11660);function i(){let{selectMessage:e}=(0,a.c)();return t=>e(t,(0,s.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function l(e){let t=i();return(0,s.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function o(e){let t=i();return(0,s.I)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}let c=()=>(0,s.I)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function d(){return(0,r.jsx)(s.Z,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function u(){return(0,r.jsx)(s.Z,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}},68746:function(e,t,n){n.d(t,{T$:()=>o,cI:()=>i,eU:()=>l,ht:()=>c,xo:()=>d});var r=n(85893);n(67294);var s=n(77827),a=n(53327);function i(){return(0,r.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,r.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,r.jsx)(a.Z,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,r.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,r.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}},90177:function(e,t,n){n.d(t,{P:()=>s});var r=n(8156);function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{i18n:{currentLocale:t}}=(0,r.Z)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,r.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},11660:function(e,t,n){n.d(t,{c:()=>o});var r=n(67294),s=n(8156);let a=["zero","one","two","few","many","other"];function i(e){return a.filter(t=>e.includes(t))}let l={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,s.Z)();return(0,r.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),l}},[e])}();return{selectMessage:(t,n)=>(function(e,t,n){let r=e.split("|");if(1===r.length)return r[0];r.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${r.length}: ${e}`);let s=n.select(t);return r[Math.min(n.pluralForms.indexOf(s),r.length-1)]})(n,t,e)}}},56497:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var s=n(71607);function a(e){let{children:t,fallback:n}=e;return(0,s.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}},95998:function(e,t,n){n.d(t,{Z:()=>et});var r,s={};n.r(s),n.d(s,{ButtonExample:()=>C});var a=n(85893),i=n(67294),l=n(90496),o=n(71607),c=n(10075),d=n(77827),u=n(8156),h=n(56497),m=n(85108),g=n(45245),x=n(26378);function f(){let{prism:e}=(0,x.L)(),{colorMode:t}=(0,g.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var p=n(67490);function j(e){let{children:t}=e;return(0,a.jsx)("div",{className:(0,l.Z)("playgroundHeader_Tvsk"),children:t})}function v(){return(0,a.jsx)("div",{children:"Loading..."})}function b(){return(0,a.jsx)(h.Z,{fallback:(0,a.jsx)(v,{}),children:()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.Z,{fallback:e=>(0,a.jsx)(m.Ac,{...e}),children:(0,a.jsx)(c.i5,{})}),(0,a.jsx)(c.IF,{})]})})}function w(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{children:(0,a.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,a.jsx)("div",{className:"playgroundPreview_mApW",children:(0,a.jsx)(b,{})})]})}function Z(){let e=(0,o.Z)();return(0,a.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function N(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{children:(0,a.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,a.jsx)(Z,{})]})}let y=e=>`${e};`;function k(e){let{children:t,transformCode:n,...r}=e,{siteConfig:{themeConfig:s}}=(0,u.Z)(),{liveCodeBlock:{playgroundPosition:i}}=s,l=f(),o=r.metastring?.includes("noInline")??!1;return(0,a.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,a.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:o,transformCode:n??y,theme:l,...r,children:"top"===i?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(w,{}),(0,a.jsx)(N,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N,{}),(0,a.jsx)(w,{})]})})})}function C(e){return(0,a.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let _={React:i,...i,...s};var B=n(55951),T=n(6324),M=n.n(T);let L=/title=(?<quote>["'])(?<title>.*?)\1/,I=/\{(?<range>[\d,-]+)\}/,A={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},E={...A,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},H=Object.keys(A);function P(e,t){let n=e.map(e=>{let{start:n,end:r}=E[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function R(e){let{as:t,...n}=e,r=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,a=t[r];a&&"string"==typeof s&&(n[a]=s)}),n}(f());return(0,a.jsx)(t,{...n,style:r,className:(0,l.Z)(n.className,"codeBlockContainer_jDV4",B.k.common.codeBlock)})}let z={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function S(e){let{children:t,className:n}=e;return(0,a.jsx)(R,{as:"pre",tabIndex:0,className:(0,l.Z)(z.codeBlockStandalone,"thin-scrollbar",n),children:(0,a.jsx)("code",{className:z.codeBlockLines,children:t})})}var F=n(50923);let O={attributes:!0,characterData:!0,childList:!0,subtree:!0};var $=n(7316);let U={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function V(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:s,getTokenProps:i}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let o=s({line:t,className:(0,l.Z)(n,r&&U.codeLine)}),c=t.map((e,t)=>(0,a.jsx)("span",{...i({token:e})},t));return(0,a.jsxs)("span",{...o,children:[r?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:U.codeLineNumber}),(0,a.jsx)("span",{className:U.codeLineContent,children:c})]}):c,(0,a.jsx)("br",{})]})}var D=n(44771);function W(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function G(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let Y={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function q(e){let{code:t,className:n}=e,[r,s]=(0,i.useState)(!1),o=(0,i.useRef)(void 0),c=(0,i.useCallback)(()=>{(0,D.Z)(t),s(!0),o.current=window.setTimeout(()=>{s(!1)},1e3)},[t]);return(0,i.useEffect)(()=>()=>window.clearTimeout(o.current),[]),(0,a.jsx)("button",{type:"button","aria-label":r?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,l.Z)("clean-btn",n,Y.copyButton,r&&Y.copyButtonCopied),onClick:c,children:(0,a.jsxs)("span",{className:Y.copyButtonIcons,"aria-hidden":"true",children:[(0,a.jsx)(W,{className:Y.copyButtonIcon}),(0,a.jsx)(G,{className:Y.copyButtonSuccessIcon})]})})}function Q(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let X={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function J(e){let{className:t,onClick:n,isEnabled:r}=e,s=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,a.jsx)("button",{type:"button",onClick:n,className:(0,l.Z)("clean-btn",t,r&&X.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,a.jsx)(Q,{className:X.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:r="",metastring:s,title:c,showLineNumbers:d,language:u}=e,{prism:{defaultLanguage:h,magicComments:m}}=(0,x.L)(),g=(t=u??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(r)??h,t?.toLowerCase()),p=f(),j=function(){let[e,t]=(0,i.useState)(!1),[n,r]=(0,i.useState)(!1),s=(0,i.useRef)(null),a=(0,i.useCallback)(()=>{let n=s.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[s,e]),l=(0,i.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=s.current;r(e>t||s.current.querySelector("code").hasAttribute("style"))},[s]);return!function(e,t){let[n,r]=(0,i.useState)(),s=(0,i.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,i.useEffect)(()=>{s()},[s]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:O,r=(0,F.zX)(t),s=(0,F.Ql)(n);(0,i.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,s),()=>t.disconnect()},[e,r,s])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),s())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(s,l),(0,i.useEffect)(()=>{l()},[e,l]),(0,i.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:s,isEnabled:e,isCodeScrollable:n,toggle:a}}(),v=(0,o.Z)(),b=(s?.match(L)?.groups.title??"")||c,{lineClassNames:w,code:Z}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:a}=t;if(a&&I.test(a)){let e=a.match(I).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=s[0].className;return{lineClassNames:Object.fromEntries(M()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return P(["js","jsBlock"],t);case"jsx":case"tsx":return P(["js","jsBlock","jsx"],t);case"html":return P(["js","jsBlock","html"],t);case"python":case"py":case"bash":return P(["bash"],t);case"markdown":case"md":return P(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return P(["tex"],t);case"lua":case"haskell":return P(["lua"],t);case"sql":return P(["lua","jsBlock"],t);case"wasm":return P(["wasm"],t);case"vb":case"vba":case"visual-basic":return P(["vb","rem"],t);case"vbnet":return P(["vbnet","rem"],t);case"batch":return P(["rem"],t);case"basic":return P(["rem","f90"],t);case"fsharp":return P(["js","ml"],t);case"ocaml":case"sml":return P(["ml"],t);case"fortran":return P(["f90"],t);case"cobol":return P(["cobol"],t);default:return P(H,t)}}(r,s),l=n.split("\n"),o=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<l.length;){let t=l[e].match(i);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?o[c[n]].range+=`${e},`:d[n]?o[d[n]].start=e:u[n]&&(o[u[n]].range+=`${o[u[n]].start}-${e-1},`),l.splice(e,1)}n=l.join("\n");let h={};return Object.entries(o).forEach(e=>{let[t,{range:n}]=e;M()(n).forEach(e=>{h[e]??=[],h[e].push(t)})}),{lineClassNames:h,code:n}}(n,{metastring:s,language:g,magicComments:m}),N=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:d,metastring:s});return(0,a.jsxs)(R,{as:"div",className:(0,l.Z)(r,g&&!r.includes(`language-${g}`)&&`language-${g}`),children:[b&&(0,a.jsx)("div",{className:z.codeBlockTitle,children:b}),(0,a.jsxs)("div",{className:z.codeBlockContent,children:[(0,a.jsx)($.y$,{theme:p,code:Z,language:g??"text",children:e=>{let{className:t,style:n,tokens:r,getLineProps:s,getTokenProps:i}=e;return(0,a.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,l.Z)(t,z.codeBlock,"thin-scrollbar"),style:n,children:(0,a.jsx)("code",{className:(0,l.Z)(z.codeBlockLines,void 0!==N&&z.codeBlockLinesWithNumbering),style:void 0===N?void 0:{counterReset:`line-count ${N-1}`},children:r.map((e,t)=>(0,a.jsx)(V,{line:e,getLineProps:s,getTokenProps:i,classNames:w[t],showLineNumbers:void 0!==N},t))})})}}),v?(0,a.jsxs)("div",{className:z.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,a.jsx)(J,{className:z.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,a.jsx)(q,{className:z.codeButton,code:Z})]}):null]})]})}let ee=(r=function(e){let{children:t,...n}=e,r=(0,o.Z)(),s=i.Children.toArray(t).some(e=>(0,i.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,a.jsx)("string"==typeof s?K:S,{...n,children:s},String(r))},function(e){return e.live?(0,a.jsx)(k,{scope:_,...e}):(0,a.jsx)(r,{...e})});function et(e){return(0,a.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/688c67ec.20409314.js b/assets/js/688c67ec.20409314.js new file mode 100644 index 0000000000..cb107e9285 --- /dev/null +++ b/assets/js/688c67ec.20409314.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["30095"],{12653:function(e,t,s){s.r(t),s.d(t,{assets:()=>n,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>r});var o=s(13065),h=s(85893),l=s(80980);let a={mdx:{format:"md"},date:"2023-09-20T20:00",authors:["homotechsual","ori-shalom","slorber","TheCatLady"]},i="2.4.3",n={authorsImageUrls:[void 0,void 0,void 0,void 0]},r=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"Committers: 4",id:"committers-4",level:2}];function c(e){let t={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,l.a)(),...e.components};return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(t.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,h.jsxs)(t.ul,{children:["\n",(0,h.jsxs)(t.li,{children:[(0,h.jsx)(t.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,h.jsxs)(t.ul,{children:["\n",(0,h.jsxs)(t.li,{children:[(0,h.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/9107",children:"#9107"})," fix(content-docs): sidebar generator should return customProps for doc items (",(0,h.jsx)(t.a,{href:"https://github.com/TheCatLady",children:"@TheCatLady"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(t.li,{children:[(0,h.jsx)(t.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(t.ul,{children:["\n",(0,h.jsxs)(t.li,{children:[(0,h.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/9108",children:"#9108"})," feat(theme-classic): add description & keywords microdata to blog posts (",(0,h.jsx)(t.a,{href:"https://github.com/TheCatLady",children:"@TheCatLady"}),")"]}),"\n",(0,h.jsxs)(t.li,{children:[(0,h.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/9099",children:"#9099"})," fix(theme): only set classname on ul elements if they have an existing class (",(0,h.jsx)(t.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n",(0,h.jsxs)(t.li,{children:[(0,h.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/9243",children:"#9243"})," fix(theme-common): ThemedComponent should display something when JS is disabled (",(0,h.jsx)(t.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(t.li,{children:[(0,h.jsx)(t.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(t.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(t.ul,{children:["\n",(0,h.jsxs)(t.li,{children:[(0,h.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/9130",children:"#9130"})," fix(theme): canonical url should be not change after hydration if url accessed with/without trailing slash (",(0,h.jsx)(t.a,{href:"https://github.com/ori-shalom",children:"@ori-shalom"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(t.h2,{id:"committers-4",children:"Committers: 4"}),"\n",(0,h.jsxs)(t.ul,{children:["\n",(0,h.jsxs)(t.li,{children:["Mikey O'Toole (",(0,h.jsx)(t.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n",(0,h.jsxs)(t.li,{children:["Ori Shalom (",(0,h.jsx)(t.a,{href:"https://github.com/ori-shalom",children:"@ori-shalom"}),")"]}),"\n",(0,h.jsxs)(t.li,{children:["S\xe9bastien Lorber (",(0,h.jsx)(t.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsx)(t.li,{children:(0,h.jsx)(t.a,{href:"https://github.com/TheCatLady",children:"@TheCatLady"})}),"\n"]})]})}function u(e={}){let{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,h.jsx)(t,{...e,children:(0,h.jsx)(c,{...e})}):c(e)}},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>a});var o=s(67294);let h={},l=o.createContext(h);function a(e){let t=o.useContext(l);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(h):e.components||h:a(e.components),o.createElement(l.Provider,{value:t},e.children)}},13065:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.4.3","source":"@site/changelog/source/2.4.3.md","title":"2.4.3","description":"Bug Fix","date":"2023-09-20T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Ori Shalom","alias":"ori-shalom","url":"https://github.com/ori-shalom","imageURL":"https://github.com/ori-shalom.png","key":"ori-shalom","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"TheCatLady","alias":"TheCatLady","url":"https://github.com/TheCatLady","imageURL":"https://github.com/TheCatLady.png","key":"TheCatLady","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-09-20T20:00","authors":["homotechsual","ori-shalom","slorber","TheCatLady"]},"unlisted":false,"prevItem":{"title":"3.0.0","permalink":"/changelog/3.0.0"},"nextItem":{"title":"2.4.2","permalink":"/changelog/2.4.2"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/68c81175.3abe435b.js b/assets/js/68c81175.3abe435b.js new file mode 100644 index 0000000000..bafe06504c --- /dev/null +++ b/assets/js/68c81175.3abe435b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["1033"],{8e4:function(e,t,a){a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>l,metadata:()=>n,toc:()=>i});var n=a(2039),o=a(85893),r=a(80980);let l={mdx:{format:"md"},date:"2019-10-14T20:00"},s="2.0.0-alpha.27",c={authorsImageUrls:[]},i=[];function u(e){return(0,o.jsx)(o.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},80980:function(e,t,a){a.d(t,{Z:()=>s,a:()=>l});var n=a(67294);let o={},r=n.createContext(o);function l(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),n.createElement(r.Provider,{value:t},e.children)}},2039:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.27","source":"@site/changelog/source/2.0.0-alpha.27.md","title":"2.0.0-alpha.27","description":"- Add @theme/Tabs which can be used to implement multi-language code tabs.","date":"2019-10-14T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-14T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.28","permalink":"/changelog/2.0.0-alpha.28"},"nextItem":{"title":"2.0.0-alpha.26","permalink":"/changelog/2.0.0-alpha.26"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/68e633d4.af944da4.js b/assets/js/68e633d4.af944da4.js new file mode 100644 index 0000000000..50e795fd65 --- /dev/null +++ b/assets/js/68e633d4.af944da4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["18638"],{93314:function(e,s,n){n.d(s,{Z:()=>c});var i=n(85893);n(67294);var t=n(53327),r=n(35363);function a(e){let{to:s,children:n}=e;return(0,i.jsx)(r.Z,{className:"navlink__gTJ",isNavLink:!0,to:s,exact:!0,activeStyle:{backgroundColor:"#363739"},children:n})}function c(e){let{children:s}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.Z,{children:[(0,i.jsx)("html",{lang:"en"}),(0,i.jsx)("title",{children:"Docusaurus debug panel"}),(0,i.jsx)("meta",{name:"robots",content:"noindex"})]}),(0,i.jsxs)("div",{children:[(0,i.jsxs)("nav",{className:"nav_sWk6",children:[(0,i.jsx)(a,{to:"/__docusaurus/debug",children:"Config"}),(0,i.jsx)(a,{to:"/__docusaurus/debug/metadata",children:"Metadata"}),(0,i.jsx)(a,{to:"/__docusaurus/debug/registry",children:"Registry"}),(0,i.jsx)(a,{to:"/__docusaurus/debug/routes",children:"Routes"}),(0,i.jsx)(a,{to:"/__docusaurus/debug/content",children:"Content"}),(0,i.jsx)(a,{to:"/__docusaurus/debug/globalData",children:"Global data"})]}),(0,i.jsx)("main",{className:"container_tECh",children:s})]})]})}},83088:function(e,s,n){n.r(s),n.d(s,{default:()=>c});var i=n(85893);n(67294);var t=n(8156),r=n(93314);let a={sectionTitle:"sectionTitle_T1wU",listItem:"listItem_Bobk",version:"version_gVgE",name:"name_C0v7"};function c(){let{siteMetadata:e}=(0,t.Z)();return(0,i.jsxs)(r.Z,{children:[(0,i.jsx)("h2",{children:"Site Metadata"}),(0,i.jsxs)("div",{children:["Docusaurus Version: ",(0,i.jsx)("code",{children:e.docusaurusVersion})]}),(0,i.jsxs)("div",{children:["Site Version:"," ",(0,i.jsx)("code",{children:e.siteVersion??"No version specified"})]}),(0,i.jsx)("h3",{className:a.sectionTitle,children:"Plugins and themes"}),(0,i.jsx)("ul",{className:"clean-list",children:Object.entries(e.pluginVersions).map(e=>{let[s,n]=e;return(0,i.jsxs)("li",{className:a.listItem,children:["package"===n.type&&n.version&&(0,i.jsx)("div",{className:a.version,children:(0,i.jsx)("code",{children:n.version})}),(0,i.jsx)("div",{className:a.name,children:s}),(0,i.jsxs)("div",{children:["Type: ",n.type]})]},s)})})]})}}}]); \ No newline at end of file diff --git a/assets/js/6967621f.8c7b3016.js b/assets/js/6967621f.8c7b3016.js new file mode 100644 index 0000000000..4efde2054e --- /dev/null +++ b/assets/js/6967621f.8c7b3016.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["33464"],{15271:function(e,s,t){t.r(s),t.d(s,{frontMatter:()=>l,default:()=>a,contentTitle:()=>d,assets:()=>u,toc:()=>r,metadata:()=>n});var n=JSON.parse('{"id":"toc/toc-4-5","title":"toc-4-5","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-4-5.mdx","sourceDirName":"toc","slug":"/toc/toc-4-5","permalink":"/tests/docs/toc/toc-4-5","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":4,"toc_max_heading_level":5},"sidebar":"sidebar","previous":{"title":"toc-3-_","permalink":"/tests/docs/toc/toc-3-_"},"next":{"title":"toc-5-5","permalink":"/tests/docs/toc/toc-5-5"}}'),i=t(85893),c=t(80980),o=t(2630);let l={toc_min_heading_level:4,toc_max_heading_level:5},d=void 0,u={},r=[...o.d$];function h(e){return(0,i.jsx)(o.ZP,{})}function a(e={}){let{wrapper:s}={...(0,c.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}a.displayName="MDXContent(_dogfooding/_docs tests/toc/toc-4-5.mdx)"},2630:function(e,s,t){t.d(s,{ZP:()=>l,d$:()=>c});var n=t(85893),i=t(80980);let c=[{value:"section 1",id:"section-1",level:2},{value:"subsection 1-1",id:"subsection-1-1",level:3},{value:"subsection 1-1-1",id:"subsection-1-1-1",level:4},{value:"subsection 1-1-1-1",id:"subsection-1-1-1-1",level:5},{value:"subsection 1-1-1-1-1",id:"subsection-1-1-1-1-1",level:6},{value:"subsection 1-1-1-1-2",id:"subsection-1-1-1-1-2",level:6},{value:"subsection 1-1-1-2",id:"subsection-1-1-1-2",level:5},{value:"subsection 1-1-2",id:"subsection-1-1-2",level:4},{value:"subsection 1-2",id:"subsection-1-2",level:3},{value:"subsection 1-3",id:"subsection-1-3",level:3},{value:"section 2",id:"section-2",level:2},{value:"subsection 2-1",id:"subsection-2-1",level:3},{value:"subsection 2-1",id:"subsection-2-1-1",level:3},{value:"section 3",id:"section-3",level:2},{value:"subsection 3-1",id:"subsection-3-1",level:3},{value:"subsection 3-2",id:"subsection-3-2",level:3}];function o(e){let s={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"title",children:"title"})}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-1",children:"section 1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-1",children:"subsection 1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-1",children:"subsection 1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-1",children:"subsection 1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-1",children:"subsection 1-1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-2",children:"subsection 1-1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-2",children:"subsection 1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-2",children:"subsection 1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-2",children:"subsection 1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-3",children:"subsection 1-3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-2",children:"section 2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-3",children:"section 3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-1",children:"subsection 3-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-2",children:"subsection 3-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"})]})}function l(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},80980:function(e,s,t){t.d(s,{Z:()=>l,a:()=>o});var n=t(67294);let i={},c=n.createContext(i);function o(e){let s=n.useContext(c);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/69d00ea1.096b637c.js b/assets/js/69d00ea1.096b637c.js new file mode 100644 index 0000000000..8d694cffbf --- /dev/null +++ b/assets/js/69d00ea1.096b637c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["91298"],{86883:function(e,s,i){i.r(s),i.d(s,{assets:()=>t,contentTitle:()=>l,default:()=>u,frontMatter:()=>n,metadata:()=>a,toc:()=>c});var a=i(39776),r=i(85893),h=i(80980);let n={mdx:{format:"md"},date:"2020-10-19T20:00",authors:["aakhtar3","abhishektiwari","christian-bromann","fanny","hamzahamidi","honlyHuang","imskr","jagracey","lex111","MatanBobi","russtaylor","saintmalik","shubhamzanwar","Simek","slorber","UmairKamran","utkarsh867"]},l="2.0.0-alpha.66",t={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},c=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 17",id:"committers-17",level:2}];function o(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,h.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3593",children:"#3593"})," feat(v2): blog sidebar (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3469",children:"#3469"})," feat(v2): Extract npm2yarn plugin (",(0,r.jsx)(s.a,{href:"https://github.com/fanny",children:"@fanny"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3550",children:"#3550"})," feat(v2): contextual search, dynamic Algolia facetFilters (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3580",children:"#3580"})," feat(v2): allow to define custom CSS class for Tabs component (",(0,r.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3553",children:"#3553"})," feat(v2): make dropdown menu collapsible on mobiles (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3573",children:"#3573"})," feat(v2): Add themeConfig.noIndex option #3528 (",(0,r.jsx)(s.a,{href:"https://github.com/hamzahamidi",children:"@hamzahamidi"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3543",children:"#3543"})," feat(v2): persist docs preferred version (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3548",children:"#3548"}),' feat(v2): version dropdown before/after items + move site "All Versions" link (',(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3545",children:"#3545"})," feat(v2): site client modules (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3539",children:"#3539"})," feat(v2): doc navbar item type (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3550",children:"#3550"})," feat(v2): contextual search, dynamic Algolia facetFilters (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3607",children:"#3607"})," fix(v2): fix error with required href attr of link in mobiles (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3602",children:"#3602"})," fix(v2): make dropdown button clickable with mouse (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3601",children:"#3601"})," fix(v2): fix table-of-content scroll highlighting issues (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3599",children:"#3599"})," fix(v2): remove event listeners on Tabs component unmount (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3531",children:"#3531"})," fix(v2): Fixes serve cli --port option (",(0,r.jsx)(s.a,{href:"https://github.com/UmairKamran",children:"@UmairKamran"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3585",children:"#3585"})," refactor(v2): various dropdown improvements (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3588",children:"#3588"})," refactor(v2): make accessible copy code button from keyboard (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3578",children:"#3578"})," refactor(v2): apply common behavior to dropdowns (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3546",children:"#3546"})," docs: various fixes and improvements (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3587",children:"#3587"})," refactor(v2): various fixes (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3569",children:"#3569"})," refactor(v2): improve broken links error message (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Other\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3576",children:"#3576"}),' docs(v2): removed obsolete "you" identifier (',(0,r.jsx)(s.a,{href:"https://github.com/christian-bromann",children:"@christian-bromann"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3589",children:"#3589"})," docs(v2): add taro to users (",(0,r.jsx)(s.a,{href:"https://github.com/honlyHuang",children:"@honlyHuang"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3565",children:"#3565"})," docs(v2): deployment, add required GitHub token scope infos (",(0,r.jsx)(s.a,{href:"https://github.com/russtaylor",children:"@russtaylor"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3574",children:"#3574"})," docs(v2): adding vue-nodegui to users (",(0,r.jsx)(s.a,{href:"https://github.com/shubhamzanwar",children:"@shubhamzanwar"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3556",children:"#3556"})," Added Axioms to users (",(0,r.jsx)(s.a,{href:"https://github.com/abhishektiwari",children:"@abhishektiwari"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3558",children:"#3558"})," docs(v2): embedding real source code in MDX as a code block (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3555",children:"#3555"}),' docs(v2): add "Wisdom" dev docs website to showcase. (',(0,r.jsx)(s.a,{href:"https://github.com/jagracey",children:"@jagracey"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3532",children:"#3532"})," docs(v2): change package name in example script (",(0,r.jsx)(s.a,{href:"https://github.com/MatanBobi",children:"@MatanBobi"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3538",children:"#3538"})," docs(v1): added drone for 1.0 #3491 (",(0,r.jsx)(s.a,{href:"https://github.com/aakhtar3",children:"@aakhtar3"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3533",children:"#3533"})," docs(v1): Fix broken link in the documentation (",(0,r.jsx)(s.a,{href:"https://github.com/saintmalik",children:"@saintmalik"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3534",children:"#3534"})," docs(v2): Fix url bugs in v2 docs (",(0,r.jsx)(s.a,{href:"https://github.com/saintmalik",children:"@saintmalik"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3546",children:"#3546"})," docs: various fixes and improvements (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3591",children:"#3591"})," chore(v2): enable new contextual search feature (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["Other\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3586",children:"#3586"})," chore(v2): fix/upgrade react types (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3577",children:"#3577"})," refactor(v2): clarify versions page (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3560",children:"#3560"})," feat(v2): prevent using remote image urls in showcase (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3554",children:"#3554"})," fix(v2): use absolute path to manifest file (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3394",children:"#3394"})," refactor(v2): add useThemeConfig hook + cleanup useless theme default values (",(0,r.jsx)(s.a,{href:"https://github.com/imskr",children:"@imskr"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"committers-17",children:"Committers: 17"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Abhishek Tiwari (",(0,r.jsx)(s.a,{href:"https://github.com/abhishektiwari",children:"@abhishektiwari"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,r.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Bartosz Kaszubowski (",(0,r.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Christian Bromann (",(0,r.jsx)(s.a,{href:"https://github.com/christian-bromann",children:"@christian-bromann"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Fanny (",(0,r.jsx)(s.a,{href:"https://github.com/fanny",children:"@fanny"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Hamza Hamidi (",(0,r.jsx)(s.a,{href:"https://github.com/hamzahamidi",children:"@hamzahamidi"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["John Gracey (",(0,r.jsx)(s.a,{href:"https://github.com/jagracey",children:"@jagracey"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Matan Borenkraout (",(0,r.jsx)(s.a,{href:"https://github.com/MatanBobi",children:"@MatanBobi"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Russ Taylor (",(0,r.jsx)(s.a,{href:"https://github.com/russtaylor",children:"@russtaylor"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["SaintMalik (",(0,r.jsx)(s.a,{href:"https://github.com/saintmalik",children:"@saintmalik"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Shubham Kumar (",(0,r.jsx)(s.a,{href:"https://github.com/imskr",children:"@imskr"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Shubham Zanwar (",(0,r.jsx)(s.a,{href:"https://github.com/shubhamzanwar",children:"@shubhamzanwar"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Umair Kamran (",(0,r.jsx)(s.a,{href:"https://github.com/UmairKamran",children:"@UmairKamran"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Utkarsh Goel (",(0,r.jsx)(s.a,{href:"https://github.com/utkarsh867",children:"@utkarsh867"}),")"]}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.a,{href:"https://github.com/aakhtar3",children:"@aakhtar3"})}),"\n",(0,r.jsxs)(s.li,{children:["honlyHuang (",(0,r.jsx)(s.a,{href:"https://github.com/honlyHuang",children:"@honlyHuang"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,h.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},80980:function(e,s,i){i.d(s,{Z:()=>l,a:()=>n});var a=i(67294);let r={},h=a.createContext(r);function n(e){let s=a.useContext(h);return a.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),a.createElement(h.Provider,{value:s},e.children)}},39776:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.66","source":"@site/changelog/source/2.0.0-alpha.66.md","title":"2.0.0-alpha.66","description":"New Feature","date":"2020-10-19T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"aakhtar3","alias":"aakhtar3","url":"https://github.com/aakhtar3","imageURL":"https://github.com/aakhtar3.png","key":"aakhtar3","page":null},{"name":"Abhishek Tiwari","alias":"abhishektiwari","url":"https://github.com/abhishektiwari","imageURL":"https://github.com/abhishektiwari.png","key":"abhishektiwari","page":null},{"name":"Christian Bromann","alias":"christian-bromann","url":"https://github.com/christian-bromann","imageURL":"https://github.com/christian-bromann.png","key":"christian-bromann","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"Hamza Hamidi","alias":"hamzahamidi","url":"https://github.com/hamzahamidi","imageURL":"https://github.com/hamzahamidi.png","key":"hamzahamidi","page":null},{"name":"honlyHuang","alias":"honlyHuang","url":"https://github.com/honlyHuang","imageURL":"https://github.com/honlyHuang.png","key":"honlyHuang","page":null},{"name":"Shubham Kumar","alias":"imskr","url":"https://github.com/imskr","imageURL":"https://github.com/imskr.png","key":"imskr","page":null},{"name":"John Gracey","alias":"jagracey","url":"https://github.com/jagracey","imageURL":"https://github.com/jagracey.png","key":"jagracey","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Matan Borenkraout","alias":"MatanBobi","url":"https://github.com/MatanBobi","imageURL":"https://github.com/MatanBobi.png","key":"MatanBobi","page":null},{"name":"Russ Taylor","alias":"russtaylor","url":"https://github.com/russtaylor","imageURL":"https://github.com/russtaylor.png","key":"russtaylor","page":null},{"name":"SaintMalik","alias":"saintmalik","url":"https://github.com/saintmalik","imageURL":"https://github.com/saintmalik.png","key":"saintmalik","page":null},{"name":"Shubham Zanwar","alias":"shubhamzanwar","url":"https://github.com/shubhamzanwar","imageURL":"https://github.com/shubhamzanwar.png","key":"shubhamzanwar","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Umair Kamran","alias":"UmairKamran","url":"https://github.com/UmairKamran","imageURL":"https://github.com/UmairKamran.png","key":"UmairKamran","page":null},{"name":"Utkarsh Goel","alias":"utkarsh867","url":"https://github.com/utkarsh867","imageURL":"https://github.com/utkarsh867.png","key":"utkarsh867","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-10-19T20:00","authors":["aakhtar3","abhishektiwari","christian-bromann","fanny","hamzahamidi","honlyHuang","imskr","jagracey","lex111","MatanBobi","russtaylor","saintmalik","shubhamzanwar","Simek","slorber","UmairKamran","utkarsh867"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.67","permalink":"/changelog/2.0.0-alpha.67"},"nextItem":{"title":"2.0.0-alpha.65","permalink":"/changelog/2.0.0-alpha.65"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/6a2ff064.72e25c44.js b/assets/js/6a2ff064.72e25c44.js new file mode 100644 index 0000000000..6184524fd5 --- /dev/null +++ b/assets/js/6a2ff064.72e25c44.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["29025"],{99793:function(e,s,t){t.r(s),t.d(s,{frontMatter:()=>l,default:()=>a,contentTitle:()=>d,assets:()=>u,toc:()=>r,metadata:()=>n});var n=JSON.parse('{"id":"toc/toc-2-2","title":"toc-2-2","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-2-2.mdx","sourceDirName":"toc","slug":"/toc/toc-2-2","permalink":"/tests/docs/toc/toc-2-2","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":2,"toc_max_heading_level":2},"sidebar":"sidebar","previous":{"title":"Another test page","permalink":"/tests/docs/more-test"},"next":{"title":"toc-2-3","permalink":"/tests/docs/toc/toc-2-3"}}'),i=t(85893),o=t(80980),c=t(2630);let l={toc_min_heading_level:2,toc_max_heading_level:2},d=void 0,u={},r=[...c.d$];function h(e){return(0,i.jsx)(c.ZP,{})}function a(e={}){let{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}a.displayName="MDXContent(_dogfooding/_docs tests/toc/toc-2-2.mdx)"},2630:function(e,s,t){t.d(s,{ZP:()=>l,d$:()=>o});var n=t(85893),i=t(80980);let o=[{value:"section 1",id:"section-1",level:2},{value:"subsection 1-1",id:"subsection-1-1",level:3},{value:"subsection 1-1-1",id:"subsection-1-1-1",level:4},{value:"subsection 1-1-1-1",id:"subsection-1-1-1-1",level:5},{value:"subsection 1-1-1-1-1",id:"subsection-1-1-1-1-1",level:6},{value:"subsection 1-1-1-1-2",id:"subsection-1-1-1-1-2",level:6},{value:"subsection 1-1-1-2",id:"subsection-1-1-1-2",level:5},{value:"subsection 1-1-2",id:"subsection-1-1-2",level:4},{value:"subsection 1-2",id:"subsection-1-2",level:3},{value:"subsection 1-3",id:"subsection-1-3",level:3},{value:"section 2",id:"section-2",level:2},{value:"subsection 2-1",id:"subsection-2-1",level:3},{value:"subsection 2-1",id:"subsection-2-1-1",level:3},{value:"section 3",id:"section-3",level:2},{value:"subsection 3-1",id:"subsection-3-1",level:3},{value:"subsection 3-2",id:"subsection-3-2",level:3}];function c(e){let s={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"title",children:"title"})}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-1",children:"section 1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-1",children:"subsection 1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-1",children:"subsection 1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-1",children:"subsection 1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-1",children:"subsection 1-1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-2",children:"subsection 1-1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-2",children:"subsection 1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-2",children:"subsection 1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-2",children:"subsection 1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-3",children:"subsection 1-3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-2",children:"section 2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-3",children:"section 3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-1",children:"subsection 3-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-2",children:"subsection 3-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"})]})}function l(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},80980:function(e,s,t){t.d(s,{Z:()=>l,a:()=>c});var n=t(67294);let i={},o=n.createContext(i);function c(e){let s=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6ab75597.d1cbb027.js b/assets/js/6ab75597.d1cbb027.js new file mode 100644 index 0000000000..0188765726 --- /dev/null +++ b/assets/js/6ab75597.d1cbb027.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["38156"],{36064:function(e,s,c){c.r(s),c.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>h,metadata:()=>i,toc:()=>a});var i=c(36907),n=c(85893),o=c(80980);let h={mdx:{format:"md"},date:"2022-02-25T20:00",authors:["apidev234","artemkovalyov","BigDataWriter","cdemonchy-pro","CodeDoctorDE","CookieJarApps","dmitryvinn","dmitryvinn-fb","ebarojas","erickzhao","felipecrs","homotechsual","jodyheavener","johnnyreilly","Josh-Cena","kalevski","kgajera","koistya","lebalz","lex111","milesj","mrbrunelli","NaseelNiyas","nick-verida","nschonni","pranabdas","redhoyasa","revi","Ruben-Arushanyan","seyoon20087","slorber","tamalweb","TheCatLady","thedanielhanke","toto6038","vidarc","winterlood","yangshun"]},r="2.0.0-beta.16",l={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},a=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:":running: Performance",id:"running-performance",level:2},{value:"Committers: 38",id:"committers-38",level:2}];function t(e){let s={a:"a",code:"code",h2:"h2",li:"li",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6243",children:"#6243"})," feat(core): brand new swizzle CLI experience (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6750",children:"#6750"})," feat(create): new --package-manager option; interactive package manager selection (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6610",children:"#6610"})," feat(create): allow specifying a git clone strategy (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6723",children:"#6723"})," feat: sync color mode between browser tabs (",(0,n.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6692",children:"#6692"})," feat(search-algolia): allow disabling search page and configuring path (",(0,n.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6517",children:"#6517"})," feat(docs,theme-classic): docs breadcrumbs (",(0,n.jsx)(s.a,{href:"https://github.com/jodyheavener",children:"@jodyheavener"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6519",children:"#6519"}),' feat(content-docs): sidebar item type "html" for rendering pure markup (',(0,n.jsx)(s.a,{href:"https://github.com/jodyheavener",children:"@jodyheavener"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6593",children:"#6593"})," feat(content-blog): infer blog post date from git history (",(0,n.jsx)(s.a,{href:"https://github.com/felipecrs",children:"@felipecrs"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6619",children:"#6619"})," feat(content-docs): add custom props front matter (",(0,n.jsx)(s.a,{href:"https://github.com/TheCatLady",children:"@TheCatLady"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6452",children:"#6452"})," feat(content-docs): allow explicitly disabling index page for generated category (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6603",children:"#6603"})," feat(content-blog): allow customizing blog archive component through option (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6221",children:"#6221"})," feat(content-blog): Allow pagination for BlogTagsPostsPage (",(0,n.jsx)(s.a,{href:"https://github.com/redhoyasa",children:"@redhoyasa"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),", ",(0,n.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6752",children:"#6752"})," chore: upgrade docsearch-react to v3 stable, bump dependencies (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-types"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6729",children:"#6729"})," refactor: make MDX export a flat TOC list instead of tree (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6740",children:"#6740"})," refactor: remove deprecated Webpack utils & validation escape hatch (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6707",children:"#6707"})," refactor(theme-classic): bias again search metadata toward Algolia DocSearch (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6651",children:"#6651"})," refactor: reduce exported members of docusaurus router (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6758",children:"#6758"})," fix(theme-common): isSamePath should be case-insensitive (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6748",children:"#6748"})," fix(theme-classic): temporarily disable toc heading autoscrolling (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6696",children:"#6696"})," fix(theme-common): do not run useLocationChange when hot reloading (",(0,n.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6490",children:"#6490"})," fix(theme-classic): do not switch color modes when printing (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6749",children:"#6749"})," fix(theme-classic): fix breadcrumb home link bug with new useHomePageRoute() hook (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6720",children:"#6720"})," fix(content-docs): create assets for frontmatter images (",(0,n.jsx)(s.a,{href:"https://github.com/lebalz",children:"@lebalz"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6592",children:"#6592"})," fix(content-docs): read last update from inner git repositories (",(0,n.jsx)(s.a,{href:"https://github.com/felipecrs",children:"@felipecrs"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6477",children:"#6477"})," fix(content-docs): export versioning utils (",(0,n.jsx)(s.a,{href:"https://github.com/milesj",children:"@milesj"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6712",children:"#6712"})," fix(mdx-loader): make headings containing links properly formatted in ToC (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6701",children:"#6701"})," fix(cli): disable directory listing in serve (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6607",children:"#6607"})," fix(cli): log error itself on unhandled rejection (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6500",children:"#6500"})," fix(cli): allow passing a list of file names to write-heading-ids (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6496",children:"#6496"})," fix(core): configValidation should allow inline theme functions (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6652",children:"#6652"})," fix(theme-classic): minor BTT button fixes (",(0,n.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6612",children:"#6612"})," fix(theme-classic): make Prism additional languages properly server-side rendered (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6599",children:"#6599"})," fix(theme-classic): add docSidebar as allowed item in dropdown (",(0,n.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6531",children:"#6531"})," fix(theme-classic): highlight active collapsible doc category properly (",(0,n.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6515",children:"#6515"})," fix(theme-classic): add key prop for SimpleLinks map (",(0,n.jsx)(s.a,{href:"https://github.com/kgajera",children:"@kgajera"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6508",children:"#6508"})," fix(theme-classic): apply width/height for footer logos without href (",(0,n.jsx)(s.a,{href:"https://github.com/kgajera",children:"@kgajera"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6617",children:"#6617"})," fix(utils): convert Markdown links in reference-style links with multiple spaces (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6489",children:"#6489"})," fix(utils): do not resolve Markdown paths with @site prefix (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6478",children:"#6478"})," fix(utils): Markdown linkification match local paths beginning with http (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6495",children:"#6495"})," fix(content-docs): render category with no subitems as a normal link (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),", ",(0,n.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6755",children:"#6755"})," refactor: unify error handling behavior (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6679",children:"#6679"})," feat(create): better detection of package manager preference (",(0,n.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6481",children:"#6481"})," refactor(init): promote good practices; use site alias (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6745",children:"#6745"})," fix(content-docs): improve sidebar shorthand normalization error message (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6602",children:"#6602"})," feat(content-docs): allow omitting enclosing array consistently for category shorthand (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6596",children:"#6596"})," refactor(content-docs): clean up sidebars logic; validate generator returns (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6586",children:"#6586"})," refactor(content-docs): read category metadata files before autogenerating (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6730",children:"#6730"})," refactor: declare all props as interfaces (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6711",children:"#6711"})," chore(theme-translations): complete Korean translations (",(0,n.jsx)(s.a,{href:"https://github.com/revi",children:"@revi"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6686",children:"#6686"})," fix(theme-translations): improve Korean translations (",(0,n.jsx)(s.a,{href:"https://github.com/winterlood",children:"@winterlood"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6635",children:"#6635"})," refactor(theme-translation): improve Traditional Chinese translation quality (",(0,n.jsx)(s.a,{href:"https://github.com/toto6038",children:"@toto6038"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6674",children:"#6674"})," fix(theme-classic): improve aria label of color mode toggle (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6668",children:"#6668"})," refactor: recommend using data-theme without html element selector (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6622",children:"#6622"})," refactor(theme-classic): clean up CSS of doc sidebar item (",(0,n.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6644",children:"#6644"})," fix(core): forward ref to Link's anchor element (",(0,n.jsx)(s.a,{href:"https://github.com/koistya",children:"@koistya"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6646",children:"#6646"})," fix(cli): make docusaurus clear also remove .yarn/.cache folder (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6306",children:"#6306"})," feat(core): use react-helmet-async (",(0,n.jsx)(s.a,{href:"https://github.com/seyoon20087",children:"@seyoon20087"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6656",children:"#6656"})," feat: allow numbers in plugin ID (",(0,n.jsx)(s.a,{href:"https://github.com/cdemonchy-pro",children:"@cdemonchy-pro"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6650",children:"#6650"})," refactor(utils): replace hash with contenthash for file loader (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6615",children:"#6615"})," fix: remove more peer dependency warnings (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6598",children:"#6598"})," feat: make Markdown images lazy loaded (",(0,n.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6505",children:"#6505"})," fix(theme-classic): make focused link outlined with JS disabled (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6507",children:"#6507"})," refactor: improve internal typing (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6498",children:"#6498"})," fix: updating peerDependency fields for yarn berry (",(0,n.jsx)(s.a,{href:"https://github.com/vidarc",children:"@vidarc"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6482",children:"#6482"})," feat: mark some text labels as translatable (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Other\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6727",children:"#6727"})," docs: add Blog Matheus Brunelli site to showcase (",(0,n.jsx)(s.a,{href:"https://github.com/mrbrunelli",children:"@mrbrunelli"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6721",children:"#6721"})," docs: add Butterfly Documentation to showcase (",(0,n.jsx)(s.a,{href:"https://github.com/CodeDoctorDE",children:"@CodeDoctorDE"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6710",children:"#6710"})," docs(website): Add techharvesting to showcase (",(0,n.jsx)(s.a,{href:"https://github.com/NaseelNiyas",children:"@NaseelNiyas"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6708",children:"#6708"})," docs: add doc for generated-index keyword/image metadata (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6709",children:"#6709"})," docs(website): fix video responsiveness (",(0,n.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6687",children:"#6687"})," docs: add deep dive video for Docusaurus (",(0,n.jsx)(s.a,{href:"https://github.com/dmitryvinn",children:"@dmitryvinn"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6704",children:"#6704"})," docs(website): search doc typo searchParameters (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6682",children:"#6682"})," docs: add redux-cool site to showcase (",(0,n.jsx)(s.a,{href:"https://github.com/Ruben-Arushanyan",children:"@Ruben-Arushanyan"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6677",children:"#6677"})," docs: add Rivalis to showcase (",(0,n.jsx)(s.a,{href:"https://github.com/kalevski",children:"@kalevski"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6676",children:"#6676"})," docs: add SmartCookieWeb site to showcase (",(0,n.jsx)(s.a,{href:"https://github.com/CookieJarApps",children:"@CookieJarApps"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6675",children:"#6675"})," docs: mention that all official themes are TypeScript-covered (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6673",children:"#6673"})," docs: mention about blog date in front matter (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6672",children:"#6672"})," refactor(website): extract homepage data from UI; feature text updates (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6670",children:"#6670"})," docs: add CyberDrain Improved Partner Portal (CIPP) to showcase (",(0,n.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6667",children:"#6667"})," fix(website): make YT iframe responsive (",(0,n.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6659",children:"#6659"})," docs: add eli5 video to home page (",(0,n.jsx)(s.a,{href:"https://github.com/dmitryvinn-fb",children:"@dmitryvinn-fb"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6633",children:"#6633"})," docs: improve wording of using Markdown file paths (",(0,n.jsx)(s.a,{href:"https://github.com/BigDataWriter",children:"@BigDataWriter"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6624",children:"#6624"})," docs: add Resoto & Some Engineering Inc. to showcase (",(0,n.jsx)(s.a,{href:"https://github.com/TheCatLady",children:"@TheCatLady"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6611",children:"#6611"})," docs: fix bad anchor link syntax (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6591",children:"#6591"})," docs: improve GitHub Actions example jobs (",(0,n.jsx)(s.a,{href:"https://github.com/ebarojas",children:"@ebarojas"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6426",children:"#6426"})," feat(website): add Tweets section (",(0,n.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6532",children:"#6532"})," docs: add SAP Cloud SDK to showcase (",(0,n.jsx)(s.a,{href:"https://github.com/artemkovalyov",children:"@artemkovalyov"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6513",children:"#6513"})," docs: clean up CONTRIBUTING (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6501",children:"#6501"})," docs: add Cloudflare pages deployment guide (",(0,n.jsx)(s.a,{href:"https://github.com/apidev234",children:"@apidev234"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6499",children:"#6499"})," docs: mention how env vars can be read (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6492",children:"#6492"})," docs: mention where to find the sitemap (",(0,n.jsx)(s.a,{href:"https://github.com/tamalweb",children:"@tamalweb"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6491",children:"#6491"})," docs: add developers.verida to showcase (",(0,n.jsx)(s.a,{href:"https://github.com/nick-verida",children:"@nick-verida"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6414",children:"#6414"})," feat(website): new plugin to load CHANGELOG and render as blog (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6404",children:"#6404"})," docs: elaborate on Markdown asset linking; document pathname:// protocol (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6484",children:"#6484"})," docs: remove mention that CDN resources are cached cross-domain (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6429",children:"#6429"})," refactor: self-host KaTeX assets (",(0,n.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6483",children:"#6483"})," docs: mark a lot of website texts as translatable (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-preset-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6627",children:"#6627"})," docs: fix presets documentation link (",(0,n.jsx)(s.a,{href:"https://github.com/thedanielhanke",children:"@thedanielhanke"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6759",children:"#6759"})," refactor(theme-classic): merge CSS files for Heading (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6584",children:"#6584"})," misc: enable jsx-key eslint rule (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-migrate"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6756",children:"#6756"})," test: sort migration test FS mock calls (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6609",children:"#6609"})," refactor(migrate): change internal methods' parameter style (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6476",children:"#6476"})," chore: fix Stylelint globs for editor support (",(0,n.jsx)(s.a,{href:"https://github.com/nschonni",children:"@nschonni"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6744",children:"#6744"})," fix(content-docs): properly display collocated social card image (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6742",children:"#6742"})," refactor: improve client modules types (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6741",children:"#6741"})," chore(module-type-aliases): add react as peer dependency (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6658",children:"#6658"})," refactor(module-aliases): remove react-helmet dependency (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["Other\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6726",children:"#6726"})," misc: improve bug report template (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6512",children:"#6512"})," misc: configure linguist behavior to show better language stats (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6487",children:"#6487"})," chore: fix codesandbox example link + mention npm publish recovery (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6486",children:"#6486"})," chore: update examples for beta.15 (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6485",children:"#6485"})," fix(website): bad translate tags without default translation (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),", ",(0,n.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6716",children:"#6716"})," refactor: ensure lodash is default-imported (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6661",children:"#6661"})," refactor: convert CLI entry points to ESM; migrate create-docusaurus to ESM (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6651",children:"#6651"})," refactor: reduce exported members of docusaurus router (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6629",children:"#6629"})," refactor: move module declarations for non-route components to theme-classic (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6614",children:"#6614"})," refactor: remove Babel plugins that are included in preset-env (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6605",children:"#6605"})," chore: fix ESLint warnings, restrict export all syntax (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6583",children:"#6583"})," refactor(live-codeblock): migrate theme to TS (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),", ",(0,n.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6524",children:"#6524"})," refactor: enforce named capture groups; clean up regexes (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6521",children:"#6521"})," refactor: mark all functions that import external modules as async (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-logger"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),", ",(0,n.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6514",children:"#6514"})," chore: clean up ESLint config, enable a few rules (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6511",children:"#6511"})," refactor(core): convert theme-fallback to TS (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6506",children:"#6506"})," test: add test for readOutputHTMLFile (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6502",children:"#6502"})," refactor: fix all eslint warnings (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6474",children:"#6474"})," test: rename 'fixtures' to '",(0,n.jsx)(s.strong,{children:"fixtures"}),"' (",(0,n.jsx)(s.a,{href:"https://github.com/nschonni",children:"@nschonni"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"running-performance",children:":running: Performance"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-theme-translations"}),", ",(0,n.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,n.jsx)(s.code,{children:"docusaurus"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/6725",children:"#6725"})," refactor: convert all fs methods to async (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"committers-38",children:"Committers: 38"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,n.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Artem Kovalov (",(0,n.jsx)(s.a,{href:"https://github.com/artemkovalyov",children:"@artemkovalyov"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Balthasar Hofer (",(0,n.jsx)(s.a,{href:"https://github.com/lebalz",children:"@lebalz"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Clement Demonchy (",(0,n.jsx)(s.a,{href:"https://github.com/cdemonchy-pro",children:"@cdemonchy-pro"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["CodeDoctor (",(0,n.jsx)(s.a,{href:"https://github.com/CodeDoctorDE",children:"@CodeDoctorDE"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Daniel Hanke (",(0,n.jsx)(s.a,{href:"https://github.com/thedanielhanke",children:"@thedanielhanke"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Daniel Kalevski (",(0,n.jsx)(s.a,{href:"https://github.com/kalevski",children:"@kalevski"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Dmitry Vinnik (",(0,n.jsx)(s.a,{href:"https://github.com/dmitryvinn",children:"@dmitryvinn"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Dmitry Vinnik | Meta (",(0,n.jsx)(s.a,{href:"https://github.com/dmitryvinn-fb",children:"@dmitryvinn-fb"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Erick Zhao (",(0,n.jsx)(s.a,{href:"https://github.com/erickzhao",children:"@erickzhao"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Everardo J. Barojas M. (",(0,n.jsx)(s.a,{href:"https://github.com/ebarojas",children:"@ebarojas"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Felipe Santos (",(0,n.jsx)(s.a,{href:"https://github.com/felipecrs",children:"@felipecrs"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Gaurish (",(0,n.jsx)(s.a,{href:"https://github.com/apidev234",children:"@apidev234"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Hong Yongmin (",(0,n.jsx)(s.a,{href:"https://github.com/revi",children:"@revi"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Jody Heavener (",(0,n.jsx)(s.a,{href:"https://github.com/jodyheavener",children:"@jodyheavener"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["John Reilly (",(0,n.jsx)(s.a,{href:"https://github.com/johnnyreilly",children:"@johnnyreilly"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Joshua Chen (",(0,n.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Kishan Gajera (",(0,n.jsx)(s.a,{href:"https://github.com/kgajera",children:"@kgajera"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Konstantin Tarkus (",(0,n.jsx)(s.a,{href:"https://github.com/koistya",children:"@koistya"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Matheus Ricardo Brunelli (",(0,n.jsx)(s.a,{href:"https://github.com/mrbrunelli",children:"@mrbrunelli"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Matthew Ailes (",(0,n.jsx)(s.a,{href:"https://github.com/vidarc",children:"@vidarc"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Mikey O'Toole (",(0,n.jsx)(s.a,{href:"https://github.com/homotechsual",children:"@homotechsual"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Miles Johnson (",(0,n.jsx)(s.a,{href:"https://github.com/milesj",children:"@milesj"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Muhammad Redho Ayassa (",(0,n.jsx)(s.a,{href:"https://github.com/redhoyasa",children:"@redhoyasa"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Naseel Niyas (",(0,n.jsx)(s.a,{href:"https://github.com/NaseelNiyas",children:"@NaseelNiyas"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Nick Schonning (",(0,n.jsx)(s.a,{href:"https://github.com/nschonni",children:"@nschonni"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Pranab Das (",(0,n.jsx)(s.a,{href:"https://github.com/pranabdas",children:"@pranabdas"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Ruben Arushanyan (",(0,n.jsx)(s.a,{href:"https://github.com/Ruben-Arushanyan",children:"@Ruben-Arushanyan"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,n.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Tamal Web (",(0,n.jsx)(s.a,{href:"https://github.com/tamalweb",children:"@tamalweb"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Yangshun Tay (",(0,n.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/BigDataWriter",children:"@BigDataWriter"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/CookieJarApps",children:"@CookieJarApps"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/TheCatLady",children:"@TheCatLady"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/nick-verida",children:"@nick-verida"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/seyoon20087",children:"@seyoon20087"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://github.com/toto6038",children:"@toto6038"})}),"\n",(0,n.jsxs)(s.li,{children:["\uC774\uC815\uD658 (",(0,n.jsx)(s.a,{href:"https://github.com/winterlood",children:"@winterlood"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,o.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(t,{...e})}):t(e)}},80980:function(e,s,c){c.d(s,{Z:()=>r,a:()=>h});var i=c(67294);let n={},o=i.createContext(n);function h(e){let s=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:h(e.components),i.createElement(o.Provider,{value:s},e.children)}},36907:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.16","source":"@site/changelog/source/2.0.0-beta.16.md","title":"2.0.0-beta.16","description":"New Feature","date":"2022-02-25T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Gaurish","alias":"apidev234","url":"https://github.com/apidev234","imageURL":"https://github.com/apidev234.png","key":"apidev234","page":null},{"name":"Artem Kovalov","alias":"artemkovalyov","url":"https://github.com/artemkovalyov","imageURL":"https://github.com/artemkovalyov.png","key":"artemkovalyov","page":null},{"name":"BigDataWriter","alias":"BigDataWriter","url":"https://github.com/BigDataWriter","imageURL":"https://github.com/BigDataWriter.png","key":"BigDataWriter","page":null},{"name":"Clement Demonchy","alias":"cdemonchy-pro","url":"https://github.com/cdemonchy-pro","imageURL":"https://github.com/cdemonchy-pro.png","key":"cdemonchy-pro","page":null},{"name":"CodeDoctor","alias":"CodeDoctorDE","url":"https://github.com/CodeDoctorDE","imageURL":"https://github.com/CodeDoctorDE.png","key":"CodeDoctorDE","page":null},{"name":"CookieJarApps","alias":"CookieJarApps","url":"https://github.com/CookieJarApps","imageURL":"https://github.com/CookieJarApps.png","key":"CookieJarApps","page":null},{"name":"Dmitry Vinnik","alias":"dmitryvinn","url":"https://github.com/dmitryvinn","imageURL":"https://github.com/dmitryvinn.png","key":"dmitryvinn","page":null},{"name":"Dmitry Vinnik | Meta","alias":"dmitryvinn-fb","url":"https://github.com/dmitryvinn-fb","imageURL":"https://github.com/dmitryvinn-fb.png","key":"dmitryvinn-fb","page":null},{"name":"Everardo J. Barojas M.","alias":"ebarojas","url":"https://github.com/ebarojas","imageURL":"https://github.com/ebarojas.png","key":"ebarojas","page":null},{"name":"Erick Zhao","alias":"erickzhao","url":"https://github.com/erickzhao","imageURL":"https://github.com/erickzhao.png","key":"erickzhao","page":null},{"name":"Felipe Santos","alias":"felipecrs","url":"https://github.com/felipecrs","imageURL":"https://github.com/felipecrs.png","key":"felipecrs","page":null},{"name":"Mikey O\'Toole","alias":"homotechsual","url":"https://github.com/homotechsual","imageURL":"https://github.com/homotechsual.png","key":"homotechsual","page":null},{"name":"Jody Heavener","alias":"jodyheavener","url":"https://github.com/jodyheavener","imageURL":"https://github.com/jodyheavener.png","key":"jodyheavener","page":null},{"name":"John Reilly","alias":"johnnyreilly","url":"https://github.com/johnnyreilly","imageURL":"https://github.com/johnnyreilly.png","key":"johnnyreilly","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Daniel Kalevski","alias":"kalevski","url":"https://github.com/kalevski","imageURL":"https://github.com/kalevski.png","key":"kalevski","page":null},{"name":"Kishan Gajera","alias":"kgajera","url":"https://github.com/kgajera","imageURL":"https://github.com/kgajera.png","key":"kgajera","page":null},{"name":"Konstantin Tarkus","alias":"koistya","url":"https://github.com/koistya","imageURL":"https://github.com/koistya.png","key":"koistya","page":null},{"name":"Balthasar Hofer","alias":"lebalz","url":"https://github.com/lebalz","imageURL":"https://github.com/lebalz.png","key":"lebalz","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Miles Johnson","alias":"milesj","url":"https://github.com/milesj","imageURL":"https://github.com/milesj.png","key":"milesj","page":null},{"name":"Matheus Ricardo Brunelli","alias":"mrbrunelli","url":"https://github.com/mrbrunelli","imageURL":"https://github.com/mrbrunelli.png","key":"mrbrunelli","page":null},{"name":"Naseel Niyas","alias":"NaseelNiyas","url":"https://github.com/NaseelNiyas","imageURL":"https://github.com/NaseelNiyas.png","key":"NaseelNiyas","page":null},{"name":"nick-verida","alias":"nick-verida","url":"https://github.com/nick-verida","imageURL":"https://github.com/nick-verida.png","key":"nick-verida","page":null},{"name":"Nick Schonning","alias":"nschonni","url":"https://github.com/nschonni","imageURL":"https://github.com/nschonni.png","key":"nschonni","page":null},{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"Muhammad Redho Ayassa","alias":"redhoyasa","url":"https://github.com/redhoyasa","imageURL":"https://github.com/redhoyasa.png","key":"redhoyasa","page":null},{"name":"Yongmin Hong","alias":"revi","url":"https://github.com/revi","imageURL":"https://github.com/revi.png","key":"revi","page":null},{"name":"Ruben Arushanyan","alias":"Ruben-Arushanyan","url":"https://github.com/Ruben-Arushanyan","imageURL":"https://github.com/Ruben-Arushanyan.png","key":"Ruben-Arushanyan","page":null},{"name":"seyoon20087","alias":"seyoon20087","url":"https://github.com/seyoon20087","imageURL":"https://github.com/seyoon20087.png","key":"seyoon20087","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tamal Web","alias":"tamalweb","url":"https://github.com/tamalweb","imageURL":"https://github.com/tamalweb.png","key":"tamalweb","page":null},{"name":"TheCatLady","alias":"TheCatLady","url":"https://github.com/TheCatLady","imageURL":"https://github.com/TheCatLady.png","key":"TheCatLady","page":null},{"name":"Daniel Hanke","alias":"thedanielhanke","url":"https://github.com/thedanielhanke","imageURL":"https://github.com/thedanielhanke.png","key":"thedanielhanke","page":null},{"name":"toto6038","alias":"toto6038","url":"https://github.com/toto6038","imageURL":"https://github.com/toto6038.png","key":"toto6038","page":null},{"name":"Matthew Ailes","alias":"vidarc","url":"https://github.com/vidarc","imageURL":"https://github.com/vidarc.png","key":"vidarc","page":null},{"name":"\uC774\uC815\uD658","alias":"winterlood","url":"https://github.com/winterlood","imageURL":"https://github.com/winterlood.png","key":"winterlood","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-02-25T20:00","authors":["apidev234","artemkovalyov","BigDataWriter","cdemonchy-pro","CodeDoctorDE","CookieJarApps","dmitryvinn","dmitryvinn-fb","ebarojas","erickzhao","felipecrs","homotechsual","jodyheavener","johnnyreilly","Josh-Cena","kalevski","kgajera","koistya","lebalz","lex111","milesj","mrbrunelli","NaseelNiyas","nick-verida","nschonni","pranabdas","redhoyasa","revi","Ruben-Arushanyan","seyoon20087","slorber","tamalweb","TheCatLady","thedanielhanke","toto6038","vidarc","winterlood","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.17","permalink":"/changelog/2.0.0-beta.17"},"nextItem":{"title":"2.0.0-beta.15","permalink":"/changelog/2.0.0-beta.15"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/6b52ba42.05d98047.js b/assets/js/6b52ba42.05d98047.js new file mode 100644 index 0000000000..2c846c915d --- /dev/null +++ b/assets/js/6b52ba42.05d98047.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["90690"],{28260:function(t,e,s){s.r(e),s.d(e,{frontMatter:()=>a,default:()=>u,contentTitle:()=>i,assets:()=>d,toc:()=>c,metadata:()=>o});var o=JSON.parse('{"id":"tests/sidebar-frontmatter/doc-without","title":"Doc Without","description":"This doc doesn\'t have any sidebar_ front matter","source":"@site/_dogfooding/_docs tests/tests/sidebar-frontmatter/doc-without.mdx","sourceDirName":"tests/sidebar-frontmatter","slug":"/tests/sidebar-frontmatter/doc-without","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-without","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Doc With Sidebar Label","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-label"},"next":{"title":"TOC partial test","permalink":"/tests/docs/tests/toc-partials/"}}'),r=s(85893),n=s(80980);let a={},i="Doc Without",d={},c=[];function l(t){let e={code:"code",h1:"h1",header:"header",p:"p",...(0,n.a)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.header,{children:(0,r.jsx)(e.h1,{id:"doc-without",children:"Doc Without"})}),"\n",(0,r.jsxs)(e.p,{children:["This doc doesn't have any ",(0,r.jsx)(e.code,{children:"sidebar_"})," front matter"]})]})}function u(t={}){let{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(l,{...t})}):l(t)}u.displayName="MDXContent(_dogfooding/_docs tests/tests/sidebar-frontmatter/doc-without.mdx)"},80980:function(t,e,s){s.d(e,{Z:()=>i,a:()=>a});var o=s(67294);let r={},n=o.createContext(r);function a(t){let e=o.useContext(n);return o.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:a(t.components),o.createElement(n.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/6bb166bd.302830c7.js b/assets/js/6bb166bd.302830c7.js deleted file mode 100644 index 80c95474f3..0000000000 --- a/assets/js/6bb166bd.302830c7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[8518],{3618:t=>{t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Tutorial - Extras","slug":"/category/tutorial---extras","permalink":"/docs/category/tutorial---extras","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Congratulations!","permalink":"/docs/tutorial-basics/congratulations"},"next":{"title":"Manage Docs Versions","permalink":"/docs/tutorial-extras/manage-docs-versions"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/6c055727.e71afcac.js b/assets/js/6c055727.e71afcac.js new file mode 100644 index 0000000000..4c7f0f6adb --- /dev/null +++ b/assets/js/6c055727.e71afcac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["80646"],{85793:function(e,s,r){r.r(s),r.d(s,{assets:()=>a,contentTitle:()=>h,default:()=>u,frontMatter:()=>n,metadata:()=>i,toc:()=>l});var i=r(72175),o=r(85893),t=r(80980);let n={mdx:{format:"md"},date:"2021-05-12T20:00",authors:["ChrisOwen101","DigiPie","forresst","gianu","joelhans","Josh-Cena","KostyaTretyak","nam-hle","rodmoreno","slorber","yiliansource"]},h="2.0.0-beta.0",a={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},l=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 11",id:"committers-11",level:2}];function c(e){let s={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(s.p,{children:["Read the ",(0,o.jsx)(s.a,{href:"https://docusaurus.io/blog/2021/05/12/announcing-docusaurus-two-beta",children:"2.0.0 beta blog post"}),"!"]}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.strong,{children:"Note"}),": this first beta release does not contain any new major feature. We are removing the alpha label, as we are confident Docusaurus 2 is stable enough."]}),"\n",(0,o.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4762",children:"#4762"})," feat(v2): add es translations for docusaurus-theme-classic (",(0,o.jsx)(s.a,{href:"https://github.com/rodmoreno",children:"@rodmoreno"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4750",children:"#4750"})," fix(v2): improve french translation for theme-classic (",(0,o.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4736",children:"#4736"})," fix(v2): fix encoding of markdown image/file inline file-loaders (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4735",children:"#4735"})," fix(v2): markdown title parser should ignore all forms of MDX import statements (",(0,o.jsx)(s.a,{href:"https://github.com/nam-hle",children:"@nam-hle"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4729",children:"#4729"})," fix(v2): optimize markdown parser regex (Closes ",(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/4726",children:"#4726"}),") (",(0,o.jsx)(s.a,{href:"https://github.com/nam-hle",children:"@nam-hle"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4770",children:"#4770"})," docs(v2): Improve intro doc (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4773",children:"#4773"})," docs(v2): fix i18n doc: bad i18n page plugin path in code sample (",(0,o.jsx)(s.a,{href:"https://github.com/KostyaTretyak",children:"@KostyaTretyak"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4758",children:"#4758"})," docs(v2): add browsers support documentation (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4757",children:"#4757"})," docs(v2): Add Netdata to showcase (",(0,o.jsx)(s.a,{href:"https://github.com/joelhans",children:"@joelhans"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4754",children:"#4754"})," docs(v2): fix Jest showcase screenshot (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4747",children:"#4747"})," docs(v2): Update showcase page (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4734",children:"#4734"})," docs(v2): Added MediaMachine.io to showcase (",(0,o.jsx)(s.a,{href:"https://github.com/gianu",children:"@gianu"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4731",children:"#4731"})," docs(v2): add CodeYourFuture to showcase (",(0,o.jsx)(s.a,{href:"https://github.com/ChrisOwen101",children:"@ChrisOwen101"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4703",children:"#4703"})," docs(v2): specify google-analytics and gtag plugins (",(0,o.jsx)(s.a,{href:"https://github.com/yiliansource",children:"@yiliansource"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4727",children:"#4727"})," docs(v2): fix doc lint (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4725",children:"#4725"})," docs(v2): emphasize subset of markdown supported languages (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4711",children:"#4711"})," docs(v2): showcase personal site evantay (",(0,o.jsx)(s.a,{href:"https://github.com/DigiPie",children:"@DigiPie"}),")"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4746",children:"#4746"})," chore(v2): attempt to fix crowdin dl again (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4743",children:"#4743"})," chore(v2): fix prod deployment due to bad image path (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4740",children:"#4740"})," chore(v2): delay i18n-staging deployment to avoid Crowdin 409 errors (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4739",children:"#4739"})," chore(v2): Fix Crowdin 409 issues in CI (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"committers-11",children:"Committers: 11"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Chris Owen (",(0,o.jsx)(s.a,{href:"https://github.com/ChrisOwen101",children:"@ChrisOwen101"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Evan (",(0,o.jsx)(s.a,{href:"https://github.com/DigiPie",children:"@DigiPie"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Forresst (",(0,o.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Ian Hornik (",(0,o.jsx)(s.a,{href:"https://github.com/yiliansource",children:"@yiliansource"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Joel Hans (",(0,o.jsx)(s.a,{href:"https://github.com/joelhans",children:"@joelhans"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Joshua Chen (",(0,o.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Nam Hoang Le (",(0,o.jsx)(s.a,{href:"https://github.com/nam-hle",children:"@nam-hle"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Rodrigo Moreno (",(0,o.jsx)(s.a,{href:"https://github.com/rodmoreno",children:"@rodmoreno"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Sergio Rafael Gianazza (",(0,o.jsx)(s.a,{href:"https://github.com/gianu",children:"@gianu"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["\u041A\u043E\u0441\u0442\u044F \u0422\u0440\u0435\u0442\u044F\u043A (",(0,o.jsx)(s.a,{href:"https://github.com/KostyaTretyak",children:"@KostyaTretyak"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,s,r){r.d(s,{Z:()=>h,a:()=>n});var i=r(67294);let o={},t=i.createContext(o);function n(e){let s=i.useContext(t);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function h(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),i.createElement(t.Provider,{value:s},e.children)}},72175:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.0","source":"@site/changelog/source/2.0.0-beta.0.md","title":"2.0.0-beta.0","description":"Read the 2.0.0 beta blog post!","date":"2021-05-12T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Chris Owen","alias":"ChrisOwen101","url":"https://github.com/ChrisOwen101","imageURL":"https://github.com/ChrisOwen101.png","key":"ChrisOwen101","page":null},{"name":"Evan","alias":"DigiPie","url":"https://github.com/DigiPie","imageURL":"https://github.com/DigiPie.png","key":"DigiPie","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Sergio Rafael Gianazza","alias":"gianu","url":"https://github.com/gianu","imageURL":"https://github.com/gianu.png","key":"gianu","page":null},{"name":"Joel Hans","alias":"joelhans","url":"https://github.com/joelhans","imageURL":"https://github.com/joelhans.png","key":"joelhans","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"\u041A\u043E\u0441\u0442\u044F \u0422\u0440\u0435\u0442\u044F\u043A","alias":"KostyaTretyak","url":"https://github.com/KostyaTretyak","imageURL":"https://github.com/KostyaTretyak.png","key":"KostyaTretyak","page":null},{"name":"Nam Hoang Le","alias":"nam-hle","url":"https://github.com/nam-hle","imageURL":"https://github.com/nam-hle.png","key":"nam-hle","page":null},{"name":"Rodrigo Moreno","alias":"rodmoreno","url":"https://github.com/rodmoreno","imageURL":"https://github.com/rodmoreno.png","key":"rodmoreno","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Ian Hornik","alias":"yiliansource","url":"https://github.com/yiliansource","imageURL":"https://github.com/yiliansource.png","key":"yiliansource","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-05-12T20:00","authors":["ChrisOwen101","DigiPie","forresst","gianu","joelhans","Josh-Cena","KostyaTretyak","nam-hle","rodmoreno","slorber","yiliansource"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.1","permalink":"/changelog/2.0.0-beta.1"},"nextItem":{"title":"2.0.0-alpha.75","permalink":"/changelog/2.0.0-alpha.75"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/6c065aab.5f4dd145.js b/assets/js/6c065aab.5f4dd145.js new file mode 100644 index 0000000000..5db7304c46 --- /dev/null +++ b/assets/js/6c065aab.5f4dd145.js @@ -0,0 +1,22 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["19507"],{34053:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>u,default:()=>f,contentTitle:()=>d,assets:()=>h,toc:()=>p,metadata:()=>r});var r=JSON.parse('{"id":"api/themes/theme-classic","title":"\uD83D\uDCE6 theme-classic","description":"The classic theme for Docusaurus.","source":"@site/docs/api/themes/theme-classic.mdx","sourceDirName":"api/themes","slug":"/api/themes/@docusaurus/theme-classic","permalink":"/docs/api/themes/@docusaurus/theme-classic","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/theme-classic.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":2,"frontMatter":{"sidebar_position":2,"slug":"/api/themes/@docusaurus/theme-classic"},"sidebar":"api","previous":{"title":"Configuration","permalink":"/docs/api/themes/configuration"},"next":{"title":"\uD83D\uDCE6 theme-live-codeblock","permalink":"/docs/api/themes/@docusaurus/theme-live-codeblock"}}'),s=n(85893),a=n(80980),o=n(15398),l=n(58636),i=n(32240),c=n(66359);let u={sidebar_position:2,slug:"/api/themes/@docusaurus/theme-classic"},d="\uD83D\uDCE6 theme-classic",h={},p=[{value:"Configuration",id:"configuration",level:2},{value:"Example configuration",id:"ex-config",level:3}];function m(e){let t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"-theme-classic",children:"\uD83D\uDCE6 theme-classic"})}),"\n","\n",(0,s.jsx)(t.p,{children:"The classic theme for Docusaurus."}),"\n",(0,s.jsxs)(t.p,{children:["You can refer to the ",(0,s.jsx)(t.a,{href:"/docs/api/themes/configuration",children:"theme configuration page"})," for more details on the configuration."]}),"\n",(0,s.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,s.jsx)(l.Z,{value:"npm",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npm install --save @docusaurus/theme-classic\n"})})}),(0,s.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"yarn add @docusaurus/theme-classic\n"})})}),(0,s.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"pnpm add @docusaurus/theme-classic\n"})})})]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["If you have installed ",(0,s.jsx)(t.code,{children:"@docusaurus/preset-classic"}),", you don't need to install it as a dependency."]})}),"\n",(0,s.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,s.jsx)(t.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(i.Z,{children:(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Option"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Default"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"customCss"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)("code",{children:"string[] | string"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"[]"})}),(0,s.jsxs)(t.td,{children:["Stylesheets to be imported globally as ",(0,s.jsx)(t.a,{href:"/docs/advanced/client#client-modules",children:"client modules"}),". Relative paths are resolved against the site directory."]})]})})]})}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsxs)(t.p,{children:["Most configuration for the theme is done in ",(0,s.jsx)(t.code,{children:"themeConfig"}),", which can be found in ",(0,s.jsx)(t.a,{href:"/docs/api/themes/configuration",children:"theme configuration"}),"."]})}),"\n",(0,s.jsx)(t.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,s.jsx)(t.p,{children:"You can configure this theme through preset options or plugin options."}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"Most Docusaurus users configure this plugin through the preset options."})}),"\n","\n",(0,s.jsx)(c.Z,{pluginName:"@docusaurus/theme-classic",presetOptionName:"theme",code:"{\n customCss: './src/css/custom.css',\n}"})]})}function f(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},58636:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var s=n(90496);function a(e){let{children:t,hidden:n,className:a}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,s.Z)("tabItem_pnkT",a),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>x});var r=n(85893),s=n(67294),a=n(90496),o=n(54947),l=n(3620),i=n(844),c=n(97486),u=n(32263),d=n(16971);function h(e){return s.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||s.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var m=n(71607);function f(e){let{className:t,block:n,selectedValue:s,selectValue:l,tabValues:i}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,o.o5)(),d=e=>{let t=e.currentTarget,n=i[c.indexOf(t)].value;n!==s&&(u(t),l(n))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{let n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1]}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:i.map(e=>{let{value:t,label:n,attributes:o}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>{c.push(e)},onKeyDown:h,onClick:d,...o,className:(0,a.Z)("tabs__item","tabItem_AQgk",o?.className,{"tabs__item--active":s===t}),children:n??t},t)})})}function b(e){let{lazy:t,children:n,selectedValue:o}=e,l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=l.find(e=>e.props.value===o);return e?(0,s.cloneElement)(e,{className:(0,a.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:l.map((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==o}))})}function g(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:r}=e,a=function(e){let{values:t,children:n}=e;return(0,s.useMemo)(()=>{let e=t??h(n).map(e=>{let{props:{value:t,label:n,attributes:r,default:s}}=e;return{value:t,label:n,attributes:r,default:s}});return!function(e){let t=(0,u.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[o,m]=(0,s.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!p({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:a})),[f,b]=function(e){let{queryString:t=!1,groupId:n}=e,r=(0,l.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(a),(0,s.useCallback)(e=>{if(!a)return;let t=new URLSearchParams(r.location.search);t.set(a,e),r.replace({...r.location,search:t.toString()})},[a,r])]}({queryString:n,groupId:r}),[g,x]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[r,a]=(0,d.Nk)(n);return[r,(0,s.useCallback)(e=>{n&&a.set(e)},[n,a])]}({groupId:r}),j=(()=>{let e=f??g;return p({value:e,tabValues:a})?e:null})();return(0,i.Z)(()=>{j&&m(j)},[j]),{selectedValue:o,selectValue:(0,s.useCallback)(e=>{if(!p({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);m(e),b(e),x(e)},[b,x,a]),tabValues:a}}(e);return(0,r.jsxs)("div",{className:(0,a.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(f,{...t,...e}),(0,r.jsx)(b,{...t,...e})]})}function x(e){let t=(0,m.Z)();return(0,r.jsx)(g,{...e,children:h(e.children)},String(t))}},56497:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var s=n(71607);function a(e){let{children:t,fallback:n}=e;return(0,s.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}},32240:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893),s=n(67294),a=n(96700),o=n(3620);let l=s.forwardRef(function(e,t){let{name:n,children:l}=e,i=function(e){let t=e;for(;(0,s.isValidElement)(t);)[t]=s.Children.toArray(t.props.children);if("string"!=typeof t)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return t}(l),c=n?`${n}-${i}`:i,u=`#${c}`,d=(0,o.k6)();return(0,a.Z)().collectAnchor(c),(0,r.jsx)("tr",{id:c,tabIndex:0,ref:d.location.hash===u?t:void 0,onClick:e=>{let t="TD"===e.target.tagName.toUpperCase(),n=!!window.getSelection()?.toString();t&&!n&&d.push(u)},onKeyDown:e=>{"Enter"===e.key&&d.push(u)},children:l.props.children})});function i(e){let{children:t,name:n}=e;if("table"!==t.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[a,o]=s.Children.toArray(t.props.children),i=(0,s.useRef)(null);(0,s.useEffect)(()=>{i.current?.focus()},[i]);let c=s.Children.map(o.props.children,e=>(0,r.jsx)(l,{name:n,ref:i,children:e}));return(0,r.jsxs)("table",{className:"apiTable_e8hp",children:[a,(0,r.jsx)("tbody",{children:c})]})}},66359:function(e,t,n){n.d(t,{Z:()=>d});var r=n(85893);n(67294);var s=n(35363),a=n(90158),o=n(77827),l=n(15398),i=n(58636),c=n(95998);let u=void 0;function d(e){let{code:t,pluginName:n,presetOptionName:d}=e,h=(0,a.zu)(u).path;return(0,r.jsxs)(l.Z,{groupId:"api-config-ex",children:[(0,r.jsxs)(i.Z,{value:"preset",label:(0,o.I)({message:"Preset options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(o.Z,{id:"apiDocs.configTabs.presetOptions.description",values:{presetLink:(0,r.jsx)(s.Z,{to:`${h}/using-plugins#docusauruspreset-classic`,children:(0,r.jsx)(o.Z,{children:"preset options"})})},children:"If you use a preset, configure this plugin through the {presetLink}:"})}),(0,r.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + presets: [ + [ + '@docusaurus/preset-classic', + { + // highlight-start + ${d}: ${t.replace(/\n/g,"\n ")}, + // highlight-end + }, + ], + ], +};`})]}),(0,r.jsxs)(i.Z,{value:"plugin",label:(0,o.I)({message:"Plugin options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(o.Z,{children:"If you are using a standalone plugin, provide options directly to the plugin:"})}),(0,r.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + plugins: [ + [ + '${n}', + // highlight-start + ${t.replace(/\n/g,"\n ")}, + // highlight-end + ], + ], +};`})]})]})}},95998:function(e,t,n){n.d(t,{Z:()=>et});var r,s={};n.r(s),n.d(s,{ButtonExample:()=>C});var a=n(85893),o=n(67294),l=n(90496),i=n(71607),c=n(10075),u=n(77827),d=n(8156),h=n(56497),p=n(85108),m=n(45245),f=n(26378);function b(){let{prism:e}=(0,f.L)(),{colorMode:t}=(0,m.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var g=n(67490);function x(e){let{children:t}=e;return(0,a.jsx)("div",{className:(0,l.Z)("playgroundHeader_Tvsk"),children:t})}function j(){return(0,a.jsx)("div",{children:"Loading..."})}function v(){return(0,a.jsx)(h.Z,{fallback:(0,a.jsx)(j,{}),children:()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Z,{fallback:e=>(0,a.jsx)(p.Ac,{...e}),children:(0,a.jsx)(c.i5,{})}),(0,a.jsx)(c.IF,{})]})})}function y(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(x,{children:(0,a.jsx)(u.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,a.jsx)("div",{className:"playgroundPreview_mApW",children:(0,a.jsx)(v,{})})]})}function k(){let e=(0,i.Z)();return(0,a.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function w(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(x,{children:(0,a.jsx)(u.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,a.jsx)(k,{})]})}let B=e=>`${e};`;function N(e){let{children:t,transformCode:n,...r}=e,{siteConfig:{themeConfig:s}}=(0,d.Z)(),{liveCodeBlock:{playgroundPosition:o}}=s,l=b(),i=r.metastring?.includes("noInline")??!1;return(0,a.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,a.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:i,transformCode:n??B,theme:l,...r,children:"top"===o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y,{}),(0,a.jsx)(w,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(w,{}),(0,a.jsx)(y,{})]})})})}function C(e){return(0,a.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let Z={React:o,...o,...s};var E=n(55951),I=n(6324),L=n.n(I);let T=/title=(?<quote>["'])(?<title>.*?)\1/,_=/\{(?<range>[\d,-]+)\}/,S={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},$={...S,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},A=Object.keys(S);function O(e,t){let n=e.map(e=>{let{start:n,end:r}=$[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function D(e){let{as:t,...n}=e,r=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,a=t[r];a&&"string"==typeof s&&(n[a]=s)}),n}(b());return(0,a.jsx)(t,{...n,style:r,className:(0,l.Z)(n.className,"codeBlockContainer_jDV4",E.k.common.codeBlock)})}let M={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function R(e){let{children:t,className:n}=e;return(0,a.jsx)(D,{as:"pre",tabIndex:0,className:(0,l.Z)(M.codeBlockStandalone,"thin-scrollbar",n),children:(0,a.jsx)("code",{className:M.codeBlockLines,children:t})})}var V=n(50923);let W={attributes:!0,characterData:!0,childList:!0,subtree:!0};var H=n(7316);let q={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function F(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:s,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let i=s({line:t,className:(0,l.Z)(n,r&&q.codeLine)}),c=t.map((e,t)=>(0,a.jsx)("span",{...o({token:e})},t));return(0,a.jsxs)("span",{...i,children:[r?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:q.codeLineNumber}),(0,a.jsx)("span",{className:q.codeLineContent,children:c})]}):c,(0,a.jsx)("br",{})]})}var P=n(44771);function z(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function U(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let G={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function Q(e){let{code:t,className:n}=e,[r,s]=(0,o.useState)(!1),i=(0,o.useRef)(void 0),c=(0,o.useCallback)(()=>{(0,P.Z)(t),s(!0),i.current=window.setTimeout(()=>{s(!1)},1e3)},[t]);return(0,o.useEffect)(()=>()=>window.clearTimeout(i.current),[]),(0,a.jsx)("button",{type:"button","aria-label":r?(0,u.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,u.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,u.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,l.Z)("clean-btn",n,G.copyButton,r&&G.copyButtonCopied),onClick:c,children:(0,a.jsxs)("span",{className:G.copyButtonIcons,"aria-hidden":"true",children:[(0,a.jsx)(z,{className:G.copyButtonIcon}),(0,a.jsx)(U,{className:G.copyButtonSuccessIcon})]})})}function J(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let X={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function Y(e){let{className:t,onClick:n,isEnabled:r}=e,s=(0,u.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,a.jsx)("button",{type:"button",onClick:n,className:(0,l.Z)("clean-btn",t,r&&X.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,a.jsx)(J,{className:X.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:r="",metastring:s,title:c,showLineNumbers:u,language:d}=e,{prism:{defaultLanguage:h,magicComments:p}}=(0,f.L)(),m=(t=d??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(r)??h,t?.toLowerCase()),g=b(),x=function(){let[e,t]=(0,o.useState)(!1),[n,r]=(0,o.useState)(!1),s=(0,o.useRef)(null),a=(0,o.useCallback)(()=>{let n=s.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[s,e]),l=(0,o.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=s.current;r(e>t||s.current.querySelector("code").hasAttribute("style"))},[s]);return!function(e,t){let[n,r]=(0,o.useState)(),s=(0,o.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,o.useEffect)(()=>{s()},[s]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:W,r=(0,V.zX)(t),s=(0,V.Ql)(n);(0,o.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,s),()=>t.disconnect()},[e,r,s])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),s())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(s,l),(0,o.useEffect)(()=>{l()},[e,l]),(0,o.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:s,isEnabled:e,isCodeScrollable:n,toggle:a}}(),j=(0,i.Z)(),v=(s?.match(T)?.groups.title??"")||c,{lineClassNames:y,code:k}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:a}=t;if(a&&_.test(a)){let e=a.match(_).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=s[0].className;return{lineClassNames:Object.fromEntries(L()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let o=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return O(["js","jsBlock"],t);case"jsx":case"tsx":return O(["js","jsBlock","jsx"],t);case"html":return O(["js","jsBlock","html"],t);case"python":case"py":case"bash":return O(["bash"],t);case"markdown":case"md":return O(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return O(["tex"],t);case"lua":case"haskell":return O(["lua"],t);case"sql":return O(["lua","jsBlock"],t);case"wasm":return O(["wasm"],t);case"vb":case"vba":case"visual-basic":return O(["vb","rem"],t);case"vbnet":return O(["vbnet","rem"],t);case"batch":return O(["rem"],t);case"basic":return O(["rem","f90"],t);case"fsharp":return O(["js","ml"],t);case"ocaml":case"sml":return O(["ml"],t);case"fortran":return O(["f90"],t);case"cobol":return O(["cobol"],t);default:return O(A,t)}}(r,s),l=n.split("\n"),i=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<l.length;){let t=l[e].match(o);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?i[c[n]].range+=`${e},`:u[n]?i[u[n]].start=e:d[n]&&(i[d[n]].range+=`${i[d[n]].start}-${e-1},`),l.splice(e,1)}n=l.join("\n");let h={};return Object.entries(i).forEach(e=>{let[t,{range:n}]=e;L()(n).forEach(e=>{h[e]??=[],h[e].push(t)})}),{lineClassNames:h,code:n}}(n,{metastring:s,language:m,magicComments:p}),w=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:u,metastring:s});return(0,a.jsxs)(D,{as:"div",className:(0,l.Z)(r,m&&!r.includes(`language-${m}`)&&`language-${m}`),children:[v&&(0,a.jsx)("div",{className:M.codeBlockTitle,children:v}),(0,a.jsxs)("div",{className:M.codeBlockContent,children:[(0,a.jsx)(H.y$,{theme:g,code:k,language:m??"text",children:e=>{let{className:t,style:n,tokens:r,getLineProps:s,getTokenProps:o}=e;return(0,a.jsx)("pre",{tabIndex:0,ref:x.codeBlockRef,className:(0,l.Z)(t,M.codeBlock,"thin-scrollbar"),style:n,children:(0,a.jsx)("code",{className:(0,l.Z)(M.codeBlockLines,void 0!==w&&M.codeBlockLinesWithNumbering),style:void 0===w?void 0:{counterReset:`line-count ${w-1}`},children:r.map((e,t)=>(0,a.jsx)(F,{line:e,getLineProps:s,getTokenProps:o,classNames:y[t],showLineNumbers:void 0!==w},t))})})}}),j?(0,a.jsxs)("div",{className:M.buttonGroup,children:[(x.isEnabled||x.isCodeScrollable)&&(0,a.jsx)(Y,{className:M.codeButton,onClick:()=>x.toggle(),isEnabled:x.isEnabled}),(0,a.jsx)(Q,{className:M.codeButton,code:k})]}):null]})]})}let ee=(r=function(e){let{children:t,...n}=e,r=(0,i.Z)(),s=o.Children.toArray(t).some(e=>(0,o.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,a.jsx)("string"==typeof s?K:R,{...n,children:s},String(r))},function(e){return e.live?(0,a.jsx)(N,{scope:Z,...e}):(0,a.jsx)(r,{...e})});function et(e){return(0,a.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/6c1df059.2589af18.js b/assets/js/6c1df059.2589af18.js new file mode 100644 index 0000000000..f5b1fd27f6 --- /dev/null +++ b/assets/js/6c1df059.2589af18.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["70354"],{21863:function(o,e,t){t.r(e),t.d(e,{assets:()=>u,contentTitle:()=>s,default:()=>c,frontMatter:()=>i,metadata:()=>n,toc:()=>l});var n=t(80410),a=t(85893),r=t(80980);let i={title:"How I Converted Profilo to Docusaurus in Under 2 Hours",authors:["abernathyca"],tags:["profilo","adoption"]},s=void 0,u={authorsImageUrls:[void 0]},l=[];function d(o){let e={a:"a",blockquote:"blockquote",em:"em",p:"p",...(0,r.a)(),...o.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(e.blockquote,{children:["\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.em,{children:"\u201CJoel and I were discussing having a website and how it would have been great to launch with it. So I challenged myself to add Docusaurus support. It took just over an hour and a half. I'm going to send you a PR with the addition so you can take a look and see if you like it. Your workflow for adding docs wouldn't be much different from editing those Markdown files.\u201D"})}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.em,{children:"\u2014 Note sent to the Profilo team"})}),"\n"]}),"\n",(0,a.jsxs)(e.p,{children:["This is the story of the rather short journey it took to create the ",(0,a.jsx)(e.a,{href:"https://facebookincubator.github.io/profilo/",children:"Profilo"})," website using Docusaurus."]}),"\n",(0,a.jsxs)(e.p,{children:["Profilo, an Android library for collecting performance traces from production, ",(0,a.jsx)(e.a,{href:"https://code.fb.com/android/profilo-understanding-app-performance-in-the-wild/",children:"was announced"})," earlier this year. The project was ",(0,a.jsx)(e.a,{href:"https://github.com/facebookincubator/profilo/tree/802042f90f990998a272387e371b893af52465b8",children:"published on GitHub"})," with a less than ",(0,a.jsx)(e.a,{href:"https://github.com/facebookincubator/profilo/tree/802042f90f990998a272387e371b893af52465b8/docs",children:"a handful or Markdown files"})," to describe its functionality and no website to showcase any branding and highlight the logo. The task at hand was to turn these existing docs and logo into a website."]})]})}function c(o={}){let{wrapper:e}={...(0,r.a)(),...o.components};return e?(0,a.jsx)(e,{...o,children:(0,a.jsx)(d,{...o})}):d(o)}},80980:function(o,e,t){t.d(e,{Z:()=>s,a:()=>i});var n=t(67294);let a={},r=n.createContext(a);function i(o){let e=n.useContext(r);return n.useMemo(function(){return"function"==typeof o?o(e):{...e,...o}},[e,o])}function s(o){let e;return e=o.disableParentContext?"function"==typeof o.components?o.components(a):o.components||a:i(o.components),n.createElement(r.Provider,{value:e},o.children)}},80410:function(o){o.exports=JSON.parse('{"permalink":"/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2018/04-30-How-I-Converted-Profilo-To-Docusaurus.mdx","source":"@site/blog/2018/04-30-How-I-Converted-Profilo-To-Docusaurus.mdx","title":"How I Converted Profilo to Docusaurus in Under 2 Hours","description":"\u201CJoel and I were discussing having a website and how it would have been great to launch with it. So I challenged myself to add Docusaurus support. It took just over an hour and a half. I\'m going to send you a PR with the addition so you can take a look and see if you like it. Your workflow for adding docs wouldn\'t be much different from editing those Markdown files.\u201D","date":"2018-04-30T00:00:00.000Z","tags":[{"inline":false,"label":"Profilo","permalink":"/blog/tags/profilo"},{"inline":false,"label":"Adoption","permalink":"/blog/tags/adoption"}],"readingTime":5.95,"hasTruncateMarker":true,"authors":[{"name":"Christine Abernathy","url":"http://x.com/abernathyca","socials":{"x":"https://x.com/abernathyca"},"imageURL":"https://github.com/caabernathy.png","key":"abernathyca","page":null}],"frontMatter":{"title":"How I Converted Profilo to Docusaurus in Under 2 Hours","authors":["abernathyca"],"tags":["profilo","adoption"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Towards Docusaurus 2","permalink":"/blog/2018/09/11/Towards-Docusaurus-2"},"nextItem":{"title":"Introducing Docusaurus","permalink":"/blog/2017/12/14/introducing-docusaurus"}}')}}]); \ No newline at end of file diff --git a/assets/js/6ca75a11.8a99056b.js b/assets/js/6ca75a11.8a99056b.js new file mode 100644 index 0000000000..abd83adfc9 --- /dev/null +++ b/assets/js/6ca75a11.8a99056b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["65558"],{67104:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>d,default:()=>h,contentTitle:()=>t,assets:()=>l,toc:()=>a,metadata:()=>i});var i=JSON.parse('{"id":"migration/v2/migration-versioned-sites","title":"Versioned sites","description":"Read up https://docusaurus.io/blog/2018/09/11/Towards-Docusaurus-2#versioning first for problems in v1\'s approach.","source":"@site/docs/migration/v2/migration-versioned-sites.mdx","sourceDirName":"migration/v2","slug":"/migration/v2/versioned-sites","permalink":"/docs/migration/v2/versioned-sites","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/v2/migration-versioned-sites.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration/v2/versioned-sites"},"sidebar":"docs","previous":{"title":"Manual migration","permalink":"/docs/migration/v2/manual"},"next":{"title":"Translated sites","permalink":"/docs/migration/v2/translated-sites"}}'),o=s(85893),r=s(80980);let d={slug:"/migration/v2/versioned-sites"},t="Versioned sites",l={},a=[{value:"Migrate your <code>versioned_docs</code> front matter",id:"migrate-your-versioned_docs-front-matter",level:2},{value:"Migrate your <code>versioned_sidebars</code>",id:"migrate-your-versioned_sidebars",level:2},{value:"Populate your <code>versioned_sidebars</code> and <code>versioned_docs</code>",id:"populate-your-versioned_sidebars-and-versioned_docs",level:2},{value:"Convert style attributes to style objects in MDX",id:"convert-style-attributes-to-style-objects-in-mdx",level:2}];function c(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"versioned-sites",children:"Versioned sites"})}),"\n",(0,o.jsxs)(n.p,{children:["Read up ",(0,o.jsx)(n.a,{href:"https://docusaurus.io/blog/2018/09/11/Towards-Docusaurus-2#versioning",children:"https://docusaurus.io/blog/2018/09/11/Towards-Docusaurus-2#versioning"})," first for problems in v1's approach."]}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["The versioned docs should normally be migrated correctly by the ",(0,o.jsx)(n.a,{href:"/docs/migration/v2/automated",children:"migration CLI"})]})}),"\n",(0,o.jsxs)(n.h2,{id:"migrate-your-versioned_docs-front-matter",children:["Migrate your ",(0,o.jsx)(n.code,{children:"versioned_docs"})," front matter"]}),"\n",(0,o.jsxs)(n.p,{children:["Unlike v1, The Markdown header for each versioned doc is no longer altered by using ",(0,o.jsx)(n.code,{children:"version-${version}-${original_id}"})," as the value for the actual ID field. See scenario below for better explanation."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, if you have a ",(0,o.jsx)(n.code,{children:"docs/hello.md"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"---\nid: hello\ntitle: Hello, World !\n---\n\nHi, Endilie here :)\n"})}),"\n",(0,o.jsxs)(n.p,{children:["When you cut a new version 1.0.0, in Docusaurus v1, ",(0,o.jsx)(n.code,{children:"website/versioned_docs/version-1.0.0/hello.md"})," looks like this:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"---\nid: version-1.0.0-hello\ntitle: Hello, World !\noriginal_id: hello\n---\n\nHi, Endilie here :)\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In comparison, Docusaurus 2 ",(0,o.jsx)(n.code,{children:"website/versioned_docs/version-1.0.0/hello.md"})," looks like this (exactly same as original)"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"---\nid: hello\ntitle: Hello, World !\n---\n\nHi, Endilie here :)\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Since we're going for snapshot and allow people to move (and edit) docs easily inside version. The ",(0,o.jsx)(n.code,{children:"id"})," front matter is no longer altered and will remain the same. Internally, it is set as ",(0,o.jsx)(n.code,{children:"version-${version}/${id}"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"Essentially, here are the necessary changes in each versioned_docs file:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-diff",metastring:"{2-3,5}",children:"---\n- id: version-1.0.0-hello\n+ id: hello\ntitle: Hello, World !\n- original_id: hello\n---\nHi, Endilie here :)\n"})}),"\n",(0,o.jsxs)(n.h2,{id:"migrate-your-versioned_sidebars",children:["Migrate your ",(0,o.jsx)(n.code,{children:"versioned_sidebars"})]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Refer to ",(0,o.jsx)(n.code,{children:"versioned_docs"})," ID as ",(0,o.jsx)(n.code,{children:"version-${version}/${id}"})," (v2) instead of ",(0,o.jsx)(n.code,{children:"version-${version}-${original_id}"})," (v1)."]}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Because in v1 there is a good chance someone created a new file with front matter ID ",(0,o.jsx)(n.code,{children:'"version-${version}-${id}"'})," that can conflict with ",(0,o.jsx)(n.code,{children:"versioned_docs"})," ID."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, Docusaurus 1 can't differentiate ",(0,o.jsx)(n.code,{children:"docs/xxx.md"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"---\nid: version-1.0.0-hello\n---\n\nAnother content\n"})}),"\n",(0,o.jsxs)(n.p,{children:["vs ",(0,o.jsx)(n.code,{children:"website/versioned_docs/version-1.0.0/hello.md"})]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-md",children:"---\nid: version-1.0.0-hello\ntitle: Hello, World !\noriginal_id: hello\n---\n\nHi, Endilie here :)\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Since we don't allow ",(0,o.jsx)(n.code,{children:"/"})," in v1 & v2 for front matter, conflicts are less likely to occur."]}),"\n",(0,o.jsx)(n.p,{children:"So v1 users need to migrate their versioned_sidebars file"}),"\n",(0,o.jsxs)(n.p,{children:["Example ",(0,o.jsx)(n.code,{children:"versioned_sidebars/version-1.0.0-sidebars.json"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-diff",metastring:'{2-3,5-6,9-10} title="versioned_sidebars/version-1.0.0-sidebars.json"',children:'{\n+ "version-1.0.0/docs": {\n- "version-1.0.0-docs": {\n "Test": [\n+ "version-1.0.0/foo/bar",\n- "version-1.0.0-foo/bar",\n ],\n "Guides": [\n+ "version-1.0.0/hello",\n- "version-1.0.0-hello"\n ]\n }\n}\n'})}),"\n",(0,o.jsxs)(n.h2,{id:"populate-your-versioned_sidebars-and-versioned_docs",children:["Populate your ",(0,o.jsx)(n.code,{children:"versioned_sidebars"})," and ",(0,o.jsx)(n.code,{children:"versioned_docs"})]}),"\n",(0,o.jsxs)(n.p,{children:["In v2, we use snapshot approach for documentation versioning. ",(0,o.jsx)(n.strong,{children:"Every versioned docs does not depends on other version"}),". It is possible to have ",(0,o.jsx)(n.code,{children:"foo.md"})," in ",(0,o.jsx)(n.code,{children:"version-1.0.0"})," but it doesn't exist in ",(0,o.jsx)(n.code,{children:"version-1.2.0"}),". This is not possible in previous version due to Docusaurus v1 fallback functionality (",(0,o.jsx)(n.a,{href:"https://v1.docusaurus.io/docs/en/versioning#fallback-functionality",children:"https://v1.docusaurus.io/docs/en/versioning#fallback-functionality"}),")."]}),"\n",(0,o.jsxs)(n.p,{children:["For example, if your ",(0,o.jsx)(n.code,{children:"versions.json"})," looks like this in v1"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",metastring:'title="versions.json"',children:'["1.1.0", "1.0.0"]\n'})}),"\n",(0,o.jsxs)(n.p,{children:["Docusaurus v1 creates versioned docs ",(0,o.jsx)(n.strong,{children:"if and only if the doc content is different"}),". Your docs structure might look like this if the only doc changed from v1.0.0 to v1.1.0 is ",(0,o.jsx)(n.code,{children:"hello.md"}),"."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"website\n\u251C\u2500\u2500 versioned_docs\n\u2502 \u251C\u2500\u2500 version-1.1.0\n\u2502 \u2502 \u2514\u2500\u2500 hello.md\n\u2502 \u2514\u2500\u2500 version-1.0.0\n\u2502 \u251C\u2500\u2500 foo\n\u2502 \u2502 \u2514\u2500\u2500 bar.md\n\u2502 \u2514\u2500\u2500 hello.md\n\u251C\u2500\u2500 versioned_sidebars\n\u2502 \u2514\u2500\u2500 version-1.0.0-sidebars.json\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In v2, you have to populate the missing ",(0,o.jsx)(n.code,{children:"versioned_docs"})," and ",(0,o.jsx)(n.code,{children:"versioned_sidebars"})," (with the right front matter and ID reference too)."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",metastring:"{3-5,12}",children:"website\n\u251C\u2500\u2500 versioned_docs\n\u2502 \u251C\u2500\u2500 version-1.1.0\n\u2502 \u2502 \u251C\u2500\u2500 foo\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 bar.md\n\u2502 \u2502 \u2514\u2500\u2500 hello.md\n\u2502 \u2514\u2500\u2500 version-1.0.0\n\u2502 \u251C\u2500\u2500 foo\n\u2502 \u2502 \u2514\u2500\u2500 bar.md\n\u2502 \u2514\u2500\u2500 hello.md\n\u251C\u2500\u2500 versioned_sidebars\n\u2502 \u251C\u2500\u2500 version-1.1.0-sidebars.json\n\u2502 \u2514\u2500\u2500 version-1.0.0-sidebars.json\n"})}),"\n",(0,o.jsx)(n.h2,{id:"convert-style-attributes-to-style-objects-in-mdx",children:"Convert style attributes to style objects in MDX"}),"\n",(0,o.jsx)(n.p,{children:"Docusaurus 2 uses JSX for doc files. If you have any style attributes in your Docusaurus 1 docs, convert them to style objects, like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-diff",children:"---\nid: demo\ntitle: Demo\n---\n\n## Section\n\nhello world\n\n- <pre style=\"background: black\">zzz</pre>\n+ <pre style={{background: 'black'}}>zzz</pre>\n"})})]})}function h(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,n,s){s.d(n,{Z:()=>t,a:()=>d});var i=s(67294);let o={},r=i.createContext(o);function d(e){let n=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:d(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6e08c139.4d3dfcc2.js b/assets/js/6e08c139.4d3dfcc2.js new file mode 100644 index 0000000000..5086c03ee3 --- /dev/null +++ b/assets/js/6e08c139.4d3dfcc2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["89213"],{55732:function(e,s,t){t.d(s,{Z:()=>r});let r=t.p+"assets/images/social-card-1c688c53b51bdaa6e15ae532bf756276.png"},32007:function(e,s,t){t.d(s,{Z:()=>r});let r=t.p+"assets/images/social-card-1c688c53b51bdaa6e15ae532bf756276.png"},8903:function(e,s,t){t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var r=t(24174),n=t(85893),a=t(80980);let i={title:"Preparing your site for Docusaurus v3",authors:["slorber"],tags:["maintenance"],slug:"/preparing-your-site-for-docusaurus-v3",image:"./img/social-card.png"},o=void 0,c={image:t(55732).Z,authorsImageUrls:[void 0]},u=[];function l(e){let s={a:"a",admonition:"admonition",img:"img",p:"p",strong:"strong",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.admonition,{type:"warning",children:(0,n.jsxs)(s.p,{children:["This blog post was written when Docusaurus v3 was in beta. There are some changes in dependency versions and upgrade steps you should be aware of if upgrading to Docusaurus v3 current stable releases. Use the ",(0,n.jsx)(s.a,{href:"https://docusaurus.io/docs/next/migration/v3",children:"upgrade guide"})," for the most up-to-date migration steps."]})}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"Docusaurus v3"})," is now ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/discussions/9312",children:(0,n.jsx)(s.strong,{children:"in beta"})})," and the official release is around the corner. This is the perfect time to start ",(0,n.jsx)(s.strong,{children:"preparing your site"})," for this new major version."]}),"\n",(0,n.jsxs)(s.p,{children:["Docusaurus v3 comes with a few ",(0,n.jsx)(s.strong,{children:"breaking changes"}),", many of which can be ",(0,n.jsx)(s.strong,{children:"handled today under Docusaurus v2"}),". Preparing your site ahead of time can be done incrementally, and will make it easier to upgrade to v3."]}),"\n",(0,n.jsxs)(s.p,{children:["The main breaking change is the upgrade from MDX v1 to MDX v3. Read the ",(0,n.jsx)(s.a,{href:"https://mdxjs.com/blog/v2/",children:(0,n.jsx)(s.strong,{children:"MDX v2"})})," and ",(0,n.jsx)(s.a,{href:"https://mdxjs.com/blog/v3/",children:(0,n.jsx)(s.strong,{children:"MDX v3"})})," release notes for details. MDX will now compile your Markdown content ",(0,n.jsx)(s.strong,{children:"more strictly"})," and with ",(0,n.jsx)(s.strong,{children:"subtle differences"}),"."]}),"\n",(0,n.jsx)(s.p,{children:"This article will mostly focus on how to prepare your content for this new MDX version, and will also list a few other breaking changes that you can handle today."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Preparing your site for Docusaurus v3 - social card",src:t(32007).Z+"",width:"1040",height:"546"})})]})}function d(e={}){let{wrapper:s}={...(0,a.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},80980:function(e,s,t){t.d(s,{Z:()=>o,a:()=>i});var r=t(67294);let n={},a=r.createContext(n);function i(e){let s=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(a.Provider,{value:s},e.children)}},24174:function(e){e.exports=JSON.parse('{"permalink":"/blog/preparing-your-site-for-docusaurus-v3","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2023/09-29-preparing-your-site-for-docusaurus-v3/index.mdx","source":"@site/blog/2023/09-29-preparing-your-site-for-docusaurus-v3/index.mdx","title":"Preparing your site for Docusaurus v3","description":"This blog post was written when Docusaurus v3 was in beta. There are some changes in dependency versions and upgrade steps you should be aware of if upgrading to Docusaurus v3 current stable releases. Use the upgrade guide for the most up-to-date migration steps.","date":"2023-09-29T00:00:00.000Z","tags":[{"inline":false,"label":"Maintenance","permalink":"/blog/tags/maintenance"}],"readingTime":13.975,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Preparing your site for Docusaurus v3","authors":["slorber"],"tags":["maintenance"],"slug":"/preparing-your-site-for-docusaurus-v3","image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Announcing Docusaurus 3.0","permalink":"/blog/releases/3.0"},"nextItem":{"title":"Upgrading frontend dependencies with confidence","permalink":"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing"}}')}}]); \ No newline at end of file diff --git a/assets/js/6e7f3c19.383e66be.js b/assets/js/6e7f3c19.383e66be.js new file mode 100644 index 0000000000..66e1e4a81b --- /dev/null +++ b/assets/js/6e7f3c19.383e66be.js @@ -0,0 +1,22 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["15839"],{18202:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>u,default:()=>m,contentTitle:()=>d,assets:()=>p,toc:()=>h,metadata:()=>r});var r=JSON.parse('{"id":"api/plugins/plugin-google-tag-manager","title":"\uD83D\uDCE6 plugin-google-tag-manager","description":"A plugin for adding Google Tag Manager (gtm.js) to a Docusaurus site. Use this plugin in conjunction with the standard gtag plugin for in-depth analysis of how users are using your site.","source":"@site/docs/api/plugins/plugin-google-tag-manager.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-google-tag-manager","permalink":"/docs/api/plugins/@docusaurus/plugin-google-tag-manager","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-google-tag-manager.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":8,"frontMatter":{"sidebar_position":8,"slug":"/api/plugins/@docusaurus/plugin-google-tag-manager"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-svgr","permalink":"/docs/api/plugins/@docusaurus/plugin-svgr"},"next":{"title":"\uD83D\uDCE6 plugin-ideal-image","permalink":"/docs/api/plugins/@docusaurus/plugin-ideal-image"}}'),s=n(85893),a=n(80980),o=n(15398),l=n(58636),i=n(32240),c=n(66359);let u={sidebar_position:8,slug:"/api/plugins/@docusaurus/plugin-google-tag-manager"},d="\uD83D\uDCE6 plugin-google-tag-manager",p={},h=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Example configuration",id:"ex-config",level:3}];function g(e){let t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"-plugin-google-tag-manager",children:"\uD83D\uDCE6 plugin-google-tag-manager"})}),"\n","\n",(0,s.jsxs)(t.p,{children:["A plugin for adding ",(0,s.jsx)(t.a,{href:"https://developers.google.com/tag-platform/tag-manager",children:"Google Tag Manager (gtm.js)"})," to a Docusaurus site. Use this plugin in conjunction with the standard ",(0,s.jsx)(t.a,{href:"/docs/api/plugins/@docusaurus/plugin-google-gtag",children:"gtag plugin"})," for in-depth analysis of how users are using your site."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["You can use ",(0,s.jsx)(t.a,{href:"https://tagassistant.google.com/",children:"Google's Tag Assistant"})," tool to check if tag manager is set up correctly!"]})}),"\n",(0,s.jsx)(t.admonition,{title:"production only",type:"warning",children:(0,s.jsxs)(t.p,{children:["This plugin is always inactive in development and ",(0,s.jsx)(t.strong,{children:"only active in production"})," to avoid polluting the analytics statistics."]})}),"\n",(0,s.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,s.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,s.jsx)(l.Z,{value:"npm",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-google-tag-manager\n"})})}),(0,s.jsx)(l.Z,{value:"yarn",label:"Yarn",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-google-tag-manager\n"})})}),(0,s.jsx)(l.Z,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-google-tag-manager\n"})})})]}),"\n",(0,s.jsxs)(t.admonition,{type:"tip",children:[(0,s.jsxs)(t.p,{children:["If you use the preset ",(0,s.jsx)(t.code,{children:"@docusaurus/preset-classic"}),", you don't need to install this plugin as a dependency."]}),(0,s.jsxs)(t.p,{children:["You can configure this plugin through the ",(0,s.jsx)(t.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),"."]})]}),"\n",(0,s.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,s.jsx)(t.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(i.Z,{children:(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Default"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"containerId"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.strong,{children:"Required"})}),(0,s.jsxs)(t.td,{children:["Your Tag Manager container Id (usually starts with ",(0,s.jsx)(t.code,{children:"GTM-"}),")."]})]})})]})}),"\n",(0,s.jsx)(t.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,s.jsx)(t.p,{children:"You can configure this plugin through preset options or plugin options."}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"Most Docusaurus users configure this plugin through the preset options."})}),"\n","\n",(0,s.jsx)(c.Z,{pluginName:"@docusaurus/plugin-google-tag-manager",presetOptionName:"googleTagManager",code:"{\n containerId: 'GTM-12345',\n}"})]})}function m(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(g,{...e})}):g(e)}},58636:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var s=n(90496);function a(e){let{children:t,hidden:n,className:a}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,s.Z)("tabItem_pnkT",a),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>j});var r=n(85893),s=n(67294),a=n(90496),o=n(54947),l=n(3620),i=n(844),c=n(97486),u=n(32263),d=n(16971);function p(e){return s.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||s.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var g=n(71607);function m(e){let{className:t,block:n,selectedValue:s,selectValue:l,tabValues:i}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,o.o5)(),d=e=>{let t=e.currentTarget,n=i[c.indexOf(t)].value;n!==s&&(u(t),l(n))},p=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{let n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1]}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:i.map(e=>{let{value:t,label:n,attributes:o}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>{c.push(e)},onKeyDown:p,onClick:d,...o,className:(0,a.Z)("tabs__item","tabItem_AQgk",o?.className,{"tabs__item--active":s===t}),children:n??t},t)})})}function f(e){let{lazy:t,children:n,selectedValue:o}=e,l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=l.find(e=>e.props.value===o);return e?(0,s.cloneElement)(e,{className:(0,a.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:l.map((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==o}))})}function b(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:r}=e,a=function(e){let{values:t,children:n}=e;return(0,s.useMemo)(()=>{let e=t??p(n).map(e=>{let{props:{value:t,label:n,attributes:r,default:s}}=e;return{value:t,label:n,attributes:r,default:s}});return!function(e){let t=(0,u.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[o,g]=(0,s.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!h({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:a})),[m,f]=function(e){let{queryString:t=!1,groupId:n}=e,r=(0,l.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(a),(0,s.useCallback)(e=>{if(!a)return;let t=new URLSearchParams(r.location.search);t.set(a,e),r.replace({...r.location,search:t.toString()})},[a,r])]}({queryString:n,groupId:r}),[b,j]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[r,a]=(0,d.Nk)(n);return[r,(0,s.useCallback)(e=>{n&&a.set(e)},[n,a])]}({groupId:r}),x=(()=>{let e=m??b;return h({value:e,tabValues:a})?e:null})();return(0,i.Z)(()=>{x&&g(x)},[x]),{selectedValue:o,selectValue:(0,s.useCallback)(e=>{if(!h({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);g(e),f(e),j(e)},[f,j,a]),tabValues:a}}(e);return(0,r.jsxs)("div",{className:(0,a.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(m,{...t,...e}),(0,r.jsx)(f,{...t,...e})]})}function j(e){let t=(0,g.Z)();return(0,r.jsx)(b,{...e,children:p(e.children)},String(t))}},56497:function(e,t,n){n.d(t,{Z:()=>a});var r=n(85893);n(67294);var s=n(71607);function a(e){let{children:t,fallback:n}=e;return(0,s.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}},32240:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893),s=n(67294),a=n(96700),o=n(3620);let l=s.forwardRef(function(e,t){let{name:n,children:l}=e,i=function(e){let t=e;for(;(0,s.isValidElement)(t);)[t]=s.Children.toArray(t.props.children);if("string"!=typeof t)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return t}(l),c=n?`${n}-${i}`:i,u=`#${c}`,d=(0,o.k6)();return(0,a.Z)().collectAnchor(c),(0,r.jsx)("tr",{id:c,tabIndex:0,ref:d.location.hash===u?t:void 0,onClick:e=>{let t="TD"===e.target.tagName.toUpperCase(),n=!!window.getSelection()?.toString();t&&!n&&d.push(u)},onKeyDown:e=>{"Enter"===e.key&&d.push(u)},children:l.props.children})});function i(e){let{children:t,name:n}=e;if("table"!==t.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[a,o]=s.Children.toArray(t.props.children),i=(0,s.useRef)(null);(0,s.useEffect)(()=>{i.current?.focus()},[i]);let c=s.Children.map(o.props.children,e=>(0,r.jsx)(l,{name:n,ref:i,children:e}));return(0,r.jsxs)("table",{className:"apiTable_e8hp",children:[a,(0,r.jsx)("tbody",{children:c})]})}},66359:function(e,t,n){n.d(t,{Z:()=>d});var r=n(85893);n(67294);var s=n(35363),a=n(90158),o=n(77827),l=n(15398),i=n(58636),c=n(95998);let u=void 0;function d(e){let{code:t,pluginName:n,presetOptionName:d}=e,p=(0,a.zu)(u).path;return(0,r.jsxs)(l.Z,{groupId:"api-config-ex",children:[(0,r.jsxs)(i.Z,{value:"preset",label:(0,o.I)({message:"Preset options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(o.Z,{id:"apiDocs.configTabs.presetOptions.description",values:{presetLink:(0,r.jsx)(s.Z,{to:`${p}/using-plugins#docusauruspreset-classic`,children:(0,r.jsx)(o.Z,{children:"preset options"})})},children:"If you use a preset, configure this plugin through the {presetLink}:"})}),(0,r.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + presets: [ + [ + '@docusaurus/preset-classic', + { + // highlight-start + ${d}: ${t.replace(/\n/g,"\n ")}, + // highlight-end + }, + ], + ], +};`})]}),(0,r.jsxs)(i.Z,{value:"plugin",label:(0,o.I)({message:"Plugin options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(o.Z,{children:"If you are using a standalone plugin, provide options directly to the plugin:"})}),(0,r.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + plugins: [ + [ + '${n}', + // highlight-start + ${t.replace(/\n/g,"\n ")}, + // highlight-end + ], + ], +};`})]})]})}},95998:function(e,t,n){n.d(t,{Z:()=>et});var r,s={};n.r(s),n.d(s,{ButtonExample:()=>C});var a=n(85893),o=n(67294),l=n(90496),i=n(71607),c=n(10075),u=n(77827),d=n(8156),p=n(56497),h=n(85108),g=n(45245),m=n(26378);function f(){let{prism:e}=(0,m.L)(),{colorMode:t}=(0,g.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var b=n(67490);function j(e){let{children:t}=e;return(0,a.jsx)("div",{className:(0,l.Z)("playgroundHeader_Tvsk"),children:t})}function x(){return(0,a.jsx)("div",{children:"Loading..."})}function v(){return(0,a.jsx)(p.Z,{fallback:(0,a.jsx)(x,{}),children:()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b.Z,{fallback:e=>(0,a.jsx)(h.Ac,{...e}),children:(0,a.jsx)(c.i5,{})}),(0,a.jsx)(c.IF,{})]})})}function y(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{children:(0,a.jsx)(u.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,a.jsx)("div",{className:"playgroundPreview_mApW",children:(0,a.jsx)(v,{})})]})}function k(){let e=(0,i.Z)();return(0,a.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function w(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j,{children:(0,a.jsx)(u.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,a.jsx)(k,{})]})}let N=e=>`${e};`;function B(e){let{children:t,transformCode:n,...r}=e,{siteConfig:{themeConfig:s}}=(0,d.Z)(),{liveCodeBlock:{playgroundPosition:o}}=s,l=f(),i=r.metastring?.includes("noInline")??!1;return(0,a.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,a.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:i,transformCode:n??N,theme:l,...r,children:"top"===o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y,{}),(0,a.jsx)(w,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(w,{}),(0,a.jsx)(y,{})]})})})}function C(e){return(0,a.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let I={React:o,...o,...s};var Z=n(55951),E=n(6324),T=n.n(E);let L=/title=(?<quote>["'])(?<title>.*?)\1/,_=/\{(?<range>[\d,-]+)\}/,A={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},S={...A,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},$=Object.keys(A);function M(e,t){let n=e.map(e=>{let{start:n,end:r}=S[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function D(e){let{as:t,...n}=e,r=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,a=t[r];a&&"string"==typeof s&&(n[a]=s)}),n}(f());return(0,a.jsx)(t,{...n,style:r,className:(0,l.Z)(n.className,"codeBlockContainer_jDV4",Z.k.common.codeBlock)})}let O={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function R(e){let{children:t,className:n}=e;return(0,a.jsx)(D,{as:"pre",tabIndex:0,className:(0,l.Z)(O.codeBlockStandalone,"thin-scrollbar",n),children:(0,a.jsx)("code",{className:O.codeBlockLines,children:t})})}var V=n(50923);let W={attributes:!0,characterData:!0,childList:!0,subtree:!0};var q=n(7316);let H={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function F(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:s,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let i=s({line:t,className:(0,l.Z)(n,r&&H.codeLine)}),c=t.map((e,t)=>(0,a.jsx)("span",{...o({token:e})},t));return(0,a.jsxs)("span",{...i,children:[r?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:H.codeLineNumber}),(0,a.jsx)("span",{className:H.codeLineContent,children:c})]}):c,(0,a.jsx)("br",{})]})}var P=n(44771);function G(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function z(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let U={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function Y(e){let{code:t,className:n}=e,[r,s]=(0,o.useState)(!1),i=(0,o.useRef)(void 0),c=(0,o.useCallback)(()=>{(0,P.Z)(t),s(!0),i.current=window.setTimeout(()=>{s(!1)},1e3)},[t]);return(0,o.useEffect)(()=>()=>window.clearTimeout(i.current),[]),(0,a.jsx)("button",{type:"button","aria-label":r?(0,u.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,u.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,u.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,l.Z)("clean-btn",n,U.copyButton,r&&U.copyButtonCopied),onClick:c,children:(0,a.jsxs)("span",{className:U.copyButtonIcons,"aria-hidden":"true",children:[(0,a.jsx)(G,{className:U.copyButtonIcon}),(0,a.jsx)(z,{className:U.copyButtonSuccessIcon})]})})}function Q(e){return(0,a.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,a.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let J={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function X(e){let{className:t,onClick:n,isEnabled:r}=e,s=(0,u.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,a.jsx)("button",{type:"button",onClick:n,className:(0,l.Z)("clean-btn",t,r&&J.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,a.jsx)(Q,{className:J.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:r="",metastring:s,title:c,showLineNumbers:u,language:d}=e,{prism:{defaultLanguage:p,magicComments:h}}=(0,m.L)(),g=(t=d??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(r)??p,t?.toLowerCase()),b=f(),j=function(){let[e,t]=(0,o.useState)(!1),[n,r]=(0,o.useState)(!1),s=(0,o.useRef)(null),a=(0,o.useCallback)(()=>{let n=s.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[s,e]),l=(0,o.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=s.current;r(e>t||s.current.querySelector("code").hasAttribute("style"))},[s]);return!function(e,t){let[n,r]=(0,o.useState)(),s=(0,o.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,o.useEffect)(()=>{s()},[s]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:W,r=(0,V.zX)(t),s=(0,V.Ql)(n);(0,o.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,s),()=>t.disconnect()},[e,r,s])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),s())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(s,l),(0,o.useEffect)(()=>{l()},[e,l]),(0,o.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:s,isEnabled:e,isCodeScrollable:n,toggle:a}}(),x=(0,i.Z)(),v=(s?.match(L)?.groups.title??"")||c,{lineClassNames:y,code:k}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:a}=t;if(a&&_.test(a)){let e=a.match(_).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=s[0].className;return{lineClassNames:Object.fromEntries(T()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let o=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return M(["js","jsBlock"],t);case"jsx":case"tsx":return M(["js","jsBlock","jsx"],t);case"html":return M(["js","jsBlock","html"],t);case"python":case"py":case"bash":return M(["bash"],t);case"markdown":case"md":return M(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return M(["tex"],t);case"lua":case"haskell":return M(["lua"],t);case"sql":return M(["lua","jsBlock"],t);case"wasm":return M(["wasm"],t);case"vb":case"vba":case"visual-basic":return M(["vb","rem"],t);case"vbnet":return M(["vbnet","rem"],t);case"batch":return M(["rem"],t);case"basic":return M(["rem","f90"],t);case"fsharp":return M(["js","ml"],t);case"ocaml":case"sml":return M(["ml"],t);case"fortran":return M(["f90"],t);case"cobol":return M(["cobol"],t);default:return M($,t)}}(r,s),l=n.split("\n"),i=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<l.length;){let t=l[e].match(o);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?i[c[n]].range+=`${e},`:u[n]?i[u[n]].start=e:d[n]&&(i[d[n]].range+=`${i[d[n]].start}-${e-1},`),l.splice(e,1)}n=l.join("\n");let p={};return Object.entries(i).forEach(e=>{let[t,{range:n}]=e;T()(n).forEach(e=>{p[e]??=[],p[e].push(t)})}),{lineClassNames:p,code:n}}(n,{metastring:s,language:g,magicComments:h}),w=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:u,metastring:s});return(0,a.jsxs)(D,{as:"div",className:(0,l.Z)(r,g&&!r.includes(`language-${g}`)&&`language-${g}`),children:[v&&(0,a.jsx)("div",{className:O.codeBlockTitle,children:v}),(0,a.jsxs)("div",{className:O.codeBlockContent,children:[(0,a.jsx)(q.y$,{theme:b,code:k,language:g??"text",children:e=>{let{className:t,style:n,tokens:r,getLineProps:s,getTokenProps:o}=e;return(0,a.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,l.Z)(t,O.codeBlock,"thin-scrollbar"),style:n,children:(0,a.jsx)("code",{className:(0,l.Z)(O.codeBlockLines,void 0!==w&&O.codeBlockLinesWithNumbering),style:void 0===w?void 0:{counterReset:`line-count ${w-1}`},children:r.map((e,t)=>(0,a.jsx)(F,{line:e,getLineProps:s,getTokenProps:o,classNames:y[t],showLineNumbers:void 0!==w},t))})})}}),x?(0,a.jsxs)("div",{className:O.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,a.jsx)(X,{className:O.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,a.jsx)(Y,{className:O.codeButton,code:k})]}):null]})]})}let ee=(r=function(e){let{children:t,...n}=e,r=(0,i.Z)(),s=o.Children.toArray(t).some(e=>(0,o.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,a.jsx)("string"==typeof s?K:R,{...n,children:s},String(r))},function(e){return e.live?(0,a.jsx)(B,{scope:I,...e}):(0,a.jsx)(r,{...e})});function et(e){return(0,a.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/6e8cf259.b6ef3d88.js b/assets/js/6e8cf259.b6ef3d88.js new file mode 100644 index 0000000000..297ce6ec42 --- /dev/null +++ b/assets/js/6e8cf259.b6ef3d88.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["42384"],{42362:function(e,t,a){a.r(t),a.d(t,{frontMatter:()=>r,default:()=>m,contentTitle:()=>d,assets:()=>i,toc:()=>c,metadata:()=>n});var n=JSON.parse('{"type":"mdx","permalink":"/tests/pages/head-metadata","source":"@site/_dogfooding/_pages tests/head-metadata.mdx","description":"Head Metadata tests","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/head-metadata.mdx","unlisted":false}'),o=a(85893),s=a(80980);let r={},d=void 0,i={},c=[{value:"Head Metadata tests",id:"head-metadata-tests",level:2}];function l(e){let t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.a)(),...e.components},{Head:a}=t;return a||function(e,t){throw Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Head",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"head-metadata-tests",children:"Head Metadata tests"}),"\n",(0,o.jsx)(t.p,{children:"This page declares the following custom head metadata:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-html",children:'<head>\n <meta name="generator" value="custom generator name!" />\n <meta name="viewport" content="initial-scale=1, viewport-fit=cover" />\n <meta name="robots" content="noindex, nofollow, my-extra-directive" />\n</head>\n'})}),"\n",(0,o.jsxs)(a,{children:[(0,o.jsx)("meta",{name:"generator",value:"custom generator name!"}),(0,o.jsx)("meta",{name:"viewport",content:"initial-scale=1, viewport-fit=cover"}),(0,o.jsx)("meta",{name:"robots",content:"noindex, nofollow, my-extra-directive"})]})]})}function m(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},80980:function(e,t,a){a.d(t,{Z:()=>d,a:()=>r});var n=a(67294);let o={},s=n.createContext(o);function r(e){let t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6f742216.cea66b66.js b/assets/js/6f742216.cea66b66.js new file mode 100644 index 0000000000..3b6ba47108 --- /dev/null +++ b/assets/js/6f742216.cea66b66.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["90217"],{8404:function(e,t,s){s.r(t),s.d(t,{frontMatter:()=>r,default:()=>p,contentTitle:()=>i,assets:()=>c,toc:()=>l,metadata:()=>n});var n=JSON.parse('{"id":"more-test","title":"Another test page","description":"Test link","source":"@site/_dogfooding/_docs tests/more-test.mdx","sourceDirName":".","slug":"/more-test","permalink":"/tests/docs/more-test","draft":false,"unlisted":false,"tags":[{"inline":false,"label":"A","permalink":"/tests/docs/tags/a","description":"Description for tag a"},{"inline":false,"label":"Label for tag e","permalink":"/tests/docs/tags/permalink-for-tag-e","description":"Description for tag e"},{"inline":false,"label":"Some-tag","permalink":"/tests/docs/tags/some-tag"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"tags":["a","e","some-tag"]},"sidebar":"sidebar","previous":{"title":"Another category with index","permalink":"/tests/docs/category/another-category-with-index"},"next":{"title":"toc-2-2","permalink":"/tests/docs/toc/toc-2-2"}}'),o=s(85893),a=s(80980);let r={tags:["a","e","some-tag"]},i="Another test page",c={},l=[];function d(e){let t={a:"a",h1:"h1",header:"header",p:"p",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"another-test-page",children:"Another test page"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"/tests/docs/folder%20with%20space/doc%201",children:"Test link"})})]})}function p(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}p.displayName="MDXContent(_dogfooding/_docs tests/more-test.mdx)"},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>r});var n=s(67294);let o={},a=n.createContext(o);function r(e){let t=n.useContext(a);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6fc50b01.37c18a6e.js b/assets/js/6fc50b01.37c18a6e.js new file mode 100644 index 0000000000..dd394358a5 --- /dev/null +++ b/assets/js/6fc50b01.37c18a6e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["26499"],{62406:function(e,t,n){n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var s=n(14489),o=n(85893),r=n(80980);let i={title:"Test if href in feed resolved correctly"},l=void 0,a={authorsImageUrls:[]},c=[];function u(e){let t={a:"a",p:"p",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"https://github.com/facebook/docusaurus",children:"absolute full url"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"/tests/blog/2023/07/19/b",children:"absolute url with implicit domain name"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"/tests/blog/2023/07/19/b",children:"relative url"})})]})}function d(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>i});var s=n(67294);let o={},r=s.createContext(o);function i(e){let t=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}},14489:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2023/07/19/a","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2023-07-19-a.mdx","source":"@site/_dogfooding/_blog tests/2023-07-19-a.mdx","title":"Test if href in feed resolved correctly","description":"absolute full url","date":"2023-07-19T00:00:00.000Z","tags":[],"readingTime":2.2,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Test if href in feed resolved correctly"},"unlisted":false,"prevItem":{"title":"Ensure heading anchor slugs respect GitHub emoji behavior","permalink":"/tests/blog/2023/08/05/"},"nextItem":{"title":"Test Relative Path","permalink":"/tests/blog/2023/07/19/b"}}')}}]); \ No newline at end of file diff --git a/assets/js/6fe279ac.a88c9bb9.js b/assets/js/6fe279ac.a88c9bb9.js new file mode 100644 index 0000000000..581e4436f5 --- /dev/null +++ b/assets/js/6fe279ac.a88c9bb9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["65698"],{5641:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-73a479db9ad439c10153f05dc03fdc91.png"},18571:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-73a479db9ad439c10153f05dc03fdc91.png"},1439:function(e,t,s){s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var a=s(5922),r=s(85893),n=s(80980);let o={title:"Docusaurus 3.7",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2025-01-03T00:00:00.000Z")},i=void 0,c={image:s(5641).Z,authorsImageUrls:[void 0]},l=[];function u(e){let t={a:"a",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["We are happy to announce ",(0,r.jsx)(t.strong,{children:"Docusaurus 3.7"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["Docusaurus is now compatible with ",(0,r.jsx)(t.a,{href:"https://react.dev/blog/2024/12/05/react-19",children:"React 19"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["Upgrading should be easy. Our ",(0,r.jsx)(t.a,{href:"/community/release-process",children:"release process"})," respects ",(0,r.jsx)(t.a,{href:"https://semver.org/",children:"Semantic Versioning"}),". Minor versions do not include any breaking changes."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Docusaurus blog post social card",src:s(18571).Z+"",width:"1200",height:"600"})})]})}function d(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>o});var a=s(67294);let r={},n=a.createContext(r);function o(e){let t=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(n.Provider,{value:t},e.children)}},5922:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.7","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.7/index.mdx","source":"@site/blog/releases/3.7/index.mdx","title":"Docusaurus 3.7","description":"We are happy to announce Docusaurus 3.7.","date":"2025-01-03T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":2.41,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.7","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2025-01-03T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","nextItem":{"title":"Docusaurus 3.6","permalink":"/blog/releases/3.6"}}')}}]); \ No newline at end of file diff --git a/assets/js/70130.32b4e54d.js b/assets/js/70130.32b4e54d.js new file mode 100644 index 0000000000..973d254352 --- /dev/null +++ b/assets/js/70130.32b4e54d.js @@ -0,0 +1 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["70130"],{42573:function(e){function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function i(e){return"object"==typeof e&&null!==e}e.exports=t,t.prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},t.prototype.emit=function(e){var t,n,s,a,c,o;if(this._events||(this._events={}),"error"===e&&(!this._events.error||i(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;var u=Error('Uncaught, unspecified "error" event. ('+t+")");throw u.context=t,u}if(void 0===(n=this._events[e]))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),n.apply(this,a)}else if(i(n))for(c=0,a=Array.prototype.slice.call(arguments,1),s=(o=n.slice()).length;c<s;c++)o[c].apply(this,a);return!0},t.prototype.addListener=function(e,n){var s;if(!r(n))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(n.listener)?n.listener:n),this._events[e]?i(this._events[e])?this._events[e].push(n):this._events[e]=[this._events[e],n]:this._events[e]=n,i(this._events[e])&&!this._events[e].warned&&(s=void 0===this._maxListeners?t.defaultMaxListeners:this._maxListeners)&&s>0&&this._events[e].length>s&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var i=!1;function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}return n.listener=t,this.on(e,n),this},t.prototype.removeListener=function(e,t){var n,s,a,c;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(n=this._events[e]).length,s=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(c=a;c-- >0;)if(n[c]===t||n[c].listener&&n[c].listener===t){s=c;break}if(s<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(s,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},t.prototype.removeAllListeners=function(e){var t,i;if(!this._events)return this;if(!this._events.removeListener)return 0==arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0==arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(i=this._events[e]))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},t.prototype.listeners=function(e){var t;return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},t.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},t.listenerCount=function(e,t){return e.listenerCount(t)}},24501:function(e,t,r){"use strict";var i=r(55510),n=r(93450),s=r(40280),a=r(1098),c=r(27155);function o(e,t,r,n){return new i(e,t,r,n)}o.version=r(22026),o.AlgoliaSearchHelper=i,o.SearchParameters=a,o.RecommendParameters=n,o.SearchResults=c,o.RecommendResults=s,e.exports=o},21657:function(e,t,r){"use strict";var i=r(42573);function n(e,t,r){this.main=e,this.fn=t,this.recommendFn=r,this.lastResults=null,this.lastRecommendResults=null}r(38400)(n,i),n.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},n.prototype.getModifiedState=function(e){return this.fn(e)},n.prototype.getModifiedRecommendState=function(e){return this.recommendFn(e)},e.exports=n},93450:function(e){"use strict";function t(e){e=e||{},this.params=e.params||[]}t.prototype={constructor:t,addParams:function(e){var r=this.params.slice();return r.push(e),new t({params:r})},removeParams:function(e){return new t({params:this.params.filter(function(t){return t.$$id!==e})})},addFrequentlyBoughtTogether:function(e){return this.addParams(Object.assign({},e,{model:"bought-together"}))},addRelatedProducts:function(e){return this.addParams(Object.assign({},e,{model:"related-products"}))},addTrendingItems:function(e){return this.addParams(Object.assign({},e,{model:"trending-items"}))},addTrendingFacets:function(e){return this.addParams(Object.assign({},e,{model:"trending-facets"}))},addLookingSimilar:function(e){return this.addParams(Object.assign({},e,{model:"looking-similar"}))},_buildQueries:function(e,t){return this.params.filter(function(e){return void 0===t[e.$$id]}).map(function(t){var r=Object.assign({},t,{indexName:e,threshold:t.threshold||0});return delete r.$$id,r})}},e.exports=t},40280:function(e){"use strict";function t(e,t){this._state=e,this._rawResults={};var r=this;e.params.forEach(function(e){var i=e.$$id;r[i]=t[i],r._rawResults[i]=t[i]})}t.prototype={constructor:t},e.exports=t},7978:function(e,t,r){"use strict";var i=r(38800),n=r(41262),s=r(56516),a={addRefinement:function(e,t,r){if(a.isRefined(e,t,r))return e;var n=""+r,s=e[t]?e[t].concat(n):[n],c={};return c[t]=s,i(c,e)},removeRefinement:function(e,t,r){if(void 0===r)return a.clearRefinement(e,function(e,r){return t===r});var i=""+r;return a.clearRefinement(e,function(e,r){return t===r&&i===e})},toggleRefinement:function(e,t,r){if(void 0===r)throw Error("toggleRefinement should be used with a value");return a.isRefined(e,t,r)?a.removeRefinement(e,t,r):a.addRefinement(e,t,r)},clearRefinement:function(e,t,r){if(void 0===t)return n(e)?{}:e;if("string"==typeof t)return s(e,[t]);if("function"==typeof t){var i=!1,a=Object.keys(e).reduce(function(n,s){var a=e[s]||[],c=a.filter(function(e){return!t(e,s,r)});return c.length!==a.length&&(i=!0),n[s]=c,n},{});return i?a:e}},isRefined:function(e,t,r){var i=!!e[t]&&e[t].length>0;return void 0!==r&&i?-1!==e[t].indexOf(""+r):i}};e.exports=a},1098:function(e,t,r){"use strict";var i=r(38800),n=r(94812),s=r(4501),a=r(27868),c=r(41262),o=r(56516),u=r(37032),h=r(96609),f=r(7978);function l(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every(function(e,r){return l(t[r],e)}):e===t}function m(e){var t=e?m._parseNumbers(e):{};void 0===t.userToken||h(t.userToken)||console.warn("[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\n - Format: [a-zA-Z0-9_-]{1,64}"),this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var r=this;Object.keys(t).forEach(function(e){var i=-1!==m.PARAMETERS.indexOf(e),n=void 0!==t[e];!i&&n&&(r[e]=t[e])})}m.PARAMETERS=Object.keys(new m),m._parseNumbers=function(e){if(e instanceof m)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach(function(r){var i=e[r];if("string"==typeof i){var n=parseFloat(i);t[r]=isNaN(n)?i:n}}),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map(function(e){return Array.isArray(e)?e.map(function(e){return parseFloat(e)}):e})),e.numericRefinements){var r={};Object.keys(e.numericRefinements).forEach(function(t){var i=e.numericRefinements[t]||{};r[t]={},Object.keys(i).forEach(function(e){var n=i[e].map(function(e){return Array.isArray(e)?e.map(function(e){return"string"==typeof e?parseFloat(e):e}):"string"==typeof e?parseFloat(e):e});r[t][e]=n})}),t.numericRefinements=r}return a(e,t)},m.make=function(e){var t=new m(e);return(e.hierarchicalFacets||[]).forEach(function(e){if(e.rootPath){var r=t.getHierarchicalRefinement(e.name);r.length>0&&0!==r[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(r=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}}),t},m.validate=function(e,t){var r=t||{};return e.tagFilters&&r.tagRefinements&&r.tagRefinements.length>0?Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):e.tagRefinements.length>0&&r.tagFilters?Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&r.numericRefinements&&c(r.numericRefinements)?Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):c(e.numericRefinements)&&r.numericFilters?Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},m.prototype={constructor:m,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:f.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:f.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:f.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:f.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,r){var i=u(r);if(this.isNumericRefined(e,t,i))return this;var n=a({},this.numericRefinements);return n[e]=a({},n[e]),n[e][t]?(n[e][t]=n[e][t].slice(),n[e][t].push(i)):n[e][t]=[i],this.setQueryParameters({numericRefinements:n})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,r){return void 0!==r?this.isNumericRefined(e,t,r)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(i,n){return n===e&&i.op===t&&l(i.val,u(r))})}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(r,i){return i===e&&r.op===t})}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements(function(t,r){return r===e})}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return c(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return o(this.numericRefinements,[e]);if("function"==typeof e){var t=!1,r=this.numericRefinements,i=Object.keys(r).reduce(function(i,n){var s=r[n],a={};return Object.keys(s=s||{}).forEach(function(r){var i=s[r]||[],c=[];i.forEach(function(t){e({val:t,op:r},n,"numeric")||c.push(t)}),c.length!==i.length&&(t=!0),a[r]=c}),i[n]=a,i},{});return t?i:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:f.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:f.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:f.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter(function(t){return t!==e})}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter(function(t){return t!==e})}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter(function(t){return t.name!==e})}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:f.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:f.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:f.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter(function(t){return t!==e})};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsRefinements:f.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsExcludes:f.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return this.setQueryParameters({disjunctiveFacetsRefinements:f.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration");var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),n={};return void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+r))?-1===t.indexOf(r)?n[e]=[]:n[e]=[t.slice(0,t.lastIndexOf(r))]:n[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:i(n,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw Error(e+" is already refined.");if(!this.isHierarchicalFacet(e))throw Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.");var r={};return r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:i(r,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:i(t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&f.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var r=this.getHierarchicalRefinement(e);return t?-1!==r.indexOf(t):r.length>0},isNumericRefined:function(e,t,r){if(void 0===r&&void 0===t)return!!this.numericRefinements[e];var i=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===r||!i)return i;var s=u(r),a=void 0!==n(this.numericRefinements[e][t],function(e){return l(e,s)});return i&&a},isTagRefined:function(e){return -1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=s(Object.keys(this.numericRefinements).filter(function(t){return Object.keys(e.numericRefinements[t]).length>0}),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter(function(t){return e.disjunctiveFacetsRefinements[t].length>0}).concat(t).concat(this.getRefinedHierarchicalFacets()).sort()},getRefinedHierarchicalFacets:function(){var e=this;return s(this.hierarchicalFacets.map(function(e){return e.name}),Object.keys(this.hierarchicalFacetsRefinements).filter(function(t){return e.hierarchicalFacetsRefinements[t].length>0})).sort()},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter(function(t){return -1===e.indexOf(t)})},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","hierarchicalFacets","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacetsRefinements"],getQueryParams:function(){var e=this.managedParameters,t={},r=this;return Object.keys(this).forEach(function(i){var n=r[i];-1===e.indexOf(i)&&void 0!==n&&(t[i]=n)}),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var r={};return r[e]=t,this.setQueryParameters(r)},setQueryParameters:function(e){if(!e)return this;var t=m.validate(this,e);if(t)throw t;var r=this,i=m._parseNumbers(e),n=Object.keys(this).reduce(function(e,t){return e[t]=r[t],e},{}),s=Object.keys(i).reduce(function(e,t){var r=void 0!==e[t],n=void 0!==i[t];return r&&!n?o(e,[t]):(n&&(e[t]=i[t]),e)},n);return new this.constructor(s)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return n(this.hierarchicalFacets,function(t){return t.name===e})},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(r).map(function(e){return e.trim()})},toString:function(){return JSON.stringify(this,null,2)}},e.exports=m},70916:function(e,t,r){"use strict";e.exports=function(e){return function(t,r){var i,u,h,f,l,m=e.hierarchicalFacets[r],d=e.hierarchicalFacetsRefinements[m.name]&&e.hierarchicalFacetsRefinements[m.name][0]||"",p=e._getHierarchicalFacetSeparator(m),g=e._getHierarchicalRootPath(m),v=e._getHierarchicalShowParentLevel(m),y=s(e._getHierarchicalFacetSortBy(m)),R=t.every(function(e){return e.exhaustive}),F=(i=y,u=p,h=g,f=v,l=d,function(e,t,r){var s=e;if(r>0){var m=0;for(s=e;m<r;)s=n(s&&Array.isArray(s.data)?s.data:[],function(e){return e.isRefined}),m++}if(s){var d=Object.keys(t.data).map(function(e){return[e,t.data[e]]}).filter(function(e){var t,r,i,n,a,c;return t=e[0],r=s.path||h,i=l,n=u,a=h,c=f,(!a||0===t.indexOf(a)&&a!==t)&&(!a&&-1===t.indexOf(n)||a&&t.split(n).length-a.split(n).length==1||-1===t.indexOf(n)&&-1===i.indexOf(n)||0===i.indexOf(t)||0===t.indexOf(r+n)&&(c||0===t.indexOf(i)))});s.data=a(d.map(function(e){var r,i,n,s,a,h,f=e[0];return r=e[1],i=f,n=u,s=o(l),a=t.exhaustive,{name:(h=i.split(n))[h.length-1].trim(),path:i,escapedValue:c(i),count:r,isRefined:s===i||0===s.indexOf(i+n),exhaustive:a,data:null}}),i[0],i[1])}return e}),_=t;return g&&(_=t.slice(g.split(p).length)),_.reduce(F,{name:e.hierarchicalFacets[r].name,count:null,isRefined:!0,path:null,escapedValue:null,exhaustive:R,data:null})}};var i=r(29038),n=r(94812),s=r(36034),a=r(80771),c=i.escapeFacetValue,o=i.unescapeFacetValue},27155:function(e,t,r){"use strict";var i=r(24105),n=r(38800),s=r(29038),a=r(94812),c=r(9443),o=r(36034),u=r(80771),h=s.escapeFacetValue,f=s.unescapeFacetValue,l=r(70916);function m(e){var t={};return e.forEach(function(e,r){t[e]=r}),t}function d(e,t,r){t&&t[r]&&(e.stats=t[r])}function p(e,t,r){var s=t[0]||{};this._rawResults=t;var o=this;Object.keys(s).forEach(function(e){o[e]=s[e]});var u=n(r,{persistHierarchicalRootCount:!1});Object.keys(u).forEach(function(e){o[e]=u[e]}),this.processingTimeMS=t.reduce(function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS},0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map(function(){return[]}),this.facets=[];var h=e.getRefinedDisjunctiveFacets(),p=m(e.facets),g=m(e.disjunctiveFacets),v=1,y=s.facets||{};Object.keys(y).forEach(function(t){var r=y[t],i=a(e.hierarchicalFacets,function(e){return(e.attributes||[]).indexOf(t)>-1});if(i){var n=i.attributes.indexOf(t),u=c(e.hierarchicalFacets,function(e){return e.name===i.name});o.hierarchicalFacets[u][n]={attribute:t,data:r,exhaustive:s.exhaustiveFacetsCount}}else{var h,f=-1!==e.disjunctiveFacets.indexOf(t),l=-1!==e.facets.indexOf(t);f&&(h=g[t],o.disjunctiveFacets[h]={name:t,data:r,exhaustive:s.exhaustiveFacetsCount},d(o.disjunctiveFacets[h],s.facets_stats,t)),l&&(h=p[t],o.facets[h]={name:t,data:r,exhaustive:s.exhaustiveFacetsCount},d(o.facets[h],s.facets_stats,t))}}),this.hierarchicalFacets=i(this.hierarchicalFacets),h.forEach(function(r){var i=t[v],a=i&&i.facets?i.facets:{},u=e.getHierarchicalFacetByName(r);Object.keys(a).forEach(function(t){var r,h=a[t];if(u){r=c(e.hierarchicalFacets,function(e){return e.name===u.name});var l=c(o.hierarchicalFacets[r],function(e){return e.attribute===t});if(-1===l)return;o.hierarchicalFacets[r][l].data=o.persistHierarchicalRootCount?n(o.hierarchicalFacets[r][l].data,h):n(h,o.hierarchicalFacets[r][l].data)}else{r=g[t];var m=s.facets&&s.facets[t]||{};o.disjunctiveFacets[r]={name:t,data:n(m,h),exhaustive:i.exhaustiveFacetsCount},d(o.disjunctiveFacets[r],i.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach(function(i){!o.disjunctiveFacets[r].data[i]&&e.disjunctiveFacetsRefinements[t].indexOf(f(i))>-1&&(o.disjunctiveFacets[r].data[i]=0)})}}),v++}),e.getRefinedHierarchicalFacets().forEach(function(r){var i=e.getHierarchicalFacetByName(r),s=e._getHierarchicalFacetSeparator(i),a=e.getHierarchicalRefinement(r);0!==a.length&&!(a[0].split(s).length<2)&&t.slice(v).forEach(function(t){var r=t&&t.facets?t.facets:{};Object.keys(r).forEach(function(t){var u=r[t],h=c(e.hierarchicalFacets,function(e){return e.name===i.name}),f=c(o.hierarchicalFacets[h],function(e){return e.attribute===t});if(-1!==f){var l={};if(a.length>0&&!o.persistHierarchicalRootCount){var m=a[0].split(s)[0];l[m]=o.hierarchicalFacets[h][f].data[m]}o.hierarchicalFacets[h][f].data=n(l,u,o.hierarchicalFacets[h][f].data)}}),v++})}),Object.keys(e.facetsExcludes).forEach(function(t){var r=e.facetsExcludes[t],i=p[t];o.facets[i]={name:t,data:y[t],exhaustive:s.exhaustiveFacetsCount},r.forEach(function(e){o.facets[i]=o.facets[i]||{name:t},o.facets[i].data=o.facets[i].data||{},o.facets[i].data[e]=0})}),this.hierarchicalFacets=this.hierarchicalFacets.map(l(e)),this.facets=i(this.facets),this.disjunctiveFacets=i(this.disjunctiveFacets),this._state=e}function g(e,t){var r=a(e,function(e){return e.name===t});return r&&r.stats}function v(e,t,r,i,n){var s=a(n,function(e){return e.name===r}),c=s&&s.data&&s.data[i]?s.data[i]:0;return{type:t,attributeName:r,name:i,count:c,exhaustive:s&&s.exhaustive||!1}}p.prototype.getFacetByName=function(e){function t(t){return t.name===e}return a(this.facets,t)||a(this.disjunctiveFacets,t)||a(this.hierarchicalFacets,t)},p.DEFAULT_SORT=["isRefined:desc","count:desc","name:asc"],p.prototype.getFacetValues=function(e,t){var r,i=function(e,t){function r(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var i=a(e.facets,r);return i?Object.keys(i.data).map(function(r){var n=h(r);return{name:r,escapedValue:n,count:i.data[r],isRefined:e._state.isFacetRefined(t,n),isExcluded:e._state.isExcludeRefined(t,r)}}):[]}if(e._state.isDisjunctiveFacet(t)){var n=a(e.disjunctiveFacets,r);return n?Object.keys(n.data).map(function(r){var i=h(r);return{name:r,escapedValue:i,count:n.data[r],isRefined:e._state.isDisjunctiveFacetRefined(t,i)}}):[]}if(e._state.isHierarchicalFacet(t)){var s=a(e.hierarchicalFacets,r);if(!s)return s;var c=e._state.getHierarchicalFacetByName(t),o=e._state._getHierarchicalFacetSeparator(c),u=f(e._state.getHierarchicalRefinement(t)[0]||"");0===u.indexOf(c.rootPath)&&(u=u.replace(c.rootPath+o,""));var l=u.split(o);return l.unshift(t),function e(t,r,i){t.isRefined=t.name===(r[i]&&r[i].trim()),t.data&&t.data.forEach(function(t){e(t,r,i+1)})}(s,l,0),s}}(this,e);if(i){var s=n(t,{sortBy:p.DEFAULT_SORT,facetOrdering:!(t&&t.sortBy)}),c=this;return r=Array.isArray(i)?[e]:c._state.getHierarchicalFacetByName(i.name).attributes,function e(t,r,i,s){if(s=s||0,Array.isArray(r))return t(r,i[s]);if(!r.data||0===r.data.length)return r;var a=r.data.map(function(r){return e(t,r,i,s+1)});return n({data:t(a,i[s])},r)}(function(e,t){if(s.facetOrdering){var r,i,n,a,h,f,l,m=c.renderingContent&&c.renderingContent.facetOrdering&&c.renderingContent.facetOrdering.values&&c.renderingContent.facetOrdering.values[t];if(m)return n=[],a=[],h=m.hide||[],f=(m.order||[]).reduce(function(e,t,r){return e[t]=r,e},{}),e.forEach(function(e){var t=e.path||e.name,r=h.indexOf(t)>-1;r||void 0===f[t]?r||a.push(e):n[f[t]]=e}),n=n.filter(function(e){return e}),"hidden"===(l=m.sortRemainingBy)?n:(i="alpha"===l?[["path","name"],["asc","asc"]]:[["count"],["desc"]],n.concat(u(a,i[0],i[1])))}if(Array.isArray(s.sortBy)){var d=o(s.sortBy,p.DEFAULT_SORT);return u(e,d[0],d[1])}if("function"==typeof s.sortBy)return r=s.sortBy,e.sort(r);throw Error("options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function")},i,r)}},p.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?g(this.facets,e):this._state.isDisjunctiveFacet(e)?g(this.disjunctiveFacets,e):void 0},p.prototype.getRefinements=function(){var e=this._state,t=this,r=[];return Object.keys(e.facetsRefinements).forEach(function(i){e.facetsRefinements[i].forEach(function(n){r.push(v(e,"facet",i,n,t.facets))})}),Object.keys(e.facetsExcludes).forEach(function(i){e.facetsExcludes[i].forEach(function(n){r.push(v(e,"exclude",i,n,t.facets))})}),Object.keys(e.disjunctiveFacetsRefinements).forEach(function(i){e.disjunctiveFacetsRefinements[i].forEach(function(n){r.push(v(e,"disjunctive",i,n,t.disjunctiveFacets))})}),Object.keys(e.hierarchicalFacetsRefinements).forEach(function(i){e.hierarchicalFacetsRefinements[i].forEach(function(n){var s,c,o,u,h,f,l,m,d,p,g;r.push((s=e,c=i,o=n,u=t.hierarchicalFacets,h=s.getHierarchicalFacetByName(c),f=s._getHierarchicalFacetSeparator(h),l=o.split(f),m=a(u,function(e){return e.name===c}),p=(d=l.reduce(function(e,t){var r=e&&a(e.data,function(e){return e.name===t});return void 0!==r?r:e},m))&&d.count||0,g=d&&d.exhaustive||!1,{type:"hierarchical",attributeName:c,name:d&&d.path||"",count:p,exhaustive:g}))})}),Object.keys(e.numericRefinements).forEach(function(t){var i=e.numericRefinements[t];Object.keys(i).forEach(function(e){i[e].forEach(function(i){r.push({type:"numeric",attributeName:t,name:i,numericValue:i,operator:e})})})}),e.tagRefinements.forEach(function(e){r.push({type:"tag",attributeName:"_tags",name:e})}),r},e.exports=p},55510:function(e,t,r){"use strict";var i=r(42573),n=r(21657),s=r(29038).escapeFacetValue,a=r(38400),c=r(27868),o=r(41262),u=r(56516),h=r(93450),f=r(40280),l=r(90584),m=r(1098),d=r(27155),p=r(96625),g=r(22026);function v(e,t,r,i){"function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+g+")"),this.setClient(e);var n=r||{};n.index=t,this.state=m.make(n),this.recommendState=new h({params:n.recommendState}),this.lastResults=null,this.lastRecommendResults=null,this._queryId=0,this._recommendQueryId=0,this._lastQueryIdReceived=-1,this._lastRecommendQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0,this._currentNbRecommendQueries=0,this._searchResultsOptions=i,this._recommendCache={}}function y(e){if(e<0)throw Error("Page requested below 0.");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function R(){return this.state.page}a(v,i),v.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},v.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},v.prototype.recommend=function(){return this._recommend(),this},v.prototype.getQuery=function(){var e=this.state;return l._getHitsSearchParams(e)},v.prototype.searchOnce=function(e,t){var r=e?this.state.setQueryParameters(e):this.state,i=l._getQueries(r.index,r),n=this;if(this._currentNbQueries++,this.emit("searchOnce",{state:r}),t){this.client.search(i).then(function(e){n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),t(null,new d(r,e.results),r)}).catch(function(e){n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),t(e,null,r)});return}return this.client.search(i).then(function(e){return n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),{content:new d(r,e.results),state:r,_originalResponse:e}},function(e){throw n._currentNbQueries--,0===n._currentNbQueries&&n.emit("searchQueueEmpty"),e})},v.prototype.findAnswers=function(e){console.warn("[algoliasearch-helper] answers is no longer supported");var t=this.state,r=this.derivedHelpers[0];if(!r)return Promise.resolve([]);var i=r.getModifiedState(t),n=c({attributesForPrediction:e.attributesForPrediction,nbHits:e.nbHits},{params:u(l._getHitsSearchParams(i),["attributesToSnippet","hitsPerPage","restrictSearchableAttributes","snippetEllipsisText"])}),s="search for answers was called, but this client does not have a function client.initIndex(index).findAnswers";if("function"!=typeof this.client.initIndex)throw Error(s);var a=this.client.initIndex(i.index);if("function"!=typeof a.findAnswers)throw Error(s);return a.findAnswers(i.query,e.queryLanguages,n)},v.prototype.searchForFacetValues=function(e,t,r,i){var n,a="function"==typeof this.client.searchForFacetValues&&"function"!=typeof this.client.searchForFacets,c="function"==typeof this.client.initIndex;if(!a&&!c&&"function"!=typeof this.client.search)throw Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues");var o=this.state.setQueryParameters(i||{}),u=o.isDisjunctiveFacet(e),h=l.getSearchForFacetQuery(e,t,r,o);this._currentNbQueries++;var f=this;return a?n=this.client.searchForFacetValues([{indexName:o.index,params:h}]):c?n=this.client.initIndex(o.index).searchForFacetValues(h):(delete h.facetName,n=this.client.search([{type:"facet",facet:e,indexName:o.index,params:h}]).then(function(e){return e.results[0]})),this.emit("searchForFacetValues",{state:o,facet:e,query:t}),n.then(function(t){return f._currentNbQueries--,0===f._currentNbQueries&&f.emit("searchQueueEmpty"),(t=Array.isArray(t)?t[0]:t).facetHits.forEach(function(t){t.escapedValue=s(t.value),t.isRefined=u?o.isDisjunctiveFacetRefined(e,t.escapedValue):o.isFacetRefined(e,t.escapedValue)}),t},function(e){throw f._currentNbQueries--,0===f._currentNbQueries&&f.emit("searchQueueEmpty"),e})},v.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},v.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},v.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},v.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},v.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.addNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,r),isPageReset:!0}),this},v.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},v.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},v.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},v.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},v.prototype.addFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.addFrequentlyBoughtTogether(e)}),this},v.prototype.addRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.addRelatedProducts(e)}),this},v.prototype.addTrendingItems=function(e){return this._recommendChange({state:this.recommendState.addTrendingItems(e)}),this},v.prototype.addTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.addTrendingFacets(e)}),this},v.prototype.addLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.addLookingSimilar(e)}),this},v.prototype.removeNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,r),isPageReset:!0}),this},v.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},v.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},v.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},v.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},v.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},v.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},v.prototype.removeFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeTrendingItems=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.removeLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},v.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},v.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},v.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},v.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},v.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},v.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},v.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},v.prototype.setCurrentPage=y,v.prototype.setPage=y,v.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},v.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},v.prototype.setState=function(e){return this._change({state:m.make(e),isPageReset:!1}),this},v.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new m(e),this},v.prototype.hasRefinements=function(e){return!!o(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},v.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},v.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},v.prototype.hasTag=function(e){return this.state.isTagRefined(e)},v.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},v.prototype.getIndex=function(){return this.state.index},v.prototype.getCurrentPage=R,v.prototype.getPage=R,v.prototype.getTags=function(){return this.state.tagRefinements},v.prototype.getRefinements=function(e){var t=[];this.state.isConjunctiveFacet(e)?(this.state.getConjunctiveRefinements(e).forEach(function(e){t.push({value:e,type:"conjunctive"})}),this.state.getExcludeRefinements(e).forEach(function(e){t.push({value:e,type:"exclude"})})):this.state.isDisjunctiveFacet(e)&&this.state.getDisjunctiveRefinements(e).forEach(function(e){t.push({value:e,type:"disjunctive"})});var r=this.state.getNumericRefinements(e);return Object.keys(r).forEach(function(e){var i=r[e];t.push({value:i,operator:e,type:"numeric"})}),t},v.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},v.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},v.prototype._search=function(e){var t=this.state,r=[],i=[];e.onlyWithDerivedHelpers||(i=l._getQueries(t.index,t),r.push({state:t,queriesCount:i.length,helper:this}),this.emit("search",{state:t,results:this.lastResults}));var n=this.derivedHelpers.map(function(e){var i=e.getModifiedState(t),n=i.index?l._getQueries(i.index,i):[];return r.push({state:i,queriesCount:n.length,helper:e}),e.emit("search",{state:i,results:e.lastResults}),n}),s=Array.prototype.concat.apply(i,n),a=this._queryId++;if(this._currentNbQueries++,!s.length)return Promise.resolve({results:[]}).then(this._dispatchAlgoliaResponse.bind(this,r,a));try{this.client.search(s).then(this._dispatchAlgoliaResponse.bind(this,r,a)).catch(this._dispatchAlgoliaError.bind(this,a))}catch(e){this.emit("error",{error:e})}},v.prototype._recommend=function(){var e=this.state,t=this.recommendState,r=this.getIndex(),i=[{state:t,index:r,helper:this}],n=t.params.map(function(e){return e.$$id});this.emit("fetch",{recommend:{state:t,results:this.lastRecommendResults}});var s=this._recommendCache,a=this.derivedHelpers.map(function(t){var r=t.getModifiedState(e).index;if(!r)return[];var a=t.getModifiedRecommendState(new h);return i.push({state:a,index:r,helper:t}),n=Array.prototype.concat.apply(n,a.params.map(function(e){return e.$$id})),t.emit("fetch",{recommend:{state:a,results:t.lastRecommendResults}}),a._buildQueries(r,s)}),c=Array.prototype.concat.apply(this.recommendState._buildQueries(r,s),a);if(0!==c.length){if(c.length>0&&void 0===this.client.getRecommendations){console.warn("Please update algoliasearch/lite to the latest version in order to use recommend widgets.");return}var o=this._recommendQueryId++;this._currentNbRecommendQueries++;try{this.client.getRecommendations(c).then(this._dispatchRecommendResponse.bind(this,o,i,n)).catch(this._dispatchRecommendError.bind(this,o))}catch(e){this.emit("error",{error:e})}}},v.prototype._dispatchAlgoliaResponse=function(e,t,r){var i=this;if(!(t<this._lastQueryIdReceived)){this._currentNbQueries-=t-this._lastQueryIdReceived,this._lastQueryIdReceived=t,0===this._currentNbQueries&&this.emit("searchQueueEmpty");var n=r.results.slice();e.forEach(function(e){var t=e.state,r=e.queriesCount,s=e.helper,a=n.splice(0,r);if(!t.index){s.emit("result",{results:null,state:t});return}s.lastResults=new d(t,a,i._searchResultsOptions),s.emit("result",{results:s.lastResults,state:t})})}},v.prototype._dispatchRecommendResponse=function(e,t,r,i){if(!(e<this._lastRecommendQueryIdReceived)){this._currentNbRecommendQueries-=e-this._lastRecommendQueryIdReceived,this._lastRecommendQueryIdReceived=e,0===this._currentNbRecommendQueries&&this.emit("recommendQueueEmpty");var n=this._recommendCache,s={};r.filter(function(e){return void 0===n[e]}).forEach(function(e,t){s[e]||(s[e]=[]),s[e].push(t)}),Object.keys(s).forEach(function(e){var t=s[e],r=i.results[t[0]];if(1===t.length){n[e]=r;return}n[e]=Object.assign({},r,{hits:p(t.map(function(e){return i.results[e].hits}))})});var a={};r.forEach(function(e){a[e]=n[e]}),t.forEach(function(e){var t=e.state,r=e.helper;if(!e.index){r.emit("recommend:result",{results:null,state:t});return}r.lastRecommendResults=new f(t,a),r.emit("recommend:result",{recommend:{results:r.lastRecommendResults,state:t}})})}},v.prototype._dispatchAlgoliaError=function(e,t){!(e<this._lastQueryIdReceived)&&(this._currentNbQueries-=e-this._lastQueryIdReceived,this._lastQueryIdReceived=e,this.emit("error",{error:t}),0===this._currentNbQueries&&this.emit("searchQueueEmpty"))},v.prototype._dispatchRecommendError=function(e,t){!(e<this._lastRecommendQueryIdReceived)&&(this._currentNbRecommendQueries-=e-this._lastRecommendQueryIdReceived,this._lastRecommendQueryIdReceived=e,this.emit("error",{error:t}),0===this._currentNbRecommendQueries&&this.emit("recommendQueueEmpty"))},v.prototype.containsRefinement=function(e,t,r,i){return e||0!==t.length||0!==r.length||0!==i.length},v.prototype._hasDisjunctiveRefinements=function(e){return this.state.disjunctiveRefinements[e]&&this.state.disjunctiveRefinements[e].length>0},v.prototype._change=function(e){var t=e.state,r=e.isPageReset;t!==this.state&&(this.state=t,this.emit("change",{state:this.state,results:this.lastResults,isPageReset:r}))},v.prototype._recommendChange=function(e){var t=e.state;t!==this.recommendState&&(this.recommendState=t,this.emit("recommend:change",{search:{results:this.lastResults,state:this.state},recommend:{results:this.lastRecommendResults,state:this.recommendState}}))},v.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},v.prototype.setClient=function(e){return this.client===e||("function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+g+")"),this.client=e),this},v.prototype.getClient=function(){return this.client},v.prototype.derive=function(e,t){var r=new n(this,e,t);return this.derivedHelpers.push(r),r},v.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(-1===t)throw Error("Derived helper already detached");this.derivedHelpers.splice(t,1)},v.prototype.hasPendingRequests=function(){return this._currentNbQueries>0},e.exports=v},24105:function(e){"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},38800:function(e){"use strict";e.exports=function(){var e=Array.prototype.slice.call(arguments);return e.reduceRight(function(e,t){return Object.keys(Object(t)).forEach(function(r){void 0!==t[r]&&(void 0!==e[r]&&delete e[r],e[r]=t[r])}),e},{})}},29038:function(e){"use strict";e.exports={escapeFacetValue:function(e){return"string"!=typeof e?e:String(e).replace(/^-/,"\\-")},unescapeFacetValue:function(e){return"string"!=typeof e?e:e.replace(/^\\-/,"-")}}},94812:function(e){"use strict";e.exports=function(e,t){if(Array.isArray(e)){for(var r=0;r<e.length;r++)if(t(e[r]))return e[r]}}},9443:function(e){"use strict";e.exports=function(e,t){if(!Array.isArray(e))return -1;for(var r=0;r<e.length;r++)if(t(e[r]))return r;return -1}},78619:function(e){e.exports=function(e){return e.reduce(function(e,t){return e.concat(t)},[])}},36034:function(e,t,r){"use strict";var i=r(94812);e.exports=function(e,t){var r=(t||[]).map(function(e){return e.split(":")});return e.reduce(function(e,t){var n=t.split(":"),s=i(r,function(e){return e[0]===n[0]});return n.length>1||!s?(e[0].push(n[0]),e[1].push(n[1])):(e[0].push(s[0]),e[1].push(s[1])),e},[[],[]])}},38400:function(e){"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},4501:function(e){"use strict";e.exports=function(e,t){return e.filter(function(r,i){return t.indexOf(r)>-1&&e.indexOf(r)===i})}},27868:function(e){"use strict";function t(e){return"function"==typeof e||Array.isArray(e)||"[object Object]"===Object.prototype.toString.call(e)}e.exports=function(e){t(e)||(e={});for(var r=1,i=arguments.length;r<i;r++){var n=arguments[r];t(n)&&function e(r,i){if(r===i)return r;for(var n in i){if(Object.prototype.hasOwnProperty.call(i,n)&&"__proto__"!==n&&"constructor"!==n){var s=i[n],a=r[n];(void 0===a||void 0!==s)&&(t(a)&&t(s)?r[n]=e(a,s):r[n]="object"==typeof s&&null!==s?e(Array.isArray(s)?[]:{},s):s)}}return r}(e,n)}return e}},41262:function(e){"use strict";e.exports=function(e){return e&&Object.keys(e).length>0}},56516:function(e){"use strict";e.exports=function(e,t){if(null===e)return{};var r,i,n={},s=Object.keys(e);for(i=0;i<s.length;i++)r=s[i],t.indexOf(r)>=0||(n[r]=e[r]);return n}},80771:function(e){"use strict";e.exports=function(e,t,r){if(!Array.isArray(e))return[];Array.isArray(r)||(r=[]);var i=e.map(function(e,r){return{criteria:t.map(function(t){return e[t]}),index:r,value:e}});return i.sort(function(e,t){for(var i=-1;++i<e.criteria.length;){var n=function(e,t){if(e!==t){var r=void 0!==e,i=null===e,n=void 0!==t,s=null===t;if(!s&&e>t||i&&n||!r)return 1;if(!i&&e<t||s&&r||!n)return -1}return 0}(e.criteria[i],t.criteria[i]);if(n){if(i>=r.length)return n;if("desc"===r[i])return-n;return n}}return e.index-t.index}),i.map(function(e){return e.value})}},37032:function(e){"use strict";e.exports=function e(t){if("number"==typeof t)return t;if("string"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw Error("The value should be a number, a parsable string or an array of those.")}},90584:function(e,t,r){"use strict";var i=r(27868);function n(e){return Object.keys(e).sort().reduce(function(t,r){return t[r]=e[r],t},{})}var s={_getQueries:function(e,t){var r=[];return r.push({indexName:e,params:s._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach(function(i){r.push({indexName:e,params:s._getDisjunctiveFacetSearchParams(t,i)})}),t.getRefinedHierarchicalFacets().forEach(function(i){var n=t.getHierarchicalFacetByName(i),a=t.getHierarchicalRefinement(i),c=t._getHierarchicalFacetSeparator(n);if(a.length>0&&a[0].split(c).length>1){var o=a[0].split(c).slice(0,-1).reduce(function(e,t,r){return e.concat({attribute:n.attributes[r],value:0===r?t:[e[e.length-1].value,t].join(c)})},[]);o.forEach(function(i,a){var c=s._getDisjunctiveFacetSearchParams(t,i.attribute,0===a);function u(e){return n.attributes.some(function(t){return t===e.split(":")[0]})}var h=(c.facetFilters||[]).reduce(function(e,t){if(Array.isArray(t)){var r=t.filter(function(e){return!u(e)});r.length>0&&e.push(r)}return"string"!=typeof t||u(t)||e.push(t),e},[]),f=o[a-1];a>0?c.facetFilters=h.concat(f.attribute+":"+f.value):h.length>0?c.facetFilters=h:delete c.facetFilters,r.push({indexName:e,params:c})})}}),r},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(s._getHitsHierarchicalFacetsAttributes(e)).sort(),r=s._getFacetFilters(e),a=s._getNumericFilters(e),c=s._getTagFilters(e),o={};return t.length>0&&(o.facets=t.indexOf("*")>-1?["*"]:t),c.length>0&&(o.tagFilters=c),r.length>0&&(o.facetFilters=r),a.length>0&&(o.numericFilters=a),n(i({},e.getQueryParams(),o))},_getDisjunctiveFacetSearchParams:function(e,t,r){var a=s._getFacetFilters(e,t,r),c=s._getNumericFilters(e,t),o=s._getTagFilters(e),u={hitsPerPage:0,page:0,analytics:!1,clickAnalytics:!1};o.length>0&&(u.tagFilters=o);var h=e.getHierarchicalFacetByName(t);return h?u.facets=s._getDisjunctiveHierarchicalFacetAttribute(e,h,r):u.facets=t,c.length>0&&(u.numericFilters=c),a.length>0&&(u.facetFilters=a),n(i({},e.getQueryParams(),u))},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var r=[];return Object.keys(e.numericRefinements).forEach(function(i){var n=e.numericRefinements[i]||{};Object.keys(n).forEach(function(e){var s=n[e]||[];t!==i&&s.forEach(function(t){if(Array.isArray(t)){var n=t.map(function(t){return i+e+t});r.push(n)}else r.push(i+e+t)})})}),r},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(",")},_getFacetFilters:function(e,t,r){var i=[],n=e.facetsRefinements||{};Object.keys(n).sort().forEach(function(e){(n[e]||[]).slice().sort().forEach(function(t){i.push(e+":"+t)})});var s=e.facetsExcludes||{};Object.keys(s).sort().forEach(function(e){(s[e]||[]).sort().forEach(function(t){i.push(e+":-"+t)})});var a=e.disjunctiveFacetsRefinements||{};Object.keys(a).sort().forEach(function(e){var r=a[e]||[];if(e!==t&&r&&0!==r.length){var n=[];r.slice().sort().forEach(function(t){n.push(e+":"+t)}),i.push(n)}});var c=e.hierarchicalFacetsRefinements||{};return Object.keys(c).sort().forEach(function(n){var s,a,o=(c[n]||[])[0];if(void 0!==o){var u=e.getHierarchicalFacetByName(n),h=e._getHierarchicalFacetSeparator(u),f=e._getHierarchicalRootPath(u);if(t===n){if(-1===o.indexOf(h)||!f&&!0===r||f&&f.split(h).length===o.split(h).length)return;f?(a=f.split(h).length-1,o=f):(a=o.split(h).length-2,o=o.slice(0,o.lastIndexOf(h))),s=u.attributes[a]}else a=o.split(h).length-1,s=u.attributes[a];s&&i.push([s+":"+o])}}),i},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce(function(t,r){var i=e.getHierarchicalRefinement(r.name)[0];if(!i)return t.push(r.attributes[0]),t;var n=e._getHierarchicalFacetSeparator(r),s=i.split(n).length,a=r.attributes.slice(0,s+1);return t.concat(a)},[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,r){var i=e._getHierarchicalFacetSeparator(t);if(!0===r){var n=e._getHierarchicalRootPath(t),s=0;return n&&(s=n.split(i).length),[t.attributes[s]]}var a=(e.getHierarchicalRefinement(t.name)[0]||"").split(i).length-1;return t.attributes.slice(0,a+1)},getSearchForFacetQuery:function(e,t,r,a){var c=a.isDisjunctiveFacet(e)?a.clearRefinements(e):a,o={facetQuery:t,facetName:e};return"number"==typeof r&&(o.maxFacetHits=r),n(i({},s._getHitsSearchParams(c),o))}};e.exports=s},96609:function(e){"use strict";e.exports=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)}},96625:function(e,t,r){"use strict";var i=r(94812),n=r(78619);e.exports=function(e){var t,r,s={};return e.forEach(function(e){e.forEach(function(e,t){s[e.objectID]?s[e.objectID]={indexSum:s[e.objectID].indexSum+t,count:s[e.objectID].count+1}:s[e.objectID]={indexSum:t,count:1}})}),(t=e.length,r=[],Object.keys(s).forEach(function(e){s[e].count<2&&(s[e].indexSum+=100),r.push({objectID:e,avgOfIndices:s[e].indexSum/t})}),r.sort(function(e,t){return e.avgOfIndices>t.avgOfIndices?1:-1})).reduce(function(t,r){var s=i(n(e),function(e){return e.objectID===r.objectID});return s?t.concat(s):t},[])}},22026:function(e){"use strict";e.exports="3.22.6"},47357:function(e,t,r){"use strict";function i(e={serializable:!0}){let t={};return{get(r,i,n={miss:()=>Promise.resolve()}){let s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);let a=i();return a.then(e=>n.miss(e)).then(()=>a)},set:(r,i)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(i):i,Promise.resolve(i)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function n(e,t="up"){let r=Date.now();return{...e,status:t,lastUpdate:r,isUp:function(){return"up"===t||Date.now()-r>12e4},isTimedOut:function(){return"timed out"===t&&Date.now()-r<=12e4}}}r.d(t,{C:()=>m});var s=class extends Error{name="AlgoliaError";constructor(e,t){super(e),t&&(this.name=t)}},a=class extends s{stackTrace;constructor(e,t,r){super(e,r),this.stackTrace=t}},c=class extends a{constructor(e){super("Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support.",e,"RetryError")}},o=class extends a{status;constructor(e,t,r,i="ApiError"){super(e,r,i),this.status=t}},u=class extends s{response;constructor(e,t){super(e,"DeserializationError"),this.response=t}},h=class extends o{error;constructor(e,t,r,i){super(e,t,i,"DetailedApiError"),this.error=r}};function f(e){let t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}var l="5.17.1";function m(e,t,r){if(!e||"string"!=typeof e)throw Error("`appId` is missing.");if(!t||"string"!=typeof t)throw Error("`apiKey` is missing.");return function({appId:e,apiKey:t,authMode:r,algoliaAgents:i,...s}){let a=function(e,t,r="WithinHeaders"){let i={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:()=>"WithinHeaders"===r?i:{},queryParameters:()=>"WithinQueryParameters"===r?i:{}}}(e,t,r),m=function({hosts:e,hostsCache:t,baseHeaders:r,logger:i,baseQueryParameters:s,algoliaAgent:a,timeouts:l,requester:m,requestsCache:d,responsesCache:p}){async function g(e){let r=await Promise.all(e.map(e=>t.get(e,()=>Promise.resolve(n(e))))),i=r.filter(e=>e.isUp()),s=r.filter(e=>e.isTimedOut()),a=[...i,...s];return{hosts:a.length>0?a:e,getTimeout:(e,t)=>(0===s.length&&0===e?1:s.length+3+e)*t}}async function v(d,p,y=!0){let R=[],F=function(e,t){if("GET"!==e.method&&(void 0!==e.data||void 0!==t.data))return JSON.stringify(Array.isArray(e.data)?e.data:{...e.data,...t.data})}(d,p),_=function(e,t,r){let i={Accept:"application/json",...e,...t,...r},n={};return Object.keys(i).forEach(e=>{let t=i[e];n[e.toLowerCase()]=t}),n}(r,d.headers,p.headers),P="GET"===d.method?{...d.data,...p.data}:{},b={...s,...d.queryParameters,...P};if(a.value&&(b["x-algolia-agent"]=a.value),p&&p.queryParameters)for(let e of Object.keys(p.queryParameters))p.queryParameters[e]&&"[object Object]"!==Object.prototype.toString.call(p.queryParameters[e])?b[e]=p.queryParameters[e].toString():b[e]=p.queryParameters[e];let j=0,x=async(e,r)=>{let s=e.pop();if(void 0===s)throw new c(R.map(e=>f(e)));let a={...l,...p.timeouts},g={data:F,headers:_,method:d.method,url:function(e,t,r){var i;let n=Object.keys(i=r).filter(e=>void 0!==i[e]).sort().map(e=>`${e}=${encodeURIComponent("[object Array]"===Object.prototype.toString.call(i[e])?i[e].join(","):i[e]).replace(/\+/g,"%20")}`).join("&"),s=`${e.protocol}://${e.url}${e.port?`:${e.port}`:""}/${"/"===t.charAt(0)?t.substring(1):t}`;return n.length&&(s+=`?${n}`),s}(s,d.path,b),connectTimeout:r(j,a.connect),responseTimeout:r(j,y?a.read:a.write)},v=t=>{let r={request:g,response:t,host:s,triesLeft:e.length};return R.push(r),r},P=await m.send(g);if(function({isTimedOut:e,status:t}){return e||function({isTimedOut:e,status:t}){return!e&&0==~~t}({isTimedOut:e,status:t})||2!=~~(t/100)&&4!=~~(t/100)}(P)){let a=v(P);return P.isTimedOut&&j++,i.info("Retryable failure",f(a)),await t.set(s,n(s,P.isTimedOut?"timed out":"down")),x(e,r)}if(function({status:e}){return 2==~~(e/100)}(P))return function(e){try{return JSON.parse(e.content)}catch(t){throw new u(t.message,e)}}(P);throw v(P),function({content:e,status:t},r){try{let i=JSON.parse(e);if("error"in i)return new h(i.message,t,i.error,r);return new o(i.message,t,r)}catch{}return new o(e,t,r)}(P,R)},E=e.filter(e=>"readWrite"===e.accept||(y?"read"===e.accept:"write"===e.accept)),O=await g(E);return x([...O.hosts].reverse(),O.getTimeout)}return{hostsCache:t,requester:m,timeouts:l,logger:i,algoliaAgent:a,baseHeaders:r,baseQueryParameters:s,hosts:e,request:function(e,t={}){let i=e.useReadTransporter||"GET"===e.method;if(!i)return v(e,t,i);let n=()=>v(e,t);if(!0!==(t.cacheable||e.cacheable))return n();let a={request:e,requestOptions:t,transporter:{queryParameters:s,headers:r}};return p.get(a,()=>d.get(a,()=>d.set(a,n()).then(e=>Promise.all([d.delete(a),e]),e=>Promise.all([d.delete(a),Promise.reject(e)])).then(([e,t])=>t)),{miss:e=>p.set(a,e)})},requestsCache:d,responsesCache:p}}({hosts:[{url:`${e}-dsn.algolia.net`,accept:"read",protocol:"https"},{url:`${e}.algolia.net`,accept:"write",protocol:"https"}].concat(function(e){for(let t=e.length-1;t>0;t--){let r=Math.floor(Math.random()*(t+1)),i=e[t];e[t]=e[r],e[r]=i}return e}([{url:`${e}-1.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${e}-2.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${e}-3.algolianet.com`,accept:"readWrite",protocol:"https"}])),...s,algoliaAgent:function({algoliaAgents:e,client:t,version:r}){let i=(function(e){let t={value:`Algolia for JavaScript (${e})`,add(e){let r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return -1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t})(r).add({segment:t,version:r});return e.forEach(e=>i.add(e)),i}({algoliaAgents:i,client:"Lite",version:l}),baseHeaders:{"content-type":"text/plain",...a.headers(),...s.baseHeaders},baseQueryParameters:{...a.queryParameters(),...s.baseQueryParameters}});return{transporter:m,appId:e,clearCache:()=>Promise.all([m.requestsCache.clear(),m.responsesCache.clear()]).then(()=>void 0),get _ua(){return m.algoliaAgent.value},addAlgoliaAgent(e,t){m.algoliaAgent.add({segment:e,version:t})},setClientApiKey({apiKey:e}){r&&"WithinHeaders"!==r?m.baseQueryParameters["x-algolia-api-key"]=e:m.baseHeaders["x-algolia-api-key"]=e},searchForHits(e,t){return this.search(e,t)},searchForFacets(e,t){return this.search(e,t)},customPost({path:e,parameters:t,body:r},i){if(!e)throw Error("Parameter `path` is required when calling `customPost`.");let n="/{path}".replace("{path}",e);return m.request({method:"POST",path:n,queryParameters:t||{},headers:{},data:r||{}},i)},getRecommendations(e,t){if(e&&Array.isArray(e)&&(e={requests:e}),!e)throw Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");let r={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return m.request(r,t)},search(e,t){if(e&&Array.isArray(e)&&(e={requests:e.map(({params:e,...t})=>"facet"===t.type?{...t,...e,type:"facet"}:{...t,...e,facet:void 0,maxFacetHits:void 0,facetQuery:void 0})}),!e)throw Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw Error("Parameter `searchMethodParams.requests` is required when calling `search`.");let r={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return m.request(r,t)}}}({appId:e,apiKey:t,timeouts:{connect:1e3,read:2e3,write:3e4},logger:{debug:(e,t)=>Promise.resolve(),info:(e,t)=>Promise.resolve(),error:(e,t)=>Promise.resolve()},requester:{send:function(e){return new Promise(t=>{let r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach(t=>r.setRequestHeader(t,e.headers[t]));let i=(e,i)=>setTimeout(()=>{r.abort(),t({status:0,content:i,isTimedOut:!0})},e),n=i(e.connectTimeout,"Connection timeout"),s;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===s&&(clearTimeout(n),s=i(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(n),clearTimeout(s),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(n),clearTimeout(s),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)})}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:i(),requestsCache:i({serializable:!1}),hostsCache:function e(t){let r=[...t.caches],i=r.shift();return void 0===i?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then(e=>Promise.all([e,r.miss(e)])).then(([e])=>e),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(t,n,s={miss:()=>Promise.resolve()})=>i.get(t,n,s).catch(()=>e({caches:r}).get(t,n,s)),set:(t,n)=>i.set(t,n).catch(()=>e({caches:r}).set(t,n)),delete:t=>i.delete(t).catch(()=>e({caches:r}).delete(t)),clear:()=>i.clear().catch(()=>e({caches:r}).clear())}}({caches:[function(e){let t;let r=`algolia-client-js-${e.key}`;function i(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function n(){return JSON.parse(i().getItem(r)||"{}")}function s(e){i().setItem(r,JSON.stringify(e))}return{get:(t,r,i={miss:()=>Promise.resolve()})=>Promise.resolve().then(()=>(!function(){let t=e.timeToLive?1e3*e.timeToLive:null,r=Object.fromEntries(Object.entries(n()).filter(([,e])=>void 0!==e.timestamp));s(r),t&&s(Object.fromEntries(Object.entries(r).filter(([,e])=>{let r=new Date().getTime();return!(e.timestamp+t<r)})))}(),n()[JSON.stringify(t)])).then(e=>Promise.all([e?e.value:r(),void 0!==e])).then(([e,t])=>Promise.all([e,t||i.miss(e)])).then(([e])=>e),set:(e,t)=>Promise.resolve().then(()=>{let s=n();return s[JSON.stringify(e)]={timestamp:new Date().getTime(),value:t},i().setItem(r,JSON.stringify(s)),t}),delete:e=>Promise.resolve().then(()=>{let t=n();delete t[JSON.stringify(e)],i().setItem(r,JSON.stringify(t))}),clear:()=>Promise.resolve().then(()=>{i().removeItem(r)})}}({key:`${l}-${e}`}),i()]}),...r})}}}]); \ No newline at end of file diff --git a/assets/js/701b6ec8.289e072a.js b/assets/js/701b6ec8.289e072a.js new file mode 100644 index 0000000000..c1cd521905 --- /dev/null +++ b/assets/js/701b6ec8.289e072a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["80168"],{99378:function(a,e,t){t.r(e),t.d(e,{assets:()=>s,contentTitle:()=>h,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var o=t(1414),i=t(85893),n=t(80980);let l={mdx:{format:"md"},date:"2020-03-08T19:00",authors:["amilajack","balloob","deniaz","hassanfarid","jartuso","jsjoeio","lex111","mohamedsgap","Noah-Silvera","phoqe","rlamana","s-pace","scottilee","TheodoreChu","yangshun","Zhencha0Cai"]},h="2.0.0-alpha.44",s={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},u=[];function m(a){return(0,i.jsx)(i.Fragment,{})}function p(a={}){let{wrapper:e}={...(0,n.a)(),...a.components};return e?(0,i.jsx)(e,{...a,children:(0,i.jsx)(m,{...a})}):m(a)}},80980:function(a,e,t){t.d(e,{Z:()=>h,a:()=>l});var o=t(67294);let i={},n=o.createContext(i);function l(a){let e=o.useContext(n);return o.useMemo(function(){return"function"==typeof a?a(e):{...e,...a}},[e,a])}function h(a){let e;return e=a.disableParentContext?"function"==typeof a.components?a.components(i):a.components||i:l(a.components),o.createElement(n.Provider,{value:e},a.children)}},1414:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.44","source":"@site/changelog/source/2.0.0-alpha.44.md","title":"2.0.0-alpha.44","description":"New Feature","date":"2020-03-08T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Amila Welihinda","alias":"amilajack","url":"https://github.com/amilajack","imageURL":"https://github.com/amilajack.png","key":"amilajack","page":null},{"name":"Paulus Schoutsen","alias":"balloob","url":"https://github.com/balloob","imageURL":"https://github.com/balloob.png","key":"balloob","page":null},{"name":"Robert","alias":"deniaz","url":"https://github.com/deniaz","imageURL":"https://github.com/deniaz.png","key":"deniaz","page":null},{"name":"Hassan Farid","alias":"hassanfarid","url":"https://github.com/hassanfarid","imageURL":"https://github.com/hassanfarid.png","key":"hassanfarid","page":null},{"name":"jartuso","alias":"jartuso","url":"https://github.com/jartuso","imageURL":"https://github.com/jartuso.png","key":"jartuso","page":null},{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Mohamed Abdel Nasser","alias":"mohamedsgap","url":"https://github.com/mohamedsgap","imageURL":"https://github.com/mohamedsgap.png","key":"mohamedsgap","page":null},{"name":"Noah Silvera","alias":"Noah-Silvera","url":"https://github.com/Noah-Silvera","imageURL":"https://github.com/Noah-Silvera.png","key":"Noah-Silvera","page":null},{"name":"Linus L\xe5ngberg","alias":"phoqe","url":"https://github.com/phoqe","imageURL":"https://github.com/phoqe.png","key":"phoqe","page":null},{"name":"Ram\xf3n Lamana","alias":"rlamana","url":"https://github.com/rlamana","imageURL":"https://github.com/rlamana.png","key":"rlamana","page":null},{"name":"Sylvain Pace","alias":"s-pace","url":"https://github.com/s-pace","imageURL":"https://github.com/s-pace.png","key":"s-pace","page":null},{"name":"Scott Lee","alias":"scottilee","url":"https://github.com/scottilee","imageURL":"https://github.com/scottilee.png","key":"scottilee","page":null},{"name":"Theodore Chu","alias":"TheodoreChu","url":"https://github.com/TheodoreChu","imageURL":"https://github.com/TheodoreChu.png","key":"TheodoreChu","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Zhenchao Cai","alias":"Zhencha0Cai","url":"https://github.com/Zhencha0Cai","imageURL":"https://github.com/Zhencha0Cai.png","key":"Zhencha0Cai","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-03-08T19:00","authors":["amilajack","balloob","deniaz","hassanfarid","jartuso","jsjoeio","lex111","mohamedsgap","Noah-Silvera","phoqe","rlamana","s-pace","scottilee","TheodoreChu","yangshun","Zhencha0Cai"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.48","permalink":"/changelog/2.0.0-alpha.48"},"nextItem":{"title":"2.0.0-alpha.43","permalink":"/changelog/2.0.0-alpha.43"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/7033176a.589a106b.js b/assets/js/7033176a.589a106b.js new file mode 100644 index 0000000000..a0a7258d4b --- /dev/null +++ b/assets/js/7033176a.589a106b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["14850"],{50385:function(e,t,n){n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>l,metadata:()=>a,toc:()=>i});var a=n(81290),r=n(85893),o=n(80980);let l={mdx:{format:"md"},date:"2019-07-21T20:00"},c="2.0.0-alpha.23",s={authorsImageUrls:[]},i=[];function u(e){let t={li:"li",ul:"ul",...(0,o.a)(),...e.components};return(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Fix docusaurus route config generation for certain edge case"}),"\n"]})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>c,a:()=>l});var a=n(67294);let r={},o=a.createContext(r);function l(e){let t=a.useContext(o);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),a.createElement(o.Provider,{value:t},e.children)}},81290:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.23","source":"@site/changelog/source/2.0.0-alpha.23.md","title":"2.0.0-alpha.23","description":"- Fix docusaurus route config generation for certain edge case","date":"2019-07-21T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-07-21T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.24","permalink":"/changelog/2.0.0-alpha.24"},"nextItem":{"title":"2.0.0-alpha.22","permalink":"/changelog/2.0.0-alpha.22"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/704bae10.4dc66b42.js b/assets/js/704bae10.4dc66b42.js new file mode 100644 index 0000000000..db2bd08f97 --- /dev/null +++ b/assets/js/704bae10.4dc66b42.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["29831"],{32834:function(a,e,l){l.r(e),l.d(e,{assets:()=>h,contentTitle:()=>u,default:()=>s,frontMatter:()=>o,metadata:()=>t,toc:()=>g});var t=l(69682),n=l(85893),i=l(80980);let o={mdx:{format:"md"},date:"2020-07-24T20:00",authors:["aladin002dz","aldeed","amirulahmad","anshulrgoyal","ayan-b","codemonkey800","danielhochman","dpkg","ehsanjso","eKhattak","francoischalifour","hi-matbub","jknoxville","jordanliu","lex111","nebrelbug","pcowgill","SamChou19815","slorber","svtfrida","taylorallen0913","teikjun","vandreleal","xtellurian","yangshun"]},u="2.0.0-alpha.59",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},g=[];function m(a){return(0,n.jsx)(n.Fragment,{})}function s(a={}){let{wrapper:e}={...(0,i.a)(),...a.components};return e?(0,n.jsx)(e,{...a,children:(0,n.jsx)(m,{...a})}):m(a)}},80980:function(a,e,l){l.d(e,{Z:()=>u,a:()=>o});var t=l(67294);let n={},i=t.createContext(n);function o(a){let e=t.useContext(i);return t.useMemo(function(){return"function"==typeof a?a(e):{...e,...a}},[e,a])}function u(a){let e;return e=a.disableParentContext?"function"==typeof a.components?a.components(n):a.components||n:o(a.components),t.createElement(i.Provider,{value:e},a.children)}},69682:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.59","source":"@site/changelog/source/2.0.0-alpha.59.md","title":"2.0.0-alpha.59","description":"New Feature","date":"2020-07-24T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Mahfoudh Arous","alias":"aladin002dz","url":"https://github.com/aladin002dz","imageURL":"https://github.com/aladin002dz.png","key":"aladin002dz","page":null},{"name":"Eric Dobbertin","alias":"aldeed","url":"https://github.com/aldeed","imageURL":"https://github.com/aldeed.png","key":"aldeed","page":null},{"name":"Amirul Ahmad","alias":"amirulahmad","url":"https://github.com/amirulahmad","imageURL":"https://github.com/amirulahmad.png","key":"amirulahmad","page":null},{"name":"Anshul Goyal","alias":"anshulrgoyal","url":"https://github.com/anshulrgoyal","imageURL":"https://github.com/anshulrgoyal.png","key":"anshulrgoyal","page":null},{"name":"Ayan Banerjee","alias":"ayan-b","url":"https://github.com/ayan-b","imageURL":"https://github.com/ayan-b.png","key":"ayan-b","page":null},{"name":"Jeremy Asuncion","alias":"codemonkey800","url":"https://github.com/codemonkey800","imageURL":"https://github.com/codemonkey800.png","key":"codemonkey800","page":null},{"name":"Daniel Hochman","alias":"danielhochman","url":"https://github.com/danielhochman","imageURL":"https://github.com/danielhochman.png","key":"danielhochman","page":null},{"name":"Deepak Giri","alias":"dpkg","url":"https://github.com/dpkg","imageURL":"https://github.com/dpkg.png","key":"dpkg","page":null},{"name":"ehsan jso","alias":"ehsanjso","url":"https://github.com/ehsanjso","imageURL":"https://github.com/ehsanjso.png","key":"ehsanjso","page":null},{"name":"Arsalan Khattak","alias":"eKhattak","url":"https://github.com/eKhattak","imageURL":"https://github.com/eKhattak.png","key":"eKhattak","page":null},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},{"name":"matbub","alias":"hi-matbub","url":"https://github.com/hi-matbub","imageURL":"https://github.com/hi-matbub.png","key":"hi-matbub","page":null},{"name":"John Knox","alias":"jknoxville","url":"https://github.com/jknoxville","imageURL":"https://github.com/jknoxville.png","key":"jknoxville","page":null},{"name":"Jordan Liu","alias":"jordanliu","url":"https://github.com/jordanliu","imageURL":"https://github.com/jordanliu.png","key":"jordanliu","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},{"name":"Paul Cowgill","alias":"pcowgill","url":"https://github.com/pcowgill","imageURL":"https://github.com/pcowgill.png","key":"pcowgill","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Frida Hjelm","alias":"svtfrida","url":"https://github.com/svtfrida","imageURL":"https://github.com/svtfrida.png","key":"svtfrida","page":null},{"name":"Taylor Allen","alias":"taylorallen0913","url":"https://github.com/taylorallen0913","imageURL":"https://github.com/taylorallen0913.png","key":"taylorallen0913","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"Vandr\xe9 Leal","alias":"vandreleal","url":"https://github.com/vandreleal","imageURL":"https://github.com/vandreleal.png","key":"vandreleal","page":null},{"name":"Rian Finnegan","alias":"xtellurian","url":"https://github.com/xtellurian","imageURL":"https://github.com/xtellurian.png","key":"xtellurian","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-07-24T20:00","authors":["aladin002dz","aldeed","amirulahmad","anshulrgoyal","ayan-b","codemonkey800","danielhochman","dpkg","ehsanjso","eKhattak","francoischalifour","hi-matbub","jknoxville","jordanliu","lex111","nebrelbug","pcowgill","SamChou19815","slorber","svtfrida","taylorallen0913","teikjun","vandreleal","xtellurian","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.60","permalink":"/changelog/2.0.0-alpha.60"},"nextItem":{"title":"2.0.0-alpha.58","permalink":"/changelog/2.0.0-alpha.58"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/706279d4.3a2c15c0.js b/assets/js/706279d4.3a2c15c0.js new file mode 100644 index 0000000000..d625132ac7 --- /dev/null +++ b/assets/js/706279d4.3a2c15c0.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["46459"],{29082:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>c,default:()=>m,contentTitle:()=>h,assets:()=>u,toc:()=>g,metadata:()=>s});var s=JSON.parse('{"id":"guides/docs/sidebar/items","title":"Sidebar items","description":"We have introduced three types of item types in the example in the previous section autogenerated, which we will explain in detail later.","source":"@site/docs/guides/docs/sidebar/items.mdx","sourceDirName":"guides/docs/sidebar","slug":"/sidebar/items","permalink":"/docs/sidebar/items","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/sidebar/items.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_max_heading_level":4,"slug":"/sidebar/items"},"sidebar":"docs","previous":{"title":"Sidebar","permalink":"/docs/sidebar"},"next":{"title":"Autogenerated","permalink":"/docs/sidebar/autogenerated"}}'),a=t(85893),i=t(80980),r=t(15398),l=t(58636),o=t(14522),d=t(86762);let c={toc_max_heading_level:4,slug:"/sidebar/items"},h="Sidebar items",u={},g=[{value:"Doc: link to a doc",id:"sidebar-item-doc",level:2},{value:"Link: link to any page",id:"sidebar-item-link",level:2},{value:"HTML: render custom markup",id:"sidebar-item-html",level:2},{value:"Category: create a hierarchy",id:"sidebar-item-category",level:2},{value:"Category links",id:"category-link",level:3},{value:"Generated index page",id:"generated-index-page",level:4},{value:"Doc link",id:"category-doc-link",level:4},{value:"Embedding generated index in doc page",id:"embedding-generated-index-in-doc-page",level:4},{value:"Collapsible categories",id:"collapsible-categories",level:3},{value:"Expanded categories by default",id:"expanded-categories-by-default",level:3},{value:"Using shorthands",id:"using-shorthands",level:2},{value:"Doc shorthand",id:"doc-shorthand",level:3},{value:"Category shorthand",id:"category-shorthand",level:3}];function p(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"sidebar-items",children:"Sidebar items"})}),"\n","\n",(0,a.jsxs)(n.p,{children:["We have introduced three types of item types in the example in the previous section: ",(0,a.jsx)(n.code,{children:"doc"}),", ",(0,a.jsx)(n.code,{children:"category"}),", and ",(0,a.jsx)(n.code,{children:"link"}),", whose usages are fairly intuitive. We will formally introduce their APIs. There's also a fourth type: ",(0,a.jsx)(n.code,{children:"autogenerated"}),", which we will explain in detail later."]}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:(0,a.jsx)(n.a,{href:"#sidebar-item-doc",children:"Doc"})}),": link to a doc page, associating it with the sidebar"]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:(0,a.jsx)(n.a,{href:"#sidebar-item-link",children:"Link"})}),": link to any internal or external page"]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:(0,a.jsx)(n.a,{href:"#sidebar-item-category",children:"Category"})}),": creates a dropdown of sidebar items"]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:(0,a.jsx)(n.a,{href:"/docs/sidebar/autogenerated",children:"Autogenerated"})}),": generate a sidebar slice automatically"]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:(0,a.jsx)(n.a,{href:"#sidebar-item-html",children:"HTML"})}),": renders pure HTML in the item's position"]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.strong,{children:(0,a.jsx)(n.a,{href:"/docs/sidebar/multiple-sidebars#sidebar-item-ref",children:"*Ref"})}),": link to a doc page, without making the item take part in navigation generation"]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"sidebar-item-doc",children:"Doc: link to a doc"}),"\n",(0,a.jsxs)(n.p,{children:["Use the ",(0,a.jsx)(n.code,{children:"doc"})," type to link to a doc page and assign that doc to a sidebar:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"type SidebarItemDoc =\n // Normal syntax\n | {\n type: 'doc';\n id: string;\n label: string; // Sidebar label text\n className?: string; // Class name for sidebar label\n customProps?: Record<string, unknown>; // Custom props\n }\n\n // Shorthand syntax\n | string; // docId shortcut\n"})}),"\n",(0,a.jsx)(n.p,{children:"Example:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n mySidebar: [\n // Normal syntax:\n // highlight-start\n {\n type: 'doc',\n id: 'doc1', // document ID\n label: 'Getting started', // sidebar label\n },\n // highlight-end\n\n // Shorthand syntax:\n // highlight-start\n 'doc2', // document ID\n // highlight-end\n ],\n};\n"})}),"\n",(0,a.jsxs)(n.p,{children:["If you use the doc shorthand or ",(0,a.jsx)(n.a,{href:"/docs/sidebar/autogenerated",children:"autogenerated"})," sidebar, you would lose the ability to customize the sidebar label through item definition. You can, however, use the ",(0,a.jsx)(n.code,{children:"sidebar_label"})," Markdown front matter within that doc, which has higher precedence over the ",(0,a.jsx)(n.code,{children:"label"})," key in the sidebar item. Similarly, you can use ",(0,a.jsx)(n.code,{children:"sidebar_custom_props"})," to declare custom metadata for a doc page."]}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsxs)(n.p,{children:["A ",(0,a.jsx)(n.code,{children:"doc"})," item sets an ",(0,a.jsx)(n.a,{href:"/docs/sidebar/multiple-sidebars#sidebar-association",children:"implicit sidebar association"}),". Don't assign the same doc to multiple sidebars: change the type to ",(0,a.jsx)(n.code,{children:"ref"})," instead."]})}),"\n",(0,a.jsx)(n.admonition,{type:"tip",children:(0,a.jsx)(n.p,{children:"Sidebar custom props is a useful way to propagate arbitrary doc metadata to the client side, so you can get additional information when using any doc-related hook that fetches a doc object."})}),"\n",(0,a.jsx)(n.h2,{id:"sidebar-item-link",children:"Link: link to any page"}),"\n",(0,a.jsxs)(n.p,{children:["Use the ",(0,a.jsx)(n.code,{children:"link"})," type to link to any page (internal or external) that is not a doc."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"type SidebarItemLink = {\n type: 'link';\n label: string;\n href: string;\n className?: string;\n description?: string;\n};\n"})}),"\n",(0,a.jsx)(n.p,{children:"Example:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n myLinksSidebar: [\n // highlight-start\n // External link\n {\n type: 'link',\n label: 'Facebook', // The link label\n href: 'https://facebook.com', // The external URL\n },\n // highlight-end\n\n // highlight-start\n // Internal link\n {\n type: 'link',\n label: 'Home', // The link label\n href: '/', // The internal path\n },\n // highlight-end\n ],\n};\n"})}),"\n",(0,a.jsx)(n.h2,{id:"sidebar-item-html",children:"HTML: render custom markup"}),"\n",(0,a.jsxs)(n.p,{children:["Use the ",(0,a.jsx)(n.code,{children:"html"})," type to render custom HTML within the item's ",(0,a.jsx)(n.code,{children:"<li>"})," tag."]}),"\n",(0,a.jsx)(n.p,{children:"This can be useful for inserting custom items such as dividers, section titles, ads, and images."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"type SidebarItemHtml = {\n type: 'html';\n value: string;\n defaultStyle?: boolean; // Use default menu item styles\n className?: string;\n};\n"})}),"\n",(0,a.jsx)(n.p,{children:"Example:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n myHtmlSidebar: [\n // highlight-start\n {\n type: 'html',\n value: '<img src=\"sponsor.png\" alt=\"Sponsor\" />', // The HTML to be rendered\n defaultStyle: true, // Use the default menu item styling\n },\n // highlight-end\n ],\n};\n"})}),"\n",(0,a.jsxs)(n.admonition,{type:"tip",children:[(0,a.jsxs)(n.p,{children:["The menu item is already wrapped in an ",(0,a.jsx)(n.code,{children:"<li>"})," tag, so if your custom item is simple, such as a title, just supply a string as the value and use the ",(0,a.jsx)(n.code,{children:"className"})," property to style it:"]}),(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n myHtmlSidebar: [\n {\n type: 'html',\n value: 'Core concepts',\n className: 'sidebar-title',\n },\n ],\n};\n"})})]}),"\n",(0,a.jsx)(n.h2,{id:"sidebar-item-category",children:"Category: create a hierarchy"}),"\n",(0,a.jsxs)(n.p,{children:["Use the ",(0,a.jsx)(n.code,{children:"category"})," type to create a hierarchy of sidebar items."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ts",children:"type SidebarItemCategory = {\n type: 'category';\n label: string; // Sidebar label text.\n items: SidebarItem[]; // Array of sidebar items.\n className?: string;\n description?: string;\n\n // Category options:\n collapsible: boolean; // Set the category to be collapsible\n collapsed: boolean; // Set the category to be initially collapsed or open by default\n link: SidebarItemCategoryLinkDoc | SidebarItemCategoryLinkGeneratedIndex;\n};\n"})}),"\n",(0,a.jsx)(n.p,{children:"Example:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n docs: [\n {\n type: 'category',\n label: 'Guides',\n collapsible: true,\n collapsed: false,\n items: [\n 'creating-pages',\n {\n type: 'category',\n label: 'Docs',\n items: ['introduction', 'sidebar', 'markdown-features', 'versioning'],\n },\n ],\n },\n ],\n};\n"})}),"\n",(0,a.jsxs)(n.admonition,{type:"tip",children:[(0,a.jsxs)(n.p,{children:["Use the ",(0,a.jsx)(n.a,{href:"#category-shorthand",children:(0,a.jsx)(n.strong,{children:"shorthand syntax"})})," when you don't need customizations:"]}),(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n docs: {\n Guides: [\n 'creating-pages',\n {\n Docs: ['introduction', 'sidebar', 'markdown-features', 'versioning'],\n },\n ],\n },\n};\n"})})]}),"\n",(0,a.jsx)(n.h3,{id:"category-link",children:"Category links"}),"\n",(0,a.jsx)(n.p,{children:"With category links, clicking on a category can navigate you to another page."}),"\n",(0,a.jsxs)(n.admonition,{type:"tip",children:[(0,a.jsx)(n.p,{children:"Use category links to introduce a category of documents."}),(0,a.jsxs)(n.p,{children:["Autogenerated categories can use the ",(0,a.jsx)(n.a,{href:"/docs/sidebar/autogenerated#category-item-metadata",children:(0,a.jsx)(n.code,{children:"_category_.yml"})})," file to declare the link."]})]}),"\n",(0,a.jsx)(n.h4,{id:"generated-index-page",children:"Generated index page"}),"\n",(0,a.jsxs)(n.p,{children:["You can auto-generate an index page that displays all the direct children of this category. The ",(0,a.jsx)(n.code,{children:"slug"})," allows you to customize the generated page's route, which defaults to ",(0,a.jsx)(n.code,{children:"/category/[categoryName]"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n docs: [\n {\n type: 'category',\n label: 'Guides',\n // highlight-start\n link: {\n type: 'generated-index',\n title: 'Docusaurus Guides',\n description: 'Learn about the most important Docusaurus concepts!',\n slug: '/category/docusaurus-guides',\n keywords: ['guides'],\n image: '/img/docusaurus.png',\n },\n // highlight-end\n items: ['pages', 'docs', 'blog', 'search'],\n },\n ],\n};\n"})}),"\n",(0,a.jsxs)(n.p,{children:["See it in action on the ",(0,a.jsx)(n.a,{href:"/docs/category/guides",children:"Docusaurus Guides page"}),"."]}),"\n",(0,a.jsx)(n.admonition,{type:"tip",children:(0,a.jsxs)(n.p,{children:["Use ",(0,a.jsx)(n.code,{children:"generated-index"})," links as a quick way to get an introductory document."]})}),"\n",(0,a.jsx)(n.h4,{id:"category-doc-link",children:"Doc link"}),"\n",(0,a.jsx)(n.p,{children:"A category can link to an existing document."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n docs: [\n {\n type: 'category',\n label: 'Guides',\n // highlight-start\n link: {type: 'doc', id: 'introduction'},\n // highlight-end\n items: ['pages', 'docs', 'blog', 'search'],\n },\n ],\n};\n"})}),"\n",(0,a.jsxs)(n.p,{children:["See it in action on the ",(0,a.jsx)(n.a,{href:"/docs/i18n/introduction",children:"i18n introduction page"}),"."]}),"\n",(0,a.jsx)(n.h4,{id:"embedding-generated-index-in-doc-page",children:"Embedding generated index in doc page"}),"\n",(0,a.jsxs)(n.p,{children:["You can embed the generated cards list in a normal doc page as well with the ",(0,a.jsx)(n.code,{children:"DocCardList"})," component. It will display all the sidebar items of the parent category of the current document."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-md",metastring:'title="docs/sidebar/index.md"',children:"import DocCardList from '@theme/DocCardList';\n\n<DocCardList />\n"})}),"\n",(0,a.jsx)(o.Z,{children:(0,a.jsx)(d.Z,{})}),"\n",(0,a.jsx)(n.h3,{id:"collapsible-categories",children:"Collapsible categories"}),"\n",(0,a.jsxs)(n.p,{children:["We support the option to expand/collapse categories. Categories are collapsible by default, but you can disable collapsing with ",(0,a.jsx)(n.code,{children:"collapsible: false"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n docs: [\n {\n type: 'category',\n label: 'Guides',\n items: [\n 'creating-pages',\n {\n type: 'category',\n // highlight-next-line\n collapsible: false,\n label: 'Docs',\n items: ['introduction', 'sidebar', 'markdown-features', 'versioning'],\n },\n ],\n },\n ],\n};\n"})}),"\n",(0,a.jsxs)(n.p,{children:["To make all categories non-collapsible by default, set the ",(0,a.jsx)(n.code,{children:"sidebarCollapsible"})," option in ",(0,a.jsx)(n.code,{children:"plugin-content-docs"})," to ",(0,a.jsx)(n.code,{children:"false"}),":"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n docs: {\n // highlight-next-line\n sidebarCollapsible: false,\n },\n },\n ],\n ],\n};\n"})}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsxs)(n.p,{children:["The option in ",(0,a.jsx)(n.code,{children:"sidebars.js"})," takes precedence over plugin configuration, so it is possible to make certain categories collapsible when ",(0,a.jsx)(n.code,{children:"sidebarCollapsible"})," is set to ",(0,a.jsx)(n.code,{children:"false"})," globally."]})}),"\n",(0,a.jsx)(n.h3,{id:"expanded-categories-by-default",children:"Expanded categories by default"}),"\n",(0,a.jsxs)(n.p,{children:["Collapsible categories are collapsed by default. If you want them to be expanded on the first render, you can set ",(0,a.jsx)(n.code,{children:"collapsed"})," to ",(0,a.jsx)(n.code,{children:"false"}),":"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n docs: {\n Guides: [\n 'creating-pages',\n {\n type: 'category',\n label: 'Docs',\n // highlight-next-line\n collapsed: false,\n items: ['markdown-features', 'sidebar', 'versioning'],\n },\n ],\n },\n};\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Similar to ",(0,a.jsx)(n.code,{children:"collapsible"}),", you can also set the global configuration ",(0,a.jsx)(n.code,{children:"options.sidebarCollapsed"})," to ",(0,a.jsx)(n.code,{children:"false"}),". Individual ",(0,a.jsx)(n.code,{children:"collapsed"})," options in ",(0,a.jsx)(n.code,{children:"sidebars.js"})," will still take precedence over this configuration."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n docs: {\n // highlight-next-line\n sidebarCollapsed: false,\n },\n },\n ],\n ],\n};\n"})}),"\n",(0,a.jsx)(n.admonition,{type:"warning",children:(0,a.jsxs)(n.p,{children:["When a category has ",(0,a.jsx)(n.code,{children:"collapsed: true"})," but ",(0,a.jsx)(n.code,{children:"collapsible: false"})," (either through ",(0,a.jsx)(n.code,{children:"sidebars.js"})," or through plugin configuration), the latter takes precedence and the category is still rendered as expanded."]})}),"\n",(0,a.jsx)(n.h2,{id:"using-shorthands",children:"Using shorthands"}),"\n",(0,a.jsxs)(n.p,{children:["You can express typical sidebar items without much customization more concisely with ",(0,a.jsx)(n.strong,{children:"shorthand syntaxes"}),". There are two parts to this: ",(0,a.jsx)(n.a,{href:"#doc-shorthand",children:(0,a.jsx)(n.strong,{children:"doc shorthand"})})," and ",(0,a.jsx)(n.a,{href:"#category-shorthand",children:(0,a.jsx)(n.strong,{children:"category shorthand"})}),"."]}),"\n",(0,a.jsx)(n.h3,{id:"doc-shorthand",children:"Doc shorthand"}),"\n",(0,a.jsxs)(n.p,{children:["An item with type ",(0,a.jsx)(n.code,{children:"doc"})," can be simply a string representing its ID:"]}),"\n",(0,a.jsxs)(r.Z,{children:[(0,a.jsx)(l.Z,{value:"Longhand",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n sidebar: [\n // highlight-start\n {\n type: 'doc',\n id: 'myDoc',\n },\n // highlight-end\n ],\n};\n"})})}),(0,a.jsx)(l.Z,{value:"Shorthand",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n sidebar: [\n // highlight-start\n 'myDoc',\n // highlight-end\n ],\n};\n"})})})]}),"\n",(0,a.jsx)(n.p,{children:"So it's possible to simplify the example above to:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n mySidebar: [\n {\n type: 'category',\n label: 'Getting Started',\n items: [\n // highlight-next-line\n 'doc1',\n ],\n },\n {\n type: 'category',\n label: 'Docusaurus',\n items: [\n // highlight-start\n 'doc2',\n 'doc3',\n // highlight-end\n ],\n },\n {\n type: 'link',\n label: 'Learn more',\n href: 'https://example.com',\n },\n ],\n};\n"})}),"\n",(0,a.jsx)(n.h3,{id:"category-shorthand",children:"Category shorthand"}),"\n",(0,a.jsx)(n.p,{children:"A category item can be represented by an object whose key is its label, and the value is an array of subitems."}),"\n",(0,a.jsxs)(r.Z,{children:[(0,a.jsx)(l.Z,{value:"Longhand",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n sidebar: [\n // highlight-start\n {\n type: 'category',\n label: 'Getting started',\n items: ['doc1', 'doc2'],\n },\n // highlight-end\n ],\n};\n"})})}),(0,a.jsx)(l.Z,{value:"Shorthand",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n sidebar: [\n // highlight-start\n {\n 'Getting started': ['doc1', 'doc2'],\n },\n // highlight-end\n ],\n};\n"})})})]}),"\n",(0,a.jsx)(n.p,{children:"This permits us to simplify that example to:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n mySidebar: [\n // highlight-start\n {\n 'Getting started': ['doc1'],\n },\n {\n Docusaurus: ['doc2', 'doc3'],\n },\n // highlight-end\n {\n type: 'link',\n label: 'Learn more',\n href: 'https://example.com',\n },\n ],\n};\n"})}),"\n",(0,a.jsx)(n.p,{children:"Each shorthand object after this transformation will contain exactly one entry. Now consider the further simplified example below:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n mySidebar: [\n // highlight-start\n {\n 'Getting started': ['doc1'],\n Docusaurus: ['doc2', 'doc3'],\n },\n // highlight-end\n {\n type: 'link',\n label: 'Learn more',\n href: 'https://example.com',\n },\n ],\n};\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Note how the two consecutive category shorthands are compressed into one object with two entries. This syntax generates a ",(0,a.jsx)(n.strong,{children:"sidebar slice"}),': you shouldn\'t see that object as one bulk item\u2014this object is unwrapped, with each entry becoming a separate item, and they spliced together with the rest of the items (in this case, the "Learn more" link) to form the final sidebar level. Sidebar slices are also important when discussing ',(0,a.jsx)(n.a,{href:"/docs/sidebar/autogenerated",children:"autogenerated sidebars"}),"."]}),"\n",(0,a.jsx)(n.p,{children:"Wherever you have an array of items that is reduced to one category shorthand, you can omit that enclosing array as well."}),"\n",(0,a.jsxs)(r.Z,{children:[(0,a.jsx)(l.Z,{value:"Before",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n sidebar: [\n {\n 'Getting started': ['doc1'],\n Docusaurus: [\n {\n 'Basic guides': ['doc2', 'doc3'],\n 'Advanced guides': ['doc4', 'doc5'],\n },\n ],\n },\n ],\n};\n"})})}),(0,a.jsx)(l.Z,{value:"After",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n sidebar: {\n 'Getting started': ['doc1'],\n Docusaurus: {\n 'Basic guides': ['doc2', 'doc3'],\n 'Advanced guides': ['doc4', 'doc5'],\n },\n },\n};\n"})})})]})]})}function m(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}},86762:function(e,n,t){t.d(n,{Z:()=>f});var s=t(85893);t(67294);var a=t(90496),i=t(85921),r=t(35363),l=t(11660),o=t(82095),d=t(77827),c=t(57922);let h={cardContainer:"cardContainer_Uewx",cardTitle:"cardTitle_dwRT",cardDescription:"cardDescription_mCBT"};function u(e){let{className:n,href:t,children:i}=e;return(0,s.jsx)(r.Z,{href:t,className:(0,a.Z)("card padding--lg",h.cardContainer,n),children:i})}function g(e){let{className:n,href:t,icon:i,title:r,description:l}=e;return(0,s.jsxs)(u,{href:t,className:n,children:[(0,s.jsxs)(c.Z,{as:"h2",className:(0,a.Z)("text--truncate",h.cardTitle),title:r,children:[i," ",r]}),l&&(0,s.jsx)("p",{className:(0,a.Z)("text--truncate",h.cardDescription),title:l,children:l})]})}function p(e){let{item:n}=e,t=(0,i.LM)(n),a=function(){let{selectMessage:e}=(0,l.c)();return n=>e(n,(0,d.I)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:n}))}();return t?(0,s.jsx)(g,{className:n.className,href:t,icon:"\uD83D\uDDC3\uFE0F",title:n.label,description:n.description??a(n.items.length)}):null}function m(e){let{item:n}=e,t=(0,o.Z)(n.href)?"\uD83D\uDCC4\uFE0F":"\uD83D\uDD17",a=(0,i.xz)(n.docId??void 0);return(0,s.jsx)(g,{className:n.className,href:n.href,icon:t,title:n.label,description:n.description??a?.description})}function x(e){let{item:n}=e;switch(n.type){case"link":return(0,s.jsx)(m,{item:n});case"category":return(0,s.jsx)(p,{item:n});default:throw Error(`unknown item type ${JSON.stringify(n)}`)}}function j(e){let{className:n}=e,t=(0,i.Ok)();return(0,s.jsx)(f,{items:t,className:n})}function b(e){let{item:n}=e;return(0,s.jsx)("article",{className:(0,a.Z)("docCardListItem_hvcp","col col--6"),children:(0,s.jsx)(x,{item:n})})}function f(e){let{items:n,className:t}=e;if(!n)return(0,s.jsx)(j,{...e});let r=(0,i.MN)(n);return(0,s.jsx)("section",{className:(0,a.Z)("row",t),children:r.map((e,n)=>(0,s.jsx)(b,{item:e},n))})}},58636:function(e,n,t){t.d(n,{Z:()=>i});var s=t(85893);t(67294);var a=t(90496);function i(e){let{children:n,hidden:t,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,a.Z)("tabItem_pnkT",i),hidden:t,children:n})}},15398:function(e,n,t){t.d(n,{Z:()=>b});var s=t(85893),a=t(67294),i=t(90496),r=t(54947),l=t(3620),o=t(844),d=t(97486),c=t(32263),h=t(16971);function u(e){return a.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||a.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function g(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var p=t(71607);function m(e){let{className:n,block:t,selectedValue:a,selectValue:l,tabValues:o}=e,d=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.o5)(),h=e=>{let n=e.currentTarget,t=o[d.indexOf(n)].value;t!==a&&(c(n),l(t))},u=e=>{let n=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{let t=d.indexOf(e.currentTarget)+1;n=d[t]??d[0];break}case"ArrowLeft":{let t=d.indexOf(e.currentTarget)-1;n=d[t]??d[d.length-1]}}n?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":t},n),children:o.map(e=>{let{value:n,label:t,attributes:r}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:a===n?0:-1,"aria-selected":a===n,ref:e=>{d.push(e)},onKeyDown:u,onClick:h,...r,className:(0,i.Z)("tabs__item","tabItem_AQgk",r?.className,{"tabs__item--active":a===n}),children:t??n},n)})})}function x(e){let{lazy:n,children:t,selectedValue:r}=e,l=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=l.find(e=>e.props.value===r);return e?(0,a.cloneElement)(e,{className:(0,i.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:l.map((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==r}))})}function j(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:s}=e,i=function(e){let{values:n,children:t}=e;return(0,a.useMemo)(()=>{let e=n??u(t).map(e=>{let{props:{value:n,label:t,attributes:s,default:a}}=e;return{value:n,label:t,attributes:s,default:a}});return!function(e){let n=(0,c.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,t])}(e),[r,p]=(0,a.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!g({value:n,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let s=t.find(e=>e.default)??t[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:n,tabValues:i})),[m,x]=function(e){let{queryString:n=!1,groupId:t}=e,s=(0,l.k6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,d._X)(i),(0,a.useCallback)(e=>{if(!i)return;let n=new URLSearchParams(s.location.search);n.set(i,e),s.replace({...s.location,search:n.toString()})},[i,s])]}({queryString:t,groupId:s}),[j,b]=function(e){let{groupId:n}=e,t=n?`docusaurus.tab.${n}`:null,[s,i]=(0,h.Nk)(t);return[s,(0,a.useCallback)(e=>{t&&i.set(e)},[t,i])]}({groupId:s}),f=(()=>{let e=m??j;return g({value:e,tabValues:i})?e:null})();return(0,o.Z)(()=>{f&&p(f)},[f]),{selectedValue:r,selectValue:(0,a.useCallback)(e=>{if(!g({value:e,tabValues:i}))throw Error(`Can't select invalid tab value=${e}`);p(e),x(e),b(e)},[x,b,i]),tabValues:i}}(e);return(0,s.jsxs)("div",{className:(0,i.Z)("tabs-container","tabList_Qoir"),children:[(0,s.jsx)(m,{...n,...e}),(0,s.jsx)(x,{...n,...e})]})}function b(e){let n=(0,p.Z)();return(0,s.jsx)(j,{...e,children:u(e.children)},String(n))}},11660:function(e,n,t){t.d(n,{c:()=>o});var s=t(67294),a=t(8156);let i=["zero","one","two","few","many","other"];function r(e){return i.filter(n=>e.includes(n))}let l={locale:"en",pluralForms:r(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,a.Z)();return(0,s.useMemo)(()=>{try{return function(e){let n=new Intl.PluralRules(e);return{locale:e,pluralForms:r(n.resolvedOptions().pluralCategories),select:e=>n.select(e)}}(e)}catch(n){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${n.message} +`),l}},[e])}();return{selectMessage:(n,t)=>(function(e,n,t){let s=e.split("|");if(1===s.length)return s[0];s.length>t.pluralForms.length&&console.error(`For locale=${t.locale}, a maximum of ${t.pluralForms.length} plural forms are expected (${t.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);let a=t.select(n);return s[Math.min(t.pluralForms.indexOf(a),s.length-1)]})(t,n,e)}}},14522:function(e,n,t){t.d(n,{Z:()=>l});var s=t(85893);t(67294);var a=t(90496);let i="dot_giz1",r="bar_rrRL";function l(e){let{children:n,minHeight:t,url:l="http://localhost:3000",style:o,bodyStyle:d}=e;return(0,s.jsxs)("div",{className:"browserWindow_my1Q",style:{...o,minHeight:t},children:[(0,s.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,s.jsxs)("div",{className:"buttons_uHc7",children:[(0,s.jsx)("span",{className:i,style:{background:"#f25f58"}}),(0,s.jsx)("span",{className:i,style:{background:"#fbbe3c"}}),(0,s.jsx)("span",{className:i,style:{background:"#58cb42"}})]}),(0,s.jsx)("div",{className:(0,a.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:l}),(0,s.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:r}),(0,s.jsx)("span",{className:r}),(0,s.jsx)("span",{className:r})]})})]}),(0,s.jsx)("div",{className:"browserWindowBody_Idgs",style:d,children:n})]})}},80980:function(e,n,t){t.d(n,{Z:()=>l,a:()=>r});var s=t(67294);let a={},i=s.createContext(a);function r(e){let n=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/70e09343.9fe359f7.js b/assets/js/70e09343.9fe359f7.js new file mode 100644 index 0000000000..f08c9765b4 --- /dev/null +++ b/assets/js/70e09343.9fe359f7.js @@ -0,0 +1 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["7143"],{91062:function(e,s,t){"use strict";t.r(s),t.d(s,{frontMatter:()=>h,default:()=>f,contentTitle:()=>m,assets:()=>b,toc:()=>A,metadata:()=>n});var n=JSON.parse('{"id":"playground","title":"Playground","description":"Playgrounds allow you to run Docusaurus in your browser, without installing anything!","source":"@site/docs/playground.mdx","sourceDirName":".","slug":"/playground","permalink":"/docs/playground","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/playground.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"docs","previous":{"title":"Configuration","permalink":"/docs/configuration"},"next":{"title":"TypeScript Support","permalink":"/docs/typescript-support"}}'),r=t(85893),i=t(80980);t(67294);var a=t(90496),o=t(77827),d=t(35363),l=t(21811),c=t(57922);let u=[{name:"\uD83D\uDCE6 CodeSandbox",image:t(43867),url:"https://docusaurus.new/codesandbox",urlTS:"https://docusaurus.new/codesandbox-ts",description:(0,r.jsx)(o.Z,{id:"playground.codesandbox.description",children:"CodeSandbox is an online code editor and development environment that allows developers to create, share and collaborate on web development projects in a browser-based environment"})},{name:"\u26A1 StackBlitz \uD83C\uDD95",image:t(6951),url:"https://docusaurus.new/stackblitz",urlTS:"https://docusaurus.new/stackblitz-ts",description:(0,r.jsx)(o.Z,{id:"playground.stackblitz.description",values:{webContainersLink:(0,r.jsx)(d.Z,{href:"https://blog.stackblitz.com/posts/introducing-webcontainers/",children:"WebContainers"})},children:"StackBlitz uses a novel {webContainersLink} technology to run Docusaurus directly in your browser."})}];function p(e){let{name:s,image:t,url:n,urlTS:i,description:u}=e;return(0,r.jsx)("div",{className:"col col--6 margin-bottom--lg",children:(0,r.jsxs)("div",{className:(0,a.Z)("card"),children:[(0,r.jsx)("div",{className:(0,a.Z)("card__image"),children:(0,r.jsx)(d.Z,{to:n,children:(0,r.jsx)(l.Z,{img:t,alt:`${s}'s image`})})}),(0,r.jsxs)("div",{className:"card__body",children:[(0,r.jsx)(c.Z,{as:"h3",children:s}),(0,r.jsx)("p",{children:u})]}),(0,r.jsxs)("div",{className:"card__footer",children:[(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("b",{children:(0,r.jsx)(o.Z,{id:"playground.tryItButton",children:"Try it now!"})})}),(0,r.jsxs)("div",{className:"button-group button-group--block",children:[(0,r.jsx)(d.Z,{className:"button button--secondary",to:n,children:"JavaScript"}),(0,r.jsx)(d.Z,{className:"button button--secondary",to:i,children:"TypeScript"})]})]})]})})}function g(){return(0,r.jsx)("div",{className:"row",children:u.map(e=>(0,r.jsx)(p,{...e},e.name))})}let h={},m="Playground",b={},A=[];function x(e){let s={a:"a",admonition:"admonition",h1:"h1",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"playground",children:"Playground"})}),"\n",(0,r.jsxs)(s.p,{children:["Playgrounds allow you to run Docusaurus ",(0,r.jsx)(s.strong,{children:"in your browser, without installing anything"}),"!"]}),"\n",(0,r.jsx)(s.p,{children:"They are mostly useful for:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:"Testing Docusaurus"}),"\n",(0,r.jsx)(s.li,{children:"Reporting bugs"}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Use ",(0,r.jsx)(s.a,{href:"https://docusaurus.new",children:"docusaurus.new"})," as an easy-to-remember shortcut."]}),"\n",(0,r.jsx)(s.p,{children:"Choose one of the available options below."}),"\n","\n",(0,r.jsx)(g,{}),"\n",(0,r.jsx)(s.admonition,{type:"tip",children:(0,r.jsxs)(s.p,{children:["For convenience, we'll remember your choice next time you visit ",(0,r.jsx)(s.a,{href:"https://docusaurus.new",children:"docusaurus.new"}),"."]})})]})}function f(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(x,{...e})}):x(e)}},43867:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/codesandbox.7906bc4.640.png 640w,"+t.p+"assets/ideal-img/codesandbox.36984ff.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/codesandbox.7906bc4.640.png",width:640,height:355},{path:t.p+"assets/ideal-img/codesandbox.36984ff.1030.png",width:1030,height:571}],src:t.p+"assets/ideal-img/codesandbox.7906bc4.640.png",toString:function(){return t.p+"assets/ideal-img/codesandbox.7906bc4.640.png"},placeholder:void 0,width:640,height:355},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA7ElEQVR4nB3Ov0rDQACA8ZszxVrvLpfYu0goUWtQwT+IOtRasrg6WQdbhL5BHZwEoaVIaXHpC6irxc3JxUVfw01wcHD7pB1+07d8orKasb1zQLmcUrIxcZwQmEUK85IFrVGBQQcRwtolppIkIQxDlFJsrm+QHx1Tq1bJa3UO9/YRWqtZTNMVXOwozhXI26dcTYbcPo+5ntzTGnQQURQhpaRkLYExSL+IPMnY6p9zNu5QH7WRzV2Ec47QGNJ0mcpahlYBN4MuP/zx9vnB1+83L++vCN/3mVJKzxY8z+Oy2eLp4ZFG44Lh3Yh+t8c/jL9rZrM0xfsAAAAASUVORK5CYII="}},6951:function(e,s,t){e.exports={src:{srcSet:t.p+"assets/ideal-img/stackblitz.4ee9b70.640.png 640w,"+t.p+"assets/ideal-img/stackblitz.8ebfdbb.1030.png 1030w",images:[{path:t.p+"assets/ideal-img/stackblitz.4ee9b70.640.png",width:640,height:356},{path:t.p+"assets/ideal-img/stackblitz.8ebfdbb.1030.png",width:1030,height:572}],src:t.p+"assets/ideal-img/stackblitz.4ee9b70.640.png",toString:function(){return t.p+"assets/ideal-img/stackblitz.4ee9b70.640.png"},placeholder:void 0,width:640,height:356},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA2UlEQVR4nB3LvUrDUABA4fsAovbPNs29yb25adKEWlJB8C0rqFOx+BD+ILjbvTiYDiWpUx2zWAIeMcPHmY5I05SLyysm0wxjR+ggbLiej/INvrZ42iKkjvBsgiMDXC+k5/hE4ykvb6+8r1as1x88Pj0jBjJABhP6KmbgWlpdySjJ2G4Ldl876rqmLArEUIV44TnSjFE6pusYonRGvtlQliU/hwOfeY5QJsbYFOlHOCqk3ZNEScZ+/01VVfxCM4jTdp9/J62zpkfHHYZSc3N7x2Jxz3L5wHx+zR8O9nujOJsFvAAAAABJRU5ErkJggg=="}},21811:function(e,s,t){"use strict";t.d(s,{Z:()=>o});var n=t(85893);t(67294);var r=t(66222),i=t(77827);function a(e,s){switch(e){case"noicon":case"loaded":return null;case"loading":return(0,i.I)({id:"theme.IdealImageMessage.loading",message:"Loading...",description:"When the full-scale image is loading"});case"load":{let{pickedSrc:e}=s,{size:t}=e,n=t?` (${function(e){let s=["B","KB","MB","GB","TB"];if(0===e)return"n/a";let t=Math.floor(Math.log(e)/Math.log(1024));return 0===t?`${e} ${s[t]}`:`${(e/1024**t).toFixed(1)} ${s[t]}`}(t)})`:"";return(0,i.I)({id:"theme.IdealImageMessage.load",message:"Click to load{sizeMessage}",description:"To prompt users to load the full image. sizeMessage is a parenthesized size figure."},{sizeMessage:n})}case"offline":return(0,i.I)({id:"theme.IdealImageMessage.offline",message:"Your browser is offline. Image not loaded",description:"When the user is viewing an offline document"});case"error":{let{loadInfo:e}=s;if(404===e)return(0,i.I)({id:"theme.IdealImageMessage.404error",message:"404. Image not found",description:"When the image is not found"});return(0,i.I)({id:"theme.IdealImageMessage.error",message:"Error. Click to reload",description:"When the image fails to load for unknown error"})}default:throw Error(`Wrong icon: ${e}`)}}function o(e){let{img:s,...t}=e;return"string"==typeof s||"default"in s?(0,n.jsx)("img",{src:"string"==typeof s?s:s.default,...t}):(0,n.jsx)(r.default,{...t,height:s.src.height??100,width:s.src.width??100,placeholder:{lqip:s.preSrc},src:s.src.src,srcSet:s.src.images.map(e=>({...e,src:e.path})),getMessage:a})}},80980:function(e,s,t){"use strict";t.d(s,{Z:()=>o,a:()=>a});var n=t(67294);let r={},i=n.createContext(r);function a(e){let s=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/71529.60e1a448.js b/assets/js/71529.60e1a448.js new file mode 100644 index 0000000000..d0c45f40b5 --- /dev/null +++ b/assets/js/71529.60e1a448.js @@ -0,0 +1,36 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["71529"],{29287:function(t,e,i){var r;r=function(t){var e,i;return e={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];return i.forEach(function(e){Object.keys(e).forEach(function(i){return t[i]=e[i]})}),t}},548:(t,e,i)=>{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var i=[],r=!0,n=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(t){n=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(n)throw o}}return i}(t,e);throw TypeError("Invalid attempt to destructure non-iterable instance")},n=i(140).layoutBase.LinkedList,o={};o.getTopMostNodes=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].id()]=!0;return t.filter(function(t,i){"number"==typeof t&&(t=i);for(var r=t.parent()[0];null!=r;){if(e[r.id()])return!1;r=r.parent()[0]}return!0})},o.connectComponents=function(t,e,i,r){var o=new n,a=new Set,s=[],h=void 0,l=void 0,d=void 0,c=!1,g=1,u=[],f=[];do!function(){var r=t.collection();f.push(r);var n=i[0],p=t.collection();for(p.merge(n).merge(n.descendants().intersection(e)),s.push(n),p.forEach(function(t){o.push(t),a.add(t),r.merge(t)});0!=o.length;)!function(){n=o.shift();var l=t.collection();n.neighborhood().nodes().forEach(function(t){e.intersection(n.edgesWith(t)).length>0&&l.merge(t)});for(var d=0;d<l.length;d++){var c=l[d];null==(h=i.intersection(c.union(c.ancestors())))||a.has(h[0])||h.union(h.descendants()).forEach(function(t){o.push(t),a.add(t),r.merge(t),i.has(t)&&s.push(t)})}}();if(r.forEach(function(t){e.intersection(t.connectedEdges()).forEach(function(t){r.has(t.source())&&r.has(t.target())&&r.merge(t)})}),s.length==i.length&&(c=!0),!c||c&&g>1){d=(l=s[0]).connectedEdges().length,s.forEach(function(t){t.connectedEdges().length<d&&(d=t.connectedEdges().length,l=t)}),u.push(l.id());var v=t.collection();v.merge(s[0]),s.forEach(function(t){v.merge(t)}),s=[],i=i.difference(v),g++}}();while(!c);return r&&u.length>0&&r.set("dummy"+(r.size+1),u),f},o.relocateComponent=function(t,e,i){if(!i.fixedNodeConstraint){var n=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;if("draft"==i.quality){var h=!0,l=!1,d=void 0;try{for(var c,g=e.nodeIndexes[Symbol.iterator]();!(h=(c=g.next()).done);h=!0){var u=c.value,f=r(u,2),p=f[0],v=f[1],y=i.cy.getElementById(p);if(y){var m=y.boundingBox(),E=e.xCoords[v]-m.w/2,N=e.xCoords[v]+m.w/2,T=e.yCoords[v]-m.h/2,A=e.yCoords[v]+m.h/2;E<n&&(n=E),N>o&&(o=N),T<a&&(a=T),A>s&&(s=A)}}}catch(t){l=!0,d=t}finally{try{!h&&g.return&&g.return()}finally{if(l)throw d}}var L=t.x-(o+n)/2,w=t.y-(s+a)/2;e.xCoords=e.xCoords.map(function(t){return t+L}),e.yCoords=e.yCoords.map(function(t){return t+w})}else{Object.keys(e).forEach(function(t){var i=e[t],r=i.getRect().x,h=i.getRect().x+i.getRect().width,l=i.getRect().y,d=i.getRect().y+i.getRect().height;r<n&&(n=r),h>o&&(o=h),l<a&&(a=l),d>s&&(s=d)});var _=t.x-(o+n)/2,I=t.y-(s+a)/2;Object.keys(e).forEach(function(t){var i=e[t];i.setCenter(i.getCenterX()+_,i.getCenterY()+I)})}}},o.calcBoundingBox=function(t,e,i,r){for(var n=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,h=void 0,l=void 0,d=void 0,c=void 0,g=t.descendants().not(":parent"),u=g.length,f=0;f<u;f++){var p=g[f];h=e[r.get(p.id())]-p.width()/2,l=e[r.get(p.id())]+p.width()/2,d=i[r.get(p.id())]-p.height()/2,c=i[r.get(p.id())]+p.height()/2,n>h&&(n=h),o<l&&(o=l),a>d&&(a=d),s<c&&(s=c)}var v={};return v.topLeftX=n,v.topLeftY=a,v.width=o-n,v.height=s-a,v},o.calcParentsWithoutChildren=function(t,e){var i=t.collection();return e.nodes(":parent").forEach(function(t){var e=!1;t.children().forEach(function(t){"none"!=t.css("display")&&(e=!0)}),e||i.merge(t)}),i},t.exports=o},816:(t,e,i)=>{var r=i(548),n=i(140).CoSELayout,o=i(140).CoSENode,a=i(140).layoutBase.PointD,s=i(140).layoutBase.DimensionD,h=i(140).layoutBase.LayoutConstants,l=i(140).layoutBase.FDLayoutConstants,d=i(140).CoSEConstants;t.exports={coseLayout:function(t,e){var i=t.cy,c=t.eles,g=c.nodes(),u=c.edges(),f=void 0,p=void 0,v=void 0,y={};t.randomize&&(f=e.nodeIndexes,p=e.xCoords,v=e.yCoords);var m=function(t){return"function"==typeof t},E=function(t,e){return m(t)?t(e):t},N=r.calcParentsWithoutChildren(i,c);null!=t.nestingFactor&&(d.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(d.DEFAULT_GRAVITY_STRENGTH=l.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(d.MAX_ITERATIONS=l.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(d.DEFAULT_GRAVITY_RANGE_FACTOR=l.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(d.DEFAULT_COMPOUND_GRAVITY_STRENGTH=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(d.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(d.DEFAULT_COOLING_FACTOR_INCREMENTAL=l.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(d.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?h.QUALITY=2:h.QUALITY=0,d.NODE_DIMENSIONS_INCLUDE_LABELS=l.NODE_DIMENSIONS_INCLUDE_LABELS=h.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,d.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=h.DEFAULT_INCREMENTAL=!t.randomize,d.ANIMATE=l.ANIMATE=h.ANIMATE=t.animate,d.TILE=t.tile,d.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,d.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,d.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=h.DEFAULT_INCREMENTAL=!0,d.PURE_INCREMENTAL=!t.randomize,h.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!1,d.APPLY_LAYOUT=!1),"enforced"==t.step&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!1),"cose"==t.step&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!1,d.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?d.TREE_REDUCTION_ON_INCREMENTAL=!1:d.TREE_REDUCTION_ON_INCREMENTAL=!0;var T=new n,A=T.newGraphManager();return function t(e,i,n,h){for(var l=i.length,d=0;d<l;d++){var c=i[d],g=null;0==c.intersection(N).length&&(g=c.children());var u=void 0,m=c.layoutDimensions({nodeDimensionsIncludeLabels:h.nodeDimensionsIncludeLabels});if(null!=c.outerWidth()&&null!=c.outerHeight()){if(h.randomize){if(c.isParent()){var T=r.calcBoundingBox(c,p,v,f);u=0==c.intersection(N).length?e.add(new o(n.graphManager,new a(T.topLeftX,T.topLeftY),new s(T.width,T.height))):e.add(new o(n.graphManager,new a(T.topLeftX,T.topLeftY),new s(parseFloat(m.w),parseFloat(m.h))))}else u=e.add(new o(n.graphManager,new a(p[f.get(c.id())]-m.w/2,v[f.get(c.id())]-m.h/2),new s(parseFloat(m.w),parseFloat(m.h))))}else u=e.add(new o(n.graphManager,new a(c.position("x")-m.w/2,c.position("y")-m.h/2),new s(parseFloat(m.w),parseFloat(m.h))))}else u=e.add(new o(this.graphManager));if(u.id=c.data("id"),u.nodeRepulsion=E(h.nodeRepulsion,c),u.paddingLeft=parseInt(c.css("padding")),u.paddingTop=parseInt(c.css("padding")),u.paddingRight=parseInt(c.css("padding")),u.paddingBottom=parseInt(c.css("padding")),h.nodeDimensionsIncludeLabels&&(u.labelWidth=c.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,u.labelHeight=c.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,u.labelPosVertical=c.css("text-valign"),u.labelPosHorizontal=c.css("text-halign")),y[c.data("id")]=u,isNaN(u.rect.x)&&(u.rect.x=0),isNaN(u.rect.y)&&(u.rect.y=0),null!=g&&g.length>0){var A=void 0;t(n.getGraphManager().add(n.newGraph(),u),g,n,h)}}}(A.addRoot(),r.getTopMostNodes(g),T,t),function(e,i,r){for(var n=0,o=0,a=0;a<r.length;a++){var s=r[a],h=y[s.data("source")],c=y[s.data("target")];if(h&&c&&h!==c&&0==h.getEdgesBetween(c).length){var g=i.add(e.newEdge(),h,c);g.id=s.id(),g.idealLength=E(t.idealEdgeLength,s),g.edgeElasticity=E(t.edgeElasticity,s),n+=g.idealLength,o++}}null!=t.idealEdgeLength&&(o>0?d.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=n/o:m(t.idealEdgeLength)?d.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=50:d.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,d.MIN_REPULSION_DIST=l.MIN_REPULSION_DIST=l.DEFAULT_EDGE_LENGTH/10,d.DEFAULT_RADIAL_SEPARATION=l.DEFAULT_EDGE_LENGTH)}(T,A,u),t.fixedNodeConstraint&&(T.constraints.fixedNodeConstraint=t.fixedNodeConstraint),t.alignmentConstraint&&(T.constraints.alignmentConstraint=t.alignmentConstraint),t.relativePlacementConstraint&&(T.constraints.relativePlacementConstraint=t.relativePlacementConstraint),T.runLayout(),y}}},212:(t,e,i)=>{var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=i(658),o=i(548),a=i(657).spectralLayout,s=i(816).coseLayout,h=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:function(t){return 4500},idealEdgeLength:function(t){return 50},edgeElasticity:function(t){return .45},nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}}),l=function(){function t(e){(function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")})(this,t),this.options=n({},h,e)}return r(t,[{key:"run",value:function(){var t=this.options,e=t.cy,i=t.eles,r=[],n=[],h=void 0,l=[];t.fixedNodeConstraint&&(!Array.isArray(t.fixedNodeConstraint)||0==t.fixedNodeConstraint.length)&&(t.fixedNodeConstraint=void 0),t.alignmentConstraint&&(t.alignmentConstraint.vertical&&(!Array.isArray(t.alignmentConstraint.vertical)||0==t.alignmentConstraint.vertical.length)&&(t.alignmentConstraint.vertical=void 0),t.alignmentConstraint.horizontal&&(!Array.isArray(t.alignmentConstraint.horizontal)||0==t.alignmentConstraint.horizontal.length)&&(t.alignmentConstraint.horizontal=void 0)),t.relativePlacementConstraint&&(!Array.isArray(t.relativePlacementConstraint)||0==t.relativePlacementConstraint.length)&&(t.relativePlacementConstraint=void 0),(t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint)&&(t.tile=!1,t.packComponents=!1);var d=void 0,c=!1;if(e.layoutUtilities&&t.packComponents&&((d=e.layoutUtilities("get"))||(d=e.layoutUtilities()),c=!0),i.nodes().length>0){if(c){var g=o.getTopMostNodes(t.eles.nodes());if((h=o.connectComponents(e,t.eles,g)).forEach(function(t){var e=t.boundingBox();l.push({x:e.x1+e.w/2,y:e.y1+e.h/2})}),t.randomize&&h.forEach(function(e){t.eles=e,r.push(a(t))}),"default"==t.quality||"proof"==t.quality){var u=e.collection();if(t.tile){var f=new Map,p=0,v={nodeIndexes:f,xCoords:[],yCoords:[]},y=[];if(h.forEach(function(t,e){0==t.edges().length&&(t.nodes().forEach(function(e,i){u.merge(t.nodes()[i]),e.isParent()||(v.nodeIndexes.set(t.nodes()[i].id(),p++),v.xCoords.push(t.nodes()[0].position().x),v.yCoords.push(t.nodes()[0].position().y))}),y.push(e))}),u.length>1){var m=u.boundingBox();l.push({x:m.x1+m.w/2,y:m.y1+m.h/2}),h.push(u),r.push(v);for(var E=y.length-1;E>=0;E--)h.splice(y[E],1),r.splice(y[E],1),l.splice(y[E],1)}}h.forEach(function(e,i){t.eles=e,n.push(s(t,r[i])),o.relocateComponent(l[i],n[i],t)})}else h.forEach(function(e,i){o.relocateComponent(l[i],r[i],t)});var N=new Set;if(h.length>1){var T=[],A=i.filter(function(t){return"none"==t.css("display")});h.forEach(function(e,i){var a=void 0;if("draft"==t.quality&&(a=r[i].nodeIndexes),e.nodes().not(A).length>0){var s={};s.edges=[],s.nodes=[];var h=void 0;e.nodes().not(A).forEach(function(e){if("draft"==t.quality){if(e.isParent()){var l=o.calcBoundingBox(e,r[i].xCoords,r[i].yCoords,a);s.nodes.push({x:l.topLeftX,y:l.topLeftY,width:l.width,height:l.height})}else h=a.get(e.id()),s.nodes.push({x:r[i].xCoords[h]-e.boundingbox().w/2,y:r[i].yCoords[h]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h})}else n[i][e.id()]&&s.nodes.push({x:n[i][e.id()].getLeft(),y:n[i][e.id()].getTop(),width:n[i][e.id()].getWidth(),height:n[i][e.id()].getHeight()})}),e.edges().forEach(function(e){var h=e.source(),l=e.target();if("none"!=h.css("display")&&"none"!=l.css("display")){if("draft"==t.quality){var d=a.get(h.id()),c=a.get(l.id()),g=[],u=[];if(h.isParent()){var f=o.calcBoundingBox(h,r[i].xCoords,r[i].yCoords,a);g.push(f.topLeftX+f.width/2),g.push(f.topLeftY+f.height/2)}else g.push(r[i].xCoords[d]),g.push(r[i].yCoords[d]);if(l.isParent()){var p=o.calcBoundingBox(l,r[i].xCoords,r[i].yCoords,a);u.push(p.topLeftX+p.width/2),u.push(p.topLeftY+p.height/2)}else u.push(r[i].xCoords[c]),u.push(r[i].yCoords[c]);s.edges.push({startX:g[0],startY:g[1],endX:u[0],endY:u[1]})}else n[i][h.id()]&&n[i][l.id()]&&s.edges.push({startX:n[i][h.id()].getCenterX(),startY:n[i][h.id()].getCenterY(),endX:n[i][l.id()].getCenterX(),endY:n[i][l.id()].getCenterY()})}}),s.nodes.length>0&&(T.push(s),N.add(i))}});var L=d.packComponents(T,t.randomize).shifts;if("draft"==t.quality)r.forEach(function(t,e){var i=t.xCoords.map(function(t){return t+L[e].dx}),r=t.yCoords.map(function(t){return t+L[e].dy});t.xCoords=i,t.yCoords=r});else{var w=0;N.forEach(function(t){Object.keys(n[t]).forEach(function(e){var i=n[t][e];i.setCenter(i.getCenterX()+L[w].dx,i.getCenterY()+L[w].dy)}),w++})}}}else{var _=t.eles.boundingBox();if(l.push({x:_.x1+_.w/2,y:_.y1+_.h/2}),t.randomize){var I=a(t);r.push(I)}"default"==t.quality||"proof"==t.quality?(n.push(s(t,r[0])),o.relocateComponent(l[0],n[0],t)):o.relocateComponent(l[0],r[0],t)}}var C=function(e,i){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=i);var o=void 0,a=void 0,s=e.data("id");return n.forEach(function(t){s in t&&(o={x:t[s].getRect().getCenterX(),y:t[s].getRect().getCenterY()},a=t[s])}),t.nodeDimensionsIncludeLabels&&(a.labelWidth&&("left"==a.labelPosHorizontal?o.x+=a.labelWidth/2:"right"==a.labelPosHorizontal&&(o.x-=a.labelWidth/2)),a.labelHeight&&("top"==a.labelPosVertical?o.y+=a.labelHeight/2:"bottom"==a.labelPosVertical&&(o.y-=a.labelHeight/2))),void 0==o&&(o={x:e.position("x"),y:e.position("y")}),{x:o.x,y:o.y}}var h=void 0;return r.forEach(function(t){var i=t.nodeIndexes.get(e.id());void 0!=i&&(h={x:t.xCoords[i],y:t.yCoords[i]})}),void 0==h&&(h={x:e.position("x"),y:e.position("y")}),{x:h.x,y:h.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var M=o.calcParentsWithoutChildren(e,i),x=i.filter(function(t){return"none"==t.css("display")});t.eles=i.not(x),i.nodes().not(":parent").not(x).layoutPositions(this,t,C),M.length>0&&M.forEach(function(t){t.position(C(t))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}();t.exports=l},657:(t,e,i)=>{var r=i(548),n=i(140).layoutBase.Matrix,o=i(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,i=t.eles,a=i.nodes(),s=i.nodes(":parent"),h=new Map,l=new Map,d=new Map,c=[],g=[],u=[],f=[],p=[],v=[],y=[],m=[],E=void 0,N=t.piTol,T=t.samplingType,A=t.nodeSeparation,L=void 0,w=function(){for(var t=0,e=0,i=!1;e<L;){t=Math.floor(Math.random()*E),i=!1;for(var r=0;r<e;r++)if(f[r]==t){i=!0;break}!i&&(f[e]=t,e++)}},_=function(t,e,i){for(var r=[],n=0,o=0,a=0,s=void 0,h=[],d=0,g=1,u=0;u<E;u++)h[u]=1e8;for(r[o]=t,h[t]=0;o>=n;){for(var f=c[a=r[n++]],y=0;y<f.length;y++)1e8==h[s=l.get(f[y])]&&(h[s]=h[a]+1,r[++o]=s);v[a][e]=h[a]*A}if(i){for(var m=0;m<E;m++)v[m][e]<p[m]&&(p[m]=v[m][e]);for(var N=0;N<E;N++)p[N]>d&&(d=p[N],g=N)}return g};r.connectComponents(e,i,r.getTopMostNodes(a),h),s.forEach(function(t){r.connectComponents(e,i,r.getTopMostNodes(t.descendants().intersection(i)),h)});for(var I=0,C=0;C<a.length;C++)a[C].isParent()||l.set(a[C].id(),I++);var M=!0,x=!1,O=void 0;try{for(var D,R=h.keys()[Symbol.iterator]();!(M=(D=R.next()).done);M=!0){var b=D.value;l.set(b,I++)}}catch(t){x=!0,O=t}finally{try{!M&&R.return&&R.return()}finally{if(x)throw O}}for(var G=0;G<l.size;G++)c[G]=[];s.forEach(function(t){for(var e=t.children().intersection(i);0==e.nodes(":childless").length;)e=e.nodes()[0].children().intersection(i);var r=0,n=e.nodes(":childless")[0].connectedEdges().length;e.nodes(":childless").forEach(function(t,e){t.connectedEdges().length<n&&(n=t.connectedEdges().length,r=e)}),d.set(t.id(),e.nodes(":childless")[r].id())}),a.forEach(function(t){var e=void 0;e=t.isParent()?l.get(d.get(t.id())):l.get(t.id()),t.neighborhood().nodes().forEach(function(r){i.intersection(t.edgesWith(r)).length>0&&(r.isParent()?c[e].push(d.get(r.id())):c[e].push(r.id()))})});var F=function(t){var i=l.get(t),r=void 0;h.get(t).forEach(function(n){r=e.getElementById(n).isParent()?d.get(n):n,c[i].push(r),c[l.get(r)].push(t)})},S=!0,P=!1,U=void 0;try{for(var Y,k=h.keys()[Symbol.iterator]();!(S=(Y=k.next()).done);S=!0){var H=Y.value;F(H)}}catch(t){P=!0,U=t}finally{try{!S&&k.return&&k.return()}finally{if(P)throw U}}E=l.size;var X=void 0;if(E>2){L=E<t.sampleSize?E:t.sampleSize;for(var W=0;W<E;W++)v[W]=[];for(var z=0;z<L;z++)m[z]=[];return"draft"==t.quality||"all"==t.step?(function(t){var e=void 0;if(t){e=Math.floor(Math.random()*E);for(var i=0;i<E;i++)p[i]=1e8;for(var r=0;r<L;r++)f[r]=e,e=_(e,r,t)}else{w();for(var n=0;n<L;n++)_(f[n],n,t,!1)}for(var o=0;o<E;o++)for(var a=0;a<L;a++)v[o][a]*=v[o][a];for(var s=0;s<L;s++)y[s]=[];for(var h=0;h<L;h++)for(var l=0;l<L;l++)y[h][l]=v[f[l]][h]}(T),function(){for(var t=o.svd(y),e=t.S,i=t.U,r=t.V,a=e[0]*e[0]*e[0],s=[],h=0;h<L;h++){s[h]=[];for(var l=0;l<L;l++)s[h][l]=0,h==l&&(s[h][l]=e[h]/(e[h]*e[h]+a/(e[h]*e[h])))}m=n.multMat(n.multMat(r,s),n.transpose(i))}(),function(){for(var t=void 0,e=void 0,i=[],r=[],o=[],a=[],s=0;s<E;s++)i[s]=Math.random(),r[s]=Math.random();i=n.normalize(i),r=n.normalize(r);for(var h=0,l=1e-9,d=1e-9,c=void 0;;){h++;for(var f=0;f<E;f++)o[f]=i[f];if(i=n.multGamma(n.multL(n.multGamma(o),v,m)),t=n.dotProduct(o,i),i=n.normalize(i),(c=Math.abs((l=n.dotProduct(o,i))/d))<=1+N&&c>=1)break;d=l}for(var p=0;p<E;p++)o[p]=i[p];for(h=0,d=1e-9;;){h++;for(var y=0;y<E;y++)a[y]=r[y];if(a=n.minusOp(a,n.multCons(o,n.dotProduct(o,a))),r=n.multGamma(n.multL(n.multGamma(a),v,m)),e=n.dotProduct(a,r),r=n.normalize(r),(c=Math.abs((l=n.dotProduct(a,r))/d))<=1+N&&c>=1)break;d=l}for(var T=0;T<E;T++)a[T]=r[T];g=n.multCons(o,Math.sqrt(Math.abs(t))),u=n.multCons(a,Math.sqrt(Math.abs(e)))}()):l.forEach(function(t,i){g.push(e.getElementById(i).position("x")),u.push(e.getElementById(i).position("y"))}),{nodeIndexes:l,xCoords:g,yCoords:u}}var V=l.keys(),B=e.getElementById(V.next().value),j=B.position(),q=B.outerWidth();if(g.push(j.x),u.push(j.y),2==E){var $=e.getElementById(V.next().value).outerWidth();g.push(j.x+q/2+$/2+t.idealEdgeLength),u.push(j.y)}return{nodeIndexes:l,xCoords:g,yCoords:u}}}},579:(t,e,i)=>{var r=i(212),n=function(t){t&&t("layout","fcose",r)};"undefined"!=typeof cytoscape&&n(cytoscape),t.exports=n},140:e=>{e.exports=t}},i={},function t(r){var n=i[r];if(void 0!==n)return n.exports;var o=i[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(579)},t.exports=r(i(75925))},75925:function(t,e,i){var r;r=function(t){var e,i;return e={45:(t,e,i)=>{var r={};r.layoutBase=i(551),r.CoSEConstants=i(806),r.CoSEEdge=i(767),r.CoSEGraph=i(880),r.CoSEGraphManager=i(578),r.CoSELayout=i(765),r.CoSENode=i(991),r.ConstraintHandler=i(902),t.exports=r},806:(t,e,i)=>{var r=i(551).FDLayoutConstants;function n(){}for(var o in r)n[o]=r[o];n.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,n.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,n.DEFAULT_COMPONENT_SEPERATION=60,n.TILE=!0,n.TILING_PADDING_VERTICAL=10,n.TILING_PADDING_HORIZONTAL=10,n.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,n.ENFORCE_CONSTRAINTS=!0,n.APPLY_LAYOUT=!0,n.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,n.TREE_REDUCTION_ON_INCREMENTAL=!0,n.PURE_INCREMENTAL=n.DEFAULT_INCREMENTAL,t.exports=n},767:(t,e,i)=>{var r=i(551).FDLayoutEdge;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},880:(t,e,i)=>{var r=i(551).LGraph;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},578:(t,e,i)=>{var r=i(551).LGraphManager;function n(t){r.call(this,t)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},765:(t,e,i)=>{var r=i(551).FDLayout,n=i(578),o=i(880),a=i(991),s=i(767),h=i(806),l=i(902),d=i(551).FDLayoutConstants,c=i(551).LayoutConstants,g=i(551).Point,u=i(551).PointD,f=i(551).DimensionD,p=i(551).Layout,v=i(551).Integer,y=i(551).IGeometry,m=i(551).LGraph,E=i(551).Transform,N=i(551).LinkedList;function T(){r.call(this),this.toBeTiled={},this.constraints={}}for(var A in T.prototype=Object.create(r.prototype),r)T[A]=r[A];T.prototype.newGraphManager=function(){var t=new n(this);return this.graphManager=t,t},T.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},T.prototype.newNode=function(t){return new a(this.graphManager,t)},T.prototype.newEdge=function(t){return new s(null,null,t)},T.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(h.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=h.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=d.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=d.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=d.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=d.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},T.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/d.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},T.prototype.layout=function(){return c.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},T.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(h.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e)}}else{var i=this.getFlatForest();if(i.length>0)this.positionNodesRadially(i);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(l.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),h.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},T.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0){if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),h.PURE_INCREMENTAL?this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0}this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),h.PURE_INCREMENTAL?this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var i=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(i,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},T.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},i=0;i<t.length;i++){var r=t[i].rect,n=t[i].id;e[n]={id:n,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return e},T.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===d.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},T.prototype.moveNodes=function(){for(var t,e=this.getAllNodes(),i=0;i<e.length;i++)(0,e[i]).calculateDisplacement();Object.keys(this.constraints).length>0&&this.updateDisplacements();for(var i=0;i<e.length;i++)(0,e[i]).move()},T.prototype.initConstraintVariables=function(){var t=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var e=this.graphManager.getAllNodes(),i=0;i<e.length;i++){var r=e[i];this.idToNodeMap.set(r.id,r)}if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(e){t.fixedNodeSet.add(e.nodeId)});for(var r,e=this.graphManager.getAllNodes(),i=0;i<e.length;i++)if(null!=(r=e[i]).getChild()){var n=function e(i){for(var r,n=i.getChild().getNodes(),o=0,a=0;a<n.length;a++)null==(r=n[a]).getChild()?t.fixedNodeSet.has(r.id)&&(o+=100):o+=e(r);return o}(r);n>0&&(r.fixedNodeWeight=n)}}if(this.constraints.relativePlacementConstraint){var o=new Map,a=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var s=this.constraints.alignmentConstraint.vertical,i=0;i<s.length;i++)this.dummyToNodeForVerticalAlignment.set("dummy"+i,[]),s[i].forEach(function(e){o.set(e,"dummy"+i),t.dummyToNodeForVerticalAlignment.get("dummy"+i).push(e),t.fixedNodeSet.has(e)&&t.fixedNodesOnHorizontal.add("dummy"+i)});if(this.constraints.alignmentConstraint.horizontal)for(var l=this.constraints.alignmentConstraint.horizontal,i=0;i<l.length;i++)this.dummyToNodeForHorizontalAlignment.set("dummy"+i,[]),l[i].forEach(function(e){a.set(e,"dummy"+i),t.dummyToNodeForHorizontalAlignment.get("dummy"+i).push(e),t.fixedNodeSet.has(e)&&t.fixedNodesOnVertical.add("dummy"+i)})}if(h.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(t){var e,i,r;for(r=t.length-1;r>=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),i=t[r],t[r]=t[e],t[e]=i;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(e){if(e.left){var i=o.has(e.left)?o.get(e.left):e.left,r=o.has(e.right)?o.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(i)||(t.nodesInRelativeHorizontal.push(i),t.nodeToRelativeConstraintMapHorizontal.set(i,[]),t.dummyToNodeForVerticalAlignment.has(i)?t.nodeToTempPositionMapHorizontal.set(i,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(i)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(i,t.idToNodeMap.get(i).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(i).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:i,gap:e.gap})}else{var n=a.has(e.top)?a.get(e.top):e.top,s=a.has(e.bottom)?a.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(n)||(t.nodesInRelativeVertical.push(n),t.nodeToRelativeConstraintMapVertical.set(n,[]),t.dummyToNodeForHorizontalAlignment.has(n)?t.nodeToTempPositionMapVertical.set(n,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(n)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(n,t.idToNodeMap.get(n).getCenterY())),t.nodesInRelativeVertical.includes(s)||(t.nodesInRelativeVertical.push(s),t.nodeToRelativeConstraintMapVertical.set(s,[]),t.dummyToNodeForHorizontalAlignment.has(s)?t.nodeToTempPositionMapVertical.set(s,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(s)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(s,t.idToNodeMap.get(s).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(n).push({bottom:s,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(s).push({top:n,gap:e.gap})}});else{var d=new Map,c=new Map;this.constraints.relativePlacementConstraint.forEach(function(t){if(t.left){var e=o.has(t.left)?o.get(t.left):t.left,i=o.has(t.right)?o.get(t.right):t.right;d.has(e)?d.get(e).push(i):d.set(e,[i]),d.has(i)?d.get(i).push(e):d.set(i,[e])}else{var r=a.has(t.top)?a.get(t.top):t.top,n=a.has(t.bottom)?a.get(t.bottom):t.bottom;c.has(r)?c.get(r).push(n):c.set(r,[n]),c.has(n)?c.get(n).push(r):c.set(n,[r])}});var g=function(t,e){var i=[],r=[],n=new N,o=new Set,a=0;return t.forEach(function(s,h){if(!o.has(h)){i[a]=[],r[a]=!1;var l=h;for(n.push(l),o.add(l),i[a].push(l);0!=n.length;)l=n.shift(),e.has(l)&&(r[a]=!0),t.get(l).forEach(function(t){o.has(t)||(n.push(t),o.add(t),i[a].push(t))});a++}}),{components:i,isFixed:r}},u=g(d,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=u.components,this.fixedComponentsOnHorizontal=u.isFixed;var f=g(c,t.fixedNodesOnVertical);this.componentsOnVertical=f.components,this.fixedComponentsOnVertical=f.isFixed}}},T.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(e){var i=t.idToNodeMap.get(e.nodeId);i.displacementX=0,i.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,i=0;i<e.length;i++){for(var r=0,n=0;n<e[i].length;n++){if(this.fixedNodeSet.has(e[i][n])){r=0;break}r+=this.idToNodeMap.get(e[i][n]).displacementX}for(var o=r/e[i].length,n=0;n<e[i].length;n++)this.idToNodeMap.get(e[i][n]).displacementX=o}if(this.constraints.alignmentConstraint.horizontal)for(var a=this.constraints.alignmentConstraint.horizontal,i=0;i<a.length;i++){for(var s=0,n=0;n<a[i].length;n++){if(this.fixedNodeSet.has(a[i][n])){s=0;break}s+=this.idToNodeMap.get(a[i][n]).displacementY}for(var l=s/a[i].length,n=0;n<a[i].length;n++)this.idToNodeMap.get(a[i][n]).displacementY=l}}if(this.constraints.relativePlacementConstraint){if(h.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach(function(e){if(!t.fixedNodesOnHorizontal.has(e)){var i=0;i=t.dummyToNodeForVerticalAlignment.has(e)?t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(e)[0]).displacementX:t.idToNodeMap.get(e).displacementX,t.nodeToRelativeConstraintMapHorizontal.get(e).forEach(function(r){if(r.right){var n=t.nodeToTempPositionMapHorizontal.get(r.right)-t.nodeToTempPositionMapHorizontal.get(e)-i;n<r.gap&&(i-=r.gap-n)}else{var n=t.nodeToTempPositionMapHorizontal.get(e)-t.nodeToTempPositionMapHorizontal.get(r.left)+i;n<r.gap&&(i+=r.gap-n)}}),t.nodeToTempPositionMapHorizontal.set(e,t.nodeToTempPositionMapHorizontal.get(e)+i),t.dummyToNodeForVerticalAlignment.has(e)?t.dummyToNodeForVerticalAlignment.get(e).forEach(function(e){t.idToNodeMap.get(e).displacementX=i}):t.idToNodeMap.get(e).displacementX=i}}),this.nodesInRelativeVertical.forEach(function(e){if(!t.fixedNodesOnHorizontal.has(e)){var i=0;i=t.dummyToNodeForHorizontalAlignment.has(e)?t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(e)[0]).displacementY:t.idToNodeMap.get(e).displacementY,t.nodeToRelativeConstraintMapVertical.get(e).forEach(function(r){if(r.bottom){var n=t.nodeToTempPositionMapVertical.get(r.bottom)-t.nodeToTempPositionMapVertical.get(e)-i;n<r.gap&&(i-=r.gap-n)}else{var n=t.nodeToTempPositionMapVertical.get(e)-t.nodeToTempPositionMapVertical.get(r.top)+i;n<r.gap&&(i+=r.gap-n)}}),t.nodeToTempPositionMapVertical.set(e,t.nodeToTempPositionMapVertical.get(e)+i),t.dummyToNodeForHorizontalAlignment.has(e)?t.dummyToNodeForHorizontalAlignment.get(e).forEach(function(e){t.idToNodeMap.get(e).displacementY=i}):t.idToNodeMap.get(e).displacementY=i}});else{for(var i=0;i<this.componentsOnHorizontal.length;i++){var d=this.componentsOnHorizontal[i];if(this.fixedComponentsOnHorizontal[i])for(var n=0;n<d.length;n++)this.dummyToNodeForVerticalAlignment.has(d[n])?this.dummyToNodeForVerticalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementX=0}):this.idToNodeMap.get(d[n]).displacementX=0;else{for(var c=0,g=0,n=0;n<d.length;n++)if(this.dummyToNodeForVerticalAlignment.has(d[n])){var u=this.dummyToNodeForVerticalAlignment.get(d[n]);c+=u.length*this.idToNodeMap.get(u[0]).displacementX,g+=u.length}else c+=this.idToNodeMap.get(d[n]).displacementX,g++;for(var f=c/g,n=0;n<d.length;n++)this.dummyToNodeForVerticalAlignment.has(d[n])?this.dummyToNodeForVerticalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementX=f}):this.idToNodeMap.get(d[n]).displacementX=f}}for(var i=0;i<this.componentsOnVertical.length;i++){var d=this.componentsOnVertical[i];if(this.fixedComponentsOnVertical[i])for(var n=0;n<d.length;n++)this.dummyToNodeForHorizontalAlignment.has(d[n])?this.dummyToNodeForHorizontalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementY=0}):this.idToNodeMap.get(d[n]).displacementY=0;else{for(var c=0,g=0,n=0;n<d.length;n++)if(this.dummyToNodeForHorizontalAlignment.has(d[n])){var u=this.dummyToNodeForHorizontalAlignment.get(d[n]);c+=u.length*this.idToNodeMap.get(u[0]).displacementY,g+=u.length}else c+=this.idToNodeMap.get(d[n]).displacementY,g++;for(var f=c/g,n=0;n<d.length;n++)this.dummyToNodeForHorizontalAlignment.has(d[n])?this.dummyToNodeForHorizontalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementY=f}):this.idToNodeMap.get(d[n]).displacementY=f}}}}},T.prototype.calculateNodesToApplyGravitationTo=function(){var t,e,i=[],r=this.graphManager.getGraphs(),n=r.length;for(e=0;e<n;e++)(t=r[e]).updateConnected(),t.isConnected||(i=i.concat(t.getNodes()));return i},T.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e=new Set;for(o=0;o<t.length;o++){var i=t[o];if(!e.has(i)){var r=i.getSource(),n=i.getTarget();if(r==n)i.getBendpoints().push(new u),i.getBendpoints().push(new u),this.createDummyNodesForBendpoints(i),e.add(i);else{var o,a,s=[];if(s=(s=s.concat(r.getEdgeListToNode(n))).concat(n.getEdgeListToNode(r)),!e.has(s[0])){if(s.length>1)for(a=0;a<s.length;a++){var h=s[a];h.getBendpoints().push(new u),this.createDummyNodesForBendpoints(h)}s.forEach(function(t){e.add(t)})}}}if(e.size==t.length)break}},T.prototype.positionNodesRadially=function(t){for(var e=new g(0,0),i=Math.ceil(Math.sqrt(t.length)),r=0,n=0,o=0,a=new u(0,0),s=0;s<t.length;s++){s%i==0&&(o=0,n=r,0!=s&&(n+=h.DEFAULT_COMPONENT_SEPERATION),r=0);var l=t[s],d=p.findCenterOfTree(l);e.x=o,e.y=n,(a=T.radialLayout(l,d,e)).y>r&&(r=Math.floor(a.y)),o=Math.floor(a.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new u(c.WORLD_CENTER_X-a.x/2,c.WORLD_CENTER_Y-a.y/2))},T.radialLayout=function(t,e,i){var r=Math.max(this.maxDiagonalInTree(t),h.DEFAULT_RADIAL_SEPARATION);T.branchRadialLayout(e,null,0,359,0,r);var n=m.calculateBounds(t),o=new E;o.setDeviceOrgX(n.getMinX()),o.setDeviceOrgY(n.getMinY()),o.setWorldOrgX(i.x),o.setWorldOrgY(i.y);for(var a=0;a<t.length;a++)t[a].transform(o);var s=new u(n.getMaxX(),n.getMaxY());return o.inverseTransformPoint(s)},T.branchRadialLayout=function(t,e,i,r,n,o){var a,s=(r-i+1)/2;s<0&&(s+=180);var h=(s+i)%360*y.TWO_PI/360,l=n*Math.cos(h),d=n*Math.sin(h);t.setCenter(l,d);var c=[],g=(c=c.concat(t.getEdges())).length;null!=e&&g--;for(var u=0,f=c.length,p=t.getEdgesBetween(e);p.length>1;){var v=p[0];p.splice(0,1);var m=c.indexOf(v);m>=0&&c.splice(m,1),f--,g--}a=null!=e?(c.indexOf(p[0])+1)%f:0;for(var E=Math.abs(r-i)/g,N=a;u!=g;N=++N%f){var A=c[N].getOtherEnd(t);if(A!=e){var L=(i+u*E)%360,w=(L+E)%360;T.branchRadialLayout(A,t,L,w,n+o,o),u++}}},T.maxDiagonalInTree=function(t){for(var e=v.MIN_VALUE,i=0;i<t.length;i++){var r=t[i].getDiagonal();r>e&&(e=r)}return e},T.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},T.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var i=[],r=this.graphManager.getAllNodes(),n=0;n<r.length;n++){var o=r[n],s=o.getParent();0!==this.getNodeDegreeWithChildren(o)||void 0!=s.id&&this.getToBeTiled(s)||i.push(o)}for(var n=0;n<i.length;n++){var o=i[n],h=o.getParent().id;void 0===e[h]&&(e[h]=[]),e[h]=e[h].concat(o)}Object.keys(e).forEach(function(i){if(e[i].length>1){var r="DummyCompound_"+i;t.memberGroups[r]=e[i];var n=e[i][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=n.paddingLeft||0,o.paddingRight=n.paddingRight||0,o.paddingBottom=n.paddingBottom||0,o.paddingTop=n.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),h=n.getChild();h.add(o);for(var l=0;l<e[i].length;l++){var d=e[i][l];h.remove(d),s.add(d)}}})},T.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var i=0;i<this.compoundOrder.length;i++)e[this.compoundOrder[i].id]=this.compoundOrder[i],t[this.compoundOrder[i].id]=[].concat(this.compoundOrder[i].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[i].getChild()),this.compoundOrder[i].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},T.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(i){var r=t.idToDummyNode[i];if(e[i]=t.tileNodes(t.memberGroups[i],r.paddingLeft+r.paddingRight),r.rect.width=e[i].width,r.rect.height=e[i].height,r.setCenter(e[i].centerX,e[i].centerY),r.labelMarginLeft=0,r.labelMarginTop=0,h.NODE_DIMENSIONS_INCLUDE_LABELS){var n=r.rect.width,o=r.rect.height;r.labelWidth&&("left"==r.labelPosHorizontal?(r.rect.x-=r.labelWidth,r.setWidth(n+r.labelWidth),r.labelMarginLeft=r.labelWidth):"center"==r.labelPosHorizontal&&r.labelWidth>n?(r.rect.x-=(r.labelWidth-n)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-n)/2):"right"==r.labelPosHorizontal&&r.setWidth(n+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(o+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>o?(r.rect.y-=(r.labelHeight-o)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-o)/2):"bottom"==r.labelPosVertical&&r.setHeight(o+r.labelHeight))}})},T.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],i=e.id,r=e.paddingLeft,n=e.paddingTop,o=e.labelMarginLeft,a=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[i],e.rect.x,e.rect.y,r,n,o,a)}},T.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach(function(i){var r=t.idToDummyNode[i],n=r.paddingLeft,o=r.paddingTop,a=r.labelMarginLeft,s=r.labelMarginTop;t.adjustLocations(e[i],r.rect.x,r.rect.y,n,o,a,s)})},T.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var i=t.getChild();if(null==i)return this.toBeTiled[e]=!1,!1;for(var r=i.getNodes(),n=0;n<r.length;n++){var o=r[n];if(this.getNodeDegree(o)>0)return this.toBeTiled[e]=!1,!1;if(null==o.getChild()){this.toBeTiled[o.id]=!1;continue}if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}return this.toBeTiled[e]=!0,!0},T.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),i=0,r=0;r<e.length;r++){var n=e[r];n.getSource().id!==n.getTarget().id&&(i+=1)}return i},T.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(null==t.getChild())return e;for(var i=t.getChild().getNodes(),r=0;r<i.length;r++){var n=i[r];e+=this.getNodeDegreeWithChildren(n)}return e},T.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},T.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var i=t[e];null!=i.getChild()&&this.fillCompexOrderByDFS(i.getChild().getNodes()),this.getToBeTiled(i)&&this.compoundOrder.push(i)}},T.prototype.adjustLocations=function(t,e,i,r,n,o,a){e+=r+o,i+=n+a;for(var s=e,h=0;h<t.rows.length;h++){var l=t.rows[h];e=s;for(var d=0,c=0;c<l.length;c++){var g=l[c];g.rect.x=e,g.rect.y=i,e+=g.rect.width+t.horizontalPadding,g.rect.height>d&&(d=g.rect.height)}i+=d+t.verticalPadding}},T.prototype.tileCompoundMembers=function(t,e){var i=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(r){var n=e[r];if(i.tiledMemberPack[r]=i.tileNodes(t[r],n.paddingLeft+n.paddingRight),n.rect.width=i.tiledMemberPack[r].width,n.rect.height=i.tiledMemberPack[r].height,n.setCenter(i.tiledMemberPack[r].centerX,i.tiledMemberPack[r].centerY),n.labelMarginLeft=0,n.labelMarginTop=0,h.NODE_DIMENSIONS_INCLUDE_LABELS){var o=n.rect.width,a=n.rect.height;n.labelWidth&&("left"==n.labelPosHorizontal?(n.rect.x-=n.labelWidth,n.setWidth(o+n.labelWidth),n.labelMarginLeft=n.labelWidth):"center"==n.labelPosHorizontal&&n.labelWidth>o?(n.rect.x-=(n.labelWidth-o)/2,n.setWidth(n.labelWidth),n.labelMarginLeft=(n.labelWidth-o)/2):"right"==n.labelPosHorizontal&&n.setWidth(o+n.labelWidth)),n.labelHeight&&("top"==n.labelPosVertical?(n.rect.y-=n.labelHeight,n.setHeight(a+n.labelHeight),n.labelMarginTop=n.labelHeight):"center"==n.labelPosVertical&&n.labelHeight>a?(n.rect.y-=(n.labelHeight-a)/2,n.setHeight(n.labelHeight),n.labelMarginTop=(n.labelHeight-a)/2):"bottom"==n.labelPosVertical&&n.setHeight(a+n.labelHeight))}})},T.prototype.tileNodes=function(t,e){var i,r=this.tileNodesByFavoringDim(t,e,!0),n=this.tileNodesByFavoringDim(t,e,!1),o=this.getOrgRatio(r);return this.getOrgRatio(n)<o?n:r},T.prototype.getOrgRatio=function(t){var e=t.width/t.height;return e<1&&(e=1/e),e},T.prototype.calcIdealRowWidth=function(t,e){var i,r=h.TILING_PADDING_VERTICAL,n=h.TILING_PADDING_HORIZONTAL,o=t.length,a=0,s=0,l=0;t.forEach(function(t){a+=t.getWidth(),s+=t.getHeight(),t.getWidth()>l&&(l=t.getWidth())});var d=a/o,c=Math.pow(r-n,2)+4*(d+n)*(s/o+r)*o,g=(n-r+Math.sqrt(c))/(2*(d+n));e?(i=Math.ceil(g))==g&&i++:i=Math.floor(g);var u=i*(d+n)-n;return l>u&&(u=l),u+=2*n},T.prototype.tileNodesByFavoringDim=function(t,e,i){var r=h.TILING_PADDING_VERTICAL,n=h.TILING_PADDING_HORIZONTAL,o=h.TILING_COMPARE_BY,a={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:n,centerX:0,centerY:0};o&&(a.idealRowWidth=this.calcIdealRowWidth(t,i));var s=function(t){return t.rect.width*t.rect.height},l=function(t,e){return s(e)-s(t)};t.sort(function(t,e){var i=l;return a.idealRowWidth?(i=o)(t.id,e.id):i(t,e)});for(var d=0,c=0,g=0;g<t.length;g++){var u=t[g];d+=u.getCenterX(),c+=u.getCenterY()}a.centerX=d/t.length,a.centerY=c/t.length;for(var g=0;g<t.length;g++){var u=t[g];if(0==a.rows.length)this.insertNodeToRow(a,u,0,e);else if(this.canAddHorizontal(a,u.rect.width,u.rect.height)){var f=a.rows.length-1;a.idealRowWidth||(f=this.getShortestRowIndex(a)),this.insertNodeToRow(a,u,f,e)}else this.insertNodeToRow(a,u,a.rows.length,e);this.shiftToLastRow(a)}return a},T.prototype.insertNodeToRow=function(t,e,i,r){i==t.rows.length&&(t.rows.push([]),t.rowWidth.push(r),t.rowHeight.push(0));var n=t.rowWidth[i]+e.rect.width;t.rows[i].length>0&&(n+=t.horizontalPadding),t.rowWidth[i]=n,t.width<n&&(t.width=n);var o=e.rect.height;i>0&&(o+=t.verticalPadding);var a=0;o>t.rowHeight[i]&&(a=t.rowHeight[i],t.rowHeight[i]=o,a=t.rowHeight[i]-a),t.height+=a,t.rows[i].push(e)},T.prototype.getShortestRowIndex=function(t){for(var e=-1,i=Number.MAX_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]<i&&(e=r,i=t.rowWidth[r]);return e},T.prototype.getLongestRowIndex=function(t){for(var e=-1,i=Number.MIN_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]>i&&(e=r,i=t.rowWidth[r]);return e},T.prototype.canAddHorizontal=function(t,e,i){if(t.idealRowWidth){var r,n,o=t.rows.length-1;return t.rowWidth[o]+e+t.horizontalPadding<=t.idealRowWidth}var a=this.getShortestRowIndex(t);if(a<0)return!0;var s=t.rowWidth[a];if(s+t.horizontalPadding+e<=t.width)return!0;var h=0;return t.rowHeight[a]<i&&a>0&&(h=i+t.verticalPadding-t.rowHeight[a]),r=t.width-s>=e+t.horizontalPadding?(t.height+h)/(s+e+t.horizontalPadding):(t.height+h)/t.width,h=i+t.verticalPadding,(n=t.width<e?(t.height+h)/e:(t.height+h)/t.width)<1&&(n=1/n),r<1&&(r=1/r),r<n},T.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),i=t.rowWidth.length-1,r=t.rows[e],n=r[r.length-1],o=n.width+t.horizontalPadding;if(t.width-t.rowWidth[i]>o&&e!=i){r.splice(-1,1),t.rows[i].push(n),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[i]=t.rowWidth[i]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=Number.MIN_VALUE,s=0;s<r.length;s++)r[s].height>a&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var h=t.rowHeight[e]+t.rowHeight[i];t.rowHeight[e]=a,t.rowHeight[i]<n.height+t.verticalPadding&&(t.rowHeight[i]=n.height+t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[i];t.height+=l-h,this.shiftToLastRow(t)}},T.prototype.tilingPreLayout=function(){h.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},T.prototype.tilingPostLayout=function(){h.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},T.prototype.reduceTrees=function(){for(var t,e=[],i=!0;i;){var r=this.graphManager.getAllNodes(),n=[];i=!1;for(var o=0;o<r.length;o++)if(1==(t=r[o]).getEdges().length&&!t.getEdges()[0].isInterGraph&&null==t.getChild()){if(h.PURE_INCREMENTAL){var a=t.getEdges()[0].getOtherEnd(t),s=new f(t.getCenterX()-a.getCenterX(),t.getCenterY()-a.getCenterY());n.push([t,t.getEdges()[0],t.getOwner(),s])}else n.push([t,t.getEdges()[0],t.getOwner()]);i=!0}if(!0==i){for(var l=[],d=0;d<n.length;d++)1==n[d][0].getEdges().length&&(l.push(n[d]),n[d][0].getOwner().remove(n[d][0]));e.push(l),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=e},T.prototype.growTree=function(t){for(var e,i=t.length,r=t[i-1],n=0;n<r.length;n++)e=r[n],this.findPlaceforPrunedNode(e),e[2].add(e[0]),e[2].add(e[1],e[1].source,e[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},T.prototype.findPlaceforPrunedNode=function(t){var e=t[0];if(r=e==t[1].source?t[1].target:t[1].source,h.PURE_INCREMENTAL)e.setCenter(r.getCenterX()+t[3].getWidth(),r.getCenterY()+t[3].getHeight());else{var i,r,n,o,a=r.startX,s=r.finishX,l=r.startY,c=r.finishY,g=[0,0,0,0];if(l>0)for(var u=a;u<=s;u++)g[0]+=this.grid[u][l-1].length+this.grid[u][l].length-1;if(s<this.grid.length-1)for(var u=l;u<=c;u++)g[1]+=this.grid[s+1][u].length+this.grid[s][u].length-1;if(c<this.grid[0].length-1)for(var u=a;u<=s;u++)g[2]+=this.grid[u][c+1].length+this.grid[u][c].length-1;if(a>0)for(var u=l;u<=c;u++)g[3]+=this.grid[a-1][u].length+this.grid[a][u].length-1;for(var f=v.MAX_VALUE,p=0;p<g.length;p++)g[p]<f?(f=g[p],n=1,o=p):g[p]==f&&n++;if(3==n&&0==f)0==g[0]&&0==g[1]&&0==g[2]?i=1:0==g[0]&&0==g[1]&&0==g[3]?i=0:0==g[0]&&0==g[2]&&0==g[3]?i=3:0==g[1]&&0==g[2]&&0==g[3]&&(i=2);else if(2==n&&0==f){var y=Math.floor(2*Math.random());i=0==g[0]&&0==g[1]?+(0!=y):0==g[0]&&0==g[2]?2*(0!=y):0==g[0]&&0==g[3]?3*(0!=y):0==g[1]&&0==g[2]?0==y?1:2:0==g[1]&&0==g[3]?0==y?1:3:0==y?2:3}else if(4==n&&0==f){var y=Math.floor(4*Math.random());i=y}else i=o;0==i?e.setCenter(r.getCenterX(),r.getCenterY()-r.getHeight()/2-d.DEFAULT_EDGE_LENGTH-e.getHeight()/2):1==i?e.setCenter(r.getCenterX()+r.getWidth()/2+d.DEFAULT_EDGE_LENGTH+e.getWidth()/2,r.getCenterY()):2==i?e.setCenter(r.getCenterX(),r.getCenterY()+r.getHeight()/2+d.DEFAULT_EDGE_LENGTH+e.getHeight()/2):e.setCenter(r.getCenterX()-r.getWidth()/2-d.DEFAULT_EDGE_LENGTH-e.getWidth()/2,r.getCenterY())}},t.exports=T},991:(t,e,i)=>{var r=i(551).FDLayoutNode,n=i(551).IMath;function o(t,e,i,n){r.call(this,t,e,i,n)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(t,e){for(var i,r=this.getChild().getNodes(),n=0;n<r.length;n++)null==(i=r[n]).getChild()?(i.displacementX+=t,i.displacementY+=e):i.propogateDisplacementToChildren(t,e)},o.prototype.move=function(){var t=this.graphManager.getLayout();(null==this.child||0==this.child.getNodes().length)&&(this.moveBy(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY)),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.setPred1=function(t){this.pred1=t},o.prototype.getPred1=function(){return pred1},o.prototype.getPred2=function(){return pred2},o.prototype.setNext=function(t){this.next=t},o.prototype.getNext=function(){return next},o.prototype.setProcessed=function(t){this.processed=t},o.prototype.isProcessed=function(){return processed},t.exports=o},902:(t,e,i)=>{function r(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}var n=i(806),o=i(551).LinkedList,a=i(551).Matrix,s=i(551).SVD;function h(){}h.handleConstraints=function(t){var e={};e.fixedNodeConstraint=t.constraints.fixedNodeConstraint,e.alignmentConstraint=t.constraints.alignmentConstraint,e.relativePlacementConstraint=t.constraints.relativePlacementConstraint;for(var i=new Map,h=new Map,l=[],d=[],c=t.getAllNodes(),g=0,u=0;u<c.length;u++){var f=c[u];null==f.getChild()&&(h.set(f.id,g++),l.push(f.getCenterX()),d.push(f.getCenterY()),i.set(f.id,f))}e.relativePlacementConstraint&&e.relativePlacementConstraint.forEach(function(t){t.gap||0==t.gap||(t.left?t.gap=n.DEFAULT_EDGE_LENGTH+i.get(t.left).getWidth()/2+i.get(t.right).getWidth()/2:t.gap=n.DEFAULT_EDGE_LENGTH+i.get(t.top).getHeight()/2+i.get(t.bottom).getHeight()/2)});var p=function(t){var e=0,i=0;return t.forEach(function(t){e+=l[h.get(t)],i+=d[h.get(t)]}),{x:e/t.size,y:i/t.size}},v=function(t,e,i,n,a){var s=new Map;t.forEach(function(t,e){s.set(e,0)}),t.forEach(function(t,e){t.forEach(function(t){s.set(t.id,s.get(t.id)+1)})});var c=new Map,g=new Map,u=new o;for(s.forEach(function(t,r){0==t?(u.push(r),i||("horizontal"==e?c.set(r,h.has(r)?l[h.get(r)]:n.get(r)):c.set(r,h.has(r)?d[h.get(r)]:n.get(r)))):c.set(r,Number.NEGATIVE_INFINITY),i&&g.set(r,new Set([r]))}),i&&a.forEach(function(t){var r=[];if(t.forEach(function(t){i.has(t)&&r.push(t)}),r.length>0){var o=0;r.forEach(function(t){"horizontal"==e?c.set(t,h.has(t)?l[h.get(t)]:n.get(t)):c.set(t,h.has(t)?d[h.get(t)]:n.get(t)),o+=c.get(t)}),o/=r.length,t.forEach(function(t){i.has(t)||c.set(t,o)})}else{var a=0;t.forEach(function(t){"horizontal"==e?a+=h.has(t)?l[h.get(t)]:n.get(t):a+=h.has(t)?d[h.get(t)]:n.get(t)}),a/=t.length,t.forEach(function(t){c.set(t,a)})}});0!=u.length;)!function(){var r=u.shift();t.get(r).forEach(function(t){if(c.get(t.id)<c.get(r)+t.gap){if(i&&i.has(t.id)){var o=void 0;if(o="horizontal"==e?h.has(t.id)?l[h.get(t.id)]:n.get(t.id):h.has(t.id)?d[h.get(t.id)]:n.get(t.id),c.set(t.id,o),o<c.get(r)+t.gap){var a=c.get(r)+t.gap-o;g.get(r).forEach(function(t){c.set(t,c.get(t)-a)})}}else c.set(t.id,c.get(r)+t.gap)}s.set(t.id,s.get(t.id)-1),0==s.get(t.id)&&u.push(t.id),i&&g.set(t.id,function(t,e){var i=new Set(t),r=!0,n=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var h=a.value;i.add(h)}}catch(t){n=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(n)throw o}}return i}(g.get(r),g.get(t.id)))})}();if(i){var f=new Set;t.forEach(function(t,e){0==t.length&&f.add(e)});var p=[];g.forEach(function(t,e){if(f.has(e)){var n=!1,o=!0,a=!1,s=void 0;try{for(var h,l=t[Symbol.iterator]();!(o=(h=l.next()).done);o=!0){var d=h.value;i.has(d)&&(n=!0)}}catch(t){a=!0,s=t}finally{try{!o&&l.return&&l.return()}finally{if(a)throw s}}if(!n){var c=!1,g=void 0;p.forEach(function(e,i){e.has([].concat(r(t))[0])&&(c=!0,g=i)}),c?t.forEach(function(t){p[g].add(t)}):p.push(new Set(t))}}}),p.forEach(function(t,i){var r=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY,g=!0,u=!1,f=void 0;try{for(var p,v=t[Symbol.iterator]();!(g=(p=v.next()).done);g=!0){var y=p.value,m=void 0;m="horizontal"==e?h.has(y)?l[h.get(y)]:n.get(y):h.has(y)?d[h.get(y)]:n.get(y);var E=c.get(y);m<r&&(r=m),m>a&&(a=m),E<o&&(o=E),E>s&&(s=E)}}catch(t){u=!0,f=t}finally{try{!g&&v.return&&v.return()}finally{if(u)throw f}}var N=(r+a)/2-(o+s)/2,T=!0,A=!1,L=void 0;try{for(var w,_=t[Symbol.iterator]();!(T=(w=_.next()).done);T=!0){var I=w.value;c.set(I,c.get(I)+N)}}catch(t){A=!0,L=t}finally{try{!T&&_.return&&_.return()}finally{if(A)throw L}}})}return c},y=function(t){var e=0,i=0,r=0,n=0;if(t.forEach(function(t){t.left?l[h.get(t.left)]-l[h.get(t.right)]>=0?e++:i++:d[h.get(t.top)]-d[h.get(t.bottom)]>=0?r++:n++}),e>i&&r>n)for(var o=0;o<h.size;o++)l[o]=-1*l[o],d[o]=-1*d[o];else if(e>i)for(var a=0;a<h.size;a++)l[a]=-1*l[a];else if(r>n)for(var s=0;s<h.size;s++)d[s]=-1*d[s]},m=function(t){var e=[],i=new o,r=new Set,n=0;return t.forEach(function(o,a){if(!r.has(a)){e[n]=[];var s=a;for(i.push(s),r.add(s),e[n].push(s);0!=i.length;)s=i.shift(),t.get(s).forEach(function(t){r.has(t.id)||(i.push(t.id),r.add(t.id),e[n].push(t.id))});n++}}),e},E=function(t){var e=new Map;return t.forEach(function(t,i){e.set(i,[])}),t.forEach(function(t,i){t.forEach(function(t){e.get(i).push(t),e.get(t.id).push({id:i,gap:t.gap,direction:t.direction})})}),e},N=function(t){var e=new Map;return t.forEach(function(t,i){e.set(i,[])}),t.forEach(function(t,i){t.forEach(function(t){e.get(t.id).push({id:i,gap:t.gap,direction:t.direction})})}),e},T=[],A=[],L=!1,w=!1,_=new Set,I=new Map,C=new Map,M=[];if(e.fixedNodeConstraint&&e.fixedNodeConstraint.forEach(function(t){_.add(t.nodeId)}),e.relativePlacementConstraint&&(e.relativePlacementConstraint.forEach(function(t){t.left?(I.has(t.left)?I.get(t.left).push({id:t.right,gap:t.gap,direction:"horizontal"}):I.set(t.left,[{id:t.right,gap:t.gap,direction:"horizontal"}]),I.has(t.right)||I.set(t.right,[])):(I.has(t.top)?I.get(t.top).push({id:t.bottom,gap:t.gap,direction:"vertical"}):I.set(t.top,[{id:t.bottom,gap:t.gap,direction:"vertical"}]),I.has(t.bottom)||I.set(t.bottom,[]))}),M=m(C=E(I))),n.TRANSFORM_ON_CONSTRAINT_HANDLING){if(e.fixedNodeConstraint&&e.fixedNodeConstraint.length>1)e.fixedNodeConstraint.forEach(function(t,e){T[e]=[t.position.x,t.position.y],A[e]=[l[h.get(t.nodeId)],d[h.get(t.nodeId)]]}),L=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var i=e.alignmentConstraint.vertical,n=0;n<i.length;n++)!function(e){var n=new Set;i[e].forEach(function(t){n.add(t)});var o=new Set([].concat(r(n)).filter(function(t){return _.has(t)})),a=void 0;a=o.size>0?l[h.get(o.values().next().value)]:p(n).x,i[e].forEach(function(e){T[t]=[a,d[h.get(e)]],A[t]=[l[h.get(e)],d[h.get(e)]],t++})}(n);L=!0}if(e.alignmentConstraint.horizontal){for(var o=e.alignmentConstraint.horizontal,a=0;a<o.length;a++)!function(e){var i=new Set;o[e].forEach(function(t){i.add(t)});var n=new Set([].concat(r(i)).filter(function(t){return _.has(t)})),a=void 0;a=n.size>0?l[h.get(n.values().next().value)]:p(i).y,o[e].forEach(function(e){T[t]=[l[h.get(e)],a],A[t]=[l[h.get(e)],d[h.get(e)]],t++})}(a);L=!0}e.relativePlacementConstraint&&(w=!0)}();else if(e.relativePlacementConstraint){for(var x=0,O=0,D=0;D<M.length;D++)M[D].length>x&&(x=M[D].length,O=D);if(x<C.size/2)y(e.relativePlacementConstraint),L=!1,w=!1;else{var R=new Map,b=new Map,G=[];M[O].forEach(function(t){I.get(t).forEach(function(e){"horizontal"==e.direction?(R.has(t)?R.get(t).push(e):R.set(t,[e]),R.has(e.id)||R.set(e.id,[]),G.push({left:t,right:e.id})):(b.has(t)?b.get(t).push(e):b.set(t,[e]),b.has(e.id)||b.set(e.id,[]),G.push({top:t,bottom:e.id}))})}),y(G),w=!1;var F=v(R,"horizontal"),S=v(b,"vertical");M[O].forEach(function(t,e){A[e]=[l[h.get(t)],d[h.get(t)]],T[e]=[],F.has(t)?T[e][0]=F.get(t):T[e][0]=l[h.get(t)],S.has(t)?T[e][1]=S.get(t):T[e][1]=d[h.get(t)]}),L=!0}}if(L){for(var P=void 0,U=a.transpose(T),Y=a.transpose(A),k=0;k<U.length;k++)U[k]=a.multGamma(U[k]),Y[k]=a.multGamma(Y[k]);var H=a.multMat(U,a.transpose(Y)),X=s.svd(H);P=a.multMat(X.V,a.transpose(X.U));for(var W=0;W<h.size;W++){var z=[l[W],d[W]],V=[P[0][0],P[1][0]],B=[P[0][1],P[1][1]];l[W]=a.dotProduct(z,V),d[W]=a.dotProduct(z,B)}w&&y(e.relativePlacementConstraint)}}if(n.ENFORCE_CONSTRAINTS){if(e.fixedNodeConstraint&&e.fixedNodeConstraint.length>0){var j={x:0,y:0};e.fixedNodeConstraint.forEach(function(t,e){var i,r={x:l[h.get(t.nodeId)],y:d[h.get(t.nodeId)]},n={x:(i=t.position).x-r.x,y:i.y-r.y};j.x+=n.x,j.y+=n.y}),j.x/=e.fixedNodeConstraint.length,j.y/=e.fixedNodeConstraint.length,l.forEach(function(t,e){l[e]+=j.x}),d.forEach(function(t,e){d[e]+=j.y}),e.fixedNodeConstraint.forEach(function(t){l[h.get(t.nodeId)]=t.position.x,d[h.get(t.nodeId)]=t.position.y})}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var q=e.alignmentConstraint.vertical,$=0;$<q.length;$++)!function(t){var e=new Set;q[t].forEach(function(t){e.add(t)});var i=new Set([].concat(r(e)).filter(function(t){return _.has(t)})),n=void 0;n=i.size>0?l[h.get(i.values().next().value)]:p(e).x,e.forEach(function(t){_.has(t)||(l[h.get(t)]=n)})}($);if(e.alignmentConstraint.horizontal)for(var Z=e.alignmentConstraint.horizontal,Q=0;Q<Z.length;Q++)!function(t){var e=new Set;Z[t].forEach(function(t){e.add(t)});var i=new Set([].concat(r(e)).filter(function(t){return _.has(t)})),n=void 0;n=i.size>0?d[h.get(i.values().next().value)]:p(e).y,e.forEach(function(t){_.has(t)||(d[h.get(t)]=n)})}(Q)}e.relativePlacementConstraint&&function(){var t=new Map,i=new Map,r=new Map,n=new Map,o=new Map,a=new Map,s=new Set,c=new Set;if(_.forEach(function(t){s.add(t),c.add(t)}),e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var g=e.alignmentConstraint.vertical,u=function(e){r.set("dummy"+e,[]),g[e].forEach(function(i){t.set(i,"dummy"+e),r.get("dummy"+e).push(i),_.has(i)&&s.add("dummy"+e)}),o.set("dummy"+e,l[h.get(g[e][0])])},f=0;f<g.length;f++)u(f);if(e.alignmentConstraint.horizontal)for(var p=e.alignmentConstraint.horizontal,y=function(t){n.set("dummy"+t,[]),p[t].forEach(function(e){i.set(e,"dummy"+t),n.get("dummy"+t).push(e),_.has(e)&&c.add("dummy"+t)}),a.set("dummy"+t,d[h.get(p[t][0])])},T=0;T<p.length;T++)y(T)}var A=new Map,L=new Map,w=function(e){I.get(e).forEach(function(r){var n=void 0,o=void 0;"horizontal"==r.direction?(n=t.get(e)?t.get(e):e,o=t.get(r.id)?{id:t.get(r.id),gap:r.gap,direction:r.direction}:r,A.has(n)?A.get(n).push(o):A.set(n,[o]),A.has(o.id)||A.set(o.id,[])):(n=i.get(e)?i.get(e):e,o=i.get(r.id)?{id:i.get(r.id),gap:r.gap,direction:r.direction}:r,L.has(n)?L.get(n).push(o):L.set(n,[o]),L.has(o.id)||L.set(o.id,[]))})},C=!0,M=!1,x=void 0;try{for(var O,D=I.keys()[Symbol.iterator]();!(C=(O=D.next()).done);C=!0){var R=O.value;w(R)}}catch(t){M=!0,x=t}finally{try{!C&&D.return&&D.return()}finally{if(M)throw x}}var b=E(A),G=E(L),F=m(b),S=m(G),P=N(A),U=N(L),Y=[],k=[];F.forEach(function(t,e){Y[e]=[],t.forEach(function(t){0==P.get(t).length&&Y[e].push(t)})}),S.forEach(function(t,e){k[e]=[],t.forEach(function(t){0==U.get(t).length&&k[e].push(t)})});var H=v(A,"horizontal",s,o,Y),X=v(L,"vertical",c,a,k),W=function(t){r.get(t)?r.get(t).forEach(function(e){l[h.get(e)]=H.get(t)}):l[h.get(t)]=H.get(t)},z=!0,V=!1,B=void 0;try{for(var j,q=H.keys()[Symbol.iterator]();!(z=(j=q.next()).done);z=!0){var $=j.value;W($)}}catch(t){V=!0,B=t}finally{try{!z&&q.return&&q.return()}finally{if(V)throw B}}var Z=function(t){n.get(t)?n.get(t).forEach(function(e){d[h.get(e)]=X.get(t)}):d[h.get(t)]=X.get(t)},Q=!0,J=!1,K=void 0;try{for(var tt,te=X.keys()[Symbol.iterator]();!(Q=(tt=te.next()).done);Q=!0){var $=tt.value;Z($)}}catch(t){J=!0,K=t}finally{try{!Q&&te.return&&te.return()}finally{if(J)throw K}}}()}for(var J=0;J<c.length;J++){var K=c[J];null==K.getChild()&&K.setCenter(l[h.get(K.id)],d[h.get(K.id)])}},t.exports=h},551:e=>{e.exports=t}},i={},function t(r){var n=i[r];if(void 0!==n)return n.exports;var o=i[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(45)},t.exports=r(i(12591))},12591:function(t){var e;e=function(){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=28)}([function(t,e,i){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(8),o=i(9);function a(t,e,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=t,this.target=e}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.getSource=function(){return this.source},a.prototype.getTarget=function(){return this.target},a.prototype.isInterGraph=function(){return this.isInterGraph},a.prototype.getLength=function(){return this.length},a.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},a.prototype.getBendpoints=function(){return this.bendpoints},a.prototype.getLca=function(){return this.lca},a.prototype.getSourceInLca=function(){return this.sourceInLca},a.prototype.getTargetInLca=function(){return this.targetInLca},a.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},a.prototype.getOtherEndInGraph=function(t,e){for(var i=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(i.getOwner()==e)return i;if(i.getOwner()==r)break;i=i.getOwner().getParent()}return null},a.prototype.updateLength=function(){var t=[,,,,];this.isOverlapingSourceAndTarget=n.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},a.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=a},function(t,e,i){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(13),a=i(0),s=i(16),h=i(5);function l(t,e,i,a){null==i&&null==a&&(a=e),r.call(this,a),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=n.MIN_VALUE,this.inclusionTreeDepth=n.MAX_VALUE,this.vGraphObject=a,this.edges=[],this.graphManager=t,null!=i&&null!=e?this.rect=new o(e.x,e.y,i.width,i.height):this.rect=new o}for(var d in l.prototype=Object.create(r.prototype),r)l[d]=r[d];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(t){this.rect.width=t},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(t){this.rect.height=t},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},l.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},l.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},l.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},l.prototype.getEdgeListToNode=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.target==t){if(r.source!=i)throw"Incorrect edge source!";e.push(r)}}),e},l.prototype.getEdgesBetween=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.source!=i&&r.target!=i)throw"Incorrect edge source and/or target";(r.target==t||r.source==t)&&e.push(r)}),e},l.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach(function(i){if(i.source==e)t.add(i.target);else{if(i.target!=e)throw"Incorrect incidency!";t.add(i.source)}}),t},l.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),i=0;i<e.length;i++)e[i].withChildren().forEach(function(e){t.add(e)});return t},l.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var e=this.child.getNodes(),i=0;i<e.length;i++)t+=e[i].getNoOfChildren();return 0==t&&(t=1),t},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},l.prototype.scatter=function(){var t,e,i=-a.INITIAL_WORLD_BOUNDARY,r=a.INITIAL_WORLD_BOUNDARY;t=a.WORLD_CENTER_X+s.nextDouble()*(r-i)+i;var n=-a.INITIAL_WORLD_BOUNDARY,o=a.INITIAL_WORLD_BOUNDARY;e=a.WORLD_CENTER_Y+s.nextDouble()*(o-n)+n,this.rect.x=t,this.rect.y=e},l.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),a.NODE_DIMENSIONS_INCLUDE_LABELS){var e=t.getRight()-t.getLeft(),i=t.getBottom()-t.getTop();this.labelWidth&&("left"==this.labelPosHorizontal?(this.rect.x-=this.labelWidth,this.setWidth(e+this.labelWidth)):"center"==this.labelPosHorizontal&&this.labelWidth>e?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(i+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>i?(this.rect.y-=(this.labelHeight-i)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(i+this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==n.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var i=this.rect.y;i>a.WORLD_BOUNDARY?i=a.WORLD_BOUNDARY:i<-a.WORLD_BOUNDARY&&(i=-a.WORLD_BOUNDARY);var r=new h(e,i),n=t.inverseTransformPoint(r);this.setLocation(n.x,n.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,i){"use strict";var r=i(0);function n(){}for(var o in r)n[o]=r[o];n.MAX_ITERATIONS=2500,n.DEFAULT_EDGE_LENGTH=50,n.DEFAULT_SPRING_STRENGTH=.45,n.DEFAULT_REPULSION_STRENGTH=4500,n.DEFAULT_GRAVITY_STRENGTH=.4,n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,n.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,n.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,n.COOLING_ADAPTATION_FACTOR=.33,n.ADAPTATION_LOWER_NODE_LIMIT=1e3,n.ADAPTATION_UPPER_NODE_LIMIT=5e3,n.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,n.MAX_NODE_DISPLACEMENT=3*n.MAX_NODE_DISPLACEMENT_INCREMENTAL,n.MIN_REPULSION_DIST=n.DEFAULT_EDGE_LENGTH/10,n.CONVERGENCE_CHECK_PERIOD=100,n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,n.MIN_EDGE_LENGTH=1,n.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=n},function(t,e,i){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(0),a=i(7),s=i(3),h=i(1),l=i(13),d=i(12),c=i(11);function g(t,e,i){r.call(this,i),this.estimatedSize=n.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var u in g.prototype=Object.create(r.prototype),r)g[u]=r[u];g.prototype.getNodes=function(){return this.nodes},g.prototype.getEdges=function(){return this.edges},g.prototype.getGraphManager=function(){return this.graphManager},g.prototype.getParent=function(){return this.parent},g.prototype.getLeft=function(){return this.left},g.prototype.getRight=function(){return this.right},g.prototype.getTop=function(){return this.top},g.prototype.getBottom=function(){return this.bottom},g.prototype.isConnected=function(){return this.isConnected},g.prototype.add=function(t,e,i){if(null==e&&null==i){if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(t)>-1)throw"Node already in graph!";return t.owner=this,this.getNodes().push(t),t}if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(i)>-1))throw"Source or target not in graph!";if(e.owner!=i.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=i.owner?null:(t.source=e,t.target=i,t.isInterGraph=!1,this.getEdges().push(t),e.edges.push(t),i!=e&&i.edges.push(t),t)},g.prototype.remove=function(t){if(t instanceof s){if(null==t)throw"Node is null!";if(null==t.owner||t.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var e,i=t.edges.slice(),r=i.length,n=0;n<r;n++)(e=i[n]).isInterGraph?this.graphManager.remove(e):e.source.owner.remove(e);var o=this.nodes.indexOf(t);if(-1==o)throw"Node not in owner node list!";this.nodes.splice(o,1)}else if(t instanceof h){var e=t;if(null==e)throw"Edge is null!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(null==e.source.owner||null==e.target.owner||e.source.owner!=this||e.target.owner!=this)throw"Source and/or target owner is invalid!";var a=e.source.edges.indexOf(e),l=e.target.edges.indexOf(e);if(!(a>-1&&l>-1))throw"Source and/or target doesn't know this edge!";e.source.edges.splice(a,1),e.target!=e.source&&e.target.edges.splice(l,1);var o=e.source.owner.getEdges().indexOf(e);if(-1==o)throw"Not in owner's edge list!";e.source.owner.getEdges().splice(o,1)}},g.prototype.updateLeftTop=function(){for(var t,e,i,r=n.MAX_VALUE,o=n.MAX_VALUE,a=this.getNodes(),s=a.length,h=0;h<s;h++){var l=a[h];t=l.getTop(),e=l.getLeft(),r>t&&(r=t),o>e&&(o=e)}return r==n.MAX_VALUE?null:(i=void 0!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-i,this.top=r-i,new d(this.left,this.top))},g.prototype.updateBounds=function(t){for(var e,i,r,o,a,s=n.MAX_VALUE,h=-n.MAX_VALUE,d=n.MAX_VALUE,c=-n.MAX_VALUE,g=this.nodes,u=g.length,f=0;f<u;f++){var p=g[f];t&&null!=p.child&&p.updateBounds(),e=p.getLeft(),i=p.getRight(),r=p.getTop(),o=p.getBottom(),s>e&&(s=e),h<i&&(h=i),d>r&&(d=r),c<o&&(c=o)}var v=new l(s,d,h-s,c-d);s==n.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=void 0!=g[0].getParent().paddingLeft?g[0].getParent().paddingLeft:this.margin,this.left=v.x-a,this.right=v.x+v.width+a,this.top=v.y-a,this.bottom=v.y+v.height+a},g.calculateBounds=function(t){for(var e,i,r,o,a=n.MAX_VALUE,s=-n.MAX_VALUE,h=n.MAX_VALUE,d=-n.MAX_VALUE,c=t.length,g=0;g<c;g++){var u=t[g];e=u.getLeft(),i=u.getRight(),r=u.getTop(),o=u.getBottom(),a>e&&(a=e),s<i&&(s=i),h>r&&(h=r),d<o&&(d=o)}return new l(a,h,s-a,d-h)},g.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},g.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},g.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,i=e.length,r=0;r<i;r++)t+=e[r].calcEstimatedSize();return 0==t?this.estimatedSize=o.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=t/Math.sqrt(this.nodes.length),this.estimatedSize},g.prototype.updateConnected=function(){var t,e,i=this;if(0==this.nodes.length){this.isConnected=!0;return}var r=new c,n=new Set,o=this.nodes[0];for(o.withChildren().forEach(function(t){r.push(t),n.add(t)});0!==r.length;)for(var a=(t=(o=r.shift()).getEdges()).length,s=0;s<a;s++)null==(e=t[s].getOtherEndInGraph(o,this))||n.has(e)||e.withChildren().forEach(function(t){r.push(t),n.add(t)});if(this.isConnected=!1,n.size>=this.nodes.length){var h=0;n.forEach(function(t){t.owner==i&&h++}),h==this.nodes.length&&(this.isConnected=!0)}},t.exports=g},function(t,e,i){"use strict";var r,n=i(1);function o(t){r=i(6),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),i=this.add(t,e);return this.setRootGraph(i),this.rootGraph},o.prototype.add=function(t,e,i,r,n){if(null==i&&null==r&&null==n){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}n=i,r=e,i=t;var o=r.getOwner(),a=n.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return i.isInterGraph=!1,o.add(i,r,n);if(i.isInterGraph=!0,i.source=r,i.target=n,this.edges.indexOf(i)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(i),null==i.source||null==i.target)throw"Edge source and/or target is null!";if(-1!=i.source.edges.indexOf(i)||-1!=i.target.edges.indexOf(i))throw"Edge already in source and/or target incidency list!";return i.source.edges.push(i),i.target.edges.push(i),i},o.prototype.remove=function(t){if(t instanceof r){if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(t!=this.rootGraph&&(null==t.parent||t.parent.graphManager!=this))throw"Invalid parent node!";for(var e,i,o=[],a=(o=o.concat(t.getEdges())).length,s=0;s<a;s++)e=o[s],t.remove(e);var h=[];a=(h=h.concat(t.getNodes())).length;for(var s=0;s<a;s++)i=h[s],t.remove(i);t==this.rootGraph&&this.setRootGraph(null);var l=this.graphs.indexOf(t);this.graphs.splice(l,1),t.parent=null}else if(t instanceof n){if(null==(e=t))throw"Edge is null!";if(!e.isInterGraph)throw"Not an inter-graph edge!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(-1==e.source.edges.indexOf(e)||-1==e.target.edges.indexOf(e))throw"Source and/or target doesn't know this edge!";var l=e.source.edges.indexOf(e);if(e.source.edges.splice(l,1),l=e.target.edges.indexOf(e),e.target.edges.splice(l,1),null==e.source.owner||null==e.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==e.source.owner.getGraphManager().edges.indexOf(e))throw"Not in owner graph manager's edge list!";var l=e.source.owner.getGraphManager().edges.indexOf(e);e.source.owner.getGraphManager().edges.splice(l,1)}},o.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},o.prototype.getGraphs=function(){return this.graphs},o.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],e=this.getGraphs(),i=e.length,r=0;r<i;r++)t=t.concat(e[r].getNodes());this.allNodes=t}return this.allNodes},o.prototype.resetAllNodes=function(){this.allNodes=null},o.prototype.resetAllEdges=function(){this.allEdges=null},o.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},o.prototype.getAllEdges=function(){if(null==this.allEdges){var t=[],e=this.getGraphs();e.length;for(var i=0;i<e.length;i++)t=t.concat(e[i].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},o.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},o.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},o.prototype.getRoot=function(){return this.rootGraph},o.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},o.prototype.getLayout=function(){return this.layout},o.prototype.isOneAncestorOfOther=function(t,e){if(null==t||null==e)throw"assert failed";if(t==e)return!0;for(var i,r=t.getOwner();null!=(i=r.getParent());){if(i==e)return!0;if(null==(r=i.getOwner()))break}for(r=e.getOwner();null!=(i=r.getParent());){if(i==t)return!0;if(null==(r=i.getOwner()))break}return!1},o.prototype.calcLowestCommonAncestors=function(){for(var t,e,i,r,n,o=this.getAllEdges(),a=o.length,s=0;s<a;s++){if(e=(t=o[s]).source,i=t.target,t.lca=null,t.sourceInLca=e,t.targetInLca=i,e==i){t.lca=e.getOwner();continue}for(r=e.getOwner();null==t.lca;){for(t.targetInLca=i,n=i.getOwner();null==t.lca;){if(n==r){t.lca=n;break}if(n==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=n.getParent(),n=t.targetInLca.getOwner()}if(r==this.rootGraph)break;null==t.lca&&(t.sourceInLca=r.getParent(),r=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}},o.prototype.calcLowestCommonAncestor=function(t,e){if(t==e)return t.getOwner();for(var i=t.getOwner();null!=i;){for(var r=e.getOwner();null!=r;){if(r==i)return r;r=r.getParent().getOwner()}i=i.getParent().getOwner()}return i},o.prototype.calcInclusionTreeDepths=function(t,e){null==t&&null==e&&(t=this.rootGraph,e=1);for(var i,r=t.getNodes(),n=r.length,o=0;o<n;o++)(i=r[o]).inclusionTreeDepth=e,null!=i.child&&this.calcInclusionTreeDepths(i.child,e+1)},o.prototype.includesInvalidEdge=function(){for(var t,e=[],i=this.edges.length,r=0;r<i;r++)t=this.edges[r],this.isOneAncestorOfOther(t.source,t.target)&&e.push(t);for(var r=0;r<e.length;r++)this.remove(e[r]);return!1},t.exports=o},function(t,e,i){"use strict";var r=i(12);function n(){}n.calcSeparationAmount=function(t,e,i,r){if(!t.intersects(e))throw"assert failed";var n=[,,];this.decideDirectionsForOverlappingNodes(t,e,n),i[0]=Math.min(t.getRight(),e.getRight())-Math.max(t.x,e.x),i[1]=Math.min(t.getBottom(),e.getBottom())-Math.max(t.y,e.y),t.getX()<=e.getX()&&t.getRight()>=e.getRight()?i[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(i[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(i[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*i[0],s=i[1]/o;i[0]<s?s=i[0]:a=i[1],i[0]=-1*n[0]*(s/2+r),i[1]=-1*n[1]*(a/2+r)},n.decideDirectionsForOverlappingNodes=function(t,e,i){t.getCenterX()<e.getCenterX()?i[0]=-1:i[0]=1,t.getCenterY()<e.getCenterY()?i[1]=-1:i[1]=1},n.getIntersection2=function(t,e,i){var r=t.getCenterX(),n=t.getCenterY(),o=e.getCenterX(),a=e.getCenterY();if(t.intersects(e))return i[0]=r,i[1]=n,i[2]=o,i[3]=a,!0;var s=t.getX(),h=t.getY(),l=t.getRight(),d=t.getX(),c=t.getBottom(),g=t.getRight(),u=t.getWidthHalf(),f=t.getHeightHalf(),p=e.getX(),v=e.getY(),y=e.getRight(),m=e.getX(),E=e.getBottom(),N=e.getRight(),T=e.getWidthHalf(),A=e.getHeightHalf(),L=!1,w=!1;if(r===o)n>a?(i[0]=r,i[1]=h,i[2]=o,i[3]=E):n<a&&(i[0]=r,i[1]=c,i[2]=o,i[3]=v);else if(n===a)r>o?(i[0]=s,i[1]=n,i[2]=y,i[3]=a):r<o&&(i[0]=l,i[1]=n,i[2]=p,i[3]=a);else{var _=t.height/t.width,I=e.height/e.width,C=(a-n)/(o-r),M=void 0,x=void 0,O=void 0,D=void 0,R=void 0,b=void 0;if(-_===C?(r>o?(i[0]=d,i[1]=c):(i[0]=l,i[1]=h),L=!0):_===C&&(r>o?(i[0]=s,i[1]=h):(i[0]=g,i[1]=c),L=!0),-I===C?(o>r?(i[2]=m,i[3]=E):(i[2]=y,i[3]=v),w=!0):I===C&&(o>r?(i[2]=p,i[3]=v):(i[2]=N,i[3]=E),w=!0),L&&w)return!1;if(r>o?n>a?(M=this.getCardinalDirection(_,C,4),x=this.getCardinalDirection(I,C,2)):(M=this.getCardinalDirection(-_,C,3),x=this.getCardinalDirection(-I,C,1)):n>a?(M=this.getCardinalDirection(-_,C,1),x=this.getCardinalDirection(-I,C,3)):(M=this.getCardinalDirection(_,C,2),x=this.getCardinalDirection(I,C,4)),!L)switch(M){case 1:D=h,O=r+-f/C,i[0]=O,i[1]=D;break;case 2:O=g,D=n+u*C,i[0]=O,i[1]=D;break;case 3:D=c,O=r+f/C,i[0]=O,i[1]=D;break;case 4:O=d,D=n+-u*C,i[0]=O,i[1]=D}if(!w)switch(x){case 1:b=v,R=o+-A/C,i[2]=R,i[3]=b;break;case 2:R=N,b=a+T*C,i[2]=R,i[3]=b;break;case 3:b=E,R=o+A/C,i[2]=R,i[3]=b;break;case 4:R=m,b=a+-T*C,i[2]=R,i[3]=b}}return!1},n.getCardinalDirection=function(t,e,i){return t>e?i:1+i%4},n.getIntersection=function(t,e,i,n){if(null==n)return this.getIntersection2(t,e,i);var o=t.x,a=t.y,s=e.x,h=e.y,l=i.x,d=i.y,c=n.x,g=n.y,u=void 0,f=void 0,p=void 0,v=void 0,y=void 0,m=void 0,E=void 0,N=void 0,T=void 0;return(p=h-a,y=o-s,E=s*a-o*h,v=g-d,m=l-c,N=c*d-l*g,0==(T=p*m-v*y))?null:new r((y*N-m*E)/T,(v*E-p*N)/T)},n.angleOfVector=function(t,e,i,r){var n=void 0;return t!==i?(n=Math.atan((r-e)/(i-t)),i<t?n+=Math.PI:r<e&&(n+=this.TWO_PI)):n=r<e?this.ONE_AND_HALF_PI:this.HALF_PI,n},n.doIntersect=function(t,e,i,r){var n=t.x,o=t.y,a=e.x,s=e.y,h=i.x,l=i.y,d=r.x,c=r.y,g=(a-n)*(c-l)-(d-h)*(s-o);if(0===g)return!1;var u=((c-l)*(d-n)+(h-d)*(c-o))/g,f=((o-s)*(d-n)+(a-n)*(c-o))/g;return 0<u&&u<1&&0<f&&f<1},n.findCircleLineIntersections=function(t,e,i,r,n,o,a){var s=(i-t)*(i-t)+(r-e)*(r-e),h=2*((t-n)*(i-t)+(e-o)*(r-e)),l=(t-n)*(t-n)+(e-o)*(e-o)-a*a;if(!(h*h-4*s*l>=0))return null;var d=(-h+Math.sqrt(h*h-4*s*l))/(2*s),c=(-h-Math.sqrt(h*h-4*s*l))/(2*s);return d>=0&&d<=1?[d]:c>=0&&c<=1?[c]:null},n.HALF_PI=.5*Math.PI,n.ONE_AND_HALF_PI=1.5*Math.PI,n.TWO_PI=2*Math.PI,n.THREE_PI=3*Math.PI,t.exports=n},function(t,e,i){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,i){"use strict";function r(){}r.MAX_VALUE=0x7fffffff,r.MIN_VALUE=-0x80000000,t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=function(t){return{value:t,next:null,prev:null}},o=function(t,e,i,r){return null!==t?t.next=e:r.head=e,null!==i?i.prev=e:r.tail=e,e.prev=t,e.next=i,r.length++,e},a=function(t,e){var i=t.prev,r=t.next;return null!==i?i.next=r:e.head=r,null!==r?r.prev=i:e.tail=i,t.prev=t.next=null,e.length--,t},s=function(){function t(e){var i=this;(function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")})(this,t),this.length=0,this.head=null,this.tail=null,null!=e&&e.forEach(function(t){return i.push(t)})}return r(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,e){return o(e.prev,n(t),e,this)}},{key:"insertAfter",value:function(t,e){return o(e,n(t),e.next,this)}},{key:"insertNodeBefore",value:function(t,e){return o(e.prev,t,e,this)}},{key:"insertNodeAfter",value:function(t,e){return o(e,t,e.next,this)}},{key:"push",value:function(t){return o(this.tail,n(t),null,this)}},{key:"unshift",value:function(t){return o(null,n(t),this.head,this)}},{key:"remove",value:function(t){return a(t,this)}},{key:"pop",value:function(){return a(this.tail,this).value}},{key:"popNode",value:function(){return a(this.tail,this)}},{key:"shift",value:function(){return a(this.head,this).value}},{key:"shiftNode",value:function(){return a(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var e=1,i=this.head;e<t;)i=i.next,e++;return i.value}}},{key:"set_object_at",value:function(t,e){if(t<=this.length()){for(var i=1,r=this.head;i<t;)r=r.next,i++;r.value=e}}}]),t}();t.exports=s},function(t,e,i){"use strict";function r(t,e,i){this.x=null,this.y=null,null==t&&null==e&&null==i?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof e&&null==i?(this.x=t,this.y=e):"Point"==t.constructor.name&&null==e&&null==i&&(i=t,this.x=i.x,this.y=i.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(t,e,i){"Point"==t.constructor.name&&null==e&&null==i?(i=t,this.setLocation(i.x,i.y)):"number"==typeof t&&"number"==typeof e&&null==i&&(parseInt(t)==t&&parseInt(e)==e?this.move(t,e):(this.x=Math.floor(t+.5),this.y=Math.floor(e+.5)))},r.prototype.move=function(t,e){this.x=t,this.y=e},r.prototype.translate=function(t,e){this.x+=t,this.y+=e},r.prototype.equals=function(t){return"Point"==t.constructor.name?this.x==t.x&&this.y==t.y:this==t},r.prototype.toString=function(){return new r().constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=r},function(t,e,i){"use strict";function r(t,e,i,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=e&&null!=i&&null!=r&&(this.x=t,this.y=e,this.width=i,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(t){this.x=t},r.prototype.getY=function(){return this.y},r.prototype.setY=function(t){this.y=t},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(t){return!(this.getRight()<t.x||this.getBottom()<t.y||t.getRight()<this.x||t.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},t.exports=r},function(t,e,i){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function n(){}n.lastID=0,n.createID=function(t){return n.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=n.getString(),n.lastID++),t.uniqueID)},n.getString=function(t){return null==t&&(t=n.lastID),"Object#"+t},n.isPrimitive=function(t){var e=void 0===t?"undefined":r(t);return null==t||"object"!=e&&"function"!=e},t.exports=n},function(t,e,i){"use strict";function r(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}var n=i(0),o=i(7),a=i(3),s=i(1),h=i(6),l=i(5),d=i(17),c=i(29);function g(t){c.call(this),this.layoutQuality=n.QUALITY,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=n.DEFAULT_INCREMENTAL,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new o(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}g.RANDOM_SEED=1,g.prototype=Object.create(c.prototype),g.prototype.getGraphManager=function(){return this.graphManager},g.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},g.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},g.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},g.prototype.newGraphManager=function(){var t=new o(this);return this.graphManager=t,t},g.prototype.newGraph=function(t){return new h(null,this.graphManager,t)},g.prototype.newNode=function(t){return new a(this.graphManager,t)},g.prototype.newEdge=function(t){return new s(null,null,t)},g.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},g.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==n.ANIMATE&&(t&&!this.isSubLayout&&this.doPostLayout(),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},g.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},g.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),e=0;e<t.length;e++)t[e];for(var i=this.graphManager.getRoot().getNodes(),e=0;e<i.length;e++)i[e];this.update(this.graphManager.getRoot())}},g.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof a){if(null!=t.getChild())for(var e=t.getChild().getNodes(),i=0;i<e.length;i++)update(e[i]);null!=t.vGraphObject&&t.vGraphObject.update(t)}else t instanceof s?null!=t.vGraphObject&&t.vGraphObject.update(t):t instanceof h&&null!=t.vGraphObject&&t.vGraphObject.update(t)},g.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=n.QUALITY,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=n.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},g.prototype.transform=function(t){if(void 0==t)this.transform(new l(0,0));else{var e=new d,i=this.graphManager.getRoot().updateLeftTop();if(null!=i){e.setWorldOrgX(t.x),e.setWorldOrgY(t.y),e.setDeviceOrgX(i.x),e.setDeviceOrgY(i.y);for(var r=this.getAllNodes(),n=0;n<r.length;n++)r[n].transform(e)}}},g.prototype.positionNodesRandomly=function(t){if(void 0==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var e,i,r=t.getNodes(),n=0;n<r.length;n++)null==(i=(e=r[n]).getChild())?e.scatter():0==i.getNodes().length?e.scatter():(this.positionNodesRandomly(i),e.updateBounds())},g.prototype.getFlatForest=function(){for(var t=[],e=!0,i=this.graphManager.getRoot().getNodes(),n=!0,o=0;o<i.length;o++)null!=i[o].getChild()&&(n=!1);if(!n)return t;var a=new Set,s=[],h=new Map,l=[];for(l=l.concat(i);l.length>0&&e;){for(s.push(l[0]);s.length>0&&e;){var d=s[0];s.splice(0,1),a.add(d);for(var c=d.getEdges(),o=0;o<c.length;o++){var g=c[o].getOtherEnd(d);if(h.get(d)!=g){if(a.has(g)){e=!1;break}s.push(g),h.set(g,d)}}}if(e){var u=[].concat(r(a));t.push(u);for(var o=0;o<u.length;o++){var f=u[o],p=l.indexOf(f);p>-1&&l.splice(p,1)}a=new Set,h=new Map}else t=[]}return t},g.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],i=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),n=0;n<t.bendpoints.length;n++){var o=this.newNode(null);o.setRect(new Point(0,0),new Dimension(1,1)),r.add(o);var a=this.newEdge(null);this.graphManager.add(a,i,o),e.add(o),i=o}var a=this.newEdge(null);return this.graphManager.add(a,i,t.target),this.edgeToDummyNodes.set(t,e),t.isInterGraph()?this.graphManager.remove(t):r.remove(t),e},g.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(r(this.edgeToDummyNodes.keys())).concat(t);for(var e=0;e<t.length;e++){var i=t[e];if(i.bendpoints.length>0){for(var n=this.edgeToDummyNodes.get(i),o=0;o<n.length;o++){var a=n[o],s=new l(a.getCenterX(),a.getCenterY()),h=i.bendpoints.get(o);h.x=s.x,h.y=s.y,a.getOwner().remove(a)}this.graphManager.add(i,i.source,i.target)}}},g.transform=function(t,e,i,r){if(void 0==i||void 0==r)return t<=50?(n=9*e/500,o=e/10):(n=9*e/50,o=-8*e),n*t+o;var n,o,a=e;return t<=50?a-=(e-e/i)/50*(50-t):a+=(e*r-e)/50*(t-50),a},g.findCenterOfTree=function(t){var e=[];e=e.concat(t);var i=[],r=new Map,n=!1,o=null;(1==e.length||2==e.length)&&(n=!0,o=e[0]);for(var a=0;a<e.length;a++){var s=e[a],h=s.getNeighborsList().size;r.set(s,s.getNeighborsList().size),1==h&&i.push(s)}var l=[];for(l=l.concat(i);!n;){var d=[];d=d.concat(l),l=[];for(var a=0;a<e.length;a++){var s=e[a],c=e.indexOf(s);c>=0&&e.splice(c,1),s.getNeighborsList().forEach(function(t){if(0>i.indexOf(t)){var e=r.get(t)-1;1==e&&l.push(t),r.set(t,e)}})}i=i.concat(l),(1==e.length||2==e.length)&&(n=!0,o=e[0])}return o},g.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=g},function(t,e,i){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,i){"use strict";var r=i(5);function n(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}n.prototype.getWorldOrgX=function(){return this.lworldOrgX},n.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},n.prototype.getWorldOrgY=function(){return this.lworldOrgY},n.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},n.prototype.getWorldExtX=function(){return this.lworldExtX},n.prototype.setWorldExtX=function(t){this.lworldExtX=t},n.prototype.getWorldExtY=function(){return this.lworldExtY},n.prototype.setWorldExtY=function(t){this.lworldExtY=t},n.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},n.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},n.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},n.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},n.prototype.getDeviceExtX=function(){return this.ldeviceExtX},n.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},n.prototype.getDeviceExtY=function(){return this.ldeviceExtY},n.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},n.prototype.transformX=function(t){var e=0,i=this.lworldExtX;return 0!=i&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/i),e},n.prototype.transformY=function(t){var e=0,i=this.lworldExtY;return 0!=i&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/i),e},n.prototype.inverseTransformX=function(t){var e=0,i=this.ldeviceExtX;return 0!=i&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/i),e},n.prototype.inverseTransformY=function(t){var e=0,i=this.ldeviceExtY;return 0!=i&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/i),e},n.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=n},function(t,e,i){"use strict";var r=i(15),n=i(4),o=i(0),a=i(8),s=i(9);function h(){r.call(this),this.useSmartIdealEdgeLengthCalculation=n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=n.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=n.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=n.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=n.MAX_ITERATIONS}for(var l in h.prototype=Object.create(r.prototype),r)h[l]=r[l];h.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var t,e,i,r,a,s,h,l=this.getGraphManager().getAllEdges(),d=0;d<l.length;d++)e=(t=l[d]).idealLength,t.isInterGraph&&(r=t.getSource(),a=t.getTarget(),s=t.getSourceInLca().getEstimatedSize(),h=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=s+h-2*o.SIMPLE_NODE_SIZE),i=t.getLca().getInclusionTreeDepth(),t.idealLength+=e*n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(r.getInclusionTreeDepth()+a.getInclusionTreeDepth()-2*i))},h.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>n.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),i=0;i<e.length;i++)t=e[i],this.calcSpringForce(t,t.idealLength)},h.prototype.calcRepulsionForces=function(){var t,e,i,r,o,a=!(arguments.length>0)||void 0===arguments[0]||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],h=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t<h.length;t++)i=h[t],this.calculateRepulsionForceOfANode(i,o,a,s),o.add(i);else for(t=0;t<h.length;t++)for(i=h[t],e=t+1;e<h.length;e++)r=h[e],i.getOwner()==r.getOwner()&&this.calcRepulsionForce(i,r)},h.prototype.calcGravitationalForces=function(){for(var t,e=this.getAllNodesToApplyGravitation(),i=0;i<e.length;i++)t=e[i],this.calcGravitationalForce(t)},h.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e=0;e<t.length;e++)t[e].move()},h.prototype.calcSpringForce=function(t,e){var i,r,n,o,a=t.getSource(),s=t.getTarget();if(this.uniformLeafNodeSizes&&null==a.getChild()&&null==s.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(i=t.getLength())&&(n=(r=t.edgeElasticity*(i-e))*(t.lengthX/i),o=r*(t.lengthY/i),a.springForceX+=n,a.springForceY+=o,s.springForceX-=n,s.springForceY-=o)},h.prototype.calcRepulsionForce=function(t,e){var i,r,o,h,l,d,c,g=t.getRect(),u=e.getRect(),f=[,,],p=[,,,,];if(g.intersects(u)){a.calcSeparationAmount(g,u,f,n.DEFAULT_EDGE_LENGTH/2),d=2*f[0],c=2*f[1];var v=t.noOfChildren*e.noOfChildren/(t.noOfChildren+e.noOfChildren);t.repulsionForceX-=v*d,t.repulsionForceY-=v*c,e.repulsionForceX+=v*d,e.repulsionForceY+=v*c}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==e.getChild()?(i=u.getCenterX()-g.getCenterX(),r=u.getCenterY()-g.getCenterY()):(a.getIntersection(g,u,p),i=p[2]-p[0],r=p[3]-p[1]),Math.abs(i)<n.MIN_REPULSION_DIST&&(i=s.sign(i)*n.MIN_REPULSION_DIST),Math.abs(r)<n.MIN_REPULSION_DIST&&(r=s.sign(r)*n.MIN_REPULSION_DIST),h=Math.sqrt(o=i*i+r*r),d=(l=(t.nodeRepulsion/2+e.nodeRepulsion/2)*t.noOfChildren*e.noOfChildren/o)*i/h,c=l*r/h,t.repulsionForceX-=d,t.repulsionForceY-=c,e.repulsionForceX+=d,e.repulsionForceY+=c},h.prototype.calcGravitationalForce=function(t){var e,i,r,n,o,a,s,h;i=((e=t.getOwner()).getRight()+e.getLeft())/2,r=(e.getTop()+e.getBottom())/2,n=t.getCenterX()-i,o=t.getCenterY()-r,a=Math.abs(n)+t.getWidth()/2,s=Math.abs(o)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(a>(h=e.getEstimatedSize()*this.gravityRangeFactor)||s>h)&&(t.gravitationForceX=-this.gravityConstant*n,t.gravitationForceY=-this.gravityConstant*o):(a>(h=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>h)&&(t.gravitationForceX=-this.gravityConstant*n*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},h.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=2>Math.abs(this.totalDisplacement-this.oldTotalDisplacement)),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||e},h.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},h.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,e=this.graphManager.getAllNodes(),i=0;i<e.length;i++)(t=e[i]).noOfChildren=t.getNoOfChildren()},h.prototype.calcGrid=function(t){var e=0,i=0;e=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),i=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var r=Array(e),n=0;n<e;n++)r[n]=Array(i);for(var n=0;n<e;n++)for(var o=0;o<i;o++)r[n][o]=[];return r},h.prototype.addNodeToGrid=function(t,e,i){var r=0,n=0,o=0,a=0;r=parseInt(Math.floor((t.getRect().x-e)/this.repulsionRange)),n=parseInt(Math.floor((t.getRect().width+t.getRect().x-e)/this.repulsionRange)),o=parseInt(Math.floor((t.getRect().y-i)/this.repulsionRange)),a=parseInt(Math.floor((t.getRect().height+t.getRect().y-i)/this.repulsionRange));for(var s=r;s<=n;s++)for(var h=o;h<=a;h++)this.grid[s][h].push(t),t.setGridCoordinates(r,n,o,a)},h.prototype.updateGrid=function(){var t,e,i=this.getAllNodes();for(t=0,this.grid=this.calcGrid(this.graphManager.getRoot());t<i.length;t++)e=i[t],this.addNodeToGrid(e,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},h.prototype.calculateRepulsionForceOfANode=function(t,e,i,r){if(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&i||r){var o,a=new Set;t.surrounding=[];for(var s=this.grid,h=t.startX-1;h<t.finishX+2;h++)for(var l=t.startY-1;l<t.finishY+2;l++)if(!(h<0||l<0||h>=s.length||l>=s[0].length)){for(var d=0;d<s[h][l].length;d++)if(o=s[h][l][d],t.getOwner()==o.getOwner()&&t!=o&&!e.has(o)&&!a.has(o)){var c=Math.abs(t.getCenterX()-o.getCenterX())-(t.getWidth()/2+o.getWidth()/2),g=Math.abs(t.getCenterY()-o.getCenterY())-(t.getHeight()/2+o.getHeight()/2);c<=this.repulsionRange&&g<=this.repulsionRange&&a.add(o)}}t.surrounding=[].concat(function(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}(a))}for(h=0;h<t.surrounding.length;h++)this.calcRepulsionForce(t,t.surrounding[h])},h.prototype.calcRepulsionRange=function(){return 0},t.exports=h},function(t,e,i){"use strict";var r=i(1),n=i(4);function o(t,e,i){r.call(this,t,e,i),this.idealLength=n.DEFAULT_EDGE_LENGTH,this.edgeElasticity=n.DEFAULT_SPRING_STRENGTH}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];t.exports=o},function(t,e,i){"use strict";var r=i(3),n=i(4);function o(t,e,i,o){r.call(this,t,e,i,o),this.nodeRepulsion=n.DEFAULT_REPULSION_STRENGTH,this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.setGridCoordinates=function(t,e,i,r){this.startX=t,this.finishX=e,this.startY=i,this.finishY=r},t.exports=o},function(t,e,i){"use strict";function r(t,e){this.width=0,this.height=0,null!==t&&null!==e&&(this.height=e,this.width=t)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},t.exports=r},function(t,e,i){"use strict";var r=i(14);function n(){this.map={},this.keys=[]}n.prototype.put=function(t,e){var i=r.createID(t);this.contains(i)||(this.map[i]=e,this.keys.push(t))},n.prototype.contains=function(t){return r.createID(t),null!=this.map[t]},n.prototype.get=function(t){var e=r.createID(t);return this.map[e]},n.prototype.keySet=function(){return this.keys},t.exports=n},function(t,e,i){"use strict";var r=i(14);function n(){this.set={}}n.prototype.add=function(t){var e=r.createID(t);this.contains(e)||(this.set[e]=t)},n.prototype.remove=function(t){delete this.set[r.createID(t)]},n.prototype.clear=function(){this.set={}},n.prototype.contains=function(t){return this.set[r.createID(t)]==t},n.prototype.isEmpty=function(){return 0===this.size()},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAllTo=function(t){for(var e=Object.keys(this.set),i=e.length,r=0;r<i;r++)t.push(this.set[e[r]])},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAll=function(t){for(var e=t.length,i=0;i<e;i++){var r=t[i];this.add(r)}},t.exports=n},function(t,e,i){"use strict";function r(){}r.multMat=function(t,e){for(var i=[],r=0;r<t.length;r++){i[r]=[];for(var n=0;n<e[0].length;n++){i[r][n]=0;for(var o=0;o<t[0].length;o++)i[r][n]+=t[r][o]*e[o][n]}}return i},r.transpose=function(t){for(var e=[],i=0;i<t[0].length;i++){e[i]=[];for(var r=0;r<t.length;r++)e[i][r]=t[r][i]}return e},r.multCons=function(t,e){for(var i=[],r=0;r<t.length;r++)i[r]=t[r]*e;return i},r.minusOp=function(t,e){for(var i=[],r=0;r<t.length;r++)i[r]=t[r]-e[r];return i},r.dotProduct=function(t,e){for(var i=0,r=0;r<t.length;r++)i+=t[r]*e[r];return i},r.mag=function(t){return Math.sqrt(this.dotProduct(t,t))},r.normalize=function(t){for(var e=[],i=this.mag(t),r=0;r<t.length;r++)e[r]=t[r]/i;return e},r.multGamma=function(t){for(var e=[],i=0,r=0;r<t.length;r++)i+=t[r];i*=-1/t.length;for(var n=0;n<t.length;n++)e[n]=i+t[n];return e},r.multL=function(t,e,i){for(var r=[],n=[],o=[],a=0;a<e[0].length;a++){for(var s=0,h=0;h<e.length;h++)s+=-.5*e[h][a]*t[h];n[a]=s}for(var l=0;l<i.length;l++){for(var d=0,c=0;c<i.length;c++)d+=i[l][c]*n[c];o[l]=d}for(var g=0;g<e.length;g++){for(var u=0,f=0;f<e[0].length;f++)u+=e[g][f]*o[f];r[g]=u}return r},t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=i(11),o=function(){function t(e,i){(function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")})(this,t),(null!==i||void 0!==i)&&(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=e instanceof n?e.size():e.length,this._quicksort(e,0,r-1)}return r(t,[{key:"_quicksort",value:function(t,e,i){if(e<i){var r=this._partition(t,e,i);this._quicksort(t,e,r),this._quicksort(t,r+1,i)}}},{key:"_partition",value:function(t,e,i){for(var r=this._get(t,e),n=e,o=i;;){for(;this.compareFunction(r,this._get(t,o));)o--;for(;this.compareFunction(this._get(t,n),r);)n++;if(!(n<o))return o;this._swap(t,n,o),n++,o--}}},{key:"_get",value:function(t,e){return t instanceof n?t.get_object_at(e):t[e]}},{key:"_set",value:function(t,e,i){t instanceof n?t.set_object_at(e,i):t[e]=i}},{key:"_swap",value:function(t,e,i){var r=this._get(t,e);this._set(t,e,this._get(t,i)),this._set(t,i,r)}},{key:"_defaultCompareFunction",value:function(t,e){return e>t}}]),t}();t.exports=o},function(t,e,i){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var i=[],r=0;r<e[0];r++)i.push(t(e.slice(1)));return i}([this.m,e]),this.V=function t(e){if(0==e.length)return 0;for(var i=[],r=0;r<e[0];r++)i.push(t(e.slice(1)));return i}([this.n,this.n]);for(var i=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.n),n=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),o=Math.min(this.m-1,this.n),a=Math.max(0,Math.min(this.n-2,this.m)),s=0;s<Math.max(o,a);s++){if(s<o){this.s[s]=0;for(var h=s;h<this.m;h++)this.s[s]=r.hypot(this.s[s],t[h][s]);if(0!==this.s[s]){t[s][s]<0&&(this.s[s]=-this.s[s]);for(var l=s;l<this.m;l++)t[l][s]/=this.s[s];t[s][s]+=1}this.s[s]=-this.s[s]}for(var d=s+1;d<this.n;d++){if(p=s<o,v=0!==this.s[s],p&&v){for(var c=0,g=s;g<this.m;g++)c+=t[g][s]*t[g][d];c=-c/t[s][s];for(var u=s;u<this.m;u++)t[u][d]+=c*t[u][s]}i[d]=t[s][d]}if(y=s<o,y)for(var f=s;f<this.m;f++)this.U[f][s]=t[f][s];if(s<a){i[s]=0;for(var p,v,y,m,E,N=s+1;N<this.n;N++)i[s]=r.hypot(i[s],i[N]);if(0!==i[s]){i[s+1]<0&&(i[s]=-i[s]);for(var T=s+1;T<this.n;T++)i[T]/=i[s];i[s+1]+=1}if(i[s]=-i[s],m=s+1<this.m,E=0!==i[s],m&&E){for(var A=s+1;A<this.m;A++)n[A]=0;for(var L=s+1;L<this.n;L++)for(var w=s+1;w<this.m;w++)n[w]+=i[L]*t[w][L];for(var _=s+1;_<this.n;_++)for(var I=-i[_]/i[s+1],C=s+1;C<this.m;C++)t[C][_]+=I*n[C]}for(var M=s+1;M<this.n;M++)this.V[M][s]=i[M]}}var x=Math.min(this.n,this.m+1);o<this.n&&(this.s[o]=t[o][o]),this.m<x&&(this.s[x-1]=0),a+1<x&&(i[a]=t[a][x-1]),i[x-1]=0;for(var O=o;O<e;O++){for(var D=0;D<this.m;D++)this.U[D][O]=0;this.U[O][O]=1}for(var R=o-1;R>=0;R--)if(0!==this.s[R]){for(var b=R+1;b<e;b++){for(var G=0,F=R;F<this.m;F++)G+=this.U[F][R]*this.U[F][b];G=-G/this.U[R][R];for(var S=R;S<this.m;S++)this.U[S][b]+=G*this.U[S][R]}for(var P=R;P<this.m;P++)this.U[P][R]=-this.U[P][R];this.U[R][R]=1+this.U[R][R];for(var U=0;U<R-1;U++)this.U[U][R]=0}else{for(var Y=0;Y<this.m;Y++)this.U[Y][R]=0;this.U[R][R]=1}for(var k=this.n-1;k>=0;k--){if(td=k<a,tc=0!==i[k],td&&tc)for(var H=k+1;H<e;H++){for(var X=0,W=k+1;W<this.n;W++)X+=this.V[W][k]*this.V[W][H];X=-X/this.V[k+1][k];for(var z=k+1;z<this.n;z++)this.V[z][H]+=X*this.V[z][k]}for(var V=0;V<this.n;V++)this.V[V][k]=0;this.V[k][k]=1}for(var B=x-1,j=0;x>0;){var q=void 0,$=void 0;for(q=x-2;q>=-1&&-1!==q;q--)if(Math.abs(i[q])<=16033346880071782e-307+2220446049250313e-31*(Math.abs(this.s[q])+Math.abs(this.s[q+1]))){i[q]=0;break}if(q===x-2)$=4;else{var Z=void 0;for(Z=x-1;Z>=q&&Z!==q;Z--){var Q=(Z!==x?Math.abs(i[Z]):0)+(Z!==q+1?Math.abs(i[Z-1]):0);if(Math.abs(this.s[Z])<=16033346880071782e-307+2220446049250313e-31*Q){this.s[Z]=0;break}}Z===q?$=3:Z===x-1?$=1:($=2,q=Z)}switch(q++,$){case 1:var J=i[x-2];i[x-2]=0;for(var K=x-2;K>=q;K--){var tt=r.hypot(this.s[K],J),te=this.s[K]/tt,ti=J/tt;this.s[K]=tt,K!==q&&(J=-ti*i[K-1],i[K-1]=te*i[K-1]);for(var tr=0;tr<this.n;tr++)tt=te*this.V[tr][K]+ti*this.V[tr][x-1],this.V[tr][x-1]=-ti*this.V[tr][K]+te*this.V[tr][x-1],this.V[tr][K]=tt}break;case 2:var tn=i[q-1];i[q-1]=0;for(var to=q;to<x;to++){var ta=r.hypot(this.s[to],tn),ts=this.s[to]/ta,th=tn/ta;this.s[to]=ta,tn=-th*i[to],i[to]=ts*i[to];for(var tl=0;tl<this.m;tl++)ta=ts*this.U[tl][to]+th*this.U[tl][q-1],this.U[tl][q-1]=-th*this.U[tl][to]+ts*this.U[tl][q-1],this.U[tl][to]=ta}break;case 3:var td,tc,tg,tu,tf=Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[x-1]),Math.abs(this.s[x-2])),Math.abs(i[x-2])),Math.abs(this.s[q])),Math.abs(i[q])),tp=this.s[x-1]/tf,tv=this.s[x-2]/tf,ty=i[x-2]/tf,tm=this.s[q]/tf,tE=i[q]/tf,tN=((tv+tp)*(tv-tp)+ty*ty)/2,tT=tp*ty*(tp*ty),tA=0;tg=0!==tN,tu=0!==tT,(tg||tu)&&(tA=Math.sqrt(tN*tN+tT),tN<0&&(tA=-tA),tA=tT/(tN+tA));for(var tL=(tm+tp)*(tm-tp)+tA,tw=tm*tE,t_=q;t_<x-1;t_++){var tI=r.hypot(tL,tw),tC=tL/tI,tM=tw/tI;t_!==q&&(i[t_-1]=tI),tL=tC*this.s[t_]+tM*i[t_],i[t_]=tC*i[t_]-tM*this.s[t_],tw=tM*this.s[t_+1],this.s[t_+1]=tC*this.s[t_+1];for(var tx=0;tx<this.n;tx++)tI=tC*this.V[tx][t_]+tM*this.V[tx][t_+1],this.V[tx][t_+1]=-tM*this.V[tx][t_]+tC*this.V[tx][t_+1],this.V[tx][t_]=tI;if(tI=r.hypot(tL,tw),tC=tL/tI,tM=tw/tI,this.s[t_]=tI,tL=tC*i[t_]+tM*this.s[t_+1],this.s[t_+1]=-tM*i[t_]+tC*this.s[t_+1],tw=tM*i[t_+1],i[t_+1]=tC*i[t_+1],t_<this.m-1)for(var tO=0;tO<this.m;tO++)tI=tC*this.U[tO][t_]+tM*this.U[tO][t_+1],this.U[tO][t_+1]=-tM*this.U[tO][t_]+tC*this.U[tO][t_+1],this.U[tO][t_]=tI}i[x-2]=tL;break;case 4:if(this.s[q]<=0&&(this.s[q]=this.s[q]<0?-this.s[q]:0,1))for(var tD=0;tD<=B;tD++)this.V[tD][q]=-this.V[tD][q];for(;q<B&&!(this.s[q]>=this.s[q+1]);){var tR=this.s[q];if(this.s[q]=this.s[q+1],this.s[q+1]=tR,q<this.n-1)for(var tb=0;tb<this.n;tb++)tR=this.V[tb][q+1],this.V[tb][q+1]=this.V[tb][q],this.V[tb][q]=tR;if(q<this.m-1)for(var tG=0;tG<this.m;tG++)tR=this.U[tG][q+1],this.U[tG][q+1]=this.U[tG][q],this.U[tG][q]=tR;q++}x--}}return{U:this.U,V:this.V,S:this.s}},r.hypot=function(t,e){var i=void 0;return Math.abs(t)>Math.abs(e)?(i=e/t,i=Math.abs(t)*Math.sqrt(1+i*i)):0!=e?(i=t/e,i=Math.abs(e)*Math.sqrt(1+i*i)):i=0,i},t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=function(){function t(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;(function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")})(this,t),this.sequence1=e,this.sequence2=i,this.match_score=r,this.mismatch_penalty=n,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=i.length+1,this.grid=Array(this.iMax);for(var a=0;a<this.iMax;a++){this.grid[a]=Array(this.jMax);for(var s=0;s<this.jMax;s++)this.grid[a][s]=0}this.tracebackGrid=Array(this.iMax);for(var h=0;h<this.iMax;h++){this.tracebackGrid[h]=Array(this.jMax);for(var l=0;l<this.jMax;l++)this.tracebackGrid[h][l]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var e=1;e<this.iMax;e++)this.grid[e][0]=this.grid[e-1][0]+this.gap_penalty,this.tracebackGrid[e][0]=[!1,!0,!1];for(var i=1;i<this.iMax;i++)for(var r=1;r<this.jMax;r++){var n=void 0,o=[this.sequence1[i-1]===this.sequence2[r-1]?this.grid[i-1][r-1]+this.match_score:this.grid[i-1][r-1]+this.mismatch_penalty,this.grid[i-1][r]+this.gap_penalty,this.grid[i][r-1]+this.gap_penalty],a=this.arrayAllMaxIndexes(o);this.grid[i][r]=o[a[0]],this.tracebackGrid[i][r]=[a.includes(0),a.includes(1),a.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var e=t[0],i=this.tracebackGrid[e.pos[0]][e.pos[1]];i[0]&&t.push({pos:[e.pos[0]-1,e.pos[1]-1],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),i[1]&&t.push({pos:[e.pos[0]-1,e.pos[1]],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:"-"+e.seq2}),i[2]&&t.push({pos:[e.pos[0],e.pos[1]-1],seq1:"-"+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),0===e.pos[0]&&0===e.pos[1]&&this.alignments.push({sequence1:e.seq1,sequence2:e.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,e){for(var i=[],r=-1;-1!==(r=t.indexOf(e,r+1));)i.push(r);return i}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}();t.exports=n},function(t,e,i){"use strict";var r=function(){};r.FDLayout=i(18),r.FDLayoutConstants=i(4),r.FDLayoutEdge=i(19),r.FDLayoutNode=i(20),r.DimensionD=i(21),r.HashMap=i(22),r.HashSet=i(23),r.IGeometry=i(8),r.IMath=i(9),r.Integer=i(10),r.Point=i(12),r.PointD=i(5),r.RandomSeed=i(16),r.RectangleD=i(13),r.Transform=i(17),r.UniqueIDGeneretor=i(14),r.Quicksort=i(25),r.LinkedList=i(11),r.LGraphObject=i(2),r.LGraph=i(6),r.LEdge=i(1),r.LGraphManager=i(7),r.LNode=i(3),r.Layout=i(15),r.LayoutConstants=i(0),r.NeedlemanWunsch=i(27),r.Matrix=i(24),r.SVD=i(26),t.exports=r},function(t,e,i){"use strict";function r(){this.listeners=[]}var n=r.prototype;n.addListener=function(t,e){this.listeners.push({event:t,callback:e})},n.removeListener=function(t,e){for(var i=this.listeners.length;i>=0;i--){var r=this.listeners[i];r.event===t&&r.callback===e&&this.listeners.splice(i,1)}},n.emit=function(t,e){for(var i=0;i<this.listeners.length;i++){var r=this.listeners[i];t===r.event&&r.callback(e)}},t.exports=r}])},t.exports=e()},14056:function(t,e,i){"use strict";i.d(e,{diagram:()=>tc});var r=i(37434),n=i(19039),o=i(20849),a=i(63170);i(84890);var s=i(70466),h=i(28923),l=i(16750),d=i(3399),c=i(29287),g=i(11141),u={L:"left",R:"right",T:"top",B:"bottom"},f={L:(0,h.eW)(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:(0,h.eW)(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:(0,h.eW)(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:(0,h.eW)(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},p={L:(0,h.eW)((t,e)=>t-e+2,"L"),R:(0,h.eW)((t,e)=>t-2,"R"),T:(0,h.eW)((t,e)=>t-e+2,"T"),B:(0,h.eW)((t,e)=>t-2,"B")},v=(0,h.eW)(function(t){return m(t)?"L"===t?"R":"L":"T"===t?"B":"T"},"getOppositeArchitectureDirection"),y=(0,h.eW)(function(t){return"L"===t||"R"===t||"T"===t||"B"===t},"isArchitectureDirection"),m=(0,h.eW)(function(t){return"L"===t||"R"===t},"isArchitectureDirectionX"),E=(0,h.eW)(function(t){return"T"===t||"B"===t},"isArchitectureDirectionY"),N=(0,h.eW)(function(t,e){let i=m(t)&&E(e),r=E(t)&&m(e);return i||r},"isArchitectureDirectionXY"),T=(0,h.eW)(function(t){let e=t[0],i=t[1],r=m(e)&&E(i),n=E(e)&&m(i);return r||n},"isArchitecturePairXY"),A=(0,h.eW)(function(t){return"LL"!==t&&"RR"!==t&&"TT"!==t&&"BB"!==t},"isValidArchitectureDirectionPair"),L=(0,h.eW)(function(t,e){let i=`${t}${e}`;return A(i)?i:void 0},"getArchitectureDirectionPair"),w=(0,h.eW)(function([t,e],i){let r=i[0],n=i[1];return m(r)?E(n)?[t+("L"===r?-1:1),e+("T"===n?1:-1)]:[t+("L"===r?-1:1),e]:m(n)?[t+("L"===n?1:-1),e+("T"===r?1:-1)]:[t,e+("T"===r?1:-1)]},"shiftPositionByArchitectureDirectionPair"),_=(0,h.eW)(function(t){return"LT"===t||"TL"===t?[1,1]:"BL"===t||"LB"===t?[1,-1]:"BR"===t||"RB"===t?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),I=(0,h.eW)(function(t){return"service"===t.type},"isArchitectureService"),C=(0,h.eW)(function(t){return"junction"===t.type},"isArchitectureJunction"),M=(0,h.eW)(t=>t.data(),"edgeData"),x=(0,h.eW)(t=>t.data(),"nodeData"),O=h.vZ.architecture,D=new a.A(()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:O,dataStructures:void 0,elements:{}})),R=(0,h.eW)(()=>{D.reset(),(0,h.ZH)()},"clear"),b=(0,h.eW)(function({id:t,icon:e,in:i,title:r,iconText:n}){if(void 0!==D.records.registeredIds[t])throw Error(`The service id [${t}] is already in use by another ${D.records.registeredIds[t]}`);if(void 0!==i){if(t===i)throw Error(`The service [${t}] cannot be placed within itself`);if(void 0===D.records.registeredIds[i])throw Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if("node"===D.records.registeredIds[i])throw Error(`The service [${t}]'s parent is not a group`)}D.records.registeredIds[t]="node",D.records.nodes[t]={id:t,type:"service",icon:e,iconText:n,title:r,edges:[],in:i}},"addService"),G=(0,h.eW)(()=>Object.values(D.records.nodes).filter(I),"getServices"),F=(0,h.eW)(function({id:t,in:e}){D.records.registeredIds[t]="node",D.records.nodes[t]={id:t,type:"junction",edges:[],in:e}},"addJunction"),S=(0,h.eW)(()=>Object.values(D.records.nodes).filter(C),"getJunctions"),P=(0,h.eW)(()=>Object.values(D.records.nodes),"getNodes"),U=(0,h.eW)(t=>D.records.nodes[t],"getNode"),Y=(0,h.eW)(function({id:t,icon:e,in:i,title:r}){if(void 0!==D.records.registeredIds[t])throw Error(`The group id [${t}] is already in use by another ${D.records.registeredIds[t]}`);if(void 0!==i){if(t===i)throw Error(`The group [${t}] cannot be placed within itself`);if(void 0===D.records.registeredIds[i])throw Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if("node"===D.records.registeredIds[i])throw Error(`The group [${t}]'s parent is not a group`)}D.records.registeredIds[t]="group",D.records.groups[t]={id:t,icon:e,title:r,in:i}},"addGroup"),k=(0,h.eW)(()=>Object.values(D.records.groups),"getGroups"),H=(0,h.eW)(function({lhsId:t,rhsId:e,lhsDir:i,rhsDir:r,lhsInto:n,rhsInto:o,lhsGroup:a,rhsGroup:s,title:h}){if(!y(i))throw Error(`Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${i}`);if(!y(r))throw Error(`Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}`);if(void 0===D.records.nodes[t]&&void 0===D.records.groups[t])throw Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(void 0===D.records.nodes[e]&&void 0===D.records.groups[t])throw Error(`The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);let l=D.records.nodes[t].in,d=D.records.nodes[e].in;if(a&&l&&d&&l==d)throw Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(s&&l&&d&&l==d)throw Error(`The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);D.records.edges.push({lhsId:t,lhsDir:i,lhsInto:n,lhsGroup:a,rhsId:e,rhsDir:r,rhsInto:o,rhsGroup:s,title:h}),D.records.nodes[t]&&D.records.nodes[e]&&(D.records.nodes[t].edges.push(D.records.edges[D.records.edges.length-1]),D.records.nodes[e].edges.push(D.records.edges[D.records.edges.length-1]))},"addEdge"),X=(0,h.eW)(()=>D.records.edges,"getEdges"),W=(0,h.eW)(()=>{if(void 0===D.records.dataStructures){let t=Object.entries(D.records.nodes).reduce((t,[e,i])=>(t[e]=i.edges.reduce((t,i)=>{if(i.lhsId===e){let e=L(i.lhsDir,i.rhsDir);e&&(t[e]=i.rhsId)}else{let e=L(i.rhsDir,i.lhsDir);e&&(t[e]=i.lhsId)}return t},{}),t),{}),e=Object.keys(t)[0],i={[e]:1},r=Object.keys(t).reduce((t,i)=>i===e?t:{...t,[i]:1},{}),n=(0,h.eW)(e=>{let n={[e]:[0,0]},o=[e];for(;o.length>0;){let e=o.shift();if(e){i[e]=1,delete r[e];let a=t[e],[s,h]=n[e];Object.entries(a).forEach(([t,e])=>{i[e]||(n[e]=w([s,h],t),o.push(e))})}}return n},"BFS"),o=[n(e)];for(;Object.keys(r).length>0;)o.push(n(Object.keys(r)[0]));D.records.dataStructures={adjList:t,spatialMaps:o}}return D.records.dataStructures},"getDataStructures"),z=(0,h.eW)((t,e)=>{D.records.elements[t]=e},"setElementForId"),V=(0,h.eW)(t=>D.records.elements[t],"getElementById"),B={clear:R,setDiagramTitle:h.g2,getDiagramTitle:h.Kr,setAccTitle:h.GN,getAccTitle:h.eu,setAccDescription:h.U$,getAccDescription:h.Mx,addService:b,getServices:G,addJunction:F,getJunctions:S,getNodes:P,getNode:U,addGroup:Y,getGroups:k,addEdge:H,getEdges:X,setElementForId:z,getElementById:V,getDataStructures:W};function j(t){let e=(0,h.nV)().architecture;return e?.[t]?e[t]:O[t]}(0,h.eW)(j,"getConfigField");var q=(0,h.eW)((t,e)=>{(0,o.A)(t,e),t.groups.map(e.addGroup),t.services.map(t=>e.addService({...t,type:"service"})),t.junctions.map(t=>e.addJunction({...t,type:"junction"})),t.edges.map(e.addEdge)},"populateDb"),$={parse:(0,h.eW)(async t=>{let e=await (0,l.Qc)("architecture",t);h.cM.debug(e),q(e,B)},"parse")},Z=(0,h.eW)(t=>` + .edge { + stroke-width: ${t.archEdgeWidth}; + stroke: ${t.archEdgeColor}; + fill: none; + } + + .arrow { + fill: ${t.archEdgeArrowColor}; + } + + .node-bkg { + fill: none; + stroke: ${t.archGroupBorderColor}; + stroke-width: ${t.archGroupBorderWidth}; + stroke-dasharray: 8; + } + .node-icon-text { + display: flex; + align-items: center; + } + + .node-icon-text > div { + color: #fff; + margin: 1px; + height: fit-content; + text-align: center; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + } +`,"getStyles"),Q=(0,h.eW)(t=>`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${t}</g>`,"wrapIcon"),J={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Q('<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},server:{body:Q('<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>')},disk:{body:Q('<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>')},internet:{body:Q('<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},cloud:{body:Q('<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},unknown:r.cN,blank:{body:Q("")}}},K=(0,h.eW)(async function(t,e){let i=j("padding"),r=j("iconSize"),o=r/2,a=r/6,s=a/2;await Promise.all(e.edges().map(async e=>{let{source:r,sourceDir:l,sourceArrow:d,sourceGroup:c,target:g,targetDir:u,targetArrow:v,targetGroup:y,label:A}=M(e),{x:w,y:I}=e[0].sourceEndpoint(),{x:C,y:x}=e[0].midpoint(),{x:O,y:D}=e[0].targetEndpoint(),R=i+4;if(c&&(m(l)?w+="L"===l?-R:R:I+="T"===l?-R:R+18),y&&(m(u)?O+="L"===u?-R:R:D+="T"===u?-R:R+18),c||B.getNode(r)?.type!=="junction"||(m(l)?w+="L"===l?o:-o:I+="T"===l?o:-o),y||B.getNode(g)?.type!=="junction"||(m(u)?O+="L"===u?o:-o:D+="T"===u?o:-o),e[0]._private.rscratch){let e=t.insert("g");if(e.insert("path").attr("d",`M ${w},${I} L ${C},${x} L${O},${D} `).attr("class","edge"),d){let t=m(l)?p[l](w,a):w-s,i=E(l)?p[l](I,a):I-s;e.insert("polygon").attr("points",f[l](a)).attr("transform",`translate(${t},${i})`).attr("class","arrow")}if(v){let t=m(u)?p[u](O,a):O-s,i=E(u)?p[u](D,a):D-s;e.insert("polygon").attr("points",f[u](a)).attr("transform",`translate(${t},${i})`).attr("class","arrow")}if(A){let t=N(l,u)?"XY":m(l)?"X":"Y",i=0;i="X"===t?Math.abs(w-O):"Y"===t?Math.abs(I-D)/1.5:Math.abs(w-O)/2;let r=e.append("g");if(await (0,n.rw)(r,A,{useHtmlLabels:!1,width:i,classes:"architecture-service-label"},(0,h.nV)()),r.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),"X"===t)r.attr("transform","translate("+C+", "+x+")");else if("Y"===t)r.attr("transform","translate("+C+", "+x+") rotate(-90)");else if("XY"===t){let t=L(l,u);if(t&&T(t)){let e=r.node().getBoundingClientRect(),[i,n]=_(t);r.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*i*n*45})`);let o=r.node().getBoundingClientRect();r.attr("transform",` + translate(${C}, ${x-e.height/2}) + translate(${i*o.width/2}, ${n*o.height/2}) + rotate(${-1*i*n*45}, 0, ${e.height/2}) + `)}}}}}))},"drawEdges"),tt=(0,h.eW)(async function(t,e){let i=.75*j("padding"),o=j("fontSize"),a=j("iconSize")/2;await Promise.all(e.nodes().map(async e=>{let s=x(e);if("group"===s.type){let{h:l,w:d,x1:c,y1:g}=e.boundingBox();t.append("rect").attr("x",c+a).attr("y",g+a).attr("width",d).attr("height",l).attr("class","node-bkg");let u=t.append("g"),f=c,p=g;if(s.icon){let t=u.append("g");t.html(`<g>${await (0,r.s4)(s.icon,{height:i,width:i,fallbackPrefix:J.prefix})}</g>`),t.attr("transform","translate("+(f+a+1)+", "+(p+a+1)+")"),f+=i,p+=o/2-1-2}if(s.label){let t=u.append("g");await (0,n.rw)(t,s.label,{useHtmlLabels:!1,width:d,classes:"architecture-service-label"},(0,h.nV)()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),t.attr("transform","translate("+(f+a+4)+", "+(p+a+2)+")")}}}))},"drawGroups"),te=(0,h.eW)(async function(t,e,i){for(let o of i){let i=e.append("g"),a=j("iconSize");if(o.title){let t=i.append("g");await (0,n.rw)(t,o.title,{useHtmlLabels:!1,width:1.5*a,classes:"architecture-service-label"},(0,h.nV)()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.attr("transform","translate("+a/2+", "+a+")")}let s=i.append("g");if(o.icon)s.html(`<g>${await (0,r.s4)(o.icon,{height:a,width:a,fallbackPrefix:J.prefix})}</g>`);else if(o.iconText){s.html(`<g>${await (0,r.s4)("blank",{height:a,width:a,fallbackPrefix:J.prefix})}</g>`);let t=s.append("g").append("foreignObject").attr("width",a).attr("height",a).append("div").attr("class","node-icon-text").attr("style",`height: ${a}px;`).append("div").html(o.iconText),e=parseInt(window.getComputedStyle(t.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;t.attr("style",`-webkit-line-clamp: ${Math.floor((a-2)/e)};`)}else s.append("path").attr("class","node-bkg").attr("id","node-"+o.id).attr("d",`M0 ${a} v${-a} q0,-5 5,-5 h${a} q5,0 5,5 v${a} H0 Z`);i.attr("class","architecture-service");let{width:l,height:d}=i._groups[0][0].getBBox();o.width=l,o.height=d,t.setElementForId(o.id,i)}return 0},"drawServices"),ti=(0,h.eW)(function(t,e,i){i.forEach(i=>{let r=e.append("g"),n=j("iconSize");r.append("g").append("rect").attr("id","node-"+i.id).attr("fill-opacity","0").attr("width",n).attr("height",n),r.attr("class","architecture-junction");let{width:o,height:a}=r._groups[0][0].getBBox();r.width=o,r.height=a,t.setElementForId(i.id,r)})},"drawJunctions");function tr(t,e){t.forEach(t=>{e.add({group:"nodes",data:{type:"service",id:t.id,icon:t.icon,label:t.title,parent:t.in,width:j("iconSize"),height:j("iconSize")},classes:"node-service"})})}function tn(t,e){t.forEach(t=>{e.add({group:"nodes",data:{type:"junction",id:t.id,parent:t.in,width:j("iconSize"),height:j("iconSize")},classes:"node-junction"})})}function to(t,e){e.nodes().map(e=>{let i=x(e);"group"!==i.type&&(i.x=e.position().x,i.y=e.position().y,t.getElementById(i.id).attr("transform","translate("+(i.x||0)+","+(i.y||0)+")"))})}function ta(t,e){t.forEach(t=>{e.add({group:"nodes",data:{type:"group",id:t.id,icon:t.icon,label:t.title,parent:t.in},classes:"node-group"})})}function ts(t,e){t.forEach(t=>{let{lhsId:i,rhsId:r,lhsInto:n,lhsGroup:o,rhsInto:a,lhsDir:s,rhsDir:h,rhsGroup:l,title:d}=t,c=N(t.lhsDir,t.rhsDir)?"segments":"straight",g={id:`${i}-${r}`,label:d,source:i,sourceDir:s,sourceArrow:n,sourceGroup:o,sourceEndpoint:"L"===s?"0 50%":"R"===s?"100% 50%":"T"===s?"50% 0":"50% 100%",target:r,targetDir:h,targetArrow:a,targetGroup:l,targetEndpoint:"L"===h?"0 50%":"R"===h?"100% 50%":"T"===h?"50% 0":"50% 100%"};e.add({group:"edges",data:g,classes:c})})}function th(t){let[e,i]=t.map(t=>{let e={},i={};return Object.entries(t).forEach(([t,[r,n]])=>{e[n]||(e[n]=[]),i[r]||(i[r]=[]),e[n].push(t),i[r].push(t)}),{horiz:Object.values(e).filter(t=>t.length>1),vert:Object.values(i).filter(t=>t.length>1)}}).reduce(([t,e],{horiz:i,vert:r})=>[[...t,...i],[...e,...r]],[[],[]]);return{horizontal:e,vertical:i}}function tl(t){let e=[],i=(0,h.eW)(t=>`${t[0]},${t[1]}`,"posToStr"),r=(0,h.eW)(t=>t.split(",").map(t=>parseInt(t)),"strToPos");return t.forEach(t=>{let n=Object.fromEntries(Object.entries(t).map(([t,e])=>[i(e),t])),o=[i([0,0])],a={},s={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){let t=o.shift();if(t){a[t]=1;let h=n[t];if(h){let l=r(t);Object.entries(s).forEach(([t,r])=>{let s=i([l[0]+r[0],l[1]+r[1]]),d=n[s];d&&!a[s]&&(o.push(s),e.push({[u[t]]:d,[u[v(t)]]:h,gap:1.5*j("iconSize")}))})}}}}),e}function td(t,e,i,r,{spatialMaps:n}){return new Promise(o=>{let a=(0,g.Ys)("body").append("div").attr("id","cy").attr("style","display:none"),s=(0,d.Z)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${j("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${j("padding")}px`}}]});a.remove(),ta(i,s),tr(t,s),tn(e,s),ts(r,s);let l=th(n),c=tl(n),u=s.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(t){let[e,i]=t.connectedNodes(),{parent:r}=x(e),{parent:n}=x(i);return r===n?1.5*j("iconSize"):.5*j("iconSize")},edgeElasticity(t){let[e,i]=t.connectedNodes(),{parent:r}=x(e),{parent:n}=x(i);return r===n?.45:.001},alignmentConstraint:l,relativePlacementConstraint:c});u.one("layoutstop",()=>{function t(t,e,i,r){let n,o;let{x:a,y:s}=t,{x:h,y:l}=e;o=(r-s+(a-i)*(s-l)/(a-h))/Math.sqrt(1+Math.pow((s-l)/(a-h),2)),n=Math.sqrt(Math.pow(r-s,2)+Math.pow(i-a,2)-Math.pow(o,2))/Math.sqrt(Math.pow(h-a,2)+Math.pow(l-s,2));let d=(h-a)*(r-s)-(l-s)*(i-a);switch(!0){case d>=0:d=1;break;case d<0:d=-1}let c=(h-a)*(i-a)+(l-s)*(r-s);switch(!0){case c>=0:c=1;break;case c<0:c=-1}return{distances:o=Math.abs(o)*d,weights:n*=c}}for(let e of((0,h.eW)(t,"getSegmentWeights"),s.startBatch(),Object.values(s.edges())))if(e.data?.()){let{x:i,y:r}=e.source().position(),{x:n,y:o}=e.target().position();if(i!==n&&r!==o){let i=e.sourceEndpoint(),r=e.targetEndpoint(),{sourceDir:n}=M(e),[o,a]=E(n)?[i.x,r.y]:[r.x,i.y],{weights:s,distances:h}=t(i,r,o,a);e.style("segment-distances",h),e.style("segment-weights",s)}}s.endBatch(),u.run()}),u.run(),s.ready(t=>{h.cM.info("Ready",t),o(s)})})}(0,r.ef)([{name:J.prefix,icons:J}]),d.Z.use(c),(0,h.eW)(tr,"addServices"),(0,h.eW)(tn,"addJunctions"),(0,h.eW)(to,"positionNodes"),(0,h.eW)(ta,"addGroups"),(0,h.eW)(ts,"addEdges"),(0,h.eW)(th,"getAlignments"),(0,h.eW)(tl,"getRelativeConstraints"),(0,h.eW)(td,"layoutArchitecture");var tc={parser:$,db:B,renderer:{draw:(0,h.eW)(async(t,e,i,r)=>{let n=r.db,o=n.getServices(),a=n.getJunctions(),l=n.getGroups(),d=n.getEdges(),c=n.getDataStructures(),g=(0,s.P)(e),u=g.append("g");u.attr("class","architecture-edges");let f=g.append("g");f.attr("class","architecture-services");let p=g.append("g");p.attr("class","architecture-groups"),await te(n,f,o),ti(n,f,a);let v=await td(o,a,l,d,c);await K(u,v),await tt(p,v),to(n,v),(0,h.j7)(void 0,g,j("padding"),j("useMaxWidth"))},"draw")},styles:Z}},63170:function(t,e,i){"use strict";i.d(e,{A:()=>n});var r=i(28923),n=class{constructor(t){this.init=t,this.records=this.init()}static{(0,r.eW)(this,"ImperativeState")}reset(){this.records=this.init()}}},20849:function(t,e,i){"use strict";function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}i.d(e,{A:()=>r}),(0,i(28923).eW)(r,"populateCommonDb")}}]); \ No newline at end of file diff --git a/assets/js/72169416.1846c125.js b/assets/js/72169416.1846c125.js new file mode 100644 index 0000000000..4bb56db00e --- /dev/null +++ b/assets/js/72169416.1846c125.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["98252"],{11577:function(t){t.exports=JSON.parse('{"tag":{"label":"Adoption","permalink":"/blog/tags/adoption","allTagsPath":"/blog/tags","count":2,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/adoption","page":1,"postsPerPage":5,"totalPages":1,"totalCount":2,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/72810b49.3d66724b.js b/assets/js/72810b49.3d66724b.js new file mode 100644 index 0000000000..377d461ac7 --- /dev/null +++ b/assets/js/72810b49.3d66724b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["95113"],{29179:function(e,t,n){n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var i=n(32484),s=n(85893),l=n(80980);let o={mdx:{format:"md"},date:"2019-10-12T20:00"},a="2.0.0-alpha.26",r={authorsImageUrls:[]},c=[];function d(e){let t={a:"a",code:"code",li:"li",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Docs, pages plugin is rewritten in TypeScript"}),"\n",(0,s.jsxs)(t.li,{children:["Docs improvements and tweaks\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Improved metadata which results in smaller bundle size."}),"\n",(0,s.jsx)(t.li,{children:"Docs sidebar can now be more than one level deep, theoretically up to infinity"}),"\n",(0,s.jsx)(t.li,{children:"Collapsible docs sidebar!"}),"\n",(0,s.jsx)(t.li,{children:"Make doc page title larger"}),"\n",(0,s.jsxs)(t.li,{children:["Add ",(0,s.jsx)(t.code,{children:"editUrl"}),' option (URL for editing) to docs plugin. If this field is set, there will be an "Edit this page" link for each doc page. Example: \'',(0,s.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/edit/master/docs",children:"https://github.com/facebook/docusaurus/edit/master/docs"}),"'"]}),"\n",(0,s.jsxs)(t.li,{children:["Add ",(0,s.jsx)(t.code,{children:"showLastUpdateTime"})," and ",(0,s.jsx)(t.code,{children:"showLastUpdateAuthor"})," options to docs plugin to further achieve v1 parity of showing last update data for a particular doc"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.li,{children:"Slight tweaks to the Blog components - blog title is larger now"}),"\n",(0,s.jsxs)(t.li,{children:["Code Blocks\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Change default theme from Night Owl to Palenight"}),"\n",(0,s.jsx)(t.li,{children:"Slight tweaks to playground/preview components"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["Add ",(0,s.jsx)(t.code,{children:"scripts"})," and ",(0,s.jsx)(t.code,{children:"stylesheets"})," field to ",(0,s.jsx)(t.code,{children:"docusaurus.config.js"})]}),"\n",(0,s.jsx)(t.li,{children:"More documentation..."}),"\n"]})}function h(e={}){let{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},80980:function(e,t,n){n.d(t,{Z:()=>a,a:()=>o});var i=n(67294);let s={},l=i.createContext(s);function o(e){let t=i.useContext(l);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(l.Provider,{value:t},e.children)}},32484:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.26","source":"@site/changelog/source/2.0.0-alpha.26.md","title":"2.0.0-alpha.26","description":"- Docs, pages plugin is rewritten in TypeScript","date":"2019-10-12T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-10-12T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.27","permalink":"/changelog/2.0.0-alpha.27"},"nextItem":{"title":"2.0.0-alpha.25","permalink":"/changelog/2.0.0-alpha.25"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/728bdbb9.492eec8b.js b/assets/js/728bdbb9.492eec8b.js new file mode 100644 index 0000000000..3f0669c3b5 --- /dev/null +++ b/assets/js/728bdbb9.492eec8b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["26300"],{15286:function(t,e,n){n.r(e),n.d(e,{assets:()=>r,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var o=n(61125),s=n(85893),a=n(80980);let i={tags:["paginated-tag"]},l="Post with duplicate title",r={authorsImageUrls:[]},u=[];function p(t){let e={p:"p",...(0,a.a)(),...t.components};return(0,s.jsx)(e.p,{children:"I hope I'm still here"})}function d(t={}){let{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(p,{...t})}):p(t)}},80980:function(t,e,n){n.d(e,{Z:()=>l,a:()=>i});var o=n(67294);let s={},a=o.createContext(s);function i(t){let e=o.useContext(a);return o.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function l(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:i(t.components),o.createElement(a.Provider,{value:e},t.children)}},61125:function(t){t.exports=JSON.parse('{"permalink":"/tests/blog/2021/11/13/dup-title","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-11-13-dup-title.mdx","source":"@site/_dogfooding/_blog tests/2021-11-13-dup-title.mdx","title":"Post with duplicate title","description":"I hope I\'m still here","date":"2021-11-13T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":1,"hasTruncateMarker":false,"authors":[],"frontMatter":{"tags":["paginated-tag"]},"unlisted":false,"prevItem":{"title":"Image-only authors","permalink":"/tests/blog/2022/01/20/image-only-authors"},"nextItem":{"title":"Blog post MDX require Feed tests","permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests"}}')}}]); \ No newline at end of file diff --git a/assets/js/728fd2f1.c14f682b.js b/assets/js/728fd2f1.c14f682b.js new file mode 100644 index 0000000000..63fbc5474b --- /dev/null +++ b/assets/js/728fd2f1.c14f682b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["89616"],{96748:function(e,t,a){a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>g,frontMatter:()=>i,metadata:()=>n,toc:()=>l});var n=a(73373),o=a(85893),r=a(80980);let i={mdx:{format:"md"},date:"2022-07-14T20:00",authors:["anaclumos","DigiPie","Gary50613","ghostsquad","jeffreyaven","Josh-Cena","LichLord91","recallwei","RoiArthurB","slorber","treoden"]},s="2.0.0-rc.1",u={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},l=[];function h(e){return(0,o.jsx)(o.Fragment,{})}function g(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},80980:function(e,t,a){a.d(t,{Z:()=>s,a:()=>i});var n=a(67294);let o={},r=n.createContext(o);function i(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}},73373:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-rc.1","source":"@site/changelog/source/2.0.0-rc.1.md","title":"2.0.0-rc.1","description":"Bug Fix","date":"2022-07-14T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Sunghyun Cho","alias":"anaclumos","url":"https://github.com/anaclumos","imageURL":"https://github.com/anaclumos.png","key":"anaclumos","page":null},{"name":"Evan","alias":"DigiPie","url":"https://github.com/DigiPie","imageURL":"https://github.com/DigiPie.png","key":"DigiPie","page":null},{"name":"\u51F1\u6069 Kane","alias":"Gary50613","url":"https://github.com/Gary50613","imageURL":"https://github.com/Gary50613.png","key":"Gary50613","page":null},{"name":"Wes McNamee","alias":"ghostsquad","url":"https://github.com/ghostsquad","imageURL":"https://github.com/ghostsquad.png","key":"ghostsquad","page":null},{"name":"Jeffrey Aven","alias":"jeffreyaven","url":"https://github.com/jeffreyaven","imageURL":"https://github.com/jeffreyaven.png","key":"jeffreyaven","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"LichLord91","alias":"LichLord91","url":"https://github.com/LichLord91","imageURL":"https://github.com/LichLord91.png","key":"LichLord91","page":null},{"name":"Bruce Song","alias":"recallwei","url":"https://github.com/recallwei","imageURL":"https://github.com/recallwei.png","key":"recallwei","page":null},{"name":"Arthur Brugi\xe8re","alias":"RoiArthurB","url":"https://github.com/RoiArthurB","imageURL":"https://github.com/RoiArthurB.png","key":"RoiArthurB","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"The Nguyen","alias":"treoden","url":"https://github.com/treoden","imageURL":"https://github.com/treoden.png","key":"treoden","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-07-14T20:00","authors":["anaclumos","DigiPie","Gary50613","ghostsquad","jeffreyaven","Josh-Cena","LichLord91","recallwei","RoiArthurB","slorber","treoden"]},"unlisted":false,"prevItem":{"title":"2.0.0","permalink":"/changelog/2.0.0"},"nextItem":{"title":"2.0.0-beta.22","permalink":"/changelog/2.0.0-beta.22"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/73004b36.fa12bd99.js b/assets/js/73004b36.fa12bd99.js new file mode 100644 index 0000000000..dafab8d7f6 --- /dev/null +++ b/assets/js/73004b36.fa12bd99.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["22683"],{70983:function(e,t,l){l.r(t),l.d(t,{assets:()=>h,contentTitle:()=>i,default:()=>c,frontMatter:()=>a,metadata:()=>n,toc:()=>r});var n=l(1206),o=l(85893),s=l(80980);let a={mdx:{format:"md"},date:"2020-04-28T20:00",authors:["jsjoeio","lex111","SamChou19815"]},i="2.0.0-alpha.54",h={authorsImageUrls:[void 0,void 0,void 0]},r=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"Committers: 3",id:"committers-3",level:2}];function u(e){let t={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"HOTFIX for 2.0.0-alpha.53"}),"."]}),"\n",(0,o.jsx)(t.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/2688",children:"#2688"})," fix(v2): add default value for options in theme classic (",(0,o.jsx)(t.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"docusaurus-module-type-aliases"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/2687",children:"#2687"})," fix(v2): Add all webpack module aliases to type declaration file (",(0,o.jsx)(t.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/2680",children:"#2680"})," docs(v2): add swizzle example (",(0,o.jsx)(t.a,{href:"https://github.com/jsjoeio",children:"@jsjoeio"}),")"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"committers-3",children:"Committers: 3"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Alexey Pyltsyn (",(0,o.jsx)(t.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,o.jsxs)(t.li,{children:["Joe Previte (",(0,o.jsx)(t.a,{href:"https://github.com/jsjoeio",children:"@jsjoeio"}),")"]}),"\n",(0,o.jsxs)(t.li,{children:["Sam Zhou (",(0,o.jsx)(t.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]})]})}function c(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},80980:function(e,t,l){l.d(t,{Z:()=>i,a:()=>a});var n=l(67294);let o={},s=n.createContext(o);function a(e){let t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(s.Provider,{value:t},e.children)}},1206:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.54","source":"@site/changelog/source/2.0.0-alpha.54.md","title":"2.0.0-alpha.54","description":"HOTFIX for 2.0.0-alpha.53.","date":"2020-04-28T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-04-28T20:00","authors":["jsjoeio","lex111","SamChou19815"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.55","permalink":"/changelog/2.0.0-alpha.55"},"nextItem":{"title":"2.0.0-alpha.53","permalink":"/changelog/2.0.0-alpha.53"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/733d6d57.2fd046bf.js b/assets/js/733d6d57.2fd046bf.js new file mode 100644 index 0000000000..c5c9af2558 --- /dev/null +++ b/assets/js/733d6d57.2fd046bf.js @@ -0,0 +1,22 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["96878"],{7893:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>u,default:()=>m,contentTitle:()=>d,assets:()=>p,toc:()=>h,metadata:()=>r});var r=JSON.parse('{"id":"api/plugins/plugin-svgr","title":"\uD83D\uDCE6 plugin-svgr","description":"An SVGR plugin to transform SVG files into React components automatically at build time.","source":"@site/docs/api/plugins/plugin-svgr.mdx","sourceDirName":"api/plugins","slug":"/api/plugins/@docusaurus/plugin-svgr","permalink":"/docs/api/plugins/@docusaurus/plugin-svgr","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugins/plugin-svgr.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":7,"frontMatter":{"sidebar_position":7,"slug":"/api/plugins/@docusaurus/plugin-svgr"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-rsdoctor","permalink":"/docs/api/plugins/@docusaurus/plugin-rsdoctor"},"next":{"title":"\uD83D\uDCE6 plugin-google-tag-manager","permalink":"/docs/api/plugins/@docusaurus/plugin-google-tag-manager"}}'),s=n(85893),l=n(80980),a=n(15398),o=n(58636),i=n(32240),c=n(66359);let u={sidebar_position:7,slug:"/api/plugins/@docusaurus/plugin-svgr"},d="\uD83D\uDCE6 plugin-svgr",p={},h=[{value:"Installation",id:"installation",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Example configuration",id:"ex-config",level:3}];function g(e){let t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"-plugin-svgr",children:"\uD83D\uDCE6 plugin-svgr"})}),"\n","\n",(0,s.jsxs)(t.p,{children:["An ",(0,s.jsx)(t.a,{href:"https://react-svgr.com/",children:"SVGR"})," plugin to transform SVG files into React components automatically at build time."]}),"\n",(0,s.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,s.jsxs)(a.Z,{groupId:"npm2yarn",children:[(0,s.jsx)(o.Z,{value:"npm",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"npm install --save @docusaurus/plugin-svgr\n"})})}),(0,s.jsx)(o.Z,{value:"yarn",label:"Yarn",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"yarn add @docusaurus/plugin-svgr\n"})})}),(0,s.jsx)(o.Z,{value:"pnpm",label:"pnpm",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-bash",children:"pnpm add @docusaurus/plugin-svgr\n"})})})]}),"\n",(0,s.jsxs)(t.admonition,{type:"tip",children:[(0,s.jsxs)(t.p,{children:["If you use the preset ",(0,s.jsx)(t.code,{children:"@docusaurus/preset-classic"}),", you don't need to install this plugin as a dependency."]}),(0,s.jsxs)(t.p,{children:["You can configure this plugin through the ",(0,s.jsx)(t.a,{href:"/docs/using-plugins#docusauruspreset-classic",children:"preset options"}),"."]})]}),"\n",(0,s.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,s.jsx)(t.p,{children:"Accepted fields:"}),"\n",(0,s.jsx)(i.Z,{children:(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Name"}),(0,s.jsx)(t.th,{children:"Type"}),(0,s.jsx)(t.th,{children:"Default"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"svgrConfig"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"object"})}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.code,{children:"{}"})}),(0,s.jsxs)(t.td,{children:["The ",(0,s.jsx)(t.a,{href:"https://react-svgr.com/docs/options/",children:"SVGR config options"}),", forwarded as is"]})]})})]})}),"\n",(0,s.jsx)(t.h3,{id:"ex-config",children:"Example configuration"}),"\n",(0,s.jsx)(t.p,{children:"You can configure this plugin through plugin options."}),"\n","\n",(0,s.jsx)(c.Z,{pluginName:"@docusaurus/plugin-svgr",presetOptionName:"svgr",code:"{\n svgrConfig: {\n /* SVGR config */\n },\n}"})]})}function m(e={}){let{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(g,{...e})}):g(e)}},58636:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(90496);function l(e){let{children:t,hidden:n,className:l}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,s.Z)("tabItem_pnkT",l),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>j});var r=n(85893),s=n(67294),l=n(90496),a=n(54947),o=n(3620),i=n(844),c=n(97486),u=n(32263),d=n(16971);function p(e){return s.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||s.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var g=n(71607);function m(e){let{className:t,block:n,selectedValue:s,selectValue:o,tabValues:i}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,a.o5)(),d=e=>{let t=e.currentTarget,n=i[c.indexOf(t)].value;n!==s&&(u(t),o(n))},p=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{let n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1]}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":n},t),children:i.map(e=>{let{value:t,label:n,attributes:a}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>{c.push(e)},onKeyDown:p,onClick:d,...a,className:(0,l.Z)("tabs__item","tabItem_AQgk",a?.className,{"tabs__item--active":s===t}),children:n??t},t)})})}function f(e){let{lazy:t,children:n,selectedValue:a}=e,o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=o.find(e=>e.props.value===a);return e?(0,s.cloneElement)(e,{className:(0,l.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:o.map((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==a}))})}function b(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:r}=e,l=function(e){let{values:t,children:n}=e;return(0,s.useMemo)(()=>{let e=t??p(n).map(e=>{let{props:{value:t,label:n,attributes:r,default:s}}=e;return{value:t,label:n,attributes:r,default:s}});return!function(e){let t=(0,u.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[a,g]=(0,s.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!h({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:l})),[m,f]=function(e){let{queryString:t=!1,groupId:n}=e,r=(0,o.k6)(),l=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(l),(0,s.useCallback)(e=>{if(!l)return;let t=new URLSearchParams(r.location.search);t.set(l,e),r.replace({...r.location,search:t.toString()})},[l,r])]}({queryString:n,groupId:r}),[b,j]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[r,l]=(0,d.Nk)(n);return[r,(0,s.useCallback)(e=>{n&&l.set(e)},[n,l])]}({groupId:r}),x=(()=>{let e=m??b;return h({value:e,tabValues:l})?e:null})();return(0,i.Z)(()=>{x&&g(x)},[x]),{selectedValue:a,selectValue:(0,s.useCallback)(e=>{if(!h({value:e,tabValues:l}))throw Error(`Can't select invalid tab value=${e}`);g(e),f(e),j(e)},[f,j,l]),tabValues:l}}(e);return(0,r.jsxs)("div",{className:(0,l.Z)("tabs-container","tabList_Qoir"),children:[(0,r.jsx)(m,{...t,...e}),(0,r.jsx)(f,{...t,...e})]})}function j(e){let t=(0,g.Z)();return(0,r.jsx)(b,{...e,children:p(e.children)},String(t))}},56497:function(e,t,n){n.d(t,{Z:()=>l});var r=n(85893);n(67294);var s=n(71607);function l(e){let{children:t,fallback:n}=e;return(0,s.Z)()?(0,r.jsx)(r.Fragment,{children:t?.()}):n??null}},32240:function(e,t,n){n.d(t,{Z:()=>i});var r=n(85893),s=n(67294),l=n(96700),a=n(3620);let o=s.forwardRef(function(e,t){let{name:n,children:o}=e,i=function(e){let t=e;for(;(0,s.isValidElement)(t);)[t]=s.Children.toArray(t.props.children);if("string"!=typeof t)throw Error(`Could not extract APITable row name from JSX tree: +${JSON.stringify(e,null,2)}`);return t}(o),c=n?`${n}-${i}`:i,u=`#${c}`,d=(0,a.k6)();return(0,l.Z)().collectAnchor(c),(0,r.jsx)("tr",{id:c,tabIndex:0,ref:d.location.hash===u?t:void 0,onClick:e=>{let t="TD"===e.target.tagName.toUpperCase(),n=!!window.getSelection()?.toString();t&&!n&&d.push(u)},onKeyDown:e=>{"Enter"===e.key&&d.push(u)},children:o.props.children})});function i(e){let{children:t,name:n}=e;if("table"!==t.type)throw Error("Bad usage of APITable component.\nIt is probably that your Markdown table is malformed.\nMake sure to double-check you have the appropriate number of columns for each table row.");let[l,a]=s.Children.toArray(t.props.children),i=(0,s.useRef)(null);(0,s.useEffect)(()=>{i.current?.focus()},[i]);let c=s.Children.map(a.props.children,e=>(0,r.jsx)(o,{name:n,ref:i,children:e}));return(0,r.jsxs)("table",{className:"apiTable_e8hp",children:[l,(0,r.jsx)("tbody",{children:c})]})}},66359:function(e,t,n){n.d(t,{Z:()=>d});var r=n(85893);n(67294);var s=n(35363),l=n(90158),a=n(77827),o=n(15398),i=n(58636),c=n(95998);let u=void 0;function d(e){let{code:t,pluginName:n,presetOptionName:d}=e,p=(0,l.zu)(u).path;return(0,r.jsxs)(o.Z,{groupId:"api-config-ex",children:[(0,r.jsxs)(i.Z,{value:"preset",label:(0,a.I)({message:"Preset options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(a.Z,{id:"apiDocs.configTabs.presetOptions.description",values:{presetLink:(0,r.jsx)(s.Z,{to:`${p}/using-plugins#docusauruspreset-classic`,children:(0,r.jsx)(a.Z,{children:"preset options"})})},children:"If you use a preset, configure this plugin through the {presetLink}:"})}),(0,r.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + presets: [ + [ + '@docusaurus/preset-classic', + { + // highlight-start + ${d}: ${t.replace(/\n/g,"\n ")}, + // highlight-end + }, + ], + ], +};`})]}),(0,r.jsxs)(i.Z,{value:"plugin",label:(0,a.I)({message:"Plugin options"}),children:[(0,r.jsx)("p",{children:(0,r.jsx)(a.Z,{children:"If you are using a standalone plugin, provide options directly to the plugin:"})}),(0,r.jsx)(c.Z,{language:"js",title:"docusaurus.config.js",children:`module.exports = { + plugins: [ + [ + '${n}', + // highlight-start + ${t.replace(/\n/g,"\n ")}, + // highlight-end + ], + ], +};`})]})]})}},95998:function(e,t,n){n.d(t,{Z:()=>et});var r,s={};n.r(s),n.d(s,{ButtonExample:()=>C});var l=n(85893),a=n(67294),o=n(90496),i=n(71607),c=n(10075),u=n(77827),d=n(8156),p=n(56497),h=n(85108),g=n(45245),m=n(26378);function f(){let{prism:e}=(0,m.L)(),{colorMode:t}=(0,g.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var b=n(67490);function j(e){let{children:t}=e;return(0,l.jsx)("div",{className:(0,o.Z)("playgroundHeader_Tvsk"),children:t})}function x(){return(0,l.jsx)("div",{children:"Loading..."})}function v(){return(0,l.jsx)(p.Z,{fallback:(0,l.jsx)(x,{}),children:()=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(b.Z,{fallback:e=>(0,l.jsx)(h.Ac,{...e}),children:(0,l.jsx)(c.i5,{})}),(0,l.jsx)(c.IF,{})]})})}function y(){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(j,{children:(0,l.jsx)(u.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,l.jsx)("div",{className:"playgroundPreview_mApW",children:(0,l.jsx)(v,{})})]})}function k(){let e=(0,i.Z)();return(0,l.jsx)(c.uz,{className:"playgroundEditor_TySg"},String(e))}function w(){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(j,{children:(0,l.jsx)(u.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,l.jsx)(k,{})]})}let N=e=>`${e};`;function B(e){let{children:t,transformCode:n,...r}=e,{siteConfig:{themeConfig:s}}=(0,d.Z)(),{liveCodeBlock:{playgroundPosition:a}}=s,o=f(),i=r.metastring?.includes("noInline")??!1;return(0,l.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,l.jsx)(c.nu,{code:t?.replace(/\n$/,""),noInline:i,transformCode:n??N,theme:o,...r,children:"top"===a?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(y,{}),(0,l.jsx)(w,{})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(w,{}),(0,l.jsx)(y,{})]})})})}function C(e){return(0,l.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let Z={React:a,...a,...s};var E=n(55951),I=n(6324),L=n.n(I);let T=/title=(?<quote>["'])(?<title>.*?)\1/,S=/\{(?<range>[\d,-]+)\}/,_={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},A={..._,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},$=Object.keys(_);function R(e,t){let n=e.map(e=>{let{start:n,end:r}=A[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function V(e){let{as:t,...n}=e,r=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,l=t[r];l&&"string"==typeof s&&(n[l]=s)}),n}(f());return(0,l.jsx)(t,{...n,style:r,className:(0,o.Z)(n.className,"codeBlockContainer_jDV4",E.k.common.codeBlock)})}let O={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function D(e){let{children:t,className:n}=e;return(0,l.jsx)(V,{as:"pre",tabIndex:0,className:(0,o.Z)(O.codeBlockStandalone,"thin-scrollbar",n),children:(0,l.jsx)("code",{className:O.codeBlockLines,children:t})})}var M=n(50923);let W={attributes:!0,characterData:!0,childList:!0,subtree:!0};var H=n(7316);let q={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function F(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:s,getTokenProps:a}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let i=s({line:t,className:(0,o.Z)(n,r&&q.codeLine)}),c=t.map((e,t)=>(0,l.jsx)("span",{...a({token:e})},t));return(0,l.jsxs)("span",{...i,children:[r?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:q.codeLineNumber}),(0,l.jsx)("span",{className:q.codeLineContent,children:c})]}):c,(0,l.jsx)("br",{})]})}var G=n(44771);function P(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function z(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let U={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function Q(e){let{code:t,className:n}=e,[r,s]=(0,a.useState)(!1),i=(0,a.useRef)(void 0),c=(0,a.useCallback)(()=>{(0,G.Z)(t),s(!0),i.current=window.setTimeout(()=>{s(!1)},1e3)},[t]);return(0,a.useEffect)(()=>()=>window.clearTimeout(i.current),[]),(0,l.jsx)("button",{type:"button","aria-label":r?(0,u.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,u.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,u.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,o.Z)("clean-btn",n,U.copyButton,r&&U.copyButtonCopied),onClick:c,children:(0,l.jsxs)("span",{className:U.copyButtonIcons,"aria-hidden":"true",children:[(0,l.jsx)(P,{className:U.copyButtonIcon}),(0,l.jsx)(z,{className:U.copyButtonSuccessIcon})]})})}function J(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let X={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function Y(e){let{className:t,onClick:n,isEnabled:r}=e,s=(0,u.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,l.jsx)("button",{type:"button",onClick:n,className:(0,o.Z)("clean-btn",t,r&&X.wordWrapButtonEnabled),"aria-label":s,title:s,children:(0,l.jsx)(J,{className:X.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:r="",metastring:s,title:c,showLineNumbers:u,language:d}=e,{prism:{defaultLanguage:p,magicComments:h}}=(0,m.L)(),g=(t=d??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(r)??p,t?.toLowerCase()),b=f(),j=function(){let[e,t]=(0,a.useState)(!1),[n,r]=(0,a.useState)(!1),s=(0,a.useRef)(null),l=(0,a.useCallback)(()=>{let n=s.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[s,e]),o=(0,a.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=s.current;r(e>t||s.current.querySelector("code").hasAttribute("style"))},[s]);return!function(e,t){let[n,r]=(0,a.useState)(),s=(0,a.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,a.useEffect)(()=>{s()},[s]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:W,r=(0,M.zX)(t),s=(0,M.Ql)(n);(0,a.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,s),()=>t.disconnect()},[e,r,s])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),s())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(s,o),(0,a.useEffect)(()=>{o()},[e,o]),(0,a.useEffect)(()=>(window.addEventListener("resize",o,{passive:!0}),()=>{window.removeEventListener("resize",o)}),[o]),{codeBlockRef:s,isEnabled:e,isCodeScrollable:n,toggle:l}}(),x=(0,i.Z)(),v=(s?.match(T)?.groups.title??"")||c,{lineClassNames:y,code:k}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:l}=t;if(l&&S.test(l)){let e=l.match(S).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${l}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=s[0].className;return{lineClassNames:Object.fromEntries(L()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let a=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return R(["js","jsBlock"],t);case"jsx":case"tsx":return R(["js","jsBlock","jsx"],t);case"html":return R(["js","jsBlock","html"],t);case"python":case"py":case"bash":return R(["bash"],t);case"markdown":case"md":return R(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return R(["tex"],t);case"lua":case"haskell":return R(["lua"],t);case"sql":return R(["lua","jsBlock"],t);case"wasm":return R(["wasm"],t);case"vb":case"vba":case"visual-basic":return R(["vb","rem"],t);case"vbnet":return R(["vbnet","rem"],t);case"batch":return R(["rem"],t);case"basic":return R(["rem","f90"],t);case"fsharp":return R(["js","ml"],t);case"ocaml":case"sml":return R(["ml"],t);case"fortran":return R(["f90"],t);case"cobol":return R(["cobol"],t);default:return R($,t)}}(r,s),o=n.split("\n"),i=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<o.length;){let t=o[e].match(a);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?i[c[n]].range+=`${e},`:u[n]?i[u[n]].start=e:d[n]&&(i[d[n]].range+=`${i[d[n]].start}-${e-1},`),o.splice(e,1)}n=o.join("\n");let p={};return Object.entries(i).forEach(e=>{let[t,{range:n}]=e;L()(n).forEach(e=>{p[e]??=[],p[e].push(t)})}),{lineClassNames:p,code:n}}(n,{metastring:s,language:g,magicComments:h}),w=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:u,metastring:s});return(0,l.jsxs)(V,{as:"div",className:(0,o.Z)(r,g&&!r.includes(`language-${g}`)&&`language-${g}`),children:[v&&(0,l.jsx)("div",{className:O.codeBlockTitle,children:v}),(0,l.jsxs)("div",{className:O.codeBlockContent,children:[(0,l.jsx)(H.y$,{theme:b,code:k,language:g??"text",children:e=>{let{className:t,style:n,tokens:r,getLineProps:s,getTokenProps:a}=e;return(0,l.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,o.Z)(t,O.codeBlock,"thin-scrollbar"),style:n,children:(0,l.jsx)("code",{className:(0,o.Z)(O.codeBlockLines,void 0!==w&&O.codeBlockLinesWithNumbering),style:void 0===w?void 0:{counterReset:`line-count ${w-1}`},children:r.map((e,t)=>(0,l.jsx)(F,{line:e,getLineProps:s,getTokenProps:a,classNames:y[t],showLineNumbers:void 0!==w},t))})})}}),x?(0,l.jsxs)("div",{className:O.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,l.jsx)(Y,{className:O.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,l.jsx)(Q,{className:O.codeButton,code:k})]}):null]})]})}let ee=(r=function(e){let{children:t,...n}=e,r=(0,i.Z)(),s=a.Children.toArray(t).some(e=>(0,a.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,l.jsx)("string"==typeof s?K:D,{...n,children:s},String(r))},function(e){return e.live?(0,l.jsx)(B,{scope:Z,...e}):(0,l.jsx)(r,{...e})});function et(e){return(0,l.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/73664a40.ccddff61.js b/assets/js/73664a40.ccddff61.js deleted file mode 100644 index 3c389d5f5d..0000000000 --- a/assets/js/73664a40.ccddff61.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[1972],{9655:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>u,default:()=>a,frontMatter:()=>r,metadata:()=>i,toc:()=>m});var i=t(5802),o=t(4848),n=t(3023);const r={slug:"long-blog-post",title:"Long Blog Post",authors:"yangshun",tags:["hello","docusaurus"]},u=void 0,l={authorsImageUrls:[void 0]},m=[];function c(e){const s={code:"code",p:"p",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,o.jsxs)(s.p,{children:["Use a ",(0,o.jsx)(s.code,{children:"\x3c!--"})," ",(0,o.jsx)(s.code,{children:"truncate"})," ",(0,o.jsx)(s.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"}),"\n",(0,o.jsx)(s.p,{children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})]})}function a(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},3023:(e,s,t)=>{t.d(s,{R:()=>r,x:()=>u});var i=t(6540);const o={},n=i.createContext(o);function r(e){const s=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function u(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(n.Provider,{value:s},e.children)}},5802:e=>{e.exports=JSON.parse('{"permalink":"/blog/long-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2019-05-29-long-blog-post.md","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","tags":[{"inline":false,"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":2.06,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"yangshun","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/blog/first-blog-post"}}')}}]); \ No newline at end of file diff --git a/assets/js/74159.a6b92c69.js b/assets/js/74159.a6b92c69.js new file mode 100644 index 0000000000..63afade9a2 --- /dev/null +++ b/assets/js/74159.a6b92c69.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["74159"],{49390:function(t,e,a){a.d(e,{diagram:()=>m});var r=a(34422),i=a(84890),n=a(28923),d=a(11141),o=a(44387),l=a(62145),s=0,p=(0,n.eW)(function(t,e,a,r,o){let l,p,g,c,h,f;let x=(0,n.eW)(function(t){switch(t){case o.db.relationType.AGGREGATION:return"aggregation";case o.db.relationType.EXTENSION:return"extension";case o.db.relationType.COMPOSITION:return"composition";case o.db.relationType.DEPENDENCY:return"dependency";case o.db.relationType.LOLLIPOP:return"lollipop"}},"getRelationType");e.points=e.points.filter(t=>!Number.isNaN(t.y));let u=e.points,y=(0,d.jvg)().x(function(t){return t.x}).y(function(t){return t.y}).curve(d.$0Z),w=t.append("path").attr("d",y(u)).attr("id","edge"+s).attr("class","relation"),b="";r.arrowMarkerAbsolute&&(b=(b=(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),1==a.relation.lineType&&w.attr("class","relation dashed-line"),10==a.relation.lineType&&w.attr("class","relation dotted-line"),"none"!==a.relation.type1&&w.attr("marker-start","url("+b+"#"+x(a.relation.type1)+"Start)"),"none"!==a.relation.type2&&w.attr("marker-end","url("+b+"#"+x(a.relation.type2)+"End)");let m=e.points.length,k=i.w8.calcLabelPosition(e.points);if(l=k.x,p=k.y,m%2!=0&&m>1){let t=i.w8.calcCardinalityPosition("none"!==a.relation.type1,e.points,e.points[0]),r=i.w8.calcCardinalityPosition("none"!==a.relation.type2,e.points,e.points[m-1]);n.cM.debug("cardinality_1_point "+JSON.stringify(t)),n.cM.debug("cardinality_2_point "+JSON.stringify(r)),g=t.x,c=t.y,h=r.x,f=r.y}if(void 0!==a.title){let e=t.append("g").attr("class","classLabel"),i=e.append("text").attr("class","label").attr("x",l).attr("y",p).attr("fill","red").attr("text-anchor","middle").text(a.title);window.label=i;let n=i.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",n.x-r.padding/2).attr("y",n.y-r.padding/2).attr("width",n.width+r.padding).attr("height",n.height+r.padding)}n.cM.info("Rendering relation "+JSON.stringify(a)),void 0!==a.relationTitle1&&"none"!==a.relationTitle1&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",g).attr("y",c).attr("fill","black").attr("font-size","6").text(a.relationTitle1),void 0!==a.relationTitle2&&"none"!==a.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",h).attr("y",f).attr("fill","black").attr("font-size","6").text(a.relationTitle2),s++},"drawEdge"),g=(0,n.eW)(function(t,e,a,r){let i,d,o,l;n.cM.debug("Rendering class ",e,a);let s=e.id,p={id:s,label:e.id,width:0,height:0},g=t.append("g").attr("id",r.db.lookUpDomId(s)).attr("class","classGroup");i=e.link?g.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",a.textHeight+a.padding).attr("x",0):g.append("text").attr("y",a.textHeight+a.padding).attr("x",0);let h=!0;e.annotations.forEach(function(t){let e=i.append("tspan").text("\xab"+t+"\xbb");h||e.attr("dy",a.textHeight),h=!1});let x=c(e),u=i.append("tspan").text(x).attr("class","title");h||u.attr("dy",a.textHeight);let y=i.node().getBBox().height;if(e.members.length>0){d=g.append("line").attr("x1",0).attr("y1",a.padding+y+a.dividerMargin/2).attr("y2",a.padding+y+a.dividerMargin/2);let t=g.append("text").attr("x",a.padding).attr("y",y+a.dividerMargin+a.textHeight).attr("fill","white").attr("class","classText");h=!0,e.members.forEach(function(e){f(t,e,h,a),h=!1}),o=t.node().getBBox()}if(e.methods.length>0){l=g.append("line").attr("x1",0).attr("y1",a.padding+y+a.dividerMargin+o.height).attr("y2",a.padding+y+a.dividerMargin+o.height);let t=g.append("text").attr("x",a.padding).attr("y",y+2*a.dividerMargin+o.height+a.textHeight).attr("fill","white").attr("class","classText");h=!0,e.methods.forEach(function(e){f(t,e,h,a),h=!1})}let w=g.node().getBBox();var b=" ";e.cssClasses.length>0&&(b+=e.cssClasses.join(" "));let m=g.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",w.width+2*a.padding).attr("height",w.height+a.padding+.5*a.dividerMargin).attr("class",b).node().getBBox().width;return i.node().childNodes.forEach(function(t){t.setAttribute("x",(m-t.getBBox().width)/2)}),e.tooltip&&i.insert("title").text(e.tooltip),d&&d.attr("x2",m),l&&l.attr("x2",m),p.width=m,p.height=w.height+a.padding+.5*a.dividerMargin,p},"drawClass"),c=(0,n.eW)(function(t){let e=t.id;return t.type&&(e+="<"+(0,n.UO)(t.type)+">"),e},"getClassTitleString"),h=(0,n.eW)(function(t,e,a,r){n.cM.debug("Rendering note ",e,a);let i=e.id,d={id:i,text:e.text,width:0,height:0},o=t.append("g").attr("id",i).attr("class","classGroup"),l=o.append("text").attr("y",a.textHeight+a.padding).attr("x",0),s=JSON.parse(`"${e.text}"`).split("\n");s.forEach(function(t){n.cM.debug(`Adding line: ${t}`),l.append("tspan").text(t).attr("class","title").attr("dy",a.textHeight)});let p=o.node().getBBox(),g=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",p.width+2*a.padding).attr("height",p.height+s.length*a.textHeight+a.padding+.5*a.dividerMargin).node().getBBox().width;return l.node().childNodes.forEach(function(t){t.setAttribute("x",(g-t.getBBox().width)/2)}),d.width=g,d.height=p.height+s.length*a.textHeight+a.padding+.5*a.dividerMargin,d},"drawNote"),f=(0,n.eW)(function(t,e,a,r){let{displayText:i,cssStyle:n}=e.getDisplayDetails(),d=t.append("tspan").attr("x",r.padding).text(i);""!==n&&d.attr("style",e.cssStyle),a||d.attr("dy",r.textHeight)},"addTspan"),x={drawClass:g,drawEdge:p,drawNote:h},u={},y=(0,n.eW)(function(t){let e=Object.entries(u).find(e=>e[1].label===t);if(e)return e[0]},"getGraphId"),w=(0,n.eW)(function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),b=(0,n.eW)(function(t,e,a,r){let i;let s=(0,n.nV)().class;u={},n.cM.info("Rendering diagram "+t);let p=(0,n.nV)().securityLevel;"sandbox"===p&&(i=(0,d.Ys)("#i"+e));let g="sandbox"===p?(0,d.Ys)(i.nodes()[0].contentDocument.body):(0,d.Ys)("body"),c=g.select(`[id='${e}']`);w(c);let h=new l.k({multigraph:!0});h.setGraph({isMultiGraph:!0}),h.setDefaultEdgeLabel(function(){return{}});let f=r.db.getClasses();for(let t of[...f.keys()]){let e=f.get(t),a=x.drawClass(c,e,s,r);u[a.id]=a,h.setNode(a.id,a),n.cM.info("Org height: "+a.height)}r.db.getRelations().forEach(function(t){n.cM.info("tjoho"+y(t.id1)+y(t.id2)+JSON.stringify(t)),h.setEdge(y(t.id1),y(t.id2),{relation:t},t.title||"DEFAULT")}),r.db.getNotes().forEach(function(t){n.cM.debug(`Adding note: ${JSON.stringify(t)}`);let e=x.drawNote(c,t,s,r);u[e.id]=e,h.setNode(e.id,e),t.class&&f.has(t.class)&&h.setEdge(t.id,y(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),(0,o.bK)(h),h.nodes().forEach(function(t){void 0!==t&&void 0!==h.node(t)&&(n.cM.debug("Node "+t+": "+JSON.stringify(h.node(t))),g.select("#"+(r.db.lookUpDomId(t)||t)).attr("transform","translate("+(h.node(t).x-h.node(t).width/2)+","+(h.node(t).y-h.node(t).height/2)+" )"))}),h.edges().forEach(function(t){void 0!==t&&void 0!==h.edge(t)&&(n.cM.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(h.edge(t))),x.drawEdge(c,h.edge(t),h.edge(t).relation,s,r))});let b=c.node().getBBox(),m=b.width+40,k=b.height+40;(0,n.v2)(c,k,m,s.useMaxWidth);let M=`${b.x-20} ${b.y-20} ${m} ${k}`;n.cM.debug(`viewBox ${M}`),c.attr("viewBox",M)},"draw"),m={parser:r.P0,db:r.pl,renderer:{draw:b},styles:r.Ee,init:(0,n.eW)(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,r.pl.clear()},"init")}}}]); \ No newline at end of file diff --git a/assets/js/745d094c.d0e1e8dc.js b/assets/js/745d094c.d0e1e8dc.js new file mode 100644 index 0000000000..a074d75525 --- /dev/null +++ b/assets/js/745d094c.d0e1e8dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["76491"],{91892:function(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>u});var r=n(13114),a=n(85893),o=n(80980);let s={mdx:{format:"md"},date:"2024-04-04T20:00",authors:["OzakIOne","slorber"]},i="3.2.1",l={authorsImageUrls:[void 0,void 0]},u=[];function c(e){return(0,a.jsx)(a.Fragment,{})}function m(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},80980:function(e,t,n){n.d(t,{Z:()=>i,a:()=>s});var r=n(67294);let a={},o=r.createContext(a);function s(e){let t=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(o.Provider,{value:t},e.children)}},13114:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.2.1","source":"@site/changelog/source/3.2.1.md","title":"3.2.1","description":"Bug Fix","date":"2024-04-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-04-04T20:00","authors":["OzakIOne","slorber"]},"unlisted":false,"prevItem":{"title":"3.3.0","permalink":"/changelog/3.3.0"},"nextItem":{"title":"3.2.0","permalink":"/changelog/3.2.0"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/74753.6c9443ef.js b/assets/js/74753.6c9443ef.js new file mode 100644 index 0000000000..fa188ee999 --- /dev/null +++ b/assets/js/74753.6c9443ef.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["74753"],{76846:function(e,s,c){c.d(s,{createPieServices:()=>i.l});var i=c(43808);c(78983)}}]); \ No newline at end of file diff --git a/assets/js/748308c5.01e452a8.js b/assets/js/748308c5.01e452a8.js new file mode 100644 index 0000000000..2be17cf3c0 --- /dev/null +++ b/assets/js/748308c5.01e452a8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["89344"],{86381:function(e,n,s){s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>h,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var i=s(8719),r=s(85893),l=s(80980);let o={mdx:{format:"md"},date:"2021-03-16T20:00",authors:["armano2","Harvtronix","koko8829","leandrooriente","lex111","longlho","lowenhere","Pierre-Gilles","quanengineering","Rhodanthe1116","ShinteiMai","SimenB","slorber","zkochan"]},h="2.0.0-alpha.72",t={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},c=[{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 14",id:"committers-14",level:2}];function a(e){let n={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,r.jsxs)(n.p,{children:["Starting with this release for a proper work of i18n functionality, you need to either use Node v14+ or in case of using earlier version of Node.js install ",(0,r.jsxs)(n.a,{href:"https://www.npmjs.com/package/full-icu",children:[(0,r.jsx)(n.code,{children:"full-icu"})," package"]})," and set ",(0,r.jsx)(n.code,{children:"NODE_ICU_DATA"})," environment variable in your npm scripts, for example:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",children:'"scripts": {\n "start": "cross-env NODE_ICU_DATA=node_modules/full-icu docusaurus start"\n}\n'})}),"\n",(0,r.jsx)(n.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-init"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4302",children:"#4302"})," feat(v2): Improve the initial templates (",(0,r.jsx)(n.a,{href:"https://github.com/ShinteiMai",children:"@ShinteiMai"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4390",children:"#4390"})," feat(v2): Add korean default translations (",(0,r.jsx)(n.a,{href:"https://github.com/koko8829",children:"@koko8829"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4429",children:"#4429"})," chore(v2): upgrade Infima to v0.2.0-alpha.21 (",(0,r.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4428",children:"#4428"})," fix(v2): allow using pre tag in Markdown directly (",(0,r.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4381",children:"#4381"})," fix(v2): specify proper TS path in classic theme (",(0,r.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4383",children:"#4383"})," fix(v2): set theme color mode for SSR (",(0,r.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-plugin-pwa"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4424",children:"#4424"})," fix(v2): add missing peer dep on @babel/core (",(0,r.jsx)(n.a,{href:"https://github.com/SimenB",children:"@SimenB"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4377",children:"#4377"})," fix(v2): PWA issues + improve docs (",(0,r.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4407",children:"#4407"})," fix(v2): broken link checker should not report false positives when using encoded chars (",(0,r.jsx)(n.a,{href:"https://github.com/Harvtronix",children:"@Harvtronix"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Other\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4410",children:"#4410"})," fix(v1): Fix v1 site deployment with Crowdin again... (",(0,r.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4396",children:"#4396"})," fix(v1): Temp fix v1 site deployment: fail-safe on Crowdin upload translations error (",(0,r.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4395",children:"#4395"})," fix(v1): fix v1 site deploy issues (",(0,r.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-utils-validation"}),", ",(0,r.jsx)(n.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4418",children:"#4418"})," refactor(v2): correct plugin types (",(0,r.jsx)(n.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-theme-common"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(n.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4405",children:"#4405"})," refactor(v2): i18n cleanups / refactors (",(0,r.jsx)(n.a,{href:"https://github.com/longlho",children:"@longlho"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-module-type-aliases"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4387",children:"#4387"})," refactor(v2): add ExecutionEnvironment, BrowserOnly, isInternalUrl to type aliases (",(0,r.jsx)(n.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4402",children:"#4402"})," refactor(v2): merge linkify function used in blog and docs and align properties (",(0,r.jsx)(n.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-theme-common"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-utils-validation"}),", ",(0,r.jsx)(n.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4382",children:"#4382"})," refactor(v2): correct some of type errors reported by eslint (",(0,r.jsx)(n.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(n.code,{children:"docusaurus-theme-common"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4385",children:"#4385"})," refactor(v2): add missing theme-classic types (",(0,r.jsx)(n.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4416",children:"#4416"})," docs(v2): add Realtime Web Applications Workshop to showcase (",(0,r.jsx)(n.a,{href:"https://github.com/lowenhere",children:"@lowenhere"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4408",children:"#4408"})," docs(v2): add gladysassistant.com to showcase (",(0,r.jsx)(n.a,{href:"https://github.com/Pierre-Gilles",children:"@Pierre-Gilles"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4386",children:"#4386"})," docs(v2): Showcase the pnpm docs (",(0,r.jsx)(n.a,{href:"https://github.com/zkochan",children:"@zkochan"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4367",children:"#4367"})," docs(v2): releasing i18n blog post (",(0,r.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-1.x"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4401",children:"#4401"})," chore(v1): fix CircleCI v1 site deploy (",(0,r.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Other\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4399",children:"#4399"})," chore(v2): upgrade example projects (",(0,r.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4398",children:"#4398"})," chore(v1): trigger v1 site deploy through CI (",(0,r.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/4384",children:"#4384"})," chore(v2): avoid bad publish of intl-locales-supported (",(0,r.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"committers-14",children:"Committers: 14"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Alexey Pyltsyn (",(0,r.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Armano (",(0,r.jsx)(n.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Harvtronix (",(0,r.jsx)(n.a,{href:"https://github.com/Harvtronix",children:"@Harvtronix"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Joon-Ha Lee (",(0,r.jsx)(n.a,{href:"https://github.com/koko8829",children:"@koko8829"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Leandro Oriente (",(0,r.jsx)(n.a,{href:"https://github.com/leandrooriente",children:"@leandrooriente"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Long Ho (",(0,r.jsx)(n.a,{href:"https://github.com/longlho",children:"@longlho"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Lowen (",(0,r.jsx)(n.a,{href:"https://github.com/lowenhere",children:"@lowenhere"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Pierre-Gilles Leymarie (",(0,r.jsx)(n.a,{href:"https://github.com/Pierre-Gilles",children:"@Pierre-Gilles"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Quan (",(0,r.jsx)(n.a,{href:"https://github.com/quanengineering",children:"@quanengineering"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Simen Bekkhus (",(0,r.jsx)(n.a,{href:"https://github.com/SimenB",children:"@SimenB"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Steven Hansel (",(0,r.jsx)(n.a,{href:"https://github.com/ShinteiMai",children:"@ShinteiMai"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["S\xe9bastien Lorber (",(0,r.jsx)(n.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Zoltan Kochan (",(0,r.jsx)(n.a,{href:"https://github.com/zkochan",children:"@zkochan"}),")"]}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/Rhodanthe1116",children:"@Rhodanthe1116"})}),"\n"]})]})}function u(e={}){let{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},80980:function(e,n,s){s.d(n,{Z:()=>h,a:()=>o});var i=s(67294);let r={},l=i.createContext(r);function o(e){let n=i.useContext(l);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function h(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(l.Provider,{value:n},e.children)}},8719:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.72","source":"@site/changelog/source/2.0.0-alpha.72.md","title":"2.0.0-alpha.72","description":"Breaking Change","date":"2021-03-16T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"Harvtronix","alias":"Harvtronix","url":"https://github.com/Harvtronix","imageURL":"https://github.com/Harvtronix.png","key":"Harvtronix","page":null},{"name":"Joon-Ha Lee","alias":"koko8829","url":"https://github.com/koko8829","imageURL":"https://github.com/koko8829.png","key":"koko8829","page":null},{"name":"Leandro Oriente","alias":"leandrooriente","url":"https://github.com/leandrooriente","imageURL":"https://github.com/leandrooriente.png","key":"leandrooriente","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Long Ho","alias":"longlho","url":"https://github.com/longlho","imageURL":"https://github.com/longlho.png","key":"longlho","page":null},{"name":"Lowen","alias":"lowenhere","url":"https://github.com/lowenhere","imageURL":"https://github.com/lowenhere.png","key":"lowenhere","page":null},{"name":"Pierre-Gilles Leymarie","alias":"Pierre-Gilles","url":"https://github.com/Pierre-Gilles","imageURL":"https://github.com/Pierre-Gilles.png","key":"Pierre-Gilles","page":null},{"name":"Quan","alias":"quanengineering","url":"https://github.com/quanengineering","imageURL":"https://github.com/quanengineering.png","key":"quanengineering","page":null},{"name":"Rhodanthe1116","alias":"Rhodanthe1116","url":"https://github.com/Rhodanthe1116","imageURL":"https://github.com/Rhodanthe1116.png","key":"Rhodanthe1116","page":null},{"name":"Steven Hansel","alias":"ShinteiMai","url":"https://github.com/ShinteiMai","imageURL":"https://github.com/ShinteiMai.png","key":"ShinteiMai","page":null},{"name":"Simen Bekkhus","alias":"SimenB","url":"https://github.com/SimenB","imageURL":"https://github.com/SimenB.png","key":"SimenB","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Zoltan Kochan","alias":"zkochan","url":"https://github.com/zkochan","imageURL":"https://github.com/zkochan.png","key":"zkochan","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-03-16T20:00","authors":["armano2","Harvtronix","koko8829","leandrooriente","lex111","longlho","lowenhere","Pierre-Gilles","quanengineering","Rhodanthe1116","ShinteiMai","SimenB","slorber","zkochan"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.73","permalink":"/changelog/2.0.0-alpha.73"},"nextItem":{"title":"2.0.0-alpha.71","permalink":"/changelog/2.0.0-alpha.71"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/74884079.edc10e9c.js b/assets/js/74884079.edc10e9c.js new file mode 100644 index 0000000000..bb601c2628 --- /dev/null +++ b/assets/js/74884079.edc10e9c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["98711"],{90611:function(s){s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"docs-tests"}')}}]); \ No newline at end of file diff --git a/assets/js/748cd346.c17836fc.js b/assets/js/748cd346.c17836fc.js new file mode 100644 index 0000000000..8a91876536 --- /dev/null +++ b/assets/js/748cd346.c17836fc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["37185"],{30179:function(e){e.exports="/feature-requests"}}]); \ No newline at end of file diff --git a/assets/js/74efa390.b847d19c.js b/assets/js/74efa390.b847d19c.js new file mode 100644 index 0000000000..f82583ca95 --- /dev/null +++ b/assets/js/74efa390.b847d19c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["15384"],{72653:function(t,e,n){n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>g,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var s=n(61080),o=n(85893),a=n(80980),l=n(45627);let i={title:"A post with html slug",tags:["paginated-tag"],slug:"/x/y/z.html"},r="Hmmm!",u={authorsImageUrls:[]},p=[...l.d$];function c(t){let e={p:"p",...(0,a.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.p,{children:"This is a blog post with an html slug!"}),"\n","\n",(0,o.jsx)(l.ZP,{})]})}function g(t={}){let{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(c,{...t})}):c(t)}},45627:function(t,e,n){n.d(e,{ZP:()=>i,d$:()=>a});var s=n(85893),o=n(80980);let a=[];function l(t){let e={p:"p",...(0,o.a)(),...t.components};return(0,s.jsx)(e.p,{children:"This is a blog partial"})}function i(t={}){let{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},80980:function(t,e,n){n.d(e,{Z:()=>i,a:()=>l});var s=n(67294);let o={},a=s.createContext(o);function l(t){let e=s.useContext(a);return s.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:l(t.components),s.createElement(a.Provider,{value:e},t.children)}},61080:function(t){t.exports=JSON.parse('{"permalink":"/tests/blog/x/y/z.html","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2022-10-02-html-slug.mdx","source":"@site/_dogfooding/_blog tests/2022-10-02-html-slug.mdx","title":"A post with html slug","description":"This is a blog post with an html slug!","date":"2022-10-02T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":3.4,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"A post with html slug","tags":["paginated-tag"],"slug":"/x/y/z.html"},"unlisted":false,"prevItem":{"title":"Test Relative Path","permalink":"/tests/blog/2023/07/19/b"},"nextItem":{"title":"First post with footnote to test posts with same footnote reference.","permalink":"/tests/blog/2022/04/20/dup-footnote"}}')}}]); \ No newline at end of file diff --git a/assets/js/75256.04029a41.js b/assets/js/75256.04029a41.js new file mode 100644 index 0000000000..b74d23f224 --- /dev/null +++ b/assets/js/75256.04029a41.js @@ -0,0 +1,155 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["75256"],{34422:function(e,t,s){s.d(t,{Ee:()=>q,P0:()=>a,pl:()=>H});var i=s(84890),u=s(28923),n=s(11141),r=function(){var e=(0,u.eW)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,17],s=[1,18],i=[1,19],n=[1,39],r=[1,40],a=[1,25],l=[1,23],o=[1,24],c=[1,31],h=[1,32],A=[1,33],p=[1,34],y=[1,35],d=[1,36],E=[1,26],C=[1,27],g=[1,28],m=[1,29],f=[1,43],b=[1,30],k=[1,42],F=[1,44],T=[1,41],B=[1,45],D=[1,9],_=[1,8,9],S=[1,56],N=[1,57],L=[1,58],$=[1,59],O=[1,60],x=[1,61],I=[1,62],v=[1,8,9,39],W=[1,74],R=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],w=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],P=[13,74,80,95,97,98],M=[13,64,65,74,80,95,97,98],U=[13,59,60,61,62,63,74,80,95,97,98],G=[1,93],Y=[1,110],z=[1,108],K=[1,102],V=[1,103],j=[1,104],Q=[1,105],X=[1,106],H=[1,107],q=[1,109],J=[1,8,9,37,39,42],Z=[1,8,9,21],ee=[1,8,9,78],et=[1,8,9,21,73,74,78,80,81,82,83,84,85],es={trace:(0,u.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:(0,u.eW)(function(e,t,s,i,u,n,r){var a=n.length-1;switch(u){case 8:this.$=n[a-1];break;case 9:case 11:case 12:this.$=n[a];break;case 10:case 13:case 89:this.$=n[a-1]+n[a];break;case 14:case 15:this.$=n[a-1]+"~"+n[a]+"~";break;case 16:i.addRelation(n[a]);break;case 17:n[a-1].title=i.cleanupLabel(n[a]),i.addRelation(n[a-1]);break;case 27:this.$=n[a].trim(),i.setAccTitle(this.$);break;case 28:case 29:this.$=n[a].trim(),i.setAccDescription(this.$);break;case 30:i.addClassesToNamespace(n[a-3],n[a-1]);break;case 31:i.addClassesToNamespace(n[a-4],n[a-1]);break;case 32:this.$=n[a],i.addNamespace(n[a]);break;case 33:case 43:case 86:this.$=[n[a]];break;case 34:this.$=[n[a-1]];break;case 35:n[a].unshift(n[a-2]),this.$=n[a];break;case 37:i.setCssClass(n[a-2],n[a]);break;case 38:i.addMembers(n[a-3],n[a-1]);break;case 39:i.setCssClass(n[a-5],n[a-3]),i.addMembers(n[a-5],n[a-1]);break;case 40:this.$=n[a],i.addClass(n[a]);break;case 41:this.$=n[a-1],i.addClass(n[a-1]),i.setClassLabel(n[a-1],n[a]);break;case 42:i.addAnnotation(n[a],n[a-2]);break;case 44:n[a].push(n[a-1]),this.$=n[a];break;case 45:case 47:case 48:break;case 46:i.addMember(n[a-1],i.cleanupLabel(n[a]));break;case 49:this.$={id1:n[a-2],id2:n[a],relation:n[a-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:n[a-3],id2:n[a],relation:n[a-1],relationTitle1:n[a-2],relationTitle2:"none"};break;case 51:this.$={id1:n[a-3],id2:n[a],relation:n[a-2],relationTitle1:"none",relationTitle2:n[a-1]};break;case 52:this.$={id1:n[a-4],id2:n[a],relation:n[a-2],relationTitle1:n[a-3],relationTitle2:n[a-1]};break;case 53:i.addNote(n[a],n[a-1]);break;case 54:i.addNote(n[a]);break;case 55:i.setDirection("TB");break;case 56:i.setDirection("BT");break;case 57:i.setDirection("RL");break;case 58:i.setDirection("LR");break;case 59:this.$={type1:n[a-2],type2:n[a],lineType:n[a-1]};break;case 60:this.$={type1:"none",type2:n[a],lineType:n[a-1]};break;case 61:this.$={type1:n[a-1],type2:"none",lineType:n[a]};break;case 62:this.$={type1:"none",type2:"none",lineType:n[a]};break;case 63:this.$=i.relationType.AGGREGATION;break;case 64:this.$=i.relationType.EXTENSION;break;case 65:this.$=i.relationType.COMPOSITION;break;case 66:this.$=i.relationType.DEPENDENCY;break;case 67:this.$=i.relationType.LOLLIPOP;break;case 68:this.$=i.lineType.LINE;break;case 69:this.$=i.lineType.DOTTED_LINE;break;case 70:case 76:this.$=n[a-2],i.setClickEvent(n[a-1],n[a]);break;case 71:case 77:this.$=n[a-3],i.setClickEvent(n[a-2],n[a-1]),i.setTooltip(n[a-2],n[a]);break;case 72:this.$=n[a-2],i.setLink(n[a-1],n[a]);break;case 73:this.$=n[a-3],i.setLink(n[a-2],n[a-1],n[a]);break;case 74:this.$=n[a-3],i.setLink(n[a-2],n[a-1]),i.setTooltip(n[a-2],n[a]);break;case 75:this.$=n[a-4],i.setLink(n[a-3],n[a-2],n[a]),i.setTooltip(n[a-3],n[a-1]);break;case 78:this.$=n[a-3],i.setClickEvent(n[a-2],n[a-1],n[a]);break;case 79:this.$=n[a-4],i.setClickEvent(n[a-3],n[a-2],n[a-1]),i.setTooltip(n[a-3],n[a]);break;case 80:this.$=n[a-3],i.setLink(n[a-2],n[a]);break;case 81:this.$=n[a-4],i.setLink(n[a-3],n[a-1],n[a]);break;case 82:this.$=n[a-4],i.setLink(n[a-3],n[a-1]),i.setTooltip(n[a-3],n[a]);break;case 83:this.$=n[a-5],i.setLink(n[a-4],n[a-2],n[a]),i.setTooltip(n[a-4],n[a-1]);break;case 84:this.$=n[a-2],i.setCssStyle(n[a-1],n[a]);break;case 85:i.setCssClass(n[a-1],n[a]);break;case 87:n[a-2].push(n[a]),this.$=n[a-2]}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:t,33:s,35:i,36:21,40:n,41:22,44:r,45:a,47:l,48:o,50:c,52:h,53:A,54:p,55:y,56:d,66:E,67:C,69:g,73:m,74:f,76:b,80:k,95:F,97:T,98:B},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(D,[2,5],{8:[1,46]}),{8:[1,47]},e(_,[2,16],{21:[1,48]}),e(_,[2,18]),e(_,[2,19]),e(_,[2,20]),e(_,[2,21]),e(_,[2,22]),e(_,[2,23]),e(_,[2,24]),e(_,[2,25]),e(_,[2,26]),{32:[1,49]},{34:[1,50]},e(_,[2,29]),e(_,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:S,60:N,61:L,62:$,63:O,64:x,65:I}),{37:[1,63]},e(v,[2,36],{37:[1,65],42:[1,64]}),e(_,[2,47]),e(_,[2,48]),{16:66,74:f,80:k,95:F,97:T},{16:37,17:67,18:38,74:f,80:k,95:F,97:T,98:B},{16:37,17:68,18:38,74:f,80:k,95:F,97:T,98:B},{16:37,17:69,18:38,74:f,80:k,95:F,97:T,98:B},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:f,80:k,95:F,97:T,98:B},{13:W,51:73},e(_,[2,55]),e(_,[2,56]),e(_,[2,57]),e(_,[2,58]),e(R,[2,11],{16:37,18:38,17:75,19:[1,76],74:f,80:k,95:F,97:T,98:B}),e(R,[2,12],{19:[1,77]}),{15:78,16:79,74:f,80:k,95:F,97:T},{16:37,17:80,18:38,74:f,80:k,95:F,97:T,98:B},e(w,[2,112]),e(w,[2,113]),e(w,[2,114]),e(w,[2,115]),e([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),e(D,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:t,33:s,35:i,40:n,44:r,45:a,47:l,48:o,50:c,52:h,53:A,54:p,55:y,56:d,66:E,67:C,69:g,73:m,74:f,76:b,80:k,95:F,97:T,98:B}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:t,33:s,35:i,36:21,40:n,41:22,44:r,45:a,47:l,48:o,50:c,52:h,53:A,54:p,55:y,56:d,66:E,67:C,69:g,73:m,74:f,76:b,80:k,95:F,97:T,98:B},e(_,[2,17]),e(_,[2,27]),e(_,[2,28]),{13:[1,84],16:37,17:83,18:38,74:f,80:k,95:F,97:T,98:B},{49:85,57:54,58:55,59:S,60:N,61:L,62:$,63:O,64:x,65:I},e(_,[2,46]),{58:86,64:x,65:I},e(P,[2,62],{57:87,59:S,60:N,61:L,62:$,63:O}),e(M,[2,63]),e(M,[2,64]),e(M,[2,65]),e(M,[2,66]),e(M,[2,67]),e(U,[2,68]),e(U,[2,69]),{8:[1,89],23:90,38:88,41:22,44:r},{16:91,74:f,80:k,95:F,97:T},{43:92,47:G},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Y,73:z,74:K,75:99,77:100,79:101,80:V,81:j,82:Q,83:X,84:H,85:q},{74:[1,111]},{13:W,51:112},e(_,[2,54]),e(_,[2,117]),e(R,[2,13]),e(R,[2,14]),e(R,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:f,80:k,95:F,97:T},e(J,[2,40],{11:114,12:[1,115]}),e(D,[2,7]),{9:[1,116]},e(Z,[2,49]),{16:37,17:117,18:38,74:f,80:k,95:F,97:T,98:B},{13:[1,119],16:37,17:118,18:38,74:f,80:k,95:F,97:T,98:B},e(P,[2,61],{57:120,59:S,60:N,61:L,62:$,63:O}),e(P,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:r},{8:[1,123],39:[2,33]},e(v,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:G},{16:37,17:127,18:38,74:f,80:k,95:F,97:T,98:B},e(_,[2,70],{13:[1,128]}),e(_,[2,72],{13:[1,130],68:[1,129]}),e(_,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},e(_,[2,84],{78:[1,134]}),e(ee,[2,86],{79:135,21:Y,73:z,74:K,80:V,81:j,82:Q,83:X,84:H,85:q}),e(et,[2,88]),e(et,[2,90]),e(et,[2,91]),e(et,[2,92]),e(et,[2,93]),e(et,[2,94]),e(et,[2,95]),e(et,[2,96]),e(et,[2,97]),e(et,[2,98]),e(_,[2,85]),e(_,[2,53]),{37:[2,10]},e(J,[2,41]),{13:[1,136]},{1:[2,4]},e(Z,[2,51]),e(Z,[2,50]),{16:37,17:137,18:38,74:f,80:k,95:F,97:T,98:B},e(P,[2,59]),e(_,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:r},{43:140,47:G},e(v,[2,38]),{39:[2,44]},e(_,[2,42]),e(_,[2,71]),e(_,[2,73]),e(_,[2,74],{68:[1,141]}),e(_,[2,77]),e(_,[2,78],{13:[1,142]}),e(_,[2,80],{13:[1,144],68:[1,143]}),{21:Y,73:z,74:K,77:145,79:101,80:V,81:j,82:Q,83:X,84:H,85:q},e(et,[2,89]),{14:[1,146]},e(Z,[2,52]),e(_,[2,31]),{39:[2,35]},{39:[1,147]},e(_,[2,75]),e(_,[2,79]),e(_,[2,81]),e(_,[2,82],{68:[1,148]}),e(ee,[2,87],{79:135,21:Y,73:z,74:K,80:V,81:j,82:Q,83:X,84:H,85:q}),e(J,[2,8]),e(v,[2,39]),e(_,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:(0,u.eW)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,u.eW)(function(e){var t=this,s=[0],i=[],n=[null],r=[],a=this.table,l="",o=0,c=0,h=0,A=r.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);p.setInput(e,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var E=p.yylloc;r.push(E);var C=p.options&&p.options.ranges;function g(){var e;return"number"!=typeof(e=i.pop()||p.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,u.eW)(function(e){s.length=s.length-2*e,n.length=n.length-e,r.length=r.length-e},"popStack"),(0,u.eW)(g,"lex");for(var m,f,b,k,F,T,B,D,_,S={};;){if(b=s[s.length-1],this.defaultActions[b]?k=this.defaultActions[b]:(null==m&&(m=g()),k=a[b]&&a[b][m]),void 0===k||!k.length||!k[0]){var N="";for(T in _=[],a[b])this.terminals_[T]&&T>2&&_.push("'"+this.terminals_[T]+"'");N=p.showPosition?"Parse error on line "+(o+1)+":\n"+p.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(N,{text:p.match,token:this.terminals_[m]||m,line:p.yylineno,loc:E,expected:_})}if(k[0]instanceof Array&&k.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(k[0]){case 1:s.push(m),n.push(p.yytext),r.push(p.yylloc),s.push(k[1]),m=null,f?(m=f,f=null):(c=p.yyleng,l=p.yytext,o=p.yylineno,E=p.yylloc,h>0&&h--);break;case 2:if(B=this.productions_[k[1]][1],S.$=n[n.length-B],S._$={first_line:r[r.length-(B||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(B||1)].first_column,last_column:r[r.length-1].last_column},C&&(S._$.range=[r[r.length-(B||1)].range[0],r[r.length-1].range[1]]),void 0!==(F=this.performAction.apply(S,[l,c,o,y.yy,k[1],n,r].concat(A))))return F;B&&(s=s.slice(0,-1*B*2),n=n.slice(0,-1*B),r=r.slice(0,-1*B)),s.push(this.productions_[k[1]][0]),n.push(S.$),r.push(S._$),D=a[s[s.length-2]][s[s.length-1]],s.push(D);break;case 3:return!0}}return!0},"parse")},ei={EOF:1,parseError:(0,u.eW)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,u.eW)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,u.eW)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,u.eW)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,u.eW)(function(){return this._more=!0,this},"more"),reject:(0,u.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,u.eW)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,u.eW)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,u.eW)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,u.eW)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,u.eW)(function(e,t){var s,i,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var n in u)this[n]=u[n];return!1},"test_match"),next:(0,u.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,u=this._currentRules(),n=0;n<u.length;n++)if((s=this._input.match(this.rules[u[n]]))&&(!t||s[0].length>t[0].length)){if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,u[n])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,u[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,u.eW)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,u.eW)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,u.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,u.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,u.eW)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,u.eW)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,u.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,u.eW)(function(e,t,s,i){switch(s){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:case 5:case 14:case 30:case 35:case 39:case 46:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 57:case 60:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 34:return 8;case 15:case 16:return 7;case 17:case 36:case 44:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 23:return 71;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:case 38:return this.popState(),8;case 31:return this.begin("namespace-body"),37;case 32:case 42:return this.popState(),39;case 33:case 43:return"EOF_IN_STRUCT";case 37:return this.begin("class"),44;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 45:return"OPEN_IN_STRUCT";case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:case 64:case 65:case 66:return 68;case 67:case 68:return 60;case 69:case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:case 84:return 84;case 85:return 85;case 86:case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:case 95:return 83;case 96:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};function eu(){this.yy={}}return es.lexer=ei,(0,u.eW)(eu,"Parser"),eu.prototype=es,es.Parser=eu,new eu}();r.parser=r;var a=r,l=["#","+","~","-",""],o=class{static{(0,u.eW)(this,"ClassMember")}constructor(e,t){this.memberType=t,this.visibility="",this.classifier="";let s=(0,u.oO)(e,(0,u.nV)());this.parseMember(s)}getDisplayDetails(){let e=this.visibility+(0,u.UO)(this.id);return"method"===this.memberType&&(e+=`(${(0,u.UO)(this.parameters.trim())})`,this.returnType&&(e+=" : "+(0,u.UO)(this.returnType))),{displayText:e=e.trim(),cssStyle:this.parseClassifier()}}parseMember(e){let t="";if("method"===this.memberType){let s=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(s){let e=s[1]?s[1].trim():"";if(l.includes(e)&&(this.visibility=e),this.id=s[2].trim(),this.parameters=s[3]?s[3].trim():"",t=s[4]?s[4].trim():"",this.returnType=s[5]?s[5].trim():"",""===t){let e=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(e)&&(t=e,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let s=e.length,i=e.substring(0,1),u=e.substring(s-1);l.includes(i)&&(this.visibility=i),/[$*]/.exec(u)&&(t=u),this.id=e.substring(+(""!==this.visibility),""===t?s:s-1)}this.classifier=t}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},c="classId-",h=[],A=new Map,p=[],y=0,d=new Map,E=0,C=[],g=(0,u.eW)(e=>u.SY.sanitizeText(e,(0,u.nV)()),"sanitizeText"),m=(0,u.eW)(function(e){let t=u.SY.sanitizeText(e,(0,u.nV)()),s="",i=t;if(t.indexOf("~")>0){let e=t.split("~");i=g(e[0]),s=g(e[1])}return{className:i,type:s}},"splitClassNameAndType"),f=(0,u.eW)(function(e,t){let s=u.SY.sanitizeText(e,(0,u.nV)());t&&(t=g(t));let{className:i}=m(s);A.get(i).label=t},"setClassLabel"),b=(0,u.eW)(function(e){let{className:t,type:s}=m(u.SY.sanitizeText(e,(0,u.nV)()));if(A.has(t))return;let i=u.SY.sanitizeText(t,(0,u.nV)());A.set(i,{id:i,type:s,label:i,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:c+i+"-"+y}),y++},"addClass"),k=(0,u.eW)(function(e){let t=u.SY.sanitizeText(e,(0,u.nV)());if(A.has(t))return A.get(t).domId;throw Error("Class not found: "+t)},"lookUpDomId"),F=(0,u.eW)(function(){h=[],A=new Map,p=[],(C=[]).push(U),d=new Map,E=0,G="TB",(0,u.ZH)()},"clear"),T=(0,u.eW)(function(e){return A.get(e)},"getClass"),B=(0,u.eW)(function(){return A},"getClasses"),D=(0,u.eW)(function(){return h},"getRelations"),_=(0,u.eW)(function(){return p},"getNotes"),S=(0,u.eW)(function(e){u.cM.debug("Adding relation: "+JSON.stringify(e)),b(e.id1),b(e.id2),e.id1=m(e.id1).className,e.id2=m(e.id2).className,e.relationTitle1=u.SY.sanitizeText(e.relationTitle1.trim(),(0,u.nV)()),e.relationTitle2=u.SY.sanitizeText(e.relationTitle2.trim(),(0,u.nV)()),h.push(e)},"addRelation"),N=(0,u.eW)(function(e,t){let s=m(e).className;A.get(s).annotations.push(t)},"addAnnotation"),L=(0,u.eW)(function(e,t){b(e);let s=m(e).className,i=A.get(s);if("string"==typeof t){let e=t.trim();e.startsWith("<<")&&e.endsWith(">>")?i.annotations.push(g(e.substring(2,e.length-2))):e.indexOf(")")>0?i.methods.push(new o(e,"method")):e&&i.members.push(new o(e,"attribute"))}},"addMember"),$=(0,u.eW)(function(e,t){Array.isArray(t)&&(t.reverse(),t.forEach(t=>L(e,t)))},"addMembers"),O=(0,u.eW)(function(e,t){let s={id:`note${p.length}`,class:t,text:e};p.push(s)},"addNote"),x=(0,u.eW)(function(e){return e.startsWith(":")&&(e=e.substring(1)),g(e.trim())},"cleanupLabel"),I=(0,u.eW)(function(e,t){e.split(",").forEach(function(e){let s=e;/\d/.exec(e[0])&&(s=c+s);let i=A.get(s);i&&i.cssClasses.push(t)})},"setCssClass"),v=(0,u.eW)(function(e,t){e.split(",").forEach(function(e){void 0!==t&&(A.get(e).tooltip=g(t))})},"setTooltip"),W=(0,u.eW)(function(e,t){return t&&d.has(t)?d.get(t).classes.get(e).tooltip:A.get(e).tooltip},"getTooltip"),R=(0,u.eW)(function(e,t,s){let n=(0,u.nV)();e.split(",").forEach(function(e){let u=e;/\d/.exec(e[0])&&(u=c+u);let r=A.get(u);r&&(r.link=i.w8.formatUrl(t,n),"sandbox"===n.securityLevel?r.linkTarget="_top":"string"==typeof s?r.linkTarget=g(s):r.linkTarget="_blank")}),I(e,"clickable")},"setLink"),w=(0,u.eW)(function(e,t,s){e.split(",").forEach(function(e){P(e,t,s),A.get(e).haveCallback=!0}),I(e,"clickable")},"setClickEvent"),P=(0,u.eW)(function(e,t,s){let n=u.SY.sanitizeText(e,(0,u.nV)());if("loose"===(0,u.nV)().securityLevel&&void 0!==t&&A.has(n)){let e=k(n),u=[];if("string"==typeof s){u=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<u.length;e++){let t=u[e].trim();t.startsWith('"')&&t.endsWith('"')&&(t=t.substr(1,t.length-2)),u[e]=t}}0===u.length&&u.push(e),C.push(function(){let s=document.querySelector(`[id="${e}"]`);null!==s&&s.addEventListener("click",function(){i.w8.runFunc(t,...u)},!1)})}},"setClickFunc"),M=(0,u.eW)(function(e){C.forEach(function(t){t(e)})},"bindFunctions"),U=(0,u.eW)(function(e){let t=(0,n.Ys)(".mermaidTooltip");null===(t._groups||t)[0][0]&&(t=(0,n.Ys)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),(0,n.Ys)(e).select("svg").selectAll("g.node").on("mouseover",function(){let e=(0,n.Ys)(this);if(null===e.attr("title"))return;let s=this.getBoundingClientRect();t.transition().duration(200).style("opacity",".9"),t.text(e.attr("title")).style("left",window.scrollX+s.left+(s.right-s.left)/2+"px").style("top",window.scrollY+s.top-14+document.body.scrollTop+"px"),t.html(t.html().replace(/<br\/>/g,"<br/>")),e.classed("hover",!0)}).on("mouseout",function(){t.transition().duration(500).style("opacity",0),(0,n.Ys)(this).classed("hover",!1)})},"setupToolTips");C.push(U);var G="TB",Y=(0,u.eW)(()=>G,"getDirection"),z=(0,u.eW)(e=>{G=e},"setDirection"),K=(0,u.eW)(function(e){!d.has(e)&&(d.set(e,{id:e,classes:new Map,children:{},domId:c+e+"-"+E}),E++)},"addNamespace"),V=(0,u.eW)(function(e){return d.get(e)},"getNamespace"),j=(0,u.eW)(function(){return d},"getNamespaces"),Q=(0,u.eW)(function(e,t){if(d.has(e))for(let s of t){let{className:t}=m(s);A.get(t).parent=e,d.get(e).classes.set(t,A.get(t))}},"addClassesToNamespace"),X=(0,u.eW)(function(e,t){let s=A.get(e);if(t&&s)for(let e of t)e.includes(",")?s.styles.push(...e.split(",")):s.styles.push(e)},"setCssStyle"),H={setAccTitle:u.GN,getAccTitle:u.eu,getAccDescription:u.Mx,setAccDescription:u.U$,getConfig:(0,u.eW)(()=>(0,u.nV)().class,"getConfig"),addClass:b,bindFunctions:M,clear:F,getClass:T,getClasses:B,getNotes:_,addAnnotation:N,addNote:O,getRelations:D,addRelation:S,getDirection:Y,setDirection:z,addMember:L,addMembers:$,cleanupLabel:x,lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},setClickEvent:w,setCssClass:I,setLink:R,getTooltip:W,setTooltip:v,lookUpDomId:k,setDiagramTitle:u.g2,getDiagramTitle:u.Kr,setClassLabel:f,addNamespace:K,addClassesToNamespace:Q,getNamespace:V,getNamespaces:j,setCssStyle:X},q=(0,u.eW)(e=>`g.classGroup text { + fill: ${e.nodeBorder||e.classText}; + stroke: none; + font-family: ${e.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${e.classText}; +} +.edgeLabel .label rect { + fill: ${e.mainBkg}; +} +.label text { + fill: ${e.classText}; +} +.edgeLabel .label span { + background: ${e.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${e.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; +} + +g.classGroup line { + stroke: ${e.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${e.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${e.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${e.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${e.mainBkg} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${e.mainBkg} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; +} +`,"getStyles")}}]); \ No newline at end of file diff --git a/assets/js/758e69f6.2679b4eb.js b/assets/js/758e69f6.2679b4eb.js new file mode 100644 index 0000000000..01c34ff81a --- /dev/null +++ b/assets/js/758e69f6.2679b4eb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["77678"],{81704:function(t,e,s){s.r(e),s.d(e,{frontMatter:()=>n,default:()=>f,contentTitle:()=>d,assets:()=>o,toc:()=>l,metadata:()=>i});var i=JSON.parse('{"id":"tests/visibility/some-drafts/draft-subcategory/listed1","title":"Some Drafts - Listed 1","description":"Regular doc","source":"@site/_dogfooding/_docs tests/tests/visibility/some-drafts/draft-subcategory/listed1.mdx","sourceDirName":"tests/visibility/some-drafts/draft-subcategory","slug":"/tests/visibility/some-drafts/draft-subcategory/listed1","permalink":"/tests/docs/tests/visibility/some-drafts/draft-subcategory/listed1","draft":false,"unlisted":false,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Listed","permalink":"/tests/docs/tags/listed"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"tags":["visibility","listed"]},"sidebar":"sidebar","previous":{"title":"Visibility","permalink":"/tests/docs/tests/visibility/"},"next":{"title":"Subcategory index listed","permalink":"/tests/docs/tests/visibility/some-unlisteds/subcategory-with-listed-index/"}}'),a=s(85893),r=s(80980);let n={tags:["visibility","listed"]},d="Some Drafts - Listed 1",o={},l=[];function c(t){let e={h1:"h1",header:"header",p:"p",...(0,r.a)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.header,{children:(0,a.jsx)(e.h1,{id:"some-drafts---listed-1",children:"Some Drafts - Listed 1"})}),"\n",(0,a.jsx)(e.p,{children:"Regular doc"})]})}function f(t={}){let{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(c,{...t})}):c(t)}f.displayName="MDXContent(_dogfooding/_docs tests/tests/visibility/some-drafts/draft-subcategory/listed1.mdx)"},80980:function(t,e,s){s.d(e,{Z:()=>d,a:()=>n});var i=s(67294);let a={},r=i.createContext(a);function n(t){let e=i.useContext(r);return i.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function d(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:n(t.components),i.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/75bdc829.888b5167.js b/assets/js/75bdc829.888b5167.js new file mode 100644 index 0000000000..bf3a3f2dfb --- /dev/null +++ b/assets/js/75bdc829.888b5167.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["72901"],{71283:function(e,s,n){n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>a,frontMatter:()=>r,metadata:()=>t,toc:()=>h});var t=n(57479),o=n(85893),i=n(80980);let r={mdx:{format:"md"},date:"2024-08-13T20:00",authors:["cstangerup","GatienBoquet","josh-wong","slorber"]},c="3.5.2",l={authorsImageUrls:[void 0,void 0,void 0,void 0]},h=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83E\uDD16 Dependencies",id:"robot-dependencies",level:2},{value:"Committers: 4",id:"committers-4",level:2}];function u(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10397",children:"#10397"})," fix(theme-common): restore useContextualSearchFilters public API for retrocompatibility (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10391",children:"#10391"})," fix(core): always alias React/ReactDOM to site dependency so that importing MDX from anywhere works (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10392",children:"#10392"})," fix(create-docusaurus): Improve init templates blog setup + fix warnings (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10390",children:"#10390"})," fix(theme): Adjust blog authors line height to show descenders in lowercase letters (",(0,o.jsx)(s.code,{children:"g"}),", ",(0,o.jsx)(s.code,{children:"j"}),", ",(0,o.jsx)(s.code,{children:"p"}),", ",(0,o.jsx)(s.code,{children:"q"}),", and ",(0,o.jsx)(s.code,{children:"y"}),") (",(0,o.jsx)(s.a,{href:"https://github.com/josh-wong",children:"@josh-wong"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,o.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10394",children:"#10394"})," fix(translations): change casing of some en labels (",(0,o.jsx)(s.a,{href:"https://github.com/cstangerup",children:"@cstangerup"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10393",children:"#10393"})," docs(showcase): remove sites not using Docusaurus anymore (",(0,o.jsx)(s.a,{href:"https://github.com/GatienBoquet",children:"@GatienBoquet"}),")"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"robot-dependencies",children:"\uD83E\uDD16 Dependencies"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10396",children:"#10396"})," chore(deps): bump github/codeql-action from 3.25.13 to 3.26.0 (",(0,o.jsx)(s.a,{href:"https://github.com/apps/dependabot",children:"@dependabot[bot]"}),")"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"committers-4",children:"Committers: 4"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Christian Stangerup (",(0,o.jsx)(s.a,{href:"https://github.com/cstangerup",children:"@cstangerup"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Gatien Boquet (",(0,o.jsx)(s.a,{href:"https://github.com/GatienBoquet",children:"@GatienBoquet"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["Josh Wong (",(0,o.jsx)(s.a,{href:"https://github.com/josh-wong",children:"@josh-wong"}),")"]}),"\n",(0,o.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,o.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]})]})}function a(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},80980:function(e,s,n){n.d(s,{Z:()=>c,a:()=>r});var t=n(67294);let o={},i=t.createContext(o);function r(e){let s=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:s},e.children)}},57479:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.5.2","source":"@site/changelog/source/3.5.2.md","title":"3.5.2","description":"Bug Fix","date":"2024-08-13T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Christian Stangerup","alias":"cstangerup","url":"https://github.com/cstangerup","imageURL":"https://github.com/cstangerup.png","key":"cstangerup","page":null},{"name":"Gatien Boquet","alias":"GatienBoquet","url":"https://github.com/GatienBoquet","imageURL":"https://github.com/GatienBoquet.png","key":"GatienBoquet","page":null},{"name":"Josh Wong","alias":"josh-wong","url":"https://github.com/josh-wong","imageURL":"https://github.com/josh-wong.png","key":"josh-wong","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-08-13T20:00","authors":["cstangerup","GatienBoquet","josh-wong","slorber"]},"unlisted":false,"prevItem":{"title":"3.6.0","permalink":"/changelog/3.6.0"},"nextItem":{"title":"3.5.1","permalink":"/changelog/3.5.1"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/75d8497c.75a74373.js b/assets/js/75d8497c.75a74373.js new file mode 100644 index 0000000000..c3c0536e78 --- /dev/null +++ b/assets/js/75d8497c.75a74373.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["57145"],{65967:function(e,s,i){i.r(s),i.d(s,{assets:()=>t,contentTitle:()=>c,default:()=>u,frontMatter:()=>n,metadata:()=>h,toc:()=>o});var h=i(1414),l=i(85893),a=i(80980);let n={mdx:{format:"md"},date:"2020-03-08T19:00",authors:["amilajack","balloob","deniaz","hassanfarid","jartuso","jsjoeio","lex111","mohamedsgap","Noah-Silvera","phoqe","rlamana","s-pace","scottilee","TheodoreChu","yangshun","Zhencha0Cai"]},c="2.0.0-alpha.44",t={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 16",id:"committers-16",level:2}];function r(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,a.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2250",children:"#2250"})," feat(v2): add support specify new languages for Prism (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2344",children:"#2344"})," feat(v2): allow specifying custom target for logo link (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2327",children:"#2327"})," feat(v2): add ability to use HTML in footer copyright (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2335",children:"#2335"})," feat(v2): add draft feature to blog posts (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2303",children:"#2303"})," docs(v2): Nav links activeBasePath (",(0,l.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2296",children:"#2296"})," feat(v2): add ExecutionEnvironment API (",(0,l.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2345",children:"#2345"})," fix(v2): force terminate building if client bundle failed (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2310",children:"#2310"})," fix(v2): add @babel/preset-typescript to babel-loader (",(0,l.jsx)(s.a,{href:"https://github.com/deniaz",children:"@deniaz"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2371",children:"#2371"})," fix(v2): remove line break from end of code blocks (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2326",children:"#2326"})," fix(v2): linkify blog posts (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2324",children:"#2324"})," fix(v2): properly set dark mode logo on build-time prerendering (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2325",children:"#2325"})," fix(v2): switch a toggle when system theme changed (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2334",children:"#2334"})," fix(v2): make proper path to pages in TS (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2316",children:"#2316"})," fix(v2): properly scale logo on IE 11 (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2376",children:"#2376"})," refactor(v2): clean up and improve Algolia styles (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,l.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2372",children:"#2372"})," chore(v2): upgrade Infima and remark-admonitions (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2367",children:"#2367"})," refactor(v2): increase CSS specificity on application container (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,l.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2363",children:"#2363"})," fix(v2): improve stylelint copyright header rule (",(0,l.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,l.jsx)(s.code,{children:"docusaurus"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2342",children:"#2342"})," chore(v2): mark tagline field as optional (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2378",children:"#2378"})," docs(v2): add section for docs-only mode (",(0,l.jsx)(s.a,{href:"https://github.com/phoqe",children:"@phoqe"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2357",children:"#2357"})," docs(v2): fix getPathsToWatch() example syntax in lifecycle APIs (",(0,l.jsx)(s.a,{href:"https://github.com/rlamana",children:"@rlamana"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2351",children:"#2351"})," docs(v2): add examples to plugin usage doc (",(0,l.jsx)(s.a,{href:"https://github.com/Noah-Silvera",children:"@Noah-Silvera"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2343",children:"#2343"})," docs(v2): fix typo in remark-admonitions example (",(0,l.jsx)(s.a,{href:"https://github.com/hassanfarid",children:"@hassanfarid"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2340",children:"#2340"})," docs(v2): mention about disabling Jekyll when using GitHub pages (",(0,l.jsx)(s.a,{href:"https://github.com/amilajack",children:"@amilajack"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2338",children:"#2338"})," docs(v2): guide on upgrading Docusaurus within a project (",(0,l.jsx)(s.a,{href:"https://github.com/TheodoreChu",children:"@TheodoreChu"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2313",children:"#2313"})," docs(v2): move the quotes to remark admonitions (",(0,l.jsx)(s.a,{href:"https://github.com/Zhencha0Cai",children:"@Zhencha0Cai"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2307",children:"#2307"})," docs(v1): fix Windows instructions for GitHub Pages publishing (",(0,l.jsx)(s.a,{href:"https://github.com/jartuso",children:"@jartuso"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2300",children:"#2300"})," docs(v2): make blog plugin config example valid (",(0,l.jsx)(s.a,{href:"https://github.com/balloob",children:"@balloob"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2289",children:"#2289"})," docs(v2): add instructions on Travis CI deployment (",(0,l.jsx)(s.a,{href:"https://github.com/mohamedsgap",children:"@mohamedsgap"}),")"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Other\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2369",children:"#2369"})," misc: mention about v2 in README file (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2368",children:"#2368"})," misc: add note about edits in versioned docs (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2333",children:"#2333"})," docs: update use of npm/yarn in contributing.md (",(0,l.jsx)(s.a,{href:"https://github.com/jsjoeio",children:"@jsjoeio"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2328",children:"#2328"})," docs(v2): remove unwanted black line from DocSearch showcase image (",(0,l.jsx)(s.a,{href:"https://github.com/s-pace",children:"@s-pace"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2319",children:"#2319"})," docs(v2): showcase user Algolia (",(0,l.jsx)(s.a,{href:"https://github.com/scottilee",children:"@scottilee"}),")"]}),"\n"]}),"\n"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2322",children:"#2322"})," docs(v2): fix misc styling (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"committers-16",children:"Committers: 16"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,l.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Amila Welihinda (",(0,l.jsx)(s.a,{href:"https://github.com/amilajack",children:"@amilajack"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Hassan Farid (",(0,l.jsx)(s.a,{href:"https://github.com/hassanfarid",children:"@hassanfarid"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Joe Previte (",(0,l.jsx)(s.a,{href:"https://github.com/jsjoeio",children:"@jsjoeio"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Linus L\xe5ngberg (",(0,l.jsx)(s.a,{href:"https://github.com/phoqe",children:"@phoqe"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Mohamed Abdel Nasser (",(0,l.jsx)(s.a,{href:"https://github.com/mohamedsgap",children:"@mohamedsgap"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Noah Silvera (",(0,l.jsx)(s.a,{href:"https://github.com/Noah-Silvera",children:"@Noah-Silvera"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Paulus Schoutsen (",(0,l.jsx)(s.a,{href:"https://github.com/balloob",children:"@balloob"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Ram\xf3n Lamana (",(0,l.jsx)(s.a,{href:"https://github.com/rlamana",children:"@rlamana"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Robert (",(0,l.jsx)(s.a,{href:"https://github.com/deniaz",children:"@deniaz"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Scott Lee (",(0,l.jsx)(s.a,{href:"https://github.com/scottilee",children:"@scottilee"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Sylvain Pace (",(0,l.jsx)(s.a,{href:"https://github.com/s-pace",children:"@s-pace"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Theodore Chu (",(0,l.jsx)(s.a,{href:"https://github.com/TheodoreChu",children:"@TheodoreChu"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Yangshun Tay (",(0,l.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,l.jsxs)(s.li,{children:["Zhenchao Cai (",(0,l.jsx)(s.a,{href:"https://github.com/Zhencha0Cai",children:"@Zhencha0Cai"}),")"]}),"\n",(0,l.jsx)(s.li,{children:(0,l.jsx)(s.a,{href:"https://github.com/jartuso",children:"@jartuso"})}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,a.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(r,{...e})}):r(e)}},80980:function(e,s,i){i.d(s,{Z:()=>c,a:()=>n});var h=i(67294);let l={},a=h.createContext(l);function n(e){let s=h.useContext(a);return h.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:n(e.components),h.createElement(a.Provider,{value:s},e.children)}},1414:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.44","source":"@site/changelog/source/2.0.0-alpha.44.md","title":"2.0.0-alpha.44","description":"New Feature","date":"2020-03-08T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Amila Welihinda","alias":"amilajack","url":"https://github.com/amilajack","imageURL":"https://github.com/amilajack.png","key":"amilajack","page":null},{"name":"Paulus Schoutsen","alias":"balloob","url":"https://github.com/balloob","imageURL":"https://github.com/balloob.png","key":"balloob","page":null},{"name":"Robert","alias":"deniaz","url":"https://github.com/deniaz","imageURL":"https://github.com/deniaz.png","key":"deniaz","page":null},{"name":"Hassan Farid","alias":"hassanfarid","url":"https://github.com/hassanfarid","imageURL":"https://github.com/hassanfarid.png","key":"hassanfarid","page":null},{"name":"jartuso","alias":"jartuso","url":"https://github.com/jartuso","imageURL":"https://github.com/jartuso.png","key":"jartuso","page":null},{"name":"JavaScript Joe","alias":"jsjoeio","url":"https://github.com/jsjoeio","imageURL":"https://github.com/jsjoeio.png","key":"jsjoeio","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Mohamed Abdel Nasser","alias":"mohamedsgap","url":"https://github.com/mohamedsgap","imageURL":"https://github.com/mohamedsgap.png","key":"mohamedsgap","page":null},{"name":"Noah Silvera","alias":"Noah-Silvera","url":"https://github.com/Noah-Silvera","imageURL":"https://github.com/Noah-Silvera.png","key":"Noah-Silvera","page":null},{"name":"Linus L\xe5ngberg","alias":"phoqe","url":"https://github.com/phoqe","imageURL":"https://github.com/phoqe.png","key":"phoqe","page":null},{"name":"Ram\xf3n Lamana","alias":"rlamana","url":"https://github.com/rlamana","imageURL":"https://github.com/rlamana.png","key":"rlamana","page":null},{"name":"Sylvain Pace","alias":"s-pace","url":"https://github.com/s-pace","imageURL":"https://github.com/s-pace.png","key":"s-pace","page":null},{"name":"Scott Lee","alias":"scottilee","url":"https://github.com/scottilee","imageURL":"https://github.com/scottilee.png","key":"scottilee","page":null},{"name":"Theodore Chu","alias":"TheodoreChu","url":"https://github.com/TheodoreChu","imageURL":"https://github.com/TheodoreChu.png","key":"TheodoreChu","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Zhenchao Cai","alias":"Zhencha0Cai","url":"https://github.com/Zhencha0Cai","imageURL":"https://github.com/Zhencha0Cai.png","key":"Zhencha0Cai","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-03-08T19:00","authors":["amilajack","balloob","deniaz","hassanfarid","jartuso","jsjoeio","lex111","mohamedsgap","Noah-Silvera","phoqe","rlamana","s-pace","scottilee","TheodoreChu","yangshun","Zhencha0Cai"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.48","permalink":"/changelog/2.0.0-alpha.48"},"nextItem":{"title":"2.0.0-alpha.43","permalink":"/changelog/2.0.0-alpha.43"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/75efc17f.10fbe0c3.js b/assets/js/75efc17f.10fbe0c3.js new file mode 100644 index 0000000000..2733550c89 --- /dev/null +++ b/assets/js/75efc17f.10fbe0c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["10169"],{36076:function(e,t,a){a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>l,metadata:()=>n,toc:()=>i});var n=a(96299),r=a(85893),o=a(80980);let l={mdx:{format:"md"},date:"2020-11-18T19:00"},s="2.0.0-alpha.67",c={authorsImageUrls:[]},i=[];function u(e){return(0,r.jsx)(r.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,a){a.d(t,{Z:()=>s,a:()=>l});var n=a(67294);let r={},o=n.createContext(r);function l(e){let t=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),n.createElement(o.Provider,{value:t},e.children)}},96299:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.67","source":"@site/changelog/source/2.0.0-alpha.67.md","title":"2.0.0-alpha.67","description":"Failed release","date":"2020-11-18T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2020-11-18T19:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.68","permalink":"/changelog/2.0.0-alpha.68"},"nextItem":{"title":"2.0.0-alpha.66","permalink":"/changelog/2.0.0-alpha.66"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/76134b9e.e13da581.js b/assets/js/76134b9e.e13da581.js new file mode 100644 index 0000000000..46e89461e1 --- /dev/null +++ b/assets/js/76134b9e.e13da581.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["4774"],{88579:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>o,default:()=>l,contentTitle:()=>d,assets:()=>a,toc:()=>u,metadata:()=>s});var s=JSON.parse('{"id":"beginner\'s guide","title":"Beginner\'s guide","description":"#9160","source":"@site/_dogfooding/_docs tests/beginner\'s guide.mdx","sourceDirName":".","slug":"/beginner\'s guide","permalink":"/tests/docs/beginner\'s guide","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{}}'),r=t(85893),i=t(80980);let o={},d="Beginner's guide",a={},u=[];function c(e){let n={a:"a",h1:"h1",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"beginners-guide",children:"Beginner's guide"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/9160",children:"#9160"})})]})}function l(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}l.displayName="MDXContent(_dogfooding/_docs tests/beginner's guide.mdx)"},80980:function(e,n,t){t.d(n,{Z:()=>d,a:()=>o});var s=t(67294);let r={},i=s.createContext(r);function o(e){let n=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7661071f.62ec9541.js b/assets/js/7661071f.62ec9541.js deleted file mode 100644 index a3be338759..0000000000 --- a/assets/js/7661071f.62ec9541.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[8737],{2219:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>g,frontMatter:()=>r,metadata:()=>o,toc:()=>u});var o=s(8811),n=s(4848),a=s(3023);const r={slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},i=void 0,l={authorsImageUrls:[void 0,void 0]},u=[];function c(e){const t={a:"a",p:"p",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/blog",children:"Docusaurus blogging features"})," are powered by the ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog",children:"blog plugin"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"Here are a few tips you might find useful."})]})}function g(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},3023:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>i});var o=s(6540);const n={},a=o.createContext(n);function r(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(a.Provider,{value:t},e.children)}},8811:e=>{e.exports=JSON.parse('{"permalink":"/blog/welcome","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2021-08-26-welcome/index.md","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome","description":"Docusaurus blogging features are powered by the blog plugin.","date":"2021-08-26T00:00:00.000Z","tags":[{"inline":false,"label":"Facebook","permalink":"/blog/tags/facebook","description":"Facebook tag description"},{"inline":false,"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.465,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":["slorber","yangshun"],"tags":["facebook","hello","docusaurus"]},"unlisted":false,"nextItem":{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post"}}')}}]); \ No newline at end of file diff --git a/assets/js/771ca8b2.f0b6ad71.js b/assets/js/771ca8b2.f0b6ad71.js new file mode 100644 index 0000000000..d2bb87bfc6 --- /dev/null +++ b/assets/js/771ca8b2.f0b6ad71.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["57813"],{85386:function(e,s,t){t.r(s),t.d(s,{frontMatter:()=>l,default:()=>a,contentTitle:()=>d,assets:()=>u,toc:()=>r,metadata:()=>n});var n=JSON.parse('{"id":"toc/toc-2-4","title":"toc-2-4","description":"","source":"@site/_dogfooding/_docs tests/toc/toc-2-4.mdx","sourceDirName":"toc","slug":"/toc/toc-2-4","permalink":"/tests/docs/toc/toc-2-4","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":2,"toc_max_heading_level":4},"sidebar":"sidebar","previous":{"title":"toc-2-3","permalink":"/tests/docs/toc/toc-2-3"},"next":{"title":"toc-2-5","permalink":"/tests/docs/toc/toc-2-5"}}'),i=t(85893),c=t(80980),o=t(2630);let l={toc_min_heading_level:2,toc_max_heading_level:4},d=void 0,u={},r=[...o.d$];function h(e){return(0,i.jsx)(o.ZP,{})}function a(e={}){let{wrapper:s}={...(0,c.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}a.displayName="MDXContent(_dogfooding/_docs tests/toc/toc-2-4.mdx)"},2630:function(e,s,t){t.d(s,{ZP:()=>l,d$:()=>c});var n=t(85893),i=t(80980);let c=[{value:"section 1",id:"section-1",level:2},{value:"subsection 1-1",id:"subsection-1-1",level:3},{value:"subsection 1-1-1",id:"subsection-1-1-1",level:4},{value:"subsection 1-1-1-1",id:"subsection-1-1-1-1",level:5},{value:"subsection 1-1-1-1-1",id:"subsection-1-1-1-1-1",level:6},{value:"subsection 1-1-1-1-2",id:"subsection-1-1-1-1-2",level:6},{value:"subsection 1-1-1-2",id:"subsection-1-1-1-2",level:5},{value:"subsection 1-1-2",id:"subsection-1-1-2",level:4},{value:"subsection 1-2",id:"subsection-1-2",level:3},{value:"subsection 1-3",id:"subsection-1-3",level:3},{value:"section 2",id:"section-2",level:2},{value:"subsection 2-1",id:"subsection-2-1",level:3},{value:"subsection 2-1",id:"subsection-2-1-1",level:3},{value:"section 3",id:"section-3",level:2},{value:"subsection 3-1",id:"subsection-3-1",level:3},{value:"subsection 3-2",id:"subsection-3-2",level:3}];function o(e){let s={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"title",children:"title"})}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-1",children:"section 1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-1",children:"subsection 1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-1",children:"subsection 1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-1",children:"subsection 1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-1",children:"subsection 1-1-1-1-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h6,{id:"subsection-1-1-1-1-2",children:"subsection 1-1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h5,{id:"subsection-1-1-1-2",children:"subsection 1-1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h4,{id:"subsection-1-1-2",children:"subsection 1-1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-2",children:"subsection 1-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-1-3",children:"subsection 1-3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-2",children:"section 2"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-2-1-1",children:"subsection 2-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h2,{id:"section-3",children:"section 3"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-1",children:"subsection 3-1"}),"\n",(0,n.jsx)(s.p,{children:"some text"}),"\n",(0,n.jsx)(s.h3,{id:"subsection-3-2",children:"subsection 3-2"}),"\n",(0,n.jsx)(s.p,{children:"some text"})]})}function l(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},80980:function(e,s,t){t.d(s,{Z:()=>l,a:()=>o});var n=t(67294);let i={},c=n.createContext(i);function o(e){let s=n.useContext(c);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(c.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/772c972a.fc1b7c32.js b/assets/js/772c972a.fc1b7c32.js new file mode 100644 index 0000000000..26840fa689 --- /dev/null +++ b/assets/js/772c972a.fc1b7c32.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["3150"],{72685:function(e,o,n){n.r(o),n.d(o,{frontMatter:()=>r,default:()=>h,contentTitle:()=>d,assets:()=>c,toc:()=>l,metadata:()=>t});var t=JSON.parse('{"id":"guides/docs/introduction","title":"Docs Introduction","description":"The docs feature provides users with a way to organize Markdown files in a hierarchical format.","source":"@site/docs/guides/docs/docs-introduction.mdx","sourceDirName":"guides/docs","slug":"/docs-introduction","permalink":"/docs/docs-introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/docs-introduction.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"introduction","sidebar_label":"Introduction","slug":"/docs-introduction"},"sidebar":"docs","previous":{"title":"Pages","permalink":"/docs/creating-pages"},"next":{"title":"Create a doc","permalink":"/docs/create-doc"}}'),s=n(85893),i=n(80980);let r={id:"introduction",sidebar_label:"Introduction",slug:"/docs-introduction"},d="Docs Introduction",c={},l=[{value:"Docs-only mode",id:"docs-only-mode",level:2}];function a(e){let o={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.header,{children:(0,s.jsx)(o.h1,{id:"docs-introduction",children:"Docs Introduction"})}),"\n",(0,s.jsx)(o.p,{children:"The docs feature provides users with a way to organize Markdown files in a hierarchical format."}),"\n",(0,s.jsx)(o.admonition,{type:"info",children:(0,s.jsxs)(o.p,{children:["Check the ",(0,s.jsx)(o.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-docs",children:"Docs Plugin API Reference documentation"})," for an exhaustive list of options."]})}),"\n",(0,s.jsx)(o.p,{children:"Your site's documentation is organized by four levels, from lowest to highest:"}),"\n",(0,s.jsxs)(o.ol,{children:["\n",(0,s.jsx)(o.li,{children:"Individual pages."}),"\n",(0,s.jsx)(o.li,{children:"Sidebars."}),"\n",(0,s.jsx)(o.li,{children:"Versions."}),"\n",(0,s.jsx)(o.li,{children:"Plugin instances."}),"\n"]}),"\n",(0,s.jsxs)(o.p,{children:["The guide will introduce them in that order: starting from ",(0,s.jsx)(o.a,{href:"/docs/create-doc",children:"how individual pages can be configured"}),", to ",(0,s.jsx)(o.a,{href:"/docs/sidebar",children:"how to create a sidebar or multiple ones"}),", to ",(0,s.jsx)(o.a,{href:"/docs/versioning",children:"how to create and manage versions"}),", to ",(0,s.jsx)(o.a,{href:"/docs/docs-multi-instance",children:"how to use multiple docs plugin instances"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"docs-only-mode",children:"Docs-only mode"}),"\n",(0,s.jsx)(o.p,{children:"A freshly initialized Docusaurus site has the following structure:"}),"\n",(0,s.jsx)(o.pre,{children:(0,s.jsx)(o.code,{children:"example.com/ -> generated from `src/pages/index.js`\n\nexample.com/docs/intro -> generated from `docs/intro.md`\nexample.com/docs/tutorial-basics/... -> generated from `docs/tutorial-basics/...`\n...\n\nexample.com/blog/2021/08/26/welcome -> generated from `blog/2021-08-26-welcome/index.md`\nexample.com/blog/2021/08/01/mdx-blog-post -> generated from `blog/2021-08-01-mdx-blog-post.mdx`\n...\n"})}),"\n",(0,s.jsxs)(o.p,{children:["All docs will be served under the subroute ",(0,s.jsx)(o.code,{children:"docs/"}),". But what if ",(0,s.jsx)(o.strong,{children:"your site only has docs"}),", or you want to prioritize your docs by putting them at the root?"]}),"\n",(0,s.jsx)(o.p,{children:"Assume that you have the following in your configuration:"}),"\n",(0,s.jsx)(o.pre,{children:(0,s.jsx)(o.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n docs: {\n /* docs plugin options */\n },\n blog: {\n /* blog plugin options */\n },\n // ...\n },\n ],\n ],\n};\n"})}),"\n",(0,s.jsx)(o.p,{children:"To enter docs-only mode, change it to like this:"}),"\n",(0,s.jsx)(o.pre,{children:(0,s.jsx)(o.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n // ...\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n docs: {\n // highlight-next-line\n routeBasePath: '/', // Serve the docs at the site's root\n /* other docs plugin options */\n },\n // highlight-next-line\n blog: false, // Optional: disable the blog plugin\n // ...\n },\n ],\n ],\n};\n"})}),"\n",(0,s.jsxs)(o.p,{children:["Note that you ",(0,s.jsx)(o.strong,{children:"don't necessarily have to give up on using the blog"})," or other plugins; all that ",(0,s.jsx)(o.code,{children:"routeBasePath: '/'"})," does is that instead of serving the docs through ",(0,s.jsx)(o.code,{children:"https://example.com/docs/some-doc"}),", they are now at the site root: ",(0,s.jsx)(o.code,{children:"https://example.com/some-doc"}),". The blog, if enabled, can still be accessed through the ",(0,s.jsx)(o.code,{children:"blog/"})," subroute."]}),"\n",(0,s.jsxs)(o.p,{children:["Don't forget to put some page at the root (",(0,s.jsx)(o.code,{children:"https://example.com/"}),") through adding the front matter:"]}),"\n",(0,s.jsx)(o.pre,{children:(0,s.jsx)(o.code,{className:"language-md",metastring:'title="docs/intro.md"',children:"---\n# highlight-next-line\nslug: /\n---\n\nThis page will be the home page when users visit https://example.com/.\n"})}),"\n",(0,s.jsx)(o.admonition,{type:"warning",children:(0,s.jsxs)(o.p,{children:["If you added ",(0,s.jsx)(o.code,{children:"slug: /"})," to a doc to make it the homepage, you should delete the existing homepage at ",(0,s.jsx)(o.code,{children:"./src/pages/index.js"}),", or else there will be two files mapping to the same route!"]})}),"\n",(0,s.jsx)(o.p,{children:"Now, the site's structure will be like the following:"}),"\n",(0,s.jsx)(o.pre,{children:(0,s.jsx)(o.code,{children:"example.com/ -> generated from `docs/intro.md`\nexample.com/tutorial-basics/... -> generated from `docs/tutorial-basics/...`\n...\n"})}),"\n",(0,s.jsx)(o.admonition,{type:"tip",children:(0,s.jsxs)(o.p,{children:['There\'s also a "blog-only mode" for those who only want to use the blog feature of Docusaurus. You can use the same method detailed above. Follow the setup instructions on ',(0,s.jsx)(o.a,{href:"/docs/blog#blog-only-mode",children:"Blog-only mode"}),"."]})})]})}function h(e={}){let{wrapper:o}={...(0,i.a)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},80980:function(e,o,n){n.d(o,{Z:()=>d,a:()=>r});var t=n(67294);let s={},i=t.createContext(s);function r(e){let o=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(o):{...o,...e}},[o,e])}function d(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/77542238.39def71d.js b/assets/js/77542238.39def71d.js new file mode 100644 index 0000000000..712d5c2c83 --- /dev/null +++ b/assets/js/77542238.39def71d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["26204"],{74789:function(e,s,t){t.r(s),t.d(s,{default:()=>r});var u=t(85893);t(67294);var n=t(88408);function r(){return(0,u.jsx)(n.Z,{})}}}]); \ No newline at end of file diff --git a/assets/js/77da816e.d8ac8d86.js b/assets/js/77da816e.d8ac8d86.js new file mode 100644 index 0000000000..82b45e97b1 --- /dev/null +++ b/assets/js/77da816e.d8ac8d86.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["22736"],{73042:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-402517ac2205718a22585e627fe1351c.png"},593:function(e,t,s){s.d(t,{Z:()=>a});let a=s.p+"assets/images/social-card-402517ac2205718a22585e627fe1351c.png"},78724:function(e,t,s){s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var a=s(12232),r=s(85893),n=s(80980);let o={title:"Docusaurus 2.2",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2022-10-29T00:00:00.000Z")},i=void 0,c={image:s(73042).Z,authorsImageUrls:[void 0]},l=[];function u(e){let t={a:"a",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["We are happy to announce ",(0,r.jsx)(t.strong,{children:"Docusaurus 2.2"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["The upgrade should be easy: as explained in our ",(0,r.jsx)(t.a,{href:"/community/release-process",children:"release process documentation"}),", minor versions respect ",(0,r.jsx)(t.a,{href:"https://semver.org/",children:"Semantic Versioning"}),"."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Docusaurus 2.2 social card",src:s(593).Z+"",width:"1200",height:"600"})})]})}function p(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>o});var a=s(67294);let r={},n=a.createContext(r);function o(e){let t=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(n.Provider,{value:t},e.children)}},12232:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/2.2","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/2.2/index.mdx","source":"@site/blog/releases/2.2/index.mdx","title":"Docusaurus 2.2","description":"We are happy to announce Docusaurus 2.2.","date":"2022-10-29T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":2.2,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 2.2","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2022-10-29T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 2.3","permalink":"/blog/releases/2.3"},"nextItem":{"title":"Docusaurus 2.1","permalink":"/blog/2022/09/01/docusaurus-2.1"}}')}}]); \ No newline at end of file diff --git a/assets/js/77eb9b8f.5090c3b2.js b/assets/js/77eb9b8f.5090c3b2.js new file mode 100644 index 0000000000..acb163d955 --- /dev/null +++ b/assets/js/77eb9b8f.5090c3b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["21171"],{34317:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>r,default:()=>u,contentTitle:()=>a,assets:()=>d,toc:()=>c,metadata:()=>s});var s=JSON.parse('{"id":"api/plugin-methods/lifecycle-apis","title":"Lifecycle APIs","description":"During the build, plugins are loaded in parallel to fetch their own contents and render them to routes. Plugins may also configure webpack or post-process the generated files.","source":"@site/docs/api/plugin-methods/lifecycle-apis.mdx","sourceDirName":"api/plugin-methods","slug":"/api/plugin-methods/lifecycle-apis","permalink":"/docs/api/plugin-methods/lifecycle-apis","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugin-methods/lifecycle-apis.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":1,"frontMatter":{"sidebar_position":1,"toc_max_heading_level":4},"sidebar":"api","previous":{"title":"Plugin Method References","permalink":"/docs/api/plugin-methods/"},"next":{"title":"Extending infrastructure","permalink":"/docs/api/plugin-methods/extend-infrastructure"}}'),i=t(85893),o=t(80980);let r={sidebar_position:1,toc_max_heading_level:4},a="Lifecycle APIs",d={},c=[{value:"<code>async loadContent()</code>",id:"loadContent",level:2},{value:"<code>async contentLoaded({content, actions})</code>",id:"contentLoaded",level:2},{value:"<code>content</code>",id:"content",level:3},{value:"<code>actions</code>",id:"actions",level:3},{value:"<code>addRoute(config: RouteConfig): void</code>",id:"addRoute",level:4},{value:"<code>createData(name: string, data: any): Promise<string></code>",id:"createData",level:4},{value:"<code>setGlobalData(data: any): void</code>",id:"setGlobalData",level:4},{value:"<code>configureWebpack(config, isServer, utils, content)</code>",id:"configureWebpack",level:2},{value:"<code>config</code>",id:"config",level:3},{value:"<code>isServer</code>",id:"isServer",level:3},{value:"<code>utils</code>",id:"utils",level:3},{value:"<code>content</code>",id:"content-1",level:3},{value:"Merge strategy",id:"merge-strategy",level:3},{value:"Configuring dev server",id:"configuring-dev-server",level:3},{value:"<code>configurePostCss(options)</code>",id:"configurePostCss",level:2},{value:"<code>postBuild(props)</code>",id:"postBuild",level:2},{value:"<code>injectHtmlTags({content})</code>",id:"injectHtmlTags",level:2},{value:"<code>getClientModules()</code>",id:"getClientModules",level:2}];function l(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"lifecycle-apis",children:"Lifecycle APIs"})}),"\n",(0,i.jsx)(n.p,{children:"During the build, plugins are loaded in parallel to fetch their own contents and render them to routes. Plugins may also configure webpack or post-process the generated files."}),"\n",(0,i.jsx)(n.h2,{id:"loadContent",children:(0,i.jsx)(n.code,{children:"async loadContent()"})}),"\n",(0,i.jsx)(n.p,{children:"Plugins should use this lifecycle to fetch from data sources (filesystem, remote API, headless CMS, etc.) or do some server processing. The return value is the content it needs."}),"\n",(0,i.jsx)(n.p,{children:"For example, this plugin below returns a random integer between 1 and 10 as content."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus-plugin/src/index.js"',children:"export default function (context, options) {\n return {\n name: 'docusaurus-plugin',\n // highlight-start\n async loadContent() {\n return 1 + Math.floor(Math.random() * 10);\n },\n // highlight-end\n };\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"contentLoaded",children:(0,i.jsx)(n.code,{children:"async contentLoaded({content, actions})"})}),"\n",(0,i.jsxs)(n.p,{children:["The data that was loaded in ",(0,i.jsx)(n.code,{children:"loadContent"})," will be consumed in ",(0,i.jsx)(n.code,{children:"contentLoaded"}),". It can be rendered to routes, registered as global data, etc."]}),"\n",(0,i.jsx)(n.h3,{id:"content",children:(0,i.jsx)(n.code,{children:"content"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"contentLoaded"})," will be called ",(0,i.jsx)(n.em,{children:"after"})," ",(0,i.jsx)(n.code,{children:"loadContent"})," is done. The return value of ",(0,i.jsx)(n.code,{children:"loadContent()"})," will be passed to ",(0,i.jsx)(n.code,{children:"contentLoaded"})," as ",(0,i.jsx)(n.code,{children:"content"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"actions",children:(0,i.jsx)(n.code,{children:"actions"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"actions"})," contain three functions:"]}),"\n",(0,i.jsx)(n.h4,{id:"addRoute",children:(0,i.jsx)(n.code,{children:"addRoute(config: RouteConfig): void"})}),"\n",(0,i.jsx)(n.p,{children:"Create a route to add to the website."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:'export type RouteConfig = {\n /**\n * With leading slash. Trailing slash will be normalized by config.\n */\n path: string;\n /**\n * Component used to render this route, a path that the bundler can `require`.\n */\n component: string;\n /**\n * Props. Each entry should be `[propName]: pathToPropModule` (created with\n * `createData`)\n */\n modules?: RouteModules;\n /**\n * The route context will wrap the `component`. Use `useRouteContext` to\n * retrieve what\'s declared here. Note that all custom route context declared\n * here will be namespaced under {@link RouteContext.data}.\n */\n context?: RouteModules;\n /**\n * Nested routes config, useful for "layout routes" having subroutes.\n */\n routes?: RouteConfig[];\n /**\n * React router config option: `exact` routes would not match subroutes.\n */\n exact?: boolean;\n /**\n * React router config option: `strict` routes are sensitive to the presence\n * of a trailing slash.\n */\n strict?: boolean;\n /**\n * Used to sort routes.\n * Higher-priority routes will be matched first.\n */\n priority?: number;\n /**\n * Optional route metadata\n */\n metadata?: RouteMetadata;\n /**\n * Extra props; will be available on the client side.\n */\n [propName: string]: unknown;\n};\n\n/**\n * Plugin authors can assign extra metadata to the created routes\n * It is only available on the Node.js side, and not sent to the browser\n * Optional: plugin authors are encouraged but not required to provide it\n *\n * Some plugins might use this data to provide additional features.\n * This is the case of the sitemap plugin to provide support for "lastmod".\n * See also: https://github.com/facebook/docusaurus/pull/9954\n */\nexport type RouteMetadata = {\n /**\n * The source code file path that led to the creation of the current route\n * In official content plugins, this is usually a Markdown or React file\n * This path is expected to be relative to the site directory\n */\n sourceFilePath?: string;\n /**\n * The last updated date of this route\n * This is generally read from the Git history of the sourceFilePath\n * but can also be provided through other means (usually front matter)\n *\n * This has notably been introduced for adding "lastmod" support to the\n * sitemap plugin, see https://github.com/facebook/docusaurus/pull/9954\n */\n lastUpdatedAt?: number;\n};\n\ntype RouteModules = {\n [module: string]: Module | RouteModules | RouteModules[];\n};\n\ntype Module =\n | {\n path: string;\n __import?: boolean;\n query?: ParsedUrlQueryInput;\n }\n | string;\n'})}),"\n",(0,i.jsx)(n.h4,{id:"createData",children:(0,i.jsx)(n.code,{children:"createData(name: string, data: any): Promise<string>"})}),"\n",(0,i.jsx)(n.p,{children:"A declarative callback to create static data (generally JSON or string) which can later be provided to your routes as props. Takes the file name and data to be stored, and returns the actual data file's path."}),"\n",(0,i.jsxs)(n.p,{children:["For example, this plugin below creates a ",(0,i.jsx)(n.code,{children:"/friends"})," page which displays ",(0,i.jsx)(n.code,{children:"Your friends are: Yangshun, Sebastien"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="website/src/components/Friends.js"',children:"import React from 'react';\n\nexport default function FriendsComponent({friends}) {\n return <div>Your friends are {friends.join(',')}</div>;\n}\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus-friends-plugin/src/index.js"',children:"export default function friendsPlugin(context, options) {\n return {\n name: 'docusaurus-friends-plugin',\n // highlight-start\n async contentLoaded({content, actions}) {\n const {createData, addRoute} = actions;\n // Create friends.json\n const friends = ['Yangshun', 'Sebastien'];\n const friendsJsonPath = await createData(\n 'friends.json',\n JSON.stringify(friends),\n );\n\n // Add the '/friends' routes, and ensure it receives the friends props\n addRoute({\n path: '/friends',\n component: '@site/src/components/Friends.js',\n modules: {\n // propName -> JSON file path\n friends: friendsJsonPath,\n },\n exact: true,\n });\n },\n // highlight-end\n };\n}\n"})}),"\n",(0,i.jsx)(n.h4,{id:"setGlobalData",children:(0,i.jsx)(n.code,{children:"setGlobalData(data: any): void"})}),"\n",(0,i.jsx)(n.p,{children:"This function permits one to create some global plugin data that can be read from any page, including the pages created by other plugins, and your theme layout."}),"\n",(0,i.jsxs)(n.p,{children:["This data becomes accessible to your client-side/theme code through the ",(0,i.jsx)(n.a,{href:"/docs/docusaurus-core#useGlobalData",children:(0,i.jsx)(n.code,{children:"useGlobalData"})})," and ",(0,i.jsx)(n.a,{href:"/docs/docusaurus-core#usePluginData",children:(0,i.jsx)(n.code,{children:"usePluginData"})})," hooks."]}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["Global data is... global: its size affects the loading time of all pages of your site, so try to keep it small. Prefer ",(0,i.jsx)(n.code,{children:"createData"})," and page-specific data whenever possible."]})}),"\n",(0,i.jsxs)(n.p,{children:["For example, this plugin below creates a ",(0,i.jsx)(n.code,{children:"/friends"})," page which displays ",(0,i.jsx)(n.code,{children:"Your friends are: Yangshun, Sebastien"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="website/src/components/Friends.js"',children:"import React from 'react';\nimport {usePluginData} from '@docusaurus/useGlobalData';\n\nexport default function FriendsComponent() {\n const {friends} = usePluginData('docusaurus-friends-plugin');\n return <div>Your friends are {friends.join(',')}</div>;\n}\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus-friends-plugin/src/index.js"',children:"export default function friendsPlugin(context, options) {\n return {\n name: 'docusaurus-friends-plugin',\n // highlight-start\n async contentLoaded({content, actions}) {\n const {setGlobalData, addRoute} = actions;\n // Create friends global data\n setGlobalData({friends: ['Yangshun', 'Sebastien']});\n\n // Add the '/friends' routes\n addRoute({\n path: '/friends',\n component: '@site/src/components/Friends.js',\n exact: true,\n });\n },\n // highlight-end\n };\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"configureWebpack",children:(0,i.jsx)(n.code,{children:"configureWebpack(config, isServer, utils, content)"})}),"\n",(0,i.jsxs)(n.p,{children:["Modifies the internal webpack config. If the return value is a JavaScript object, it will be merged into the final config using ",(0,i.jsx)(n.a,{href:"https://github.com/survivejs/webpack-merge",children:(0,i.jsx)(n.code,{children:"webpack-merge"})}),". If it is a function, it will be called and receive ",(0,i.jsx)(n.code,{children:"config"})," as the first argument and an ",(0,i.jsx)(n.code,{children:"isServer"})," flag as the second argument."]}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["The API of ",(0,i.jsx)(n.code,{children:"configureWebpack"})," will be modified in the future to accept an object (",(0,i.jsx)(n.code,{children:"configureWebpack({config, isServer, utils, content})"}),")"]})}),"\n",(0,i.jsx)(n.h3,{id:"config",children:(0,i.jsx)(n.code,{children:"config"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"configureWebpack"})," is called with ",(0,i.jsx)(n.code,{children:"config"})," generated according to client/server build. You may treat this as the base config to be merged with."]}),"\n",(0,i.jsx)(n.h3,{id:"isServer",children:(0,i.jsx)(n.code,{children:"isServer"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"configureWebpack"})," will be called both in server build and in client build. The server build receives ",(0,i.jsx)(n.code,{children:"true"})," and the client build receives ",(0,i.jsx)(n.code,{children:"false"})," as ",(0,i.jsx)(n.code,{children:"isServer"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"utils",children:(0,i.jsx)(n.code,{children:"utils"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"configureWebpack"})," also receives an util object:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"getStyleLoaders(isServer: boolean, cssOptions: {[key: string]: any}): Loader[]"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"getJSLoader(isServer: boolean, cacheOptions?: {}): Loader | null"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"You may use them to return your webpack configuration conditionally."}),"\n",(0,i.jsxs)(n.p,{children:["For example, this plugin below modify the webpack config to transpile ",(0,i.jsx)(n.code,{children:".foo"})," files."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus-plugin/src/index.js"',children:"export default function (context, options) {\n return {\n name: 'custom-docusaurus-plugin',\n // highlight-start\n configureWebpack(config, isServer, utils) {\n const {getJSLoader} = utils;\n return {\n module: {\n rules: [\n {\n test: /\\.foo$/,\n use: [getJSLoader(isServer), 'my-custom-webpack-loader'],\n },\n ],\n },\n };\n },\n // highlight-end\n };\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"content-1",children:(0,i.jsx)(n.code,{children:"content"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"configureWebpack"})," will be called both with the content loaded by the plugin."]}),"\n",(0,i.jsx)(n.h3,{id:"merge-strategy",children:"Merge strategy"}),"\n",(0,i.jsxs)(n.p,{children:["We merge the Webpack configuration parts of plugins into the global Webpack config using ",(0,i.jsx)(n.a,{href:"https://github.com/survivejs/webpack-merge",children:"webpack-merge"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"It is possible to specify the merge strategy. For example, if you want a webpack rule to be prepended instead of appended:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus-plugin/src/index.js"',children:"export default function (context, options) {\n return {\n name: 'custom-docusaurus-plugin',\n configureWebpack(config, isServer, utils) {\n return {\n // highlight-start\n mergeStrategy: {'module.rules': 'prepend'},\n module: {rules: [myRuleToPrepend]},\n // highlight-end\n };\n },\n };\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Read the ",(0,i.jsx)(n.a,{href:"https://github.com/survivejs/webpack-merge#merging-with-strategies",children:"webpack-merge strategy doc"})," for more details."]}),"\n",(0,i.jsx)(n.h3,{id:"configuring-dev-server",children:"Configuring dev server"}),"\n",(0,i.jsxs)(n.p,{children:["The dev server can be configured through returning a ",(0,i.jsx)(n.code,{children:"devServer"})," field."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus-plugin/src/index.js"',children:"export default function (context, options) {\n return {\n name: 'custom-docusaurus-plugin',\n configureWebpack(config, isServer, utils) {\n return {\n // highlight-start\n devServer: {\n open: '/docs', // Opens localhost:3000/docs instead of localhost:3000/\n },\n // highlight-end\n };\n },\n };\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"configurePostCss",children:(0,i.jsx)(n.code,{children:"configurePostCss(options)"})}),"\n",(0,i.jsxs)(n.p,{children:["Modifies ",(0,i.jsxs)(n.a,{href:"https://webpack.js.org/loaders/postcss-loader/#postcssoptions",children:[(0,i.jsx)(n.code,{children:"postcssOptions"})," of ",(0,i.jsx)(n.code,{children:"postcss-loader"})]})," during the generation of the client bundle."]}),"\n",(0,i.jsxs)(n.p,{children:["Should return the mutated ",(0,i.jsx)(n.code,{children:"postcssOptions"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["By default, ",(0,i.jsx)(n.code,{children:"postcssOptions"})," looks like this:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"const postcssOptions = {\n ident: 'postcss',\n plugins: [require('autoprefixer')],\n};\n"})}),"\n",(0,i.jsx)(n.p,{children:"Example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus-plugin/src/index.js"',children:"export default function (context, options) {\n return {\n name: 'docusaurus-plugin',\n // highlight-start\n configurePostCss(postcssOptions) {\n // Appends new PostCSS plugin.\n postcssOptions.plugins.push(require('postcss-import'));\n return postcssOptions;\n },\n // highlight-end\n };\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"postBuild",children:(0,i.jsx)(n.code,{children:"postBuild(props)"})}),"\n",(0,i.jsx)(n.p,{children:"Called when a (production) build finishes."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"interface Props {\n siteDir: string;\n generatedFilesDir: string;\n siteConfig: DocusaurusConfig;\n outDir: string;\n baseUrl: string;\n headTags: string;\n preBodyTags: string;\n postBodyTags: string;\n routesPaths: string[];\n routesBuildMetadata: {[location: string]: {noIndex: boolean}};\n plugins: Plugin<any>[];\n content: Content;\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus-plugin/src/index.js"',children:"export default function (context, options) {\n return {\n name: 'docusaurus-plugin',\n // highlight-start\n async postBuild({siteConfig = {}, routesPaths = [], outDir}) {\n // Print out to console all the rendered routes.\n routesPaths.map((route) => {\n console.log(route);\n });\n },\n // highlight-end\n };\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"injectHtmlTags",children:(0,i.jsx)(n.code,{children:"injectHtmlTags({content})"})}),"\n",(0,i.jsx)(n.p,{children:"Inject head and/or body HTML tags to Docusaurus generated HTML."}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"injectHtmlTags"})," will be called both with the content loaded by the plugin."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"function injectHtmlTags(): {\n headTags?: HtmlTags;\n preBodyTags?: HtmlTags;\n postBodyTags?: HtmlTags;\n};\n\ntype HtmlTags = string | HtmlTagObject | (string | HtmlTagObject)[];\n\ntype HtmlTagObject = {\n /**\n * Attributes of the HTML tag\n * E.g. `{'disabled': true, 'value': 'demo', 'rel': 'preconnect'}`\n */\n attributes?: {\n [attributeName: string]: string | boolean;\n };\n /**\n * The tag name e.g. `div`, `script`, `link`, `meta`\n */\n tagName: string;\n /**\n * The inner HTML\n */\n innerHTML?: string;\n};\n"})}),"\n",(0,i.jsx)(n.p,{children:"Example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus-plugin/src/index.js"',children:"export default function (context, options) {\n return {\n name: 'docusaurus-plugin',\n loadContent: async () => {\n return {remoteHeadTags: await fetchHeadTagsFromAPI()};\n },\n // highlight-start\n injectHtmlTags({content}) {\n return {\n headTags: [\n {\n tagName: 'link',\n attributes: {\n rel: 'preconnect',\n href: 'https://www.github.com',\n },\n },\n ...content.remoteHeadTags,\n ],\n preBodyTags: [\n {\n tagName: 'script',\n attributes: {\n charset: 'utf-8',\n src: '/noflash.js',\n },\n },\n ],\n postBodyTags: [`<div> This is post body </div>`],\n };\n },\n // highlight-end\n };\n}\n"})}),"\n",(0,i.jsx)(n.p,{children:"Tags will be added as follows:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"headTags"})," will be inserted before the closing ",(0,i.jsx)(n.code,{children:"</head>"})," tag after scripts added by config."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"preBodyTags"})," will be inserted after the opening ",(0,i.jsx)(n.code,{children:"<body>"})," tag before any child elements."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"postBodyTags"})," will be inserted before the closing ",(0,i.jsx)(n.code,{children:"</body>"})," tag after all child elements."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"getClientModules",children:(0,i.jsx)(n.code,{children:"getClientModules()"})}),"\n",(0,i.jsxs)(n.p,{children:["Returns an array of paths to the ",(0,i.jsx)(n.a,{href:"/docs/advanced/client#client-modules",children:"client modules"})," that are to be imported into the client bundle."]}),"\n",(0,i.jsxs)(n.p,{children:["As an example, to make your theme load a ",(0,i.jsx)(n.code,{children:"customCss"})," or ",(0,i.jsx)(n.code,{children:"customJs"})," file path from ",(0,i.jsx)(n.code,{children:"options"})," passed in by the user:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="my-theme/src/index.js"',children:"export default function (context, options) {\n const {customCss, customJs} = options || {};\n return {\n name: 'name-of-my-theme',\n // highlight-start\n getClientModules() {\n return [customCss, customJs];\n },\n // highlight-end\n };\n}\n"})})]})}function u(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},80980:function(e,n,t){t.d(n,{Z:()=>a,a:()=>r});var s=t(67294);let i={},o=s.createContext(i);function r(e){let n=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/788c5c4f.beec12cf.js b/assets/js/788c5c4f.beec12cf.js new file mode 100644 index 0000000000..a5a03ec44a --- /dev/null +++ b/assets/js/788c5c4f.beec12cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["1886"],{74237:function(e){e.exports=JSON.parse('{"tag":{"label":"Label for tag b","permalink":"/tests/docs/tags/b","allTagsPath":"/tests/docs/tags","count":1,"items":[{"id":"standalone","title":"Standalone doc","description":"This doc is not in any sidebar, on purpose, to measure the build size impact of the huge sidebar","permalink":"/tests/docs/standalone"}],"unlisted":false}}')}}]); \ No newline at end of file diff --git a/assets/js/797b79df.54fc9bd9.js b/assets/js/797b79df.54fc9bd9.js new file mode 100644 index 0000000000..8a438fffb6 --- /dev/null +++ b/assets/js/797b79df.54fc9bd9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["7416"],{86903:function(e,t,r){r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>h});var a=r(71957),n=r(85893),i=r(80980);let o={mdx:{format:"md"},date:"2023-11-30T20:00",authors:["harryzcy","mcrstudio","NickGerleman","reece-white","Shreesh09","slorber"]},s="3.0.1",c={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0]},h=[];function l(e){return(0,n.jsx)(n.Fragment,{})}function u(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},80980:function(e,t,r){r.d(t,{Z:()=>s,a:()=>o});var a=r(67294);let n={},i=a.createContext(n);function o(e){let t=a.useContext(i);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),a.createElement(i.Provider,{value:t},e.children)}},71957:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.0.1","source":"@site/changelog/source/3.0.1.md","title":"3.0.1","description":"Bug Fix","date":"2023-11-30T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Chongyi Zheng","alias":"harryzcy","url":"https://github.com/harryzcy","imageURL":"https://github.com/harryzcy.png","key":"harryzcy","page":null},{"name":"MCR Studio","alias":"mcrstudio","url":"https://github.com/mcrstudio","imageURL":"https://github.com/mcrstudio.png","key":"mcrstudio","page":null},{"name":"Nick Gerleman","alias":"NickGerleman","url":"https://github.com/NickGerleman","imageURL":"https://github.com/NickGerleman.png","key":"NickGerleman","page":null},{"name":"reece-white","alias":"reece-white","url":"https://github.com/reece-white","imageURL":"https://github.com/reece-white.png","key":"reece-white","page":null},{"name":"Shreesh Nautiyal","alias":"Shreesh09","url":"https://github.com/Shreesh09","imageURL":"https://github.com/Shreesh09.png","key":"Shreesh09","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-11-30T20:00","authors":["harryzcy","mcrstudio","NickGerleman","reece-white","Shreesh09","slorber"]},"unlisted":false,"prevItem":{"title":"3.1.0","permalink":"/changelog/3.1.0"},"nextItem":{"title":"3.0.0","permalink":"/changelog/3.0.0"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/79896.f90ee65d.js b/assets/js/79896.f90ee65d.js new file mode 100644 index 0000000000..3644ccc252 --- /dev/null +++ b/assets/js/79896.f90ee65d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["79896"],{68241:function(e,s,c){c.d(s,{createInfoServices:()=>t.M});var t=c(73622);c(78983)}}]); \ No newline at end of file diff --git a/assets/js/799b9126.c34816f3.js b/assets/js/799b9126.c34816f3.js new file mode 100644 index 0000000000..571976149a --- /dev/null +++ b/assets/js/799b9126.c34816f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["68141"],{30882:function(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>a});var i=s(40778),t=s(85893),o=s(80980);let l={mdx:{format:"md"},date:"2019-06-07T20:00"},r="2.0.0-alpha.19",c={authorsImageUrls:[]},a=[];function d(e){let n={code:"code",li:"li",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Add a sensible default for browserslist config."}),"\n",(0,t.jsxs)(n.li,{children:["UI\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Add sun and moon emoji to the dark mode toggle."}),"\n",(0,t.jsx)(n.li,{children:"Mobile responsive menu."}),"\n",(0,t.jsx)(n.li,{children:"Right table of contents for docs is now sticky."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Plugins\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Change plugin definitions from classes to functions. Refer to the new plugin docs."}),"\n",(0,t.jsx)(n.li,{children:"Implement Clients module API."}),"\n",(0,t.jsxs)(n.li,{children:["Change format within ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"})," to be like presets."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["Deps\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Infima CSS is now locked down to specific versions and not relying upon the CDN which reads from trunk."}),"\n",(0,t.jsx)(n.li,{children:"Update dependencies to latest"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.li,{children:"Customize/ Override infima CSS variables by passing options into the classic preset."}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:"presets: [\n [\n '@docusaurus/preset-classic',\n {\n theme: {\n customCss: require.resolve('./css/custom.css'),\n },\n ...\n },\n ],\n],\n"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Allow passing remark and rehype plugins to mdx-loader for docs and blog plugin"}),"\n",(0,t.jsx)(n.li,{children:"Move themes component of docs and blog to be part of theme-classic"}),"\n",(0,t.jsx)(n.li,{children:"Use composition style for prism syntax highlighting instead of doing it via rehype plugin"}),"\n",(0,t.jsxs)(n.li,{children:["Pass MDXProvider to docs and blog. To change the provided MDX components, run ",(0,t.jsx)(n.code,{children:"docusaurus swizzle @docusaurus/theme-classic MDXComponents"})]}),"\n",(0,t.jsx)(n.li,{children:"Add @docusaurus/theme-livecodeblock plugin"}),"\n",(0,t.jsx)(n.li,{children:"Better run-time code generation & webpack splitchunks optimization"}),"\n",(0,t.jsx)(n.li,{children:"Minify css for production build"}),"\n",(0,t.jsxs)(n.li,{children:["Fix weird scrolling problem when navigating to a route with a ",(0,t.jsx)(n.code,{children:"hash"})," location"]}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},80980:function(e,n,s){s.d(n,{Z:()=>r,a:()=>l});var i=s(67294);let t={},o=i.createContext(t);function l(e){let n=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(o.Provider,{value:n},e.children)}},40778:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.19","source":"@site/changelog/source/2.0.0-alpha.19.md","title":"2.0.0-alpha.19","description":"- Add a sensible default for browserslist config.","date":"2019-06-07T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-06-07T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.20","permalink":"/changelog/2.0.0-alpha.20"},"nextItem":{"title":"V2 Changelog","permalink":"/changelog/V2 Changelog"},"listPageLink":"/changelog/page/6"}')}}]); \ No newline at end of file diff --git a/assets/js/7a272146.e6942b82.js b/assets/js/7a272146.e6942b82.js new file mode 100644 index 0000000000..5bff6543d3 --- /dev/null +++ b/assets/js/7a272146.e6942b82.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["73887"],{91263:function(e,i,n){n.r(i),n.d(i,{frontMatter:()=>s,default:()=>h,contentTitle:()=>d,assets:()=>l,toc:()=>r,metadata:()=>t});var t=JSON.parse('{"id":"api/plugin-methods/static-methods","title":"Static methods","description":"Static methods are not part of the plugin instance\u2014they are attached to the constructor function. These methods are used to validate and normalize the plugin options and theme config, which are then used as constructor parameters to initialize the plugin instance.","source":"@site/docs/api/plugin-methods/static-methods.mdx","sourceDirName":"api/plugin-methods","slug":"/api/plugin-methods/static-methods","permalink":"/docs/api/plugin-methods/static-methods","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/plugin-methods/static-methods.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":4,"frontMatter":{"sidebar_position":4},"sidebar":"api","previous":{"title":"I18n lifecycles","permalink":"/docs/api/plugin-methods/i18n-lifecycles"},"next":{"title":"Plugins overview","permalink":"/docs/api/plugins"}}'),o=n(85893),a=n(80980);let s={sidebar_position:4},d="Static methods",l={},r=[{value:"<code>validateOptions({options, validate})</code>",id:"validateOptions",level:2},{value:"<code>options</code>",id:"options",level:3},{value:"<code>validate</code>",id:"validate",level:3},{value:"<code>validateThemeConfig({themeConfig, validate})</code>",id:"validateThemeConfig",level:2},{value:"<code>themeConfig</code>",id:"themeConfig",level:3},{value:"<code>validate</code>",id:"validate-1",level:3}];function c(e){let i={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.header,{children:(0,o.jsx)(i.h1,{id:"static-methods",children:"Static methods"})}),"\n",(0,o.jsx)(i.p,{children:"Static methods are not part of the plugin instance\u2014they are attached to the constructor function. These methods are used to validate and normalize the plugin options and theme config, which are then used as constructor parameters to initialize the plugin instance."}),"\n",(0,o.jsx)(i.h2,{id:"validateOptions",children:(0,o.jsx)(i.code,{children:"validateOptions({options, validate})"})}),"\n",(0,o.jsx)(i.p,{children:"Returns validated and normalized options for the plugin. This method is called before the plugin is initialized. You must return the options since they will be passed to the plugin during initialization."}),"\n",(0,o.jsx)(i.h3,{id:"options",children:(0,o.jsx)(i.code,{children:"options"})}),"\n",(0,o.jsxs)(i.p,{children:[(0,o.jsx)(i.code,{children:"validateOptions"})," is called with ",(0,o.jsx)(i.code,{children:"options"})," passed to plugin for validation and normalization."]}),"\n",(0,o.jsx)(i.h3,{id:"validate",children:(0,o.jsx)(i.code,{children:"validate"})}),"\n",(0,o.jsxs)(i.p,{children:[(0,o.jsx)(i.code,{children:"validateOptions"})," is called with ",(0,o.jsx)(i.code,{children:"validate"})," function which takes a ",(0,o.jsx)(i.strong,{children:(0,o.jsx)(i.a,{href:"https://www.npmjs.com/package/joi",children:"Joi"})})," schema and options as the arguments, returns validated and normalized options. ",(0,o.jsx)(i.code,{children:"validate"})," will automatically handle error and validation config."]}),"\n",(0,o.jsxs)(i.admonition,{type:"tip",children:[(0,o.jsxs)(i.p,{children:[(0,o.jsx)(i.a,{href:"https://www.npmjs.com/package/joi",children:"Joi"})," is recommended for validation and normalization of options."]}),(0,o.jsxs)(i.p,{children:["To avoid mixing Joi versions, use ",(0,o.jsx)(i.code,{children:"import {Joi} from '@docusaurus/utils-validation'"})]})]}),"\n",(0,o.jsxs)(i.p,{children:["If you don't use ",(0,o.jsx)(i.strong,{children:(0,o.jsx)(i.a,{href:"https://www.npmjs.com/package/joi",children:"Joi"})})," for validation you can throw an Error in case of invalid options and return options in case of success."]}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-js",metastring:'title="my-plugin/src/index.js"',children:"export default function myPlugin(context, options) {\n return {\n name: 'docusaurus-plugin',\n // rest of methods\n };\n}\n\n// highlight-start\nexport function validateOptions({options, validate}) {\n const validatedOptions = validate(myValidationSchema, options);\n return validatedOptions;\n}\n// highlight-end\n"})}),"\n",(0,o.jsx)(i.h2,{id:"validateThemeConfig",children:(0,o.jsx)(i.code,{children:"validateThemeConfig({themeConfig, validate})"})}),"\n",(0,o.jsx)(i.p,{children:"Return validated and normalized configuration for the theme."}),"\n",(0,o.jsx)(i.h3,{id:"themeConfig",children:(0,o.jsx)(i.code,{children:"themeConfig"})}),"\n",(0,o.jsxs)(i.p,{children:[(0,o.jsx)(i.code,{children:"validateThemeConfig"})," is called with ",(0,o.jsx)(i.code,{children:"themeConfig"})," provided in ",(0,o.jsx)(i.code,{children:"docusaurus.config.js"})," for validation and normalization."]}),"\n",(0,o.jsx)(i.h3,{id:"validate-1",children:(0,o.jsx)(i.code,{children:"validate"})}),"\n",(0,o.jsxs)(i.p,{children:[(0,o.jsx)(i.code,{children:"validateThemeConfig"})," is called with ",(0,o.jsx)(i.code,{children:"validate"})," function which takes a ",(0,o.jsx)(i.strong,{children:(0,o.jsx)(i.a,{href:"https://www.npmjs.com/package/joi",children:"Joi"})})," schema and ",(0,o.jsx)(i.code,{children:"themeConfig"})," as the arguments, returns validated and normalized options. ",(0,o.jsx)(i.code,{children:"validate"})," will automatically handle error and validation config."]}),"\n",(0,o.jsxs)(i.admonition,{type:"tip",children:[(0,o.jsxs)(i.p,{children:[(0,o.jsx)(i.a,{href:"https://www.npmjs.com/package/joi",children:"Joi"})," is recommended for validation and normalization of theme config."]}),(0,o.jsxs)(i.p,{children:["To avoid mixing Joi versions, use ",(0,o.jsx)(i.code,{children:"import {Joi} from '@docusaurus/utils-validation'"})]})]}),"\n",(0,o.jsxs)(i.p,{children:["If you don't use ",(0,o.jsx)(i.strong,{children:(0,o.jsx)(i.a,{href:"https://www.npmjs.com/package/joi",children:"Joi"})})," for validation you can throw an Error in case of invalid options."]}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-js",metastring:'title="my-theme/src/index.js"',children:"export default function myPlugin(context, options) {\n return {\n name: 'docusaurus-plugin',\n // rest of methods\n };\n}\n\n// highlight-start\nexport function validateThemeConfig({themeConfig, validate}) {\n const validatedThemeConfig = validate(myValidationSchema, options);\n return validatedThemeConfig;\n}\n// highlight-end\n"})})]})}function h(e={}){let{wrapper:i}={...(0,a.a)(),...e.components};return i?(0,o.jsx)(i,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,i,n){n.d(i,{Z:()=>d,a:()=>s});var t=n(67294);let o={},a=t.createContext(o);function s(e){let i=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),t.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7a71cb25.f9bd7860.js b/assets/js/7a71cb25.f9bd7860.js new file mode 100644 index 0000000000..4404bf3827 --- /dev/null +++ b/assets/js/7a71cb25.f9bd7860.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["91442"],{70070:function(e,a,t){t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>h,default:()=>r,frontMatter:()=>i,metadata:()=>n,toc:()=>m});var n=t(76459),l=t(85893),o=t(80980);let i={mdx:{format:"md"},date:"2020-04-01T20:00",authors:["38elements","ayshiff","bravo-kernel","elviswolcott","fakela","fanny","GermaVinsmoke","iamkun","jeffersonlicet","KohheePeace","lex111","lukecollier","mohrash92","nebrelbug","nisarhassan12","paularmstrong","phoqe","rlamana","SamChou19815","Simek","slorber","TheodoreChu","yangshun","ZachJW34"]},h="2.0.0-alpha.49",s={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},m=[];function u(e){return(0,l.jsx)(l.Fragment,{})}function r(e={}){let{wrapper:a}={...(0,o.a)(),...e.components};return a?(0,l.jsx)(a,{...e,children:(0,l.jsx)(u,{...e})}):u(e)}},80980:function(e,a,t){t.d(a,{Z:()=>h,a:()=>i});var n=t(67294);let l={},o=n.createContext(l);function i(e){let a=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function h(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:i(e.components),n.createElement(o.Provider,{value:a},e.children)}},76459:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.49","source":"@site/changelog/source/2.0.0-alpha.49.md","title":"2.0.0-alpha.49","description":"New Feature","date":"2020-04-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"38elements","alias":"38elements","url":"https://github.com/38elements","imageURL":"https://github.com/38elements.png","key":"38elements","page":null},{"name":"R\xe9mi Doreau","alias":"ayshiff","url":"https://github.com/ayshiff","imageURL":"https://github.com/ayshiff.png","key":"ayshiff","page":null},{"name":"bravo-kernel","alias":"bravo-kernel","url":"https://github.com/bravo-kernel","imageURL":"https://github.com/bravo-kernel.png","key":"bravo-kernel","page":null},{"name":"Elvis Wolcott","alias":"elviswolcott","url":"https://github.com/elviswolcott","imageURL":"https://github.com/elviswolcott.png","key":"elviswolcott","page":null},{"name":"Favour Kelvin","alias":"fakela","url":"https://github.com/fakela","imageURL":"https://github.com/fakela.png","key":"fakela","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"GermaVinsmoke","alias":"GermaVinsmoke","url":"https://github.com/GermaVinsmoke","imageURL":"https://github.com/GermaVinsmoke.png","key":"GermaVinsmoke","page":null},{"name":"iamkun","alias":"iamkun","url":"https://github.com/iamkun","imageURL":"https://github.com/iamkun.png","key":"iamkun","page":null},{"name":"Jefferson Licet","alias":"jeffersonlicet","url":"https://github.com/jeffersonlicet","imageURL":"https://github.com/jeffersonlicet.png","key":"jeffersonlicet","page":null},{"name":"KohheePeace","alias":"KohheePeace","url":"https://github.com/KohheePeace","imageURL":"https://github.com/KohheePeace.png","key":"KohheePeace","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Luke Collier","alias":"lukecollier","url":"https://github.com/lukecollier","imageURL":"https://github.com/lukecollier.png","key":"lukecollier","page":null},{"name":"mohrash92","alias":"mohrash92","url":"https://github.com/mohrash92","imageURL":"https://github.com/mohrash92.png","key":"mohrash92","page":null},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},{"name":"Nisar Hassan Naqvi","alias":"nisarhassan12","url":"https://github.com/nisarhassan12","imageURL":"https://github.com/nisarhassan12.png","key":"nisarhassan12","page":null},{"name":"Paul Armstrong","alias":"paularmstrong","url":"https://github.com/paularmstrong","imageURL":"https://github.com/paularmstrong.png","key":"paularmstrong","page":null},{"name":"Linus L\xe5ngberg","alias":"phoqe","url":"https://github.com/phoqe","imageURL":"https://github.com/phoqe.png","key":"phoqe","page":null},{"name":"Ram\xf3n Lamana","alias":"rlamana","url":"https://github.com/rlamana","imageURL":"https://github.com/rlamana.png","key":"rlamana","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Theodore Chu","alias":"TheodoreChu","url":"https://github.com/TheodoreChu","imageURL":"https://github.com/TheodoreChu.png","key":"TheodoreChu","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"ZachJW34","alias":"ZachJW34","url":"https://github.com/ZachJW34","imageURL":"https://github.com/ZachJW34.png","key":"ZachJW34","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-04-01T20:00","authors":["38elements","ayshiff","bravo-kernel","elviswolcott","fakela","fanny","GermaVinsmoke","iamkun","jeffersonlicet","KohheePeace","lex111","lukecollier","mohrash92","nebrelbug","nisarhassan12","paularmstrong","phoqe","rlamana","SamChou19815","Simek","slorber","TheodoreChu","yangshun","ZachJW34"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.50","permalink":"/changelog/2.0.0-alpha.50"},"nextItem":{"title":"2.0.0-alpha.48","permalink":"/changelog/2.0.0-alpha.48"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/7ada4fa6.353c3768.js b/assets/js/7ada4fa6.353c3768.js new file mode 100644 index 0000000000..c50cc738ae --- /dev/null +++ b/assets/js/7ada4fa6.353c3768.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["11773"],{63199:function(e,n,s){s.d(n,{Z:()=>r});let r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAT3UlEQVR42u1dCVQVV5pWXNt2N0czykl33KImZ7IgKgqIghq3KCDK+qowCek2c2K0Mx3idBxakzYxJnZiq3Gf6Bg7UdN2R51MxnTSia3gew9Rwccm7oqiiIK4sPxTt1hEHo9XvPVW1fed852Dr+67UNb/1f3/+9/731atAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO8i2CxGjDUJXzMGmcSZnmoHAF7B6GMJvYPNwq5gk1AmMS/YJMbaahtkNsRLbeghmoU4d7cDAO+NCEbhQCMjrZbe5q81bhdyVOwuXbtqZdDSZ+yau9oBgNcgGeIvmzDQJkUy1ix8ZKMtsWvuagcAXsNYs/iyLSNlIgk2GebLQjKJQ6R/32+mbcWYI8KTrm6HJwR4170yCV80Y6T1I4kklH122lFNG9e2wxMC3Ao/U1KnQLPgF2SK/xeri5TiIxlikX1DBXVANpoXSy/DzGCjYfdYs2FRiFkcxWxEu/GF0RAm3fT1Bv8JJyV+LLlV08ccnNuFCQeGAdrheWkkXxaSGueruZFDurlrzfn4QSbDGRgAqJD3JK4NMcU8oo3RIz1hOB4q6AZeCzKK0aoXCIs58DBBt9Esfip5Ke3UPkN1Eg8TdB8N+5grr+JRxPAJHiLoTgaZhf97MiuqvVqTgNPxEEEPcK0qBTIyNa6rnWw1CLooJjHMUZc6KMWnNs9xDg8Q9ACLQtMMvbhfeFi7tuoLZMhBz1NczaUw2H4OFizhAYFe5l0uM+61m53wgMAWM+C7aBr425Ey2c8umPpdxmO+oxQPWz8cvnOmTGf7Gf1DDHXs25lYxMrIfmafOdnvOe4WONZsk4XhaD7nkJpAPQN96w2a/cw+c7S/QYsC6vuq46D/CHD+7zQaRvDmYsXVbG6CEWmZQ5YGWRk0+8zR/phb1bg/9pkLgvVk/twso+EViETbfPw1PyuDHrDQ36n4o6GL1eHRn7skDhlrEnZyuvbKMN/TIglKM9AzmyfLbzL2sBjZz89sniJfg2G7Nvbwad+m3qB9OrQh/z0RTschzK1yXZAu8zi/CxQ9NJL4fT6d+kwdQG27drB6q9WxXbcO1GfaAPL78wswcBfx6Y2T6ZHxv5DJfuY1acj5Kl55JHHPtOCBaOozZQC18mltUxhWlNoyobjwDQVyng/hVhyBaYbBrEKhW0aNL2Y85LO2lB37daHhX86AAemAPC4z6R5sEt9j6nWXONr8vJ3D4qhj287tIRIIxMP7PmrKd151p1vV3MjRtmt7eiT0F+QbN4z6xQ6T/eO2XdrbbP8z3y5wtyAQT+VAxAh336wcczQVhPfsKM+ANJWsYp+xRFS7Hh2b/C6LSWBIEIgnsuh73T1b1VRA3ql/dxq5d5bd74/4OlJu21TgjtktCMT9uwbdFJDXjx5TBzQ5cigRR71I/hZJ7bpbTwf3mT4QxgSBuHtbrSHcnUlAlstwxXqdgcmjmsyTIJkIgag2SGcZ8qYCckcWyAUdTpBnsBr398yWKTAoCESd07xD3rFeHMdmqxztj81uNe5v6B+CYVAQiAeD9qPiIOkP/NIVN9l//nArg/ZNeNLh/nzjn7Tqr//rw2FQEIg6M+lN7RcY/LvR3PQHupdh6S9R+LH5ZMh8i17NfoeS81bSO6fX0cfn/ps2X/wL7bzyv/TNtYP0z5KjdLw0hwrKL1DR/Rt0r+q+Plys0d/HyMtDGib4nNlx5ur+QPcZuLPQTSa9bjk0oyuM2dX9adm4Zx57jeIzk+lXliX0Ru4KSjm1hlac/S/69MKXtP3yXvrr1b/Td8WplHbzOGWV5dPZO5fo+v0Slxi4ZgTiiUw66BoD/32BPQO/zI2Ba0cgbs6kg9aMPfFbWn5mM/258H80a+CaEYi7M+ngA7JR4ERpHgFqEogbM+lgDSelv0LfFx+B1SNIBxtzWsarlH27ABavZoF4YsOUHhliEuX4AlCOwsJC2rVrF7+JwjHGuU8Em4X9MHDn+afzOzRtzGVlZbR69WqKjY2lqKgoev/996m4uNihvqqrqyklJYU6dKhf3Kq/Pel6izuKK246bYQXLlygvXv30ldffUWZmZlO9cX6CAwMpI4dO1Lbtm3pueeeo61btzrUV1ZWFj3++ONWKxseffRRMpvNLe7vzTffrClF5ONDEydOhIuldb53ZqNTxpyfn08RERFWBsiM2mQytbi/+fPn29zCnJSU1KK+ioqKyNe3poTpU089RRs3bqTt27dTQEBAvUiuXr2quL8ff/xRFgYT7e7duxGk64E/FBsdFsfhw4epR48eNTsvO3WioKAgmjRpEvXu3Vv+rHPnzvTTTz8p7u/dd9+tqXwouS/Lly+nS5cuUUlJCa1fv17ui11j7pFSTJs2Tf4O+7tu3bpV//ndu3fr3v40Y8YMRX1VVFTQkCFD5O8sW7YMmXS98MLdQofEYbFYqFu3brLBsBGEBa11KC0tpcTERPkaa8NGGXs4ePCg/HZu06YN7du3z+r6/v3769/e6enpdvvbs2dPTeHrnj1l968xLl68SN2712yR/vbbb+3299lnn8ltn3jiCbp37x4y6XphedWdFouDBbiDBw+WDWb27NlUWVlp1aaqqooiIyPlNsOHD3/IqBrj9u3bNGjQILnt4sWLbbZbuHCh3Mbf37/J31kH9rvq+mPBuS2w0Yi18fPzk4NvW2C/iwmDtd22bRsy6RAINWvM48aNq48z2L9tgblH/fv3l9suWLDAZrt58+bJbZ5++ulmhcRGpscee8yu4a9YsUJuM2zYMNk1soXy8nLq16+f3Hbnzp0227EJAtZm4MCBVv0hkw4XS8aNGzdkV4S9bZmxMMM6f/683e+lpaVR+/Y1W5A//PBDq+vr1q2Tr7E2GRkZil2nrl27Um5ubpOTBuwaa/PNN9/Y7a/u97MRgsUmjcE+Y8JgbbZs2YJMut6oZGnJ6NGjHz5bQzKYggLlWXf2BmbxA/suC+LZbNKOHTsoLi6OWrduLXPz5s2K+2P5DNYXC5rz8h6sGbt8+bI8qrFrrI3S4JuNNOw7ycnJVtfffvvtZkcjTPNqnMtOb7BrRGPGjJFnlpiRfPDBB826VbbABNGrVy/rii/t2tGqVata7OY9++yz8ve7dOkiC41NAdfNng0dOlR2x5TCaDTKfwf77tKlS2UhsJiEuXFs0oCJ+9ChQ+pYauKOPel65sT0JJckCpXmJVhgzLLZM2fOpEWLFj00ArR0oqCp/AuLj9hI0lIwkbKRrG7mqy42YVyyZIl61mJhqYnruercdtUuI2HTzZs2baK1a9fSkSPOrURm8U1droOxb9++tGHDBixWxGJFkVJLjmEFYoMcCYuxmpsBQ5Cuu+Xu8+hk2SmoQ63L3ZFJ90w8cuD6YVi9KgWCTLrHuDB3uVwep5qqoQC1CASZdM8z+sQb9P6ZTbSjcD+KNnAvEGTSUfYHAkGQDoGhcBymeUGUHkUmHdS6wG5VlmFPOgjq/gAdEMQRbCCoZYEgkw5CIMikgxAIMukgBIJMOgiBIEgHIRBM84KgegSCTDoIgSCTzvcWXbNAv7bE0/oL0fSPG1F0+k4k3aoMp4rqmUSkL8LFAus563gCbb88h4ruR+hOCKoQCIJ07/CFDAP9rWg23a+GILgVCDLp3uGSghi6WREOMXAvEGTSPcrxUpzxtTRqQAQqEQgCck9WNzFQasksCEBVAkEm3WMjB8SBIB20QbhVmOYFbXBpQazLDYjlR25XhetGIJOyXuw5JntuF2TSNVd61EAlLpytqpa4sjCWJmSLMtdcidG2QKhV67CcxHVh2WJVLVcik65zjmVZ9QyRxmcKFHpSJMkoaGqOSHGnDPTGuXj53w1pLIvSnECk+yoPzRZPh2Un/r3x/YZZEifBxdLrcpOMB6JQyt3Fc7QokOb4OoJ0vdEs0LgTLRNGHQ/cnE07JZEcLo2SXTCtC2RCdmJ8aI64MNSSOI25YMik64COiqMxPy6M0cMI0oDCGmTSdeBWuUIcYbWBe6kGZrdacM/VIafF7sikazggb2nMYU8gJZURehJIVUhO0iPIpGt29HCdOBj/qDMXS3ohfIogXctLUDJd516xaeCvb8yhMv24WGekQP2VsFNJ3TDNq1G60r2qY4IkFLWLpIX3fMojIkEm3QsV0LMFlwuEcfS/P0N+ft29ypdf/qWnBEJhFiEJmXQIRDH7RQ2uP5fcW+zbt6PHBDIhJ/EluFhwsRRxzsl4OmgeTyZTiFdZXDzVUwLJd6uLhSBdO0H63huzdRWkM9fKreJAJl07SULGjy7H6iuTbhHXI5Ou8URhGBKFHCcKEZB7fxQ5iqUm/C41QSadk8WKrhHJJ4X6crFCLeKfkEnXiavl7HL31LJZutgPUrfcPSxXmIoNU3rcMGURsGGKpw1TyKTzKZTxmWJtnkT6OSOBxhyYRX6fPW9lML0C+3k9KdgUR47s4dSWW4kF3Gy5RSbdtXTUMEaM6NG84bVuRUNSAiThSCNNlkCDk/25FAfjqFE9XVO0IVtcW1uwoTLMInyEsj86FohSllaGU7mOyv5MPR7bIyRrXmcUjoNAQFR3h0BAVHeHQEBUdwchEFR3ByEQVHdHkA6BQCCY5oVAIBBk0tUrEH//Htwm/jyZSedWIMikc55JVxFdkkmHiwWBgAjSIRAQmXQQAkEmHYRAkEkHeRDIP0ujaOG5eJqWK8j8jfQzOyQHAkEmXfcC2XA12uaOuk1F0RAIgnRtC4Qd4XyifBZZ7kRaHefMRg5722wbjySsD9YX61MLx0OH5cwNnJwX1xXTvDoTyF3JeD8pjKHncx4Y+xTp51VXYuRrrM3CJk6ybUx22u2D/mLlPuquTc4RavqrVv2e9LthOcKqgPNRP0MmXQcCqZAMdsFZ28b/unTNf1QvGpceZ1cg48xx5NPOh4Z/PsVmG79tz1Prtj5q3ZPekD/4mZLaIZOu9dpXx+1XKBl3XFlFk9BMAw1+a4Tddo8Zhqkyk95EQbz5cLG0Xsk9S3TLUQfN8ddnErRS9seMIF3rZ4FYPC+QF3IFrQjkFjLpOAvE5UwsMGhFIBZk0rV+FsgJweMC+Vilp95a34uwBpl0rdffNXtWIKzS+9Hbs2hlYSwZThnkqWA2onx+LZr7KeDGFdxDsw3jwnIS18mnSWWLd9iIEmpJfMvtU8DIpHtwBMny/Ahii/8mBe88JxRb8BJIc3tCEUG6Nt0re/zgcozqBVLrfm3GNK+aC1Ef408cjBM5Po2qhfdS6dZTppBJd2/cEWoRuRQIY8/RfdWQSbfP3LlhSoPuxSGpcb7IpMO1UsIe/n1UkUm3OxrmCsF2jTs09aU+0kO5zQwcLhYHTBe5Fgdb1HirMlwLLtbdSVkv9lSS01ha93CCzMpP4UGQzve5g+7iHzk+z7CF97JWadIvr8EDqmJZcmTSvUSzd5aWKOX8swn1y+tVLpCD001JnezHHkdE/yYe1B17IkEm3U3BeTq/o8faK9Hy0nvVn3JrET5SvAxeeii/sfGwqqSY5DVk0j3sXh3jd/Rgm7V43+Ou8F7uSyyT+P1EizjdnkC+sDPk7x+TPrcvMukemr3K5DtA532PuyP3EZojvtvc9G6mggd3LcgoLAg49PD6FQTp7li5K6hGIE3tcVejQGSRWBKn2RpBLrXgAbK2vws0zu2PaV7t7P1whnV73NUuEHZstC2B3HFwtuVIkEn8cKxRiJFGkn8NyZgbGGw07IaROzmCZKtLIGyPu6oz6fY2VkkP5R4MEwJxlCGmOG4y6ferw525l5u2BHIdhsmRQOBiOUy2gNLhGCRb/M6ZIB3U8PZaZ5haNosbgRTcjXT8XnKFqbZGkK9gmDxtjlKPOLZwNs37j1uzHbwXYWlzOwMXwTCRKFSaKJyeK8huFU8jh5K6xNaJQqGUuVU2R476aVqzOAqGiaUmSnjmXiTXy0xePZOgLN7ISxymfL06pfhID+YcjJMTgXAah7xymu9CclfuR8jFJhTcy1EHSvgYlsE41VVq1NPccX0O1wJhFVcU3UuOmNzyfeWpcb7Ih/C1YYqnfAirsnijkt8l7iz/EZ1vUJQMnJif0NvRQnBrYZw8bZriRyDbrvE9euwpnqOs1E+OsNjhogsBh17sKT2YIhgnLxunRC7WZc3OF6ic4w1SN6WRLTJP0ehxOSRrXmfn6lwZxWgYJ8r+NKywmMbhdG5DLrkYp+ReqsbnGCa7qij1pzBOVDdh3HqN7zMN/3pjttLA/D9dVt8q6suoNmNNwl9gnPreRPV76c1czbE4WKJyUo6il8euFErxcWkROD9TUqdgk2EfjJOf3IgnRfLepViqrOY37mCbtKbmKhLH1pDvU9q6pVIi29SOmS19zWxNqC3MUM25W6Vg5KhmhRlaUavWHjgoxzAHs1scBe4ZclUOl4sjJt9AxrIoboVRUhmuNCA/F2ZJnOTRs0BC0wy9gk3iamyr5ad2lquCd1alZM2VGG6PNGBJQJbnCM+ze7+sSslKr56RPj7D0K92WQrWbnEiFLYsxZG1W2zEYMszeC0herUiQv77FGTIz7EDcRSVEPUYKMUnyGgYIY0qyVIAuVN6WMdrdyZiuYqXgvixRwX5KOjxmTWLHdnORLZchfnrEdLb9+XTCZKLEiv78GfvRXA0QsykmxXhlF8eST8UR9G6i9H0q7x4Cm10H2HZQoUkhmsSj0/IFnZOyBFeDctNGNoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsI3/BxVeQNnL1kBuAAAAAElFTkSuQmCC"},38874:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>i,default:()=>h,contentTitle:()=>d,assets:()=>l,toc:()=>c,metadata:()=>r});var r=JSON.parse('{"id":"guides/markdown-features/introduction","title":"Markdown Features","description":"Docusaurus uses MDX. Find out more about Docusaurus-specific features when writing Markdown.","source":"@site/docs/guides/markdown-features/markdown-features-intro.mdx","sourceDirName":"guides/markdown-features","slug":"/markdown-features","permalink":"/docs/markdown-features","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/markdown-features/markdown-features-intro.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"introduction","description":"Docusaurus uses MDX. Find out more about Docusaurus-specific features when writing Markdown.","slug":"/markdown-features"},"sidebar":"docs","previous":{"title":"Blog","permalink":"/docs/blog"},"next":{"title":"MDX and React","permalink":"/docs/markdown-features/react"}}'),t=s(85893),o=s(80980),a=s(14522);let i={id:"introduction",description:"Docusaurus uses MDX. Find out more about Docusaurus-specific features when writing Markdown.",slug:"/markdown-features"},d="Markdown Features",l={},c=[{value:"MDX vs. CommonMark",id:"mdx-vs-commonmark",level:2},{value:"Standard features",id:"standard-features",level:2},{value:"Front matter",id:"front-matter",level:2},{value:"Quotes",id:"quotes",level:2},{value:"Details",id:"details",level:2}];function u(e){let n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components},{Details:r}=n;return r||function(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"markdown-features",children:"Markdown Features"})}),"\n","\n",(0,t.jsxs)(n.p,{children:["Docusaurus uses ",(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"https://commonmark.org/",children:"Markdown"})})," as its main content authoring format."]}),"\n",(0,t.jsx)(n.admonition,{title:"Learn Markdown",type:"tip",children:(0,t.jsxs)(n.p,{children:["You can ",(0,t.jsx)(n.a,{href:"https://commonmark.org/help/",children:"learn Markdown in 10 minutes"}),"."]})}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus uses modern tooling to help you create ",(0,t.jsx)(n.strong,{children:"interactive documentation"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"https://mdxjs.com/",children:"MDX"})})," compiler transforms ",(0,t.jsx)(n.strong,{children:"Markdown files to React components"}),", and allows you to use JSX in your Markdown content. This enables you to easily interleave React components within your content, and create delightful learning experiences."]}),"\n",(0,t.jsxs)(n.admonition,{title:"Use the MDX Playground",type:"tip",children:[(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"https://mdxjs.com/playground/",children:"MDX playground"})})," is your new best friend!"]}),(0,t.jsx)(n.p,{children:"It is a very helpful debugging tool that shows how the MDX compiler transforms Markdown to React."}),(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Options"}),": select the right format (MDX or CommonMark) and the following plugins Docusaurus uses: ",(0,t.jsx)(n.code,{children:"remark-gfm"}),", ",(0,t.jsx)(n.code,{children:"remark-directive"}),", ",(0,t.jsx)(n.code,{children:"rehype-raw"}),"."]})]}),"\n",(0,t.jsx)(n.h2,{id:"mdx-vs-commonmark",children:"MDX vs. CommonMark"}),"\n",(0,t.jsxs)(n.p,{children:["Docusaurus compiles both ",(0,t.jsx)(n.code,{children:".md"})," and ",(0,t.jsx)(n.code,{children:".mdx"})," files to React components using the MDX compiler, but ",(0,t.jsx)(n.strong,{children:"the syntax can be interpreted differently"})," depending on your settings."]}),"\n",(0,t.jsxs)(n.p,{children:["The MDX compiler supports ",(0,t.jsx)(n.a,{href:"https://mdxjs.com/packages/mdx/#optionsformat",children:"2 formats"}),":"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["The ",(0,t.jsx)(n.a,{href:"https://mdxjs.com/docs/what-is-mdx/",children:"MDX format"}),": a powerful parser allowing the usage of JSX"]}),"\n",(0,t.jsxs)(n.li,{children:["The ",(0,t.jsx)(n.a,{href:"https://commonmark.org/",children:"CommonMark format"}),": a standard-compliant Markdown parser that does not allow the usage of JSX"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["By default, ",(0,t.jsx)(n.strong,{children:"Docusaurus v3 uses the MDX format for all files"})," (including ",(0,t.jsx)(n.code,{children:".md"})," files) for historical reasons."]}),"\n",(0,t.jsxs)(n.p,{children:["It is possible to ",(0,t.jsx)(n.strong,{children:"opt-in for CommonMark"})," using the ",(0,t.jsx)(n.a,{href:"/docs/api/docusaurus-config#markdown",children:(0,t.jsx)(n.code,{children:"siteConfig.markdown.format"})})," setting or the ",(0,t.jsx)(n.code,{children:"mdx.format: md"})," front matter."]}),"\n",(0,t.jsxs)(n.admonition,{title:"how to use CommonMark",type:"tip",children:[(0,t.jsxs)(n.p,{children:["If you plan to use CommonMark, we recommend the ",(0,t.jsx)(n.a,{href:"/docs/api/docusaurus-config#markdown",children:(0,t.jsx)(n.code,{children:"siteConfig.markdown.format: 'detect'"})})," setting. The appropriate format will be selected automatically, based on file extensions:"]}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:".md"})," files will use the CommonMark format"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:".mdx"})," files will use the MDX format"]}),"\n"]})]}),"\n",(0,t.jsx)(n.admonition,{title:"Experimental CommonMark support",type:"danger",children:(0,t.jsxs)(n.p,{children:["The CommonMark support is ",(0,t.jsx)(n.strong,{children:"experimental"})," and currently has a few ",(0,t.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/9092",children:"limitations"}),"."]})}),"\n",(0,t.jsx)(n.h2,{id:"standard-features",children:"Standard features"}),"\n",(0,t.jsx)(n.p,{children:"Markdown is a syntax that enables you to write formatted content in a readable syntax."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:"### My Doc Section\n\nHello world message with some **bold** text, some _italic_ text, and a [link](/)\n\n![img alt](/img/docusaurus.png)\n"})}),"\n",(0,t.jsxs)(a.Z,{children:[(0,t.jsx)("h3",{children:"My Doc Section"}),(0,t.jsxs)(n.p,{children:["Hello world message with some ",(0,t.jsx)(n.strong,{children:"bold"})," text, some ",(0,t.jsx)(n.em,{children:"italic"})," text and a ",(0,t.jsx)(n.a,{href:"/",children:"link"})]}),(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"img alt",src:s(63199).Z+"",width:"200",height:"200"})})]}),"\n",(0,t.jsxs)(r,{children:[(0,t.jsx)("summary",{children:"Markdown is declarative"}),(0,t.jsxs)(n.p,{children:["Some may assume a 1-1 correlation between Markdown and HTML, e.g., ",(0,t.jsx)(n.code,{children:"![Preview](/img/docusaurus.png)"})," will always become ",(0,t.jsx)(n.code,{children:'<img src="/img/docusaurus.png" alt="Preview" />'}),", as-is. However, ",(0,t.jsx)(n.em,{children:"that is not the case"}),"."]}),(0,t.jsxs)(n.p,{children:["The Markdown syntax ",(0,t.jsx)(n.code,{children:"![message](url)"})," only declaratively tells Docusaurus that an image needs to be inserted here, but we may do other things like transforming a ",(0,t.jsx)(n.a,{href:"/docs/markdown-features/assets#images",children:"file path to URL path"}),", so the generated markup may differ from the output of other Markdown renderers, or a na\xefve hand-transcription to the equivalent JSX/HTML code."]}),(0,t.jsxs)(n.p,{children:["In general, you should only assume the ",(0,t.jsx)(n.em,{children:"semantics"})," of the markup (",(0,t.jsx)(n.code,{children:"```"})," fences become ",(0,t.jsx)(n.a,{href:"/docs/markdown-features/code-blocks",children:"code blocks"}),"; ",(0,t.jsx)(n.code,{children:">"})," becomes ",(0,t.jsx)(n.a,{href:"#quotes",children:"quotes"}),", etc.), but not the actual compiled output."]})]}),"\n",(0,t.jsx)(n.h2,{id:"front-matter",children:"Front matter"}),"\n",(0,t.jsx)(n.p,{children:"Front matter is used to add metadata to your Markdown file. All content plugins have their own front matter schema, and use the front matter to enrich the default metadata inferred from the content or other configuration."}),"\n",(0,t.jsxs)(n.p,{children:["Front matter is provided at the very top of the file, enclosed by three dashes ",(0,t.jsx)(n.code,{children:"---"}),". The content is parsed as ",(0,t.jsx)(n.a,{href:"https://yaml.org/spec/1.2.2/",children:"YAML"}),"."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:"---\ntitle: My Doc Title\nmore_data:\n - Can be provided\n - as: objects\n or: arrays\n---\n"})}),"\n",(0,t.jsxs)(n.admonition,{type:"info",children:[(0,t.jsx)(n.p,{children:"The API documentation of each official plugin lists the supported attributes:"}),(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-docs#markdown-front-matter",children:"Docs front matter"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-blog#markdown-front-matter",children:"Blog front matter"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-pages#markdown-front-matter",children:"Pages front matter"})}),"\n"]})]}),"\n",(0,t.jsxs)(n.admonition,{title:"enhance your front matter",type:"tip",children:[(0,t.jsxs)(n.p,{children:["Use the ",(0,t.jsxs)(n.a,{href:"/docs/api/docusaurus-config#markdown",children:["Markdown config ",(0,t.jsx)(n.code,{children:"parseFrontMatter"})," function"]})," to provide your own front matter parser, or to enhance the default parser."]}),(0,t.jsx)(n.p,{children:"It is possible to reuse the default parser to wrap it with your own custom proprietary logic. This makes it possible to implement convenient front matter transformations, shortcuts, or to integrate with external systems using front matter that Docusaurus plugins do not support."}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n markdown: {\n // highlight-start\n parseFrontMatter: async (params) => {\n // Reuse the default parser\n const result = await params.defaultParseFrontMatter(params);\n\n // Process front matter description placeholders\n result.frontMatter.description =\n result.frontMatter.description?.replaceAll('{{MY_VAR}}', 'MY_VALUE');\n\n // Create your own front matter shortcut\n if (result.frontMatter.i_do_not_want_docs_pagination) {\n result.frontMatter.pagination_prev = null;\n result.frontMatter.pagination_next = null;\n }\n\n // Rename an unsupported front matter coming from another system\n if (result.frontMatter.cms_seo_summary) {\n result.frontMatter.description = result.frontMatter.cms_seo_summary;\n delete result.frontMatter.cms_seo_summary;\n }\n\n return result;\n },\n // highlight-end\n },\n};\n"})})]}),"\n",(0,t.jsx)(n.h2,{id:"quotes",children:"Quotes"}),"\n",(0,t.jsx)(n.p,{children:"Markdown quotes are beautifully styled:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:"> Easy to maintain open source documentation websites.\n>\n> \u2014 Docusaurus\n"})}),"\n",(0,t.jsx)(a.Z,{children:(0,t.jsxs)(n.blockquote,{children:["\n",(0,t.jsx)(n.p,{children:"Easy to maintain open source documentation websites."}),"\n",(0,t.jsx)(n.p,{children:"\u2014 Docusaurus"}),"\n"]})}),"\n",(0,t.jsx)(n.h2,{id:"details",children:"Details"}),"\n",(0,t.jsxs)(n.p,{children:["Markdown can embed HTML elements, and ",(0,t.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details",children:(0,t.jsx)(n.code,{children:"details"})})," HTML elements are beautifully styled:"]}),"\n","\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-md",children:'### Details element example\n\n<details>\n <summary>Toggle me!</summary>\n\n This is the detailed content\n\n ```js\n console.log("Markdown features including the code block are available");\n ```\n\n You can use Markdown here including **bold** and _italic_ text, and [inline link](https://docusaurus.io)\n <details>\n <summary>Nested toggle! Some surprise inside...</summary>\n\n \uD83D\uDE32\uD83D\uDE32\uD83D\uDE32\uD83D\uDE32\uD83D\uDE32\n </details>\n</details>\n'})}),"\n",(0,t.jsxs)(a.Z,{children:[(0,t.jsx)("h3",{children:"Details element example"}),(0,t.jsxs)(r,{children:[(0,t.jsx)("summary",{children:"Toggle me!"}),(0,t.jsx)(n.p,{children:"This is the detailed content"}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:'console.log("Markdown features including the code block are available");\n'})}),(0,t.jsxs)(n.p,{children:["You can use Markdown here including ",(0,t.jsx)(n.strong,{children:"bold"})," and ",(0,t.jsx)(n.em,{children:"italic"})," text, and ",(0,t.jsx)(n.a,{href:"https://docusaurus.io",children:"inline link"})]}),(0,t.jsxs)(r,{children:[(0,t.jsx)("summary",{children:"Nested toggle! Some surprise inside..."}),(0,t.jsx)(n.p,{children:"\uD83D\uDE32\uD83D\uDE32\uD83D\uDE32\uD83D\uDE32\uD83D\uDE32"})]})]})]}),"\n",(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsxs)(n.p,{children:["You may want to keep your ",(0,t.jsx)(n.code,{children:"<summary>"})," on a single line. Keep in mind that ",(0,t.jsxs)(n.a,{href:"https://mdxjs.com/migrating/v2/#jsx",children:["MDX creates extra HTML ",(0,t.jsx)(n.code,{children:"<p>"})," paragraphs for line breaks."]}),". When in doubt, use the ",(0,t.jsx)(n.a,{href:"https://mdxjs.com/playground/",children:"MDX playground"})," to troubleshoot ",(0,t.jsx)(n.code,{children:"<details>"})," rendering problems."]})})]})}function h(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},14522:function(e,n,s){s.d(n,{Z:()=>i});var r=s(85893);s(67294);var t=s(90496);let o="dot_giz1",a="bar_rrRL";function i(e){let{children:n,minHeight:s,url:i="http://localhost:3000",style:d,bodyStyle:l}=e;return(0,r.jsxs)("div",{className:"browserWindow_my1Q",style:{...d,minHeight:s},children:[(0,r.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,r.jsxs)("div",{className:"buttons_uHc7",children:[(0,r.jsx)("span",{className:o,style:{background:"#f25f58"}}),(0,r.jsx)("span",{className:o,style:{background:"#fbbe3c"}}),(0,r.jsx)("span",{className:o,style:{background:"#58cb42"}})]}),(0,r.jsx)("div",{className:(0,t.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:i}),(0,r.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:a}),(0,r.jsx)("span",{className:a}),(0,r.jsx)("span",{className:a})]})})]}),(0,r.jsx)("div",{className:"browserWindowBody_Idgs",style:l,children:n})]})}},80980:function(e,n,s){s.d(n,{Z:()=>i,a:()=>a});var r=s(67294);let t={},o=r.createContext(t);function a(e){let n=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c3d1b8c.fa9d25c9.js b/assets/js/7c3d1b8c.fa9d25c9.js new file mode 100644 index 0000000000..69935ec76e --- /dev/null +++ b/assets/js/7c3d1b8c.fa9d25c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["76867"],{17948:function(e,s,l){l.r(s),l.d(s,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>n,metadata:()=>r,toc:()=>h});var r=l(55515),i=l(85893),t=l(80980);let n={mdx:{format:"md"},date:"2020-11-24T20:00",authors:["arcanis","camiluc","lex111","Simek","slorber"]},c="2.0.0-alpha.69",a={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0]},h=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 5",id:"committers-5",level:2}];function o(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3802",children:"#3802"})," feat(v2): add baseUrlIssueBanner configuration to disable banner (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3807",children:"#3807"})," chore(v2): upgrade Infima to v0.2.0-alpha.18 (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3806",children:"#3806"})," fix(v2): remove aria-hidden attr from anchor link of heading (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3784",children:"#3784"})," fix(v2): fix missing logo in dark theme when darkSrc was not set (",(0,i.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3804",children:"#3804"})," fix(v2): Algolia: allow contextualSearch + facetFilters (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3796",children:"#3796"})," Adds createRequire for preset resolution (",(0,i.jsx)(s.a,{href:"https://github.com/arcanis",children:"@arcanis"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3803",children:"#3803"})," docs(v2): fix docusaurus init issue when not using @latest (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3785",children:"#3785"})," docs(v2): recommend Docusaurus 2 usage (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3783",children:"#3783"})," docs(v2): remove @next tags needed to install v2 packages (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3781",children:"#3781"})," docs(v2): rename zeit to vercel (",(0,i.jsx)(s.a,{href:"https://github.com/camiluc",children:"@camiluc"}),")"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3800",children:"#3800"})," chore(v2): remove useless stylelint-copyright peerDependency (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3786",children:"#3786"})," chore(v2): ensure publishConfig.access presence with tests (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"committers-5",children:"Committers: 5"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Bartosz Kaszubowski (",(0,i.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ma\xebl Nison (",(0,i.jsx)(s.a,{href:"https://github.com/arcanis",children:"@arcanis"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/camiluc",children:"@camiluc"})}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},80980:function(e,s,l){l.d(s,{Z:()=>c,a:()=>n});var r=l(67294);let i={},t=r.createContext(i);function n(e){let s=r.useContext(t);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),r.createElement(t.Provider,{value:s},e.children)}},55515:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.69","source":"@site/changelog/source/2.0.0-alpha.69.md","title":"2.0.0-alpha.69","description":"New Feature","date":"2020-11-24T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Ma\xebl Nison","alias":"arcanis","url":"https://github.com/arcanis","imageURL":"https://github.com/arcanis.png","key":"arcanis","page":null},{"name":"camiluc","alias":"camiluc","url":"https://github.com/camiluc","imageURL":"https://github.com/camiluc.png","key":"camiluc","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-11-24T20:00","authors":["arcanis","camiluc","lex111","Simek","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.70","permalink":"/changelog/2.0.0-alpha.70"},"nextItem":{"title":"2.0.0-alpha.68","permalink":"/changelog/2.0.0-alpha.68"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/7cbcfa04.3c801c13.js b/assets/js/7cbcfa04.3c801c13.js new file mode 100644 index 0000000000..580dfbc3ae --- /dev/null +++ b/assets/js/7cbcfa04.3c801c13.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["80587"],{19499:function(e){e.exports=JSON.parse('{"author":{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber","count":19},"listMetadata":{"permalink":"/blog/authors/slorber/authors/4","page":4,"postsPerPage":5,"totalPages":4,"totalCount":19,"previousPage":"/blog/authors/slorber/authors/3","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/7cfc4650.6ad09e80.js b/assets/js/7cfc4650.6ad09e80.js new file mode 100644 index 0000000000..9d87cbf1bd --- /dev/null +++ b/assets/js/7cfc4650.6ad09e80.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["62629"],{48881:function(e,t,n){n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var a=n(5808),o=n(85893),r=n(80980);let s={mdx:{format:"md"},date:"2024-08-09T20:00",authors:["anaclumos","slorber"]},l="3.5.1",u={authorsImageUrls:[void 0,void 0]},c=[];function i(e){return(0,o.jsx)(o.Fragment,{})}function m(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>s});var a=n(67294);let o={},r=a.createContext(o);function s(e){let t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:t},e.children)}},5808:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.5.1","source":"@site/changelog/source/3.5.1.md","title":"3.5.1","description":"Bug Fix","date":"2024-08-09T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Sunghyun Cho","alias":"anaclumos","url":"https://github.com/anaclumos","imageURL":"https://github.com/anaclumos.png","key":"anaclumos","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-08-09T20:00","authors":["anaclumos","slorber"]},"unlisted":false,"prevItem":{"title":"3.5.2","permalink":"/changelog/3.5.2"},"nextItem":{"title":"3.5.0","permalink":"/changelog/3.5.0"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/7d1ac6e6.cf5fb094.js b/assets/js/7d1ac6e6.cf5fb094.js new file mode 100644 index 0000000000..f4a6a456a8 --- /dev/null +++ b/assets/js/7d1ac6e6.cf5fb094.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["59472"],{82792:function(e,t,r){r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var s=r(64172),n=r(85893),a=r(80980);let i={title:"Docusaurus 2019 Recap",authors:"yangshun",tags:["recap"]},o=void 0,u={authorsImageUrls:[void 0]},l=[{value:"Docusaurus 2 (D2)",id:"docusaurus-2-d2",level:2},{value:"GitHub Activity",id:"github-activity",level:2},{value:"Notable Users",id:"notable-users",level:2},{value:"Media",id:"media",level:2},{value:"Community",id:"community",level:2},{value:"Looking Ahead",id:"looking-ahead",level:2}];function c(e){let t={a:"a",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["2019 was a great year for Docusaurus - we've made tremendous progress on ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/",children:"Docusaurus 2"}),". Current Docusaurus 1 users who aren't using the translations feature can feel free to check it out and ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/migration",children:"migrate"})," to it! Otherwise we will work with you to make that happen in 2020 :)"]}),"\n",(0,n.jsx)(t.h2,{id:"docusaurus-2-d2",children:"Docusaurus 2 (D2)"}),"\n",(0,n.jsxs)(t.p,{children:["In 2018, we proposed to rebuild ",(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/789",children:"Docusaurus from the ground up"}),". It involved a major rearchitecture effort - we created a content-centric CSS framework from scratch, a plugins system, and moved from static HTML pages to be a single page-app with prerendered routes. It was a wild adventure and a tough feat, especially with no dedicated FTE working on the project. With the help of ",(0,n.jsx)(t.a,{href:"https://github.com/endiliey",children:"@endilie"}),", our ex-intern-turned-contributor-turned-maintainer, we made really good progress on D2 and are currently on version 2.0.0-alpha.40. All features in Docusaurus 1 except for translations have been ported over."]}),"\n",(0,n.jsxs)(t.p,{children:["D2's killer features are ",(0,n.jsx)(t.strong,{children:"Dark Mode"})," and its ",(0,n.jsx)(t.strong,{children:"superb performance"}),". D2 has dark mode support out-of-the-box and it is near effortless to create a dark mode-friendly documentation site. Endilie put in great effort into optimizing the performance of the site and a bunch of performance optimization tricks have been done under the hood by default - optimized images, prerendering every route to static HTML and client-side routing thereafter, prefetching assets needed by future navigations whenever the user hovers over a navigation link, etc."]}),"\n",(0,n.jsxs)(t.p,{children:["Last but not least, we implemented a plugins architecture and turned the repo into a ",(0,n.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/tree/main/packages",children:"Lerna monorepo"}),". We believe this plugin architecture will be helpful towards building a community and also allowing users to build their own features for their unique use cases."]}),"\n",(0,n.jsx)(t.h2,{id:"github-activity",children:"GitHub Activity"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Stars: 10050 \u2192 14632 (+45.6% y/y)"}),"\n",(0,n.jsx)(t.li,{children:"Total Contributors: 182 \u2192 303 (+66.4% y/y). Most of which are non-Facebook contributors"}),"\n",(0,n.jsx)(t.li,{children:"Daily npm Downloads: 728 \u2192 2320 (+218.7% y/y). The peak was in November"}),"\n",(0,n.jsx)(t.li,{children:"D1 is currently used by 3872 projects on GitHub while D2 is used by 247 projects on GitHub"}),"\n",(0,n.jsx)(t.li,{children:"We now have 4 active core contributors! (+100% y/y)"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"notable-users",children:"Notable Users"}),"\n",(0,n.jsx)(t.p,{children:"A good portion of the projects within the Open Source community use Docusaurus. This half we also onboarded more notable projects onto Docusaurus 2:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://create-react-app.dev/",children:"Create React App"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://redux.js.org/",children:"Redux"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://draftjs.org/",children:"Draft.js"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"http://facebook.github.io/flux/",children:"Flux"})}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"And welcomed more projects to Docusaurus 1:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://developers.libra.org/",children:"Libra"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://mobx.js.org/",children:"MobX"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://immerjs.github.io/immer/",children:"Immer"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://sorbet.org/",children:"Sorbet"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"media",children:"Media"}),"\n",(0,n.jsxs)(t.p,{children:["Yangshun gave a classroom session during F8 about ",(0,n.jsx)(t.a,{href:"https://www.youtube.com/watch?v=QcGJsf6mgZE",children:"Using Docusaurus to Create Open Source Websites"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"community",children:"Community"}),"\n",(0,n.jsx)(t.p,{children:"A few third-party hosting/development services also has first-class integration with a Docusaurus setup:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://github.com/vercel/vercel/tree/main/examples/docusaurus",children:"Vercel deployment"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://codesandbox.io/s/docusaurus-template-x3vg9",children:"CodeSandbox"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://render.com/docs/deploy-docusaurus",children:"Render"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"looking-ahead",children:"Looking Ahead"}),"\n",(0,n.jsxs)(t.p,{children:["D2 has gained some traction among the ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/showcase",children:"developer community"}),". In 2020, we want to achieve full feature parity with D1 by the first half and help the remaining Facebook projects on D1 move to D2. It would also be great if we could use Docusaurus for internal documentation, but that is a non-trivial undertaking. If you have a need for it or have some ideas, come speak with us!"]}),"\n",(0,n.jsxs)(t.p,{children:["Huge thanks to the community for their contributions, especially the core team - ",(0,n.jsx)(t.a,{href:"https://github.com/endiliey",children:"Endilie Yacop Sucipto"}),", ",(0,n.jsx)(t.a,{href:"https://github.com/lex111",children:"Alexey Pyltsyn"}),", ",(0,n.jsx)(t.a,{href:"https://github.com/wgao19",children:"Wei Gao"}),". Lastly, thank you ",(0,n.jsx)(t.a,{href:"https://github.com/JoelMarcey",children:"Joel Marcey"})," for starting Docusaurus and supporting the project all this time."]}),"\n",(0,n.jsx)(t.p,{children:"Cheers to a great 2020! \uD83C\uDF89"})]})}function h(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},80980:function(e,t,r){r.d(t,{Z:()=>o,a:()=>i});var s=r(67294);let n={},a=s.createContext(n);function i(e){let t=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(a.Provider,{value:t},e.children)}},64172:function(e){e.exports=JSON.parse('{"permalink":"/blog/2019/12/30/docusaurus-2019-recap","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2019/12-30-docusaurus-2019-recap.mdx","source":"@site/blog/2019/12-30-docusaurus-2019-recap.mdx","title":"Docusaurus 2019 Recap","description":"2019 was a great year for Docusaurus - we\'ve made tremendous progress on Docusaurus 2. Current Docusaurus 1 users who aren\'t using the translations feature can feel free to check it out and migrate to it! Otherwise we will work with you to make that happen in 2020 :)","date":"2019-12-30T00:00:00.000Z","tags":[{"inline":false,"label":"Recap","permalink":"/blog/tags/recap","description":"Blog posts about Docusaurus\' year recaps"}],"readingTime":2.72,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"title":"Docusaurus 2019 Recap","authors":"yangshun","tags":["recap"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Tribute to Endi","permalink":"/blog/2020/01/07/tribute-to-endi"},"nextItem":{"title":"Happy 1st Birthday Slash!","permalink":"/blog/2018/12/14/Happy-First-Birthday-Slash"}}')}}]); \ No newline at end of file diff --git a/assets/js/7dd3b2a7.bfa13454.js b/assets/js/7dd3b2a7.bfa13454.js new file mode 100644 index 0000000000..e4e517d8f4 --- /dev/null +++ b/assets/js/7dd3b2a7.bfa13454.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["50937"],{60056:function(e){e.exports=JSON.parse('{"metadata":{"permalink":"/blog/page/5","page":5,"postsPerPage":5,"totalPages":6,"totalCount":26,"previousPage":"/blog/page/4","nextPage":"/blog/page/6","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/7dfb83d7.8cf60906.js b/assets/js/7dfb83d7.8cf60906.js new file mode 100644 index 0000000000..1d49422c5d --- /dev/null +++ b/assets/js/7dfb83d7.8cf60906.js @@ -0,0 +1,4 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["35211"],{26042:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/30-days-swa.5998a43.640.png 640w",images:[{path:s.p+"assets/ideal-img/30-days-swa.5998a43.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/30-days-swa.5998a43.640.png",toString:function(){return s.p+"assets/ideal-img/30-days-swa.5998a43.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AJJ9urKn0LOp0L6x1sK018K22r+y2bapz7SnzpmEwABXMpqppNWOoLOlpqqroq2foJ2gno+WkZuln6tZNJwAYkCjwry5q6Wuurm5t7q5t7mzuLq0try/s7e/ZEGiAGE+oaWsuJ6snrOzt6qjn760tLm0prCylKaftWA9owBjQKOfoamQlpSioqadm5qsp6ihoZ+lop+oo6xgPaCXaF8R+XYXQgAAAABJRU5ErkJggg=="}},75558:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/404lab-wiki.a798790.640.png 640w",images:[{path:s.p+"assets/ideal-img/404lab-wiki.a798790.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/404lab-wiki.a798790.640.png",toString:function(){return s.p+"assets/ideal-img/404lab-wiki.a798790.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAZUlEQVR4nEXMuQ6AMAwD0P7/NyIGBAOHOKqmUUPqoJbLQwY/xW46DhEZ5zEwKVRUMywDSSQyuSSCjLZr+mkIKaxE6VQAsBJXr23bHojMrEDN3T/MMXrvI3MZe+3nbll25vL9SeULDmSSUsuYCEgAAAAASUVORK5CYII="}},14619:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/SeaORM.3689cfe.640.png 640w",images:[{path:s.p+"assets/ideal-img/SeaORM.3689cfe.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/SeaORM.3689cfe.640.png",toString:function(){return s.p+"assets/ideal-img/SeaORM.3689cfe.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAh0lEQVR4nDXJsQ6CMBAAUP7/h9wdWByMUROitkQIBSlWmgptr3c948BbXxFiRCIijpiZGZEoZ4Dk/RpCLJhZWVRzqjSIdzq26SB9PcLgkJn/Lfoo+9gZrNQK010qu38Es249zFje/EUlvVA72d3VlQ10dmvzhbMwJ/ERL/eclmZ0tXaLT8z8Axa7jPh5FJNyAAAAAElFTkSuQmCC"}},86220:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/SeaQL-blog.87b75ae.640.png 640w",images:[{path:s.p+"assets/ideal-img/SeaQL-blog.87b75ae.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/SeaQL-blog.87b75ae.640.png",toString:function(){return s.p+"assets/ideal-img/SeaQL-blog.87b75ae.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAc0lEQVR4nDXJ0Q5CIQgAUP//O9tS8hIKehEN2to6ryd1lrWWHQc+LznQT78/EbH3Vl2JmYlIZD4K8jSea9zLbLt7RCRmIWqq+swZSgEoOefWekS4e5IxEFFVa62Ib0Ss18Us/5Yx5jQzgFetV2uNiJjFf75xC487HAnMFgAAAABJRU5ErkJggg=="}},95249:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/Seaography.f559a33.640.png 640w,"+s.p+"assets/ideal-img/Seaography.e83e618.1030.png 1030w",images:[{path:s.p+"assets/ideal-img/Seaography.f559a33.640.png",width:640,height:358},{path:s.p+"assets/ideal-img/Seaography.e83e618.1030.png",width:1030,height:575}],src:s.p+"assets/ideal-img/Seaography.f559a33.640.png",toString:function(){return s.p+"assets/ideal-img/Seaography.f559a33.640.png"},placeholder:void 0,width:640,height:358},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAlklEQVR4nHWNwQqCQBRF5/8/oDZhYorlQoSCdtG6zcQEQQsXbQqiIk1thpl5N9IkIzqbB4fLeawoK2it8Q9jDJRSYK0gau4yrbDYll/uxc9wvntgxovGdcrMEsFYqvOnW471PoNIrzhfMkgp69fW2k+x5ZgTDvdu611ccYHeMMAoSuBOYoTxFP44guMFcP0Q/YEDLjZ4AgqZ4apZ0zC9AAAAAElFTkSuQmCC"}},4012:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/aispeaker.9b3a67d.640.png 640w",images:[{path:s.p+"assets/ideal-img/aispeaker.9b3a67d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/aispeaker.9b3a67d.640.png",toString:function(){return s.p+"assets/ideal-img/aispeaker.9b3a67d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkUlEQVR4nC2LvQrCMBRG+7DpIO4+RjcH+xIaqqBLoYMI4iCUIliFUEwbfzYR2yT3fqJ2POdwgno+rGZCS2EWg1oKk4QmCbUUejm6bsYBMwMolV5v95fmAYBsa1UOJgCBdw5AfijieHI6HwHy3dvdKzAxU38D8J7S6SqNovb5+vJP95mZXefUriyyzFn7H+jWfAASUIQqdjcdvAAAAABJRU5ErkJggg=="}},52141:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/akara-blog.fa4aeef.640.png 640w",images:[{path:s.p+"assets/ideal-img/akara-blog.fa4aeef.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/akara-blog.fa4aeef.640.png",toString:function(){return s.p+"assets/ideal-img/akara-blog.fa4aeef.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAX0lEQVR4nG2NsQmAQBAEbdjUBkzNLMByDIwEMbCA/woeTu68kfdVENxoh1nYKqXEkxBjjAEwO1TVzKoi3B0Y+qZr6xeBj97WaZnHH62qgIjKnkvBW7u7iFyXalZ2GYETNUCQLaylku0AAAAASUVORK5CYII="}},38118:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/algolia.1026fe5.640.png 640w",images:[{path:s.p+"assets/ideal-img/algolia.1026fe5.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/algolia.1026fe5.640.png",toString:function(){return s.p+"assets/ideal-img/algolia.1026fe5.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdklEQVR4nC3JSwrCMBAA0Nz/cgruXJZCMbWTpJj5TyJFt++lnAGgqTqzIjIhqSiRANR2YhIJZiey1nBZ8v2xvt5dLnFmT+Zu5uZh5kx6e/oKMSP0Qk9jxJxDlUs5SgXs5WxgpnOOMeLfBaRW2vfPtnU4es786y90R4/XhKi0uAAAAABJRU5ErkJggg=="}},8506:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/apache-apisix.4cfaaa0.640.png 640w",images:[{path:s.p+"assets/ideal-img/apache-apisix.4cfaaa0.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/apache-apisix.4cfaaa0.640.png",toString:function(){return s.p+"assets/ideal-img/apache-apisix.4cfaaa0.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/APXx8fj5+f38/P///+3t7XNzc2xsbG9ubmtsbHBwcQDy8vLs6+vr7e309vbj5eUPDw8AAQEDBQUFAgMaCxMA3t7dtba2zL696tLR5dnZHiEhERISHRUWJBIUJRsfAOvq6srKytDMzOvl5eTh4RwdHSENECcRGRMQERgaGQDd3t/Y2dr3+Pj5+/vk5OQvGyMdDREVExMREREaGRnOS05Xz/H5LAAAAABJRU5ErkJggg=="}},79920:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/apexfp.30f2810.640.png 640w",images:[{path:s.p+"assets/ideal-img/apexfp.30f2810.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/apexfp.30f2810.640.png",toString:function(){return s.p+"assets/ideal-img/apexfp.30f2810.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAYElEQVR4nFXNyw6DMBBDUf7/P1ERRLxUMpnYE6MCEqqX9yzcFa+ScvF+GAlIak0gJZHodM0cn2muFWAwWrS4+8MRMS/rtn8P82x+x5dJLut2ZCvuXn93fwwgpWRml758AnP0ku4/FK7uAAAAAElFTkSuQmCC"}},19806:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/astronomer.518c296.640.png 640w",images:[{path:s.p+"assets/ideal-img/astronomer.518c296.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/astronomer.518c296.640.png",toString:function(){return s.p+"assets/ideal-img/astronomer.518c296.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAh0lEQVR4nC2LSwrCMBRFs/8NtLYFRVoriE7cgQMHTl1D6iAkxOb/kpcIjWdy4XAPGafzdLoM/bFtDl07Dru5b+Z9d73fHq/nm2DOuWSllPc+pRgjAISEqWwQay1AZIxRumx8KF2k/CJmxEzqSwixrir44Lx3zgHAv67DOZdSaq2NMYhYZSnlB6eLh4Zn64CYAAAAAElFTkSuQmCC"}},61883:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/aventus.2558333.640.png 640w",images:[{path:s.p+"assets/ideal-img/aventus.2558333.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/aventus.2558333.640.png",toString:function(){return s.p+"assets/ideal-img/aventus.2558333.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdUlEQVR4nGPoj/s1MeHv5KT/U5L/zy38P7cAxJiU+K8/7veE+D8MCeL/48X+x4v/jxP9X2Lxu9Tyd5woiAtCYv8Z3jz5B0GvH/97/+Lf+xd/3zz+Dxdk+I8XMJRUNFXWtpdWNpdVtVTUtEG4JRXNJRVNJRVNAMY1av3PMvK7AAAAAElFTkSuQmCC"}},79866:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/awe-framework.ebbe093.640.png 640w",images:[{path:s.p+"assets/ideal-img/awe-framework.ebbe093.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/awe-framework.ebbe093.640.png",toString:function(){return s.p+"assets/ideal-img/awe-framework.ebbe093.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAk0lEQVR4nBXISQ7CIBQAUG7B1CZSopRfPoEO1A426U7j0EO4cutKb298y0cgJhfatKx2mmMa/TBBWmBcXd2V2BCIPcTj6bbVj61/PYfLFZd7dd7+Xw9EG9TG76sIIZlxVlXQJRbaauO1QUKZkDJ/fz8hNhbQx4ZyeTCWMsG4JIwLIbO27XaqsM6BQ6UKh15mOWX8BxQzG2V0MFGSAAAAAElFTkSuQmCC"}},98053:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/bandwidth.3bba8de.640.png 640w",images:[{path:s.p+"assets/ideal-img/bandwidth.3bba8de.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/bandwidth.3bba8de.640.png",toString:function(){return s.p+"assets/ideal-img/bandwidth.3bba8de.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAnUlEQVR4nBXCTQqCQBgA0LlH2cKb1OVCkXR0H0GdopVRGQotOoFQq0wdnHF+nemLHg8FVx5dhvBEkoJmlfgvOS5FdCZB3iMvbhcpmcedn/WrXbPcfnzczzath4mXdAiXYn1s4oKFOTvcx/2DBTeaFgznDa4kAoCuflqjhhfXxEhQraGgJbxrAECTc6MQk3WUcSGV1kZJbawdRj657w87a3f5ix4UDAAAAABJRU5ErkJggg=="}},43660:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/blogasaurus.131d869.640.png 640w",images:[{path:s.p+"assets/ideal-img/blogasaurus.131d869.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/blogasaurus.131d869.640.png",toString:function(){return s.p+"assets/ideal-img/blogasaurus.131d869.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAfUlEQVR4nC3JbQ7CIAwAUA5hZLTA1pXyUUDnlt3/asbE9/eZ477G+eaSt8QkTDmRpDEnsfi4G9XOLEQrvRh0tYx2x8fTWuscgDk+p455NL2vs41Ri5bScq4O0AGaPiYniRvV3lsfVZWTsMi/0Qfn0MfogrcAi8cFwAZY8NdfdoUUMaFkHg4AAAAASUVORK5CYII="}},59881:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/blogmatheusbrunelli.25df20d.640.png 640w",images:[{path:s.p+"assets/ideal-img/blogmatheusbrunelli.25df20d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/blogmatheusbrunelli.25df20d.640.png",toString:function(){return s.p+"assets/ideal-img/blogmatheusbrunelli.25df20d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdElEQVR4nEXJuw7CMAxG4b47Kysjr8DelQdBXMpQIWq3jRLnT2yjiNsZz9fVqgBKKUsIE/GcJOs7Syl27g5AMvh2Hq4n6g+026Thou5m2tjd3D3zRM/Heuxpv83jvV39cGtZA/McAP0eM/tzilFEClCBH78ACZePP/J+pM8AAAAASUVORK5CYII="}},96864:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/botonic.490cc23.640.png 640w",images:[{path:s.p+"assets/ideal-img/botonic.490cc23.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/botonic.490cc23.640.png",toString:function(){return s.p+"assets/ideal-img/botonic.490cc23.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAf0lEQVR4nB3J6w6CMAwG0L3/+xkTEcmUi1NBHcyta7/W6Pl7nAAQm9Yu1VfehIkF6u8pF6lVHbOUlTaK7dk3p/Hoh67vl/iBGrM6M10rlo38+DgMobmGdgpU6FluDHZQrYLCIsy7y3vfx1pqipmQBfg1VNXUzObEc2Iz0z+ofgExuo90at3YOAAAAABJRU5ErkJggg=="}},82372:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/boxyhq.47f65c6.640.png 640w",images:[{path:s.p+"assets/ideal-img/boxyhq.47f65c6.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/boxyhq.47f65c6.640.png",toString:function(){return s.p+"assets/ideal-img/boxyhq.47f65c6.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AIPXxIvfzI3fzZXh0JHgz5DgzpXh0I3fzYrey4fbyAAMvJYMu5UUvZgbwJw1xKU0xKUav5sUvpkNu5UMu5UAqefZqefapeXYqOjaquLXqePXqOjaoePVqOfaqefZAP/////+//n19/////Ls7/Dr7v/+//ft8f37/P///wD8/v77/f3w9PP7/f3y9fTz9fX5+/vq7+36/Pz8/v5/k3bYtUNKVgAAAABJRU5ErkJggg=="}},90368:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/brainboard.dc2f0ef.640.png 640w",images:[{path:s.p+"assets/ideal-img/brainboard.dc2f0ef.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/brainboard.dc2f0ef.640.png",toString:function(){return s.p+"assets/ideal-img/brainboard.dc2f0ef.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjklEQVR4nFXJMQrCMBQA0L/kwApCXXMGB1MRgw6CglihreBW0KEXcBa8gMlPtPlNvqiTb32gZ4fVvFyoIp/s9bTeLJti3dbb62l3a8o7UKAUUwgdoici/gfmYbvX54yxIaSqOg4Ho8u5ZWaiHqxBIuo7b41l5iwbA4DK1bcJnPMxxic6RMfMUkohhNb612+dA3wFkrSSBgAAAABJRU5ErkJggg=="}},23367:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/bruce-wiki.7c81c24.640.png 640w",images:[{path:s.p+"assets/ideal-img/bruce-wiki.7c81c24.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/bruce-wiki.7c81c24.640.png",toString:function(){return s.p+"assets/ideal-img/bruce-wiki.7c81c24.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AF68zGC/z2C/z1++zmC/z1+/z16+zmC/z16+z128zQCk1syd0suf1c+k3dWZu7ievbiq3dSg1c6r1sqr1soApMCu2+XDu7qcmZyDm5qDqZ+DqKGAt72hpM+/UJ6iABlmdkisslKQhj5sZnWRjISbiEZzYymGjBKRpwNccQAUVmYPaIMHg5UykZyCv8OT0cdOrrUEepERaHwVVWb7llbYGuJzSwAAAABJRU5ErkJggg=="}},82104:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/build-tracker.a2c891b.640.png 640w",images:[{path:s.p+"assets/ideal-img/build-tracker.a2c891b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/build-tracker.a2c891b.640.png",toString:function(){return s.p+"assets/ideal-img/build-tracker.a2c891b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AG6CpHWHp4GOrH+SsX+SsICSsIGTsXeKqnGFpnSHqAAAF1kKJ2QYKWIaO3MdPXMcPXMgNmwEHVwAGFkBGVoAhZazgJOyf5S0hpe0hpa0g5WzhJKviYuphpm1hJWyAP///+7u8s7X4f///9jV29ve5f///rO0wfH2+P///wD7+/zn5+jg4uXs7e/e4OLq7O7v8PHJ1Nzs7vH+/v7k0V/4SEtmTgAAAABJRU5ErkJggg=="}},27652:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/chaos-mesh.ce27e61.640.png 640w",images:[{path:s.p+"assets/ideal-img/chaos-mesh.ce27e61.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/chaos-mesh.ce27e61.640.png",toString:function(){return s.p+"assets/ideal-img/chaos-mesh.ce27e61.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAbElEQVR4nE2J2wqAIBQE+/+Pq8gKMrF6jDBCu6knN7oQDfuyM5Fzzt8A8J6IDgBEtO+btTbCTQgBQD9M/TB9F8CbH5ZlNfP8N1fW2tRCyqaruOBcyKathdTavFmpMU4ylpeMFdfyMkkzpUYAJwn6jgvQGSKpAAAAAElFTkSuQmCC"}},58214:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/chatkitty.8b63ca4.640.png 640w",images:[{path:s.p+"assets/ideal-img/chatkitty.8b63ca4.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/chatkitty.8b63ca4.640.png",toString:function(){return s.p+"assets/ideal-img/chatkitty.8b63ca4.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhklEQVR4nCXMwQrCMAwA0P6DqEvSJq3b0IGwpe3chO2giHjTm///JyK9vsMzx8OVQV010K5n0EBJMAaba74IqWFQT2mdP8/7t2uXLqSGR4bIoILRCEbBuIyPOb2Cyye/Tue3q4biRlAF9ZbHViLt+/9MuaCgGgAH4DZbSyTeNyK1tb4ggPsBHG4WSipgkaAAAAAASUVORK5CYII="}},73934:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/claritychallenge.a97961e.640.png 640w",images:[{path:s.p+"assets/ideal-img/claritychallenge.a97961e.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/claritychallenge.a97961e.640.png",toString:function(){return s.p+"assets/ideal-img/claritychallenge.a97961e.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AMFqm8V5oMl/pc2Cqcx9psx+ps2BqM2Dqsh9pMBwlwCRAD+VBUibC1KeD1eiHmKiHGGdDlWdDlaWBUmRAEAAoRNcoRRdoxVenxBasUqAs0uBoBFaohVeoRNcoRVdAPvx9uvf5ebZ4P30+O7e5+jP3frx9uzf5vPo7vnw9QD////y7/Dr5ej////z9PTh3OH////h3eL5+fn///+zzmBGhqwElgAAAABJRU5ErkJggg=="}},58169:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/clutch.5ea7b21.640.png 640w",images:[{path:s.p+"assets/ideal-img/clutch.5ea7b21.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/clutch.5ea7b21.640.png",toString:function(){return s.p+"assets/ideal-img/clutch.5ea7b21.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiElEQVR4nD3NsQ6CMBRG4T6+T8Ho6urk5MAqDAwmSICAkIYGW0pv7b2/iQPnAb6jbEwsOBJAhJkTEcUY1Urf5+oaG3pHsw8sYihlZVtoB0B1drvU/bUp7321bDuAvFtOj3b6k6paXVaP51d+excAWJBYjp8a7G58NJ615+6zDzaMLkwuzBtpTz/CXox2GZf7XgAAAABJRU5ErkJggg=="}},97853:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/componentkit.e9c410d.640.png 640w",images:[{path:s.p+"assets/ideal-img/componentkit.e9c410d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/componentkit.e9c410d.640.png",toString:function(){return s.p+"assets/ideal-img/componentkit.e9c410d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AAyouwKluQSluQWluQGkuACitgiluAiktwmhswGgtAAAo7gDpbkwtMQ8uMcUqr0/vcy77vM4vcwAorYEproAAKS4BaW5PLbFJa/ACae6HKW6VbrMF6K4AJ+0AaC1AACitgSluTGzwxarvQypvA6jtxSXriiqvTq6yUe9zACu4ui75+zC6e7U7/Pk9vft9/ny+/v5///9/v7///88yVgo3rJ8cAAAAABJRU5ErkJggg=="}},47184:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/configcat.b032f10.640.png 640w",images:[{path:s.p+"assets/ideal-img/configcat.b032f10.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/configcat.b032f10.640.png",toString:function(){return s.p+"assets/ideal-img/configcat.b032f10.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAtElEQVR4nB2KQUrDQBhG50qdEFe68xAeoY3grojtQixdSabxGDYpiMlCF4WeoEfoAVyEts78k4mCTyaLB4/vfcq+3eOaObaeYes5fvvMzy4nfDzRfz7imhnf7w8oMQli9IBfpdjikvPL1eCSa7xJ8EajnEmRyOqCUIzYL244LK8JhR622OJHdZtbfJXh1hlSjvmqprSvd/hygisnxB5RAH0nyLkliOO3s3h7pA8esaeYgT/+AS2wmwPoNsIUAAAAAElFTkSuQmCC"}},64788:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/console-table.e6c02bc.640.png 640w",images:[{path:s.p+"assets/ideal-img/console-table.e6c02bc.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/console-table.e6c02bc.640.png",toString:function(){return s.p+"assets/ideal-img/console-table.e6c02bc.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAo0lEQVR4nGMwNbc2NLNW1jJS0TFV1zXRMzQ2MDbVNTBR0zU0MrNmMLKw8w+N9QzPcglMNvVMs/dLcQ1J8/PwSw2NtbDyYNAyMNM1MjM2s7B29LRy9tE0slPTtzAyt4uMiDW1smeQU1BU0jJR1LWVlVdUUtVUUtWQV1SUVVQWk1GQlVdiEBUVUta11rcP52RjzC1rzSqp52Bn0jAN0DcPFRUVBgAu2x/4xQ2d/AAAAABJRU5ErkJggg=="}},69028:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/countrystatecity.17c80b9.640.png 640w",images:[{path:s.p+"assets/ideal-img/countrystatecity.17c80b9.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/countrystatecity.17c80b9.640.png",toString:function(){return s.p+"assets/ideal-img/countrystatecity.17c80b9.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjElEQVR4nCXIwQqCQBAA0P2MyJ0ZcWcmCKLNU5BQrFGQh8rQXSyN/v8nOgjv9Ez8ntNUxzF079AP1aOv2nRMU4hjPfxqY5EtMpBkCyzv7br5wBKBFJAB2bDqzHt/ul1Dc/F+N4+s1DjRgoVVkdzzte/iAcg5ESfKosYCijpAopy25YbyAil3LJkFQPoD5M0cZmIhyBwAAAAASUVORK5CYII="}},14980:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/create-react-app.fef9db2.640.png 640w",images:[{path:s.p+"assets/ideal-img/create-react-app.fef9db2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/create-react-app.fef9db2.640.png",toString:function(){return s.p+"assets/ideal-img/create-react-app.fef9db2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkElEQVR4nGMorGisqG0DoZrWkqbOkubOiprW8pq2ovKGoopGBgUNc3kNczkNcyUNcx0HLx1HbyUNCzl1MwVNCwUNc4bgyNTgyNSgyNTw2MzopNyY5LzwmIyQqDSIOMPPnz9//Pjx/MWLt2/fPX7y5PnLly9evHz37t1PMGD4BwY/fvwAqfv+/devX1/BACIOAHFyWFgWAVQqAAAAAElFTkSuQmCC"}},10829:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/daily-digest-covid-19-in-france.c4b02fa.640.png 640w",images:[{path:s.p+"assets/ideal-img/daily-digest-covid-19-in-france.c4b02fa.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/daily-digest-covid-19-in-france.c4b02fa.640.png",toString:function(){return s.p+"assets/ideal-img/daily-digest-covid-19-in-france.c4b02fa.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlUlEQVR4nAXBsQ3CMBAAQA+BBLH9jpJ/v533mwYaUARBSDRIMAINQ9BR0rMBS7ELHXdGSh0GUa2qWkplQtkc15cbpywiBpG0LsfdtB33u+lA4E+P9+v7o6yEaGLkyAmTIMa+p9bb1fV+fn5SFiIy3gMAtKENIcggUjTYRTufeee9B9M0DQB0XRdjZGaRgoicsnPOWvsH4iAarhI3jcAAAAAASUVORK5CYII="}},91493:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/dart-code-metrics.743ae99.640.png 640w",images:[{path:s.p+"assets/ideal-img/dart-code-metrics.743ae99.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/dart-code-metrics.743ae99.640.png",toString:function(){return s.p+"assets/ideal-img/dart-code-metrics.743ae99.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAeklEQVR4nD2LQQ7CMAwE80k+yUv4AKi9cECAaNW0diDEdmIblSL2MtKOJrxJTLW5dzMXqfmVphiJmKgQczBfl1h3+/5wgdP5PgPU1r63hw3mnqshtQGKbcVfi9qY2d2folnWrkPOoj+NmG6PUWqdFowLaGvH6xAB3f0Db7GPyhYGIDoAAAAASUVORK5CYII="}},87022:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/datagit.66c812e.640.png 640w",images:[{path:s.p+"assets/ideal-img/datagit.66c812e.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/datagit.66c812e.640.png",toString:function(){return s.p+"assets/ideal-img/datagit.66c812e.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAeUlEQVR4nDXMMQ7CMBBEUd//GBTcInU6Cgq6KCINJBIgGwc7uzs7yKBM+0cvSKmqyn1wGqigKPKnhjRcl9t9r+5OMeaij1dWMNRS53khGVPZBL8L14q0mhiDu4tojPFw7Lt+aj5cwc0aE/7oOE6X0/n9jC0bAChcjF/8yJBsh81NpgAAAABJRU5ErkJggg=="}},74596:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/devspace.2172f32.640.png 640w",images:[{path:s.p+"assets/ideal-img/devspace.2172f32.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/devspace.2172f32.640.png",toString:function(){return s.p+"assets/ideal-img/devspace.2172f32.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhElEQVR4nB3KOxLCIBRGYZbuilyApZWdY2UKY5PHCBPITMLlAhf4neRrz1GLj8QST6UUAFJBLCklkaKM0ZKTtfbddcM48jHVLLWUCkBN00xEFMJiLXPIMUTmWo/WGpRzTnLedv/Txq2+NzS4nWLCSVFgAPevvtxe16d+9NtnND5EAGtuf2dJjdW4cXLiAAAAAElFTkSuQmCC"}},95502:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/difranca-technotes.d372d00.640.png 640w",images:[{path:s.p+"assets/ideal-img/difranca-technotes.d372d00.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/difranca-technotes.d372d00.640.png",toString:function(){return s.p+"assets/ideal-img/difranca-technotes.d372d00.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcElEQVR4nD2NQQrDMAwE/f8PtofeGjDELXVNLMleeVVIoHPYy8BO+nzbmNPG6CJrrTghaWPAVzKziKi1PrettebuAEjOc5NId3dVU1E4zExEVfW6SQAiopT99rjnnAEs8l9JJCPi6Ed5v7p0AH5y6R8UFZGiVTmIKQAAAABJRU5ErkJggg=="}},70852:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/digitalsupportservices.8bec178.640.png 640w",images:[{path:s.p+"assets/ideal-img/digitalsupportservices.8bec178.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/digitalsupportservices.8bec178.640.png",toString:function(){return s.p+"assets/ideal-img/digitalsupportservices.8bec178.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAeElEQVR4nCWLUQ6DIBAFuf+Reoymqab1S0QRbIIUtpC4+xrCfM6bp7Qt85q1pcVmsye9nYtNm6/zmoyrSkQAhBDGcXi+7TB9XpOLkQAIoEQggou5FjqOunumwsxNikD1CsDD8O1O1ofya9dOmzuR2K1n/WZh7oaI/sAcjvdXxSrRAAAAAElFTkSuQmCC"}},99747:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/discordresources.139806f.640.png 640w",images:[{path:s.p+"assets/ideal-img/discordresources.139806f.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/discordresources.139806f.640.png",toString:function(){return s.p+"assets/ideal-img/discordresources.139806f.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAe0lEQVR4nE3M0Q7CIAxAUf7/E32YW6ILCpRBt9Kugxp98r6e5LoKqKoxpmm6e+9DCNQaM2OtquqoNTMDgHleakXaSUTGGDlvzOJKQRHBnTKUgrhG33s3G0Skejk62qWatuP1TrHALS32l2MRM8sZno+1MY9u53n+Bl/+ACbNj4O+AYdmAAAAAElFTkSuQmCC"}},83966:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/divine-wsf.1383446.640.png 640w",images:[{path:s.p+"assets/ideal-img/divine-wsf.1383446.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/divine-wsf.1383446.640.png",toString:function(){return s.p+"assets/ideal-img/divine-wsf.1383446.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AKFCoaRGpKdKp69ar7JhsrFfsbBbsKhLqKRFpKNHowCPFI+OFI6OFI6RGZCdOJ2dOZ6RGpCNFI2OFI6PGI8A+/b79fD15+Pn7+rw7unu5+Ln6+bs7Ojt9vL2+vX6AP////39/fT29fz9/Pz9/PHz8fb39vz9/P7+/v///wDY2tzT1dfJy87MztHKy87P0NPQ0tXLzc/T1djY2tyA0G7Qecg2TgAAAABJRU5ErkJggg=="}},24996:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/djamaile.ce89e41.640.png 640w",images:[{path:s.p+"assets/ideal-img/djamaile.ce89e41.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/djamaile.ce89e41.640.png",toString:function(){return s.p+"assets/ideal-img/djamaile.ce89e41.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhklEQVR4nB3JQQ6CQAxG4bmCumEAgWn/ls4A8QLEsBNjUIOHMeH0Bpfvey5dBouJIG1MaqYW1SKJsEjXD44AggQWaW15vtf1AzXCvgnioArV2PVQfSyv23yHaPonVF0gDsQMOTeNL8s60C68YyB2mfe+yA/H0zhN320bx2vdhKqq86LIvP8BaxIYMU/N1kwAAAAASUVORK5CYII="}},66742:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/docs-taro-zone.4128894.640.png 640w",images:[{path:s.p+"assets/ideal-img/docs-taro-zone.4128894.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/docs-taro-zone.4128894.640.png",toString:function(){return s.p+"assets/ideal-img/docs-taro-zone.4128894.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAgklEQVR4nC2LQQ6CMBQFe/8tYQMBuQAX0SOYuCFQCS20qbT42/5nVGY5kxHNZayqoSjuZfmo62fTyK6TbSv7frjetHiTB9jaxXsFHAABGeDMEYB47SFGnuQyTfM4zkptWhtj3O6PnFngx7pqszlrKQQiopQSM3/vf1bKOBdSQj79yQe/6InQXKKZ0AAAAABJRU5ErkJggg=="}},97121:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/draftjs.fa1fa2c.640.png 640w",images:[{path:s.p+"assets/ideal-img/draftjs.fa1fa2c.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/draftjs.fa1fa2c.640.png",toString:function(){return s.p+"assets/ideal-img/draftjs.fa1fa2c.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAnElEQVR4nGO4dejQ3WPH7x49evvIkRsHDt49fvzR+fOPzp27dfjIjUOHGWpVVOvUNSb7+Tfp6NYoKe+fOu3JlStH580HiauqMZxZtfrM6jWn1q0/sXz50UWLL23bdmnnrotbt4LEV61m+A8G33/9+v3v34+/f3//+/f1589ff/5AxBn+/vnzF8z5+ePH1y9ffv/69e/v3////kHEAQKWdRVmI1a2AAAAAElFTkSuQmCC"}},63427:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/drayman.2a10050.640.png 640w",images:[{path:s.p+"assets/ideal-img/drayman.2a10050.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/drayman.2a10050.640.png",toString:function(){return s.p+"assets/ideal-img/drayman.2a10050.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVR4nGPo85fs8hbt8BTu8BRuchVqdhOCsLt9RCcGyzH8LwajEobfxYwPM5mfZbP+LWX6X8bwv4zhRyETw4ts5ufZzM8zGO43Gl/rD7nY5XerUuteHMOdBMZbiUwMIYbiNpoyjjqS1lrSLmba6xdOPbJpyeF1c45sWnxsSRuDjryYiISiuJQsr4Cwlo7+16/f/v///+/v3////397chUAEwpCdj508LwAAAAASUVORK5CYII="}},71055:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/dyte.e38fb86.640.png 640w",images:[{path:s.p+"assets/ideal-img/dyte.e38fb86.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/dyte.e38fb86.640.png",toString:function(){return s.p+"assets/ideal-img/dyte.e38fb86.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkUlEQVR4nFXJuw3CMBAAUK/JAFmAAUCMkBWoUiBRQkuNRAESVYQA8VESJXGIzr7z2XcUVLz2mdYGj6lqbNsNAxC4GB2zH5vOn69qwGESXW+P2TRfFIdsdiqXO1jNyVlRMUSkqv2mKPPJ+3m5V4zdJ/UvkZhEDSKKCNcPuu0jjfrPAACHUPWDdSEE8q5GRGb+9ReWvIkUwVyTbwAAAABJRU5ErkJggg=="}},79339:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/easy-dates.0e365a3.640.png 640w",images:[{path:s.p+"assets/ideal-img/easy-dates.0e365a3.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/easy-dates.0e365a3.640.png",toString:function(){return s.p+"assets/ideal-img/easy-dates.0e365a3.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAfUlEQVR4nCXGSw6DIBAAUC5hAQXmUxhlwLZxTVyZ3v9ITWPyFs9UbUgcYgopxQQJ8IbEzNlsVcc4xziv69v31zRZ52fr/M0Akh7vfnxkb1DyjOCW8LDOOu/8bJB5VY2IASCL/A+QixSRJURD/Fy3CkiIrK3LuhFx1aatA9IPSPMUtYP2m/0AAAAASUVORK5CYII="}},2148:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/easypanel.8a82942.640.png 640w",images:[{path:s.p+"assets/ideal-img/easypanel.8a82942.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/easypanel.8a82942.640.png",toString:function(){return s.p+"assets/ideal-img/easypanel.8a82942.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkUlEQVR4nDXM2wqCQBCA4RlPO7OaJ9jVwFatDYouyowIL5Iy6Cbo/d8mIvr5rn+gKPQDHx0HEeEfInqeRywhzfPGrowxWmvHdYvFUs1bpU1ZWQ4TaOpmut2HYciyDADX3eX0eB+nV3d+5rqCoC7ivQ2Jf09Vtrt+3PTj9nCNUwViFokkFkSB+BLMxJJIEktB/AFyMwwqZ909jAAAAABJRU5ErkJggg=="}},12941:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/eightshift-docs.f62c92a.640.png 640w",images:[{path:s.p+"assets/ideal-img/eightshift-docs.f62c92a.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/eightshift-docs.f62c92a.640.png",toString:function(){return s.p+"assets/ideal-img/eightshift-docs.f62c92a.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AOXm4/Hw7ff28/X08fb18vTz8PHw7fL09e3u9ujl7wD39vPw8O3t7erv7+vs7Onu7ev4+PXz5MHDprWUeuAA+Pf0wsjFoqyqtby6sbi2wMnI5+DL6bFH7rZEqou9APn39L/Fw7G6uMbLysfOxqKfxZ+EdtigRdWhaaKAuwD39vPU19XZ29n39fP09O3g2O+3oNisk9GqlODFuOrSp3qlN7x/IQAAAABJRU5ErkJggg=="}},491:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/enarx.00b80ef.640.png 640w",images:[{path:s.p+"assets/ideal-img/enarx.00b80ef.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/enarx.00b80ef.640.png",toString:function(){return s.p+"assets/ideal-img/enarx.00b80ef.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiElEQVR4nEXIyxKCIBSAYVb4MjVdnqyLgFRgujF9B61nIxfgNuHA6jTjor7VPz8554xxkTO+RMFFIeRFCHk4npiQ5IfSbLXZrbd7SrP/vVe10uVV6ebR9sOzH15N292UVrosq5ogIkBMKSHiZ4GIMUYAQEQCANZaN03ee+uctW6e/XscjTEhhC/VllfZq52DUgAAAABJRU5ErkJggg=="}},53291:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/eta.d4ad230.640.png 640w",images:[{path:s.p+"assets/ideal-img/eta.d4ad230.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/eta.d4ad230.640.png",toString:function(){return s.p+"assets/ideal-img/eta.d4ad230.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAeklEQVR4nDWLUQqDMBAFPVgF8SolHswcoB8t1ANpwJDaYEiysNnXomnnc4Zp+E8p5XPCzESUcypFmqr2PayrJSIRmeeFmas/MoCUUs6ZiOoN4JcBWGu37R1jDCHcHvdR61Hr5zQBOG7rXsYY55z3/qpU1/eXtlXDICJfYdSGF2I5u5kAAAAASUVORK5CYII="}},52755:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/evantay.860ee52.640.png 640w",images:[{path:s.p+"assets/ideal-img/evantay.860ee52.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/evantay.860ee52.640.png",toString:function(){return s.p+"assets/ideal-img/evantay.860ee52.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAZElEQVR4nE2MSRKDMAwE/YV4ZC0WxpBA5eBD/v+7lKAg6WPPVKdpUndnZgB0oRpSRBKBcs5iqlapxAbCTQr1QNla+aw0Oi0mJTgzKe4ZtrR19OfeZ69uxsx/M6DN5/fLejviP74Luw2G4HQTMwAAAABJRU5ErkJggg=="}},43724:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/evershop.8191c3b.640.png 640w",images:[{path:s.p+"assets/ideal-img/evershop.8191c3b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/evershop.8191c3b.640.png",toString:function(){return s.p+"assets/ideal-img/evershop.8191c3b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAc0lEQVR4nE3OUQuCMBTFcb//B5NeFSLSrQiCzQ2v3RXcubaOqEH9Xv8P51QhSM7ls8EmpRTnWSTGmCoAI5Fzzhqrle6VssPgvSciAGsWEQ58vd+O51PX9cYYZhaRbwbwzrnWzeHSTg8Oz1cp69wv7/4f7BYkrI8xJDEldAAAAABJRU5ErkJggg=="}},37085:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/fast.0ae7f4a.640.png 640w",images:[{path:s.p+"assets/ideal-img/fast.0ae7f4a.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/fast.0ae7f4a.640.png",toString:function(){return s.p+"assets/ideal-img/fast.0ae7f4a.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAZUlEQVR4nF3JQQ7EIAhAUe9/zhqTqQQEOxEK2sTu+jZ/8ZNgCw9uzMxzc3dV7cJqlkR6RNRNVccYvpnZWivdt885f+d5HBkAiJpIV9W1pTcAkHMupRARM383ItUKLIKI1/WPiHc/vU6QcL6OT2YAAAAASUVORK5CYII="}},63238:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/fbt.bd0bb42.640.png 640w",images:[{path:s.p+"assets/ideal-img/fbt.bd0bb42.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/fbt.bd0bb42.640.png",toString:function(){return s.p+"assets/ideal-img/fbt.bd0bb42.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AIqkz5Gm0ZCm0ZGn0pCm0ZCl0Y+q042v1oicx4qgzAApUqclT6UyWqpQcbQuV6ooT6YpY7Avg8MsU6opU6cAma7WnbLaobXatcXilKjQlanRkaXNf5S9i57Hma3VAP7+/qCcnn15fJWSlW1oamRgY7m3t8K+vs7Myv///wD6/PyvrrOXlp2jo6h2dHtsa3PZ2tz////6+/v7/f1Wy2AlG2xiFgAAAABJRU5ErkJggg=="}},58226:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/files-gallery.2a1b0a5.640.png 640w",images:[{path:s.p+"assets/ideal-img/files-gallery.2a1b0a5.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/files-gallery.2a1b0a5.640.png",toString:function(){return s.p+"assets/ideal-img/files-gallery.2a1b0a5.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/ACAqLRwjKCQrMCIpLhsjKBwkKRwkKR8mKyMpLyEoLQAdJCoZICcyPUE8R0wpMzosNj0mLzYfJy4dJCocIyoAHicsHicsIjQ0KDM1JzA4Jy40IiswGyctFyIoHiYsACczOCEtMCozOV6BiFNfZENmcWJzfXV3goSEjys2OwAxPkUjLDI2QUavuaacoqmWtsewpp6eiY6VkKAyQUixmibmJLohaQAAAABJRU5ErkJggg=="}},12693:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/firecms.397a0b4.640.png 640w",images:[{path:s.p+"assets/ideal-img/firecms.397a0b4.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/firecms.397a0b4.640.png",toString:function(){return s.p+"assets/ideal-img/firecms.397a0b4.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAm0lEQVR4nBXJywqCQBQAUD+iUMtmnOtcB80npoNpY4ilgS3CNpGu+oT+H6KzPVrIOILj2C7bIdmiixHHCLigh8HNlOYzENRmlh3H8tQMQZAiCouCzOO+O2uyUo/pNbT9Z5ze9wURgbHyWF9U3TWNZpgb8JIwqKbsqeRXCB+AzfMyXttbW/9b13XD3Kyot953DDghJEnTMstVUfwAYfkcZgFrigMAAAAASUVORK5CYII="}},35795:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/firelordjs.6aeb4bb.640.png 640w",images:[{path:s.p+"assets/ideal-img/firelordjs.6aeb4bb.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/firelordjs.6aeb4bb.640.png",toString:function(){return s.p+"assets/ideal-img/firelordjs.6aeb4bb.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAgUlEQVR4nD2MQQ6CMBQFewVMbN/78EkhJcWARYuKspCN9z+TISYmk1nMYgwoPywYQxNDY8F/NA5wIMDCcsRhdEVxBCAOdKCh+qpWUQl93Jbp817iOLBkVauqGt9P05wujzQ/c15veXvd1znldL6m0xD3OaX0vu26uBN2e9+KlNbxC31sE7XR/gzKAAAAAElFTkSuQmCC"}},72286:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/flagsmith.7352c6f.640.png 640w",images:[{path:s.p+"assets/ideal-img/flagsmith.7352c6f.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/flagsmith.7352c6f.640.png",toString:function(){return s.p+"assets/ideal-img/flagsmith.7352c6f.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkUlEQVR4nBXLvQrCMBAA4DyFTXJ3ufw1NqZVrBWhq67F1V1HKRQXER9e/PZPlHJgZ/v+dBzGnHfbbhgOY9vuiW2sk4ipXlXqcp6W+fNavo/7PD/f1+lmndeAwocISMQhNSXnznAg4wGZDAOSiHUyxrIPbp3AWk0ISIBUSVVJJZwPGnBT2qbJbB2Z/0MyUmmp9A92NhiovqK/pQAAAABJRU5ErkJggg=="}},61700:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/flarum.9df1dfc.640.png 640w",images:[{path:s.p+"assets/ideal-img/flarum.9df1dfc.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/flarum.9df1dfc.640.png",toString:function(){return s.p+"assets/ideal-img/flarum.9df1dfc.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAZ0lEQVR4nD3JSw4CIRBFUfa/UEwbozTU9xUFRmN7B3dyit6rmb1aa2cXURG1K2EqzDwzn8etHVXNVIWIA9jfyiDCzKDTHtXM194rYmX+mEUy0wE39DEC0ED8uQ9CBDPDfbp/ftne+w3JApGCYYcDmwAAAABJRU5ErkJggg=="}},22413:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/flatifycss.59a8c4b.640.png 640w",images:[{path:s.p+"assets/ideal-img/flatifycss.59a8c4b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/flatifycss.59a8c4b.640.png",toString:function(){return s.p+"assets/ideal-img/flatifycss.59a8c4b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdklEQVR4nEXKywrDIBCFYd//wfIKaeIiVpDQUhEndCbWuQS7aOFfne846rLVFoDvaI/PKKIF4K026uJENX55eeG0pGlN8/MdgGNtourMDE72mXymeS+3vawZfSY42cwGj0fjdPRYMBZMR4c27M9mJqLEIxH9jRfNp47vYuMe4QAAAABJRU5ErkJggg=="}},54594:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/flexit.2ce7ee4.640.png 640w",images:[{path:s.p+"assets/ideal-img/flexit.2ce7ee4.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/flexit.2ce7ee4.640.png",toString:function(){return s.p+"assets/ideal-img/flexit.2ce7ee4.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AF+542O75Wi/6XLD6WrA6WzB6XDD6ma+6GK75GG65AAAiNUAh9QBidYAkdkhoN0joN0BkNgCitUAh9UAiNUAjs/ujtDui8zpg8blmNPvm9Xwg8vsiM3tj9Dujs/uAP////////Ls5u3m3/3+/v///+X0/Oj2/P////7//wD8///3+/vk7fLs8fX7/f31+fvu8vX3+Pj7/v77/v4WF3OnvggYQAAAAABJRU5ErkJggg=="}},33362:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/flipper.d76f593.640.png 640w",images:[{path:s.p+"assets/ideal-img/flipper.d76f593.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/flipper.d76f593.640.png",toString:function(){return s.p+"assets/ideal-img/flipper.d76f593.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/ABcUJxEPIBIRIhgWJRsVIxsXJhoZKRYUJRYUJTAvPgAVEycWFSkTECMVFywVLU8YIz4VESQQECQVFCgRECQAGRgwExEqYmZ8oaaznKOwoKSvrKuycnKAExIrGhkxACwtRSAhO66uuv////Dw8PT09f///7S1vSMkPCssRADp6uzp6ez19fX4+Pnu7/Dw8PH4+fn19fbo6evp6uzlv0EPQG9EKAAAAABJRU5ErkJggg=="}},20350:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/foal.b78c0b5.640.png 640w",images:[{path:s.p+"assets/ideal-img/foal.b78c0b5.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/foal.b78c0b5.640.png",toString:function(){return s.p+"assets/ideal-img/foal.b78c0b5.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/ADiD3zqG4jiD4DWB3TeC3TWC4DiG5DmE3ziB2zZ91AAzftk0gN1BhtxEiuI7hOFEiN1FiuBBhdozftozguEALX7gK4HpKYLvSorVa5S8OYPdM4XpL4PqLX7gLHvaABJy5yBrxyZksClhpThqoyZksCJgrCNfqBtkvBZ15gCSxP9jeJIrJh8rLC8mKSwhICAjIyMYFQ9VbIeVxf8zf0ab8UHbuQAAAABJRU5ErkJggg=="}},59133:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/formatjs.8b177b4.640.png 640w",images:[{path:s.p+"assets/ideal-img/formatjs.8b177b4.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/formatjs.8b177b4.640.png",toString:function(){return s.p+"assets/ideal-img/formatjs.8b177b4.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AJ2Cq5+Er6GFsKWJtamQuKeOtaGFrp6Bq5d6pJF0nwBeM3ZhNnlmOnxmPH5uRoVsRINeNHdZLnJVKm1PJmkAXjp1XDh1XDd5Xzl4cE6FbU2DYDt1WzdzVjNvUzBsAO/t9Mu5x5tziLCbrNjd6NTS1crBieXe2evm8enk6wD////z8e3g2tDr6ePw8/P39/Xr6eDx7+/+/v////+h+VuOg4yHRAAAAABJRU5ErkJggg=="}},71897:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/froggit.98d3eb5.640.png 640w",images:[{path:s.p+"assets/ideal-img/froggit.98d3eb5.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/froggit.98d3eb5.640.png",toString:function(){return s.p+"assets/ideal-img/froggit.98d3eb5.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AIygTY6iTo+jToyhT42iUI+kUI+lUJClUY6iUI6iUACMoUqLoEmInkeFlkCBkjx5jjt9kj2Fm0GGnUGInkUAmaxforJpo7Vyt7xxvsB4qbiDtMGQw86hytSrz9i0APb59r3T6vX4+f///+rs9fLy9f////3+/vHy+P7+/gD9/f7p7/j7+/3////w8PPy8vL///36+vnv7+/6+/rloGo6SgCNxgAAAABJRU5ErkJggg=="}},25935:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/fullstackchronicles.8555d28.640.png 640w",images:[{path:s.p+"assets/ideal-img/fullstackchronicles.8555d28.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/fullstackchronicles.8555d28.640.png",toString:function(){return s.p+"assets/ideal-img/fullstackchronicles.8555d28.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAnElEQVR4nGPYf/7unjO3dpy4vnDHmRkbT8zecmrZ3gtbjt/Yfeb2xTvPGP7////n9+8/v37++PHj+48ff/7+/Y8EGP79+//t+/cvX78+fPj4xo3b9+49uHPn/tev3//9+//v3z+Q7l+/fv3//7+ltVpbW9bYWFNfX+Xs2dP/////+/cvSPrfP5CBCxZM9PV1DAz0DwjwuXr1CkQaAJDherMppVzIAAAAAElFTkSuQmCC"}},22254:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/geekyweb.1fb2ba5.640.png 640w",images:[{path:s.p+"assets/ideal-img/geekyweb.1fb2ba5.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/geekyweb.1fb2ba5.640.png",toString:function(){return s.p+"assets/ideal-img/geekyweb.1fb2ba5.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjElEQVR4nE3J3QqCMBgAUO+KmLbmfnRi+za1zOYfZJIKRUm9/xtFeNPNuTlOYGoijyTIfJl7PqxcufaiDY4xT3bCODIpcZiehjkfZl5026QiWYNNiRggqhzkK5eBsb3QVkDB4czAkuiAqFp673Gj+5cZP9n0jrtHfH2G1e2/dXq563bU7QTNT5rWS38BaBoTB8P7WgYAAAAASUVORK5CYII="}},96409:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/ghostly.3483a80.640.png 640w",images:[{path:s.p+"assets/ideal-img/ghostly.3483a80.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/ghostly.3483a80.640.png",toString:function(){return s.p+"assets/ideal-img/ghostly.3483a80.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AFWm4Vmo4Vup4lys5Wmx5mix5lyr5V+t5lqp4lim4QAulN4vlN4okd4tk940lt40lt4tk94okd0vlN8ulN4A9vr99/v+grrj2+z4rdDprNDr3ez3iL3l9vr+9vr9AP////z7+trk6/T29+Tp7OXr7/Dx8tjh6P38/P///wB7gImBho6GiZCBhYx8gIh/gop8gIiBhIt5fod8gYpXZ2mEOb0SXwAAAABJRU5ErkJggg=="}},32797:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/gladys-assistant.3a2f16d.640.png 640w",images:[{path:s.p+"assets/ideal-img/gladys-assistant.3a2f16d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/gladys-assistant.3a2f16d.640.png",toString:function(){return s.p+"assets/ideal-img/gladys-assistant.3a2f16d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmUlEQVR4nCXHTQqCQBQA4DlJOfPe/Dx1DEN0obapRce0iKBF1CIQSkIipS6QQdBVjAq+zcdcz9og8G2giQAlIIKUIKUh1/N9FkbJZDZPs1wZGoXjQ3mqznXTtsViCUozHcY2mxpDA4eneV5f78/Xu+/7R9cpQ0wACCFQqSEXUZxsd/vyWF2a22q90UTMAfwS8CdQ8l85IAf8AKgFLblTJLdVAAAAAElFTkSuQmCC"}},13900:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/gotenberg.8438a59.640.png 640w",images:[{path:s.p+"assets/ideal-img/gotenberg.8438a59.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/gotenberg.8438a59.640.png",toString:function(){return s.p+"assets/ideal-img/gotenberg.8438a59.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjElEQVR4nBXLvQ6CMBQG0L7/4DP4s7uYOJg4u2IUE3SDiIgJKe39Ctz2XgxnP8Za2/cuLOCJAKjKME4hDACZlFLzqbPs+iieACLz6XjI7zd4z8xGU3x97TmvyuaXYnREq91+vdm29TuJGOap66ntLHkfmTHypajKskIIyxYRVZnnmZmdcwEQnlRVZfEH4WWLRJKeUTsAAAAASUVORK5CYII="}},19562:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/gtfs-to-html.30b9720.640.png 640w",images:[{path:s.p+"assets/ideal-img/gtfs-to-html.30b9720.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/gtfs-to-html.30b9720.640.png",toString:function(){return s.p+"assets/ideal-img/gtfs-to-html.30b9720.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AHt+hYWJkI6RmYGFjYSHj4yPlo2Ql4qNlIGEjHx/hgAVHSw7OkVRS1QSHCseJDIoLjs0PkkkLDkaITAbIjEAf4KKfoCKfoCJf4KKe3+IfH+Ig4mQgIOLgICIf4KKAP////Py+Pv6/f7+/enp7urp7////+nm6/Xv8////wD6+vrx8fH39/f19fTw8PH29vf09PTh4ePt7u/+/v7HHl5dJLyUEwAAAABJRU5ErkJggg=="}},82448:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/gulp.271084d.640.png 640w",images:[{path:s.p+"assets/ideal-img/gulp.271084d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/gulp.271084d.640.png",toString:function(){return s.p+"assets/ideal-img/gulp.271084d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAgElEQVR4nCXLSw6CMBSF4e5/QwwIVgkJjoxrcFACbQFNrZfb+zDAl5Mz+83a35euW/t+ud7ixfq6nq0NTTO37auqjKrKsRPLDtNXRJjZTOM4ODe4IYbARIy4vT/p8dxSEsS9Ph2ZlJQIAPOPciYAE2P0PkyTBwBVpVJUZH9mKuUPa5WMdSJ760MAAAAASUVORK5CYII="}},24658:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/haochen.9457bda.640.png 640w",images:[{path:s.p+"assets/ideal-img/haochen.9457bda.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/haochen.9457bda.640.png",toString:function(){return s.p+"assets/ideal-img/haochen.9457bda.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAm0lEQVR4nBXNPQrCMBQA4FxTPILOLuomzl6ki+IgOunk6CDYlopgtVr7l6RJkzzynvS7wMeklNRDIvSIjcai9dzQR/gkkwwAjDXWgXIIHmtFVetKYZ4VJAUwzkWe50VZv36NMhDfH5vdMQrTbynCDJjWWnfaWtN1iohuUTwcLwajZbA9vDkxa51xgP2LHul0vgTrzWQ+m67215T+ceSGej9Ua70AAAAASUVORK5CYII="}},81799:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/hasura.c70224c.640.png 640w",images:[{path:s.p+"assets/ideal-img/hasura.c70224c.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/hasura.c70224c.640.png",toString:function(){return s.p+"assets/ideal-img/hasura.c70224c.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAgElEQVR4nCXLSw6DIBQAQO4ggh8Qn/wFBI2JpJsuev87NYb1ZFCoP5Uef31MfmC/ZLxXf47gmM3z+UW6VKbjYoIMRYYibJil6zl0k+hGjnSu3BwEHN08BYcXRVTCXGIGmG9IH+8eVJxsHuROhB5U6hszQMJfTCcKlqz2TXxr0PgPvKcUnnNLJhgAAAAASUVORK5CYII="}},35214:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/hcaptcha.7920b6e.640.png 640w",images:[{path:s.p+"assets/ideal-img/hcaptcha.7920b6e.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/hcaptcha.7920b6e.640.png",toString:function(){return s.p+"assets/ideal-img/hcaptcha.7920b6e.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkElEQVR4nCWOaw7DIAyDOcUKLazh3VJg01rU3f9inmB/YsmJP4cdVwMZCx8icqk4coHzAVI9YZxDLBVhS2ApZ8yLGsv7/qJdDaXUEVxJwzoPLgTY57xA2kCtBAoR0rqh2rpBjduOeZFgfXAxQzuPejak1xup/l/ogH64SAU2cYHHxEdVr973A0QG2thB7H7XH6fmR4tkR8w8AAAAAElFTkSuQmCC"}},12042:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/home-assistant.788cbed.640.png 640w",images:[{path:s.p+"assets/ideal-img/home-assistant.788cbed.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/home-assistant.788cbed.640.png",toString:function(){return s.p+"assets/ideal-img/home-assistant.788cbed.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AE/B9E7A823L9W3L9VXF+GzN+GfL+FbG+FTE9k+/8gABofQAn/Rmyvpix/kAnvMLrPUGqPQAovUAofMAofQAltv5jdX0mNTwl9j1jtf2itPzjNT0hc3tlNj4ldr4AP////39/P769v3+//7///7///79/fn49////////wCus7mssbeorbOssrmus7mutLuvtLqvs7utsrmus7ljBHApmWSp9QAAAABJRU5ErkJggg=="}},969:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/httpin.f5bb102.640.png 640w",images:[{path:s.p+"assets/ideal-img/httpin.f5bb102.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/httpin.f5bb102.640.png",toString:function(){return s.p+"assets/ideal-img/httpin.f5bb102.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAZElEQVR4nE3J0Q7CMAxD0f7/f1IQ2xCsCy2xnSA2kLiSX3xK34zkNM3LcgORexFBAO4F7pl5v8611s1M0sG+/6WPkZGvh7XWDvuvmD0lrW11gORnkiK+7O6SLufT6F0gAcUPM985gJKG85BqQwAAAABJRU5ErkJggg=="}},86836:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/iammassoud.c9bc935.640.png 640w",images:[{path:s.p+"assets/ideal-img/iammassoud.c9bc935.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/iammassoud.c9bc935.640.png",toString:function(){return s.p+"assets/ideal-img/iammassoud.c9bc935.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlElEQVR4nEXOMQrCMBiG4VzIY3gCcXLwGC6ewhN0ls4OLgWrgou4C2pbHJJg09CgbfLn/0RBfC7wvgL8gR8GmJ4cqet7ZhbOOSmlUsp7D6Bpu/vlyPTygSKRMMbciqIsK60UgP06OS/n1jrnmkBRMDMRxRiJAoA8S8fDwWgyTZNZW1/Fv/od0LXNDqfNLt+uFg9dvQFy/odI9AHGBwAAAABJRU5ErkJggg=="}},21469:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/icodex.7bc16f0.640.png 640w",images:[{path:s.p+"assets/ideal-img/icodex.7bc16f0.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/icodex.7bc16f0.640.png",toString:function(){return s.p+"assets/ideal-img/icodex.7bc16f0.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAj0lEQVR4nC3JMQrCQBBG4VzGxkKsFAWFFBaiINjZ2lhY2nhCG48gBA0EEoWMus642WT2l1Vf9eCLKhZbWRZmERZRH2o0JMKR93672w8ms/F0Ec+XyfkCgJmdcwACr9abVrff7o06w/iUJHVTE9GfAZR0z4vr60G3PDPGAFBVfAusPtwxex9Sm5bF09LPAHwAl8qAMCFSXKoAAAAASUVORK5CYII="}},39993:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/idb.f15a346.640.png 640w",images:[{path:s.p+"assets/ideal-img/idb.f15a346.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/idb.f15a346.640.png",toString:function(){return s.p+"assets/ideal-img/idb.f15a346.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiElEQVR4nGP49+/ffxj48+fPn79///35+/nNpz9///748YPh////Hz58uHb95s3bd89euHbh8vUr125fvHgHogEkPWPGDAYGBh5ePk4uLj5+fv/EkhnN/QjpyZMnMzAwsDAzMzAwMLAyLzXyfFrY/fP//////qFKMzIyMTAkWwTPW3/w/3+QmwClKGHB22u0kgAAAABJRU5ErkJggg=="}},17365:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/indent.03ca0e4.640.png 640w",images:[{path:s.p+"assets/ideal-img/indent.03ca0e4.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/indent.03ca0e4.640.png",toString:function(){return s.p+"assets/ideal-img/indent.03ca0e4.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAfklEQVR4nE3Jyw6CMBQFwP7/d7khYaXGKAlIUt6IVkKLbc/tcctsR/WLfZm9Hl3R2ry0V73f+9gbmVZU3Udtnp2Rxkg5oRhx1jGrwqnwWRXyGsp56NnVw1dP23f7kUJSEgMYQRWirNa7dQE8yZQSD9RjwK3FpcFzluYtAcflH1AgjcSZos+RAAAAAElFTkSuQmCC"}},12686:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/intelagent.23a4185.640.png 640w",images:[{path:s.p+"assets/ideal-img/intelagent.23a4185.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/intelagent.23a4185.640.png",toString:function(){return s.p+"assets/ideal-img/intelagent.23a4185.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAe0lEQVR4nDXMSwrCQBBF0ex/N4JjVyDBgR8UdWKkCSJIV6jurt+TGLzTC6cDUKuoKgAza63VX2YGoAOgqiISEfinarU2d+/C/Xa+nA5HIloMEWHmUsq8PWKfhuuYpkzM/MnTc3xLbcw8447Y5ted88I+hrRab/p+R0QAvghnj2LZF3WsAAAAAElFTkSuQmCC"}},98893:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/ionic.2d0c265.640.png 640w",images:[{path:s.p+"assets/ideal-img/ionic.2d0c265.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/ionic.2d0c265.640.png",toString:function(){return s.p+"assets/ideal-img/ionic.2d0c265.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAe0lEQVR4nC3JOw4CMQwFwNz/cEBNg8QiUJJdDPk6dpxHw7Tj6FtsQUTvvlCqy+bCqrWOMdZarrMAENUQvA8xFyb6nM6XbXsAcK0zgGlWWuehOuEjRWopJRF1zAOAmfXOPIZN9ZGeeys5ici/VTWXonOa2Zvy9fY69sPMfotrj8qIqX62AAAAAElFTkSuQmCC"}},44420:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/iota-wiki.e8059ba.640.png 640w",images:[{path:s.p+"assets/ideal-img/iota-wiki.e8059ba.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/iota-wiki.e8059ba.640.png",toString:function(){return s.p+"assets/ideal-img/iota-wiki.e8059ba.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAnklEQVR4nGMQVzAXljMVkjURlDERkgGRfGJ6PMKafBL6YvLmDMKyZmYOoSbWAZIKFoIyZjwiuu4J5WndC0VlTXmkjBgEpI3ltR1lzTzFjN35pYy4RLT9S3sLl+7jlTHWUTBn4JHQ55bQ5zdyEbT24RDUlNG0c8/stkvt03WKkBLVYeAS0QIhAXVOflUBKT1hWWNBOTN+WTMhWWM2QQ0A+FIaOqDgNAEAAAAASUVORK5CYII="}},43456:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/jest.1b37285.640.png 640w",images:[{path:s.p+"assets/ideal-img/jest.1b37285.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/jest.1b37285.640.png",toString:function(){return s.p+"assets/ideal-img/jest.1b37285.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAnElEQVR4nB3LOw6CQBQAwD0EcdnlwfssK+InISGoFDaaGBODx6LRGE9gj52Nx7DQwmtwBKPdNKMgS6wBA9F2vWlP7fFybvaNjIt8VkQASg+M1qEGuHXX/v3sP6/HvTNxEgQDHRqFRAmiOL9aLg5VvSurel6iCCIhkmIWQk4zP5zmbjKizKNnImYWZlHGWET82RELu/9LUwcQWxt9AQyoHu14GcmkAAAAAElFTkSuQmCC"}},56187:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/johnnyreilly.804510e.640.png 640w",images:[{path:s.p+"assets/ideal-img/johnnyreilly.804510e.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/johnnyreilly.804510e.640.png",toString:function(){return s.p+"assets/ideal-img/johnnyreilly.804510e.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAnklEQVR4nC3JvQrCMBRA4byTiOLg6iT0PYSCg7uCi+DmO/gQQjsVNxddBVGk/iRNm9sk2tw2V0QP33bY4ykAQL/cmVfXDAXUtfeIWDlnrGFQlpxzCeaY6pt0FfpvRD/MWKsA8qK4pFxI4Fl+F0oq3XjfeM+wbohof1KdMG6HUX8Sd8fRcJqYNxLRfyeHrLdaDhbrYLYL5tvWaFNoR0Qfn4KBFjnt8+cAAAAASUVORK5CYII="}},72317:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/juffalow.5b729a2.640.png 640w",images:[{path:s.p+"assets/ideal-img/juffalow.5b729a2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/juffalow.5b729a2.640.png",toString:function(){return s.p+"assets/ideal-img/juffalow.5b729a2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVR4nGNQU9PQ0zOQkZUXFZMUl5AGIUkZaRl5OXkFFVVVBikpaVl5BStL45gI72B/Zz9vBy83Mz1dFQkpGQlJSQZpGRlObt6M1PjD2xbN6Cyd21czsS7Zxd5UUFhMSlqaQUpamk9ILMjNtLs8rTg1KcDBJj0kODQ4nE9AQEpahkFSUkpMUkZdlj8lyKs+L8PXVDo3zNrRylhQWExSShoAJuYgkv5pwRoAAAAASUVORK5CYII="}},71219:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/junjie.2d467cb.640.png 640w",images:[{path:s.p+"assets/ideal-img/junjie.2d467cb.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/junjie.2d467cb.640.png",toString:function(){return s.p+"assets/ideal-img/junjie.2d467cb.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AJOem5Sfn5GgoJWjo5OfnpWiopmkpJuoppmio5ujpAAgJCsrNzszSUodNjUfOjohPD0eLjE7cUQoNDAwNDwAJyoxKUREK19bM1tmNkhLKTg7KS81KzY2Jy0xOj9FALe4u7a8vbW+v7O8vqmusaqtsK+ytre3ura4ur2/wQD//////f3z5+Pe49bi7fH46One3+vw7vT////9/v5UNFEkS0NX7gAAAABJRU5ErkJggg=="}},62623:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/kosko.5ef7dee.640.png 640w",images:[{path:s.p+"assets/ideal-img/kosko.5ef7dee.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/kosko.5ef7dee.640.png",toString:function(){return s.p+"assets/ideal-img/kosko.5ef7dee.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAm0lEQVR4nGP49v37l28//v388v/vr+/ff/z48ePf7+///vz89u3b9+8/GT4/u3XzwqFLz1++f/30/oMHr1+//vXp5a8v7//+/ffv3z+G3z++/P356e9/7IDh9Nnzff1TZs+aO3PW3AULly5ZtnLRkmWLliyfNWf+pctXGZYsW6lnaGVj72Zu5eTlG2Jl52pgYm1qYa+kpjd3/iIAoJBzXPB7GboAAAAASUVORK5CYII="}},48708:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/kotest.8fc12e6.640.png 640w",images:[{path:s.p+"assets/ideal-img/kotest.8fc12e6.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/kotest.8fc12e6.640.png",toString:function(){return s.p+"assets/ideal-img/kotest.8fc12e6.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AHF2d3V3e36DhX2ChHyBgnaFfHmIf36GhXd5fW9zdQAWHCIXHCQjMywmQS8zSj8vQTs0PT8pLjMWGyMXHCQAh4qNgoSHZ3B3bXp/pZuYko+IdHt5e4OKh4qMhomMAP7+/v///8/T1unp7dja1czUz/f39+jp7P////7+/gD+/v76+vrt7u329vbq7Ovw8vLu7u7v7+/+/v79/f2Kq1uVKeZyrAAAAABJRU5ErkJggg=="}},19570:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/kube-green.8703c7e.640.png 640w",images:[{path:s.p+"assets/ideal-img/kube-green.8703c7e.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/kube-green.8703c7e.640.png",toString:function(){return s.p+"assets/ideal-img/kube-green.8703c7e.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoklEQVR4nGOQ8TGV9jKV9jaV8jSRD7GQD7GQ8jSR9jaV9TGTcDdmEI6x4gkzYfLRYvbVVkl3U0lzY/DSYPTR5Ak1Fo61ZhBQk7UL8W6ZNbGsr7VlSm/HzEltcyd3zp9qF+otoCbLwMXBlZOV8////8UrNl6+dOX1q1f/wSA3J5eLnYtBREzMyMQkNT09Nj4xPCIyOiY2Mzs7PTPTyMREREwMAIyQNAPG9PJYAAAAAElFTkSuQmCC"}},60763:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/kubevela.92a4a07.640.png 640w",images:[{path:s.p+"assets/ideal-img/kubevela.92a4a07.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/kubevela.92a4a07.640.png",toString:function(){return s.p+"assets/ideal-img/kubevela.92a4a07.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAVklEQVR4nE3MUQqAMAwD0N3/qgPFiXVLl1TmHJivlheSAEiKNzdobdxSuLv3nqbNQt6OvJfxznpEIhkRJCVVeIUv+vFlVs7SSaCZGbx/vMZFaixwZGk8v8+T4suEe7gAAAAASUVORK5CYII="}},44356:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/kuizuo.9ead77a.640.png 640w",images:[{path:s.p+"assets/ideal-img/kuizuo.9ead77a.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/kuizuo.9ead77a.640.png",toString:function(){return s.p+"assets/ideal-img/kuizuo.9ead77a.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoklEQVR4nGP48fPXfxD49//fv////3/+8vXVqzcfP3568uTJ9x8/GX78/Pn0xau7z7/8/gtStXjhmmVLN5w9c6mve9b///8Zvnz99uj5m8cvv7z/9P3jh4+fv/44dfpiT8/M5k6w9O8/f3/8+vv7z5+/f/++fvV2566DqUkFIclV6fMPnTh9iQFkLdTe/58/f719+35MdJaHR8TJs5efPX8JAGk9f6xMM1v/AAAAAElFTkSuQmCC"}},13539:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/kwatch.f5025fd.640.png 640w",images:[{path:s.p+"assets/ideal-img/kwatch.f5025fd.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/kwatch.f5025fd.640.png",toString:function(){return s.p+"assets/ideal-img/kwatch.f5025fd.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AIu1vYu2vY24wJC6wpW9x5W9x4+6wo+6woy2voWvtgAydewxdes0dus2d+tKhexLhew2eOs0dusxdeszduwANnjhNnniOHnhNHfjZZTfZJTfM3fiN3jhNnjhNXfhANvp/tTi+sza8s/d9tnn/N3r/9Xk/NTh+drn/t7s/wC0tLatra+qqqyrq62xsbO3t7ixsbOxsbOysbOzs7XcQGRc2A+C3gAAAABJRU5ErkJggg=="}},21869:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/labviewbook.09efd5c.640.png 640w",images:[{path:s.p+"assets/ideal-img/labviewbook.09efd5c.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/labviewbook.09efd5c.640.png",toString:function(){return s.p+"assets/ideal-img/labviewbook.09efd5c.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmUlEQVR4nGPQNzDS1NIyMDBUUFSSlpGVkZUFk3LyCiqqqmoMSsqqUtIyFpZW5haWSkoqMrKKikrK8gqKUtIyYuISDJpa2gqKStOnzzh79lxVTZ2IqLisnLy0jKyEpJSEpBSDlraOopLywcNH/v//P3XuQn4BQUkpaXEJSai0hqaWjIzs1r0Hbj59VdvSLiwiKiklDZGTkJQCABOxIlbCE3QyAAAAAElFTkSuQmCC"}},37323:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/leedom.c24f772.640.png 640w",images:[{path:s.p+"assets/ideal-img/leedom.c24f772.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/leedom.c24f772.640.png",toString:function(){return s.p+"assets/ideal-img/leedom.c24f772.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AHBzd3l9gXp9gXt9gXiChXiChnt+gXh8gHR4fHR4fQATGSAQFx0RGB4NFBorPEErO0AMExkSGR8RGB4RGB4Am56hmp6gmJ2hmpyfqKqup6mtmp2flpmemp2fm56gAP////r///T+/v////D7++z6+v///+Tx8vj7+////wDz9PXs7e7l5ebw8PHn6Onn6Onw8fHk5ubs7e709PUHU12uwdhHRAAAAABJRU5ErkJggg=="}},8192:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/leon.e9f7ad7.640.png 640w",images:[{path:s.p+"assets/ideal-img/leon.e9f7ad7.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/leon.e9f7ad7.640.png",toString:function(){return s.p+"assets/ideal-img/leon.e9f7ad7.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdElEQVR4nC3NQQ7DIAwF0W+MDQ4YoqJCV82+uf/9qrRZv5EG/pgxb5/znHMBAFHgqKqiapZRvRHoeB/zOSVKoACAmc3sqkspFKiOvq/hY89tUzdOQkQXAwgc+muI51hTrApjSnzbb0drrd56TsmyeXUV+dsXsnYE2KYRRzwAAAAASUVORK5CYII="}},51290:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/lerna.bac875c.640.png 640w",images:[{path:s.p+"assets/ideal-img/lerna.bac875c.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/lerna.bac875c.640.png",toString:function(){return s.p+"assets/ideal-img/lerna.bac875c.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiUlEQVR4nCXMMQ6CQBBG4b3/ITyG1toZUCywsYEYMRpdUNjZ+Xdmlhhi8/JVz30DT5wiLEKJNUQhSExLR0oOKfdDGMI0cmQVnbOoUTBggYusddGV2/awu16O/t0uj/XmXlRe5+wY2lbUFOSf7F809ulDWO1PZfMwmx2zdWfcagQSVkmWIfYF/vgBuzyMVeSTmE4AAAAASUVORK5CYII="}},5568:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/liqvid.62ea992.640.png 640w",images:[{path:s.p+"assets/ideal-img/liqvid.62ea992.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/liqvid.62ea992.640.png",toString:function(){return s.p+"assets/ideal-img/liqvid.62ea992.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAm0lEQVR4nBXB3QrBUAAA4PMUa9vZ+f/dDglthChFrryAFnbhCZTt7IqSq0meWL4PiP5c5BuUTZCwRFvIVchkkIggEZAZMCgW691+NF3aVDvHM8eVohgjghElBKjeWBZbMVxJq7RlxnIuGcYEE0IYAzHVYTYLTZ5yYYxSTmoKoyj+gwkoz5fyVB2OVXd9vJ7f+7v7+OZW+9a3deN/dC4fpTlbqUMAAAAASUVORK5CYII="}},47003:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/mailgo.6622027.640.png 640w",images:[{path:s.p+"assets/ideal-img/mailgo.6622027.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/mailgo.6622027.640.png",toString:function(){return s.p+"assets/ideal-img/mailgo.6622027.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAgklEQVR4nCWLQQ7CIBAA+YWygKV0d4FWk2LVWAyN2Pj/LxlDMqeZjJimyfsY40jE85xSWhCJiEOIzEEQcQORav3UuiMys2/yn5HYucENWMpWyuZ611vbBgHKgJS3NUtt8vu7PFYw3f21AyhQWhwkaG3m63LqbLykMJ59iM9cQOmjhB9OwheY7QntswAAAABJRU5ErkJggg=="}},99017:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/mapillaryjs.c920a4d.640.png 640w",images:[{path:s.p+"assets/ideal-img/mapillaryjs.c920a4d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/mapillaryjs.c920a4d.640.png",toString:function(){return s.p+"assets/ideal-img/mapillaryjs.c920a4d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAn0lEQVR4nGMQnhYkMMkPhCb7C/T6CPT5CEz2F54aJDojmH+SPwPzlTSWq+ls1zNZrmcw7Y5i2hXFfC2d+UoaBDGwnUpmORLHsCOQ5XAsx55Y9t0xrMcTWY4nsJ5IYj2ZxMDnoK4b79q4eaZquJ1iiJVmtCO/g4aMn7mou76QizaDMI+glbFFT2u3qpyKk42jg6WdOL+ooa6JrJiMhKAYAIl7LjFSPKAvAAAAAElFTkSuQmCC"}},39050:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/metro.819d4d9.640.png 640w",images:[{path:s.p+"assets/ideal-img/metro.819d4d9.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/metro.819d4d9.640.png",toString:function(){return s.p+"assets/ideal-img/metro.819d4d9.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAb0lEQVR4nD2LbQ6CMBAFe3hBWk0NYurZ4AJwANe4H91nkMb59eYlE4zZaoU7AN+2uq7Yl4vIhzns8nMAtCw0z38FEGrDVYReRPSuqm52vK02VRPxA1VnbnXMJd2e3TCehvF8ffRp6i9Tl+4xl5jLF6KyhhNErKveAAAAAElFTkSuQmCC"}},71038:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/mia-platform.07f67c9.640.png 640w",images:[{path:s.p+"assets/ideal-img/mia-platform.07f67c9.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/mia-platform.07f67c9.640.png",toString:function(){return s.p+"assets/ideal-img/mia-platform.07f67c9.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVR4nGPw8vbx8PLx9PTy8vIODgz28fF1c/NwdXX39PLx8w9kEBAUERIWE5KQFpWS0ze1NDC3EZVVEJKQERQWFRAQYpCSkpaWVzIpajVrnm3WPMuwcaZm42yN8gnS8kpSUtIM4hJS0jJybgHhrkFR7iExLkFR3pGJLoGRktKyEhJSIGkpaVlHN29XDz8Xd19nNy8PL39HF08paVlxCSkAfr8iIzi1E0MAAAAASUVORK5CYII="}},33109:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/mikro-orm.076e48f.640.png 640w",images:[{path:s.p+"assets/ideal-img/mikro-orm.076e48f.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/mikro-orm.076e48f.640.png",toString:function(){return s.p+"assets/ideal-img/mikro-orm.076e48f.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AFKBqGCSsmydtG+js2ynr2mjpWygnWObk1yjkGKxlgALVo8eaJE/hJ01gJMSdn8SVlkkMjUeNDYNdlgJj1sAFF6OFmeJPYOYOoSQHYODG2hkJUZDJExGE4BZEZZcALPM2rbQ2465u6/S06m3u6a+va3Sypa7r7bez7LdyQD////////U4t7z+vj15+v38PL49/fl4eH////+/v7WSVbPQusQSgAAAABJRU5ErkJggg=="}},36225:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/mintmetrics.110e4fb.640.png 640w",images:[{path:s.p+"assets/ideal-img/mintmetrics.110e4fb.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/mintmetrics.110e4fb.640.png",toString:function(){return s.p+"assets/ideal-img/mintmetrics.110e4fb.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApElEQVR4nGPQj4hT8w5R9gxU9QxS8QhU8ghQ9wnR9g9X9Q8xqM5nMAyJ8coscE3PdUrL9sgq8M0pckvNcUhId07O0vQIZjAOjfXLLTZPyzBIT7UsygsurnDLzDOJTDAOj9P0D2NQDwzTjIkxiklQCwo3iIgz9IlQ9ww2CY/XDYhQ9w1l0N7UrLO1WXtDo86yWq1ppZpteVpNOZrd+VrTSrXnVwIANOAxmd4Ag3UAAAAASUVORK5CYII="}},37681:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/mixcore.104f89c.640.png 640w",images:[{path:s.p+"assets/ideal-img/mixcore.104f89c.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/mixcore.104f89c.640.png",toString:function(){return s.p+"assets/ideal-img/mixcore.104f89c.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcklEQVR4nEXJQQ7DMAgAwfz/hVGvVRU7CjYuAWOIRdXm0DnuLlDqaVqIUgESoS5sJm7YmYYuLBIRadse65pzRkSslYhUNSIWN4uIArC/nue79a7mrkPHGN8dP6paUm4HYGvM7O5zzv+WLunIAPt1+V1uH0yfj/owRLzrAAAAAElFTkSuQmCC"}},44733:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/mojaglobal.f352329.640.png 640w",images:[{path:s.p+"assets/ideal-img/mojaglobal.f352329.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/mojaglobal.f352329.640.png",toString:function(){return s.p+"assets/ideal-img/mojaglobal.f352329.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoklEQVR4nGMwC3bTdbPScbXQdjLXcTbXsDXWcjLTcbW2CHI087VlkNHWkZBXFBaXACFJKX4RUUk1NWV7R6OoEOfCaAYdZztTBzsDS3NdYyMNA31BSUl9T7eAuvqQ1bOTry9kUDbSVTPSU9TVltfREldSUjE3tMnLjJ0zpXrDkqa7qxi0LXWVjLXUzLTULXU1Hc113Swd0jNLti5t3LVy1+HjADUEKEwsTvhyAAAAAElFTkSuQmCC"}},31842:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/molecule-home.d6f656f.640.png 640w",images:[{path:s.p+"assets/ideal-img/molecule-home.d6f656f.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/molecule-home.d6f656f.640.png",toString:function(){return s.p+"assets/ideal-img/molecule-home.d6f656f.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoElEQVR4nBXGvQqCUBQA4AM+SFOvFqFcc8ihwakHCIS2gqA5ao2CBgMLAoPoLcr7o96/I5zomz4Yv030MmGl2RMnVR8/kN0xKTEu/OgoADYGVhaWNsjNcKsG6yaYdzDTkGpIDKQ3jC59eO6zAvPSLa4+OyE79GyH070HIuLSyMYSkWqtag0RCdV9eEtEYD1+65oLoY3jQv5jHZey5tw6/AEGu3SgpPX2QAAAAABJRU5ErkJggg=="}},14432:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/nanos-world.c07a3c3.640.png 640w",images:[{path:s.p+"assets/ideal-img/nanos-world.c07a3c3.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/nanos-world.c07a3c3.640.png",toString:function(){return s.p+"assets/ideal-img/nanos-world.c07a3c3.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVR4nGPQ0tVVUVHTN9A3MTGRl1dQUlJUUlJSU1dXUlJWUVFlUFNTlZeX19ZSMzI0VFRUkpNTkJOVlZeRlpWTk5WVZVDXUFeSUlALMtRaHKM8qUSmu5W/da2sW4ycuLCcggKDqrqqnIisbqaJ1aMsw6NdGjsW82+7KRhdriDCB5ZWVZGXlVMzVTeIsNAPsdf2d1Py9JHVM5KTlpSTlwMAgAAeyV7gkwgAAAAASUVORK5CYII="}},53388:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/netbootxyz.99f29c3.640.png 640w",images:[{path:s.p+"assets/ideal-img/netbootxyz.99f29c3.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/netbootxyz.99f29c3.640.png",toString:function(){return s.p+"assets/ideal-img/netbootxyz.99f29c3.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AGey8mey8mq19W+493i9+Ha8+G+492y29m2392q19QANifMOivQOivQKiPM7nvE7nfELiPMSjvgPi/UMiPIAvt/8utv4tdbyveD9vdv0vtvzv+H/nb/bq8zpwOL+AP////n49e/r5/////Hu6/Lv7P/+/dDKxfHu6////wD9/v/z9PXw8fL19vfs7e7s7e709fbu7/Dw8vP9/v+rXXcI0iQqiAAAAABJRU5ErkJggg=="}},89308:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/netdata.26ed367.640.png 640w",images:[{path:s.p+"assets/ideal-img/netdata.26ed367.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/netdata.26ed367.640.png",toString:function(){return s.p+"assets/ideal-img/netdata.26ed367.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlklEQVR4nB3BSQrCMBQA0Nx/5U4R6QRWsLrowoMIulAQLEY6Jf1Jm6m/CQi+R9LDaRPtt0me5EWcn7MsjuLdah2lx7IoL6Tt4HZ/PZ5V03AOxk810KtywS3eLEgYFz0DPsiegZCTdsuoZ6Usn8avYgQRQQhrLSIqpd0fCGmtCyEQ5+bqQ9uu19q8KzoMoLSh31pI6b3/AZOTg9pB7iROAAAAAElFTkSuQmCC"}},74976:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/nextauthjs.1839cd2.640.png 640w",images:[{path:s.p+"assets/ideal-img/nextauthjs.1839cd2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/nextauthjs.1839cd2.640.png",toString:function(){return s.p+"assets/ideal-img/nextauthjs.1839cd2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAfUlEQVR4nCXNywoCMRBE0fz/N+lakIGRcetCRJmAonl1p9OVRJl4lpeCMjHlIsJSIgDVogqAiBKRAkahvdZX5v3hNk/zaTqel4VzHmM1RMSZU6T3/fNY7e5ir/bJlIg3RkQkiwKtVaA6dG29t6bjxXwH773zmxSCdy6E8O8/5R+Ob+DKgR4AAAAASUVORK5CYII="}},25e3:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/nocalhost.08648cc.640.png 640w",images:[{path:s.p+"assets/ideal-img/nocalhost.08648cc.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/nocalhost.08648cc.640.png",toString:function(){return s.p+"assets/ideal-img/nocalhost.08648cc.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVR4nAXB2QqCQBQA0HGZ6zIzWaJiZLu4oGmjREhUak+BD31AnyNYvdUXdw6S9QTonpgHoBmwXDW4Pi4UlmGSyiRHWI8FLZyyKA2a2G+9vFqVN+xwUY9kkiBZWQow1xSPUt/YdEHwIJNQUBcieJK6RYp1ArvBTi1ZF8m9E7cDqwb7CtZZWz+RW73N8kV5H1ffXfubNR/zOFDes6IflcMf5/QU/ExaS8kAAAAASUVORK5CYII="}},22477:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/node-serialport.7e5ad57.640.png 640w",images:[{path:s.p+"assets/ideal-img/node-serialport.7e5ad57.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/node-serialport.7e5ad57.640.png",toString:function(){return s.p+"assets/ideal-img/node-serialport.7e5ad57.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AGfQtWrUvm3awm/exX3hyn3hym7exG3awmnTvGjSvAAcv5wcxJ4PincGY1oOa2IOamIEYFkNiHUdxJ4cv5sAKcGgK8unEWJdABcpASQxASMxABgpEWBcK8umKcGgACG/nSPJow1mXgAhLgUuOQUvOQAhLg1lXiLIoyHAnQBGy65Hza9BtJ44oZBRp5pRp5o4oZBAs55Gza9Gy64uNEH2Z6eEPQAAAABJRU5ErkJggg=="}},82931:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/orbitjs.47a9e4b.640.png 640w",images:[{path:s.p+"assets/ideal-img/orbitjs.47a9e4b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/orbitjs.47a9e4b.640.png",toString:function(){return s.p+"assets/ideal-img/orbitjs.47a9e4b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AH1/hIuNkqOkq66us6Ggo5qanpiboIiJjH19f3Z1dgAJDBIUGCFqaHKfjYw+NzYeHB5NSU49PkgCAgYEBQsAFBIVFxofXl1le29uU0tJZ1tXsp6ZiYWNGxwiGRogAA8NEBEQFCAjKkNGT4KBhYqHimtpcEtMVR4gJx4iKgDBwMC8urnBwMCrrK9/gIV0dXilpajHxcLCw8TExcds9TzUO7rqLgAAAABJRU5ErkJggg=="}},18259:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/ory.88aed7d.640.png 640w",images:[{path:s.p+"assets/ideal-img/ory.88aed7d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/ory.88aed7d.640.png",toString:function(){return s.p+"assets/ideal-img/ory.88aed7d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAaUlEQVR4nC3LQQ7DIAwFUe5/ynRnCVXxBwMBx3YU2rcdTSoYZgaAiERkbddr9D5SrRIR51lz/orIvc0551pmlk6Gqrau45qqaj/+l26ziMg5H8cHgIi01tw9It4cGzMTEQBmLqXaftz9Ac4xkN6jZU8LAAAAAElFTkSuQmCC"}},74567:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/ossinsight.2bc0207.640.png 640w",images:[{path:s.p+"assets/ideal-img/ossinsight.2bc0207.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/ossinsight.2bc0207.640.png",toString:function(){return s.p+"assets/ideal-img/ossinsight.2bc0207.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAqklEQVR4nCXK0Q6BUACA4d7DdI7qnKKsLZ1KqRsXNmFmw3gMLM/glgf+LS6+q/+3kiQmDKcYk5HlBSZOmBclM5MTRRG+1iilsYR0SE1GVdfMUkNZ5GzbJUmass9sHqsBVexgKa1xXI/T+cLt3tE9Oz7vF5friUmgKM2UcOxjeUrjeopF3dBudqzbLYf9kWrRoLTPJIzwg+A/9oQcMbQFtpBIIXFc9zf2+v4F17ZRR6Uo/GkAAAAASUVORK5CYII="}},12380:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/oxidizer.fdb3527.640.png 640w",images:[{path:s.p+"assets/ideal-img/oxidizer.fdb3527.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/oxidizer.fdb3527.640.png",toString:function(){return s.p+"assets/ideal-img/oxidizer.fdb3527.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdElEQVR4nC2Iyw7DIAzA+P8vnDr1uO5VtZBAQhIgE9ssHyyHAwqQAinWtr/31+OJtQPpAflEDsAGpKlIVl+vy7pcinoqAmRAFpB0yprNz9sWt3sx/0/SMMZwdxVJAMYkGWeY+ZgE/yK1xhhba8yMiL333/8AQk6P9Hc2Iy0AAAAASUVORK5CYII="}},73616:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/paubox.6ed886c.640.png 640w",images:[{path:s.p+"assets/ideal-img/paubox.6ed886c.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/paubox.6ed886c.640.png",toString:function(){return s.p+"assets/ideal-img/paubox.6ed886c.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAe0lEQVR4nD2MvQ7CMBCD8/5v0YWJSDB1QCwtM3NXGACJtipJmhzk7oz6o1qe7M82x8tga29rX5SvonzuTm9buX3lDufm2vQGUMxizoD+Mt/buCQAjChYJg8f5/2YKN8e3RiTiIrCbGCaRCwaKYvIugag8z3RN4Sw0Uv9B1RWjWq48uWUAAAAAElFTkSuQmCC"}},78093:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/pcapplusplus.e7e5e36.640.png 640w",images:[{path:s.p+"assets/ideal-img/pcapplusplus.e7e5e36.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/pcapplusplus.e7e5e36.640.png",toString:function(){return s.p+"assets/ideal-img/pcapplusplus.e7e5e36.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AH96g4KEiYaJjIKFiIKFiYSIi46FkIN7hHp6fn2BhQAcJCkpMTdJUVY8REkhKC4eJCtcL1diL1kWJSYgJSwAKS81Njc+TUNNSUFKLzs9TzBHpjNyUzNNJDAzKzA4ADQ9QkY/SGpCU2FATzQ9QU8+TnI+XDE+QTg9Qzc9QwDx8fHl6OfO1dXQ1NXl4+Tf5OLM1dLl5OXw8fHv8PBwlz/s101BgwAAAABJRU5ErkJggg=="}},76894:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/pcc-archive.95bb6a8.640.png 640w",images:[{path:s.p+"assets/ideal-img/pcc-archive.95bb6a8.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/pcc-archive.95bb6a8.640.png",toString:function(){return s.p+"assets/ideal-img/pcc-archive.95bb6a8.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApElEQVR4nGNQlJFWlRDVUJDT1VBxNTOysXIwsbKx0De30lBTV5Ri0BQWibOzy4uJCfNwnt5QMruzv6d/xtpZs+c0FAc5WTJoayvGRfvEBAVGefl0ZWe1JqeWJCZNL21rqCq3sTJiEBThUlKUlBDlV5GTVJKSUheXUpGSUJOVURDl5+FmYpCWthbglZIT1ZcUNuTjkRYX0xcTMxEVUJEW0hYX1gUA73EiqhcIprQAAAAASUVORK5CYII="}},26429:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/pdfme.5401819.640.png 640w",images:[{path:s.p+"assets/ideal-img/pdfme.5401819.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/pdfme.5401819.640.png",toString:function(){return s.p+"assets/ideal-img/pdfme.5401819.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/ACmKdSSFcSWKdSWJdCWIcyaIcyyJdS+OeyuNeCiLdgAkv54isZQkvZwkwZ4kxaIqy6d31rl+0bYryackyaYAJcKcH7KHI7SUJ7meJsKgH8ikVcOnsa+jOsGnI8mjACGVcxqOViKVeyyUjSWZgSOZgCSYfymXgCWYgCKXfgAeHyMuMDYhIiQdISAnKCkjJCYeICInKismKSoZGhxEADvpqYyUMQAAAABJRU5ErkJggg=="}},94970:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/pearl-ui.d9a8f9a.640.png 640w",images:[{path:s.p+"assets/ideal-img/pearl-ui.d9a8f9a.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/pearl-ui.d9a8f9a.640.png",toString:function(){return s.p+"assets/ideal-img/pearl-ui.d9a8f9a.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdUlEQVR4nEXMwQrCMBCE4bz/m9kS9eBBIXhRVKgKSUqSze7OCrXoHP8PxnVSVRURImLm3lujUmqZc66tOUDN7HZ/DKMf/X7YnHfby3PKZgaYwzIRSSkdTyGE65xJ9ZuxMgBq/eDje4rM9It/BlBfkUtZblf+AC3rj6sQKoLbAAAAAElFTkSuQmCC"}},97291:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/pglet.6bda7f2.640.png 640w",images:[{path:s.p+"assets/ideal-img/pglet.6bda7f2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/pglet.6bda7f2.640.png",toString:function(){return s.p+"assets/ideal-img/pglet.6bda7f2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjElEQVR4nF3NMQ7CMAxA0RydK8DEEZDYEQvsSIiWDkUMlAXklJAKFSdtEjtGMPKnt33lX4F4TDExy18O3yqR1Htf7Gy54qGTh2kBtNYaAIhIGeNmE72cPw8bi52cL3V5LKqqujYNEyv0vF7AdkoGOFFuT87eMMQhhkRJFGfBfgz+d87i7hL7L5nEo3wAAPSLCsid01wAAAAASUVORK5CYII="}},76003:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/piano-analytics.3fec018.640.png 640w",images:[{path:s.p+"assets/ideal-img/piano-analytics.3fec018.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/piano-analytics.3fec018.640.png",toString:function(){return s.p+"assets/ideal-img/piano-analytics.3fec018.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAYUlEQVR4nDWMSQ5DIQxDuf9ZUSDO4IS/qehvrbexPIytmlfsc15YFcmt8MgBIHmNwjzihaS5V/cw9289YabAVlVY8nc2brerukVkrSUic06POM9z4+ruc5JUwCPMHQD/6w99UI+ltBHBewAAAABJRU5ErkJggg=="}},72240:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/plausible.7cf9cc1.640.png 640w",images:[{path:s.p+"assets/ideal-img/plausible.7cf9cc1.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/plausible.7cf9cc1.640.png",toString:function(){return s.p+"assets/ideal-img/plausible.7cf9cc1.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAaklEQVR4nEWNyw7CMAwE8/9/SblUFBziFBK/K1eCzmml2dWWWndN7PkClgyqFhHuziwF6ltERfS23Nf1sZ2YZSMiCvbu7qoKAK311hARLz3GdA8zm5P2zyQWyQv9rREjUn8HDRIiZua/PgDmV5GbD88FEAAAAABJRU5ErkJggg=="}},29240:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/pnpm.03bd84d.640.png 640w",images:[{path:s.p+"assets/ideal-img/pnpm.03bd84d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/pnpm.03bd84d.640.png",toString:function(){return s.p+"assets/ideal-img/pnpm.03bd84d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAk0lEQVR4nB3IMQrCMBQG4FzI1ns4O9nBuor3sXEXBAvWpccRBxGltk2TvPdHU54ofNOnXJlxleO8QpWj3qBeo8r5tLTHhS0zBZ1wkXAxgU7tYe73M+ymtE1Yp6wTJRERrnvcBtu3zvjblbtnc798yEiEEpEYRyBweA+OTG+I2JOP4ygiihk/CETcvNqm7YHg6Z+ML1JBfGYDr3btAAAAAElFTkSuQmCC"}},66167:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/postgres-ai.58fb7f3.640.png 640w",images:[{path:s.p+"assets/ideal-img/postgres-ai.58fb7f3.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/postgres-ai.58fb7f3.640.png",toString:function(){return s.p+"assets/ideal-img/postgres-ai.58fb7f3.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAg0lEQVR4nCXIQQ6DIBBAUe5/p267M43dKthQCYi2hibVGWZgjG3yFj9fkdf1NcrbyerLMuZoaX7ybHfXgTdKJiNBV9/z0JbHvZpbGdoatMRBJqMkRUmR1/B1/dJcuub6cbqs4f+V4HbKIHnjaNMSJe+n31dMhIgAAIiZCxGdDYAATHQAFeCMwLwsYsoAAAAASUVORK5CYII="}},32331:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/pptxgenjs.0e9d4a9.640.png 640w",images:[{path:s.p+"assets/ideal-img/pptxgenjs.0e9d4a9.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/pptxgenjs.0e9d4a9.640.png",toString:function(){return s.p+"assets/ideal-img/pptxgenjs.0e9d4a9.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApElEQVR4nBXCzQqCMAAA4L1pRBb4KP1J3ToEHTJN9AE6pRbNjESx2TbrsLFSI/HnDaKPD8hzY6DofUWXppvOcN0dqb3xvzRR5dkW6BCbZ2L5dOGgpYu0093wsOVT06caxEBwHpInRHQFb7uIBvjhxsRLaEifgjPQtm3Iiz3hF/ZJivrKcptwm4pIfJumAXVdRzx3CDukIn6XAcsczI7pC2VlVVU/BGdzTCXVRCkAAAAASUVORK5CYII="}},72333:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/prefs.52dfad3.640.png 640w",images:[{path:s.p+"assets/ideal-img/prefs.52dfad3.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/prefs.52dfad3.640.png",toString:function(){return s.p+"assets/ideal-img/prefs.52dfad3.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhUlEQVR4nCWLSw7CIBQAuQJtEx60QPELJgXbRLvyA8Vo0Z33v4upJLOayaDgJx/jd0qfZwrx8ZrTnN63u/chXK4eYVwQIZIZT91wsJ211rkjAcBFWVYVIkDXWvfj2bh+q7WUbcMFZXVmya1Ug7GSSwDK/hYoyyxZqdV+s+Nc1A3PNq9A2Q8yDxa7dJfpwQAAAABJRU5ErkJggg=="}},33791:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/prismatic.94c6eb2.640.png 640w",images:[{path:s.p+"assets/ideal-img/prismatic.94c6eb2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/prismatic.94c6eb2.640.png",toString:function(){return s.p+"assets/ideal-img/prismatic.94c6eb2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjklEQVR4nC2O6wrDIBSDfYJWPV5q9VRbHd1GR2Hv/24Zyn58hEBCIrZ8wjqG1mGg1AJtIjRFGNNJQ0VKFTEewxCtkNKDfB7M0mOaLObZQazrgR5O3FDbhe6d40FfWsIOaxmC+TEmQ2zI9UbePyj1Bpc3eL/Qzi/S9oIo5Tna3mc4v0GpAKIIqTyof/3//gGXJ0EJdX7U3wAAAABJRU5ErkJggg=="}},79060:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/pyre.dbf3985.640.png 640w",images:[{path:s.p+"assets/ideal-img/pyre.dbf3985.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/pyre.dbf3985.640.png",toString:function(){return s.p+"assets/ideal-img/pyre.dbf3985.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdklEQVR4nD2LMQrDMAxFfdFIi52zlQ7tGNul1ykUMhRblQdLUXANffzlP3jumVPetrGY4v2abpec8jSPGJ1NjsPMPvu77q//NTOnqjLpnYhKpf5DRFR11MytViIiZv4StdZKKdJl1CtiQPTL4gE8QACYJiCuiCcA5XiJmq5dvAAAAABJRU5ErkJggg=="}},50533:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/qa-board.e69f237.640.png 640w",images:[{path:s.p+"assets/ideal-img/qa-board.e69f237.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/qa-board.e69f237.640.png",toString:function(){return s.p+"assets/ideal-img/qa-board.e69f237.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAo0lEQVR4nGOIaNkb23EgvvNgXMeBzIlHsycfi+s8mNB1KKplT2TLHgYGxzkMDrMZnOawuM03yVgrF7mcwWEOSBCCtp58tOP0k1X7by/aeX3/hWebj93fevLxhqMPtp16vPXkI4Z//0Hg9csXjx8//fnj27evn3//+vHl63ew8H+Gv3///fnz9+u37z9//vz04cP3nz+/f//x58+fv3///f37DwAYY2ufFnIYiwAAAABJRU5ErkJggg=="}},22729:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/quickwit.6c3662e.640.png 640w",images:[{path:s.p+"assets/ideal-img/quickwit.6c3662e.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/quickwit.6c3662e.640.png",toString:function(){return s.p+"assets/ideal-img/quickwit.6c3662e.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcElEQVR4nH2LMQ7CMBAE8//PpOABiJYoBRKVUyChxAUSsmUSB+58u5FDQcdou5lt3jlrKdzBPgJmZqocbg3JJee7n6ZxhH+UZ/yIfGuSVc8h9MfT4Jw/9117kO7CNFdpqJoh4eoArCLxlRgTVX/vP2xiDY/nbK7IBAAAAABJRU5ErkJggg=="}},51711:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/raspisuite.eef0654.640.png 640w",images:[{path:s.p+"assets/ideal-img/raspisuite.eef0654.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/raspisuite.eef0654.640.png",toString:function(){return s.p+"assets/ideal-img/raspisuite.eef0654.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVR4nGNQU1CSV1CUlZOXlZNXUFSSkZWTFpOWkVNUVFGRl1dgEBETNzA08vUPcHF1NzY1U9dULwkPyDG2EBEVl5KWYZCQlFJT13B1c/Px9TMwMgmPDuzZOXfNjgWuTi5CIqIMUtIy4hKSMjKyaipqCqqqOlJKkV6+IRnJymrqkpJSIN1KyipKyipi4hISklJiUlL8wsIC/ALi4hKSUtIAUiIatAtNTSgAAAAASUVORK5CYII="}},43377:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-chat-elements.a3cbd16.640.png 640w",images:[{path:s.p+"assets/ideal-img/react-chat-elements.a3cbd16.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/react-chat-elements.a3cbd16.640.png",toString:function(){return s.p+"assets/ideal-img/react-chat-elements.a3cbd16.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhUlEQVR4nCXCSwrCMBQAwNxERZKI+TR538RU6E7XIiJ1U7z/IVw4jKkAgFhKmXLOKcUQYjjHEGNMtYIBRASorDAvU5+j9HK5ojYVaa0ZACDEKq2M5f543Z7vMi/Uh4owsyEiVVWR0dt32z7rilCFmZiJyDjvrXXWupTz0brd/mCd+/f+9ANQXh5VTJQvoQAAAABJRU5ErkJggg=="}},8467:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-complex-tree.855e860.640.png 640w",images:[{path:s.p+"assets/ideal-img/react-complex-tree.855e860.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/react-complex-tree.855e860.640.png",toString:function(){return s.p+"assets/ideal-img/react-complex-tree.855e860.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AIWXsImasYmasIubsY2etY6fto6fto+gtoydtYybrwAvR2ZBVXA+VXI0TGs7UXCyu8evuce9xdB6iqAySWgANlBxQGSRa32SZXaNUGR+8/T08fP2////oa27OU9sAEFZdj5Ze01ifUxhe0tfenyLnnuKnoGPo2J1jE9jfQDv8PHk5eXp6+3p6+7l6Ovi5uvh5OfX2t3l5+nz9PU+PlrhzfgZCgAAAABJRU5ErkJggg=="}},94398:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-leaflet.b34b28a.640.png 640w",images:[{path:s.p+"assets/ideal-img/react-leaflet.b34b28a.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/react-leaflet.b34b28a.640.png",toString:function(){return s.p+"assets/ideal-img/react-leaflet.b34b28a.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAgUlEQVR4nD3IvQrCMBTF8SOIg4tSEPEVbbPaZDLtG/iBgwWHig8otfdGk5uKLfXwG/4csHPMHEJ4e/9sXy3Rx/sgEkSYGd046WLjiJhijP8Tl9vjXN1PveO1PlT1EANM5hvM1piugARYAoveGEpbZcrMFGluf61tmtvtbp/pQpnyC/KUW6u0HwYGAAAAAElFTkSuQmCC"}},3327:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-native-elements.e0e5730.640.png 640w",images:[{path:s.p+"assets/ideal-img/react-native-elements.e0e5730.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/react-native-elements.e0e5730.640.png",toString:function(){return s.p+"assets/ideal-img/react-native-elements.e0e5730.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoElEQVR4nGPQNrfXMDBz9vJ38Q5U0zPW0DdR1zfRMjTXNrZU1zdlUNc3VdI22rBx44rVq2W0zFTNPdUsXNXMHNUMzNQNzRk0DM3lNfSOnzi5bdsWdRsfK/8kPQs7TVNbdQNzdUMLkLSStmH/pKmtHd3KemY65nYahqbqhhaaevqaunogw9UNzFR0jJV1jZQ0deWU1eVVNZVVlGXt4iVdMgHLFyVGtKYD8AAAAABJRU5ErkJggg=="}},99133:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-native-ios-kit.826c0be.640.png 640w",images:[{path:s.p+"assets/ideal-img/react-native-ios-kit.826c0be.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/react-native-ios-kit.826c0be.640.png",toString:function(){return s.p+"assets/ideal-img/react-native-ios-kit.826c0be.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AC80OSgtMS00PDA3QDA2PywxNis0PisyPCgtMi0yNgAqMjgrMzk9RUxIUFhCSVA7Q0lphK1fd5olLDEsMzoAHiEkISQnV1lcYGJlU1ZYICQmMz9SMTtMHSAiHyIlABQVFSEhINHX4PH3/tfW1yAhIhYWFBYWFBcYGBcYGAAVFhchIiLX2+H6/f/Y2dkjJSUeHyEdHyAYGRoYGRqjiynJC2niagAAAABJRU5ErkJggg=="}},42045:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-native-reanimated.9a05caf.640.png 640w",images:[{path:s.p+"assets/ideal-img/react-native-reanimated.9a05caf.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/react-native-reanimated.9a05caf.640.png",toString:function(){return s.p+"assets/ideal-img/react-native-reanimated.9a05caf.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAnElEQVR4nCXJ2wvBUBwA4PP/P3qTvChaiRalvChaqyUWuWRpYhsnl3O1nV/nzI7ie/3QYLxx3LDWmNVbfn+07g5Xjhs2O8HEi/z5CVlrC6W3+2uSkqqqrLXafJKM2h9kdMm5CpbnqX+M4oc2JYAhtAAwWpdIvoFy1e4tvCAmNM9u7JKSDDMulJCAhAQm1O6A8V0yroSAF8mfJP/3F/aRhWSHD1quAAAAAElFTkSuQmCC"}},42546:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-navigation.2b1912f.640.png 640w",images:[{path:s.p+"assets/ideal-img/react-navigation.2b1912f.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/react-navigation.2b1912f.640.png",toString:function(){return s.p+"assets/ideal-img/react-navigation.2b1912f.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmUlEQVR4nBXC2wqCMAAA0P3/BwS9BH1BPdV7PhQWChbu5o2tYuZtubmai4wOB/S9NWY0xrlx+rh/N07WfrV+KWWBEIbx5/XWM9bmRcuY5LwT5YDwQwgDslwSKs8XHgRkf0CbrR9FiX/ks3non0oAUbfz7jRppHynWbVae3WlglAsliEmElA6IKwxUTGsIKoRbmJYE6IRVklqfgnzhGC6fsGJAAAAAElFTkSuQmCC"}},55247:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/react-redux.8e65759.640.png 640w",images:[{path:s.p+"assets/ideal-img/react-redux.8e65759.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/react-redux.8e65759.640.png",toString:function(){return s.p+"assets/ideal-img/react-redux.8e65759.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AKKF0qWJ06WI0qaK06uQ1qeM06GFz6GEz6CDzZ6CzQBvQblvQblvQrltPriHYcOGYMJuP7lwQrpwQblwQbkA3dPu3NLt183p2c/s187n3NPs2s/s2M3p3NHt3dLuAP////n6+PHz7vHz7+/w7e/x7fP18u7w7Pn6+P///wD////6+vv6+vv09PX29vf4+Pn6+vr29vf7+/z+/v/O2nZB4vrMwAAAAABJRU5ErkJggg=="}},17803:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/reactive-button.8f3a6b5.640.png 640w",images:[{path:s.p+"assets/ideal-img/reactive-button.8f3a6b5.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/reactive-button.8f3a6b5.640.png",toString:function(){return s.p+"assets/ideal-img/reactive-button.8f3a6b5.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkUlEQVR4nC2KsQrCMBRF83cOiqCLoIOgtOIgKHT033Sri3/gYtMS05qgtjTW9/Ke2Hqmey5HNI0nIm6pnXdv3234gaITZibyMnNJWpP/F8wsABAAPgDkIS+czh0RImL7ozgc48FoMRzPe/3pZBZeVSa1vchCmfuzLEV8OgerKFxHy2C32e4TpW7mkWqjrX1V1Rf0UIFP2rdjaAAAAABJRU5ErkJggg=="}},9219:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/reactnative-aria.814ffad.640.png 640w",images:[{path:s.p+"assets/ideal-img/reactnative-aria.814ffad.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/reactnative-aria.814ffad.640.png",toString:function(){return s.p+"assets/ideal-img/reactnative-aria.814ffad.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AE1HrU1IrUtGrE1HrUhCq0lEq1BLrlRPsExHrUlDpgBIQ6ttaLx2ccBuabxSTLBUT7GWks+QjMxOSK5HQasAOjOkSkSsSUOrQzyoPDalRD+pf3zFf3rEQDmnODKjAJWSzpiV0JeTz5WSzpSQzpmW0JuY0ZyZ0ZiV0JSRzgD////6+vz6+vv7+/v6+vv7+/z8+/z7+/z7+/v///9FlllYAhUzbgAAAABJRU5ErkJggg=="}},65794:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/reactnative.c4784cb.640.png 640w",images:[{path:s.p+"assets/ideal-img/reactnative.c4784cb.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/reactnative.c4784cb.640.png",toString:function(){return s.p+"assets/ideal-img/reactnative.c4784cb.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoklEQVR4nGPQ1jfX1DVWUddXUdNTVdPT0DbW1DJS1zK0snH29gtl0NY11TOxMXP0tnALsPIO1TOysnLxNbP3UNc0VNMyYpCSVVXRt3RMLDCwdNY1tpFV0DCwdtEytpGSUZVT1GKoqKyrrG3OLqmOiknMzMovq6wrKa0sr6irqKqvqKpn+P///6+fv3YcOLRs05aLl698/vz5+YvnX798/Q8GAMePOu8vTOkAAAAAAElFTkSuQmCC"}},70898:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/reactnativeboilerplate.ac124af.640.png 640w",images:[{path:s.p+"assets/ideal-img/reactnativeboilerplate.ac124af.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/reactnativeboilerplate.ac124af.640.png",toString:function(){return s.p+"assets/ideal-img/reactnativeboilerplate.ac124af.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAl0lEQVR4nAXBSw7CIBAAUA7hqjMwfAoUSGqrGFsXfqsxJsbEnqQH8CQuXHoC7+d7TCkvdUJRFegACIF7AU/uXtVxTDtWYmipa+Q6q16iIU4Pkz55+Wv3U31jubTbFKNStdFKAFebaz99x/v7fOp0YIMPBx9nhQCUAMBl3YTLSurBGOKCLbK1MQnpubDcONvNkUqUjsgCqj9N/hqg7yrJLQAAAABJRU5ErkJggg=="}},37732:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/realtime-apps-workshop.beb2c0c.640.png 640w",images:[{path:s.p+"assets/ideal-img/realtime-apps-workshop.beb2c0c.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/realtime-apps-workshop.beb2c0c.640.png",toString:function(){return s.p+"assets/ideal-img/realtime-apps-workshop.beb2c0c.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AF90lGmErHyXwYmj0Y6p246q24ul0XyWwGeBqVdvkgCKlKUrUYsoWKc9cMxLfuFKfeA8b8wtXKkUQIM8UnEA9fPx0djlssLducrpvtDzwNL0vs/vvczmucfb6ufdAP////////j39vTx7Pj18Pn28Pr38v79/P///////wD+/v7////09fbs7e7v7/Dw8fPy8vT5+fr+/v/+/v70hXJElc1YzgAAAABJRU5ErkJggg=="}},38512:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/reddit-image-fetcher.acb4fa2.640.png 640w",images:[{path:s.p+"assets/ideal-img/reddit-image-fetcher.acb4fa2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/reddit-image-fetcher.acb4fa2.640.png",toString:function(){return s.p+"assets/ideal-img/reddit-image-fetcher.acb4fa2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdUlEQVR4nCXISw7CMAwA0dz/fAjBtguEElw7hnxtx6jt282ENkxkrbXcfYg1VXeXOUv5iVrwk6rNMbYXbG+QOVXt+sEOS1TN5P6k24PURPRoMws7MxB9iJA5AkRA5C/kvOe8M4feOyKmlGqtdCqlphQRsbX2B/n3j9mKXHjyAAAAAElFTkSuQmCC"}},43846:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/redux-cool.f4b970d.640.png 640w",images:[{path:s.p+"assets/ideal-img/redux-cool.f4b970d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/redux-cool.f4b970d.640.png",toString:function(){return s.p+"assets/ideal-img/redux-cool.f4b970d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApElEQVR4nGPIzC/OzC/OqqrJqqvLL6vMLyrLaurIrmvOLyrNKSpjEJVTEZVVkbK0kjAxVFDXk1bQEMopFgyPFxGVFpFXZcjKL8nKL4nur0trrM7KL80oKEmtb02trMvOK8oqKGH4////v///zn0+9erXy7/fvn/9/PHP71+fPrz7DwYg6T9//jx/9eLT1y/v37599/r1z5+/3r9//+/fv////wMAeDBZawTyF0kAAAAASUVORK5CYII="}},15237:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/redux.63d3e7f.640.png 640w",images:[{path:s.p+"assets/ideal-img/redux.63d3e7f.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/redux.63d3e7f.640.png",toString:function(){return s.p+"assets/ideal-img/redux.63d3e7f.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVR4nCXIUQqCMBgA4B2uWsfwDLkLiGTRHQoJ6RLbU71KpUQUZEaIVs6mloqV+yOC7+lD075jDdy/2ci1hmtTX5r6aqLZY81GaoeqmJEu67WoocwNZaG2KcGUYEYwQzwso1N22Ib+7rrfnAOfB55wbS84iiQqEQBUVcmTW/5I00xEl1Ck9/yZvT8vAEAgASRICU3TFEURx7yua4BfgoQvE7B3OIoA/h0AAAAASUVORK5CYII="}},8274:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/refine.6f01e66.640.png 640w",images:[{path:s.p+"assets/ideal-img/refine.6f01e66.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/refine.6f01e66.640.png",toString:function(){return s.p+"assets/ideal-img/refine.6f01e66.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVR4nGMwMi011c+zNi1yt6tytSpzNC+yMsw1NchzsisLj+hmMBG3N5VwdFTyDvcu8g0odXJMs9IJNhKxNRa1NxCyZjCRcTeV9fAwiPQxj/OzT/G2SbLXCbVR8TOSdDWUcGEwkXYzkXKxUA6wMc0qiigriSrzMAw3k3U3EHcyEHdisFDwNpZ0NpXzMdVPNVPyN5fzcNIONpZyNRADSQMAC00llWw1oEUAAAAASUVORK5CYII="}},53008:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/registry.stackql.io.0ceddfa.640.png 640w",images:[{path:s.p+"assets/ideal-img/registry.stackql.io.0ceddfa.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/registry.stackql.io.0ceddfa.640.png",toString:function(){return s.p+"assets/ideal-img/registry.stackql.io.0ceddfa.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAfElEQVR4nF3KywrCMBAF0JtxokVdiNbmYTKZFJtCFenO//8zEXee9cFzfY/Tcn+s0/KKWV2UkDVmTWWU2rA/HAGcpIUsu63Fn67rAAx939rsfEhZroOTovGW2FoYYwCcL73W0YdQinrntdaUhZnBzEQb4Pt+iMgYw9YS0QfC+QnjF+EregAAAABJRU5ErkJggg=="}},99048:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/relay.ed1a4d7.640.png 640w",images:[{path:s.p+"assets/ideal-img/relay.ed1a4d7.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/relay.ed1a4d7.640.png",toString:function(){return s.p+"assets/ideal-img/relay.ed1a4d7.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAo0lEQVR4nBXCTQqCQAAG0LlGlEyNYlD7NtFRSm2UyG1Bh6llmDdwW+Y1gn5AU78ZpHShC4kejwhbA1dh9cEHsBk4g63CpBlX0+2MwKRyN5WbiXBHwh1jpWPJ4GjCHcLoEcw7cq1LR4NFhcNgKLAUcPq/6JLqesqCQxrsv6H3OR/LyP9Gfhl65cUrQ480bR3nye11z4v8ET/zAqnMEryrumra+geZ0l7qgTp8YwAAAABJRU5ErkJggg=="}},33261:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/rematch.f308579.640.png 640w",images:[{path:s.p+"assets/ideal-img/rematch.f308579.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/rematch.f308579.640.png",toString:function(){return s.p+"assets/ideal-img/rematch.f308579.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjElEQVR4nD2LOwrCYBAGF1KLhR7AysuJIDGNSBBBvIF4GouAglcQQtKI2mlCfndX1v3EB3bDDENNMBZXRRMsL06H/Hi9cROsqqWqlcIdzG4GfaC8oDiDFcx4ewEBcHcA2XafzNfxbLXJdvCnmQGf/KVhklLUJWoNRhMAqvrLIgJgnC6jTp/avXi6+D8vfVp8neyuCUkAAAAASUVORK5CYII="}},58133:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/remirror.1e68e59.640.png 640w",images:[{path:s.p+"assets/ideal-img/remirror.1e68e59.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/remirror.1e68e59.640.png",toString:function(){return s.p+"assets/ideal-img/remirror.1e68e59.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AHpk0nlj0oh014t42Ix52H5o1Hhi0nlj0npk03xm0AB5Y9J6ZNKRf9qLeNiAa9V0XdB5Y9J+adR+adR7ZtMAeGHSfWjT0szu0MjuwrnprJ7icFnPgW7UjXvXuq7nAHhi0nxm076z6Ma9683F7a6h45KA2srC693Y7/Lw+QB1XtGRf9nJwOvFvOnGvujQyO7g3e7m5PD////+/v9tiGbApD4+aQAAAABJRU5ErkJggg=="}},43297:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/remotion.4430418.640.png 640w",images:[{path:s.p+"assets/ideal-img/remotion.4430418.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/remotion.4430418.640.png",toString:function(){return s.p+"assets/ideal-img/remotion.4430418.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdUlEQVR4nE3KTQrCMBRF4e7Rn4m4mw7cluIonWUDNQgS0TqQwkvy7s0TGkTP9DtdVqgWEcGSLZFMSXLOnZkBcMPgvX9Nk5LPBJDt+7Jz4+Wasir4mAvwxyRDCO9ZUkGttcGPrVrfH9ab3Wq7P57OMcZwu7frA1AKiunTvljVAAAAAElFTkSuQmCC"}},49451:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/repeaterjs.fdf3046.640.png 640w",images:[{path:s.p+"assets/ideal-img/repeaterjs.fdf3046.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/repeaterjs.fdf3046.640.png",toString:function(){return s.p+"assets/ideal-img/repeaterjs.fdf3046.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAX0lEQVR4nFXNSw6DMBRDUfa/0iSk5ENVYju8h5AYFE+PpbuQBCDJ3zOz4/gt7h5SCjECIGmn/Z9uhhmlOaf5yx6W9AU0xUGMO7SPneTDpZSUc2ttTXn7bLXWkGLv3d0vjTOSMsU7xbsAAAAASUVORK5CYII="}},78802:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/replicad.17d9469.640.png 640w",images:[{path:s.p+"assets/ideal-img/replicad.17d9469.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/replicad.17d9469.640.png",toString:function(){return s.p+"assets/ideal-img/replicad.17d9469.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjklEQVR4nCXMvQ3CMBBAYc/KIGzACIgBaJmAhjIpoAAESEE4EeT8E+ecQ/LdIeC1T/pMjENhBnDWtrbtegBVUVURzTiaMKRSCmIGcIj4JnIxDZj1l/EhYJ4mojTi/tJsdtW2OtTHq8jXMEQkIiGmtuvmy/VssWoe1gMw/zYzqypidt6f77Y+3Z69ezn/xz+CmYsqcHT+lgAAAABJRU5ErkJggg=="}},92907:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/rnrh.a9db614.640.png 640w",images:[{path:s.p+"assets/ideal-img/rnrh.a9db614.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/rnrh.a9db614.640.png",toString:function(){return s.p+"assets/ideal-img/rnrh.a9db614.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAl0lEQVR4nB3CywqCQBQA0Kvp5CtSR286D6JR1AxTNMloodCqVY///5igw4EY75T2SXJN0wlxxN2IOFLac35jbAIpZyGWw+HRtq+2e/fDd7h8quNTyEWIGYgVWjbd+iwIheNiWZ7rpsuLmvGMkABAWwHolu1EceK4G6WyU9MUZUWjGABA081/wyQeWXuMS5UXe5X7AQXN+AHVzxBJ7PShKgAAAABJRU5ErkJggg=="}},92280:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/rsocket.cbdcb4f.640.png 640w",images:[{path:s.p+"assets/ideal-img/rsocket.cbdcb4f.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/rsocket.cbdcb4f.640.png",toString:function(){return s.p+"assets/ideal-img/rsocket.cbdcb4f.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApElEQVR4nBXIXQvBUBgA4PNv1i5m44YhcudeCBNTOjtnH7ZI4Yo/SqGFdhwX2kfbeaWeqwd53oa4AaYepYGDAxv7hK4s+486PpIUXdYaUrleVTqT0qCv9jStJVeakqrX2l1kmMQwyXRBDZPsDqft/jg0luMZHs2x5a5RUQgAeIavN+P8weJvfL3cwvMdAPI8RwAghGARS+KE80+WZSxiaZL+vxA/R2ZY28MWRQUAAAAASUVORK5CYII="}},52853:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/runiac.84cf7a9.640.png 640w",images:[{path:s.p+"assets/ideal-img/runiac.84cf7a9.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/runiac.84cf7a9.640.png",toString:function(){return s.p+"assets/ideal-img/runiac.84cf7a9.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApElEQVR4nGPIWH8nY93trA138jbfb97zoHn3/dzN93M23cvZ9CB11TUGhrzDDPlHGEpOMpSfEmw6K9h0hqH8NEPxSZB43mGGReffzD7xrGbNydpVx2tWnaheebx6xdGGNSfnnny26Pwbhv///9++eVNVTlJOQkhRSlROTFBamE9RWuz2rZv///8HSV+6fIWVlZWBgYERDBgYGFhZWS9fufr//38AdLFNSUA5HlEAAAAASUVORK5CYII="}},29880:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sado0823.8ffd51b.640.png 640w",images:[{path:s.p+"assets/ideal-img/sado0823.8ffd51b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/sado0823.8ffd51b.640.png",toString:function(){return s.p+"assets/ideal-img/sado0823.8ffd51b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmUlEQVR4nGNYdnzLylM71p7bs/rc7lWnd60+u3vV2V0rT+9cfnL7shPbGdQb/dUb/dXq/TRr/c1aIs1bojRqfNUb/MDifgzG7RHGXVHG9WG6lvY6ZlbaxhYaRuZG9aHGXZHG7ZEMirWeivVeCiWuwioqIoogJKysolDiqljvpVjrydC9ewEI7VrQuWF253ow2ji7exdYcPcCAAWBQckAuyh1AAAAAElFTkSuQmCC"}},40697:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/saleor.aad1f80.640.png 640w",images:[{path:s.p+"assets/ideal-img/saleor.aad1f80.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/saleor.aad1f80.640.png",toString:function(){return s.p+"assets/ideal-img/saleor.aad1f80.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAXElEQVR4nE2MUQrDMAxDc/+7lqatSWxLkUs32Coe+nlCjeS+n9vWj8N6v8yGVGsJgHu0qrIRp83pAYBkvfLoMfOyWVV6m59OLA9KcghY0n/WSHpkJJDIfO4/xS83XnKTH6b0vewAAAAASUVORK5CYII="}},24967:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sapcloudsdk.73844f2.640.png 640w",images:[{path:s.p+"assets/ideal-img/sapcloudsdk.73844f2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/sapcloudsdk.73844f2.640.png",toString:function(){return s.p+"assets/ideal-img/sapcloudsdk.73844f2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApElEQVR4nGP4ucvjz16vX3s8f+32/ns04f+JpH8H/P8f8Pu7z+fnLg+G/yu5/q/g/L+G7/8GoV+bjX9uNvq/TvD/aj6Q4Eouht/fP/z/9/3BnSsnjuz9/+fb7++fL53Z8f71HTD7A8N/MPjy5fPzl0//////79//x88efP32ASz8j6F/8uwJU+dOmDJ7wpTZU2bM7504Y/L02RMmz+ydOKt/8mwAMFNvrtVkVsEAAAAASUVORK5CYII="}},66053:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sapphire.6ff97ea.640.png 640w",images:[{path:s.p+"assets/ideal-img/sapphire.6ff97ea.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/sapphire.6ff97ea.640.png",toString:function(){return s.p+"assets/ideal-img/sapphire.6ff97ea.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAe0lEQVR4nCWLSw6DMAwFcwuSqlTB79lxAmWBBP2s2mNw/4tUUaVZjWaCt8VroxYQZdnregBQ8zbP1BJABZXmksfte26fU/JI8y7VglqhFaoJcDzf++MlINW6VwsCgjoJBPQ2W+mfgH/CENMkMK95wnJfew1ex9sQU0yXHxj/Fmv903hCAAAAAElFTkSuQmCC"}},32477:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sass-fairy.2a6be61.640.png 640w",images:[{path:s.p+"assets/ideal-img/sass-fairy.2a6be61.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/sass-fairy.2a6be61.640.png",toString:function(){return s.p+"assets/ideal-img/sass-fairy.2a6be61.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiklEQVR4nBXM2xmCIBgAUGYpFQG5/4AgoGRlPrhA+w/S1xngoBgOLrKfX2u7wO+UJcbSJDJh4dZrZN1GWDB2LfUM8alMBdeUKXm+Pu2LpC6YeqEyuIcyVepiXeMyRXcGeKNusPfeaLPGdIw0YOLx6EYaBgL/vMfQDVapCm5nPHK5TGKZROJyIWz+AYM9HoLGXxfhAAAAAElFTkSuQmCC"}},20875:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sciwp.79c702e.640.png 640w",images:[{path:s.p+"assets/ideal-img/sciwp.79c702e.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/sciwp.79c702e.640.png",toString:function(){return s.p+"assets/ideal-img/sciwp.79c702e.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjElEQVR4nGNIzsjNyCvOzCtOyysuLigqKShKyy3OzC9JycpPzS5gkFXXk1HTlVPXk1Iz8LXS8LfWkFIzkFPXlVHTlVXTZZBQ1BRX0JBV01XVN7O2tbWxtdMwtJRV0xVX0JBQ1GSobWqDoJqmtoaWjoaWjhqYSG1TG8N/GPjz58/nL18/f/325+9fuCAAGIBDbSGsRM0AAAAASUVORK5CYII="}},67770:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sequence.fe52fcc.640.png 640w",images:[{path:s.p+"assets/ideal-img/sequence.fe52fcc.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/sequence.fe52fcc.640.png",toString:function(){return s.p+"assets/ideal-img/sequence.fe52fcc.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiUlEQVR4nC3LzQqCQBQG0Hn/d2kZBC2KKRJDqDAES9IoMRqwzfzcgbn3C6P14SiiEGO0zqWUmFkA/34E84yJiaISEQDbQzlbZXO9W6w3y/0xK2sAIvhzcPbVXtqTLnKdV3XXDwCYeWIRYXK+Key9Ojddeb15ot8WBcCaYTQGAAWKYYLg7GccAXwB4ZGLNWOSxI4AAAAASUVORK5CYII="}},63818:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/seven-innovation-base.e4e18d9.640.png 640w",images:[{path:s.p+"assets/ideal-img/seven-innovation-base.e4e18d9.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/seven-innovation-base.e4e18d9.640.png",toString:function(){return s.p+"assets/ideal-img/seven-innovation-base.e4e18d9.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcElEQVR4nD2Jyw6CMBQF+70VFpiYmsD3tfQHiCvjUl6umnjb+yiBKpNZnMxRADHGiIgikpATcv4DAKosZs6ZH69peI5ZmIjl4HcTEcB3WT/vcQ4hEFHpyjpfdP2utf1ZrPPqUl+LumrMvbuZVlfNGTdCf3wtuLlOUwAAAABJRU5ErkJggg=="}},73785:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/shotstack.c5e5673.640.png 640w",images:[{path:s.p+"assets/ideal-img/shotstack.c5e5673.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/shotstack.c5e5673.640.png",toString:function(){return s.p+"assets/ideal-img/shotstack.c5e5673.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAUUlEQVR4nHWLOw6AMAxDe/+DMvSXpSUiTWJUKiox8GTZw5PDEdNQO5lLKURkZv4AIIsEGQPAJRJTrpVa68yMl7BGVXufYvV6+9Ybd7eZ7/uPGzsfkzLJDKOJAAAAAElFTkSuQmCC"}},53505:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sicope-model.f8e7d36.640.png 640w",images:[{path:s.p+"assets/ideal-img/sicope-model.f8e7d36.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/sicope-model.f8e7d36.640.png",toString:function(){return s.p+"assets/ideal-img/sicope-model.f8e7d36.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AHXTwH7YxX3YxILayI3fzYnezIPbyIHbyHrUv3nUwQAJu5UIupQLvZYPvZchv50hv50QvZgIupMIu5QJu5QAmuPTmOHSjNXKmuPTkNjMkNrMm+TUm+TWmuPUmeLTAP////v5/eng8f////Hr9Pbx9/78/eLV5Pz5+////wD8/v7t8O/x9PLy9PTj5eTu8PDt7+/d39/z9fX+//826XLMc8fz/gAAAABJRU5ErkJggg=="}},99666:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/single-spa.df96d08.640.png 640w",images:[{path:s.p+"assets/ideal-img/single-spa.df96d08.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/single-spa.df96d08.640.png",toString:function(){return s.p+"assets/ideal-img/single-spa.df96d08.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAe0lEQVR4nD3JvQ7CMBAD4D4ZSwckYOKhKTsVA0pRGwRKR5Ca5s6+BkX8eLL9VVAlCSClJCKk0QxgjDElqfIvpKmqqIIGYJ7nnHNhI+/DLYz+0PTNsR+DHwYvIn9eoFN7fm7213rnTu0LmMyWLy+lZNdZvQ2r9ePiyv6cbxYRilNiUMjyAAAAAElFTkSuQmCC"}},98837:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/smart-docs.506f55b.640.png 640w",images:[{path:s.p+"assets/ideal-img/smart-docs.506f55b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/smart-docs.506f55b.640.png",toString:function(){return s.p+"assets/ideal-img/smart-docs.506f55b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmUlEQVR4nBWIMQ6CMBhGexOFAxhHzlVugS6aMIGDBgaNMhBw0giriZFoNQGvATTF76+mb3rvsUjcdu9q+7of6mfSiKQRRj5iXz+i6srscGaF3jjwppulE/tO7E/Wi1HgWaFnr+bMLXK3zPkl40XOTyk/p255NG5Oxr7D0LWtJvppA4G6tiPAJBFTSkkpAWitASilAPS9BBGAPygmcl/RZ+dwAAAAAElFTkSuQmCC"}},23637:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/smartcookieweb.0152918.640.png 640w",images:[{path:s.p+"assets/ideal-img/smartcookieweb.0152918.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/smartcookieweb.0152918.640.png",toString:function(){return s.p+"assets/ideal-img/smartcookieweb.0152918.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAd0lEQVR4nF3OyQ7DMAhF0fz/R1rqsEqUQZ5q2cCtjNQsyoIF7yBYAFQ6QwZmhpmiqsSYqPWDikzCMtsENRWu86K15jCEwL4fjmbuEINw7Ty2DekDEeH9fHEe5x8Eqgy6qQ8nXNfNz//qhilG/yeXQs7FF1LKN/wCSv/DiEDd+9QAAAAASUVORK5CYII="}},18846:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/smashgg.52a89b7.640.png 640w",images:[{path:s.p+"assets/ideal-img/smashgg.52a89b7.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/smashgg.52a89b7.640.png",toString:function(){return s.p+"assets/ideal-img/smashgg.52a89b7.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAb0lEQVR4nGP4/v37v3///oPBq1evnj178f///z9g8OvXLwaIBAR8/vL10+fPyCIMv379hqM/f//8/fsXWYQhLDYjIi4zNjkvPC4zOjEHRCblhsZmhIERg6ahg5aRo46Js4aBvYGlu4GFm6ahAxwBAL8VaZzlpozZAAAAAElFTkSuQmCC"}},99252:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/social-embed.7be8039.640.png 640w",images:[{path:s.p+"assets/ideal-img/social-embed.7be8039.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/social-embed.7be8039.640.png",toString:function(){return s.p+"assets/ideal-img/social-embed.7be8039.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AHGKqXSMq3KLqnmQroSbt4Sat3qSsHSNq3KMq3qQqgBNbZZMbZVObpZScJpfiZRehZVQbplOb5dLa5RbeJwA////////9vf5+vv8///9///++Pn68fL0/f79+fn5APn7/Pf4+PT09Pj5+f////7+/fv7+vf39/7+/vr6+gDJyc1fXGpkZXFdYG18foiIi5V6fYd6fIZ/gYvb3N5CP2mrAiFFVgAAAABJRU5ErkJggg=="}},62140:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sodaforsparc.c1ad414.640.png 640w",images:[{path:s.p+"assets/ideal-img/sodaforsparc.c1ad414.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/sodaforsparc.c1ad414.640.png",toString:function(){return s.p+"assets/ideal-img/sodaforsparc.c1ad414.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkUlEQVR4nGNIXTw/fenC9KULM5YuqlizsnzNqoyli9KXgETSlixgMGtrNmttsuhotepsi549I3r2TEsQu9W8rdmsrZnh379/////v/nxwddf3z98fP/uw7vfv3+fv3Lz5+8/////Z/gPBg9ePPr67eu7d+/evnv76+fPhw8e/P7zFyr979//f39BBBj8hQCIqQB3B3UG61YNOQAAAABJRU5ErkJggg=="}},3076:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/spicetify.2c762c1.640.png 640w",images:[{path:s.p+"assets/ideal-img/spicetify.2c762c1.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/spicetify.2c762c1.640.png",toString:function(){return s.p+"assets/ideal-img/spicetify.2c762c1.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/ALqJYriJX7eJXbmPXauGVK2JVbqVWbWUV7qbWrKVUwDen3HQmm3Om2rBjWKshVykgFS3k1vPp1/JpFrfumYAIyYwLzlHLzhFFhktHCA0ICEyHR8uKCwwLCswODpEAMKJZ8GSccaYc6J6WY52YJ+Ea6eAVa2MWLqVXr6cYACMa1aLa1ONbVaMblGVfGKOdlmMc1Cfh2OPelOKdk2glUSYPhhZwQAAAABJRU5ErkJggg=="}},18185:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/spotifyapi-net.ecc794b.640.png 640w",images:[{path:s.p+"assets/ideal-img/spotifyapi-net.ecc794b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/spotifyapi-net.ecc794b.640.png",toString:function(){return s.p+"assets/ideal-img/spotifyapi-net.ecc794b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoElEQVR4nGNQnuil2OOu0Omm2OOhUOWsmuKgmuqolOEg3+Gq3OfJILMvVGZfqPLGEN29MarNvoaGbnomrhouLrK7QmX2hzHIHgqXORSusStcb3ek6vpgxRnBSjOCFOYFyR4Mlz0UziCVZCKVZCKZbCyVZCKdbiaTbSaRYSyZDhKUSjJhkOATk+ATVZLR1FY20ZQ3UJLQUhTXlBdRBouLAQAyECkbg5k2kQAAAABJRU5ErkJggg=="}},37105:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sqlframes_docusaurus.5ad9414.640.png 640w",images:[{path:s.p+"assets/ideal-img/sqlframes_docusaurus.5ad9414.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/sqlframes_docusaurus.5ad9414.640.png",toString:function(){return s.p+"assets/ideal-img/sqlframes_docusaurus.5ad9414.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AH3KwI7dy4vbypPh0KPm16Hl1pXi0YvZxonXx43czAALvZYKu5UEupMlv55Kw6pJw6olwJ8DupMJu5UIupQAe9rFdtjDetvGid3LldzOmN/Rid3LedrEfNvGe9rFAP///+Lq7MbBy////9Ly7uLr6//9/dTc4Obm6v///wD////r6+2ztL75+/vw9fTq6+z6+/vh5ebo6uv///9nanGiX4TeqgAAAABJRU5ErkJggg=="}},7030:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/stackql.0fd8c39.640.png 640w",images:[{path:s.p+"assets/ideal-img/stackql.0fd8c39.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/stackql.0fd8c39.640.png",toString:function(){return s.p+"assets/ideal-img/stackql.0fd8c39.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmUlEQVR4nGOYveXIgu3HFm4/Nm8riLFk57Flu08s231i8a4T87YcYmCwSxL2L7DK7ZALL2ewS5i1Ysu9B48nL93AYB3P6JTGwGCTwB9YopHbx+VTwOSQPGP5hht37k9YvA4k7ZDCsPXEpc3HL67ef2rDkfNr9p/adPjMhoOn1uw9vuX4pa0nLjH8h4B/f///+/f/HxSA2GAAAON5YR9FKE1XAAAAAElFTkSuQmCC"}},22261:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/stryker-mutator.076515b.640.png 640w",images:[{path:s.p+"assets/ideal-img/stryker-mutator.076515b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/stryker-mutator.076515b.640.png",toString:function(){return s.p+"assets/ideal-img/stryker-mutator.076515b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjklEQVR4nCXJQQ6CMBAAwL5DEyMlFAya0q3bAu1ukQMSE72IX/Bq/P/FEJO5jUDXVdAX2intlXaVcVK7A/R14/Mjip3hAqn0K4W0aVLgdLv7rebSj2LfMKZ+mnGa0Y/+2dL3MSzLWdlY4CAkUAZ0xfaFLofwDuEzXeouZiaqf0sgZamyLIFONjKSNLy2G35tBR+xYuiIngAAAABJRU5ErkJggg=="}},22475:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/stylable.2db45c1.640.png 640w",images:[{path:s.p+"assets/ideal-img/stylable.2db45c1.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/stylable.2db45c1.640.png",toString:function(){return s.p+"assets/ideal-img/stylable.2db45c1.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAc0lEQVR4nB3J2w3DIAwAQKYoBmzjJylEqrr/dFUq3d8Vi6WeU1wszHJqTPEp7nnFOmWQPFCIZa+3xjVIkHWQDpLSOkIbJGb7EBtLIM2B3Dq2jgVarwBi4fs2ddFQz4EE0KD1p18VIvP7uX2fPHutYOb67x+zWRKRZ5D0BAAAAABJRU5ErkJggg=="}},85882:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/svix.ee9fa1d.640.png 640w",images:[{path:s.p+"assets/ideal-img/svix.ee9fa1d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/svix.ee9fa1d.640.png",toString:function(){return s.p+"assets/ideal-img/svix.ee9fa1d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdUlEQVR4nC3MWwrCMBAAwNz/lpUK3ZK0unnsM1kR/R6YVLATUa319UZ3j4gVKyJIXdTSIHL3A2DbHogV22idVM3nXGslFplz3vddrgvgzDmTmM9vEBFpjGFmcMK+P48Dci6IyMx/br2bWetMzKoqoiJiZj/+AKUzkF4HokjMAAAAAElFTkSuQmCC"}},77304:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/sweetcode.a0f7999.640.png 640w",images:[{path:s.p+"assets/ideal-img/sweetcode.a0f7999.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/sweetcode.a0f7999.640.png",toString:function(){return s.p+"assets/ideal-img/sweetcode.a0f7999.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAk0lEQVR4nBXBSwrCMBAA0JzfIwiCGzfSRRFBUPBDEZceoRQKtsWm7SRpZtJkRnxPzdYtiAkxEoUQiIiZEb1zjsKihnFsy3Ksqr6uP03Ttk1MXFzPj8spJlYOjP72A8BkDCISkYgcD3mW7ZlFeU8AgIiztc4AEcW/ZKYhLkF577uuE5Fncd9t18ZarbWI5JvV+3X7AVt0iY/Eyk0AAAAAAElFTkSuQmCC"}},32132:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/synergies.e793ef2.640.png 640w",images:[{path:s.p+"assets/ideal-img/synergies.e793ef2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/synergies.e793ef2.640.png",toString:function(){return s.p+"assets/ideal-img/synergies.e793ef2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAjUlEQVR4nBXMSw6CMBRAUdZD6L8PoQX6+okIQWMQcSADJ8b978B0cmfnFkyjSXczvaS9EDlQjVSjbBKvvTiFgihnw3VcNhdnBp4CUu1YLnLAohR9Gm+f43juu6iHShgOjoi2Eh0Hn7WySZnUxNVO7346VDeXzBDlss6TOnJAm7Z5/50fXxNX1QaqPQP8A6+QI733qG8NAAAAAElFTkSuQmCC"}},41421:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/talentbrick.fe9375b.640.png 640w",images:[{path:s.p+"assets/ideal-img/talentbrick.fe9375b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/talentbrick.fe9375b.640.png",toString:function(){return s.p+"assets/ideal-img/talentbrick.fe9375b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AHq88H7B84TF94DE+H7E+X/E+YLF+YDC9H7B83m87gAFjPIIjPEIjPEvmuo9nuk4nOomluwGjPIKjvEFjPIAesL3eMH4eMH4iMX0iMLwhMPyhMX1db72dr32e8L3AP///9jp8d/t9P///9Lh693n7f///9jj6tni5f///wD8/f7q7e/s8PH+/v7m7O/r7e/8/P3o6+zo6ur6+/w8wnSFQt3mKwAAAABJRU5ErkJggg=="}},74581:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/tamalwebsite.162d49f.640.png 640w",images:[{path:s.p+"assets/ideal-img/tamalwebsite.162d49f.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/tamalwebsite.162d49f.640.png",toString:function(){return s.p+"assets/ideal-img/tamalwebsite.162d49f.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAjElEQVR4nDWOQQ7CIBQFe/9rubAewIWuja1KKAXK/1DLGNo4ydtNJq+T5FlSQlWJooSkBMmUb0XbtkrOmc7aCe89mgv9IJyeSj8q50G4jMI7fWl0IQTmeUZEuBrhZpWyQShH8U/Xaq6JqtwfL6yPZBXqtgGVWg95L1prWWLETRPGfDDG4JzbL7Wt68oPCzPAdzCtgvkAAAAASUVORK5CYII="}},75947:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/tauri.f75a32b.640.png 640w",images:[{path:s.p+"assets/ideal-img/tauri.f75a32b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/tauri.f75a32b.640.png",toString:function(){return s.p+"assets/ideal-img/tauri.f75a32b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAh0lEQVR4nBWMwQrCMBAF8///pKUXQXoRiyhIW6EVCyKaptlussk+yWUY5jBmd/pVravOrm798R6aLu5bqi90uBUagQLIAMf3a+ymcUCaU5YPAdiMFcANTN+ntUPfd/1js9Piw3VGjoshxWpHCU4SPLFIymUn0BWJTFT1qqEkMAdmLpajiofGP6UHjPhFh546AAAAAElFTkSuQmCC"}},28033:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/techharvesting.aa52d87.640.png 640w",images:[{path:s.p+"assets/ideal-img/techharvesting.aa52d87.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/techharvesting.aa52d87.640.png",toString:function(){return s.p+"assets/ideal-img/techharvesting.aa52d87.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAnklEQVR4nGOIbZ0Y1dQX0dATVtfpX1LvX1ofVtcZ0dgb0dAT3dzH0HL6Pgidfdh84nbXoUtdhy41nbjdcvZhy5kHLWceMLgmpLvGp7vFpzsnZmZnF2RlFzglZrrFgwRd49MZJMXEpcQlJETFpKWklSQlFcUlZKSkJcXEJUTFJETFGOQUVOQUVWTklOSVVOWV1WUVVeWVVGUVlGXlQQgAsWA1AWbgLAwAAAAASUVORK5CYII="}},75562:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/testing-library.4d8a910.640.png 640w",images:[{path:s.p+"assets/ideal-img/testing-library.4d8a910.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/testing-library.4d8a910.640.png",toString:function(){return s.p+"assets/ideal-img/testing-library.4d8a910.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAa0lEQVR4nDWOSw7DQAxC5/437KrLJItGSjMfsD2mSpsiVjyBKAZGhKTMJAFA0qzVWoNZ0V+ZuSzbum4pxWuffUgqIEH7mn2gD5AOD9iVlB+jOc1b67W1kydwd+5xdz+O94xpzuf+iHm9kfQBOq2R4leK/nsAAAAASUVORK5CYII="}},29223:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/the-diff.5f422f2.640.png 640w",images:[{path:s.p+"assets/ideal-img/the-diff.5f422f2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/the-diff.5f422f2.640.png",toString:function(){return s.p+"assets/ideal-img/the-diff.5f422f2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAj0lEQVR4nGNIT9+Zmro9OWVrUvLWrOztWdnbk5K3JqdsTUndlpm1m6Gi4nElGFWUP25pedTa+qiiHCZS8ZhBXFwahMRkBIXEIuPiy8pq5ORUREQkxcVlxMWlGQQF+QUFBfgFeSSF5cItcrLjc5RVFXl5uYWEBAQF+RmEIEBAUFhWwtg12MPGTUpSREAQKgwAYnktr9kbozgAAAAASUVORK5CYII="}},98871:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/tidb-community-book.ecdb78a.640.png 640w",images:[{path:s.p+"assets/ideal-img/tidb-community-book.ecdb78a.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/tidb-community-book.ecdb78a.640.png",toString:function(){return s.p+"assets/ideal-img/tidb-community-book.ecdb78a.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAfUlEQVR4nFWOSw6DMBQDuf8N2y6K6IZE8CB/kUCmCgtKLdmrke1u0TPeBxYRjLWEGKm1clcuhc5YR86ZYfjweL549z0icnpZ1wvuYkoc9UBrjVKKWQSlNOOoWO9gi7Y0TdPZ0OaNMaSUKGX/B5u8j1jncS6wbZl9P6j8vn4BIcbBjMRpafkAAAAASUVORK5CYII="}},2282:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/tinaeldevresse.3131a0e.640.png 640w",images:[{path:s.p+"assets/ideal-img/tinaeldevresse.3131a0e.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/tinaeldevresse.3131a0e.640.png",toString:function(){return s.p+"assets/ideal-img/tinaeldevresse.3131a0e.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAVklEQVR4nF2MUQ5AMBAF3f9iJEh8ILgEHza2su1IW0HM35tJXuH0CAlgnpahH4FsTucKEjk3bVdWNeB9nMCdATMTkV3EzB755hDCukXy0z8Dqk5Vv+YC7XCSMbeCfzcAAAAASUVORK5CYII="}},35036:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/tooljet.4da0cf2.640.png 640w",images:[{path:s.p+"assets/ideal-img/tooljet.4da0cf2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/tooljet.4da0cf2.640.png",toString:function(){return s.p+"assets/ideal-img/tooljet.4da0cf2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhElEQVR4nCXJ2w6CMAwA0P3/z6kxkaAx8AJyGd0GXbsB7Uz0vB5ze4a6jZfKPt6h+RxNl5s+1228v/y1Wsyek6oA2MnOzgMsk4OZaJNzL6pm3fA4xfl1GG3Xj8MwA4QNSbSoFkOcRITTEVZ03rtALqTIufwYxHiKUMrEKWUmzr1FjPzvLzbijaDXSEfCAAAAAElFTkSuQmCC"}},92703:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/tremor.19ae6ad.640.png 640w",images:[{path:s.p+"assets/ideal-img/tremor.19ae6ad.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/tremor.19ae6ad.640.png",toString:function(){return s.p+"assets/ideal-img/tremor.19ae6ad.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AIqby4iZyImZyIiYyI2dzY+fzo2dzYSUxImZyoeWxQAmRqArSaMtS6MwT6VGYKxFYKwvTqUsS6MqSaInRqEARF+tRmGuSGOwR2KvcYa/cYS+RmGuTGaxSGKvQ1+tAO/x+Ojq893e6fP2/bK1xqyvwfr9/8DH3tzh7vLz+QD////v8PLl5ur///+6u8XHydX////N0eLt7vX///8Dh2KCKYOvyAAAAABJRU5ErkJggg=="}},41025:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/trpgengine.1b12f8c.640.png 640w",images:[{path:s.p+"assets/ideal-img/trpgengine.1b12f8c.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/trpgengine.1b12f8c.640.png",toString:function(){return s.p+"assets/ideal-img/trpgengine.1b12f8c.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcElEQVR4nE3Jyw6CQAxGYd7/ydiZGDSSqmEDyKozHdBhaP+68HqW56sey6JmAOBgDpJmAKqac17XUvknACny0JGZfeebOd3dndornc6Ai8w/1rINnIpZXe+ahiSmC3V/rHrYH2MU5hBCHMep728vfgLYfY9+DjgqogAAAABJRU5ErkJggg=="}},98942:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/uniforms.4f92da2.640.png 640w",images:[{path:s.p+"assets/ideal-img/uniforms.4f92da2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/uniforms.4f92da2.640.png",toString:function(){return s.p+"assets/ideal-img/uniforms.4f92da2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AGRghWtlim1rkGtsjmppi25si25ujGxvj2pqi2RhhQAYEEcgF1MjIl4bJ1sbHlEgIjN4e4jDxdfKztt7e5sAGxNKIh9VKiJbHBJJHxdNHyMxpKam////////oJ61AExHcFhRhGNYlE5JdFBMdUtJZpymuNrs+tzv+qCowQD7+/z5+vn4+Pf9/f3q6fPq5vP3+v3w9/vx+P32+fwZklLHPQQ2YAAAAABJRU5ErkJggg=="}},15241:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/unleash.07f0ea2.640.png 640w",images:[{path:s.p+"assets/ideal-img/unleash.07f0ea2.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/unleash.07f0ea2.640.png",toString:function(){return s.p+"assets/ideal-img/unleash.07f0ea2.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAi0lEQVR4nB3MQQrCMBBG4dz/Ch5Ai3Qjgmh3unPhEUS7UBFJzSSTJpl0frH79z3zsZaZibxzVGsFICLMPAx2TNlYO6SUcinrXXc8X2QuACigqiYELnVC9M1y1ewPj562Ld/uBcA0qXGORCQyL5pN251GYveOKc8DVUPeq6oP8fp0/eubcpZaRP4awA80NouOR+/F0AAAAABJRU5ErkJggg=="}},48244:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/unmand.9ae332a.640.png 640w",images:[{path:s.p+"assets/ideal-img/unmand.9ae332a.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/unmand.9ae332a.640.png",toString:function(){return s.p+"assets/ideal-img/unmand.9ae332a.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhUlEQVR4nC3JWw6CMBBG4a4JSNSauEjq2owhyqM+GKE3OpVO5zde3k7OpwCIYJrWJa21MjMDcruvSxIA6styHafLOPuQa5WUymmgx7P8GYD34TxY5yKEXWAf6+8rokK5hJitfc02OLeklGMkIiYqqtWm25vN4djpvtn2rTbNrm92n2i1eQOhXn2NaQ2UagAAAABJRU5ErkJggg=="}},88144:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/verdaccio.665e238.640.png 640w",images:[{path:s.p+"assets/ideal-img/verdaccio.665e238.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/verdaccio.665e238.640.png",toString:function(){return s.p+"assets/ideal-img/verdaccio.665e238.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAb0lEQVR4nD3Nuw4CMQxE0fz/zyEaHhLQgChoMEs28TiOZ5Ugcco7xSSdzCwiVKvWVYGqeni+X5ITzNAGksfz/nLakVRACgosee8RwemziCxC0t1j9vQbRgrK/SqPm/8Tmdy9tYaprrnk77iDAejuG8yukTEpgTqmAAAAAElFTkSuQmCC"}},47909:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/verida-developers.c53d911.640.png 640w",images:[{path:s.p+"assets/ideal-img/verida-developers.c53d911.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/verida-developers.c53d911.640.png",toString:function(){return s.p+"assets/ideal-img/verida-developers.c53d911.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAbUlEQVR4nCWNUQ7DIAxDuf9JN+jaICiUxE4mNn89+Ul2WmqqtlTNNqgqgIgACDDFL6oql5RSSs4iF8l/n+hRG8bgNH+emOb37X3g+MAZCfRyjt70kFHrkr7ye7bBV1lb7xvS4IAb3GwDLdz3+BcqRpHtfA4iDAAAAABJRU5ErkJggg=="}},30233:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/virtual-photography-kit.a01ffbe.640.png 640w",images:[{path:s.p+"assets/ideal-img/virtual-photography-kit.a01ffbe.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/virtual-photography-kit.a01ffbe.640.png",toString:function(){return s.p+"assets/ideal-img/virtual-photography-kit.a01ffbe.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkElEQVR4nC3OuwrCQBCF4X1vH8FOEEEigoWFD5AYUgpqVMiKUYQU4sYlCoKguTnOzgjZ/OX5miMAwBjDTUSk1C05HZLtgpgRUVioyvKpdV1XrudPncGs2zFNLRv4FVeFiME8GPf6k+HoC8DMLX/yHBCL9+u8lxvX2y1XdhdExMxxJO/Z4yLD9BhlqY7Xob3yB1Prh5Ek+nscAAAAAElFTkSuQmCC"}},53199:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/vue-nodegui.59a0e1d.640.png 640w",images:[{path:s.p+"assets/ideal-img/vue-nodegui.59a0e1d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/vue-nodegui.59a0e1d.640.png",toString:function(){return s.p+"assets/ideal-img/vue-nodegui.59a0e1d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AGrQunDWwHDWwHDXwG/JtnTNuW/WwG3SvGnOt23SvAAiwJ0hv5wgvZoiwp8xsJQ+u58gwZ0hv5wiwJ0hv5wAL8OiMMSjNsmoNMSlPMmqO8epNMOkM8SkL8OiL8OiAM3y6sPp4aDIw83x6cDn38Po4cnw57Dl2sfu5szw6AD////5+Pna2Nv////m5ejp5un////x8fH9/P3///9WEGj+IXurOQAAAABJRU5ErkJggg=="}},34805:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/warrant.0301ca4.640.png 640w",images:[{path:s.p+"assets/ideal-img/warrant.0301ca4.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/warrant.0301ca4.640.png",toString:function(){return s.p+"assets/ideal-img/warrant.0301ca4.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAa0lEQVR4nDXMyw7DIAxEUf7/PxNHGPKwQ21soFVLczazuNIEopeIppQwYmvt/RCp13UGYnb3GCMAtMcYw9x774Hvu5rlvCPicZzlx8zmR1Ct7p7zvq4A28bMpRRV/ec5iGlZvp2IRMTdZ/4AoeSQFVd41XEAAAAASUVORK5CYII="}},11370:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/wasp.0a4f647.640.png 640w",images:[{path:s.p+"assets/ideal-img/wasp.0a4f647.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/wasp.0a4f647.640.png",toString:function(){return s.p+"assets/ideal-img/wasp.0a4f647.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/APb07vLz9ff3+Pj4+fv7+/r6+uLj5dra3tPT1enq7AD08/Pl5Obm5ufk5ebz8/Tc3eBAQlM4O0wmKjyeoKgA9Pv85erp6Ors9vf4////1tfaKSs9Iyc3DhMlk5WeAPz///r8+/7//v////////Lz9bO3xrG1xaWnsNfX2gD////w8PGmp66lpqyhoqy4trLz5Kfz46X8+u/////G7XdmKPtU9AAAAABJRU5ErkJggg=="}},73481:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/webdriverio.c829300.640.png 640w",images:[{path:s.p+"assets/ideal-img/webdriverio.c829300.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/webdriverio.c829300.640.png",toString:function(){return s.p+"assets/ideal-img/webdriverio.c829300.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAfElEQVR4nF2NwQrCMBBE+/8/JXhV6F1LxaJSpVqTTTYe0jxJaEVdGBbezM5Wvu8QVUQs6j3iFes8QZUQAuP4wDlHxTJpKivuNsS2nln62F/BRJhg6Br6Y4vGAv+C8+XrtMfWKy7bNdI1P61V/p/1NAa53zDnA5I1XAtb/DeK3cDzMUiW+gAAAABJRU5ErkJggg=="}},88172:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/woodpecker.81c8f5a.640.png 640w",images:[{path:s.p+"assets/ideal-img/woodpecker.81c8f5a.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/woodpecker.81c8f5a.640.png",toString:function(){return s.p+"assets/ideal-img/woodpecker.81c8f5a.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmUlEQVR4nGNw7fF06XZ37HRxaHW2r3ZyqHN2aHV27HBx7/VwaHdlcF/k5bbQy3dFoNci35j58bELE70W+fmsCHBb5OW+2JtBUlZaWl62oaXJwtbKxsHOxMLM3NqypqFOXFpSSk6GQUxMQlpK1szcUllZVV/fUEdHT1lF1dzcUkJCSlxckkFCUkpCUkpMXALMkIRzJaWkJSSlAB18JUNyPd2RAAAAAElFTkSuQmCC"}},54851:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/yeecord.166597d.640.png 640w",images:[{path:s.p+"assets/ideal-img/yeecord.166597d.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/yeecord.166597d.640.png",toString:function(){return s.p+"assets/ideal-img/yeecord.166597d.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlklEQVR4nAXB3Q6CIBgAUN6hG4NP4ENAsxRrM6mFmKut1s/6uWjrsvd/iM4heVF23qNUnEulNGKmlNbaam2NtqQsXejPt/tr2I9h13u/CSGGENu2s7YgZubr1bWaL1ztKGBCAVIxpRKAI2aEAQquDs/PROTvWBzXlUTovUgSJgQSSplI08v3B7l7DMvTtjHWjrFhjHMu/+dIGevGS7dqAAAAAElFTkSuQmCC"}},91570:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/zowe.5b36a1b.640.png 640w",images:[{path:s.p+"assets/ideal-img/zowe.5b36a1b.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/zowe.5b36a1b.640.png",toString:function(){return s.p+"assets/ideal-img/zowe.5b36a1b.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nAGbAGT/AIWr64mu64it64et7Iqu642x74ux8Imu7YKn5Yar6gAeaOMeaOMbZuIydeRRiedPiOcydOQbZuMeaeUeaOQAfKbsfKfsfKjvlbfupMHwpsLxlrfvfKbrfKXpfKXqAP38+fj5+ezy9v///O/1+fH09////83V4aartt7f5AD+///8/f7u8PP6+vr4+fv39/j///7v8/nq7vT5+vw83HJhsqokYgAAAABJRU5ErkJggg=="}},15723:function(e,t,s){e.exports={src:{srcSet:s.p+"assets/ideal-img/zxuqian.2c50d0f.640.png 640w",images:[{path:s.p+"assets/ideal-img/zxuqian.2c50d0f.640.png",width:640,height:320}],src:s.p+"assets/ideal-img/zxuqian.2c50d0f.640.png",toString:function(){return s.p+"assets/ideal-img/zxuqian.2c50d0f.640.png"},placeholder:void 0,width:640,height:320},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkUlEQVR4nAXBSwrCMBAA0BzehbfwGt2IG8GdQqmfYgoWxf7EJO1MYiaf8T0BPlJmn7JBp8GpxQ5fA540INifSDESEYXEzCEEXJBznieAyM2pEsrM7at79OAoWcT6Iqvyii5y4uJ2FsOc7z29VUDK9cTbY7faHJz3NrB6SiHHtG+SHCMzl60pKljvvF6sBvdR+AfPLYsDf4CN1wAAAABJRU5ErkJggg=="}},21811:function(e,t,s){"use strict";s.d(t,{Z:()=>r});var i=s(85893);s(67294);var A=s(66222),a=s(77827);function o(e,t){switch(e){case"noicon":case"loaded":return null;case"loading":return(0,a.I)({id:"theme.IdealImageMessage.loading",message:"Loading...",description:"When the full-scale image is loading"});case"load":{let{pickedSrc:e}=t,{size:s}=e,i=s?` (${function(e){let t=["B","KB","MB","GB","TB"];if(0===e)return"n/a";let s=Math.floor(Math.log(e)/Math.log(1024));return 0===s?`${e} ${t[s]}`:`${(e/1024**s).toFixed(1)} ${t[s]}`}(s)})`:"";return(0,a.I)({id:"theme.IdealImageMessage.load",message:"Click to load{sizeMessage}",description:"To prompt users to load the full image. sizeMessage is a parenthesized size figure."},{sizeMessage:i})}case"offline":return(0,a.I)({id:"theme.IdealImageMessage.offline",message:"Your browser is offline. Image not loaded",description:"When the user is viewing an offline document"});case"error":{let{loadInfo:e}=t;if(404===e)return(0,a.I)({id:"theme.IdealImageMessage.404error",message:"404. Image not found",description:"When the image is not found"});return(0,a.I)({id:"theme.IdealImageMessage.error",message:"Error. Click to reload",description:"When the image fails to load for unknown error"})}default:throw Error(`Wrong icon: ${e}`)}}function r(e){let{img:t,...s}=e;return"string"==typeof t||"default"in t?(0,i.jsx)("img",{src:"string"==typeof t?t:t.default,...s}):(0,i.jsx)(A.default,{...s,height:t.src.height??100,width:t.src.width??100,placeholder:{lqip:t.preSrc},src:t.src.src,srcSet:t.src.images.map(e=>({...e,src:e.path})),getMessage:o})}},11660:function(e,t,s){"use strict";s.d(t,{c:()=>n});var i=s(67294),A=s(8156);let a=["zero","one","two","few","many","other"];function o(e){return a.filter(t=>e.includes(t))}let r={locale:"en",pluralForms:o(["one","other"]),select:e=>1===e?"one":"other"};function n(){let e=function(){let{i18n:{currentLocale:e}}=(0,A.Z)();return(0,i.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:o(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),r}},[e])}();return{selectMessage:(t,s)=>(function(e,t,s){let i=e.split("|");if(1===i.length)return i[0];i.length>s.pluralForms.length&&console.error(`For locale=${s.locale}, a maximum of ${s.pluralForms.length} plural forms are expected (${s.pluralForms.join(",")}), but the message contains ${i.length}: ${e}`);let A=s.select(t);return i[Math.min(s.pluralForms.indexOf(A),i.length-1)]})(s,t,e)}}},27229:function(e,t,s){"use strict";let i;s.r(t),s.d(t,{default:()=>$});var A=s(85893),a=s(77827),o=s(35363),r=s(88408),n=s(57922),p=s(67294),g=s(97486),c=s(11660);function d(e,t){let s=[...e];return s.sort((e,s)=>t(e)>t(s)?1:t(s)>t(e)?-1:0),s}let l=[{title:"AI-Speaker",description:"Local, reliable, fast and private Audio and IoT gate.",preview:s(4012),website:"https://ai-speaker.com/",source:"https://github.com/sviete/AIS-WWW",tags:["opensource"]},{title:"Akara's blog",description:"Personal frontend blog for learning",preview:s(52141),website:"https://messiahhh.github.io/blog/",source:"https://github.com/messiahhh/blog",tags:["opensource","personal"]},{title:"Algolia DocSearch",description:"The best search experience for docs, integrates in minutes, for free",preview:s(38118),website:"https://docsearch.algolia.com/",source:"https://github.com/algolia/docsearch/tree/main/packages/website",tags:["favorite","opensource","product"]},{title:"Apache APISIX",description:"A Dynamic, Real-Time, High-Performance Cloud-Native API Gateway",preview:s(8506),website:"https://apisix.apache.org/",source:"https://github.com/apache/apisix-website",tags:["opensource","i18n","large"]},{title:"Apex FP",description:"Functional programming library for Salesforce Apex",preview:s(79920),website:"https://www.apexfp.org",source:"https://github.com/ipavlic/apex-fp/tree/master/website",tags:["opensource"]},{title:"Astronomer",description:"Enterprise-grade framework for Apache Airflow. Production-ready Airflow environments with just a few clicks",preview:s(19806),website:"https://docs.astronomer.io",source:"https://github.com/astronomer/docs",tags:["product","versioning","opensource"]},{title:"AvN Gateway",description:"The AvN Gateway API is the fastest way to interact with the Aventus Network Blockchain.",preview:s(61883),website:"https://aventus-network-services.github.io/avn-gateway-docs/",source:null,tags:["versioning","product"]},{title:"Awe framework",description:"Awe framework, Build light-weight and functional websites quickly",preview:s(79866),website:"https://docs.aweframework.com/",source:"https://gitlab.com/aweframework/awe/-/tree/develop/website",tags:["opensource","i18n","versioning"]},{title:"Bandwidth",description:"Add powerful communications capabilities to your app from the only API platform with it\u2019s own tier-1 carrier network.",preview:s(98053),website:"https://dev.bandwidth.com/",source:"https://github.com/Bandwidth/api-docs",tags:["opensource","large","product"]},{title:"johnnyreilly.com",description:"The blog of John Reilly \u2764\uFE0F\uD83C\uDF3B",preview:s(56187),website:"https://johnnyreilly.com/",source:"https://github.com/johnnyreilly/blog.johnnyreilly.com",tags:["opensource","personal","large"]},{title:"Blog Matheus Brunelli",description:"Desenvolvimento de software, carreira, dicas de livros e muito JavaScript!",preview:s(59881),website:"https://mrbrunelli.github.io/blog/",source:"https://github.com/mrbrunelli/blog",tags:["opensource","personal"]},{title:"Blogasaurus",description:"A blog written using Docasaurus.",preview:s(43660),website:"https://blog.palashsh.me/",source:"https://github.com/BattleOfPlassey/blogasaurus",tags:["personal","opensource"]},{title:"Botonic",description:"Build Chatbots and Conversational Apps Using React",preview:s(96864),website:"https://botonic.io/",source:"https://github.com/hubtype/botonic/tree/master/docs/website",tags:["opensource"]},{title:"BoxyHQ",description:"Enterprise Readiness made simple",preview:s(82372),website:"https://boxyhq.com/",source:"https://github.com/boxyhq/website",tags:["opensource"]},{title:"Brainboard IDE",description:"The new way to operate & manage your Cloud:\xa0visually.",preview:s(90368),website:"https://docs.brainboard.co/start/cloud-use-cases",source:null,tags:["product","design"]},{title:"Bruce's Wiki",description:"A personal wiki by Bruce Song",preview:s(23367),website:"https://wiki.brucesong.xyz/",source:"https://github.com/recallwei/wiki",tags:["opensource","design","personal"]},{title:"Build Tracker",description:"Track performance budgets & prevent unexpected bloat in your app",preview:s(82104),website:"https://buildtracker.dev",source:"https://github.com/paularmstrong/build-tracker/tree/main/docs",tags:["opensource"]},{title:"Chaos Mesh",description:"A Powerful Chaos Engineering Platform for Kubernetes.",preview:s(27652),website:"https://chaos-mesh.org",source:"https://github.com/chaos-mesh/website",tags:["opensource","product","i18n"]},{title:"ChatKitty",description:"A full suite of developer tools for any chat use-case.",preview:s(58214),website:"https://chatkitty.com",source:null,tags:["product"]},{title:"ClarityChallenge",description:"Documentation for the Clarity machine learning challenges for improving hearing aid signal processing",preview:s(73934),website:"https://claritychallenge.github.io/clarity_CEC1_doc",source:"https://github.com/claritychallenge/clarity_CEC1_doc",tags:["opensource"]},{title:"Clutch",description:"An extensible API and UI platform for infrastructure tooling",preview:s(58169),website:"https://clutch.sh/",source:"https://github.com/lyft/clutch/tree/main/docs/_website",tags:["opensource"]},{title:"Component Kit",description:"A declarative UI framework for iOS",preview:s(97853),website:"https://componentkit.org",source:null,tags:["meta"]},{title:"ConfigCat Feature Flags",description:"A feature flag and remote configuration service.",preview:s(47184),website:"https://configcat.com/docs/",source:"https://github.com/configcat/docs",tags:["opensource","product"]},{title:"Console Table",description:"Printing Pretty Tables on your console.",preview:s(64788),website:"https://console-table.netlify.app/",source:"https://github.com/ayonious/console-table-docu",tags:["opensource"]},{title:"Country State City API",description:"Get simplified countries, states & cities data without bloating up your database.",preview:s(69028),website:"https://countrystatecity.in/",source:"https://github.com/dr5hn/csc-website",tags:["opensource","product"]},{title:"Create React App",description:"Set up a modern web app by running one command",preview:s(14980),website:"https://facebook.github.io/create-react-app/",source:"https://github.com/facebook/create-react-app/tree/main/docusaurus/website",tags:["opensource","meta"]},{title:"Daily Digest - COVID-19 IN FRANCE",description:"A website that presents daily COVID-19 statistics and news in France in the form of a daily digest.",preview:s(10829),website:"https://covid-fr.misterfishup.com/en/",source:"https://github.com/MisterFISHUP/covid-19-in-france",tags:["opensource","i18n","large"]},{title:"Dart Code Metrics",description:"Static analysis tool that helps analyse and improve Dart code quality.",preview:s(91493),website:"https://dartcodemetrics.dev/",source:"https://github.com/dart-code-checker/dart-code-metrics",tags:["opensource"]},{title:"Datagit",description:"A Persian tutorial website strives to make quality education for everyone.",preview:s(87022),website:"https://datagit.ir/",source:"https://github.com/massoudmaboudi/datagit",tags:["opensource","favorite","rtl"]},{title:"DevSpace",description:"Deploy & Develop Kubernetes Apps",preview:s(74596),website:"https://devspace.sh/cli/docs/",source:"https://github.com/loft-sh/devspace/tree/master/docs",tags:["opensource"]},{title:"difranca | Tech-Notes",description:"This documentation aims to comprise my learning notes on various tech subjects.",preview:s(95502),website:"https://difranca.github.io/",source:"https://github.com/difranca/difranca.github.io",tags:["opensource","personal"]},{title:"Digital Support Services Notes",description:"Open source documented notes for Digital Support Services.",preview:s(70852),website:"https://notes.nayanpatel.net",source:"https://github.com/PatelN123/Digital-Support-Notes",tags:["opensource","design","personal"]},{title:"Discord Resources",description:"All Discord resources in one place",preview:s(99747),website:"https://discordresources.com/",source:"https://github.com/Discord-Resources-Wiki/Discord-Resources-Wiki",tags:["opensource"]},{title:"Divine Web Service Framework",description:"A divine collection of awesome web-related Node.js modules",preview:s(83966),website:"https://divine-software.github.io/WSF/",source:"https://github.com/Divine-Software/WSF/tree/master/website",tags:["opensource"]},{title:"Djamaile Rahamat",description:"Djamaile Rahamat Blog on making cool stuff",preview:s(24996),website:"https://djamaile.dev/",source:"https://github.com/djamaile/portfolio",tags:["opensource","personal"]},{title:"Draft.js",description:"Rich Text Editor Framework for React",preview:s(97121),website:"https://draftjs.org/",source:"https://github.com/facebook/draft-js/tree/main/website",tags:["opensource","meta"]},{title:"Drayman",description:"Server-side component framework",preview:s(63427),website:"https://drayman.io/",source:"https://github.com/Claviz/drayman/tree/main/docs",tags:["opensource"]},{title:"Dyte",description:"The most developer friendly live video SDK",preview:s(71055),website:"https://docs.dyte.io",source:"https://github.com/dyte-in/docs",tags:["favorite","product","design","versioning","large","opensource"]},{title:"easy-dates",description:"JavaScript dates library",preview:s(79339),website:"https://easy-dates.dev",source:"https://github.com/sandypockets/easy-dates/tree/main/docs",tags:["opensource"]},{title:"Easypanel",description:"Server control panel based on Docker",preview:s(2148),website:"https://easypanel.io",source:null,tags:["product"]},{title:"Eightshift",description:"All the tools you need to start building a modern WordPress project, using all the latest development tools.",preview:s(12941),website:"https://infinum.github.io/eightshift-docs/",source:"https://github.com/infinum/eightshift-docs",tags:["opensource","favorite","design"]},{title:"Enarx",description:"Open source framework for running applications in TEEs (Trusted Execution Environments) based on WebAssembly.",preview:s(491),website:"https://enarx.dev/",source:"https://github.com/enarx/enarx.github.io",tags:["opensource"]},{title:"Eta",description:"Faster embedded JS template engine in TypeScript",preview:s(53291),website:"https://eta.js.org/",source:"https://github.com/eta-dev/eta-docs",tags:["opensource"]},{title:"EverShop",description:"An open-source e-commerce platform with Node and React",preview:s(43724),website:"https://evershop.io/",source:"https://github.com/evershopcommerce/docs",tags:["opensource","product"]},{title:"FAST",description:"The adaptive interface system for modern web experiences.",preview:s(37085),website:"https://www.fast.design/docs/introduction/",source:"https://github.com/microsoft/fast/tree/master/sites/website",tags:["opensource","product"]},{title:"FBT",description:"An internationalization framework",preview:s(63238),website:"https://facebookincubator.github.io/fbt/",source:"https://github.com/facebook/fbt/tree/main/website",tags:["opensource","meta"]},{title:"Fenghua Frontend Developer",description:"Blogs and videos about frontend development",preview:s(15723),website:"https://zxuqian.cn",source:null,tags:["personal","design"]},{title:"Files Gallery",description:"Single-file PHP app that can be dropped into any folder, instantly creating a gallery of files and folders.",preview:s(58226),website:"https://www.files.gallery/",source:null,tags:["product","design"]},{title:"FireCMS",description:"Firebase/Firestore based headless CMS",preview:s(12693),website:"https://firecms.co",source:"https://github.com/Camberi/firecms/tree/master/website",tags:["opensource","design"]},{title:"FirelordJS",description:"TypeScript Wrapper for Firestore",preview:s(35795),website:"https://firelordjs.com",source:"https://github.com/tylim88/FirelordJSDoc",tags:["opensource"]},{title:"Flagsmith",description:"Open Source Feature Flag and Remote Config Service",preview:s(72286),website:"https://docs.flagsmith.com",source:"https://github.com/Flagsmith/flagsmith-docs",tags:["opensource"]},{title:"Flarum",description:"Forums made simple. Modern, fast, and free!",preview:s(61700),website:"https://docs.flarum.org",source:"https://github.com/flarum/docs",tags:["opensource"]},{title:"FlatifyCSS",description:"Modern flat design framework for the web \u2014 inspired by Duolingo design system.",preview:s(22413),website:"https://flatifycss.com",source:"https://github.com/amir2mi/flatifycss/tree/master/website",tags:["opensource","design"]},{title:"FlexIt Analytics",description:"Business Intelligence and Data Analytics platform",preview:s(54594),website:"https://learn.flexitanalytics.com/",source:"https://github.com/ataft/flexit-docs",tags:["opensource","product"]},{title:"Flipper",description:"Extensible mobile app debugger",preview:s(33362),website:"https://fbflipper.com",source:"https://github.com/facebook/flipper/tree/main/website",tags:["opensource","design","meta"]},{title:"FoalTS",description:"Node.JS framework for building web applications",preview:s(20350),website:"https://foalts.org/",source:"https://github.com/FoalTS/foal/tree/master/docs",tags:["opensource","design","versioning","i18n"]},{title:"FormatJS",description:"Internationalize your web apps on the client & server.",preview:s(59133),website:"https://formatjs.io/",source:"https://github.com/formatjs/formatjs/tree/main/website",tags:["opensource"]},{title:"Froggit",description:"French software factory based entirely on Free Software.",preview:s(71897),website:"https://www.froggit.fr/",source:"https://lab.frogg.it/froggit/www/froggit.fr",tags:["opensource","product"]},{title:"Full Stack Chronicles",description:"A blog only Docusaurus site showcasing cloud, data and full stack design patterns and tutorials",preview:s(25935),website:"https://fullstackchronicles.io/",source:"https://github.com/stackql/fullstackchronicles.io",tags:["opensource","personal"]},{title:"GeekyWeb",description:"Learn to code yourself by exploring documentations, try GeekyWeb once",preview:s(22254),website:"https://geekyweb.eu.org/",source:"https://github.com/Designatory/GeekyWeb",tags:["opensource","design"]},{title:"Ghostly",description:"A divine template/print formatter engine",preview:s(96409),website:"https://divine-software.github.io/ghostly/",source:"https://github.com/Divine-Software/ghostly/tree/master/website",tags:["opensource"]},{title:"Gladys Assistant",description:"A privacy-first, open-source home assistant",preview:s(32797),website:"https://gladysassistant.com/",source:"https://github.com/GladysAssistant/v4-website",tags:["opensource","i18n"]},{title:"Gotenberg",description:"A Docker-powered stateless API for PDF files",preview:s(13900),website:"https://gotenberg.dev/",source:"https://github.com/gotenberg/gotenberg.dev",tags:["opensource","versioning"]},{title:"GTFS-to-HTML",description:"Generate human-readable HTML timetables from GTFS",preview:s(19562),website:"https://gtfstohtml.com",source:"https://github.com/BlinkTagInc/gtfs-to-html/tree/master/www",tags:["opensource"]},{title:"Gulp",description:"A toolkit to automate & enhance your workflow",preview:s(82448),website:"https://gulpjs.com",source:"https://github.com/gulpjs/gulpjs.github.io",tags:["opensource","large"]},{title:"Haochen",description:"My personal website with a blog section to record all tech-related issues I encountered.",preview:s(24658),website:"https://haochenqi.com/",source:"https://github.com/HaochenQ/Haochen-Blog",tags:["personal","opensource"]},{title:"Hasura",description:"The fastest way to create a GraphQL API from your data with authorization, real-time subscriptions, and more for free.",preview:s(81799),website:"https://hasura.io/docs/",source:"https://github.com/hasura/graphql-engine/tree/master/docs",tags:["favorite","opensource","product","large"]},{title:"hCaptcha",description:"hCaptcha.com anti-bot service docs",preview:s(35214),website:"https://docs.hcaptcha.com/",source:null,tags:["product"]},{title:"Home Assistant",description:"All you need to start developing",preview:s(12042),website:"https://developers.home-assistant.io/",source:"https://github.com/home-assistant/developers.home-assistant",tags:["opensource"]},{title:"httpin",description:"Decode an HTTP request into a custom struct in Go",preview:s(969),website:"https://ggicci.github.io/httpin/",source:"https://github.com/ggicci/httpin/tree/documentation/docs",tags:["opensource"]},{title:"I am Massoud",description:"The portfolio of Massoud Maboudi, Full Stack Developer",preview:s(86836),website:"https://iammassoud.ir/",source:null,tags:["personal","rtl"]},{title:"icodex",description:"Front end engineer personal website",preview:s(21469),website:"https://icodex.me/",source:"https://github.com/wood3n/icodex-next",tags:["opensource","personal"]},{title:"Idb",description:"iOS Development Bridge",preview:s(39993),website:"https://www.fbidb.io/",source:"https://github.com/facebook/idb/tree/main/website",tags:["opensource","meta"]},{title:"Indent",description:"Indent provides on-demand access control for cloud apps and infrastructure.",preview:s(17365),website:"https://indent.com/developers",source:null,tags:["product","design"]},{title:"IntelAGENT Billing",description:"OHIP Billing Agent",preview:s(12686),website:"https://www.intelagent.ca/",source:"https://github.com/intelagentbilling/docs",tags:["opensource","product"]},{title:"KayaFolio",description:"A Software Engineer's blog, documentation and project portfolio.",preview:s(52755),website:"https://evantay.com/",source:"https://github.com/DigiPie/kaya-folio",tags:["opensource","personal"]},{title:"Kuizuo's Personal Website",description:"A Software Enthusiast's blog, Sharing and Learning",preview:s(44356),website:"https://kuizuo.cn",source:"https://github.com/kuizuo/blog",tags:["personal","opensource","design"]},{title:"Ionic",description:"An open source UI toolkit for building performant, high-quality mobile and desktop apps using web technologies.",preview:s(98893),website:"https://ionicframework.com/docs",source:"https://github.com/ionic-team/ionic-docs",tags:["favorite","opensource","product","design","i18n","versioning","large"]},{title:"IOTA-Wiki",description:"Documentation and wiki for the IOTA project",preview:s(44420),website:"https://wiki.iota.org",source:"https://github.com/iota-community/iota-wiki",tags:["favorite","opensource"]},{title:"Jest",description:"A delightful JavaScript Testing Framework with a focus on simplicity.",preview:s(43456),website:"https://jestjs.io/",source:"https://github.com/facebook/jest/tree/master/website",tags:["favorite","opensource","design","i18n","versioning"]},{title:"Junjie",description:"A personal website",preview:s(71219),website:"https://junjieweb.github.io",source:"https://github.com/junjieweb/junjieweb.github.io",tags:["personal","opensource"]},{title:"Kosko",description:"Organize Kubernetes manifests in JavaScript",preview:s(62623),website:"https://kosko.dev",source:"https://github.com/tommy351/kosko/tree/master/website",tags:["opensource"]},{title:"Kotest",description:"Kotlin test framework",preview:s(48708),website:"https://kotest.io",source:"https://github.com/kotest/kotest/tree/master/documentation",tags:["opensource"]},{title:"kube-green",description:"A kubernetes (k8s) operator to suspend your pods when no-one using them to save energy",preview:s(19570),website:"https://kube-green.dev",source:"https://github.com/kube-green/kube-green.github.io",tags:["opensource","product"]},{title:"KubeVela",description:"A modern application engine that adapts to your application's needs, not the other way around.",preview:s(60763),website:"https://kubevela.io/",source:"https://github.com/oam-dev/kubevela.io",tags:["opensource","versioning","i18n"]},{title:"kwatch",description:"monitor & detect crashes in your Kubernetes(K8s) cluster instantly",preview:s(13539),website:"https://kwatch.dev",source:"https://github.com/abahmed/kwatch.dev",tags:["opensource","product"]},{title:"LabVIEW \u7F16\u7A0B\u7ECF\u9A8C",description:"A book for LabVIEW Programming",preview:s(21869),website:"https://lv.qizhen.xyz",source:"https://github.com/ruanqizhen/labview_book",tags:["opensource","i18n"]},{title:"Leedom",description:"A handbook about coding",preview:s(37323),website:"https://dinosaur.leedom.me",source:"https://github.com/leedom92/dinosaur",tags:["opensource","personal"]},{title:"Leon",description:"Your open-source personal assistant.",preview:s(8192),website:"https://docs.getleon.ai",source:"https://github.com/leon-ai/docs.getleon.ai",tags:["opensource","versioning","i18n"]},{title:"Lerna",description:"A fast modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.",preview:s(51290),website:"https://lerna.js.org",source:"https://github.com/lerna/lerna/tree/main/website",tags:["opensource"]},{title:"Liqvid",description:"Interactive videos in React",preview:s(5568),website:"https://liqvidjs.org/",source:"https://github.com/liqvidjs/liqvidjs.org",tags:["opensource"]},{title:"Mailgo",description:"A new concept of mailto and tel links",preview:s(47003),website:"https://mailgo.dev/",source:"https://github.com/manzinello/mailgo.dev",tags:["opensource"]},{title:"MapillaryJS",description:"Interactive, extendable street imagery map experiences",preview:s(99017),website:"https://mapillary.github.io/mapillary-js/",source:"https://github.com/mapillary/mapillary-js/tree/main/doc",tags:["opensource","meta"]},{title:"Matej Jellus",description:"IT enthusiast that loves to write code, try new things and share knowledge.",preview:s(72317),website:"https://juffalow.com/",source:null,tags:["personal"]},{title:"Metro",description:"The JavaScript bundler for React Native",preview:s(39050),website:"https://facebook.github.io/metro/",source:"https://github.com/facebook/metro/tree/main/website",tags:["opensource","meta"]},{title:"Mia-Platform",description:"The simplest way to develop and operate modern applications on Kubernetes.",preview:s(71038),website:"https://docs.mia-platform.eu/",source:null,tags:["product","large","versioning"]},{title:"MikroORM",description:"TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns.",preview:s(33109),website:"https://mikro-orm.io",source:"https://github.com/mikro-orm/mikro-orm/tree/master/docs",tags:["opensource","large","versioning"]},{title:"Mint Metrics",description:"Conversion optimisation and web analytics agency from Melbourne, Australia.",preview:s(36225),website:"https://mintmetrics.io/",source:null,tags:["design"]},{title:"Mixcore CMS",description:"Fully Open Source ASP.Net Core / Dotnet Core CMS UI Toolkit",preview:s(37681),website:"https://docs.mixcore.org/",source:"https://github.com/mixcore/docs/tree/master/website",tags:["opensource"]},{title:"moja global",description:"A non-profit project to accurately and affordably estimate greenhouse gas emissions and removals from the AFOLU sector",preview:s(44733),website:"https://community.moja.global/",source:"https://github.com/moja-global/community-website",tags:["opensource","large","i18n","design"]},{title:"Molecule",description:"A lightweight Web IDE UI framework built with React.js and inspired by VS Code.",preview:s(31842),website:"https://dtstack.github.io/molecule/",source:"https://github.com/DTStack/molecule/tree/main/website",tags:["opensource","i18n"]},{title:"nanos world",description:"The next-generation multiplayer open world sandbox game.",preview:s(14432),website:"https://docs.nanos.world/",source:"https://github.com/nanos-world/docs",tags:["opensource","versioning","i18n","product"]},{title:"netboot.xyz",description:"Your favorite operating systems in one place!",preview:s(53388),website:"https://netboot.xyz",source:"https://github.com/netbootxyz/netboot.xyz-docs/",tags:["opensource"]},{title:"Netdata Learn",description:"An educational site for monitoring and troubleshooting systems",preview:s(89308),website:"https://learn.netdata.cloud",source:"https://github.com/netdata/netdata-learn-docusaurus",tags:["opensource","product","large"]},{title:"NextAuth.js",description:"An open source serverless authentication library for next.js",preview:s(74976),website:"https://next-auth.js.org/",source:"https://github.com/nextauthjs/next-auth/tree/main/docs",tags:["opensource","design"]},{title:"Nocalhost",description:"An open-source toolsets help to build cloud-native applications easier and faster.",preview:s(25e3),website:"https://nocalhost.dev/",source:"https://github.com/nocalhost/nocalhost.github.io",tags:["opensource","i18n"]},{title:"Node SerialPort",description:"Talk to your Serial devices",preview:s(22477),website:"https://serialport.io",source:"https://github.com/serialport/website",tags:["opensource","versioning"]},{title:"Orbit.js",description:"The Universal Data Layer",preview:s(82931),website:"https://orbitjs.com",source:"https://github.com/orbitjs/orbit/tree/main/website",tags:["opensource","versioning"]},{title:"Ory",description:"Authentication, authorization, access control, and delegation (OAuth2 & OpenID Connect) services and APIs",preview:s(18259),website:"https://www.ory.sh/docs",source:"https://github.com/ory/docs/",tags:["opensource"]},{title:"OSS Insight",description:"OSS Insight provides open source software insight and compares projects and tools",preview:s(74567),website:"https://ossinsight.io",source:"https://github.com/pingcap/ossinsight",tags:["opensource","design"]},{title:"Oxidizer",description:"A Rust ORM based on tokio-postgres and refinery",preview:s(12380),website:"https://oxidizer-rs.github.io",source:"https://github.com/oxidizer-rs/website",tags:["opensource"]},{title:"Paubox",description:"Paubox API Documentation",preview:s(73616),website:"https://docs.paubox.com/",source:null,tags:["product"]},{title:"PcapPlusPlus",description:"A multi-platform C++ library for capturing, parsing and crafting of network packets",preview:s(78093),website:"https://pcapplusplus.github.io/",source:"https://github.com/PcapPlusPlus/pcapplusplus.github.io",tags:["opensource","versioning"]},{title:"PCC Archive",description:"A wiki and web posts archive about Purrnelope's Country Club project.",preview:s(76894),website:"https://pcc-archive.org/",source:"https://github.com/CuratorCat/pcc-archive.org",tags:["opensource","design"]},{title:"pdfme",description:"Free and Open source PDF generator library fully written in TypeScript coming with a React based UI template editor",preview:s(26429),website:"https://pdfme.com/",source:"https://github.com/pdfme/pdfme/tree/main/website",tags:["opensource","design","product"]},{title:"Pearl UI",description:"A design-system-driven UI framework that helps developer build beautiful and accessible mobile apps right out of the box",preview:s(94970),website:"https://docs.pearl-ui.dev/",source:"https://github.com/agrawal-rohit/pearl-ui/tree/main/documentationwebsite",tags:["opensource","design","product"]},{title:"Pglet",description:"Build internal web apps quickly in the language you already know",preview:s(97291),website:"https://pglet.io",source:"https://github.com/pglet/website",tags:["opensource"]},{title:"Piano Analytics",description:"Piano Analytics SDKs documentation for developers",preview:s(76003),website:"https://developers.atinternet-solutions.com/piano-analytics/",source:null,tags:["favorite","product","design"]},{title:"Plausible Analytics",description:"A simple, open source, lightweight (< 1 KB) and privacy-friendly alternative to Google Analytics",preview:s(72240),website:"https://plausible.io/docs",source:"https://github.com/plausible/docs",tags:["opensource","product"]},{title:"pnpm",description:"Fast, disk space efficient package manager",preview:s(29240),website:"https://pnpm.js.org/",source:"https://github.com/pnpm/pnpm.github.io/",tags:["opensource","i18n"]},{title:"Postgres.ai \u2013 Database Lab",description:"Deploy with confidence. Been stung by a poorly tested database migration? We won't let it happen again.",preview:s(66167),website:"https://postgres.ai/",source:"https://gitlab.com/postgres-ai/docs",tags:["opensource","product"]},{title:"PptxGenJS",description:"PowerPoint JavaScript Library",preview:s(32331),website:"https://gitbrent.github.io/PptxGenJS/",source:"https://github.com/gitbrent/PptxGenJS/tree/gh-pages",tags:["opensource","design"]},{title:"PREFS",description:"PREFS Python library website and documentation",preview:s(72333),website:"https://patitotective.github.io/PREFS/",source:"https://github.com/Patitotective/PREFS/tree/main/website",tags:["opensource","versioning"]},{title:"Prismatic",description:"The Embedded Integration Platform for B2B SaaS Teams",preview:s(33791),website:"https://prismatic.io/docs/",source:null,tags:["design","large","product"]},{title:"Pyre",description:"A performant type-checker for Python 3",preview:s(79060),website:"https://pyre-check.org",source:"https://github.com/facebook/pyre-check/tree/main/documentation/website",tags:["opensource","meta"]},{title:"QA-Board",description:"An open source run-tracker for algorithm and performance engineering with rich visualizations",preview:s(50533),website:"https://samsung.github.io/qaboard/",source:"https://github.com/Samsung/qaboard/tree/master/website",tags:["opensource"]},{title:"Quickwit",description:"The open source search engine on object storage with subsecond latency",preview:s(22729),website:"https://quickwit.io",source:null,tags:["favorite","design"]},{title:"RaspiSuite",description:"A suite of mobile apps to leverage the full potential of your Raspberry Pi effortlessly.",preview:s(51711),website:"https://raspisuite.com",source:null,tags:["design","product"]},{title:"react-chat-elements",description:"Chat UI package for React",preview:s(43377),website:"https://detaysoft.github.io/docs-react-chat-elements/",source:"https://github.com/Detaysoft/react-chat-elements",tags:["opensource"]},{title:"React Complex Tree",description:"Unopinionated Accessible React Tree Component with Multi-Select and Drag-And-Drop",preview:s(8467),website:"https://rct.lukasbach.com/",source:"https://github.com/lukasbach/react-complex-tree/tree/main/packages/docs",tags:["opensource"]},{title:"React-Leaflet",description:"React components for Leaflet maps",preview:s(94398),website:"https://react-leaflet.js.org/",source:"https://github.com/PaulLeCam/react-leaflet/tree/master/packages/website",tags:["opensource"]},{title:"React Native",description:"A framework for building native apps using React",preview:s(65794),website:"https://reactnative.dev",source:"https://github.com/facebook/react-native-website",tags:["opensource","meta","large","favorite","design","versioning"]},{title:"React Native ARIA",description:"A library that provides accessible UI primitives for React Native apps.",preview:s(9219),website:"https://react-native-aria.geekyants.com",source:"https://github.com/GeekyAnts/react-native-aria-website",tags:["opensource"]},{title:"React Native Boilerplate",description:"A template for building solid applications with separation of concerns between UI, state management, and business logic.",preview:s(70898),website:"https://thecodingmachine.github.io/react-native-boilerplate/",source:"https://github.com/thecodingmachine/react-native-boilerplate/tree/master/documentation",tags:["opensource"]},{title:"React Native Elements",description:"Cross Platform React Native UI Toolkit",preview:s(3327),website:"https://react-native-training.github.io/react-native-elements/",source:"https://github.com/react-native-elements/react-native-elements/tree/next/website",tags:["opensource"]},{title:"React Native iOS Kit",description:"The missing React Native UI Kit for iOS.",preview:s(99133),website:"https://callstack.github.io/react-native-ios-kit",source:"https://github.com/callstack/react-native-ios-kit/tree/master/website",tags:["opensource"]},{title:"React Native Reanimated",description:"React Native's Animated library reimplemented",preview:s(42045),website:"https://docs.swmansion.com/react-native-reanimated/",source:"https://github.com/software-mansion/react-native-reanimated/tree/master/docs",tags:["opensource","design","versioning"]},{title:"React Native Render HTML",description:"The hackable, full-featured Open Source HTML rendering solution for React Native.",preview:s(92907),website:"https://meliorence.github.io/react-native-render-html",source:"https://github.com/meliorence/react-native-render-html/tree/master/apps/website",tags:["opensource","design"]},{title:"React Navigation",description:"Routing and navigation for your React Native apps",preview:s(42546),website:"https://reactnavigation.org/",source:"https://github.com/react-navigation/react-navigation.github.io",tags:["opensource","design","versioning"]},{title:"React Redux",description:"Official React bindings for Redux",preview:s(55247),website:"https://react-redux.js.org",source:"https://github.com/reduxjs/react-redux/tree/master/website",tags:["opensource"]},{title:"Reactive Button",description:"3D animated react button component with progress bar",preview:s(17803),website:"https://arifszn.github.io/reactive-button",source:null,tags:["design"]},{title:"Realtime Web Applications Workshop",description:"A workshop about building realtime web applications with WebSockets and WebRTC.",preview:s(37732),website:"https://realtime-apps-iap.github.io",source:"https://github.com/realtime-apps-iap/realtime-apps-iap.github.io",tags:["opensource"]},{title:"Reddit Image Fetcher",description:"A JavaScript package for fetching reddit images, memes, wallpapers and more",preview:s(38512),website:"https://arifszn.github.io/reddit-image-fetcher",source:null,tags:[]},{title:"Redux",description:"A Predictable State Container for JS Apps",preview:s(15237),website:"https://redux.js.org/",source:"https://github.com/reduxjs/redux/tree/master/website",tags:["opensource"]},{title:"Redux Cool",description:"Build redux logic, without getting nervous \uD83D\uDE2C",preview:s(43846),website:"https://redux-cool.js.org/",source:"https://github.com/Ruben-Arushanyan/redux-cool/tree/master/website",tags:["opensource"]},{title:"Refine",description:"A React-based framework for building data-intensive applications in no time!",preview:s(8274),website:"https://refine.dev",source:"https://github.com/pankod/refine/tree/master/documentation",tags:["favorite","opensource","product","design","versioning","large"]},{title:"Relay",description:"The GraphQL client that scales with you",preview:s(99048),website:"https://relay.dev/",source:"https://github.com/facebook/relay/tree/main/website",tags:["opensource","favorite","design","versioning"]},{title:"Rematch",description:"Redux best practices without the boilerplate in less than 2kb",preview:s(33261),website:"https://rematchjs.org",source:"https://github.com/rematch/rematch/tree/main/website",tags:["opensource","design"]},{title:"Remirror",description:"The editor that makes ProseMirror fun to use for React developers",preview:s(58133),website:"https://remirror.io/",source:"https://github.com/remirror/remirror/tree/main/website",tags:["opensource","design","large"]},{title:"Remotion",description:"Write videos programmatically in React",preview:s(43297),website:"https://www.remotion.dev/",source:"https://github.com/JonnyBurger/remotion/tree/main/packages/docs",tags:["opensource","product"]},{title:"Repeater.js",description:"The missing constructor for creating safe async iterators",preview:s(49451),website:"https://repeater.js.org/",source:"https://github.com/repeaterjs/repeater/tree/master/website",tags:["opensource"]},{title:"replicad",description:"The library to build browser based 3D models with code.",preview:s(78802),website:"https://replicad.xyz/",source:"https://github.com/sgenoud/replicad/tree/main/packages/replicad-docs",tags:["opensource"]},{title:"RSocket",description:"Application protocol providing Reactive Streams semantics.",preview:s(92280),website:"https://rsocket.io/",source:"https://github.com/rsocket/rsocket-website",tags:["opensource"]},{title:"Runiac",description:"Run IaC Anywhere with Ease",preview:s(52853),website:"https://runiac.io",source:"https://github.com/runiac/website",tags:["opensource"]},{title:"Saleor",description:"Saleor Documentation",preview:s(40697),website:"https://docs.getsaleor.com/",source:"https://github.com/mirumee/saleor-docs",tags:["opensource","product","versioning"]},{title:"SAP Cloud SDK",description:"The one-stop shop for developing and extending SAP applications in the cloud.",preview:s(24967),website:"https://sap.github.io/cloud-sdk/",source:"https://github.com/SAP/cloud-sdk",tags:["opensource","product","large"]},{title:"Sapphire",description:"A next-gen object-oriented Discord.js bot framework.",preview:s(66053),website:"https://www.sapphirejs.dev",source:"https://github.com/sapphiredev/website",tags:["opensource","large"]},{title:"Sass Fairy",description:"Enhances built-in Sass modules with additional functions and adds modules for handling breakpoints and exceptions.",preview:s(32477),website:"https://sass-fairy.com/",source:"https://github.com/roydukkey/sass-fairy/tree/master/website",tags:["opensource"]},{title:"SCI WP Framework",description:"A PHP framework to create MVC plugins for WordPress",preview:s(20875),website:"https://sciwp.com/",source:"https://github.com/sciwp/docs",tags:["opensource"]},{title:"Seaography - \uD83E\uDDED A GraphQL framework and code generator for SeaORM",description:"Seaography is a GraphQL framework for building GraphQL resolvers using SeaORM entities.",preview:s(95249),website:"https://www.sea-ql.org/Seaography/",source:"https://github.com/SeaQL/seaql.github.io/tree/master/Seaography",tags:["opensource"]},{title:"SeaORM - \uD83D\uDC1A An async & dynamic ORM for Rust",description:"A relational ORM to help you build web services in Rust with the familiarity of dynamic languages.",preview:s(14619),website:"https://www.sea-ql.org/SeaORM/",source:"https://github.com/SeaQL/seaql.github.io/tree/master/SeaORM",tags:["opensource","versioning"]},{title:"SeaQL - Building data intensive applications in Rust",description:"We help developers in building data intensive applications in Rust, such as web services, command line tools or apps.",preview:s(86220),website:"https://www.sea-ql.org/blog/",source:"https://github.com/SeaQL/seaql.github.io/tree/master/Blog",tags:["opensource"]},{title:"Sequence",description:"Automation toolkit for creating repeatable, predictable, and defensible end-to-end forensic and ediscovery workflows.",preview:s(67770),website:"https://sequence.sh/",source:"https://gitlab.com/reductech/sequence/sequence-docs",tags:["large","opensource","versioning"]},{title:"Seven-innovation-base official website",description:"About seven-innovation-base",preview:s(63818),website:"https://\u4E03\u9662\u521B\u65B0\u57FA\u5730.cn",source:"https://github.com/seven-innovation-base/official-website",tags:["opensource","personal"]},{title:"SICOPE Model",description:"An open source model-based testing tool for web applications",preview:s(53505),website:"https://sicope-model.github.io/",source:"https://github.com/sicope-model/sicope-model-website",tags:["opensource"]},{title:"Single SPA",description:"A javascript router for front-end microservices",preview:s(99666),website:"https://single-spa.js.org/",source:"https://github.com/single-spa/single-spa.js.org/tree/master/website",tags:["opensource","large","versioning","i18n"]},{title:"Shotstack",description:"The cloud video editing API",preview:s(73785),website:"https://shotstack.io/docs/guide/",source:"https://github.com/shotstack/documentation",tags:["product","design","opensource"]},{title:"smash.gg",description:"Turning passions into careers",preview:s(18846),website:"https://developer.smash.gg",source:"https://github.com/smashgg/developer-portal/tree/master/website",tags:["opensource","product"]},{title:"Smart Docs",description:"A smart contract documentation visualizer for Solidity ABI interfaces.",preview:s(98837),website:"https://smart-docs.vercel.app/",source:"https://github.com/wowtvds/smart-docs",tags:["opensource","product","design"]},{title:"SmartCookieWeb",description:"Webpage for an open source, telemetry-free Android web browser",preview:s(23637),website:"https://smartcookieweb.com/",source:null,tags:["product","i18n"]},{title:"social-embed",description:"Drop-in replacement for embed-friendly websites (and \xe0 la carte APIs for detecting and parsing them)",preview:s(99252),website:"https://social-embed.git-pull.com/",source:"https://github.com/social-embed/social-embed/tree/master/packages/site",tags:["opensource"]},{title:"SODA for SPARC",description:"Simplifying data curation for researchers funded by the NIH SPARC initiative",preview:s(62140),website:"https://docs.sodaforsparc.io/",source:"https://github.com/fairdataihub/SODA-for-SPARC-Docs",tags:["opensource","versioning"]},{title:"Spicetify",description:"Powerful CLI tool to take control of the Spotify client.",preview:s(3076),website:"https://spicetify.app/",source:"https://github.com/spicetify/spicetify-docs",tags:["opensource"]},{title:"SpotifyAPI-NET",description:"A Client for the Spotify Web API, written in C#/.NET",preview:s(18185),website:"https://johnnycrazy.github.io/SpotifyAPI-NET/",source:"https://github.com/JohnnyCrazy/SpotifyAPI-NET",tags:["opensource","versioning"]},{title:"SQL Frames",description:"DataFrames meet SQL, in the browser",preview:s(37105),website:"https://sqlframes.com/",source:null,tags:["product"]},{title:"StackQL",description:"A data centric approach to provision, querying, and management of cloud infra and SaaS across multiple clouds.",preview:s(7030),website:"https://stackql.io/",source:null,tags:["product"]},{title:"StackQL Provider Registry",description:"Cloud infra and SaaS provider documentation for StackQL providers.",preview:s(53008),website:"https://registry.stackql.io/",source:"https://github.com/stackql/registry.stackql.io",tags:["opensource","product","large"]},{title:"Stryker Mutator",description:"Mutation testing for JavaScript, .NET and JVM",preview:s(22261),website:"https://stryker-mutator.io",source:"https://github.com/stryker-mutator/stryker-mutator.github.io",tags:["opensource"]},{title:"Stylable",description:"A CSS preprocessor made for components",preview:s(22475),website:"https://stylable.io",source:"https://github.com/wixplosives/stylable.io",tags:["opensource"]},{title:"Svix",description:"Webhooks as a Service",preview:s(85882),website:"https://docs.svix.com/",source:"https://github.com/svix/svix-docs",tags:["opensource","product"]},{title:"SweetCode",description:"SweetCode company website and documentation for the Pixel Manager for WooCommerce",preview:s(77304),website:"https://sweetcode.com/",source:null,tags:["product"]},{title:"Synergies",description:"A performant and distributed state library for creating reusable React state logic by synergyzing atomar context pieces",preview:s(32132),website:"https://synergies.js.org",source:"https://github.com/lukasbach/synergies/tree/main/packages/docs",tags:["opensource","design"]},{title:"Sado0823",description:"Sado0823's Blog and Portfolio Website",preview:s(29880),website:"https://sado0823.github.io",source:"https://github.com/sado0823/sado0823.github.io",tags:["opensource","personal"]},{title:"TalentBrick",description:"Learning made easy without ADS and trackers, Clear concepts at a glance, and Get access to quality study materials.",preview:s(41421),website:"https://www.talentbrick.com/",source:"https://gitlab.com/talentbrick/talentbrick",tags:["opensource","design"]},{title:"TamalWeb",description:"A web developers personal blog and portfolio helping other developers with tips",preview:s(74581),website:"https://tamalweb.com/",source:"https://github.com/tamalchowdhury/tamalwebsite",tags:["personal","opensource"]},{title:"Taro",description:"An open cross-end and cross-frame solution",preview:s(66742),website:"https://docs.taro.zone/",source:"https://github.com/NervJS/taro/tree/docs",tags:["opensource","versioning","large","i18n"]},{title:"Tauri",description:"Build an optimized, secure, and frontend-independent application for multi-platform deployment.",preview:s(75947),website:"https://tauri.app/",source:"https://github.com/tauri-apps/tauri-docs",tags:["opensource","i18n","product","design"]},{title:"TechHarvesting",description:"Learn full stack web development from tutorials and blog posts",preview:s(28033),website:"https://techharvesting.in",source:"https://github.com/techharvesting/techharvesting.github.io",tags:["opensource","personal"]},{title:"Testing Library",description:"Simple and complete testing utilities that encourage good testing practices",preview:s(75562),website:"https://testing-library.com/",source:"https://github.com/testing-library/testing-library-docs",tags:["opensource"]},{title:"The Diff Podcast",description:"A Podcast from Facebook Open Source",preview:s(29223),website:"https://thediffpodcast.com",source:null,tags:["meta"]},{title:"30 Days Of SWA",description:"A 30-Day Developer Guide to Azure Static Web Apps",preview:s(26042),website:"https://www.azurestaticwebapps.dev",source:"https://github.com/staticwebdev/30DaysOfSWA/tree/main/www",tags:["opensource","product"]},{title:"TiDB Community Books",description:"A website for co-created books by TiDB Community users.",preview:s(98871),website:"https://tidb.net/book/",source:"https://github.com/pingcap/book.tidb.net/tree/main/website",tags:["opensource"]},{title:"Tina\xebl Devresse",description:"Personal website of Tina\xebl Devresse, a blog about anything that crosses my mind which I think could interest y'all.",preview:s(2282),website:"https://tinaeldevresse.eu/",source:"https://github.com/hunteroi/tinaeldevresse.eu",tags:["personal","opensource","i18n"]},{title:"ToolJet",description:"Open-source low-code platform to build & deploy internal tools with minimal engineering effort.",preview:s(35036),website:"https://docs.tooljet.com/docs/",source:"https://github.com/ToolJet/ToolJet/tree/develop/docs",tags:["opensource","design","large","product"]},{title:"Tremor",description:"Tremor Event Processing Engine",preview:s(92703),website:"https://www.tremor.rs/",source:"https://github.com/tremor-rs/tremor-www",tags:["opensource","versioning","large"]},{title:"TRPG Engine",description:"IM Application which build for TRPG, like slack and discord",preview:s(41025),website:"https://trpgdoc.moonrailgun.com/",source:"https://github.com/TRPGEngine/Server/tree/master/services/Website",tags:["opensource"]},{title:"uniforms",description:"A set of React libraries for building forms",preview:s(98942),website:"https://uniforms.tools/",source:"https://github.com/vazco/uniforms/tree/master/website",tags:["opensource"]},{title:"Unleash",description:"A feature management solution.",preview:s(15241),website:"https://docs.getunleash.io/",source:"https://github.com/Unleash/unleash/tree/main/website",tags:["opensource","product"]},{title:"Unmand",description:"A business automation platform that liberates users from repetitive tasks.",preview:s(48244),website:"https://unmand.com",source:null,tags:["product","design"]},{title:"Verdaccio",description:"A lightweight open source private npm proxy registry",preview:s(88144),website:"https://verdaccio.org",source:"https://github.com/verdaccio/verdaccio/tree/master/website",tags:["favorite","opensource","large","i18n","design"]},{title:"Verida",description:"A web3 data storage and sharing API",preview:s(47909),website:"https://developers.verida.io/",source:"https://github.com/verida/documentation",tags:["opensource","product"]},{title:"Virtual Photography Kit",description:"A toolkit for virtual photography in Unreal Engine.",preview:s(30233),website:"https://docs.antonpalmqvist.com/",source:null,tags:["product"]},{title:"Vue NodeGui",description:"A cross-platform native desktop app library",preview:s(53199),website:"https://vue.nodegui.org/",source:"https://github.com/nodegui/vue-nodegui/tree/master/website",tags:["opensource"]},{title:"Warrant",description:"APIs and devtools for implementing authorization and access control.",preview:s(34805),website:"https://docs.warrant.dev/",source:null,tags:["product"]},{title:"Wasp",description:"A DSL for building full-stack web apps with less boilerplate.",preview:s(11370),website:"https://wasp.sh/",source:"https://github.com/wasp-lang/wasp/tree/main/web",tags:["opensource"]},{title:"WebdriverIO",description:"Next-gen browser and mobile automation test framework for Node.js",preview:s(73481),website:"https://webdriver.io/",source:"https://github.com/webdriverio/webdriverio/tree/main/website",tags:["opensource","design","large","favorite"]},{title:"WoodpeckerCI",description:"A simple CI engine with great extensibility.",preview:s(88172),website:"https://woodpecker-ci.org/",source:"https://github.com/woodpecker-ci/woodpecker/tree/master/docs",tags:["opensource"]},{title:"Yeecord",description:"A fully Chinese Discord bot with epic features that makes Discord more than just chatting platform.",website:"https://yeecord.com/",preview:s(54851),tags:["product","personal","opensource"],source:"https://github.com/yeecord/docs"},{title:"Zowe",description:"Open source framework for leveraging data and applications in z/OS",preview:s(91570),website:"https://docs.zowe.org",source:"https://github.com/zowe/docs-site",tags:["opensource","product","large","design","versioning"]},{title:"404Lab.Wiki",description:"Docs and blogs about development and study",preview:s(75558),website:"https://wiki.404lab.top",source:"https://github.com/HiChen404/MyWikiSite",tags:["opensource","personal"]},{title:"Discord API Types",description:"Discord API Types",preview:null,website:"https://discord-api-types.dev/",source:"https://github.com/discordjs/discord-api-types/tree/main/website",tags:["opensource","versioning","large"]},{title:"Hanabi",description:"A list of Hanabi card game strategies",preview:null,website:"https://hanabi.github.io/",source:"https://github.com/hanabi/hanabi.github.io",tags:["opensource"]},{title:"IsaacScript",description:"Write Binding of Isaac: Repentance mods with TypeScript",preview:null,website:"https://isaacscript.github.io/",source:"https://github.com/IsaacScript/isaacscript/tree/main/packages/docs",tags:["opensource"]},{title:"Jest Preview",description:"Debug your Jest tests. Effortlessly.",preview:null,website:"https://www.jest-preview.com/",source:"https://github.com/nvh95/jest-preview/tree/main/website",tags:["opensource"]},{title:"Pawe\u0142 Kosiec",description:"Personal website and blog of Pawe\u0142 Kosiec, Full-stack Cloud Developer.",preview:null,website:"https://kosiec.dev/",source:"https://github.com/pkosiec/website",tags:["opensource","personal"]},{title:"Homarr",description:"Homarr is a simple and lightweight homepage for your server.",preview:null,website:"https://homarr.dev/",source:"https://github.com/ajnart/homarr-docs",tags:["opensource"]},{title:"Wings",description:"Wings is a modern website-as-service for progressive campaigns",preview:null,website:"https://wings.dev/",source:null,tags:["product","i18n"]},{title:"Kishan Gajera",description:"Personal portfolio and blog of Kishan Gajera",preview:null,website:"https://www.kgajera.com/",source:"https://github.com/kgajera/blog",tags:["opensource","personal"]},{title:"Harvest CLI",description:"A CLI for Harvest's time tracking software",preview:null,website:"https://kgajera.github.io/hrvst-cli/",source:"https://github.com/kgajera/hrvst-cli/tree/main/website",tags:["opensource"]},{title:"TSEI.JP",description:"TSEI.JP personal website, articles and docs",preview:null,website:"https://tsei.jp/",source:null,tags:["personal"]},{title:"Brobot",description:"Testable state-based GUI automation.",preview:null,website:"https://jspinak.github.io/brobot/",source:"https://github.com/jspinak/brobot/tree/main/docs",tags:["opensource"]},{title:"Fathym Blog",description:"Fathym deploys, hosts and integrates your favorite tech stacks.",preview:null,website:"https://www.fathym.com/blog",source:"https://github.com/lowcodeunit/public-web-blog",tags:["opensource"]},{title:"Tech Interview Handbook",description:"Free curated tech interview preparation materials for busy software engineers.",preview:null,website:"https://www.techinterviewhandbook.org/",source:"https://github.com/yangshun/tech-interview-handbook",tags:["opensource","personal"]},{title:"Front End Interview Handbook",description:"Free curated tech interview preparation materials for busy software engineers",preview:null,website:"https://www.frontendinterviewhandbook.com/",source:"https://github.com/yangshun/front-end-interview-handbook",tags:["opensource","personal"]},{title:"WIZnet",description:"Documentation for various WIZnet products",preview:null,website:"https://docs.wiznet.io/",source:"https://github.com/Wiznet/document_framework",tags:["opensource","product"]},{title:"Xiaohai's Mind Palace",description:"A place for organizing notes, writing blogs, and showcasing projects.",preview:null,website:"https://xiaohai.wiki/",source:"https://github.com/xiaohai-huang/learning-notes",tags:["opensource","personal"]},{title:"Extracranial",description:"Sunghyun Cho's Second Brain on the Web.",preview:null,website:"https://cho.sh/",source:"https://github.com/anaclumos/extracranial",tags:["opensource","personal","i18n"]},{title:"i18n-tools",description:"CLI to make common operations around i18n files simpler",preview:null,website:"https://jy95.github.io/i18n-tools/",source:"https://github.com/jy95/i18n-tools/tree/master/website",tags:["opensource"]},{title:"Pure.css",description:"A set of small, responsive CSS modules that you can use in every web project.",preview:null,website:"https://purecss.io/",source:"https://github.com/pure-css/pure",tags:["opensource","design"]},{title:"Moodle Developer Resources",description:"Moodle - the world's open source learning platform",preview:null,website:"https://moodledev.io/",source:"https://github.com/moodle/devdocs",tags:["opensource","product","large"]},{title:"Toggle",description:"Open Source real-time feature flags deployment without need of a server with SDK",preview:null,website:"https://www.togglee.com/",source:"https://github.com/togglee/togglee-web",tags:["opensource","product"]},{title:"Barklarm",description:"Open Source multiplatform alarm and build status monitoring application",preview:null,website:"https://www.barklarm.com/",source:"https://github.com/kanekotic/barklarm-website",tags:["opensource","product"]},{title:"Neo Blockchain Developer Portal",description:"A collection of tools and resources to help you build outstanding applications on Neo",preview:null,website:"https://developers.neo.org/",source:"https://github.com/neo-project/neo-dev-portal",tags:["opensource"]},{title:"Yew",description:"Documentation of Yew web framework",preview:null,website:"https://yew.rs/",source:"https://github.com/yewstack/yew/tree/master/website",tags:["opensource","versioning","i18n","large"]},{title:"Sensory Percussion help",description:"On-line manual for Sensory Percussion, a music production tool for electronic drums.",preview:null,website:"https://help.sunhou.se/",source:null,tags:["product"]},{title:"The Fundraising Lore",description:"A guide to help founders successfully raise early-stage VC financing",preview:null,website:"https://www.lore.vc/",source:"https://github.com/dvitanov/lorevc",tags:["opensource","personal"]},{title:"LifeOmic PHC Documentation",description:"Help and information for LifeOmic PHC",preview:null,website:"https://phc.docs.lifeomic.com/",source:null,tags:["product"]},{title:"Kanekotic's Page",description:"List of open-source projects and blog",preview:null,website:"https://www.kanekotic.com/",source:"https://github.com/kanekotic/kanekotic-page",tags:["opensource","personal"]},{title:"DevTomek",description:"A Polish blog about programming, electronics and IoT",preview:null,website:"https://devtomek.pl/",source:null,tags:["personal"]},{title:"Vantevo Analytics",description:"The most complete and secure Google Analytics alternative.",preview:null,website:"https://vantevo.io/docs/",source:null,tags:["product","i18n"]},{title:"lsfusion platform documentation",description:"A declarative open-source language-based platform for information systems development",preview:null,website:"https://docs.lsfusion.org/",source:"https://github.com/lsfusion/docusaurus",tags:["opensource","i18n","versioning"]},{title:"Rokt Docs",description:"Rokt's product documentation",preview:null,website:"https://docs.rokt.com/",source:null,tags:["product"]},{title:"Harmonoid",description:"A beautiful material-design cross platform music player",preview:null,website:"https://harmonoid.com/",source:null,tags:["product","design"]},{title:"Mentorship Guide",description:"Making mentorship accessible to all, for mentors and mentees.",preview:null,website:"https://mentorship.guide/",source:"https://github.com/mentorship-sponsorship/mentorship-guide-docs",tags:["opensource","design"]},{title:"Vishal Gandhi",description:"The Data Column - Blog by Vishal Gandhi",preview:null,website:"https://vishalgandhi.in/",source:null,tags:["personal"]},{title:"daily.dev",description:"Official product documentation for daily.dev",preview:null,website:"https://docs.daily.dev/",source:"https://github.com/dailydotdev/docs",tags:["opensource","product","design"]},{title:"Formiz",description:"React forms with ease! Composable, headless & with built-in multi steps",preview:null,website:"https://formiz-react.com/",source:"https://github.com/ivan-dalmet/formiz/tree/master/documentation",tags:["opensource"]},{title:"Wener Live & Life",description:"Notes, Stories, Awesomes",preview:null,website:"https://wener.me/",source:"https://github.com/wenerme/wener/tree/master/site",tags:["opensource","personal"]},{title:"Modrinth Documentation",description:"The documentation for Modrinth, an open source Minecraft modding platform",preview:null,website:"https://docs.modrinth.com/",source:"https://github.com/modrinth/docs",tags:["opensource"]},{title:"Takken.io",description:"Webber's personal website",preview:null,website:"https://takken.io/",source:"https://github.com/webbertakken/takken.io",tags:["opensource","personal"]},{title:"GameCI",description:"Open source continuous integration for games",preview:null,website:"https://game.ci/",source:"https://github.com/game-ci/documentation",tags:["opensource","product","versioning"]},{title:"Batect",description:"The fast, consistent way to run your development and testing tasks everywhere.",preview:null,website:"https://batect.dev/",source:"https://github.com/batect/batect.dev",tags:["opensource"]},{title:"YepCode Docs",description:"Docs for the all-in-one platform that connects your services and APIs",preview:null,website:"https://docs.yepcode.io/",source:null,tags:["product"]},{title:"YepCode Recipes",description:"Recipes for the all-in-one platform that connects your services and APIs",preview:null,website:"https://yepcode.io/recipes/",source:null,tags:["product","large"]},{title:"Appcircle Docs",description:"Appcircle is an easy-to-setup mobile CI/CD platform.",preview:null,website:"https://docs.appcircle.io/",source:"https://github.com/appcircleio/appcircle-docusaurus/tree/master/",tags:["opensource","product"]},{title:"Rowy Docs",description:"Open-source low-code platform for Firebase, Cloud Functions and GCP",preview:null,website:"https://docs.rowy.io/",source:"https://github.com/rowyio/docs",tags:["opensource","product","design"]},{title:"Keebio Documentation",description:"Mechanical keyboard build guides and keyboard reprogramming info",preview:null,website:"https://docs.keeb.io/",source:"https://github.com/keebio/keebio-docs",tags:["opensource","product"]},{title:"\u524D\u7AEF\u5927\u5218",description:"Record and share to make progress every day!",preview:null,website:"https://lzwdot.com/",source:"https://github.com/lzwdot/lzwdot.github.io",tags:["opensource","personal"]},{title:"DipScope",description:"Open source tools to develop high quality software",preview:null,website:"https://dipscope.com/",source:null,tags:["versioning"]},{title:"MutableSecurity",description:"Platform for automating the lifecycle of cybersecurity solutions",preview:null,website:"https://www.mutablesecurity.io/",source:"https://github.com/MutableSecurity/website",tags:["opensource","product"]},{title:"Atlas",description:"Atlas CLI helps developers manage their database schemas by applying DevOps principles.",preview:null,website:"https://atlasgo.io/",source:"https://github.com/ariga/atlas",tags:["opensource","product"]},{title:"Ent",description:"An entity framework for Go",preview:null,website:"https://entgo.io/",source:"https://github.com/ent/ent/tree/master/doc/website",tags:["opensource","i18n"]},{title:"WPShop",description:"Docs site for the ShopWP WordPress plugin",preview:null,website:"https://docs.wpshop.io/",source:null,tags:["product"]},{title:"Polkadot Wiki",description:"The central source of truth for Polkadot Network",preview:null,website:"https://wiki.polkadot.network/",source:"https://github.com/w3f/polkadot-wiki/tree/master/polkadot-wiki",tags:["opensource"]},{title:"CodingHabits",description:"An interactive learning environment for developers",preview:null,website:"https://www.codinghabits.online/",source:null,tags:["product"]},{title:"Crawlee",description:"Scalable web crawling, scraping and automation library for JS/Node.js",preview:null,website:"https://crawlee.dev/",source:"https://github.com/apify/crawlee/tree/master/website",tags:["opensource","versioning"]},{title:"codehooks",description:"Fast Serverless Backend made Easy",preview:null,website:"https://codehooks.io/",source:null,tags:["product"]},{title:"Ouch1978",description:"Personal site of @Ouch1978",preview:null,website:"https://ouch1978.github.io/",source:"https://github.com/Ouch1978/ouch1978.github.io",tags:["opensource","personal"]},{title:"Dojo Documentation",description:"Take faster card payments with Dojo.",preview:null,website:"https://docs.dojo.tech/",source:null,tags:["product"]},{title:"OKP4",description:"Documentation portal for the OKP4 blockchain",preview:null,website:"https://docs.okp4.network/",source:"https://github.com/okp4/docs",tags:["opensource","product","design"]},{title:"Konkatsu Strategy Guide",description:"Support konkatsu (marriage hunting) in Japan",preview:null,website:"https://hikonkatsu.com/",source:null,tags:["personal"]},{title:"Zondax Documentation",description:"Building back-end tech solutions for the Web3 Space.",preview:null,website:"https://docs.zondax.ch/",source:null,tags:["product","design"]},{title:"ShellHub Documentation",description:"A centralized SSH server for the the edge and cloud computing",preview:null,website:"https://docs.shellhub.io/",source:"https://github.com/shellhub-io/docs",tags:["opensource","product"]},{title:"Dynamoose",description:"A modeling tool for Amazon's DynamoDB",preview:null,website:"https://dynamoosejs.com/",source:"https://github.com/dynamoose/dynamoose/tree/main/docs",tags:["opensource"]}],h={favorite:{label:(0,a.I)({message:"Favorite"}),description:(0,a.I)({message:"Our favorite Docusaurus sites that you must absolutely check out!",id:"showcase.tag.favorite.description"}),color:"#e9669e"},opensource:{label:(0,a.I)({message:"Open-Source"}),description:(0,a.I)({message:"Open-Source Docusaurus sites can be useful for inspiration!",id:"showcase.tag.opensource.description"}),color:"#39ca30"},product:{label:(0,a.I)({message:"Product"}),description:(0,a.I)({message:"Docusaurus sites associated to a commercial product!",id:"showcase.tag.product.description"}),color:"#dfd545"},design:{label:(0,a.I)({message:"Design"}),description:(0,a.I)({message:"Beautiful Docusaurus sites, polished and standing out from the initial template!",id:"showcase.tag.design.description"}),color:"#a44fb7"},i18n:{label:(0,a.I)({message:"I18n"}),description:(0,a.I)({message:"Translated Docusaurus sites using the internationalization support with more than 1 locale.",id:"showcase.tag.i18n.description"}),color:"#127f82"},versioning:{label:(0,a.I)({message:"Versioning"}),description:(0,a.I)({message:"Docusaurus sites using the versioning feature of the docs plugin to manage multiple versions.",id:"showcase.tag.versioning.description"}),color:"#fe6829"},large:{label:(0,a.I)({message:"Large"}),description:(0,a.I)({message:"Very large Docusaurus sites, including many more pages than the average!",id:"showcase.tag.large.description"}),color:"#8c2f00"},meta:{label:(0,a.I)({message:"Meta"}),description:(0,a.I)({message:"Docusaurus sites of Meta (formerly Facebook) projects",id:"showcase.tag.meta.description"}),color:"#4267b2"},personal:{label:(0,a.I)({message:"Personal"}),description:(0,a.I)({message:"Personal websites, blogs and digital gardens built with Docusaurus",id:"showcase.tag.personal.description"}),color:"#14cfc3"},rtl:{label:(0,a.I)({message:"RTL Direction"}),description:(0,a.I)({message:"Docusaurus sites using the right-to-left reading direction support.",id:"showcase.tag.rtl.description"}),color:"#ffcfc3"}},u=Object.keys(h),m=(i=d(i=l,e=>e.title.toLowerCase()),i=d(i,e=>!e.tags.includes("favorite")));function w(){return(0,g.Nc)("name")}function b(){return(0,g.H)("tags")}function f(){let[e,t]=(0,g.Nc)("operator"),s="AND"===e?"AND":"OR",i=(0,p.useCallback)(()=>{t("OR"===s?"AND":null)},[s,t]);return[s,i]}function S(){let[e]=b(),[t]=w(),[s]=f();return(0,p.useMemo)(()=>(function(e){let{users:t,tags:s,operator:i,searchName:A}=e;return(A&&(t=t.filter(e=>e.title.toLowerCase().includes(A.toLowerCase()))),0===s.length)?t:t.filter(e=>0!==e.tags.length&&("AND"===i?s.every(t=>e.tags.includes(t)):s.some(t=>e.tags.includes(t))))})({users:m,tags:e,operator:s,searchName:t}),[e,s,t])}function v(){let[e,t]=w();return(0,A.jsx)("div",{className:"searchBar_E3wW",children:(0,A.jsx)("input",{placeholder:(0,a.I)({message:"Search for site name...",id:"showcase.searchBar.placeholder"}),value:e,onInput:e=>{t(e.currentTarget.value)}})})}var E=s(90496);let B={svg:"svg_d33c",small:"small_xkoK",medium:"medium_J4if",large:"large_G4cM"};function C(e){let{size:t,className:s,style:i}=e;return(0,A.jsx)("svg",{viewBox:"0 0 24 24",className:(0,E.Z)(B.svg,B[t],s),style:i,children:(0,A.jsx)("path",{d:"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"})})}var I=s(21811);let U={showcaseCardImage:"showcaseCardImage_wjKy",showcaseCardHeader:"showcaseCardHeader_H8b9",showcaseCardTitle:"showcaseCardTitle_ZxTI",showcaseCardSrcBtn:"showcaseCardSrcBtn_F6t0",showcaseCardBody:"showcaseCardBody_bvOP",cardFooter:"cardFooter_Xq1d",tag:"tag_jo6t",textLabel:"textLabel_lQex",colorLabel:"colorLabel_D_Fl"};function R(e){let{label:t,description:s,color:i}=e;return(0,A.jsxs)("li",{className:U.tag,title:s,children:[(0,A.jsx)("span",{className:U.textLabel,children:t.toLowerCase()}),(0,A.jsx)("span",{className:U.colorLabel,style:{backgroundColor:i}})]})}function k(e){let{tags:t}=e,s=d(t.map(e=>({tag:e,...h[e]})),e=>u.indexOf(e.tag));return(0,A.jsx)(A.Fragment,{children:s.map((e,t)=>(0,A.jsx)(R,{...e},t))})}let y=p.memo(function(e){let{user:t}=e,s=t.preview??`https://slorber-api-screenshot.netlify.app/${encodeURIComponent(t.website)}/showcase`;return(0,A.jsxs)("li",{className:"card shadow--md",children:[(0,A.jsx)("div",{className:(0,E.Z)("card__image",U.showcaseCardImage),children:(0,A.jsx)(I.Z,{img:s,alt:t.title})}),(0,A.jsxs)("div",{className:"card__body",children:[(0,A.jsxs)("div",{className:(0,E.Z)(U.showcaseCardHeader),children:[(0,A.jsx)(n.Z,{as:"h4",className:U.showcaseCardTitle,children:(0,A.jsx)(o.Z,{href:t.website,className:U.showcaseCardLink,children:t.title})}),t.tags.includes("favorite")&&(0,A.jsx)(C,{size:"medium",style:{marginRight:"0.25rem"}}),t.source&&(0,A.jsx)(o.Z,{href:t.source,className:(0,E.Z)("button button--secondary button--sm",U.showcaseCardSrcBtn),children:(0,A.jsx)(a.Z,{id:"showcase.card.sourceLink",children:"source"})})]}),(0,A.jsx)("p",{className:U.showcaseCardBody,children:t.description})]}),(0,A.jsx)("ul",{className:(0,E.Z)("card__footer",U.cardFooter),children:(0,A.jsx)(k,{tags:t.tags})})]},t.title)}),V={cardList:"cardList_kMxr",showcaseFavorite:"showcaseFavorite_LFys",headingFavorites:"headingFavorites_LTro"},M=m.filter(e=>e.tags.includes("favorite")),X=m.filter(e=>!e.tags.includes("favorite"));function x(){return(0,A.jsx)(n.Z,{as:"h2",children:(0,A.jsx)(a.Z,{id:"showcase.usersList.noResult",children:"No result"})})}function Q(){return(0,A.jsxs)(n.Z,{as:"h2",className:V.headingFavorites,children:[(0,A.jsx)(a.Z,{id:"showcase.favoritesList.title",children:"Our favorites"}),(0,A.jsx)(C,{size:"large",style:{marginLeft:"1rem"}})]})}function G(){return(0,A.jsx)(n.Z,{as:"h2",children:(0,A.jsx)(a.Z,{id:"showcase.usersList.allUsers",children:"All sites"})})}function z(e){let{heading:t,items:s}=e;return(0,A.jsxs)("div",{className:"container",children:[t,(0,A.jsx)("ul",{className:(0,E.Z)("clean-list",V.cardList),children:s.map(e=>(0,A.jsx)(y,{user:e},e.title))})]})}function T(){return(0,A.jsx)("section",{className:"margin-top--lg margin-bottom--xl",children:(0,A.jsx)("div",{className:"container padding-vert--md text--center",children:(0,A.jsx)(x,{})})})}function D(){let e=S();return 0===e.length?(0,A.jsx)(T,{}):(0,A.jsx)("section",{className:"margin-top--lg margin-bottom--xl",children:e.length===m.length?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("div",{className:V.showcaseFavorite,children:(0,A.jsx)(z,{heading:(0,A.jsx)(Q,{}),items:M})}),(0,A.jsx)("div",{className:"margin-top--lg",children:(0,A.jsx)(z,{heading:(0,A.jsx)(G,{}),items:X})})]}):(0,A.jsx)(z,{items:e})})}function L(e){let{icon:t,label:s,description:i,tag:a,...o}=e,r=(0,p.useId)(),[n,g]=function(e){let[t,s]=b();return[t.includes(e),(0,p.useCallback)(()=>{s(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[e,s])]}(a);return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("input",{type:"checkbox",id:r,checked:n,onChange:g,className:"screen-reader-only",onKeyDown:e=>{"Enter"===e.key&&g()},...o}),(0,A.jsxs)("label",{htmlFor:r,className:"checkboxLabel_vxMa",title:i,children:[s,t]})]})}let F={checkboxLabel:"checkboxLabel_DiOL"};function N(){let e=(0,p.useId)(),[t,s]=f();return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("input",{id:e,type:"checkbox",className:"screen-reader-only","aria-label":"Toggle between or and and for the tags you selected",checked:"AND"===t,onChange:s,onKeyDown:e=>{"Enter"===e.key&&s()}}),(0,A.jsxs)("label",{htmlFor:e,className:(0,E.Z)(F.checkboxLabel,"shadow--md"),children:[(0,A.jsx)("span",{className:F.checkboxLabelOr,children:"OR"}),(0,A.jsx)("span",{className:F.checkboxLabelAnd,children:"AND"})]})]})}function O(){let e=(0,g.eH)();return(0,A.jsx)("button",{className:"button button--outline button--primary",type:"button",onClick:()=>e(),children:"Clear All"})}function K(e){let{color:t,style:s}=e;return(0,A.jsx)("span",{style:{backgroundColor:t,width:10,height:10,borderRadius:"50%",...s}})}function j(e){let{tag:t}=e,{label:s,description:i,color:a}=h[t];return(0,A.jsx)("li",{className:"tagListItem_aQcS",children:(0,A.jsx)(L,{tag:t,label:s,description:i,icon:"favorite"===t?(0,A.jsx)(C,{size:"small",style:{marginLeft:8}}):(0,A.jsx)(K,{color:a,style:{backgroundColor:a,marginLeft:8}})})})}function Y(){return(0,A.jsx)("ul",{className:(0,E.Z)("clean-list","tagList_Ku_M"),children:u.map(e=>(0,A.jsx)(j,{tag:e},e))})}function W(){let e=S(),t=function(){let{selectMessage:e}=(0,c.c)();return t=>e(t,(0,a.I)({id:"showcase.filters.resultCount",description:'Pluralized label for the number of sites found on the showcase. Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"1 site|{sitesCount} sites"},{sitesCount:t}))}();return(0,A.jsxs)("div",{className:"headingText_iR0x",children:[(0,A.jsx)(n.Z,{as:"h2",children:(0,A.jsx)(a.Z,{id:"showcase.filters.title",children:"Filters"})}),(0,A.jsx)("span",{children:t(e.length)})]})}function P(){return(0,A.jsxs)("div",{className:"headingButtons_DX79",style:{alignItems:"center"},children:[(0,A.jsx)(N,{}),(0,A.jsx)(O,{})]})}function J(){return(0,A.jsxs)("div",{className:(0,E.Z)("margin-bottom--sm","headingRow_DGKw"),children:[(0,A.jsx)(W,{}),(0,A.jsx)(P,{})]})}function q(){return(0,A.jsxs)("section",{className:"container margin-top--l margin-bottom--lg",children:[(0,A.jsx)(J,{}),(0,A.jsx)(Y,{})]})}let Z=(0,a.I)({message:"Docusaurus Site Showcase"}),H=(0,a.I)({message:"List of websites people are building with Docusaurus"});function _(){return(0,A.jsxs)("section",{className:"margin-top--lg margin-bottom--lg text--center",children:[(0,A.jsx)(n.Z,{as:"h1",children:Z}),(0,A.jsx)("p",{children:H}),(0,A.jsx)(o.Z,{className:"button button--primary",to:"https://github.com/facebook/docusaurus/discussions/7826",children:(0,A.jsx)(a.Z,{id:"showcase.header.button",children:"\uD83D\uDE4F Please add your site"})})]})}function $(){return(0,A.jsx)(r.Z,{title:Z,description:H,children:(0,A.jsxs)("main",{className:"margin-vert--lg",children:[(0,A.jsx)(_,{}),(0,A.jsx)(q,{}),(0,A.jsx)("div",{style:{display:"flex",marginLeft:"auto"},className:"container",children:(0,A.jsx)(v,{})}),(0,A.jsx)(D,{})]})})}}}]); \ No newline at end of file diff --git a/assets/js/7eb06749.c82b3569.js b/assets/js/7eb06749.c82b3569.js new file mode 100644 index 0000000000..1fbf27d651 --- /dev/null +++ b/assets/js/7eb06749.c82b3569.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["51062"],{94843:function(t,e,s){s.r(e),s.d(e,{frontMatter:()=>n,default:()=>m,contentTitle:()=>i,assets:()=>d,toc:()=>c,metadata:()=>o});var o=JSON.parse('{"id":"tests/sidebar-frontmatter/doc-with-sidebar-custom-props","title":"Doc With Custom Props","description":"This doc has sidebarcustomprops front matter.","source":"@site/_dogfooding/_docs tests/tests/sidebar-frontmatter/doc-with-sidebar-custom-props.mdx","sourceDirName":"tests/sidebar-frontmatter","slug":"/tests/sidebar-frontmatter/doc-with-sidebar-custom-props","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-custom-props","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"sidebar_custom_props":{"prop":"custom","number":1,"boolean":true}},"sidebar":"sidebar","previous":{"title":"Doc With Sidebar Class Name","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-className"},"next":{"title":"Doc With Sidebar Label","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-label"}}'),r=s(85893),a=s(80980);let n={sidebar_custom_props:{prop:"custom",number:1,boolean:!0}},i="Doc With Custom Props",d={},c=[];function p(t){let e={code:"code",h1:"h1",header:"header",p:"p",...(0,a.a)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.header,{children:(0,r.jsx)(e.h1,{id:"doc-with-custom-props",children:"Doc With Custom Props"})}),"\n",(0,r.jsxs)(e.p,{children:["This doc has ",(0,r.jsx)(e.code,{children:"sidebar_custom_props"})," front matter."]})]})}function m(t={}){let{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(p,{...t})}):p(t)}m.displayName="MDXContent(_dogfooding/_docs tests/tests/sidebar-frontmatter/doc-with-sidebar-custom-props.mdx)"},80980:function(t,e,s){s.d(e,{Z:()=>i,a:()=>n});var o=s(67294);let r={},a=o.createContext(r);function n(t){let e=o.useContext(a);return o.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:n(t.components),o.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/7f129fbe.504c221b.js b/assets/js/7f129fbe.504c221b.js new file mode 100644 index 0000000000..42483b4168 --- /dev/null +++ b/assets/js/7f129fbe.504c221b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["99831"],{40448:function(e,t,o){o.r(t),o.d(t,{assets:()=>r,contentTitle:()=>g,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>i});var s=o(56877),l=o(85893),n=o(80980);let a={title:"Blog post MDX Feed tests",authors:["slorber"],tags:["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"],hide_reading_time:!0},g=void 0,r={authorsImageUrls:[void 0]},i=[];function u(e){let t={p:"p",...(0,n.a)(),...e.components};return(0,l.jsx)(t.p,{children:"Some MDX tests, mostly to test how the RSS feed render those"})}function d(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(u,{...e})}):u(e)}},80980:function(e,t,o){o.d(t,{Z:()=>g,a:()=>a});var s=o(67294);let l={},n=s.createContext(l);function a(e){let t=s.useContext(n);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function g(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:a(e.components),s.createElement(n.Provider,{value:t},e.children)}},56877:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx","source":"@site/_dogfooding/_blog tests/2021-10-07-blog-post-mdx-feed-tests.mdx","title":"Blog post MDX Feed tests","description":"Some MDX tests, mostly to test how the RSS feed render those","date":"2021-10-07T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"},{"inline":false,"label":"Blog","permalink":"/tests/blog/tags/blog"},{"inline":false,"label":"Docusaurus","permalink":"/tests/blog/tags/docusaurus"},{"inline":false,"label":"Long-long","permalink":"/tests/blog/tags/long-long"},{"inline":false,"label":"Long-long-long","permalink":"/tests/blog/tags/long-long-long"},{"inline":false,"label":"Long-long-long-long","permalink":"/tests/blog/tags/long-long-long-long"}],"hasTruncateMarker":true,"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Blog post MDX Feed tests","authors":["slorber"],"tags":["paginated-tag","blog","docusaurus","long-long","long-long-long","long-long-long-long"],"hide_reading_time":true},"unlisted":false,"prevItem":{"title":"Blog post MDX require Feed tests","permalink":"/tests/blog/2021/10/08/blog-post-mdx-require-feed-tests"},"nextItem":{"title":"Post with duplicate title","permalink":"/tests/blog/2021/09/13/dup-title"}}')}}]); \ No newline at end of file diff --git a/assets/js/7f26acbd.1e7fb34e.js b/assets/js/7f26acbd.1e7fb34e.js new file mode 100644 index 0000000000..e10b9fc159 --- /dev/null +++ b/assets/js/7f26acbd.1e7fb34e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["84947"],{47227:function(t){t.exports=JSON.parse('{"tag":{"label":"Profilo","permalink":"/blog/tags/profilo","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/profilo","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/7f3dfa04.ef3fcb50.js b/assets/js/7f3dfa04.ef3fcb50.js new file mode 100644 index 0000000000..65925862be --- /dev/null +++ b/assets/js/7f3dfa04.ef3fcb50.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["51108"],{7609:function(e,t,o){o.d(t,{Z:()=>i});let i=o.p+"assets/images/profilo_blog_post_android_ios-695990a01bf8fa0ea8b6c2d26946cd94.png"},90842:function(e,t,o){o.d(t,{Z:()=>i});let i=o.p+"assets/images/profilo_blog_post_palette_website_color_picker-7fe21bbbee9aa484750e889471957135.png"},12816:function(e,t,o){o.d(t,{Z:()=>i});let i=o.p+"assets/images/profilo_blog_post_photoshop_color_picker-86628cde93ca147d5ed36f0e0dfa046b.png"},78334:function(e,t,o){o.d(t,{Z:()=>i});let i=o.p+"assets/images/profilo_blog_post_website_final-41123bbb4a337d3415d6a8f826362713.png"},78426:function(e,t,o){o.d(t,{Z:()=>i});let i=o.p+"assets/images/profilo_blog_post_website_final_docs-4efd3319b5bc1a33a4dde7dd785cb6a5.png"},76770:function(e,t,o){o.d(t,{Z:()=>i});let i=o.p+"assets/images/profilo_blog_post_website_initial-2b55252c641e418f02b8bb6a5234b219.png"},53426:function(e,t,o){o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var i=o(80410),n=o(85893),s=o(80980);let r={title:"How I Converted Profilo to Docusaurus in Under 2 Hours",authors:["abernathyca"],tags:["profilo","adoption"]},a=void 0,l={authorsImageUrls:[void 0]},d=[{value:"Overview of Steps Taken",id:"overview-of-steps-taken",level:2},{value:"Design",id:"design",level:2},{value:"Final Thoughts",id:"final-thoughts",level:2}];function h(e){let t={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"\u201CJoel and I were discussing having a website and how it would have been great to launch with it. So I challenged myself to add Docusaurus support. It took just over an hour and a half. I'm going to send you a PR with the addition so you can take a look and see if you like it. Your workflow for adding docs wouldn't be much different from editing those Markdown files.\u201D"})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.em,{children:"\u2014 Note sent to the Profilo team"})}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["This is the story of the rather short journey it took to create the ",(0,n.jsx)(t.a,{href:"https://facebookincubator.github.io/profilo/",children:"Profilo"})," website using Docusaurus."]}),"\n",(0,n.jsxs)(t.p,{children:["Profilo, an Android library for collecting performance traces from production, ",(0,n.jsx)(t.a,{href:"https://code.fb.com/android/profilo-understanding-app-performance-in-the-wild/",children:"was announced"})," earlier this year. The project was ",(0,n.jsx)(t.a,{href:"https://github.com/facebookincubator/profilo/tree/802042f90f990998a272387e371b893af52465b8",children:"published on GitHub"})," with a less than ",(0,n.jsx)(t.a,{href:"https://github.com/facebookincubator/profilo/tree/802042f90f990998a272387e371b893af52465b8/docs",children:"a handful or Markdown files"})," to describe its functionality and no website to showcase any branding and highlight the logo. The task at hand was to turn these existing docs and logo into a website."]}),"\n",(0,n.jsx)(t.p,{children:"In general, when creating a website with Docusaurus you do the following:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Generate a template website using Docusaurus scripts."}),"\n",(0,n.jsx)(t.li,{children:"Customize the generated template files for your desired site colors and your project configuration (ex: website and GitHub links)."}),"\n",(0,n.jsxs)(t.li,{children:["Create the website content:","\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Add your docs and any supporting assets."}),"\n",(0,n.jsx)(t.li,{children:"Customize the default landing page provided by Docusaurus to suit your needs."}),"\n",(0,n.jsx)(t.li,{children:"Configure the default site navigation file."}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.li,{children:"Publish the website and set up how it will be published for future changes."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Given I had pre-existing Markdown files, I didn't have to generate the core content but simply make sure that Docusaurus could process the files by adding the expected metadata to them. Most of the work would therefore consist of customizing the defaults provided by Docusaurus."}),"\n",(0,n.jsx)(t.h2,{id:"overview-of-steps-taken",children:"Overview of Steps Taken"}),"\n",(0,n.jsx)(t.p,{children:"Here's an overview of the steps taken to convert to a website. I'll discuss some of the design aspects in a later section."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Design and colors:"})}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Got all the desired logo formats from designer. I had to create the ",(0,n.jsx)(t.em,{children:".favicon"})," one."]}),"\n",(0,n.jsxs)(t.li,{children:["Worked out some passable primary and secondary website colors using the ",(0,n.jsx)(t.a,{href:"http://paletton.com/",children:"http://paletton.com/"})," tools - very handy!"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Initial website setup:"})}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Forked the ",(0,n.jsx)(t.a,{href:"https://github.com/facebookincubator/profilo/",children:"Profilo project"})," on GitHub and created a local clone of the fork to set up the website."]}),"\n",(0,n.jsxs)(t.li,{children:["Created the initial Docusaurus website using the ",(0,n.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/installation.html",children:"installation instructions"}),"."]}),"\n",(0,n.jsxs)(t.li,{children:["Deleted the ",(0,n.jsx)(t.code,{children:"docs-examples-from-docusaurus"})," and ",(0,n.jsx)(t.code,{children:"website/blog-examples-from-docusaurus"})," folders as these would not be needed. Profilo had existing docs we could use and there was no need for blogs at this time."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Content creation:"})}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Added metadata to the existing Markdown files found in the ",(0,n.jsx)(t.code,{children:"docs"})," folder, for example:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-md",children:"---\nid: architecture\ntitle: Architecture\nsidebar_label: Architecture\n---\n"})}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Added the logo assets to the ",(0,n.jsx)(t.code,{children:"website/static/img"})," folder."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Modified ",(0,n.jsx)(t.code,{children:"website/pages/en/index.js"}),", the landing page, to highlight Profilo features."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Modified ",(0,n.jsx)(t.code,{children:"website/core/Footer.js"}),", the footer, to simplify it for Profilo."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Edited ",(0,n.jsx)(t.code,{children:"website/siteConfig.js"})," (website configuration file) to specify the previously chosen primary and secondary colors."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Modified ",(0,n.jsx)(t.code,{children:"website/sidebars.json"})," that specifies the sidebar navigation. Listed all the docs and customized it based on the metadata added to the Markdown files."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Edited the website configuration file to specify the GitHub properties, logo images, header links, and the website link."}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Tested the website locally throughout this phase. (I ran ",(0,n.jsx)(t.code,{children:"yarn start"})," from the ",(0,n.jsx)(t.code,{children:"website"})," folder to start the server.)"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Feedback and review changes:"})}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["Sent a ",(0,n.jsx)(t.a,{href:"https://github.com/facebookincubator/profilo/pull/6",children:"pull request"})," to the project."]}),"\n",(0,n.jsx)(t.li,{children:"Updated the colors after the designer rightly gasped at the ones I had chosen (IANAD)."}),"\n",(0,n.jsx)(t.li,{children:"Updated the colors and updated the PR."}),"\n",(0,n.jsxs)(t.li,{children:["The PR was then accepted and ",(0,n.jsx)(t.a,{href:"https://github.com/facebookincubator/profilo/commit/6ad033aaf5a7d54e6d842f45a5bccd051a8e45ad",children:"merged"}),". Yay!"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Website publishing:"})}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsx)(t.p,{children:"Pushed the first website version by running the Docusaurus publish script from the command line:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"USE_SSH=true \\\n GIT_USER=caabernathy \\\n CURRENT_BRANCH=master \\\n yarn run publish-gh-pages\n"})}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:["Configured CircleCI using the ",(0,n.jsx)(t.a,{href:"https://v1.docusaurus.io/docs/en/publishing.html#automating-deployments-using-continuous-integration",children:"provided Docusaurus instructions"}),". There were 2 PRs for this, ",(0,n.jsx)(t.a,{href:"https://github.com/facebookincubator/profilo/pull/8",children:"the first"}),"for the initial config and ",(0,n.jsx)(t.a,{href:"https://github.com/facebookincubator/profilo/pull/12",children:"the second"})," to make sure CircleCI only triggered for changes in the master branch (thanks Joel Marcey!)."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["The final website was published on ",(0,n.jsx)(t.a,{href:"https://facebookincubator.github.io/profilo/",children:"https://facebookincubator.github.io/profilo/"}),". It had taken 1.5 hours to get to the initial PR stage and another half an hour or so to respond to review feedback and publish the website."]}),"\n",(0,n.jsx)(t.h2,{id:"design",children:"Design"}),"\n",(0,n.jsx)(t.p,{children:"Here's what the initial website looked like when the first pull request was sent out:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"The website's front page, with a quite bright and saturated red color as the primary color, closely resembling the Profilo logo color, making the logo unrecognizable in the navbar",src:o(76770).Z+"",width:"1090",height:"919"})}),"\n",(0,n.jsx)(t.p,{children:"Most of the time in the content creation was spent picking colors that worked reasonably well with the given logo. These colors were a good jumping off point for designer feedback. I used Photoshop to sample various portions of the logo."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Picking colors in Photoshop, with the Profilo logo and the main working area in the background and a color picker dialog in the foreground, selected to a red shade",src:o(12816).Z+"",width:"1090",height:"624"})}),"\n",(0,n.jsxs)(t.p,{children:["I then took the RGB representation of the color and set it as the baseline color on ",(0,n.jsx)(t.a,{href:"http://paletton.com/",children:"Paletton"}),". The website then gave me various color options to try on the website by editing the Docusaurus website configuration file."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Using Paletton to generate a full palette from the red shade selected. There's a color wheel showing all hues on the left, and a square showing various shades of red on the right.",src:o(90842).Z+"",width:"1012",height:"632"})}),"\n",(0,n.jsx)(t.p,{children:"The selected primary and secondary colors were a good jumping off point for designer feedback."}),"\n",(0,n.jsx)(t.p,{children:"There were also modifications made to the default website generated by Docusaurus. These changes were mainly around simplifying the footer and creating a customized landing page for Profilo that listed the project's features."}),"\n",(0,n.jsx)(t.p,{children:"Here's what the final website looked like:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"The website's front page, with a much darker red color as the primary color, making both the logo and the primary-colored title text clearly legible.",src:o(78334).Z+"",width:"1141",height:"865"})}),"\n",(0,n.jsx)(t.p,{children:"This is an example page showing the core content, in this case the Getting Started page:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"A doc page with the sidebar on the left quarter of the screen and the main content occupying the rest. Some text is using the primary color and the main body uses multiple kinds of typesetting including bold, list, and code",src:o(78426).Z+"",width:"1221",height:"733"})}),"\n",(0,n.jsxs)(t.p,{children:["This also shows the sidebar structure that was set up through editing ",(0,n.jsx)(t.code,{children:"website/sidebars.json"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"Lastly, I didn't have to worry about handling responsive design. You get this out of the box with Docusaurus!"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Mobile screenshots of the front page and sample doc page. The layout is automatically adjusted to make it appear more natural. The doc sidebar is hidden behind a button.",src:o(7609).Z+"",width:"1064",height:"940"})}),"\n",(0,n.jsx)(t.h2,{id:"final-thoughts",children:"Final Thoughts"}),"\n",(0,n.jsx)(t.p,{children:"The Profilo engineers were happy to see that they didn't have to change their workflow to update existing content. They were able to continue working with Markdown files. This will still be true in the future if new docs are added, although there may be some config changes needed if the sidebar navigation needs to be updated."}),"\n",(0,n.jsx)(t.p,{children:"The infrastructure provided by Docusaurus made it easy to convert Markdown files into a working website. Even though the project had only three docs, this gave Profilo a more professional look. So, it was well worth the short time investment to get it done."})]})}function c(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},80980:function(e,t,o){o.d(t,{Z:()=>a,a:()=>r});var i=o(67294);let n={},s=i.createContext(n);function r(e){let t=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),i.createElement(s.Provider,{value:t},e.children)}},80410:function(e){e.exports=JSON.parse('{"permalink":"/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2018/04-30-How-I-Converted-Profilo-To-Docusaurus.mdx","source":"@site/blog/2018/04-30-How-I-Converted-Profilo-To-Docusaurus.mdx","title":"How I Converted Profilo to Docusaurus in Under 2 Hours","description":"\u201CJoel and I were discussing having a website and how it would have been great to launch with it. So I challenged myself to add Docusaurus support. It took just over an hour and a half. I\'m going to send you a PR with the addition so you can take a look and see if you like it. Your workflow for adding docs wouldn\'t be much different from editing those Markdown files.\u201D","date":"2018-04-30T00:00:00.000Z","tags":[{"inline":false,"label":"Profilo","permalink":"/blog/tags/profilo"},{"inline":false,"label":"Adoption","permalink":"/blog/tags/adoption"}],"readingTime":5.95,"hasTruncateMarker":true,"authors":[{"name":"Christine Abernathy","url":"http://x.com/abernathyca","socials":{"x":"https://x.com/abernathyca"},"imageURL":"https://github.com/caabernathy.png","key":"abernathyca","page":null}],"frontMatter":{"title":"How I Converted Profilo to Docusaurus in Under 2 Hours","authors":["abernathyca"],"tags":["profilo","adoption"]},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Towards Docusaurus 2","permalink":"/blog/2018/09/11/Towards-Docusaurus-2"},"nextItem":{"title":"Introducing Docusaurus","permalink":"/blog/2017/12/14/introducing-docusaurus"}}')}}]); \ No newline at end of file diff --git a/assets/js/7f46113d.5108a2a0.js b/assets/js/7f46113d.5108a2a0.js new file mode 100644 index 0000000000..776e2a86a1 --- /dev/null +++ b/assets/js/7f46113d.5108a2a0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["62991"],{82518:function(e){e.exports=JSON.parse('{"authors":[{"name":"Sebastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/tests/blog/authors/slorber"},"socials":{"x":"https://x.com/sebastienlorber"},"imageURL":"https://github.com/slorber.png","key":"slorber","count":5},{"name":"ozaki","page":{"permalink":"/tests/blog/authors/custom/ozaki/permalink"},"key":"ozaki","count":0}]}')}}]); \ No newline at end of file diff --git a/assets/js/7f6bb8ad.44bd70d5.js b/assets/js/7f6bb8ad.44bd70d5.js new file mode 100644 index 0000000000..0d75711154 --- /dev/null +++ b/assets/js/7f6bb8ad.44bd70d5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["6210"],{9857:function(e,t,n){n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>u});var a=n(17708),l=n(85893),i=n(80980);let o={mdx:{format:"md"},date:"2019-11-22T20:00",authors:["endiliey","lex111","yangshun"]},s="2.0.0-alpha.36",r={authorsImageUrls:[void 0,void 0,void 0]},u=[];function h(e){return(0,l.jsx)(l.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},80980:function(e,t,n){n.d(t,{Z:()=>s,a:()=>o});var a=n(67294);let l={},i=a.createContext(l);function o(e){let t=a.useContext(i);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),a.createElement(i.Provider,{value:t},e.children)}},17708:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.36","source":"@site/changelog/source/2.0.0-alpha.36.md","title":"2.0.0-alpha.36","description":"Breaking Change","date":"2019-11-22T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-22T20:00","authors":["endiliey","lex111","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.37","permalink":"/changelog/2.0.0-alpha.37"},"nextItem":{"title":"2.0.0-alpha.35","permalink":"/changelog/2.0.0-alpha.35"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/7f8679f5.c4b8ad3b.js b/assets/js/7f8679f5.c4b8ad3b.js new file mode 100644 index 0000000000..94d799cef3 --- /dev/null +++ b/assets/js/7f8679f5.c4b8ad3b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["1216"],{12912:function(a,e,t){t.r(e),t.d(e,{assets:()=>h,contentTitle:()=>r,default:()=>m,frontMatter:()=>l,metadata:()=>n,toc:()=>g});var n=t(91127),i=t(85893),o=t(80980);let l={mdx:{format:"md"},date:"2024-11-04T20:00",authors:["andrewasche","B0r1sD","ccho-mongodb","flixyudh","ilg-ul","jackrabbit128","k-seltzer","kenrick95","moonrailgun","moskalakamil","namnguyenthanhwork","Olexandr88","OzakIOne","patik123","Radovenchyk","raghav2005","slorber","TheMineWay","Zenahr"]},r="3.6.0",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},g=[];function u(a){return(0,i.jsx)(i.Fragment,{})}function m(a={}){let{wrapper:e}={...(0,o.a)(),...a.components};return e?(0,i.jsx)(e,{...a,children:(0,i.jsx)(u,{...a})}):u(a)}},80980:function(a,e,t){t.d(e,{Z:()=>r,a:()=>l});var n=t(67294);let i={},o=n.createContext(i);function l(a){let e=n.useContext(o);return n.useMemo(function(){return"function"==typeof a?a(e):{...e,...a}},[e,a])}function r(a){let e;return e=a.disableParentContext?"function"==typeof a.components?a.components(i):a.components||i:l(a.components),n.createElement(o.Provider,{value:e},a.children)}},91127:function(a){a.exports=JSON.parse('{"permalink":"/changelog/3.6.0","source":"@site/changelog/source/3.6.0.md","title":"3.6.0","description":"New Feature","date":"2024-11-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Andrew Asche","alias":"andrewasche","url":"https://github.com/andrewasche","imageURL":"https://github.com/andrewasche.png","key":"andrewasche","page":null},{"name":"Boris Depoortere","alias":"B0r1sD","url":"https://github.com/B0r1sD","imageURL":"https://github.com/B0r1sD.png","key":"B0r1sD","page":null},{"name":"Chris Cho","alias":"ccho-mongodb","url":"https://github.com/ccho-mongodb","imageURL":"https://github.com/ccho-mongodb.png","key":"ccho-mongodb","page":null},{"name":"Flix","alias":"flixyudh","url":"https://github.com/flixyudh","imageURL":"https://github.com/flixyudh.png","key":"flixyudh","page":null},{"name":"Liviu Ionescu","alias":"ilg-ul","url":"https://github.com/ilg-ul","imageURL":"https://github.com/ilg-ul.png","key":"ilg-ul","page":null},{"name":"jackrabbit128","alias":"jackrabbit128","url":"https://github.com/jackrabbit128","imageURL":"https://github.com/jackrabbit128.png","key":"jackrabbit128","page":null},{"name":"k-seltzer","alias":"k-seltzer","url":"https://github.com/k-seltzer","imageURL":"https://github.com/k-seltzer.png","key":"k-seltzer","page":null},{"name":"Kenrick","alias":"kenrick95","url":"https://github.com/kenrick95","imageURL":"https://github.com/kenrick95.png","key":"kenrick95","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Kamil Moska\u0142a","alias":"moskalakamil","url":"https://github.com/moskalakamil","imageURL":"https://github.com/moskalakamil.png","key":"moskalakamil","page":null},{"name":"Nguy\u1EC5n Th\xe0nh Nam","alias":"namnguyenthanhwork","url":"https://github.com/namnguyenthanhwork","imageURL":"https://github.com/namnguyenthanhwork.png","key":"namnguyenthanhwork","page":null},{"name":"Olexandr88","alias":"Olexandr88","url":"https://github.com/Olexandr88","imageURL":"https://github.com/Olexandr88.png","key":"Olexandr88","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Patrick","alias":"patik123","url":"https://github.com/patik123","imageURL":"https://github.com/patik123.png","key":"patik123","page":null},{"name":"Radovenchyk","alias":"Radovenchyk","url":"https://github.com/Radovenchyk","imageURL":"https://github.com/Radovenchyk.png","key":"Radovenchyk","page":null},{"name":"Raghav","alias":"raghav2005","url":"https://github.com/raghav2005","imageURL":"https://github.com/raghav2005.png","key":"raghav2005","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Joel Campos","alias":"TheMineWay","url":"https://github.com/TheMineWay","imageURL":"https://github.com/TheMineWay.png","key":"TheMineWay","page":null},{"name":"Zenahr Barzani","alias":"Zenahr","url":"https://github.com/Zenahr","imageURL":"https://github.com/Zenahr.png","key":"Zenahr","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-11-04T20:00","authors":["andrewasche","B0r1sD","ccho-mongodb","flixyudh","ilg-ul","jackrabbit128","k-seltzer","kenrick95","moonrailgun","moskalakamil","namnguyenthanhwork","Olexandr88","OzakIOne","patik123","Radovenchyk","raghav2005","slorber","TheMineWay","Zenahr"]},"unlisted":false,"prevItem":{"title":"3.6.1","permalink":"/changelog/3.6.1"},"nextItem":{"title":"3.5.2","permalink":"/changelog/3.5.2"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/7fdd8ddf.e4b580ad.js b/assets/js/7fdd8ddf.e4b580ad.js new file mode 100644 index 0000000000..ad082ed8dc --- /dev/null +++ b/assets/js/7fdd8ddf.e4b580ad.js @@ -0,0 +1,5 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["84429"],{3939:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>d,default:()=>p,contentTitle:()=>h,assets:()=>u,toc:()=>g,metadata:()=>s});var s=JSON.parse('{"type":"mdx","permalink":"/tests/pages/code-block-tests","source":"@site/_dogfooding/_pages tests/code-block-tests.mdx","title":"Code block tests","description":"This test page is quite outdated: MDX v2 lowercase tags are not substituted anymore in the same way as they were in v1.","frontMatter":{},"lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_pages tests/code-block-tests.mdx","unlisted":false}'),l=n(85893),r=n(80980),o=n(95998),i=n(14522),c=n(15398),a=n(58636);let d={},h="Code block tests",u={},g=[{value:"Code block prism language tests",id:"code-block-prism-language-tests",level:2},{value:"<code>pre</code>",id:"pre",level:2},{value:"<code>pre > string</code>",id:"pre--string",level:3},{value:"<code>pre > string[]</code>",id:"pre--string-1",level:3},{value:"<code>pre > element</code>",id:"pre--element",level:3},{value:"<code>pre > element[]</code>",id:"pre--element-1",level:3},{value:"<code>pre > code > element</code>",id:"pre--code--element",level:3},{value:"<code>code</code>",id:"code",level:2},{value:"<code>code > string</code>",id:"code--string",level:3},{value:"<code>code > string[]</code>",id:"code--string-1",level:3},{value:"<code>code > element</code>",id:"code--element",level:3},{value:"<code>code > element[]</code>",id:"code--element-1",level:3},{value:"<code>CodeBlock</code>",id:"codeblock",level:2},{value:"<code>CodeBlock > string</code>",id:"codeblock--string",level:3},{value:"<code>CodeBlock > string[]</code>",id:"codeblock--string-1",level:3},{value:"<code>CodeBlock > element</code>",id:"codeblock--element",level:3},{value:"<code>CodeBlock > element[]</code>",id:"codeblock--element-1",level:3},{value:"Code blocks with line numbering tests",id:"code-blocks-with-line-numbering-tests",level:2},{value:"Code block wrapping tests",id:"code-block-wrapping-tests",level:2},{value:"Magic comments tests",id:"magic-comments-tests",level:2},{value:"HTML - script + style highlighting",id:"html---script--style-highlighting",level:2},{value:"Empty code blocks edge cases",id:"empty-code-blocks-edge-cases",level:2}];function m(e){let t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.header,{children:(0,l.jsx)(t.h1,{id:"code-block-tests",children:"Code block tests"})}),"\n",(0,l.jsx)(t.admonition,{title:"legacy test page - MDX v1",type:"danger",children:(0,l.jsx)(t.p,{children:"This test page is quite outdated: MDX v2 lowercase tags are not substituted anymore in the same way as they were in v1."})}),"\n",(0,l.jsx)(t.hr,{}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-java",children:'class HelloWorld {\n public static void main(String args[]) {\n System.out.println("Hello, World");\n }\n}\n'})}),"\n",(0,l.jsx)(t.p,{children:"See:"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/1584",children:"https://github.com/facebook/docusaurus/pull/1584"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/3749",children:"https://github.com/facebook/docusaurus/pull/3749"})}),"\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/6177",children:"https://github.com/facebook/docusaurus/pull/6177"})}),"\n"]}),"\n",(0,l.jsx)(t.h2,{id:"code-block-prism-language-tests",children:"Code block prism language tests"}),"\n",(0,l.jsxs)(t.p,{children:["Code block with/without the good prism language case(lower or upper) in ",(0,l.jsx)(t.code,{children:"additionalLanguages[]"})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-php",metastring:'title="php"',children:'<?php\n$x=15;\n$y=30;\n$z=$x+$y;\necho "Sum: ",$z;\n?>\n'})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-PHP",metastring:'title="PHP"',children:'<?php\n$x=15;\n$y=30;\n$z=$x+$y;\necho "Sum: ",$z;\n?>\n'})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-pHp",metastring:'title="pHp"',children:'<?php\n$x=15;\n$y=30;\n$z=$x+$y;\necho "Sum: ",$z;\n?>\n'})}),"\n",(0,l.jsx)(t.p,{children:"See:"}),"\n",(0,l.jsxs)(t.ul,{children:["\n",(0,l.jsx)(t.li,{children:(0,l.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/9183",children:"https://github.com/facebook/docusaurus/pull/9183"})}),"\n"]}),"\n",(0,l.jsx)(t.h2,{id:"pre",children:(0,l.jsx)(t.code,{children:"pre"})}),"\n",(0,l.jsx)(t.h3,{id:"pre--string",children:(0,l.jsx)(t.code,{children:"pre > string"})}),"\n",(0,l.jsxs)(t.p,{children:["Multi-line text inside ",(0,l.jsx)(t.code,{children:"pre"})," will turn into one-liner, but it's okay (",(0,l.jsx)(t.a,{href:"https://github.com/mdx-js/mdx/issues/1095",children:"https://github.com/mdx-js/mdx/issues/1095"}),")"]}),"\n",(0,l.jsx)("pre",{children:"1 2 3"}),"\n","\n",(0,l.jsx)("pre",{children:(0,l.jsx)(t.p,{children:"1\n2\n3"})}),"\n",(0,l.jsx)(t.h3,{id:"pre--string-1",children:(0,l.jsx)(t.code,{children:"pre > string[]"})}),"\n",(0,l.jsx)("pre",{children:(0,l.jsxs)(t.p,{children:["1","\n","2","\n","3","\n"]})}),"\n",(0,l.jsx)(t.h3,{id:"pre--element",children:(0,l.jsx)(t.code,{children:"pre > element"})}),"\n",(0,l.jsx)("pre",{children:(0,l.jsx)(i.Z,{children:"Lol bro"})}),"\n",(0,l.jsx)(t.h3,{id:"pre--element-1",children:(0,l.jsx)(t.code,{children:"pre > element[]"})}),"\n",(0,l.jsxs)("pre",{children:[(0,l.jsx)("a",{href:"/",children:"Front page"}),"\n",(0,l.jsxs)(t.p,{children:[(0,l.jsx)("strong",{children:"Input: "}),'a = "abcd", b = "cdabcdab"',"\n","\n",(0,l.jsx)("strong",{children:"Output: "}),"3","\n","\n",(0,l.jsx)("strong",{children:"Explanation: "}),'a after three repetitions become "ab\n',(0,l.jsx)("strong",{children:"cdabcdab"}),'cd", at which time b is a substring.',"\n"]})]}),"\n",(0,l.jsx)(t.h3,{id:"pre--code--element",children:(0,l.jsx)(t.code,{children:"pre > code > element"})}),"\n",(0,l.jsx)("pre",{children:(0,l.jsx)("code",{children:(0,l.jsx)("b",{children:"Hey bro"})})}),"\n",(0,l.jsx)(t.h2,{id:"code",children:(0,l.jsx)(t.code,{children:"code"})}),"\n",(0,l.jsx)(t.h3,{id:"code--string",children:(0,l.jsx)(t.code,{children:"code > string"})}),"\n",(0,l.jsx)("code",{children:"1 2 3"}),"\n",(0,l.jsx)("code",{children:`link: +title: front page +path: /docs/`}),"\n",(0,l.jsx)(t.h3,{id:"code--string-1",children:(0,l.jsx)(t.code,{children:"code > string[]"})}),"\n",(0,l.jsx)("code",{children:(0,l.jsxs)(t.p,{children:["link:"," \n","\n"," ","title: front page","\n","\n"," ","path: /docs/","\n"]})}),"\n",(0,l.jsx)(t.h3,{id:"code--element",children:(0,l.jsx)(t.code,{children:"code > element"})}),"\n",(0,l.jsx)("code",{children:(0,l.jsx)(i.Z,{children:"Lol bro"})}),"\n",(0,l.jsx)(t.h3,{id:"code--element-1",children:(0,l.jsx)(t.code,{children:"code > element[]"})}),"\n",(0,l.jsxs)("code",{children:[(0,l.jsx)("a",{href:"/",children:"Front page"}),(0,l.jsx)("br",{}),(0,l.jsxs)(t.p,{children:[(0,l.jsx)("strong",{children:"Input: "}),'a = "abcd", b = "cdabcdab"']}),(0,l.jsx)("br",{}),(0,l.jsxs)(t.p,{children:[(0,l.jsx)("strong",{children:"Output: "}),"3",(0,l.jsx)("br",{}),"\n",(0,l.jsx)("strong",{children:"Explanation: "}),'a after three repetitions become "ab',(0,l.jsx)("strong",{children:"\ncdabcdab\n"}),'cd", at which time b is a substring.']}),(0,l.jsx)("br",{})]}),"\n",(0,l.jsx)(t.h2,{id:"codeblock",children:(0,l.jsx)(t.code,{children:"CodeBlock"})}),"\n",(0,l.jsx)(t.h3,{id:"codeblock--string",children:(0,l.jsx)(t.code,{children:"CodeBlock > string"})}),"\n",(0,l.jsx)(o.Z,{children:"1 2 3"}),"\n",(0,l.jsx)(o.Z,{className:"language-yaml",title:"test",children:`link: +title: front page +path: /docs/`}),"\n",(0,l.jsx)(t.h3,{id:"codeblock--string-1",children:(0,l.jsx)(t.code,{children:"CodeBlock > string[]"})}),"\n",(0,l.jsx)(o.Z,{className:"language-yaml",title:"test",children:(0,l.jsxs)(t.p,{children:["link:","\n","\n"," ","title: front page","\n","\n"," ","path: /docs/","\n"]})}),"\n",(0,l.jsx)(t.h3,{id:"codeblock--element",children:(0,l.jsx)(t.code,{children:"CodeBlock > element"})}),"\n",(0,l.jsx)(o.Z,{className:"language-yaml",title:"test",children:(0,l.jsx)(i.Z,{children:"Lol bro"})}),"\n",(0,l.jsx)(t.h3,{id:"codeblock--element-1",children:(0,l.jsx)(t.code,{children:"CodeBlock > element[]"})}),"\n",(0,l.jsxs)(o.Z,{className:"language-yaml",title:"test",children:[(0,l.jsx)("a",{href:"/",children:"Front page"}),(0,l.jsx)("br",{}),(0,l.jsxs)(t.p,{children:[(0,l.jsx)("strong",{children:"Input: "}),'a = "abcd", b = "cdabcdab"']}),(0,l.jsx)("br",{}),(0,l.jsxs)(t.p,{children:[(0,l.jsx)("strong",{children:"Output: "}),"3",(0,l.jsx)("br",{}),"\n",(0,l.jsx)("strong",{children:"Explanation: "}),'a after three repetitions become "ab',(0,l.jsx)("strong",{children:"\ncdabcdab\n"}),'cd", at which time b is a substring.']}),(0,l.jsx)("br",{})]}),"\n",(0,l.jsx)(t.h2,{id:"code-blocks-with-line-numbering-tests",children:"Code blocks with line numbering tests"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",children:'function PageLayout(props) {\n // highlight-next-line\n return <Layout title="Awesome Docusaurus page" description="Test Test Test Test Test Test Test Test Test Test Test Test Test Test ">;\n}\n'})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:"showLineNumbers",children:'function PageLayout(props) {\n // highlight-next-line\n return <Layout title="Awesome Docusaurus page" description="Test Test Test Test Test Test Test Test Test Test Test Test Test Test ">;\n}\n'})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:"{1,3,6} showLineNumbers",children:"function PageLayout(props) {\n console.log(\n 'Test Test Test Test Test Test Test Test Test Test Test Test Test Test ',\n );\n console.log(\n 'Test Test Test Test Test Test Test Test Test Test Test Test Test Test ',\n );\n console.log(\n 'Test Test Test Test Test Test Test Test Test Test Test Test Test Test ',\n );\n console.log(\n 'Test Test Test Test Test Test Test Test Test Test Test Test Test Test ',\n );\n console.log(\n 'Test Test Test Test Test Test Test Test Test Test Test Test Test Test ',\n );\n console.log(\n 'Test Test Test Test Test Test Test Test Test Test Test Test Test Test ',\n );\n console.log(\n 'Test Test Test Test Test Test Test Test Test Test Test Test Test Test ',\n );\n console.log(\n 'Test Test Test Test Test Test Test Test Test Test Test Test Test Test ',\n );\n console.log(\n 'Test Test Test Test Test Test Test Test Test Test Test Test Test Test ',\n );\n}\n"})}),"\n",(0,l.jsx)(t.h2,{id:"code-block-wrapping-tests",children:"Code block wrapping tests"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-bash",children:'mkdir this_is_a_loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_string_to_test_code_block_wrapping\necho "this is a long string made up of many separate words that should be broken between words when possible"\ncurl https://docusaurus.io/tests/pages/code-block-tests\n'})}),"\n",(0,l.jsxs)(c.Z,{children:[(0,l.jsx)(a.Z,{value:"short-tab-1",label:"Short tab",children:(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-bash",children:'echo "hi"\n'})})}),(0,l.jsx)(a.Z,{value:"long-tab",label:"Long tab",children:(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-bash",children:"echo this will test whether a long string that is initially hidden will have the option to wrap when made visible\n"})})}),(0,l.jsx)(a.Z,{value:"short-tab-2",label:"Short tab",children:(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-bash",children:"rm short_initially_hidden_string\n"})})})]}),"\n",(0,l.jsxs)(c.Z,{children:[(0,l.jsx)(a.Z,{value:"long-tab",label:"Long tab",children:(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-bash",children:"echo medium_length_string_will_have_the_option_to_wrap_after_window_resized_while_it_is_hidden\n"})})}),(0,l.jsx)(a.Z,{value:"short-tab",label:"Short tab",children:(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-bash",children:'echo "short_initially_hidden_string"\n'})})})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:"showLineNumbers",children:"import React from 'react';\nimport Layout from '@theme/Layout';\n\nexport default function MyReactPage() {\n return (\n <Layout>\n <h1>My React page</h1>\n <p>\n This is a React page. Let's make this sentence bit long. Some more words\n to make sure... Some more words to make sure... Some more words to make\n sure...\n </p>\n </Layout>\n );\n}\n"})}),"\n",(0,l.jsx)(t.h2,{id:"magic-comments-tests",children:"Magic comments tests"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-lua",metastring:'title="lua_sum.lua"',children:"function sum(n)\n -- highlight-next-line\n local result = 0\n for i = 1, n do\n -- highlight-start\n result = result + i\n end\n -- highlight-end\n print(result)\nend\n"})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-haskell",metastring:'title="haskell.hs"',children:"stringLength :: String -> Int\n-- highlight-next-line\nstringLength [] = 0\nstringLength (x:xs) = 1 + stringLength xs\n"})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-wasm",metastring:'title="sum_webAssembly.wasm"',children:'(module\n ;; highlight-next-line\n (func $add (param $a i32) (param $b i32) (result i32)\n local.get $a\n ;; highlight-start\n local.get $b\n i32.add)\n ;; highlight-end\n (export "add" (func $add)))\n'})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-sql",metastring:'title="sql_query.sql"',children:"-- highlight-start\nSELECT *\nFROM orders\n-- highlight-end\nWHERE customer_id IN (\n SELECT customer_id\n -- highlight-next-line\n FROM customers\n WHERE country = 'USA'\n)\n"})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-sql",metastring:'title="sql_query_block.sql"',children:"/* highlight-start */\nSELECT *\nFROM orders\n/* highlight-end */\nWHERE customer_id IN (\n SELECT customer_id\n /* highlight-next-line */\n FROM customers\n WHERE country = 'USA'\n)\n"})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-matlab",metastring:'title="matlab.m"',children:"% highlight-start\nfunction result = times2(n)\n result = n * 2;\nend\n% highlight-end\n\nx = 10;\n% highlight-next-line\ny = times2(x);\n"})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-latex",metastring:'title="latex.tex"',children:"\\begin{document}\n \\section{Triangles}\n % highlight-next-line\n \\subsection{Pythagoras' Theorem}\n Pythagoras's theorem is:\n % highlight-start\n \\begin{equation}\n c^2 = a^2 + b^2\n \\end{equation}\n % highlight-end\n\\end{document}\n"})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-vba",metastring:'title="vba.vb"',children:"Function Factorial(ByVal n As Long) As Long\n If n < 0 Then\n Err.Raise 5 ' Invalid argument\n End If\n 'highlight-next-line\n Factorial = 1 ' return value\n Dim i As Long\n ' highlight-start\n For i = 2 To n\n Factorial = Factorial * i\n Next\n ' highlight-end\nEnd Function\n"})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-vbnet",metastring:'title="vbnet.vb"',children:'\' highlight-next-line\nDim languages As New HashSet(Of String) From {\n "C#",\n "Visual Basic",\n _ \' highlight-start\n "F#",\n "PowerShell",\n "TypeScript"\n _\' highlight-end\n}\n'})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-batch",metastring:'title="cmd.bat"',children:"rem highlight-start\n@echo off\nsetlocal\nRem highlight-end\nipconfig\nREM highlight-next-line\necho Docusaurus is awesome\nnetstat\n"})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-fortran",metastring:'title="fortran.f90"',children:'! highlight-start\nprogram hello\n! highlight-end\n implicit none\n ! highlight-next-line\n print *, "Hello, World!"\nend program hello\n'})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-cobol",metastring:'title="cobol.cob"',children:'*> highlight-start\nIDENTIFICATION DIVISION.\nPROGRAM-ID. HELLO.\n*> highlight-end\nPROCEDURE DIVISION.\n *> highlight-next-line\n DISPLAY "Hello, World!".\nEND PROGRAM HELLO.\n'})}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-fsharp",metastring:'title="fsharp.fsx"',children:'(* highlight-start *)\n[<EntryPoint>]\n(* highlight-end *)\nlet main _ =\n // highlight-next-line\n printfn "Hello, World!"\n 0\n'})}),"\n",(0,l.jsx)(t.h2,{id:"html---script--style-highlighting",children:"HTML - script + style highlighting"}),"\n",(0,l.jsxs)(t.p,{children:["See ",(0,l.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/9517",children:"https://github.com/facebook/docusaurus/issues/9517"})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-html",children:"<html lang=\"en\">\n <head>\n <script>\n const name = 'Formidable';\n console.log(name);\n <\/script>\n <style>\n .some-class {\n border: solid red thick;\n }\n </style>\n </head>\n</html>\n"})}),"\n",(0,l.jsx)(t.h2,{id:"empty-code-blocks-edge-cases",children:"Empty code blocks edge cases"}),"\n",(0,l.jsx)(t.p,{children:"Empty inline code block: ``"}),"\n",(0,l.jsxs)(t.p,{children:["Single space inline code block: ",(0,l.jsx)(t.code,{children:" "})]}),"\n",(0,l.jsx)(t.p,{children:"Empty code block"}),"\n","\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{})}),"\n",(0,l.jsx)(t.p,{children:"Empty 1 line code block"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{})}),"\n",(0,l.jsx)(t.p,{children:"Empty 2 line code block"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{})}),"\n",(0,l.jsx)(t.p,{children:"Empty live code block"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-js",metastring:"live",live:!0})})]})}function p(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(m,{...e})}):m(e)}},58636:function(e,t,n){n.d(t,{Z:()=>r});var s=n(85893);n(67294);var l=n(90496);function r(e){let{children:t,hidden:n,className:r}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,l.Z)("tabItem_pnkT",r),hidden:n,children:t})}},15398:function(e,t,n){n.d(t,{Z:()=>j});var s=n(85893),l=n(67294),r=n(90496),o=n(54947),i=n(3620),c=n(844),a=n(97486),d=n(32263),h=n(16971);function u(e){return l.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||l.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function g(e){let{value:t,tabValues:n}=e;return n.some(e=>e.value===t)}var m=n(71607);function p(e){let{className:t,block:n,selectedValue:l,selectValue:i,tabValues:c}=e,a=[],{blockElementScrollPositionUntilNextRender:d}=(0,o.o5)(),h=e=>{let t=e.currentTarget,n=c[a.indexOf(t)].value;n!==l&&(d(t),i(n))},u=e=>{let t=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{let n=a.indexOf(e.currentTarget)+1;t=a[n]??a[0];break}case"ArrowLeft":{let n=a.indexOf(e.currentTarget)-1;t=a[n]??a[a.length-1]}}t?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t),children:c.map(e=>{let{value:t,label:n,attributes:o}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,ref:e=>{a.push(e)},onKeyDown:u,onClick:h,...o,className:(0,r.Z)("tabs__item","tabItem_AQgk",o?.className,{"tabs__item--active":l===t}),children:n??t},t)})})}function x(e){let{lazy:t,children:n,selectedValue:o}=e,i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){let e=i.find(e=>e.props.value===o);return e?(0,l.cloneElement)(e,{className:(0,r.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:i.map((e,t)=>(0,l.cloneElement)(e,{key:t,hidden:e.props.value!==o}))})}function b(e){let t=function(e){let{defaultValue:t,queryString:n=!1,groupId:s}=e,r=function(e){let{values:t,children:n}=e;return(0,l.useMemo)(()=>{let e=t??u(n).map(e=>{let{props:{value:t,label:n,attributes:s,default:l}}=e;return{value:t,label:n,attributes:s,default:l}});return!function(e){let t=(0,d.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,n])}(e),[o,m]=(0,l.useState)(()=>(function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!g({value:t,tabValues:n}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let s=n.find(e=>e.default)??n[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:t,tabValues:r})),[p,x]=function(e){let{queryString:t=!1,groupId:n}=e,s=(0,i.k6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,a._X)(r),(0,l.useCallback)(e=>{if(!r)return;let t=new URLSearchParams(s.location.search);t.set(r,e),s.replace({...s.location,search:t.toString()})},[r,s])]}({queryString:n,groupId:s}),[b,j]=function(e){let{groupId:t}=e,n=t?`docusaurus.tab.${t}`:null,[s,r]=(0,h.Nk)(n);return[s,(0,l.useCallback)(e=>{n&&r.set(e)},[n,r])]}({groupId:s}),f=(()=>{let e=p??b;return g({value:e,tabValues:r})?e:null})();return(0,c.Z)(()=>{f&&m(f)},[f]),{selectedValue:o,selectValue:(0,l.useCallback)(e=>{if(!g({value:e,tabValues:r}))throw Error(`Can't select invalid tab value=${e}`);m(e),x(e),j(e)},[x,j,r]),tabValues:r}}(e);return(0,s.jsxs)("div",{className:(0,r.Z)("tabs-container","tabList_Qoir"),children:[(0,s.jsx)(p,{...t,...e}),(0,s.jsx)(x,{...t,...e})]})}function j(e){let t=(0,m.Z)();return(0,s.jsx)(b,{...e,children:u(e.children)},String(t))}},56497:function(e,t,n){n.d(t,{Z:()=>r});var s=n(85893);n(67294);var l=n(71607);function r(e){let{children:t,fallback:n}=e;return(0,l.Z)()?(0,s.jsx)(s.Fragment,{children:t?.()}):n??null}},14522:function(e,t,n){n.d(t,{Z:()=>i});var s=n(85893);n(67294);var l=n(90496);let r="dot_giz1",o="bar_rrRL";function i(e){let{children:t,minHeight:n,url:i="http://localhost:3000",style:c,bodyStyle:a}=e;return(0,s.jsxs)("div",{className:"browserWindow_my1Q",style:{...c,minHeight:n},children:[(0,s.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,s.jsxs)("div",{className:"buttons_uHc7",children:[(0,s.jsx)("span",{className:r,style:{background:"#f25f58"}}),(0,s.jsx)("span",{className:r,style:{background:"#fbbe3c"}}),(0,s.jsx)("span",{className:r,style:{background:"#58cb42"}})]}),(0,s.jsx)("div",{className:(0,l.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:i}),(0,s.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:o}),(0,s.jsx)("span",{className:o}),(0,s.jsx)("span",{className:o})]})})]}),(0,s.jsx)("div",{className:"browserWindowBody_Idgs",style:a,children:t})]})}},95998:function(e,t,n){n.d(t,{Z:()=>et});var s,l={};n.r(l),n.d(l,{ButtonExample:()=>_});var r=n(85893),o=n(67294),i=n(90496),c=n(71607),a=n(10075),d=n(77827),h=n(8156),u=n(56497),g=n(85108),m=n(45245),p=n(26378);function x(){let{prism:e}=(0,p.L)(),{colorMode:t}=(0,m.I)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var b=n(67490);function j(e){let{children:t}=e;return(0,r.jsx)("div",{className:(0,i.Z)("playgroundHeader_Tvsk"),children:t})}function f(){return(0,r.jsx)("div",{children:"Loading..."})}function T(){return(0,r.jsx)(u.Z,{fallback:(0,r.jsx)(f,{}),children:()=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(b.Z,{fallback:e=>(0,r.jsx)(g.Ac,{...e}),children:(0,r.jsx)(a.i5,{})}),(0,r.jsx)(a.IF,{})]})})}function v(){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(j,{children:(0,r.jsx)(d.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks",children:"Result"})}),(0,r.jsx)("div",{className:"playgroundPreview_mApW",children:(0,r.jsx)(T,{})})]})}function k(){let e=(0,c.Z)();return(0,r.jsx)(a.uz,{className:"playgroundEditor_TySg"},String(e))}function y(){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(j,{children:(0,r.jsx)(d.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks",children:"Live Editor"})}),(0,r.jsx)(k,{})]})}let w=e=>`${e};`;function N(e){let{children:t,transformCode:n,...s}=e,{siteConfig:{themeConfig:l}}=(0,h.Z)(),{liveCodeBlock:{playgroundPosition:o}}=l,i=x(),c=s.metastring?.includes("noInline")??!1;return(0,r.jsx)("div",{className:"playgroundContainer_6Ior",children:(0,r.jsx)(a.nu,{code:t?.replace(/\n$/,""),noInline:c,transformCode:n??w,theme:i,...s,children:"top"===o?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(v,{}),(0,r.jsx)(y,{})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(y,{}),(0,r.jsx)(v,{})]})})})}function _(e){return(0,r.jsx)("button",{type:"button",...e,style:{backgroundColor:"white",color:"black",border:"solid red",borderRadius:20,padding:10,cursor:"pointer",...e.style}})}let L={React:o,...o,...l};var E=n(55951),B=n(6324),C=n.n(B);let I=/title=(?<quote>["'])(?<title>.*?)\1/,S=/\{(?<range>[\d,-]+)\}/,Z={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},$={...Z,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},A=Object.keys(Z);function R(e,t){let n=e.map(e=>{let{start:n,end:s}=$[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}function H(e){let{as:t,...n}=e,s=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[s,l]=e,r=t[s];r&&"string"==typeof l&&(n[r]=l)}),n}(x());return(0,r.jsx)(t,{...n,style:s,className:(0,i.Z)(n.className,"codeBlockContainer_jDV4",E.k.common.codeBlock)})}let O={codeBlockContent:"codeBlockContent_vx7S",codeBlockTitle:"codeBlockTitle_bdru",codeBlock:"codeBlock_Gebt",codeBlockStandalone:"codeBlockStandalone_i_cY",codeBlockLines:"codeBlockLines_FJaf",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_FU9Q",buttonGroup:"buttonGroup_cUGO"};function M(e){let{children:t,className:n}=e;return(0,r.jsx)(H,{as:"pre",tabIndex:0,className:(0,i.Z)(O.codeBlockStandalone,"thin-scrollbar",n),children:(0,r.jsx)("code",{className:O.codeBlockLines,children:t})})}var F=n(50923);let W={attributes:!0,characterData:!0,childList:!0,subtree:!0};var D=n(7316);let q={codeLine:"codeLine_qRmp",codeLineNumber:"codeLineNumber_dS_J",codeLineContent:"codeLineContent_XF5l"};function P(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:l,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let c=l({line:t,className:(0,i.Z)(n,s&&q.codeLine)}),a=t.map((e,t)=>(0,r.jsx)("span",{...o({token:e})},t));return(0,r.jsxs)("span",{...c,children:[s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:q.codeLineNumber}),(0,r.jsx)("span",{className:q.codeLineContent,children:a})]}):a,(0,r.jsx)("br",{})]})}var V=n(44771);function z(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function U(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let G={copyButtonCopied:"copyButtonCopied_OkN_",copyButtonIcons:"copyButtonIcons_OqsO",copyButtonIcon:"copyButtonIcon_PgCn",copyButtonSuccessIcon:"copyButtonSuccessIcon_bsQG"};function X(e){let{code:t,className:n}=e,[s,l]=(0,o.useState)(!1),c=(0,o.useRef)(void 0),a=(0,o.useCallback)(()=>{(0,V.Z)(t),l(!0),c.current=window.setTimeout(()=>{l(!1)},1e3)},[t]);return(0,o.useEffect)(()=>()=>window.clearTimeout(c.current),[]),(0,r.jsx)("button",{type:"button","aria-label":s?(0,d.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,d.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,d.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",n,G.copyButton,s&&G.copyButtonCopied),onClick:a,children:(0,r.jsxs)("span",{className:G.copyButtonIcons,"aria-hidden":"true",children:[(0,r.jsx)(z,{className:G.copyButtonIcon}),(0,r.jsx)(U,{className:G.copyButtonSuccessIcon})]})})}function Q(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let J={wordWrapButtonIcon:"wordWrapButtonIcon_MQXS",wordWrapButtonEnabled:"wordWrapButtonEnabled_TBIH"};function Y(e){let{className:t,onClick:n,isEnabled:s}=e,l=(0,d.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,r.jsx)("button",{type:"button",onClick:n,className:(0,i.Z)("clean-btn",t,s&&J.wordWrapButtonEnabled),"aria-label":l,title:l,children:(0,r.jsx)(Q,{className:J.wordWrapButtonIcon,"aria-hidden":"true"})})}function K(e){var t;let{children:n,className:s="",metastring:l,title:a,showLineNumbers:d,language:h}=e,{prism:{defaultLanguage:u,magicComments:g}}=(0,p.L)(),m=(t=h??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(s)??u,t?.toLowerCase()),b=x(),j=function(){let[e,t]=(0,o.useState)(!1),[n,s]=(0,o.useState)(!1),l=(0,o.useRef)(null),r=(0,o.useCallback)(()=>{let n=l.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[l,e]),i=(0,o.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=l.current;s(e>t||l.current.querySelector("code").hasAttribute("style"))},[l]);return!function(e,t){let[n,s]=(0,o.useState)(),l=(0,o.useCallback)(()=>{s(e.current?.closest("[role=tabpanel][hidden]"))},[e,s]);(0,o.useEffect)(()=>{l()},[l]),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:W,s=(0,F.zX)(t),l=(0,F.Ql)(n);(0,o.useEffect)(()=>{let t=new MutationObserver(s);return e&&t.observe(e,l),()=>t.disconnect()},[e,s,l])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),l())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(l,i),(0,o.useEffect)(()=>{i()},[e,i]),(0,o.useEffect)(()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)}),[i]),{codeBlockRef:l,isEnabled:e,isCodeScrollable:n,toggle:r}}(),f=(0,c.Z)(),T=(l?.match(I)?.groups.title??"")||a,{lineClassNames:v,code:k}=function(e,t){let n=e.replace(/\n$/,""),{language:s,magicComments:l,metastring:r}=t;if(r&&S.test(r)){let e=r.match(S).groups.range;if(0===l.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${r}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=l[0].className;return{lineClassNames:Object.fromEntries(C()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===s)return{lineClassNames:{},code:n};let o=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return R(["js","jsBlock"],t);case"jsx":case"tsx":return R(["js","jsBlock","jsx"],t);case"html":return R(["js","jsBlock","html"],t);case"python":case"py":case"bash":return R(["bash"],t);case"markdown":case"md":return R(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return R(["tex"],t);case"lua":case"haskell":return R(["lua"],t);case"sql":return R(["lua","jsBlock"],t);case"wasm":return R(["wasm"],t);case"vb":case"vba":case"visual-basic":return R(["vb","rem"],t);case"vbnet":return R(["vbnet","rem"],t);case"batch":return R(["rem"],t);case"basic":return R(["rem","f90"],t);case"fsharp":return R(["js","ml"],t);case"ocaml":case"sml":return R(["ml"],t);case"fortran":return R(["f90"],t);case"cobol":return R(["cobol"],t);default:return R(A,t)}}(s,l),i=n.split("\n"),c=Object.fromEntries(l.map(e=>[e.className,{start:0,range:""}])),a=Object.fromEntries(l.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),d=Object.fromEntries(l.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),h=Object.fromEntries(l.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<i.length;){let t=i[e].match(o);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);a[n]?c[a[n]].range+=`${e},`:d[n]?c[d[n]].start=e:h[n]&&(c[h[n]].range+=`${c[h[n]].start}-${e-1},`),i.splice(e,1)}n=i.join("\n");let u={};return Object.entries(c).forEach(e=>{let[t,{range:n}]=e;C()(n).forEach(e=>{u[e]??=[],u[e].push(t)})}),{lineClassNames:u,code:n}}(n,{metastring:l,language:m,magicComments:g}),y=function(e){let{showLineNumbers:t,metastring:n}=e;return"boolean"==typeof t?t?1:void 0:"number"==typeof t?t:function(e){let t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t)return t.startsWith("showLineNumbers=")?parseInt(t.replace("showLineNumbers=",""),10):1}(n)}({showLineNumbers:d,metastring:l});return(0,r.jsxs)(H,{as:"div",className:(0,i.Z)(s,m&&!s.includes(`language-${m}`)&&`language-${m}`),children:[T&&(0,r.jsx)("div",{className:O.codeBlockTitle,children:T}),(0,r.jsxs)("div",{className:O.codeBlockContent,children:[(0,r.jsx)(D.y$,{theme:b,code:k,language:m??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:l,getTokenProps:o}=e;return(0,r.jsx)("pre",{tabIndex:0,ref:j.codeBlockRef,className:(0,i.Z)(t,O.codeBlock,"thin-scrollbar"),style:n,children:(0,r.jsx)("code",{className:(0,i.Z)(O.codeBlockLines,void 0!==y&&O.codeBlockLinesWithNumbering),style:void 0===y?void 0:{counterReset:`line-count ${y-1}`},children:s.map((e,t)=>(0,r.jsx)(P,{line:e,getLineProps:l,getTokenProps:o,classNames:v[t],showLineNumbers:void 0!==y},t))})})}}),f?(0,r.jsxs)("div",{className:O.buttonGroup,children:[(j.isEnabled||j.isCodeScrollable)&&(0,r.jsx)(Y,{className:O.codeButton,onClick:()=>j.toggle(),isEnabled:j.isEnabled}),(0,r.jsx)(X,{className:O.codeButton,code:k})]}):null]})]})}let ee=(s=function(e){let{children:t,...n}=e,s=(0,c.Z)(),l=o.Children.toArray(t).some(e=>(0,o.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t;return(0,r.jsx)("string"==typeof l?K:M,{...n,children:l},String(s))},function(e){return e.live?(0,r.jsx)(N,{scope:L,...e}):(0,r.jsx)(s,{...e})});function et(e){return(0,r.jsx)(ee,{...e})}}}]); \ No newline at end of file diff --git a/assets/js/7fedd5c3.f9062eb3.js b/assets/js/7fedd5c3.f9062eb3.js new file mode 100644 index 0000000000..1ad9162ad8 --- /dev/null +++ b/assets/js/7fedd5c3.f9062eb3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["68473"],{51949:function(e,n,a){a.r(n),a.d(n,{assets:()=>h,contentTitle:()=>o,default:()=>g,frontMatter:()=>l,metadata:()=>t,toc:()=>u});var t=a(81538),i=a(85893),s=a(80980);let l={mdx:{format:"md"},date:"2019-12-06T20:00",authors:["endiliey","FeynmanDNA","qshiwu","shivangna"]},o="2.0.0-alpha.38",h={authorsImageUrls:[void 0,void 0,void 0,void 0]},u=[];function r(e){return(0,i.jsx)(i.Fragment,{})}function g(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},80980:function(e,n,a){a.d(n,{Z:()=>o,a:()=>l});var t=a(67294);let i={},s=t.createContext(i);function l(e){let n=t.useContext(s);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),t.createElement(s.Provider,{value:n},e.children)}},81538:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.38","source":"@site/changelog/source/2.0.0-alpha.38.md","title":"2.0.0-alpha.38","description":"Breaking Change","date":"2019-12-06T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"KYY","alias":"FeynmanDNA","url":"https://github.com/FeynmanDNA","imageURL":"https://github.com/FeynmanDNA.png","key":"FeynmanDNA","page":null},{"name":"kaichu","alias":"qshiwu","url":"https://github.com/qshiwu","imageURL":"https://github.com/qshiwu.png","key":"qshiwu","page":null},{"name":"Shivangna Kaistha","alias":"shivangna","url":"https://github.com/shivangna","imageURL":"https://github.com/shivangna.png","key":"shivangna","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-12-06T20:00","authors":["endiliey","FeynmanDNA","qshiwu","shivangna"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.39","permalink":"/changelog/2.0.0-alpha.39"},"nextItem":{"title":"2.0.0-alpha.37","permalink":"/changelog/2.0.0-alpha.37"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/800c618c.923b0171.js b/assets/js/800c618c.923b0171.js new file mode 100644 index 0000000000..2e0d54e19e --- /dev/null +++ b/assets/js/800c618c.923b0171.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["55703"],{4582:function(e,t,s){s.r(t),s.d(t,{assets:()=>h,contentTitle:()=>a,default:()=>w,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var i=s(42701),r=s(85893),n=s(80980);let o={title:"How multiple authors with socials looks",authors:[{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor",socials:{x:"https://x.com/sebastienlorber",github:"https://github.com/slorber",stackoverflow:"https://stackoverflow.com/users/82609/sebastien-lorber",linkedin:"https://www.linkedin.com/in/sebastienlorber/",instagram:"https://www.instagram.com/thisweekinreact/",newsletter:"https://thisweekinreact.com/newsletter"}},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",socials:{x:"https://x.com/sebastienlorber",instagram:"thisweekinreact"}},{name:"Zed Spencer-Milnes",title:"All the socials test",urL:"https://gingergeek.co.uk",image_url:"https://github.com/GingerGeek.png",page:!1,socials:{x:"GingerGeek",github:"gingergeek",linkedin:"zedspencermilnes",youtube:"gingergeekuk",bluesky:"gingergeek.co.uk",stackoverflow:2064409,twitch:"gingergeek",threads:"gingergeekuk",mastodon:"https://hachyderm.io/@zed"}},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor"},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor"},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor"},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",socials:{github:"https://github.com/slorber",x:"https://x.com/sebastienlorber"}},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor",socials:{github:"https://github.com/slorber",x:"https://x.com/sebastienlorber"}},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",socials:{a:"https://thisweekinreact.com/newsletter",b:"https://thisweekinreact.com/newsletter",c:"https://thisweekinreact.com/newsletter",d:"https://thisweekinreact.com/newsletter",e:"https://thisweekinreact.com/newsletter",f:"https://thisweekinreact.com/newsletter",g:"https://thisweekinreact.com/newsletter",h:"https://thisweekinreact.com/newsletter",i:"https://thisweekinreact.com/newsletter",j:"https://thisweekinreact.com/newsletter",k:"https://thisweekinreact.com/newsletter",l:"https://thisweekinreact.com/newsletter",m:"https://thisweekinreact.com/newsletter",n:"https://thisweekinreact.com/newsletter",o:"https://thisweekinreact.com/newsletter",p:"https://thisweekinreact.com/newsletter"}},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",socials:{a:"https://thisweekinreact.com/newsletter",b:"https://thisweekinreact.com/newsletter",c:"https://thisweekinreact.com/newsletter",d:"https://thisweekinreact.com/newsletter",e:"https://thisweekinreact.com/newsletter",f:"https://thisweekinreact.com/newsletter",g:"https://thisweekinreact.com/newsletter",h:"https://thisweekinreact.com/newsletter",i:"https://thisweekinreact.com/newsletter",j:"https://thisweekinreact.com/newsletter",k:"https://thisweekinreact.com/newsletter",l:"https://thisweekinreact.com/newsletter",m:"https://thisweekinreact.com/newsletter",n:"https://thisweekinreact.com/newsletter",o:"https://thisweekinreact.com/newsletter",p:"https://thisweekinreact.com/newsletter",q:"https://thisweekinreact.com/newsletter",r:"https://thisweekinreact.com/newsletter",s:"https://thisweekinreact.com/newsletter",t:"https://thisweekinreact.com/newsletter",u:"https://thisweekinreact.com/newsletter",v:"https://thisweekinreact.com/newsletter",w:"https://thisweekinreact.com/newsletter",x:"https://thisweekinreact.com/newsletter",y:"https://thisweekinreact.com/newsletter",z:"https://thisweekinreact.com/newsletter"}}]},a="Multiple authors",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},c=[{value:"Content",id:"content",level:2}];function l(e){let t={h2:"h2",p:"p",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsx)(t.p,{children:"Content about the blog post"})]})}function w(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},80980:function(e,t,s){s.d(t,{Z:()=>a,a:()=>o});var i=s(67294);let r={},n=i.createContext(r);function o(e){let t=i.useContext(n);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(n.Provider,{value:t},e.children)}},42701:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2024/07/03/multiple-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2024-07-03-multiple-authors.mdx","source":"@site/_dogfooding/_blog tests/2024-07-03-multiple-authors.mdx","title":"How multiple authors with socials looks","description":"Content","date":"2024-07-03T00:00:00.000Z","tags":[],"readingTime":1.4,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","stackoverflow":"https://stackoverflow.com/users/82609/sebastien-lorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","instagram":"https://www.instagram.com/thisweekinreact/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","instagram":"https://www.instagram.com/thisweekinreact"},"key":null,"page":null},{"name":"Zed Spencer-Milnes","title":"All the socials test","urL":"https://gingergeek.co.uk","image_url":"https://github.com/GingerGeek.png","page":false,"socials":{"x":"https://x.com/GingerGeek","github":"https://github.com/gingergeek","linkedin":"https://www.linkedin.com/in/zedspencermilnes/","youtube":"https://youtube.com/@gingergeekuk","bluesky":"https://bsky.app/profile/gingergeek.co.uk","stackoverflow":"https://stackoverflow.com/users/2064409","twitch":"https://twitch.tv/gingergeek","threads":"https://www.threads.net/@gingergeekuk","mastodon":"https://hachyderm.io/@zed"},"imageURL":"https://github.com/GingerGeek.png","key":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter","q":"https://thisweekinreact.com/newsletter","r":"https://thisweekinreact.com/newsletter","s":"https://thisweekinreact.com/newsletter","t":"https://thisweekinreact.com/newsletter","u":"https://thisweekinreact.com/newsletter","v":"https://thisweekinreact.com/newsletter","w":"https://thisweekinreact.com/newsletter","x":"https://thisweekinreact.com/newsletter","y":"https://thisweekinreact.com/newsletter","z":"https://thisweekinreact.com/newsletter"},"key":null,"page":null}],"frontMatter":{"title":"How multiple authors with socials looks","authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","stackoverflow":"https://stackoverflow.com/users/82609/sebastien-lorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","instagram":"https://www.instagram.com/thisweekinreact/","newsletter":"https://thisweekinreact.com/newsletter"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","instagram":"thisweekinreact"}},{"name":"Zed Spencer-Milnes","title":"All the socials test","urL":"https://gingergeek.co.uk","image_url":"https://github.com/GingerGeek.png","page":false,"socials":{"x":"GingerGeek","github":"gingergeek","linkedin":"zedspencermilnes","youtube":"gingergeekuk","bluesky":"gingergeek.co.uk","stackoverflow":"2064409","twitch":"gingergeek","threads":"gingergeekuk","mastodon":"https://hachyderm.io/@zed"},"imageURL":"https://github.com/GingerGeek.png"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter","q":"https://thisweekinreact.com/newsletter","r":"https://thisweekinreact.com/newsletter","s":"https://thisweekinreact.com/newsletter","t":"https://thisweekinreact.com/newsletter","u":"https://thisweekinreact.com/newsletter","v":"https://thisweekinreact.com/newsletter","w":"https://thisweekinreact.com/newsletter","x":"https://thisweekinreact.com/newsletter","y":"https://thisweekinreact.com/newsletter","z":"https://thisweekinreact.com/newsletter"}}]},"unlisted":false,"prevItem":{"title":"Dual author socials","permalink":"/tests/blog/2024/07/03/dual-author"},"nextItem":{"title":"Single author socials","permalink":"/tests/blog/2024/07/03/single-author"}}')}}]); \ No newline at end of file diff --git a/assets/js/8050e487.8c991b01.js b/assets/js/8050e487.8c991b01.js new file mode 100644 index 0000000000..1181bb9f26 --- /dev/null +++ b/assets/js/8050e487.8c991b01.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["27898"],{77072:function(e,s,r){r.r(s),r.d(s,{assets:()=>u,contentTitle:()=>o,default:()=>a,frontMatter:()=>i,metadata:()=>l,toc:()=>t});var l=r(770),c=r(85893),n=r(80980);let i={mdx:{format:"md"},date:"2020-07-29T20:00",authors:["hobadams","Simek","slorber","teikjun"]},o="2.0.0-alpha.60",u={authorsImageUrls:[void 0,void 0,void 0,void 0]},t=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 4",id:"committers-4",level:2}];function d(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,n.a)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3134",children:"#3134"})," feat(v2): add validation escape hatch (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-1.x"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3124",children:"#3124"})," feat(v1): add 'slugPreprocessor' config option to allow users customize the hash links (",(0,c.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3133",children:"#3133"})," feat(v2): add themeConfig validation to algolia theme (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3142",children:"#3142"})," fix(v2): config validation fixes + add tests for config validation (",(0,c.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3149",children:"#3149"})," fix(v2): BrowserOnly should not return undefined (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3143",children:"#3143"})," fix(v2): absolute Links should be automatically prefixed by baseurl (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3141",children:"#3141"})," fix(v2): remove buggy routesLoaded + deprecate routesLoaded lifecycle (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3140",children:"#3140"})," fix(v2): navbar item links should allow unknown attributes (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3138",children:"#3138"})," fix(v2): add accessible label for Algolia search button (",(0,c.jsx)(s.a,{href:"https://github.com/hobadams",children:"@hobadams"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,c.jsx)(s.code,{children:"docusaurus"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3120",children:"#3120"})," fix(v2): make config validation less strict (",(0,c.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3145",children:"#3145"})," docs(v2): add myself to /team page + add TeamProfileCard component (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3146",children:"#3146"})," docs(v2): prettier docs (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3116",children:"#3116"})," chore(v2): docs updates after release (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:["Other\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3130",children:"#3130"})," chore(v2): remove old versions (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.code,{children:"docusaurus-1.x"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-init-1.x"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,c.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,c.jsx)(s.code,{children:"docusaurus"}),", ",(0,c.jsx)(s.code,{children:"lqip-loader"}),", ",(0,c.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:[(0,c.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/3114",children:"#3114"})," chore(v2): prepare v2.0.0.alpha-59 release (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,c.jsx)(s.h2,{id:"committers-4",children:"Committers: 4"}),"\n",(0,c.jsxs)(s.ul,{children:["\n",(0,c.jsxs)(s.li,{children:["Bartosz Kaszubowski (",(0,c.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Hob Adams (",(0,c.jsx)(s.a,{href:"https://github.com/hobadams",children:"@hobadams"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,c.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,c.jsxs)(s.li,{children:["Teik Jun (",(0,c.jsx)(s.a,{href:"https://github.com/teikjun",children:"@teikjun"}),")"]}),"\n"]})]})}function a(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,c.jsx)(s,{...e,children:(0,c.jsx)(d,{...e})}):d(e)}},80980:function(e,s,r){r.d(s,{Z:()=>o,a:()=>i});var l=r(67294);let c={},n=l.createContext(c);function i(e){let s=l.useContext(n);return l.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:i(e.components),l.createElement(n.Provider,{value:s},e.children)}},770:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.60","source":"@site/changelog/source/2.0.0-alpha.60.md","title":"2.0.0-alpha.60","description":"New Feature","date":"2020-07-29T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Hob Adams","alias":"hobadams","url":"https://github.com/hobadams","imageURL":"https://github.com/hobadams.png","key":"hobadams","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-07-29T20:00","authors":["hobadams","Simek","slorber","teikjun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.61","permalink":"/changelog/2.0.0-alpha.61"},"nextItem":{"title":"2.0.0-alpha.59","permalink":"/changelog/2.0.0-alpha.59"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/8075f6fd.9639ce65.js b/assets/js/8075f6fd.9639ce65.js new file mode 100644 index 0000000000..fd758887a0 --- /dev/null +++ b/assets/js/8075f6fd.9639ce65.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["39441"],{88593:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/social-card-0662a6f419d0032829f99915ccf8918b.png"},40610:function(e,n,t){t.d(n,{Z:()=>s});let s=t.p+"assets/images/social-card-0662a6f419d0032829f99915ccf8918b.png"},80792:function(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var s=t(68164),i=t(85893),r=t(80980);let o={authors:["slorber"],tags:["release"],slug:"/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing",description:"Upgrade npm dependencies with confidence thanks to a visual regression testing workflow using GitHub Actions, Playwright and Argos.",image:"./img/social-card.png"},a="Upgrading frontend dependencies with confidence",c={image:t(88593).Z,authorsImageUrls:[void 0]},d=[];function l(e){let n={a:"a",img:"img",p:"p",strong:"strong",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["Frontend developers often need to ",(0,i.jsx)(n.strong,{children:"upgrade npm dependencies"}),", but those upgrades can feel scary and lead to ",(0,i.jsx)(n.strong,{children:"subtle UI side effects"})," not caught by your regular test suite."]}),"\n",(0,i.jsxs)(n.p,{children:["Upgrading Docusaurus is a good example: without reviewing all the pages one by one, it's hard to be sure there's no visual regression. ",(0,i.jsx)(n.strong,{children:"Docusaurus v3 is around the corner"})," (currently in ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9312",children:"beta"}),"), and we would like to help you do this upgrade with confidence."]}),"\n",(0,i.jsxs)(n.p,{children:["This article introduces a ",(0,i.jsx)(n.strong,{children:"visual regression testing"})," workflow based on ",(0,i.jsx)(n.a,{href:"https://github.com/features/actions",children:(0,i.jsx)(n.strong,{children:"GitHub Actions"})}),", ",(0,i.jsx)(n.a,{href:"https://playwright.dev/",children:(0,i.jsx)(n.strong,{children:"Playwright"})}),", and ",(0,i.jsx)(n.a,{href:"https://argos-ci.com/",children:(0,i.jsx)(n.strong,{children:"Argos"})}),". It is not directly coupled to Docusaurus or React, and can be adapted to work with other frontend applications and frameworks."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Upgrading frontend dependencies with confidence - social card",src:t(40610).Z+"",width:"1500",height:"785"})})]})}function u(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},80980:function(e,n,t){t.d(n,{Z:()=>a,a:()=>o});var s=t(67294);let i={},r=s.createContext(i);function o(e){let n=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:n},e.children)}},68164:function(e){e.exports=JSON.parse('{"permalink":"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/2023/09-22-upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing/index.mdx","source":"@site/blog/2023/09-22-upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing/index.mdx","title":"Upgrading frontend dependencies with confidence","description":"Upgrade npm dependencies with confidence thanks to a visual regression testing workflow using GitHub Actions, Playwright and Argos.","date":"2023-09-22T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":8.355,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"authors":["slorber"],"tags":["release"],"slug":"/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing","description":"Upgrade npm dependencies with confidence thanks to a visual regression testing workflow using GitHub Actions, Playwright and Argos.","image":"./img/social-card.png"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Preparing your site for Docusaurus v3","permalink":"/blog/preparing-your-site-for-docusaurus-v3"},"nextItem":{"title":"Docusaurus 2.4","permalink":"/blog/releases/2.4"}}')}}]); \ No newline at end of file diff --git a/assets/js/814f3328.9752c059.js b/assets/js/814f3328.9752c059.js new file mode 100644 index 0000000000..d641a0550d --- /dev/null +++ b/assets/js/814f3328.9752c059.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["10106"],{4200:function(e){e.exports=JSON.parse('{"title":"All our posts","items":[{"title":"Docusaurus 3.7","permalink":"/blog/releases/3.7","unlisted":false,"date":"2025-01-03T00:00:00.000Z"},{"title":"Docusaurus 3.6","permalink":"/blog/releases/3.6","unlisted":false,"date":"2024-11-04T00:00:00.000Z"},{"title":"Docusaurus 3.5","permalink":"/blog/releases/3.5","unlisted":false,"date":"2024-08-09T00:00:00.000Z"},{"title":"Docusaurus 3.4","permalink":"/blog/releases/3.4","unlisted":false,"date":"2024-05-31T00:00:00.000Z"},{"title":"Docusaurus 3.3","permalink":"/blog/releases/3.3","unlisted":false,"date":"2024-05-03T00:00:00.000Z"},{"title":"Docusaurus 3.2","permalink":"/blog/releases/3.2","unlisted":false,"date":"2024-03-29T00:00:00.000Z"},{"title":"Docusaurus 3.1","permalink":"/blog/releases/3.1","unlisted":false,"date":"2024-01-05T00:00:00.000Z"},{"title":"Announcing Docusaurus 3.0","permalink":"/blog/releases/3.0","unlisted":false,"date":"2023-10-31T00:00:00.000Z"},{"title":"Preparing your site for Docusaurus v3","permalink":"/blog/preparing-your-site-for-docusaurus-v3","unlisted":false,"date":"2023-09-29T00:00:00.000Z"},{"title":"Upgrading frontend dependencies with confidence","permalink":"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing","unlisted":false,"date":"2023-09-22T00:00:00.000Z"},{"title":"Docusaurus 2.4","permalink":"/blog/releases/2.4","unlisted":false,"date":"2023-03-23T00:00:00.000Z"},{"title":"Docusaurus 2.3","permalink":"/blog/releases/2.3","unlisted":false,"date":"2023-01-27T00:00:00.000Z"},{"title":"Docusaurus 2.2","permalink":"/blog/releases/2.2","unlisted":false,"date":"2022-10-29T00:00:00.000Z"},{"title":"Docusaurus 2.1","permalink":"/blog/2022/09/01/docusaurus-2.1","unlisted":false,"date":"2022-09-01T00:00:00.000Z"},{"title":"Announcing Docusaurus 2.0","permalink":"/blog/2022/08/01/announcing-docusaurus-2.0","unlisted":false,"date":"2022-08-01T00:00:00.000Z"},{"title":"Docusaurus 2021 Recap","permalink":"/blog/2022/01/24/docusaurus-2021-recap","unlisted":false,"date":"2022-01-24T00:00:00.000Z"},{"title":"DocSearch migration","permalink":"/blog/2021/11/21/algolia-docsearch-migration","unlisted":false,"date":"2021-11-21T00:00:00.000Z"},{"title":"Announcing Docusaurus 2 Beta","permalink":"/blog/2021/05/12/announcing-docusaurus-two-beta","unlisted":false,"date":"2021-05-12T00:00:00.000Z"},{"title":"Releasing Docusaurus i18n","permalink":"/blog/2021/03/09/releasing-docusaurus-i18n","unlisted":false,"date":"2021-03-09T00:00:00.000Z"},{"title":"Docusaurus 2020 Recap","permalink":"/blog/2021/01/19/docusaurus-2020-recap","unlisted":false,"date":"2021-01-19T00:00:00.000Z"},{"title":"Tribute to Endi","permalink":"/blog/2020/01/07/tribute-to-endi","unlisted":false,"date":"2020-01-07T00:00:00.000Z"},{"title":"Docusaurus 2019 Recap","permalink":"/blog/2019/12/30/docusaurus-2019-recap","unlisted":false,"date":"2019-12-30T00:00:00.000Z"},{"title":"Happy 1st Birthday Slash!","permalink":"/blog/2018/12/14/Happy-First-Birthday-Slash","unlisted":false,"date":"2018-12-14T00:00:00.000Z"},{"title":"Towards Docusaurus 2","permalink":"/blog/2018/09/11/Towards-Docusaurus-2","unlisted":false,"date":"2018-09-11T00:00:00.000Z"},{"title":"How I Converted Profilo to Docusaurus in Under 2 Hours","permalink":"/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus","unlisted":false,"date":"2018-04-30T00:00:00.000Z"},{"title":"Introducing Docusaurus","permalink":"/blog/2017/12/14/introducing-docusaurus","unlisted":false,"date":"2017-12-14T00:00:00.000Z"}]}')}}]); \ No newline at end of file diff --git a/assets/js/814f3328.be6562aa.js b/assets/js/814f3328.be6562aa.js deleted file mode 100644 index 1c47d74f0d..0000000000 --- a/assets/js/814f3328.be6562aa.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[7472],{5513:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Welcome","permalink":"/blog/welcome","unlisted":false,"date":"2021-08-26T00:00:00.000Z"},{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post","unlisted":false,"date":"2021-08-01T00:00:00.000Z"},{"title":"Long Blog Post","permalink":"/blog/long-blog-post","unlisted":false,"date":"2019-05-29T00:00:00.000Z"},{"title":"First Blog Post","permalink":"/blog/first-blog-post","unlisted":false,"date":"2019-05-28T00:00:00.000Z"}]}')}}]); \ No newline at end of file diff --git a/assets/js/815cf1b3.c944f9b4.js b/assets/js/815cf1b3.c944f9b4.js new file mode 100644 index 0000000000..e95bdfacde --- /dev/null +++ b/assets/js/815cf1b3.c944f9b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["3560"],{33866:function(e){e.exports=JSON.parse('{"author":{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber","count":19},"listMetadata":{"permalink":"/blog/authors/slorber/authors/2","page":2,"postsPerPage":5,"totalPages":4,"totalCount":19,"previousPage":"/blog/authors/slorber","nextPage":"/blog/authors/slorber/authors/3","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/822bd8ab.4644f89a.js b/assets/js/822bd8ab.4644f89a.js deleted file mode 100644 index 4674da292c..0000000000 --- a/assets/js/822bd8ab.4644f89a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[2748],{8423:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>n,toc:()=>u});const n=JSON.parse('{"id":"tutorial-basics/congratulations","title":"Congratulations!","description":"You have just learned the basics of Docusaurus and made some changes to the initial template.","source":"@site/docs/tutorial-basics/congratulations.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/congratulations","permalink":"/docs/tutorial-basics/congratulations","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/congratulations.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6},"sidebar":"tutorialSidebar","previous":{"title":"Deploy your site","permalink":"/docs/tutorial-basics/deploy-your-site"},"next":{"title":"Tutorial - Extras","permalink":"/docs/category/tutorial---extras"}}');var o=e(4848),i=e(3023);const r={sidebar_position:6},a="Congratulations!",c={},u=[{value:"What's next?",id:"whats-next",level:2}];function d(s){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"congratulations",children:"Congratulations!"})}),"\n",(0,o.jsxs)(t.p,{children:["You have just learned the ",(0,o.jsx)(t.strong,{children:"basics of Docusaurus"})," and made some changes to the ",(0,o.jsx)(t.strong,{children:"initial template"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Docusaurus has ",(0,o.jsx)(t.strong,{children:"much more to offer"}),"!"]}),"\n",(0,o.jsxs)(t.p,{children:["Have ",(0,o.jsx)(t.strong,{children:"5 more minutes"}),"? Take a look at ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.a,{href:"/docs/tutorial-extras/manage-docs-versions",children:"versioning"})})," and ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.a,{href:"/docs/tutorial-extras/translate-your-site",children:"i18n"})}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Anything ",(0,o.jsx)(t.strong,{children:"unclear"})," or ",(0,o.jsx)(t.strong,{children:"buggy"})," in this tutorial? ",(0,o.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/discussions/4610",children:"Please report it!"})]}),"\n",(0,o.jsx)(t.h2,{id:"whats-next",children:"What's next?"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Read the ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/",children:"official documentation"})]}),"\n",(0,o.jsxs)(t.li,{children:["Modify your site configuration with ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/docs/api/docusaurus-config",children:(0,o.jsx)(t.code,{children:"docusaurus.config.js"})})]}),"\n",(0,o.jsxs)(t.li,{children:["Add navbar and footer items with ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/docs/api/themes/configuration",children:(0,o.jsx)(t.code,{children:"themeConfig"})})]}),"\n",(0,o.jsxs)(t.li,{children:["Add a custom ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/docs/styling-layout",children:"Design and Layout"})]}),"\n",(0,o.jsxs)(t.li,{children:["Add a ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/docs/search",children:"search bar"})]}),"\n",(0,o.jsxs)(t.li,{children:["Find inspirations in the ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/showcase",children:"Docusaurus showcase"})]}),"\n",(0,o.jsxs)(t.li,{children:["Get involved in the ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/community/support",children:"Docusaurus Community"})]}),"\n"]})]})}function l(s={}){const{wrapper:t}={...(0,i.R)(),...s.components};return t?(0,o.jsx)(t,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},3023:(s,t,e)=>{e.d(t,{R:()=>r,x:()=>a});var n=e(6540);const o={},i=n.createContext(o);function r(s){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof s?s(t):{...t,...s}}),[t,s])}function a(s){let t;return t=s.disableParentContext?"function"==typeof s.components?s.components(o):s.components||o:r(s.components),n.createElement(i.Provider,{value:t},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/82425aa0.811d7174.js b/assets/js/82425aa0.811d7174.js new file mode 100644 index 0000000000..ee2a184157 --- /dev/null +++ b/assets/js/82425aa0.811d7174.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["61294"],{85345:function(e,n,s){s.d(n,{Z:()=>i});let i=s.p+"assets/images/mdx-checker-output-0f96cc19fd3ed4d55901ca90ad657c14.png"},51476:function(e,n,s){s.d(n,{Z:()=>i});let i=s.p+"assets/images/mdx2-playground-options-eab88e8328a6902759c4236ffc93d9c6.png"},5314:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>t,default:()=>h,contentTitle:()=>a,assets:()=>d,toc:()=>c,metadata:()=>i});var i=JSON.parse('{"id":"migration/v3","title":"Upgrading to Docusaurus v3","description":"This documentation will help you upgrade your site from Docusaurus v2 to Docusaurus v3.","source":"@site/docs/migration/v3.mdx","sourceDirName":"migration","slug":"/migration/v3","permalink":"/docs/migration/v3","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/v3.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration/v3","sidebar_label":"To Docusaurus v3"},"sidebar":"docs","previous":{"title":"Upgrading Docusaurus","permalink":"/docs/migration"},"next":{"title":"Overview","permalink":"/docs/migration/v2"}}'),r=s(85893),o=s(80980);let t={slug:"/migration/v3",sidebar_label:"To Docusaurus v3"},a="Upgrading to Docusaurus v3",d={},c=[{value:"Upgrading Dependencies",id:"upgrading-dependencies",level:2},{value:"Upgrading MDX",id:"upgrading-mdx",level:2},{value:"Using the MDX playground",id:"using-the-mdx-playground",level:3},{value:"Using the MDX checker CLI",id:"using-the-mdx-checker-cli",level:3},{value:"Common MDX problems",id:"common-mdx-problems",level:3},{value:"Bad usage of <code>{</code>",id:"bad-usage-of-",level:4},{value:"Bad usage of <code><</code>",id:"bad-usage-of--1",level:4},{value:"Bad usage of GFM Autolink",id:"bad-usage-of-gfm-autolink",level:4},{value:"Lower-case MDXComponent mapping",id:"lower-case-mdxcomponent-mapping",level:4},{value:"Unintended extra paragraphs",id:"unintended-extra-paragraphs",level:4},{value:"Unintended usage of directives",id:"unintended-usage-of-directives",level:4},{value:"Unsupported indented code blocks",id:"unsupported-indented-code-blocks",level:4},{value:"Other Markdown incompatibilities",id:"other-markdown-incompatibilities",level:3},{value:"Emphasis starting or ending with a space or a punctuation",id:"emphasis-starting-or-ending-with-a-space-or-a-punctuation",level:4},{value:"MDX plugins",id:"mdx-plugins",level:3},{value:"Formatters",id:"formatters",level:3},{value:"Other Breaking Changes",id:"other-breaking-changes",level:2},{value:"Node.js v18.0",id:"nodejs-v180",level:3},{value:"React v18.0+",id:"react-v180",level:3},{value:"Prism-React-Renderer v2.0+",id:"prism-react-renderer-v20",level:3},{value:"React-Live v4.0+",id:"react-live-v40",level:3},{value:"remark-emoji v4.0+",id:"remark-emoji-v40",level:3},{value:"Mermaid v10.4+",id:"mermaid-v104",level:3},{value:"TypeScript v5.1+",id:"typescript-v51",level:3},{value:"TypeScript base config",id:"typescript-base-config",level:3},{value:"New Config Loader",id:"new-config-loader",level:3},{value:"Admonition Warning",id:"admonition-warning",level:3},{value:"Versioned Sidebars",id:"versioned-sidebars",level:3},{value:"Blog Feed Limit",id:"blog-feed-limit",level:3},{value:"Docs Theme Refactoring",id:"docs-theme-refactoring",level:3},{value:"Optional Changes",id:"optional-changes",level:2},{value:"Automatic JSX runtime",id:"automatic-jsx-runtime",level:3},{value:"ESM and TypeScript Configs",id:"esm-and-typescript-configs",level:3},{value:"Using the <code>.mdx</code> extension",id:"using-the-mdx-extension",level:3},{value:"Upgrading math packages",id:"upgrading-math-packages",level:3},{value:"Turn off MDX v1 compat",id:"turn-off-mdx-v1-compat",level:3},{value:"<code>comments</code> option",id:"comments-option",level:4},{value:"<code>admonitions</code> option",id:"admonitions-option",level:4},{value:"<code>headingIds</code> option",id:"headingids-option",level:4},{value:"Troubleshooting",id:"troubleshooting",level:2}];function l(e){let n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components},{Code:i,Details:t}=n;return i||u("Code",!0),t||u("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"upgrading-to-docusaurus-v3",children:"Upgrading to Docusaurus v3"})}),"\n",(0,r.jsx)(n.p,{children:"This documentation will help you upgrade your site from Docusaurus v2 to Docusaurus v3."}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus v3 is a new ",(0,r.jsx)(n.strong,{children:"major version"}),", including ",(0,r.jsx)(n.strong,{children:"breaking changes"})," requiring you to adjust your site accordingly. We will guide to during this process, and also mention a few optional recommendations."]}),"\n",(0,r.jsx)(n.p,{children:"This is not a full rewrite, and the breaking changes are relatively easy to handle. The simplest sites will eventually upgrade by simply updating their npm dependencies."}),"\n",(0,r.jsxs)(n.p,{children:["The main breaking change is the upgrade from MDX v1 to MDX v3. Read the ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/blog/v2/",children:(0,r.jsx)(n.strong,{children:"MDX v2"})})," and ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/blog/v3/",children:(0,r.jsx)(n.strong,{children:"MDX v3"})})," release notes for details. MDX will now compile your Markdown content ",(0,r.jsx)(n.strong,{children:"more strictly"})," and with ",(0,r.jsx)(n.strong,{children:"subtle differences"}),"."]}),"\n",(0,r.jsxs)(n.admonition,{title:"Before upgrading",type:"tip",children:[(0,r.jsxs)(n.p,{children:["Before upgrading, we recommend ",(0,r.jsx)(n.a,{href:"/blog/preparing-your-site-for-docusaurus-v3",children:(0,r.jsx)(n.strong,{children:"preparing your site for Docusaurus v3"})}),". There are changes that you can already ",(0,r.jsx)(n.strong,{children:"handle incrementally, under Docusaurus v2"}),". Doing so will help reduce the work needed to finally upgrade to Docusaurus v3."]}),(0,r.jsxs)(n.p,{children:["For complex sites, we also recommend to set up ",(0,r.jsx)(n.a,{href:"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing",children:(0,r.jsx)(n.strong,{children:"visual regression tests"})}),", a good way to ensure your site stays visually identical. Docusaurus v3 mainly upgrades dependencies, and is not expected to produce any visual changes."]})]}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:["Check the release notes for ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/releases/tag/v3.0.0",children:(0,r.jsx)(n.strong,{children:"Docusaurus v3.0.0"})}),", and browse the pull-requests for additional useful information and the motivation behind each change mentioned here."]})}),"\n",(0,r.jsx)(n.h2,{id:"upgrading-dependencies",children:"Upgrading Dependencies"}),"\n",(0,r.jsxs)(n.p,{children:["Upgrading to Docusaurus v3 requires upgrading core Docusaurus dependencies (",(0,r.jsx)(n.code,{children:"@docusaurus/name"}),"), but also other related packages."]}),"\n",(0,r.jsx)(n.p,{children:"Docusaurus v3 now uses the following dependencies:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Node.js v18.0+"}),"\n",(0,r.jsx)(n.li,{children:"React v18.0+"}),"\n",(0,r.jsx)(n.li,{children:"MDX v3.0+"}),"\n",(0,r.jsx)(n.li,{children:"TypeScript v5.1+"}),"\n",(0,r.jsx)(n.li,{children:"prism-react-renderer v2.0+"}),"\n",(0,r.jsx)(n.li,{children:"react-live v4.0+"}),"\n",(0,r.jsx)(n.li,{children:"remark-emoji v4.0+"}),"\n",(0,r.jsx)(n.li,{children:"mermaid v10.4+"}),"\n"]}),"\n",(0,r.jsxs)(n.admonition,{title:"Upgrading community plugins",type:"warning",children:[(0,r.jsx)(n.p,{children:"If your site uses third-party community plugins and themes, you might need to upgrade them."}),(0,r.jsx)(n.p,{children:"Make sure those plugins are compatible with Docusaurus v3 before attempting an upgrade."})]}),"\n",(0,r.jsxs)(n.p,{children:["A typical ",(0,r.jsx)(n.code,{children:"package.json"})," dependency upgrade example:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:'title="package.json"',children:' {\n "dependencies": {\n // upgrade to Docusaurus v3\n- "@docusaurus/core": "2.4.3",\n- "@docusaurus/preset-classic": "2.4.3",\n+ "@docusaurus/core": "3.0.0",\n+ "@docusaurus/preset-classic": "3.0.0",\n // upgrade to MDX v3\n- "@mdx-js/react": "^1.6.22",\n+ "@mdx-js/react": "^3.0.0",\n // upgrade to prism-react-renderer v2.0+\n- "prism-react-renderer": "^1.3.5",\n+ "prism-react-renderer": "^2.1.0",\n // upgrade to React v18.0+\n- "react": "^17.0.2",\n- "react-dom": "^17.0.2"\n+ "react": "^18.2.0",\n+ "react-dom": "^18.2.0"\n },\n "devDependencies": {\n // upgrade Docusaurus dev dependencies to v3\n- "@docusaurus/module-type-aliases": "2.4.3",\n- "@docusaurus/types": "2.4.3"\n+ "@docusaurus/module-type-aliases": "3.0.0",\n+ "@docusaurus/types": "3.0.0"\n }\n "engines": {\n // require Node.js 18.0+\n- "node": ">=16.14"\n+ "node": ">=18.0"\n }\n }\n'})}),"\n",(0,r.jsx)(n.p,{children:"For TypeScript users:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:'title="package.json"',children:' {\n "devDependencies": {\n // swap the external TypeScript config package for the new official one\n- "@tsconfig/docusaurus": "^1.0.7",\n+ "@docusaurus/tsconfig": "3.0.0",\n // upgrade React types to v18.0+\n- "@types/react": "^17.0.69",\n+ "@types/react": "^18.2.29",\n // upgrade TypeScript to v5.1+\n- "typescript": "~4.7.4"\n+ "typescript": "~5.2.2"\n }\n }\n'})}),"\n",(0,r.jsx)(n.h2,{id:"upgrading-mdx",children:"Upgrading MDX"}),"\n",(0,r.jsxs)(n.p,{children:["MDX is a major dependency of Docusaurus responsible for compiling your ",(0,r.jsx)(n.code,{children:".md"})," and ",(0,r.jsx)(n.code,{children:".mdx"})," files to React components."]}),"\n",(0,r.jsxs)(n.p,{children:["The transition from MDX v1 to MDX v3 is the ",(0,r.jsx)(n.strong,{children:"main challenge"})," to the adoption of Docusaurus v3. Most breaking changes come from MDX v2, and MDX v3 is a relatively small release."]}),"\n",(0,r.jsxs)(n.p,{children:["Some documents that compiled successfully under Docusaurus v2 might now ",(0,r.jsx)(n.strong,{children:"fail to compile"})," under Docusaurus v3."]}),"\n",(0,r.jsxs)(n.admonition,{title:"Find problematic content ahead of time",type:"tip",children:[(0,r.jsxs)(n.p,{children:["Run ",(0,r.jsx)(n.a,{href:"https://github.com/slorber/docusaurus-mdx-checker",children:(0,r.jsx)(n.code,{children:"npx docusaurus-mdx-checker"})})," on your site to get a list of files that will now fail to compile under Docusaurus v3."]}),(0,r.jsxs)(n.p,{children:["This command is also a good way to estimate the amount of work to be done to make your content compatible. Remember most of this work can be executed ahead of the upgrade by ",(0,r.jsx)(n.a,{href:"/blog/preparing-your-site-for-docusaurus-v3",children:"preparing your content for Docusaurus v3"}),"."]})]}),"\n",(0,r.jsxs)(n.p,{children:["Other documents might also ",(0,r.jsx)(n.strong,{children:"render differently"}),"."]}),"\n",(0,r.jsx)(n.admonition,{title:"Use visual regression tests",type:"tip",children:(0,r.jsxs)(n.p,{children:["For large sites where a manual review of all pages is complicated, we recommend you to setup ",(0,r.jsx)(n.a,{href:"https://docusaurus.io/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing",children:"visual regression tests"}),"."]})}),"\n",(0,r.jsxs)(n.p,{children:["Upgrading MDX comes with all the breaking changes documented on the ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/blog/v2/",children:"MDX v2"})," and ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/blog/v3/",children:"MDX v3"})," release blog posts. Most breaking changes come from MDX v2, and MDX v3 is a relatively small release. The ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/migrating/v2/",children:"MDX v2 migration guide"})," has a section on how to ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/migrating/v2/#update-mdx-files",children:"update MDX files"})," that will be particularly relevant to us. Also make sure to read the ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/docs/troubleshooting-mdx/",children:"Troubleshooting MDX"})," page that can help you interpret common MDX error messages."]}),"\n",(0,r.jsxs)(n.p,{children:["Make sure to also read our updated ",(0,r.jsx)(n.a,{href:"/docs/markdown-features/react",children:(0,r.jsx)(n.strong,{children:"MDX and React"})})," documentation page."]}),"\n",(0,r.jsx)(n.h3,{id:"using-the-mdx-playground",children:"Using the MDX playground"}),"\n",(0,r.jsxs)(n.p,{children:["The MDX playground is your new best friend. It permits to understand how your content is ",(0,r.jsx)(n.strong,{children:"compiled to React components"}),", and troubleshoot compilation or rendering issues in isolation."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://mdxjs.com/playground/",children:"MDX playground - current version"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://mdx-git-renovate-babel-monorepo-mdx.vercel.app/playground/",children:"MDX playground - v1"})}),"\n"]}),"\n",(0,r.jsxs)(t,{children:[(0,r.jsx)("summary",{children:"Configuring the MDX playground options for Docusaurus"}),(0,r.jsxs)(n.p,{children:["To obtain a compilation behavior similar to what Docusaurus v2 uses, please turn on these options on the ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/playground/",children:"MDX playground"}),":"]}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Use ",(0,r.jsx)(n.code,{children:"MDX"})]}),"\n",(0,r.jsxs)(n.li,{children:["Use ",(0,r.jsx)(n.code,{children:"remark-gfm"})]}),"\n",(0,r.jsxs)(n.li,{children:["Use ",(0,r.jsx)(n.code,{children:"remark-directive"})]}),"\n"]}),(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Screenshot of the MDX playground's options panel, with only the "Use MDX", "Use remark-gfm", and "Use remark-directive" options checked",src:s(51476).Z+"",width:"1968",height:"1316"})})]}),"\n",(0,r.jsx)(n.p,{children:"Using the two MDX playgrounds side-by-side, you will soon notice that some content is compiled differently or fails to compile in v2."}),"\n",(0,r.jsx)(n.admonition,{title:"Making your content future-proof",type:"tip",children:(0,r.jsxs)(n.p,{children:["The goal will be to refactor your problematic content so that it ",(0,r.jsx)(n.strong,{children:"works fine with both versions of MDX"}),". This way, when you upgrade to Docusaurus v3, this content will already work out-of-the-box."]})}),"\n",(0,r.jsx)(n.h3,{id:"using-the-mdx-checker-cli",children:"Using the MDX checker CLI"}),"\n",(0,r.jsxs)(n.p,{children:["We provide a ",(0,r.jsx)(n.a,{href:"https://github.com/slorber/docusaurus-mdx-checker",children:"docusaurus-mdx-checker"})," CLI that permits to easily spot problematic content. Run this command on your site to obtain a list of files that will fail to compile under MDX v3."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npx docusaurus-mdx-checker\n"})}),"\n",(0,r.jsx)(n.p,{children:"For each compilation issue, the CLI will log the file path and a line number to look at."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Screenshot of the terminal showing an example MDX checker CLI output, with a few error messages",src:s(85345).Z+"",width:"1161",height:"417"})}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsx)(n.p,{children:"Use this CLI to estimate of how much work will be required to make your content compatible with MDX v3."})}),"\n",(0,r.jsxs)(n.admonition,{type:"warning",children:[(0,r.jsxs)(n.p,{children:["This CLI is a best effort, and will ",(0,r.jsx)(n.strong,{children:"only report compilation errors"}),"."]}),(0,r.jsxs)(n.p,{children:["It will not report subtle compilation changes that do not produce errors but can affect how your content is displayed. To catch these problems, we recommend using ",(0,r.jsx)(n.a,{href:"/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing",children:"visual regression tests"}),"."]})]}),"\n",(0,r.jsx)(n.h3,{id:"common-mdx-problems",children:"Common MDX problems"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus cannot document exhaustively all the changes coming with MDX. That's the responsibility of the ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/migrating/v2/",children:"MDX v2"})," and ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/migrating/v3/",children:"MDX v3"})," migration guides."]}),"\n",(0,r.jsx)(n.p,{children:"However, by upgrading a few Docusaurus sites, we noticed that most of the issues come down to only a few cases that we have documented for you."}),"\n",(0,r.jsxs)(n.h4,{id:"bad-usage-of-",children:["Bad usage of ",(0,r.jsx)(n.code,{children:"{"})]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"{"})," character is used for opening ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/docs/what-is-mdx/#expressions",children:"JavaScript expressions"}),". MDX will now fail if what you put inside ",(0,r.jsx)(n.code,{children:"{expression}"})," is not a valid expression."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"The object shape looks like {username: string, age: number}\n"})}),"\n",(0,r.jsx)(n.admonition,{title:"Error message",type:"danger",children:(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsx)(n.p,{children:"Could not parse expression with acorn: Unexpected content after expression"}),"\n"]})}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"tip",children:[(0,r.jsx)(n.p,{children:"Available options to fix this error:"}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Use inline code: ",(0,r.jsx)(n.code,{children:"{username: string, age: number}"})]}),"\n",(0,r.jsxs)(n.li,{children:["Use the HTML code: ",(0,r.jsx)(n.code,{children:"{"})]}),"\n",(0,r.jsxs)(n.li,{children:["Escape it: ",(0,r.jsx)(n.code,{children:"\\{"})]}),"\n"]})]}),"\n",(0,r.jsxs)(n.h4,{id:"bad-usage-of--1",children:["Bad usage of ",(0,r.jsx)(n.code,{children:"<"})]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"<"})," character is used for opening ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/docs/what-is-mdx/#jsx",children:"JSX tags"}),". MDX will now fail if it thinks your JSX is invalid."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:'Use Android version <5\n\nYou can use a generic type like Array<T>\n\nFollow the template "Road to <YOUR_MINOR_VERSION>"\n'})}),"\n",(0,r.jsxs)(n.admonition,{title:"Error messages",type:"danger",children:[(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["Unexpected character ",(0,r.jsx)(n.code,{children:"5"})," (U+0035) before name, expected a character that can start a name, such as a letter, ",(0,r.jsx)(n.code,{children:"$"}),", or ",(0,r.jsx)(n.code,{children:"_"})]}),"\n"]}),(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["Expected a closing tag for ",(0,r.jsx)(n.code,{children:"<T>"})," (1:6-1:9) before the end of ",(0,r.jsx)(n.code,{children:"paragraph"})," end-tag-mismatch mdast-util-mdx-jsx"]}),"\n"]}),(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["Expected a closing tag for ",(0,r.jsx)(n.code,{children:"<YOUR_MINOR_VERSION>"})," (134:19-134:39) before the end of ",(0,r.jsx)(n.code,{children:"paragraph"})]}),"\n"]})]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"tip",children:[(0,r.jsx)(n.p,{children:"Available options to fix this error:"}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Use inline code: ",(0,r.jsx)(n.code,{children:"Array<T>"})]}),"\n",(0,r.jsxs)(n.li,{children:["Use the HTML code: ",(0,r.jsx)(n.code,{children:"<"})," or ",(0,r.jsx)(n.code,{children:"<"})]}),"\n",(0,r.jsxs)(n.li,{children:["Escape it: ",(0,r.jsx)(n.code,{children:"\\<"})]}),"\n"]})]}),"\n",(0,r.jsx)(n.h4,{id:"bad-usage-of-gfm-autolink",children:"Bad usage of GFM Autolink"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus supports ",(0,r.jsx)(n.a,{href:"https://github.github.com/gfm/",children:"GitHub Flavored Markdown (GFM)"}),", but ",(0,r.jsx)(n.a,{href:"https://github.github.com/gfm/#autolinks",children:"autolink"})," using the ",(0,r.jsx)(n.code,{children:"<link>"})," syntax is not supported anymore by MDX."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"<sebastien@thisweekinreact.com>\n\n<http://localhost:3000>\n"})}),"\n",(0,r.jsxs)(n.admonition,{title:"Error messages",type:"danger",children:[(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["Unexpected character ",(0,r.jsx)(n.code,{children:"@"})," (U+0040) in name, expected a name character such as letters, digits, ",(0,r.jsx)(n.code,{children:"$"}),", or ",(0,r.jsx)(n.code,{children:"_"}),"; whitespace before attributes; or the end of the tag (note: to create a link in MDX, use ",(0,r.jsx)(n.code,{children:"[text](url)"}),")"]}),"\n"]}),(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["Unexpected character ",(0,r.jsx)(n.code,{children:"/"})," (U+002F) before local name, expected a character that can start a name, such as a letter, ",(0,r.jsx)(n.code,{children:"$"}),", or ",(0,r.jsx)(n.code,{children:"_"})," (note: to create a link in MDX, use ",(0,r.jsx)(n.code,{children:"[text](url)"}),")"]}),"\n"]})]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"tip",children:[(0,r.jsxs)(n.p,{children:["Use regular Markdown links, or remove the ",(0,r.jsx)(n.code,{children:"<"})," and ",(0,r.jsx)(n.code,{children:">"}),". MDX and GFM are able to autolink literals already."]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"sebastien@thisweekinreact.com\n[sebastien@thisweekinreact.com](mailto:sebastien@thisweekinreact.com)\n\nhttp://localhost:3000\n[http://localhost:3000](http://localhost:3000)\n"})})]}),"\n",(0,r.jsx)(n.h4,{id:"lower-case-mdxcomponent-mapping",children:"Lower-case MDXComponent mapping"}),"\n",(0,r.jsxs)(n.p,{children:["For users providing a ",(0,r.jsxs)(n.a,{href:"/docs/markdown-features/react#mdx-component-scope",children:["custom ",(0,r.jsx)(n.code,{children:"MDXComponent"}),"mapping"]}),', components are now "sandboxed":']}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["a ",(0,r.jsx)(n.code,{children:"MDXComponent"})," mapping for ",(0,r.jsx)(n.code,{children:"h1"})," only gets used for ",(0,r.jsx)(n.code,{children:"# hi"})," but not for ",(0,r.jsx)(n.code,{children:"<h1>hi</h1>"})]}),"\n",(0,r.jsxs)(n.li,{children:["a ",(0,r.jsx)(n.strong,{children:"lower-cased"})," custom element name will not be substituted by its respective ",(0,r.jsx)(n.code,{children:"MDXComponent"})," component anymore"]}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{title:"visual difference",type:"danger",children:(0,r.jsxs)(n.p,{children:["Your ",(0,r.jsxs)(n.a,{href:"/docs/markdown-features/react#mdx-component-scope",children:[(0,r.jsx)(n.code,{children:"MDXComponent"})," component mapping"]})," might not be applied as before, and your custom components might no longer be used."]})}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"tip",children:[(0,r.jsxs)(n.p,{children:["For native Markdown elements, you can keep using ",(0,r.jsx)(n.strong,{children:"lower-case"}),": ",(0,r.jsx)(n.code,{children:"p"}),", ",(0,r.jsx)(n.code,{children:"h1"}),", ",(0,r.jsx)(n.code,{children:"img"}),", ",(0,r.jsx)(n.code,{children:"a"}),"..."]}),(0,r.jsxs)(n.p,{children:["For any other element, ",(0,r.jsx)(n.strong,{children:"use upper-case names"}),"."]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:'title="src/theme/MDXComponents.js"',children:' import MDXComponents from \'@theme-original/MDXComponents\';\n\n export default {\n ...MDXComponents,\n p: (props) => <p {...props} className="my-paragraph"/>\n- myElement: (props) => <div {...props} className="my-class" />,\n+ MyElement: (props) => <div {...props} className="my-class" />,\n };\n'})})]}),"\n",(0,r.jsx)(n.h4,{id:"unintended-extra-paragraphs",children:"Unintended extra paragraphs"}),"\n",(0,r.jsxs)(n.p,{children:["In MDX v3, it is now possible to interleave JSX and Markdown more easily without requiring extra line breaks. Writing content on multiple lines can also produce new expected ",(0,r.jsx)(n.code,{children:"<p>"})," tags."]}),"\n",(0,r.jsxs)(n.admonition,{title:"visual difference",type:"danger",children:[(0,r.jsx)(n.p,{children:"See how this content is rendered differently by MDX v1 and v3."}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"<div>Some **Markdown** content</div>\n<div>\n Some **Markdown** content\n</div>\n"})}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-html",metastring:'title="MDX v1 output"',children:"<div>Some **Markdown** content</div>\n<div>Some **Markdown** content</div>\n"})}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-html",metastring:'title="MDX v3 output"',children:"<div>Some <strong>Markdown</strong> content</div>\n<div><p>Some <strong>Markdown</strong> content</p></div>\n"})})]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"tip",children:[(0,r.jsxs)(n.p,{children:["If you don't want an extra ",(0,r.jsx)(n.code,{children:"<p>"})," tag, refactor content on a case by case basis to use a single-line JSX tag."]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:' <figure>\n <img src="/img/myImage.png" alt="My alt" />\n- <figcaption>\n- My image caption\n- </figcaption>\n+ <figcaption>My image caption</figcaption>\n </figure>\n'})}),(0,r.jsxs)(n.p,{children:["You can also wrap such content with ",(0,r.jsx)(n.code,{children:"{"})," and ",(0,r.jsx)(n.code,{children:"}"})," to avoid extra ",(0,r.jsx)(n.code,{children:"<p>"})," tags if you don't intend to use Markdown syntax there yet."]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:'-<figure>\n+{<figure>\n <img src="/img/myImage.png" alt="My alt" />\n <figcaption>\n My image caption\n </figcaption>\n-</figure>\n+</figure>}\n'})})]}),"\n",(0,r.jsx)(n.h4,{id:"unintended-usage-of-directives",children:"Unintended usage of directives"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus v3 now uses ",(0,r.jsx)(n.a,{href:"https://talk.commonmark.org/t/generic-directives-plugins-syntax/444",children:"Markdown Directives"})," (implemented with ",(0,r.jsx)(n.a,{href:"https://github.com/remarkjs/remark-directive",children:"remark-directive"}),") as a generic way to provide support for admonitions, and other upcoming Docusaurus features."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"This is a :textDirective\n\n::leafDirective\n\n:::containerDirective\n\nContainer directive content\n\n:::\n"})}),"\n",(0,r.jsxs)(n.admonition,{title:"Visual change",type:"danger",children:[(0,r.jsx)(n.p,{children:"Directives are parsed with the purpose of being handled by other Remark plugins. Unhandled directives will be ignored, and won't be rendered back in their original form."}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"The AWS re:Invent conf is great\n"})}),(0,r.jsxs)(n.p,{children:["Due to ",(0,r.jsx)(n.code,{children:":Invent"})," being parsed as a text directive, this will now be rendered as:"]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"The AWS re\nconf is great\n"})})]}),"\n",(0,r.jsx)(n.admonition,{title:"How to upgrade",type:"tip",children:(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Use the HTML code: ",(0,r.jsx)(n.code,{children:":"})]}),"\n",(0,r.jsxs)(n.li,{children:["Add a space after ",(0,r.jsx)(n.code,{children:":"})," (if it makes sense): ",(0,r.jsx)(n.code,{children:": text"})]}),"\n",(0,r.jsxs)(n.li,{children:["Escape it: ",(0,r.jsx)(n.code,{children:"\\:"})]}),"\n"]})}),"\n",(0,r.jsx)(n.h4,{id:"unsupported-indented-code-blocks",children:"Unsupported indented code blocks"}),"\n",(0,r.jsx)(n.p,{children:"MDX does not transform indented text as code blocks anymore."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:' console.log("hello");\n'})}),"\n",(0,r.jsx)(n.admonition,{title:"Visual change",type:"danger",children:(0,r.jsx)(n.p,{children:"The upgrade does not generally produce new MDX compilation errors, but can lead to content being rendered in an unexpected way because there isn't a code block anymore."})}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"tip",children:[(0,r.jsx)(n.p,{children:"Use the regular code block syntax instead of indentation:"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"```js\nconsole.log('hello');\n```\n"})})]}),"\n",(0,r.jsx)(n.h3,{id:"other-markdown-incompatibilities",children:"Other Markdown incompatibilities"}),"\n",(0,r.jsx)(n.h4,{id:"emphasis-starting-or-ending-with-a-space-or-a-punctuation",children:"Emphasis starting or ending with a space or a punctuation"}),"\n",(0,r.jsx)(n.p,{children:"New MDX parser now strictly complies with the CommonMark spec. CommonMark spec has introduced rules for emphasis around spaces and punctuation, which are incompatible especially with languages that do not use a space to split words, since v0.14."}),"\n",(0,r.jsx)(n.p,{children:"Japanese and Chinese are most affected by this, but there are some other languages that can be affected (e.g. Thai and Khmer), for example when you try to emphasize an inline code or a link. Languages that use a space to split words are much less affected."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"**"})," (other than ",(0,r.jsx)(n.code,{children:"`**`"}),") in the following example were parsed as intended in Docusaurus 2, but are not now in Docusaurus 3."]}),"\n","\n","\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="example.md"',children:"**Do not end a range of emphasis with a space. **Or `**` will not work as intended.\n\n\x3c!-- Japanese --\x3e\n**\u300C\u3002\u300D\u306E\u5F8C\u306B\u6587\u3092\u7D9A\u3051\u308B\u3068`**`\u304C\u610F\u56F3\u3057\u305F\u52D5\u4F5C\u3092\u3057\u307E\u305B\u3093\u3002**\u307E\u305F\u3001**[\u30EA\u30F3\u30AF](https://docusaurus.io/)**\u3084**`\u30B3\u30FC\u30C9`**\u306E\u3059\u3050\u5916\u5074\u306B`**`\u3001\u305D\u306E\u3055\u3089\u306B\u5916\u5074\u306B\u53E5\u8AAD\u70B9\u4EE5\u5916\u304C\u3042\u308B\u5834\u5408\u3082\u540C\u69D8\u3067\u3059\u3002\n"})}),"\n",(0,r.jsxs)(t,{children:[(0,r.jsx)("summary",{children:"See the detailed conditions and how to upgrade"}),(0,r.jsxs)(n.p,{children:["If ",(0,r.jsx)(n.code,{children:"*"})," or ",(0,r.jsx)(n.code,{children:"**"})," matches either of the following conditions, it will not work as the beginning of an emphasis mark anymore:"]}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["The next character is a space (e.g. ",(0,r.jsx)(n.code,{children:"word* word"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["The previous character is a punctuation character and the next character is a letter (not a space or punctuation character) (e.g. ",(0,r.jsx)(n.code,{children:"\u6587**\uFF08\u6587\uFF09"}),")"]}),"\n"]}),(0,r.jsxs)(n.p,{children:["On the contrary, if ",(0,r.jsx)(n.code,{children:"*"})," or ",(0,r.jsx)(n.code,{children:"**"})," matches either of the following conditions, it will not work as the end of an emphasis mark anymore:"]}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["The previous character is a space (e.g. ",(0,r.jsx)(n.code,{children:"word *word"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["The next character is a punctuation character and the previous character is a letter (e.g. ",(0,r.jsx)(n.code,{children:"\u6587\u3002**\u6587"}),")"]}),"\n"]}),(0,r.jsxs)(n.p,{children:["\u201CA punctuation character\u201D includes non-ASCII ones, brackets, quotation marks and some symbols including ",(0,r.jsx)(n.code,{children:"%"})," and ",(0,r.jsx)(n.code,{children:"@"}),". More strictly speaking, a character whose 2-letters Unicode category starts with ",(0,r.jsx)(n.code,{children:"P"})," is treated as a punctuation character here."]}),(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"tip",children:[(0,r.jsx)(n.p,{children:"If the offending emphasis mark is next to a space, move the space out of the range of emphasis:"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="english.md"',children:"**Do not end a range of emphasis with a space.** Or `**` will not work.\n"})}),(0,r.jsx)(n.p,{children:"If the offending emphasis mark is surrounded by both a punctuation character and a letter, you can fix it without modifying the content by:"}),(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Convert the document to MDX if it is a vanilla Markdown."}),"\n",(0,r.jsxs)(n.li,{children:["replace the offending emphasis mark with a raw HTML tag (",(0,r.jsx)(n.code,{children:"<em>"})," or ",(0,r.jsx)(n.code,{children:"<strong>"}),") instead:"]}),"\n"]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mdx",metastring:'title="japanese.mdx"',children:"<strong>\u300C\u3002\u300D\u306E\u5F8C\u306B\u6587\u3092\u7D9A\u3051\u308B\u3068`**`\u304C\u610F\u56F3\u3057\u305F\u52D5\u4F5C\u3092\u3057\u307E\u305B\u3093\u3002</strong>\u307E\u305F\u3001<strong>[\u30EA\u30F3\u30AF](https://docusaurus.io/)</strong>\u3084<strong>`\u30B3\u30FC\u30C9`</strong>\u306E\u3059\u3050\u5916\u5074\u306B`**`\u3001\u305D\u306E\u3055\u3089\u306B\u5916\u5074\u306B\u53E5\u8AAD\u70B9\u4EE5\u5916\u304C\u3042\u308B\u5834\u5408\u3082\u540C\u69D8\u3067\u3059\u3002\n"})}),(0,r.jsx)(n.p,{children:"While not an ideal solution, you can also either of the following without converting the document to MDX:"}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Move the most outside punctuation character out of the emphasis mark."}),"\n","\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="japanese.md"',children:"**\u300C\u3002\u300D\u306E\u5F8C\u306B\u6587\u3092\u7D9A\u3051\u308B\u3068`**`\u304C\u610F\u56F3\u3057\u305F\u52D5\u4F5C\u3092\u3057\u307E\u305B\u3093**\u3002\u307E\u305F\u3001[**\u30EA\u30F3\u30AF**](https://docusaurus.io/)\u3084\u30FB\u30FB\u30FB\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Put a space just outside of the offending ",(0,r.jsx)(n.code,{children:"*"})," or ",(0,r.jsx)(n.code,{children:"**"}),". This solution does not force you to convert the document to MDX."]}),"\n","\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",metastring:'title="japanese.md"',children:"**\u300C\u3002\u300D\u306E\u5F8C\u306B\u6587\u3092\u7D9A\u3051\u308B\u3068`**`\u304C\u610F\u56F3\u3057\u305F\u52D5\u4F5C\u3092\u3057\u307E\u305B\u3093\u3002** \u307E\u305F\u3001**[\u30EA\u30F3\u30AF](https://docusaurus.io/)** \u3084 **`\u30B3\u30FC\u30C9`** \u306E\u3059\u3050\u5916\u5074\u306B`**`\u3001\u305D\u306E\u3055\u3089\u306B\u5916\u5074\u306B\u53E5\u8AAD\u70B9\u4EE5\u5916\u304C\u3042\u308B\u5834\u5408\u3082\u540C\u69D8\u3067\u3059\u3002\n"})}),"\n"]}),"\n"]}),(0,r.jsxs)(n.p,{children:["A unofficial remark plugin ",(0,r.jsx)(n.a,{href:"https://www.npmjs.com/package/remark-cjk-friendly",children:"remark-cjk-friendly"})," can fix this issue in most cases without modifying the Markdown source written in Chinese, Japanese, and Korean like the above."]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"mdx-plugins",children:"MDX plugins"}),"\n",(0,r.jsxs)(n.p,{children:["All the official packages (Unified, Remark, Rehype...) in the MDX ecosystem are now ",(0,r.jsx)(n.a,{href:"https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c",children:(0,r.jsx)(n.strong,{children:"ES Modules only"})})," and do not support ",(0,r.jsx)(n.a,{href:"https://nodejs.org/api/modules.html#modules-commonjs-modules",children:"CommonJS"})," anymore."]}),"\n",(0,r.jsxs)(n.p,{children:["In practice this means that you can't do ",(0,r.jsx)(n.code,{children:'require("remark-plugin")'})," anymore."]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"tip",children:[(0,r.jsxs)(n.p,{children:["Docusaurus v3 now supports ",(0,r.jsx)(n.a,{href:"https://flaviocopes.com/es-modules/",children:(0,r.jsx)(n.strong,{children:"ES Modules"})})," configuration files. We recommend that you migrate your config file to ES module, that enables you to import the Remark plugins easily:"]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"import remarkPlugin from 'remark-plugin';\n\nexport default {\n title: 'Docusaurus',\n /* site config using remark plugins here */\n};\n"})}),(0,r.jsxs)(n.p,{children:["If you want to keep using CommonJS modules, you can use dynamic imports as a workaround that enables you to import ES modules inside a CommonJS module. Fortunately, the ",(0,r.jsx)(n.a,{href:"/docs/configuration#syntax-to-declare-docusaurus-config",children:"Docusaurus config supports the usage of an async function"})," to let you do so."]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"module.exports = async function () {\n const myPlugin = (await import('remark-plugin')).default;\n return {\n // site config...\n };\n};\n"})})]}),"\n",(0,r.jsx)(n.admonition,{title:"For plugin authors",type:"info",children:(0,r.jsxs)(n.p,{children:["If you created custom Remark or Rehype plugins, you may need to refactor those, or eventually rewrite them completely, due to how the new AST is structured. We have created a ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9337",children:"dedicated support discussion"})," to help plugin authors upgrade their code."]})}),"\n",(0,r.jsx)(n.h3,{id:"formatters",children:"Formatters"}),"\n",(0,r.jsxs)(n.p,{children:["Prettier, the most common formatter, supports only the legacy MDX v1, not v3 yet as of Docusaurus v3.0.0. You can add ",(0,r.jsx)(n.code,{children:"{/* prettier-ignore */}"})," before the incompatible parts of your code to make it work with Prettier."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-mdx",children:"{/* prettier-ignore */}\n<SomeComponent>Some long text in the component</SomeComponent>\n"})}),"\n",(0,r.jsxs)(n.p,{children:["If you get tired of too many ",(0,r.jsx)(n.code,{children:"{/* prettier-ignore */}"})," insertions, you can consider disabling MDX formatting by Prettier by adding the following to your ",(0,r.jsx)(n.code,{children:".prettierignore"})," file, until it starts supporting MDX v3:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-txt",metastring:'title=".prettierignore"',children:"*.mdx\n"})}),"\n",(0,r.jsx)(n.h2,{id:"other-breaking-changes",children:"Other Breaking Changes"}),"\n",(0,r.jsx)(n.p,{children:"Apart the MDX v3 upgrade, here is an exhaustive list of breaking changes coming with Docusaurus v3."}),"\n",(0,r.jsx)(n.h3,{id:"nodejs-v180",children:"Node.js v18.0"}),"\n",(0,r.jsxs)(n.p,{children:["Node.js 16 ",(0,r.jsx)(n.a,{href:"https://nodejs.org/en/blog/announcements/nodejs16-eol",children:"reached End-of-Life"}),", and Docusaurus v3 now requires ",(0,r.jsx)(n.strong,{children:"Node.js >= 18.0"}),"."]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"tip",children:[(0,r.jsx)(n.p,{children:"Install Node.js 18.0+ on your computer."}),(0,r.jsx)(n.p,{children:"Eventually, configure your continuous integration, CDN or host to use this new Node.js version."}),(0,r.jsxs)(n.p,{children:["You can also update your site ",(0,r.jsx)(n.code,{children:"package.json"})," to prevent usage of an older unsupported version:"]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:'title="package.json"',children:' {\n "engines": {\n- "node": ">=16.14"\n+ "node": ">=18.0"\n }\n }\n'})}),(0,r.jsx)(n.p,{children:"Upgrade your Docusaurus v2 site to Node.js 18 before upgrading to Docusaurus v3."})]}),"\n",(0,r.jsx)(n.h3,{id:"react-v180",children:"React v18.0+"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus v3 now requires ",(0,r.jsx)(n.strong,{children:"React >= 18.0"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"React 18 comes with its own breaking changes that should be relatively easy to handle, depending on the amount of custom React code you created for your site. The official themes and plugins are compatible with React 18."}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsxs)(n.p,{children:["Read the official ",(0,r.jsx)(n.a,{href:"https://react.dev/blog/2022/03/29/react-v18",children:"React v18.0"})," and ",(0,r.jsx)(n.a,{href:"https://react.dev/blog/2022/03/08/react-18-upgrade-guide",children:"How to Upgrade to React 18"}),", and look at your own React code to figure out which components might be affected this upgrade."]}),(0,r.jsx)(n.p,{children:"We recommend to particularly look for:"}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Automatic batching for stateful components"}),"\n",(0,r.jsx)(n.li,{children:"New React hydration errors reported to the console"}),"\n"]})]}),"\n",(0,r.jsxs)(n.admonition,{title:"Experimental support for React 18 features",type:"danger",children:[(0,r.jsx)(n.p,{children:"React 18 comes with new features:"}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"<Suspense>"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"React.lazy()"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"startTransition"})}),"\n"]}),(0,r.jsx)(n.p,{children:"Their Docusaurus support is considered as experimental. We might have to adjust the integration in the future, leading to a different runtime behavior."})]}),"\n",(0,r.jsx)(n.h3,{id:"prism-react-renderer-v20",children:"Prism-React-Renderer v2.0+"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus v3 upgrades ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer",children:(0,r.jsx)(n.code,{children:"prism-react-renderer"})})," to v2.0+. This library is used for code block syntax highlighting."]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsxs)(n.p,{children:["This is a new major library version containing breaking changes, and we can't guarantee a strict retro-compatibility. The ",(0,r.jsxs)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/releases/tag/prism-react-renderer%402.0.0",children:[(0,r.jsx)(n.code,{children:"prism-react-renderer"})," v2 release notes"]})," are not super exhaustive, but there are 3 major changes to be aware of for Docusaurus users."]}),(0,r.jsx)(n.p,{children:"The dependency should be upgraded:"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:'title="package.json"',children:' {\n "dependencies": {\n- "prism-react-renderer": "^1.3.5",\n+ "prism-react-renderer": "^2.1.0",\n }\n'})}),(0,r.jsx)(n.p,{children:"The API to import themes in your Docusaurus config file has been updated:"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:'title="docusaurus.config.js"',children:"- const lightTheme = require('prism-react-renderer/themes/github');\n- const darkTheme = require('prism-react-renderer/themes/dracula');\n+ const {themes} = require('prism-react-renderer');\n+ const lightTheme = themes.github;\n+ const darkTheme = themes.dracula;\n"})}),(0,r.jsxs)(n.p,{children:["Previously, ",(0,r.jsx)(n.code,{children:"react-prism-render"})," v1 ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/blob/v1.3.5/src/vendor/prism/includeLangs.js",children:"included more languages by default"}),". From v2.0+, ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/prism-react-renderer/blob/prism-react-renderer%402.1.0/packages/generate-prism-languages/index.ts#L9",children:"less languages are included by default"}),". You may need to add extra languages to your Docusaurus config:"]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"const siteConfig = {\n themeConfig: {\n prism: {\n // highlight-next-line\n additionalLanguages: ['bash', 'diff', 'json'],\n },\n },\n};\n"})})]}),"\n",(0,r.jsx)(n.h3,{id:"react-live-v40",children:"React-Live v4.0+"}),"\n",(0,r.jsxs)(n.p,{children:["For users of the ",(0,r.jsx)(n.code,{children:"@docusaurus/theme-live-codeblock"})," package, Docusaurus v3 upgrades ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/react-live",children:(0,r.jsx)(n.code,{children:"react-live"})})," to v4.0+."]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsx)(n.p,{children:"In theory, you have nothing to do, and your existing interactive code blocks should keep working as before."}),(0,r.jsxs)(n.p,{children:["However, this is a new major library version containing breaking changes, and we can't guarantee a strict retro-compatibility. Read the ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/react-live/releases/tag/v3.0.0",children:"v3"})," and ",(0,r.jsx)(n.a,{href:"https://github.com/FormidableLabs/react-live/releases/tag/v4.0.0",children:"v4"})," changelogs in case of problems."]})]}),"\n",(0,r.jsx)(n.h3,{id:"remark-emoji-v40",children:"remark-emoji v4.0+"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus v3 upgrades ",(0,r.jsx)(n.a,{href:"https://github.com/rhysd/remark-emoji",children:(0,r.jsx)(n.code,{children:"remark-emoji"})})," to v4.0+. This library is to support ",(0,r.jsx)(n.code,{children:":emoji:"})," shortcuts in Markdown."]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsxs)(n.p,{children:["Most Docusaurus users have nothing to do. Users of emoji shortcodes should read the ",(0,r.jsx)(n.a,{href:"https://github.com/rhysd/remark-emoji/blob/master/CHANGELOG.md",children:"changelog"})," and double-check their emojis keep rendering as expected."]}),(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Breaking Change"})," Update ",(0,r.jsx)(n.a,{href:"https://www.npmjs.com/package/node-emoji",children:"node-emoji"})," from v1 to v2. This change introduces support for many new emojis and removes old emoji short codes which are no longer valid on GitHub."]}),"\n"]})]}),"\n",(0,r.jsx)(n.h3,{id:"mermaid-v104",children:"Mermaid v10.4+"}),"\n",(0,r.jsxs)(n.p,{children:["For users of the ",(0,r.jsx)(n.code,{children:"@docusaurus/theme-mermaid"})," package, Docusaurus v3 upgrades ",(0,r.jsx)(n.a,{href:"https://github.com/mermaid-js/mermaid",children:(0,r.jsx)(n.code,{children:"mermaid"})})," to v10.4+."]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsx)(n.p,{children:"In theory, you have nothing to do, and your existing diagrams should keep working as before."}),(0,r.jsxs)(n.p,{children:["However, this is a new major library version containing breaking changes, and we can't guarantee a strict retro-compatibility. Read the ",(0,r.jsx)(n.a,{href:"https://github.com/mermaid-js/mermaid/releases/tag/v10.0.0",children:"v10"})," changelog in case of problem."]})]}),"\n",(0,r.jsx)(n.h3,{id:"typescript-v51",children:"TypeScript v5.1+"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus v3 now requires ",(0,r.jsx)(n.strong,{children:"TypeScript >= 5.1"}),"."]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsx)(n.p,{children:"Upgrade your dependencies to use TypeScript 5+"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:'title="package.json"',children:' {\n "devDependencies": {\n- "typescript": "~4.7.4"\n+ "typescript": "~5.2.2"\n }\n }\n'})})]}),"\n",(0,r.jsx)(n.h3,{id:"typescript-base-config",children:"TypeScript base config"}),"\n",(0,r.jsxs)(n.p,{children:["The official Docusaurus TypeScript config has been re-internalized from the external package ",(0,r.jsx)(n.a,{href:"https://www.npmjs.com/package/@tsconfig/docusaurus",children:(0,r.jsx)(n.code,{children:"@tsconfig/docusaurus"})})," to our new monorepo package ",(0,r.jsx)(n.a,{href:"https://www.npmjs.com/package/@docusaurus/tsconfig",children:(0,r.jsx)(n.code,{children:"@docusaurus/tsconfig"})}),"."]}),"\n",(0,r.jsx)(n.p,{children:"This new package is versioned alongside all the other Docusaurus core packages, and will be used to ensure TypeScript retro-compatibility and breaking changes on major version upgrades."}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsx)(n.p,{children:"Swap the external TypeScript config package for the new official one"}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:'title="package.json"',children:' {\n "devDependencies": {\n- "@tsconfig/docusaurus": "^1.0.7",\n+ "@docusaurus/tsconfig": "3.0.0",\n }\n }\n'})}),(0,r.jsxs)(n.p,{children:["Use it in your ",(0,r.jsx)(n.code,{children:"tsconfig.json"})," file:"]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:'title="tsconfig.json"',children:' {\n- "extends": "@tsconfig/docusaurus/tsconfig.json",\n+ "extends": "@docusaurus/tsconfig",\n "compilerOptions": {\n "baseUrl": "."\n }\n }\n'})})]}),"\n",(0,r.jsx)(n.h3,{id:"new-config-loader",children:"New Config Loader"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus v3 changes its internal config loading library from ",(0,r.jsx)(n.a,{href:"https://github.com/sindresorhus/import-fresh",children:(0,r.jsx)(n.code,{children:"import-fresh"})})," to ",(0,r.jsx)(n.a,{href:"https://github.com/unjs/jiti",children:(0,r.jsx)(n.code,{children:"jiti"})}),". It is responsible for loading files such as ",(0,r.jsx)(n.code,{children:"docusaurus.config.js"})," or ",(0,r.jsx)(n.code,{children:"sidebars.js"}),", and Docusaurus plugins."]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsx)(n.p,{children:"In theory, you have nothing to do, and your existing config files should keep working as before."}),(0,r.jsx)(n.p,{children:"However, this is a major dependency swap and subtle behavior changes could occur."})]}),"\n",(0,r.jsx)(n.h3,{id:"admonition-warning",children:"Admonition Warning"}),"\n",(0,r.jsxs)(n.p,{children:["For historical reasons, we support an undocumented admonition ",(0,r.jsx)(n.code,{children:":::warning"})," that renders with a red color."]}),"\n",(0,r.jsx)(n.admonition,{title:"Warning",type:"danger",children:(0,r.jsxs)(n.p,{children:["This is a Docusaurus v2 ",(0,r.jsx)(n.code,{children:":::warning"})," admonition."]})}),"\n",(0,r.jsxs)(n.p,{children:["However, the color and icon have always been wrong. Docusaurus v3 re-introduces ",(0,r.jsx)(n.code,{children:":::warning"})," admonition officially, documents it, and fix the color and icon."]}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["This is a Docusaurus v3 ",(0,r.jsx)(n.code,{children:":::warning"})," admonition."]})}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsxs)(n.p,{children:["If you previously used the undocumented ",(0,r.jsx)(n.code,{children:":::warning"})," admonition, make sure to verify for each usage if yellow is now an appropriate color. If you want to keep the red color, use ",(0,r.jsx)(n.code,{children:":::danger"})," instead."]}),(0,r.jsxs)(n.p,{children:["Docusaurus v3 also ",(0,r.jsxs)(n.a,{href:"https://github.com/facebook/docusaurus/pull/9308",children:["deprecated the ",(0,r.jsx)(n.code,{children:":::caution"})]})," admonition. Please refactor ",(0,r.jsx)(n.code,{children:":::caution"})," (yellow) to either ",(0,r.jsx)(n.code,{children:":::warning"})," (yellow) or ",(0,r.jsx)(n.code,{children:":::danger"})," (red)."]}),(0,r.jsxs)(n.p,{children:["If you want to keep the title \u201Ccaution\u201D, you might want to refactor it to ",(0,r.jsx)(n.code,{children:":::warning[caution]"})," (yellow)."]})]}),"\n",(0,r.jsx)(n.h3,{id:"versioned-sidebars",children:"Versioned Sidebars"}),"\n",(0,r.jsxs)(n.p,{children:["This breaking change will only affect ",(0,r.jsx)(n.strong,{children:"Docusaurus v2 early adopters"})," who versioned their docs before ",(0,r.jsx)(n.code,{children:"v2.0.0-beta.10"})," (December 2021)."]}),"\n",(0,r.jsxs)(n.p,{children:["When creating version ",(0,r.jsx)(n.code,{children:"v1.0.0"}),", the sidebar file contained a prefix ",(0,r.jsx)(n.code,{children:"version-v1.0.0/"})," that ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/9310",children:"Docusaurus v3 does not support anymore"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",metastring:'title="versioned_sidebars/version-v1.0.0-sidebars.json"',children:'{\n "version-v1.0.0/docs": [\n "version-v1.0.0/introduction",\n "version-v1.0.0/prerequisites"\n ]\n}\n'})}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsx)(n.p,{children:"Remove the useless versioned prefix from your versioned sidebars."}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-json",metastring:'title="versioned_sidebars/version-v1.0.0-sidebars.json"',children:'{\n "docs": ["introduction", "prerequisites"]\n}\n'})})]}),"\n",(0,r.jsx)(n.h3,{id:"blog-feed-limit",children:"Blog Feed Limit"}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"@docusaurus/plugin-content-blog"})," now limits the RSS feed to the last 20 entries by default. For large Docusaurus blogs, this is a more sensible default value to avoid an increasingly large RSS file."]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsxs)(n.p,{children:['In case you don\'t like this new default behavior, you can revert to the former "unlimited feed" behavior with the new ',(0,r.jsx)(n.code,{children:"limit: false"})," feed option:"]}),(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"const blogOptions = {\n feedOptions: {\n // highlight-next-line\n limit: false,\n },\n};\n"})})]}),"\n",(0,r.jsx)(n.h3,{id:"docs-theme-refactoring",children:"Docs Theme Refactoring"}),"\n",(0,r.jsxs)(n.p,{children:["For users that swizzled docs-related theme components (like ",(0,r.jsx)(n.code,{children:"@theme/DocPage"}),"), these components have been significantly refactor to make it easier to customize."]}),"\n",(0,r.jsxs)(n.p,{children:["Technically, ",(0,r.jsx)(n.strong,{children:"this is not a breaking change"})," because these components are ",(0,r.jsx)(n.strong,{children:"flagged as unsafe to swizzle"}),", however many Docusaurus sites ejected docs-related components, and will be interested to know their customizations might break Docusaurus."]}),"\n",(0,r.jsxs)(n.admonition,{title:"How to upgrade",type:"info",children:[(0,r.jsx)(n.p,{children:"Delete all your swizzled components, re-swizzle them, and re-apply your customizations on top of the newly updated components."}),(0,r.jsxs)(n.p,{children:["Alternatively, you can look at the ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/7966",children:"pull-request notes"})," to understand the new theme component tree structure, and eventually try to patch your swizzled components manually."]})]}),"\n",(0,r.jsx)(n.h2,{id:"optional-changes",children:"Optional Changes"}),"\n",(0,r.jsx)(n.p,{children:"Some changes are not mandatory, but remain useful to be aware of to plainly leverage Docusaurus v3."}),"\n",(0,r.jsx)(n.h3,{id:"automatic-jsx-runtime",children:"Automatic JSX runtime"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus v3 now uses the React 18 ",(0,r.jsx)(n.a,{href:"https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html",children:'"automatic" JSX runtime'}),"."]}),"\n",(0,r.jsx)(n.p,{children:"It is not needed anymore to import React in JSX files that do not use any React API."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:'title="src/components/MyComponent.js"',children:"- import React from 'react';\n\n export default function MyComponent() {\n return <div>Hello</div>;\n }\n"})}),"\n",(0,r.jsx)(n.h3,{id:"esm-and-typescript-configs",children:"ESM and TypeScript Configs"}),"\n",(0,r.jsx)(n.p,{children:"Docusaurus v3 supports ESM and TypeScript config files, and it might be a good idea to adopt those new options."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n title: 'Docusaurus',\n url: 'https://docusaurus.io',\n // your site config ...\n};\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ts",metastring:'title="docusaurus.config.ts"',children:"import type {Config} from '@docusaurus/types';\nimport type * as Preset from '@docusaurus/preset-classic';\n\nconst config: Config = {\n title: 'My Site',\n favicon: 'img/favicon.ico',\n presets: [\n [\n 'classic',\n {\n /* Your preset config here */\n } satisfies Preset.Options,\n ],\n ],\n\n themeConfig: {\n /* Your theme config here */\n } satisfies Preset.ThemeConfig,\n};\n\nexport default config;\n"})}),"\n",(0,r.jsxs)(n.h3,{id:"using-the-mdx-extension",children:["Using the ",(0,r.jsx)(n.code,{children:".mdx"})," extension"]}),"\n",(0,r.jsxs)(n.p,{children:["We recommend using the ",(0,r.jsx)(n.code,{children:".mdx"})," extension whenever you use JSX, ",(0,r.jsx)(n.code,{children:"import"}),", or ",(0,r.jsx)(n.code,{children:"export"})," (i.e. MDX features) inside a Markdown file. It is semantically more correct and improves compatibility with external tools (IDEs, formatters, linters, etc.)."]}),"\n",(0,r.jsxs)(n.p,{children:["In future versions of Docusaurus, ",(0,r.jsx)(n.code,{children:".md"})," files will be parsed as standard ",(0,r.jsx)(n.a,{href:"https://commonmark.org/",children:"CommonMark"}),", which does not support these features. In Docusaurus v3, ",(0,r.jsx)(n.code,{children:".md"})," files keep being compiled as MDX files, but it will be possible to ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/3018",children:"opt-in for CommonMark"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"upgrading-math-packages",children:"Upgrading math packages"}),"\n",(0,r.jsxs)(n.p,{children:["If you use Docusaurus to render ",(0,r.jsx)(n.a,{href:"/docs/markdown-features/math-equations",children:"Math Equations"}),", you should upgrade the MDX plugins."]}),"\n",(0,r.jsxs)(n.p,{children:["Make sure to use ",(0,r.jsx)(n.code,{children:"remark-math 6"})," and ",(0,r.jsx)(n.code,{children:"rehype-katex 7"})," for Docusaurus v3 (using MDX v3). We can't guarantee other versions will work."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",metastring:"package.json",children:'{\n- "remark-math": "^3.0.0",\n+ "remark-math": "^6.0.0",\n- "rehype-katex": "^5.0.0"\n+ "rehype-katex": "^7.0.0"\n}\n'})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"hast-util-is-element"})," is now unnecessary in Docusaurus v3. If you have installed it and don't use it somewhere else, you can just remove it by running ",(0,r.jsx)(n.code,{children:"npm uninstall hast-util-is-element"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"turn-off-mdx-v1-compat",children:"Turn off MDX v1 compat"}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus v3 comes with ",(0,r.jsx)(n.a,{href:"/docs/api/docusaurus-config#markdown",children:"MDX v1 compatibility options"}),", that are turned on by default."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n markdown: {\n mdx1Compat: {\n comments: true,\n admonitions: true,\n headingIds: true,\n },\n },\n};\n"})}),"\n",(0,r.jsxs)(n.h4,{id:"comments-option",children:[(0,r.jsx)(n.code,{children:"comments"})," option"]}),"\n",(0,r.jsx)(n.p,{children:"This option allows the usage of HTML comments inside MDX, while HTML comments are officially not supported anymore."}),"\n",(0,r.jsxs)(n.p,{children:["For MDX files, we recommend to progressively use MDX ",(0,r.jsx)(n.code,{children:"{/* comments */}"})," instead of HTML ",(0,r.jsx)(n.code,{children:"\x3c!-- comments --\x3e"}),", and then turn this compatibility option off."]}),"\n",(0,r.jsx)(n.admonition,{title:"Blog truncate marker",type:"info",children:(0,r.jsxs)(n.p,{children:["The default blog truncate marker now supports both ",(0,r.jsx)(n.code,{children:"\x3c!-- truncate --\x3e"})," and ",(0,r.jsx)(n.code,{children:"{/* truncate */}"}),"."]})}),"\n",(0,r.jsxs)(n.h4,{id:"admonitions-option",children:[(0,r.jsx)(n.code,{children:"admonitions"})," option"]}),"\n",(0,r.jsxs)(n.p,{children:["This option allows the usage of the Docusaurus v2 ",(0,r.jsx)(n.a,{href:"/docs/markdown-features/admonitions#specifying-title",children:"admonition title"})," syntax:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:":::note\xa0Your Title\n\ncontent\n\n:::\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Docusaurus now implements admonitions with ",(0,r.jsx)(n.a,{href:"https://talk.commonmark.org/t/generic-directives-plugins-syntax/444",children:"Markdown Directives"})," (implemented with ",(0,r.jsx)(n.a,{href:"https://github.com/remarkjs/remark-directive",children:"remark-directive"}),"), and the syntax to provide a directive label requires square brackets:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-md",children:":::note[Your Title]\n\ncontent\n\n:::\n"})}),"\n",(0,r.jsx)(n.p,{children:"We recommend to progressively use the new Markdown directive label syntax, and then turn this compatibility option off."}),"\n",(0,r.jsxs)(n.h4,{id:"headingids-option",children:[(0,r.jsx)(n.code,{children:"headingIds"})," option"]}),"\n",(0,r.jsxs)(n.p,{children:["This option allows the usage of the Docusaurus v2 ",(0,r.jsx)(n.a,{href:"/docs/markdown-features/toc#heading-ids",children:"explicit heading id"})," syntax:"]}),"\n",(0,r.jsx)(i,{language:"md",children:"### Hello World {#my-explicit-id}\n"}),"\n",(0,r.jsxs)(n.p,{children:["This syntax is now invalid MDX, and would require to escape the ",(0,r.jsx)(n.code,{children:"{"})," character: ",(0,r.jsx)(n.code,{children:"\\{#my-explicit-id}"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"We recommend to keep this compatibility option on for now, until we provide a new syntax compatible with newer versions of MDX."}),"\n",(0,r.jsx)(n.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,r.jsx)(n.p,{children:"In case of any upgrade problem, the first things to try are:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["make sure all your docs compile in the ",(0,r.jsx)(n.a,{href:"https://mdxjs.com/playground/",children:"MDX playground"}),", or using ",(0,r.jsx)(n.a,{href:"https://github.com/slorber/docusaurus-mdx-checker",children:(0,r.jsx)(n.code,{children:"npx docusaurus-mdx-checker"})})]}),"\n",(0,r.jsxs)(n.li,{children:["delete ",(0,r.jsx)(n.code,{children:"node_modules"})," and ",(0,r.jsx)(n.code,{children:"package-lock.json"}),", and then run ",(0,r.jsx)(n.code,{children:"npm install"})," again"]}),"\n",(0,r.jsxs)(n.li,{children:["run ",(0,r.jsx)(n.code,{children:"docusaurus clear"})," to clear the caches"]}),"\n",(0,r.jsx)(n.li,{children:"remove third-party plugins that might not support Docusaurus v3"}),"\n",(0,r.jsx)(n.li,{children:"delete all your swizzled components"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Once you have tried that, you can ask for support through the following support channels:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9336",children:"Docusaurus v3 - Upgrade Support"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://discord.com/channels/398180168688074762/1154771869094912090",children:"Docusaurus v3 - Discord channel #migration-v2-to-v3"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9053",children:"MDX v3 - Upgrade Support"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9337",children:"MDX v3 - Remark/Rehype Plugins Support"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://discord.com/channels/398180168688074762/1116724556976111616",children:"MDX v3 - Discord channel #migration-mdx-v3"})}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Please consider ",(0,r.jsx)(n.strong,{children:"our time is precious"}),". To ensure that your support request is not ignored, we kindly ask you to:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["provide a ",(0,r.jsx)(n.strong,{children:"minimal"})," reproduction that we can easily run, ideally created with ",(0,r.jsx)(n.a,{href:"https://docusaurus.new",children:"docusaurus.new"})]}),"\n",(0,r.jsx)(n.li,{children:"provide a live deployment url showing the problem in action (if your site can build)"}),"\n",(0,r.jsx)(n.li,{children:'explain clearly the problem, much more than an ambiguous "it doesn\'t work"'}),"\n",(0,r.jsx)(n.li,{children:"include as much relevant material as possible: code snippets, repo url, git branch urls, full stack traces, screenshots and videos"}),"\n",(0,r.jsx)(n.li,{children:"present your request clearly, concisely, showing us that you have made an effort to help us help you"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Alternatively, you can look for a paid ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9281",children:"Docusaurus Service Provider"})," to execute this upgrade for you. If your site is open source, you can also ask our community for ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/discussions/9283",children:"free, benevolent help"}),"."]})]})}function h(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}function u(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},80980:function(e,n,s){s.d(n,{Z:()=>a,a:()=>t});var i=s(67294);let r={},o=i.createContext(r);function t(e){let n=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/828be2eb.9d97a79a.js b/assets/js/828be2eb.9d97a79a.js new file mode 100644 index 0000000000..8b16d95ed8 --- /dev/null +++ b/assets/js/828be2eb.9d97a79a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["14096"],{44172:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>l,default:()=>p,contentTitle:()=>c,assets:()=>d,toc:()=>u,metadata:()=>i});var i=JSON.parse('{"id":"guides/docs/multi-instance","title":"Docs Multi-instance","description":"Use multiple docs plugin instances on a single Docusaurus site.","source":"@site/docs/guides/docs/docs-multi-instance.mdx","sourceDirName":"guides/docs","slug":"/docs-multi-instance","permalink":"/docs/docs-multi-instance","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/guides/docs/docs-multi-instance.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"multi-instance","description":"Use multiple docs plugin instances on a single Docusaurus site.","slug":"/docs-multi-instance"},"sidebar":"docs","previous":{"title":"Versioning","permalink":"/docs/versioning"},"next":{"title":"Blog","permalink":"/docs/blog"}}'),t=s(85893),r=s(80980),o=s(15398),a=s(58636);let l={id:"multi-instance",description:"Use multiple docs plugin instances on a single Docusaurus site.",slug:"/docs-multi-instance"},c="Docs Multi-instance",d={},u=[{value:"Use-cases",id:"use-cases",level:2},{value:"Mobile SDKs documentation",id:"mobile-sdks-documentation",level:3},{value:"Versioned and unversioned doc",id:"versioned-and-unversioned-doc",level:3},{value:"Setup",id:"setup",level:2},{value:"Versioned paths",id:"versioned-paths",level:2},{value:"Tagging new versions",id:"tagging-new-versions",level:2},{value:"Docs navbar items",id:"docs-navbar-items",level:2}];function h(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"docs-multi-instance",children:"Docs Multi-instance"})}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"@docusaurus/plugin-content-docs"})," plugin can support ",(0,t.jsx)(n.a,{href:"/docs/using-plugins#multi-instance-plugins-and-plugin-ids",children:"multi-instance"}),"."]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["This feature is only useful for ",(0,t.jsx)(n.a,{href:"/docs/versioning",children:"versioned documentation"}),". It is recommended to be familiar with docs versioning before reading this page. If you just want ",(0,t.jsx)(n.a,{href:"/docs/sidebar/multiple-sidebars",children:"multiple sidebars"}),", you can do so within one plugin."]})}),"\n",(0,t.jsx)(n.h2,{id:"use-cases",children:"Use-cases"}),"\n",(0,t.jsx)(n.p,{children:"Sometimes you want a Docusaurus site to host 2 distinct sets of documentation (or more)."}),"\n",(0,t.jsx)(n.p,{children:"These documentations may even have different versioning/release lifecycles."}),"\n",(0,t.jsx)(n.h3,{id:"mobile-sdks-documentation",children:"Mobile SDKs documentation"}),"\n",(0,t.jsx)(n.p,{children:"If you build a cross-platform mobile SDK, you may have 2 documentations:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Android SDK documentation (",(0,t.jsx)(n.code,{children:"v1.0"}),", ",(0,t.jsx)(n.code,{children:"v1.1"}),")"]}),"\n",(0,t.jsxs)(n.li,{children:["iOS SDK documentation (",(0,t.jsx)(n.code,{children:"v1.0"}),", ",(0,t.jsx)(n.code,{children:"v2.0"}),")"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"In this case, you can use a distinct docs plugin instance per mobile SDK documentation."}),"\n",(0,t.jsxs)(n.admonition,{type:"warning",children:[(0,t.jsx)(n.p,{children:"If each documentation instance is very large, you should rather create 2 distinct Docusaurus sites."}),(0,t.jsx)(n.p,{children:"If someone edits the iOS documentation, is it really useful to rebuild everything, including the whole Android documentation that did not change?"})]}),"\n",(0,t.jsx)(n.h3,{id:"versioned-and-unversioned-doc",children:"Versioned and unversioned doc"}),"\n",(0,t.jsx)(n.p,{children:'Sometimes, you want some documents to be versioned, while other documents are more "global", and it feels useless to version them.'}),"\n",(0,t.jsx)(n.p,{children:"We use this pattern on the Docusaurus website itself:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["The ",(0,t.jsx)(n.a,{href:"/docs",children:"/docs/*"})," section is versioned"]}),"\n",(0,t.jsxs)(n.li,{children:["The ",(0,t.jsx)(n.a,{href:"/community/support",children:"/community/*"})," section is unversioned"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"setup",children:"Setup"}),"\n",(0,t.jsx)(n.p,{children:"Suppose you have 2 documentations:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Product: some versioned doc about your product"}),"\n",(0,t.jsx)(n.li,{children:"Community: some unversioned doc about the community around your product"}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"In this case, you should use the same plugin twice in your site configuration."}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"@docusaurus/preset-classic"})," already includes a docs plugin instance for you!"]})}),"\n",(0,t.jsx)(n.p,{children:"When using the preset:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n presets: [\n [\n '@docusaurus/preset-classic',\n {\n docs: {\n // highlight-start\n // id: 'product', // omitted => default instance\n // highlight-end\n path: 'product',\n routeBasePath: 'product',\n sidebarPath: './sidebarsProduct.js',\n // ... other options\n },\n },\n ],\n ],\n plugins: [\n [\n '@docusaurus/plugin-content-docs',\n {\n // highlight-start\n id: 'community',\n // highlight-end\n path: 'community',\n routeBasePath: 'community',\n sidebarPath: './sidebarsCommunity.js',\n // ... other options\n },\n ],\n ],\n};\n"})}),"\n",(0,t.jsx)(n.p,{children:"When not using the preset:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n plugins: [\n [\n '@docusaurus/plugin-content-docs',\n {\n // highlight-start\n // id: 'product', // omitted => default instance\n // highlight-end\n path: 'product',\n routeBasePath: 'product',\n sidebarPath: './sidebarsProduct.js',\n // ... other options\n },\n ],\n [\n '@docusaurus/plugin-content-docs',\n {\n // highlight-start\n id: 'community',\n // highlight-end\n path: 'community',\n routeBasePath: 'community',\n sidebarPath: './sidebarsCommunity.js',\n // ... other options\n },\n ],\n ],\n};\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Don't forget to assign a unique ",(0,t.jsx)(n.code,{children:"id"})," attribute to plugin instances."]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["We consider that the ",(0,t.jsx)(n.code,{children:"product"}),' instance is the most important one, and make it the "default" instance by not assigning any ID.']})}),"\n",(0,t.jsx)(n.h2,{id:"versioned-paths",children:"Versioned paths"}),"\n",(0,t.jsx)(n.p,{children:"Each plugin instance will store versioned docs in a distinct folder."}),"\n",(0,t.jsx)(n.p,{children:"The default plugin instance will use these paths:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:"website/versions.json"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:"website/versioned_docs"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:"website/versioned_sidebars"})}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["The other plugin instances (with an ",(0,t.jsx)(n.code,{children:"id"})," attribute) will use these paths:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:"website/[pluginId]_versions.json"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:"website/[pluginId]_versioned_docs"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:"website/[pluginId]_versioned_sidebars"})}),"\n"]}),"\n",(0,t.jsxs)(n.admonition,{type:"tip",children:[(0,t.jsxs)(n.p,{children:["You can omit the ",(0,t.jsx)(n.code,{children:"id"})," attribute (defaults to ",(0,t.jsx)(n.code,{children:"default"}),") for one of the docs plugin instances."]}),(0,t.jsx)(n.p,{children:"The instance paths will be simpler, and retro-compatible with a single-instance setup."})]}),"\n",(0,t.jsx)(n.h2,{id:"tagging-new-versions",children:"Tagging new versions"}),"\n",(0,t.jsx)(n.p,{children:"Each plugin instance will have its own CLI command to tag a new version. They will be displayed if you run:"}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(a.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run docusaurus -- --help\n"})})}),(0,t.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn docusaurus --help\n"})})}),(0,t.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run docusaurus --help\n"})})})]}),"\n",(0,t.jsx)(n.p,{children:"To version the product/default docs plugin instance:"}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(a.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run docusaurus docs:version 1.0.0\n"})})}),(0,t.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn docusaurus docs:version 1.0.0\n"})})}),(0,t.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run docusaurus docs:version 1.0.0\n"})})})]}),"\n",(0,t.jsx)(n.p,{children:"To version the non-default/community docs plugin instance:"}),"\n",(0,t.jsxs)(o.Z,{groupId:"npm2yarn",children:[(0,t.jsx)(a.Z,{value:"npm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm run docusaurus docs:version:community 1.0.0\n"})})}),(0,t.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"yarn docusaurus docs:version:community 1.0.0\n"})})}),(0,t.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm run docusaurus docs:version:community 1.0.0\n"})})})]}),"\n",(0,t.jsx)(n.h2,{id:"docs-navbar-items",children:"Docs navbar items"}),"\n",(0,t.jsxs)(n.p,{children:["Each docs-related ",(0,t.jsx)(n.a,{href:"/docs/api/themes/configuration#navbar",children:"theme navbar items"})," take an optional ",(0,t.jsx)(n.code,{children:"docsPluginId"})," attribute."]}),"\n",(0,t.jsx)(n.p,{children:"For example, if you want to have one version dropdown for each mobile SDK (iOS and Android), you could do:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n {\n type: 'docsVersionDropdown',\n // highlight-start\n docsPluginId: 'ios',\n // highlight-end\n },\n {\n type: 'docsVersionDropdown',\n // highlight-start\n docsPluginId: 'android',\n // highlight-end\n },\n ],\n },\n },\n};\n"})})]})}function p(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},58636:function(e,n,s){s.d(n,{Z:()=>r});var i=s(85893);s(67294);var t=s(90496);function r(e){let{children:n,hidden:s,className:r}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,t.Z)("tabItem_pnkT",r),hidden:s,children:n})}},15398:function(e,n,s){s.d(n,{Z:()=>v});var i=s(85893),t=s(67294),r=s(90496),o=s(54947),a=s(3620),l=s(844),c=s(97486),d=s(32263),u=s(16971);function h(e){return t.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||t.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function p(e){let{value:n,tabValues:s}=e;return s.some(e=>e.value===n)}var m=s(71607);function g(e){let{className:n,block:s,selectedValue:t,selectValue:a,tabValues:l}=e,c=[],{blockElementScrollPositionUntilNextRender:d}=(0,o.o5)(),u=e=>{let n=e.currentTarget,s=l[c.indexOf(n)].value;s!==t&&(d(n),a(s))},h=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{let s=c.indexOf(e.currentTarget)+1;n=c[s]??c[0];break}case"ArrowLeft":{let s=c.indexOf(e.currentTarget)-1;n=c[s]??c[c.length-1]}}n?.focus()};return(0,i.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":s},n),children:l.map(e=>{let{value:n,label:s,attributes:o}=e;return(0,i.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>{c.push(e)},onKeyDown:h,onClick:u,...o,className:(0,r.Z)("tabs__item","tabItem_AQgk",o?.className,{"tabs__item--active":t===n}),children:s??n},n)})})}function x(e){let{lazy:n,children:s,selectedValue:o}=e,a=(Array.isArray(s)?s:[s]).filter(Boolean);if(n){let e=a.find(e=>e.props.value===o);return e?(0,t.cloneElement)(e,{className:(0,r.Z)("margin-top--md",e.props.className)}):null}return(0,i.jsx)("div",{className:"margin-top--md",children:a.map((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==o}))})}function j(e){let n=function(e){let{defaultValue:n,queryString:s=!1,groupId:i}=e,r=function(e){let{values:n,children:s}=e;return(0,t.useMemo)(()=>{let e=n??h(s).map(e=>{let{props:{value:n,label:s,attributes:i,default:t}}=e;return{value:n,label:s,attributes:i,default:t}});return!function(e){let n=(0,d.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,s])}(e),[o,m]=(0,t.useState)(()=>(function(e){let{defaultValue:n,tabValues:s}=e;if(0===s.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!p({value:n,tabValues:s}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${s.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let i=s.find(e=>e.default)??s[0];if(!i)throw Error("Unexpected error: 0 tabValues");return i.value})({defaultValue:n,tabValues:r})),[g,x]=function(e){let{queryString:n=!1,groupId:s}=e,i=(0,a.k6)(),r=function(e){let{queryString:n=!1,groupId:s}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!s)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:n,groupId:s});return[(0,c._X)(r),(0,t.useCallback)(e=>{if(!r)return;let n=new URLSearchParams(i.location.search);n.set(r,e),i.replace({...i.location,search:n.toString()})},[r,i])]}({queryString:s,groupId:i}),[j,v]=function(e){let{groupId:n}=e,s=n?`docusaurus.tab.${n}`:null,[i,r]=(0,u.Nk)(s);return[i,(0,t.useCallback)(e=>{s&&r.set(e)},[s,r])]}({groupId:i}),f=(()=>{let e=g??j;return p({value:e,tabValues:r})?e:null})();return(0,l.Z)(()=>{f&&m(f)},[f]),{selectedValue:o,selectValue:(0,t.useCallback)(e=>{if(!p({value:e,tabValues:r}))throw Error(`Can't select invalid tab value=${e}`);m(e),x(e),v(e)},[x,v,r]),tabValues:r}}(e);return(0,i.jsxs)("div",{className:(0,r.Z)("tabs-container","tabList_Qoir"),children:[(0,i.jsx)(g,{...n,...e}),(0,i.jsx)(x,{...n,...e})]})}function v(e){let n=(0,m.Z)();return(0,i.jsx)(j,{...e,children:h(e.children)},String(n))}},80980:function(e,n,s){s.d(n,{Z:()=>a,a:()=>o});var i=s(67294);let t={},r=i.createContext(t);function o(e){let n=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/82de272a.0dca3757.js b/assets/js/82de272a.0dca3757.js new file mode 100644 index 0000000000..e47c032475 --- /dev/null +++ b/assets/js/82de272a.0dca3757.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["74001"],{76945:function(e,t,s){s.r(t),s.d(t,{frontMatter:()=>d,default:()=>u,contentTitle:()=>r,assets:()=>a,toc:()=>i,metadata:()=>o});var o=JSON.parse('{"id":"tests/category-links/no-subdoc/index","title":"No sub-docs","description":"The only doc of this category is the index page. It should show up as a regular doc link.","source":"@site/_dogfooding/_docs tests/tests/category-links/no-subdoc/index.mdx","sourceDirName":"tests/category-links/no-subdoc","slug":"/tests/category-links/no-subdoc/","permalink":"/tests/docs/tests/category-links/no-subdoc/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/no-index-doc/sample-doc"},"next":{"title":"Readme","permalink":"/tests/docs/tests/category-links/"}}'),n=s(85893),c=s(80980);let d={},r="No sub-docs",a={},i=[];function l(e){let t={h1:"h1",header:"header",p:"p",...(0,c.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"no-sub-docs",children:"No sub-docs"})}),"\n",(0,n.jsx)(t.p,{children:"The only doc of this category is the index page. It should show up as a regular doc link."})]})}function u(e={}){let{wrapper:t}={...(0,c.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}u.displayName="MDXContent(_dogfooding/_docs tests/tests/category-links/no-subdoc/index.mdx)"},80980:function(e,t,s){s.d(t,{Z:()=>r,a:()=>d});var o=s(67294);let n={},c=o.createContext(n);function d(e){let t=o.useContext(c);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),o.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/83468.2e5eb33f.js b/assets/js/83468.2e5eb33f.js new file mode 100644 index 0000000000..43bde6a1e3 --- /dev/null +++ b/assets/js/83468.2e5eb33f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["83468"],{87704:function(e,t,n){n.d(t,{c:()=>d});var i=n(4740),r=n(84128),a=n(24541);function d(e){var t,n,d={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:(t=e,a.Z(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),a={v:e};return i.Z(n)||(a.value=n),i.Z(r)||(a.parent=r),a})),edges:(n=e,a.Z(n.edges(),function(e){var t=n.edge(e),r={v:e.v,w:e.w};return i.Z(e.name)||(r.name=e.name),i.Z(t)||(r.value=t),r}))};return i.Z(e.graph())||(d.value=r.Z(e.graph())),d}n(64085)},99877:function(e,t,n){n.d(t,{diagram:()=>Y});var i=n(67157),r=n(34422),a=n(57668),d=n(25653),l=n(19039),o=n(84890),s=n(28923),c=n(11141),h=n(62145),g=n(44387),f=n(87704),u={},p={},w={},y=(0,s.eW)(()=>{p={},w={},u={}},"clear"),b=(0,s.eW)((e,t)=>(s.cM.trace("In isDescendant",t," ",e," = ",p[t].includes(e)),!!p[t].includes(e)),"isDescendant"),M=(0,s.eW)((e,t)=>(s.cM.info("Descendants of ",t," is ",p[t]),s.cM.info("Edge is ",e),e.v!==t&&e.w!==t&&(p[t]?p[t].includes(e.v)||b(e.v,t)||b(e.w,t)||p[t].includes(e.w):(s.cM.debug("Tilt, ",t,",not in descendants"),!1))),"edgeInCluster"),v=(0,s.eW)((e,t,n,i)=>{s.cM.warn("Copying children of ",e,"root",i,"data",t.node(e),i);let r=t.children(e)||[];e!==i&&r.push(e),s.cM.warn("Copying (nodes) clusterId",e,"nodes",r),r.forEach(r=>{if(t.children(r).length>0)v(r,t,n,i);else{let a=t.node(r);s.cM.info("cp ",r," to ",i," with parent ",e),n.setNode(r,a),i!==t.parent(r)&&(s.cM.warn("Setting parent",r,t.parent(r)),n.setParent(r,t.parent(r))),e!==i&&r!==e?(s.cM.debug("Setting parent",r,e),n.setParent(r,e)):(s.cM.info("In copy ",e,"root",i,"data",t.node(e),i),s.cM.debug("Not Setting parent for node=",r,"cluster!==rootId",e!==i,"node!==clusterId",r!==e));let d=t.edges(r);s.cM.debug("Copying Edges",d),d.forEach(r=>{s.cM.info("Edge",r);let a=t.edge(r.v,r.w,r.name);s.cM.info("Edge data",a,i);try{M(r,i)?(s.cM.info("Copying as ",r.v,r.w,a,r.name),n.setEdge(r.v,r.w,a,r.name),s.cM.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.cM.info("Skipping copy of edge ",r.v,"--\x3e",r.w," rootId: ",i," clusterId:",e)}catch(e){s.cM.error(e)}})}s.cM.debug("Removing node",r),t.removeNode(r)})},"copy"),x=(0,s.eW)((e,t)=>{let n=t.children(e),i=[...n];for(let r of n)w[r]=e,i=[...i,...x(r,t)];return i},"extractDescendants"),m=(0,s.eW)((e,t)=>{s.cM.trace("Searching",e);let n=t.children(e);if(s.cM.trace("Searching children of id ",e,n),n.length<1)return s.cM.trace("This is a valid node",e),e;for(let i of n){let n=m(i,t);if(n)return s.cM.trace("Found replacement for",e," => ",n),n}},"findNonClusterChild"),N=(0,s.eW)(e=>u[e]&&u[e].externalConnections&&u[e]?u[e].id:e,"getAnchorId"),S=(0,s.eW)((e,t)=>{if(!e||t>10){s.cM.debug("Opting out, no graph ");return}for(let t of(s.cM.debug("Opting in, graph "),e.nodes().forEach(function(t){e.children(t).length>0&&(s.cM.warn("Cluster identified",t," Replacement id in edges: ",m(t,e)),p[t]=x(t,e),u[t]={id:m(t,e),clusterData:e.node(t)})}),e.nodes().forEach(function(t){let n=e.children(t),i=e.edges();n.length>0?(s.cM.debug("Cluster identified",t,p),i.forEach(e=>{e.v!==t&&e.w!==t&&b(e.v,t)^b(e.w,t)&&(s.cM.warn("Edge: ",e," leaves cluster ",t),s.cM.warn("Descendants of XXX ",t,": ",p[t]),u[t].externalConnections=!0)})):s.cM.debug("Not a cluster ",t,p)}),Object.keys(u))){let n=u[t].id,i=e.parent(n);i!==t&&u[i]&&!u[i].externalConnections&&(u[t].id=i)}e.edges().forEach(function(t){let n=e.edge(t);s.cM.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),s.cM.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let i=t.v,r=t.w;if(s.cM.warn("Fix XXX",u,"ids:",t.v,t.w,"Translating: ",u[t.v]," --- ",u[t.w]),u[t.v]&&u[t.w]&&u[t.v]===u[t.w]){s.cM.warn("Fixing and trixing link to self - removing XXX",t.v,t.w,t.name),s.cM.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),i=N(t.v),r=N(t.w),e.removeEdge(t.v,t.w,t.name);let a=t.w+"---"+t.v;e.setNode(a,{domId:a,id:a,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});let d=structuredClone(n),l=structuredClone(n);d.label="",d.arrowTypeEnd="none",l.label="",d.fromCluster=t.v,l.toCluster=t.v,e.setEdge(i,a,d,t.name+"-cyclic-special"),e.setEdge(a,r,l,t.name+"-cyclic-special")}else(u[t.v]||u[t.w])&&(s.cM.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),i=N(t.v),r=N(t.w),e.removeEdge(t.v,t.w,t.name),i!==t.v&&(u[e.parent(i)].externalConnections=!0,n.fromCluster=t.v),r!==t.w&&(u[e.parent(r)].externalConnections=!0,n.toCluster=t.w),s.cM.warn("Fix Replacing with XXX",i,r,t.name),e.setEdge(i,r,n,t.name))}),s.cM.warn("Adjusted Graph",f.c(e)),C(e,0),s.cM.trace(u)},"adjustClustersAndEdges"),C=(0,s.eW)((e,t)=>{if(s.cM.warn("extractor - ",t,f.c(e),e.children("D")),t>10){s.cM.error("Bailing out");return}let n=e.nodes(),i=!1;for(let t of n){let n=e.children(t);i=i||n.length>0}if(!i){s.cM.debug("Done, no node has children",e.nodes());return}for(let i of(s.cM.debug("Nodes = ",n,t),n))if(s.cM.debug("Extracting node",i,u,u[i]&&!u[i].externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),u[i]){if(!u[i].externalConnections&&e.children(i)&&e.children(i).length>0){s.cM.warn("Cluster without external connections, without a parent and with children",i,t);let n="TB"===e.graph().rankdir?"LR":"TB";u[i]?.clusterData?.dir&&(n=u[i].clusterData.dir,s.cM.warn("Fixing dir",u[i].clusterData.dir,n));let r=new h.k({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.cM.warn("Old graph before copy",f.c(e)),v(i,e,r,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:u[i].clusterData,labelText:u[i].labelText,graph:r}),s.cM.warn("New graph after copy node: (",i,")",f.c(r)),s.cM.debug("Old graph after copy",f.c(e))}else s.cM.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!u[i].externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),s.cM.debug(u)}else s.cM.debug("Not a cluster",i,t);for(let i of(n=e.nodes(),s.cM.warn("New list of nodes",n),n)){let n=e.node(i);s.cM.warn(" Now next level",i,n),n.clusterNode&&C(n.graph,t+1)}},"extractor"),E=(0,s.eW)((e,t)=>{if(0===t.length)return[];let n=Object.assign(t);return t.forEach(t=>{let i=e.children(t),r=E(e,i);n=[...n,...r]}),n},"sorter"),k=(0,s.eW)(e=>E(e,e.children()),"sortNodesByHierarchy"),T=(0,s.eW)((e,t)=>{s.cM.info("Creating subgraph rect for ",t.id,t);let n=(0,s.nV)(),i=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),r=i.insert("rect",":first-child"),o=(0,s.ku)(n.flowchart.htmlLabels),h=i.insert("g").attr("class","cluster-label"),g="markdown"===t.labelType?(0,l.rw)(h,t.labelText,{style:t.labelStyle,useHtmlLabels:o},n):h.node().appendChild((0,a.XO)(t.labelText,t.labelStyle,void 0,!0)),f=g.getBBox();if((0,s.ku)(n.flowchart.htmlLabels)){let e=g.children[0],t=(0,c.Ys)(g);f=e.getBoundingClientRect(),t.attr("width",f.width),t.attr("height",f.height)}let u=0*t.padding,p=t.width<=f.width+u?f.width+u:t.width;t.width<=f.width+u?t.diff=(f.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.cM.trace("Data ",t,JSON.stringify(t)),r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-p/2).attr("y",t.y-t.height/2-u/2).attr("width",p).attr("height",t.height+u);let{subGraphTitleTopMargin:w}=(0,d.L)(n);o?h.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2+w})`):h.attr("transform",`translate(${t.x}, ${t.y-t.height/2+w})`);let y=r.node().getBBox();return t.width=y.width,t.height=y.height,t.intersect=function(e){return(0,a.qo)(t,e)},i},"rect"),X=(0,s.eW)((e,t)=>{let n=e.insert("g").attr("class","note-cluster").attr("id",t.id),i=n.insert("rect",":first-child"),r=0*t.padding,d=r/2;i.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-d).attr("y",t.y-t.height/2-d).attr("width",t.width+r).attr("height",t.height+r).attr("fill","none");let l=i.node().getBBox();return t.width=l.width,t.height=l.height,t.intersect=function(e){return(0,a.qo)(t,e)},n},"noteGroup"),D={rect:T,roundedWithTitle:(0,s.eW)((e,t)=>{let n=(0,s.nV)(),i=e.insert("g").attr("class",t.classes).attr("id",t.id),r=i.insert("rect",":first-child"),l=i.insert("g").attr("class","cluster-label"),o=i.append("rect"),h=l.node().appendChild((0,a.XO)(t.labelText,t.labelStyle,void 0,!0)),g=h.getBBox();if((0,s.ku)(n.flowchart.htmlLabels)){let e=h.children[0],t=(0,c.Ys)(h);g=e.getBoundingClientRect(),t.attr("width",g.width),t.attr("height",g.height)}g=h.getBBox();let f=0*t.padding,u=f/2,p=t.width<=g.width+t.padding?g.width+t.padding:t.width;t.width<=g.width+t.padding?t.diff=(g.width+0*t.padding-t.width)/2:t.diff=-t.padding/2,r.attr("class","outer").attr("x",t.x-p/2-u).attr("y",t.y-t.height/2-u).attr("width",p+f).attr("height",t.height+f),o.attr("class","inner").attr("x",t.x-p/2-u).attr("y",t.y-t.height/2-u+g.height-1).attr("width",p+f).attr("height",t.height+f-g.height-3);let{subGraphTitleTopMargin:w}=(0,d.L)(n);l.attr("transform",`translate(${t.x-g.width/2}, ${t.y-t.height/2-t.padding/3+((0,s.ku)(n.flowchart.htmlLabels)?5:3)+w})`);let y=r.node().getBBox();return t.height=y.height,t.intersect=function(e){return(0,a.qo)(t,e)},i},"roundedWithTitle"),noteGroup:X,divider:(0,s.eW)((e,t)=>{let n=e.insert("g").attr("class",t.classes).attr("id",t.id),i=n.insert("rect",":first-child"),r=0*t.padding;i.attr("class","divider").attr("x",t.x-t.width/2-r/2).attr("y",t.y-t.height/2).attr("width",t.width+r).attr("height",t.height+r);let d=i.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(e){return(0,a.qo)(t,e)},n},"divider")},W={},L=(0,s.eW)((e,t)=>{s.cM.trace("Inserting cluster");let n=t.shape||"rect";W[t.id]=D[n](e,t)},"insertCluster"),B=(0,s.eW)(()=>{W={}},"clear"),O=(0,s.eW)(async(e,t,n,r,l,o)=>{s.cM.info("Graph in recursive render: XXX",f.c(t),l);let c=t.graph().rankdir;s.cM.trace("Dir in recursive render - dir:",c);let h=e.insert("g").attr("class","root");t.nodes()?s.cM.info("Recursive render XXX",t.nodes()):s.cM.info("No nodes found for",t),t.edges().length>0&&s.cM.trace("Recursive edges",t.edge(t.edges()[0]));let p=h.insert("g").attr("class","clusters"),w=h.insert("g").attr("class","edgePaths"),y=h.insert("g").attr("class","edgeLabels"),b=h.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(e){let i=t.node(e);if(void 0!==l){let n=JSON.parse(JSON.stringify(l.clusterData));s.cM.info("Setting data for cluster XXX (",e,") ",n,l),t.setNode(l.id,n),t.parent(e)||(s.cM.trace("Setting parent",e,l.id),t.setParent(e,l.id,n))}if(s.cM.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),i?.clusterNode){s.cM.info("Cluster identified",e,i.width,t.node(e));let{ranksep:d,nodesep:l}=t.graph();i.graph.setGraph({...i.graph.graph(),ranksep:d,nodesep:l});let c=await O(b,i.graph,n,r,t.node(e),o),h=c.elem;(0,a.jr)(i,h),i.diff=c.diff||0,s.cM.info("Node bounds (abc123)",e,i,i.width,i.x,i.y),(0,a.Yn)(h,i),s.cM.warn("Recursive render complete ",h,i)}else t.children(e).length>0?(s.cM.info("Cluster - the non recursive path XXX",e,i.id,i,t),s.cM.info(m(i.id,t)),u[i.id]={id:m(i.id,t),node:i}):(s.cM.info("Node - the non recursive path",e,i.id,i),await (0,a.Lf)(b,t.node(e),c))})),t.edges().forEach(async function(e){let n=t.edge(e.v,e.w,e.name);s.cM.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),s.cM.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),s.cM.info("Fix",u,"ids:",e.v,e.w,"Translating: ",u[e.v],u[e.w]),await (0,i.I_)(y,n)}),t.edges().forEach(function(e){s.cM.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e))}),s.cM.info("Graph before layout:",JSON.stringify(f.c(t))),s.cM.info("#############################################"),s.cM.info("### Layout ###"),s.cM.info("#############################################"),s.cM.info(t),(0,g.bK)(t),s.cM.info("Graph after layout:",JSON.stringify(f.c(t)));let M=0,{subGraphTitleTotalMargin:v}=(0,d.L)(o);return k(t).forEach(function(e){let n=t.node(e);s.cM.info("Position "+e+": "+JSON.stringify(t.node(e))),s.cM.info("Position "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n?.clusterNode?(n.y+=v,(0,a.aH)(n)):t.children(e).length>0?(n.height+=v,L(p,n),u[n.id].node=n):(n.y+=v/2,(0,a.aH)(n))}),t.edges().forEach(function(e){let a=t.edge(e);s.cM.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(a),a),a.points.forEach(e=>e.y+=v/2);let d=(0,i.QP)(w,e,a,u,n,t,r);(0,i.Jj)(a,d)}),t.nodes().forEach(function(e){let n=t.node(e);s.cM.info(e,n.type,n.diff),"group"===n.type&&(M=n.diff)}),{elem:h,diff:M}},"recursiveRender"),I=(0,s.eW)(async(e,t,n,r,d)=>{(0,i.DQ)(e,n,r,d),(0,a.ZH)(),(0,i.ZH)(),B(),y(),s.cM.warn("Graph at first:",JSON.stringify(f.c(t))),S(t),s.cM.warn("Graph after:",JSON.stringify(f.c(t)));let l=(0,s.nV)();await O(e,t,r,d,void 0,l)},"render"),J=(0,s.eW)(e=>s.SY.sanitizeText(e,(0,s.nV)()),"sanitizeText"),R={dividerMargin:10,padding:5,textHeight:10,curve:void 0},V=(0,s.eW)(function(e,t,n,i){s.cM.info("keys:",[...e.keys()]),s.cM.info(e),e.forEach(function(e){let r={shape:"rect",id:e.id,domId:e.domId,labelText:J(e.id),labelStyle:"",style:"fill: none; stroke: black",padding:s.nV().flowchart?.padding??s.nV().class?.padding};t.setNode(e.id,r),A(e.classes,t,n,i,e.id),s.cM.info("setNode",r)})},"addNamespaces"),A=(0,s.eW)(function(e,t,n,i,r){s.cM.info("keys:",[...e.keys()]),s.cM.info(e),[...e.values()].filter(e=>e.parent===r).forEach(function(e){let n=e.cssClasses.join(" "),a=(0,o.be)(e.styles),d=e.label??e.id,l={labelStyle:a.labelStyle,shape:"class_box",labelText:J(d),classData:e,rx:0,ry:0,class:n,style:a.style,id:e.id,domId:e.domId,tooltip:i.db.getTooltip(e.id,r)||"",haveCallback:e.haveCallback,link:e.link,width:"group"===e.type?500:void 0,type:e.type,padding:s.nV().flowchart?.padding??s.nV().class?.padding};t.setNode(e.id,l),r&&t.setParent(e.id,r),s.cM.info("setNode",l)})},"addClasses"),G=(0,s.eW)(function(e,t,n,i){s.cM.info(e),e.forEach(function(e,r){let a={labelStyle:"",shape:"note",labelText:J(e.text),noteData:e,rx:0,ry:0,class:"",style:"",id:e.id,domId:e.id,tooltip:"",type:"note",padding:s.nV().flowchart?.padding??s.nV().class?.padding};if(t.setNode(e.id,a),s.cM.info("setNode",a),!e.class||!i.has(e.class))return;let d=n+r,l={id:`edgeNote${d}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:(0,o.le)(R.curve,c.c_6)};t.setEdge(e.id,e.class,l,d)})},"addNotes"),P=(0,s.eW)(function(e,t){let n=(0,s.nV)().flowchart,i=0;e.forEach(function(e){i++;let r={classes:"relation",pattern:1==e.relation.lineType?"dashed":"solid",id:(0,o.Ln)(e.id1,e.id2,{prefix:"id",counter:i}),arrowhead:"arrow_open"===e.type?"none":"normal",startLabelRight:"none"===e.relationTitle1?"":e.relationTitle1,endLabelLeft:"none"===e.relationTitle2?"":e.relationTitle2,arrowTypeStart:F(e.relation.type1),arrowTypeEnd:F(e.relation.type2),style:"fill:none",labelStyle:"",curve:(0,o.le)(n?.curve,c.c_6)};if(s.cM.info(r,e),void 0!==e.style){let t=(0,o.be)(e.style);r.style=t.style,r.labelStyle=t.labelStyle}e.text=e.title,void 0===e.text?void 0!==e.style&&(r.arrowheadStyle="fill: #333"):(r.arrowheadStyle="fill: #333",r.labelpos="c",s.nV().flowchart?.htmlLabels??(0,s.nV)().htmlLabels?(r.labelType="html",r.label='<span class="edgeLabel">'+e.text+"</span>"):(r.labelType="text",r.label=e.text.replace(s.SY.lineBreakRegex,"\n"),void 0===e.style&&(r.style=r.style||"stroke: #333; stroke-width: 1.5px;fill:none"),r.labelStyle=r.labelStyle.replace("color:","fill:"))),t.setEdge(e.id1,e.id2,r,i)})},"addRelations"),Z=(0,s.eW)(function(e){R={...R,...e}},"setConf"),j=(0,s.eW)(async function(e,t,n,i){let r;s.cM.info("Drawing class - ",t);let a=(0,s.nV)().flowchart??(0,s.nV)().class,d=(0,s.nV)().securityLevel;s.cM.info("config:",a);let l=a?.nodeSpacing??50,g=a?.rankSpacing??50,f=new h.k({multigraph:!0,compound:!0}).setGraph({rankdir:i.db.getDirection(),nodesep:l,ranksep:g,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),u=i.db.getNamespaces(),p=i.db.getClasses(),w=i.db.getRelations(),y=i.db.getNotes();s.cM.info(w),V(u,f,t,i),A(p,f,t,i),P(w,f),G(y,f,w.length+1,p),"sandbox"===d&&(r=(0,c.Ys)("#i"+t));let b="sandbox"===d?(0,c.Ys)(r.nodes()[0].contentDocument.body):(0,c.Ys)("body"),M=b.select(`[id="${t}"]`),v=b.select("#"+t+" g");if(await I(v,f,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),o.w8.insertTitle(M,"classTitleText",a?.titleTopMargin??5,i.db.getDiagramTitle()),(0,s.j7)(f,M,a?.diagramPadding,a?.useMaxWidth),!a?.htmlLabels){let e="sandbox"===d?r.nodes()[0].contentDocument:document;for(let n of e.querySelectorAll('[id="'+t+'"] .edgeLabel .label')){let t=n.getBBox(),i=e.createElementNS("http://www.w3.org/2000/svg","rect");i.setAttribute("rx",0),i.setAttribute("ry",0),i.setAttribute("width",t.width),i.setAttribute("height",t.height),n.insertBefore(i,n.firstChild)}}},"draw");function F(e){let t;switch(e){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}(0,s.eW)(F,"getArrowMarker");var Y={parser:r.P0,db:r.pl,renderer:{setConf:Z,draw:j},styles:r.Ee,init:(0,s.eW)(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,r.pl.clear()},"init")}}}]); \ No newline at end of file diff --git a/assets/js/83808d4b.a9a027c8.js b/assets/js/83808d4b.a9a027c8.js new file mode 100644 index 0000000000..162b596648 --- /dev/null +++ b/assets/js/83808d4b.a9a027c8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["31572"],{92329:function(e,n,t){t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>h,default:()=>c,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var a=t(73913),s=t(85893),l=t(80980);let i={mdx:{format:"md"},date:"2020-02-18T20:00",authors:["lex111","yangshun"]},h="2.0.0-alpha.43",r={authorsImageUrls:[void 0,void 0]},u=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"Committers: 2",id:"committers-2",level:2}];function o(e){let n={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"HOTFIX for 2.0.0-alpha.41"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"docusaurus-theme-classic"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2292",children:"#2292"})," chore(v2): update Infima to 0.2.0-alpha.4 (",(0,s.jsx)(n.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/2291",children:"#2291"})," fix(v2): fix build and deps install (",(0,s.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"committers-2",children:"Committers: 2"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Alexey Pyltsyn (",(0,s.jsx)(n.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:["Yangshun Tay (",(0,s.jsx)(n.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n"]})]})}function c(e={}){let{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},80980:function(e,n,t){t.d(n,{Z:()=>h,a:()=>i});var a=t(67294);let s={},l=a.createContext(s);function i(e){let n=a.useContext(l);return a.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function h(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(l.Provider,{value:n},e.children)}},73913:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.43","source":"@site/changelog/source/2.0.0-alpha.43.md","title":"2.0.0-alpha.43","description":"HOTFIX for 2.0.0-alpha.41.","date":"2020-02-18T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-02-18T20:00","authors":["lex111","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.44","permalink":"/changelog/2.0.0-alpha.44"},"nextItem":{"title":"2.0.0-alpha.41","permalink":"/changelog/2.0.0-alpha.41"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/84303.35888bc2.js b/assets/js/84303.35888bc2.js new file mode 100644 index 0000000000..3fb19671f6 --- /dev/null +++ b/assets/js/84303.35888bc2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["84303"],{41776:function(e,n,t){t.r(n),t.d(n,{default:()=>r});var i=t(85893);function r(){return(0,i.jsx)("div",{style:{border:"solid",margin:10,padding:10},children:(0,i.jsx)("button",{type:"button",onClick:()=>alert("click"),children:"HeavyComponent"})})}t(67294)}}]); \ No newline at end of file diff --git a/assets/js/845bdfd1.d600d7e2.js b/assets/js/845bdfd1.d600d7e2.js new file mode 100644 index 0000000000..d5dfd962c2 --- /dev/null +++ b/assets/js/845bdfd1.d600d7e2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["33521"],{67493:function(e,s,n){n.r(s),n.d(s,{assets:()=>h,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>o});var a=n(95953),r=n(85893),t=n(80980);let i={mdx:{format:"md"},date:"2023-03-23T20:00",authors:["Anasqx","armano2","biplavmz","dewanshDT","dr0nn1","Josh-Cena","kagankan","Mysterious-Dev","pReya","slorber","tannerdolby","trueqap","Vishruta-Patil","ZarakiKanzaki"]},l="2.4.0",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"Committers: 14",id:"committers-14",level:2}];function c(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8236",children:"#8236"})," feat(content-docs): add support for sidebar item category/link descriptions in generated index page (",(0,r.jsx)(s.a,{href:"https://github.com/ZarakiKanzaki",children:"@ZarakiKanzaki"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8708",children:"#8708"})," feat(theme): allow to load a Docusaurus page with theme from query-string: ?docusaurus-theme=dark (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8616",children:"#8616"})," feat(theme): add ability to translate navbar+footer logo alt text (",(0,r.jsx)(s.a,{href:"https://github.com/Mysterious-Dev",children:"@Mysterious-Dev"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8690",children:"#8690"})," feat(npm-to-yarn): add support for PnPm and custom converters (",(0,r.jsx)(s.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8677",children:"#8677"})," feat(core): add script env variables: NODE_ENV + BABEL_ENV + DOCUSAURUS_CURRENT_LOCALE (temporary i18n workaround) (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8674",children:"#8674"})," feat(theme-classic): respect ",(0,r.jsx)(s.code,{children:"prefers-reduced-motion: reduce"})," mediaquery, bump Infima to alpha.43 (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8668",children:"#8668"})," feat(theme-translations): add Hungarian theme translations (",(0,r.jsx)(s.a,{href:"https://github.com/trueqap",children:"@trueqap"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8631",children:"#8631"})," feat(theme-translations): add Norwegian (Bokm\xe5l) theme translation (",(0,r.jsx)(s.a,{href:"https://github.com/dr0nn1",children:"@dr0nn1"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8656",children:"#8656"})," feat(theme-common): allow passing a string for details summary (",(0,r.jsx)(s.a,{href:"https://github.com/pReya",children:"@pReya"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8620",children:"#8620"})," feat(gtag-plugin): gtag should support multiple tracking ids, notably for the UA => GA4 transition (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8803",children:"#8803"})," fix(theme): codeblock buttons should be kept on the right when using RTL locale (",(0,r.jsx)(s.a,{href:"https://github.com/Vishruta-Patil",children:"@Vishruta-Patil"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8615",children:"#8615"})," fix(theme): improve color toggle when using dark navbar (",(0,r.jsx)(s.a,{href:"https://github.com/dewanshDT",children:"@dewanshDT"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8699",children:"#8699"})," fix(theme-classic): fix tab focus bug in dropdown (#8697) (",(0,r.jsx)(s.a,{href:"https://github.com/kagankan",children:"@kagankan"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8801",children:"#8801"})," fix(theme): allow tabs children to be falsy (",(0,r.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8757",children:"#8757"})," fix(search): search page should react to querystring changes + cleanup/refactor (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8746",children:"#8746"})," fix(core): baseUrl error banner link anchor case (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8744",children:"#8744"})," fix(theme-translations): fix wrong arabic words (tip/next) (",(0,r.jsx)(s.a,{href:"https://github.com/Anasqx",children:"@Anasqx"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8712",children:"#8712"}),' polish(create-docusaurus): the starter template should use a navbar item "docSidebar" instead of "doc" (less fragile on updates) (',(0,r.jsx)(s.a,{href:"https://github.com/biplavmz",children:"@biplavmz"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8735",children:"#8735"})," polish(theme): better error messages on navbar item rendering failures + ErrorCauseBoundary API (",(0,r.jsx)(s.a,{href:"https://github.com/tannerdolby",children:"@tannerdolby"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/8736",children:"#8736"})," polish(core): better styling for error screens (",(0,r.jsx)(s.a,{href:"https://github.com/tannerdolby",children:"@tannerdolby"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"committers-14",children:"Committers: 14"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Anas (",(0,r.jsx)(s.a,{href:"https://github.com/Anasqx",children:"@Anasqx"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Armano (",(0,r.jsx)(s.a,{href:"https://github.com/armano2",children:"@armano2"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Davide Donadio (",(0,r.jsx)(s.a,{href:"https://github.com/ZarakiKanzaki",children:"@ZarakiKanzaki"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Dewansh Thakur (",(0,r.jsx)(s.a,{href:"https://github.com/dewanshDT",children:"@dewanshDT"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Joshua Chen (",(0,r.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Kagan (",(0,r.jsx)(s.a,{href:"https://github.com/kagankan",children:"@kagankan"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Moritz St\xfcckler (",(0,r.jsx)(s.a,{href:"https://github.com/pReya",children:"@pReya"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Mysterious_Dev (",(0,r.jsx)(s.a,{href:"https://github.com/Mysterious-Dev",children:"@Mysterious-Dev"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Petter Dr\xf8nnen (",(0,r.jsx)(s.a,{href:"https://github.com/dr0nn1",children:"@dr0nn1"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Tanner Dolby (",(0,r.jsx)(s.a,{href:"https://github.com/tannerdolby",children:"@tannerdolby"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["TrueQAP (",(0,r.jsx)(s.a,{href:"https://github.com/trueqap",children:"@trueqap"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Vishruta Patil (",(0,r.jsx)(s.a,{href:"https://github.com/Vishruta-Patil",children:"@Vishruta-Patil"}),")"]}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.a,{href:"https://github.com/biplavmz",children:"@biplavmz"})}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},80980:function(e,s,n){n.d(s,{Z:()=>l,a:()=>i});var a=n(67294);let r={},t=a.createContext(r);function i(e){let s=a.useContext(t);return a.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),a.createElement(t.Provider,{value:s},e.children)}},95953:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.4.0","source":"@site/changelog/source/2.4.0.md","title":"2.4.0","description":"New Feature","date":"2023-03-23T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Anas","alias":"Anasqx","url":"https://github.com/Anasqx","imageURL":"https://github.com/Anasqx.png","key":"Anasqx","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"biplavmz","alias":"biplavmz","url":"https://github.com/biplavmz","imageURL":"https://github.com/biplavmz.png","key":"biplavmz","page":null},{"name":"Dewansh Thakur","alias":"dewanshDT","url":"https://github.com/dewanshDT","imageURL":"https://github.com/dewanshDT.png","key":"dewanshDT","page":null},{"name":"Petter Dr\xf8nnen","alias":"dr0nn1","url":"https://github.com/dr0nn1","imageURL":"https://github.com/dr0nn1.png","key":"dr0nn1","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Kagan","alias":"kagankan","url":"https://github.com/kagankan","imageURL":"https://github.com/kagankan.png","key":"kagankan","page":null},{"name":"Mysterious_Dev","alias":"Mysterious-Dev","url":"https://github.com/Mysterious-Dev","imageURL":"https://github.com/Mysterious-Dev.png","key":"Mysterious-Dev","page":null},{"name":"Moritz St\xfcckler","alias":"pReya","url":"https://github.com/pReya","imageURL":"https://github.com/pReya.png","key":"pReya","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tanner Dolby","alias":"tannerdolby","url":"https://github.com/tannerdolby","imageURL":"https://github.com/tannerdolby.png","key":"tannerdolby","page":null},{"name":"TrueQAP","alias":"trueqap","url":"https://github.com/trueqap","imageURL":"https://github.com/trueqap.png","key":"trueqap","page":null},{"name":"Vishruta Patil","alias":"Vishruta-Patil","url":"https://github.com/Vishruta-Patil","imageURL":"https://github.com/Vishruta-Patil.png","key":"Vishruta-Patil","page":null},{"name":"Davide Donadio","alias":"ZarakiKanzaki","url":"https://github.com/ZarakiKanzaki","imageURL":"https://github.com/ZarakiKanzaki.png","key":"ZarakiKanzaki","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2023-03-23T20:00","authors":["Anasqx","armano2","biplavmz","dewanshDT","dr0nn1","Josh-Cena","kagankan","Mysterious-Dev","pReya","slorber","tannerdolby","trueqap","Vishruta-Patil","ZarakiKanzaki"]},"unlisted":false,"prevItem":{"title":"2.4.1","permalink":"/changelog/2.4.1"},"nextItem":{"title":"2.3.1","permalink":"/changelog/2.3.1"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/85367.77a3f8d6.js b/assets/js/85367.77a3f8d6.js new file mode 100644 index 0000000000..86628cc6c3 --- /dev/null +++ b/assets/js/85367.77a3f8d6.js @@ -0,0 +1,88 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["85367"],{43203:function(t,e,i){var n;n=function(t){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=7)}([function(e,i){e.exports=t},function(t,e,i){"use strict";var n=i(0).FDLayoutConstants;function r(){}for(var o in n)r[o]=n[o];r.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,r.DEFAULT_RADIAL_SEPARATION=n.DEFAULT_EDGE_LENGTH,r.DEFAULT_COMPONENT_SEPERATION=60,r.TILE=!0,r.TILING_PADDING_VERTICAL=10,r.TILING_PADDING_HORIZONTAL=10,r.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=r},function(t,e,i){"use strict";var n=i(0).FDLayoutEdge;function r(t,e,i){n.call(this,t,e,i)}for(var o in r.prototype=Object.create(n.prototype),n)r[o]=n[o];t.exports=r},function(t,e,i){"use strict";var n=i(0).LGraph;function r(t,e,i){n.call(this,t,e,i)}for(var o in r.prototype=Object.create(n.prototype),n)r[o]=n[o];t.exports=r},function(t,e,i){"use strict";var n=i(0).LGraphManager;function r(t){n.call(this,t)}for(var o in r.prototype=Object.create(n.prototype),n)r[o]=n[o];t.exports=r},function(t,e,i){"use strict";var n=i(0).FDLayoutNode,r=i(0).IMath;function o(t,e,i,r){n.call(this,t,e,i,r)}for(var s in o.prototype=Object.create(n.prototype),n)o[s]=n[s];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*r.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*r.sign(this.displacementY)),null==this.child?this.moveBy(this.displacementX,this.displacementY):0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var i,n=this.getChild().getNodes(),r=0;r<n.length;r++)null==(i=n[r]).getChild()?(i.moveBy(t,e),i.displacementX+=t,i.displacementY+=e):i.propogateDisplacementToChildren(t,e)},o.prototype.setPred1=function(t){this.pred1=t},o.prototype.getPred1=function(){return pred1},o.prototype.getPred2=function(){return pred2},o.prototype.setNext=function(t){this.next=t},o.prototype.getNext=function(){return next},o.prototype.setProcessed=function(t){this.processed=t},o.prototype.isProcessed=function(){return processed},t.exports=o},function(t,e,i){"use strict";var n=i(0).FDLayout,r=i(4),o=i(3),s=i(5),a=i(2),h=i(1),l=i(0).FDLayoutConstants,c=i(0).LayoutConstants,g=i(0).Point,u=i(0).PointD,d=i(0).Layout,p=i(0).Integer,f=i(0).IGeometry,y=i(0).LGraph,E=i(0).Transform;function v(){n.call(this),this.toBeTiled={}}for(var _ in v.prototype=Object.create(n.prototype),n)v[_]=n[_];v.prototype.newGraphManager=function(){var t=new r(this);return this.graphManager=t,t},v.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},v.prototype.newNode=function(t){return new s(this.graphManager,t)},v.prototype.newEdge=function(t){return new a(null,null,t)},v.prototype.initParameters=function(){n.prototype.initParameters.call(this,arguments),this.isSubLayout||(h.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=h.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=l.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=l.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=l.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},v.prototype.layout=function(){return c.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},v.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(h.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e)}}else{var i=this.getFlatForest();if(i.length>0)this.positionNodesRadially(i);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},v.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0){if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0}this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var i=!this.isTreeGrowing&&!this.isGrowthFinished,n=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(i,n),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},v.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},i=0;i<t.length;i++){var n=t[i].rect,r=t[i].id;e[r]={id:r,x:n.getCenterX(),y:n.getCenterY(),w:n.width,h:n.height}}return e},v.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===l.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},v.prototype.calculateNodesToApplyGravitationTo=function(){var t,e,i=[],n=this.graphManager.getGraphs(),r=n.length;for(e=0;e<r;e++)(t=n[e]).updateConnected(),t.isConnected||(i=i.concat(t.getNodes()));return i},v.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e=new Set;for(o=0;o<t.length;o++){var i=t[o];if(!e.has(i)){var n=i.getSource(),r=i.getTarget();if(n==r)i.getBendpoints().push(new u),i.getBendpoints().push(new u),this.createDummyNodesForBendpoints(i),e.add(i);else{var o,s,a=[];if(a=(a=a.concat(n.getEdgeListToNode(r))).concat(r.getEdgeListToNode(n)),!e.has(a[0])){if(a.length>1)for(s=0;s<a.length;s++){var h=a[s];h.getBendpoints().push(new u),this.createDummyNodesForBendpoints(h)}a.forEach(function(t){e.add(t)})}}}if(e.size==t.length)break}},v.prototype.positionNodesRadially=function(t){for(var e=new g(0,0),i=Math.ceil(Math.sqrt(t.length)),n=0,r=0,o=0,s=new u(0,0),a=0;a<t.length;a++){a%i==0&&(o=0,r=n,0!=a&&(r+=h.DEFAULT_COMPONENT_SEPERATION),n=0);var l=t[a],p=d.findCenterOfTree(l);e.x=o,e.y=r,(s=v.radialLayout(l,p,e)).y>n&&(n=Math.floor(s.y)),o=Math.floor(s.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new u(c.WORLD_CENTER_X-s.x/2,c.WORLD_CENTER_Y-s.y/2))},v.radialLayout=function(t,e,i){var n=Math.max(this.maxDiagonalInTree(t),h.DEFAULT_RADIAL_SEPARATION);v.branchRadialLayout(e,null,0,359,0,n);var r=y.calculateBounds(t),o=new E;o.setDeviceOrgX(r.getMinX()),o.setDeviceOrgY(r.getMinY()),o.setWorldOrgX(i.x),o.setWorldOrgY(i.y);for(var s=0;s<t.length;s++)t[s].transform(o);var a=new u(r.getMaxX(),r.getMaxY());return o.inverseTransformPoint(a)},v.branchRadialLayout=function(t,e,i,n,r,o){var s,a=(n-i+1)/2;a<0&&(a+=180);var h=(a+i)%360*f.TWO_PI/360,l=r*Math.cos(h),c=r*Math.sin(h);t.setCenter(l,c);var g=[],u=(g=g.concat(t.getEdges())).length;null!=e&&u--;for(var d=0,p=g.length,y=t.getEdgesBetween(e);y.length>1;){var E=y[0];y.splice(0,1);var _=g.indexOf(E);_>=0&&g.splice(_,1),p--,u--}s=null!=e?(g.indexOf(y[0])+1)%p:0;for(var m=Math.abs(n-i)/u,N=s;d!=u;N=++N%p){var A=g[N].getOtherEnd(t);if(A!=e){var L=(i+d*m)%360,T=(L+m)%360;v.branchRadialLayout(A,t,L,T,r+o,o),d++}}},v.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,i=0;i<t.length;i++){var n=t[i].getDiagonal();n>e&&(e=n)}return e},v.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},v.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var i=[],n=this.graphManager.getAllNodes(),r=0;r<n.length;r++){var o=n[r],a=o.getParent();0!==this.getNodeDegreeWithChildren(o)||void 0!=a.id&&this.getToBeTiled(a)||i.push(o)}for(var r=0;r<i.length;r++){var o=i[r],h=o.getParent().id;void 0===e[h]&&(e[h]=[]),e[h]=e[h].concat(o)}Object.keys(e).forEach(function(i){if(e[i].length>1){var n="DummyCompound_"+i;t.memberGroups[n]=e[i];var r=e[i][0].getParent(),o=new s(t.graphManager);o.id=n,o.paddingLeft=r.paddingLeft||0,o.paddingRight=r.paddingRight||0,o.paddingBottom=r.paddingBottom||0,o.paddingTop=r.paddingTop||0,t.idToDummyNode[n]=o;var a=t.getGraphManager().add(t.newGraph(),o),h=r.getChild();h.add(o);for(var l=0;l<e[i].length;l++){var c=e[i][l];h.remove(c),a.add(c)}}})},v.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var i=0;i<this.compoundOrder.length;i++)e[this.compoundOrder[i].id]=this.compoundOrder[i],t[this.compoundOrder[i].id]=[].concat(this.compoundOrder[i].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[i].getChild()),this.compoundOrder[i].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},v.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(i){var n=t.idToDummyNode[i];e[i]=t.tileNodes(t.memberGroups[i],n.paddingLeft+n.paddingRight),n.rect.width=e[i].width,n.rect.height=e[i].height})},v.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],i=e.id,n=e.paddingLeft,r=e.paddingTop;this.adjustLocations(this.tiledMemberPack[i],e.rect.x,e.rect.y,n,r)}},v.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach(function(i){var n=t.idToDummyNode[i],r=n.paddingLeft,o=n.paddingTop;t.adjustLocations(e[i],n.rect.x,n.rect.y,r,o)})},v.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var i=t.getChild();if(null==i)return this.toBeTiled[e]=!1,!1;for(var n=i.getNodes(),r=0;r<n.length;r++){var o=n[r];if(this.getNodeDegree(o)>0)return this.toBeTiled[e]=!1,!1;if(null==o.getChild()){this.toBeTiled[o.id]=!1;continue}if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}return this.toBeTiled[e]=!0,!0},v.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),i=0,n=0;n<e.length;n++){var r=e[n];r.getSource().id!==r.getTarget().id&&(i+=1)}return i},v.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(null==t.getChild())return e;for(var i=t.getChild().getNodes(),n=0;n<i.length;n++){var r=i[n];e+=this.getNodeDegreeWithChildren(r)}return e},v.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},v.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var i=t[e];null!=i.getChild()&&this.fillCompexOrderByDFS(i.getChild().getNodes()),this.getToBeTiled(i)&&this.compoundOrder.push(i)}},v.prototype.adjustLocations=function(t,e,i,n,r){e+=n,i+=r;for(var o=e,s=0;s<t.rows.length;s++){var a=t.rows[s];e=o;for(var h=0,l=0;l<a.length;l++){var c=a[l];c.rect.x=e,c.rect.y=i,e+=c.rect.width+t.horizontalPadding,c.rect.height>h&&(h=c.rect.height)}i+=h+t.verticalPadding}},v.prototype.tileCompoundMembers=function(t,e){var i=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(n){var r=e[n];i.tiledMemberPack[n]=i.tileNodes(t[n],r.paddingLeft+r.paddingRight),r.rect.width=i.tiledMemberPack[n].width,r.rect.height=i.tiledMemberPack[n].height})},v.prototype.tileNodes=function(t,e){var i={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:h.TILING_PADDING_VERTICAL,horizontalPadding:h.TILING_PADDING_HORIZONTAL};t.sort(function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:+(t.rect.width*t.rect.height<e.rect.width*e.rect.height)});for(var n=0;n<t.length;n++){var r=t[n];0==i.rows.length?this.insertNodeToRow(i,r,0,e):this.canAddHorizontal(i,r.rect.width,r.rect.height)?this.insertNodeToRow(i,r,this.getShortestRowIndex(i),e):this.insertNodeToRow(i,r,i.rows.length,e),this.shiftToLastRow(i)}return i},v.prototype.insertNodeToRow=function(t,e,i,n){i==t.rows.length&&(t.rows.push([]),t.rowWidth.push(n),t.rowHeight.push(0));var r=t.rowWidth[i]+e.rect.width;t.rows[i].length>0&&(r+=t.horizontalPadding),t.rowWidth[i]=r,t.width<r&&(t.width=r);var o=e.rect.height;i>0&&(o+=t.verticalPadding);var s=0;o>t.rowHeight[i]&&(s=t.rowHeight[i],t.rowHeight[i]=o,s=t.rowHeight[i]-s),t.height+=s,t.rows[i].push(e)},v.prototype.getShortestRowIndex=function(t){for(var e=-1,i=Number.MAX_VALUE,n=0;n<t.rows.length;n++)t.rowWidth[n]<i&&(e=n,i=t.rowWidth[n]);return e},v.prototype.getLongestRowIndex=function(t){for(var e=-1,i=Number.MIN_VALUE,n=0;n<t.rows.length;n++)t.rowWidth[n]>i&&(e=n,i=t.rowWidth[n]);return e},v.prototype.canAddHorizontal=function(t,e,i){var n,r,o=this.getShortestRowIndex(t);if(o<0)return!0;var s=t.rowWidth[o];if(s+t.horizontalPadding+e<=t.width)return!0;var a=0;return t.rowHeight[o]<i&&o>0&&(a=i+t.verticalPadding-t.rowHeight[o]),n=t.width-s>=e+t.horizontalPadding?(t.height+a)/(s+e+t.horizontalPadding):(t.height+a)/t.width,a=i+t.verticalPadding,(r=t.width<e?(t.height+a)/e:(t.height+a)/t.width)<1&&(r=1/r),n<1&&(n=1/n),n<r},v.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),i=t.rowWidth.length-1,n=t.rows[e],r=n[n.length-1],o=r.width+t.horizontalPadding;if(t.width-t.rowWidth[i]>o&&e!=i){n.splice(-1,1),t.rows[i].push(r),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[i]=t.rowWidth[i]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=Number.MIN_VALUE,a=0;a<n.length;a++)n[a].height>s&&(s=n[a].height);e>0&&(s+=t.verticalPadding);var h=t.rowHeight[e]+t.rowHeight[i];t.rowHeight[e]=s,t.rowHeight[i]<r.height+t.verticalPadding&&(t.rowHeight[i]=r.height+t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[i];t.height+=l-h,this.shiftToLastRow(t)}},v.prototype.tilingPreLayout=function(){h.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},v.prototype.tilingPostLayout=function(){h.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},v.prototype.reduceTrees=function(){for(var t,e=[],i=!0;i;){var n=this.graphManager.getAllNodes(),r=[];i=!1;for(var o=0;o<n.length;o++)1!=(t=n[o]).getEdges().length||t.getEdges()[0].isInterGraph||null!=t.getChild()||(r.push([t,t.getEdges()[0],t.getOwner()]),i=!0);if(!0==i){for(var s=[],a=0;a<r.length;a++)1==r[a][0].getEdges().length&&(s.push(r[a]),r[a][0].getOwner().remove(r[a][0]));e.push(s),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=e},v.prototype.growTree=function(t){for(var e,i=t.length,n=t[i-1],r=0;r<n.length;r++)e=n[r],this.findPlaceforPrunedNode(e),e[2].add(e[0]),e[2].add(e[1],e[1].source,e[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},v.prototype.findPlaceforPrunedNode=function(t){var e,i,n,r,o=t[0],s=(i=o==t[1].source?t[1].target:t[1].source).startX,a=i.finishX,h=i.startY,c=i.finishY,g=[0,0,0,0];if(h>0)for(var u=s;u<=a;u++)g[0]+=this.grid[u][h-1].length+this.grid[u][h].length-1;if(a<this.grid.length-1)for(var u=h;u<=c;u++)g[1]+=this.grid[a+1][u].length+this.grid[a][u].length-1;if(c<this.grid[0].length-1)for(var u=s;u<=a;u++)g[2]+=this.grid[u][c+1].length+this.grid[u][c].length-1;if(s>0)for(var u=h;u<=c;u++)g[3]+=this.grid[s-1][u].length+this.grid[s][u].length-1;for(var d=p.MAX_VALUE,f=0;f<g.length;f++)g[f]<d?(d=g[f],n=1,r=f):g[f]==d&&n++;if(3==n&&0==d)0==g[0]&&0==g[1]&&0==g[2]?e=1:0==g[0]&&0==g[1]&&0==g[3]?e=0:0==g[0]&&0==g[2]&&0==g[3]?e=3:0==g[1]&&0==g[2]&&0==g[3]&&(e=2);else if(2==n&&0==d){var y=Math.floor(2*Math.random());e=0==g[0]&&0==g[1]?+(0!=y):0==g[0]&&0==g[2]?2*(0!=y):0==g[0]&&0==g[3]?3*(0!=y):0==g[1]&&0==g[2]?0==y?1:2:0==g[1]&&0==g[3]?0==y?1:3:0==y?2:3}else if(4==n&&0==d){var y=Math.floor(4*Math.random());e=y}else e=r;0==e?o.setCenter(i.getCenterX(),i.getCenterY()-i.getHeight()/2-l.DEFAULT_EDGE_LENGTH-o.getHeight()/2):1==e?o.setCenter(i.getCenterX()+i.getWidth()/2+l.DEFAULT_EDGE_LENGTH+o.getWidth()/2,i.getCenterY()):2==e?o.setCenter(i.getCenterX(),i.getCenterY()+i.getHeight()/2+l.DEFAULT_EDGE_LENGTH+o.getHeight()/2):o.setCenter(i.getCenterX()-i.getWidth()/2-l.DEFAULT_EDGE_LENGTH-o.getWidth()/2,i.getCenterY())},t.exports=v},function(t,e,i){"use strict";var n={};n.layoutBase=i(0),n.CoSEConstants=i(1),n.CoSEEdge=i(2),n.CoSEGraph=i(3),n.CoSEGraphManager=i(4),n.CoSELayout=i(6),n.CoSENode=i(5),t.exports=n}])},t.exports=n(i(54899))},35302:function(t,e,i){var n;n=function(t){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=1)}([function(e,i){e.exports=t},function(t,e,i){"use strict";var n=i(0).layoutBase.LayoutConstants,r=i(0).layoutBase.FDLayoutConstants,o=i(0).CoSEConstants,s=i(0).CoSELayout,a=i(0).CoSENode,h=i(0).layoutBase.PointD,l=i(0).layoutBase.DimensionD,c={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function g(t){this.options=function(t,e){var i={};for(var n in t)i[n]=t[n];for(var n in e)i[n]=e[n];return i}(c,t),u(this.options)}var u=function(t){null!=t.nodeRepulsion&&(o.DEFAULT_REPULSION_STRENGTH=r.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(o.DEFAULT_EDGE_LENGTH=r.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(o.DEFAULT_SPRING_STRENGTH=r.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=r.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(o.DEFAULT_GRAVITY_STRENGTH=r.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(o.MAX_ITERATIONS=r.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=r.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=r.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=r.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=r.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?n.QUALITY=0:"proof"==t.quality?n.QUALITY=2:n.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=n.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=n.DEFAULT_INCREMENTAL=!t.randomize,o.ANIMATE=r.ANIMATE=n.ANIMATE=t.animate,o.TILE=t.tile,o.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};g.prototype.run=function(){var t,e,i=this.options;this.idToLNode={};var n=this.layout=new s,r=this;r.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var o=n.newGraphManager();this.gm=o;var a=this.options.eles.nodes(),h=this.options.eles.edges();this.root=o.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(a),n);for(var l=0;l<h.length;l++){var c=h[l],g=this.idToLNode[c.data("source")],u=this.idToLNode[c.data("target")];g!==u&&0==g.getEdgesBetween(u).length&&(o.add(n.newEdge(),g,u).id=c.id())}var d=function(t,e){"number"==typeof t&&(t=e);var i=t.data("id"),n=r.idToLNode[i];return{x:n.getRect().getCenterX(),y:n.getRect().getCenterY()}},p=function o(){for(var s,a=function(){i.fit&&i.cy.fit(i.eles,i.padding),t||(t=!0,r.cy.one("layoutready",i.ready),r.cy.trigger({type:"layoutready",layout:r}))},h=r.options.refresh,l=0;l<h&&!s;l++)s=r.stopped||r.layout.tick();if(s){n.checkLayoutSuccess()&&!n.isSubLayout&&n.doPostLayout(),n.tilingPostLayout&&n.tilingPostLayout(),n.isLayoutFinished=!0,r.options.eles.nodes().positions(d),a(),r.cy.one("layoutstop",r.options.stop),r.cy.trigger({type:"layoutstop",layout:r}),e&&cancelAnimationFrame(e),t=!1;return}var c=r.layout.getPositionsData();i.eles.nodes().positions(function(t,e){if("number"==typeof t&&(t=e),!t.isParent()){for(var i=t.id(),n=c[i],r=t;null==n&&(n=c[r.data("parent")]||c["DummyCompound_"+r.data("parent")],c[i]=n,void 0!=(r=r.parent()[0])););return null!=n?{x:n.x,y:n.y}:{x:t.position("x"),y:t.position("y")}}}),a(),e=requestAnimationFrame(o)};return n.addListener("layoutstarted",function(){"during"===r.options.animate&&(e=requestAnimationFrame(p))}),n.runLayout(),"during"!==this.options.animate&&(r.options.eles.nodes().not(":parent").layoutPositions(r,r.options,d),t=!1),this},g.prototype.getTopMostNodes=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].id()]=!0;return t.filter(function(t,i){"number"==typeof t&&(t=i);for(var n=t.parent()[0];null!=n;){if(e[n.id()])return!1;n=n.parent()[0]}return!0})},g.prototype.processChildrenList=function(t,e,i){for(var n=e.length,r=0;r<n;r++){var o,s,c=e[r],g=c.children(),u=c.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if((o=null!=c.outerWidth()&&null!=c.outerHeight()?t.add(new a(i.graphManager,new h(c.position("x")-u.w/2,c.position("y")-u.h/2),new l(parseFloat(u.w),parseFloat(u.h)))):t.add(new a(this.graphManager))).id=c.data("id"),o.paddingLeft=parseInt(c.css("padding")),o.paddingTop=parseInt(c.css("padding")),o.paddingRight=parseInt(c.css("padding")),o.paddingBottom=parseInt(c.css("padding")),this.options.nodeDimensionsIncludeLabels&&c.isParent()){var d=c.boundingBox({includeLabels:!0,includeNodes:!1}).w,p=c.boundingBox({includeLabels:!0,includeNodes:!1}).h,f=c.css("text-halign");o.labelWidth=d,o.labelHeight=p,o.labelPos=f}this.idToLNode[c.data("id")]=o,isNaN(o.rect.x)&&(o.rect.x=0),isNaN(o.rect.y)&&(o.rect.y=0),null!=g&&g.length>0&&(s=i.getGraphManager().add(i.newGraph(),o),this.processChildrenList(s,g,i))}},g.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",g)};"undefined"!=typeof cytoscape&&d(cytoscape),t.exports=d}])},t.exports=n(i(43203))},54899:function(t){var e;e=function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=26)}([function(t,e,i){"use strict";function n(){}n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,i){"use strict";var n=i(2),r=i(8),o=i(9);function s(t,e,i){n.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=t,this.target=e}for(var a in s.prototype=Object.create(n.prototype),n)s[a]=n[a];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(t,e){for(var i=this.getOtherEnd(t),n=e.getGraphManager().getRoot();;){if(i.getOwner()==e)return i;if(i.getOwner()==n)break;i=i.getOwner().getParent()}return null},s.prototype.updateLength=function(){var t=[,,,,];this.isOverlapingSourceAndTarget=r.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,i){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,i){"use strict";var n=i(2),r=i(10),o=i(13),s=i(0),a=i(16),h=i(4);function l(t,e,i,s){null==i&&null==s&&(s=e),n.call(this,s),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=r.MIN_VALUE,this.inclusionTreeDepth=r.MAX_VALUE,this.vGraphObject=s,this.edges=[],this.graphManager=t,null!=i&&null!=e?this.rect=new o(e.x,e.y,i.width,i.height):this.rect=new o}for(var c in l.prototype=Object.create(n.prototype),n)l[c]=n[c];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(t){this.rect.width=t},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(t){this.rect.height=t},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},l.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},l.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},l.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},l.prototype.getEdgeListToNode=function(t){var e=[],i=this;return i.edges.forEach(function(n){if(n.target==t){if(n.source!=i)throw"Incorrect edge source!";e.push(n)}}),e},l.prototype.getEdgesBetween=function(t){var e=[],i=this;return i.edges.forEach(function(n){if(n.source!=i&&n.target!=i)throw"Incorrect edge source and/or target";(n.target==t||n.source==t)&&e.push(n)}),e},l.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach(function(i){if(i.source==e)t.add(i.target);else{if(i.target!=e)throw"Incorrect incidency!";t.add(i.source)}}),t},l.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),i=0;i<e.length;i++)e[i].withChildren().forEach(function(e){t.add(e)});return t},l.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var e=this.child.getNodes(),i=0;i<e.length;i++)t+=e[i].getNoOfChildren();return 0==t&&(t=1),t},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==r.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},l.prototype.scatter=function(){var t,e,i=-s.INITIAL_WORLD_BOUNDARY,n=s.INITIAL_WORLD_BOUNDARY;t=s.WORLD_CENTER_X+a.nextDouble()*(n-i)+i;var r=-s.INITIAL_WORLD_BOUNDARY,o=s.INITIAL_WORLD_BOUNDARY;e=s.WORLD_CENTER_Y+a.nextDouble()*(o-r)+r,this.rect.x=t,this.rect.y=e},l.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),s.NODE_DIMENSIONS_INCLUDE_LABELS){var e=t.getRight()-t.getLeft(),i=t.getBottom()-t.getTop();this.labelWidth>e&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>i&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-i)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-i),this.setHeight(this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==r.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>s.WORLD_BOUNDARY?e=s.WORLD_BOUNDARY:e<-s.WORLD_BOUNDARY&&(e=-s.WORLD_BOUNDARY);var i=this.rect.y;i>s.WORLD_BOUNDARY?i=s.WORLD_BOUNDARY:i<-s.WORLD_BOUNDARY&&(i=-s.WORLD_BOUNDARY);var n=new h(e,i),r=t.inverseTransformPoint(n);this.setLocation(r.x,r.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,i){"use strict";function n(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(t){this.x=t},n.prototype.setY=function(t){this.y=t},n.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=n},function(t,e,i){"use strict";var n=i(2),r=i(10),o=i(0),s=i(6),a=i(3),h=i(1),l=i(13),c=i(12),g=i(11);function u(t,e,i){n.call(this,i),this.estimatedSize=r.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof s?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in u.prototype=Object.create(n.prototype),n)u[d]=n[d];u.prototype.getNodes=function(){return this.nodes},u.prototype.getEdges=function(){return this.edges},u.prototype.getGraphManager=function(){return this.graphManager},u.prototype.getParent=function(){return this.parent},u.prototype.getLeft=function(){return this.left},u.prototype.getRight=function(){return this.right},u.prototype.getTop=function(){return this.top},u.prototype.getBottom=function(){return this.bottom},u.prototype.isConnected=function(){return this.isConnected},u.prototype.add=function(t,e,i){if(null==e&&null==i){if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(t)>-1)throw"Node already in graph!";return t.owner=this,this.getNodes().push(t),t}if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(i)>-1))throw"Source or target not in graph!";if(e.owner!=i.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=i.owner?null:(t.source=e,t.target=i,t.isInterGraph=!1,this.getEdges().push(t),e.edges.push(t),i!=e&&i.edges.push(t),t)},u.prototype.remove=function(t){if(t instanceof a){if(null==t)throw"Node is null!";if(null==t.owner||t.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var e,i=t.edges.slice(),n=i.length,r=0;r<n;r++)(e=i[r]).isInterGraph?this.graphManager.remove(e):e.source.owner.remove(e);var o=this.nodes.indexOf(t);if(-1==o)throw"Node not in owner node list!";this.nodes.splice(o,1)}else if(t instanceof h){var e=t;if(null==e)throw"Edge is null!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(null==e.source.owner||null==e.target.owner||e.source.owner!=this||e.target.owner!=this)throw"Source and/or target owner is invalid!";var s=e.source.edges.indexOf(e),l=e.target.edges.indexOf(e);if(!(s>-1&&l>-1))throw"Source and/or target doesn't know this edge!";e.source.edges.splice(s,1),e.target!=e.source&&e.target.edges.splice(l,1);var o=e.source.owner.getEdges().indexOf(e);if(-1==o)throw"Not in owner's edge list!";e.source.owner.getEdges().splice(o,1)}},u.prototype.updateLeftTop=function(){for(var t,e,i,n=r.MAX_VALUE,o=r.MAX_VALUE,s=this.getNodes(),a=s.length,h=0;h<a;h++){var l=s[h];t=l.getTop(),e=l.getLeft(),n>t&&(n=t),o>e&&(o=e)}return n==r.MAX_VALUE?null:(i=void 0!=s[0].getParent().paddingLeft?s[0].getParent().paddingLeft:this.margin,this.left=o-i,this.top=n-i,new c(this.left,this.top))},u.prototype.updateBounds=function(t){for(var e,i,n,o,s,a=r.MAX_VALUE,h=-r.MAX_VALUE,c=r.MAX_VALUE,g=-r.MAX_VALUE,u=this.nodes,d=u.length,p=0;p<d;p++){var f=u[p];t&&null!=f.child&&f.updateBounds(),e=f.getLeft(),i=f.getRight(),n=f.getTop(),o=f.getBottom(),a>e&&(a=e),h<i&&(h=i),c>n&&(c=n),g<o&&(g=o)}var y=new l(a,c,h-a,g-c);a==r.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),s=void 0!=u[0].getParent().paddingLeft?u[0].getParent().paddingLeft:this.margin,this.left=y.x-s,this.right=y.x+y.width+s,this.top=y.y-s,this.bottom=y.y+y.height+s},u.calculateBounds=function(t){for(var e,i,n,o,s=r.MAX_VALUE,a=-r.MAX_VALUE,h=r.MAX_VALUE,c=-r.MAX_VALUE,g=t.length,u=0;u<g;u++){var d=t[u];e=d.getLeft(),i=d.getRight(),n=d.getTop(),o=d.getBottom(),s>e&&(s=e),a<i&&(a=i),h>n&&(h=n),c<o&&(c=o)}return new l(s,h,a-s,c-h)},u.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},u.prototype.getEstimatedSize=function(){if(this.estimatedSize==r.MIN_VALUE)throw"assert failed";return this.estimatedSize},u.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,i=e.length,n=0;n<i;n++)t+=e[n].calcEstimatedSize();return 0==t?this.estimatedSize=o.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=t/Math.sqrt(this.nodes.length),this.estimatedSize},u.prototype.updateConnected=function(){var t,e,i=this;if(0==this.nodes.length){this.isConnected=!0;return}var n=new g,r=new Set,o=this.nodes[0];for(o.withChildren().forEach(function(t){n.push(t),r.add(t)});0!==n.length;)for(var s=(t=(o=n.shift()).getEdges()).length,a=0;a<s;a++)null==(e=t[a].getOtherEndInGraph(o,this))||r.has(e)||e.withChildren().forEach(function(t){n.push(t),r.add(t)});if(this.isConnected=!1,r.size>=this.nodes.length){var h=0;r.forEach(function(t){t.owner==i&&h++}),h==this.nodes.length&&(this.isConnected=!0)}},t.exports=u},function(t,e,i){"use strict";var n,r=i(1);function o(t){n=i(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),i=this.add(t,e);return this.setRootGraph(i),this.rootGraph},o.prototype.add=function(t,e,i,n,r){if(null==i&&null==n&&null==r){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}r=i,n=e,i=t;var o=n.getOwner(),s=r.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==s||s.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==s)return i.isInterGraph=!1,o.add(i,n,r);if(i.isInterGraph=!0,i.source=n,i.target=r,this.edges.indexOf(i)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(i),null==i.source||null==i.target)throw"Edge source and/or target is null!";if(-1!=i.source.edges.indexOf(i)||-1!=i.target.edges.indexOf(i))throw"Edge already in source and/or target incidency list!";return i.source.edges.push(i),i.target.edges.push(i),i},o.prototype.remove=function(t){if(t instanceof n){if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(t!=this.rootGraph&&(null==t.parent||t.parent.graphManager!=this))throw"Invalid parent node!";for(var e,i,o=[],s=(o=o.concat(t.getEdges())).length,a=0;a<s;a++)e=o[a],t.remove(e);var h=[];s=(h=h.concat(t.getNodes())).length;for(var a=0;a<s;a++)i=h[a],t.remove(i);t==this.rootGraph&&this.setRootGraph(null);var l=this.graphs.indexOf(t);this.graphs.splice(l,1),t.parent=null}else if(t instanceof r){if(null==(e=t))throw"Edge is null!";if(!e.isInterGraph)throw"Not an inter-graph edge!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(-1==e.source.edges.indexOf(e)||-1==e.target.edges.indexOf(e))throw"Source and/or target doesn't know this edge!";var l=e.source.edges.indexOf(e);if(e.source.edges.splice(l,1),l=e.target.edges.indexOf(e),e.target.edges.splice(l,1),null==e.source.owner||null==e.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==e.source.owner.getGraphManager().edges.indexOf(e))throw"Not in owner graph manager's edge list!";var l=e.source.owner.getGraphManager().edges.indexOf(e);e.source.owner.getGraphManager().edges.splice(l,1)}},o.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},o.prototype.getGraphs=function(){return this.graphs},o.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],e=this.getGraphs(),i=e.length,n=0;n<i;n++)t=t.concat(e[n].getNodes());this.allNodes=t}return this.allNodes},o.prototype.resetAllNodes=function(){this.allNodes=null},o.prototype.resetAllEdges=function(){this.allEdges=null},o.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},o.prototype.getAllEdges=function(){if(null==this.allEdges){var t=[],e=this.getGraphs();e.length;for(var i=0;i<e.length;i++)t=t.concat(e[i].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},o.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},o.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},o.prototype.getRoot=function(){return this.rootGraph},o.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},o.prototype.getLayout=function(){return this.layout},o.prototype.isOneAncestorOfOther=function(t,e){if(null==t||null==e)throw"assert failed";if(t==e)return!0;for(var i,n=t.getOwner();null!=(i=n.getParent());){if(i==e)return!0;if(null==(n=i.getOwner()))break}for(n=e.getOwner();null!=(i=n.getParent());){if(i==t)return!0;if(null==(n=i.getOwner()))break}return!1},o.prototype.calcLowestCommonAncestors=function(){for(var t,e,i,n,r,o=this.getAllEdges(),s=o.length,a=0;a<s;a++){if(e=(t=o[a]).source,i=t.target,t.lca=null,t.sourceInLca=e,t.targetInLca=i,e==i){t.lca=e.getOwner();continue}for(n=e.getOwner();null==t.lca;){for(t.targetInLca=i,r=i.getOwner();null==t.lca;){if(r==n){t.lca=r;break}if(r==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=r.getParent(),r=t.targetInLca.getOwner()}if(n==this.rootGraph)break;null==t.lca&&(t.sourceInLca=n.getParent(),n=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}},o.prototype.calcLowestCommonAncestor=function(t,e){if(t==e)return t.getOwner();for(var i=t.getOwner();null!=i;){for(var n=e.getOwner();null!=n;){if(n==i)return n;n=n.getParent().getOwner()}i=i.getParent().getOwner()}return i},o.prototype.calcInclusionTreeDepths=function(t,e){null==t&&null==e&&(t=this.rootGraph,e=1);for(var i,n=t.getNodes(),r=n.length,o=0;o<r;o++)(i=n[o]).inclusionTreeDepth=e,null!=i.child&&this.calcInclusionTreeDepths(i.child,e+1)},o.prototype.includesInvalidEdge=function(){for(var t,e=this.edges.length,i=0;i<e;i++)if(t=this.edges[i],this.isOneAncestorOfOther(t.source,t.target))return!0;return!1},t.exports=o},function(t,e,i){"use strict";var n=i(0);function r(){}for(var o in n)r[o]=n[o];r.MAX_ITERATIONS=2500,r.DEFAULT_EDGE_LENGTH=50,r.DEFAULT_SPRING_STRENGTH=.45,r.DEFAULT_REPULSION_STRENGTH=4500,r.DEFAULT_GRAVITY_STRENGTH=.4,r.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,r.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,r.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,r.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,r.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,r.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,r.COOLING_ADAPTATION_FACTOR=.33,r.ADAPTATION_LOWER_NODE_LIMIT=1e3,r.ADAPTATION_UPPER_NODE_LIMIT=5e3,r.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,r.MAX_NODE_DISPLACEMENT=3*r.MAX_NODE_DISPLACEMENT_INCREMENTAL,r.MIN_REPULSION_DIST=r.DEFAULT_EDGE_LENGTH/10,r.CONVERGENCE_CHECK_PERIOD=100,r.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,r.MIN_EDGE_LENGTH=1,r.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=r},function(t,e,i){"use strict";var n=i(12);function r(){}r.calcSeparationAmount=function(t,e,i,n){if(!t.intersects(e))throw"assert failed";var r=[,,];this.decideDirectionsForOverlappingNodes(t,e,r),i[0]=Math.min(t.getRight(),e.getRight())-Math.max(t.x,e.x),i[1]=Math.min(t.getBottom(),e.getBottom())-Math.max(t.y,e.y),t.getX()<=e.getX()&&t.getRight()>=e.getRight()?i[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(i[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(i[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var s=o*i[0],a=i[1]/o;i[0]<a?a=i[0]:s=i[1],i[0]=-1*r[0]*(a/2+n),i[1]=-1*r[1]*(s/2+n)},r.decideDirectionsForOverlappingNodes=function(t,e,i){t.getCenterX()<e.getCenterX()?i[0]=-1:i[0]=1,t.getCenterY()<e.getCenterY()?i[1]=-1:i[1]=1},r.getIntersection2=function(t,e,i){var n=t.getCenterX(),r=t.getCenterY(),o=e.getCenterX(),s=e.getCenterY();if(t.intersects(e))return i[0]=n,i[1]=r,i[2]=o,i[3]=s,!0;var a=t.getX(),h=t.getY(),l=t.getRight(),c=t.getX(),g=t.getBottom(),u=t.getRight(),d=t.getWidthHalf(),p=t.getHeightHalf(),f=e.getX(),y=e.getY(),E=e.getRight(),v=e.getX(),_=e.getBottom(),m=e.getRight(),N=e.getWidthHalf(),A=e.getHeightHalf(),L=!1,T=!1;if(n===o)r>s?(i[0]=n,i[1]=h,i[2]=o,i[3]=_):r<s&&(i[0]=n,i[1]=g,i[2]=o,i[3]=y);else if(r===s)n>o?(i[0]=a,i[1]=r,i[2]=E,i[3]=s):n<o&&(i[0]=l,i[1]=r,i[2]=f,i[3]=s);else{var O=t.height/t.width,D=e.height/e.width,I=(s-r)/(o-n),w=void 0,R=void 0,C=void 0,M=void 0,x=void 0,G=void 0;if(-O===I?(n>o?(i[0]=c,i[1]=g):(i[0]=l,i[1]=h),L=!0):O===I&&(n>o?(i[0]=a,i[1]=h):(i[0]=u,i[1]=g),L=!0),-D===I?(o>n?(i[2]=v,i[3]=_):(i[2]=E,i[3]=y),T=!0):D===I&&(o>n?(i[2]=f,i[3]=y):(i[2]=m,i[3]=_),T=!0),L&&T)return!1;if(n>o?r>s?(w=this.getCardinalDirection(O,I,4),R=this.getCardinalDirection(D,I,2)):(w=this.getCardinalDirection(-O,I,3),R=this.getCardinalDirection(-D,I,1)):r>s?(w=this.getCardinalDirection(-O,I,1),R=this.getCardinalDirection(-D,I,3)):(w=this.getCardinalDirection(O,I,2),R=this.getCardinalDirection(D,I,4)),!L)switch(w){case 1:M=h,C=n+-p/I,i[0]=C,i[1]=M;break;case 2:C=u,M=r+d*I,i[0]=C,i[1]=M;break;case 3:M=g,C=n+p/I,i[0]=C,i[1]=M;break;case 4:C=c,M=r+-d*I,i[0]=C,i[1]=M}if(!T)switch(R){case 1:G=y,x=o+-A/I,i[2]=x,i[3]=G;break;case 2:x=m,G=s+N*I,i[2]=x,i[3]=G;break;case 3:G=_,x=o+A/I,i[2]=x,i[3]=G;break;case 4:x=v,G=s+-N*I,i[2]=x,i[3]=G}}return!1},r.getCardinalDirection=function(t,e,i){return t>e?i:1+i%4},r.getIntersection=function(t,e,i,r){if(null==r)return this.getIntersection2(t,e,i);var o=t.x,s=t.y,a=e.x,h=e.y,l=i.x,c=i.y,g=r.x,u=r.y,d=void 0,p=void 0,f=void 0,y=void 0,E=void 0,v=void 0,_=void 0,m=void 0,N=void 0;return(f=h-s,E=o-a,_=a*s-o*h,y=u-c,v=l-g,m=g*c-l*u,0==(N=f*v-y*E))?null:new n((E*m-v*_)/N,(y*_-f*m)/N)},r.angleOfVector=function(t,e,i,n){var r=void 0;return t!==i?(r=Math.atan((n-e)/(i-t)),i<t?r+=Math.PI:n<e&&(r+=this.TWO_PI)):r=n<e?this.ONE_AND_HALF_PI:this.HALF_PI,r},r.doIntersect=function(t,e,i,n){var r=t.x,o=t.y,s=e.x,a=e.y,h=i.x,l=i.y,c=n.x,g=n.y,u=(s-r)*(g-l)-(c-h)*(a-o);if(0===u)return!1;var d=((g-l)*(c-r)+(h-c)*(g-o))/u,p=((o-a)*(c-r)+(s-r)*(g-o))/u;return 0<d&&d<1&&0<p&&p<1},r.HALF_PI=.5*Math.PI,r.ONE_AND_HALF_PI=1.5*Math.PI,r.TWO_PI=2*Math.PI,r.THREE_PI=3*Math.PI,t.exports=r},function(t,e,i){"use strict";function n(){}n.sign=function(t){return t>0?1:t<0?-1:0},n.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},n.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=n},function(t,e,i){"use strict";function n(){}n.MAX_VALUE=0x7fffffff,n.MIN_VALUE=-0x80000000,t.exports=n},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(t){return{value:t,next:null,prev:null}},o=function(t,e,i,n){return null!==t?t.next=e:n.head=e,null!==i?i.prev=e:n.tail=e,e.prev=t,e.next=i,n.length++,e},s=function(t,e){var i=t.prev,n=t.next;return null!==i?i.next=n:e.head=n,null!==n?n.prev=i:e.tail=i,t.prev=t.next=null,e.length--,t},a=function(){function t(e){var i=this;(function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")})(this,t),this.length=0,this.head=null,this.tail=null,null!=e&&e.forEach(function(t){return i.push(t)})}return n(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,e){return o(e.prev,r(t),e,this)}},{key:"insertAfter",value:function(t,e){return o(e,r(t),e.next,this)}},{key:"insertNodeBefore",value:function(t,e){return o(e.prev,t,e,this)}},{key:"insertNodeAfter",value:function(t,e){return o(e,t,e.next,this)}},{key:"push",value:function(t){return o(this.tail,r(t),null,this)}},{key:"unshift",value:function(t){return o(null,r(t),this.head,this)}},{key:"remove",value:function(t){return s(t,this)}},{key:"pop",value:function(){return s(this.tail,this).value}},{key:"popNode",value:function(){return s(this.tail,this)}},{key:"shift",value:function(){return s(this.head,this).value}},{key:"shiftNode",value:function(){return s(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var e=1,i=this.head;e<t;)i=i.next,e++;return i.value}}},{key:"set_object_at",value:function(t,e){if(t<=this.length()){for(var i=1,n=this.head;i<t;)n=n.next,i++;n.value=e}}}]),t}();t.exports=a},function(t,e,i){"use strict";function n(t,e,i){this.x=null,this.y=null,null==t&&null==e&&null==i?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof e&&null==i?(this.x=t,this.y=e):"Point"==t.constructor.name&&null==e&&null==i&&(i=t,this.x=i.x,this.y=i.y)}n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.getLocation=function(){return new n(this.x,this.y)},n.prototype.setLocation=function(t,e,i){"Point"==t.constructor.name&&null==e&&null==i?(i=t,this.setLocation(i.x,i.y)):"number"==typeof t&&"number"==typeof e&&null==i&&(parseInt(t)==t&&parseInt(e)==e?this.move(t,e):(this.x=Math.floor(t+.5),this.y=Math.floor(e+.5)))},n.prototype.move=function(t,e){this.x=t,this.y=e},n.prototype.translate=function(t,e){this.x+=t,this.y+=e},n.prototype.equals=function(t){return"Point"==t.constructor.name?this.x==t.x&&this.y==t.y:this==t},n.prototype.toString=function(){return new n().constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=n},function(t,e,i){"use strict";function n(t,e,i,n){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=e&&null!=i&&null!=n&&(this.x=t,this.y=e,this.width=i,this.height=n)}n.prototype.getX=function(){return this.x},n.prototype.setX=function(t){this.x=t},n.prototype.getY=function(){return this.y},n.prototype.setY=function(t){this.y=t},n.prototype.getWidth=function(){return this.width},n.prototype.setWidth=function(t){this.width=t},n.prototype.getHeight=function(){return this.height},n.prototype.setHeight=function(t){this.height=t},n.prototype.getRight=function(){return this.x+this.width},n.prototype.getBottom=function(){return this.y+this.height},n.prototype.intersects=function(t){return!(this.getRight()<t.x||this.getBottom()<t.y||t.getRight()<this.x||t.getBottom()<this.y)},n.prototype.getCenterX=function(){return this.x+this.width/2},n.prototype.getMinX=function(){return this.getX()},n.prototype.getMaxX=function(){return this.getX()+this.width},n.prototype.getCenterY=function(){return this.y+this.height/2},n.prototype.getMinY=function(){return this.getY()},n.prototype.getMaxY=function(){return this.getY()+this.height},n.prototype.getWidthHalf=function(){return this.width/2},n.prototype.getHeightHalf=function(){return this.height/2},t.exports=n},function(t,e,i){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function r(){}r.lastID=0,r.createID=function(t){return r.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=r.getString(),r.lastID++),t.uniqueID)},r.getString=function(t){return null==t&&(t=r.lastID),"Object#"+t},r.isPrimitive=function(t){var e=void 0===t?"undefined":n(t);return null==t||"object"!=e&&"function"!=e},t.exports=r},function(t,e,i){"use strict";function n(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}var r=i(0),o=i(6),s=i(3),a=i(1),h=i(5),l=i(4),c=i(17),g=i(27);function u(t){g.call(this),this.layoutQuality=r.QUALITY,this.createBendsAsNeeded=r.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=r.DEFAULT_INCREMENTAL,this.animationOnLayout=r.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=r.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=r.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=r.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new o(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}u.RANDOM_SEED=1,u.prototype=Object.create(g.prototype),u.prototype.getGraphManager=function(){return this.graphManager},u.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},u.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},u.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},u.prototype.newGraphManager=function(){var t=new o(this);return this.graphManager=t,t},u.prototype.newGraph=function(t){return new h(null,this.graphManager,t)},u.prototype.newNode=function(t){return new s(this.graphManager,t)},u.prototype.newEdge=function(t){return new a(null,null,t)},u.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},u.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==r.ANIMATE&&(t&&!this.isSubLayout&&this.doPostLayout(),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},u.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},u.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),e=0;e<t.length;e++)t[e];for(var i=this.graphManager.getRoot().getNodes(),e=0;e<i.length;e++)i[e];this.update(this.graphManager.getRoot())}},u.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof s){if(null!=t.getChild())for(var e=t.getChild().getNodes(),i=0;i<e.length;i++)update(e[i]);null!=t.vGraphObject&&t.vGraphObject.update(t)}else t instanceof a?null!=t.vGraphObject&&t.vGraphObject.update(t):t instanceof h&&null!=t.vGraphObject&&t.vGraphObject.update(t)},u.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=r.QUALITY,this.animationDuringLayout=r.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=r.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=r.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=r.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=r.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=r.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},u.prototype.transform=function(t){if(void 0==t)this.transform(new l(0,0));else{var e=new c,i=this.graphManager.getRoot().updateLeftTop();if(null!=i){e.setWorldOrgX(t.x),e.setWorldOrgY(t.y),e.setDeviceOrgX(i.x),e.setDeviceOrgY(i.y);for(var n=this.getAllNodes(),r=0;r<n.length;r++)n[r].transform(e)}}},u.prototype.positionNodesRandomly=function(t){if(void 0==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var e,i,n=t.getNodes(),r=0;r<n.length;r++)null==(i=(e=n[r]).getChild())?e.scatter():0==i.getNodes().length?e.scatter():(this.positionNodesRandomly(i),e.updateBounds())},u.prototype.getFlatForest=function(){for(var t=[],e=!0,i=this.graphManager.getRoot().getNodes(),r=!0,o=0;o<i.length;o++)null!=i[o].getChild()&&(r=!1);if(!r)return t;var s=new Set,a=[],h=new Map,l=[];for(l=l.concat(i);l.length>0&&e;){for(a.push(l[0]);a.length>0&&e;){var c=a[0];a.splice(0,1),s.add(c);for(var g=c.getEdges(),o=0;o<g.length;o++){var u=g[o].getOtherEnd(c);if(h.get(c)!=u){if(s.has(u)){e=!1;break}a.push(u),h.set(u,c)}}}if(e){var d=[].concat(n(s));t.push(d);for(var o=0;o<d.length;o++){var p=d[o],f=l.indexOf(p);f>-1&&l.splice(f,1)}s=new Set,h=new Map}else t=[]}return t},u.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],i=t.source,n=this.graphManager.calcLowestCommonAncestor(t.source,t.target),r=0;r<t.bendpoints.length;r++){var o=this.newNode(null);o.setRect(new Point(0,0),new Dimension(1,1)),n.add(o);var s=this.newEdge(null);this.graphManager.add(s,i,o),e.add(o),i=o}var s=this.newEdge(null);return this.graphManager.add(s,i,t.target),this.edgeToDummyNodes.set(t,e),t.isInterGraph()?this.graphManager.remove(t):n.remove(t),e},u.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(n(this.edgeToDummyNodes.keys())).concat(t);for(var e=0;e<t.length;e++){var i=t[e];if(i.bendpoints.length>0){for(var r=this.edgeToDummyNodes.get(i),o=0;o<r.length;o++){var s=r[o],a=new l(s.getCenterX(),s.getCenterY()),h=i.bendpoints.get(o);h.x=a.x,h.y=a.y,s.getOwner().remove(s)}this.graphManager.add(i,i.source,i.target)}}},u.transform=function(t,e,i,n){if(void 0==i||void 0==n)return t<=50?(r=9*e/500,o=e/10):(r=9*e/50,o=-8*e),r*t+o;var r,o,s=e;return t<=50?s-=(e-e/i)/50*(50-t):s+=(e*n-e)/50*(t-50),s},u.findCenterOfTree=function(t){var e=[];e=e.concat(t);var i=[],n=new Map,r=!1,o=null;(1==e.length||2==e.length)&&(r=!0,o=e[0]);for(var s=0;s<e.length;s++){var a=e[s],h=a.getNeighborsList().size;n.set(a,a.getNeighborsList().size),1==h&&i.push(a)}var l=[];for(l=l.concat(i);!r;){var c=[];c=c.concat(l),l=[];for(var s=0;s<e.length;s++){var a=e[s],g=e.indexOf(a);g>=0&&e.splice(g,1),a.getNeighborsList().forEach(function(t){if(0>i.indexOf(t)){var e=n.get(t)-1;1==e&&l.push(t),n.set(t,e)}})}i=i.concat(l),(1==e.length||2==e.length)&&(r=!0,o=e[0])}return o},u.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=u},function(t,e,i){"use strict";function n(){}n.seed=1,n.x=0,n.nextDouble=function(){return n.x=1e4*Math.sin(n.seed++),n.x-Math.floor(n.x)},t.exports=n},function(t,e,i){"use strict";var n=i(4);function r(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}r.prototype.getWorldOrgX=function(){return this.lworldOrgX},r.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},r.prototype.getWorldOrgY=function(){return this.lworldOrgY},r.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},r.prototype.getWorldExtX=function(){return this.lworldExtX},r.prototype.setWorldExtX=function(t){this.lworldExtX=t},r.prototype.getWorldExtY=function(){return this.lworldExtY},r.prototype.setWorldExtY=function(t){this.lworldExtY=t},r.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},r.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},r.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},r.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},r.prototype.getDeviceExtX=function(){return this.ldeviceExtX},r.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},r.prototype.getDeviceExtY=function(){return this.ldeviceExtY},r.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},r.prototype.transformX=function(t){var e=0,i=this.lworldExtX;return 0!=i&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/i),e},r.prototype.transformY=function(t){var e=0,i=this.lworldExtY;return 0!=i&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/i),e},r.prototype.inverseTransformX=function(t){var e=0,i=this.ldeviceExtX;return 0!=i&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/i),e},r.prototype.inverseTransformY=function(t){var e=0,i=this.ldeviceExtY;return 0!=i&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/i),e},r.prototype.inverseTransformPoint=function(t){return new n(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=r},function(t,e,i){"use strict";var n=i(15),r=i(7),o=i(0),s=i(8),a=i(9);function h(){n.call(this),this.useSmartIdealEdgeLengthCalculation=r.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=r.DEFAULT_EDGE_LENGTH,this.springConstant=r.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=r.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=r.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=r.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=r.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=r.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*r.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=r.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=r.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=r.MAX_ITERATIONS}for(var l in h.prototype=Object.create(n.prototype),n)h[l]=n[l];h.prototype.initParameters=function(){n.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=r.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var t,e,i,n,s,a,h=this.getGraphManager().getAllEdges(),l=0;l<h.length;l++)(t=h[l]).idealLength=this.idealEdgeLength,t.isInterGraph&&(i=t.getSource(),n=t.getTarget(),s=t.getSourceInLca().getEstimatedSize(),a=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=s+a-2*o.SIMPLE_NODE_SIZE),e=t.getLca().getInclusionTreeDepth(),t.idealLength+=r.DEFAULT_EDGE_LENGTH*r.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(i.getInclusionTreeDepth()+n.getInclusionTreeDepth()-2*e))},h.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>r.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*r.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-r.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>r.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(r.COOLING_ADAPTATION_FACTOR,1-(t-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*(1-r.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),i=0;i<e.length;i++)t=e[i],this.calcSpringForce(t,t.idealLength)},h.prototype.calcRepulsionForces=function(){var t,e,i,n,o,s=!(arguments.length>0)||void 0===arguments[0]||arguments[0],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],h=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%r.GRID_CALCULATION_CHECK_PERIOD==1&&s&&this.updateGrid(),o=new Set,t=0;t<h.length;t++)i=h[t],this.calculateRepulsionForceOfANode(i,o,s,a),o.add(i);else for(t=0;t<h.length;t++)for(i=h[t],e=t+1;e<h.length;e++)n=h[e],i.getOwner()==n.getOwner()&&this.calcRepulsionForce(i,n)},h.prototype.calcGravitationalForces=function(){for(var t,e=this.getAllNodesToApplyGravitation(),i=0;i<e.length;i++)t=e[i],this.calcGravitationalForce(t)},h.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e=0;e<t.length;e++)t[e].move()},h.prototype.calcSpringForce=function(t,e){var i,n,r,o,s=t.getSource(),a=t.getTarget();if(this.uniformLeafNodeSizes&&null==s.getChild()&&null==a.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(i=t.getLength())&&(r=(n=this.springConstant*(i-e))*(t.lengthX/i),o=n*(t.lengthY/i),s.springForceX+=r,s.springForceY+=o,a.springForceX-=r,a.springForceY-=o)},h.prototype.calcRepulsionForce=function(t,e){var i,n,o,h,l,c,g,u=t.getRect(),d=e.getRect(),p=[,,],f=[,,,,];if(u.intersects(d)){s.calcSeparationAmount(u,d,p,r.DEFAULT_EDGE_LENGTH/2),c=2*p[0],g=2*p[1];var y=t.noOfChildren*e.noOfChildren/(t.noOfChildren+e.noOfChildren);t.repulsionForceX-=y*c,t.repulsionForceY-=y*g,e.repulsionForceX+=y*c,e.repulsionForceY+=y*g}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==e.getChild()?(i=d.getCenterX()-u.getCenterX(),n=d.getCenterY()-u.getCenterY()):(s.getIntersection(u,d,f),i=f[2]-f[0],n=f[3]-f[1]),Math.abs(i)<r.MIN_REPULSION_DIST&&(i=a.sign(i)*r.MIN_REPULSION_DIST),Math.abs(n)<r.MIN_REPULSION_DIST&&(n=a.sign(n)*r.MIN_REPULSION_DIST),h=Math.sqrt(o=i*i+n*n),c=(l=this.repulsionConstant*t.noOfChildren*e.noOfChildren/o)*i/h,g=l*n/h,t.repulsionForceX-=c,t.repulsionForceY-=g,e.repulsionForceX+=c,e.repulsionForceY+=g},h.prototype.calcGravitationalForce=function(t){var e,i,n,r,o,s,a,h;i=((e=t.getOwner()).getRight()+e.getLeft())/2,n=(e.getTop()+e.getBottom())/2,r=t.getCenterX()-i,o=t.getCenterY()-n,s=Math.abs(r)+t.getWidth()/2,a=Math.abs(o)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(s>(h=e.getEstimatedSize()*this.gravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*r,t.gravitationForceY=-this.gravityConstant*o):(s>(h=e.getEstimatedSize()*this.compoundGravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*r*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},h.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=2>Math.abs(this.totalDisplacement-this.oldTotalDisplacement)),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||e},h.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},h.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,e=this.graphManager.getAllNodes(),i=0;i<e.length;i++)(t=e[i]).noOfChildren=t.getNoOfChildren()},h.prototype.calcGrid=function(t){var e=0,i=0;e=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),i=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var n=Array(e),r=0;r<e;r++)n[r]=Array(i);for(var r=0;r<e;r++)for(var o=0;o<i;o++)n[r][o]=[];return n},h.prototype.addNodeToGrid=function(t,e,i){var n=0,r=0,o=0,s=0;n=parseInt(Math.floor((t.getRect().x-e)/this.repulsionRange)),r=parseInt(Math.floor((t.getRect().width+t.getRect().x-e)/this.repulsionRange)),o=parseInt(Math.floor((t.getRect().y-i)/this.repulsionRange)),s=parseInt(Math.floor((t.getRect().height+t.getRect().y-i)/this.repulsionRange));for(var a=n;a<=r;a++)for(var h=o;h<=s;h++)this.grid[a][h].push(t),t.setGridCoordinates(n,r,o,s)},h.prototype.updateGrid=function(){var t,e,i=this.getAllNodes();for(t=0,this.grid=this.calcGrid(this.graphManager.getRoot());t<i.length;t++)e=i[t],this.addNodeToGrid(e,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},h.prototype.calculateRepulsionForceOfANode=function(t,e,i,n){if(this.totalIterations%r.GRID_CALCULATION_CHECK_PERIOD==1&&i||n){var o,s=new Set;t.surrounding=[];for(var a=this.grid,h=t.startX-1;h<t.finishX+2;h++)for(var l=t.startY-1;l<t.finishY+2;l++)if(!(h<0||l<0||h>=a.length||l>=a[0].length)){for(var c=0;c<a[h][l].length;c++)if(o=a[h][l][c],t.getOwner()==o.getOwner()&&t!=o&&!e.has(o)&&!s.has(o)){var g=Math.abs(t.getCenterX()-o.getCenterX())-(t.getWidth()/2+o.getWidth()/2),u=Math.abs(t.getCenterY()-o.getCenterY())-(t.getHeight()/2+o.getHeight()/2);g<=this.repulsionRange&&u<=this.repulsionRange&&s.add(o)}}t.surrounding=[].concat(function(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}(s))}for(h=0;h<t.surrounding.length;h++)this.calcRepulsionForce(t,t.surrounding[h])},h.prototype.calcRepulsionRange=function(){return 0},t.exports=h},function(t,e,i){"use strict";var n=i(1),r=i(7);function o(t,e,i){n.call(this,t,e,i),this.idealLength=r.DEFAULT_EDGE_LENGTH}for(var s in o.prototype=Object.create(n.prototype),n)o[s]=n[s];t.exports=o},function(t,e,i){"use strict";var n=i(3);function r(t,e,i,r){n.call(this,t,e,i,r),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var o in r.prototype=Object.create(n.prototype),n)r[o]=n[o];r.prototype.setGridCoordinates=function(t,e,i,n){this.startX=t,this.finishX=e,this.startY=i,this.finishY=n},t.exports=r},function(t,e,i){"use strict";function n(t,e){this.width=0,this.height=0,null!==t&&null!==e&&(this.height=e,this.width=t)}n.prototype.getWidth=function(){return this.width},n.prototype.setWidth=function(t){this.width=t},n.prototype.getHeight=function(){return this.height},n.prototype.setHeight=function(t){this.height=t},t.exports=n},function(t,e,i){"use strict";var n=i(14);function r(){this.map={},this.keys=[]}r.prototype.put=function(t,e){var i=n.createID(t);this.contains(i)||(this.map[i]=e,this.keys.push(t))},r.prototype.contains=function(t){return n.createID(t),null!=this.map[t]},r.prototype.get=function(t){var e=n.createID(t);return this.map[e]},r.prototype.keySet=function(){return this.keys},t.exports=r},function(t,e,i){"use strict";var n=i(14);function r(){this.set={}}r.prototype.add=function(t){var e=n.createID(t);this.contains(e)||(this.set[e]=t)},r.prototype.remove=function(t){delete this.set[n.createID(t)]},r.prototype.clear=function(){this.set={}},r.prototype.contains=function(t){return this.set[n.createID(t)]==t},r.prototype.isEmpty=function(){return 0===this.size()},r.prototype.size=function(){return Object.keys(this.set).length},r.prototype.addAllTo=function(t){for(var e=Object.keys(this.set),i=e.length,n=0;n<i;n++)t.push(this.set[e[n]])},r.prototype.size=function(){return Object.keys(this.set).length},r.prototype.addAll=function(t){for(var e=t.length,i=0;i<e;i++){var n=t[i];this.add(n)}},t.exports=r},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=i(11),o=function(){function t(e,i){(function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")})(this,t),(null!==i||void 0!==i)&&(this.compareFunction=this._defaultCompareFunction);var n=void 0;n=e instanceof r?e.size():e.length,this._quicksort(e,0,n-1)}return n(t,[{key:"_quicksort",value:function(t,e,i){if(e<i){var n=this._partition(t,e,i);this._quicksort(t,e,n),this._quicksort(t,n+1,i)}}},{key:"_partition",value:function(t,e,i){for(var n=this._get(t,e),r=e,o=i;;){for(;this.compareFunction(n,this._get(t,o));)o--;for(;this.compareFunction(this._get(t,r),n);)r++;if(!(r<o))return o;this._swap(t,r,o),r++,o--}}},{key:"_get",value:function(t,e){return t instanceof r?t.get_object_at(e):t[e]}},{key:"_set",value:function(t,e,i){t instanceof r?t.set_object_at(e,i):t[e]=i}},{key:"_swap",value:function(t,e,i){var n=this._get(t,e);this._set(t,e,this._get(t,i)),this._set(t,i,n)}},{key:"_defaultCompareFunction",value:function(t,e){return e>t}}]),t}();t.exports=o},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),r=function(){function t(e,i){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;(function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")})(this,t),this.sequence1=e,this.sequence2=i,this.match_score=n,this.mismatch_penalty=r,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=i.length+1,this.grid=Array(this.iMax);for(var s=0;s<this.iMax;s++){this.grid[s]=Array(this.jMax);for(var a=0;a<this.jMax;a++)this.grid[s][a]=0}this.tracebackGrid=Array(this.iMax);for(var h=0;h<this.iMax;h++){this.tracebackGrid[h]=Array(this.jMax);for(var l=0;l<this.jMax;l++)this.tracebackGrid[h][l]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return n(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var e=1;e<this.iMax;e++)this.grid[e][0]=this.grid[e-1][0]+this.gap_penalty,this.tracebackGrid[e][0]=[!1,!0,!1];for(var i=1;i<this.iMax;i++)for(var n=1;n<this.jMax;n++){var r=void 0,o=[this.sequence1[i-1]===this.sequence2[n-1]?this.grid[i-1][n-1]+this.match_score:this.grid[i-1][n-1]+this.mismatch_penalty,this.grid[i-1][n]+this.gap_penalty,this.grid[i][n-1]+this.gap_penalty],s=this.arrayAllMaxIndexes(o);this.grid[i][n]=o[s[0]],this.tracebackGrid[i][n]=[s.includes(0),s.includes(1),s.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var e=t[0],i=this.tracebackGrid[e.pos[0]][e.pos[1]];i[0]&&t.push({pos:[e.pos[0]-1,e.pos[1]-1],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),i[1]&&t.push({pos:[e.pos[0]-1,e.pos[1]],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:"-"+e.seq2}),i[2]&&t.push({pos:[e.pos[0],e.pos[1]-1],seq1:"-"+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),0===e.pos[0]&&0===e.pos[1]&&this.alignments.push({sequence1:e.seq1,sequence2:e.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,e){for(var i=[],n=-1;-1!==(n=t.indexOf(e,n+1));)i.push(n);return i}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}();t.exports=r},function(t,e,i){"use strict";var n=function(){};n.FDLayout=i(18),n.FDLayoutConstants=i(7),n.FDLayoutEdge=i(19),n.FDLayoutNode=i(20),n.DimensionD=i(21),n.HashMap=i(22),n.HashSet=i(23),n.IGeometry=i(8),n.IMath=i(9),n.Integer=i(10),n.Point=i(12),n.PointD=i(4),n.RandomSeed=i(16),n.RectangleD=i(13),n.Transform=i(17),n.UniqueIDGeneretor=i(14),n.Quicksort=i(24),n.LinkedList=i(11),n.LGraphObject=i(2),n.LGraph=i(5),n.LEdge=i(1),n.LGraphManager=i(6),n.LNode=i(3),n.Layout=i(15),n.LayoutConstants=i(0),n.NeedlemanWunsch=i(25),t.exports=n},function(t,e,i){"use strict";function n(){this.listeners=[]}var r=n.prototype;r.addListener=function(t,e){this.listeners.push({event:t,callback:e})},r.removeListener=function(t,e){for(var i=this.listeners.length;i>=0;i--){var n=this.listeners[i];n.event===t&&n.callback===e&&this.listeners.splice(i,1)}},r.emit=function(t,e){for(var i=0;i<this.listeners.length;i++){var n=this.listeners[i];t===n.event&&n.callback(e)}},t.exports=n}])},t.exports=e()},56866:function(t,e,i){"use strict";i.d(e,{diagram:()=>H});var n=i(19039),r=i(84890),o=i(70466),s=i(28923),a=i(3399),h=i(35302),l=i(11141),c=i(34684),g=i(38582),u=i(28076),d=function(){var t=(0,s.eW)(function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i},"o"),e=[1,4],i=[1,13],n=[1,12],r=[1,15],o=[1,16],a=[1,20],h=[1,19],l=[6,7,8],c=[1,26],g=[1,24],u=[1,25],d=[6,7,11],p=[1,6,13,15,16,19,22],f=[1,33],y=[1,34],E=[1,6,7,11,13,15,16,19,22],v={trace:(0,s.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:(0,s.eW)(function(t,e,i,n,r,o,s){var a=o.length-1;switch(r){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",o[a].id),n.addNode(o[a-1].length,o[a].id,o[a].descr,o[a].type);break;case 16:n.getLogger().trace("Icon: ",o[a]),n.decorateNode({icon:o[a]});break;case 17:case 21:n.decorateNode({class:o[a]});break;case 18:n.getLogger().trace("SPACELIST");break;case 19:n.getLogger().trace("Node: ",o[a].id),n.addNode(0,o[a].id,o[a].descr,o[a].type);break;case 20:n.decorateNode({icon:o[a]});break;case 25:n.getLogger().trace("node found ..",o[a-2]),this.$={id:o[a-1],descr:o[a-1],type:n.getType(o[a-2],o[a])};break;case 26:this.$={id:o[a],descr:o[a],type:n.nodeType.DEFAULT};break;case 27:n.getLogger().trace("node found ..",o[a-3]),this.$={id:o[a-3],descr:o[a-1],type:n.getType(o[a-2],o[a])}}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:i,7:[1,10],9:9,12:11,13:n,14:14,15:r,16:o,17:17,18:18,19:a,22:h},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:i,12:21,13:n,14:14,15:r,16:o,17:17,18:18,19:a,22:h},{6:i,9:22,12:11,13:n,14:14,15:r,16:o,17:17,18:18,19:a,22:h},{6:c,7:g,10:23,11:u},t(d,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:a,22:h}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),t(d,[2,21]),t(d,[2,23]),t(d,[2,24]),t(d,[2,26],{19:[1,30]}),{20:[1,31]},{6:c,7:g,10:32,11:u},{1:[2,7],6:i,12:21,13:n,14:14,15:r,16:o,17:17,18:18,19:a,22:h},t(p,[2,14],{7:f,11:y}),t(E,[2,8]),t(E,[2,9]),t(E,[2,10]),t(d,[2,15]),t(d,[2,16]),t(d,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:f,11:y}),t(E,[2,11]),t(E,[2,12]),{21:[1,37]},t(d,[2,25]),t(d,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,s.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,s.eW)(function(t){var e=this,i=[0],n=[],r=[null],o=[],a=this.table,h="",l=0,c=0,g=0,u=o.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;o.push(y);var E=d.options&&d.options.ranges;function v(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.eW)(function(t){i.length=i.length-2*t,r.length=r.length-t,o.length=o.length-t},"popStack"),(0,s.eW)(v,"lex");for(var _,m,N,A,L,T,O,D,I,w={};;){if(N=i[i.length-1],this.defaultActions[N]?A=this.defaultActions[N]:(null==_&&(_=v()),A=a[N]&&a[N][_]),void 0===A||!A.length||!A[0]){var R="";for(T in I=[],a[N])this.terminals_[T]&&T>2&&I.push("'"+this.terminals_[T]+"'");R=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(R,{text:d.match,token:this.terminals_[_]||_,line:d.yylineno,loc:y,expected:I})}if(A[0]instanceof Array&&A.length>1)throw Error("Parse Error: multiple actions possible at state: "+N+", token: "+_);switch(A[0]){case 1:i.push(_),r.push(d.yytext),o.push(d.yylloc),i.push(A[1]),_=null,m?(_=m,m=null):(c=d.yyleng,h=d.yytext,l=d.yylineno,y=d.yylloc,g>0&&g--);break;case 2:if(O=this.productions_[A[1]][1],w.$=r[r.length-O],w._$={first_line:o[o.length-(O||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(O||1)].first_column,last_column:o[o.length-1].last_column},E&&(w._$.range=[o[o.length-(O||1)].range[0],o[o.length-1].range[1]]),void 0!==(L=this.performAction.apply(w,[h,c,l,p.yy,A[1],r,o].concat(u))))return L;O&&(i=i.slice(0,-1*O*2),r=r.slice(0,-1*O),o=o.slice(0,-1*O)),i.push(this.productions_[A[1]][0]),r.push(w.$),o.push(w._$),D=a[i[i.length-2]][i[i.length-1]],i.push(D);break;case 3:return!0}}return!0},"parse")},_={EOF:1,parseError:(0,s.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,s.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,s.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,s.eW)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,s.eW)(function(){return this._more=!0,this},"more"),reject:(0,s.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,s.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,s.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,s.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,s.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,s.eW)(function(t,e){var i,n,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var o in r)this[o]=r[o];return!1},"test_match"),next:(0,s.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,r=this._currentRules(),o=0;o<r.length;o++)if((i=this._input.match(this.rules[r[o]]))&&(!e||i[0].length>e[0].length)){if(e=i,n=o,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,r[o])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,s.eW)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,s.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,s.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,s.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,s.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,s.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,s.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.eW)(function(t,e,i,n){switch(i){case 0:return t.getLogger().trace("Found comment",e.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return t.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:t.getLogger().trace("end icon"),this.popState();break;case 10:return t.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return t.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 27:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return t.getLogger().trace("Long description:",e.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};function m(){this.yy={}}return v.lexer=_,(0,s.eW)(m,"Parser"),m.prototype=v,v.Parser=m,new m}();d.parser=d;var p=[],f=0,y={},E=(0,s.eW)(()=>{p=[],f=0,y={}},"clear"),v=(0,s.eW)(function(t){for(let e=p.length-1;e>=0;e--)if(p[e].level<t)return p[e];return null},"getParent"),_=(0,s.eW)(()=>p.length>0?p[0]:null,"getMindmap"),m=(0,s.eW)((t,e,i,n)=>{s.cM.info("addNode",t,e,i,n);let r=(0,s.nV)(),o=r.mindmap?.padding??s.vZ.mindmap.padding;switch(n){case N.ROUNDED_RECT:case N.RECT:case N.HEXAGON:o*=2}let a={id:f++,nodeId:(0,s.oO)(e,r),level:t,descr:(0,s.oO)(i,r),type:n,children:[],width:r.mindmap?.maxNodeWidth??s.vZ.mindmap.maxNodeWidth,padding:o},h=v(t);if(h)h.children.push(a),p.push(a);else if(0===p.length)p.push(a);else throw Error('There can be only one root. No parent could be found for ("'+a.descr+'")')},"addNode"),N={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},A=(0,s.eW)((t,e)=>{switch(s.cM.debug("In get type",t,e),t){case"[":return N.RECT;case"(":return")"===e?N.ROUNDED_RECT:N.CLOUD;case"((":return N.CIRCLE;case")":return N.CLOUD;case"))":return N.BANG;case"{{":return N.HEXAGON;default:return N.DEFAULT}},"getType"),L=(0,s.eW)((t,e)=>{y[t]=e},"setElementForId"),T=(0,s.eW)(t=>{if(!t)return;let e=(0,s.nV)(),i=p[p.length-1];t.icon&&(i.icon=(0,s.oO)(t.icon,e)),t.class&&(i.class=(0,s.oO)(t.class,e))},"decorateNode"),O=(0,s.eW)(t=>{switch(t){case N.DEFAULT:return"no-border";case N.RECT:return"rect";case N.ROUNDED_RECT:return"rounded-rect";case N.CIRCLE:return"circle";case N.CLOUD:return"cloud";case N.BANG:return"bang";case N.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),D=(0,s.eW)(()=>s.cM,"getLogger"),I=(0,s.eW)(t=>y[t],"getElementById"),w=(0,s.eW)(function(t,e,i,n){e.append("path").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("d",`M0 ${i.height-5} v${-i.height+10} q0,-5 5,-5 h${i.width-10} q5,0 5,5 v${i.height-5} H0 Z`),e.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",i.height).attr("x2",i.width).attr("y2",i.height)},"defaultBkg"),R=(0,s.eW)(function(t,e,i){e.append("rect").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("height",i.height).attr("width",i.width)},"rectBkg"),C=(0,s.eW)(function(t,e,i){let n=i.width,r=i.height,o=.15*n,s=.25*n,a=.35*n,h=.2*n;e.append("path").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("d",`M0 0 a${o},${o} 0 0,1 ${.25*n},${-1*n*.1} + a${a},${a} 1 0,1 ${.4*n},${-1*n*.1} + a${s},${s} 1 0,1 ${.35*n},${.2*+n} + + a${o},${o} 1 0,1 ${.15*n},${.35*+r} + a${h},${h} 1 0,1 ${-1*n*.15},${.65*+r} + + a${s},${o} 1 0,1 ${-1*n*.25},${.15*n} + a${a},${a} 1 0,1 ${-1*n*.5},0 + a${o},${o} 1 0,1 ${-1*n*.25},${-1*n*.15} + + a${o},${o} 1 0,1 ${-1*n*.1},${-1*r*.35} + a${h},${h} 1 0,1 ${.1*n},${-1*r*.65} + + H0 V0 Z`)},"cloudBkg"),M=(0,s.eW)(function(t,e,i){let n=i.width,r=i.height,o=.15*n;e.append("path").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("d",`M0 0 a${o},${o} 1 0,0 ${.25*n},${-1*r*.1} + a${o},${o} 1 0,0 ${.25*n},0 + a${o},${o} 1 0,0 ${.25*n},0 + a${o},${o} 1 0,0 ${.25*n},${.1*+r} + + a${o},${o} 1 0,0 ${.15*n},${.33*+r} + a${.8*o},${.8*o} 1 0,0 0,${.34*+r} + a${o},${o} 1 0,0 ${-1*n*.15},${.33*+r} + + a${o},${o} 1 0,0 ${-1*n*.25},${.15*r} + a${o},${o} 1 0,0 ${-1*n*.25},0 + a${o},${o} 1 0,0 ${-1*n*.25},0 + a${o},${o} 1 0,0 ${-1*n*.25},${-1*r*.15} + + a${o},${o} 1 0,0 ${-1*n*.1},${-1*r*.33} + a${.8*o},${.8*o} 1 0,0 0,${-1*r*.34} + a${o},${o} 1 0,0 ${.1*n},${-1*r*.33} + + H0 V0 Z`)},"bangBkg"),x=(0,s.eW)(function(t,e,i){e.append("circle").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("r",i.width/2)},"circleBkg");function G(t,e,i,n,r){return t.insert("polygon",":first-child").attr("points",n.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+(r.width-e)/2+", "+i+")")}(0,s.eW)(G,"insertPolygonShape");var S=(0,s.eW)(function(t,e,i){let n=i.height,r=n/4,o=i.width-i.padding+2*r,s=[{x:r,y:0},{x:o-r,y:0},{x:o,y:-n/2},{x:o-r,y:-n},{x:r,y:-n},{x:0,y:-n/2}];G(e,o,n,s,i)},"hexagonBkg"),b=(0,s.eW)(function(t,e,i){e.append("rect").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("height",i.height).attr("rx",i.padding).attr("ry",i.padding).attr("width",i.width)},"roundedRectBkg"),F=(0,s.eW)(async function(t,e,i,o,s){let a=s.htmlLabels,h=o%11,l=e.append("g");i.section=h;let c="section-"+h;h<0&&(c+=" section-root"),l.attr("class",(i.class?i.class+" ":"")+"mindmap-node "+c);let g=l.append("g"),u=l.append("g"),d=i.descr.replace(/(<br\/*>)/g,"\n");await (0,n.rw)(u,d,{useHtmlLabels:a,width:i.width,classes:"mindmap-node-label"},s),a||u.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");let p=u.node().getBBox(),[f]=(0,r.VG)(s.fontSize);if(i.height=p.height+.55*f+i.padding,i.width=p.width+2*i.padding,i.icon){if(i.type===t.nodeType.CIRCLE)i.height+=50,i.width+=50,l.append("foreignObject").attr("height","50px").attr("width",i.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+h+" "+i.icon),u.attr("transform","translate("+i.width/2+", "+(i.height/2-1.5*i.padding)+")");else{i.width+=50;let t=i.height;i.height=Math.max(t,60);let e=Math.abs(i.height-t);l.append("foreignObject").attr("width","60px").attr("height",i.height).attr("style","text-align: center;margin-top:"+e/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+h+" "+i.icon),u.attr("transform","translate("+(25+i.width/2)+", "+(e/2+i.padding/2)+")")}}else if(a){let t=(i.width-p.width)/2,e=(i.height-p.height)/2;u.attr("transform","translate("+t+", "+e+")")}else{let t=i.width/2,e=i.padding/2;u.attr("transform","translate("+t+", "+e+")")}switch(i.type){case t.nodeType.DEFAULT:w(t,g,i,h);break;case t.nodeType.ROUNDED_RECT:b(t,g,i,h);break;case t.nodeType.RECT:R(t,g,i,h);break;case t.nodeType.CIRCLE:g.attr("transform","translate("+i.width/2+", "+ +i.height/2+")"),x(t,g,i,h);break;case t.nodeType.CLOUD:C(t,g,i,h);break;case t.nodeType.BANG:M(t,g,i,h);break;case t.nodeType.HEXAGON:S(t,g,i,h)}return t.setElementForId(i.id,l),i.height},"drawNode"),P=(0,s.eW)(function(t,e){let i=t.getElementById(e.id),n=e.x||0,r=e.y||0;i.attr("transform","translate("+n+","+r+")")},"positionNode");async function U(t,e,i,n,r){await F(t,e,i,n,r),i.children&&await Promise.all(i.children.map((i,o)=>U(t,e,i,n<0?o:n,r)))}function Y(t,e){e.edges().map((e,i)=>{let n=e.data();if(e[0]._private.bodyBounds){let r=e[0]._private.rscratch;s.cM.trace("Edge: ",i,n),t.insert("path").attr("d",`M ${r.startX},${r.startY} L ${r.midX},${r.midY} L${r.endX},${r.endY} `).attr("class","edge section-edge-"+n.section+" edge-depth-"+n.depth)}})}function k(t,e,i,n){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:n,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(r=>{k(r,e,i,n+1),e.add({group:"edges",data:{id:`${t.id}_${r.id}`,source:t.id,target:r.id,depth:n,section:r.section}})})}function X(t,e){return new Promise(i=>{let n=(0,l.Ys)("body").append("div").attr("id","cy").attr("style","display:none"),r=(0,a.Z)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});n.remove(),k(t,r,e,0),r.nodes().forEach(function(t){t.layoutDimensions=()=>{let e=t.data();return{w:e.width,h:e.height}}}),r.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),r.ready(t=>{s.cM.info("Ready",t),i(r)})})}function W(t,e){e.nodes().map((e,i)=>{let n=e.data();n.x=e.position().x,n.y=e.position().y,P(t,n);let r=t.getElementById(n.nodeId);s.cM.info("Id:",i,"Position: (",e.position().x,", ",e.position().y,")",n),r.attr("transform",`translate(${e.position().x-n.width/2}, ${e.position().y-n.height/2})`),r.attr("attr",`apa-${i})`)})}a.Z.use(h),(0,s.eW)(U,"drawNodes"),(0,s.eW)(Y,"drawEdges"),(0,s.eW)(k,"addNodes"),(0,s.eW)(X,"layoutMindmap"),(0,s.eW)(W,"positionNodes");var B=(0,s.eW)(async(t,e,i,n)=>{s.cM.debug("Rendering mindmap diagram\n"+t);let r=n.db,a=r.getMindmap();if(!a)return;let h=(0,s.nV)();h.htmlLabels=!1;let l=(0,o.P)(e),c=l.append("g");c.attr("class","mindmap-edges");let g=l.append("g");g.attr("class","mindmap-nodes"),await U(r,g,a,-1,h);let u=await X(a,h);Y(c,u),W(r,u),(0,s.j7)(void 0,l,h.mindmap?.padding??s.vZ.mindmap.padding,h.mindmap?.useMaxWidth??s.vZ.mindmap.useMaxWidth)},"draw"),$=(0,s.eW)(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,c.Z)(t["lineColor"+e])?t["lineColor"+e]=(0,g.Z)(t["lineColor"+e],20):t["lineColor"+e]=(0,u.Z)(t["lineColor"+e],20);for(let i=0;i<t.THEME_COLOR_LIMIT;i++){let n=""+(17-3*i);e+=` + .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} polygon, .section-${i-1} path { + fill: ${t["cScale"+i]}; + } + .section-${i-1} text { + fill: ${t["cScaleLabel"+i]}; + } + .node-icon-${i-1} { + font-size: 40px; + color: ${t["cScaleLabel"+i]}; + } + .section-edge-${i-1}{ + stroke: ${t["cScale"+i]}; + } + .edge-depth-${i-1}{ + stroke-width: ${n}; + } + .section-${i-1} line { + stroke: ${t["cScaleInv"+i]} ; + stroke-width: 3; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + `}return e},"genSections"),H={db:{clear:E,addNode:m,getMindmap:_,nodeType:N,getType:A,setElementForId:L,decorateNode:T,type2Str:O,getLogger:D,getElementById:I},renderer:{draw:B},parser:d,styles:(0,s.eW)(t=>` + .edge { + stroke-width: 3; + } + ${$(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`,"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/8584.a6d7b034.js b/assets/js/8584.a6d7b034.js new file mode 100644 index 0000000000..19b410bb1c --- /dev/null +++ b/assets/js/8584.a6d7b034.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["8584"],{7425:function(e,s,c){c.d(s,{createPacketServices:()=>t.g});var t=c(43192);c(78983)}}]); \ No newline at end of file diff --git a/assets/js/859d83d7.1690d95f.js b/assets/js/859d83d7.1690d95f.js new file mode 100644 index 0000000000..5e284a5ec1 --- /dev/null +++ b/assets/js/859d83d7.1690d95f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["86645"],{9676:function(e,s,o){o.d(s,{Z:()=>t});let t=o.p+"assets/images/social-card-7b2ed059f27fc8b64f3f20025ebb382f.png"},57583:function(e,s,o){o.d(s,{Z:()=>t});let t=o.p+"assets/images/author-index-4abd3b8b777b2c1b3958768559896262.png"},4841:function(e,s,o){o.d(s,{Z:()=>t});let t=o.p+"assets/images/author-page-4a9753641b116ddfeecc46ed1dcee907.png"},15353:function(e,s,o){o.d(s,{Z:()=>t});let t=o.p+"assets/images/author-socials-93483e664b2d095b137cf10c4769c100.png"},29696:function(e,s,o){o.d(s,{Z:()=>t});let t=o.p+"assets/images/blog-feed-xslt-22194c2a971aba7f3bbf6115d3aa1d49.png"},54324:function(e,s,o){o.d(s,{Z:()=>t});let t=o.p+"assets/images/blog-sidebar-years-1d0be02836d9a3307386c365b9969a37.png"},24506:function(e,s,o){o.d(s,{Z:()=>t});let t=o.p+"assets/images/social-card-7b2ed059f27fc8b64f3f20025ebb382f.png"},14830:function(e,s,o){o.r(s),o.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>t,toc:()=>c});var t=o(23970),n=o(85893),r=o(80980);let l={title:"Docusaurus 3.5",authors:["slorber"],tags:["release"],image:"./img/social-card.png",date:new Date("2024-08-09T00:00:00.000Z")},i=void 0,a={image:o(9676).Z,authorsImageUrls:[void 0]},c=[{value:"Highlights",id:"highlights",level:2},{value:"Blog Social Icons",id:"blog-social-icons",level:3},{value:"Blog Authors Pages",id:"blog-authors-pages",level:3},{value:"Blog Feeds Styling",id:"blog-feeds-styling",level:3},{value:"Blog Sidebar Grouping",id:"blog-sidebar-grouping",level:3},{value:"Blog Consistency Options",id:"blog-consistency-options",level:3},{value:"<code>onInlineAuthors</code>",id:"oninlineauthors",level:4},{value:"<code>onUntruncatedBlogPosts</code>",id:"onuntruncatedblogposts",level:4},{value:"Translations",id:"translations",level:2},{value:"Other changes",id:"other-changes",level:2}];function h(e){let s={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:["We are happy to announce ",(0,n.jsx)(s.strong,{children:"Docusaurus 3.5"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["This release contains many ",(0,n.jsx)(s.strong,{children:"new exciting blog features"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["Upgrading should be easy. Our ",(0,n.jsx)(s.a,{href:"/community/release-process",children:"release process"})," respects ",(0,n.jsx)(s.a,{href:"https://semver.org/",children:"Semantic Versioning"}),". Minor versions do not include any breaking changes."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Docusaurus blog post social card",src:o(24506).Z+"",width:"1200",height:"600"})}),"\n","\n",(0,n.jsx)(s.h2,{id:"highlights",children:"Highlights"}),"\n",(0,n.jsx)(s.h3,{id:"blog-social-icons",children:"Blog Social Icons"}),"\n",(0,n.jsxs)(s.p,{children:["In ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10222",children:"#10222"}),", we added the possibility to associate social links to blog authors, for inline authors declared in front matter or global through the ",(0,n.jsx)(s.code,{children:"authors.yml"})," file."]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-yml",metastring:'title="blog/authors.yml"',children:"slorber:\n name: S\xe9bastien Lorber\n # other author properties...\n # highlight-start\n socials:\n x: sebastienlorber\n linkedin: sebastienlorber\n github: slorber\n newsletter: https://thisweekinreact.com\n # highlight-end\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Author socials screenshot displaying slorber author with 4 social platform icons",src:o(15353).Z+"",width:"780",height:"180"})}),"\n",(0,n.jsxs)(s.p,{children:["Icons and handle shortcuts are provided for pre-defined platforms ",(0,n.jsx)(s.code,{children:"x"}),", ",(0,n.jsx)(s.code,{children:"linkedin"}),", ",(0,n.jsx)(s.code,{children:"github"})," and ",(0,n.jsx)(s.code,{children:"stackoverflow"}),". It's possible to provide any additional platform entry (like ",(0,n.jsx)(s.code,{children:"newsletter"})," in the example above) with a full URL."]}),"\n",(0,n.jsx)(s.h3,{id:"blog-authors-pages",children:"Blog Authors Pages"}),"\n",(0,n.jsxs)(s.p,{children:["In ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10216",children:"#10216"}),", we added the possibility for ",(0,n.jsx)(s.a,{href:"/docs/blog#global-authors",children:"global blog authors"})," (declared in ",(0,n.jsx)(s.code,{children:"authors.yml"}),") to have their own dedicated page listing all the blog posts they contributed to."]}),"\n",(0,n.jsxs)(s.p,{children:["This feature is opt-in and mostly relevant for ",(0,n.jsx)(s.strong,{children:"multi-author blogs"}),". You can turn it on for a specific author by setting the ",(0,n.jsx)(s.code,{children:"page: true"})," property:"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-yml",metastring:'title="blog/authors.yml"',children:"slorber:\n name: S\xe9bastien Lorber\n # the description will be displayed on the author's page\n description: 'A freelance React and React-Native developer...'\n # highlight-next-line\n page: true # Turns the feature on\n"})}),"\n",(0,n.jsxs)(s.p,{children:["This creates a ",(0,n.jsx)(s.a,{href:"/blog/authors/slorber",children:"dedicated author page"})," at ",(0,n.jsx)(s.code,{children:"/blog/authors/slorber"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Author page screenshot for slorber global author",src:o(4841).Z+"",width:"883",height:"900"})}),"\n",(0,n.jsxs)(s.p,{children:["An ",(0,n.jsx)(s.a,{href:"/blog/authors",children:"authors index page"})," is also created, listing all the blog authors."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Author index page listing multiple authors",src:o(57583).Z+"",width:"705",height:"645"})}),"\n",(0,n.jsxs)(s.p,{children:["Check the ",(0,n.jsx)(s.a,{href:"/docs/blog#authors-pages",children:"blog authors pages guide"})," for details."]}),"\n",(0,n.jsx)(s.h3,{id:"blog-feeds-styling",children:"Blog Feeds Styling"}),"\n",(0,n.jsxs)(s.p,{children:["In ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9252",children:"#9252"}),", we added support for ",(0,n.jsx)(s.a,{href:"https://darekkay.com/blog/rss-styling/",children:"styling your blog feeds"})," by providing custom XSLT ",(0,n.jsx)(s.code,{children:".xls"})," files for the RSS and Atom feeds. This allows browsers to render the feeds in a more visually appealing way, like a regular HTML page, instead of the default XML view."]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-js",metastring:'title="website/docusaurus.config.js"',children:"const blogOptions = {\n feedOptions: {\n // highlight-start\n xslt: {\n rss: 'custom-rss.xsl',\n atom: 'custom-atom.xsl',\n },\n // highlight-end\n },\n};\n"})}),"\n",(0,n.jsxs)(s.p,{children:["Writing your own XSLT can be complex, but you can also use ",(0,n.jsx)(s.code,{children:"xslt: true"})," to turn on the built-in style:"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-js",metastring:'title="website/docusaurus.config.js"',children:"const blogOptions = {\n feedOptions: {\n // highlight-start\n xslt: true,\n // highlight-end\n },\n};\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Screenshot of the Docusaurus blog RSS feed, beautifully styled",src:o(29696).Z+"",width:"730",height:"782"})}),"\n",(0,n.jsx)(s.h3,{id:"blog-sidebar-grouping",children:"Blog Sidebar Grouping"}),"\n",(0,n.jsxs)(s.p,{children:["In ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10252",children:"#10252"}),", we added support for grouping blog posts by years in the blog sidebar."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Screenshot of the Docusaurus blog, in particular the sidebar items grouped by year",src:o(54324).Z+"",width:"910",height:"452"})}),"\n",(0,n.jsxs)(s.p,{children:["This feature is now turned on by default, but can be disabled with ",(0,n.jsx)(s.code,{children:"themeConfig.blog.sidebar.groupByYear: false"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"blog-consistency-options",children:"Blog Consistency Options"}),"\n",(0,n.jsx)(s.p,{children:"We added new blog options to enforce recommended practices for your blog posts:"}),"\n",(0,n.jsx)(s.h4,{id:"oninlineauthors",children:(0,n.jsx)(s.code,{children:"onInlineAuthors"})}),"\n",(0,n.jsxs)(s.p,{children:["We believe large multi-blogs are easier to manage by using ",(0,n.jsx)(s.a,{href:"/docs/blog#global-authors",children:"global authors"}),", declared in ",(0,n.jsx)(s.code,{children:"authors.yml"}),". This notably permits to avoids duplicating author information across multiple blog posts, and now permits to generate ",(0,n.jsx)(s.a,{href:"/docs/blog#authors-pages",children:"author pages"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:["In ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10224",children:"#10224"}),", we added the ",(0,n.jsx)(s.code,{children:"onInlineAuthors"})," option. Use ",(0,n.jsx)(s.code,{children:"onInlineAuthors: 'throw'"})," to forbid ",(0,n.jsx)(s.a,{href:"/docs/blog#inline-authors",children:"inline authors"}),", and enforce a consistent usage of ",(0,n.jsx)(s.a,{href:"/docs/blog#global-authors",children:"global authors"}),"."]}),"\n",(0,n.jsx)(s.h4,{id:"onuntruncatedblogposts",children:(0,n.jsx)(s.code,{children:"onUntruncatedBlogPosts"})}),"\n",(0,n.jsxs)(s.p,{children:["We believe blog posts are better using ",(0,n.jsx)(s.a,{href:"/docs/blog#blog-list",children:"truncation markers"})," (",(0,n.jsx)(s.code,{children:"\x3c!-- truncate --\x3e"})," or ",(0,n.jsx)(s.code,{children:"{/* truncate */}"}),"). On paginated lists (blog home, tags pages, authors pages), this permits to render a more concise preview of the blog post instead of a full blog post."]}),"\n",(0,n.jsxs)(s.p,{children:["In ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10375",children:"#10375"}),", we added the ",(0,n.jsx)(s.code,{children:"onUntruncatedBlogPosts"})," option. Use ",(0,n.jsx)(s.code,{children:"onUntruncatedBlogPosts: 'throw'"})," to enforce a consistent usage of ",(0,n.jsx)(s.a,{href:"/docs/blog#blog-list",children:"truncation markers"}),"."]}),"\n",(0,n.jsx)(s.h2,{id:"translations",children:"Translations"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\uD83C\uDDEA\uD83C\uDDEA ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10339",children:"#10339"}),": Add Estonian theme translations."]}),"\n",(0,n.jsxs)(s.li,{children:["\uD83C\uDDEE\uD83C\uDDE9 ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10325",children:"#10325"}),": Add Indonesian theme translations."]}),"\n",(0,n.jsxs)(s.li,{children:["\uD83C\uDDEA\uD83C\uDDF8 ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10360",children:"#10360"}),": Improve Spanish theme translations."]}),"\n",(0,n.jsxs)(s.li,{children:["\uD83C\uDDE9\uD83C\uDDEA ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10235",children:"#10235"}),": Improve German theme translations."]}),"\n",(0,n.jsxs)(s.li,{children:["\uD83C\uDDE8\uD83C\uDDF3 ",(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10257",children:"#10257"}),": Improve Traditional Chinese (zh-Hant) theme translations."]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"other-changes",children:"Other changes"}),"\n",(0,n.jsx)(s.p,{children:"Other notable changes include:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10369",children:"#10369"}),": Add support for ",(0,n.jsx)(s.a,{href:"https://pkg.pr.new",children:"pkg.pr.new"})," continuous releases so that you can test any pull-request code in a StackBlitz playground."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10376",children:"#10376"}),": Theme unlisted/draft banners are also shown in dev so that you don't forget to publish your content."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10335",children:"#10335"}),": The Markdown top-level headings ",(0,n.jsx)(s.code,{children:"# title"})," are automatically wrapped in ",(0,n.jsx)(s.code,{children:"<header>"})," for consistency with front matter ",(0,n.jsx)(s.code,{children:"title: Title"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10286",children:"#10286"}),": Allows Docusaurus plugins to self-disable by returning ",(0,n.jsx)(s.code,{children:"null"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10241",children:"#10241"}),": Add support for ",(0,n.jsxs)(s.a,{href:"https://mdxjs.com/packages/mdx/#processoroptions",children:["MDX processor ",(0,n.jsx)(s.code,{children:"recmaPlugins"})," option"]})," to modify the MDX Estree AST."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10324",children:"#10324"}),": The docs autogenerated ",(0,n.jsx)(s.code,{children:"_category_.json"})," accepts a new ",(0,n.jsx)(s.code,{children:"description"})," property that gets displayed on generated index pages."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10368",children:"#10368"}),": The CLI command ",(0,n.jsx)(s.code,{children:"docusaurus --version"})," now actually returns the Docusaurus version."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10240",children:"#10240"}),": Markdown ",(0,n.jsx)(s.code,{children:"mdx-code-block"})," now supports indentation."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10219",children:"#10219"}),": Fix ",(0,n.jsx)(s.code,{children:"<TabItem lazy>"})," support the for ",(0,n.jsx)(s.code,{children:"className"})," prop."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10313",children:"#10313"}),": Blog-related ",(0,n.jsx)(s.code,{children:"@docusaurus/theme-common/internal"})," APIs have been moved to ",(0,n.jsx)(s.code,{children:"@docusaurus/plugin-content-blog/client"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/10316",children:"#10316"}),": Docs-related ",(0,n.jsx)(s.code,{children:"@docusaurus/theme-common/internal"})," APIs have been moved to ",(0,n.jsx)(s.code,{children:"@docusaurus/plugin-content-docs/client"}),"."]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Check the ",(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"/changelog/3.5.0",children:"3.5.0 changelog entry"})})," for an exhaustive list of changes."]})]})}function d(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},80980:function(e,s,o){o.d(s,{Z:()=>i,a:()=>l});var t=o(67294);let n={},r=t.createContext(n);function l(e){let s=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),t.createElement(r.Provider,{value:s},e.children)}},23970:function(e){e.exports=JSON.parse('{"permalink":"/blog/releases/3.5","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/blog/releases/3.5/index.mdx","source":"@site/blog/releases/3.5/index.mdx","title":"Docusaurus 3.5","description":"We are happy to announce Docusaurus 3.5.","date":"2024-08-09T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Blog posts about Docusaurus\' new releases"}],"readingTime":3.91,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer, This Week In React editor","url":"https://thisweekinreact.com","page":{"permalink":"/blog/authors/slorber"},"description":"A freelance React and React-Native developer near Paris and Docusaurus maintainer. Also runs ThisWeekInReact.com, a newsletter to stay updated with the React ecosystem.","socials":{"bluesky":"https://bsky.app/profile/sebastienlorber.com","x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","instagram":"https://www.instagram.com/thisweekinreact","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"title":"Docusaurus 3.5","authors":["slorber"],"tags":["release"],"image":"./img/social-card.png","date":"2024-08-09T00:00:00.000Z"},"unlisted":false,"lastUpdatedAt":1740749461000,"lastUpdatedBy":"ozaki","prevItem":{"title":"Docusaurus 3.6","permalink":"/blog/releases/3.6"},"nextItem":{"title":"Docusaurus 3.4","permalink":"/blog/releases/3.4"}}')}}]); \ No newline at end of file diff --git a/assets/js/85d61fbd.2502229a.js b/assets/js/85d61fbd.2502229a.js new file mode 100644 index 0000000000..ecc560c744 --- /dev/null +++ b/assets/js/85d61fbd.2502229a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["6408"],{57178:function(e,t,r){r.r(t),r.d(t,{frontMatter:()=>i,default:()=>m,contentTitle:()=>c,assets:()=>u,toc:()=>d,metadata:()=>n});var n=JSON.parse('{"id":"api/themes/theme-live-codeblock","title":"\uD83D\uDCE6 theme-live-codeblock","description":"This theme provides a @theme/CodeBlock component that is powered by react-live. You can read more on interactive code editor documentation.","source":"@site/docs/api/themes/theme-live-codeblock.mdx","sourceDirName":"api/themes","slug":"/api/themes/@docusaurus/theme-live-codeblock","permalink":"/docs/api/themes/@docusaurus/theme-live-codeblock","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/theme-live-codeblock.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":3,"frontMatter":{"sidebar_position":3,"slug":"/api/themes/@docusaurus/theme-live-codeblock"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 theme-classic","permalink":"/docs/api/themes/@docusaurus/theme-classic"},"next":{"title":"\uD83D\uDCE6 theme-search-algolia","permalink":"/docs/api/themes/@docusaurus/theme-search-algolia"}}'),a=r(85893),o=r(80980),l=r(15398),s=r(58636);let i={sidebar_position:3,slug:"/api/themes/@docusaurus/theme-live-codeblock"},c="\uD83D\uDCE6 theme-live-codeblock",u={},d=[{value:"Configuration",id:"configuration",level:3}];function h(e){let t={a:"a",code:"code",h1:"h1",h3:"h3",header:"header",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"-theme-live-codeblock",children:"\uD83D\uDCE6 theme-live-codeblock"})}),"\n",(0,a.jsxs)(t.p,{children:["This theme provides a ",(0,a.jsx)(t.code,{children:"@theme/CodeBlock"})," component that is powered by ",(0,a.jsx)(t.a,{href:"https://commerce.nearform.com/open-source/react-live/",children:"react-live"}),". You can read more on ",(0,a.jsx)(t.a,{href:"/docs/markdown-features/code-blocks#interactive-code-editor",children:"interactive code editor"})," documentation."]}),"\n",(0,a.jsxs)(l.Z,{groupId:"npm2yarn",children:[(0,a.jsx)(s.Z,{value:"npm",children:(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-bash",children:"npm install --save @docusaurus/theme-live-codeblock\n"})})}),(0,a.jsx)(s.Z,{value:"yarn",label:"Yarn",children:(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-bash",children:"yarn add @docusaurus/theme-live-codeblock\n"})})}),(0,a.jsx)(s.Z,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-bash",children:"pnpm add @docusaurus/theme-live-codeblock\n"})})})]}),"\n",(0,a.jsx)(t.h3,{id:"configuration",children:"Configuration"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n plugins: ['@docusaurus/theme-live-codeblock'],\n themeConfig: {\n liveCodeBlock: {\n /**\n * The position of the live playground, above or under the editor\n * Possible values: \"top\" | \"bottom\"\n */\n playgroundPosition: 'bottom',\n },\n },\n};\n"})})]})}function m(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},58636:function(e,t,r){r.d(t,{Z:()=>o});var n=r(85893);r(67294);var a=r(90496);function o(e){let{children:t,hidden:r,className:o}=e;return(0,n.jsx)("div",{role:"tabpanel",className:(0,a.Z)("tabItem_pnkT",o),hidden:r,children:t})}},15398:function(e,t,r){r.d(t,{Z:()=>g});var n=r(85893),a=r(67294),o=r(90496),l=r(54947),s=r(3620),i=r(844),c=r(97486),u=r(32263),d=r(16971);function h(e){return a.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||a.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function m(e){let{value:t,tabValues:r}=e;return r.some(e=>e.value===t)}var p=r(71607);function f(e){let{className:t,block:r,selectedValue:a,selectValue:s,tabValues:i}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,l.o5)(),d=e=>{let t=e.currentTarget,r=i[c.indexOf(t)].value;r!==a&&(u(t),s(r))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let r=c.indexOf(e.currentTarget)+1;t=c[r]??c[0];break}case"ArrowLeft":{let r=c.indexOf(e.currentTarget)-1;t=c[r]??c[c.length-1]}}t?.focus()};return(0,n.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":r},t),children:i.map(e=>{let{value:t,label:r,attributes:l}=e;return(0,n.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:e=>{c.push(e)},onKeyDown:h,onClick:d,...l,className:(0,o.Z)("tabs__item","tabItem_AQgk",l?.className,{"tabs__item--active":a===t}),children:r??t},t)})})}function b(e){let{lazy:t,children:r,selectedValue:l}=e,s=(Array.isArray(r)?r:[r]).filter(Boolean);if(t){let e=s.find(e=>e.props.value===l);return e?(0,a.cloneElement)(e,{className:(0,o.Z)("margin-top--md",e.props.className)}):null}return(0,n.jsx)("div",{className:"margin-top--md",children:s.map((e,t)=>(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==l}))})}function v(e){let t=function(e){let{defaultValue:t,queryString:r=!1,groupId:n}=e,o=function(e){let{values:t,children:r}=e;return(0,a.useMemo)(()=>{let e=t??h(r).map(e=>{let{props:{value:t,label:r,attributes:n,default:a}}=e;return{value:t,label:r,attributes:n,default:a}});return!function(e){let t=(0,u.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[t,r])}(e),[l,p]=(0,a.useState)(()=>(function(e){let{defaultValue:t,tabValues:r}=e;if(0===r.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!m({value:t,tabValues:r}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${r.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let n=r.find(e=>e.default)??r[0];if(!n)throw Error("Unexpected error: 0 tabValues");return n.value})({defaultValue:t,tabValues:o})),[f,b]=function(e){let{queryString:t=!1,groupId:r}=e,n=(0,s.k6)(),o=function(e){let{queryString:t=!1,groupId:r}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!r)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:t,groupId:r});return[(0,c._X)(o),(0,a.useCallback)(e=>{if(!o)return;let t=new URLSearchParams(n.location.search);t.set(o,e),n.replace({...n.location,search:t.toString()})},[o,n])]}({queryString:r,groupId:n}),[v,g]=function(e){let{groupId:t}=e,r=t?`docusaurus.tab.${t}`:null,[n,o]=(0,d.Nk)(r);return[n,(0,a.useCallback)(e=>{r&&o.set(e)},[r,o])]}({groupId:n}),x=(()=>{let e=f??v;return m({value:e,tabValues:o})?e:null})();return(0,i.Z)(()=>{x&&p(x)},[x]),{selectedValue:l,selectValue:(0,a.useCallback)(e=>{if(!m({value:e,tabValues:o}))throw Error(`Can't select invalid tab value=${e}`);p(e),b(e),g(e)},[b,g,o]),tabValues:o}}(e);return(0,n.jsxs)("div",{className:(0,o.Z)("tabs-container","tabList_Qoir"),children:[(0,n.jsx)(f,{...t,...e}),(0,n.jsx)(b,{...t,...e})]})}function g(e){let t=(0,p.Z)();return(0,n.jsx)(v,{...e,children:h(e.children)},String(t))}},80980:function(e,t,r){r.d(t,{Z:()=>s,a:()=>l});var n=r(67294);let a={},o=n.createContext(a);function l(e){let t=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/85d97c39.2f2f302a.js b/assets/js/85d97c39.2f2f302a.js new file mode 100644 index 0000000000..f7a4b75408 --- /dev/null +++ b/assets/js/85d97c39.2f2f302a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["98715"],{67556:function(e,t,n){n.r(t),n.d(t,{assets:()=>g,contentTitle:()=>l,default:()=>c,frontMatter:()=>s,metadata:()=>a,toc:()=>i});var a=n(51255),o=n(85893),r=n(80980);let s={mdx:{format:"md"},date:"2024-11-19T20:00",authors:["goffxnca","kyletsang","Ryoga-exe","slorber","Zwyx"]},l="3.6.2",g={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0]},i=[];function u(e){return(0,o.jsx)(o.Fragment,{})}function c(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>l,a:()=>s});var a=n(67294);let o={},r=a.createContext(o);function s(e){let t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:t},e.children)}},51255:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.6.2","source":"@site/changelog/source/3.6.2.md","title":"3.6.2","description":"Bug Fix","date":"2024-11-19T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Junior_Gx","alias":"goffxnca","url":"https://github.com/goffxnca","imageURL":"https://github.com/goffxnca.png","key":"goffxnca","page":null},{"name":"Kyle Tsang","alias":"kyletsang","url":"https://github.com/kyletsang","imageURL":"https://github.com/kyletsang.png","key":"kyletsang","page":null},{"name":"Ryoga","alias":"Ryoga-exe","url":"https://github.com/Ryoga-exe","imageURL":"https://github.com/Ryoga-exe.png","key":"Ryoga-exe","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Zwyx","alias":"Zwyx","url":"https://github.com/Zwyx","imageURL":"https://github.com/Zwyx.png","key":"Zwyx","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-11-19T20:00","authors":["goffxnca","kyletsang","Ryoga-exe","slorber","Zwyx"]},"unlisted":false,"prevItem":{"title":"3.6.3","permalink":"/changelog/3.6.3"},"nextItem":{"title":"3.6.1","permalink":"/changelog/3.6.1"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/8604db02.39c689b4.js b/assets/js/8604db02.39c689b4.js new file mode 100644 index 0000000000..ec0967c163 --- /dev/null +++ b/assets/js/8604db02.39c689b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["13206"],{9090:function(a,e,t){t.r(e),t.d(e,{assets:()=>s,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>n,toc:()=>u});var n=t(50575),o=t(85893),l=t(80980);let i={mdx:{format:"md"},date:"2020-05-19T20:00",authors:["artemkovalyov","fanny","iamrajiv","jcomack","jdeniau","jonnynabors","lex111","marcosvega91","nebrelbug","slorber","taylorreece","yangshun","ykzts"]},r="2.0.0-alpha.55",s={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},u=[];function g(a){return(0,o.jsx)(o.Fragment,{})}function m(a={}){let{wrapper:e}={...(0,l.a)(),...a.components};return e?(0,o.jsx)(e,{...a,children:(0,o.jsx)(g,{...a})}):g(a)}},80980:function(a,e,t){t.d(e,{Z:()=>r,a:()=>i});var n=t(67294);let o={},l=n.createContext(o);function i(a){let e=n.useContext(l);return n.useMemo(function(){return"function"==typeof a?a(e):{...e,...a}},[e,a])}function r(a){let e;return e=a.disableParentContext?"function"==typeof a.components?a.components(o):a.components||o:i(a.components),n.createElement(l.Provider,{value:e},a.children)}},50575:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.55","source":"@site/changelog/source/2.0.0-alpha.55.md","title":"2.0.0-alpha.55","description":"Breaking Change","date":"2020-05-19T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Artem Kovalov","alias":"artemkovalyov","url":"https://github.com/artemkovalyov","imageURL":"https://github.com/artemkovalyov.png","key":"artemkovalyov","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"Rajiv Singh","alias":"iamrajiv","url":"https://github.com/iamrajiv","imageURL":"https://github.com/iamrajiv.png","key":"iamrajiv","page":null},{"name":"Jimmy","alias":"jcomack","url":"https://github.com/jcomack","imageURL":"https://github.com/jcomack.png","key":"jcomack","page":null},{"name":"Julien Deniau","alias":"jdeniau","url":"https://github.com/jdeniau","imageURL":"https://github.com/jdeniau.png","key":"jdeniau","page":null},{"name":"Jonny Nabors","alias":"jonnynabors","url":"https://github.com/jonnynabors","imageURL":"https://github.com/jonnynabors.png","key":"jonnynabors","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Marco Moretti","alias":"marcosvega91","url":"https://github.com/marcosvega91","imageURL":"https://github.com/marcosvega91.png","key":"marcosvega91","page":null},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"Yamagishi Kazutoshi","alias":"ykzts","url":"https://github.com/ykzts","imageURL":"https://github.com/ykzts.png","key":"ykzts","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-05-19T20:00","authors":["artemkovalyov","fanny","iamrajiv","jcomack","jdeniau","jonnynabors","lex111","marcosvega91","nebrelbug","slorber","taylorreece","yangshun","ykzts"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.56","permalink":"/changelog/2.0.0-alpha.56"},"nextItem":{"title":"2.0.0-alpha.54","permalink":"/changelog/2.0.0-alpha.54"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/86141.ec6adbfd.js b/assets/js/86141.ec6adbfd.js new file mode 100644 index 0000000000..de12399ebe --- /dev/null +++ b/assets/js/86141.ec6adbfd.js @@ -0,0 +1,113 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["86141"],{64085:function(e,t,s){s.d(t,{k:()=>f});var i=s(94193),r=s(61870),n=s(13255),a=s(56430),o=s(69052),l=s(31570),c=s(46390),h=s(4740),u=s(40805),d=s(29183),g=s(46826),p=s(42113),y=(0,d.Z)(function(e){return(0,g.Z)((0,u.Z)(e,1,p.Z,!0))}),b=s(70485),_=s(98381);class f{constructor(e={}){this._isDirected=!i.Z(e,"directed")||e.directed,this._isMultigraph=!!i.Z(e,"multigraph")&&e.multigraph,this._isCompound=!!i.Z(e,"compound")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=r.Z(void 0),this._defaultEdgeLabelFn=r.Z(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return n.Z(e)||(e=r.Z(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return a.Z(this._nodes)}sources(){var e=this;return o.Z(this.nodes(),function(t){return l.Z(e._in[t])})}sinks(){var e=this;return o.Z(this.nodes(),function(t){return l.Z(e._out[t])})}setNodes(e,t){var s=arguments,i=this;return c.Z(e,function(e){s.length>1?i.setNode(e,t):i.setNode(e)}),this}setNode(e,t){return i.Z(this._nodes,e)?arguments.length>1&&(this._nodes[e]=t):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount),this}node(e){return this._nodes[e]}hasNode(e){return i.Z(this._nodes,e)}removeNode(e){var t=this;if(i.Z(this._nodes,e)){var s=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],c.Z(this.children(e),function(e){t.setParent(e)}),delete this._children[e]),c.Z(a.Z(this._in[e]),s),delete this._in[e],delete this._preds[e],c.Z(a.Z(this._out[e]),s),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(h.Z(t))t="\0";else{t+="";for(var s=t;!h.Z(s);s=this.parent(s))if(s===e)throw Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if("\0"!==t)return t}}children(e){if(h.Z(e)&&(e="\0"),this._isCompound){var t=this._children[e];if(t)return a.Z(t)}else if("\0"===e)return this.nodes();else if(this.hasNode(e))return[]}predecessors(e){var t=this._preds[e];if(t)return a.Z(t)}successors(e){var t=this._sucs[e];if(t)return a.Z(t)}neighbors(e){var t=this.predecessors(e);if(t)return y(t,this.successors(e))}isLeaf(e){var t;return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var s=this;c.Z(this._nodes,function(s,i){e(i)&&t.setNode(i,s)}),c.Z(this._edgeObjs,function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,s.edge(e))});var i={};return this._isCompound&&c.Z(t.nodes(),function(e){t.setParent(e,function e(r){var n=s.parent(r);return void 0===n||t.hasNode(n)?(i[r]=n,n):n in i?i[n]:e(n)}(e))}),t}setDefaultEdgeLabel(e){return n.Z(e)||(e=r.Z(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return b.Z(this._edgeObjs)}setPath(e,t){var s=this,i=arguments;return _.Z(e,function(e,r){return i.length>1?s.setEdge(e,r,t):s.setEdge(e,r),r}),this}setEdge(){var e,t,s,r,n=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(e=a.v,t=a.w,s=a.name,2==arguments.length&&(r=arguments[1],n=!0)):(e=a,t=arguments[1],s=arguments[3],arguments.length>2&&(r=arguments[2],n=!0)),e=""+e,t=""+t,h.Z(s)||(s=""+s);var o=S(this._isDirected,e,t,s);if(i.Z(this._edgeLabels,o))return n&&(this._edgeLabels[o]=r),this;if(!h.Z(s)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[o]=n?r:this._defaultEdgeLabelFn(e,t,s);var l=function(e,t,s,i){var r=""+t,n=""+s;if(!e&&r>n){var a=r;r=n,n=a}var o={v:r,w:n};return i&&(o.name=i),o}(this._isDirected,e,t,s);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[o]=l,x(this._preds[t],e),x(this._sucs[e],t),this._in[t][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,t,s){var i=1==arguments.length?m(this._isDirected,arguments[0]):S(this._isDirected,e,t,s);return this._edgeLabels[i]}hasEdge(e,t,s){var r=1==arguments.length?m(this._isDirected,arguments[0]):S(this._isDirected,e,t,s);return i.Z(this._edgeLabels,r)}removeEdge(e,t,s){var i=1==arguments.length?m(this._isDirected,arguments[0]):S(this._isDirected,e,t,s),r=this._edgeObjs[i];return r&&(e=r.v,t=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],L(this._preds[t],e),L(this._sucs[e],t),delete this._in[t][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,t){var s=this._in[e];if(s){var i=b.Z(s);return t?o.Z(i,function(e){return e.v===t}):i}}outEdges(e,t){var s=this._out[e];if(s){var i=b.Z(s);return t?o.Z(i,function(e){return e.w===t}):i}}nodeEdges(e,t){var s=this.inEdges(e,t);if(s)return s.concat(this.outEdges(e,t))}}function x(e,t){e[t]?e[t]++:e[t]=1}function L(e,t){--e[t]||delete e[t]}function S(e,t,s,i){var r=""+t,n=""+s;if(!e&&r>n){var a=r;r=n,n=a}return r+"\x01"+n+"\x01"+(h.Z(i)?"\0":i)}function m(e,t){return S(e,t.v,t.w,t.name)}f.prototype._nodeCount=0,f.prototype._edgeCount=0},62145:function(e,t,s){s.d(t,{k:()=>i.k});var i=s(64085)},66740:function(e,t,s){s.d(t,{Z:()=>n});var i=s(40597),r=s(36404);let n=(e,t)=>i.Z.lang.round(r.Z.parse(e)[t])},2355:function(e,t,s){s.d(t,{diagram:()=>ea});var i=s(67157),r=s(57668);s(25653),s(19039);var n=s(84890),a=s(28923),o=s(84128),l=s(66740),c=s(62321),h=s(11141),u=s(62145),d=function(){var e=(0,a.eW)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,7],s=[1,13],i=[1,14],r=[1,15],n=[1,19],o=[1,16],l=[1,17],c=[1,18],h=[8,30],u=[8,21,28,29,30,31,32,40,44,47],d=[1,23],g=[1,24],p=[8,15,16,21,28,29,30,31,32,40,44,47],y=[8,15,16,21,27,28,29,30,31,32,40,44,47],b=[1,49],_={trace:(0,a.eW)(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:(0,a.eW)(function(e,t,s,i,r,n,a){var o=n.length-1;switch(r){case 4:i.getLogger().debug("Rule: separator (NL) ");break;case 5:i.getLogger().debug("Rule: separator (Space) ");break;case 6:i.getLogger().debug("Rule: separator (EOF) ");break;case 7:i.getLogger().debug("Rule: hierarchy: ",n[o-1]),i.setHierarchy(n[o-1]);break;case 8:i.getLogger().debug("Stop NL ");break;case 9:i.getLogger().debug("Stop EOF ");break;case 10:i.getLogger().debug("Stop NL2 ");break;case 11:i.getLogger().debug("Stop EOF2 ");break;case 12:i.getLogger().debug("Rule: statement: ",n[o]),"number"==typeof n[o].length?this.$=n[o]:this.$=[n[o]];break;case 13:i.getLogger().debug("Rule: statement #2: ",n[o-1]),this.$=[n[o-1]].concat(n[o]);break;case 14:i.getLogger().debug("Rule: link: ",n[o],e),this.$={edgeTypeStr:n[o],label:""};break;case 15:i.getLogger().debug("Rule: LABEL link: ",n[o-3],n[o-1],n[o]),this.$={edgeTypeStr:n[o],label:n[o-1]};break;case 18:let l=parseInt(n[o]),c=i.generateId();this.$={id:c,type:"space",label:"",width:l,children:[]};break;case 23:i.getLogger().debug("Rule: (nodeStatement link node) ",n[o-2],n[o-1],n[o]," typestr: ",n[o-1].edgeTypeStr);let h=i.edgeStrToEdgeData(n[o-1].edgeTypeStr);this.$=[{id:n[o-2].id,label:n[o-2].label,type:n[o-2].type,directions:n[o-2].directions},{id:n[o-2].id+"-"+n[o].id,start:n[o-2].id,end:n[o].id,label:n[o-1].label,type:"edge",directions:n[o].directions,arrowTypeEnd:h,arrowTypeStart:"arrow_open"},{id:n[o].id,label:n[o].label,type:i.typeStr2Type(n[o].typeStr),directions:n[o].directions}];break;case 24:i.getLogger().debug("Rule: nodeStatement (abc88 node size) ",n[o-1],n[o]),this.$={id:n[o-1].id,label:n[o-1].label,type:i.typeStr2Type(n[o-1].typeStr),directions:n[o-1].directions,widthInColumns:parseInt(n[o],10)};break;case 25:i.getLogger().debug("Rule: nodeStatement (node) ",n[o]),this.$={id:n[o].id,label:n[o].label,type:i.typeStr2Type(n[o].typeStr),directions:n[o].directions,widthInColumns:1};break;case 26:i.getLogger().debug("APA123",this?this:"na"),i.getLogger().debug("COLUMNS: ",n[o]),this.$={type:"column-setting",columns:"auto"===n[o]?-1:parseInt(n[o])};break;case 27:i.getLogger().debug("Rule: id-block statement : ",n[o-2],n[o-1]),i.generateId(),this.$={...n[o-2],type:"composite",children:n[o-1]};break;case 28:i.getLogger().debug("Rule: blockStatement : ",n[o-2],n[o-1],n[o]);let u=i.generateId();this.$={id:u,type:"composite",label:"",children:n[o-1]};break;case 29:i.getLogger().debug("Rule: node (NODE_ID separator): ",n[o]),this.$={id:n[o]};break;case 30:i.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",n[o-1],n[o]),this.$={id:n[o-1],label:n[o].label,typeStr:n[o].typeStr,directions:n[o].directions};break;case 31:i.getLogger().debug("Rule: dirList: ",n[o]),this.$=[n[o]];break;case 32:i.getLogger().debug("Rule: dirList: ",n[o-1],n[o]),this.$=[n[o-1]].concat(n[o]);break;case 33:i.getLogger().debug("Rule: nodeShapeNLabel: ",n[o-2],n[o-1],n[o]),this.$={typeStr:n[o-2]+n[o],label:n[o-1]};break;case 34:i.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",n[o-3],n[o-2]," #3:",n[o-1],n[o]),this.$={typeStr:n[o-3]+n[o],label:n[o-2],directions:n[o-1]};break;case 35:case 36:this.$={type:"classDef",id:n[o-1].trim(),css:n[o].trim()};break;case 37:this.$={type:"applyClass",id:n[o-1].trim(),styleClass:n[o].trim()};break;case 38:this.$={type:"applyStyles",id:n[o-1].trim(),stylesStr:n[o].trim()}}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:r,32:n,40:o,44:l,47:c},{8:[1,20]},e(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:t,28:s,29:i,31:r,32:n,40:o,44:l,47:c}),e(u,[2,16],{14:22,15:d,16:g}),e(u,[2,17]),e(u,[2,18]),e(u,[2,19]),e(u,[2,20]),e(u,[2,21]),e(u,[2,22]),e(p,[2,25],{27:[1,25]}),e(u,[2,26]),{19:26,26:12,32:n},{11:27,13:4,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:r,32:n,40:o,44:l,47:c},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(y,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(h,[2,13]),{26:35,32:n},{32:[2,14]},{17:[1,36]},e(p,[2,24]),{11:37,13:4,14:22,15:d,16:g,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:r,32:n,40:o,44:l,47:c},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(y,[2,30]),{18:[1,43]},{18:[1,44]},e(p,[2,23]),{18:[1,45]},{30:[1,46]},e(u,[2,28]),e(u,[2,35]),e(u,[2,36]),e(u,[2,37]),e(u,[2,38]),{37:[1,47]},{34:48,35:b},{15:[1,50]},e(u,[2,27]),e(y,[2,33]),{39:[1,51]},{34:52,35:b,39:[2,31]},{32:[2,15]},e(y,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:(0,a.eW)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,a.eW)(function(e){var t=this,s=[0],i=[],r=[null],n=[],o=this.table,l="",c=0,h=0,u=0,d=n.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p.yy[y]=this.yy[y]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,void 0===g.yylloc&&(g.yylloc={});var b=g.yylloc;n.push(b);var _=g.options&&g.options.ranges;function f(){var e;return"number"!=typeof(e=i.pop()||g.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.eW)(function(e){s.length=s.length-2*e,r.length=r.length-e,n.length=n.length-e},"popStack"),(0,a.eW)(f,"lex");for(var x,L,S,m,k,E,w,D,N,v={};;){if(S=s[s.length-1],this.defaultActions[S]?m=this.defaultActions[S]:(null==x&&(x=f()),m=o[S]&&o[S][x]),void 0===m||!m.length||!m[0]){var C="";for(E in N=[],o[S])this.terminals_[E]&&E>2&&N.push("'"+this.terminals_[E]+"'");C=g.showPosition?"Parse error on line "+(c+1)+":\n"+g.showPosition()+"\nExpecting "+N.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(C,{text:g.match,token:this.terminals_[x]||x,line:g.yylineno,loc:b,expected:N})}if(m[0]instanceof Array&&m.length>1)throw Error("Parse Error: multiple actions possible at state: "+S+", token: "+x);switch(m[0]){case 1:s.push(x),r.push(g.yytext),n.push(g.yylloc),s.push(m[1]),x=null,L?(x=L,L=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,b=g.yylloc,u>0&&u--);break;case 2:if(w=this.productions_[m[1]][1],v.$=r[r.length-w],v._$={first_line:n[n.length-(w||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(w||1)].first_column,last_column:n[n.length-1].last_column},_&&(v._$.range=[n[n.length-(w||1)].range[0],n[n.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[l,h,c,p.yy,m[1],r,n].concat(d))))return k;w&&(s=s.slice(0,-1*w*2),r=r.slice(0,-1*w),n=n.slice(0,-1*w)),s.push(this.productions_[m[1]][0]),r.push(v.$),n.push(v._$),D=o[s[s.length-2]][s[s.length-1]],s.push(D);break;case 3:return!0}}return!0},"parse")},f={EOF:1,parseError:(0,a.eW)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,a.eW)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,a.eW)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,a.eW)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.eW)(function(){return this._more=!0,this},"more"),reject:(0,a.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,a.eW)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,a.eW)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,a.eW)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,a.eW)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,a.eW)(function(e,t){var s,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var n in r)this[n]=r[n];return!1},"test_match"),next:(0,a.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,r=this._currentRules(),n=0;n<r.length;n++)if((s=this._input.match(this.rules[r[n]]))&&(!t||s[0].length>t[0].length)){if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[n])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,a.eW)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,a.eW)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,a.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,a.eW)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,a.eW)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,a.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,a.eW)(function(e,t,s,i){switch(s){case 0:return 10;case 1:return e.getLogger().debug("Found space-block"),31;case 2:return e.getLogger().debug("Found nl-block"),31;case 3:return e.getLogger().debug("Found space-block"),29;case 4:e.getLogger().debug(".",t.yytext);break;case 5:e.getLogger().debug("_",t.yytext);break;case 6:return 5;case 7:return t.yytext=-1,28;case 8:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 9:case 77:case 78:case 100:this.pushState("md_string");break;case 10:return"MD_STR";case 11:case 35:case 80:this.popState();break;case 12:this.pushState("string");break;case 13:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 14:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 15:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 16:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:case 41:case 42:case 45:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:case 60:case 61:case 62:case 65:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 63:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),38;case 75:return e.getLogger().debug("Lex: NODE_ID",t.yytext),32;case 76:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 79:return"NODE_DESCR";case 81:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:e.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return e.getLogger().debug("LEX: NODE_DESCR:",t.yytext),"NODE_DESCR";case 84:e.getLogger().debug("LEX POPPING"),this.popState();break;case 85:e.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (right): dir:",t.yytext),"DIR";case 87:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (left):",t.yytext),"DIR";case 88:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (x):",t.yytext),"DIR";case 89:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (y):",t.yytext),"DIR";case 90:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (up):",t.yytext),"DIR";case 91:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (down):",t.yytext),"DIR";case 92:return t.yytext="]>",e.getLogger().debug("Lex (ARROW_DIR end):",t.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 94:case 95:case 96:return e.getLogger().debug("Lex: LINK",t.yytext),15;case 97:case 98:case 99:return e.getLogger().debug("Lex: START_LINK",t.yytext),this.pushState("LLABEL"),16;case 101:return e.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 103:case 104:return this.popState(),e.getLogger().debug("Lex: LINK",t.yytext),15;case 105:return e.getLogger().debug("Lex: COLON",t.yytext),t.yytext=t.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};function x(){this.yy={}}return _.lexer=f,(0,a.eW)(x,"Parser"),x.prototype=_,_.Parser=x,new x}();d.parser=d;var g=new Map,p=[],y=new Map,b="color",_="fill",f=(0,a.nV)(),x=new Map,L=(0,a.eW)(e=>a.SY.sanitizeText(e,f),"sanitizeText"),S=(0,a.eW)(function(e,t=""){let s=x.get(e);s||(s={id:e,styles:[],textStyles:[]},x.set(e,s)),null!=t&&t.split(",").forEach(e=>{let t=e.replace(/([^;]*);/,"$1").trim();if(RegExp(b).exec(e)){let e=t.replace(_,"bgFill").replace(b,_);s.textStyles.push(e)}s.styles.push(t)})},"addStyleClass"),m=(0,a.eW)(function(e,t=""){let s=g.get(e);null!=t&&(s.styles=t.split(","))},"addStyle2Node"),k=(0,a.eW)(function(e,t){e.split(",").forEach(function(e){let s=g.get(e);if(void 0===s){let t=e.trim();s={id:t,type:"na",children:[]},g.set(t,s)}s.classes||(s.classes=[]),s.classes.push(t)})},"setCssClass"),E=(0,a.eW)((e,t)=>{let s=e.flat(),i=[];for(let e of s){if(e.label&&(e.label=L(e.label)),"classDef"===e.type){S(e.id,e.css);continue}if("applyClass"===e.type){k(e.id,e?.styleClass??"");continue}if("applyStyles"===e.type){e?.stylesStr&&m(e.id,e?.stylesStr);continue}if("column-setting"===e.type)t.columns=e.columns??-1;else if("edge"===e.type){let t=(y.get(e.id)??0)+1;y.set(e.id,t),e.id=t+"-"+e.id,p.push(e)}else{e.label||("composite"===e.type?e.label="":e.label=e.id);let t=g.get(e.id);if(void 0===t?g.set(e.id,e):("na"!==e.type&&(t.type=e.type),e.label!==e.id&&(t.label=e.label)),e.children&&E(e.children,e),"space"===e.type){let t=e.width??1;for(let s=0;s<t;s++){let t=(0,o.Z)(e);t.id=t.id+"-"+s,g.set(t.id,t),i.push(t)}}else void 0===t&&i.push(e)}}t.children=i},"populateBlockDatabase"),w=[],D={id:"root",type:"composite",children:[],columns:-1},N=(0,a.eW)(()=>{a.cM.debug("Clear called"),(0,a.ZH)(),g=new Map([["root",D={id:"root",type:"composite",children:[],columns:-1}]]),w=[],x=new Map,p=[],y=new Map},"clear");function v(e){switch(a.cM.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return a.cM.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function C(e){return(a.cM.debug("typeStr2Type",e),"=="===e)?"thick":"normal"}function $(e){switch(e.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}(0,a.eW)(v,"typeStr2Type"),(0,a.eW)(C,"edgeTypeStr2Type"),(0,a.eW)($,"edgeStrToEdgeData");var I=0,T=(0,a.eW)(()=>(I++,"id-"+Math.random().toString(36).substr(2,12)+"-"+I),"generateId"),z=(0,a.eW)(e=>{D.children=e,E(e,D),w=D.children},"setHierarchy"),O=(0,a.eW)(e=>{let t=g.get(e);return t?t.columns?t.columns:t.children?t.children.length:-1:-1},"getColumns"),A=(0,a.eW)(()=>[...g.values()],"getBlocksFlat"),W=(0,a.eW)(()=>w||[],"getBlocks"),R=(0,a.eW)(()=>p,"getEdges"),B=(0,a.eW)(e=>g.get(e),"getBlock"),M=(0,a.eW)(e=>{g.set(e.id,e)},"setBlock"),Z=(0,a.eW)(()=>console,"getLogger"),P=(0,a.eW)(function(){return x},"getClasses"),F={getConfig:(0,a.eW)(()=>(0,a.iE)().block,"getConfig"),typeStr2Type:v,edgeTypeStr2Type:C,edgeStrToEdgeData:$,getLogger:Z,getBlocksFlat:A,getBlocks:W,getEdges:R,setHierarchy:z,getBlock:B,setBlock:M,getColumns:O,getClasses:P,clear:N,generateId:T},Y=(0,a.eW)((e,t)=>{let s=l.Z,i=s(e,"r"),r=s(e,"g"),n=s(e,"b");return c.Z(i,r,n,t)},"fade"),K=(0,a.eW)(e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span,p { + color: ${e.titleColor}; + } + + + + .label text,span,p { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${Y(e.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${Y(e.mainBkg,.5)}; + fill: ${Y(e.clusterBkg,.5)}; + stroke: ${Y(e.clusterBorder,.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span,p { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`,"getStyles"),j=a.nV()?.block?.padding??8;function X(e,t){if(0===e||!Number.isInteger(e))throw Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw Error("Position must be a non-negative integer."+t);if(e<0)return{px:t,py:0};if(1===e)return{px:0,py:t};let s=Math.floor(t/e);return{px:t%e,py:s}}(0,a.eW)(X,"calculateBlockPosition");var U=(0,a.eW)(e=>{let t=0,s=0;for(let i of e.children){let{width:r,height:n,x:o,y:l}=i.size??{width:0,height:0,x:0,y:0};a.cM.debug("getMaxChildSize abc95 child:",i.id,"width:",r,"height:",n,"x:",o,"y:",l,i.type),"space"!==i.type&&(r>t&&(t=r/(e.widthInColumns??1)),n>s&&(s=n))}return{width:t,height:s}},"getMaxChildSize");function H(e,t,s=0,i=0){a.cM.debug("setBlockSizes abc95 (start)",e.id,e?.size?.x,"block width =",e?.size,"sieblingWidth",s),e?.size?.width||(e.size={width:s,height:i,x:0,y:0});let r=0,n=0;if(e.children?.length>0){for(let s of e.children)H(s,t);let o=U(e);for(let t of(r=o.width,n=o.height,a.cM.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",r,n),e.children))t.size&&(a.cM.debug(`abc95 Setting size of children of ${e.id} id=${t.id} ${r} ${n} ${JSON.stringify(t.size)}`),t.size.width=r*(t.widthInColumns??1)+j*((t.widthInColumns??1)-1),t.size.height=n,t.size.x=0,t.size.y=0,a.cM.debug(`abc95 updating size of ${e.id} children child:${t.id} maxWidth:${r} maxHeight:${n}`));for(let s of e.children)H(s,t,r,n);let l=e.columns??-1,c=0;for(let t of e.children)c+=t.widthInColumns??1;let h=e.children.length;l>0&&l<c&&(h=l);let u=Math.ceil(c/h),d=h*(r+j)+j,g=u*(n+j)+j;if(d<s){a.cM.debug(`Detected to small siebling: abc95 ${e.id} sieblingWidth ${s} sieblingHeight ${i} width ${d}`),d=s,g=i;let t=(s-h*j-j)/h,o=(i-u*j-j)/u;for(let s of(a.cM.debug("Size indata abc88",e.id,"childWidth",t,"maxWidth",r),a.cM.debug("Size indata abc88",e.id,"childHeight",o,"maxHeight",n),a.cM.debug("Size indata abc88 xSize",h,"padding",j),e.children))s.size&&(s.size.width=t,s.size.height=o,s.size.x=0,s.size.y=0)}if(a.cM.debug(`abc95 (finale calc) ${e.id} xSize ${h} ySize ${u} columns ${l}${e.children.length} width=${Math.max(d,e.size?.width||0)}`),d<(e?.size?.width||0)){d=e?.size?.width||0;let t=l>0?Math.min(e.children.length,l):e.children.length;if(t>0){let s=(d-t*j-j)/t;for(let t of(a.cM.debug("abc95 (growing to fit) width",e.id,d,e.size?.width,s),e.children))t.size&&(t.size.width=s)}}e.size={width:d,height:g,x:0,y:0}}a.cM.debug("setBlockSizes abc94 (done)",e.id,e?.size?.x,e?.size?.width,e?.size?.y,e?.size?.height)}function G(e,t){a.cM.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`);let s=e.columns??-1;if(a.cM.debug("layoutBlocks columns abc95",e.id,"=>",s,e),e.children&&e.children.length>0){let i=e?.children[0]?.size?.width??0,r=e.children.length*i+(e.children.length-1)*j;a.cM.debug("widthOfChildren 88",r,"posX");let n=0;a.cM.debug("abc91 block?.size?.x",e.id,e?.size?.x);let o=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-j,l=0;for(let i of e.children){if(!i.size)continue;let{width:r,height:c}=i.size,{px:h,py:u}=X(s,n);if(u!=l&&(l=u,o=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-j,a.cM.debug("New row in layout for block",e.id," and child ",i.id,l)),a.cM.debug(`abc89 layout blocks (child) id: ${i.id} Pos: ${n} (px, py) ${h},${u} (${e?.size?.x},${e?.size?.y}) parent: ${e.id} width: ${r}${j}`),e.size){let t=r/2;i.size.x=o+j+t,a.cM.debug(`abc91 layout blocks (calc) px, pyid:${i.id} startingPos=X${o} new startingPosX${i.size.x} ${t} padding=${j} width=${r} halfWidth=${t} => x:${i.size.x} y:${i.size.y} ${i.widthInColumns} (width * (child?.w || 1)) / 2 ${r*(i?.widthInColumns??1)/2}`),o=i.size.x+t,i.size.y=e.size.y-e.size.height/2+u*(c+j)+c/2+j,a.cM.debug(`abc88 layout blocks (calc) px, pyid:${i.id}startingPosX${o}${j}${t}=>x:${i.size.x}y:${i.size.y}${i.widthInColumns}(width * (child?.w || 1)) / 2${r*(i?.widthInColumns??1)/2}`)}i.children&&G(i,t),n+=i?.widthInColumns??1,a.cM.debug("abc88 columnsPos",i,n)}}a.cM.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`)}function q(e,{minX:t,minY:s,maxX:i,maxY:r}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&"root"!==e.id){let{x:n,y:a,width:o,height:l}=e.size;n-o/2<t&&(t=n-o/2),a-l/2<s&&(s=a-l/2),n+o/2>i&&(i=n+o/2),a+l/2>r&&(r=a+l/2)}if(e.children)for(let n of e.children)({minX:t,minY:s,maxX:i,maxY:r}=q(n,{minX:t,minY:s,maxX:i,maxY:r}));return{minX:t,minY:s,maxX:i,maxY:r}}function J(e){let t=e.getBlock("root");if(!t)return;H(t,e,0,0),G(t,e),a.cM.debug("getBlocks",JSON.stringify(t,null,2));let{minX:s,minY:i,maxX:r,maxY:n}=q(t);return{x:s,y:i,width:r-s,height:n-i}}function Q(e,t,s=!1){let i;let r="default";(e?.classes?.length||0)>0&&(r=(e?.classes??[]).join(" ")),r+=" flowchart-label";let o=0,l="";switch(e.type){case"round":o=5,l="rect";break;case"composite":o=0,l="composite",i=0;break;case"square":case"group":default:l="rect";break;case"diamond":l="question";break;case"hexagon":l="hexagon";break;case"block_arrow":l="block_arrow";break;case"odd":case"rect_left_inv_arrow":l="rect_left_inv_arrow";break;case"lean_right":l="lean_right";break;case"lean_left":l="lean_left";break;case"trapezoid":l="trapezoid";break;case"inv_trapezoid":l="inv_trapezoid";break;case"circle":l="circle";break;case"ellipse":l="ellipse";break;case"stadium":l="stadium";break;case"subroutine":l="subroutine";break;case"cylinder":l="cylinder";break;case"doublecircle":l="doublecircle"}let c=(0,n.be)(e?.styles??[]),h=e.label,u=e.size??{width:0,height:0,x:0,y:0};return{labelStyle:c.labelStyle,shape:l,labelText:h,rx:o,ry:o,class:r,style:c.style,id:e.id,directions:e.directions,width:u.width,height:u.height,x:u.x,y:u.y,positioned:s,intersect:void 0,type:e.type,padding:i??a.iE()?.block?.padding??0}}async function V(e,t,s){let i=Q(t,s,!1);if("group"===i.type)return;let n=await (0,r.Lf)(e,i),a=n.node().getBBox(),o=s.getBlock(i.id);o.size={width:a.width,height:a.height,x:0,y:0,node:n},s.setBlock(o),n.remove()}async function ee(e,t,s){let i=Q(t,s,!0);"space"!==s.getBlock(i.id).type&&(await (0,r.Lf)(e,i),t.intersect=i?.intersect,(0,r.aH)(i))}async function et(e,t,s,i){for(let r of t)await i(e,r,s),r.children&&await et(e,r.children,s,i)}async function es(e,t,s){await et(e,t,s,V)}async function ei(e,t,s){await et(e,t,s,ee)}async function er(e,t,s,r,n){let a=new u.k({multigraph:!0,compound:!0});for(let e of(a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8}),s))e.size&&a.setNode(e.id,{width:e.size.width,height:e.size.height,intersect:e.intersect});for(let s of t)if(s.start&&s.end){let t=r.getBlock(s.start),o=r.getBlock(s.end);if(t?.size&&o?.size){let r=t.size,l=o.size,c=[{x:r.x,y:r.y},{x:r.x+(l.x-r.x)/2,y:r.y+(l.y-r.y)/2},{x:l.x,y:l.y}];(0,i.QP)(e,{v:s.start,w:s.end,name:s.id},{...s,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:c,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,n),s.label&&(await (0,i.I_)(e,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:c,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),(0,i.Jj)({...s,x:c[1].x,y:c[1].y},{originalPath:c}))}}}(0,a.eW)(H,"setBlockSizes"),(0,a.eW)(G,"layoutBlocks"),(0,a.eW)(q,"findBounds"),(0,a.eW)(J,"layout"),(0,a.eW)(Q,"getNodeFromBlock"),(0,a.eW)(V,"calculateBlockSize"),(0,a.eW)(ee,"insertBlockPositioned"),(0,a.eW)(et,"performOperations"),(0,a.eW)(es,"calculateBlockSizes"),(0,a.eW)(ei,"insertBlocks"),(0,a.eW)(er,"insertEdges");var en=(0,a.eW)(function(e,t){return t.db.getClasses()},"getClasses"),ea={parser:d,db:F,renderer:{draw:(0,a.eW)(async function(e,t,s,r){let n;let{securityLevel:o,block:l}=(0,a.iE)(),c=r.db;"sandbox"===o&&(n=(0,h.Ys)("#i"+t));let u="sandbox"===o?(0,h.Ys)(n.nodes()[0].contentDocument.body):(0,h.Ys)("body"),d="sandbox"===o?u.select(`[id="${t}"]`):(0,h.Ys)(`[id="${t}"]`);(0,i.DQ)(d,["point","circle","cross"],r.type,t);let g=c.getBlocks(),p=c.getBlocksFlat(),y=c.getEdges(),b=d.insert("g").attr("class","block");await es(b,g,c);let _=J(c);if(await ei(b,g,c),await er(b,y,p,c,t),_){let e=Math.max(1,Math.round(.125*(_.width/_.height))),t=_.height+e+10,s=_.width+10,{useMaxWidth:i}=l;(0,a.v2)(d,t,s,!!i),a.cM.debug("Here Bounds",_,_),d.attr("viewBox",`${_.x-5} ${_.y-5} ${_.width+10} ${_.height+10}`)}},"draw"),getClasses:en},styles:K}}}]); \ No newline at end of file diff --git a/assets/js/8625da58.9c13aee6.js b/assets/js/8625da58.9c13aee6.js new file mode 100644 index 0000000000..9962078570 --- /dev/null +++ b/assets/js/8625da58.9c13aee6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["60993"],{46128:function(e,t,n){n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>u,default:()=>g,frontMatter:()=>s,metadata:()=>a,toc:()=>r});var a=n(86176),i=n(85893),o=n(80980);let s={mdx:{format:"md"},date:"2022-09-01T20:00",authors:["adventure-yunfei","b-ovsepian","datlechin","Josh-Cena","Kosai106","mdubus","slorber","whiteand","YoniChechik","yzhe819"]},u="2.1.0",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},r=[];function l(e){return(0,i.jsx)(i.Fragment,{})}function g(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},80980:function(e,t,n){n.d(t,{Z:()=>u,a:()=>s});var a=n(67294);let i={},o=a.createContext(i);function s(e){let t=a.useContext(o);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function u(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),a.createElement(o.Provider,{value:t},e.children)}},86176:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.1.0","source":"@site/changelog/source/2.1.0.md","title":"2.1.0","description":"New Feature","date":"2022-09-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"adventure-yunfei","alias":"adventure-yunfei","url":"https://github.com/adventure-yunfei","imageURL":"https://github.com/adventure-yunfei.png","key":"adventure-yunfei","page":null},{"name":"Bagdasar Ovsepyan","alias":"b-ovsepian","url":"https://github.com/b-ovsepian","imageURL":"https://github.com/b-ovsepian.png","key":"b-ovsepian","page":null},{"name":"Ng\xf4 Qu\u1ED1c \u0110\u1EA1t","alias":"datlechin","url":"https://github.com/datlechin","imageURL":"https://github.com/datlechin.png","key":"datlechin","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Kevin \xd8sterkilde","alias":"Kosai106","url":"https://github.com/Kosai106","imageURL":"https://github.com/Kosai106.png","key":"Kosai106","page":null},{"name":"Morgane Dubus","alias":"mdubus","url":"https://github.com/mdubus","imageURL":"https://github.com/mdubus.png","key":"mdubus","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"whiteand","alias":"whiteand","url":"https://github.com/whiteand","imageURL":"https://github.com/whiteand.png","key":"whiteand","page":null},{"name":"Yoni Chechik","alias":"YoniChechik","url":"https://github.com/YoniChechik","imageURL":"https://github.com/YoniChechik.png","key":"YoniChechik","page":null},{"name":"yzhe819","alias":"yzhe819","url":"https://github.com/yzhe819","imageURL":"https://github.com/yzhe819.png","key":"yzhe819","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2022-09-01T20:00","authors":["adventure-yunfei","b-ovsepian","datlechin","Josh-Cena","Kosai106","mdubus","slorber","whiteand","YoniChechik","yzhe819"]},"unlisted":false,"prevItem":{"title":"2.2.0","permalink":"/changelog/2.2.0"},"nextItem":{"title":"2.0.1","permalink":"/changelog/2.0.1"},"listPageLink":"/changelog/page/2"}')}}]); \ No newline at end of file diff --git a/assets/js/864aad98.52b05396.js b/assets/js/864aad98.52b05396.js new file mode 100644 index 0000000000..ca197fb71a --- /dev/null +++ b/assets/js/864aad98.52b05396.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["75414"],{78154:function(e,n,t){t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>l,default:()=>m,frontMatter:()=>o,metadata:()=>a,toc:()=>r});var a=t(41474),i=t(85893),s=t(80980);let o={mdx:{format:"md"},date:"2019-12-25T20:00",authors:["endiliey","janko","lex111","nickmccurdy","TransmissionsDev","yangshun"]},l="2.0.0-alpha.40",u={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0]},r=[];function c(e){return(0,i.jsx)(i.Fragment,{})}function m(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},80980:function(e,n,t){t.d(n,{Z:()=>l,a:()=>o});var a=t(67294);let i={},s=a.createContext(i);function o(e){let n=a.useContext(s);return a.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(s.Provider,{value:n},e.children)}},41474:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.40","source":"@site/changelog/source/2.0.0-alpha.40.md","title":"2.0.0-alpha.40","description":"New Feature","date":"2019-12-25T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Endi","alias":"endiliey","url":"https://github.com/endiliey","imageURL":"https://github.com/endiliey.png","key":"endiliey","page":null},{"name":"Janko Marohni\u0107","alias":"janko","url":"https://github.com/janko","imageURL":"https://github.com/janko.png","key":"janko","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Nick McCurdy","alias":"nickmccurdy","url":"https://github.com/nickmccurdy","imageURL":"https://github.com/nickmccurdy.png","key":"nickmccurdy","page":null},{"name":"t11s","alias":"TransmissionsDev","url":"https://github.com/TransmissionsDev","imageURL":"https://github.com/TransmissionsDev.png","key":"TransmissionsDev","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2019-12-25T20:00","authors":["endiliey","janko","lex111","nickmccurdy","TransmissionsDev","yangshun"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.41","permalink":"/changelog/2.0.0-alpha.41"},"nextItem":{"title":"2.0.0-alpha.39","permalink":"/changelog/2.0.0-alpha.39"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/86e3a3d9.fb62a769.js b/assets/js/86e3a3d9.fb62a769.js new file mode 100644 index 0000000000..5aa675911d --- /dev/null +++ b/assets/js/86e3a3d9.fb62a769.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["59093"],{37760:function(e,t,n){n.r(t),n.d(t,{frontMatter:()=>i,default:()=>h,contentTitle:()=>l,assets:()=>d,toc:()=>u,metadata:()=>r});var r=JSON.parse('{"id":"tests/category-links/with-category-name-doc/with-category-name-doc","title":"Category with a doc of category\'s name","description":"You should be able to click on the category and browse this /.md doc","source":"@site/_dogfooding/_docs tests/tests/category-links/with-category-name-doc/with-category-name-doc.mdx","sourceDirName":"tests/category-links/with-category-name-doc","slug":"/tests/category-links/with-category-name-doc/","permalink":"/tests/docs/tests/category-links/with-category-name-doc/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/regular-category/sample-doc"},"next":{"title":"Sample doc","permalink":"/tests/docs/tests/category-links/with-category-name-doc/sample-doc"}}'),o=n(85893),a=n(80980),s=n(86762),c=n(34134);let i={},l="Category with a doc of category's name",d={},u=[{value:"Intro",id:"intro",level:2},{value:"Category content",id:"category-content",level:2}];function m(e){let t={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"category-with-a-doc-of-categorys-name",children:"Category with a doc of category's name"})}),"\n",(0,o.jsxs)(t.p,{children:["You should be able to click on the category and browse this ",(0,o.jsx)(t.code,{children:"<categoryName>/<categoryName>.md"})," doc"]}),"\n",(0,o.jsx)(t.h2,{id:"intro",children:"Intro"}),"\n",(0,o.jsx)(t.p,{children:"Some intro text"}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsx)(t.p,{children:"It is also possible to render the card items for that category thanks to MDX:"})}),"\n",(0,o.jsx)(t.h2,{id:"category-content",children:"Category content"}),"\n","\n",(0,o.jsx)(s.Z,{items:(0,c.jA)().items})]})}function h(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}h.displayName="MDXContent(_dogfooding/_docs tests/tests/category-links/with-category-name-doc/with-category-name-doc.mdx)"},86762:function(e,t,n){n.d(t,{Z:()=>w});var r=n(85893);n(67294);var o=n(90496),a=n(85921),s=n(35363),c=n(11660),i=n(82095),l=n(77827),d=n(57922);let u={cardContainer:"cardContainer_Uewx",cardTitle:"cardTitle_dwRT",cardDescription:"cardDescription_mCBT"};function m(e){let{className:t,href:n,children:a}=e;return(0,r.jsx)(s.Z,{href:n,className:(0,o.Z)("card padding--lg",u.cardContainer,t),children:a})}function h(e){let{className:t,href:n,icon:a,title:s,description:c}=e;return(0,r.jsxs)(m,{href:n,className:t,children:[(0,r.jsxs)(d.Z,{as:"h2",className:(0,o.Z)("text--truncate",u.cardTitle),title:s,children:[a," ",s]}),c&&(0,r.jsx)("p",{className:(0,o.Z)("text--truncate",u.cardDescription),title:c,children:c})]})}function g(e){let{item:t}=e,n=(0,a.LM)(t),o=function(){let{selectMessage:e}=(0,c.c)();return t=>e(t,(0,l.I)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t}))}();return n?(0,r.jsx)(h,{className:t.className,href:n,icon:"\uD83D\uDDC3\uFE0F",title:t.label,description:t.description??o(t.items.length)}):null}function f(e){let{item:t}=e,n=(0,i.Z)(t.href)?"\uD83D\uDCC4\uFE0F":"\uD83D\uDD17",o=(0,a.xz)(t.docId??void 0);return(0,r.jsx)(h,{className:t.className,href:t.href,icon:n,title:t.label,description:t.description??o?.description})}function p(e){let{item:t}=e;switch(t.type){case"link":return(0,r.jsx)(f,{item:t});case"category":return(0,r.jsx)(g,{item:t});default:throw Error(`unknown item type ${JSON.stringify(t)}`)}}function y(e){let{className:t}=e,n=(0,a.Ok)();return(0,r.jsx)(w,{items:n,className:t})}function x(e){let{item:t}=e;return(0,r.jsx)("article",{className:(0,o.Z)("docCardListItem_hvcp","col col--6"),children:(0,r.jsx)(p,{item:t})})}function w(e){let{items:t,className:n}=e;if(!t)return(0,r.jsx)(y,{...e});let s=(0,a.MN)(t);return(0,r.jsx)("section",{className:(0,o.Z)("row",n),children:s.map((e,t)=>(0,r.jsx)(x,{item:e},t))})}},34134:function(e,t,n){function r(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return n(90158).jA(...t)}n.d(t,{jA:()=>r}),n(8156)},11660:function(e,t,n){n.d(t,{c:()=>i});var r=n(67294),o=n(8156);let a=["zero","one","two","few","many","other"];function s(e){return a.filter(t=>e.includes(t))}let c={locale:"en",pluralForms:s(["one","other"]),select:e=>1===e?"one":"other"};function i(){let e=function(){let{i18n:{currentLocale:e}}=(0,o.Z)();return(0,r.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:s(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),c}},[e])}();return{selectMessage:(t,n)=>(function(e,t,n){let r=e.split("|");if(1===r.length)return r[0];r.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${r.length}: ${e}`);let o=n.select(t);return r[Math.min(n.pluralForms.indexOf(o),r.length-1)]})(n,t,e)}}},80980:function(e,t,n){n.d(t,{Z:()=>c,a:()=>s});var r=n(67294);let o={},a=r.createContext(o);function s(e){let t=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8714.fcc90eec.js b/assets/js/8714.fcc90eec.js deleted file mode 100644 index fca35fb092..0000000000 --- a/assets/js/8714.fcc90eec.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[8714],{1412:(e,t,i)=>{i.d(t,{A:()=>a});i(6540);var n=i(1750),s=i(4709),o=i(2409),r=i(4848);function a(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,n.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(s.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},8714:(e,t,i)=>{i.r(t),i.d(t,{default:()=>l});i(6540);var n=i(4709),s=i(5861),o=i(7374),r=i(1412),a=i(4848);function l(){const e=(0,n.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.be,{title:e}),(0,a.jsx)(o.A,{children:(0,a.jsx)(r.A,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/8717b14a.5cee953e.js b/assets/js/8717b14a.5cee953e.js deleted file mode 100644 index a0fab472c8..0000000000 --- a/assets/js/8717b14a.5cee953e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[3694],{2185:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>i,contentTitle:()=>r,default:()=>g,frontMatter:()=>a,metadata:()=>n,toc:()=>u});var n=o(5802),s=o(4848),l=o(3023);const a={slug:"long-blog-post",title:"Long Blog Post",authors:"yangshun",tags:["hello","docusaurus"]},r=void 0,i={authorsImageUrls:[void 0]},u=[];function c(t){const e={code:"code",p:"p",...(0,l.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,s.jsxs)(e.p,{children:["Use a ",(0,s.jsx)(e.code,{children:"\x3c!--"})," ",(0,s.jsx)(e.code,{children:"truncate"})," ",(0,s.jsx)(e.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]})]})}function g(t={}){const{wrapper:e}={...(0,l.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},3023:(t,e,o)=>{o.d(e,{R:()=>a,x:()=>r});var n=o(6540);const s={},l=n.createContext(s);function a(t){const e=n.useContext(l);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:a(t.components),n.createElement(l.Provider,{value:e},t.children)}},5802:t=>{t.exports=JSON.parse('{"permalink":"/blog/long-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2019-05-29-long-blog-post.md","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","tags":[{"inline":false,"label":"Hello","permalink":"/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":2.06,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"yangshun","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/blog/first-blog-post"}}')}}]); \ No newline at end of file diff --git a/assets/js/872e6514.8e68be99.js b/assets/js/872e6514.8e68be99.js new file mode 100644 index 0000000000..abdeda673e --- /dev/null +++ b/assets/js/872e6514.8e68be99.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["22214"],{86064:function(e,n,s){s.r(n),s.d(n,{assets:()=>r,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var o=s(55166),t=s(85893),i=s(80980);let l={mdx:{format:"md"},date:"2019-04-10T20:00"},c="V2 Changelog",r={authorsImageUrls:[]},a=[{value:"<code>siteConfig.js</code> changes",id:"siteconfigjs-changes",level:3},{value:"Migration Guide",id:"migration-guide",level:3},{value:"Presets",id:"presets",level:3}];function d(e){let n={a:"a",code:"code",em:"em",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.h3,{id:"siteconfigjs-changes",children:[(0,t.jsx)(n.code,{children:"siteConfig.js"})," changes"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"siteConfig.js"})," renamed to ",(0,t.jsx)(n.code,{children:"docusaurus.config.js"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Remove the following config options:\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"docsUrl"}),". Use the plugin option on ",(0,t.jsx)(n.code,{children:"docusaurus-plugin-content-docs"})," instead."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"customDocsPath"}),". Use the plugin option on ",(0,t.jsx)(n.code,{children:"docusaurus-plugin-content-docs"})," instead."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"sidebars.json"})," now has to be explicitly loaded by users and passed into the plugin option on ",(0,t.jsx)(n.code,{children:"docusaurus-plugin-content-docs"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"headerLinks"})," doc, page, blog is deprecated and has been to moved into ",(0,t.jsx)(n.code,{children:"themeConfig"})," under the name ",(0,t.jsx)(n.code,{children:"navbar"}),". The syntax is now:"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-js",children:"themeConfig: {\n navbar: {\n title: 'Docusaurus',\n logo: {\n alt: 'Docusaurus Logo',\n src: 'img/docusaurus.svg',\n },\n links: [\n {to: 'docs/introduction', label: 'Docs', position: 'left'},\n {to: 'blog', label: 'Blog', position: 'left'},\n {to: 'feedback', label: 'Feedback', position: 'left'},\n {\n href: 'https://github.com/facebook/docusaurus',\n label: 'GitHub',\n position: 'right',\n },\n ],\n },\n}\n"})}),"\n",(0,t.jsx)(n.h3,{id:"migration-guide",children:"Migration Guide"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.em,{children:"Work in Progress"})}),"\n",(0,t.jsx)(n.h3,{id:"presets",children:"Presets"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Add presets for plugins that follow the ",(0,t.jsx)(n.a,{href:"https://babeljs.io/docs/en/presets",children:"Babel preset convention"}),"."]}),"\n"]})]})}function u(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},80980:function(e,n,s){s.d(n,{Z:()=>c,a:()=>l});var o=s(67294);let t={},i=o.createContext(t);function l(e){let n=o.useContext(i);return o.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),o.createElement(i.Provider,{value:n},e.children)}},55166:function(e){e.exports=JSON.parse('{"permalink":"/changelog/V2 Changelog","source":"@site/changelog/source/V2 Changelog.md","title":"V2 Changelog","description":"siteConfig.js changes","date":"2019-04-10T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-04-10T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.19","permalink":"/changelog/2.0.0-alpha.19"},"listPageLink":"/changelog/page/6"}')}}]); \ No newline at end of file diff --git a/assets/js/876c15f0.946837d5.js b/assets/js/876c15f0.946837d5.js new file mode 100644 index 0000000000..b82d7e9f19 --- /dev/null +++ b/assets/js/876c15f0.946837d5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["85241"],{17631:function(e,t,s){s.r(t),s.d(t,{assets:()=>h,contentTitle:()=>a,default:()=>w,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var i=s(42701),r=s(85893),n=s(80980);let o={title:"How multiple authors with socials looks",authors:[{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor",socials:{x:"https://x.com/sebastienlorber",github:"https://github.com/slorber",stackoverflow:"https://stackoverflow.com/users/82609/sebastien-lorber",linkedin:"https://www.linkedin.com/in/sebastienlorber/",instagram:"https://www.instagram.com/thisweekinreact/",newsletter:"https://thisweekinreact.com/newsletter"}},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",socials:{x:"https://x.com/sebastienlorber",instagram:"thisweekinreact"}},{name:"Zed Spencer-Milnes",title:"All the socials test",urL:"https://gingergeek.co.uk",image_url:"https://github.com/GingerGeek.png",page:!1,socials:{x:"GingerGeek",github:"gingergeek",linkedin:"zedspencermilnes",youtube:"gingergeekuk",bluesky:"gingergeek.co.uk",stackoverflow:2064409,twitch:"gingergeek",threads:"gingergeekuk",mastodon:"https://hachyderm.io/@zed"}},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor"},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor"},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor"},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",socials:{github:"https://github.com/slorber",x:"https://x.com/sebastienlorber"}},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor",socials:{github:"https://github.com/slorber",x:"https://x.com/sebastienlorber"}},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",socials:{a:"https://thisweekinreact.com/newsletter",b:"https://thisweekinreact.com/newsletter",c:"https://thisweekinreact.com/newsletter",d:"https://thisweekinreact.com/newsletter",e:"https://thisweekinreact.com/newsletter",f:"https://thisweekinreact.com/newsletter",g:"https://thisweekinreact.com/newsletter",h:"https://thisweekinreact.com/newsletter",i:"https://thisweekinreact.com/newsletter",j:"https://thisweekinreact.com/newsletter",k:"https://thisweekinreact.com/newsletter",l:"https://thisweekinreact.com/newsletter",m:"https://thisweekinreact.com/newsletter",n:"https://thisweekinreact.com/newsletter",o:"https://thisweekinreact.com/newsletter",p:"https://thisweekinreact.com/newsletter"}},{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",socials:{a:"https://thisweekinreact.com/newsletter",b:"https://thisweekinreact.com/newsletter",c:"https://thisweekinreact.com/newsletter",d:"https://thisweekinreact.com/newsletter",e:"https://thisweekinreact.com/newsletter",f:"https://thisweekinreact.com/newsletter",g:"https://thisweekinreact.com/newsletter",h:"https://thisweekinreact.com/newsletter",i:"https://thisweekinreact.com/newsletter",j:"https://thisweekinreact.com/newsletter",k:"https://thisweekinreact.com/newsletter",l:"https://thisweekinreact.com/newsletter",m:"https://thisweekinreact.com/newsletter",n:"https://thisweekinreact.com/newsletter",o:"https://thisweekinreact.com/newsletter",p:"https://thisweekinreact.com/newsletter",q:"https://thisweekinreact.com/newsletter",r:"https://thisweekinreact.com/newsletter",s:"https://thisweekinreact.com/newsletter",t:"https://thisweekinreact.com/newsletter",u:"https://thisweekinreact.com/newsletter",v:"https://thisweekinreact.com/newsletter",w:"https://thisweekinreact.com/newsletter",x:"https://thisweekinreact.com/newsletter",y:"https://thisweekinreact.com/newsletter",z:"https://thisweekinreact.com/newsletter"}}]},a="Multiple authors",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},c=[{value:"Content",id:"content",level:2}];function l(e){let t={h2:"h2",p:"p",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsx)(t.p,{children:"Content about the blog post"})]})}function w(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},80980:function(e,t,s){s.d(t,{Z:()=>a,a:()=>o});var i=s(67294);let r={},n=i.createContext(r);function o(e){let t=i.useContext(n);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(n.Provider,{value:t},e.children)}},42701:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2024/07/03/multiple-authors","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2024-07-03-multiple-authors.mdx","source":"@site/_dogfooding/_blog tests/2024-07-03-multiple-authors.mdx","title":"How multiple authors with socials looks","description":"Content","date":"2024-07-03T00:00:00.000Z","tags":[],"readingTime":1.4,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","stackoverflow":"https://stackoverflow.com/users/82609/sebastien-lorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","instagram":"https://www.instagram.com/thisweekinreact/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","instagram":"https://www.instagram.com/thisweekinreact"},"key":null,"page":null},{"name":"Zed Spencer-Milnes","title":"All the socials test","urL":"https://gingergeek.co.uk","image_url":"https://github.com/GingerGeek.png","page":false,"socials":{"x":"https://x.com/GingerGeek","github":"https://github.com/gingergeek","linkedin":"https://www.linkedin.com/in/zedspencermilnes/","youtube":"https://youtube.com/@gingergeekuk","bluesky":"https://bsky.app/profile/gingergeek.co.uk","stackoverflow":"https://stackoverflow.com/users/2064409","twitch":"https://twitch.tv/gingergeek","threads":"https://www.threads.net/@gingergeekuk","mastodon":"https://hachyderm.io/@zed"},"imageURL":"https://github.com/GingerGeek.png","key":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor","socials":{},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter"},"key":null,"page":null},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter","q":"https://thisweekinreact.com/newsletter","r":"https://thisweekinreact.com/newsletter","s":"https://thisweekinreact.com/newsletter","t":"https://thisweekinreact.com/newsletter","u":"https://thisweekinreact.com/newsletter","v":"https://thisweekinreact.com/newsletter","w":"https://thisweekinreact.com/newsletter","x":"https://thisweekinreact.com/newsletter","y":"https://thisweekinreact.com/newsletter","z":"https://thisweekinreact.com/newsletter"},"key":null,"page":null}],"frontMatter":{"title":"How multiple authors with socials looks","authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","stackoverflow":"https://stackoverflow.com/users/82609/sebastien-lorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","instagram":"https://www.instagram.com/thisweekinreact/","newsletter":"https://thisweekinreact.com/newsletter"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"x":"https://x.com/sebastienlorber","instagram":"thisweekinreact"}},{"name":"Zed Spencer-Milnes","title":"All the socials test","urL":"https://gingergeek.co.uk","image_url":"https://github.com/GingerGeek.png","page":false,"socials":{"x":"GingerGeek","github":"gingergeek","linkedin":"zedspencermilnes","youtube":"gingergeekuk","bluesky":"gingergeek.co.uk","stackoverflow":"2064409","twitch":"gingergeek","threads":"gingergeekuk","mastodon":"https://hachyderm.io/@zed"},"imageURL":"https://github.com/GingerGeek.png"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor"},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor","socials":{"github":"https://github.com/slorber","x":"https://x.com/sebastienlorber"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter"}},{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","socials":{"a":"https://thisweekinreact.com/newsletter","b":"https://thisweekinreact.com/newsletter","c":"https://thisweekinreact.com/newsletter","d":"https://thisweekinreact.com/newsletter","e":"https://thisweekinreact.com/newsletter","f":"https://thisweekinreact.com/newsletter","g":"https://thisweekinreact.com/newsletter","h":"https://thisweekinreact.com/newsletter","i":"https://thisweekinreact.com/newsletter","j":"https://thisweekinreact.com/newsletter","k":"https://thisweekinreact.com/newsletter","l":"https://thisweekinreact.com/newsletter","m":"https://thisweekinreact.com/newsletter","n":"https://thisweekinreact.com/newsletter","o":"https://thisweekinreact.com/newsletter","p":"https://thisweekinreact.com/newsletter","q":"https://thisweekinreact.com/newsletter","r":"https://thisweekinreact.com/newsletter","s":"https://thisweekinreact.com/newsletter","t":"https://thisweekinreact.com/newsletter","u":"https://thisweekinreact.com/newsletter","v":"https://thisweekinreact.com/newsletter","w":"https://thisweekinreact.com/newsletter","x":"https://thisweekinreact.com/newsletter","y":"https://thisweekinreact.com/newsletter","z":"https://thisweekinreact.com/newsletter"}}]},"unlisted":false,"prevItem":{"title":"Dual author socials","permalink":"/tests/blog/2024/07/03/dual-author"},"nextItem":{"title":"Single author socials","permalink":"/tests/blog/2024/07/03/single-author"}}')}}]); \ No newline at end of file diff --git a/assets/js/87e9b44c.f1827e31.js b/assets/js/87e9b44c.f1827e31.js new file mode 100644 index 0000000000..40e53854cf --- /dev/null +++ b/assets/js/87e9b44c.f1827e31.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["42332"],{81507:function(e,t,s){s.r(t),s.d(t,{frontMatter:()=>o,default:()=>m,contentTitle:()=>a,assets:()=>c,toc:()=>u,metadata:()=>n});var n=JSON.parse('{"id":"tests/visibility/some-unlisteds/unlisted-subcategory/index","title":"Subcategory index unlisted","description":"Doc with unlisted front matter","source":"@site/_dogfooding/_docs tests/tests/visibility/some-unlisteds/unlisted-subcategory/index.mdx","sourceDirName":"tests/visibility/some-unlisteds/unlisted-subcategory","slug":"/tests/visibility/some-unlisteds/unlisted-subcategory/","permalink":"/tests/docs/tests/visibility/some-unlisteds/unlisted-subcategory/","draft":false,"unlisted":true,"tags":[{"inline":false,"label":"Visibility","permalink":"/tests/docs/tags/visibility"},{"inline":false,"label":"Unlisted","permalink":"/tests/docs/tags/unlisted"}],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"unlisted":true,"tags":["visibility","unlisted"]},"sidebar":"sidebar"}'),i=s(85893),r=s(80980),l=s(86762);let o={unlisted:!0,tags:["visibility","unlisted"]},a="Subcategory index unlisted",c={},u=[];function d(e){let t={h1:"h1",header:"header",p:"p",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"subcategory-index-unlisted",children:"Subcategory index unlisted"})}),"\n",(0,i.jsx)(t.p,{children:"Doc with unlisted front matter"}),"\n","\n",(0,i.jsx)(l.Z,{})]})}function m(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}m.displayName="MDXContent(_dogfooding/_docs tests/tests/visibility/some-unlisteds/unlisted-subcategory/index.mdx)"},86762:function(e,t,s){s.d(t,{Z:()=>y});var n=s(85893);s(67294);var i=s(90496),r=s(85921),l=s(35363),o=s(11660),a=s(82095),c=s(77827),u=s(57922);let d={cardContainer:"cardContainer_Uewx",cardTitle:"cardTitle_dwRT",cardDescription:"cardDescription_mCBT"};function m(e){let{className:t,href:s,children:r}=e;return(0,n.jsx)(l.Z,{href:s,className:(0,i.Z)("card padding--lg",d.cardContainer,t),children:r})}function f(e){let{className:t,href:s,icon:r,title:l,description:o}=e;return(0,n.jsxs)(m,{href:s,className:t,children:[(0,n.jsxs)(u.Z,{as:"h2",className:(0,i.Z)("text--truncate",d.cardTitle),title:l,children:[r," ",l]}),o&&(0,n.jsx)("p",{className:(0,i.Z)("text--truncate",d.cardDescription),title:o,children:o})]})}function p(e){let{item:t}=e,s=(0,r.LM)(t),i=function(){let{selectMessage:e}=(0,o.c)();return t=>e(t,(0,c.I)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t}))}();return s?(0,n.jsx)(f,{className:t.className,href:s,icon:"\uD83D\uDDC3\uFE0F",title:t.label,description:t.description??i(t.items.length)}):null}function h(e){let{item:t}=e,s=(0,a.Z)(t.href)?"\uD83D\uDCC4\uFE0F":"\uD83D\uDD17",i=(0,r.xz)(t.docId??void 0);return(0,n.jsx)(f,{className:t.className,href:t.href,icon:s,title:t.label,description:t.description??i?.description})}function g(e){let{item:t}=e;switch(t.type){case"link":return(0,n.jsx)(h,{item:t});case"category":return(0,n.jsx)(p,{item:t});default:throw Error(`unknown item type ${JSON.stringify(t)}`)}}function x(e){let{className:t}=e,s=(0,r.Ok)();return(0,n.jsx)(y,{items:s,className:t})}function b(e){let{item:t}=e;return(0,n.jsx)("article",{className:(0,i.Z)("docCardListItem_hvcp","col col--6"),children:(0,n.jsx)(g,{item:t})})}function y(e){let{items:t,className:s}=e;if(!t)return(0,n.jsx)(x,{...e});let l=(0,r.MN)(t);return(0,n.jsx)("section",{className:(0,i.Z)("row",s),children:l.map((e,t)=>(0,n.jsx)(b,{item:e},t))})}},11660:function(e,t,s){s.d(t,{c:()=>a});var n=s(67294),i=s(8156);let r=["zero","one","two","few","many","other"];function l(e){return r.filter(t=>e.includes(t))}let o={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function a(){let e=function(){let{i18n:{currentLocale:e}}=(0,i.Z)();return(0,n.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:l(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),o}},[e])}();return{selectMessage:(t,s)=>(function(e,t,s){let n=e.split("|");if(1===n.length)return n[0];n.length>s.pluralForms.length&&console.error(`For locale=${s.locale}, a maximum of ${s.pluralForms.length} plural forms are expected (${s.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);let i=s.select(t);return n[Math.min(s.pluralForms.indexOf(i),n.length-1)]})(s,t,e)}}},80980:function(e,t,s){s.d(t,{Z:()=>o,a:()=>l});var n=s(67294);let i={},r=n.createContext(i);function l(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/88108.7bad33b6.js b/assets/js/88108.7bad33b6.js new file mode 100644 index 0000000000..925af2b448 --- /dev/null +++ b/assets/js/88108.7bad33b6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["88108"],{12806:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=i(n(67294)),o=i(n(5625));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}t.default=e=>r.default.createElement(o.default,a({},e,{path:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-5 5-5-5h3V9h4v4h3z"}))},90418:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=i(n(67294)),o=i(n(5625));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}t.default=e=>r.default.createElement(o.default,a({},e,{path:"M6,2V8H6V8L10,12L6,16V16H6V22H18V16H18V16L14,12L18,8V8H18V2H6M16,16.5V20H8V16.5L12,12.5L16,16.5M12,11.5L8,7.5V4H16V7.5L12,11.5Z"}))},59349:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=i(n(67294)),o=i(n(5625));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}t.default=e=>r.default.createElement(o.default,a({},e,{path:"M19.35 10.04C18.67 6.59 15.64 4 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46C10.21 6.23 11.08 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96zM3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73 4.27 4 3 5.27zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h1.73z"}))},57949:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=i(n(67294)),o=i(n(5625));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}t.default=e=>r.default.createElement(o.default,a({},e,{path:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}))},5625:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,o=(r=n(67294))&&r.__esModule?r:{default:r};t.default=e=>{let{size:t=24,fill:n="#000",className:r,path:i}=e;return o.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 24 24",className:r},o.default.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),o.default.createElement("path",{fill:n,d:i}))}},34013:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,o=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&({}).hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}(n(67294)),i=n(22901),a=(r=n(75210))&&r.__esModule?r:{default:r},s=n(37206),l=n(9376),c=n(48795);function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}function d(){return(d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(Object(n),!0).forEach(function(t){h(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function h(e,t,n){var r;return(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let{initial:v,loading:w,loaded:m,error:g}=s.loadStates;class b extends o.Component{constructor(e){super(e),h(this,"onClick",()=>{let{loadState:e,onLine:t,overThreshold:n}=this.state;if(t)switch(e){case w:n&&this.cancel(!0);return;case m:return;case v:case g:this.load(!0);return;default:throw Error("Wrong state: "+e)}}),h(this,"load",e=>{let{loadState:t,url:n}=this.state;if(c.ssr||m===t||w===t)return;this.loadStateChange(w,e);let{threshold:r}=this.props,o="xhr"===this.props.loader?(0,l.xhrLoader)(n):(0,l.imageLoader)(n);if(o.then(()=>{this.clear(),this.loadStateChange(m,!1)}).catch(e=>{this.clear(),404===e.status?this.loadStateChange(g,!1,404):this.loadStateChange(g,!1)}),r){let e=(0,l.timeout)(r);e.then(()=>{this.loader&&(window.document.dispatchEvent(new CustomEvent("possiblySlowNetwork",{detail:{possiblySlowNetwork:!0}})),this.setState({overThreshold:!0}),this.state.userTriggered||this.cancel(!0))}),this.loader=(0,l.combineCancel)(o,e)}else this.loader=o}),h(this,"onEnter",()=>{if(this.state.inViewport)return;this.setState({inViewport:!0});let e=(0,c.selectSrc)({srcSet:this.props.srcSet,maxImageWidth:this.props.srcSet.length>1?(0,c.guessMaxImageWidth)(this.state.dimensions):0,supportsWebp:c.supportsWebp}),{getUrl:t}=this.props,n=t?t(e):e.src,r=this.props.shouldAutoDownload(p(p({},this.state),{},{size:e.size}));this.setState({pickedSrc:e,shouldAutoDownload:r,url:n},()=>{r&&this.load(!1)})}),h(this,"onLeave",()=>{this.state.loadState!==w||this.state.userTriggered||(this.setState({inViewport:!1}),this.cancel(!1))}),this.state={loadState:v,connection:c.nativeConnection?{downlink:navigator.connection.downlink,rtt:navigator.connection.rtt,effectiveType:navigator.connection.effectiveType}:null,onLine:!0,overThreshold:!1,inViewport:!1,userTriggered:!1,possiblySlowNetwork:!1}}componentDidMount(){c.nativeConnection?(this.updateConnection=()=>{navigator.onLine&&this.state.loadState===v&&this.setState({connection:{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}})},navigator.connection.addEventListener("onchange",this.updateConnection)):this.props.threshold&&(this.possiblySlowNetworkListener=e=>{if(this.state.loadState!==v)return;let{possiblySlowNetwork:t}=e.detail;!this.state.possiblySlowNetwork&&t&&this.setState({possiblySlowNetwork:t})},window.document.addEventListener("possiblySlowNetwork",this.possiblySlowNetworkListener)),this.updateOnlineStatus=()=>this.setState({onLine:navigator.onLine}),this.updateOnlineStatus(),window.addEventListener("online",this.updateOnlineStatus),window.addEventListener("offline",this.updateOnlineStatus)}componentWillUnmount(){this.clear(),c.nativeConnection?navigator.connection.removeEventListener("onchange",this.updateConnection):this.props.threshold&&window.document.removeEventListener("possiblySlowNetwork",this.possiblySlowNetworkListener),window.removeEventListener("online",this.updateOnlineStatus),window.removeEventListener("offline",this.updateOnlineStatus)}clear(){this.loader&&(this.loader.cancel(),this.loader=void 0)}cancel(e){w===this.state.loadState&&(this.clear(),this.loadStateChange(v,e))}loadStateChange(e,t,n){void 0===n&&(n=null),this.setState({loadState:e,overThreshold:!1,userTriggered:!!t,loadInfo:n})}render(){let e=this.props.getIcon(this.state),t=this.props.getMessage(e,this.state);return o.default.createElement(i.Waypoint,{onEnter:this.onEnter,onLeave:this.onLeave},o.default.createElement(a.default,d({},this.props,(0,c.fallbackParams)(this.props),{onClick:this.onClick,icon:e,src:this.state.url||"",onDimensions:e=>this.setState({dimensions:e}),message:t})))}}t.default=b,h(b,"defaultProps",{shouldAutoDownload:e=>{let{connection:t,size:n,threshold:r,possiblySlowNetwork:o}=e;if(o)return!1;if(!t)return!0;let{downlink:i,rtt:a,effectiveType:s}=t;switch(s){case"slow-2g":case"2g":return!1;case"3g":if(i&&n&&r)return 8*n/(1e3*i)+a<r;return!1;default:return!0}},getMessage:(e,t)=>{switch(e){case s.icons.noicon:case s.icons.loaded:return null;case s.icons.loading:return"Loading...";case s.icons.load:let{pickedSrc:n}=t,{size:r}=n;if(r)return["Click to load (",o.default.createElement("nobr",{key:"nb"},(0,c.bytesToSize)(r)),")"];return"Click to load";case s.icons.offline:return"Your browser is offline. Image not loaded";case s.icons.error:let{loadInfo:i}=t;if(404===i)return"404. Image not found";return"Error. Click to reload";default:throw Error("Wrong icon: "+e)}},getIcon:e=>{let{loadState:t,onLine:n,overThreshold:r,userTriggered:o}=e;if(c.ssr)return s.icons.noicon;switch(t){case m:return s.icons.loaded;case w:return r?s.icons.loading:s.icons.noicon;case v:if(!n)return s.icons.offline;{let{shouldAutoDownload:t}=e;if(void 0===t)return s.icons.noicon;return o||!t?s.icons.load:s.icons.noicon}case g:return n?s.icons.error:s.icons.offline;default:throw Error("Wrong state: "+t)}},loader:"xhr"})},54650:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=l(n(67294)),o=l(n(34013)),i=l(n(35126)),a=l(n(36832));let s=["icons","theme"];function l(e){return e&&e.__esModule?e:{default:e}}function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}t.default=e=>{let{icons:t=i.default,theme:n=a.default}=e,l=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.includes(n)||({}).propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,s);return r.default.createElement(o.default,c({},l,{icons:t,theme:n}))}},75210:function(e,t,n){t.__esModule=!0,t.default=void 0;var r,o,i,a,s=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=c(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&({}).hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}(n(67294)),l=(o=n(51202))&&o.__esModule?o:{default:o};function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(e){return e?n:t})(e)}function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}let{load:d,loading:f,loaded:p,error:h,noicon:v,offline:w}=n(37206).icons;class m extends s.PureComponent{constructor(e){super(e),this.state={isMounted:!1}}componentDidMount(){this.setState({isMounted:!0}),this.props.onDimensions&&this.dimensionElement&&this.props.onDimensions({width:this.dimensionElement.clientWidth||this.dimensionElement.parentNode.clientWidth,height:this.dimensionElement.clientHeight||this.dimensionElement.parentNode.clientHeight})}renderIcon(e){let{icon:t,icons:n,iconColor:r,iconSize:o,theme:i}=e,a=n[t];if(!a)return null;let c=(0,l.default)({width:o+100,height:o,color:r},i.icon);return s.default.createElement("div",c,[s.default.createElement(a,{fill:r,size:o,key:"icon"}),s.default.createElement("br",{key:"br"}),this.props.message])}renderImage(e){return e.icon===p?s.default.createElement("img",u({},(0,l.default)(e.theme.img),{src:e.src,alt:e.alt,width:e.width,height:e.height})):s.default.createElement("svg",u({},(0,l.default)(e.theme.img),{width:e.width,height:e.height,ref:e=>this.dimensionElement=e}))}renderNoscript(e){return this.state.isMounted?null:s.default.createElement("noscript",null,s.default.createElement("img",u({},(0,l.default)(e.theme.img,e.theme.noscript),{src:e.nsSrc,srcSet:e.nsSrcSet,alt:e.alt,width:e.width,height:e.height})))}render(){let e;let t=this.props,{placeholder:n,theme:r}=t;return e=t.icon===p?{}:n.lqip?{backgroundImage:'url("'+n.lqip+'")'}:{backgroundColor:n.color},s.default.createElement("div",u({},(0,l.default)(r.placeholder,e,t.style,t.className),{onClick:this.props.onClick,onKeyPress:this.props.onClick,ref:this.props.innerRef}),this.renderImage(t),this.renderNoscript(t),this.renderIcon(t))}}t.default=m,a={iconColor:"#fff",iconSize:64},(i="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(i="defaultProps","string"))?r:r+"")in m?Object.defineProperty(m,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):m[i]=a},51202:function(e,t){t.__esModule=!0,t.default=void 0,t.default=function(){let e;let t=[];for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];for(let n of r)if(n instanceof Object)Object.assign(e||(e={}),n);else if(void 0===n||!1===n);else if("string"==typeof n)t.push(n);else throw Error("Unexpected value "+n);return{className:t.length>1?t.join(" "):t[0],style:e}}},37206:function(e,t){t.__esModule=!0,t.loadStates=t.icons=void 0;let n="loading",r="loaded",o="error";t.icons={load:"load",loading:n,loaded:r,error:o,noicon:"noicon",offline:"offline"},t.loadStates={initial:"initial",loading:n,loaded:r,error:o}},48795:function(e,t){t.__esModule=!0,t.supportsWebp=t.ssr=t.selectSrc=t.nativeConnection=t.guessMaxImageWidth=t.fallbackParams=t.bytesToSize=void 0;let n=t.ssr="undefined"==typeof window||"ReactSnap"===window.navigator.userAgent;t.nativeConnection=!n&&!!window.navigator.connection,t.guessMaxImageWidth=(e,t)=>{let r;if(n)return 0;t||(t=window);let o=e.width,{screen:i}=t,a=i.width,s=i.height,{documentElement:l}=document,c=t.innerWidth||l.clientWidth,u=t.innerHeight||l.clientHeight,d=t.devicePixelRatio||1;if(a>c){let e=document.getElementsByTagName("body")[0],t=c-o;r=(e.clientHeight>u||e.clientHeight>s)&&t<=15?a-t:o/c*a}else r=o;return r*d},t.bytesToSize=e=>{let t=["Bytes","KB","MB","GB","TB"];if(0===e)return"n/a";let n=parseInt(Math.floor(Math.log(e)/Math.log(1024)),10);return 0===n?e+" "+t[n]:(e/1024**n).toFixed(1)+" "+t[n]},t.supportsWebp=(()=>{if(n)return!1;let e=document.createElement("canvas");return!!(e.getContext&&e.getContext("2d"))&&0===e.toDataURL("image/webp").indexOf("data:image/webp")})();let r=e=>"webp"===e.format||e.src&&e.src.match(/\.webp($|\?.*)/i);t.selectSrc=e=>{let t,n,{srcSet:o,maxImageWidth:i,supportsWebp:a}=e;if(0===o.length)throw Error("Need at least one item in srcSet");if(a)0===(t=o.filter(r)).length&&(t=o);else if(0===(t=o.filter(e=>!r(e))).length)throw Error("Need at least one supported format item in srcSet");let s=t.filter(e=>e.width>=i);return 0===s.length?(s=t,n=Math.max.apply(null,s.map(e=>e.width))):n=Math.min.apply(null,s.map(e=>e.width)),t.filter(e=>e.width===n)[0]},t.fallbackParams=e=>{let{srcSet:t,getUrl:o}=e;if(!n)return{};let i=t.filter(e=>!r(e)),a=i[0];return{nsSrcSet:i.map(e=>(o?o(e):e.src)+" "+e.width+"w").join(","),nsSrc:o?o(a):a.src,ssr:n}}},35126:function(e,t,n){t.__esModule=!0,t.default=void 0;var r=s(n(12806)),o=s(n(59349)),i=s(n(57949)),a=s(n(90418));function s(e){return e&&e.__esModule?e:{default:e}}let{load:l,loading:c,loaded:u,error:d,noicon:f,offline:p}=n(37206).icons;t.default={[l]:r.default,[c]:a.default,[u]:null,[d]:i.default,[f]:null,[p]:o.default}},9376:function(e,t,n){t.__esModule=!0,t.xhrLoader=t.timeout=t.imageLoader=t.combineCancel=void 0;var r=n(12025);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach(function(t){var r,o,i;r=e,o=t,i=n[t],(o=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(o))in r?Object.defineProperty(r,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[o]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}t.combineCancel=(e,t)=>{if(!t)return e;let n=e.then(e=>e,e=>e);return n.cancel=()=>{e.cancel(),t.cancel()},n},t.timeout=e=>{let t;let n=new Promise(n=>{t=setTimeout(n,e)});return n.cancel=()=>{clearTimeout(t),t=void 0},n};let a=e=>{let t=new Image,n=new Promise((n,r)=>{t.onload=n,t.onabort=t.onerror=()=>r({}),t.src=e});return n.cancel=()=>{if(!t)throw Error("Already canceled");t.onload=t.onabort=t.onerror=void 0,t.src="",t=void 0},n};t.imageLoader=a,t.xhrLoader=(e,t)=>{let n=new r.UnfetchAbortController,o=n.signal,s=new Promise((n,s)=>(0,r.unfetch)(e,i(i({},t),{},{signal:o})).then(t=>{t.ok?t.blob().then(()=>a(e)).then(n):s({status:t.status})},s));return s.cancel=()=>{if(!n)throw Error("Already canceled");n.abort(),n=void 0},s}},36832:function(e,t){t.__esModule=!0,t.default=void 0,t.default={placeholder:{backgroundSize:"cover",backgroundRepeat:"no-repeat",position:"relative"},img:{width:"100%",height:"auto",maxWidth:"100%",marginBottom:"-4px"},icon:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",textAlign:"center"},noscript:{position:"absolute",top:0,left:0}}},12025:function(e,t){t.__esModule=!0,t.unfetch=t.UnfetchAbortController=void 0,t.UnfetchAbortController=class{constructor(){this.signal={onabort:()=>{}},this.abort=()=>this.signal.onabort()}},t.unfetch=(e,t)=>(t=t||{},new Promise((n,r)=>{let o=new XMLHttpRequest;for(let n in o.open(t.method||"get",e,!0),t.headers)o.setRequestHeader(n,t.headers[n]);o.withCredentials="include"===t.credentials,o.onload=()=>{n(function e(){let t;let n=[],r=[],i={};return o.getAllResponseHeaders().replace(/^(.*?):\s*?([\s\S]*?)$/gm,(e,o,a)=>{n.push(o=o.toLowerCase()),r.push([o,a]),t=i[o],i[o]=t?t+","+a:a}),{ok:(o.status/100|0)==2,status:o.status,statusText:o.statusText,url:o.responseURL,clone:e,text:()=>Promise.resolve(o.responseText),json:()=>Promise.resolve(o.responseText).then(JSON.parse),blob:()=>Promise.resolve(new Blob([o.response])),headers:{keys:()=>n,entries:()=>r,get:e=>i[e.toLowerCase()],has:e=>e.toLowerCase()in i}}}())},o.onerror=r,t.signal&&(t.signal.onabort=()=>{o.onerror=o.onload=void 0,o.abort()}),o.send(t.body)}))},66222:function(e,t,n){t.default=void 0;var r,o=(r=n(54650))&&r.__esModule?r:{default:r};t.default=o.default},58702:function(e,t){var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.server_context"),u=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy");Symbol.for("react.offscreen"),Symbol.for("react.module.reference"),t.isForwardRef=function(e){return function(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case o:case a:case i:case d:case f:return e;default:switch(e=e&&e.$$typeof){case c:case l:case u:case h:case p:case s:return e;default:return t}}case r:return t}}}(e)===u}},19185:function(e,t,n){e.exports=n(58702)},22901:function(e,t,n){n.r(t),n.d(t,{Waypoint:()=>O});var r,o=n(54652),i=!!("undefined"!=typeof window&&window.document&&window.document.createElement),a=void 0;function s(e){e.handlers===e.nextHandlers&&(e.nextHandlers=e.handlers.slice())}function l(e){this.target=e,this.events={}}l.prototype.getEventHandlers=function(e,t){var n=String(e)+" "+String(t?!0===t?100:(t.capture<<0)+(t.passive<<1)+(t.once<<2):0);return this.events[n]||(this.events[n]={handlers:[],handleEvent:void 0},this.events[n].nextHandlers=this.events[n].handlers),this.events[n]},l.prototype.handleEvent=function(e,t,n){var r=this.getEventHandlers(e,t);r.handlers=r.nextHandlers,r.handlers.forEach(function(e){e&&e(n)})},l.prototype.add=function(e,t,n){var r=this,o=this.getEventHandlers(e,n);s(o),0===o.nextHandlers.length&&(o.handleEvent=this.handleEvent.bind(this,e,n),this.target.addEventListener(e,o.handleEvent,n)),o.nextHandlers.push(t);var i=!0;return function(){if(i){i=!1,s(o);var a=o.nextHandlers.indexOf(t);o.nextHandlers.splice(a,1),0===o.nextHandlers.length&&(r.target&&r.target.removeEventListener(e,o.handleEvent,n),o.handleEvent=void 0)}}};var c="__consolidated_events_handlers__";function u(e,t,n,r){e[c]||(e[c]=new l(e));var o=r?(void 0===a&&(a=function(){if(!i||!window.addEventListener||!window.removeEventListener||!Object.defineProperty)return!1;var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t)}catch(e){}return e}()),a)?r:!!r.capture:void 0;return e[c].add(t,n,o)}var d=n(67294),f=n(19185);function p(e,t){var n=!isNaN(parseFloat(e))&&isFinite(e)?parseFloat(e):"px"===e.slice(-2)?parseFloat(e.slice(0,-2)):void 0;if("number"==typeof n)return n;var r=function(e){if("%"===e.slice(-1))return parseFloat(e.slice(0,-1))/100}(e);if("number"==typeof r)return r*t}var h="above",v="inside",w="below",m="invisible";function g(e){return"string"==typeof e.type}var b=[];function y(e){b.push(e),r||(r=setTimeout(function(){var e;for(r=null;e=b.shift();)e()},0));var t=!0;return function(){if(t){t=!1;var n=b.indexOf(e);-1!==n&&(b.splice(n,1),!b.length&&r&&(clearTimeout(r),r=null))}}}var S="undefined"!=typeof window,O=function(e){function t(t){var n;return(n=e.call(this,t)||this).refElement=function(e){n._ref=e},n}(0,o.Z)(t,e);var r=t.prototype;return r.componentDidMount=function(){var e=this;S&&(this.cancelOnNextTick=y(function(){e.cancelOnNextTick=null;var t=e.props,n=t.children;t.debug,function(e,t){if(e&&!g(e)&&!t)throw Error("<Waypoint> needs a DOM element to compute boundaries. The child you passed is neither a DOM element (e.g. <div>) nor does it use the innerRef prop.\n\nSee https://goo.gl/LrBNgw for more info.")}(n,e._ref),e._handleScroll=e._handleScroll.bind(e),e.scrollableAncestor=e._findScrollableAncestor(),e.scrollEventListenerUnsubscribe=u(e.scrollableAncestor,"scroll",e._handleScroll,{passive:!0}),e.resizeEventListenerUnsubscribe=u(window,"resize",e._handleScroll,{passive:!0}),e._handleScroll(null)}))},r.componentDidUpdate=function(){var e=this;S&&this.scrollableAncestor&&!this.cancelOnNextTick&&(this.cancelOnNextTick=y(function(){e.cancelOnNextTick=null,e._handleScroll(null)}))},r.componentWillUnmount=function(){S&&(this.scrollEventListenerUnsubscribe&&this.scrollEventListenerUnsubscribe(),this.resizeEventListenerUnsubscribe&&this.resizeEventListenerUnsubscribe(),this.cancelOnNextTick&&this.cancelOnNextTick())},r._findScrollableAncestor=function(){var e=this.props,t=e.horizontal,r=e.scrollableAncestor;if(r)return"window"===r?n.g.window:r;for(var o=this._ref;o.parentNode&&(o=o.parentNode)!==document.body;){var i=window.getComputedStyle(o),a=(t?i.getPropertyValue("overflow-x"):i.getPropertyValue("overflow-y"))||i.getPropertyValue("overflow");if("auto"===a||"scroll"===a||"overlay"===a)return o}return window},r._handleScroll=function(e){if(this._ref){var t=this._getBounds(),n=t.viewportBottom-t.viewportTop==0?m:t.viewportTop<=t.waypointTop&&t.waypointTop<=t.viewportBottom||t.viewportTop<=t.waypointBottom&&t.waypointBottom<=t.viewportBottom||t.waypointTop<=t.viewportTop&&t.viewportBottom<=t.waypointBottom?v:t.viewportBottom<t.waypointTop?w:t.waypointTop<t.viewportTop?h:m,r=this._previousPosition,o=this.props,i=(o.debug,o.onPositionChange),a=o.onEnter,s=o.onLeave,l=o.fireOnRapidScroll;if(this._previousPosition=n,r!==n){var c={currentPosition:n,previousPosition:r,event:e,waypointTop:t.waypointTop,waypointBottom:t.waypointBottom,viewportTop:t.viewportTop,viewportBottom:t.viewportBottom};i.call(this,c),n===v?a.call(this,c):r===v&&s.call(this,c);var u=r===w&&n===h,d=r===h&&n===w;l&&(u||d)&&(a.call(this,{currentPosition:v,previousPosition:r,event:e,waypointTop:t.waypointTop,waypointBottom:t.waypointBottom,viewportTop:t.viewportTop,viewportBottom:t.viewportBottom}),s.call(this,{currentPosition:n,previousPosition:v,event:e,waypointTop:t.waypointTop,waypointBottom:t.waypointBottom,viewportTop:t.viewportTop,viewportBottom:t.viewportBottom}))}}},r._getBounds=function(){var e,t,n=this.props,r=n.horizontal;n.debug;var o=this._ref.getBoundingClientRect(),i=o.left,a=o.top,s=o.right,l=o.bottom;this.scrollableAncestor===window?(e=r?window.innerWidth:window.innerHeight,t=0):(e=r?this.scrollableAncestor.offsetWidth:this.scrollableAncestor.offsetHeight,t=r?this.scrollableAncestor.getBoundingClientRect().left:this.scrollableAncestor.getBoundingClientRect().top);var c=this.props,u=c.bottomOffset,d=p(c.topOffset,e),f=p(u,e),h=t+e;return{waypointTop:r?i:a,waypointBottom:r?s:l,viewportTop:t+d,viewportBottom:h-f}},r.render=function(){var e=this,t=this.props.children;return t?g(t)||(0,f.isForwardRef)(t)?d.cloneElement(t,{ref:function(n){e.refElement(n),t.ref&&("function"==typeof t.ref?t.ref(n):t.ref.current=n)}}):d.cloneElement(t,{innerRef:this.refElement}):d.createElement("span",{ref:this.refElement,style:{fontSize:0}})},t}(d.PureComponent);O.above=h,O.below=w,O.inside=v,O.invisible=m,O.defaultProps={debug:!1,scrollableAncestor:void 0,children:void 0,topOffset:"0px",bottomOffset:"0px",horizontal:!1,onEnter:function(){},onLeave:function(){},onPositionChange:function(){},fireOnRapidScroll:!0},O.displayName="Waypoint"}}]); \ No newline at end of file diff --git a/assets/js/88d0be04.6f7e001a.js b/assets/js/88d0be04.6f7e001a.js new file mode 100644 index 0000000000..217f6ef583 --- /dev/null +++ b/assets/js/88d0be04.6f7e001a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["63623"],{40801:function(e,l,t){t.r(l),t.d(l,{frontMatter:()=>c,default:()=>m,contentTitle:()=>d,assets:()=>u,toc:()=>v,metadata:()=>n});var n=JSON.parse('{"id":"toc/toc-test-good","title":"toc-test-good","description":"Test the TOC behavior of a real-world MD doc with valid headings","source":"@site/_dogfooding/_docs tests/toc/toc-test-good.mdx","sourceDirName":"toc","slug":"/toc/toc-test-good","permalink":"/tests/docs/toc/toc-test-good","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"toc_min_heading_level":2,"toc_max_heading_level":6},"sidebar":"sidebar","previous":{"title":"toc-test-bad","permalink":"/tests/docs/toc/toc-test-bad"}}'),s=t(85893),o=t(80980),a=t(14522),i=t(78596),r=t(57589);let c={toc_min_heading_level:2,toc_max_heading_level:6},d=void 0,u={},v=[{value:"lvl 2",id:"lvl-2",level:2},{value:"lvl 3",id:"lvl-3",level:3},{value:"lvl 4",id:"lvl-4",level:4},{value:"lvl 5",id:"lvl-5",level:5},{value:"lvl 6",id:"lvl-6",level:6},{value:"lvl 2",id:"lvl-2-1",level:2},{value:"lvl 3",id:"lvl-3-1",level:3},{value:"lvl 4",id:"lvl-4-1",level:4},{value:"lvl 5",id:"lvl-5-1",level:5},{value:"lvl 6",id:"lvl-6-1",level:6}];function h(e){let l={h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",hr:"hr",p:"p",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.p,{children:"Test the TOC behavior of a real-world MD doc with valid headings"}),"\n",(0,s.jsx)(l.hr,{}),"\n",(0,s.jsx)(l.h2,{id:"lvl-2",children:"lvl 2"}),"\n",(0,s.jsx)(l.h3,{id:"lvl-3",children:"lvl 3"}),"\n",(0,s.jsx)(l.h4,{id:"lvl-4",children:"lvl 4"}),"\n",(0,s.jsx)(l.h5,{id:"lvl-5",children:"lvl 5"}),"\n",(0,s.jsx)(l.h6,{id:"lvl-6",children:"lvl 6"}),"\n",(0,s.jsx)(l.h2,{id:"lvl-2-1",children:"lvl 2"}),"\n",(0,s.jsx)(l.h3,{id:"lvl-3-1",children:"lvl 3"}),"\n",(0,s.jsx)(l.h4,{id:"lvl-4-1",children:"lvl 4"}),"\n",(0,s.jsx)(l.h5,{id:"lvl-5-1",children:"lvl 5"}),"\n",(0,s.jsx)(l.h6,{id:"lvl-6-1",children:"lvl 6"}),"\n",(0,s.jsx)(l.hr,{}),"\n",(0,s.jsx)(l.p,{children:"INLINE:"}),"\n","\n","\n",(0,s.jsx)(a.Z,{children:(0,s.jsx)(i.Z,{toc:v,minHeadingLevel:2,maxHeadingLevel:6})}),"\n",(0,s.jsx)(l.hr,{}),"\n",(0,s.jsx)(l.p,{children:"COLLAPSIBLE:"}),"\n","\n",(0,s.jsx)(a.Z,{children:(0,s.jsx)(r.Z,{toc:v,minHeadingLevel:2,maxHeadingLevel:6})})]})}function m(e={}){let{wrapper:l}={...(0,o.a)(),...e.components};return l?(0,s.jsx)(l,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}m.displayName="MDXContent(_dogfooding/_docs tests/toc/toc-test-good.mdx)"},57589:function(e,l,t){t.d(l,{Z:()=>u});var n=t(85893);t(67294);var s=t(90496),o=t(97812),a=t(89477),i=t(77827);let r={tocCollapsibleButton:"tocCollapsibleButton_IbtT",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_Nor3"};function c(e){let{collapsed:l,...t}=e;return(0,n.jsx)("button",{type:"button",...t,className:(0,s.Z)("clean-btn",r.tocCollapsibleButton,!l&&r.tocCollapsibleButtonExpanded,t.className),children:(0,n.jsx)(i.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}let d={tocCollapsible:"tocCollapsible_BEWm",tocCollapsibleContent:"tocCollapsibleContent_FG8F",tocCollapsibleExpanded:"tocCollapsibleExpanded_FzA_"};function u(e){let{toc:l,className:t,minHeadingLevel:i,maxHeadingLevel:r}=e,{collapsed:u,toggleCollapsed:v}=(0,o.u)({initialState:!0});return(0,n.jsxs)("div",{className:(0,s.Z)(d.tocCollapsible,!u&&d.tocCollapsibleExpanded,t),children:[(0,n.jsx)(c,{collapsed:u,onClick:v}),(0,n.jsx)(o.z,{lazy:!0,className:d.tocCollapsibleContent,collapsed:u,children:(0,n.jsx)(a.Z,{toc:l,minHeadingLevel:i,maxHeadingLevel:r})})]})}},78596:function(e,l,t){t.d(l,{Z:()=>o});var n=t(85893);t(67294);var s=t(89477);function o(e){let{toc:l,minHeadingLevel:t,maxHeadingLevel:o}=e;return(0,n.jsx)("div",{className:"tableOfContentsInline_2sru",children:(0,n.jsx)(s.Z,{toc:l,minHeadingLevel:t,maxHeadingLevel:o,className:"table-of-contents",linkClassName:null})})}},89477:function(e,l,t){t.d(l,{Z:()=>c});var n=t(85893),s=t(67294),o=t(26378);function a(e){let l=e.getBoundingClientRect();return l.top===l.bottom?a(e.parentNode):l}var i=t(35363);let r=s.memo(function e(l){let{toc:t,className:s,linkClassName:o,isChild:a}=l;return t.length?(0,n.jsx)("ul",{className:a?void 0:s,children:t.map(l=>(0,n.jsxs)("li",{children:[(0,n.jsx)(i.Z,{to:`#${l.id}`,className:o??void 0,dangerouslySetInnerHTML:{__html:l.value}}),(0,n.jsx)(e,{isChild:!0,toc:l.children,className:s,linkClassName:o})]},l.id))}):null});function c(e){let{toc:l,className:t="table-of-contents table-of-contents__left-border",linkClassName:i="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:d,maxHeadingLevel:u,...v}=e,h=(0,o.L)(),m=d??h.tableOfContents.minHeadingLevel,f=u??h.tableOfContents.maxHeadingLevel,p=function(e){let{toc:l,minHeadingLevel:t,maxHeadingLevel:n}=e;return(0,s.useMemo)(()=>(function e(l){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=l;return t.flatMap(l=>{let t=e({toc:l.children,minHeadingLevel:n,maxHeadingLevel:s});return l.level>=n&&l.level<=s?[{...l,children:t}]:t})})({toc:function(e){let l=e.map(e=>({...e,parentIndex:-1,children:[]})),t=Array(7).fill(-1);l.forEach((e,l)=>{let n=t.slice(2,e.level);e.parentIndex=Math.max(...n),t[e.level]=l});let n=[];return l.forEach(e=>{let{parentIndex:t,...s}=e;t>=0?l[t].children.push(s):n.push(s)}),n}(l),minHeadingLevel:t,maxHeadingLevel:n}),[l,t,n])}({toc:l,minHeadingLevel:m,maxHeadingLevel:f});return!function(e){let l=(0,s.useRef)(void 0),t=function(){let e=(0,s.useRef)(0),{navbar:{hideOnScroll:l}}=(0,o.L)();return(0,s.useEffect)(()=>{e.current=l?0:document.querySelector(".navbar").clientHeight},[l]),e}();(0,s.useEffect)(()=>{if(!e)return()=>{};let{linkClassName:n,linkActiveClassName:s,minHeadingLevel:o,maxHeadingLevel:i}=e;function r(){let e=Array.from(document.getElementsByClassName(n)),r=function(e,l){let{anchorTopOffset:t}=l,n=e.find(e=>a(e).top>=t);if(n){var s;return(s=a(n)).top>0&&s.bottom<window.innerHeight/2?n:e[e.indexOf(n)-1]??null}return e[e.length-1]??null}(function(e){let{minHeadingLevel:l,maxHeadingLevel:t}=e,n=[];for(let e=l;e<=t;e+=1)n.push(`h${e}.anchor`);return Array.from(document.querySelectorAll(n.join()))}({minHeadingLevel:o,maxHeadingLevel:i}),{anchorTopOffset:t.current}),c=e.find(e=>r&&r.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));e.forEach(e=>{e===c?(l.current&&l.current!==e&&l.current.classList.remove(s),e.classList.add(s),l.current=e):e.classList.remove(s)})}return document.addEventListener("scroll",r),document.addEventListener("resize",r),r(),()=>{document.removeEventListener("scroll",r),document.removeEventListener("resize",r)}},[e,t])}((0,s.useMemo)(()=>{if(i&&c)return{linkClassName:i,linkActiveClassName:c,minHeadingLevel:m,maxHeadingLevel:f}},[i,c,m,f])),(0,n.jsx)(r,{toc:p,className:t,linkClassName:i,...v})}},14522:function(e,l,t){t.d(l,{Z:()=>i});var n=t(85893);t(67294);var s=t(90496);let o="dot_giz1",a="bar_rrRL";function i(e){let{children:l,minHeight:t,url:i="http://localhost:3000",style:r,bodyStyle:c}=e;return(0,n.jsxs)("div",{className:"browserWindow_my1Q",style:{...r,minHeight:t},children:[(0,n.jsxs)("div",{className:"browserWindowHeader_jXSR",children:[(0,n.jsxs)("div",{className:"buttons_uHc7",children:[(0,n.jsx)("span",{className:o,style:{background:"#f25f58"}}),(0,n.jsx)("span",{className:o,style:{background:"#fbbe3c"}}),(0,n.jsx)("span",{className:o,style:{background:"#58cb42"}})]}),(0,n.jsx)("div",{className:(0,s.Z)("browserWindowAddressBar_Pd8y","text--truncate"),children:i}),(0,n.jsx)("div",{className:"browserWindowMenuIcon_Vhuh",children:(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:a}),(0,n.jsx)("span",{className:a}),(0,n.jsx)("span",{className:a})]})})]}),(0,n.jsx)("div",{className:"browserWindowBody_Idgs",style:c,children:l})]})}},80980:function(e,l,t){t.d(l,{Z:()=>i,a:()=>a});var n=t(67294);let s={},o=n.createContext(s);function a(e){let l=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(l):{...l,...e}},[l,e])}function i(e){let l;return l=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(o.Provider,{value:l},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/891c0dad.4d38e02a.js b/assets/js/891c0dad.4d38e02a.js new file mode 100644 index 0000000000..8223e601b5 --- /dev/null +++ b/assets/js/891c0dad.4d38e02a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["70093"],{71209:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>l,default:()=>u,contentTitle:()=>a,assets:()=>c,toc:()=>d,metadata:()=>t});var t=JSON.parse('{"id":"docusaurus-core","title":"Docusaurus Client API","description":"Docusaurus provides some APIs on the clients that can be helpful to you when building your site.","source":"@site/docs/docusaurus-core.mdx","sourceDirName":".","slug":"/docusaurus-core","permalink":"/docs/docusaurus-core","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/docusaurus-core.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"sidebar_label":"Client API"},"sidebar":"api","previous":{"title":"CLI","permalink":"/docs/cli"},"next":{"title":"docusaurus.config.js","permalink":"/docs/api/docusaurus-config"}}'),i=s(85893),r=s(80980),o=s(39468);let l={sidebar_label:"Client API"},a="Docusaurus Client API",c={},d=[{value:"Components",id:"components",level:2},{value:"<code><ErrorBoundary /></code>",id:"errorboundary",level:3},{value:"Props",id:"errorboundary-props",level:4},{value:"<code><Head/></code>",id:"head",level:3},{value:"<code><Link/></code>",id:"link",level:3},{value:"<code>to</code>: string",id:"to-string",level:4},{value:"<code><Redirect/></code>",id:"redirect",level:3},{value:"<code><BrowserOnly/></code>",id:"browseronly",level:3},{value:"Props",id:"browseronly-props",level:4},{value:"Example with code",id:"browseronly-example-code",level:4},{value:"Example with a library",id:"browseronly-example-library",level:4},{value:"<code><Interpolate/></code>",id:"interpolate",level:3},{value:"Props",id:"interpolate-props",level:4},{value:"<code><Translate/></code>",id:"translate",level:3},{value:"Props",id:"translate-props",level:4},{value:"Example",id:"example",level:4},{value:"Hooks",id:"hooks",level:2},{value:"<code>useDocusaurusContext</code>",id:"useDocusaurusContext",level:3},{value:"<code>useIsBrowser</code>",id:"useIsBrowser",level:3},{value:"<code>useBaseUrl</code>",id:"useBaseUrl",level:3},{value:"Options",id:"options",level:4},{value:"Example usage:",id:"example-usage",level:4},{value:"<code>useBaseUrlUtils</code>",id:"useBaseUrlUtils",level:3},{value:"<code>useGlobalData</code>",id:"useGlobalData",level:3},{value:"<code>usePluginData</code>",id:"usePluginData",level:3},{value:"<code>useAllPluginInstancesData</code>",id:"useAllPluginInstancesData",level:3},{value:"<code>useBrokenLinks</code>",id:"useBrokenLinks",level:3},{value:"Functions",id:"functions",level:2},{value:"<code>interpolate</code>",id:"interpolate-1",level:3},{value:"Signature",id:"signature",level:4},{value:"Example",id:"example-1",level:4},{value:"<code>translate</code>",id:"translate-imperative",level:3},{value:"Signature",id:"signature-1",level:4},{value:"Example",id:"example-2",level:4},{value:"Modules",id:"modules",level:2},{value:"<code>ExecutionEnvironment</code>",id:"executionenvironment",level:3},{value:"<code>constants</code>",id:"constants",level:3}];function h(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"docusaurus-client-api",children:"Docusaurus Client API"})}),"\n",(0,i.jsx)(n.p,{children:"Docusaurus provides some APIs on the clients that can be helpful to you when building your site."}),"\n",(0,i.jsx)(n.h2,{id:"components",children:"Components"}),"\n",(0,i.jsx)(n.h3,{id:"errorboundary",children:(0,i.jsx)(n.code,{children:"<ErrorBoundary />"})}),"\n",(0,i.jsxs)(n.p,{children:["This component creates a ",(0,i.jsx)(n.a,{href:"https://reactjs.org/docs/error-boundaries.html",children:"React error boundary"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Use it to wrap components that might throw, and display a fallback when that happens instead of crashing the whole app."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\nimport ErrorBoundary from '@docusaurus/ErrorBoundary';\n\nconst SafeComponent = () => (\n <ErrorBoundary\n fallback={({error, tryAgain}) => (\n <div>\n <p>This component crashed because of error: {error.message}.</p>\n <button onClick={tryAgain}>Try Again!</button>\n </div>\n )}>\n <SomeDangerousComponentThatMayThrow />\n </ErrorBoundary>\n);\n"})}),"\n","\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["To see it in action, click here: ",(0,i.jsx)(o.Z,{})]})}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsx)(n.p,{children:"Docusaurus uses this component to catch errors within the theme's layout, and also within the entire app."})}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"This component doesn't catch build-time errors and only protects against client-side render errors that can happen when using stateful React components."})}),"\n",(0,i.jsx)(n.h4,{id:"errorboundary-props",children:"Props"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"fallback"}),": an optional render callback returning a JSX element. It will receive an object with 2 attributes: ",(0,i.jsx)(n.code,{children:"error"}),", the error that was caught, and ",(0,i.jsx)(n.code,{children:"tryAgain"}),", a function (",(0,i.jsx)(n.code,{children:"() => void"}),") callback to reset the error in the component and try rendering it again. If not present, ",(0,i.jsx)(n.code,{children:"@theme/Error"})," will be rendered instead. ",(0,i.jsx)(n.code,{children:"@theme/Error"})," is used for the error boundaries wrapping the site, above the layout."]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"fallback"})," prop is a callback, and ",(0,i.jsx)(n.strong,{children:"not a React functional component"}),". You can't use React hooks inside this callback."]})}),"\n",(0,i.jsx)(n.h3,{id:"head",children:(0,i.jsx)(n.code,{children:"<Head/>"})}),"\n",(0,i.jsxs)(n.p,{children:["This reusable React component will manage all of your changes to the document head. It takes plain HTML tags and outputs plain HTML tags and is beginner-friendly. It is a wrapper around ",(0,i.jsx)(n.a,{href:"https://github.com/nfl/react-helmet",children:"React Helmet"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Usage Example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'import React from \'react\';\n// highlight-next-line\nimport Head from \'@docusaurus/Head\';\n\nconst MySEO = () => (\n // highlight-start\n <Head>\n <meta property="og:description" content="My custom description" />\n <meta charSet="utf-8" />\n <title>My Title\n \n \n // highlight-end\n);\n'})}),"\n",(0,i.jsx)(n.p,{children:"Nested or latter components will override duplicate usages:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'\n {/* highlight-start */}\n \n My Title\n \n \n {/* highlight-end */}\n \n {/* highlight-start */}\n \n Nested Title\n \n \n {/* highlight-end */}\n \n\n'})}),"\n",(0,i.jsx)(n.p,{children:"Outputs:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-html",children:'\n Nested Title\n \n\n'})}),"\n",(0,i.jsx)(n.h3,{id:"link",children:(0,i.jsx)(n.code,{children:""})}),"\n",(0,i.jsxs)(n.p,{children:["This component enables linking to internal pages as well as a powerful performance feature called preloading. Preloading is used to prefetch resources so that the resources are fetched by the time the user navigates with this component. We use an ",(0,i.jsx)(n.code,{children:"IntersectionObserver"})," to fetch a low-priority request when the ",(0,i.jsx)(n.code,{children:""})," is in the viewport and then use an ",(0,i.jsx)(n.code,{children:"onMouseOver"})," event to trigger a high-priority request when it is likely that a user will navigate to the requested resource."]}),"\n",(0,i.jsxs)(n.p,{children:["The component is a wrapper around react-router\u2019s ",(0,i.jsx)(n.code,{children:""})," component that adds useful enhancements specific to Docusaurus. All props are passed through to react-router\u2019s ",(0,i.jsx)(n.code,{children:""})," component."]}),"\n",(0,i.jsxs)(n.p,{children:["External links also work, and automatically have these props: ",(0,i.jsx)(n.code,{children:'target="_blank" rel="noopener noreferrer"'}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\n// highlight-next-line\nimport Link from '@docusaurus/Link';\n\nconst Page = () => (\n
\n

\n {/* highlight-next-line */}\n Check out my blog!\n

\n

\n {/* highlight-next-line */}\n Follow me on X!\n

\n
\n);\n"})}),"\n",(0,i.jsxs)(n.h4,{id:"to-string",children:[(0,i.jsx)(n.code,{children:"to"}),": string"]}),"\n",(0,i.jsxs)(n.p,{children:["The target location to navigate to. Example: ",(0,i.jsx)(n.code,{children:"/docs/introduction"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'\n'})}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["Prefer this component to vanilla ",(0,i.jsx)(n.code,{children:"
"})," tags because Docusaurus does a lot of optimizations (e.g. broken path detection, prefetching, applying base URL...) if you use ",(0,i.jsx)(n.code,{children:""}),"."]})}),"\n",(0,i.jsx)(n.h3,{id:"redirect",children:(0,i.jsx)(n.code,{children:""})}),"\n",(0,i.jsxs)(n.p,{children:["Rendering a ",(0,i.jsx)(n.code,{children:""})," will navigate to a new location. The new location will override the current location in the history stack like server-side redirects (HTTP 3xx) do. You can refer to ",(0,i.jsx)(n.a,{href:"https://reacttraining.com/react-router/web/api/Redirect",children:"React Router's Redirect documentation"})," for more info on available props."]}),"\n",(0,i.jsx)(n.p,{children:"Example usage:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\n// highlight-next-line\nimport {Redirect} from '@docusaurus/router';\n\nconst Home = () => {\n // highlight-next-line\n return ;\n};\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"@docusaurus/router"})," implements ",(0,i.jsx)(n.a,{href:"https://reacttraining.com/react-router/web/guides/quick-start",children:"React Router"})," and supports its features."]})}),"\n",(0,i.jsx)(n.h3,{id:"browseronly",children:(0,i.jsx)(n.code,{children:""})}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:""})," component permits to render React components only in the browser after the React app has hydrated."]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["Use it for integrating with code that can't run in Node.js, because the ",(0,i.jsx)(n.code,{children:"window"})," or ",(0,i.jsx)(n.code,{children:"document"})," objects are being accessed."]})}),"\n",(0,i.jsx)(n.h4,{id:"browseronly-props",children:"Props"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"children"}),": render function prop returning browser-only JSX. Will not be executed in Node.js"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"fallback"})," (optional): JSX to render on the server (Node.js) and until React hydration completes."]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"browseronly-example-code",children:"Example with code"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"// highlight-start\nimport BrowserOnly from '@docusaurus/BrowserOnly';\n// highlight-end\n\nconst MyComponent = () => {\n return (\n // highlight-start\n \n {() => page url = {window.location.href}}\n \n // highlight-end\n );\n};\n"})}),"\n",(0,i.jsx)(n.h4,{id:"browseronly-example-library",children:"Example with a library"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"// highlight-start\nimport BrowserOnly from '@docusaurus/BrowserOnly';\n// highlight-end\n\nconst MyComponent = (props) => {\n return (\n // highlight-start\n Loading...}>\n {() => {\n const LibComponent = require('some-lib').LibComponent;\n return ;\n }}\n \n // highlight-end\n );\n};\n"})}),"\n",(0,i.jsx)(n.h3,{id:"interpolate",children:(0,i.jsx)(n.code,{children:""})}),"\n",(0,i.jsx)(n.p,{children:"A simple interpolation component for text containing dynamic placeholders."}),"\n",(0,i.jsx)(n.p,{children:"The placeholders will be replaced with the provided dynamic values and JSX elements of your choice (strings, links, styled elements...)."}),"\n",(0,i.jsx)(n.h4,{id:"interpolate-props",children:"Props"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"children"}),": text containing interpolation placeholders like ",(0,i.jsx)(n.code,{children:"{placeholderName}"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"values"}),": object containing interpolation placeholder values"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\nimport Link from '@docusaurus/Link';\nimport Interpolate from '@docusaurus/Interpolate';\n\nexport default function VisitMyWebsiteMessage() {\n return (\n // highlight-start\n \n website\n \n ),\n }}>\n {'Hello, {firstName}! How are you? Take a look at my {website}'}\n \n // highlight-end\n );\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"translate",children:(0,i.jsx)(n.code,{children:""})}),"\n",(0,i.jsxs)(n.p,{children:["When ",(0,i.jsx)(n.a,{href:"/docs/i18n/introduction",children:"localizing your site"}),", the ",(0,i.jsx)(n.code,{children:""})," component will allow providing ",(0,i.jsx)(n.strong,{children:"translation support to React components"}),", such as your homepage. The ",(0,i.jsx)(n.code,{children:""})," component supports ",(0,i.jsx)(n.a,{href:"#interpolate",children:"interpolation"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["The translation strings will statically extracted from your code with the ",(0,i.jsx)(n.a,{href:"/docs/cli#docusaurus-write-translations-sitedir",children:(0,i.jsx)(n.code,{children:"docusaurus write-translations"})})," CLI and a ",(0,i.jsx)(n.code,{children:"code.json"})," translation file will be created in ",(0,i.jsx)(n.code,{children:"website/i18n/[locale]"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{type:"note",children:[(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:""})," props ",(0,i.jsx)(n.strong,{children:"must be hardcoded strings"}),"."]}),(0,i.jsxs)(n.p,{children:["Apart from the ",(0,i.jsx)(n.code,{children:"values"})," prop used for interpolation, it is ",(0,i.jsx)(n.strong,{children:"not possible to use variables"}),", or the static extraction wouldn't work."]})]}),"\n",(0,i.jsx)(n.h4,{id:"translate-props",children:"Props"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"children"}),": untranslated string in the default site locale (can contain ",(0,i.jsx)(n.a,{href:"#interpolate",children:"interpolation placeholders"}),")"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"id"}),": optional value to be used as the key in JSON translation files"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"description"}),": optional text to help the translator"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"values"}),": optional object containing interpolation placeholder values"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="src/pages/index.js"',children:"import React from 'react';\nimport Layout from '@theme/Layout';\n\n// highlight-start\nimport Translate from '@docusaurus/Translate';\n// highlight-end\n\nexport default function Home() {\n return (\n \n

\n {/* highlight-start */}\n \n Welcome to my website\n \n {/* highlight-end */}\n

\n
\n {/* highlight-start */}\n \n {'Welcome, {firstName}! How are you?'}\n \n {/* highlight-end */}\n
\n
\n );\n}\n"})}),"\n",(0,i.jsxs)(n.admonition,{type:"note",children:[(0,i.jsxs)(n.p,{children:["You can even omit the children prop and specify a translation string in your ",(0,i.jsx)(n.code,{children:"code.json"})," file manually after running the ",(0,i.jsx)(n.code,{children:"docusaurus write-translations"})," CLI command."]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:'\n'})})]}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:""})," component supports interpolation. You can also implement ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/i18n/i18n-tutorial.mdx#pluralization",children:"string pluralization"})," through some custom code and the ",(0,i.jsxs)(n.a,{href:"#translate-imperative",children:[(0,i.jsx)(n.code,{children:"translate"})," imperative API"]}),"."]})}),"\n",(0,i.jsx)(n.h2,{id:"hooks",children:"Hooks"}),"\n",(0,i.jsx)(n.h3,{id:"useDocusaurusContext",children:(0,i.jsx)(n.code,{children:"useDocusaurusContext"})}),"\n",(0,i.jsxs)(n.p,{children:["React hook to access Docusaurus Context. The context contains the ",(0,i.jsx)(n.code,{children:"siteConfig"})," object from ",(0,i.jsx)(n.a,{href:"/docs/api/docusaurus-config",children:"docusaurus.config.js"})," and some additional site metadata."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"type PluginVersionInformation =\n | {readonly type: 'package'; readonly version?: string}\n | {readonly type: 'project'}\n | {readonly type: 'local'}\n | {readonly type: 'synthetic'};\n\ntype SiteMetadata = {\n readonly docusaurusVersion: string;\n readonly siteVersion?: string;\n readonly pluginVersions: Record;\n};\n\ntype I18nLocaleConfig = {\n label: string;\n direction: string;\n};\n\ntype I18n = {\n defaultLocale: string;\n locales: [string, ...string[]];\n currentLocale: string;\n localeConfigs: Record;\n};\n\ntype DocusaurusContext = {\n siteConfig: DocusaurusConfig;\n siteMetadata: SiteMetadata;\n globalData: Record;\n i18n: I18n;\n codeTranslations: Record;\n};\n"})}),"\n",(0,i.jsx)(n.p,{children:"Usage example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\nimport useDocusaurusContext from '@docusaurus/useDocusaurusContext';\n\nconst MyComponent = () => {\n // highlight-next-line\n const {siteConfig, siteMetadata} = useDocusaurusContext();\n return (\n
\n {/* highlight-start */}\n

{siteConfig.title}

\n
{siteMetadata.siteVersion}
\n
{siteMetadata.docusaurusVersion}
\n {/* highlight-end */}\n
\n );\n};\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"siteConfig"})," object only contains ",(0,i.jsx)(n.strong,{children:"serializable values"})," (values that are preserved after ",(0,i.jsx)(n.code,{children:"JSON.stringify()"}),"). Functions, regexes, etc. would be lost on the client side."]})}),"\n",(0,i.jsx)(n.h3,{id:"useIsBrowser",children:(0,i.jsx)(n.code,{children:"useIsBrowser"})}),"\n",(0,i.jsxs)(n.p,{children:["Returns ",(0,i.jsx)(n.code,{children:"true"})," when the React app has successfully hydrated in the browser."]}),"\n",(0,i.jsxs)(n.admonition,{type:"warning",children:[(0,i.jsxs)(n.p,{children:["Use this hook instead of ",(0,i.jsx)(n.code,{children:"typeof windows !== 'undefined'"})," in React rendering logic."]}),(0,i.jsxs)(n.p,{children:["The first client-side render output (in the browser) ",(0,i.jsx)(n.strong,{children:"must be exactly the same"})," as the server-side render output (Node.js). Not following this rule can lead to unexpected hydration behaviors, as described in ",(0,i.jsx)(n.a,{href:"https://www.joshwcomeau.com/react/the-perils-of-rehydration/",children:"The Perils of Rehydration"}),"."]})]}),"\n",(0,i.jsx)(n.p,{children:"Usage example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\nimport useIsBrowser from '@docusaurus/useIsBrowser';\n\nconst MyComponent = () => {\n // highlight-start\n const isBrowser = useIsBrowser();\n // highlight-end\n return
{isBrowser ? 'Client' : 'Server'}
;\n};\n"})}),"\n",(0,i.jsx)(n.h3,{id:"useBaseUrl",children:(0,i.jsx)(n.code,{children:"useBaseUrl"})}),"\n",(0,i.jsxs)(n.p,{children:["React hook to prepend your site ",(0,i.jsx)(n.code,{children:"baseUrl"})," to a string."]}),"\n",(0,i.jsxs)(n.admonition,{type:"warning",children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Don't use it for regular links!"})}),(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"/baseUrl/"})," prefix is automatically added to all ",(0,i.jsx)(n.strong,{children:"absolute paths"})," by default:"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Markdown: ",(0,i.jsx)(n.code,{children:"[link](/my/path)"})," will link to ",(0,i.jsx)(n.code,{children:"/baseUrl/my/path"})]}),"\n",(0,i.jsxs)(n.li,{children:["React: ",(0,i.jsx)(n.code,{children:'link'})," will link to ",(0,i.jsx)(n.code,{children:"/baseUrl/my/path"})]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"options",children:"Options"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"type BaseUrlOptions = {\n forcePrependBaseUrl: boolean;\n absolute: boolean;\n};\n"})}),"\n",(0,i.jsx)(n.h4,{id:"example-usage",children:"Example usage:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\nimport useBaseUrl from '@docusaurus/useBaseUrl';\n\nconst SomeImage = () => {\n // highlight-start\n const imgSrc = useBaseUrl('/img/myImage.png');\n // highlight-end\n return ;\n};\n"})}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:["In most cases, you don't need ",(0,i.jsx)(n.code,{children:"useBaseUrl"}),"."]}),(0,i.jsxs)(n.p,{children:["Prefer a ",(0,i.jsx)(n.code,{children:"require()"})," call for ",(0,i.jsx)(n.a,{href:"/docs/markdown-features/assets",children:"assets"}),":"]}),(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"\n"})})]}),"\n",(0,i.jsx)(n.h3,{id:"useBaseUrlUtils",children:(0,i.jsx)(n.code,{children:"useBaseUrlUtils"})}),"\n",(0,i.jsxs)(n.p,{children:["Sometimes ",(0,i.jsx)(n.code,{children:"useBaseUrl"})," is not good enough. This hook return additional utils related to your site's base URL."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"withBaseUrl"}),": useful if you need to add base URLs to multiple URLs at once."]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\nimport {useBaseUrlUtils} from '@docusaurus/useBaseUrl';\n\nconst Component = () => {\n const urls = ['/a', '/b'];\n // highlight-start\n const {withBaseUrl} = useBaseUrlUtils();\n const urlsWithBaseUrl = urls.map(withBaseUrl);\n // highlight-end\n return
{/* ... */}
;\n};\n"})}),"\n",(0,i.jsx)(n.h3,{id:"useGlobalData",children:(0,i.jsx)(n.code,{children:"useGlobalData"})}),"\n",(0,i.jsx)(n.p,{children:"React hook to access Docusaurus global data created by all the plugins."}),"\n",(0,i.jsx)(n.p,{children:"Global data is namespaced by plugin name then by plugin ID."}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsx)(n.p,{children:"Plugin ID is only useful when a plugin is used multiple times on the same site. Each plugin instance is able to create its own global data."})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:'type GlobalData = Record<\n PluginName,\n Record<\n PluginId, // "default" by default\n any // plugin-specific data\n >\n>;\n'})}),"\n",(0,i.jsx)(n.p,{children:"Usage example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\n// highlight-next-line\nimport useGlobalData from '@docusaurus/useGlobalData';\n\nconst MyComponent = () => {\n // highlight-start\n const globalData = useGlobalData();\n const myPluginData = globalData['my-plugin']['default'];\n return
{myPluginData.someAttribute}
;\n // highlight-end\n};\n"})}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["Inspect your site's global data at ",(0,i.jsx)(n.code,{children:".docusaurus/globalData.json"})]})}),"\n",(0,i.jsx)(n.h3,{id:"usePluginData",children:(0,i.jsx)(n.code,{children:"usePluginData"})}),"\n",(0,i.jsx)(n.p,{children:"Access global data created by a specific plugin instance."}),"\n",(0,i.jsx)(n.p,{children:"This is the most convenient hook to access plugin global data and should be used most of the time."}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"pluginId"})," is optional if you don't use multi-instance plugins."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"function usePluginData(\n pluginName: string,\n pluginId?: string,\n options?: {failfast?: boolean},\n);\n"})}),"\n",(0,i.jsx)(n.p,{children:"Usage example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\n// highlight-next-line\nimport {usePluginData} from '@docusaurus/useGlobalData';\n\nconst MyComponent = () => {\n // highlight-start\n const myPluginData = usePluginData('my-plugin');\n return
{myPluginData.someAttribute}
;\n // highlight-end\n};\n"})}),"\n",(0,i.jsx)(n.h3,{id:"useAllPluginInstancesData",children:(0,i.jsx)(n.code,{children:"useAllPluginInstancesData"})}),"\n",(0,i.jsx)(n.p,{children:"Access global data created by a specific plugin. Given a plugin name, it returns the data of all the plugins instances of that name, by plugin id."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"function useAllPluginInstancesData(\n pluginName: string,\n options?: {failfast?: boolean},\n);\n"})}),"\n",(0,i.jsx)(n.p,{children:"Usage example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"import React from 'react';\n// highlight-next-line\nimport {useAllPluginInstancesData} from '@docusaurus/useGlobalData';\n\nconst MyComponent = () => {\n // highlight-start\n const allPluginInstancesData = useAllPluginInstancesData('my-plugin');\n const myPluginData = allPluginInstancesData['default'];\n return
{myPluginData.someAttribute}
;\n // highlight-end\n};\n"})}),"\n",(0,i.jsx)(n.h3,{id:"useBrokenLinks",children:(0,i.jsx)(n.code,{children:"useBrokenLinks"})}),"\n",(0,i.jsx)(n.p,{children:"React hook to access the Docusaurus broken link checker APIs, exposing a way for a Docusaurus pages to report and collect their links and anchors."}),"\n",(0,i.jsxs)(n.admonition,{type:"warning",children:[(0,i.jsxs)(n.p,{children:["This is an ",(0,i.jsx)(n.strong,{children:"advanced"})," API that ",(0,i.jsx)(n.strong,{children:"most Docusaurus users don't need to use directly"}),"."]}),(0,i.jsxs)(n.p,{children:["It is already ",(0,i.jsx)(n.strong,{children:"built-in"})," in existing high-level components:"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["the ",(0,i.jsx)(n.a,{href:"#link",children:(0,i.jsx)(n.code,{children:""})})," component will collect links for you"]}),"\n",(0,i.jsxs)(n.li,{children:["the ",(0,i.jsx)(n.code,{children:"@theme/Heading"})," (used for Markdown headings) will collect anchors"]}),"\n"]}),(0,i.jsxs)(n.p,{children:["Use ",(0,i.jsx)(n.code,{children:"useBrokenLinks()"})," if you implement your own ",(0,i.jsx)(n.code,{children:""})," or ",(0,i.jsx)(n.code,{children:""})," component."]})]}),"\n",(0,i.jsx)(n.p,{children:"Usage example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="MyHeading.js"',children:"import useBrokenLinks from '@docusaurus/useBrokenLinks';\n\nexport default function MyHeading(props) {\n useBrokenLinks().collectAnchor(props.id);\n return

;\n}\n"})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",metastring:'title="MyLink.js"',children:"import useBrokenLinks from '@docusaurus/useBrokenLinks';\n\nexport default function MyLink(props) {\n useBrokenLinks().collectLink(props.href);\n return ;\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"functions",children:"Functions"}),"\n",(0,i.jsx)(n.h3,{id:"interpolate-1",children:(0,i.jsx)(n.code,{children:"interpolate"})}),"\n",(0,i.jsxs)(n.p,{children:["The imperative counterpart of the ",(0,i.jsx)(n.a,{href:"#interpolate",children:(0,i.jsx)(n.code,{children:""})})," component."]}),"\n",(0,i.jsx)(n.h4,{id:"signature",children:"Signature"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"// Simple string interpolation\nfunction interpolate(text: string, values: Record): string;\n\n// JSX interpolation\nfunction interpolate(\n text: string,\n values: Record,\n): ReactNode;\n"})}),"\n",(0,i.jsx)(n.h4,{id:"example-1",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"// highlight-next-line\nimport {interpolate} from '@docusaurus/Interpolate';\n\nconst message = interpolate('Welcome {firstName}', {firstName: 'S\xe9bastien'});\n"})}),"\n",(0,i.jsx)(n.h3,{id:"translate-imperative",children:(0,i.jsx)(n.code,{children:"translate"})}),"\n",(0,i.jsxs)(n.p,{children:["The imperative counterpart of the ",(0,i.jsx)(n.a,{href:"#translate",children:(0,i.jsx)(n.code,{children:""})})," component. Also supporting ",(0,i.jsx)(n.a,{href:"#interpolate",children:"placeholders interpolation"}),"."]}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsxs)(n.p,{children:["Use the imperative API for the ",(0,i.jsx)(n.strong,{children:"rare cases"})," where a ",(0,i.jsx)(n.strong,{children:"component cannot be used"}),", such as:"]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["the page ",(0,i.jsx)(n.code,{children:"title"})," metadata"]}),"\n",(0,i.jsxs)(n.li,{children:["the ",(0,i.jsx)(n.code,{children:"placeholder"})," props of form inputs"]}),"\n",(0,i.jsxs)(n.li,{children:["the ",(0,i.jsx)(n.code,{children:"aria-label"})," props for accessibility"]}),"\n"]})]}),"\n",(0,i.jsx)(n.h4,{id:"signature-1",children:"Signature"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"function translate(\n translation: {message: string; id?: string; description?: string},\n values: Record,\n): string;\n"})}),"\n",(0,i.jsx)(n.h4,{id:"example-2",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="src/pages/index.js"',children:"import React from 'react';\nimport Layout from '@theme/Layout';\n\n// highlight-next-line\nimport {translate} from '@docusaurus/Translate';\n\nexport default function Home() {\n return (\n \n \n \n );\n}\n"})}),"\n",(0,i.jsx)(n.h2,{id:"modules",children:"Modules"}),"\n",(0,i.jsx)(n.h3,{id:"executionenvironment",children:(0,i.jsx)(n.code,{children:"ExecutionEnvironment"})}),"\n",(0,i.jsx)(n.p,{children:"A module that exposes a few boolean variables to check the current rendering environment."}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["For React rendering logic, use ",(0,i.jsx)(n.a,{href:"#useIsBrowser",children:(0,i.jsx)(n.code,{children:"useIsBrowser()"})})," or ",(0,i.jsx)(n.a,{href:"#browseronly",children:(0,i.jsx)(n.code,{children:""})})," instead."]})}),"\n",(0,i.jsx)(n.p,{children:"Example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';\n\nif (ExecutionEnvironment.canUseDOM) {\n require('lib-that-only-works-client-side');\n}\n"})}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Field"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"ExecutionEnvironment.canUseDOM"})}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"true"})," if on client/browser, ",(0,i.jsx)(n.code,{children:"false"})," on Node.js/prerendering."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"ExecutionEnvironment.canUseEventListeners"})}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"true"})," if on client and has ",(0,i.jsx)(n.code,{children:"window.addEventListener"}),"."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"ExecutionEnvironment.canUseIntersectionObserver"})}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"true"})," if on client and has ",(0,i.jsx)(n.code,{children:"IntersectionObserver"}),"."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"ExecutionEnvironment.canUseViewport"})}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.code,{children:"true"})," if on client and has ",(0,i.jsx)(n.code,{children:"window.screen"}),"."]})]})]})]}),"\n",(0,i.jsx)(n.h3,{id:"constants",children:(0,i.jsx)(n.code,{children:"constants"})}),"\n",(0,i.jsx)(n.p,{children:"A module exposing useful constants to client-side theme code."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"import {DEFAULT_PLUGIN_ID} from '@docusaurus/constants';\n"})}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Named export"}),(0,i.jsx)(n.th,{children:"Value"})]})}),(0,i.jsx)(n.tbody,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"DEFAULT_PLUGIN_ID"})}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"default"})})]})})]})]})}function u(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},39468:function(e,n,s){s.d(n,{Z:()=>r});var t=s(85893),i=s(67294);function r(e){let{children:n="Boom!",message:s="Boom!\nSomething bad happened, but you can try again!",cause:r}=e,[o,l]=(0,i.useState)(!1);if(o)throw Error(s,{cause:r?Error(r):void 0});return(0,t.jsx)("button",{className:"button button--danger",type:"button",onClick:()=>l(!0),children:n})}},80980:function(e,n,s){s.d(n,{Z:()=>l,a:()=>o});var t=s(67294);let i={},r=t.createContext(i);function o(e){let n=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8945e4ee.10432e0b.js b/assets/js/8945e4ee.10432e0b.js new file mode 100644 index 0000000000..34556ce7cc --- /dev/null +++ b/assets/js/8945e4ee.10432e0b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["6222"],{89536:function(e,a,t){t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>l,default:()=>m,frontMatter:()=>u,metadata:()=>n,toc:()=>s});var n=t(61031),i=t(85893),r=t(80980);let u={mdx:{format:"md"},date:"2020-08-01T20:00",authors:["BuckyMaler","Drewbi","francoischalifour","mdfaizan7","mpsq","slorber","teikjun","zxuqian"]},l="2.0.0-alpha.61",o={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},s=[];function c(e){return(0,i.jsx)(i.Fragment,{})}function m(e={}){let{wrapper:a}={...(0,r.a)(),...e.components};return a?(0,i.jsx)(a,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},80980:function(e,a,t){t.d(a,{Z:()=>l,a:()=>u});var n=t(67294);let i={},r=n.createContext(i);function u(e){let a=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:u(e.components),n.createElement(r.Provider,{value:a},e.children)}},61031:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.61","source":"@site/changelog/source/2.0.0-alpha.61.md","title":"2.0.0-alpha.61","description":"New Feature","date":"2020-08-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Bucky Maler","alias":"BuckyMaler","url":"https://github.com/BuckyMaler","imageURL":"https://github.com/BuckyMaler.png","key":"BuckyMaler","page":null},{"name":"Drew Alexander","alias":"Drewbi","url":"https://github.com/Drewbi","imageURL":"https://github.com/Drewbi.png","key":"Drewbi","page":null},{"name":"Fran\xe7ois Chalifour","alias":"francoischalifour","url":"https://github.com/francoischalifour","imageURL":"https://github.com/francoischalifour.png","key":"francoischalifour","page":null},{"name":"Faizan","alias":"mdfaizan7","url":"https://github.com/mdfaizan7","imageURL":"https://github.com/mdfaizan7.png","key":"mdfaizan7","page":null},{"name":"M\xe9ril","alias":"mpsq","url":"https://github.com/mpsq","imageURL":"https://github.com/mpsq.png","key":"mpsq","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Teik Jun","alias":"teikjun","url":"https://github.com/teikjun","imageURL":"https://github.com/teikjun.png","key":"teikjun","page":null},{"name":"Xuqian","alias":"zxuqian","url":"https://github.com/zxuqian","imageURL":"https://github.com/zxuqian.png","key":"zxuqian","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-08-01T20:00","authors":["BuckyMaler","Drewbi","francoischalifour","mdfaizan7","mpsq","slorber","teikjun","zxuqian"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.62","permalink":"/changelog/2.0.0-alpha.62"},"nextItem":{"title":"2.0.0-alpha.60","permalink":"/changelog/2.0.0-alpha.60"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/8a603d1e.69463e74.js b/assets/js/8a603d1e.69463e74.js new file mode 100644 index 0000000000..73ce8f81dc --- /dev/null +++ b/assets/js/8a603d1e.69463e74.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["7291"],{73861:function(e,t,s){s.r(t),s.d(t,{frontMatter:()=>i,default:()=>k,contentTitle:()=>c,assets:()=>d,toc:()=>l,metadata:()=>n});var n=JSON.parse('{"id":"tests/links/broken-anchors-tests","title":"Broken Anchors tests","description":"Markdown link to above anchor","source":"@site/_dogfooding/_docs tests/tests/links/broken-anchors-tests.mdx","sourceDirName":"tests/links","slug":"/tests/links/broken-anchors-tests","permalink":"/tests/docs/tests/links/broken-anchors-tests","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Import Bad Package","permalink":"/tests/docs/tests/import-bad-package"},"next":{"title":"Target doc","permalink":"/tests/docs/tests/links/target-doc-slug"}}'),o=s(85893),r=s(80980),a=s(35363);let i={},c="Broken Anchors tests",d={},l=[];function h(e){let t={a:"a",h1:"h1",header:"header",p:"p",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"broken-anchors-tests",children:"Broken Anchors tests"})}),"\n","\n",(0,o.jsx)(a.Z,{id:"test-link-anchor",children:"#test-link-anchor"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"#test-link-anchor",children:"Markdown link to above anchor"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.a,{href:"#",children:"Markdown link to above anchor"})})]})}function k(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}k.displayName="MDXContent(_dogfooding/_docs tests/tests/links/broken-anchors-tests.mdx)"},80980:function(e,t,s){s.d(t,{Z:()=>i,a:()=>a});var n=s(67294);let o={},r=n.createContext(o);function a(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8aa79af8.fe8fd58f.js b/assets/js/8aa79af8.fe8fd58f.js new file mode 100644 index 0000000000..e03da4a215 --- /dev/null +++ b/assets/js/8aa79af8.fe8fd58f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["50207"],{3137:function(s){s.exports=JSON.parse('{"blogBasePath":"/tests/blog","blogTitle":"Blog","authorsListPath":"/tests/blog/authors"}')}}]); \ No newline at end of file diff --git a/assets/js/8b6ce0ec.87961222.js b/assets/js/8b6ce0ec.87961222.js new file mode 100644 index 0000000000..f7484dec18 --- /dev/null +++ b/assets/js/8b6ce0ec.87961222.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["20278"],{70334:function(a,t,e){e.r(t),e.d(t,{assets:()=>h,contentTitle:()=>s,default:()=>g,frontMatter:()=>l,metadata:()=>i,toc:()=>m});var i=e(20570),o=e(85893),n=e(80980);let l={mdx:{format:"md"},date:"2021-12-09T20:00",authors:["afshinm","agrawal-rohit","armano2","cchaudier","cerkiewny","chimailo","dexbiobot","dsmmcken","duanwilliam","fishmandev","fsmaia","hbulens","HemantSachdeva","JararvisQ","jeffski","Josh-Cena","juffalow","juzhiyuan","KonstHardy","lex111","ludofischer","Martinsos","matthijsgroen","MisterFISHUP","molly","MorookaKotaro","oriooctopus","pal-sig","Patitotective","patrikmasiar","pbiggar","polarathene","revi","robinmetral","ronnyroeller","rootwork","rsapkf","semoal","shafy","sivapalan","skoech","slorber","sohamsshah","spyke01","StanKocken","swalahamani","swapnilmmane","wpyoga"]},s="2.0.0-beta.10",h={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},m=[];function r(a){return(0,o.jsx)(o.Fragment,{})}function g(a={}){let{wrapper:t}={...(0,n.a)(),...a.components};return t?(0,o.jsx)(t,{...a,children:(0,o.jsx)(r,{...a})}):r(a)}},80980:function(a,t,e){e.d(t,{Z:()=>s,a:()=>l});var i=e(67294);let o={},n=i.createContext(o);function l(a){let t=i.useContext(n);return i.useMemo(function(){return"function"==typeof a?a(t):{...t,...a}},[t,a])}function s(a){let t;return t=a.disableParentContext?"function"==typeof a.components?a.components(o):a.components||o:l(a.components),i.createElement(n.Provider,{value:t},a.children)}},20570:function(a){a.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.10","source":"@site/changelog/source/2.0.0-beta.10.md","title":"2.0.0-beta.10","description":"New Feature","date":"2021-12-09T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Afshin Mehrabani","alias":"afshinm","url":"https://github.com/afshinm","imageURL":"https://github.com/afshinm.png","key":"afshinm","page":null},{"name":"Rohit Agrawal","alias":"agrawal-rohit","url":"https://github.com/agrawal-rohit","imageURL":"https://github.com/agrawal-rohit.png","key":"agrawal-rohit","page":null},{"name":"Armano","alias":"armano2","url":"https://github.com/armano2","imageURL":"https://github.com/armano2.png","key":"armano2","page":null},{"name":"Christophe Chaudier","alias":"cchaudier","url":"https://github.com/cchaudier","imageURL":"https://github.com/cchaudier.png","key":"cchaudier","page":null},{"name":"Devtato","alias":"cerkiewny","url":"https://github.com/cerkiewny","imageURL":"https://github.com/cerkiewny.png","key":"cerkiewny","page":null},{"name":"chima ilo","alias":"chimailo","url":"https://github.com/chimailo","imageURL":"https://github.com/chimailo.png","key":"chimailo","page":null},{"name":"Shoaib Sajid","alias":"dexbiobot","url":"https://github.com/dexbiobot","imageURL":"https://github.com/dexbiobot.png","key":"dexbiobot","page":null},{"name":"Don","alias":"dsmmcken","url":"https://github.com/dsmmcken","imageURL":"https://github.com/dsmmcken.png","key":"dsmmcken","page":null},{"name":"duanwilliam","alias":"duanwilliam","url":"https://github.com/duanwilliam","imageURL":"https://github.com/duanwilliam.png","key":"duanwilliam","page":null},{"name":"Dmitriy Fishman","alias":"fishmandev","url":"https://github.com/fishmandev","imageURL":"https://github.com/fishmandev.png","key":"fishmandev","page":null},{"name":"Fernando Maia","alias":"fsmaia","url":"https://github.com/fsmaia","imageURL":"https://github.com/fsmaia.png","key":"fsmaia","page":null},{"name":"Hendrik Bulens","alias":"hbulens","url":"https://github.com/hbulens","imageURL":"https://github.com/hbulens.png","key":"hbulens","page":null},{"name":"Hemant Sachdeva","alias":"HemantSachdeva","url":"https://github.com/HemantSachdeva","imageURL":"https://github.com/HemantSachdeva.png","key":"HemantSachdeva","page":null},{"name":"Jarar","alias":"JararvisQ","url":"https://github.com/JararvisQ","imageURL":"https://github.com/JararvisQ.png","key":"JararvisQ","page":null},{"name":"Jeff Shillitto","alias":"jeffski","url":"https://github.com/jeffski","imageURL":"https://github.com/jeffski.png","key":"jeffski","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Matej Jellus","alias":"juffalow","url":"https://github.com/juffalow","imageURL":"https://github.com/juffalow.png","key":"juffalow","page":null},{"name":"\u741A\u81F4\u8FDC","alias":"juzhiyuan","url":"https://github.com/juzhiyuan","imageURL":"https://github.com/juzhiyuan.png","key":"juzhiyuan","page":null},{"name":"Konstantin Popov","alias":"KonstHardy","url":"https://github.com/KonstHardy","imageURL":"https://github.com/KonstHardy.png","key":"KonstHardy","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Ludovico Fischer","alias":"ludofischer","url":"https://github.com/ludofischer","imageURL":"https://github.com/ludofischer.png","key":"ludofischer","page":null},{"name":"Martin \u0160o\u0161i\u0107","alias":"Martinsos","url":"https://github.com/Martinsos","imageURL":"https://github.com/Martinsos.png","key":"Martinsos","page":null},{"name":"Matthijs Groen","alias":"matthijsgroen","url":"https://github.com/matthijsgroen","imageURL":"https://github.com/matthijsgroen.png","key":"matthijsgroen","page":null},{"name":"MisterFISHUP","alias":"MisterFISHUP","url":"https://github.com/MisterFISHUP","imageURL":"https://github.com/MisterFISHUP.png","key":"MisterFISHUP","page":null},{"name":"Molly White","alias":"molly","url":"https://github.com/molly","imageURL":"https://github.com/molly.png","key":"molly","page":null},{"name":"Morooka Kotaro","alias":"MorookaKotaro","url":"https://github.com/MorookaKotaro","imageURL":"https://github.com/MorookaKotaro.png","key":"MorookaKotaro","page":null},{"name":"Oliver Ullman","alias":"oriooctopus","url":"https://github.com/oriooctopus","imageURL":"https://github.com/oriooctopus.png","key":"oriooctopus","page":null},{"name":"pal-sig","alias":"pal-sig","url":"https://github.com/pal-sig","imageURL":"https://github.com/pal-sig.png","key":"pal-sig","page":null},{"name":"Patitotective","alias":"Patitotective","url":"https://github.com/Patitotective","imageURL":"https://github.com/Patitotective.png","key":"Patitotective","page":null},{"name":"Patrik M\xe4siar","alias":"patrikmasiar","url":"https://github.com/patrikmasiar","imageURL":"https://github.com/patrikmasiar.png","key":"patrikmasiar","page":null},{"name":"Paul Biggar","alias":"pbiggar","url":"https://github.com/pbiggar","imageURL":"https://github.com/pbiggar.png","key":"pbiggar","page":null},{"name":"Brennan Kinney","alias":"polarathene","url":"https://github.com/polarathene","imageURL":"https://github.com/polarathene.png","key":"polarathene","page":null},{"name":"Yongmin Hong","alias":"revi","url":"https://github.com/revi","imageURL":"https://github.com/revi.png","key":"revi","page":null},{"name":"Robin M\xe9tral","alias":"robinmetral","url":"https://github.com/robinmetral","imageURL":"https://github.com/robinmetral.png","key":"robinmetral","page":null},{"name":"Ronny Roeller","alias":"ronnyroeller","url":"https://github.com/ronnyroeller","imageURL":"https://github.com/ronnyroeller.png","key":"ronnyroeller","page":null},{"name":"Ivan Boothe","alias":"rootwork","url":"https://github.com/rootwork","imageURL":"https://github.com/rootwork.png","key":"rootwork","page":null},{"name":"Rey","alias":"rsapkf","url":"https://github.com/rsapkf","imageURL":"https://github.com/rsapkf.png","key":"rsapkf","page":null},{"name":"Sergio Moreno","alias":"semoal","url":"https://github.com/semoal","imageURL":"https://github.com/semoal.png","key":"semoal","page":null},{"name":"Can Olcer","alias":"shafy","url":"https://github.com/shafy","imageURL":"https://github.com/shafy.png","key":"shafy","page":null},{"name":"Varun Sivapalan","alias":"sivapalan","url":"https://github.com/sivapalan","imageURL":"https://github.com/sivapalan.png","key":"sivapalan","page":null},{"name":"Sharon Koech","alias":"skoech","url":"https://github.com/skoech","imageURL":"https://github.com/skoech.png","key":"skoech","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Soham Shah","alias":"sohamsshah","url":"https://github.com/sohamsshah","imageURL":"https://github.com/sohamsshah.png","key":"sohamsshah","page":null},{"name":"Paden Clayton","alias":"spyke01","url":"https://github.com/spyke01","imageURL":"https://github.com/spyke01.png","key":"spyke01","page":null},{"name":"Stan Kocken","alias":"StanKocken","url":"https://github.com/StanKocken","imageURL":"https://github.com/StanKocken.png","key":"StanKocken","page":null},{"name":"Swalah Amani","alias":"swalahamani","url":"https://github.com/swalahamani","imageURL":"https://github.com/swalahamani.png","key":"swalahamani","page":null},{"name":"Swapnil M Mane","alias":"swapnilmmane","url":"https://github.com/swapnilmmane","imageURL":"https://github.com/swapnilmmane.png","key":"swapnilmmane","page":null},{"name":"William Poetra Yoga","alias":"wpyoga","url":"https://github.com/wpyoga","imageURL":"https://github.com/wpyoga.png","key":"wpyoga","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-09T20:00","authors":["afshinm","agrawal-rohit","armano2","cchaudier","cerkiewny","chimailo","dexbiobot","dsmmcken","duanwilliam","fishmandev","fsmaia","hbulens","HemantSachdeva","JararvisQ","jeffski","Josh-Cena","juffalow","juzhiyuan","KonstHardy","lex111","ludofischer","Martinsos","matthijsgroen","MisterFISHUP","molly","MorookaKotaro","oriooctopus","pal-sig","Patitotective","patrikmasiar","pbiggar","polarathene","revi","robinmetral","ronnyroeller","rootwork","rsapkf","semoal","shafy","sivapalan","skoech","slorber","sohamsshah","spyke01","StanKocken","swalahamani","swapnilmmane","wpyoga"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.11","permalink":"/changelog/2.0.0-beta.11"},"nextItem":{"title":"2.0.0-beta.9","permalink":"/changelog/2.0.0-beta.9"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/8be705a1.38adfbfd.js b/assets/js/8be705a1.38adfbfd.js new file mode 100644 index 0000000000..685f6ba7d8 --- /dev/null +++ b/assets/js/8be705a1.38adfbfd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["93957"],{5931:function(e,s,i){i.r(s),i.d(s,{assets:()=>o,contentTitle:()=>n,default:()=>u,frontMatter:()=>l,metadata:()=>c,toc:()=>t});var c=i(60299),h=i(85893),r=i(80980);let l={mdx:{format:"md"},date:"2021-10-15T20:00",authors:["akajla09","Andrewnt219","BattleOfPlassey","bmiddha","caleeli","ChrisChinchilla","djamaile","Dr-Electron","dr5hn","dsmmcken","EkaterinaMozheiko","erickzhao","forresst","gtnardy","headline-design","hughlilly","ivarconr","jasonbosco","jeffreyaven","jkhaui","Josh-Cena","kingo55","KyrietS","lex111","moonrailgun","MrTechHunter","ntucker","ohkimur","printf-ana","Shrugsy","slorber","stnor","sw-yx","vinckr","Whirl21","zpao"]},n="2.0.0-beta.7",o={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},t=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDCA5 Breaking Change",id:"boom-breaking-change",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 36",id:"committers-36",level:2}];function a(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,r.a)(),...e.components};return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5683",children:"#5683"})," feat: make Translate children optional (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5674",children:"#5674"})," polish(theme-classic): guard against potential definition mistakes in Tabs (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5618",children:"#5618"})," feat: maintain page position for clicked grouped tabs (",(0,h.jsx)(s.a,{href:"https://github.com/Shrugsy",children:"@Shrugsy"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/4330",children:"#4330"})," feat(content-blog): add full blog post html into RSS/Atom feeds (",(0,h.jsx)(s.a,{href:"https://github.com/moonrailgun",children:"@moonrailgun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5642",children:"#5642"})," feat(theme-classic, plugin-docs): sidebar item level-specific className + allow customization (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5635",children:"#5635"})," feat: npm init docusaurus, yarn create docusaurus (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-types"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5589",children:"#5589"})," feat: properly type-check the Docusaurus config of new sites (",(0,h.jsx)(s.a,{href:"https://github.com/bmiddha",children:"@bmiddha"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5578",children:"#5578"})," feat(v2): allow specifying TOC max depth (themeConfig + frontMatter) (",(0,h.jsx)(s.a,{href:"https://github.com/erickzhao",children:"@erickzhao"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5498",children:"#5498"})," feat: make Webpack url-loader limit configurable (env variable) (",(0,h.jsx)(s.a,{href:"https://github.com/stnor",children:"@stnor"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5545",children:"#5545"})," feat: make tags route path configurable (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"boom-breaking-change",children:"\uD83D\uDCA5 Breaking Change"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5674",children:"#5674"})," polish(theme-classic): guard against potential definition mistakes in Tabs (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5618",children:"#5618"})," feat: maintain page position for clicked grouped tabs (",(0,h.jsx)(s.a,{href:"https://github.com/Shrugsy",children:"@Shrugsy"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5634",children:"#5634"})," chore: remove unused Bootstrap theme (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5578",children:"#5578"})," feat(v2): allow specifying TOC max depth (themeConfig + frontMatter) (",(0,h.jsx)(s.a,{href:"https://github.com/erickzhao",children:"@erickzhao"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5592",children:"#5592"})," refactor: use CSS Modules for toggle styles (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5694",children:"#5694"})," fix: proper collapsing of long element (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5684",children:"#5684"})," fix: use realpath for site dir to resolve symlink (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5645",children:"#5645"})," fix: place root route at the end (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5629",children:"#5629"})," fix: text/link hydration bug (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5699",children:"#5699"})," fix: apply announcement bar class if only needed (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5667",children:"#5667"})," fix: expand tag column on truncated post (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5668",children:"#5668"})," fix: preserve line breaks when copy code in Firefox (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5647",children:"#5647"})," feat(theme-classic): make first tab the default tab (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5652",children:"#5652"})," fix: restore duplicate Tabs rendering to fix hydration issue (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5643",children:"#5643"})," fix(theme-classic): reset default style for task lists (",(0,h.jsx)(s.a,{href:"https://github.com/EkaterinaMozheiko",children:"@EkaterinaMozheiko"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5571",children:"#5571"})," fix: highlight active item in recent post list (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5481",children:"#5481"})," fix: use heading itself as anchor for better crawling (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5677",children:"#5677"})," fix: Don't ignore options.transforms for buble (",(0,h.jsx)(s.a,{href:"https://github.com/ntucker",children:"@ntucker"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5556",children:"#5556"})," fix: pin react-live due to possible mismatch React (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5690",children:"#5690"})," fix: preserve hash in asset link (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5540",children:"#5540"})," fix: do not use ideal image plugin in dev env (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5606",children:"#5606"})," fix(docs): create tags route if only tags exists (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-types"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5601",children:"#5601"})," fix(module-type-aliases): move @type packages to dependencies (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5495",children:"#5495"})," fix: ignore code block lines when creating excerpt (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5490",children:"#5490"})," fix: install deps for new project via Yarn on Windows properly (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils-validation"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5479",children:"#5479"})," fix: add docs tag validation to solve #5478 (",(0,h.jsx)(s.a,{href:"https://github.com/sw-yx",children:"@sw-yx"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5709",children:"#5709"})," refactor: cleanup scroll handlers (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5627",children:"#5627"})," refactor: various TOC improvements (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5469",children:"#5469"})," refactor: Adjust styling of back top top button (",(0,h.jsx)(s.a,{href:"https://github.com/dsmmcken",children:"@dsmmcken"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5708",children:"#5708"})," refactor: hide hash link from crawlers (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5649",children:"#5649"})," refactor: improve pt-BR translation for classic theme (",(0,h.jsx)(s.a,{href:"https://github.com/printf-ana",children:"@printf-ana"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5646",children:"#5646"})," refactor: complete missing and fix ES translations (",(0,h.jsx)(s.a,{href:"https://github.com/caleeli",children:"@caleeli"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5640",children:"#5640"})," style: update Persian language translations (",(0,h.jsx)(s.a,{href:"https://github.com/MrTechHunter",children:"@MrTechHunter"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5630",children:"#5630"})," refactor: standardize using media queries (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5487",children:"#5487"})," refactor: use only one close SVG icon (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5592",children:"#5592"})," refactor: use CSS Modules for toggle styles (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5485",children:"#5485"})," polish: prevent pop navigation on back if navbar sidebar is open (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5472",children:"#5472"})," polish(theme-classic): add Chinese translations (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5636",children:"#5636"})," refactor: make all Props defined as interface + readonly (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-remark-plugin-npm2yarn"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5560",children:"#5560"})," polish: remove unused eslint-disable (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5580",children:"#5580"})," refactor(core): type improvements for ",(0,h.jsx)(s.code,{children:"PendingNavigation"})," (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5496",children:"#5496"})," refactor: remove deprecated createRequireFromPath (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5681",children:"#5681"})," docs(v2): Add CountryStateCityAPI site to showcase page (",(0,h.jsx)(s.a,{href:"https://github.com/dr5hn",children:"@dr5hn"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5661",children:"#5661"})," docs: updated cloudywithachanceofbigdata.com blog showcase (",(0,h.jsx)(s.a,{href:"https://github.com/jeffreyaven",children:"@jeffreyaven"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5658",children:"#5658"})," docs: Algolia plugin must be enabled before crawling the site (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5654",children:"#5654"})," docs: Add Warrant Docs site to showcase page (",(0,h.jsx)(s.a,{href:"https://github.com/akajla09",children:"@akajla09"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5655",children:"#5655"})," docs: Added cloudywithachanceofbigdata.com showcase blog (",(0,h.jsx)(s.a,{href:"https://github.com/jeffreyaven",children:"@jeffreyaven"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5648",children:"#5648"})," docs: add ory documentation to showcase (",(0,h.jsx)(s.a,{href:"https://github.com/vinckr",children:"@vinckr"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5644",children:"#5644"})," docs: add djamaile blog to site showcase (",(0,h.jsx)(s.a,{href:"https://github.com/djamaile",children:"@djamaile"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5641",children:"#5641"})," docs: add Lux Algo to showcase (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5638",children:"#5638"})," docs: add nanos world docs to showcase (",(0,h.jsx)(s.a,{href:"https://github.com/gtnardy",children:"@gtnardy"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5610",children:"#5610"})," docs: Add IOTA wiki to showcase (",(0,h.jsx)(s.a,{href:"https://github.com/Dr-Electron",children:"@Dr-Electron"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5489",children:"#5489"})," docs: add additional search options, typesense and local search (",(0,h.jsx)(s.a,{href:"https://github.com/jasonbosco",children:"@jasonbosco"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5590",children:"#5590"})," docs(website): document npm2yarn plugin + use new Tabs API everywhere (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5591",children:"#5591"})," docs: Add whirl.codes to showcase (",(0,h.jsx)(s.a,{href:"https://github.com/Whirl21",children:"@Whirl21"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5574",children:"#5574"})," docs: add Pipeline UI to showcase (",(0,h.jsx)(s.a,{href:"https://github.com/headline-design",children:"@headline-design"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5585",children:"#5585"})," docs: fix more references to Discord channels (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5572",children:"#5572"})," docs: add Blogasaurus to showcase (",(0,h.jsx)(s.a,{href:"https://github.com/BattleOfPlassey",children:"@BattleOfPlassey"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5575",children:"#5575"})," docs: clarify MDX version used (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5581",children:"#5581"})," docs(website): update all Discord links (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5566",children:"#5566"})," docs: fix code example (",(0,h.jsx)(s.a,{href:"https://github.com/ChrisChinchilla",children:"@ChrisChinchilla"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5559",children:"#5559"})," docs: minor grammatical correction (",(0,h.jsx)(s.a,{href:"https://github.com/jkhaui",children:"@jkhaui"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5543",children:"#5543"})," docs: add note about files being ignored when prefixed with an unders\u2026 (",(0,h.jsx)(s.a,{href:"https://github.com/KyrietS",children:"@KyrietS"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5549",children:"#5549"})," docs: Add Mint Metrics site to the Showcase (",(0,h.jsx)(s.a,{href:"https://github.com/kingo55",children:"@kingo55"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5546",children:"#5546"})," docs: add unleash to showcase (",(0,h.jsx)(s.a,{href:"https://github.com/ivarconr",children:"@ivarconr"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5539",children:"#5539"})," docs: improve escape pipe in Markdown tables (",(0,h.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5486",children:"#5486"})," docs: mention Netlify ignore build setting (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5482",children:"#5482"})," docs: update docusaurus-plugin-relative-paths description (",(0,h.jsx)(s.a,{href:"https://github.com/ohkimur",children:"@ohkimur"}),")"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"create-docusaurus"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5678",children:"#5678"})," refactor(content-docs): refactor sidebars, Joi validation, generator rework, expose config types (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5666",children:"#5666"})," chore: upgrade Infima to alpha.34 (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5639",children:"#5639"})," misc: update base translation + remove extra char (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:["Other\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5669",children:"#5669"})," fix: allow ColorGenerator to parse colors with prefix ",(0,h.jsx)(s.code,{children:"#"})," (",(0,h.jsx)(s.a,{href:"https://github.com/Andrewnt219",children:"@Andrewnt219"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5632",children:"#5632"})," chore: prepare Algolia migration (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5628",children:"#5628"})," chore: fix warning after build (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5573",children:"#5573"})," misc: fix ungrammatical sentence about 5-min tutorial (",(0,h.jsx)(s.a,{href:"https://github.com/hughlilly",children:"@hughlilly"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5499",children:"#5499"})," chore: set up CodeQL (",(0,h.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5474",children:"#5474"})," chore: remove beta.4 docs (already archived) (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-preset-bootstrap"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5634",children:"#5634"})," chore: remove unused Bootstrap theme (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-bootstrap"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(s.code,{children:"docusaurus"}),", ",(0,h.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5611",children:"#5611"})," chore: upgrade Prettier + regenerate lock file (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5609",children:"#5609"})," chore: upgrade Terser-related dependencies (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-cssnano-preset"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-init"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-migrate"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-client-redirects"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-debug"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-ideal-image"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils-common"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils-validation"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,h.jsx)(s.code,{children:"docusaurus"}),", ",(0,h.jsx)(s.code,{children:"lqip-loader"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5608",children:"#5608"})," chore: upgrade dependencies (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5605",children:"#5605"})," refactor(core): enforce noImplicitAny (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-preset-classic"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5603",children:"#5603"})," fix(preset-classic): fix TS build issue (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-plugin-google-analytics"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-google-gtag"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-preset-classic"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5561",children:"#5561"})," refactor(plugin-google-gtag, plugin-google-analytics): migrate packages to TS (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-plugin-sitemap"}),", ",(0,h.jsx)(s.code,{children:"docusaurus-preset-classic"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5579",children:"#5579"})," refactor(preset-classic): migrate preset-classic to TypeScript (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:[(0,h.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/5484",children:"#5484"})," chore: regenerate beta.6 examples + fix regen script (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,h.jsx)(s.h2,{id:"committers-36",children:"Committers: 36"}),"\n",(0,h.jsxs)(s.ul,{children:["\n",(0,h.jsxs)(s.li,{children:["Aditya Kajla (",(0,h.jsx)(s.a,{href:"https://github.com/akajla09",children:"@akajla09"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,h.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Ana Carolina (",(0,h.jsx)(s.a,{href:"https://github.com/printf-ana",children:"@printf-ana"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Andrew Nguyen (",(0,h.jsx)(s.a,{href:"https://github.com/Andrewnt219",children:"@Andrewnt219"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Bharat Middha (",(0,h.jsx)(s.a,{href:"https://github.com/bmiddha",children:"@bmiddha"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Chris Chinchilla (",(0,h.jsx)(s.a,{href:"https://github.com/ChrisChinchilla",children:"@ChrisChinchilla"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Daniel Costrasel (",(0,h.jsx)(s.a,{href:"https://github.com/ohkimur",children:"@ohkimur"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Darshan Gada (",(0,h.jsx)(s.a,{href:"https://github.com/dr5hn",children:"@dr5hn"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["David Callizaya (",(0,h.jsx)(s.a,{href:"https://github.com/caleeli",children:"@caleeli"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Don (",(0,h.jsx)(s.a,{href:"https://github.com/dsmmcken",children:"@dsmmcken"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Ekaterina Mozheiko (",(0,h.jsx)(s.a,{href:"https://github.com/EkaterinaMozheiko",children:"@EkaterinaMozheiko"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Erick Zhao (",(0,h.jsx)(s.a,{href:"https://github.com/erickzhao",children:"@erickzhao"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Forresst (",(0,h.jsx)(s.a,{href:"https://github.com/forresst",children:"@forresst"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Gabriel T. Nardy (",(0,h.jsx)(s.a,{href:"https://github.com/gtnardy",children:"@gtnardy"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Hugh Lilly (",(0,h.jsx)(s.a,{href:"https://github.com/hughlilly",children:"@hughlilly"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Ivar Conradi \xd8sthus (",(0,h.jsx)(s.a,{href:"https://github.com/ivarconr",children:"@ivarconr"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Jason Bosco (",(0,h.jsx)(s.a,{href:"https://github.com/jasonbosco",children:"@jasonbosco"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Jeffrey Aven (",(0,h.jsx)(s.a,{href:"https://github.com/jeffreyaven",children:"@jeffreyaven"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Jordan Lee (",(0,h.jsx)(s.a,{href:"https://github.com/jkhaui",children:"@jkhaui"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Joshua Chen (",(0,h.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Kyriet (",(0,h.jsx)(s.a,{href:"https://github.com/KyrietS",children:"@KyrietS"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Mahdi Hamldar (",(0,h.jsx)(s.a,{href:"https://github.com/MrTechHunter",children:"@MrTechHunter"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Nathaniel Tucker (",(0,h.jsx)(s.a,{href:"https://github.com/ntucker",children:"@ntucker"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Palash Shrivastava (",(0,h.jsx)(s.a,{href:"https://github.com/BattleOfPlassey",children:"@BattleOfPlassey"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Paul O\u2019Shannessy (",(0,h.jsx)(s.a,{href:"https://github.com/zpao",children:"@zpao"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Robert Kingston (",(0,h.jsx)(s.a,{href:"https://github.com/kingo55",children:"@kingo55"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Stefan Norberg (",(0,h.jsx)(s.a,{href:"https://github.com/stnor",children:"@stnor"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,h.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Vincent (",(0,h.jsx)(s.a,{href:"https://github.com/vinckr",children:"@vinckr"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["Whirl (",(0,h.jsx)(s.a,{href:"https://github.com/Whirl21",children:"@Whirl21"}),")"]}),"\n",(0,h.jsx)(s.li,{children:(0,h.jsx)(s.a,{href:"https://github.com/Dr-Electron",children:"@Dr-Electron"})}),"\n",(0,h.jsx)(s.li,{children:(0,h.jsx)(s.a,{href:"https://github.com/Shrugsy",children:"@Shrugsy"})}),"\n",(0,h.jsx)(s.li,{children:(0,h.jsx)(s.a,{href:"https://github.com/djamaile",children:"@djamaile"})}),"\n",(0,h.jsx)(s.li,{children:(0,h.jsx)(s.a,{href:"https://github.com/headline-design",children:"@headline-design"})}),"\n",(0,h.jsxs)(s.li,{children:["moonrailgun (",(0,h.jsx)(s.a,{href:"https://github.com/moonrailgun",children:"@moonrailgun"}),")"]}),"\n",(0,h.jsxs)(s.li,{children:["swyx (",(0,h.jsx)(s.a,{href:"https://github.com/sw-yx",children:"@sw-yx"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,h.jsx)(s,{...e,children:(0,h.jsx)(a,{...e})}):a(e)}},80980:function(e,s,i){i.d(s,{Z:()=>n,a:()=>l});var c=i(67294);let h={},r=c.createContext(h);function l(e){let s=c.useContext(r);return c.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function n(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(h):e.components||h:l(e.components),c.createElement(r.Provider,{value:s},e.children)}},60299:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.7","source":"@site/changelog/source/2.0.0-beta.7.md","title":"2.0.0-beta.7","description":"New Feature","date":"2021-10-15T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Aditya Kajla","alias":"akajla09","url":"https://github.com/akajla09","imageURL":"https://github.com/akajla09.png","key":"akajla09","page":null},{"name":"Andrew Nguyen","alias":"Andrewnt219","url":"https://github.com/Andrewnt219","imageURL":"https://github.com/Andrewnt219.png","key":"Andrewnt219","page":null},{"name":"Palash Shrivastava","alias":"BattleOfPlassey","url":"https://github.com/BattleOfPlassey","imageURL":"https://github.com/BattleOfPlassey.png","key":"BattleOfPlassey","page":null},{"name":"Bharat Middha","alias":"bmiddha","url":"https://github.com/bmiddha","imageURL":"https://github.com/bmiddha.png","key":"bmiddha","page":null},{"name":"David Callizaya","alias":"caleeli","url":"https://github.com/caleeli","imageURL":"https://github.com/caleeli.png","key":"caleeli","page":null},{"name":"Chris Chinchilla","alias":"ChrisChinchilla","url":"https://github.com/ChrisChinchilla","imageURL":"https://github.com/ChrisChinchilla.png","key":"ChrisChinchilla","page":null},{"name":"djamaile","alias":"djamaile","url":"https://github.com/djamaile","imageURL":"https://github.com/djamaile.png","key":"djamaile","page":null},{"name":"Dr-Electron","alias":"Dr-Electron","url":"https://github.com/Dr-Electron","imageURL":"https://github.com/Dr-Electron.png","key":"Dr-Electron","page":null},{"name":"Darshan Gada","alias":"dr5hn","url":"https://github.com/dr5hn","imageURL":"https://github.com/dr5hn.png","key":"dr5hn","page":null},{"name":"Don","alias":"dsmmcken","url":"https://github.com/dsmmcken","imageURL":"https://github.com/dsmmcken.png","key":"dsmmcken","page":null},{"name":"Ekaterina Mozheiko","alias":"EkaterinaMozheiko","url":"https://github.com/EkaterinaMozheiko","imageURL":"https://github.com/EkaterinaMozheiko.png","key":"EkaterinaMozheiko","page":null},{"name":"Erick Zhao","alias":"erickzhao","url":"https://github.com/erickzhao","imageURL":"https://github.com/erickzhao.png","key":"erickzhao","page":null},{"name":"Forresst","alias":"forresst","url":"https://github.com/forresst","imageURL":"https://github.com/forresst.png","key":"forresst","page":null},{"name":"Gabriel T. Nardy","alias":"gtnardy","url":"https://github.com/gtnardy","imageURL":"https://github.com/gtnardy.png","key":"gtnardy","page":null},{"name":"headline-design","alias":"headline-design","url":"https://github.com/headline-design","imageURL":"https://github.com/headline-design.png","key":"headline-design","page":null},{"name":"Hugh Lilly","alias":"hughlilly","url":"https://github.com/hughlilly","imageURL":"https://github.com/hughlilly.png","key":"hughlilly","page":null},{"name":"Ivar Conradi \xd8sthus","alias":"ivarconr","url":"https://github.com/ivarconr","imageURL":"https://github.com/ivarconr.png","key":"ivarconr","page":null},{"name":"Jason Bosco","alias":"jasonbosco","url":"https://github.com/jasonbosco","imageURL":"https://github.com/jasonbosco.png","key":"jasonbosco","page":null},{"name":"Jeffrey Aven","alias":"jeffreyaven","url":"https://github.com/jeffreyaven","imageURL":"https://github.com/jeffreyaven.png","key":"jeffreyaven","page":null},{"name":"Jordan Lee","alias":"jkhaui","url":"https://github.com/jkhaui","imageURL":"https://github.com/jkhaui.png","key":"jkhaui","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Robert Kingston","alias":"kingo55","url":"https://github.com/kingo55","imageURL":"https://github.com/kingo55.png","key":"kingo55","page":null},{"name":"Kyriet","alias":"KyrietS","url":"https://github.com/KyrietS","imageURL":"https://github.com/KyrietS.png","key":"KyrietS","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"moonrailgun","alias":"moonrailgun","url":"https://github.com/moonrailgun","imageURL":"https://github.com/moonrailgun.png","key":"moonrailgun","page":null},{"name":"Mahdi Hamldar","alias":"MrTechHunter","url":"https://github.com/MrTechHunter","imageURL":"https://github.com/MrTechHunter.png","key":"MrTechHunter","page":null},{"name":"Nathaniel Tucker","alias":"ntucker","url":"https://github.com/ntucker","imageURL":"https://github.com/ntucker.png","key":"ntucker","page":null},{"name":"Daniel Costrasel","alias":"ohkimur","url":"https://github.com/ohkimur","imageURL":"https://github.com/ohkimur.png","key":"ohkimur","page":null},{"name":"Ana Carolina","alias":"printf-ana","url":"https://github.com/printf-ana","imageURL":"https://github.com/printf-ana.png","key":"printf-ana","page":null},{"name":"Shrugsy","alias":"Shrugsy","url":"https://github.com/Shrugsy","imageURL":"https://github.com/Shrugsy.png","key":"Shrugsy","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Stefan Norberg","alias":"stnor","url":"https://github.com/stnor","imageURL":"https://github.com/stnor.png","key":"stnor","page":null},{"name":"swyx","alias":"sw-yx","url":"https://github.com/sw-yx","imageURL":"https://github.com/sw-yx.png","key":"sw-yx","page":null},{"name":"Vincent","alias":"vinckr","url":"https://github.com/vinckr","imageURL":"https://github.com/vinckr.png","key":"vinckr","page":null},{"name":"Whirl","alias":"Whirl21","url":"https://github.com/Whirl21","imageURL":"https://github.com/Whirl21.png","key":"Whirl21","page":null},{"name":"Paul O\u2019Shannessy","alias":"zpao","url":"https://github.com/zpao","imageURL":"https://github.com/zpao.png","key":"zpao","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-10-15T20:00","authors":["akajla09","Andrewnt219","BattleOfPlassey","bmiddha","caleeli","ChrisChinchilla","djamaile","Dr-Electron","dr5hn","dsmmcken","EkaterinaMozheiko","erickzhao","forresst","gtnardy","headline-design","hughlilly","ivarconr","jasonbosco","jeffreyaven","jkhaui","Josh-Cena","kingo55","KyrietS","lex111","moonrailgun","MrTechHunter","ntucker","ohkimur","printf-ana","Shrugsy","slorber","stnor","sw-yx","vinckr","Whirl21","zpao"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.8","permalink":"/changelog/2.0.0-beta.8"},"nextItem":{"title":"2.0.0-beta.6","permalink":"/changelog/2.0.0-beta.6"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/8bf84dbe.98e24d69.js b/assets/js/8bf84dbe.98e24d69.js new file mode 100644 index 0000000000..dc70dd0f7f --- /dev/null +++ b/assets/js/8bf84dbe.98e24d69.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["34504"],{56842:function(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var l=n(54630),s=n(85893),r=n(80980);let i={mdx:{format:"md"},date:"2020-03-08T20:00",authors:["lex111"]},a="2.0.0-alpha.48",c={authorsImageUrls:[void 0]},o=[{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"Committers: 1",id:"committers-1",level:2}];function h(e){let t={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"HOTFIX for 2.0.0-alpha.44"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Other\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/2383",children:"#2383"})," fix(v2): specify proper version for stylelint-copyright (",(0,s.jsx)(t.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"docusaurus"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/2382",children:"#2382"})," fix(v2): add missing preset-typescript dependency (",(0,s.jsx)(t.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"docusaurus-theme-classic"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/pull/2386",children:"#2386"})," fix(v2): add missing prismjs dependency and Noop component (",(0,s.jsx)(t.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"committers-1",children:"Committers: 1"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Alexey Pyltsyn (",(0,s.jsx)(t.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},80980:function(e,t,n){n.d(t,{Z:()=>a,a:()=>i});var l=n(67294);let s={},r=l.createContext(s);function i(e){let t=l.useContext(r);return l.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),l.createElement(r.Provider,{value:t},e.children)}},54630:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.48","source":"@site/changelog/source/2.0.0-alpha.48.md","title":"2.0.0-alpha.48","description":"HOTFIX for 2.0.0-alpha.44.","date":"2020-03-08T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-03-08T20:00","authors":["lex111"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.49","permalink":"/changelog/2.0.0-alpha.49"},"nextItem":{"title":"2.0.0-alpha.44","permalink":"/changelog/2.0.0-alpha.44"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/8c2c5342.337365ff.js b/assets/js/8c2c5342.337365ff.js new file mode 100644 index 0000000000..f132e61b86 --- /dev/null +++ b/assets/js/8c2c5342.337365ff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["79184"],{20766:function(t){t.exports=JSON.parse('{"tag":{"label":"Blog","permalink":"/tests/blog/tags/blog","allTagsPath":"/tests/blog/tags","count":4,"unlisted":false},"listMetadata":{"permalink":"/tests/blog/tags/blog","page":1,"postsPerPage":3,"totalPages":2,"totalCount":4,"nextPage":"/tests/blog/tags/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/8d4ea9fe.5c0582c9.js b/assets/js/8d4ea9fe.5c0582c9.js new file mode 100644 index 0000000000..16c444eba4 --- /dev/null +++ b/assets/js/8d4ea9fe.5c0582c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["29840"],{22125:function(a){a.exports=JSON.parse('{"tag":{"label":"Search","permalink":"/blog/tags/search","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/search","page":1,"postsPerPage":5,"totalPages":1,"totalCount":1,"blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/8dfde3ea.19890a80.js b/assets/js/8dfde3ea.19890a80.js new file mode 100644 index 0000000000..c3049ca1e7 --- /dev/null +++ b/assets/js/8dfde3ea.19890a80.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["6000"],{26927:function(e,t,n){n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>l,metadata:()=>a,toc:()=>u});var a=n(97432),r=n(85893),o=n(80980);let l={mdx:{format:"md"},date:"2019-11-08T20:00"},s="2.0.0-alpha.33",c={authorsImageUrls:[]},u=[];function i(e){return(0,r.jsx)(r.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(i,{...e})}):i(e)}},80980:function(e,t,n){n.d(t,{Z:()=>s,a:()=>l});var a=n(67294);let r={},o=a.createContext(r);function l(e){let t=a.useContext(o);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),a.createElement(o.Provider,{value:t},e.children)}},97432:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.33","source":"@site/changelog/source/2.0.0-alpha.33.md","title":"2.0.0-alpha.33","description":"Features","date":"2019-11-08T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-08T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.34","permalink":"/changelog/2.0.0-alpha.34"},"nextItem":{"title":"2.0.0-alpha.32","permalink":"/changelog/2.0.0-alpha.32"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/8ea09047.0ae4c8ad.js b/assets/js/8ea09047.0ae4c8ad.js new file mode 100644 index 0000000000..636cfe817a --- /dev/null +++ b/assets/js/8ea09047.0ae4c8ad.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["62494"],{28598:function(e){e.exports=JSON.parse('{"metadata":{"permalink":"/blog/page/2","page":2,"postsPerPage":5,"totalPages":6,"totalCount":26,"previousPage":"/blog","nextPage":"/blog/page/3","blogDescription":"Read blog posts about Docusaurus from the team","blogTitle":"Docusaurus blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/8ef3f86c.5797f76f.js b/assets/js/8ef3f86c.5797f76f.js new file mode 100644 index 0000000000..161649d47b --- /dev/null +++ b/assets/js/8ef3f86c.5797f76f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["81963"],{9905:function(e,n,s){s.r(n),s.d(n,{frontMatter:()=>l,default:()=>h,contentTitle:()=>r,assets:()=>a,toc:()=>d,metadata:()=>i});var i=JSON.parse('{"id":"i18n/introduction","title":"i18n - Introduction","description":"It is easy to translate a Docusaurus website with its internationalization (i18n) support.","source":"@site/docs/i18n/i18n-introduction.mdx","sourceDirName":"i18n","slug":"/i18n/introduction","permalink":"/docs/i18n/introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/i18n/i18n-introduction.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"id":"introduction","slug":"/i18n/introduction"},"sidebar":"docs","previous":{"title":"Deployment","permalink":"/docs/deployment"},"next":{"title":"Tutorial","permalink":"/docs/i18n/tutorial"}}'),o=s(85893),t=s(80980);let l={id:"introduction",slug:"/i18n/introduction"},r="i18n - Introduction",a={},d=[{value:"Goals",id:"goals",level:2},{value:"i18n goals",id:"i18n-goals",level:3},{value:"i18n non-goals",id:"i18n-non-goals",level:3},{value:"Translation workflow",id:"translation-workflow",level:2},{value:"Overview",id:"overview",level:3},{value:"Translation files",id:"translation-files",level:3},{value:"Markdown files",id:"markdown-files",level:4},{value:"JSON files",id:"json-files",level:4},{value:"Data files",id:"data-files",level:4},{value:"Translation files location",id:"translation-files-location",level:3}];function c(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"i18n---introduction",children:"i18n - Introduction"})}),"\n",(0,o.jsxs)(n.p,{children:["It is ",(0,o.jsx)(n.strong,{children:"easy to translate a Docusaurus website"})," with its internationalization (",(0,o.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Internationalization_and_localization",children:"i18n"}),") support."]}),"\n",(0,o.jsx)(n.h2,{id:"goals",children:"Goals"}),"\n",(0,o.jsxs)(n.p,{children:["It is important to understand the ",(0,o.jsx)(n.strong,{children:"design decisions"})," behind the Docusaurus i18n support."]}),"\n",(0,o.jsxs)(n.p,{children:["For more context, you can read the initial ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/issues/3317",children:"RFC"})," and ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/3325",children:"PR"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"i18n-goals",children:"i18n goals"}),"\n",(0,o.jsx)(n.p,{children:"The goals of the Docusaurus i18n system are:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Simple"}),": just put the translated files in the correct filesystem location"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Flexible translation workflows"}),": use Git (monorepo, forks, or submodules), SaaS software, FTP"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Flexible deployment options"}),": single, multiple domains, or hybrid"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Modular"}),": allow plugin authors to provide i18n support"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Low-overhead runtime"}),": documentation is mostly static and does not require heavy JS libraries or polyfills"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Scalable build-times"}),": allow building and deploying localized sites independently"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Localize assets"}),": an image of your site might contain text that should be translated"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"No coupling"}),": not forced to use any SaaS, yet integrations are possible"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsxs)(n.strong,{children:["Easy to use with ",(0,o.jsx)(n.a,{href:"https://crowdin.com/",children:"Crowdin"})]}),": a lot of Docusaurus v1 sites use Crowdin and should be able to migrate to v2"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Good SEO defaults"}),": we set useful SEO headers like ",(0,o.jsx)(n.a,{href:"https://developers.google.com/search/docs/advanced/crawling/localized-versions",children:(0,o.jsx)(n.code,{children:"hreflang"})})," for you"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"RTL support"}),": locales reading right-to-left (Arabic, Hebrew, etc.) are supported and easy to implement"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Default translations"}),": classic theme labels are translated for you in ",(0,o.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/tree/main/packages/docusaurus-theme-translations/locales",children:"many languages"})]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"i18n-non-goals",children:"i18n non-goals"}),"\n",(0,o.jsx)(n.p,{children:"We don't provide support for:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Automatic locale detection"}),": opinionated, and best done on the ",(0,o.jsx)(n.a,{href:"/docs/deployment",children:"server (your hosting provider)"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Translation SaaS software"}),": you are responsible to understand the external tools of your choice"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Translation of slugs"}),": technically complicated, little SEO value"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"translation-workflow",children:"Translation workflow"}),"\n",(0,o.jsx)(n.h3,{id:"overview",children:"Overview"}),"\n",(0,o.jsx)(n.p,{children:"Overview of the workflow to create a translated Docusaurus website:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Configure"}),": declare the default locale and alternative locales in ",(0,o.jsx)(n.a,{href:"/docs/api/docusaurus-config#i18n",children:(0,o.jsx)(n.code,{children:"docusaurus.config.js"})})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Translate"}),": put the translation files at the correct filesystem location"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Deploy"}),": build and deploy your site using a single or multi-domain strategy"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"translation-files",children:"Translation files"}),"\n",(0,o.jsx)(n.p,{children:"You will work with three kinds of translation files."}),"\n",(0,o.jsx)(n.h4,{id:"markdown-files",children:"Markdown files"}),"\n",(0,o.jsx)(n.p,{children:"This is the main content of your Docusaurus website."}),"\n",(0,o.jsx)(n.p,{children:"Markdown and MDX documents are translated as a whole, to fully preserve the translation context, instead of splitting each sentence as a separate string."}),"\n",(0,o.jsx)(n.h4,{id:"json-files",children:"JSON files"}),"\n",(0,o.jsx)(n.p,{children:"JSON is used to translate:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Your React code: standalone React pages in ",(0,o.jsx)(n.code,{children:"src/pages"}),", or other components"]}),"\n",(0,o.jsxs)(n.li,{children:["Layout labels provided through ",(0,o.jsx)(n.code,{children:"themeConfig"}),": navbar, footer"]}),"\n",(0,o.jsx)(n.li,{children:"Layout labels provided through plugin options: docs sidebar category labels, blog sidebar title..."}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["The JSON format used is called ",(0,o.jsx)(n.strong,{children:"Chrome i18n"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "myTranslationKey1": {\n "message": "Translated message 1",\n "description": "myTranslationKey1 is used on the homepage"\n },\n "myTranslationKey2": {\n "message": "Translated message 2",\n "description": "myTranslationKey2 is used on the FAQ page"\n }\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"The choice was made for 2 reasons:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Description attribute"}),": to help translators with additional context"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Widely supported"}),": ",(0,o.jsx)(n.a,{href:"https://developer.chrome.com/docs/extensions/mv2/i18n-messages/",children:"Chrome extensions"}),", ",(0,o.jsx)(n.a,{href:"https://support.crowdin.com/file-formats/chrome-json/",children:"Crowdin"}),", ",(0,o.jsx)(n.a,{href:"https://docs.transifex.com/formats/chrome-json",children:"Transifex"}),", ",(0,o.jsx)(n.a,{href:"https://help.phrase.com/help/chrome-json-messages",children:"Phrase"}),", ",(0,o.jsx)(n.a,{href:"https://www.applanga.com/docs/formats/chrome_i18n_json",children:"Applanga"}),", etc."]}),"\n"]}),"\n",(0,o.jsx)(n.h4,{id:"data-files",children:"Data files"}),"\n",(0,o.jsxs)(n.p,{children:["Some plugins may read from external data files that are localized as a whole. For example, the blog plugin uses an ",(0,o.jsx)(n.a,{href:"/docs/blog#global-authors",children:(0,o.jsx)(n.code,{children:"authors.yml"})})," file that can be translated by creating a copy under ",(0,o.jsx)(n.code,{children:"i18n/[locale]/docusaurus-plugin-content-blog/authors.yml"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"translation-files-location",children:"Translation files location"}),"\n",(0,o.jsx)(n.p,{children:"The translation files should be created at the correct filesystem location."}),"\n",(0,o.jsxs)(n.p,{children:["Each locale and plugin has its own ",(0,o.jsx)(n.code,{children:"i18n"})," subfolder:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"website/i18n/[locale]/[pluginName]/...\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["For multi-instance plugins, the path is ",(0,o.jsx)(n.code,{children:"website/i18n/[locale]/[pluginName]-[pluginId]/..."}),"."]})}),"\n",(0,o.jsx)(n.p,{children:"Translating a very simple Docusaurus site in French would lead to the following tree:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"website/i18n\n\u2514\u2500\u2500 fr\n \u251C\u2500\u2500 code.json # Any text label present in the React code\n \u2502 # Includes text labels from the themes' code\n \u251C\u2500\u2500 docusaurus-plugin-content-blog # translation data the blog plugin needs\n \u2502 \u2514\u2500\u2500 2020-01-01-hello.md\n \u2502\n \u251C\u2500\u2500 docusaurus-plugin-content-docs # translation data the docs plugin needs\n \u2502 \u251C\u2500\u2500 current\n \u2502 \u2502 \u251C\u2500\u2500 doc1.md\n \u2502 \u2502 \u2514\u2500\u2500 doc2.mdx\n \u2502 \u2514\u2500\u2500 current.json\n \u2502\n \u2514\u2500\u2500 docusaurus-theme-classic # translation data the classic theme needs\n \u251C\u2500\u2500 footer.json # Text labels in your footer theme config\n \u2514\u2500\u2500 navbar.json # Text labels in your navbar theme config\n"})}),"\n",(0,o.jsxs)(n.p,{children:["The JSON files are initialized with the ",(0,o.jsx)(n.a,{href:"/docs/cli#docusaurus-write-translations-sitedir",children:(0,o.jsx)(n.code,{children:"docusaurus write-translations"})})," CLI command. Each plugin sources its own translated content under the corresponding folder, while the ",(0,o.jsx)(n.code,{children:"code.json"})," file defines all text labels used in the React code."]}),"\n",(0,o.jsxs)(n.p,{children:["Each content plugin or theme is different, and ",(0,o.jsx)(n.strong,{children:"defines its own translation files location"}),":"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-docs#i18n",children:"Docs i18n"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-blog#i18n",children:"Blog i18n"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-pages#i18n",children:"Pages i18n"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"/docs/api/themes/configuration#i18n",children:"Themes i18n"})}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},80980:function(e,n,s){s.d(n,{Z:()=>r,a:()=>l});var i=s(67294);let o={},t=i.createContext(o);function l(e){let n=i.useContext(t);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8f8b968f.9d51d122.js b/assets/js/8f8b968f.9d51d122.js new file mode 100644 index 0000000000..9632c65f17 --- /dev/null +++ b/assets/js/8f8b968f.9d51d122.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["40672"],{14251:function(e,a,t){t.r(a),t.d(a,{assets:()=>u,contentTitle:()=>i,default:()=>h,frontMatter:()=>n,metadata:()=>s,toc:()=>o});var s=t(83629),r=t(85893),l=t(80980);let n={mdx:{format:"md"},date:"2021-06-30T20:00",authors:["AuHau","bperlmutter","dirslashls","iamayushdas","Josh-Cena","jsamr","kdrag0n","lex111","ramiy","slorber","taylorreece"]},i="2.0.0-beta.3",u={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[];function m(e){return(0,r.jsx)(r.Fragment,{})}function h(e={}){let{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,r.jsx)(a,{...e,children:(0,r.jsx)(m,{...e})}):m(e)}},80980:function(e,a,t){t.d(a,{Z:()=>i,a:()=>n});var s=t(67294);let r={},l=s.createContext(r);function n(e){let a=s.useContext(l);return s.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),s.createElement(l.Provider,{value:a},e.children)}},83629:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.3","source":"@site/changelog/source/2.0.0-beta.3.md","title":"2.0.0-beta.3","description":"New Feature","date":"2021-06-30T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Adam Uhl\xed\u0159","alias":"AuHau","url":"https://github.com/AuHau","imageURL":"https://github.com/AuHau.png","key":"AuHau","page":null},{"name":"bperlmutter","alias":"bperlmutter","url":"https://github.com/bperlmutter","imageURL":"https://github.com/bperlmutter.png","key":"bperlmutter","page":null},{"name":"dirslashls","alias":"dirslashls","url":"https://github.com/dirslashls","imageURL":"https://github.com/dirslashls.png","key":"dirslashls","page":null},{"name":"Ayush das","alias":"iamayushdas","url":"https://github.com/iamayushdas","imageURL":"https://github.com/iamayushdas.png","key":"iamayushdas","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"Jules Sam. Randolph","alias":"jsamr","url":"https://github.com/jsamr","imageURL":"https://github.com/jsamr.png","key":"jsamr","page":null},{"name":"Danny Lin","alias":"kdrag0n","url":"https://github.com/kdrag0n","imageURL":"https://github.com/kdrag0n.png","key":"kdrag0n","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Rami Yushuvaev","alias":"ramiy","url":"https://github.com/ramiy","imageURL":"https://github.com/ramiy.png","key":"ramiy","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Taylor Reece","alias":"taylorreece","url":"https://github.com/taylorreece","imageURL":"https://github.com/taylorreece.png","key":"taylorreece","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-06-30T20:00","authors":["AuHau","bperlmutter","dirslashls","iamayushdas","Josh-Cena","jsamr","kdrag0n","lex111","ramiy","slorber","taylorreece"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.4","permalink":"/changelog/2.0.0-beta.4"},"nextItem":{"title":"2.0.0-beta.2","permalink":"/changelog/2.0.0-beta.2"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/8fec38e1.4499df07.js b/assets/js/8fec38e1.4499df07.js new file mode 100644 index 0000000000..30f9c40684 --- /dev/null +++ b/assets/js/8fec38e1.4499df07.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["37102"],{21166:function(t,e,o){o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>s,metadata:()=>i,toc:()=>d});var i=o(32447),r=o(85893),n=o(80980);let s={title:"Single author socials",authors:[{name:"S\xe9bastien Lorber",imageURL:"https://github.com/slorber.png",title:"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor editor editor editor editor editor editor",socials:{x:"https://x.com/sebastienlorber",github:"https://github.com/slorber",linkedin:"https://www.linkedin.com/in/sebastienlorber/",newsletter:"https://thisweekinreact.com/newsletter"}}]},a="Multiple authors",l={authorsImageUrls:[void 0]},d=[{value:"Content",id:"content",level:2}];function u(t){let e={h2:"h2",p:"p",...(0,n.a)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,r.jsx)(e.p,{children:"Content about the blog post"})]})}function c(t={}){let{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(u,{...t})}):u(t)}},80980:function(t,e,o){o.d(e,{Z:()=>a,a:()=>s});var i=o(67294);let r={},n=i.createContext(r);function s(t){let e=i.useContext(n);return i.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:s(t.components),i.createElement(n.Provider,{value:e},t.children)}},32447:function(t){t.exports=JSON.parse('{"permalink":"/tests/blog/2024/07/03/single-author","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2024-07-03-single-author.mdx","source":"@site/_dogfooding/_blog tests/2024-07-03-single-author.mdx","title":"Single author socials","description":"Content","date":"2024-07-03T00:00:00.000Z","tags":[],"readingTime":1.4,"hasTruncateMarker":false,"authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"},"key":null,"page":null}],"frontMatter":{"title":"Single author socials","authors":[{"name":"S\xe9bastien Lorber","imageURL":"https://github.com/slorber.png","title":"Docusaurus Maintainer and This Week In React editor editor editor editor editor editor editor editor editor editor editor editor editor editor","socials":{"x":"https://x.com/sebastienlorber","github":"https://github.com/slorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","newsletter":"https://thisweekinreact.com/newsletter"}}]},"unlisted":false,"prevItem":{"title":"How multiple authors with socials looks","permalink":"/tests/blog/2024/07/03/multiple-authors"},"nextItem":{"title":"Ensure heading anchor slugs respect GitHub emoji behavior","permalink":"/tests/blog/2023/08/05/"}}')}}]); \ No newline at end of file diff --git a/assets/js/90545aa3.059419f7.js b/assets/js/90545aa3.059419f7.js new file mode 100644 index 0000000000..06ae8bee83 --- /dev/null +++ b/assets/js/90545aa3.059419f7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["42479"],{96001:function(e,s,n){n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>t});var i=n(8458),r=n(85893),c=n(80980);let l={mdx:{format:"md"},date:"2024-01-05T20:00",authors:["axmmisaka","c0h1b4","jgarrow","Josh-Cena","OzakIOne","SimenB","slorber","tats-u"]},o="3.1.0",a={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},t=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDD27 Maintenance",id:"wrench-maintenance",level:2},{value:"Committers: 8",id:"committers-8",level:2}];function h(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,c.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9528",children:"#9528"})," feat(core): make broken link checker detect broken anchors - add ",(0,r.jsx)(s.code,{children:"onBrokenAnchors"})," config (",(0,r.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9674",children:"#9674"})," feat(mdx-loader): add support for siteConfig.markdown.remarkRehypeOptions (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9671",children:"#9671"})," feat(theme-common): code block MagicComments support for (Visual) Basic/Batch/Fortran/COBOL/ML (",(0,r.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-pages"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-utils"}),", ",(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9624",children:"#9624"})," feat: siteConfig.markdown.parseFrontMatter hook (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9610",children:"#9610"})," feat(core): enable port configuration via environment variable (",(0,r.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,r.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9704",children:"#9704"})," fix(theme): allow empty code blocks and live playgrounds (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"create-docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9696",children:"#9696"})," fix(create-docusaurus): fix init template code blocks, and little improvements (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-pwa"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9668",children:"#9668"})," fix(pwa-plugin): upgrade workbox (",(0,r.jsx)(s.a,{href:"https://github.com/SimenB",children:"@SimenB"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9648",children:"#9648"})," fix(cli): output help when no conventional config + no subcommand (",(0,r.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9631",children:"#9631"})," fix(live-codeblock): stabilize react-live transformCode callback, fix editor/preview desync (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9617",children:"#9617"})," fix(utils): Markdown link replacement with <> but no spaces (",(0,r.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-module-type-aliases"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9612",children:"#9612"})," fix(type-aliases): add ",(0,r.jsx)(s.code,{children:"title"})," prop for imported inline SVG React components (",(0,r.jsx)(s.a,{href:"https://github.com/axmmisaka",children:"@axmmisaka"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9581",children:"#9581"})," fix(content-blog): add baseUrl for author.image_url (",(0,r.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-translations"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9477",children:"#9477"})," fix(i18n): complete translations for theme-common.json Brazilian Portuguese (pt-BR) (",(0,r.jsx)(s.a,{href:"https://github.com/c0h1b4",children:"@c0h1b4"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-common"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9335",children:"#9335"})," refactor(theme-common): allow optional desktopBreakpoint param in useWindowSize (",(0,r.jsx)(s.a,{href:"https://github.com/jgarrow",children:"@jgarrow"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"wrench-maintenance",children:"\uD83D\uDD27 Maintenance"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docusaurus-theme-search-algolia"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/9604",children:"#9604"})," chore: add lint autofix CI job (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"committers-8",children:"Committers: 8"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Janessa Garrow (",(0,r.jsx)(s.a,{href:"https://github.com/jgarrow",children:"@jgarrow"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Joshua Chen (",(0,r.jsx)(s.a,{href:"https://github.com/Josh-Cena",children:"@Josh-Cena"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Simen Bekkhus (",(0,r.jsx)(s.a,{href:"https://github.com/SimenB",children:"@SimenB"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,r.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["Tatsunori Uchino (",(0,r.jsx)(s.a,{href:"https://github.com/tats-u",children:"@tats-u"}),")"]}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.a,{href:"https://github.com/c0h1b4",children:"@c0h1b4"})}),"\n",(0,r.jsxs)(s.li,{children:["axmmisaka (",(0,r.jsx)(s.a,{href:"https://github.com/axmmisaka",children:"@axmmisaka"}),")"]}),"\n",(0,r.jsxs)(s.li,{children:["ozaki (",(0,r.jsx)(s.a,{href:"https://github.com/OzakIOne",children:"@OzakIOne"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,c.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},80980:function(e,s,n){n.d(s,{Z:()=>o,a:()=>l});var i=n(67294);let r={},c=i.createContext(r);function l(e){let s=i.useContext(c);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(c.Provider,{value:s},e.children)}},8458:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.1.0","source":"@site/changelog/source/3.1.0.md","title":"3.1.0","description":"New Feature","date":"2024-01-05T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"axmmisaka","alias":"axmmisaka","url":"https://github.com/axmmisaka","imageURL":"https://github.com/axmmisaka.png","key":"axmmisaka","page":null},{"name":"c0h1b4","alias":"c0h1b4","url":"https://github.com/c0h1b4","imageURL":"https://github.com/c0h1b4.png","key":"c0h1b4","page":null},{"name":"Janessa Garrow","alias":"jgarrow","url":"https://github.com/jgarrow","imageURL":"https://github.com/jgarrow.png","key":"jgarrow","page":null},{"name":"Joshua Chen","alias":"Josh-Cena","url":"https://github.com/Josh-Cena","imageURL":"https://github.com/Josh-Cena.png","key":"Josh-Cena","page":null},{"name":"ozaki","alias":"OzakIOne","url":"https://github.com/OzakIOne","imageURL":"https://github.com/OzakIOne.png","key":"OzakIOne","page":null},{"name":"Simen Bekkhus","alias":"SimenB","url":"https://github.com/SimenB","imageURL":"https://github.com/SimenB.png","key":"SimenB","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Tatsunori Uchino","alias":"tats-u","url":"https://github.com/tats-u","imageURL":"https://github.com/tats-u.png","key":"tats-u","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2024-01-05T20:00","authors":["axmmisaka","c0h1b4","jgarrow","Josh-Cena","OzakIOne","SimenB","slorber","tats-u"]},"unlisted":false,"prevItem":{"title":"3.1.1","permalink":"/changelog/3.1.1"},"nextItem":{"title":"3.0.1","permalink":"/changelog/3.0.1"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/9059c83e.87daa904.js b/assets/js/9059c83e.87daa904.js new file mode 100644 index 0000000000..8bb6b4cdc1 --- /dev/null +++ b/assets/js/9059c83e.87daa904.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["55242"],{61889:function(e,s,o){o.r(s),o.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>n,toc:()=>l});var n=o(43514),t=o(85893),r=o(80980);let i={mdx:{format:"md"},date:"2019-11-04T20:00"},a="2.0.0-alpha.32",c={authorsImageUrls:[]},l=[{value:"Features",id:"features",level:2},{value:"Bug Fixes",id:"bug-fixes",level:2},{value:"Performance Improvement",id:"performance-improvement",level:2},{value:"Others",id:"others",level:2}];function d(e){let s={a:"a",code:"code",h2:"h2",li:"li",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.h2,{id:"features",children:"Features"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Add ",(0,t.jsx)(s.code,{children:""})," component for client side redirect. Example Usage:"]}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-js",children:"import React from 'react';\nimport {Redirect} from '@docusaurus/router';\n\nfunction Home() {\n return ;\n}\n"})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Allow user to add custom HTML to footer items. ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/1905",children:"#1905"})]}),"\n",(0,t.jsxs)(s.li,{children:["Added code block line highlighting feature (thanks @lex111)! If you have previously swizzled the ",(0,t.jsx)(s.code,{children:"CodeBlock"})," theme component, it is recommended to update your source code to have this feature. (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/Docusaurus/issues/1860",children:"#1860"}),")"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"bug-fixes",children:"Bug Fixes"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Fix ",(0,t.jsx)(s.code,{children:"@theme/Tabs"})," component to be able to create tabs with only one item."]}),"\n",(0,t.jsxs)(s.li,{children:["Fix MDX ",(0,t.jsx)(s.code,{children:"@theme/Heading"})," component. If there is no id, it should not create anchor link."]}),"\n",(0,t.jsxs)(s.li,{children:["Fixed a bug in which if ",(0,t.jsx)(s.code,{children:"themeConfig.algolia"})," is not defined, the custom searchbar won't appear. If you've swizzled Algolia ",(0,t.jsx)(s.code,{children:"SearchBar"})," component before, please update your source code otherwise CSS might break. See ",(0,t.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/1909/files",children:"#1909"})," for reference."]}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-js",children:'- \n+
\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Slightly adjust search icon position to be more aligned on small width device. (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/Docusaurus/issues/1893",children:"#1893"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Fix algolia styling bug, previously search suggestion result is sometimes hidden. (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/Docusaurus/issues/1915",children:"#1915"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Changed the way we read the ",(0,t.jsx)(s.code,{children:"USE_SSH"})," env variable during deployment to be the same as in v1."]}),"\n",(0,t.jsxs)(s.li,{children:["Fix accessing ",(0,t.jsx)(s.code,{children:"docs/"})," or ",(0,t.jsx)(s.code,{children:"/docs/xxxx"})," that does not match any existing doc page should return 404 (Not found) page, not blank page. (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/Docusaurus/issues/1903",children:"#1903"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Prioritize ",(0,t.jsx)(s.code,{children:"@docusaurus/core"})," dependencies/ node_modules over user's node_modules. This fix a bug whereby if user has core-js@3 on its own node_modules but docusaurus depends on core-js@2, we previously encounter ",(0,t.jsx)(s.code,{children:"Module not found: core-js/modules/xxxx"})," (because core-js@3 doesn't have that)."]}),"\n",(0,t.jsxs)(s.li,{children:["Fix a bug where docs plugin add ",(0,t.jsx)(s.code,{children:"/docs"})," route even if docs folder is empty. We also improved docs plugin test coverage to 100% for stability before working on docs versioning. (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/Docusaurus/issues/1912",children:"#1912"}),")"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"performance-improvement",children:"Performance Improvement"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Reduce memory usage consumption. (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/Docusaurus/issues/1900",children:"#1900"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Significantly reduce main bundle size and initial HTML payload on production build. Generated files from webpack is also shorter in name. (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/Docusaurus/issues/1898",children:"#1898"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Simplify blog metadata. Previously, accessing ",(0,t.jsx)(s.code,{children:"/blog/post-xxx"})," will request for next and prev blog post metadata too aside from target post metadata. We should only request target post metadata. (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/Docusaurus/issues/1908",children:"#1908"}),")"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"others",children:"Others"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Convert sitemap plugin to TypeScript. (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/Docusaurus/issues/1894",children:"#1894"}),")"]}),"\n",(0,t.jsxs)(s.li,{children:["Refactor dark mode toggle into a hook. (",(0,t.jsx)(s.a,{href:"https://github.com/facebook/Docusaurus/issues/1899",children:"#1899"}),")"]}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},80980:function(e,s,o){o.d(s,{Z:()=>a,a:()=>i});var n=o(67294);let t={},r=n.createContext(t);function i(e){let s=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),n.createElement(r.Provider,{value:s},e.children)}},43514:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.32","source":"@site/changelog/source/2.0.0-alpha.32.md","title":"2.0.0-alpha.32","description":"Features","date":"2019-11-04T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-04T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.33","permalink":"/changelog/2.0.0-alpha.33"},"nextItem":{"title":"2.0.0-alpha.31","permalink":"/changelog/2.0.0-alpha.31"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/907232bd.3584f08a.js b/assets/js/907232bd.3584f08a.js new file mode 100644 index 0000000000..d68d8c0c71 --- /dev/null +++ b/assets/js/907232bd.3584f08a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["58457"],{98127:function(e,t,a){a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>n,toc:()=>u});var n=a(8800),r=a(85893),o=a(80980);let s={mdx:{format:"md"},date:"2021-12-10T18:00",authors:["pranabdas","slorber"]},l="2.0.0-beta.11",i={authorsImageUrls:[void 0,void 0]},u=[];function c(e){return(0,r.jsx)(r.Fragment,{})}function p(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},80980:function(e,t,a){a.d(t,{Z:()=>l,a:()=>s});var n=a(67294);let r={},o=n.createContext(r);function s(e){let t=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(o.Provider,{value:t},e.children)}},8800:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-beta.11","source":"@site/changelog/source/2.0.0-beta.11.md","title":"2.0.0-beta.11","description":"Bug Fix","date":"2021-12-10T18:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"Pranab Das","alias":"pranabdas","url":"https://github.com/pranabdas","imageURL":"https://github.com/pranabdas.png","key":"pranabdas","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2021-12-10T18:00","authors":["pranabdas","slorber"]},"unlisted":false,"prevItem":{"title":"2.0.0-beta.12","permalink":"/changelog/2.0.0-beta.12"},"nextItem":{"title":"2.0.0-beta.10","permalink":"/changelog/2.0.0-beta.10"},"listPageLink":"/changelog/page/3"}')}}]); \ No newline at end of file diff --git a/assets/js/907e5735.18b097fd.js b/assets/js/907e5735.18b097fd.js new file mode 100644 index 0000000000..51ee054fb0 --- /dev/null +++ b/assets/js/907e5735.18b097fd.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["35919"],{37403:function(e,t,r){r.r(t),r.d(t,{frontMatter:()=>c,DocPropsList:()=>m,contentTitle:()=>d,assets:()=>u,default:()=>p,toc:()=>h,metadata:()=>s});var s=JSON.parse('{"id":"tests/sidebar-frontmatter/index","title":"Sidebar front matter","description":"","source":"@site/_dogfooding/_docs tests/tests/sidebar-frontmatter/index.mdx","sourceDirName":"tests/sidebar-frontmatter","slug":"/tests/sidebar-frontmatter/","permalink":"/tests/docs/tests/sidebar-frontmatter/","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"sidebar_label":"Sidebar Front Matter Tests","sidebar_class_name":"dogfood_sidebar_class_name_test"},"sidebar":"sidebar","previous":{"title":"Test links","permalink":"/tests/docs/tests/links/test-markdown-links"},"next":{"title":"Doc With Sidebar Class Name","permalink":"/tests/docs/tests/sidebar-frontmatter/doc-with-sidebar-className"}}'),n=r(85893),a=r(80980),i=r(35363),l=r(34134),o=r(86762);let c={sidebar_label:"Sidebar Front Matter Tests",sidebar_class_name:"dogfood_sidebar_class_name_test"},d="Sidebar front matter",u={},m=({category:e})=>{let t=[e,...e.items];return(0,n.jsxs)("table",{children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:(0,n.jsx)("code",{children:"type"})}),(0,n.jsx)("th",{children:(0,n.jsx)("code",{children:"label"})}),(0,n.jsx)("th",{children:(0,n.jsx)("code",{children:"customProps"})}),(0,n.jsx)("th",{children:(0,n.jsx)("code",{children:"className"})})]})}),(0,n.jsx)("tbody",{children:t.map((e,t)=>(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{children:e.type}),(0,n.jsx)("td",{children:(0,n.jsx)(i.Z,{to:e.href,children:e.label})}),(0,n.jsx)("td",{children:JSON.stringify(e.customProps)}),(0,n.jsx)("td",{children:JSON.stringify(e.className)})]},t))})]})},h=[{value:"Items table",id:"items-table",level:2}];function f(e){let t={h1:"h1",h2:"h2",header:"header",hr:"hr",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"sidebar-front-matter",children:"Sidebar front matter"})}),"\n","\n",(0,n.jsx)(o.Z,{}),"\n",(0,n.jsx)(t.hr,{}),"\n",(0,n.jsx)(t.h2,{id:"items-table",children:"Items table"}),"\n","\n",(0,n.jsx)(m,{category:(0,l.jA)()})]})}function p(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(f,{...e})}):f(e)}p.displayName="MDXContent(_dogfooding/_docs tests/tests/sidebar-frontmatter/index.mdx)"},86762:function(e,t,r){r.d(t,{Z:()=>g});var s=r(85893);r(67294);var n=r(90496),a=r(85921),i=r(35363),l=r(11660),o=r(82095),c=r(77827),d=r(57922);let u={cardContainer:"cardContainer_Uewx",cardTitle:"cardTitle_dwRT",cardDescription:"cardDescription_mCBT"};function m(e){let{className:t,href:r,children:a}=e;return(0,s.jsx)(i.Z,{href:r,className:(0,n.Z)("card padding--lg",u.cardContainer,t),children:a})}function h(e){let{className:t,href:r,icon:a,title:i,description:l}=e;return(0,s.jsxs)(m,{href:r,className:t,children:[(0,s.jsxs)(d.Z,{as:"h2",className:(0,n.Z)("text--truncate",u.cardTitle),title:i,children:[a," ",i]}),l&&(0,s.jsx)("p",{className:(0,n.Z)("text--truncate",u.cardDescription),title:l,children:l})]})}function f(e){let{item:t}=e,r=(0,a.LM)(t),n=function(){let{selectMessage:e}=(0,l.c)();return t=>e(t,(0,c.I)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t}))}();return r?(0,s.jsx)(h,{className:t.className,href:r,icon:"\uD83D\uDDC3\uFE0F",title:t.label,description:t.description??n(t.items.length)}):null}function p(e){let{item:t}=e,r=(0,o.Z)(t.href)?"\uD83D\uDCC4\uFE0F":"\uD83D\uDD17",n=(0,a.xz)(t.docId??void 0);return(0,s.jsx)(h,{className:t.className,href:t.href,icon:r,title:t.label,description:t.description??n?.description})}function x(e){let{item:t}=e;switch(t.type){case"link":return(0,s.jsx)(p,{item:t});case"category":return(0,s.jsx)(f,{item:t});default:throw Error(`unknown item type ${JSON.stringify(t)}`)}}function j(e){let{className:t}=e,r=(0,a.Ok)();return(0,s.jsx)(g,{items:r,className:t})}function b(e){let{item:t}=e;return(0,s.jsx)("article",{className:(0,n.Z)("docCardListItem_hvcp","col col--6"),children:(0,s.jsx)(x,{item:t})})}function g(e){let{items:t,className:r}=e;if(!t)return(0,s.jsx)(j,{...e});let i=(0,a.MN)(t);return(0,s.jsx)("section",{className:(0,n.Z)("row",r),children:i.map((e,t)=>(0,s.jsx)(b,{item:e},t))})}},34134:function(e,t,r){function s(){for(var e=arguments.length,t=Array(e),s=0;ss}),r(8156)},11660:function(e,t,r){r.d(t,{c:()=>o});var s=r(67294),n=r(8156);let a=["zero","one","two","few","many","other"];function i(e){return a.filter(t=>e.includes(t))}let l={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,n.Z)();return(0,s.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),l}},[e])}();return{selectMessage:(t,r)=>(function(e,t,r){let s=e.split("|");if(1===s.length)return s[0];s.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);let n=r.select(t);return s[Math.min(r.pluralForms.indexOf(n),s.length-1)]})(r,t,e)}}},80980:function(e,t,r){r.d(t,{Z:()=>l,a:()=>i});var s=r(67294);let n={},a=s.createContext(n);function i(e){let t=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/90e20400.f5400615.js b/assets/js/90e20400.f5400615.js new file mode 100644 index 0000000000..6d655f14cf --- /dev/null +++ b/assets/js/90e20400.f5400615.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["61122"],{86898:function(e,t,s){s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>r,frontMatter:()=>i,metadata:()=>o,toc:()=>h});var o=s(53178),a=s(85893),n=s(80980);let i={tags:["paginated-tag"],authors:[{name:"Josh-Cena1"},{name:"Josh-Cena2",image_url:"https://github.com/Josh-Cena.png"},{name:"Josh-Cena3",url:"https://github.com/Josh-Cena"},{name:"Josh-Cena4",email:"sidechen2003@gmail.com"}]},l="Post with duplicate title",u={authorsImageUrls:[void 0,void 0,void 0,void 0]},h=[];function c(e){let t={a:"a",p:"p",...(0,n.a)(),...e.components};return(0,a.jsxs)(t.p,{children:["See ",(0,a.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/issues/6059",children:"https://github.com/facebook/docusaurus/issues/6059"}),". This one and ",(0,a.jsx)(t.a,{href:"/tests/blog/2021/11/13/dup-title",children:"2021-11-13-dup-title.md"})," should both show up."]})}function r(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},80980:function(e,t,s){s.d(t,{Z:()=>l,a:()=>i});var o=s(67294);let a={},n=o.createContext(a);function i(e){let t=o.useContext(n);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(n.Provider,{value:t},e.children)}},53178:function(e){e.exports=JSON.parse('{"permalink":"/tests/blog/2021/09/13/dup-title","editUrl":"https://github.com/facebook/docusaurus/edit/main/website/_dogfooding/_blog-tests/_dogfooding/_blog tests/2021-09-13-dup-title.mdx","source":"@site/_dogfooding/_blog tests/2021-09-13-dup-title.mdx","title":"Post with duplicate title","description":"See https://github.com/facebook/docusaurus/issues/6059. This one and 2021-11-13-dup-title.md should both show up.","date":"2021-09-13T00:00:00.000Z","tags":[{"inline":false,"label":"Paginated-tag","permalink":"/tests/blog/tags/paginated-tag"}],"readingTime":2,"hasTruncateMarker":false,"authors":[{"name":"Josh-Cena1","socials":{},"key":null,"page":null},{"name":"Josh-Cena2","image_url":"https://github.com/Josh-Cena.png","imageURL":"https://github.com/Josh-Cena.png","socials":{},"key":null,"page":null},{"name":"Josh-Cena3","url":"https://github.com/Josh-Cena","socials":{},"key":null,"page":null},{"name":"Josh-Cena4","email":"sidechen2003@gmail.com","socials":{},"key":null,"page":null}],"frontMatter":{"tags":["paginated-tag"],"authors":[{"name":"Josh-Cena1"},{"name":"Josh-Cena2","image_url":"https://github.com/Josh-Cena.png","imageURL":"https://github.com/Josh-Cena.png"},{"name":"Josh-Cena3","url":"https://github.com/Josh-Cena"},{"name":"Josh-Cena4","email":"sidechen2003@gmail.com"}]},"unlisted":false,"prevItem":{"title":"Blog post MDX Feed tests","permalink":"/tests/blog/2021/10/07/blog-post-mdx-feed-tests"},"nextItem":{"title":"Multiple authors","permalink":"/tests/blog/2021/08/23/multiple-authors"}}')}}]); \ No newline at end of file diff --git a/assets/js/90e57dc7.a2f6baca.js b/assets/js/90e57dc7.a2f6baca.js new file mode 100644 index 0000000000..2249cca019 --- /dev/null +++ b/assets/js/90e57dc7.a2f6baca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["38753"],{97469:function(n,e,t){t.r(e),t.d(e,{frontMatter:()=>c,default:()=>u,contentTitle:()=>a,assets:()=>r,toc:()=>h,metadata:()=>i});var i=JSON.parse('{"id":"tests/admonitions","title":"Admonitions tests","description":"Empty content","source":"@site/_dogfooding/_docs tests/tests/admonitions.mdx","sourceDirName":"tests","slug":"/tests/admonitions","permalink":"/tests/docs/tests/admonitions","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{},"sidebar":"sidebar","previous":{"title":"Case-Sensitive doc","permalink":"/tests/docs/tests/Case-Sentitive-Doc"},"next":{"title":"\xe6\xf8\xe5","permalink":"/tests/docs/tests/ascii/folder/\xe6\xf8\xe5"}}'),o=t(85893),s=t(80980),d=t(49356),l=t(37796);let c={},a="Admonitions tests",r={},h=[{value:"Empty content",id:"empty-content",level:2},{value:"Empty fragment content",id:"empty-fragment-content",level:2},{value:"Large font icon",id:"large-font-icon",level:2},{value:"Large svg icon",id:"large-svg-icon",level:2},{value:"Indented admonitions",id:"indented-admonitions",level:2},{value:"Quoted admonitions",id:"quoted-admonitions",level:2},{value:"Official admonitions",id:"official-admonitions",level:2},{value:"Legacy admonitions",id:"legacy-admonitions",level:2}];function m(n){let e={a:"a",admonition:"admonition",blockquote:"blockquote",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",span:"span",strong:"strong",ul:"ul",...(0,s.a)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"admonitions-tests",children:"Admonitions tests"})}),"\n",(0,o.jsx)(e.h2,{id:"empty-content",children:"Empty content"}),"\n",(0,o.jsx)(e.admonition,{title:"Title Only",type:"note"}),"\n",(0,o.jsx)(e.h2,{id:"empty-fragment-content",children:"Empty fragment content"}),"\n",(0,o.jsx)(e.admonition,{title:"Title Only",type:"note",children:(0,o.jsx)(o.Fragment,{})}),"\n",(0,o.jsx)(e.h2,{id:"large-font-icon",children:"Large font icon"}),"\n","\n",(0,o.jsx)(d.Z,{type:"tip",icon:(0,o.jsx)(e.span,{style:{fontSize:60},children:"\uD83D\uDCA1"}),title:"Did you know...",children:(0,o.jsx)(e.p,{children:"content"})}),"\n",(0,o.jsx)(d.Z,{type:"info",icon:(0,o.jsx)(e.span,{style:{fontSize:40},children:"\u2139\uFE0F"}),title:"Did you know...",children:(0,o.jsx)(e.p,{children:"content"})}),"\n",(0,o.jsx)(e.h2,{id:"large-svg-icon",children:"Large svg icon"}),"\n","\n",(0,o.jsx)(d.Z,{type:"tip",icon:(0,o.jsx)(l.Z,{style:{width:60,height:60}}),title:"Did you know...",children:(0,o.jsx)(e.p,{children:"content"})}),"\n",(0,o.jsx)(d.Z,{type:"info",icon:(0,o.jsx)(l.Z,{style:{width:40,height:40}}),title:"Did you know...",children:(0,o.jsx)(e.p,{children:"content"})}),"\n",(0,o.jsx)(e.h2,{id:"indented-admonitions",children:"Indented admonitions"}),"\n",(0,o.jsxs)(e.p,{children:["See admonition title v2 compat syntax bug: ",(0,o.jsx)(e.a,{href:"https://github.com/facebook/docusaurus/issues/9507",children:"https://github.com/facebook/docusaurus/issues/9507"})]}),"\n",(0,o.jsxs)(e.ol,{children:["\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"Item 1"}),"\n",(0,o.jsx)(e.admonition,{title:"Important Considerations",type:"info",children:(0,o.jsx)(e.p,{children:"For better experience, try to keep the upgrade experience smooth."})}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"Scale-up cluster"})}),"\n",(0,o.jsx)(e.admonition,{title:"Warning",type:"caution",children:(0,o.jsx)(e.p,{children:"Scaling up a cluster may cause several minutes of downtime. Please exercise caution."})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"quoted-admonitions",children:"Quoted admonitions"}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsx)(e.admonition,{title:"There be dragons",type:"caution",children:(0,o.jsx)(e.p,{children:"This is the admonition content"})}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsx)(e.admonition,{title:"There be dragons",type:"caution",children:(0,o.jsx)(e.p,{children:"This is the admonition content"})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(e.h2,{id:"official-admonitions",children:"Official admonitions"}),"\n",(0,o.jsxs)(e.p,{children:["Admonitions that are ",(0,o.jsx)(e.a,{href:"/docs/markdown-features/admonitions",children:"officially documented"})]}),"\n",(0,o.jsx)(e.admonition,{type:"note",children:(0,o.jsx)(e.p,{children:"note"})}),"\n",(0,o.jsx)(e.admonition,{type:"info",children:(0,o.jsx)(e.p,{children:"info"})}),"\n",(0,o.jsx)(e.admonition,{type:"tip",children:(0,o.jsx)(e.p,{children:"tip"})}),"\n",(0,o.jsx)(e.admonition,{type:"warning",children:(0,o.jsx)(e.p,{children:"warning"})}),"\n",(0,o.jsx)(e.admonition,{type:"danger",children:(0,o.jsx)(e.p,{children:"danger"})}),"\n",(0,o.jsx)(e.h2,{id:"legacy-admonitions",children:"Legacy admonitions"}),"\n",(0,o.jsx)(e.admonition,{type:"secondary",children:(0,o.jsx)(e.p,{children:"secondary"})}),"\n",(0,o.jsx)(e.admonition,{type:"important",children:(0,o.jsx)(e.p,{children:"important"})}),"\n",(0,o.jsx)(e.admonition,{type:"success",children:(0,o.jsx)(e.p,{children:"success"})}),"\n",(0,o.jsx)(e.admonition,{type:"caution",children:(0,o.jsx)(e.p,{children:"caution"})})]})}function u(n={}){let{wrapper:e}={...(0,s.a)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(m,{...n})}):m(n)}u.displayName="MDXContent(_dogfooding/_docs tests/tests/admonitions.mdx)"},37796:function(n,e,t){t.d(e,{Z:()=>o});var i=t(85893);function o(n){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...n,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}t(67294)},49356:function(n,e,t){t.d(e,{Z:()=>z});var i=t(85893),o=t(67294),s=t(90496),d=t(77827),l=t(55951);let c={admonition:"admonition_o5H7",admonitionHeading:"admonitionHeading_FzoX",admonitionIcon:"admonitionIcon_rXq6",admonitionContent:"admonitionContent_Knsx"};function a(n){let{type:e,className:t,children:o}=n;return(0,i.jsx)("div",{className:(0,s.Z)(l.k.common.admonition,l.k.common.admonitionType(e),c.admonition,t),children:o})}function r(n){let{icon:e,title:t}=n;return(0,i.jsxs)("div",{className:c.admonitionHeading,children:[(0,i.jsx)("span",{className:c.admonitionIcon,children:e}),t]})}function h(n){let{children:e}=n;return e?(0,i.jsx)("div",{className:c.admonitionContent,children:e}):null}function m(n){let{type:e,icon:t,title:o,children:s,className:d}=n;return(0,i.jsxs)(a,{type:e,className:d,children:[o||t?(0,i.jsx)(r,{title:o,icon:t}):null,(0,i.jsx)(h,{children:s})]})}let u={icon:(0,i.jsx)(function(n){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...n,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,i.jsx)(d.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function x(n){return(0,i.jsx)(m,{...u,...n,className:(0,s.Z)("alert alert--secondary",n.className),children:n.children})}let p={icon:(0,i.jsx)(function(n){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...n,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,i.jsx)(d.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function j(n){return(0,i.jsx)(m,{...p,...n,className:(0,s.Z)("alert alert--success",n.className),children:n.children})}var f=t(37796);let g={icon:(0,i.jsx)(f.Z,{}),title:(0,i.jsx)(d.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function v(n){return(0,i.jsx)(m,{...g,...n,className:(0,s.Z)("alert alert--info",n.className),children:n.children})}function y(n){return(0,i.jsx)("svg",{viewBox:"0 0 16 16",...n,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let b={icon:(0,i.jsx)(y,{}),title:(0,i.jsx)(d.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},w={icon:(0,i.jsx)(function(n){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...n,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,i.jsx)(d.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},Z={icon:(0,i.jsx)(y,{}),title:(0,i.jsx)(d.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};var k=t(57922);let N={note:x,tip:j,info:v,warning:function(n){return(0,i.jsx)(m,{...b,...n,className:(0,s.Z)("alert alert--warning",n.className),children:n.children})},danger:function(n){return(0,i.jsx)(m,{...w,...n,className:(0,s.Z)("alert alert--danger",n.className),children:n.children})},secondary:n=>(0,i.jsx)(x,{title:"secondary",...n}),important:n=>(0,i.jsx)(v,{title:"important",...n}),success:n=>(0,i.jsx)(j,{title:"success",...n}),caution:function(n){return(0,i.jsx)(m,{...Z,...n,className:(0,s.Z)("alert alert--warning",n.className),children:n.children})},"my-custom-admonition":function(n){return(0,i.jsxs)("div",{style:{border:"solid red",padding:10},children:[(0,i.jsx)(k.Z,{as:"h5",style:{color:"blue",fontSize:30},children:n.title}),(0,i.jsx)("div",{children:n.children})]})}};function z(n){let e=function(n){let{mdxAdmonitionTitle:e,rest:t}=function(n){let e=o.Children.toArray(n),t=e.find(n=>o.isValidElement(n)&&"mdxAdmonitionTitle"===n.type),s=e.filter(n=>n!==t);return{mdxAdmonitionTitle:t?.props.children,rest:s.length>0?(0,i.jsx)(i.Fragment,{children:s}):null}}(n.children),s=n.title??e;return{...n,...s&&{title:s},children:t}}(n),t=function(n){let e=N[n];return e||(console.warn(`No admonition component found for admonition type "${n}". Using Info as fallback.`),N.info)}(e.type);return(0,i.jsx)(t,{...e})}},80980:function(n,e,t){t.d(e,{Z:()=>l,a:()=>d});var i=t(67294);let o={},s=i.createContext(o);function d(n){let e=i.useContext(s);return i.useMemo(function(){return"function"==typeof n?n(e):{...e,...n}},[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:d(n.components),i.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/91b203fb.ca887c21.js b/assets/js/91b203fb.ca887c21.js new file mode 100644 index 0000000000..aa1fb47bed --- /dev/null +++ b/assets/js/91b203fb.ca887c21.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["76076"],{97483:function(e,r,n){n.r(r),n.d(r,{frontMatter:()=>c,default:()=>p,contentTitle:()=>u,assets:()=>d,toc:()=>h,metadata:()=>t});var t=JSON.parse('{"id":"migration/index","title":"Upgrading Docusaurus","description":"Docusaurus versioning is based on the major.minor.patch scheme and respects Semantic Versioning.","source":"@site/docs/migration/index.mdx","sourceDirName":"migration","slug":"/migration","permalink":"/docs/migration","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/migration/index.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"slug":"/migration"},"sidebar":"docs","previous":{"title":"Client architecture","permalink":"/docs/advanced/client"},"next":{"title":"To Docusaurus v3","permalink":"/docs/migration/v3"}}'),a=n(85893),l=n(80980),s=n(15398),o=n(58636),i=n(86762);let c={slug:"/migration"},u="Upgrading Docusaurus",d={},h=[{value:"Troubleshooting upgrades",id:"troubleshooting-upgrades",level:2},{value:"Run the clear command",id:"run-the-clear-command",level:3},{value:"Remove node_modules and your lock file(s)",id:"remove-node_modules-and-your-lock-files",level:3}];function m(e){let r={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",...(0,l.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.header,{children:(0,a.jsx)(r.h1,{id:"upgrading-docusaurus",children:"Upgrading Docusaurus"})}),"\n",(0,a.jsxs)(r.p,{children:["Docusaurus versioning is based on the ",(0,a.jsx)(r.code,{children:"major.minor.patch"})," scheme and respects ",(0,a.jsx)(r.a,{href:"https://semver.org/",children:(0,a.jsx)(r.strong,{children:"Semantic Versioning"})}),"."]}),"\n",(0,a.jsxs)(r.p,{children:[(0,a.jsx)(r.strong,{children:"Breaking changes"})," are only released on major version upgrades, and thoroughly documented in the following upgrade guides."]}),"\n","\n",(0,a.jsx)(i.Z,{}),"\n",(0,a.jsx)(r.h2,{id:"troubleshooting-upgrades",children:"Troubleshooting upgrades"}),"\n",(0,a.jsx)(r.p,{children:"When upgrading Docusaurus you may experience issues caused by mismatching cached dependencies - there are a few troubleshooting steps you should perform to resolve these common issues before reporting a bug or seeking support."}),"\n",(0,a.jsxs)(r.h3,{id:"run-the-clear-command",children:["Run the ",(0,a.jsx)(r.code,{children:"clear"})," command"]}),"\n",(0,a.jsx)(r.p,{children:"This CLI command is used to clear a Docusaurus site's generated assets, caches and build artifacts."}),"\n",(0,a.jsxs)(s.Z,{groupId:"npm2yarn",children:[(0,a.jsx)(o.Z,{value:"npm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"npm run clear\n"})})}),(0,a.jsx)(o.Z,{value:"yarn",label:"Yarn",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"yarn clear\n"})})}),(0,a.jsx)(o.Z,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"pnpm run clear\n"})})})]}),"\n",(0,a.jsxs)(r.h3,{id:"remove-node_modules-and-your-lock-files",children:["Remove ",(0,a.jsx)(r.code,{children:"node_modules"})," and your lock file(s)"]}),"\n",(0,a.jsxs)(r.p,{children:["Remove the ",(0,a.jsx)(r.code,{children:"node_modules"})," folder and your package manager's lock file using the following:"]}),"\n",(0,a.jsxs)(s.Z,{children:[(0,a.jsx)(o.Z,{label:"Bash",value:"bash",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"rm -rf node_modules yarn.lock package-lock.json\n"})})}),(0,a.jsx)(o.Z,{label:"PowerShell",value:"powershell",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-powershell",children:"@('node_modules','yarn.lock','package-lock.json') | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue\n"})})})]}),"\n",(0,a.jsxs)(r.p,{children:["Then reinstall packages and regenerate the ",(0,a.jsx)(r.code,{children:"lock"})," file using:"]}),"\n",(0,a.jsxs)(s.Z,{groupId:"npm2yarn",children:[(0,a.jsx)(o.Z,{value:"npm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"npm install\n"})})}),(0,a.jsx)(o.Z,{value:"yarn",label:"Yarn",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"yarn install\n"})})}),(0,a.jsx)(o.Z,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-bash",children:"pnpm install\n"})})})]})]})}function p(e={}){let{wrapper:r}={...(0,l.a)(),...e.components};return r?(0,a.jsx)(r,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},86762:function(e,r,n){n.d(r,{Z:()=>b});var t=n(85893);n(67294);var a=n(90496),l=n(85921),s=n(35363),o=n(11660),i=n(82095),c=n(77827),u=n(57922);let d={cardContainer:"cardContainer_Uewx",cardTitle:"cardTitle_dwRT",cardDescription:"cardDescription_mCBT"};function h(e){let{className:r,href:n,children:l}=e;return(0,t.jsx)(s.Z,{href:n,className:(0,a.Z)("card padding--lg",d.cardContainer,r),children:l})}function m(e){let{className:r,href:n,icon:l,title:s,description:o}=e;return(0,t.jsxs)(h,{href:n,className:r,children:[(0,t.jsxs)(u.Z,{as:"h2",className:(0,a.Z)("text--truncate",d.cardTitle),title:s,children:[l," ",s]}),o&&(0,t.jsx)("p",{className:(0,a.Z)("text--truncate",d.cardDescription),title:o,children:o})]})}function p(e){let{item:r}=e,n=(0,l.LM)(r),a=function(){let{selectMessage:e}=(0,o.c)();return r=>e(r,(0,c.I)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:r}))}();return n?(0,t.jsx)(m,{className:r.className,href:n,icon:"\uD83D\uDDC3\uFE0F",title:r.label,description:r.description??a(r.items.length)}):null}function f(e){let{item:r}=e,n=(0,i.Z)(r.href)?"\uD83D\uDCC4\uFE0F":"\uD83D\uDD17",a=(0,l.xz)(r.docId??void 0);return(0,t.jsx)(m,{className:r.className,href:r.href,icon:n,title:r.label,description:r.description??a?.description})}function g(e){let{item:r}=e;switch(r.type){case"link":return(0,t.jsx)(f,{item:r});case"category":return(0,t.jsx)(p,{item:r});default:throw Error(`unknown item type ${JSON.stringify(r)}`)}}function x(e){let{className:r}=e,n=(0,l.Ok)();return(0,t.jsx)(b,{items:n,className:r})}function j(e){let{item:r}=e;return(0,t.jsx)("article",{className:(0,a.Z)("docCardListItem_hvcp","col col--6"),children:(0,t.jsx)(g,{item:r})})}function b(e){let{items:r,className:n}=e;if(!r)return(0,t.jsx)(x,{...e});let s=(0,l.MN)(r);return(0,t.jsx)("section",{className:(0,a.Z)("row",n),children:s.map((e,r)=>(0,t.jsx)(j,{item:e},r))})}},58636:function(e,r,n){n.d(r,{Z:()=>l});var t=n(85893);n(67294);var a=n(90496);function l(e){let{children:r,hidden:n,className:l}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,a.Z)("tabItem_pnkT",l),hidden:n,children:r})}},15398:function(e,r,n){n.d(r,{Z:()=>j});var t=n(85893),a=n(67294),l=n(90496),s=n(54947),o=n(3620),i=n(844),c=n(97486),u=n(32263),d=n(16971);function h(e){return a.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||a.isValidElement(e)&&function(e){let{props:r}=e;return!!r&&"object"==typeof r&&"value"in r}(e))return e;throw Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function m(e){let{value:r,tabValues:n}=e;return n.some(e=>e.value===r)}var p=n(71607);function f(e){let{className:r,block:n,selectedValue:a,selectValue:o,tabValues:i}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,s.o5)(),d=e=>{let r=e.currentTarget,n=i[c.indexOf(r)].value;n!==a&&(u(r),o(n))},h=e=>{let r=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let n=c.indexOf(e.currentTarget)+1;r=c[n]??c[0];break}case"ArrowLeft":{let n=c.indexOf(e.currentTarget)-1;r=c[n]??c[c.length-1]}}r?.focus()};return(0,t.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":n},r),children:i.map(e=>{let{value:r,label:n,attributes:s}=e;return(0,t.jsx)("li",{role:"tab",tabIndex:a===r?0:-1,"aria-selected":a===r,ref:e=>{c.push(e)},onKeyDown:h,onClick:d,...s,className:(0,l.Z)("tabs__item","tabItem_AQgk",s?.className,{"tabs__item--active":a===r}),children:n??r},r)})})}function g(e){let{lazy:r,children:n,selectedValue:s}=e,o=(Array.isArray(n)?n:[n]).filter(Boolean);if(r){let e=o.find(e=>e.props.value===s);return e?(0,a.cloneElement)(e,{className:(0,l.Z)("margin-top--md",e.props.className)}):null}return(0,t.jsx)("div",{className:"margin-top--md",children:o.map((e,r)=>(0,a.cloneElement)(e,{key:r,hidden:e.props.value!==s}))})}function x(e){let r=function(e){let{defaultValue:r,queryString:n=!1,groupId:t}=e,l=function(e){let{values:r,children:n}=e;return(0,a.useMemo)(()=>{let e=r??h(n).map(e=>{let{props:{value:r,label:n,attributes:t,default:a}}=e;return{value:r,label:n,attributes:t,default:a}});return!function(e){let r=(0,u.lx)(e,(e,r)=>e.value===r.value);if(r.length>0)throw Error(`Docusaurus error: Duplicate values "${r.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[r,n])}(e),[s,p]=(0,a.useState)(()=>(function(e){let{defaultValue:r,tabValues:n}=e;if(0===n.length)throw Error("Docusaurus error: the component requires at least one children component");if(r){if(!m({value:r,tabValues:n}))throw Error(`Docusaurus error: The has a defaultValue "${r}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return r}let t=n.find(e=>e.default)??n[0];if(!t)throw Error("Unexpected error: 0 tabValues");return t.value})({defaultValue:r,tabValues:l})),[f,g]=function(e){let{queryString:r=!1,groupId:n}=e,t=(0,o.k6)(),l=function(e){let{queryString:r=!1,groupId:n}=e;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!n)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:r,groupId:n});return[(0,c._X)(l),(0,a.useCallback)(e=>{if(!l)return;let r=new URLSearchParams(t.location.search);r.set(l,e),t.replace({...t.location,search:r.toString()})},[l,t])]}({queryString:n,groupId:t}),[x,j]=function(e){let{groupId:r}=e,n=r?`docusaurus.tab.${r}`:null,[t,l]=(0,d.Nk)(n);return[t,(0,a.useCallback)(e=>{n&&l.set(e)},[n,l])]}({groupId:t}),b=(()=>{let e=f??x;return m({value:e,tabValues:l})?e:null})();return(0,i.Z)(()=>{b&&p(b)},[b]),{selectedValue:s,selectValue:(0,a.useCallback)(e=>{if(!m({value:e,tabValues:l}))throw Error(`Can't select invalid tab value=${e}`);p(e),g(e),j(e)},[g,j,l]),tabValues:l}}(e);return(0,t.jsxs)("div",{className:(0,l.Z)("tabs-container","tabList_Qoir"),children:[(0,t.jsx)(f,{...r,...e}),(0,t.jsx)(g,{...r,...e})]})}function j(e){let r=(0,p.Z)();return(0,t.jsx)(x,{...e,children:h(e.children)},String(r))}},11660:function(e,r,n){n.d(r,{c:()=>i});var t=n(67294),a=n(8156);let l=["zero","one","two","few","many","other"];function s(e){return l.filter(r=>e.includes(r))}let o={locale:"en",pluralForms:s(["one","other"]),select:e=>1===e?"one":"other"};function i(){let e=function(){let{i18n:{currentLocale:e}}=(0,a.Z)();return(0,t.useMemo)(()=>{try{return function(e){let r=new Intl.PluralRules(e);return{locale:e,pluralForms:s(r.resolvedOptions().pluralCategories),select:e=>r.select(e)}}(e)}catch(r){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${r.message} +`),o}},[e])}();return{selectMessage:(r,n)=>(function(e,r,n){let t=e.split("|");if(1===t.length)return t[0];t.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${t.length}: ${e}`);let a=n.select(r);return t[Math.min(n.pluralForms.indexOf(a),t.length-1)]})(n,r,e)}}},80980:function(e,r,n){n.d(r,{Z:()=>o,a:()=>s});var t=n(67294);let a={},l=t.createContext(a);function s(e){let r=t.useContext(l);return t.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),t.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/91cd22f1.09148b26.js b/assets/js/91cd22f1.09148b26.js new file mode 100644 index 0000000000..a30190a408 --- /dev/null +++ b/assets/js/91cd22f1.09148b26.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["15512"],{52052:function(e,s,n){n.r(s),n.d(s,{frontMatter:()=>r,default:()=>u,contentTitle:()=>o,assets:()=>l,toc:()=>c,metadata:()=>i});var i=JSON.parse('{"id":"api/themes/themes-overview","title":"Docusaurus themes","description":"We provide official Docusaurus themes.","source":"@site/docs/api/themes/overview.mdx","sourceDirName":"api/themes","slug":"/api/themes","permalink":"/docs/api/themes","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/api/themes/overview.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"sidebarPosition":0,"frontMatter":{"sidebar_position":0,"id":"themes-overview","sidebar_label":"Themes overview","slug":"/api/themes"},"sidebar":"api","previous":{"title":"\uD83D\uDCE6 plugin-vercel-analytics","permalink":"/docs/api/plugins/@docusaurus/plugin-vercel-analytics"},"next":{"title":"Configuration","permalink":"/docs/api/themes/configuration"}}'),t=n(85893),a=n(80980);let r={sidebar_position:0,id:"themes-overview",sidebar_label:"Themes overview",slug:"/api/themes"},o="Docusaurus themes",l={},c=[{value:"Main themes",id:"main-themes",level:2},{value:"Enhancement themes",id:"enhancement-themes",level:2}];function h(e){let s={a:"a",admonition:"admonition",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"docusaurus-themes",children:"Docusaurus themes"})}),"\n",(0,t.jsx)(s.p,{children:"We provide official Docusaurus themes."}),"\n",(0,t.jsx)(s.h2,{id:"main-themes",children:"Main themes"}),"\n",(0,t.jsxs)(s.p,{children:["The main themes implement the user interface for the ",(0,t.jsx)(s.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-docs",children:"docs"}),", ",(0,t.jsx)(s.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-blog",children:"blog"})," and ",(0,t.jsx)(s.a,{href:"/docs/api/plugins/@docusaurus/plugin-content-pages",children:"pages"})," plugins."]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/api/themes/@docusaurus/theme-classic",children:"@docusaurus/theme-classic"})}),"\n",(0,t.jsx)(s.li,{children:"\uD83D\uDEA7 other themes are planned"}),"\n"]}),"\n",(0,t.jsxs)(s.admonition,{type:"warning",children:[(0,t.jsx)(s.p,{children:"The goal is to have all themes share the exact same features, user-experience and configuration."}),(0,t.jsx)(s.p,{children:"Only the UI design and underlying styling framework should change, and you should be able to change theme easily."}),(0,t.jsx)(s.p,{children:"We are not there yet: only the classic theme is production ready."})]}),"\n",(0,t.jsx)(s.h2,{id:"enhancement-themes",children:"Enhancement themes"}),"\n",(0,t.jsx)(s.p,{children:"These themes will enhance the existing main themes with additional user-interface related features."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/api/themes/@docusaurus/theme-live-codeblock",children:"@docusaurus/theme-live-codeblock"})}),"\n",(0,t.jsx)(s.li,{children:(0,t.jsx)(s.a,{href:"/docs/api/themes/@docusaurus/theme-search-algolia",children:"@docusaurus/theme-search-algolia"})}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,a.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},80980:function(e,s,n){n.d(s,{Z:()=>o,a:()=>r});var i=n(67294);let t={},a=i.createContext(t);function r(e){let s=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),i.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9229eb36.21ffef77.js b/assets/js/9229eb36.21ffef77.js new file mode 100644 index 0000000000..9f34f9e592 --- /dev/null +++ b/assets/js/9229eb36.21ffef77.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["22961"],{78202:function(e,s,l){l.r(s),l.d(s,{assets:()=>t,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>h,toc:()=>o});var h=l(76459),i=l(85893),n=l(80980);let r={mdx:{format:"md"},date:"2020-04-01T20:00",authors:["38elements","ayshiff","bravo-kernel","elviswolcott","fakela","fanny","GermaVinsmoke","iamkun","jeffersonlicet","KohheePeace","lex111","lukecollier","mohrash92","nebrelbug","nisarhassan12","paularmstrong","phoqe","rlamana","SamChou19815","Simek","slorber","TheodoreChu","yangshun","ZachJW34"]},a="2.0.0-alpha.49",t={authorsImageUrls:[void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0]},o=[{value:"\uD83D\uDE80 New Feature",id:"rocket-new-feature",level:2},{value:"\uD83D\uDC1B Bug Fix",id:"bug-bug-fix",level:2},{value:"\uD83D\uDC85 Polish",id:"nail_care-polish",level:2},{value:"\uD83D\uDCDD Documentation",id:"memo-documentation",level:2},{value:"\uD83C\uDFE0 Internal",id:"house-internal",level:2},{value:"Committers: 24",id:"committers-24",level:2}];function c(e){let s={a:"a",code:"code",h2:"h2",li:"li",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.h2,{id:"rocket-new-feature",children:"\uD83D\uDE80 New Feature"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2487",children:"#2487"})," feat(v2): nav dropdown (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2456",children:"#2456"})," feat(v2): support comments for code highlighting (",(0,i.jsx)(s.a,{href:"https://github.com/elviswolcott",children:"@elviswolcott"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2330",children:"#2330"})," feat(v2): add announcement bar (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2440",children:"#2440"})," feat(v2): make clickable sidebar logo (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2366",children:"#2366"})," feat(v2): support syncing tab choices (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2323",children:"#2323"})," feat(v2): add a way to exclude components from build-time prerendering (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2469",children:"#2469"})," feat(v2): add TypeScript support for theme components (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2455",children:"#2455"})," feat(v2): add @theme-original alias to give access to pre-swizzled components (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2438",children:"#2438"})," feat(v2): add version to page's generated meta tags (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-types"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2474",children:"#2474"})," feat(v2): add ability to create unminimized bundles (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2417",children:"#2417"})," feat(v2): allow custom output directory for build (",(0,i.jsx)(s.a,{href:"https://github.com/ZachJW34",children:"@ZachJW34"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2346",children:"#2346"})," feat(v2): add filename in CodeBlock (",(0,i.jsx)(s.a,{href:"https://github.com/KohheePeace",children:"@KohheePeace"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-docs"}),", ",(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2444",children:"#2444"})," feat(v2): allow nested sidebar category shorthand syntax (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"bug-bug-fix",children:"\uD83D\uDC1B Bug Fix"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2483",children:"#2483"})," fix(v2): do not render sidebar logo if used sticky navbar (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2475",children:"#2475"})," fix(v2): make correct Open Graph title for doc page (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2436",children:"#2436"})," fix(v2): update twitter:card to summary_large_image (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2434",children:"#2434"})," fix(v2): add support dark logo for sidebar logo (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2420",children:"#2420"})," fix(v2): fix external URL for og:image tag (",(0,i.jsx)(s.a,{href:"https://github.com/38elements",children:"@38elements"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2480",children:"#2480"})," fix(v2): various improvements for accessibility (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2479",children:"#2479"})," chore(v2): upgrade MDX to 1.5.8 (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-live-codeblock"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2476",children:"#2476"})," fix(v2): improve code block scroll accessibility (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2442",children:"#2442"})," fix(v2): various improvements for accessibility (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-preset-classic"}),", ",(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2477",children:"#2477"})," chore(v2): upgrade remark-admonitions for a11y fixes (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2462",children:"#2462"})," fix(v2): do not force terminate building when bundle analyzer is on (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2393",children:"#2393"})," fix(v2): normalize location for route matching (",(0,i.jsx)(s.a,{href:"https://github.com/rlamana",children:"@rlamana"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2443",children:"#2443"})," fix(v2): always exit after successful build (",(0,i.jsx)(s.a,{href:"https://github.com/mohrash92",children:"@mohrash92"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2437",children:"#2437"})," fix(v2): do not force terminate building if client bundle failed in development mode (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2424",children:"#2424"})," fix(v2): make correct internal link check (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-preset-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2451",children:"#2451"})," fix(v2): pass options to remark-admonitions (",(0,i.jsx)(s.a,{href:"https://github.com/elviswolcott",children:"@elviswolcott"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-mdx-loader"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2426",children:"#2426"})," fix(v2): remove HTML from heading slug (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-utils"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2405",children:"#2405"})," fix(v2): properly dedupe forward slashes in the entire URL path (",(0,i.jsx)(s.a,{href:"https://github.com/rlamana",children:"@rlamana"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"nail_care-polish",children:"\uD83D\uDC85 Polish"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-theme-classic"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2485",children:"#2485"})," refactor(v2): remove unnecessary X-UA-Compatible meta tag (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-plugin-content-blog"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2460",children:"#2460"})," refactor(v2): use single method package instead of whole Lodash package in blog plugin (",(0,i.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2428",children:"#2428"})," polish(v2): use npm-to-yarn for the npm2yarn remark plugin (",(0,i.jsx)(s.a,{href:"https://github.com/nebrelbug",children:"@nebrelbug"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"memo-documentation",children:"\uD83D\uDCDD Documentation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2478",children:"#2478"})," docs(v2): mark that in dev server some features may not work (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2472",children:"#2472"})," docs(v2): fix typo in deployment docs (",(0,i.jsx)(s.a,{href:"https://github.com/GermaVinsmoke",children:"@GermaVinsmoke"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2423",children:"#2423"})," docs(v2): add Sass/SCSS under the styling section (",(0,i.jsx)(s.a,{href:"https://github.com/rlamana",children:"@rlamana"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2446",children:"#2446"})," docs(v2): add docusaurus-plugin-sass to community plugins (",(0,i.jsx)(s.a,{href:"https://github.com/rlamana",children:"@rlamana"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2408",children:"#2408"})," docs(v2): suggest Surge for quick deployment (",(0,i.jsx)(s.a,{href:"https://github.com/fakela",children:"@fakela"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2401",children:"#2401"})," docs(v2): add resources page (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2413",children:"#2413"})," docs(v2): include appId key for Algolia (",(0,i.jsx)(s.a,{href:"https://github.com/TheodoreChu",children:"@TheodoreChu"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2411",children:"#2411"})," docs:(v2): add Netlify configuration warning (",(0,i.jsx)(s.a,{href:"https://github.com/bravo-kernel",children:"@bravo-kernel"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2397",children:"#2397"})," docs(v2):update alpha version to current version (",(0,i.jsx)(s.a,{href:"https://github.com/fakela",children:"@fakela"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2395",children:"#2395"})," docs(v2): clarify instructions on docs-only mode (",(0,i.jsx)(s.a,{href:"https://github.com/phoqe",children:"@phoqe"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus-init"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2458",children:"#2458"})," fix(v2): expand broken admonitions (",(0,i.jsx)(s.a,{href:"https://github.com/elviswolcott",children:"@elviswolcott"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"house-internal",children:"\uD83C\uDFE0 Internal"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"docusaurus"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2461",children:"#2461"})," chore(v2): upgrade react-dev-utils (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:["Other\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2450",children:"#2450"})," docs(v2): Adding Motion Layout to Docusaurus users (",(0,i.jsx)(s.a,{href:"https://github.com/jeffersonlicet",children:"@jeffersonlicet"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2450",children:"#2450"})," docs(v2): Adding Motion Layout to Docusaurus users (",(0,i.jsx)(s.a,{href:"https://github.com/jeffersonlicet",children:"@jeffersonlicet"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2439",children:"#2439"})," polish(v2): add logo for dark mode (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2435",children:"#2435"})," fix(v2): fix aspect ratio for Open Graph image (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2433",children:"#2433"})," chore(v2): ignore JetBrains editors .iml files (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2416",children:"#2416"})," docs(v2): Add Build Tracker to Showcase page (",(0,i.jsx)(s.a,{href:"https://github.com/paularmstrong",children:"@paularmstrong"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2388",children:"#2388"})," docs(v1): showcase user Day.js (",(0,i.jsx)(s.a,{href:"https://github.com/iamkun",children:"@iamkun"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.code,{children:"stylelint-copyright"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:[(0,i.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/pull/2415",children:"#2415"})," misc: improve stylelint rule (",(0,i.jsx)(s.a,{href:"https://github.com/ayshiff",children:"@ayshiff"}),")"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"committers-24",children:"Committers: 24"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["Alexey Pyltsyn (",(0,i.jsx)(s.a,{href:"https://github.com/lex111",children:"@lex111"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Bartosz Kaszubowski (",(0,i.jsx)(s.a,{href:"https://github.com/Simek",children:"@Simek"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ben Gubler (",(0,i.jsx)(s.a,{href:"https://github.com/nebrelbug",children:"@nebrelbug"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Elvis Wolcott (",(0,i.jsx)(s.a,{href:"https://github.com/elviswolcott",children:"@elviswolcott"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Fanny (",(0,i.jsx)(s.a,{href:"https://github.com/fanny",children:"@fanny"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Favour Kelvin (",(0,i.jsx)(s.a,{href:"https://github.com/fakela",children:"@fakela"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Jefferson Licet (",(0,i.jsx)(s.a,{href:"https://github.com/jeffersonlicet",children:"@jeffersonlicet"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Kohhee Peace (",(0,i.jsx)(s.a,{href:"https://github.com/KohheePeace",children:"@KohheePeace"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Linus L\xe5ngberg (",(0,i.jsx)(s.a,{href:"https://github.com/phoqe",children:"@phoqe"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Luke Collier (",(0,i.jsx)(s.a,{href:"https://github.com/lukecollier",children:"@lukecollier"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Nisar Hassan Naqvi (",(0,i.jsx)(s.a,{href:"https://github.com/nisarhassan12",children:"@nisarhassan12"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Paul Armstrong (",(0,i.jsx)(s.a,{href:"https://github.com/paularmstrong",children:"@paularmstrong"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Ram\xf3n Lamana (",(0,i.jsx)(s.a,{href:"https://github.com/rlamana",children:"@rlamana"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["R\xe9mi Doreau (",(0,i.jsx)(s.a,{href:"https://github.com/ayshiff",children:"@ayshiff"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Sam Zhou (",(0,i.jsx)(s.a,{href:"https://github.com/SamChou19815",children:"@SamChou19815"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["S\xe9bastien Lorber (",(0,i.jsx)(s.a,{href:"https://github.com/slorber",children:"@slorber"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Theodore Chu (",(0,i.jsx)(s.a,{href:"https://github.com/TheodoreChu",children:"@TheodoreChu"}),")"]}),"\n",(0,i.jsxs)(s.li,{children:["Yangshun Tay (",(0,i.jsx)(s.a,{href:"https://github.com/yangshun",children:"@yangshun"}),")"]}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/38elements",children:"@38elements"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/GermaVinsmoke",children:"@GermaVinsmoke"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/ZachJW34",children:"@ZachJW34"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/bravo-kernel",children:"@bravo-kernel"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/iamkun",children:"@iamkun"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://github.com/mohrash92",children:"@mohrash92"})}),"\n"]})]})}function u(e={}){let{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},80980:function(e,s,l){l.d(s,{Z:()=>a,a:()=>r});var h=l(67294);let i={},n=h.createContext(i);function r(e){let s=h.useContext(n);return h.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),h.createElement(n.Provider,{value:s},e.children)}},76459:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.49","source":"@site/changelog/source/2.0.0-alpha.49.md","title":"2.0.0-alpha.49","description":"New Feature","date":"2020-04-01T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[{"name":"38elements","alias":"38elements","url":"https://github.com/38elements","imageURL":"https://github.com/38elements.png","key":"38elements","page":null},{"name":"R\xe9mi Doreau","alias":"ayshiff","url":"https://github.com/ayshiff","imageURL":"https://github.com/ayshiff.png","key":"ayshiff","page":null},{"name":"bravo-kernel","alias":"bravo-kernel","url":"https://github.com/bravo-kernel","imageURL":"https://github.com/bravo-kernel.png","key":"bravo-kernel","page":null},{"name":"Elvis Wolcott","alias":"elviswolcott","url":"https://github.com/elviswolcott","imageURL":"https://github.com/elviswolcott.png","key":"elviswolcott","page":null},{"name":"Favour Kelvin","alias":"fakela","url":"https://github.com/fakela","imageURL":"https://github.com/fakela.png","key":"fakela","page":null},{"name":"Fanny","alias":"fanny","url":"https://github.com/fanny","imageURL":"https://github.com/fanny.png","key":"fanny","page":null},{"name":"GermaVinsmoke","alias":"GermaVinsmoke","url":"https://github.com/GermaVinsmoke","imageURL":"https://github.com/GermaVinsmoke.png","key":"GermaVinsmoke","page":null},{"name":"iamkun","alias":"iamkun","url":"https://github.com/iamkun","imageURL":"https://github.com/iamkun.png","key":"iamkun","page":null},{"name":"Jefferson Licet","alias":"jeffersonlicet","url":"https://github.com/jeffersonlicet","imageURL":"https://github.com/jeffersonlicet.png","key":"jeffersonlicet","page":null},{"name":"KohheePeace","alias":"KohheePeace","url":"https://github.com/KohheePeace","imageURL":"https://github.com/KohheePeace.png","key":"KohheePeace","page":null},{"name":"Alexey Pyltsyn","alias":"lex111","url":"https://github.com/lex111","imageURL":"https://github.com/lex111.png","key":"lex111","page":null},{"name":"Luke Collier","alias":"lukecollier","url":"https://github.com/lukecollier","imageURL":"https://github.com/lukecollier.png","key":"lukecollier","page":null},{"name":"mohrash92","alias":"mohrash92","url":"https://github.com/mohrash92","imageURL":"https://github.com/mohrash92.png","key":"mohrash92","page":null},{"name":"Ben Gubler","alias":"nebrelbug","url":"https://github.com/nebrelbug","imageURL":"https://github.com/nebrelbug.png","key":"nebrelbug","page":null},{"name":"Nisar Hassan Naqvi","alias":"nisarhassan12","url":"https://github.com/nisarhassan12","imageURL":"https://github.com/nisarhassan12.png","key":"nisarhassan12","page":null},{"name":"Paul Armstrong","alias":"paularmstrong","url":"https://github.com/paularmstrong","imageURL":"https://github.com/paularmstrong.png","key":"paularmstrong","page":null},{"name":"Linus L\xe5ngberg","alias":"phoqe","url":"https://github.com/phoqe","imageURL":"https://github.com/phoqe.png","key":"phoqe","page":null},{"name":"Ram\xf3n Lamana","alias":"rlamana","url":"https://github.com/rlamana","imageURL":"https://github.com/rlamana.png","key":"rlamana","page":null},{"name":"Sam Zhou","alias":"SamChou19815","url":"https://github.com/SamChou19815","imageURL":"https://github.com/SamChou19815.png","key":"SamChou19815","page":null},{"name":"Bartosz Kaszubowski","alias":"Simek","url":"https://github.com/Simek","imageURL":"https://github.com/Simek.png","key":"Simek","page":null},{"name":"S\xe9bastien Lorber","alias":"slorber","url":"https://github.com/slorber","imageURL":"https://github.com/slorber.png","key":"slorber","page":null},{"name":"Theodore Chu","alias":"TheodoreChu","url":"https://github.com/TheodoreChu","imageURL":"https://github.com/TheodoreChu.png","key":"TheodoreChu","page":null},{"name":"Yangshun Tay","alias":"yangshun","url":"https://github.com/yangshun","imageURL":"https://github.com/yangshun.png","key":"yangshun","page":null},{"name":"ZachJW34","alias":"ZachJW34","url":"https://github.com/ZachJW34","imageURL":"https://github.com/ZachJW34.png","key":"ZachJW34","page":null}],"frontMatter":{"mdx":{"format":"md"},"date":"2020-04-01T20:00","authors":["38elements","ayshiff","bravo-kernel","elviswolcott","fakela","fanny","GermaVinsmoke","iamkun","jeffersonlicet","KohheePeace","lex111","lukecollier","mohrash92","nebrelbug","nisarhassan12","paularmstrong","phoqe","rlamana","SamChou19815","Simek","slorber","TheodoreChu","yangshun","ZachJW34"]},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.50","permalink":"/changelog/2.0.0-alpha.50"},"nextItem":{"title":"2.0.0-alpha.48","permalink":"/changelog/2.0.0-alpha.48"},"listPageLink":"/changelog/page/4"}')}}]); \ No newline at end of file diff --git a/assets/js/924aa2c8.097d8b1f.js b/assets/js/924aa2c8.097d8b1f.js new file mode 100644 index 0000000000..92b7b9ad09 --- /dev/null +++ b/assets/js/924aa2c8.097d8b1f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["33421"],{79533:function(e,t,n){n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var r=n(25861),a=n(85893),o=n(80980);let s={mdx:{format:"md"},date:"2024-05-03T19:00"},c="3.3.1",i={authorsImageUrls:[]},l=[];function u(e){return(0,a.jsx)(a.Fragment,{})}function m(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},80980:function(e,t,n){n.d(t,{Z:()=>c,a:()=>s});var r=n(67294);let a={},o=r.createContext(a);function s(e){let t=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(o.Provider,{value:t},e.children)}},25861:function(e){e.exports=JSON.parse('{"permalink":"/changelog/3.3.1","source":"@site/changelog/source/3.3.1.md","title":"3.3.1","description":"Failed release","date":"2024-05-03T19:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2024-05-03T19:00"},"unlisted":false,"prevItem":{"title":"3.3.2","permalink":"/changelog/3.3.2"},"nextItem":{"title":"3.3.0","permalink":"/changelog/3.3.0"},"listPageLink":"/changelog/"}')}}]); \ No newline at end of file diff --git a/assets/js/925b3f96.3764bacc.js b/assets/js/925b3f96.3764bacc.js deleted file mode 100644 index 8dfa2315b2..0000000000 --- a/assets/js/925b3f96.3764bacc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktest_website_in_workspace=self.webpackChunktest_website_in_workspace||[]).push([[8609],{1576:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>u});var o=s(2421),n=s(4848),r=s(3023);const a={slug:"first-blog-post",title:"First Blog Post",authors:["slorber","yangshun"],tags:["hola","docusaurus"]},i=void 0,l={authorsImageUrls:[void 0,void 0]},u=[];function c(t){const e={p:"p",...(0,r.R)(),...t.components};return(0,n.jsx)(e.p,{children:"Lorem ipsum dolor sit amet..."})}function p(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},3023:(t,e,s)=>{s.d(e,{R:()=>a,x:()=>i});var o=s(6540);const n={},r=o.createContext(n);function a(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:a(t.components),o.createElement(r.Provider,{value:e},t.children)}},2421:t=>{t.exports=JSON.parse('{"permalink":"/blog/first-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2019-05-28-first-blog-post.md","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet...","date":"2019-05-28T00:00:00.000Z","tags":[{"inline":false,"label":"Hola","permalink":"/blog/tags/hola","description":"Hola tag description"},{"inline":false,"label":"Docusaurus","permalink":"/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.135,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Ex-Meta Staff Engineer, Co-founder GreatFrontEnd","url":"https://linkedin.com/in/yangshun","page":{"permalink":"/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","linkedin":"https://www.linkedin.com/in/yangshun/","github":"https://github.com/yangshun","newsletter":"https://www.greatfrontend.com"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":["slorber","yangshun"],"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/blog/long-blog-post"}}')}}]); \ No newline at end of file diff --git a/assets/js/92aa9055.d42b8341.js b/assets/js/92aa9055.d42b8341.js new file mode 100644 index 0000000000..45906d7b59 --- /dev/null +++ b/assets/js/92aa9055.d42b8341.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["62976"],{44854:function(e,n,s){s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>t,toc:()=>a});var t=s(97432),r=s(85893),o=s(80980);let i={mdx:{format:"md"},date:"2019-11-08T20:00"},c="2.0.0-alpha.33",l={authorsImageUrls:[]},a=[{value:"Features",id:"features",level:2},{value:"Fixes",id:"fixes",level:2},{value:"Others",id:"others",level:2}];function d(e){let n={a:"a",code:"code",h2:"h2",li:"li",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"features",children:"Features"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Table of contents is now highlighted depending on current active headings. (thanks to awesome @SantiagoGdaR) ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/1896",children:"#1896"})]}),"\n",(0,r.jsxs)(n.li,{children:["Official blog plugin can now generate feed for blog posts. (thanks to awesome @moozzyk) ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/1916",children:"#1916"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"BREAKING"})," ",(0,r.jsx)(n.code,{children:"prismTheme"})," is renamed to ",(0,r.jsx)(n.code,{children:"theme"})," as part new ",(0,r.jsx)(n.code,{children:"prism"})," object in ",(0,r.jsx)(n.code,{children:"themeConfig"})," field in your ",(0,r.jsx)(n.code,{children:"docusaurus.config.js"}),". Eg:\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-diff",children:" themeConfig: {\n- prismTheme: require('prism-react-renderer/themes/dracula'),\n+ prism: {\n+ theme: require('prism-react-renderer/themes/dracula'),\n+ },\n},\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Added new ",(0,r.jsx)(n.code,{children:"prism"})," option ",(0,r.jsx)(n.code,{children:"defaultLanguage"})," that is used if the language is not specified in code blocks. ",(0,r.jsx)(n.a,{href:"https://github.com/facebook/docusaurus/pull/1910",children:"#1910"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"fixes",children:"Fixes"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Fix babel/env not picking the correct browserslist configuration during development. When running ",(0,r.jsx)(n.code,{children:"docusaurus start"}),", ",(0,r.jsx)(n.code,{children:"process.env.NODE_ENV"})," is now consistently set to ",(0,r.jsx)(n.code,{children:"development"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Ensure routes config generation to be more consistent in ordering. Nested routes should be placed last in routes.js. This will allow user to create ",(0,r.jsx)(n.code,{children:"src/pages/docs.js"})," to create custom docs page for ",(0,r.jsx)(n.code,{children:"/docs"})," or even ",(0,r.jsx)(n.code,{children:"src/pages/docs/super.js"})," to create page for ",(0,r.jsx)(n.code,{children:"/docs/super/"}),";"]}),"\n",(0,r.jsx)(n.li,{children:"Fix watcher does not trigger reload on windows."}),"\n",(0,r.jsx)(n.li,{children:"Fix build compilation error if exists only one code tab."}),"\n",(0,r.jsx)(n.li,{children:"Add minor padding to docs container so that hash-link won't be cut off."}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"others",children:"Others"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Misc dependency upgrades."}),"\n",(0,r.jsx)(n.li,{children:"Stability improvement (more tests) & refactoring on docs plugin to prevent regression."}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},80980:function(e,n,s){s.d(n,{Z:()=>c,a:()=>i});var t=s(67294);let r={},o=t.createContext(r);function i(e){let n=t.useContext(o);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),t.createElement(o.Provider,{value:n},e.children)}},97432:function(e){e.exports=JSON.parse('{"permalink":"/changelog/2.0.0-alpha.33","source":"@site/changelog/source/2.0.0-alpha.33.md","title":"2.0.0-alpha.33","description":"Features","date":"2019-11-08T20:00:00.000Z","tags":[],"hasTruncateMarker":true,"authors":[],"frontMatter":{"mdx":{"format":"md"},"date":"2019-11-08T20:00"},"unlisted":false,"prevItem":{"title":"2.0.0-alpha.34","permalink":"/changelog/2.0.0-alpha.34"},"nextItem":{"title":"2.0.0-alpha.32","permalink":"/changelog/2.0.0-alpha.32"},"listPageLink":"/changelog/page/5"}')}}]); \ No newline at end of file diff --git a/assets/js/93853.d9bb3a1f.js b/assets/js/93853.d9bb3a1f.js new file mode 100644 index 0000000000..c0de15b1a3 --- /dev/null +++ b/assets/js/93853.d9bb3a1f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["93853"],{3399:function(e,t,n){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}n.d(t,{Z:()=>lC});var d,p,f,g,v,y,b="undefined"==typeof window?null:window,x=b?b.navigator:null;b&&b.document;var w=r(""),E=r({}),k=r(function(){}),C="undefined"==typeof HTMLElement?"undefined":r(HTMLElement),S=function(e){return e&&e.instanceString&&T(e.instanceString)?e.instanceString():null},D=function(e){return null!=e&&r(e)==w},T=function(e){return null!=e&&r(e)===k},P=function(e){return!A(e)&&(Array.isArray?Array.isArray(e):null!=e&&e instanceof Array)},_=function(e){return null!=e&&r(e)===E&&!P(e)&&e.constructor===Object},M=function(e){return null!=e&&r(e)===r(1)&&!isNaN(e)},B=function(e){if("undefined"!==C)return null!=e&&e instanceof HTMLElement},A=function(e){return N(e)||I(e)},N=function(e){return"collection"===S(e)&&e._private.single},I=function(e){return"collection"===S(e)&&!e._private.single},O=function(e){return"core"===S(e)},L=function(e){return"stylesheet"===S(e)},R=function(e){return null==e||!!(""===e||e.match(/^\s+$/))},z=function(e){return null!=e&&r(e)===E&&T(e.then)},V=function(e,t){t||(t=function(){if(1==arguments.length)return arguments[0];if(0==arguments.length)return"undefined";for(var e=[],t=0;tt)},Z=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n1&&(n-=1),n<1/6)?e+(t-e)*6*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var n,r,i,a,o,s,l,u,c=RegExp("^"+G+"$").exec(e);if(c){if((r=parseInt(c[1]))<0?r=(360- -1*r%360)%360:r>360&&(r%=360),r/=360,(i=parseFloat(c[2]))<0||i>100||(i/=100,(a=parseFloat(c[3]))<0||a>100)||(a/=100,void 0!==(o=c[4])&&((o=parseFloat(o))<0||o>1)))return;if(0===i)s=l=u=Math.round(255*a);else{var h=a<.5?a*(1+i):a+i-a*i,d=2*a-h;s=Math.round(255*t(d,h,r+1/3)),l=Math.round(255*t(d,h,r)),u=Math.round(255*t(d,h,r-1/3))}n=[s,l,u,o]}return n},J=function(e){var t,n=RegExp("^"+W+"$").exec(e);if(n){t=[];for(var r=[],i=1;i<=3;i++){var a=n[i];if("%"===a[a.length-1]&&(r[i]=!0),a=parseFloat(a),r[i]&&(a=a/100*255),a<0||a>255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t},ee={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},et=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i=t||n<0||h&&r>=a}function g(){var e,n,r,i=el();if(f(i))return v(i);s=setTimeout(g,(e=i-l,n=i-u,r=t-e,h?e_(r,a-n):r))}function v(e){return(s=void 0,d&&r)?p(e):(r=i=void 0,o)}function y(){var e,n=el(),a=f(n);if(r=arguments,i=this,l=n,a){if(void 0===s)return u=e=l,s=setTimeout(g,t),c?p(e):o;if(h)return clearTimeout(s),s=setTimeout(g,t),p(l)}return void 0===s&&(s=setTimeout(g,t)),o}return t=eT(t)||0,er(n)&&(c=!!n.leading,a=(h="maxWait"in n)?eP(eT(n.maxWait)||0,t):a,d="trailing"in n?!!n.trailing:d),y.cancel=function(){void 0!==s&&clearTimeout(s),u=0,r=l=i=s=void 0},y.flush=function(){return void 0===s?o:v(el())},y},eB=b?b.performance:null,eA=eB&&eB.now?function(){return eB.now()}:function(){return Date.now()},eN=function(){if(b){if(b.requestAnimationFrame)return function(e){b.requestAnimationFrame(e)};if(b.mozRequestAnimationFrame)return function(e){b.mozRequestAnimationFrame(e)};if(b.webkitRequestAnimationFrame)return function(e){b.webkitRequestAnimationFrame(e)};else if(b.msRequestAnimationFrame)return function(e){b.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout(function(){e(eA())},1e3/60)}}(),eI=function(e){return eN(e)},eO=function(e){for(var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261,r=n;!(t=e.next()).done;)r=65599*r+t.value|0;return r},eL=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261;return 65599*t+e|0},eR=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5381;return(t<<5)+t+e|0},ez=function(e){return 2097152*e[0]+e[1]},eV=function(e,t){return[eL(e[0],t[0]),eR(e[1],t[1])]},eF=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return eO({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},e6=function(e){e.splice(0,e.length)},e8=function(e,t){for(var n=0;n2)||void 0===arguments[2]||arguments[2];if(void 0===e||void 0===t||!O(e)){eQ("An element must have a core reference and parameters set");return}var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"!==r&&"edges"!==r){eQ("An element must be of type `nodes` or `edges`; you specified `"+r+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new ti,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var l=[];P(t.classes)?l=t.classes:D(t.classes)&&(l=t.classes.split(/\s+/));for(var u=0,c=l.length;ut)},u=function(e,t,i,a,o){var s;if(null==i&&(i=0),null==o&&(o=n),i<0)throw Error("lo must be non-negative");for(null==a&&(a=e.length);io(t,e[s=r((i+a)/2)])?a=s:i=s+1;return[].splice.apply(e,[i,i-i].concat(t)),t},o=function(e,t,r){return null==r&&(r=n),e.push(t),f(e,0,e.length-1,r)},a=function(e,t){var r,i;return null==t&&(t=n),r=e.pop(),e.length?(i=e[0],e[0]=r,g(e,0,t)):i=r,i},l=function(e,t,r){var i;return null==r&&(r=n),i=e[0],e[0]=t,g(e,0,r),i},s=function(e,t,r){var i;return null==r&&(r=n),e.length&&0>r(e[0],t)&&(t=(i=[e[0],t])[0],e[0]=i[1],g(e,0,r)),t},i=function(e,t){var i,a,o,s,l,u;for(null==t&&(t=n),s=(function(){u=[];for(var t=0,n=r(e.length/2);0<=n?tn;0<=n?t++:t--)u.push(t);return u}).apply(this).reverse(),l=[],a=0,o=s.length;ar(o=f[h],s)&&(u(l,o,0,null,r),l.pop(),s=l[l.length-1]);return l}for(i(e,r),v=[],d=0,g=c(t,e.length);0<=g?dg;0<=g?++d:--d)v.push(a(e,r));return v},f=function(e,t,r,i){var a,o,s;for(null==i&&(i=n),a=e[r];r>t;){if(0>i(a,o=e[s=r-1>>1])){e[r]=o,r=s;continue}break}return e[r]=a},g=function(e,t,r){var i,a,o,s,l;for(null==r&&(r=n),a=e.length,l=t,o=e[t],i=2*t+1;ir(e[i],e[s]))&&(i=s),e[t]=e[i],i=2*(t=i)+1;return e[t]=o,f(e,l,t,r)},t=function(){function e(e){this.cmp=null!=e?e:n,this.nodes=[]}return e.push=o,e.pop=a,e.replace=l,e.pushpop=s,e.heapify=i,e.updateItem=p,e.nlargest=h,e.nsmallest=d,e.prototype.push=function(e){return o(this.nodes,e,this.cmp)},e.prototype.pop=function(){return a(this.nodes,this.cmp)},e.prototype.peek=function(){return this.nodes[0]},e.prototype.contains=function(e){return -1!==this.nodes.indexOf(e)},e.prototype.replace=function(e){return l(this.nodes,e,this.cmp)},e.prototype.pushpop=function(e){return s(this.nodes,e,this.cmp)},e.prototype.heapify=function(){return i(this.nodes,this.cmp)},e.prototype.updateItem=function(e){return p(this.nodes,e,this.cmp)},e.prototype.clear=function(){return this.nodes=[]},e.prototype.empty=function(){return 0===this.nodes.length},e.prototype.size=function(){return this.nodes.length},e.prototype.clone=function(){var t;return(t=new e).nodes=this.nodes.slice(0),t},e.prototype.toArray=function(){return this.nodes.slice(0)},e.prototype.insert=e.prototype.push,e.prototype.top=e.prototype.peek,e.prototype.front=e.prototype.peek,e.prototype.has=e.prototype.contains,e.prototype.copy=e.prototype.clone,e}(),v=function(){return t},e.exports=v()}).call(ei)}(oW={exports:{}},oW.exports),oW.exports),tu=e4({root:null,weight:function(e){return 1},directed:!1}),tc=e4({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),th=e4({weight:function(e){return 1},directed:!1}),td=e4({weight:function(e){return 1},directed:!1,root:null}),tp=Math.sqrt(2),tf=function(e,t,n){0===n.length&&eQ("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],l=n.length-1;l>=0;l--){var u=n[l],c=u[1],h=u[2];(t[c]===o&&t[h]===s||t[c]===s&&t[h]===o)&&n.splice(l,1)}for(var d=0;dr;)t=tf(Math.floor(Math.random()*t.length),e,t),n--;return t},tv=function(e,t,n){return{x:e.x*t+n.x,y:e.y*t+n.y}},ty=function(e,t,n){return{x:(e.x-n.x)/t,y:(e.y-n.y)/t}},tm=function(e){return{x:e[0],y:e[1]}},tb=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=!(arguments.length>5)||void 0===arguments[5]||arguments[5];r?e=e.slice(t,n):(n0&&e.splice(0,t));for(var o=0,s=e.length-1;s>=0;s--){var l=e[s];a?!isFinite(l)&&(e[s]=-1/0,o++):e.splice(s,1)}i&&e.sort(function(e,t){return e-t});var u=e.length,c=Math.floor(u/2);return u%2!=0?e[c+1+o]:(e[c-1+o]+e[c+o])/2},tk=function(e,t){return Math.atan2(t,e)-Math.PI/2},tC=Math.log2||function(e){return Math.log(e)/Math.log(2)},tS=function(e){return e>0?1:e<0?-1:0},tD=function(e,t){return Math.sqrt(tT(e,t))},tT=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},tP=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},tI=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},tO=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},tL=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},tR=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},tz=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=l(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},tV=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},tF=function(e,t){return!(e.x1>t.x2)&&!(t.x1>e.x2)&&!(e.x2t.y2)&&!(t.y1>e.y2)&&!0},tj=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},tq=function(e,t){return tj(e,t.x1,t.y1)&&tj(e,t.x2,t.y2)},tX=function(e,t,n,r,i,a,o){var s,l,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",c="auto"===u?nn(i,a):u,h=i/2,d=a/2,p=(c=Math.min(c,h,d))!==h,f=c!==d;if(p){var g=n-h+c-o,v=r-d-o,y=n+h-c+o;if((s=t4(e,t,n,r,g,v,y,v,!1)).length>0)return s}if(f){var b=n+h+o,x=r-d+c-o,w=r+d-c+o;if((s=t4(e,t,n,r,b,x,b,w,!1)).length>0)return s}if(p){var E=n-h+c-o,k=r+d+o,C=n+h-c+o;if((s=t4(e,t,n,r,E,k,C,k,!1)).length>0)return s}if(f){var S=n-h-o,D=r-d+c-o,T=r+d-c+o;if((s=t4(e,t,n,r,S,D,S,T,!1)).length>0)return s}var P=n-h+c,_=r-d+c;if((l=t5(e,t,n,r,P,_,c+o)).length>0&&l[0]<=P&&l[1]<=_)return[l[0],l[1]];var M=n+h-c,B=r-d+c;if((l=t5(e,t,n,r,M,B,c+o)).length>0&&l[0]>=M&&l[1]<=B)return[l[0],l[1]];var A=n+h-c,N=r+d-c;if((l=t5(e,t,n,r,A,N,c+o)).length>0&&l[0]>=A&&l[1]>=N)return[l[0],l[1]];var I=n-h+c,O=r+d-c;return(l=t5(e,t,n,r,I,O,c+o)).length>0&&l[0]<=I&&l[1]>=O?[l[0],l[1]]:[]},tY=function(e,t,n,r,i,a,o){var s=Math.min(n,i),l=Math.max(n,i),u=Math.min(r,a),c=Math.max(r,a);return s-o<=e&&e<=l+o&&u-o<=t&&t<=c+o},tW=function(e,t,n,r,i,a,o,s,l){var u={x1:Math.min(n,o,i)-l,x2:Math.max(n,o,i)+l,y1:Math.min(r,s,a)-l,y2:Math.max(r,s,a)+l};return!(eu.x2)&&!(tu.y2)},tH=function(e,t,n,r){var i=t*t-4*e*(n-=r);if(i<0)return[];var a=Math.sqrt(i),o=2*e;return[(-t+a)/o,(-t-a)/o]},tG=function(e,t,n,r,i){var a,o,s,l,u,c,h,d;if(0===e&&(e=1e-5),t/=e,n/=e,r/=e,a=(o=(3*n-t*t)/9)*o*o+(s=(-(27*r)+t*(9*n-t*t*2))/54)*s,i[1]=0,h=t/3,a>0){u=(u=s+Math.sqrt(a))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),c=(c=s-Math.sqrt(a))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-h+u+c,h+=(u+c)/2,i[4]=i[2]=-h,h=Math.sqrt(3)*(-c+u)/2,i[3]=h,i[5]=-h;return}if(i[5]=i[3]=0,0===a){d=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),i[0]=-h+2*d,i[4]=i[2]=-(d+h);return}l=Math.acos(s/Math.sqrt(l=(o=-o)*o*o)),d=2*Math.sqrt(o),i[0]=-h+d*Math.cos(l/3),i[2]=-h+d*Math.cos((l+2*Math.PI)/3),i[4]=-h+d*Math.cos((l+4*Math.PI)/3)},tU=function(e,t,n,r,i,a,o,s){var l,u=[];tG(+n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s,9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,+n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,u);for(var c=[],h=0;h<6;h+=2)1e-7>Math.abs(u[h+1])&&u[h]>=0&&u[h]<=1&&c.push(u[h]);c.push(1),c.push(0);for(var d=-1,p=0;p=0?ll?(e-i)*(e-i)+(t-a)*(t-a):u-h},tZ=function(e,t,n){for(var r,i,a,o,s=0,l=0;l=e)||!(e>=a))&&(!(r<=e)||!(e<=a)))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},t$=function(e,t,n,r,i,a,o,s,l){var u,c,h=Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var d=Math.cos(-u),p=Math.sin(-u),f=0;f0?tJ(t0(h,-l)):h)},tQ=function(e,t,n,r,i,a,o,s){for(var l=Array(2*n.length),u=0;u=0&&f<=1&&v.push(f),g>=0&&g<=1&&v.push(g),0===v.length)return[];var y=v[0]*s[0]+e,b=v[0]*s[1]+t;return v.length>1?v[0]==v[1]?[y,b]:[y,b,v[1]*s[0]+e,v[1]*s[1]+t]:[y,b]},t3=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},t4=function(e,t,n,r,i,a,o,s,l){var u=e-i,c=n-e,h=o-i,d=t-a,p=r-t,f=s-a,g=h*d-f*u,v=c*d-p*u,y=f*c-h*p;if(0!==y){var b=g/y,x=v/y;return -.001<=b&&b<=1.001&&-.001<=x&&x<=1.001?[e+b*c,t+b*p]:l?[e+b*c,t+b*p]:[]}return 0!==g&&0!==v?[]:t3(e,n,o)===o?[o,s]:t3(e,n,i)===i?[i,a]:t3(i,o,n)===n?[n,r]:[]},t9=function(e,t,n,r,i,a,o,s){var l,u,c,h,d,p,f=[],g=Array(n.length),v=!0;if(null==a&&(v=!1),v){for(var y=0;y0?tJ(t0(g,-s)):g}else u=n;for(var b=0;b2){for(var p=[c[0],c[1]],f=Math.pow(p[0]-e,2)+Math.pow(p[1]-t,2),g=1;gu&&(u=t)},get:function(e){return l[e]}},h=0;h0?b.edgesTo(y)[0]:y.edgesTo(b)[0]);h[y=y.id()]>h[g]+w&&(h[y]=h[g]+w,0>d.nodes.indexOf(y)?d.push(y):d.updateItem(y),u[y]=0,l[y]=[]),h[y]==h[g]+w&&(u[y]=u[y]+u[g],l[y].push(g))}else for(var E=0;E0;){for(var D=n.pop(),T=0;T0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i},nE=function(e,t){for(var n=0;n5&&void 0!==arguments[5]?arguments[5]:nS,o=r,s=0;s=2?nB(e,t,n,0,nP,n_):nB(e,t,n,0,nT)},squaredEuclidean:function(e,t,n){return nB(e,t,n,0,nP)},manhattan:function(e,t,n){return nB(e,t,n,0,nT)},max:function(e,t,n){return nB(e,t,n,-1/0,nM)}};function nN(e,t,n,r,i,a){var o;return(o=T(e)?e:nA[e]||nA.euclidean,0===t&&T(e))?o(i,a):o(t,n,r,i,a)}nA["squared-euclidean"]=nA.squaredEuclidean,nA.squaredeuclidean=nA.squaredEuclidean;var nI=e4({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),nO=function(e){return nI(e)},nL=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)};return nN(e,r.length,a,function(e){return r[e](t)},n,t)},nR=function(e,t,n){for(var r=n.length,i=Array(r),a=Array(r),o=Array(t),s=null,l=0;ln)return!1;return!0},nj=function(e,t,n){for(var r=0;ri&&(i=t[l][u],a=u);o[a].push(e[l])}for(var c=0;c=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var f=t[s],g=t[r[s]];o="dendrogram"===i.mode?{left:f,right:g,key:f.key}:{value:f.value.concat(g.value),key:f.key},e[f.index]=o,e.splice(g.index,1),t[f.key]=o;for(var v=0;vn[g.key][y.key]&&(a=n[g.key][y.key])):"max"===i.linkage?(a=n[f.key][y.key],n[f.key][y.key]0&&r.push(i);return r},n6=function(e,t,n){for(var r=[],i=0;io&&(a=l,o=t[i*e+l])}a>0&&r.push(a)}for(var u=0;ul&&(s=u,l=c)}n[i]=a[s]}return n6(e,t,n)},n7=function(e){for(var t,n,r,i,a,o,s,l=this.cy(),u=this.nodes(),c=n5(e),h={},d=0;d=T?(P=T,T=M,_=B):M>P&&(P=M);for(var A=0;A0);C[s%c.minIterations*t+z]=V,R+=V}if(R>0&&(s>=c.minIterations-1||s==c.maxIterations-1)){for(var F=0,j=0;j1)}});var u=Object.keys(t).filter(function(e){return t[e].cutVertex}).map(function(t){return e.getElementById(t)});return{cut:e.spawn(u),components:i}},rn=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e),o=function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach(function(e){var n=e.target().id();n===s||(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))}),t[s].index===t[s].low){for(var l=e.spawn();;){var u=i.pop();if(l.merge(e.getElementById(u)),t[u].low=t[s].index,t[u].explored=!0,u===s)break}var c=l.edgesWith(l),h=l.merge(c);r.push(h),a=a.difference(h)}};return e.forEach(function(e){if(e.isNode()){var n=e.id();n in t||o(n)}}),{cut:a,components:r}},rr={};[ts,{dijkstra:function(e){if(!_(e)){var t=arguments;e={root:t[0],weight:t[1],directed:t[2]}}var n=tu(e),r=n.root,i=n.weight,a=n.directed,o=this,s=D(r)?this.filter(r)[0]:r[0],l={},u={},c={},h=this.byGroup(),d=h.nodes,p=h.edges;p.unmergeBy(function(e){return e.isLoop()});for(var f=function(e){return l[e.id()]},g=new tl(function(e,t){return f(e)-f(t)}),v=0;v0;){var b=g.pop(),x=f(b);if(c[b.id()]=x,x!==1/0)for(var w=b.neighborhood().intersect(d),E=0;E0)for(n.unshift(t);u[i];){var a=u[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},{kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=Array(i),o=function(e){for(var t=0;t0;){if(n=(t=g.pop()).id(),v.delete(n),w++,n===h){for(var E=[],k=o,C=h,S=b[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=y[C]);)S=b[C=k.id()];return{found:!0,distance:d[n],path:this.spawn(E),steps:w}}f[n]=!0;for(var D=t._private.edges,T=0;TS&&(d[C]=S,g[C]=k,v[C]=b),!i){var T=k*l+E;!i&&d[T]>S&&(d[T]=S,g[T]=E,v[T]=b)}}}for(var P=0;P1&&void 0!==arguments[1]?arguments[1]:a,r=y(e),i=[],s=r;;){if(null==s)return t.spawn();var l=v(s),u=l.edge,c=l.pred;if(i.unshift(s[0]),s.same(n)&&i.length>0)break;null!=u&&i.unshift(u),s=c}return o.spawn(i)},hasNegativeWeightCycle:p,negativeWeightCycles:f}}},{kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy(function(e){return e.isLoop()});var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/tp);if(i<2){eQ("At least 2 nodes are required for Karger-Stein algorithm");return}for(var l=[],u=0;u1||o>1)&&(l=!0),u[r]=[],e.outgoers().forEach(function(e){e.isEdge()&&u[r].push(e.id())})}else c[r]=[void 0,e.target().id()]}):this.forEach(function(e){var r=e.id();e.isNode()?(e.degree(!0)%2&&(t?n?l=!0:n=r:t=r),u[r]=[],e.connectedEdges().forEach(function(e){return u[r].push(e.id())})):c[r]=[e.source().id(),e.target().id()]});var h={found:!1,trail:void 0};if(l)return h;if(n&&t){if(s){if(r&&n!=r)return h;r=n}else{if(r&&n!=r&&t!=r)return h;r||(r=n)}}else r||(r=this[0].id());var d=function(e){for(var t,n,r,i=e,a=[e];u[i].length;)n=c[t=u[i].shift()][0],i!=(r=c[t][1])?(u[r]=u[r].filter(function(e){return e!=t}),i=r):s||i==n||(u[n]=u[n].filter(function(e){return e!=t}),i=n),a.unshift(t),a.unshift(i);return a},p=[],f=[];for(f=d(r);1!=f.length;)0==u[f[0]].length?(p.unshift(this.getElementById(f.shift())),p.unshift(this.getElementById(f.shift()))):f=d(f.shift()).concat(f);for(var g in p.unshift(this.getElementById(f.shift())),u)if(u[g].length)return h;return h.found=!0,h.trail=this.spawn(p,!0),h}},{hopcroftTarjanBiconnected:rt,htbc:rt,htb:rt,hopcroftTarjanBiconnectedComponents:rt},{tarjanStronglyConnected:rn,tsc:rn,tscc:rn,tarjanStronglyConnectedComponents:rn}].forEach(function(e){Z(rr,e)});var ri=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};ri.prototype={fulfill:function(e){return ra(this,1,"fulfillValue",e)},reject:function(e){return ra(this,2,"rejectReason",e)},then:function(e,t){var n=new ri;return this.onFulfilled.push(rl(e,n,"fulfill")),this.onRejected.push(rl(t,n,"reject")),ro(this),n.proxy}};var ra=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,ro(e)),e},ro=function(e){1===e.state?rs(e,"onFulfilled",e.fulfillValue):2===e.state&&rs(e,"onRejected",e.rejectReason)},rs=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e-1},rL.prototype.set=function(e,t){var n=this.__data__,r=rI(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var rR=rP(es,"Map"),rz=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e},rV=function(e,t){var n=e.__data__;return rz(t)?n["string"==typeof t?"string":"hash"]:n.map};function rF(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e0}},clearQueue:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var t=0;t0&&this.spawn(n).updateStyle().emit("class"),this},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){P(e)||(e=e.match(/\S+/g)||[]);for(var n=void 0===t,r=[],i=0,a=this.length;i0&&this.spawn(r).updateStyle().emit("class"),this},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},t),n}};ir.className=ir.classNames=ir.classes;var ii={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:Y,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};ii.variable="(?:[\\w-.]|(?:\\\\"+ii.metaChar+"))+",ii.className="(?:[\\w-]|(?:\\\\"+ii.metaChar+"))+",ii.value=ii.string+"|"+ii.number,ii.id=ii.variable,function(){var e,t,n;for(n=0,e=ii.comparatorOp.split("|");n=0)&&"="!==t&&(ii.comparatorOp+="|\\!"+t)}();var ia=function(){return{checks:[]}},io={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},is=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(e,t){return -1*K(e.selector,t.selector)}),il=function(){for(var e,t={},n=0;n=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),u=!0),(o||l||u)&&(i=o||s?""+e:"",a=""+n),u&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":h=!0,r=e>n;break;case">=":h=!0,r=e>=n;break;case"<":h=!0,r=e0&&l.edgeCount>0)return e0("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return e0("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&e0("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return D(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(r,a){var o=r.type,s=r.value;switch(o){case io.GROUP:var l=e(s);return l.substring(0,l.length-1);case io.DATA_COMPARE:return"["+r.field+n(e(r.operator))+t(s)+"]";case io.DATA_BOOL:var u=r.operator,c=r.field;return"["+e(u)+c+"]";case io.DATA_EXIST:return"["+r.field+"]";case io.META_COMPARE:var h=r.operator;return"[["+r.field+n(e(h))+t(s)+"]]";case io.STATE:return s;case io.ID:return"#"+s;case io.CLASS:return"."+s;case io.PARENT:case io.CHILD:return i(r.parent,a)+n(">")+i(r.child,a);case io.ANCESTOR:case io.DESCENDANT:return i(r.ancestor,a)+" "+i(r.descendant,a);case io.COMPOUND_SPLIT:var d=i(r.left,a),p=i(r.subject,a),f=i(r.right,a);return d+(d.length>0?" ":"")+p+f;case io.TRUE:return""}},i=function(e,t){return e.checks.reduce(function(n,i,a){return n+(t===e&&0===a?"$":"")+r(i,t)},"")},a="",o=0;o1&&o0;){var u=i.shift();t(u),a.add(u.id()),o&&r(i,a,u)}return e}function iT(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1)||void 0===arguments[1]||arguments[1];return iD(this,e,t,iT)},iS.forEachUp=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return iD(this,e,t,iP)},iS.forEachUpAndDown=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return iD(this,e,t,i_)},iS.ancestors=iS.parents,(oZ=o$={data:ie.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:ie.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:ie.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:ie.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:ie.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:ie.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=oZ.data,oZ.removeAttr=oZ.removeData;var iM={};function iB(e){return function(t){if(void 0===t&&(t=!0),0!==this.length){if(!(!this.isNode()||this.removed())){for(var n=0,r=this[0],i=r._private.edges,a=0;at}),minIndegree:iA("indegree",function(e,t){return et}),minOutdegree:iA("outdegree",function(e,t){return et})}),Z(iM,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0;c&&(u=u[0]);var h=c?u.position():{x:0,y:0};void 0!==t?l.position(e,t+h[e]):void 0!==i&&l.position({x:i.x+h.x,y:i.y+h.y})}else{var d=n.position(),p=o?n.parent():null,f=p&&p.length>0;f&&(p=p[0]);var g=f?p.position():{x:0,y:0};return(i={x:d.x-g.x,y:d.y-g.y},void 0===e)?i:i[e]}}else if(!a)return;return this}}).modelPosition=oQ.point=oQ.position,oQ.modelPositions=oQ.points=oQ.positions,oQ.renderedPoint=oQ.renderedPosition,oQ.relativePoint=oQ.relativePosition,o0=o1={},o1.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,l=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:l,w:o-a,h:l-s}},o1.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()&&this.forEachUp(function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}}),this},o1.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes()||!e&&t.batching())return this;for(var n=0;n0&&(s=100*s/i.width.val);var l=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(l=100*l/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var h=y(i.width.val-a.w,s,l),d=h.biasDiff,p=h.biasComplementDiff,f=y(i.height.val-a.h,u,c),g=f.biasDiff,v=f.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"===n.units)switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}else if("px"===n.units)return n.pfValue;else return 0}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-d+a.x1+a.x2+p)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-g+a.y1+a.y2+v)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}(r),t.batching()||(i.compoundBoundsClean=!0))}return this};var iO=function(e){return e===1/0||e===-1/0?0:e},iL=function(e,t,n,r,i){r-t!=0&&i-n!=0&&null!=t&&null!=n&&null!=r&&null!=i&&(e.x1=te.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},iR=function(e,t){return null==t?e:iL(e,t.x1,t.y1,t.x2,t.y2)},iz=function(e,t,n){return e7(e,t,n)},iV=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var l=a.arrowBounds=a.arrowBounds||{},u=l[n]=l[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,tR(u,1),iL(e,u.x1,u.y1,u.x2,u.y2)}}},iF=function(e,t,n){if(!t.cy().headless()){a=n?n+"-":"";var r=t._private,i=r.rstyle;if(t.pstyle(a+"label").strValue){var a,o,s,l,u,c=t.pstyle("text-halign"),h=t.pstyle("text-valign"),d=iz(i,"labelWidth",n),p=iz(i,"labelHeight",n),f=iz(i,"labelX",n),g=iz(i,"labelY",n),v=t.pstyle(a+"text-margin-x").pfValue,y=t.pstyle(a+"text-margin-y").pfValue,b=t.isEdge(),x=t.pstyle(a+"text-rotation"),w=t.pstyle("text-outline-width").pfValue,E=t.pstyle("text-border-width").pfValue/2,k=t.pstyle("text-background-padding").pfValue,C=d/2,S=p/2;if(b)o=f-C,s=f+C,l=g-S,u=g+S;else{switch(c.value){case"left":o=f-d,s=f;break;case"center":o=f-C,s=f+C;break;case"right":o=f,s=f+d}switch(h.value){case"top":l=g-p,u=g;break;case"center":l=g-S,u=g+S;break;case"bottom":l=g,u=g+p}}o+=v-Math.max(w,E)-k-2,s+=v+Math.max(w,E)+k+2,l+=y-Math.max(w,E)-k-2,u+=y+Math.max(w,E)+k+2;var D=n||"main",T=r.labelBounds,P=T[D]=T[D]||{};P.x1=o,P.y1=l,P.x2=s,P.y2=u,P.w=s-o,P.h=u-l;var _=b&&"autorotate"===x.strValue,M=null!=x.pfValue&&0!==x.pfValue;if(_||M){var B=_?iz(r.rstyle,"labelAngle",n):x.pfValue,A=Math.cos(B),N=Math.sin(B),I=(o+s)/2,O=(l+u)/2;if(!b){switch(c.value){case"left":I=s;break;case"right":I=o}switch(h.value){case"top":O=u;break;case"bottom":O=l}}var L=function(e,t){return{x:(e-=I)*A-(t-=O)*N+I,y:e*N+t*A+O}},R=L(o,l),z=L(o,u),V=L(s,l),F=L(s,u);o=Math.min(R.x,z.x,V.x,F.x),s=Math.max(R.x,z.x,V.x,F.x),l=Math.min(R.y,z.y,V.y,F.y),u=Math.max(R.y,z.y,V.y,F.y)}var j=D+"Rot",q=T[j]=T[j]||{};q.x1=o,q.y1=l,q.x2=s,q.y2=u,q.w=s-o,q.h=u-l,iL(e,o,l,s,u),iL(r.labelBounds.all,o,l,s,u)}return e}},ij=function(e,t){if(!t.cy().headless()){var n=t.pstyle("outline-opacity").value,r=t.pstyle("outline-width").value;if(n>0&&r>0){var i=t.pstyle("outline-offset").value,a=t.pstyle("shape").value,o=r+i,s=(e.w+2*o)/e.w,l=(e.h+2*o)/e.h,u=0;["diamond","pentagon","round-triangle"].includes(a)?(s=(e.w+2.4*o)/e.w,u=-o/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(a)?s=(e.w+2.4*o)/e.w:"star"===a?(s=(e.w+2.8*o)/e.w,l=(e.h+2.6*o)/e.h,u=-o/3.8):"triangle"===a?(s=(e.w+2.8*o)/e.w,l=(e.h+2.4*o)/e.h,u=-o/1.4):"vee"===a&&(s=(e.w+4.4*o)/e.w,l=(e.h+3.8*o)/e.h,u=-(.5*o));var c=e.h*l-e.h,h=e.w*s-e.w;if(tz(e,[Math.ceil(c/2),Math.ceil(h/2)]),0!==u){var d,p=(d=u,{x1:e.x1+0,x2:e.x2+0,y1:e.y1+d,y2:e.y2+d,w:e.w,h:e.h});tO(e,p)}}}},iq=function(e,t){var n=e._private.cy,r=n.styleEnabled(),i=n.headless(),a=tN(),o=e._private,s=e.isNode(),l=e.isEdge(),u=o.rstyle,c=s&&r?e.pstyle("bounds-expansion").pfValue:[0],h=function(e){return"none"!==e.pstyle("display").value},d=!r||h(e)&&(!l||h(e.source())&&h(e.target()));if(d){var p=0,f=0;r&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(f=e.pstyle("overlay-padding").value);var g=0,v=0;r&&t.includeUnderlays&&0!==e.pstyle("underlay-opacity").value&&(v=e.pstyle("underlay-padding").value);var y=Math.max(f,v),b=0,x=0;if(r&&(x=e.pstyle("width").pfValue/2),s&&t.includeNodes){var w=e.position();P=w.x,_=w.y;var E=e.outerWidth()/2,k=e.outerHeight()/2;C=P-E,S=P+E,iL(a,C,D=_-k,S,T=_+k),r&&t.includeOutlines&&ij(a,e)}else if(l&&t.includeEdges){if(r&&!i){var C,S,D,T,P,_,M,B=e.pstyle("curve-style").strValue;if(C=Math.min(u.srcX,u.midX,u.tgtX),S=Math.max(u.srcX,u.midX,u.tgtX),D=Math.min(u.srcY,u.midY,u.tgtY),T=Math.max(u.srcY,u.midY,u.tgtY),C-=x,S+=x,iL(a,C,D-=x,S,T+=x),"haystack"===B){var A=u.haystackPts;if(A&&2===A.length){if(C=A[0].x,D=A[0].y,S=A[1].x,T=A[1].y,C>S){var N=C;C=S,S=N}if(D>T){var I=D;D=T,T=I}iL(a,C-x,D-x,S+x,T+x)}}else if("bezier"===B||"unbundled-bezier"===B||B.endsWith("segments")||B.endsWith("taxi")){switch(B){case"bezier":case"unbundled-bezier":M=u.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":M=u.linePts}if(null!=M)for(var O=0;OS){var V=C;C=S,S=V}if(D>T){var F=D;D=T,T=F}C-=x,S+=x,iL(a,C,D-=x,S,T+=x)}}if(r&&t.includeEdges&&l&&(iV(a,e,"mid-source"),iV(a,e,"mid-target"),iV(a,e,"source"),iV(a,e,"target")),r&&"yes"===e.pstyle("ghost").value){var j=e.pstyle("ghost-offset-x").pfValue,q=e.pstyle("ghost-offset-y").pfValue;iL(a,a.x1+j,a.y1+q,a.x2+j,a.y2+q)}var X=o.bodyBounds=o.bodyBounds||{};tV(X,a),tz(X,c),tR(X,1),r&&(C=a.x1,S=a.x2,D=a.y1,T=a.y2,iL(a,C-y,D-y,S+y,T+y));var Y=o.overlayBounds=o.overlayBounds||{};tV(Y,a),tz(Y,c),tR(Y,1);var W=o.labelBounds=o.labelBounds||{};null!=W.all?tI(W.all):W.all=tN(),r&&t.includeLabels&&(t.includeMainLabels&&iF(a,e,null),l&&(t.includeSourceLabels&&iF(a,e,"source"),t.includeTargetLabels&&iF(a,e,"target")))}return a.x1=iO(a.x1),a.y1=iO(a.y1),a.x2=iO(a.x2),a.y2=iO(a.y2),a.w=iO(a.x2-a.x1),a.h=iO(a.y2-a.y1),a.w>0&&a.h>0&&d&&(tz(a,c),tR(a,1)),a},iX=function(e){var t,n=0,r=function(e){return+!!e<0&&void 0!==arguments[0]?arguments[0]:i6,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},i7.removeAllListeners=function(){return this.removeListener("*")},i7.emit=i7.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,P(t)||(t=[t]),an(this,function(e,a){null!=n&&(i=(r=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}]).length);for(var o=0;o1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&D(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=0;rr&&(r=o,n=a)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=0;i=0&&i1)||void 0===arguments[1]||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];if(n)return t.style().getRenderedStyle(n,e)},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(_(e))r.applyBypass(this,e,!1),this.emitAndNotify("style");else if(D(e)){if(void 0===t){var i=this[0];return i?r.getStylePropertyValue(i,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var a=this[0];return a?r.getRawStyle(a):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style();if(void 0===e)for(var r=0;r0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),aC.neighbourhood=aC.neighborhood,aC.closedNeighbourhood=aC.closedNeighborhood,aC.openNeighbourhood=aC.openNeighborhood,Z(aC,{source:iC(function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t},"source"),target:iC(function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t},"target"),sources:aP({attr:"source"}),targets:aP({attr:"target"})}),Z(aC,{edgesWith:iC(a_(),"edgesWith"),edgesTo:iC(a_({thisIsSrc:!0}),"edgesTo")}),Z(aC,{connectedEdges:iC(function(e){for(var t=[],n=0;n0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),aC.componentsOf=aC.components;var aB=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0===e){eQ("A collection must have a reference to the core");return}var i=new tn,a=!1;if(t){if(t.length>0&&_(t[0])&&!N(t[0])){a=!0;for(var o=[],s=new ti,l=0,u=t.length;l0)||void 0===arguments[0]||arguments[0],t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=this.cy(),r=n._private,i=[],a=[],o=0,s=this.length;o0){for(var N,I,O,L=N.length===this.length?this:new aB(n,N),z=0;z0)||void 0===arguments[0]||arguments[0],t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=[],r={},i=this._private.cy,a=0,o=this.length;a0&&(e?x.emitAndNotify("remove"):t&&x.emit("remove"));for(var w=0;w1e-4&&Math.abs(v.v)>1e-4;);return f?function(e){return b[e*(b.length-1)|0]}:x}}(),aI=function(e,t,n,r){var i=function(e,t,n,r){var i="undefined"!=typeof Float32Array;if(4!=arguments.length)return!1;for(var a=0;a<4;++a)if("number"!=typeof arguments[a]||isNaN(arguments[a])||!isFinite(arguments[a]))return!1;e=Math.min(e,1),n=Math.min(n,1),e=Math.max(e,0),n=Math.max(n,0);var o=i?new Float32Array(11):Array(11);function s(e,t,n){return(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e}function l(e,t,n){return 3*(1-3*n+3*t)*e*e+2*(3*n-6*t)*e+3*t}var u=!1,c=function(i){return(u||(u=!0,(e!==t||n!==r)&&function(){for(var t=0;t<11;++t)o[t]=s(.1*t,e,n)}()),e===t&&n===r)?i:0===i?0:1===i?1:s(function(t){for(var r=0,i=1;10!==i&&o[i]<=t;++i)r+=.1;var a=r+(t-o[--i])/(o[i+1]-o[i])*.1,u=l(a,e,n);return u>=.001?function(t,r){for(var i=0;i<4;++i){var a=l(r,e,n);if(0===a)break;var o=s(r,e,n)-t;r-=o/a}return r}(t,a):0===u?a:function(t,r,i){var a,o,l=0;do(a=s(o=r+(i-r)/2,e,n)-t)>0?i=o:r=o;while(Math.abs(a)>1e-7&&++l<10);return o}(t,r,r+.1)}(i),t,r)};c.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var h="generateBezier("+[e,t,n,r]+")";return c.toString=function(){return h},c}(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},aO={linear:function(e,t,n){return e+(t-e)*n},ease:aI(.25,.1,.25,1),"ease-in":aI(.42,0,1,1),"ease-out":aI(0,0,.58,1),"ease-in-out":aI(.42,0,.58,1),"ease-in-sine":aI(.47,0,.745,.715),"ease-out-sine":aI(.39,.575,.565,1),"ease-in-out-sine":aI(.445,.05,.55,.95),"ease-in-quad":aI(.55,.085,.68,.53),"ease-out-quad":aI(.25,.46,.45,.94),"ease-in-out-quad":aI(.455,.03,.515,.955),"ease-in-cubic":aI(.55,.055,.675,.19),"ease-out-cubic":aI(.215,.61,.355,1),"ease-in-out-cubic":aI(.645,.045,.355,1),"ease-in-quart":aI(.895,.03,.685,.22),"ease-out-quart":aI(.165,.84,.44,1),"ease-in-out-quart":aI(.77,0,.175,1),"ease-in-quint":aI(.755,.05,.855,.06),"ease-out-quint":aI(.23,1,.32,1),"ease-in-out-quint":aI(.86,0,.07,1),"ease-in-expo":aI(.95,.05,.795,.035),"ease-out-expo":aI(.19,1,.22,1),"ease-in-out-expo":aI(1,0,0,1),"ease-in-circ":aI(.6,.04,.98,.335),"ease-out-circ":aI(.075,.82,.165,1),"ease-in-out-circ":aI(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return aO.linear;var r=aN(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":aI};function aL(e,t,n,r,i){if(1===r||t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function aR(e,t){return null==e.pfValue&&null==e.value?e:null!=e.pfValue&&(null==t||"%"!==t.type.units)?e.pfValue:e.value}function az(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=aR(e,i),s=aR(t,i);if(M(o)&&M(s))return aL(a,o,s,n,r);if(P(o)&&P(s)){for(var l=[],u=0;u=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var h=a[c],d=h._private;if(d.stopped){a.splice(c,1),d.hooked=!1,d.playing=!1,d.started=!1,u(d.frames);continue}(d.playing||d.applying)&&(d.playing&&d.applying&&(d.applying=!1),d.started||function(e,t,n,r){var i=t._private;i.started=!0,i.startTime=n-i.progress*i.duration}(0,h,e),function(e,t,n,r){var i,a,o,s,l=!r,u=e._private,c=t._private,h=c.easing,d=c.startTime,p=(r?e:e.cy()).style();!c.easingImpl&&(null==h?c.easingImpl=aO.linear:(i=D(h)?p.parse("transition-timing-function",h).value:h,D(i)?(a=i,o=[]):(a=i[1],o=i.slice(2).map(function(e){return+e})),o.length>0?("spring"===a&&o.push(c.duration),c.easingImpl=aO[a].apply(null,o)):c.easingImpl=aO[a]));var f=c.easingImpl;if(s=0===c.duration?1:(n-d)/c.duration,c.applying&&(s=c.progress),s<0?s=0:s>1&&(s=1),null==c.delay){var g=c.startPosition,v=c.position;if(v&&l&&!e.locked()){var y={};aV(g.x,v.x)&&(y.x=az(g.x,v.x,s,f)),aV(g.y,v.y)&&(y.y=az(g.y,v.y,s,f)),e.position(y)}var b=c.startPan,x=c.pan,w=u.pan,E=null!=x&&r;E&&(aV(b.x,x.x)&&(w.x=az(b.x,x.x,s,f)),aV(b.y,x.y)&&(w.y=az(b.y,x.y,s,f)),e.emit("pan"));var k=c.startZoom,C=c.zoom,S=null!=C&&r;S&&(aV(k,C)&&(u.zoom=tA(u.minZoom,az(k,C,s,f),u.maxZoom)),e.emit("zoom")),(E||S)&&e.emit("viewport");var T=c.style;if(T&&T.length>0&&l){for(var P=0;P0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var aj={animate:ie.animate(),animation:ie.animation(),animated:ie.animated(),clearQueue:ie.clearQueue(),delay:ie.delay(),delayAnimation:ie.delayAnimation(),stop:ie.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender(function(t,n){aF(n,e)},t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&eI(function(n){aF(n,e),t()})}()}}},aq={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&N(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},aX=function(e){return D(e)?new iw(e):e},aY={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new i8(aq,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,aX(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,aX(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,aX(t),n),this},once:function(e,t,n){return this.emitter().one(e,aX(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};ie.eventAliasesOn(aY);var aW={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};aW.jpeg=aW.jpg;var aH={layout:function(e){if(null==e){eQ("Layout options must be specified to make a layout");return}if(null==e.name){eQ("A `name` must be specified to make a layout");return}var t,n=e.name,r=this.extension("layout",n);if(null==r){eQ("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}return t=D(e.eles)?this.$(e.eles):null!=e.eles?e.eles:this.$(),new r(Z({},e,{cy:this,eles:t}))}};aH.createLayout=aH.makeLayout=aH.layout;var aG=e4({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),aU={renderTo:function(e,t,n,r){return this._private.renderer.renderTo(e,t,n,r),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(e){var t=this.extension("renderer",e.name);if(null==t){eQ("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}void 0!==e.wheelSensitivity&&e0("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var n=aG(e);n.cy=this,this._private.renderer=new t(n),this.notify("init")},destroyRenderer:function(){this.notify("destroy");var e=this.container();if(e)for(e._cyreg=null;e.childNodes.length>0;)e.removeChild(e.childNodes[0]);this._private.renderer=null,this.mutableElements().forEach(function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};aU.invalidateDimensions=aU.resize;var aK={collection:function(e,t){return D(e)?this.$(e):A(e)?e.collection():P(e)?(t||(t={}),new aB(this,e,t.unique,t.removed)):new aB(this)},nodes:function(e){var t=this.$(function(e){return e.isNode()});return e?t.filter(e):t},edges:function(e){var t=this.$(function(e){return e.isEdge()});return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};aK.elements=aK.filter=aK.$;var aZ={};aZ.apply=function(e){for(var t=this._private.cy.collection(),n=0;n0;if(h||c&&d){var p=void 0;h&&d?p=l.properties:h?p=l.properties:d&&(p=l.mappedProperties);for(var f=0;f1&&(v=1),o.color){var E=r.valueMin[0],k=r.valueMax[0],C=r.valueMin[1],S=r.valueMax[1],D=r.valueMin[2],T=r.valueMax[2],P=null==r.valueMin[3]?1:r.valueMin[3],_=[Math.round(E+(k-E)*v),Math.round(C+(S-C)*v),Math.round(D+(T-D)*v),Math.round(P+((null==r.valueMax[3]?1:r.valueMax[3])-P)*v)];g={bypass:r.bypass,name:r.name,value:_,strValue:"rgb("+_[0]+", "+_[1]+", "+_[2]+")"}}else{if(!o.number)return!1;var B=r.valueMin+(r.valueMax-r.valueMin)*v;g=this.parse(r.name,B,r.bypass,h)}if(!g)return f(),!1;g.mapping=r,r=g;break;case a.data:for(var A=r.field.split("."),N=c.data,I=0;I0&&a>0){for(var s={},l=!1,u=0;u0?e.delayAnimation(o).play().promise().then(t):t()}).then(function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1})}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},aZ.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},aZ.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,function(e){return e.triggersZOrder},function(){i._private.cy.notify("zorder",e)})},aZ.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBounds},function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),i.triggersBoundsOfParallelBeziers&&"curve-style"===t&&("bezier"===n||"bezier"===r)&&e.parallelEdges().forEach(function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()}),i.triggersBoundsOfConnectedEdges&&"display"===t&&("none"===n||"none"===r)&&e.connectedEdges().forEach(function(e){e.dirtyBoundingBoxCache()})})},aZ.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var a$={};a$.applyBypass=function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;at.length?i.substr(t.length):""}function o(){n=n.length>r.length?n.substr(r.length):""}for(i=i.replace(/[/][*](\s|.)+?[*][/]/g,"");!i.match(/^\s*$/);){var s=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!s){e0("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}t=s[0];var l=s[1];if("core"!==l&&new iw(l).invalid){e0("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),a();continue}var u=s[2],c=!1;n=u;for(var h=[];!n.match(/^\s*$/);){var d=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){e0("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),c=!0;break}r=d[0];var p=d[1],f=d[2];if(!this.properties[p]){e0("Skipping property: Invalid property name in: "+r),o();continue}if(!this.parse(p,f)){e0("Skipping property: Invalid property definition in: "+r),o();continue}h.push({name:p,val:f}),o()}if(c){a();break}this.selector(l);for(var g=0;g=7&&"d"===t[0]&&(g=new RegExp(o.data.regex).exec(t))){if(n)return!1;var u=o.data;return{name:e,value:g,strValue:""+t,mapped:u,field:g[1],bypass:n}}else if(t.length>=10&&"m"===t[0]&&(v=new RegExp(o.mapData.regex).exec(t))){if(n||l.multiple)return!1;var c=o.mapData;if(!(l.color||l.number))return!1;var h=this.parse(e,v[4]);if(!h||h.mapped)return!1;var d=this.parse(e,v[5]);if(!d||d.mapped)return!1;if(h.pfValue===d.pfValue||h.strValue===d.strValue)return e0("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+h.strValue+"`"),this.parse(e,h.strValue);if(l.color){var p=h.value,f=d.value;if(p[0]===f[0]&&p[1]===f[1]&&p[2]===f[2]&&(p[3]===f[3]||(null==p[3]||1===p[3])&&(null==f[3]||1===f[3])))return!1}return{name:e,value:v,strValue:""+t,mapped:c,field:v[1],fieldMin:parseFloat(v[2]),fieldMax:parseFloat(v[3]),valueMin:h.value,valueMax:d.value,bypass:n}}if(l.multiple&&"multiple"!==r){if(y=s?t.split(/\s+/):P(t)?t:[t],l.evenMultiple&&y.length%2!=0)return null;for(var g,v,y,b=[],x=[],w=[],E="",k=!1,C=0;C0?" ":"")+S.strValue}return l.validate&&!l.validate(b,x)?null:l.singleEnum&&k?1===b.length&&D(b[0])?{name:e,value:b[0],strValue:b[0],bypass:n}:null:{name:e,value:b,pfValue:w,strValue:E,bypass:n,units:x}}var _=function(){for(var r=0;rl.max||l.strictMax&&t===l.max))return null;var L={name:e,value:t,strValue:""+t+(A||""),units:A,bypass:n};return l.unitless||"px"!==A&&"em"!==A?L.pfValue=t:L.pfValue="px"!==A&&A?this.getEmSizeInPixels()*t:t,("ms"===A||"s"===A)&&(L.pfValue="ms"===A?t:1e3*t),("deg"===A||"rad"===A)&&(L.pfValue="rad"===A?t:Math.PI*t/180),"%"===A&&(L.pfValue=t/100),L}if(l.propList){var R=[],z=""+t;if("none"===z);else{for(var V=z.split(/\s*,\s*|\s+/),j=0;j0&&l>0&&!isNaN(r.w)&&!isNaN(r.h)&&r.w>0&&r.h>0){i=(i=(i=Math.min((s-2*t)/r.w,(l-2*t)/r.h))>this._private.maxZoom?this._private.maxZoom:i)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),M(e)?n=e:_(e)&&(n=e.level,null!=e.position?t=tv(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;M(l.x)&&(t.pan.x=l.x,o=!1),M(l.y)&&(t.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(D(e)){var n=e;e=this.mutableElements().filter(n)}else A(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled&&this.viewport({pan:{x:0,y:0},zoom:1}),this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};a9.centre=a9.center,a9.autolockNodes=a9.autolock,a9.autoungrabifyNodes=a9.autoungrabify;var a6={data:ie.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:ie.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:ie.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:ie.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};a6.attr=a6.data,a6.removeAttr=a6.removeData;var a8=function(e){var t=this,n=(e=Z({},e)).container;n&&!B(n)&&B(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{}).cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==b&&void 0!==n&&!e.headless,o=e;o.layout=Z({name:a?"grid":"null"},o.layout),o.renderer=Z({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},l=this._private={container:n,ready:!1,options:o,elements:new aB(this),listeners:[],aniEles:new aB(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:M(o.zoom)?o.zoom:1,pan:{x:_(o.pan)&&M(o.pan.x)?o.pan.x:0,y:_(o.pan)&&M(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),l.styleEnabled&&t.setStyle([]);var u=Z({},o,o.renderer);t.initRenderer(u);var c=function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(_(e)||P(e))&&t.add(e),t.one("layoutready",function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")}).one("layoutstop",function(){t.one("done",r),t.emit("done")});var a=Z({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()};!function(e,t){if(e.some(z))return rc.all(e).then(t);t(e)}([o.style,o.elements],function(e){var n=e[0],a=e[1];l.styleEnabled&&t.style().append(n),c(a,function(){t.startAnimationLoop(),l.ready=!0,T(o.ready)&&t.on("ready",o.ready);for(var e=0;e0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch(function(){for(var n=Object.keys(e),r=0;r0,s=tN(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(A(t.roots))e=t.roots;else if(P(t.roots)){for(var l=[],u=0;u0;){var _=C.shift(),M=function(e,n){for(var i=on(e),a=e.incomers().filter(function(e){return e.isNode()&&r.has(e)}),o=-1,s=e.id(),l=0;l0&&f[0].length<=3?u/2:0),h=2*Math.PI/f[r].length*i;return 0===r&&1===f[0].length&&(c=1),{x:W.x+c*Math.cos(h),y:W.y+c*Math.sin(h)}}),this};var oa={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function oo(e){this.options=Z({},oa,e)}oo.prototype.run=function(){var e,t=this.options,n=t.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o=tN(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),s={x:o.x1+o.w/2,y:o.y1+o.h/2},l=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),u=0,c=0;c1&&t.avoidOverlap){var d=Math.cos(l)-1,p=Math.sin(l)-0;e=Math.max(Math.sqrt((u*=1.75)*u/(d*d+p*p)),e)}return r.nodes().layoutPositions(this,t,function(n,r){var a=t.startAngle+r*l*(i?1:-1),o=e*Math.cos(a),u=e*Math.sin(a);return{x:s.x+o,y:s.y+u}}),this};var os={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function ol(e){this.options=Z({},os,e)}ol.prototype.run=function(){for(var e=this.options,t=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,n=e.cy,r=e.eles,i=r.nodes().not(":parent"),a=tN(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:a.x1+a.w/2,y:a.y1+a.h/2},s=[],l=0,u=0;u0&&Math.abs(v[0].value-b.value)>=f&&(v=[],g.push(v)),v.push(b)}var x=l+e.minNodeSpacing;if(!e.avoidOverlap){var w=g.length>0&&g[0].length>1,E=(Math.min(a.w,a.h)/2-x)/(g.length+w?1:0);x=Math.min(x,E)}for(var k=0,C=0;C1&&e.avoidOverlap){var P=Math.cos(T)-1,_=Math.sin(T)-0;k=Math.max(Math.sqrt(x*x/(P*P+_*_)),k)}S.r=k,k+=x}if(e.equidistant){for(var M=0,B=0,A=0;A=e.numIter)&&(oy(r,e),r.temperature=r.temperature*e.coolingFactor,!(r.temperature=e.animationThreshold&&a(),eI(t)):(o_(r,e),s())}();else{for(;u;)u=o(l),l++;o_(r,e),s()}return this},oc.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},oc.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var oh=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=tN(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),l={},u=0;u0){o.graphSet.push(C);for(var u=0;ur.count?0:r.graph},op=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var s=r.nodeOverlap*o,l=Math.sqrt(i*i+a*a),u=s*i/l,c=s*a/l;else var h=oE(e,i,a),d=oE(t,-1*i,-1*a),p=d.x-h.x,f=d.y-h.y,g=p*p+f*f,l=Math.sqrt(g),s=(e.nodeRepulsion+t.nodeRepulsion)/g,u=s*p/l,c=s*f/l;e.isLocked||(e.offsetX-=u,e.offsetY-=c),t.isLocked||(t.offsetX+=u,t.offsetY+=c)}},ow=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else var i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else var a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},oE=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,l=a/o,u={};return 0===t&&0n?(u.x=r,u.y=i+a/2):0t&&-1*l<=s&&s<=l?(u.x=r-o/2,u.y=i-o*n/2/t):0=l)?(u.x=r+a*t/2/n,u.y=i+a/2):0>n&&(s<=-1*l||s>=l)&&(u.x=r-a*t/2/n,u.y=i-a/2),u},ok=function(e,t){for(var n=0;n1){var f=t.gravity*h/p,g=t.gravity*d/p;c.offsetX+=f,c.offsetY+=g}}}}},oS=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],l=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else var i={x:e,y:t};return i},oP=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;if((null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopg&&(d+=f+t.componentSpacing,h=0,p=0,f=0)}}},oM={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function oB(e){this.options=Z({},oM,e)}oB.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=n.nodes().not(":parent");e.sort&&(r=r.sort(e.sort));var i=tN(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});if(0===i.h||0===i.w)n.nodes().layoutPositions(this,e,function(e){return{x:i.x1,y:i.y1}});else{var a=r.size(),o=Math.sqrt(a*i.h/i.w),s=Math.round(o),l=Math.round(i.w/i.h*o),u=function(e){if(null==e)return Math.min(s,l);Math.min(s,l)==s?s=e:l=e},c=function(e){if(null==e)return Math.max(s,l);Math.max(s,l)==s?s=e:l=e},h=e.rows,d=null!=e.cols?e.cols:e.columns;if(null!=h&&null!=d)s=h,l=d;else if(null!=h&&null==d)l=Math.ceil(a/(s=h));else if(null==h&&null!=d)s=Math.ceil(a/(l=d));else if(l*s>a){var p=u(),f=c();(p-1)*f>=a?u(p-1):(f-1)*p>=a&&c(f-1)}else for(;l*s=a?c(v+1):u(g+1)}var y=i.w/l,b=i.h/s;if(e.condense&&(y=0,b=0),e.avoidOverlap)for(var x=0;x=l&&(B=0,M++)},N={},I=0;I=0;x--){var w=l[x];w.isNode()?y(w)||b(w):function(n){var r,i=n._private,a=i.rscratch,l=n.pstyle("width").pfValue,c=n.pstyle("arrow-scale").value,p=l/2+d,f=p*p,g=2*p,b=i.source,x=i.target;if("segments"===a.edgeType||"straight"===a.edgeType||"haystack"===a.edgeType){for(var w=a.allpts,E=0;E+3(r=tK(e,t,w[E],w[E+1],w[E+2],w[E+3])))return v(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType){for(var w=a.allpts,E=0;E+5(r=tU(e,t,w[E],w[E+1],w[E+2],w[E+3],w[E+4],w[E+5])))return v(n,r),!0}for(var b=b||i.source,x=x||i.target,k=o.getArrowWidth(l,c),C=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}],E=0;E0&&(y(b),y(x))}(w)||b(w)||b(w,"source")||b(w,"target")}return u},oX.getAllInBox=function(e,t,n,r){var i=this.getCachedZSortedEles().interactive,a=[],o=Math.min(e,n),s=Math.max(e,n),l=Math.min(t,r),u=Math.max(t,r);e=o,n=s;for(var c=tN({x1:e,y1:t=l,x2:n,y2:r=u}),h=0;h0?-(Math.PI-e.ang):Math.PI+e.ang},sd=function(e,t,n,r,i){if(e!==v?sc(t,e,sl):sh(su,sl),sc(t,n,su),o8=sl.nx*su.ny-sl.ny*su.nx,o7=sl.nx*su.nx- -(sl.ny*su.ny),1e-6>Math.abs(sn=Math.asin(Math.max(-1,Math.min(1,o8))))){o9=t.x,o6=t.y,si=so=0;return}se=1,st=!1,o7<0?sn<0?sn=Math.PI+sn:(sn=Math.PI-sn,se=-1,st=!0):sn>0&&(se=-1,st=!0),so=void 0!==t.radius?t.radius:r,sr=sn/2,ss=Math.min(sl.len/2,su.len/2),si=i?(sa=Math.abs(Math.cos(sr)*so/Math.sin(sr)))>ss?Math.abs((sa=ss)*Math.sin(sr)/Math.cos(sr)):so:Math.abs((sa=Math.min(ss,so))*Math.sin(sr)/Math.cos(sr)),f=t.x+su.nx*sa,g=t.y+su.ny*sa,o9=f-su.ny*si*se,o6=g+su.nx*si*se,d=t.x+sl.nx*sa,p=t.y+sl.ny*sa,v=t};function sp(e,t){0===t.radius?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}function sf(e,t,n,r){var i=!(arguments.length>4)||void 0===arguments[4]||arguments[4];return 0===r||0===t.radius?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(sd(e,t,n,r,i),{cx:o9,cy:o6,radius:si,startX:d,startY:p,stopX:f,stopY:g,startAngle:sl.ang+Math.PI/2*se,endAngle:su.ang-Math.PI/2*se,counterClockwise:st})}var sg={};function sv(e){var t=[];if(null!=e){for(var n=0;n0?Math.max(e-t,0):Math.min(e+t,0)},D=S(k,g?(h+p)/2:0),T=S(C,g?(d+f)/2:0),P=!1;"auto"===y?v=Math.abs(D)>Math.abs(T)?a:i:y===u||y===l?(v=i,P=!0):(y===o||y===s)&&(v=a,P=!0);var _=v===i,M=_?T:D,B=_?C:k,A=tS(B),N=!1;!(P&&(x||w<0))&&(y===l&&B<0||y===u&&B>0||y===o&&B>0||y===s&&B<0)&&(A*=-1,M=A*Math.abs(M),N=!0);var I=function(e){return Math.abs(e)=Math.abs(M)},O=I(n=x?(w<0?1+w:w)*M:(w<0?M:0)+w*A),L=I(Math.abs(M)-Math.abs(n));if((O||L)&&!N){if(_){var R=Math.abs(k)<=p/2;if(Math.abs(B)<=d/2){var z=(c.x1+c.x2)/2,V=c.y1,F=c.y2;r.segpts=[z,V,z,F]}else if(R){var j=(c.y1+c.y2)/2,q=c.x1,X=c.x2;r.segpts=[q,j,X,j]}else r.segpts=[c.x1,c.y2]}else{var Y=Math.abs(C)<=f/2;if(Math.abs(B)<=h/2){var W=(c.y1+c.y2)/2,H=c.x1,G=c.x2;r.segpts=[H,W,G,W]}else if(Y){var U=(c.x1+c.x2)/2,K=c.y1,Z=c.y2;r.segpts=[U,K,U,Z]}else r.segpts=[c.x2,c.y1]}}else if(_){var $=c.y1+n+(g?d/2*A:0),Q=c.x1,J=c.x2;r.segpts=[Q,$,J,$]}else{var ee=c.x1+n+(g?h/2*A:0),et=c.y1,en=c.y2;r.segpts=[ee,et,ee,en]}if(r.isRound){var er=e.pstyle("taxi-radius").value,ei="arc-radius"===e.pstyle("radius-type").value[0];r.radii=Array(r.segpts.length/2).fill(er),r.isArcRadius=Array(r.segpts.length/2).fill(ei)}},sg.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,l=t.tgtH,u=t.srcShape,c=t.tgtShape,h=t.srcCornerRadius,d=t.tgtCornerRadius,p=t.srcRs,f=t.tgtRs,g=!M(n.startX)||!M(n.startY),v=!M(n.arrowStartX)||!M(n.arrowStartY),y=!M(n.endX)||!M(n.endY),b=!M(n.arrowEndX)||!M(n.arrowEndY),x=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),w=tD({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),E=wd.poolIndex()){var p=h;h=d,d=p}var f=s.srcPos=h.position(),g=s.tgtPos=d.position(),v=s.srcW=h.outerWidth(),y=s.srcH=h.outerHeight(),b=s.tgtW=d.outerWidth(),x=s.tgtH=d.outerHeight(),w=s.srcShape=n.nodeShapes[t.getNodeShape(h)],E=s.tgtShape=n.nodeShapes[t.getNodeShape(d)],k=s.srcCornerRadius="auto"===h.pstyle("corner-radius").value?"auto":h.pstyle("corner-radius").pfValue,C=s.tgtCornerRadius="auto"===d.pstyle("corner-radius").value?"auto":d.pstyle("corner-radius").pfValue,S=s.tgtRs=d._private.rscratch,D=s.srcRs=h._private.rscratch;s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var T=0;T0){var W=tT(l,tm(t)),H=tT(l,tm(Y)),G=W;H2&&tT(l,{x:Y[2],y:Y[3]})0){var eo=tT(u,tm(t)),es=tT(u,tm(ea)),el=eo;es2&&tT(u,{x:ea[2],y:ea[3]})=l||b){c={cp:g,segment:y};break}}if(c)break}var x=c.cp,w=c.segment,E=(l-d)/w.length,k=w.t1-w.t0,C=i?w.t0+k*E:w.t1-k*E;C=tA(0,C,1),t=tM(x.p0,x.p1,x.p2,C),u=sE(x.p0,x.p1,x.p2,C);break;case"straight":case"segments":case"haystack":for(var S,D,T,P,_=0,M=r.allpts.length,B=0;B+3=l));B+=2);var A=(l-P)/T;t=tB(S,D,A=tA(0,A,1)),u=sw(S,D)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,u)}};l("source"),l("target"),this.applyLabelDimensions(e)}},sb.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},sb.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=e7(n.rscratch,"labelWrapCachedLines",t)||[],l="wrap"!==o?1:Math.max(s.length,1),u=i.height/l,c=i.width,h=i.height+(l-1)*(a-1)*u;te(n.rstyle,"labelWidth",t,c),te(n.rscratch,"labelWidth",t,c),te(n.rstyle,"labelHeight",t,h),te(n.rscratch,"labelHeight",t,h),te(n.rscratch,"labelLineHeight",t,u*a)},sb.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(te(n.rscratch,e,t,r),r):e7(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var l=o("labelKey");if(null!=l&&o("labelWrapKey")===l)return o("labelWrapCachedText");for(var u=i.split("\n"),c=e.pstyle("text-max-width").pfValue,d="anywhere"===e.pstyle("text-overflow-wrap").value,p=[],f=/[\s\u200b]+|$/g,g=0;gc){var b,x=v.matchAll(f),w="",E=0,k=h(x);try{for(k.s();!(b=k.n()).done;){var C=b.value,S=C[0],D=v.substring(E,C.index);E=C.index+S.length;var T=0===w.length?D:w+D+S;this.calculateLabelDimensions(e,T).width<=c?w+=D+S:(w&&p.push(w),w=D+S)}}catch(e){k.e(e)}finally{k.f()}w.match(/^[\s\u200b]+$/)||p.push(w)}else p.push(v)}o("labelWrapCachedLines",p),i=o("labelWrapCachedText",p.join("\n")),o("labelWrapKey",l)}else if("ellipsis"===s){var P=e.pstyle("text-max-width").pfValue,_="",M=!1;if(this.calculateLabelDimensions(e,i).widthP);B++)_+=i[B],B===i.length-1&&(M=!0);return M||(_+="\u2026"),_}return i},sb.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},sb.calculateLabelDimensions=function(e,t){var n=this.cy.window().document,r=ej(t,e._private.labelDimsKey),i=this.labelDimCache||(this.labelDimCache=[]),a=i[r];if(null!=a)return a;var o=e.pstyle("font-style").strValue,s=e.pstyle("font-size").pfValue,l=e.pstyle("font-family").strValue,u=e.pstyle("font-weight").strValue,c=this.labelCalcCanvas,h=this.labelCalcCanvasContext;if(!c){c=this.labelCalcCanvas=n.createElement("canvas"),h=this.labelCalcCanvasContext=c.getContext("2d");var d=c.style;d.position="absolute",d.left="-9999px",d.top="-9999px",d.zIndex="-1",d.visibility="hidden",d.pointerEvents="none"}h.font="".concat(o," ").concat(u," ").concat(s,"px ").concat(l);for(var p=0,f=0,g=t.split("\n"),v=0;ve.width()||28>e.height()))return sC||(e0("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),sC=!0),"rectangle";if(e.isParent())return"rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t?t:"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t};var sS={};sS.registerCalculationListeners=function(){var e=this.cy,t=e.collection(),n=this,r=function(e){var n=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(t.merge(e),n)for(var r=0;r=C.desktopTapThreshold2}var v=P(e);w&&(C.hoverData.tapholdCancelled=!0),t=!0,T(u,["mousemove","vmousemove","tapdrag"],e,{x:a[0],y:a[1]});var y=function(){C.data.bgActivePosistion=void 0,C.hoverData.selecting||n.emit({originalEvent:e,type:"boxstart",position:{x:a[0],y:a[1]}}),l[4]=1,C.hoverData.selecting=!0,C.redrawHint("select",!0),C.redraw()};if(3===C.hoverData.which){if(w){var b={originalEvent:e,type:"cxtdrag",position:{x:a[0],y:a[1]}};h?h.emit(b):n.emit(b),C.hoverData.cxtDragged=!0,(!C.hoverData.cxtOver||u!==C.hoverData.cxtOver)&&(C.hoverData.cxtOver&&C.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:a[0],y:a[1]}}),C.hoverData.cxtOver=u,u&&u.emit({originalEvent:e,type:"cxtdragover",position:{x:a[0],y:a[1]}}))}}else if(C.hoverData.dragging){if(t=!0,n.panningEnabled()&&n.userPanningEnabled()){if(C.hoverData.justStartedPan){var x=C.hoverData.mdownPos;E={x:(a[0]-x[0])*r,y:(a[1]-x[1])*r},C.hoverData.justStartedPan=!1}else E={x:d[0]*r,y:d[1]*r};n.panBy(E),n.emit("dragpan"),C.hoverData.dragged=!0}a=C.projectIntoViewport(e.clientX,e.clientY)}else if(1==l[4]&&(null==h||h.pannable()))w&&(!C.hoverData.dragging&&n.boxSelectionEnabled()&&(v||!n.panningEnabled()||!n.userPanningEnabled())?y():!C.hoverData.selecting&&n.panningEnabled()&&n.userPanningEnabled()&&_(h,C.hoverData.downs)&&(C.hoverData.dragging=!0,C.hoverData.justStartedPan=!0,l[4]=0,C.data.bgActivePosistion=tm(o),C.redrawHint("select",!0),C.redraw()),h&&h.pannable()&&h.active()&&h.unactivate());else{if(h&&h.pannable()&&h.active()&&h.unactivate(),h&&h.grabbed()||u==c||(c&&T(c,["mouseout","tapdragout"],e,{x:a[0],y:a[1]}),u&&T(u,["mouseover","tapdragover"],e,{x:a[0],y:a[1]}),C.hoverData.last=u),h){if(w){if(n.boxSelectionEnabled()&&v)h&&h.grabbed()&&(F(p),h.emit("freeon"),p.emit("free"),C.dragData.didDrag&&(h.emit("dragfreeon"),p.emit("dragfree"))),y();else if(h&&h.grabbed()&&C.nodeIsDraggable(h)){var w,E,k,S=!C.dragData.didDrag;S&&C.redrawHint("eles",!0),C.dragData.didDrag=!0,C.hoverData.draggingEles||V(p,{inDragLayer:!0});var D={x:0,y:0};if(M(d[0])&&M(d[1])&&(D.x+=d[0],D.y+=d[1],S)){var B=C.hoverData.dragDelta;B&&M(B[0])&&M(B[1])&&(D.x+=B[0],D.y+=B[1])}C.hoverData.draggingEles=!0,p.silentShift(D).emit("position drag"),C.redrawHint("drag",!0),C.redraw()}}else 0===(k=C.hoverData.dragDelta=C.hoverData.dragDelta||[]).length?(k.push(d[0]),k.push(d[1])):(k[0]+=d[0],k[1]+=d[1])}t=!0}if(l[2]=a[0],l[3]=a[1],t)return e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1}},!1),C.registerBinding(S,"mouseup",function(r){if((1!==C.hoverData.which||1===r.which||!C.hoverData.capture)&&C.hoverData.capture){C.hoverData.capture=!1;var i=C.cy,a=C.projectIntoViewport(r.clientX,r.clientY),o=C.selection,s=C.findNearestElement(a[0],a[1],!0,!1),l=C.dragData.possibleDragElements,u=C.hoverData.down,c=P(r);if(C.data.bgActivePosistion&&(C.redrawHint("select",!0),C.redraw()),C.hoverData.tapholdCancelled=!0,C.data.bgActivePosistion=void 0,u&&u.unactivate(),3===C.hoverData.which){var h={originalEvent:r,type:"cxttapend",position:{x:a[0],y:a[1]}};if(u?u.emit(h):i.emit(h),!C.hoverData.cxtDragged){var d={originalEvent:r,type:"cxttap",position:{x:a[0],y:a[1]}};u?u.emit(d):i.emit(d)}C.hoverData.cxtDragged=!1,C.hoverData.which=null}else if(1===C.hoverData.which){if(T(s,["mouseup","tapend","vmouseup"],r,{x:a[0],y:a[1]}),C.dragData.didDrag||C.hoverData.dragged||C.hoverData.selecting||C.hoverData.isOverThresholdDrag||(T(u,["click","tap","vclick"],r,{x:a[0],y:a[1]}),t=!1,r.timeStamp-n<=i.multiClickDebounceTime()?(e&&clearTimeout(e),t=!0,n=null,T(u,["dblclick","dbltap","vdblclick"],r,{x:a[0],y:a[1]})):(e=setTimeout(function(){t||T(u,["oneclick","onetap","voneclick"],r,{x:a[0],y:a[1]})},i.multiClickDebounceTime()),n=r.timeStamp)),null!=u||C.dragData.didDrag||C.hoverData.selecting||C.hoverData.dragged||P(r)||(i.$(D).unselect(["tapunselect"]),l.length>0&&C.redrawHint("eles",!0),C.dragData.possibleDragElements=l=i.collection()),s!=u||C.dragData.didDrag||C.hoverData.selecting||null==s||!s._private.selectable||(C.hoverData.dragging||("additive"===i.selectionType()||c?s.selected()?s.unselect(["tapunselect"]):s.select(["tapselect"]):c||(i.$(D).unmerge(s).unselect(["tapunselect"]),s.select(["tapselect"]))),C.redrawHint("eles",!0)),C.hoverData.selecting){var p=i.collection(C.getAllInBox(o[0],o[1],o[2],o[3]));C.redrawHint("select",!0),p.length>0&&C.redrawHint("eles",!0),i.emit({type:"boxend",originalEvent:r,position:{x:a[0],y:a[1]}});"additive"!==i.selectionType()&&(c||i.$(D).unmerge(p).unselect()),p.emit("box").stdFilter(function(e){return e.selectable()&&!e.selected()}).select().emit("boxselect"),C.redraw()}if(C.hoverData.dragging&&(C.hoverData.dragging=!1,C.redrawHint("select",!0),C.redrawHint("eles",!0),C.redraw()),!o[4]){C.redrawHint("drag",!0),C.redrawHint("eles",!0);var f=u&&u.grabbed();F(l),f&&(u.emit("freeon"),l.emit("free"),C.dragData.didDrag&&(u.emit("dragfreeon"),l.emit("dragfree")))}}o[4]=0,C.hoverData.down=null,C.hoverData.cxtStarted=!1,C.hoverData.draggingEles=!1,C.hoverData.selecting=!1,C.hoverData.isOverThresholdDrag=!1,C.dragData.didDrag=!1,C.hoverData.dragged=!1,C.hoverData.dragDelta=[],C.hoverData.mdownPos=null,C.hoverData.mdownGPos=null,C.hoverData.which=null}},!1);var U=function(e){if(!C.scrollingPage){var t=C.cy,n=t.zoom(),r=t.pan(),i=C.projectIntoViewport(e.clientX,e.clientY),a=[i[0]*n+r.x,i[1]*n+r.y];if(C.hoverData.draggingEles||C.hoverData.dragging||C.hoverData.cxtStarted||0!==C.selection[4]){e.preventDefault();return}if(t.panningEnabled()&&t.userPanningEnabled()&&t.zoomingEnabled()&&t.userZoomingEnabled()){e.preventDefault(),C.data.wheelZooming=!0,clearTimeout(C.data.wheelTimeout),C.data.wheelTimeout=setTimeout(function(){C.data.wheelZooming=!1,C.redrawHint("eles",!0),C.redraw()},150),o=(null!=e.deltaY?-(e.deltaY/250):null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3)*C.wheelSensitivity,1===e.deltaMode&&(o*=33);var o,s=t.zoom()*Math.pow(10,o);"gesturechange"===e.type&&(s=C.gestureStartZoom*e.scale),t.zoom({level:s,renderedPosition:{x:a[0],y:a[1]}}),t.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};C.registerBinding(C.container,"wheel",U,!0),C.registerBinding(S,"scroll",function(e){C.scrollingPage=!0,clearTimeout(C.scrollingPageTimeout),C.scrollingPageTimeout=setTimeout(function(){C.scrollingPage=!1},250)},!0),C.registerBinding(C.container,"gesturestart",function(e){C.gestureStartZoom=C.cy.zoom(),C.hasTouchStarted||e.preventDefault()},!0),C.registerBinding(C.container,"gesturechange",function(e){C.hasTouchStarted||U(e)},!0),C.registerBinding(C.container,"mouseout",function(e){var t=C.projectIntoViewport(e.clientX,e.clientY);C.cy.emit({originalEvent:e,type:"mouseout",position:{x:t[0],y:t[1]}})},!1),C.registerBinding(C.container,"mouseover",function(e){var t=C.projectIntoViewport(e.clientX,e.clientY);C.cy.emit({originalEvent:e,type:"mouseover",position:{x:t[0],y:t[1]}})},!1);var K=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},Z=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(C.registerBinding(C.container,"touchstart",v=function(e){if(C.hasTouchStarted=!0,G(e)){q(),C.touchData.capture=!0,C.data.bgActivePosistion=void 0;var t=C.cy,n=C.touchData.now,v=C.touchData.earlier;if(e.touches[0]){var y=C.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);n[0]=y[0],n[1]=y[1]}if(e.touches[1]){var y=C.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);n[2]=y[0],n[3]=y[1]}if(e.touches[2]){var y=C.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);n[4]=y[0],n[5]=y[1]}if(e.touches[1]){C.touchData.singleTouchMoved=!0,F(C.dragData.touchDragEles);var b=C.findContainerClientCoords();h=b[0],d=b[1],p=b[2],f=b[3],r=e.touches[0].clientX-h,i=e.touches[0].clientY-d,a=e.touches[1].clientX-h,o=e.touches[1].clientY-d,g=0<=r&&r<=p&&0<=a&&a<=p&&0<=i&&i<=f&&0<=o&&o<=f;var x=t.pan(),w=t.zoom();if(s=K(r,i,a,o),l=Z(r,i,a,o),c=[((u=[(r+a)/2,(i+o)/2])[0]-x.x)/w,(u[1]-x.y)/w],l<4e4&&!e.touches[2]){var E=C.findNearestElement(n[0],n[1],!0,!0),k=C.findNearestElement(n[2],n[3],!0,!0);E&&E.isNode()?(E.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:n[0],y:n[1]}}),C.touchData.start=E):k&&k.isNode()?(k.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:n[0],y:n[1]}}),C.touchData.start=k):t.emit({originalEvent:e,type:"cxttapstart",position:{x:n[0],y:n[1]}}),C.touchData.start&&(C.touchData.start._private.grabbed=!1),C.touchData.cxt=!0,C.touchData.cxtDragged=!1,C.data.bgActivePosistion=void 0,C.redraw();return}}if(e.touches[2])t.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var S=C.findNearestElements(n[0],n[1],!0,!0),D=S[0];if(null!=D&&(D.activate(),C.touchData.start=D,C.touchData.starts=S,C.nodeIsGrabbable(D))){var P=C.dragData.touchDragEles=t.collection(),_=null;C.redrawHint("eles",!0),C.redrawHint("drag",!0),D.selected()?V(_=t.$(function(e){return e.selected()&&C.nodeIsGrabbable(e)}),{addToList:P}):V(D,{addToList:P}),O(D);var M=function(t){return{originalEvent:e,type:t,position:{x:n[0],y:n[1]}}};D.emit(M("grabon")),_?_.forEach(function(e){e.emit(M("grab"))}):D.emit(M("grab"))}T(D,["touchstart","tapstart","vmousedown"],e,{x:n[0],y:n[1]}),null==D&&(C.data.bgActivePosistion={x:y[0],y:y[1]},C.redrawHint("select",!0),C.redraw()),C.touchData.singleTouchMoved=!1,C.touchData.singleTouchStartTime=+new Date,clearTimeout(C.touchData.tapholdTimeout),C.touchData.tapholdTimeout=setTimeout(function(){!1!==C.touchData.singleTouchMoved||C.pinching||C.touchData.selecting||T(C.touchData.start,["taphold"],e,{x:n[0],y:n[1]})},C.tapholdDuration)}if(e.touches.length>=1){for(var B=C.touchData.startPosition=[null,null,null,null,null,null],A=0;A=C.touchTapThreshold2}if(t&&C.touchData.cxt){e.preventDefault();var D=e.touches[0].clientX-h,P=e.touches[0].clientY-d,B=e.touches[1].clientX-h,A=e.touches[1].clientY-d,N=Z(D,P,B,A);if(N/l>=2.25||N>=22500){C.touchData.cxt=!1,C.data.bgActivePosistion=void 0,C.redrawHint("select",!0);var I={originalEvent:e,type:"cxttapend",position:{x:p[0],y:p[1]}};C.touchData.start?(C.touchData.start.unactivate().emit(I),C.touchData.start=null):u.emit(I)}}if(t&&C.touchData.cxt){var I={originalEvent:e,type:"cxtdrag",position:{x:p[0],y:p[1]}};C.data.bgActivePosistion=void 0,C.redrawHint("select",!0),C.touchData.start?C.touchData.start.emit(I):u.emit(I),C.touchData.start&&(C.touchData.start._private.grabbed=!1),C.touchData.cxtDragged=!0;var O=C.findNearestElement(p[0],p[1],!0,!0);(!C.touchData.cxtOver||O!==C.touchData.cxtOver)&&(C.touchData.cxtOver&&C.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:p[0],y:p[1]}}),C.touchData.cxtOver=O,O&&O.emit({originalEvent:e,type:"cxtdragover",position:{x:p[0],y:p[1]}}))}else if(t&&e.touches[2]&&u.boxSelectionEnabled())e.preventDefault(),C.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,C.touchData.selecting||u.emit({originalEvent:e,type:"boxstart",position:{x:p[0],y:p[1]}}),C.touchData.selecting=!0,C.touchData.didSelect=!0,n[4]=1,n&&0!==n.length&&void 0!==n[0]?(n[2]=(p[0]+p[2]+p[4])/3,n[3]=(p[1]+p[3]+p[5])/3):(n[0]=(p[0]+p[2]+p[4])/3,n[1]=(p[1]+p[3]+p[5])/3,n[2]=(p[0]+p[2]+p[4])/3+1,n[3]=(p[1]+p[3]+p[5])/3+1),C.redrawHint("select",!0),C.redraw();else if(t&&e.touches[1]&&!C.touchData.didSelect&&u.zoomingEnabled()&&u.panningEnabled()&&u.userZoomingEnabled()&&u.userPanningEnabled()){e.preventDefault(),C.data.bgActivePosistion=void 0,C.redrawHint("select",!0);var L=C.dragData.touchDragEles;if(L){C.redrawHint("drag",!0);for(var R=0;R0&&!C.hoverData.draggingEles&&!C.swipePanning&&null!=C.data.bgActivePosistion&&(C.data.bgActivePosistion=void 0,C.redrawHint("select",!0),C.redraw())}},!1),C.registerBinding(S,"touchcancel",b=function(e){var t=C.touchData.start;C.touchData.capture=!1,t&&t.unactivate()}),C.registerBinding(S,"touchend",x=function(e){var t,n=C.touchData.start;if(C.touchData.capture){0===e.touches.length&&(C.touchData.capture=!1),e.preventDefault();var r=C.selection;C.swipePanning=!1,C.hoverData.draggingEles=!1;var i=C.cy,a=i.zoom(),o=C.touchData.now,s=C.touchData.earlier;if(e.touches[0]){var l=C.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);o[0]=l[0],o[1]=l[1]}if(e.touches[1]){var l=C.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);o[2]=l[0],o[3]=l[1]}if(e.touches[2]){var l=C.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);o[4]=l[0],o[5]=l[1]}if(n&&n.unactivate(),C.touchData.cxt){if(t={originalEvent:e,type:"cxttapend",position:{x:o[0],y:o[1]}},n?n.emit(t):i.emit(t),!C.touchData.cxtDragged){var u={originalEvent:e,type:"cxttap",position:{x:o[0],y:o[1]}};n?n.emit(u):i.emit(u)}C.touchData.start&&(C.touchData.start._private.grabbed=!1),C.touchData.cxt=!1,C.touchData.start=null,C.redraw();return}if(!e.touches[2]&&i.boxSelectionEnabled()&&C.touchData.selecting){C.touchData.selecting=!1;var c=i.collection(C.getAllInBox(r[0],r[1],r[2],r[3]));r[0]=void 0,r[1]=void 0,r[2]=void 0,r[3]=void 0,r[4]=0,C.redrawHint("select",!0),i.emit({type:"boxend",originalEvent:e,position:{x:o[0],y:o[1]}}),c.emit("box").stdFilter(function(e){return e.selectable()&&!e.selected()}).select().emit("boxselect"),c.nonempty()&&C.redrawHint("eles",!0),C.redraw()}if(null!=n&&n.unactivate(),e.touches[2])C.data.bgActivePosistion=void 0,C.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){C.data.bgActivePosistion=void 0,C.redrawHint("select",!0);var h=C.dragData.touchDragEles;if(null!=n){var d=n._private.grabbed;F(h),C.redrawHint("drag",!0),C.redrawHint("eles",!0),d&&(n.emit("freeon"),h.emit("free"),C.dragData.didDrag&&(n.emit("dragfreeon"),h.emit("dragfree"))),T(n,["touchend","tapend","vmouseup","tapdragout"],e,{x:o[0],y:o[1]}),n.unactivate(),C.touchData.start=null}else T(C.findNearestElement(o[0],o[1],!0,!0),["touchend","tapend","vmouseup","tapdragout"],e,{x:o[0],y:o[1]});var p=C.touchData.startPosition[0]-o[0],f=C.touchData.startPosition[1]-o[1];C.touchData.singleTouchMoved||(n||i.$(":selected").unselect(["tapunselect"]),T(n,["tap","vclick"],e,{x:o[0],y:o[1]}),w=!1,e.timeStamp-k<=i.multiClickDebounceTime()?(E&&clearTimeout(E),w=!0,k=null,T(n,["dbltap","vdblclick"],e,{x:o[0],y:o[1]})):(E=setTimeout(function(){w||T(n,["onetap","voneclick"],e,{x:o[0],y:o[1]})},i.multiClickDebounceTime()),k=e.timeStamp)),null!=n&&!C.dragData.didDrag&&n._private.selectable&&(p*p+f*f)*a*a0)return p[0]}return null}(e,t,f);if(null!=g){var v=t_(f[5],f[3],f[1],g);if(f.isTop&&v<=t||f.isBottom&&t<=v)return!0}}return!1}}},sM.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:t7(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,this.points,a)},intersectLine:function(e,t,n,r,i,a,o,s){var l=e-(n/2+o),u=t-(r/2+o),c=e+(n/2+o),h=t4(i,a,e,t,l,u,c,u,!1);return h.length>0?h:tX(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var l=2*(s="auto"===s?nn(r,i):s);if(t$(e,t,this.points,a,o,r,i-l,[0,-1],n)||t$(e,t,this.points,a,o,r-l,i,[0,-1],n))return!0;var u=r/2+2*n,c=i/2+2*n;return!!(tZ(e,t,[a-u,o-c,a-u,o,a+u,o,a+u,o-c])||t2(e,t,l,l,a+r/2-s,o+i/2-s,n)||t2(e,t,l,l,a-r/2+s,o+i/2-s,n))}}},sM.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",t7(3,0)),this.generateRoundPolygon("round-triangle",t7(3,0)),this.generatePolygon("rectangle",t7(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",t7(5,0)),this.generateRoundPolygon("round-pentagon",t7(5,0)),this.generatePolygon("hexagon",t7(6,0)),this.generateRoundPolygon("round-hexagon",t7(6,0)),this.generatePolygon("heptagon",t7(7,0)),this.generateRoundPolygon("round-heptagon",t7(7,0)),this.generatePolygon("octagon",t7(8,0)),this.generateRoundPolygon("round-octagon",t7(8,0));var r=Array(20),i=nt(5,0),a=nt(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;st.className.indexOf(o)&&(t.className=(t.className||"")+" "+o),!s){var l=r.createElement("style");l.id=a,l.textContent="."+o+" { position: relative; }",i.insertBefore(l,i.children[0])}"static"===n.getComputedStyle(t).getPropertyValue("position")&&e0("A Cytoscape container has style position:static and so can not use UI extensions properly")}this.selection=[void 0,void 0,void 0,void 0,0],this.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],this.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},this.dragData={possibleDragElements:[]},this.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},this.redraws=0,this.showFps=e.showFps,this.debug=e.debug,this.hideEdgesOnViewport=e.hideEdgesOnViewport,this.textureOnViewport=e.textureOnViewport,this.wheelSensitivity=e.wheelSensitivity,this.motionBlurEnabled=e.motionBlur,this.forcedPixelRatio=M(e.pixelRatio)?e.pixelRatio:null,this.motionBlur=e.motionBlur,this.motionBlurOpacity=e.motionBlurOpacity,this.motionBlurTransparency=1-this.motionBlurOpacity,this.motionBlurPxRatio=1,this.mbPxRBlurry=1,this.minMbLowQualFrames=4,this.fullQualityMb=!1,this.clearedForMotionBlur=[],this.desktopTapThreshold=e.desktopTapThreshold,this.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,this.touchTapThreshold=e.touchTapThreshold,this.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,this.tapholdDuration=500,this.bindings=[],this.beforeRenderCallbacks=[],this.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},this.registerNodeShapes(),this.registerArrowShapes(),this.registerCalculationListeners()},sI.notify=function(e,t){var n=this.cy;if(!this.destroyed){if("init"===e){this.load();return}if("destroy"===e){this.destroy();return}("add"===e||"remove"===e||"move"===e&&n.hasCompoundNodes()||"load"===e||"zorder"===e||"mount"===e)&&this.invalidateCachedZSortedEles(),"viewport"===e&&this.redrawHint("select",!0),("load"===e||"resize"===e||"mount"===e)&&(this.invalidateContainerClientCoordsCache(),this.matchCanvasSize(this.container)),this.redrawHint("eles",!0),this.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},sI.destroy=function(){this.destroyed=!0,this.cy.stopAnimationLoop();for(var e=0;e=e.deqFastCost*g)break}else if(i){if(p>=e.deqCost*l||p>=e.deqAvgCost*s)break}else if(f>=e.deqNoDrawCost*sO)break;var v=e.deq(t,h,c);if(v.length>0)for(var y=0;y0&&(e.onDeqd(t,u),!i&&e.shouldRedraw(t,u,h,c)&&r())},i(t))}}},sR=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:eK;i(this,e),this.idsByKey=new tn,this.keyForId=new tn,this.cachesByLvl=new tn,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return o(e,[{key:"getIdsFor",value:function(e){null==e&&eQ("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new ti,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new tn,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach(function(n){return t.deleteCache(e,n)})}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),sz={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},sV=e4({getKey:null,doesEleInvalidateKey:eK,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:eU,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),sF=function(e,t){this.renderer=e,this.onDequeues=[];var n=sV(t);Z(this,n),this.lookup=new sR(n.getKey,n.doesEleInvalidateKey),this.setupDequeueing()},sj=sF.prototype;sj.reasons=sz,sj.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},sj.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},sj.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new tl(function(e,t){return t.reqs-e.reqs})},sj.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},sj.getElement=function(e,t,n,r,i){var a,o,s,l=this,u=this.renderer,c=u.cy.zoom(),h=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed()||!l.allowEdgeTxrCaching&&e.isEdge()||!l.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(tC(c*n))),r<-4)r=-4;else if(c>=7.99||r>3)return null;var d=Math.pow(2,r),p=t.h*d,f=t.w*d,g=u.eleTextBiggerThanMin(e,d);if(!this.isVisible(e,g))return null;var v=h.get(e,r);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;if(a=p<=25?25:p<=50?50:50*Math.ceil(p/50),p>1024||f>1024)return null;var y=l.getTextureQueue(a),b=y[y.length-2],x=function(){return l.recycleTexture(a,f)||l.addTexture(a,f)};b||(b=y[y.length-1]),b||(b=x()),b.width-b.usedWidthr;_--)T=l.getElement(e,t,n,_,sz.downscale);P()}else{if(!E&&!k&&!C)for(var M=r-1;M>=-4;M--){var B=h.get(e,M);if(B){s=B;break}}if(w(s))return l.queueElement(e,r),s;b.context.translate(b.usedWidth,0),b.context.scale(d,d),this.drawElement(b.context,e,t,g,!1),b.context.scale(1/d,1/d),b.context.translate(-b.usedWidth,0)}return v={x:b.usedWidth,texture:b,level:r,scale:d,width:f,height:p,scaledLabelShown:g},b.usedWidth+=Math.ceil(f+8),b.eleCaches.push(v),h.set(e,r,v),l.checkTextureFullness(b),v},sj.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},sj.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?e9(t,e):e.fullnessChecks++},sj.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;e9(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,e6(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),e9(r,a),n.push(a),a}},sj.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},sj.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=[],i=this.lookup,a=0;a<1;a++)if(t.size()>0){var o=t.pop(),s=o.key,l=o.eles[0],u=i.hasCache(l,o.level);if(n[s]=null,u)continue;r.push(o);var c=this.getBoundingBox(l);this.getElement(l,c,e,o.level,sz.dequeue)}else break;return r},sj.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=eG,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},sj.onDequeue=function(e){this.onDequeues.push(e)},sj.offDequeue=function(e){e9(this.onDequeues,e)},sj.setupDequeueing=sL({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null}a.validateLayersElesOrdering(n,e);var l=a.layersByLevel,u=Math.pow(2,n),c=l[n]=l[n]||[];if(a.levelIsComplete(n,e))return c;!function(){var t=function(t){if(a.validateLayersElesOrdering(t,e),a.levelIsComplete(t,e))return i=l[t],!0},r=function(e){if(!i)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};r(1),r(-1);for(var o=c.length-1;o>=0;o--){var s=c[o];s.invalid&&e9(c,s)}}();var h=function(){if(!r){r=tN();for(var t=0;t=p||!tq(d.bb,v.boundingBox()))&&!(d=function(e){var t=(e=e||{}).after;if(h(),r.w*u*(r.h*u)>16e6)return null;var i=a.makeLayer(r,n);if(null!=t){var o=c.indexOf(t)+1;c.splice(o,0,i)}else(void 0===e.insert||e.insert)&&c.unshift(i);return i}({insert:!0,after:d})))return null;i||f?a.queueLayer(d,v):a.drawEleInLayer(d,v,n,t),d.eles.push(v),b[n]=d}return i||(f?null:c)},sX.getEleLevelForLayerLevel=function(e,t){return e},sX.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},sX.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0||a.invalid)return!1;r+=a.eles.length}return r===t.length},sX.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},sX.invalidateElements=function(e){var t=this;if(0!==e.length)t.lastInvalidationTime=eA(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,function(e,n,r){t.invalidateLayer(e)})},sX.invalidateLayer=function(e){if(this.lastInvalidationTime=eA(),!e.invalid){var t=e.level,n=e.eles;e9(this.layersByLevel[t],e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var r=0;r3)||void 0===arguments[3]||arguments[3],a=!(arguments.length>4)||void 0===arguments[4]||arguments[4],o=!(arguments.length>5)||void 0===arguments[5]||arguments[5],s=this,l=t._private.rscratch;if(!(o&&!t.visible()||l.badLine||null==l.allpts||isNaN(l.allpts[0]))){n&&(r=n,e.translate(-r.x1,-r.y1));var u=o?t.pstyle("opacity").value:1,c=o?t.pstyle("line-opacity").value:1,h=t.pstyle("curve-style").value,d=t.pstyle("line-style").value,p=t.pstyle("width").pfValue,f=t.pstyle("line-cap").value,g=t.pstyle("line-outline-width").value,v=t.pstyle("line-outline-color").value,y=u*c,b=u*c,x=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;"straight-triangle"===h?(s.eleStrokeStyle(e,t,n),s.drawEdgeTrianglePath(t,e,l.allpts)):(e.lineWidth=p,e.lineCap=f,s.eleStrokeStyle(e,t,n),s.drawEdgePath(t,e,l.allpts,d),e.lineCap="butt")},w=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b;s.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var E=t.pstyle("ghost-offset-x").pfValue,k=t.pstyle("ghost-offset-y").pfValue,C=y*t.pstyle("ghost-opacity").value;e.translate(E,k),x(C),w(C),e.translate(-E,-k)}else!function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;if(e.lineWidth=p+g,e.lineCap=f,g>0)s.colorStrokeStyle(e,v[0],v[1],v[2],n);else{e.lineCap="butt";return}"straight-triangle"===h?s.drawEdgeTrianglePath(t,e,l.allpts):(s.drawEdgePath(t,e,l.allpts,d),e.lineCap="butt")}();a&&s.drawEdgeUnderlay(e,t),x(),w(),a&&s.drawEdgeOverlay(e,t),s.drawElementText(e,t,null,i),n&&e.translate(r.x1,r.y1)}};var s4=function(e){if(!["overlay","underlay"].includes(e))throw Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this.usePaths(),a=n._private.rscratch,o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-color")).value;t.lineWidth=2*o,"self"!==a.edgeType||i?t.lineCap="round":t.lineCap="butt",this.colorStrokeStyle(t,s[0],s[1],s[2],r),this.drawEdgePath(n,t,a.allpts,"solid")}}}};s3.drawEdgeOverlay=s4("overlay"),s3.drawEdgeUnderlay=s4("underlay"),s3.drawEdgePath=function(e,t,n,r){var i=e._private.rscratch,a=t,o=!1,s=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,u=e.pstyle("line-dash-offset").pfValue;if(s){var c=n.join("$");i.pathCacheKey&&i.pathCacheKey===c?(f=t=i.pathCache,o=!0):(f=t=new Path2D,i.pathCacheKey=c,i.pathCache=f)}if(a.setLineDash)switch(r){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(l),a.lineDashOffset=u;break;case"solid":a.setLineDash([])}if(!o&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var d=2;d+35&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),o?e.stroke():e.fill()}s6.eleTextBiggerThanMin=function(e,t){return t||(t=Math.pow(2,Math.ceil(tC(e.cy().zoom()*this.getPixelRatio())))),!(e.pstyle("font-size").pfValue*t5)||void 0===arguments[5]||arguments[5];if(null==r){if(o&&!this.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var l=this.getLabelJustification(t);e.textAlign=l,e.textBaseline="bottom"}else{var u=t.element()._private.rscratch.badLine,c=t.pstyle("label"),h=t.pstyle("source-label"),d=t.pstyle("target-label");if(u||(!c||!c.value)&&(!h||!h.value)&&(!d||!d.value))return;e.textAlign="center",e.textBaseline="bottom"}var p=!n;n&&(a=n,e.translate(-a.x1,-a.y1)),null==i?(this.drawText(e,t,null,p,o),t.isEdge()&&(this.drawText(e,t,"source",p,o),this.drawText(e,t,"target",p,o))):this.drawText(e,t,i,p,o),n&&e.translate(a.x1,a.y1)},s6.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2)||void 0===arguments[2]||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,l=t.pstyle("text-outline-opacity").value*s,u=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,u[0],u[1],u[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],l)},s6.getTextAngle=function(e,t){var n,r=e._private.rscratch,i=t?t+"-":"",a=e.pstyle(i+"text-rotation"),o=e7(r,"labelAngle",t);return"autorotate"===a.strValue?e.isEdge()?o:0:"none"===a.strValue?0:a.pfValue},s6.drawText=function(e,t,n){var r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s=e7(a,"labelX",n),l=e7(a,"labelY",n),u=this.getLabelText(t,n);if(null!=u&&""!==u&&!isNaN(s)&&!isNaN(l)){this.setupTextStyle(e,t,i);var c,h,d,p=n?n+"-":"",f=e7(a,"labelWidth",n),g=e7(a,"labelHeight",n),v=t.pstyle(p+"text-margin-x").pfValue,y=t.pstyle(p+"text-margin-y").pfValue,b=t.isEdge(),x=t.pstyle("text-halign").value,w=t.pstyle("text-valign").value;switch(b&&(x="center",w="center"),s+=v,l+=y,0!==(d=r?this.getTextAngle(t,n):0)&&(c=s,h=l,e.translate(c,h),e.rotate(d),s=0,l=0),w){case"top":break;case"center":l+=g/2;break;case"bottom":l+=g}var E=t.pstyle("text-background-opacity").value,k=t.pstyle("text-border-opacity").value,C=t.pstyle("text-border-width").pfValue,S=t.pstyle("text-background-padding").pfValue,D=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(E>0||C>0&&k>0){var T=s-S;switch(x){case"left":T-=f;break;case"center":T-=f/2}var P=l-g-S,_=f+2*S,M=g+2*S;if(E>0){var B=e.fillStyle,A=t.pstyle("text-background-color").value;e.fillStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+E*o+")",D?s8(e,T,P,_,M,2):e.fillRect(T,P,_,M),e.fillStyle=B}if(C>0&&k>0){var N=e.strokeStyle,I=e.lineWidth,O=t.pstyle("text-border-color").value,L=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+O[0]+","+O[1]+","+O[2]+","+k*o+")",e.lineWidth=C,e.setLineDash)switch(L){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=C/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(D?s8(e,T,P,_,M,2,"stroke"):e.strokeRect(T,P,_,M),"double"===L){var R=C/2;D?s8(e,T+R,P+R,_-2*R,M-2*R,2,"stroke"):e.strokeRect(T+R,P+R,_-2*R,M-2*R)}e.setLineDash&&e.setLineDash([]),e.lineWidth=I,e.strokeStyle=N}}var z=2*t.pstyle("text-outline-width").pfValue;if(z>0&&(e.lineWidth=z),"wrap"===t.pstyle("text-wrap").value){var V=e7(a,"labelWrapCachedLines",n),F=e7(a,"labelLineHeight",n),j=f/2,q=this.getLabelJustification(t);switch("auto"===q||("left"===x?"left"===q?s+=-f:"center"===q&&(s+=-j):"center"===x?"left"===q?s+=-j:"right"===q&&(s+=j):"right"===x&&("center"===q?s+=j:"right"===q&&(s+=f))),w){case"top":case"center":case"bottom":l-=(V.length-1)*F}for(var X=0;X0&&e.strokeText(V[X],s,l),e.fillText(V[X],s,l),l+=F}else z>0&&e.strokeText(u,s,l),e.fillText(u,s,l);0!==d&&(e.rotate(-d),e.translate(-c,-h))}}};var s7={};s7.drawNode=function(e,t,n){var r,i,a,o,s=!(arguments.length>3)||void 0===arguments[3]||arguments[3],l=!(arguments.length>4)||void 0===arguments[4]||arguments[4],u=!(arguments.length>5)||void 0===arguments[5]||arguments[5],c=this,h=t._private,d=h.rscratch,p=t.position();if(M(p.x)&&M(p.y)&&(!u||t.visible())){var f=u?t.effectiveOpacity():1,g=c.usePaths(),v=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(o=n,e.translate(-o.x1,-o.y1));for(var b=t.pstyle("background-image").value,x=Array(b.length),w=Array(b.length),E=0,k=0;k0&&void 0!==arguments[0]?arguments[0]:P;c.eleFillStyle(e,t,n)},W=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:R;c.colorStrokeStyle(e,_[0],_[1],_[2],t)},H=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j;c.colorStrokeStyle(e,V[0],V[1],V[2],t)},G=function(e,t,n,r){var i,a=c.nodePathCache=c.nodePathCache||[],o=eq("polygon"===n?n+","+r.join(","):n,""+t,""+e,""+X),s=a[o],l=!1;return null!=s?(i=s,l=!0,d.pathCache=i):(i=new Path2D,a[o]=d.pathCache=i),{path:i,cacheHit:l}},U=t.pstyle("shape").strValue,K=t.pstyle("shape-polygon-points").pfValue;if(g){e.translate(p.x,p.y);var Z=G(r,i,U,K);a=Z.path,v=Z.cacheHit}var $=function(){if(!v){var n=p;g&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(t)].draw(a||e,n.x,n.y,r,i,X,d)}g?e.fill(a):e.fill()},Q=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=h.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f;c.hasPie(t)&&(c.drawPie(e,t,a),n&&!g&&c.nodeShapes[c.getNodeShape(t)].draw(e,p.x,p.y,r,i,X,d))},ee=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,n=D>0?0:255;0!==D&&(c.colorFillStyle(e,n,n,n,(D>0?D:-D)*t),g?e.fill(a):e.fill())},et=function(){if(T>0){if(e.lineWidth=T,e.lineCap=N,e.lineJoin=A,e.setLineDash)switch(B){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash(O),e.lineDashOffset=L;break;case"solid":case"double":e.setLineDash([])}if("center"!==I){if(e.save(),e.lineWidth*=2,"inside"===I)g?e.clip(a):e.clip();else{var t=new Path2D;t.rect(-r/2-T,-i/2-T,r+2*T,i+2*T),t.addPath(a),e.clip(t,"evenodd")}g?e.stroke(a):e.stroke(),e.restore()}else g?e.stroke(a):e.stroke();if("double"===B){e.lineWidth=T/3;var n=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",g?e.stroke(a):e.stroke(),e.globalCompositeOperation=n}e.setLineDash&&e.setLineDash([])}},en=function(){if(z>0){if(e.lineWidth=z,e.lineCap="butt",e.setLineDash)switch(F){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=p;g&&(n={x:0,y:0});var a=c.getNodeShape(t),o=T;"inside"===I&&(o=0),"outside"===I&&(o*=2);var s=(r+o+(z+q))/r,l=(i+o+(z+q))/i,u=r*s,h=i*l,d=c.nodeShapes[a].points;if(g&&(S=G(u,h,a,d).path),"ellipse"===a)c.drawEllipsePath(S||e,n.x,n.y,u,h);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var f=0,v=0,y=0;"round-diamond"===a?f=(o+q+z)*1.4:"round-heptagon"===a?(f=(o+q+z)*1.075,y=-(o/2+q+z)/35):"round-hexagon"===a?f=(o+q+z)*1.12:"round-pentagon"===a?(f=(o+q+z)*1.13,y=-(o/2+q+z)/15):"round-tag"===a?(f=(o+q+z)*1.12,v=(o/2+z+q)*.07):"round-triangle"===a&&(f=Math.PI/2*(o+q+z),y=-(o+q/2+z)/Math.PI),0===f||(s=(r+f)/r,u=r*s,["round-hexagon","round-tag"].includes(a)||(l=(i+f)/i,h=i*l)),X="auto"===X?nr(u,h):X;for(var b=u/2,x=h/2,w=X+(o+z+q)/2,E=Array(d.length/2),k=Array(d.length/2),C=0;C0){if(r=r||n.position(),null==i||null==a){var h=n.padding();i=n.width()+2*h,a=n.height()+2*h}this.colorFillStyle(t,l[0],l[1],l[2],s),this.nodeShapes[u].draw(t,r.x,r.y,i+2*o,a+2*o,c),t.fill()}}}};s7.drawNodeOverlay=le("overlay"),s7.drawNodeUnderlay=le("underlay"),s7.hasPie=function(e){return(e=e[0])._private.hasPie},s7.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,l=Math.min(t.width(),t.height())/2,u=0;this.usePaths()&&(o=0,s=0),"%"===a.units?l*=a.pfValue:void 0!==a.pfValue&&(l=a.pfValue/2);for(var c=1;c<=i.pieBackgroundN;c++){var h=t.pstyle("pie-"+c+"-background-size").value,d=t.pstyle("pie-"+c+"-background-color").value,p=t.pstyle("pie-"+c+"-background-opacity").value*n,f=h/100;f+u>1&&(f=1-u);var g=1.5*Math.PI+2*Math.PI*u,v=g+2*Math.PI*f;0!==h&&!(u>=1)&&!(u+f>1)&&(e.beginPath(),e.moveTo(o,s),e.arc(o,s,l,g,v),e.closePath(),this.colorFillStyle(e,d[0],d[1],d[2],p),e.fill(),u+=f)}};var lt={};lt.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=this.cy.window(),n=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(t.devicePixelRatio||1)/n},lt.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!h&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var b=l.style(),x=l.zoom(),w=void 0!==i?i:x,E=l.pan(),k={x:E.x,y:E.y},C={zoom:x,pan:{x:E.x,y:E.y}},S=o.prevViewport;void 0===S||C.zoom!==S.zoom||C.pan.x!==S.pan.x||C.pan.y!==S.pan.y||g&&!f||(o.motionBlurPxRatio=1),a&&(k=a),w*=s,k.x*=s,k.y*=s;var D=o.getCachedZSortedEles();function T(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function P(e,r){var s,l,c,h;o.clearingMotionBlur||e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=k,l=w,c=o.canvasWidth,h=o.canvasHeight):(s={x:E.x*p,y:E.y*p},l=x*p,c=o.canvasWidth*p,h=o.canvasHeight*p),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?T(e,0,0,c,h):!t&&(void 0===r||r)&&e.clearRect(0,0,c,h),n||(e.translate(s.x,s.y),e.scale(l,l)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(h||(o.textureDrawLastFrame=!1),h){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=l.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var _=o.data.bufferContexts[o.TEXTURE_BUFFER];_.setTransform(1,0,0,1,0,0),_.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:_,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult});var C=o.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:o.canvasWidth,height:o.canvasHeight};C.mpan={x:(0-C.pan.x)/C.zoom,y:(0-C.pan.y)/C.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var M=u.contexts[o.NODE],B=o.textureCache.texture,C=o.textureCache.viewport;M.setTransform(1,0,0,1,0,0),d?T(M,0,0,C.width,C.height):M.clearRect(0,0,C.width,C.height);var A=b.core("outside-texture-bg-color").value,N=b.core("outside-texture-bg-opacity").value;o.colorFillStyle(M,A[0],A[1],A[2],N),M.fillRect(0,0,C.width,C.height);var x=l.zoom();P(M,!1),M.clearRect(C.mpan.x,C.mpan.y,C.width/C.zoom/s,C.height/C.zoom/s),M.drawImage(B,C.mpan.x,C.mpan.y,C.width/C.zoom/s,C.height/C.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var I=l.extent(),O=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),L=o.hideEdgesOnViewport&&O,R=[];if(R[o.NODE]=!c[o.NODE]&&d&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,R[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),R[o.DRAG]=!c[o.DRAG]&&d&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,R[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||R[o.NODE]){var z=d&&!R[o.NODE]&&1!==p,M=t||(z?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:u.contexts[o.NODE]);P(M,d&&!z?"motionBlur":void 0),L?o.drawCachedNodes(M,D.nondrag,s,I):o.drawLayeredElements(M,D.nondrag,s,I),o.debug&&o.drawDebugPoints(M,D.nondrag),n||d||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||R[o.DRAG])){var z=d&&!R[o.DRAG]&&1!==p,M=t||(z?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:u.contexts[o.DRAG]);P(M,d&&!z?"motionBlur":void 0),L?o.drawCachedNodes(M,D.drag,s,I):o.drawCachedElements(M,D.drag,s,I),o.debug&&o.drawDebugPoints(M,D.drag),n||d||(c[o.DRAG]=!1)}if(o.showFps||!r&&c[o.SELECT_BOX]&&!n){var M=t||u.contexts[o.SELECT_BOX];if(P(M),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){var x=o.cy.zoom(),V=b.core("selection-box-border-width").value/x;M.lineWidth=V,M.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",M.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),V>0&&(M.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",M.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(u.bgActivePosistion&&!o.hoverData.selecting){var x=o.cy.zoom(),F=u.bgActivePosistion;M.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",M.beginPath(),M.arc(F.x,F.y,b.core("active-bg-size").pfValue/x,0,2*Math.PI),M.fill()}var j=o.lastRedrawTime;if(o.showFps&&j){var q=Math.round(1e3/(j=Math.round(j)));M.setTransform(1,0,0,1,0,0),M.fillStyle="rgba(255, 0, 0, 0.75)",M.strokeStyle="rgba(255, 0, 0, 0.75)",M.lineWidth=1,M.fillText("1 frame = "+j+" ms = "+q+" fps",0,20),M.strokeRect(0,30,250,20),M.fillRect(0,30,250*Math.min(q/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(d&&1!==p){var X=u.contexts[o.NODE],Y=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],W=u.contexts[o.DRAG],H=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],G=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):T(e,0,0,o.canvasWidth,o.canvasHeight),e.drawImage(t,0,0,o.canvasWidth*p,o.canvasHeight*p,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||R[o.NODE])&&(G(X,Y,R[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||R[o.DRAG])&&(G(W,H,R[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=C,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),d&&(o.motionBlurTimeout=setTimeout(function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!h,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()},100)),t||l.emit("render")};var ln={};ln.drawPolygonPath=function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var l=1;l0&&a>0){d.clearRect(0,0,i,a),d.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(e.full)d.translate(-n.x1*l,-n.y1*l),d.scale(l,l),this.drawElements(d,p),d.scale(1/l,1/l),d.translate(n.x1*l,n.y1*l);else{var f=t.pan(),g={x:f.x*l,y:f.y*l};l*=t.zoom(),d.translate(g.x,g.y),d.scale(l,l),this.drawElements(d,p),d.scale(1/l,1/l),d.translate(-g.x,-g.y)}e.bg&&(d.globalCompositeOperation="destination-over",d.fillStyle=e.bg,d.rect(0,0,i,a),d.fill())}return h},ls.png=function(e){return lu(e,this.bufferCanvasImage(e),"image/png")},ls.jpg=function(e){return lu(e,this.bufferCanvasImage(e),"image/jpeg")};var lc={};lc.nodeShapeImpl=function(e,t,n,r,i,a,o,s){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,a);case"polygon":return this.drawPolygonPath(t,n,r,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(t,n,r,i,a,o,s);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,i,a,s);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,i,a,o,s);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,a,s);case"barrel":return this.drawBarrelPath(t,n,r,i,a)}};var lh=ld.prototype;function ld(e){var t=this,n=t.cy.window().document;t.data={canvases:Array(lh.CANVAS_LAYERS),contexts:Array(lh.CANVAS_LAYERS),canvasNeedsRedraw:Array(lh.CANVAS_LAYERS),bufferCanvases:Array(lh.BUFFER_COUNT),bufferContexts:Array(lh.CANVAS_LAYERS)};var r="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";t.data.canvasContainer=n.createElement("div");var a=t.data.canvasContainer.style;t.data.canvasContainer.style[r]=i,a.position="relative",a.zIndex="0",a.overflow="hidden";var o=e.cy.container();o.appendChild(t.data.canvasContainer),o.style[r]=i;var s={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};x&&x.userAgent.match(/msie|trident|edge/i)&&(s["-ms-touch-action"]="none",s["touch-action"]="none");for(var l=0;lW});var a=i(28923),n=i(11141),s=function(){var t=(0,a.eW)(function(t,e,i,a){for(i=i||{},a=t.length;a--;i[t[a]]=e);return i},"o"),e=[1,3],i=[1,4],n=[1,5],s=[1,6],r=[1,7],l=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],h=[55,56,57],c=[2,36],d=[1,37],u=[1,36],x=[1,38],g=[1,35],f=[1,43],y=[1,41],p=[1,14],T=[1,23],m=[1,18],q=[1,19],_=[1,20],A=[1,21],b=[1,22],k=[1,24],S=[1,25],F=[1,26],P=[1,27],v=[1,28],C=[1,29],W=[1,32],L=[1,33],E=[1,34],D=[1,39],z=[1,40],I=[1,42],w=[1,44],N=[1,62],B=[1,61],R=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],$=[1,65],U=[1,66],O=[1,67],M=[1,68],Q=[1,69],X=[1,70],Y=[1,71],Z=[1,72],H=[1,73],j=[1,74],K=[1,75],G=[1,76],V=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,90],tt=[1,91],te=[1,92],ti=[1,99],ta=[1,93],tn=[1,96],ts=[1,94],tr=[1,95],tl=[1,97],to=[1,98],th=[1,102],tc=[10,55,56,57],td=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],tu={trace:(0,a.eW)(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:(0,a.eW)(function(t,e,i,a,n,s,r){var l=s.length-1;switch(n){case 23:case 68:this.$=s[l];break;case 24:case 69:this.$=s[l-1]+""+s[l];break;case 26:this.$=s[l-1]+s[l];break;case 27:this.$=[s[l].trim()];break;case 28:s[l-2].push(s[l].trim()),this.$=s[l-2];break;case 29:this.$=s[l-4],a.addClass(s[l-2],s[l]);break;case 37:this.$=[];break;case 42:this.$=s[l].trim(),a.setDiagramTitle(this.$);break;case 43:this.$=s[l].trim(),a.setAccTitle(this.$);break;case 44:case 45:this.$=s[l].trim(),a.setAccDescription(this.$);break;case 46:a.addSection(s[l].substr(8)),this.$=s[l].substr(8);break;case 47:a.addPoint(s[l-3],"",s[l-1],s[l],[]);break;case 48:a.addPoint(s[l-4],s[l-3],s[l-1],s[l],[]);break;case 49:a.addPoint(s[l-4],"",s[l-2],s[l-1],s[l]);break;case 50:a.addPoint(s[l-5],s[l-4],s[l-2],s[l-1],s[l]);break;case 51:a.setXAxisLeftText(s[l-2]),a.setXAxisRightText(s[l]);break;case 52:s[l-1].text+=" \u27F6 ",a.setXAxisLeftText(s[l-1]);break;case 53:a.setXAxisLeftText(s[l]);break;case 54:a.setYAxisBottomText(s[l-2]),a.setYAxisTopText(s[l]);break;case 55:s[l-1].text+=" \u27F6 ",a.setYAxisBottomText(s[l-1]);break;case 56:a.setYAxisBottomText(s[l]);break;case 57:a.setQuadrant1Text(s[l]);break;case 58:a.setQuadrant2Text(s[l]);break;case 59:a.setQuadrant3Text(s[l]);break;case 60:a.setQuadrant4Text(s[l]);break;case 64:case 66:this.$={text:s[l],type:"text"};break;case 65:this.$={text:s[l-1].text+""+s[l],type:s[l-1].type};break;case 67:this.$={text:s[l],type:"markdown"}}},"anonymous"),table:[{18:e,26:1,27:2,28:i,55:n,56:s,57:r},{1:[3]},{18:e,26:8,27:2,28:i,55:n,56:s,57:r},{18:e,26:9,27:2,28:i,55:n,56:s,57:r},t(l,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(h,c,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:u,10:x,12:g,13:f,14:y,18:p,25:T,35:m,37:q,39:_,41:A,42:b,48:k,50:S,51:F,52:P,53:v,54:C,60:W,61:L,63:E,64:D,65:z,66:I,67:w}),t(l,[2,34]),{27:45,55:n,56:s,57:r},t(h,[2,37]),t(h,c,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:d,5:u,10:x,12:g,13:f,14:y,18:p,25:T,35:m,37:q,39:_,41:A,42:b,48:k,50:S,51:F,52:P,53:v,54:C,60:W,61:L,63:E,64:D,65:z,66:I,67:w}),t(h,[2,39]),t(h,[2,40]),t(h,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(h,[2,45]),t(h,[2,46]),{18:[1,50]},{4:d,5:u,10:x,12:g,13:f,14:y,43:51,58:31,60:W,61:L,63:E,64:D,65:z,66:I,67:w},{4:d,5:u,10:x,12:g,13:f,14:y,43:52,58:31,60:W,61:L,63:E,64:D,65:z,66:I,67:w},{4:d,5:u,10:x,12:g,13:f,14:y,43:53,58:31,60:W,61:L,63:E,64:D,65:z,66:I,67:w},{4:d,5:u,10:x,12:g,13:f,14:y,43:54,58:31,60:W,61:L,63:E,64:D,65:z,66:I,67:w},{4:d,5:u,10:x,12:g,13:f,14:y,43:55,58:31,60:W,61:L,63:E,64:D,65:z,66:I,67:w},{4:d,5:u,10:x,12:g,13:f,14:y,43:56,58:31,60:W,61:L,63:E,64:D,65:z,66:I,67:w},{4:d,5:u,8:N,10:x,12:g,13:f,14:y,18:B,44:[1,57],47:[1,58],58:60,59:59,63:E,64:D,65:z,66:I,67:w},t(R,[2,64]),t(R,[2,66]),t(R,[2,67]),t(R,[2,70]),t(R,[2,71]),t(R,[2,72]),t(R,[2,73]),t(R,[2,74]),t(R,[2,75]),t(R,[2,76]),t(R,[2,77]),t(R,[2,78]),t(R,[2,79]),t(R,[2,80]),t(l,[2,35]),t(h,[2,38]),t(h,[2,42]),t(h,[2,43]),t(h,[2,44]),{3:64,4:$,5:U,6:O,7:M,8:Q,9:X,10:Y,11:Z,12:H,13:j,14:K,15:G,21:63},t(h,[2,53],{59:59,58:60,4:d,5:u,8:N,10:x,12:g,13:f,14:y,18:B,49:[1,77],63:E,64:D,65:z,66:I,67:w}),t(h,[2,56],{59:59,58:60,4:d,5:u,8:N,10:x,12:g,13:f,14:y,18:B,49:[1,78],63:E,64:D,65:z,66:I,67:w}),t(h,[2,57],{59:59,58:60,4:d,5:u,8:N,10:x,12:g,13:f,14:y,18:B,63:E,64:D,65:z,66:I,67:w}),t(h,[2,58],{59:59,58:60,4:d,5:u,8:N,10:x,12:g,13:f,14:y,18:B,63:E,64:D,65:z,66:I,67:w}),t(h,[2,59],{59:59,58:60,4:d,5:u,8:N,10:x,12:g,13:f,14:y,18:B,63:E,64:D,65:z,66:I,67:w}),t(h,[2,60],{59:59,58:60,4:d,5:u,8:N,10:x,12:g,13:f,14:y,18:B,63:E,64:D,65:z,66:I,67:w}),{45:[1,79]},{44:[1,80]},t(R,[2,65]),t(R,[2,81]),t(R,[2,82]),t(R,[2,83]),{3:82,4:$,5:U,6:O,7:M,8:Q,9:X,10:Y,11:Z,12:H,13:j,14:K,15:G,18:[1,81]},t(V,[2,23]),t(V,[2,1]),t(V,[2,2]),t(V,[2,3]),t(V,[2,4]),t(V,[2,5]),t(V,[2,6]),t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,10]),t(V,[2,11]),t(V,[2,12]),t(h,[2,52],{58:31,43:83,4:d,5:u,10:x,12:g,13:f,14:y,60:W,61:L,63:E,64:D,65:z,66:I,67:w}),t(h,[2,55],{58:31,43:84,4:d,5:u,10:x,12:g,13:f,14:y,60:W,61:L,63:E,64:D,65:z,66:I,67:w}),{46:[1,85]},{45:[1,86]},{4:J,5:tt,6:te,8:ti,11:ta,13:tn,16:89,17:ts,18:tr,19:tl,20:to,22:88,23:87},t(V,[2,24]),t(h,[2,51],{59:59,58:60,4:d,5:u,8:N,10:x,12:g,13:f,14:y,18:B,63:E,64:D,65:z,66:I,67:w}),t(h,[2,54],{59:59,58:60,4:d,5:u,8:N,10:x,12:g,13:f,14:y,18:B,63:E,64:D,65:z,66:I,67:w}),t(h,[2,47],{22:88,16:89,23:100,4:J,5:tt,6:te,8:ti,11:ta,13:tn,17:ts,18:tr,19:tl,20:to}),{46:[1,101]},t(h,[2,29],{10:th}),t(tc,[2,27],{16:103,4:J,5:tt,6:te,8:ti,11:ta,13:tn,17:ts,18:tr,19:tl,20:to}),t(td,[2,25]),t(td,[2,13]),t(td,[2,14]),t(td,[2,15]),t(td,[2,16]),t(td,[2,17]),t(td,[2,18]),t(td,[2,19]),t(td,[2,20]),t(td,[2,21]),t(td,[2,22]),t(h,[2,49],{10:th}),t(h,[2,48],{22:88,16:89,23:104,4:J,5:tt,6:te,8:ti,11:ta,13:tn,17:ts,18:tr,19:tl,20:to}),{4:J,5:tt,6:te,8:ti,11:ta,13:tn,16:89,17:ts,18:tr,19:tl,20:to,22:105},t(td,[2,26]),t(h,[2,50],{10:th}),t(tc,[2,28],{16:103,4:J,5:tt,6:te,8:ti,11:ta,13:tn,17:ts,18:tr,19:tl,20:to})],defaultActions:{8:[2,30],9:[2,31]},parseError:(0,a.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,a.eW)(function(t){var e=this,i=[0],n=[],s=[null],r=[],l=this.table,o="",h=0,c=0,d=0,u=r.slice.call(arguments,1),x=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);x.setInput(t,g.yy),g.yy.lexer=x,g.yy.parser=this,void 0===x.yylloc&&(x.yylloc={});var y=x.yylloc;r.push(y);var p=x.options&&x.options.ranges;function T(){var t;return"number"!=typeof(t=n.pop()||x.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.eW)(function(t){i.length=i.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,a.eW)(T,"lex");for(var m,q,_,A,b,k,S,F,P,v={};;){if(_=i[i.length-1],this.defaultActions[_]?A=this.defaultActions[_]:(null==m&&(m=T()),A=l[_]&&l[_][m]),void 0===A||!A.length||!A[0]){var C="";for(k in P=[],l[_])this.terminals_[k]&&k>2&&P.push("'"+this.terminals_[k]+"'");C=x.showPosition?"Parse error on line "+(h+1)+":\n"+x.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(C,{text:x.match,token:this.terminals_[m]||m,line:x.yylineno,loc:y,expected:P})}if(A[0]instanceof Array&&A.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+m);switch(A[0]){case 1:i.push(m),s.push(x.yytext),r.push(x.yylloc),i.push(A[1]),m=null,q?(m=q,q=null):(c=x.yyleng,o=x.yytext,h=x.yylineno,y=x.yylloc,d>0&&d--);break;case 2:if(S=this.productions_[A[1]][1],v.$=s[s.length-S],v._$={first_line:r[r.length-(S||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(S||1)].first_column,last_column:r[r.length-1].last_column},p&&(v._$.range=[r[r.length-(S||1)].range[0],r[r.length-1].range[1]]),void 0!==(b=this.performAction.apply(v,[o,c,h,g.yy,A[1],s,r].concat(u))))return b;S&&(i=i.slice(0,-1*S*2),s=s.slice(0,-1*S),r=r.slice(0,-1*S)),i.push(this.productions_[A[1]][0]),s.push(v.$),r.push(v._$),F=l[i[i.length-2]][i[i.length-1]],i.push(F);break;case 3:return!0}}return!0},"parse")},tx={EOF:1,parseError:(0,a.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,a.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,a.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,a.eW)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===a.length?this.yylloc.first_column:0)+a[a.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.eW)(function(){return this._more=!0,this},"more"),reject:(0,a.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,a.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,a.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,a.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,a.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,a.eW)(function(t,e){var i,a,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},"test_match"),next:(0,a.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,a,n=this._currentRules(),s=0;se[0].length)){if(e=i,a=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,a.eW)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,a.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,a.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,a.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,a.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,a.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.eW)(function(t,e,i,a){switch(i){case 0:case 1:case 3:break;case 2:return 55;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 23:case 25:case 31:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 24:this.begin("string");break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};function tg(){this.yy={}}return tu.lexer=tx,(0,a.eW)(tg,"Parser"),tg.prototype=tu,tu.Parser=tg,new tg}();s.parser=s;var r=(0,a.xN)(),l=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{(0,a.eW)(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:a.vZ.quadrantChart?.chartWidth||500,chartWidth:a.vZ.quadrantChart?.chartHeight||500,titlePadding:a.vZ.quadrantChart?.titlePadding||10,titleFontSize:a.vZ.quadrantChart?.titleFontSize||20,quadrantPadding:a.vZ.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:a.vZ.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:a.vZ.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:a.vZ.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:a.vZ.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:a.vZ.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:a.vZ.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:a.vZ.quadrantChart?.pointTextPadding||5,pointLabelFontSize:a.vZ.quadrantChart?.pointLabelFontSize||12,pointRadius:a.vZ.quadrantChart?.pointRadius||5,xAxisPosition:a.vZ.quadrantChart?.xAxisPosition||"top",yAxisPosition:a.vZ.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:a.vZ.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:a.vZ.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:r.quadrant1Fill,quadrant2Fill:r.quadrant2Fill,quadrant3Fill:r.quadrant3Fill,quadrant4Fill:r.quadrant4Fill,quadrant1TextFill:r.quadrant1TextFill,quadrant2TextFill:r.quadrant2TextFill,quadrant3TextFill:r.quadrant3TextFill,quadrant4TextFill:r.quadrant4TextFill,quadrantPointFill:r.quadrantPointFill,quadrantPointTextFill:r.quadrantPointTextFill,quadrantXAxisTextFill:r.quadrantXAxisTextFill,quadrantYAxisTextFill:r.quadrantYAxisTextFill,quadrantTitleFill:r.quadrantTitleFill,quadrantInternalBorderStrokeFill:r.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:r.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,a.cM.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}addClass(t,e){this.classes.set(t,e)}setConfig(t){a.cM.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){a.cM.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,e,i,a){let n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,s={top:"top"===t&&e?n:0,bottom:"bottom"===t&&e?n:0},r=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,l={left:"left"===this.config.yAxisPosition&&i?r:0,right:"right"===this.config.yAxisPosition&&i?r:0},o=this.config.titleFontSize+2*this.config.titlePadding,h={top:a?o:0},c=this.config.quadrantPadding+l.left,d=this.config.quadrantPadding+s.top+h.top,u=this.config.chartWidth-2*this.config.quadrantPadding-l.left-l.right,x=this.config.chartHeight-2*this.config.quadrantPadding-s.top-s.bottom-h.top;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:c,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:x,quadrantHalfHeight:x/2}}}getAxisLabels(t,e,i,a){let{quadrantSpace:n,titleSpace:s}=a,{quadrantHalfHeight:r,quadrantHeight:l,quadrantLeft:o,quadrantHalfWidth:h,quadrantTop:c,quadrantWidth:d}=n,u=!!this.data.xAxisRightText,x=!!this.data.yAxisTopText,g=[];return this.data.xAxisLeftText&&e&&g.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&g.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+h+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&i&&g.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+l-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&i&&g.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+r-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),g}getQuadrants(t){let{quadrantSpace:e}=t,{quadrantHalfHeight:i,quadrantLeft:a,quadrantHalfWidth:n,quadrantTop:s}=e,r=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s,width:n,height:i,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s,width:n,height:i,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant4Fill}];for(let t of r)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return r}getQuadrantPoints(t){let{quadrantSpace:e}=t,{quadrantHeight:i,quadrantLeft:a,quadrantTop:s,quadrantWidth:r}=e,l=(0,n.BYU)().domain([0,1]).range([a,r+a]),o=(0,n.BYU)().domain([0,1]).range([i+s,s]);return this.data.points.map(t=>{let e=this.classes.get(t.className);return e&&(t={...e,...t}),{x:l(t.x),y:o(t.y),fill:t.color??this.themeConfig.quadrantPointFill,radius:t.radius??this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:l(t.x),y:o(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:t.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:t.strokeWidth??"0px"}})}getBorders(t){let e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:i}=t,{quadrantHalfHeight:a,quadrantHeight:n,quadrantLeft:s,quadrantHalfWidth:r,quadrantTop:l,quadrantWidth:o}=i;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:l,x2:s+o+e,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+o,y1:l+e,x2:s+o,y2:l+n-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:l+n,x2:s+o+e,y2:l+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+e,x2:s,y2:l+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+e,x2:s+r,y2:l+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+e,y1:l+a,x2:s+o-e,y2:l+a}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let t=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),e=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),i=this.config.showTitle&&!!this.data.titleText,a=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(a,t,e,i);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(a,t,e,n),borderLines:this.getBorders(n),title:this.getTitle(i)}}},o=class extends Error{static{(0,a.eW)(this,"InvalidStyleError")}constructor(t,e,i){super(`value for ${t} ${e} is invalid, please use a valid ${i}`),this.name="InvalidStyleError"}};function h(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function c(t){return!/^\d+$/.test(t)}function d(t){return!/^\d+px$/.test(t)}(0,a.eW)(h,"validateHexCode"),(0,a.eW)(c,"validateNumber"),(0,a.eW)(d,"validateSizeInPixels");var u=(0,a.nV)();function x(t){return(0,a.oO)(t.trim(),u)}(0,a.eW)(x,"textSanitizer");var g=new l;function f(t){g.setData({quadrant1Text:x(t.text)})}function y(t){g.setData({quadrant2Text:x(t.text)})}function p(t){g.setData({quadrant3Text:x(t.text)})}function T(t){g.setData({quadrant4Text:x(t.text)})}function m(t){g.setData({xAxisLeftText:x(t.text)})}function q(t){g.setData({xAxisRightText:x(t.text)})}function _(t){g.setData({yAxisTopText:x(t.text)})}function A(t){g.setData({yAxisBottomText:x(t.text)})}function b(t){let e={};for(let i of t){let[t,a]=i.trim().split(/\s*:\s*/);if("radius"===t){if(c(a))throw new o(t,a,"number");e.radius=parseInt(a)}else if("color"===t){if(h(a))throw new o(t,a,"hex code");e.color=a}else if("stroke-color"===t){if(h(a))throw new o(t,a,"hex code");e.strokeColor=a}else if("stroke-width"===t){if(d(a))throw new o(t,a,"number of pixels (eg. 10px)");e.strokeWidth=a}else throw Error(`style named ${t} is not supported.`)}return e}function k(t,e,i,a,n){let s=b(n);g.addPoints([{x:i,y:a,text:x(t.text),className:e,...s}])}function S(t,e){g.addClass(t,b(e))}function F(t){g.setConfig({chartWidth:t})}function P(t){g.setConfig({chartHeight:t})}function v(){let{themeVariables:t,quadrantChart:e}=(0,a.nV)();return e&&g.setConfig(e),g.setThemeConfig({quadrant1Fill:t.quadrant1Fill,quadrant2Fill:t.quadrant2Fill,quadrant3Fill:t.quadrant3Fill,quadrant4Fill:t.quadrant4Fill,quadrant1TextFill:t.quadrant1TextFill,quadrant2TextFill:t.quadrant2TextFill,quadrant3TextFill:t.quadrant3TextFill,quadrant4TextFill:t.quadrant4TextFill,quadrantPointFill:t.quadrantPointFill,quadrantPointTextFill:t.quadrantPointTextFill,quadrantXAxisTextFill:t.quadrantXAxisTextFill,quadrantYAxisTextFill:t.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:t.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:t.quadrantInternalBorderStrokeFill,quadrantTitleFill:t.quadrantTitleFill}),g.setData({titleText:(0,a.Kr)()}),g.build()}(0,a.eW)(f,"setQuadrant1Text"),(0,a.eW)(y,"setQuadrant2Text"),(0,a.eW)(p,"setQuadrant3Text"),(0,a.eW)(T,"setQuadrant4Text"),(0,a.eW)(m,"setXAxisLeftText"),(0,a.eW)(q,"setXAxisRightText"),(0,a.eW)(_,"setYAxisTopText"),(0,a.eW)(A,"setYAxisBottomText"),(0,a.eW)(b,"parseStyles"),(0,a.eW)(k,"addPoint"),(0,a.eW)(S,"addClass"),(0,a.eW)(F,"setWidth"),(0,a.eW)(P,"setHeight"),(0,a.eW)(v,"getQuadrantData");var C={setWidth:F,setHeight:P,setQuadrant1Text:f,setQuadrant2Text:y,setQuadrant3Text:p,setQuadrant4Text:T,setXAxisLeftText:m,setXAxisRightText:q,setYAxisTopText:_,setYAxisBottomText:A,parseStyles:b,addPoint:k,addClass:S,getQuadrantData:v,clear:(0,a.eW)(function(){g.clear(),(0,a.ZH)()},"clear"),setAccTitle:a.GN,getAccTitle:a.eu,setDiagramTitle:a.g2,getDiagramTitle:a.Kr,getAccDescription:a.Mx,setAccDescription:a.U$},W={parser:s,db:C,renderer:{draw:(0,a.eW)((t,e,i,s)=>{let r;function l(t){return"top"===t?"hanging":"middle"}function o(t){return"left"===t?"start":"middle"}function h(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,a.eW)(l,"getDominantBaseLine"),(0,a.eW)(o,"getTextAnchor"),(0,a.eW)(h,"getTransformation");let c=(0,a.nV)();a.cM.debug("Rendering quadrant chart\n"+t);let d=c.securityLevel;"sandbox"===d&&(r=(0,n.Ys)("#i"+e));let u=("sandbox"===d?(0,n.Ys)(r.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id="${e}"]`),x=u.append("g").attr("class","main"),g=c.quadrantChart?.chartWidth??500,f=c.quadrantChart?.chartHeight??500;(0,a.v2)(u,f,g,c.quadrantChart?.useMaxWidth??!0),u.attr("viewBox","0 0 "+g+" "+f),s.db.setHeight(f),s.db.setWidth(g);let y=s.db.getQuadrantData(),p=x.append("g").attr("class","quadrants"),T=x.append("g").attr("class","border"),m=x.append("g").attr("class","data-points"),q=x.append("g").attr("class","labels"),_=x.append("g").attr("class","title");y.title&&_.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",l(y.title.horizontalPos)).attr("text-anchor",o(y.title.verticalPos)).attr("transform",h(y.title)).text(y.title.text),y.borderLines&&T.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",t=>t.x1).attr("y1",t=>t.y1).attr("x2",t=>t.x2).attr("y2",t=>t.y2).style("stroke",t=>t.strokeFill).style("stroke-width",t=>t.strokeWidth);let A=p.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");A.append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill),A.append("text").attr("x",0).attr("y",0).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>l(t.text.horizontalPos)).attr("text-anchor",t=>o(t.text.verticalPos)).attr("transform",t=>h(t.text)).text(t=>t.text.text),q.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(t=>t.text).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>l(t.horizontalPos)).attr("text-anchor",t=>o(t.verticalPos)).attr("transform",t=>h(t));let b=m.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");b.append("circle").attr("cx",t=>t.x).attr("cy",t=>t.y).attr("r",t=>t.radius).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeColor).attr("stroke-width",t=>t.strokeWidth),b.append("text").attr("x",0).attr("y",0).text(t=>t.text.text).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>l(t.text.horizontalPos)).attr("text-anchor",t=>o(t.text.verticalPos)).attr("transform",t=>h(t.text))},"draw")},styles:(0,a.eW)(()=>"","styles")}}}]); \ No newline at end of file diff --git a/assets/js/94331238.0aa4d807.js b/assets/js/94331238.0aa4d807.js new file mode 100644 index 0000000000..dce8824a71 --- /dev/null +++ b/assets/js/94331238.0aa4d807.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["4223"],{89866:function(e){e.exports=JSON.parse('{"author":{"name":"ozaki","page":{"permalink":"/tests/blog/authors/custom/ozaki/permalink"},"key":"ozaki","count":0},"listMetadata":{"permalink":"/tests/blog/authors/custom/ozaki/permalink","page":1,"postsPerPage":3,"totalPages":1,"totalCount":0,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/945e072c.f7b6b7ae.js b/assets/js/945e072c.f7b6b7ae.js new file mode 100644 index 0000000000..c1f8057864 --- /dev/null +++ b/assets/js/945e072c.f7b6b7ae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([["80934"],{35474:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>l,default:()=>u,contentTitle:()=>c,assets:()=>h,toc:()=>d,metadata:()=>s});var s=JSON.parse('{"id":"swizzling","title":"Swizzling","description":"Customize your site\'s appearance through creating your own theme components","source":"@site/docs/swizzling.mdx","sourceDirName":".","slug":"/swizzling","permalink":"/docs/swizzling","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/edit/main/website/docs/swizzling.mdx","tags":[],"version":"current","lastUpdatedBy":"ozaki","lastUpdatedAt":1740749461000,"frontMatter":{"description":"Customize your site\'s appearance through creating your own theme components"},"sidebar":"docs","previous":{"title":"Styling and Layout","permalink":"/docs/styling-layout"},"next":{"title":"Static Assets","permalink":"/docs/static-assets"}}'),o=t(85893),r=t(80980),i=t(15398),a=t(58636);let l={description:"Customize your site's appearance through creating your own theme components"},c="Swizzling",h={},d=[{value:"Swizzling Process",id:"swizzling-process",level:2},{value:"Overview",id:"overview",level:3},{value:"Ejecting",id:"ejecting",level:3},{value:"Wrapping",id:"wrapping",level:3},{value:"What is safe to swizzle?",id:"what-is-safe-to-swizzle",level:2},{value:"Which component should I swizzle?",id:"which-component-should-i-swizzle",level:2},{value:"Do I need to swizzle?",id:"do-i-need-to-swizzle",level:2},{value:"Wrapping your site with <Root>",id:"wrapper-your-site-with-root",level:2}];function p(e){let n={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.a)(),...e.components},{Details:t}=n;return t||function(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"swizzling",children:"Swizzling"})}),"\n",(0,o.jsx)(n.p,{children:"In this section, we will introduce how customization of layout is done in Docusaurus."}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"D\xe9j\xe0 vu...?"}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["This section is similar to ",(0,o.jsx)(n.a,{href:"/docs/styling-layout",children:"Styling and Layout"}),", but this time, we will customize React components themselves, rather than what they look like. We will talk about a central concept in Docusaurus: ",(0,o.jsx)(n.strong,{children:"swizzling"}),", which allows ",(0,o.jsx)(n.strong,{children:"deeper site customizations"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["In practice, swizzling permits to ",(0,o.jsx)(n.strong,{children:"swap a theme component with your own implementation"}),", and it comes in 2 patterns:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"#ejecting",children:(0,o.jsx)(n.strong,{children:"Ejecting"})}),": creates a ",(0,o.jsx)(n.strong,{children:"copy"})," of the original theme component, which you can fully ",(0,o.jsx)(n.strong,{children:"customize"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"#wrapping",children:(0,o.jsx)(n.strong,{children:"Wrapping"})}),": creates a ",(0,o.jsx)(n.strong,{children:"wrapper"})," around the original theme component, which you can ",(0,o.jsx)(n.strong,{children:"enhance"})]}),"\n"]}),"\n",(0,o.jsxs)(t,{children:[(0,o.jsx)("summary",{children:"Why is it called swizzling?"}),(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"The name comes from Objective-C and Swift-UI"}),": ",(0,o.jsx)(n.a,{href:"https://pspdfkit.com/blog/2019/swizzling-in-swift/",children:"method swizzling"})," is the process of changing the implementation of an existing selector (method)."]}),(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"For Docusaurus, component swizzling means providing an alternative component that takes precedence over the component provided by the theme."})}),(0,o.jsxs)(n.p,{children:["You can think of it as ",(0,o.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Monkey_patch",children:"Monkey Patching"})," for React components, enabling you to override the default implementation. Gatsby has a similar concept called ",(0,o.jsx)(n.a,{href:"https://www.gatsbyjs.com/docs/how-to/plugins-and-themes/shadowing/",children:"theme shadowing"}),"."]}),(0,o.jsxs)(n.p,{children:["To gain a deeper understanding of this, you have to understand ",(0,o.jsx)(n.a,{href:"/docs/advanced/client#theme-aliases",children:"how theme components are resolved"}),"."]})]}),"\n",(0,o.jsx)(n.h2,{id:"swizzling-process",children:"Swizzling Process"}),"\n",(0,o.jsx)(n.h3,{id:"overview",children:"Overview"}),"\n",(0,o.jsxs)(n.p,{children:["Docusaurus provides a convenient ",(0,o.jsx)(n.strong,{children:"interactive CLI"})," to swizzle components. You generally only need to remember the following command:"]}),"\n",(0,o.jsxs)(i.Z,{groupId:"npm2yarn",children:[(0,o.jsx)(a.Z,{value:"npm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"npm run swizzle\n"})})}),(0,o.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"yarn swizzle\n"})})}),(0,o.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"pnpm run swizzle\n"})})})]}),"\n",(0,o.jsxs)(n.p,{children:["It will generate a new component in your ",(0,o.jsx)(n.code,{children:"src/theme"})," directory, which should look like this example:"]}),"\n",(0,o.jsxs)(i.Z,{children:[(0,o.jsx)(a.Z,{value:"Ejecting",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",metastring:'title="src/theme/SomeComponent.js"',children:"import React from 'react';\n\nexport default function SomeComponent(props) {\n // You can fully customize this implementation\n // including changing the JSX, CSS and React hooks\n return (\n
\n

Some Component

\n

Some component implementation details

\n
\n );\n}\n"})})}),(0,o.jsx)(a.Z,{value:"Wrapping",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",metastring:'title="src/theme/SomeComponent.js"',children:"import React from 'react';\nimport SomeComponent from '@theme-original/SomeComponent';\n\nexport default function SomeComponentWrapper(props) {\n // You can enhance the original component,\n // including adding extra props or JSX elements around it\n return (\n <>\n \n \n );\n}\n"})})})]}),"\n",(0,o.jsx)(n.p,{children:"To get an overview of all the themes and components available to swizzle, run:"}),"\n",(0,o.jsxs)(i.Z,{groupId:"npm2yarn",children:[(0,o.jsx)(a.Z,{value:"npm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"npm run swizzle -- --list\n"})})}),(0,o.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"yarn swizzle --list\n"})})}),(0,o.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"pnpm run swizzle --list\n"})})})]}),"\n",(0,o.jsxs)(n.p,{children:["Use ",(0,o.jsx)(n.code,{children:"--help"})," to see all available CLI options, or refer to the reference ",(0,o.jsx)(n.a,{href:"/docs/cli#docusaurus-swizzle",children:"swizzle CLI documentation"}),"."]}),"\n",(0,o.jsx)(n.admonition,{title:"Removing Unneeded Swizzled Components",type:"tip",children:(0,o.jsxs)(n.p,{children:["If you decide that a previously swizzled component is no longer necessary, you can simply remove its file(s) from the ",(0,o.jsx)(n.code,{children:"src/theme"})," directory. After removing the component, make sure to restart your development server to ensure the changes are properly reflected."]})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["After swizzling a component, ",(0,o.jsx)(n.strong,{children:"restart your dev server"})," in order for Docusaurus to know about the new component."]})}),"\n",(0,o.jsx)(n.admonition,{title:"Prefer staying on the safe side",type:"warning",children:(0,o.jsxs)(n.p,{children:["Be sure to understand ",(0,o.jsxs)(n.a,{href:"#what-is-safe-to-swizzle",children:["which components are ",(0,o.jsx)(n.strong,{children:"safe to swizzle"})]}),". Some components are ",(0,o.jsx)(n.strong,{children:"internal implementation details"})," of a theme."]})}),"\n",(0,o.jsx)(n.admonition,{type:"info",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"docusaurus swizzle"})," is only an automated way to help you swizzle the component. You can also create the ",(0,o.jsx)(n.code,{children:"src/theme/SomeComponent.js"})," file manually, and Docusaurus will ",(0,o.jsx)(n.a,{href:"/docs/advanced/client#theme-aliases",children:"resolve it"}),". There's no internal magic behind this command!"]})}),"\n",(0,o.jsx)(n.h3,{id:"ejecting",children:"Ejecting"}),"\n",(0,o.jsxs)(n.p,{children:["Ejecting a theme component is the process of ",(0,o.jsx)(n.strong,{children:"creating a copy"})," of the original theme component, which you can ",(0,o.jsx)(n.strong,{children:"fully customize and override"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["To eject a theme component, use the swizzle CLI interactively, or with the ",(0,o.jsx)(n.code,{children:"--eject"})," option:"]}),"\n",(0,o.jsxs)(i.Z,{groupId:"npm2yarn",children:[(0,o.jsx)(a.Z,{value:"npm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"npm run swizzle [theme name] [component name] -- --eject\n"})})}),(0,o.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"yarn swizzle [theme name] [component name] --eject\n"})})}),(0,o.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"pnpm run swizzle [theme name] [component name] --eject\n"})})})]}),"\n",(0,o.jsx)(n.p,{children:"An example:"}),"\n",(0,o.jsxs)(i.Z,{groupId:"npm2yarn",children:[(0,o.jsx)(a.Z,{value:"npm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"npm run swizzle @docusaurus/theme-classic Footer -- --eject\n"})})}),(0,o.jsx)(a.Z,{value:"yarn",label:"Yarn",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"yarn swizzle @docusaurus/theme-classic Footer --eject\n"})})}),(0,o.jsx)(a.Z,{value:"pnpm",label:"pnpm",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"pnpm run swizzle @docusaurus/theme-classic Footer --eject\n"})})})]}),"\n",(0,o.jsxs)(n.p,{children:["This will copy the current ",(0,o.jsx)(n.code,{children:"